From: Seb Sauvage Date: Mon, 6 Feb 2012 16:35:44 +0000 (+0100) Subject: Version 0.0.38 beta: X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=a689efafc8260f53ed67fbe5d67e013ea41c3923;hp=a22e60cc0abb0547af8d792dec15f59bf77b5630;p=github%2Fshaarli%2FShaarli.git Version 0.0.38 beta: - Corrected: Corrected the tag encoding (there was a bug when selecting a second tag which contains accented characters). - Changed: The “Daily” page now automatically skips empty days. - Added: Automatic creation of the tmp directory with proper rights (for RainTPL). - Added: When you click the key to see only private links, it turns yellow. --- diff --git a/images/private_16x16_active.png b/images/private_16x16_active.png new file mode 100644 index 00000000..dd43baf2 Binary files /dev/null and b/images/private_16x16_active.png differ diff --git a/index.php b/index.php index 936d6129..2611e04e 100644 --- a/index.php +++ b/index.php @@ -1,5 +1,5 @@ '); // Suffix to encapsulate data in php code. checkphpversion(); @@ -58,8 +59,8 @@ header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); -define('shaarli_version','0.0.37 beta'); if (!is_dir($GLOBALS['config']['DATADIR'])) { mkdir($GLOBALS['config']['DATADIR'],0705); chmod($GLOBALS['config']['DATADIR'],0705); } +if (!is_dir('tmp')) { mkdir('tmp',0705); chmod('tmp',0705); } // For RainTPL temporary files. if (!is_file($GLOBALS['config']['DATADIR'].'/.htaccess')) { file_put_contents($GLOBALS['config']['DATADIR'].'/.htaccess',"Allow from none\nDeny from all\n"); } // Protect data files. if ($GLOBALS['config']['ENABLE_LOCALCACHE']) { @@ -531,6 +532,7 @@ class pageBuilder $this->tpl->assign('version',shaarli_version); $this->tpl->assign('scripturl',indexUrl()); $this->tpl->assign('pagetitle','Shaarli'); + $this->tpl->assign('privateonly',!empty($_SESSION['privateonly'])); // Show only private links ? if (!empty($GLOBALS['title'])) $this->tpl->assign('pagetitle',$GLOBALS['title']); if (!empty($GLOBALS['pagetitle'])) $this->tpl->assign('pagetitle',$GLOBALS['pagetitle']); $this->tpl->assign('shaarlititle',empty($GLOBALS['title']) ? 'Shaarli': $GLOBALS['title'] ); @@ -746,6 +748,20 @@ class linkdb implements Iterator, Countable, ArrayAccess arsort($tags); // Sort tags by usage (most used tag first) return $tags; } + + // Returns the list of days containing articles (oldest first) + // Output: An array containing days (in format YYYYMMDD). + public function days() + { + $linkdays=array(); + foreach(array_keys($this->links) as $day) + { + $linkdays[substr($day,0,8)]=0; + } + $linkdays=array_keys($linkdays); + sort($linkdays); + return $linkdays; + } } // ------------------------------------------------------------------------------------------ @@ -998,7 +1014,7 @@ function renderPage() // Get previous URL (http_referer) and add the tag to the searchtags parameters in query. if (empty($_SERVER['HTTP_REFERER'])) { header('Location: ?searchtags='.urlencode($_GET['addtag'])); exit; } // In case browser does not send HTTP_REFERER parse_str(parse_url($_SERVER['HTTP_REFERER'],PHP_URL_QUERY), $params); - $params['searchtags'] = (empty($params['searchtags']) ? trim($_GET['addtag']) : trim($params['searchtags']).' '.urlencode(trim($_GET['addtag']))); + $params['searchtags'] = (empty($params['searchtags']) ? trim($_GET['addtag']) : trim($params['searchtags']).' '.trim($_GET['addtag'])); unset($params['page']); // We also remove page (keeping the same page has no sense, since the results are different) header('Location: ?'.http_build_query($params)); exit; @@ -1049,10 +1065,18 @@ function renderPage() { $day=Date('Ymd',strtotime('-1 day')); // Yesterday, in format YYYYMMDD. if (isset($_GET['day'])) $day=$_GET['day']; - - $previousday = Date('Ymd',strtotime('-1 day',strtotime($day))); - $nextday = Date('Ymd',strtotime('+1 day',strtotime($day))); + $days = $LINKSDB->days(); + $i = array_search($day,$days); + if ($i==false) { $i=count($days)-1; $day=$days[$i]; } + $previousday=''; + $nextday=''; + if ($i!==false) + { + if ($i>1) $previousday=$days[$i-1]; + if ($ifilterDay($day); // We pre-format some fields for proper output. foreach($linksToDisplay as $key=>$link) diff --git a/tpl/daily.html b/tpl/daily.html index bdaf2032..4bc8568b 100644 --- a/tpl/daily.html +++ b/tpl/daily.html @@ -6,11 +6,13 @@
All links of one day
in a single page.
- <Previous day - - Next day>

+ {if="$previousday"} <Previous day{else}<Previous day{/if} + - + {if="$nextday"}Next day>{else}Next day>{/if} +

Daily RSS Feed
-
The Shaarli Daily
+
The Daily Shaarli
——————————— {$day} ———————————
diff --git a/tpl/linklist.paging.html b/tpl/linklist.paging.html index b1f9871f..b0c119d9 100644 --- a/tpl/linklist.paging.html +++ b/tpl/linklist.paging.html @@ -1,7 +1,13 @@