Пример #1
0
 /**
  * Init this component.
  *
  * @return void
  */
 public function init()
 {
     $dispatcher = $this->container->get('event.dispatcher');
     // Event
     $dispatcher->trigger('onComponentBeforeInit', array($this->name, $this, $this->input));
     // We build component path constant, helpe us get path easily.
     $this->path['self'] = JPATH_BASE . '/components/' . strtolower($this->option);
     $this->path['site'] = JPATH_ROOT . '/components/' . strtolower($this->option);
     $this->path['administrator'] = JPATH_ROOT . '/administrator/components/' . strtolower($this->option);
     define(strtoupper($this->name) . '_SELF', $this->path['self']);
     define(strtoupper($this->name) . '_SITE', $this->path['site']);
     define(strtoupper($this->name) . '_ADMIN', $this->path['administrator']);
     // Register some useful object for this component.
     $this->container->registerServiceProvider(new ComponentProvider($this->name, $this));
     $task = $this->input->getWord('task');
     $controller = $this->input->getWord('controller');
     // Prepare default controller
     if (!$task && !$controller) {
         // If we got view, set it to display controller.
         $view = $this->input->get('view');
         $task = $view ? $view . '.display' : $this->defaultController;
         $this->input->set('task', $task);
         $this->input->set('controller', $task);
     }
     // Register form and fields
     \JForm::addFieldPath(WINDWALKER_SOURCE . '/Form/Fields');
     \JForm::addFormPath(WINDWALKER_SOURCE . '/Form/Forms');
     $this->registerEventListener();
     // Register elFinder controllers
     // @TODO: Should use event listener
     $this->registerTask('finder.elfinder.display', '\\Windwalker\\Elfinder\\Controller\\DisplayController');
     $this->registerTask('finder.elfinder.connect', '\\Windwalker\\Elfinder\\Controller\\ConnectController');
     // Event
     $dispatcher->trigger('onComponentAfterInit', array($this->name, $this, $this->input));
 }
Пример #2
0
 public function generateBodyClass()
 {
     $url = new JInput();
     $itemid = $url->getVar('Itemid');
     $menu = @$this->app->getMenu();
     $active = @$menu->getActive();
     $params = @$menu->getParams($active->id);
     $class = NULL;
     $class .= $this->get('style') == '-1' ? 'style-none' : $this->get('style');
     $class .= ' align-' . $this->direction;
     $class .= ' page-id-' . (isset($active) ? $active->id : $menu->getDefault()->id);
     //Add class of homepage if it's home
     if ($menu->getActive() == $menu->getDefault()) {
         $class .= ' homepage ';
     } else {
         $view = $url->getWord('view');
         $component = str_replace('_', '-', $url->getCmd('option'));
         $class .= ' ' . $component . '-' . $view;
     }
     $class .= ' ' . strtolower($this->browser->getBrowser());
     $class .= $this->displayComponent() ? '' : ' com-disabled';
     $class .= ' ' . $params->get('pageclass_sfx');
     return 'class="' . $class . '"';
 }