/** * 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)); }
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 . '"'; }