fields['groups'] = array( "guid", ); parent::__construct($guid); $this->expectType("group"); } /* * Get an array of all groups, sorted by name */ public static function getAll_ordByName() : array { $query = "SELECT guid FROM objects WHERE objtype = 'group' ORDER BY name"; $res = database::query($query); $groups = array(); foreach ($res as $g) $groups[] = new group($g['guid']); return $groups; } /* * Initialize a new group object with the given name and owner */ public static function initNew(string $name, user $owner) : group { $group = new group(); $group->setOwner($owner); $group->name = $name; $group->objtype = "group"; $group->saveObj(); return $group; } /* * Send an email message to this group using stored configuration * parameters. If config is not established, delivery is not * attempted. Return status. If any delivery attempts fail, the * rest are aborted and false is returned. */ public function sendEmail(string $subj, string $mesg, ?string $attachPath = NULL, ?string $attachName = NULL, bool $ignoreEmailConf = false) : bool { $owner = $this->getOwner(); if (!$owner->sendEmail($subj, $mesg, $attachPath, $attachName, $ignoreEmailConf)) return false; foreach ($this->getMembers() as $memb) { if (!$memb->sendEmail($subj, $mesg, $attachPath, $attachName, $ignoreEmailConf)) return false; } return true; } } ?>