X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=index.php;h=0f39cdc2ef79345600843194e605a65d075cecf6;hb=refs%2Fpull%2F197%2Fhead;hp=765416ec7e1b81fe04fb7a09f6e3c0d3b656cf3a;hpb=b47f515ad3a58b791dd03008b11f52081f6f9d88;p=github%2Fshaarli%2FShaarli.git diff --git a/index.php b/index.php index 765416ec..0f39cdc2 100644 --- a/index.php +++ b/index.php @@ -34,6 +34,7 @@ $GLOBALS['config']['UPDATECHECK_INTERVAL'] = 86400 ; // Updates check frequency // Note: You must have publisher.php in the same directory as Shaarli index.php $GLOBALS['config']['ARCHIVE_ORG'] = false; // For each link, add a link to an archived version on archive.org $GLOBALS['config']['ENABLE_RSS_PERMALINKS'] = true; // Enable RSS permalinks by default. This corresponds to the default behavior of shaarli before this was added as an option. +$GLOBALS['config']['DISABLE_PUBLIC_LINKS'] = false; // ----------------------------------------------------------------------------------------------- // You should not touch below (or at your own risks!) // Optional config file. @@ -302,12 +303,17 @@ function keepMultipleSpaces($text) // (Note that is may not work on your server if the corresponding local is not installed.) function autoLocale() { - $loc='en_US'; // Default if browser does not send HTTP_ACCEPT_LANGUAGE + $attempts = array('en_US'); // Default if browser does not send HTTP_ACCEPT_LANGUAGE if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) // e.g. "fr,fr-fr;q=0.8,en;q=0.5,en-us;q=0.3" { // (It's a bit crude, but it works very well. Preferred language is always presented first.) - if (preg_match('/([a-z]{2}(-[a-z]{2})?)/i',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches)) $loc=$matches[1]; + if (preg_match('/([a-z]{2})-?([a-z]{2})?/i',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches)) { + $loc = $matches[1] . (!empty($matches[2]) ? '_' . strtoupper($matches[2]) : ''); + $attempts = array($loc, str_replace('_', '-', $loc), + $loc . '_' . strtoupper($loc), $loc . '_' . $loc, + $loc . '-' . strtoupper($loc), $loc . '-' . $loc); + } } - setlocale(LC_TIME,$loc); // LC_TIME = Set local for date/time format only. + setlocale(LC_TIME, $attempts); // LC_TIME = Set local for date/time format only. } // ------------------------------------------------------------------------------------------ @@ -549,7 +555,7 @@ function endsWith($haystack,$needle,$case=true) function linkdate2timestamp($linkdate) { $Y=$M=$D=$h=$m=$s=0; - $r = sscanf($linkdate,'%4d%2d%2d_%2d%2d%2d',$Y,$M,$D,$h,$m,$s); + sscanf($linkdate,'%4d%2d%2d_%2d%2d%2d',$Y,$M,$D,$h,$m,$s); return mktime($h,$m,$s,$M,$D,$Y); } @@ -1453,6 +1459,7 @@ function renderPage() $GLOBALS['privateLinkByDefault']=!empty($_POST['privateLinkByDefault']); $GLOBALS['config']['ENABLE_RSS_PERMALINKS']= !empty($_POST['enableRssPermalinks']); $GLOBALS['config']['ENABLE_UPDATECHECK'] = !empty($_POST['updateCheck']); + $GLOBALS['config']['DISABLE_PUBLIC_LINKS'] = !empty($_POST['disablePublicLinks']); writeConfig(); echo ''; exit; @@ -1894,9 +1901,13 @@ function buildLinkList($PAGE,$LINKSDB) } $search_type='permalink'; } + // We chose to disable all private links and the user isn't logged in, do not return any link. + else if ($GLOBALS['config']['DISABLE_PUBLIC_LINKS'] && !isLoggedIn()) + $linksToDisplay = array(); else $linksToDisplay = $LINKSDB; // Otherwise, display without filtering. + // Option: Show only private links if (!empty($_SESSION['privateonly'])) { @@ -2323,6 +2334,7 @@ function writeConfig() $config .= '$GLOBALS[\'privateLinkByDefault\']='.var_export($GLOBALS['privateLinkByDefault'],true).'; '; $config .= '$GLOBALS[\'config\'][\'ENABLE_RSS_PERMALINKS\']='.var_export($GLOBALS['config']['ENABLE_RSS_PERMALINKS'], true).'; '; $config .= '$GLOBALS[\'config\'][\'ENABLE_UPDATECHECK\']='.var_export($GLOBALS['config']['ENABLE_UPDATECHECK'], true).'; '; + $config .= '$GLOBALS[\'config\'][\'DISABLE_PUBLIC_LINKS\']='.var_export($GLOBALS['config']['DISABLE_PUBLIC_LINKS'], true).'; '; $config .= ' ?>'; if (!file_put_contents($GLOBALS['config']['CONFIG_FILE'],$config) || strcmp(file_get_contents($GLOBALS['config']['CONFIG_FILE']),$config)!=0) {