Преглед изворни кода

fixed set default perm group

Piotr Labudda пре 10 година
родитељ
комит
259717548d
1 измењених фајлова са 7 додато и 9 уклоњено
  1. 7 9
      SE/se-lib/TableAcl.php

+ 7 - 9
SE/se-lib/TableAcl.php

@@ -1394,21 +1394,19 @@ class TableAcl {
 		{// add DefaultAclGroup if no create perms ('C')
 			$defaultAclGroup = User::getDefaultAclGroup();
 			if ($defaultAclGroup) {
-				foreach ($fields as $kID => $vField) {
-					$vFieldName = $vField['name'];
-					if (!$this->isAllowed($kID, 'C')) {
-						if ($vFieldName == 'A_ADM_COMPANY') {
-							$item[$vFieldName] = $defaultAclGroup;
-						}
-						else if ($vFieldName == 'A_CLASSIFIED') {
-							$item[$vFieldName] = $defaultAclGroup;
+				$permFields = array('A_ADM_COMPANY', 'A_CLASSIFIED');
+				foreach ($permFields as $permFldName) {
+					if (array_key_exists($permFldName, $this->_types)) {
+						$permFldId = $this->getFieldIdByName($permFldName);
+						if (0 == $permFldId || !$this->isAllowed($permFldId, 'C')) {
+							$item[$permFldName] = $defaultAclGroup;
 						}
 					}
 				}
 			}
 		}
 
-		DBG::_('DBG_DS', '>2', "return addItem", $item, __CLASS__, __FUNCTION__, __LINE__);
+		DBG::_('DBG_DS', '>2', "addItem", $item, __CLASS__, __FUNCTION__, __LINE__);
 		return $ds->addItem($item);
 	}