protected function getComponentInstance($component = false) { return $this->controller->getComponentInstance($component); }
public static function error($message, $subTitle = null, $type = null, $showTrace = true, $trace = false) { Ntentan::$errorDepth++; if (isset(Ntentan::$config[Ntentan::$context]['error_handler']) && Ntentan::$debug === false && Ntentan::$errorDepth < Ntentan::MAX_ERROR_DEPTH) { controllers\Controller::load(Ntentan::$config[Ntentan::$context]['error_handler']); } else { ob_clean(); echo Ntentan::message($message, $subTitle, $type, $showTrace, $trace); } }
public function setPermissions() { $arguments = func_get_args(); $id = array_shift($arguments); $role = $this->model->getFirstWithId($id); if (count($_POST) > 0) { foreach ($_POST as $permissionName => $path) { $permission = Model::load('system.permissions')->getFirst(array('conditions' => array('role_id' => $id, 'permission' => $permissionName))); if ($permission->count() == 0 && $path != 'no') { $permission->setData(array('role_id' => $id, 'permission' => $permissionName, 'path' => $path, 'access' => true)); $permission->save(); } else { if ($path == 'no') { $permission->access = false; $permission->update(); } else { $permission->access = true; $permission->update(); } } } $role->menu_tree = json_encode($this->getMenuTree($role)); $role->update(); } $permissionItems = array(); $baseRoute = implode('/', $arguments) . (count($arguments) > 0 ? '/' : ''); $baseDirectory = Ntentan::$namespace . "/modules/{$baseRoute}"; $dir = dir($baseDirectory); while (false !== ($entry = $dir->read())) { if ($entry == '.' || $entry == '..') { continue; } $path = getcwd() . "/{$baseDirectory}{$entry}"; $class = Ntentan::camelize($entry) . 'Controller'; if (file_exists("{$path}/{$class}.php")) { $controller = Controller::load("{$baseRoute}{$entry}", true); if (is_a($controller, "\\ntentan\\plugins\\wyf\\lib\\WyfController")) { $permissionItem = array('type' => 'permission', 'label' => Ntentan::toSentence($entry), 'permissions' => array(), 'path' => "{$baseRoute}{$entry}"); foreach ($controller->getPermissions() as $permission => $description) { $active = $role->getPermission($permission); $permissionItem['permissions'][] = array('name' => $permission, 'description' => $description, 'active' => $active); } $permissionItems[] = $permissionItem; } continue; } $class = Ntentan::camelize($entry); if (file_exists("{$path}/{$class}.php")) { continue; } if (is_dir($path)) { $permissionItems[] = array('type' => 'link', 'label' => Ntentan::toSentence($entry), 'link' => Ntentan::getUrl("{$this->route}/set_permissions/{$id}/{$entry}")); } } $this->set('permission_items', $permissionItems); $this->set('role', (string) $role); }