From 69c4a678f11821d80be2708a75666c36a1e8e2ad Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Fri, 7 Oct 2016 14:08:41 +0800 Subject: [PATCH] MOVED DataObjects/Group_members.php to DataObjects/Core_group_member.php --- DataObjects/Core_group_member.php | 94 +++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100755 DataObjects/Core_group_member.php diff --git a/DataObjects/Core_group_member.php b/DataObjects/Core_group_member.php new file mode 100755 index 00000000..2512b272 --- /dev/null +++ b/DataObjects/Core_group_member.php @@ -0,0 +1,94 @@ +group_id = $group->id; + $gm->user_id = $person->id; + $gm->find(true); + if ($state) { + if (!$gm->id) { + $gm->insert(); + } + return; + } + // remove.. + if ($gm->id) { + $gm->delete(); + } + + } + + /** + * Get a list of memberships for a person + * @param Pman_Core_DataObjects_Person $person who + * @param String column to fetch.. eg. group_id or 'name' + * + */ + + + function listGroupMembership($person, $arrayof = 'group_id') + { + $this->inAdmin = false; + $t = clone($this); + //DB_DataObject::debugLevel(1); + + $grp = DB_DataObject::factory('Groups'); + $t->joinAdd($grp , 'LEFT'); + //$person->id = (int)$person->id; + $t->whereAdd(" + user_id = {$person->id} + "); + $t->selectAdd(); + $t->selectAdd("distinct(group_id), {$grp->tableName()}.name as name"); + $t->whereAdd('group_id IS NOT NULL'); + + $t->find(); + + $ret = array() ; + // $ret = $arrayof == 'group_id' ? array(0) : array(); + // default member of 'All groups'!! + + while ($t->fetch()) { + $ret[] = $t->$arrayof; + if ($t->name == 'Administrators') { /// mmh... bit risky? + $this->inAdmin = true; + } + } + if ($arrayof == 'group_id' && !count($ret)) { + $ret = array(0); /// default if they are not a member of any group. + } + //var_dump($ret); + return $ret; + + } + function checkPerm($lvl, $au) + { + return false; + } + + +} -- 2.39.2