|
@@ -953,19 +953,32 @@ class TableAcl extends Core_AclBase {
|
|
|
|
|
|
|
|
$objItem = reset($objectList);
|
|
$objItem = reset($objectList);
|
|
|
DBG::log($objItem, 'array', "DBG objItem({$idTable})");
|
|
DBG::log($objItem, 'array', "DBG objItem({$idTable})");
|
|
|
- if (!in_array($objItem['_type'], [
|
|
|
|
|
- // 'TableAcl', // TODO: TEST - to replace TableAcl by AntAcl or use object with namespace + '/tableName'?
|
|
|
|
|
- 'AntAcl',
|
|
|
|
|
- ])) throw new Exception("Not Implemented acl type '{$objItem['_type']}'");
|
|
|
|
|
- if (!$objItem['isObjectActive']) {
|
|
|
|
|
- if (!$objItem['hasStruct']) throw new Exception("namespace has no structure '{$namespace}'");
|
|
|
|
|
- if (!$objItem['isStructInstalled']) throw new Exception("namespace structure not installed '{$namespace}'");
|
|
|
|
|
- throw new Exception("namespace is not activated '{$namespace}'");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ switch ($objItem['_type']) {
|
|
|
|
|
+ // case 'TableAcl': // TODO: TEST - to replace TableAcl by AntAcl or use object with namespace + '/tableName'?
|
|
|
|
|
+ case 'AntAcl': {
|
|
|
|
|
+ if (!$objItem['isObjectActive']) {
|
|
|
|
|
+ if (!$objItem['hasStruct']) throw new Exception("namespace has no structure '{$namespace}'");
|
|
|
|
|
+ if (!$objItem['isStructInstalled']) throw new Exception("namespace structure not installed '{$namespace}'");
|
|
|
|
|
+ throw new Exception("namespace is not activated '{$namespace}'");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- Lib::loadClass('AntAclBase');
|
|
|
|
|
- $_cache[$idTable] = AntAclBase::buildInstance($objItem['idZasob'], $objItem);
|
|
|
|
|
- return $_cache[$idTable];
|
|
|
|
|
|
|
+ Lib::loadClass('AntAclBase');
|
|
|
|
|
+ $_cache[$idTable] = AntAclBase::buildInstance($objItem['idZasob'], $objItem);
|
|
|
|
|
+ return $_cache[$idTable];
|
|
|
|
|
+ }
|
|
|
|
|
+ case 'StorageAcl': {
|
|
|
|
|
+ if (!$objItem['isObjectActive']) {
|
|
|
|
|
+ if (!$objItem['hasStruct']) throw new Exception("namespace has no structure '{$namespace}'");
|
|
|
|
|
+ if (!$objItem['isStructInstalled']) throw new Exception("namespace structure not installed '{$namespace}'");
|
|
|
|
|
+ throw new Exception("namespace is not activated '{$namespace}'");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Lib::loadClass('StorageAclBase');
|
|
|
|
|
+ $_cache[$idTable] = StorageAclBase::buildInstance($objItem['idZasob'], $objItem);
|
|
|
|
|
+ return $_cache[$idTable];
|
|
|
|
|
+ }
|
|
|
|
|
+ default: throw new Exception("Not Implemented acl type '{$objItem['_type']}'");
|
|
|
|
|
+ }
|
|
|
} catch (Exception $e) {
|
|
} catch (Exception $e) {
|
|
|
DBG::log($e);
|
|
DBG::log($e);
|
|
|
}
|
|
}
|