/** * Helper function, adds the given person to this group. The current user must have * midgard:create privileges on this object for this to succeed. If the person is * already a member of this group, nothing is done. * * @param midcom_db_person The person to add. * @return boolean Indicating success. */ function add_member($person) { $this->require_do('midgard:create'); if ($this->is_member($person)) { return true; } $member = new midcom_db_member(); $member->gid = $this->id; $member->uid = $person->id; if (!$member->create()) { return false; } // Adjust privileges, owner is the group in question. $member->set_privilege('midgard:owner', "group:{$this->guid}"); $member->unset_privilege('midgard:owner'); return true; }