Explorar o código

added cached objItem to Core_AclHelper::getAclByNamespace

Piotr Labudda %!s(int64=8) %!d(string=hai) anos
pai
achega
ee1237cab4
Modificáronse 1 ficheiros con 5 adicións e 3 borrados
  1. 5 3
      SE/se-lib/Core/AclHelper.php

+ 5 - 3
SE/se-lib/Core/AclHelper.php

@@ -46,10 +46,12 @@ class Core_AclHelper {// Helper class for Acl
   public static function getAclByTypeName($typeName, $forceTblAclInit = false) {// TODO: replace getAclFromTypeName in WFS
     return self::getAclByNamespace(str_replace(':', '/', $typeName), $forceTblAclInit);
 	}
-  public static function getAclByNamespace($namespace, $forceTblAclInit = false) { // TODO: mv to ACL
+  public static function getAclByNamespace($namespace, $forceTblAclInit = false, $objItem = null) { // TODO: mv to ACL
     try {
-      Lib::loadClass('SchemaFactory');
-      $objItem = SchemaFactory::loadDefaultObject('SystemObject')->getItem(str_replace('__x3A__', '/', $namespace), ['propertyName'=>"*,field"]);
+      if (!$objItem) {
+        Lib::loadClass('SchemaFactory');
+        $objItem = SchemaFactory::loadDefaultObject('SystemObject')->getItem(str_replace('__x3A__', '/', $namespace), ['propertyName'=>"*,field"]);
+      }
       DBG::log($objItem, 'array', "DBG objItem({$namespace})");
       if (!$objItem['idZasob']) throw new Exception("Missing idZasob for namespace '{$namespace}'");
       if (!in_array($objItem['_type'], [