示例#1
0
 private function checkPermission($name)
 {
     $moduleName = $this->router->getModuleName();
     if (trim($moduleName) == false) {
         return;
     }
     $permission = Permission\Manager::checkPermission($moduleName, $name);
     $className = $this->router->getNamespaceName();
     dump('module ' . $moduleName . ' in namespace ' . $className . ' wanna get  ' . $name);
     if (Service::isService($name) && Engine::getInstance()->isRegisteredModule($moduleName) && !$permission) {
         //dump ( 'doesn\'t have permission for ' . $name . ' ' . $moduleName . ' ' . ( int ) $permission );
         Engine::throwException($name, 300);
     }
     return true;
 }
示例#2
0
 public function afterStartModule($event, $engine)
 {
     dump('after start module');
     $this->wrongModule = false;
     $router = $engine->getService(Service::ROUTER);
     $moduleName = $router->getModuleName();
     $namespace = $router->getNamespaceName();
     $controller = ucfirst($router->getControllerName()) . 'Controller';
     $className = $namespace . '\\' . $controller;
     $moduleClassName = $engine->getModuleDefinition($moduleName)['className'];
     if (class_exists($moduleClassName) && !is_subclass_of($moduleClassName, 'Thunderhawk\\API\\Adapters\\Module')) {
         Engine::throwException($moduleName, 550);
     }
     if (class_exists($className) && !is_subclass_of($className, 'Thunderhawk\\API\\Mvc\\Controller')) {
         Engine::throwException($controller, 400);
     }
     if (!class_exists($moduleClassName)) {
         //wrong module call... undefined index
         $this->wrongModule = true;
     }
 }