Esempio n. 1
0
 public static function getResponse($object)
 {
     $r = PermissionCache::getResponse($object);
     if (is_object($r)) {
         return $r;
     }
     if (method_exists($object, 'getPermissionObjectPermissionKeyCategoryHandle')) {
         $objectClass = Loader::helper('text')->camelcase($object->getPermissionObjectPermissionKeyCategoryHandle());
         $handle = $object->getPermissionObjectPermissionKeyCategoryHandle();
     } else {
         $objectClass = get_class($object);
         $handle = Loader::helper('text')->uncamelcase($objectClass);
     }
     $category = PermissionKeyCategory::getByHandle($handle);
     $c1 = $objectClass . 'PermissionResponse';
     if (!is_object($category)) {
         if ($object instanceof Page) {
             $category = PermissionKeyCategory::getByHandle('page');
             $c1 = 'PagePermissionResponse';
         } else {
             if ($object instanceof Area) {
                 $category = PermissionKeyCategory::getByHandle('area');
                 $c1 = 'AreaPermissionResponse';
             }
         }
     }
     $pr = new $c1();
     $pr->setPermissionObject($object);
     $pr->setPermissionCategoryObject($category);
     PermissionCache::addResponse($object, $pr);
     return $pr;
 }
Esempio n. 2
0
 public static function getResponse($object)
 {
     $r = PermissionCache::getResponse($object);
     if (is_object($r)) {
         return $r;
     }
     $category = PermissionKeyCategory::getByHandle(Loader::helper('text')->uncamelcase(get_class($object)));
     if (!is_object($category) && $object instanceof Page) {
         $category = PermissionKeyCategory::getByHandle('page');
     }
     $txt = Loader::helper('text');
     $c1 = get_class($object) . 'PermissionResponse';
     if (!class_exists($c1)) {
         $c1 = 'PagePermissionResponse';
     }
     $pr = new $c1();
     $pr->setPermissionObject($object);
     $pr->setPermissionCategoryObject($category);
     PermissionCache::addResponse($object, $pr);
     return $pr;
 }