]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Merge pull request #951 from thewilli/fix-daily
authorArthurHoaro <arthur@hoa.ro>
Fri, 1 Sep 2017 16:25:09 +0000 (18:25 +0200)
committerGitHub <noreply@github.com>
Fri, 1 Sep 2017 16:25:09 +0000 (18:25 +0200)
fixed daily links if there are no links

1  2 
index.php

diff --combined index.php
index e0a7b416f26d8c887cb80518c112afb3e8ca13e7,b36ce9fb24e22715733a0c3365af09a3e9d4e91d..7210c71fe7811a733b3dde3e851d3eece024febe
+++ b/index.php
@@@ -583,20 -583,29 +583,29 @@@ function showDailyRSS($conf) 
   */
  function showDaily($pageBuilder, $LINKSDB, $conf, $pluginManager)
  {
-     $day=date('Ymd',strtotime('-1 day')); // Yesterday, in format YYYYMMDD.
-     if (isset($_GET['day'])) $day=$_GET['day'];
+     $day = date('Ymd', strtotime('-1 day')); // Yesterday, in format YYYYMMDD.
+     if (isset($_GET['day'])) {
+       $day = $_GET['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 ($i<count($days)-1) $nextday=$days[$i+1];
+     $i = array_search($day, $days);
+     if ($i === false && count($days)) {
+         // no links for day, but at least one day with links
+         $i = count($days) - 1;
+         $day = $days[$i];
      }
+     $previousday = '';
+     $nextday = '';
  
+     if ($i !== false) {
+         if ($i >= 1) {
+              $previousday=$days[$i - 1];
+         }
+         if ($i < count($days) - 1) {
+           $nextday = $days[$i + 1];
+         }
+     }
      try {
          $linksToDisplay = $LINKSDB->filterDay($day);
      } catch (Exception $exc) {
      }
  
      // We pre-format some fields for proper output.
-     foreach($linksToDisplay as $key=>$link)
-     {
+     foreach($linksToDisplay as $key => $link) {
          $taglist = explode(' ',$link['tags']);
          uasort($taglist, 'strcasecmp');
          $linksToDisplay[$key]['taglist']=$taglist;
         so I manually spread entries with a simple method: I roughly evaluate the
         height of a div according to title and description length.
      */
-     $columns=array(array(),array(),array()); // Entries to display, for each column.
-     $fill=array(0,0,0);  // Rough estimate of columns fill.
-     foreach($linksToDisplay as $key=>$link)
-     {
+     $columns = array(array(), array(), array()); // Entries to display, for each column.
+     $fill = array(0, 0, 0);  // Rough estimate of columns fill.
+     foreach($linksToDisplay as $key => $link) {
          // Roughly estimate length of entry (by counting characters)
          // Title: 30 chars = 1 line. 1 line is 30 pixels height.
          // Description: 836 characters gives roughly 342 pixel height.
          // This is not perfect, but it's usually OK.
-         $length=strlen($link['title'])+(342*strlen($link['description']))/836;
-         if ($link['thumbnail']) $length +=100; // 1 thumbnails roughly takes 100 pixels height.
+         $length = strlen($link['title']) + (342 * strlen($link['description'])) / 836;
+         if ($link['thumbnail']) {
+           $length += 100; // 1 thumbnails roughly takes 100 pixels height.
+         }
          // Then put in column which is the less filled:
-         $smallest=min($fill); // find smallest value in array.
-         $index=array_search($smallest,$fill); // find index of this smallest value.
-         array_push($columns[$index],$link); // Put entry in this column.
-         $fill[$index]+=$length;
+         $smallest = min($fill); // find smallest value in array.
+         $index = array_search($smallest, $fill); // find index of this smallest value.
+         array_push($columns[$index], $link); // Put entry in this column.
+         $fill[$index] += $length;
      }
  
      $dayDate = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $day.'_000000');
@@@ -737,8 -745,6 +745,8 @@@ function renderPage($conf, $pluginManag
              $PAGE->assign('username', escape($_GET['username']));
          }
          $PAGE->assign('returnurl',(isset($_SERVER['HTTP_REFERER']) ? escape($_SERVER['HTTP_REFERER']):''));
 +        // add default state of the 'remember me' checkbox
 +        $PAGE->assign('remember_user_default', $conf->get('privacy.remember_user_default'));
          $PAGE->renderPage('loginform');
          exit;
      }