X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FPageBuilder.php;h=468f144b873871136a1aa6c573994d34acf842ef;hb=ebd650c06c67a67da2a0d099f625b6a7ec62ab2b;hp=8e39455bffe443b975be7d376628e66382e7b8bc;hpb=b8fcb7d4403a344158ab5d2c8979bdd002e6001d;p=github%2Fshaarli%2FShaarli.git diff --git a/application/PageBuilder.php b/application/PageBuilder.php index 8e39455b..468f144b 100644 --- a/application/PageBuilder.php +++ b/application/PageBuilder.php @@ -21,16 +21,25 @@ class PageBuilder */ protected $conf; + /** + * @var LinkDB $linkDB instance. + */ + protected $linkDB; + /** * PageBuilder constructor. * $tpl is initialized at false for lazy loading. * - * @param ConfigManager $conf Configuration Manager instance (reference). + * @param ConfigManager $conf Configuration Manager instance (reference). + * @param LinkDB $linkDB instance. + * @param string $token Session token */ - public function __construct(&$conf) + public function __construct(&$conf, $linkDB = null, $token = null) { $this->tpl = false; $this->conf = $conf; + $this->linkDB = $linkDB; + $this->token = $token; } /** @@ -42,7 +51,7 @@ class PageBuilder try { $version = ApplicationUtils::checkUpdate( - shaarli_version, + SHAARLI_VERSION, $this->conf->get('resource.update_check'), $this->conf->get('updates.check_updates_interval'), $this->conf->get('updates.check_updates'), @@ -68,9 +77,14 @@ class PageBuilder } $this->tpl->assign('searchcrits', $searchcrits); $this->tpl->assign('source', index_url($_SERVER)); - $this->tpl->assign('version', shaarli_version); + $this->tpl->assign('version', SHAARLI_VERSION); + $this->tpl->assign( + 'version_hash', + ApplicationUtils::getVersionHash(SHAARLI_VERSION, $this->conf->get('credentials.salt')) + ); $this->tpl->assign('scripturl', index_url($_SERVER)); $this->tpl->assign('privateonly', !empty($_SESSION['privateonly'])); // Show only private links? + $this->tpl->assign('untaggedonly', !empty($_SESSION['untaggedonly'])); $this->tpl->assign('pagetitle', $this->conf->get('general.title', 'Shaarli')); if ($this->conf->exists('general.header_link')) { $this->tpl->assign('titleLink', $this->conf->get('general.header_link')); @@ -80,7 +94,11 @@ class PageBuilder $this->tpl->assign('showatom', $this->conf->get('feed.show_atom', true)); $this->tpl->assign('feed_type', $this->conf->get('feed.show_atom', true) !== false ? 'atom' : 'rss'); $this->tpl->assign('hide_timestamps', $this->conf->get('privacy.hide_timestamps', false)); - $this->tpl->assign('token', getToken($this->conf)); + $this->tpl->assign('token', $this->token); + + if ($this->linkDB !== null) { + $this->tpl->assign('tags', $this->linkDB->linksCountPerTag()); + } // To be removed with a proper theme configuration. $this->tpl->assign('conf', $this->conf); } @@ -143,9 +161,12 @@ class PageBuilder * * @param string $message A messate to display what is not found */ - public function render404($message = 'The page you are trying to reach does not exist or has been deleted.') + public function render404($message = '') { - header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'); + if (empty($message)) { + $message = t('The page you are trying to reach does not exist or has been deleted.'); + } + header($_SERVER['SERVER_PROTOCOL'] .' '. t('404 Not Found')); $this->tpl->assign('error_message', $message); $this->renderPage('404'); }