public function indexAction() { $live = \Control\Live::getInstance(); $live->_data_need_theme = true; $this->level = count($live->_request) - 1; $this->name = $live->_request[$this->level]; /* ToDo * * Добавить выбор главной страницы в настройки * Если мы находимся на главной странице, значение $this->name брать из настроек */ if (empty($this->name)) { $this->name = 'home'; } $this->path = $live->_request; $pages = new \Pages\Page(); $page = $pages->findByRequest($live->_request); if (!$page && empty($live->_data)) { $page = $this->repPage->findOneBy(array('name' => '404')); } if ($page) { $this->data['content'] = htmlspecialchars_decode($page->text); $this->data['title'] = $page->title; $this->data['meta_title'] = !empty($page->meta_title) ? $page->meta_title : $page->title; if (empty($live->_theme_template) && !empty($page->template)) { $live->_theme_template = $page->template; } } if (empty($live->_data['meta_title']) && empty($this->data['meta_title']) && !empty($live->_data['title'])) { $this->data['meta_title'] = $live->_data['title']; } $this->data['js'] = $this->getJs(); $this->data['site'] = array('theme_path' => '/custom/themes/' . $this->conf->setting('site_theme'), 'name' => $this->conf->site_name, 'slogan' => $this->conf->site_slogan); return $this->data; }
public function routing() { $live = Live::getInstance(); // Getting arguments if (!empty($live->_request[2])) { for ($i = 2; $i < count($live->_request); $i++) { $live->_args[] = $live->_request[$i]; } } // Finding modules actions if (!empty($live->_request[0])) { $controller_name = $live->_request[0]; $controller_name[0] = strtoupper($controller_name[0]); $action_name = !empty($live->_request[1]) ? $live->_request[1] : 'index'; $module = new \Modules\Module($controller_name, true); if ($module->checkActionExists($action_name . 'Action')) { $live->_controllers[] = $controller_name; $live->_actions[] = $action_name; } } // Finding routes $router = new \Router\Router(); $findRoute = $router->findByRequest($live->_request); if ($findRoute) { $live->_controllers[] = $findRoute->controller; $live->_actions[] = $findRoute->action; } // Finding pages $page = new \Pages\Page(); $findPage = $page->findByRequest($live->_request); if ($findPage) { $live->_controllers[] = 'Pages'; $live->_actions[] = 'index'; } }