X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=application%2Fcore%2FArticle_Controller.php;h=480b8473e24c80fc4cfdf6155e87775741fa543c;hb=42b8f76ab32990f2668a4e3346374de7bad91be2;hp=f98bb1130381ccf58105bc79488b52d4ddb7e22a;hpb=ad7daf2de4288cff974e97ec9290533ba732df3b;p=living-lab-site.git diff --git a/application/core/Article_Controller.php b/application/core/Article_Controller.php index f98bb11..480b847 100644 --- a/application/core/Article_Controller.php +++ b/application/core/Article_Controller.php @@ -3,30 +3,85 @@ * Library Article_Controller can be extended by a controller to be used for * content pages that depend on the language. * - * Several language specific parameters can be coded in language files. - * Non language specific parameters can be putted in config files. + * The page views are usually located in + * "application/views/article/$language/$method". + * Parameters: + * * - * @category Library + * @category Base Controller Library * @author Călin-Andrei Burloiu */ class Article_Controller extends CI_Controller { + protected $title = NULL; + protected $metaDescription = NULL; + protected $helpers = array(); + protected $libraries = array(); + protected $css = array(); + protected $js = array(); + function __construct() { parent::__construct(); + + // Language, title and description + $this->lang->load('article'); + + // Helpers and libraries. + $this->config->load('article'); } /** - * Override this with site specific information (header, menus...) and call + * Extend this with site specific information (header, menus...) and call * $this->_load which is a generic method that loads the article. * Both parameters must be passed to $this->_load. */ public function _remap($method, $params = array()) { - $this->load->view('echo', - array('output' => $this->_load($method, $params), - 'clear' => TRUE) - ); + // Title + $this->title = $this->lang->line("article_$method"); + if ($this->title === FALSE) + $this->title = $method; + + // Meta Description + $this->metaDescription = $this->lang->line("article_${method}_description"); + if ($this->metaDescription === FALSE) + $this->metaDescription = ''; + + // Helpers + $this->helpers = $this->config->item("article_${method}_helpers"); + if ($this->helpers !== FALSE) + $this->load->helper($this->helpers); + + // Libraries + $this->libraries = $this->config->item("article_${method}_library"); + if ($this->libraries !== FALSE) + $this->load->library($libraries); + + // CSSs + $css =& $this->config->item("article_${method}_css"); + if ($css !== FALSE) + $this->css = $css; + + // JavaScripts + $js =& $this->config->item("article_${method}_js"); + if ($js !== FALSE) + $this->js = $js; } /**