Merge pull request #951 from thewilli/fix-daily
fixed daily links if there are no links
This commit is contained in:
commit
c5f5365ae6
1 changed files with 33 additions and 25 deletions
34
index.php
34
index.php
|
@ -584,19 +584,28 @@ function showDailyRSS($conf) {
|
||||||
function showDaily($pageBuilder, $LINKSDB, $conf, $pluginManager)
|
function showDaily($pageBuilder, $LINKSDB, $conf, $pluginManager)
|
||||||
{
|
{
|
||||||
$day = date('Ymd', strtotime('-1 day')); // Yesterday, in format YYYYMMDD.
|
$day = date('Ymd', strtotime('-1 day')); // Yesterday, in format YYYYMMDD.
|
||||||
if (isset($_GET['day'])) $day=$_GET['day'];
|
if (isset($_GET['day'])) {
|
||||||
|
$day = $_GET['day'];
|
||||||
|
}
|
||||||
|
|
||||||
$days = $LINKSDB->days();
|
$days = $LINKSDB->days();
|
||||||
$i = array_search($day, $days);
|
$i = array_search($day, $days);
|
||||||
if ($i===false) { $i=count($days)-1; $day=$days[$i]; }
|
if ($i === false && count($days)) {
|
||||||
|
// no links for day, but at least one day with links
|
||||||
|
$i = count($days) - 1;
|
||||||
|
$day = $days[$i];
|
||||||
|
}
|
||||||
$previousday = '';
|
$previousday = '';
|
||||||
$nextday = '';
|
$nextday = '';
|
||||||
if ($i!==false)
|
|
||||||
{
|
|
||||||
if ($i>=1) $previousday=$days[$i-1];
|
|
||||||
if ($i<count($days)-1) $nextday=$days[$i+1];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if ($i !== false) {
|
||||||
|
if ($i >= 1) {
|
||||||
|
$previousday=$days[$i - 1];
|
||||||
|
}
|
||||||
|
if ($i < count($days) - 1) {
|
||||||
|
$nextday = $days[$i + 1];
|
||||||
|
}
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
$linksToDisplay = $LINKSDB->filterDay($day);
|
$linksToDisplay = $LINKSDB->filterDay($day);
|
||||||
} catch (Exception $exc) {
|
} catch (Exception $exc) {
|
||||||
|
@ -605,9 +614,7 @@ function showDaily($pageBuilder, $LINKSDB, $conf, $pluginManager)
|
||||||
}
|
}
|
||||||
|
|
||||||
// We pre-format some fields for proper output.
|
// We pre-format some fields for proper output.
|
||||||
foreach($linksToDisplay as $key=>$link)
|
foreach($linksToDisplay as $key => $link) {
|
||||||
{
|
|
||||||
|
|
||||||
$taglist = explode(' ',$link['tags']);
|
$taglist = explode(' ',$link['tags']);
|
||||||
uasort($taglist, 'strcasecmp');
|
uasort($taglist, 'strcasecmp');
|
||||||
$linksToDisplay[$key]['taglist']=$taglist;
|
$linksToDisplay[$key]['taglist']=$taglist;
|
||||||
|
@ -623,14 +630,15 @@ function showDaily($pageBuilder, $LINKSDB, $conf, $pluginManager)
|
||||||
*/
|
*/
|
||||||
$columns = array(array(), array(), array()); // Entries to display, for each column.
|
$columns = array(array(), array(), array()); // Entries to display, for each column.
|
||||||
$fill = array(0, 0, 0); // Rough estimate of columns fill.
|
$fill = array(0, 0, 0); // Rough estimate of columns fill.
|
||||||
foreach($linksToDisplay as $key=>$link)
|
foreach($linksToDisplay as $key => $link) {
|
||||||
{
|
|
||||||
// Roughly estimate length of entry (by counting characters)
|
// Roughly estimate length of entry (by counting characters)
|
||||||
// Title: 30 chars = 1 line. 1 line is 30 pixels height.
|
// Title: 30 chars = 1 line. 1 line is 30 pixels height.
|
||||||
// Description: 836 characters gives roughly 342 pixel height.
|
// Description: 836 characters gives roughly 342 pixel height.
|
||||||
// This is not perfect, but it's usually OK.
|
// This is not perfect, but it's usually OK.
|
||||||
$length = strlen($link['title']) + (342 * strlen($link['description'])) / 836;
|
$length = strlen($link['title']) + (342 * strlen($link['description'])) / 836;
|
||||||
if ($link['thumbnail']) $length +=100; // 1 thumbnails roughly takes 100 pixels height.
|
if ($link['thumbnail']) {
|
||||||
|
$length += 100; // 1 thumbnails roughly takes 100 pixels height.
|
||||||
|
}
|
||||||
// Then put in column which is the less filled:
|
// Then put in column which is the less filled:
|
||||||
$smallest = min($fill); // find smallest value in array.
|
$smallest = min($fill); // find smallest value in array.
|
||||||
$index = array_search($smallest, $fill); // find index of this smallest value.
|
$index = array_search($smallest, $fill); // find index of this smallest value.
|
||||||
|
|
Loading…
Reference in a new issue