Пример #1
0
 public static function getByElement($intElementId)
 {
     global $_CONF;
     $strSql = "SELECT pcms_element_permission.* \r\n\t\t\t\t\tFROM pcms_element_permission, pcms_element \r\n\t\t\t\t\tWHERE pcms_element_permission.elementId = '%s' \r\n\t\t\t\t\tAND pcms_element.accountId = '%s' \r\n\t\t\t\t\tAND pcms_element_permission.elementId = pcms_element.id";
     $strSql = sprintf($strSql, quote_smart($intElementId), quote_smart($_CONF['app']['account']->getId()));
     $objPermissions = self::select($strSql);
     $objReturn = new ElementPermission();
     $objReturn->setUserId(array());
     $objReturn->setGroupId(array());
     foreach ($objPermissions as $objPermission) {
         $objTemp = $objReturn->getUserId();
         $intTemp = $objPermission->getUserId();
         if (!in_array($objPermission->getUserId(), $objTemp) && !empty($intTemp)) {
             array_push($objTemp, $objPermission->getUserId());
             $objReturn->setUserId($objTemp);
         }
         $objTemp = $objReturn->getGroupId();
         $intTemp = $objPermission->getGroupId();
         if (!in_array($objPermission->getGroupId(), $objTemp) && !empty($intTemp)) {
             array_push($objTemp, $objPermission->getGroupId());
             $objReturn->setGroupId($objTemp);
         }
     }
     return $objReturn;
 }