Beispiel #1
0
 /**
  * 获取查看目录的成员
  *
  * @param int $parentid
  * @return Array
  * @return Boolean
  */
 public function getViewObjects($parentid)
 {
     if (!Session::is_set(USER_AUTH_KEY)) {
         return false;
     }
     $listDao = null;
     $userid = Session::get(USER_AUTH_KEY);
     $whereStr = "";
     if (Session::is_setLocal('administrator')) {
         $listDao = new View_objectsDao();
         $whereStr = "parentid = {$parentid}";
     } else {
         $groups = Session::get('_USER_GROUPS');
         if ($groups) {
             $groupStr = implode(',', $groups);
         } else {
             $groupStr = 0;
         }
         $roles = Session::get('_USER_ROLES');
         if ($roles) {
             $roleStr = implode(',', $roles);
         } else {
             $roleStr = 0;
         }
         $listDao = new View_objects_permDao();
         $whereStr = "( (object_owner={$userid} or other_bitset >=1 or (owner_group in({$groupStr}) and group_bitset >= 1)) or ";
         $whereStr .= " ((userid = {$userid} or roleid in({$roleStr}) or groupid in({$groupStr})) and bitset >=1) ) and parentid = {$parentid}";
     }
     $vol = $listDao->findAll($whereStr, '', '*', 'object_type,status_date');
     if (!$vol->isEmpty()) {
         $result = $vol->toResultSet();
         return $result;
     } else {
         return false;
     }
 }