/**
  * @param iControllerDescription $controller
  * @return array
  */
 public static function toArray(iControllerDescription $controller)
 {
     $actions = array();
     foreach ($controller->getActions() as $action) {
         $actions[] = $action->getName();
     }
     return array('className' => $controller->getClassName(), 'actions' => $actions);
 }
Example #2
0
 /**
  * 
  * @param core_kernel_classes_Resource $extensionResource
  * @param iControllerDescription $controller
  * @return core_kernel_classes_Resource
  */
 private function storeController(core_kernel_classes_Resource $extensionResource, iControllerDescription $controller)
 {
     list($prefix, $extensionName) = explode('_', substr($extensionResource->getUri(), strrpos($extensionResource->getUri(), '#')));
     preg_match("/[a-zA-Z]*\$/", $controller->getClassName(), $matches);
     $shortName = $matches[0];
     $specialURI = FUNCACL_NS . '#m_' . $extensionName . '_' . $shortName;
     $controllerClass = new core_kernel_classes_Class(CLASS_ACL_MODULE);
     $controllerResource = $controllerClass->createInstance($shortName, '', $specialURI);
     $controllerResource->setPropertiesValues(array(PROPERTY_ACL_MODULE_EXTENSION => $extensionResource, self::PROPERTY_ACL_CONTROLLER_CLASSNAME => $controller->getClassName(), PROPERTY_ACL_COMPONENT_ID => $shortName));
     return $controllerResource;
 }
Example #3
0
 private function storeController(iControllerDescription $controller)
 {
     $key = $controller->getClassName();
     $this->persistence->set($key, ControllerDescription::toArray($controller));
 }