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; }
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; }