00001 <?php
00002
00011 abstract class SnapGroupPermissionObject extends SnapPermissionObject {
00012 private $groupName;
00013
00021 public function getGroupName() {
00022 return $this->groupName;
00023 }
00024
00033 protected function setGroupName($gname) {
00034 $this->groupName = $gname;
00035 }
00036
00047 protected static function getGroupPermissionsForUser_base($objType, $objId, $uid = '') {
00048 if($uid == '')
00049 $uid = Snap2::getCurrentUser();
00050
00051 $groups = Snap2::getLDAP()->listGroups($uid);
00052 $clName = 'Snap' . $objType . 'GroupPermission';
00053 $ret = array();
00054
00055 if($groups)
00056 foreach($groups as $gid => $groupName) {
00057 $obj = call_user_func(array($clName, 'retrieve'), $objId, $gid);
00058 $obj->setGroupName($groupName);
00059 $ret[] = $obj;
00060 }
00061
00062 return $ret;
00063 }
00064 }
00065
00066 ?>