X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FPageBuilder.php;h=5da70811610ddbcc22d4b49e4fd134db3f416978;hb=28f26524609338316cc6e51c743058e6e8c7b12b;hp=af29067173c3b3df87a6c39e79fe9ff7290d3efa;hpb=d8acf8550480694d050091e270a06c01e7b313f0;p=github%2Fshaarli%2FShaarli.git diff --git a/application/PageBuilder.php b/application/PageBuilder.php index af290671..5da70811 100644 --- a/application/PageBuilder.php +++ b/application/PageBuilder.php @@ -21,23 +21,42 @@ class PageBuilder */ protected $conf; + /** + * @var array $_SESSION + */ + protected $session; + /** * @var LinkDB $linkDB instance. */ protected $linkDB; + /** + * @var null|string XSRF token + */ + protected $token; + + /** @var bool $isLoggedIn Whether the user is logged in **/ + protected $isLoggedIn = false; + /** * PageBuilder constructor. * $tpl is initialized at false for lazy loading. * - * @param ConfigManager $conf Configuration Manager instance (reference). - * @param LinkDB $linkDB instance. + * @param ConfigManager $conf Configuration Manager instance (reference). + * @param array $session $_SESSION array + * @param LinkDB $linkDB instance. + * @param string $token Session token + * @param bool $isLoggedIn */ - public function __construct(&$conf, $linkDB = null) + public function __construct(&$conf, $session, $linkDB = null, $token = null, $isLoggedIn = false) { $this->tpl = false; $this->conf = $conf; + $this->session = $session; $this->linkDB = $linkDB; + $this->token = $token; + $this->isLoggedIn = $isLoggedIn; } /** @@ -53,7 +72,7 @@ class PageBuilder $this->conf->get('resource.update_check'), $this->conf->get('updates.check_updates_interval'), $this->conf->get('updates.check_updates'), - isLoggedIn(), + $this->isLoggedIn, $this->conf->get('updates.check_updates_branch') ); $this->tpl->assign('newVersion', escape($version)); @@ -65,6 +84,7 @@ class PageBuilder $this->tpl->assign('versionError', escape($exc->getMessage())); } + $this->tpl->assign('is_logged_in', $this->isLoggedIn); $this->tpl->assign('feedurl', escape(index_url($_SERVER))); $searchcrits = ''; // Search criteria if (!empty($_GET['searchtags'])) { @@ -81,7 +101,8 @@ class PageBuilder 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? + $visibility = ! empty($_SESSION['visibility']) ? $_SESSION['visibility'] : ''; + $this->tpl->assign('visibility', $visibility); $this->tpl->assign('untaggedonly', !empty($_SESSION['untaggedonly'])); $this->tpl->assign('pagetitle', $this->conf->get('general.title', 'Shaarli')); if ($this->conf->exists('general.header_link')) { @@ -92,11 +113,21 @@ 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()); } + + $this->tpl->assign('thumbnails_enabled', $this->conf->get('thumbnails.enabled')); + $this->tpl->assign('thumbnails_width', $this->conf->get('thumbnails.width')); + $this->tpl->assign('thumbnails_height', $this->conf->get('thumbnails.height')); + + if (! empty($_SESSION['warnings'])) { + $this->tpl->assign('global_warnings', $_SESSION['warnings']); + unset($_SESSION['warnings']); + } + // To be removed with a proper theme configuration. $this->tpl->assign('conf', $this->conf); }