/** * * */ public static function init() { self::$ci =& get_instance(); // Models self::$ci->load->model(array('article_model', 'page_model', 'url_model'), '', TRUE); // Helpers self::$ci->load->helper('text'); // Pages, Page self::register('pages', Pages::get_pages()); self::register('page', self::get_current_page()); // Current page $page = self::registry('page'); // Last option : Even the 404 wasn't found... if (empty($page['id_page'])) { echo 'Not found'; die; } if (!empty($page['link'])) { // External redirect if ($page['link_type'] == 'external') { redirect($page['link']); die; } else { self::$ci->load->helper('array_helper'); // Page if ($page['link_type'] == 'page') { if ($page = array_get(self::registry('pages'), $page['link_id'], 'id_page')) { redirect($page['absolute_url']); } } // Article if ($page['link_type'] == 'article') { if (count(self::get_uri_segments()) == 1) { redirect($page['absolute_url']); } } } } // Can we get one article from the URL ? $entity = self::get_entity(); if ($entity['type'] == 'article') { $article = self::$ci->article_model->get_by_id($entity['id_entity'], Settings::get_lang()); $articles = array($article); TagManager_Article::init_articles_urls($articles); $article = $articles[0]; } if (!empty($article)) { self::register('article', $article); } // Event : On before render $event_data = array('entity' => $entity, 'article' => self::registry('article')); Event::fire('Page.render.before', $event_data); self::$view = self::_get_page_view($page); self::render(); }
/** * * */ public static function init() { // parent::init('Page'); self::$ci =& get_instance(); // Article model self::$ci->load->model('article_model'); self::$ci->load->model('page_model'); // Helpers self::$ci->load->helper('text'); $uri = preg_replace("|/*(.+?)/*\$|", "\\1", self::$ci->uri->uri_string); self::$uri_segments = explode('/', $uri); // Get pages and add them to the context self::$context->globals->pages = Pages::get_pages(); // Pagination URI // $uri_config = self::$ci->config->item('special_uri'); // $uri_config = array_flip($uri_config); // self::pagination_uri = $uri_config['pagination']; // Set self::$context->globals->page self::add_globals(); // Current page $page = self::$context->globals->page; if (!empty($page['link'])) { // External redirect if ($page['link_type'] == 'external') { redirect($page['link']); die; } else { self::$ci->load->helper('array_helper'); // Page if ($page['link_type'] == 'page') { if ($page = array_get(self::$context->globals->pages, $page['link_id'], 'id_page')) { redirect($page['absolute_url']); } } // Article if ($page['link_type'] == 'article') { if (count(self::$uri_segments) == 1) { redirect($page['absolute_url']); } /* $rel = explode('.', $page['link_id']); if ($article_page = array_get(self::$context->globals->pages, $rel[0], 'id_page')) { $articles = self::$ci->article_model->get_lang_list ( array('id_article' => $rel[1]), Settings::get_lang() ); self::init_articles_urls($articles); $article = array_shift($articles); if ($article['url'] != current_url()) { redirect($article['url']); } } */ } } } // Can we get one article from the URL ? $article = self::get_article_from_url(); if (!empty($article)) { self::$_article = $article; $page['view'] = $page['view_single'] != false ? $page['view_single'] : $page['view']; } self::$view = $page['view'] != false ? $page['view'] : Theme::get_default_view('page'); self::render(); }