Slim daily: minor bugfix with empty data
This commit is contained in:
parent
07f99432b7
commit
e3d28be967
2 changed files with 10 additions and 12 deletions
|
@ -30,10 +30,13 @@ public function index(Request $request, Response $response): Response
|
|||
$nbAvailableDates = count($availableDates);
|
||||
$index = array_search($day, $availableDates);
|
||||
|
||||
if ($index === false && $nbAvailableDates > 0) {
|
||||
if ($index === false) {
|
||||
// no bookmarks for day, but at least one day with bookmarks
|
||||
$index = $nbAvailableDates - 1;
|
||||
$day = $availableDates[$index];
|
||||
$day = $availableDates[$nbAvailableDates - 1] ?? $day;
|
||||
$previousDay = $availableDates[$nbAvailableDates - 2] ?? '';
|
||||
} else {
|
||||
$previousDay = $availableDates[$index - 1] ?? '';
|
||||
$nextDay = $availableDates[$index + 1] ?? '';
|
||||
}
|
||||
|
||||
if ($day === date('Ymd')) {
|
||||
|
@ -42,15 +45,6 @@ public function index(Request $request, Response $response): Response
|
|||
$this->assignView('dayDesc', t('Yesterday'));
|
||||
}
|
||||
|
||||
if ($index !== false) {
|
||||
if ($index >= 1) {
|
||||
$previousDay = $availableDates[$index - 1];
|
||||
}
|
||||
if ($index < $nbAvailableDates - 1) {
|
||||
$nextDay = $availableDates[$index + 1];
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$linksToDisplay = $this->container->bookmarkService->filterDay($day);
|
||||
} catch (\Exception $exc) {
|
||||
|
|
|
@ -112,6 +112,8 @@ public function testValidControllerInvokeDefault(): void
|
|||
'Daily - '. format_date($currentDay, false, true) .' - Shaarli',
|
||||
$assignedVariables['pagetitle']
|
||||
);
|
||||
static::assertEquals($currentDay, $assignedVariables['dayDate']);
|
||||
static::assertEquals($currentDay->getTimestamp(), $assignedVariables['day']);
|
||||
static::assertCount(3, $assignedVariables['linksToDisplay']);
|
||||
|
||||
$link = $assignedVariables['linksToDisplay'][0];
|
||||
|
@ -358,6 +360,8 @@ public function testValidControllerInvokeNoBookmark(): void
|
|||
static::assertSame('daily', (string) $result->getBody());
|
||||
static::assertCount(0, $assignedVariables['linksToDisplay']);
|
||||
static::assertSame('Today', $assignedVariables['dayDesc']);
|
||||
static::assertEquals((new \DateTime())->setTime(0, 0)->getTimestamp(), $assignedVariables['day']);
|
||||
static::assertEquals((new \DateTime())->setTime(0, 0), $assignedVariables['dayDate']);
|
||||
}
|
||||
|
||||
protected function createValidContainerMockSet(): void
|
||||
|
|
Loading…
Reference in a new issue