X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=index.php;h=82285dd94ec896c8b5874e2146f151b27e8fda61;hb=f211e417bf637b8a83988175c29ee072c69f7642;hp=0ef3363354e54f69a958092fafaf5d7ba619855f;hpb=10a7b5cee96a742fbe86edbea977f3c55c92e9aa;p=github%2Fshaarli%2FShaarli.git diff --git a/index.php b/index.php index 0ef33633..82285dd9 100644 --- a/index.php +++ b/index.php @@ -111,7 +111,7 @@ ini_set('session.use_trans_sid', false); session_name('shaarli'); // Start session if needed (Some server auto-start sessions). -if (session_id() == '') { +if (session_status() == PHP_SESSION_NONE) { session_start(); } @@ -1353,6 +1353,25 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history, $sessionManager, exit; } + if ($targetPage == Router::$PAGE_PINLINK) { + if (! isset($_GET['id']) || empty($LINKSDB[$_GET['id']])) { + // FIXME! Use a proper error system. + $msg = t('Invalid link ID provided'); + echo ''; + exit; + } + if (! $sessionManager->checkToken($_GET['token'])) { + die('Wrong token.'); + } + + $link = $LINKSDB[$_GET['id']]; + $link['sticky'] = ! $link['sticky']; + $LINKSDB[(int) $_GET['id']] = $link; + $LINKSDB->save($conf->get('resource.page_cache')); + header('Location: '.index_url($_SERVER)); + exit; + } + if ($targetPage == Router::$PAGE_EXPORT) { // Export links as a Netscape Bookmarks file