/** * Setup navigation. * * @return void */ protected function _setupNavigation() { $path = explode('/', $this->request->get('_url')); $activeItem = ''; $limit = count($path) > 3 ? 1 : 0; for ($i = 1, $count = count($path); $i < $count - $limit && $i < 3; $i++) { $activeItem .= $path[$i] . '/'; } $activeItem = substr($activeItem, 0, -1); $menuItems = ['admin' => ['href' => 'admin', 'title' => 'Dashboard', 'prepend' => '<i class="glyphicon glyphicon-home"></i>'], 'users' => ['title' => 'Manage', 'items' => ['admin/users' => ['title' => 'Users and Roles', 'href' => 'admin/users', 'prepend' => '<i class="glyphicon glyphicon-user"></i>'], 'admin/pages' => ['title' => 'Pages', 'href' => 'admin/pages', 'prepend' => '<i class="glyphicon glyphicon-list-alt"></i>'], 'admin/menus' => ['title' => 'Menus', 'href' => 'admin/menus', 'prepend' => '<i class="glyphicon glyphicon-th-list"></i>'], 'admin/languages' => ['title' => 'Languages', 'href' => 'admin/languages', 'prepend' => '<i class="glyphicon glyphicon-globe"></i>'], 'admin/files' => ['title' => 'Files', 'href' => 'admin/files', 'prepend' => '<i class="glyphicon glyphicon-file"></i>'], 'admin/packages' => ['title' => 'Packages', 'href' => 'admin/packages', 'prepend' => '<i class="glyphicon glyphicon-th"></i>']]], 'settings' => ['title' => 'Settings', 'items' => ['admin/settings' => ['title' => 'System', 'href' => 'admin/settings', 'prepend' => '<i class="glyphicon glyphicon-cog"></i>'], 'admin/settings/performance' => ['title' => 'Performance', 'href' => 'admin/performance', 'prepend' => '<i class="glyphicon glyphicon-signal"></i>'], 'admin/access' => ['title' => 'Access Rights', 'href' => 'admin/access', 'prepend' => '<i class="glyphicon glyphicon-lock"></i>']]]]; $modules = Package::findByType(Manager::PACKAGE_TYPE_MODULE, 1); if ($modules->count()) { $modulesMenuItems = []; foreach ($modules as $module) { if ($module->is_system) { continue; } $href = 'admin/module/' . $module->name; $modulesMenuItems[$href] = ['title' => $module->title, 'href' => $href, 'prepend' => '<i class="glyphicon glyphicon-th-large"></i>']; } if (!empty($modulesMenuItems)) { $menuItems['modules'] = ['title' => 'Modules', 'items' => $modulesMenuItems]; } } $navigation = new Navigation(); $navigation->setItems($menuItems)->setActiveItem($activeItem)->setListClass('nav nav-categories')->setDropDownItemClass('nav-category')->setDropDownItemMenuClass('nav')->setDropDownIcon('')->setEnabledDropDownHighlight(false); $this->view->headerNavigation = $navigation; }
/** * Initialize form. * * @return void */ public function initialize() { $this->setLegend('Widget information'); $modules = Package::findByType(Manager::PACKAGE_TYPE_MODULE, true); $widgetModules = [null => 'No']; foreach ($modules as $module) { $widgetModules[$module->name] = $module->title; } $this->addSelect('module', 'Is related to module?', null, $widgetModules)->addCheckbox('is_paginated', 'Is Paginated?', 'If this enabled - widget will has additional control enabled for allowed per page items count selection in admin form', 1, false, 0)->addCheckbox('is_acl_controlled', 'Is ACL controlled?', 'If this enabled - widget will has additional control enabled for allowed roles selection in admin form', 1, false, 0)->addSelect('admin_form', 'Admin form', 'Does this widget have some controlling form?', [null => 'No', 'action' => 'Action', 'form_class' => 'Form class'])->addText('form_class', 'Form class', 'Enter existing form class')->addCheckbox('enabled', 'Enabled?', null, 1, false, 0); $this->setCondition('form_class', 'admin_form', 'form_class'); }
/** * Get packages by type. * * @param string $type Packages type. * * @return Package[] */ protected function _getPackages($type) { return Package::findByType($type, null, 'enabled DESC'); }