|
|
@@ -44,13 +44,15 @@ class BackendController extends ActionController
|
|
|
],
|
|
|
'expiredlast30' => [
|
|
|
'controller' => 'Backend',
|
|
|
- 'action' => 'showLast30',
|
|
|
- 'label' => 'Beiträge, die in den letzten 30 Tagen ausgelaufen sind'
|
|
|
+ 'action' => 'showLast',
|
|
|
+ 'label' => 'Beiträge, die in den letzten 30 Tagen ausgelaufen sind',
|
|
|
+ 'parameters' => ['daysPast' => 30]
|
|
|
],
|
|
|
'expiredlast90' => [
|
|
|
'controller' => 'Backend',
|
|
|
- 'action' => 'showLast90',
|
|
|
- 'label' => 'Beiträge, die in den letzten 90 Tagen ausgelaufen sind'
|
|
|
+ 'action' => 'showLast',
|
|
|
+ 'label' => 'Beiträge, die in den letzten 90 Tagen ausgelaufen sind',
|
|
|
+ 'parameters' => ['daysPast' => 90]
|
|
|
],
|
|
|
];
|
|
|
|
|
|
@@ -60,21 +62,28 @@ class BackendController extends ActionController
|
|
|
$menu = $this->moduleTemplate->getDocHeaderComponent()->getMenuRegistry()->makeMenu();
|
|
|
$menu->setIdentifier('PageManagerModuleMenu');
|
|
|
|
|
|
- foreach ($menuItems as $menuItemConfig) {
|
|
|
+ foreach ($menuItems as $key => $menuItemConfig) {
|
|
|
$isActive = false;
|
|
|
if ($this->request->getControllerName() === $menuItemConfig['controller']) {
|
|
|
if ($this->request->getControllerActionName() === $menuItemConfig['action']) {
|
|
|
- $isActive = true;
|
|
|
+ $queryParams = $this->request->getQueryParams();
|
|
|
+ if (!isset($menuItemConfig['parameters']['daysPast']) ||
|
|
|
+ (isset($queryParams['tx_pagemanager_tools_pagemanagerpgmgt']['daysPast']) &&
|
|
|
+ $queryParams['tx_pagemanager_tools_pagemanagerpgmgt']['daysPast'] == $menuItemConfig['parameters']['daysPast'])) {
|
|
|
+ $isActive = true;
|
|
|
+ $activeMenuItem = $key; // store the key of the active menu item
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
$menuItem = $menu->makeMenuItem()
|
|
|
->setTitle($menuItemConfig['label'])
|
|
|
- ->setHref($this->getHref($menuItemConfig['controller'], $menuItemConfig['action']))
|
|
|
+ ->setHref(
|
|
|
+ $this->getHref($menuItemConfig['controller'], $menuItemConfig['action'], $menuItemConfig['parameters'] ?? []))
|
|
|
->setActive($isActive);
|
|
|
$menu->addMenuItem($menuItem);
|
|
|
}
|
|
|
$this->moduleTemplate->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
|
|
|
+ $view->assign('activeMenuItem', $activeMenuItem);
|
|
|
}
|
|
|
|
|
|
protected function translate($key, $arguments): string
|
|
|
@@ -123,10 +132,10 @@ class BackendController extends ActionController
|
|
|
return $this->htmlResponse($this->moduleTemplate->renderContent());
|
|
|
}
|
|
|
|
|
|
- public function showLast30Action()
|
|
|
+ public function showLastAction(int $daysPast = null)
|
|
|
{
|
|
|
$this->utilities = GeneralUtility::makeInstance(Utilities::class);
|
|
|
- $activePagesExpiredInlast30days = $this->activePageRepository->findExpiredRecordsInTheLast30OR90Days(30);
|
|
|
+ $activePagesExpiredInlast30days = $this->activePageRepository->findExpiredRecordsInTheLast30OR90Days($daysPast);
|
|
|
$itemsperpage = $this->settings['itemsPerPage'] ?? 50;
|
|
|
|
|
|
$pageObjectArray = [];
|
|
|
@@ -148,36 +157,7 @@ class BackendController extends ActionController
|
|
|
|
|
|
$this->buildPagination($pageObjectArray, $itemsperpage, $currentPage);
|
|
|
|
|
|
- $this->moduleTemplate->setContent($this->view->render());
|
|
|
- return $this->htmlResponse($this->moduleTemplate->renderContent());
|
|
|
- }
|
|
|
-
|
|
|
- public function showLast90Action()
|
|
|
- {
|
|
|
- $this->utilities = GeneralUtility::makeInstance(Utilities::class);
|
|
|
- $activePagesExpiredInlast90days = $this->activePageRepository->findExpiredRecordsInTheLast30OR90Days(90);
|
|
|
- $itemsperpage = $this->settings['itemsPerPage'] ?? 50;
|
|
|
-
|
|
|
- $pageObjectArray = [];
|
|
|
-
|
|
|
- foreach ($activePagesExpiredInlast90days 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());
|
|
|
+ $this->moduleTemplate->setContent($this->view->assign('days',$daysPast)->render());
|
|
|
return $this->htmlResponse($this->moduleTemplate->renderContent());
|
|
|
}
|
|
|
|
|
|
@@ -201,11 +181,8 @@ class BackendController extends ActionController
|
|
|
case 'index':
|
|
|
$actionName = 'index';
|
|
|
break;
|
|
|
- case 'showLast30':
|
|
|
- $actionName = 'showLast30';
|
|
|
- break;
|
|
|
- case 'showLast90':
|
|
|
- $actionName = 'showLast90';
|
|
|
+ case 'showLast':
|
|
|
+ $actionName = 'showLast';
|
|
|
break;
|
|
|
}
|
|
|
|