‪TYPO3CMS  9.5
TaskModuleController.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
17 use Psr\Http\Message\ResponseInterface;
18 use Psr\Http\Message\ServerRequestInterface;
34 
40 {
43 
48  'MCONF' => 'Using TaskModuleController::$MCONF is deprecated and will not be possible anymore in TYPO3 v10.0.',
49  'id' => 'Using TaskModuleController::$id is deprecated and will not be possible anymore in TYPO3 v10.0.',
50  'MOD_MENU' => 'Using TaskModuleController::$MOD_MENU is deprecated and will not be possible anymore in TYPO3 v10.0.',
51  'modMenu_type' => 'Using TaskModuleController::$modMenu_type is deprecated and will not be possible anymore in TYPO3 v10.0.',
52  'modMenu_setDefaultList' => 'Using TaskModuleController::$$modMenu_setDefaultList is deprecated and will not be possible anymore in TYPO3 v10.0.',
53  'modMenu_dontValidateList' => 'Using TaskModuleController::$modMenu_dontValidateList is deprecated and will not be possible anymore in TYPO3 v10.0.',
54  'content' => 'Using TaskModuleController::$content is deprecated and will not be possible anymore in TYPO3 v10.0.',
55  'perms_clause' => 'Using TaskModuleController::$perms_clause is deprecated, the property will be removed in TYPO3 v10.0.',
56  'CMD' => 'Using TaskModuleController::$CMD is deprecated, the property will be removed in TYPO3 v10.0.',
57  'extClassConf' => 'Using TaskModuleController::$extClassConf is deprecated, the property will be removed in TYPO3 v10.0.',
58  'extObj' => 'Using TaskModuleController::$extObj is deprecated, the property will be removed in TYPO3 v10.0.',
59  ];
60 
64  private ‪$deprecatedPublicMethods = [
65  'menuConfig' => 'Using TaskModuleController::menuConfig() is deprecated and will not be possible anymore in TYPO3 v10.0.',
66  'mergeExternalItems' => 'Using TaskModuleController::mergeExternalItems() is deprecated and will not be possible anymore in TYPO3 v10.0.',
67  'handleExternalFunctionValue' => 'Using TaskModuleController::handleExternalFunctionValue() is deprecated and will not be possible anymore in TYPO3 v10.0.',
68  'getExternalItemConfig' => 'Using TaskModuleController::getExternalItemConfig() is deprecated and will not be possible anymore in TYPO3 v10.0.',
69  'main' => 'Using TaskModuleController::main() is deprecated and will not be possible anymore in TYPO3 v10.0.',
70  'urlInIframe' => 'Using TaskModuleController::urlInIframe() is deprecated. The method will be removed in TYPO3 v10.0.',
71  'extObjHeader' => 'Using TaskModuleController::extObjHeader() is deprecated. The method will be removed in TYPO3 v10.0.',
72  'checkSubExtObj' => 'Using TaskModuleController::checkSubExtObj() is deprecated. The method will be removed in TYPO3 v10.0.',
73  'checkExtObj' => 'Using TaskModuleController::checkExtObj() is deprecated. The method will be removed in TYPO3 v10.0.',
74  'extObjContent' => 'Using TaskModuleController::extObjContent() is deprecated. The method will be removed in TYPO3 v10.0.',
75  'getExtObjContent' => 'Using TaskModuleController::getExtObjContent() is deprecated. The method will be removed in TYPO3 v10.0.',
76  ];
77 
84  protected ‪$MCONF = [];
85 
92  protected ‪$id;
93 
101  protected ‪$CMD;
102 
110  protected ‪$perms_clause;
111 
118  protected ‪$MOD_MENU = [
119  'function' => []
120  ];
121 
129  public ‪$MOD_SETTINGS = [];
130 
138  public ‪$modTSconfig;
139 
147  protected ‪$modMenu_type = '';
148 
156  protected ‪$modMenu_dontValidateList = '';
157 
166 
174  protected ‪$extClassConf;
175 
181  protected ‪$content = '';
182 
190  protected ‪$extObj;
191 
195  protected ‪$pageinfo;
196 
202  protected ‪$moduleTemplate;
203 
209  protected ‪$moduleName = 'user_task';
210 
214  public function ‪__construct()
215  {
216  $this->moduleTemplate = GeneralUtility::makeInstance(ModuleTemplate::class);
217  $this->‪getLanguageService()->‪includeLLFile('EXT:taskcenter/Resources/Private/Language/locallang_task.xlf');
218  $this->MCONF = [
219  'name' => ‪$this->moduleName
220  ];
221  // Name might be set from outside
222  if (!$this->MCONF['name']) {
223  $this->MCONF = ‪$GLOBALS['MCONF'];
224  }
225  $this->id = (int)GeneralUtility::_GP('id');
226  // @deprecated since TYPO3 v9, will be removed in TYPO3 v10.0.
227  $this->CMD = GeneralUtility::_GP('CMD');
228  // @deprecated since TYPO3 v9, will be removed in TYPO3 v10.0.
229  $this->perms_clause = $this->‪getBackendUser()->‪getPagePermsClause(‪Permission::PAGE_SHOW);
230  $this->‪menuConfig();
232  }
233 
237  protected function ‪menuConfig()
238  {
239  $this->MOD_MENU = ['mode' => []];
240  $languageService = $this->‪getLanguageService();
241  $this->MOD_MENU['mode']['information'] = $languageService->sL('LLL:EXT:taskcenter/Resources/Private/Language/locallang.xlf:task_overview');
242  $this->MOD_MENU['mode']['tasks'] = $languageService->sL('LLL:EXT:taskcenter/Resources/Private/Language/locallang.xlf:task_tasks');
243  // Copied from parent::menuConfig, because parent is hardcoded to menu.function,
244  // however menu.function is already used for the individual tasks. Therefore we use menu.mode here.
245  // Page/be_user TSconfig settings and blinding of menu-items
246  $this->modTSconfig['properties'] = ‪BackendUtility::getPagesTSconfig($this->id)['mod.'][$this->moduleName . '.'] ?? [];
247  $this->MOD_MENU['mode'] = $this->‪mergeExternalItems($this->MCONF['name'], 'mode', $this->MOD_MENU['mode']);
248  $blindActions = $this->modTSconfig['properties']['menu.']['mode.'] ?? [];
249  foreach ($blindActions as $key => $value) {
250  if (!$value && array_key_exists($key, $this->MOD_MENU['mode'])) {
251  unset($this->MOD_MENU['mode'][$key]);
252  }
253  }
254  // Page / user TSconfig settings and blinding of menu-items
255  // Now overwrite the stuff again for unknown reasons
256  $this->modTSconfig['properties'] = ‪BackendUtility::getPagesTSconfig($this->id)['mod.'][$this->MCONF['name'] . '.'] ?? [];
257  $this->MOD_MENU['function'] = $this->‪mergeExternalItems($this->MCONF['name'], 'function', $this->MOD_MENU['function']);
258  $blindActions = $this->modTSconfig['properties']['menu.']['function.'] ?? [];
259  foreach ($blindActions as $key => $value) {
260  if (!$value && array_key_exists($key, $this->MOD_MENU['function'])) {
261  unset($this->MOD_MENU['function'][$key]);
262  }
263  }
264  $this->MOD_SETTINGS = ‪BackendUtility::getModuleData($this->MOD_MENU, GeneralUtility::_GP('SET'), $this->MCONF['name'], $this->modMenu_type, $this->modMenu_dontValidateList, $this->modMenu_setDefaultList);
265  }
266 
272  protected function ‪generateMenu()
273  {
274  $menu = $this->moduleTemplate->getDocHeaderComponent()->getMenuRegistry()->makeMenu();
275  $menu->setIdentifier('WebFuncJumpMenu');
277  $uriBuilder = GeneralUtility::makeInstance(\‪TYPO3\CMS\Backend\Routing\UriBuilder::class);
278  foreach ($this->MOD_MENU['mode'] as $controller => $title) {
279  $item = $menu
280  ->makeMenuItem()
281  ->setHref(
282  (string)$uriBuilder->buildUriFromRoute(
283  $this->moduleName,
284  [
285  'id' => $this->id,
286  'SET' => [
287  'mode' => $controller
288  ]
289  ]
290  )
291  )
292  ->setTitle($title);
293  if ($controller === $this->MOD_SETTINGS['mode']) {
294  $item->setActive(true);
295  }
296  $menu->addMenuItem($item);
297  }
298  $this->moduleTemplate->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
299  }
300 
308  public function ‪mainAction(ServerRequestInterface $request): ResponseInterface
309  {
310  // @deprecated since TYPO3 v9, will be removed in TYPO3 v10.0.
311  ‪$GLOBALS['SOBE'] = $this;
312 
313  $this->‪main();
314  $this->moduleTemplate->setContent($this->content);
315  return new HtmlResponse($this->moduleTemplate->renderContent());
316  }
317 
322  protected function ‪main()
323  {
324  $this->‪getButtons();
325  $this->‪generateMenu();
326  $this->moduleTemplate->addJavaScriptCode(
327  'TaskCenterInlineJavascript',
328  'if (top.fsMod) { top.fsMod.recentIds["web"] = 0; }'
329  );
330 
331  // Render content depending on the mode
332  $mode = (string)$this->MOD_SETTINGS['mode'];
333  if ($mode === 'information') {
335  } else {
336  $this->‪renderModuleContent();
337  }
338  // Renders the module page
339  $this->moduleTemplate->setTitle($this->‪getLanguageService()->getLL('title'));
340  }
341 
345  protected function ‪renderModuleContent()
346  {
347  $languageService = $this->‪getLanguageService();
348  $chosenTask = (string)$this->MOD_SETTINGS['function'];
349  // Render the taskcenter task as default
350  if (empty($chosenTask) || $chosenTask === 'index') {
351  $chosenTask = 'taskcenter.tasks';
352  }
353  // Render the task
354  $actionContent = '';
355  $flashMessage = null;
356  list($extKey, $taskClass) = explode('.', $chosenTask, 2);
357  if (class_exists($taskClass)) {
358  $taskInstance = GeneralUtility::makeInstance($taskClass, $this);
359  if ($taskInstance instanceof TaskInterface) {
360  // Check if the task is restricted to admins only
361  if ($this->‪checkAccess($extKey, $taskClass)) {
362  $actionContent .= $taskInstance->getTask();
363  } else {
364  $flashMessage = GeneralUtility::makeInstance(
365  FlashMessage::class,
366  $languageService->getLL('error-access'),
367  $languageService->getLL('error_header'),
369  );
370  }
371  } else {
372  // Error if the task is not an instance of \TYPO3\CMS\Taskcenter\TaskInterface
373  $flashMessage = GeneralUtility::makeInstance(
374  FlashMessage::class,
375  sprintf($languageService->getLL('error_no-instance'), $taskClass, TaskInterface::class),
376  $languageService->getLL('error_header'),
378  );
379  }
380  } else {
381  $flashMessage = GeneralUtility::makeInstance(
382  FlashMessage::class,
383  $languageService->sL('LLL:EXT:taskcenter/Resources/Private/Language/locallang_mod.xlf:mlang_labels_tabdescr'),
384  $languageService->sL('LLL:EXT:taskcenter/Resources/Private/Language/locallang_mod.xlf:mlang_tabs_tab'),
386  );
387  }
388 
389  if ($flashMessage) {
391  $flashMessageService = GeneralUtility::makeInstance(\‪TYPO3\CMS\Core\Messaging\FlashMessageService::class);
393  $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
394  $defaultFlashMessageQueue->enqueue($flashMessage);
395  }
396 
397  $assigns = [];
398  $assigns['reports'] = $this->‪indexAction();
399  $assigns['taskClass'] = strtolower(str_replace('\\', '-', htmlspecialchars($extKey . '-' . $taskClass)));
400  $assigns['actionContent'] = $actionContent;
401 
402  // Rendering of the output via fluid
403  $view = GeneralUtility::makeInstance(StandaloneView::class);
404  $view->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName(
405  'EXT:taskcenter/Resources/Private/Templates/ModuleContent.html'
406  ));
407  $view->assignMultiple($assigns);
408  $this->content .= $view->render();
409  }
410 
414  protected function ‪renderInformationContent()
415  {
416  $assigns = [];
417  $assigns['LLPrefix'] = 'LLL:EXT:taskcenter/Resources/Private/Language/locallang.xlf:';
418  $assigns['LLPrefixMod'] = 'LLL:EXT:taskcenter/Resources/Private/Language/locallang_mod.xlf:';
419  $assigns['LLPrefixTask'] = 'LLL:EXT:taskcenter/Resources/Private/Language/locallang_task.xlf:';
420  $assigns['admin'] = $this->‪getBackendUser()->‪isAdmin();
421 
422  // Rendering of the output via fluid
423  $view = GeneralUtility::makeInstance(StandaloneView::class);
424  $view->setTemplateRootPaths([GeneralUtility::getFileAbsFileName('EXT:taskcenter/Resources/Private/Templates')]);
425  $view->setPartialRootPaths([GeneralUtility::getFileAbsFileName('EXT:taskcenter/Resources/Private/Partials')]);
426  $view->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName(
427  'EXT:taskcenter/Resources/Private/Templates/InformationContent.html'
428  ));
429  $view->assignMultiple($assigns);
430  $this->content .= $view->render();
431  }
432 
441  public function ‪description($title, $description = '')
442  {
443  $descriptionView = GeneralUtility::makeInstance(StandaloneView::class);
444  $descriptionView->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName(
445  'EXT:taskcenter/Resources/Private/Partials/Description.html'
446  ));
447  $descriptionView->assign('title', $title);
448  $descriptionView->assign('description', $description);
449  return $descriptionView->render();
450  }
451 
466  public function ‪renderListMenu($items, $mainMenu = false)
467  {
468  $assigns = [];
469  $assigns['mainMenu'] = $mainMenu;
470 
471  // Change the sorting of items to the user's one
472  if ($mainMenu) {
473  $userSorting = unserialize($this->‪getBackendUser()->uc['taskcenter']['sorting'], ['allowed_classes' => false]);
474  if (is_array($userSorting)) {
475  $newSorting = [];
476  foreach ($userSorting as $item) {
477  if (isset($items[$item])) {
478  $newSorting[] = $items[$item];
479  unset($items[$item]);
480  }
481  }
482  $items = $newSorting + $items;
483  }
484  }
485  if (is_array($items) && !empty($items)) {
486  foreach ($items as $itemKey => &$item) {
487  // Check for custom icon
488  if (!empty($item['icon'])) {
489  if (strpos($item['icon'], '<img ') === false) {
490  $iconFile = GeneralUtility::getFileAbsFileName($item['icon']);
491  if (@is_file($iconFile)) {
492  $item['iconFile'] = ‪PathUtility::getAbsoluteWebPath($iconFile);
493  }
494  }
495  }
496  ‪$id = $this->‪getUniqueKey($item['uid']);
497  $contentId = strtolower(str_replace('\\', '-', ‪$id));
498  $item['uniqueKey'] = ‪$id;
499  $item['contentId'] = $contentId;
500  // Collapsed & expanded menu items
501  if (isset($this->‪getBackendUser()->uc['taskcenter']['states'][‪$id]) && $this->‪getBackendUser()->uc['taskcenter']['states'][‪$id]) {
502  $item['ariaExpanded'] = 'true';
503  $item['collapseIcon'] = 'actions-view-list-expand';
504  $item['collapsed'] = '';
505  } else {
506  $item['ariaExpanded'] = 'false';
507  $item['collapseIcon'] = 'actions-view-list-collapse';
508  $item['collapsed'] = 'in';
509  }
510  // Active menu item
511  $panelState = (string)$this->MOD_SETTINGS['function'] == $item['uid'] ? 'panel-active' : 'panel-default';
512  $item['panelState'] = $panelState;
513  }
514  }
515  $assigns['items'] = $items;
516 
517  // Rendering of the output via fluid
518  $view = GeneralUtility::makeInstance(StandaloneView::class);
519  $view->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName(
520  'EXT:taskcenter/Resources/Private/Templates/ListMenu.html'
521  ));
522  $view->assignMultiple($assigns);
523  return $view->render();
524  }
525 
531  protected function ‪indexAction()
532  {
533  $languageService = $this->‪getLanguageService();
534  ‪$content = '';
535  $tasks = [];
536  $defaultIcon = 'EXT:taskcenter/Resources/Public/Icons/module-taskcenter.svg';
538  $uriBuilder = GeneralUtility::makeInstance(\‪TYPO3\CMS\Backend\Routing\UriBuilder::class);
539  // Render the tasks only if there are any available
540  if (count(‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['taskcenter'] ?? [])) {
541  foreach (‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['taskcenter'] as $extKey => $extensionReports) {
542  foreach ($extensionReports as $taskClass => $task) {
543  if (!$this->‪checkAccess($extKey, $taskClass)) {
544  continue;
545  }
546  $link = (string)$uriBuilder->buildUriFromRoute('user_task') . '&SET[function]=' . $extKey . '.' . $taskClass;
547  $taskTitle = $languageService->sL($task['title']);
548  $taskDescriptionHtml = '';
549 
550  if (class_exists($taskClass)) {
551  $taskInstance = GeneralUtility::makeInstance($taskClass, $this);
552  if ($taskInstance instanceof TaskInterface) {
553  $taskDescriptionHtml = $taskInstance->getOverview();
554  }
555  }
556  // Generate an array of all tasks
557  $uniqueKey = $this->‪getUniqueKey($extKey . '.' . $taskClass);
558  $tasks[$uniqueKey] = [
559  'title' => $taskTitle,
560  'descriptionHtml' => $taskDescriptionHtml,
561  'description' => $languageService->sL($task['description']),
562  'icon' => !empty($task['icon']) ? $task['icon'] : $defaultIcon,
563  'link' => $link,
564  'uid' => $extKey . '.' . $taskClass
565  ];
566  }
567  }
568  ‪$content .= $this->‪renderListMenu($tasks, true);
569  } else {
570  $flashMessage = GeneralUtility::makeInstance(
571  FlashMessage::class,
572  $languageService->getLL('no-tasks'),
573  '',
575  );
577  $flashMessageService = GeneralUtility::makeInstance(\‪TYPO3\CMS\Core\Messaging\FlashMessageService::class);
579  $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
580  $defaultFlashMessageQueue->enqueue($flashMessage);
581  }
582  return ‪$content;
583  }
584 
589  protected function ‪getButtons()
590  {
591  $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
592 
593  // Shortcut
594  $shortcutButton = $buttonBar->makeShortcutButton()
595  ->setModuleName($this->moduleName)
596  ->setSetVariables(['function']);
597  $buttonBar->addButton($shortcutButton);
598  }
599 
610  protected function ‪checkAccess($extKey, $taskClass): bool
611  {
612  $backendUser = $this->‪getBackendUser();
613  // Admins are always allowed
614  if ($backendUser->isAdmin()) {
615  return true;
616  }
617  // Check if task is restricted to admins
618  if ((int)‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['taskcenter'][$extKey][$taskClass]['admin'] === 1) {
619  return false;
620  }
621  // Check if task is blinded with TsConfig (taskcenter.<extkey>.<taskName>
622  return (bool)($backendUser->getTSConfig()['taskcenter.'][$extKey . '.'][$taskClass] ?? true);
623  }
624 
632  protected function ‪urlInIframe($url)
633  {
634  $urlView = GeneralUtility::makeInstance(StandaloneView::class);
635  $urlView->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName(
636  'EXT:taskcenter/Resources/Private/Partials/UrlInIframe.html'
637  ));
638  $urlView->assign('url', $url);
639  return $urlView->render();
640  }
641 
649  protected function ‪getUniqueKey($string)
650  {
651  $search = ['.', '_'];
652  $replace = ['-', ''];
653  return str_replace($search, $replace, $string);
654  }
655 
662  {
663  return ‪$GLOBALS['BE_USER'];
664  }
665 
671  protected function ‪getLanguageService(): ‪LanguageService
672  {
673  return ‪$GLOBALS['LANG'];
674  }
675 
681  public function ‪getModuleTemplate(): ModuleTemplate
682  {
684  }
685 
696  protected function ‪mergeExternalItems($modName, $menuKey, $menuArr)
697  {
698  $mergeArray = ‪$GLOBALS['TBE_MODULES_EXT'][$modName]['MOD_MENU'][$menuKey];
699  if (is_array($mergeArray)) {
700  foreach ($mergeArray as $k => $v) {
701  if (((string)$v['ws'] === '' || $this->‪getBackendUser()->workspace === 0 && GeneralUtility::inList($v['ws'], 'online')) || $this->‪getBackendUser()->workspace === -1 && GeneralUtility::inList($v['ws'], 'offline') || $this->‪getBackendUser()->workspace > 0 && GeneralUtility::inList($v['ws'], 'custom')) {
702  $menuArr[$k] = $this->‪getLanguageService()->‪sL($v['title']);
703  }
704  }
705  }
706  return $menuArr;
707  }
708 
716  protected function ‪handleExternalFunctionValue($MM_key = 'function', $MS_value = null)
717  {
718  if ($MS_value === null) {
719  $MS_value = $this->MOD_SETTINGS[$MM_key];
720  }
721  $this->extClassConf = $this->‪getExternalItemConfig($this->MCONF['name'], $MM_key, $MS_value);
722  }
723 
734  protected function ‪getExternalItemConfig($modName, $menuKey, $value = '')
735  {
736  if (isset(‪$GLOBALS['TBE_MODULES_EXT'][$modName])) {
737  return (string)$value !== '' ? ‪$GLOBALS['TBE_MODULES_EXT'][$modName]['MOD_MENU'][$menuKey][$value] : ‪$GLOBALS['TBE_MODULES_EXT'][$modName]['MOD_MENU'][$menuKey];
738  }
739  return null;
740  }
741 
751  protected function ‪checkExtObj()
752  {
753  if (is_array($this->extClassConf) && $this->extClassConf['name']) {
754  $this->extObj = GeneralUtility::makeInstance($this->extClassConf['name']);
755  $this->extObj->init($this, $this->extClassConf);
756  // Re-write:
757  $this->MOD_SETTINGS = ‪BackendUtility::getModuleData($this->MOD_MENU, GeneralUtility::_GP('SET'), $this->MCONF['name'], $this->modMenu_type, $this->modMenu_dontValidateList, $this->modMenu_setDefaultList);
758  }
759  }
760 
766  protected function ‪checkSubExtObj()
767  {
768  if (is_object($this->extObj)) {
769  $this->extObj->checkExtObj();
770  }
771  }
772 
779  protected function ‪extObjHeader()
780  {
781  if (is_callable([$this->extObj, 'head'])) {
782  $this->extObj->head();
783  }
784  }
785 
790  protected function ‪extObjContent()
791  {
792  if ($this->extObj === null) {
793  $flashMessage = GeneralUtility::makeInstance(
794  FlashMessage::class,
795  $this->‪getLanguageService()->sL('LLL:EXT:backend/Resources/Private/Language/locallang.xlf:no_modules_registered'),
796  $this->‪getLanguageService()->getLL('title'),
798  );
800  $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
802  $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
803  $defaultFlashMessageQueue->enqueue($flashMessage);
804  } else {
805  $this->extObj->pObj = $this;
806  if (is_callable([$this->extObj, 'main'])) {
807  $this->content .= $this->extObj->main();
808  }
809  }
810  }
811 
818  protected function ‪getExtObjContent()
819  {
820  $savedContent = ‪$this->content;
821  $this->content = '';
822  $this->‪extObjContent();
823  $newContent = ‪$this->content;
824  $this->content = $savedContent;
825  return $newContent;
826  }
827 
832  protected function ‪getPageRenderer(): PageRenderer
833  {
834  return GeneralUtility::makeInstance(PageRenderer::class);
835  }
836 }
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$CMD
‪mixed $CMD
Definition: TaskModuleController.php:94
‪TYPO3\CMS\Core\Localization\LanguageService\includeLLFile
‪mixed includeLLFile($fileRef, $setGlobal=true, $mergeLocalOntoDefault=false)
Definition: LanguageService.php:260
‪TYPO3\CMS\Core\Utility\PathUtility
Definition: PathUtility.php:23
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\checkSubExtObj
‪checkSubExtObj()
Definition: TaskModuleController.php:746
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$moduleTemplate
‪ModuleTemplate $moduleTemplate
Definition: TaskModuleController.php:183
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$extObj
‪object $extObj
Definition: TaskModuleController.php:173
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication\getPagePermsClause
‪string getPagePermsClause($perms)
Definition: BackendUserAuthentication.php:523
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$MOD_MENU
‪array $MOD_MENU
Definition: TaskModuleController.php:109
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\main
‪main()
Definition: TaskModuleController.php:302
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController
Definition: TaskModuleController.php:40
‪TYPO3
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication\isAdmin
‪bool isAdmin()
Definition: BackendUserAuthentication.php:294
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$modMenu_setDefaultList
‪string $modMenu_setDefaultList
Definition: TaskModuleController.php:151
‪TYPO3\CMS\Taskcenter\Controller
Definition: TaskModuleController.php:2
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\checkExtObj
‪checkExtObj()
Definition: TaskModuleController.php:731
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$extClassConf
‪array $extClassConf
Definition: TaskModuleController.php:159
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$MCONF
‪array $MCONF
Definition: TaskModuleController.php:79
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getExtObjContent
‪string getExtObjContent()
Definition: TaskModuleController.php:798
‪TYPO3\CMS\Core\Localization\LanguageService\sL
‪string sL($input)
Definition: LanguageService.php:158
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$deprecatedPublicProperties
‪array $deprecatedPublicProperties
Definition: TaskModuleController.php:44
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$pageinfo
‪array $pageinfo
Definition: TaskModuleController.php:177
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\handleExternalFunctionValue
‪handleExternalFunctionValue($MM_key='function', $MS_value=null)
Definition: TaskModuleController.php:696
‪TYPO3\CMS\Backend\Template\ModuleTemplate
Definition: ModuleTemplate.php:40
‪TYPO3\CMS\Core\Type\Bitmask\Permission
Definition: Permission.php:23
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$deprecatedPublicMethods
‪array $deprecatedPublicMethods
Definition: TaskModuleController.php:60
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\generateMenu
‪generateMenu()
Definition: TaskModuleController.php:252
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\checkAccess
‪bool checkAccess($extKey, $taskClass)
Definition: TaskModuleController.php:590
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getButtons
‪getButtons()
Definition: TaskModuleController.php:569
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$perms_clause
‪string $perms_clause
Definition: TaskModuleController.php:102
‪TYPO3\CMS\Core\Page\PageRenderer
Definition: PageRenderer.php:35
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\urlInIframe
‪string urlInIframe($url)
Definition: TaskModuleController.php:612
‪TYPO3\CMS\Taskcenter\TaskInterface
Definition: TaskInterface.php:21
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\__construct
‪__construct()
Definition: TaskModuleController.php:194
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\renderListMenu
‪string renderListMenu($items, $mainMenu=false)
Definition: TaskModuleController.php:446
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$modTSconfig
‪array $modTSconfig
Definition: TaskModuleController.php:127
‪TYPO3\CMS\Backend\Utility\BackendUtility\getModuleData
‪static array getModuleData( $MOD_MENU, $CHANGED_SETTINGS, $modName, $type='', $dontValidateList='', $setDefaultList='')
Definition: BackendUtility.php:3259
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
Definition: BackendUserAuthentication.php:45
‪TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_SHOW
‪const PAGE_SHOW
Definition: Permission.php:32
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getBackendUser
‪BackendUserAuthentication getBackendUser()
Definition: TaskModuleController.php:641
‪TYPO3\CMS\Core\Compatibility\PublicMethodDeprecationTrait
Definition: PublicMethodDeprecationTrait.php:68
‪TYPO3\CMS\Backend\Utility\BackendUtility
Definition: BackendUtility.php:72
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getPageRenderer
‪PageRenderer getPageRenderer()
Definition: TaskModuleController.php:812
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$MOD_SETTINGS
‪array $MOD_SETTINGS
Definition: TaskModuleController.php:119
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$id
‪int $id
Definition: TaskModuleController.php:86
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\extObjContent
‪extObjContent()
Definition: TaskModuleController.php:770
‪TYPO3\CMS\Core\Messaging\AbstractMessage\INFO
‪const INFO
Definition: AbstractMessage.php:26
‪TYPO3\CMS\Core\Messaging\FlashMessage
Definition: FlashMessage.php:22
‪TYPO3\CMS\Fluid\View\StandaloneView
Definition: StandaloneView.php:32
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\renderInformationContent
‪renderInformationContent()
Definition: TaskModuleController.php:394
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getUniqueKey
‪string getUniqueKey($string)
Definition: TaskModuleController.php:629
‪TYPO3\CMS\Backend\Utility\BackendUtility\getPagesTSconfig
‪static array getPagesTSconfig($id, $rootLine=null, $returnPartArray=false)
Definition: BackendUtility.php:864
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\renderModuleContent
‪renderModuleContent()
Definition: TaskModuleController.php:325
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\indexAction
‪string indexAction()
Definition: TaskModuleController.php:511
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getModuleTemplate
‪ModuleTemplate getModuleTemplate()
Definition: TaskModuleController.php:661
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getExternalItemConfig
‪mixed getExternalItemConfig($modName, $menuKey, $value='')
Definition: TaskModuleController.php:714
‪TYPO3\CMS\Core\Localization\LanguageService
Definition: LanguageService.php:29
‪TYPO3\CMS\Core\Compatibility\PublicPropertyDeprecationTrait
Definition: PublicPropertyDeprecationTrait.php:66
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\getLanguageService
‪LanguageService getLanguageService()
Definition: TaskModuleController.php:651
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\extObjHeader
‪extObjHeader()
Definition: TaskModuleController.php:759
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:45
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$moduleName
‪string $moduleName
Definition: TaskModuleController.php:189
‪TYPO3\CMS\Core\Utility\PathUtility\getAbsoluteWebPath
‪static string getAbsoluteWebPath($targetPath)
Definition: PathUtility.php:42
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\mainAction
‪ResponseInterface mainAction(ServerRequestInterface $request)
Definition: TaskModuleController.php:288
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$modMenu_dontValidateList
‪string $modMenu_dontValidateList
Definition: TaskModuleController.php:143
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\menuConfig
‪menuConfig()
Definition: TaskModuleController.php:217
‪TYPO3\CMS\Core\Messaging\FlashMessageService
Definition: FlashMessageService.php:25
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\description
‪string description($title, $description='')
Definition: TaskModuleController.php:421
‪TYPO3\CMS\Core\Messaging\AbstractMessage\ERROR
‪const ERROR
Definition: AbstractMessage.php:29
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$content
‪string $content
Definition: TaskModuleController.php:165
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\$modMenu_type
‪string $modMenu_type
Definition: TaskModuleController.php:135
‪TYPO3\CMS\Core\Http\HtmlResponse
Definition: HtmlResponse.php:25
‪TYPO3\CMS\Taskcenter\Controller\TaskModuleController\mergeExternalItems
‪array mergeExternalItems($modName, $menuKey, $menuArr)
Definition: TaskModuleController.php:676