|
|
@@ -40,7 +40,8 @@ class BackendController extends ActionController
|
|
|
'index' => [
|
|
|
'controller' => 'Backend',
|
|
|
'action' => 'index',
|
|
|
- 'label' => 'Heute oder demnächst auslaufende Beiträge'
|
|
|
+ 'label' => 'Heute oder demnächst auslaufende Beiträge',
|
|
|
+ 'parameters' => ['daysPast' => 0]
|
|
|
],
|
|
|
'expiredlast30' => [
|
|
|
'controller' => 'Backend',
|
|
|
@@ -105,51 +106,34 @@ class BackendController extends ActionController
|
|
|
|
|
|
public function indexAction(): ResponseInterface
|
|
|
{
|
|
|
- $this->utilities = GeneralUtility::makeInstance(Utilities::class);
|
|
|
- $activePages = $this->activePageRepository->findPages(12, 0);
|
|
|
- $itemsperpage = $this->settings['itemsPerPage'] ?? 50;
|
|
|
-
|
|
|
- $pageObjectArray = [];
|
|
|
-
|
|
|
- foreach ($activePages as $activePage) {
|
|
|
- $pageObj = new ActivePage();
|
|
|
- $pageObj->setUid($activePage['uid']);
|
|
|
- $pageObj->setStarttime($activePage['starttime']);
|
|
|
- $pageObj->setEndtime($activePage['endtime']);
|
|
|
- $pageObj->setTitle($activePage['title']);
|
|
|
- $pageObj->setRoof($activePage['roof']);
|
|
|
- $pageObj->setCategory($this->utilities->createCategoryFromSlug($activePage['slug']));
|
|
|
- $pageObj->setCreator($activePage['username']);
|
|
|
- $pageObj->setFullName($activePage['realName']);
|
|
|
-
|
|
|
- array_push($pageObjectArray, $pageObj);
|
|
|
- }
|
|
|
- $currentPage = $this->request->hasArgument('currentPage') ? $this->request->getArgument('currentPage') : 1;
|
|
|
-
|
|
|
- $this->buildPagination($pageObjectArray, $itemsperpage, $currentPage);
|
|
|
-
|
|
|
- $this->moduleTemplate->setContent($this->view->render());
|
|
|
- return $this->htmlResponse($this->moduleTemplate->renderContent());
|
|
|
+ $response = $this->displayPages(12, 0);
|
|
|
+ return $response;
|
|
|
}
|
|
|
|
|
|
public function showLastAction(int $daysPast = 0)
|
|
|
+ {
|
|
|
+ $response = $this->displayPages(22, 1, $daysPast, 'DESC', true);
|
|
|
+ return $response;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function displayPages(int $redStatus, int $hiddenStatus, int $daysPast = 0, string $orderBy = 'ASC', bool $isExpired = false): ResponseInterface
|
|
|
{
|
|
|
$this->utilities = GeneralUtility::makeInstance(Utilities::class);
|
|
|
- $expiredRecords = $this->activePageRepository->findPages(22, 1, $daysPast, 'DESC');
|
|
|
+ $pages = $this->activePageRepository->findPages($redStatus, $hiddenStatus, $daysPast, $orderBy);
|
|
|
$itemsperpage = $this->settings['itemsPerPage'] ?? 50;
|
|
|
|
|
|
$pageObjectArray = [];
|
|
|
|
|
|
- foreach ($expiredRecords as $activePage) {
|
|
|
+ foreach ($pages as $page) {
|
|
|
$pageObj = new ActivePage();
|
|
|
- $pageObj->setUid($activePage['uid']);
|
|
|
- $pageObj->setStarttime($activePage['starttime']);
|
|
|
- $pageObj->setEndtime($activePage['endtime']);
|
|
|
- $pageObj->setTitle($activePage['title']);
|
|
|
- $pageObj->setRoof($activePage['roof']);
|
|
|
- $pageObj->setCategory($this->utilities->createCategoryFromSlug($activePage['slug']));
|
|
|
- $pageObj->setCreator($activePage['username']);
|
|
|
- $pageObj->setFullName($activePage['realName']);
|
|
|
+ $pageObj->setUid($page['uid']);
|
|
|
+ $pageObj->setStarttime($page['starttime']);
|
|
|
+ $pageObj->setEndtime($page['endtime']);
|
|
|
+ $pageObj->setTitle($page['title']);
|
|
|
+ $pageObj->setRoof($page['roof']);
|
|
|
+ $pageObj->setCategory($this->utilities->createCategoryFromSlug($page['slug']));
|
|
|
+ $pageObj->setCreator($page['username']);
|
|
|
+ $pageObj->setFullName($page['realName']);
|
|
|
|
|
|
array_push($pageObjectArray, $pageObj);
|
|
|
}
|
|
|
@@ -157,10 +141,15 @@ class BackendController extends ActionController
|
|
|
|
|
|
$this->buildPagination($pageObjectArray, $itemsperpage, $currentPage);
|
|
|
|
|
|
- $this->moduleTemplate->setContent($this->view->assign('daysPast',$daysPast)->render());
|
|
|
+ if($isExpired) {
|
|
|
+ $this->view->assign('daysPast',$daysPast);
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->moduleTemplate->setContent($this->view->render());
|
|
|
return $this->htmlResponse($this->moduleTemplate->renderContent());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* @param array $activePages
|
|
|
* @param int $currentPage
|