Files
FreshRSS/app/App_FrontController.php
Marien Fressinaud 7de22cdf4c Déplace chargement fichier main.js
Le chargement de main.js était fait dans indexController. Il est fait
maintenant dans le FrontController pour avoir accès, même hors de la
page principale, aux fonctionnalités de connexion / déconnexion /
fermeture des notifications
2013-11-08 19:21:42 +01:00

79 lines
2.4 KiB
PHP

<?php
/**
* MINZ - Copyright 2011 Marien Fressinaud
* Sous licence AGPL3 <http://www.gnu.org/licenses/>
*/
require ('FrontController.php');
class App_FrontController extends FrontController {
public function init () {
$this->loadLibs ();
$this->loadModels ();
Session::init ();
RSSThemes::init ();
Translate::init ();
$this->loadParamsView ();
$this->loadStylesAndScripts ();
$this->loadNotifications ();
}
private function loadLibs () {
require (LIB_PATH . '/lib_phpQuery.php');
require (LIB_PATH . '/lib_rss.php');
require (LIB_PATH . '/SimplePie_autoloader.php');
require (LIB_PATH . '/lib_text.php');
}
private function loadModels () {
include (APP_PATH . '/models/Exception/FeedException.php');
include (APP_PATH . '/models/Exception/EntriesGetterException.php');
include (APP_PATH . '/models/RSSConfiguration.php');
include (APP_PATH . '/models/RSSThemes.php');
include (APP_PATH . '/models/Days.php');
include (APP_PATH . '/models/Category.php');
include (APP_PATH . '/models/Feed.php');
include (APP_PATH . '/models/Entry.php');
include (APP_PATH . '/models/EntriesGetter.php');
include (APP_PATH . '/models/RSSPaginator.php');
include (APP_PATH . '/models/Log_Model.php');
}
private function loadParamsView () {
$this->conf = Session::param ('conf', new RSSConfiguration ());
View::_param ('conf', $this->conf);
$entryDAO = new EntryDAO ();
View::_param ('nb_not_read', $entryDAO->countNotRead ());
Session::_param ('language', $this->conf->language ());
}
private function loadStylesAndScripts () {
$theme = RSSThemes::get_infos($this->conf->theme());
if ($theme) {
foreach($theme["files"] as $file) {
View::appendStyle (Url::display ('/themes/' . $theme['path'] . '/' . $file));
}
}
View::appendStyle (Url::display ('/themes/printer/style.css'), 'print');
if (login_is_conf ($this->conf)) {
View::appendScript ('https://login.persona.org/include.js');
}
View::appendScript (Url::display ('/scripts/jquery.min.js'));
if ($this->conf->lazyload () === 'yes' && ($this->conf->displayPosts () === 'yes' || Request::param ('output') === 'reader')) {
View::appendScript (Url::display ('/scripts/jquery.lazyload.min.js'));
}
View::appendScript (Url::display ('/scripts/main.js'));
}
private function loadNotifications () {
$notif = Session::param ('notification');
if ($notif) {
View::_param ('notification', $notif);
Session::_param ('notification');
}
}
}