17 use Doctrine\DBAL\DBALException;
69 $this->iconFactory = GeneralUtility::makeInstance(IconFactory::class);
71 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
72 $this->moduleUrl = (string)$uriBuilder->buildUriFromRoute(
'user_task');
74 $this->
getLanguageService()->includeLLFile(
'EXT:sys_action/Resources/Private/Language/locallang.xlf');
75 foreach (
$GLOBALS[
'TYPO3_CONF_VARS'][
'EXTCONF'][
'sys_action'][
'tx_sysaction_task'] ?? [] as $className) {
76 $this->hookObjects[] = GeneralUtility::makeInstance($className);
88 $show = (int)GeneralUtility::_GP(
'show');
89 foreach ($this->hookObjects as $hookObject) {
90 if (method_exists($hookObject,
'getTask')) {
91 $show = $hookObject->getTask($show, $this);
101 if (empty($record)) {
109 $content .= $this->taskObject->description($record[
'title'], $record[
'description']);
111 switch ($record[
'type']) {
113 $pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
114 $pageRenderer->loadRequireJsModule(
'TYPO3/CMS/SysAction/ActionTask');
149 $content =
'<p>' . htmlspecialchars($this->
getLanguageService()->getLL(
'description')) .
'</p>';
152 if (!empty($actionList)) {
155 foreach ($actionList as $action) {
156 $active = GeneralUtility::_GP(
'show') === $action[
'uid'] ?
'active' :
'';
157 $items .=
'<a class="list-group-item ' . $active .
'" href="' . $action[
'link'] .
'" title="' . htmlspecialchars($action[
'description']) .
'">' . htmlspecialchars($action[
'title']) .
'</a>';
159 $content .=
'<div class="list-group">' . $items .
'</div>';
175 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'sys_action');
176 $queryBuilder->select(
'sys_action.*')
177 ->from(
'sys_action');
179 if (!empty(
$GLOBALS[
'TCA'][
'sys_action'][
'ctrl'][
'sortby'])) {
180 $queryBuilder->orderBy(
'sys_action.' .
$GLOBALS[
'TCA'][
'sys_action'][
'ctrl'][
'sortby']);
183 $queryBuilder->getRestrictions()
185 ->add(GeneralUtility::makeInstance(RootLevelRestriction::class, [
'sys_action']));
188 if (!$backendUser->isAdmin()) {
189 $groupList = $backendUser->groupList ?:
'0';
191 $queryBuilder->getRestrictions()
192 ->add(GeneralUtility::makeInstance(HiddenRestriction::class));
197 'sys_action_asgr_mm',
198 'sys_action_asgr_mm',
199 $queryBuilder->expr()->eq(
200 'sys_action_asgr_mm.uid_local',
201 $queryBuilder->quoteIdentifier(
'sys_action.uid')
205 'sys_action_asgr_mm',
208 $queryBuilder->expr()->eq(
209 'sys_action_asgr_mm.uid_foreign',
210 $queryBuilder->quoteIdentifier(
'be_groups.uid')
214 $queryBuilder->expr()->in(
216 $queryBuilder->createNamedParameter(
217 GeneralUtility::intExplode(
',', $groupList,
true),
218 Connection::PARAM_INT_ARRAY
222 ->groupBy(
'sys_action.uid');
225 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
226 $queryResult = $queryBuilder->execute();
227 while ($actionRow = $queryResult->fetch()) {
228 $editActionLink =
'';
232 $uidEditArgument =
'edit[sys_action][' . (int)$actionRow[
'uid'] .
']';
234 $link = (string)$uriBuilder->buildUriFromRoute(
237 $uidEditArgument =>
'edit',
238 'returnUrl' => GeneralUtility::getIndpEnv(
'REQUEST_URI')
243 $icon = $this->iconFactory->getIcon(
'actions-open',
Icon::SIZE_SMALL)->render();
244 $editActionLink =
'<a class="btn btn-default btn-sm" href="' . htmlspecialchars($link) .
'" title="' . htmlspecialchars($title) .
'">';
245 $editActionLink .= $icon .
' ' . htmlspecialchars($title) .
'</a>';
249 'uid' =>
'actiontask' . $actionRow[
'uid'],
250 'title' => $actionRow[
'title'],
251 'description' => $actionRow[
'description'],
252 'descriptionHtml' => (
253 $actionRow[
'description']
254 ?
'<p>' . nl2br(htmlspecialchars($actionRow[
'description'])) .
'</p>'
257 'link' => $this->moduleUrl
258 .
'&SET[function]=sys_action.'
261 . (
int)$actionRow[
'uid']
279 if (!empty($actionList)) {
280 $content .= $this->taskObject->renderListMenu($actionList);
291 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
292 $link = (string)$uriBuilder->buildUriFromRoute(
295 'edit[sys_action][0]' =>
'new',
296 'returnUrl' => $this->moduleUrl
302 '<a class="btn btn-default" href="' . htmlspecialchars($link) .
'" title="' . htmlspecialchars($title) .
'">' .
303 $this->iconFactory->getIcon(
'actions-add',
Icon::SIZE_SMALL)->render() .
' ' . htmlspecialchars($title) .
320 if (!is_array($beRec)) {
329 $vars = GeneralUtility::_POST(
'data');
331 if ($vars[
'sent'] == 1) {
334 if (!empty($vars[
'email']) && !GeneralUtility::validEmail($vars[
'email'])) {
337 if (empty($vars[
'username'])) {
340 if ($vars[
'key'] ===
'NEW' && empty($vars[
'password'])) {
343 if ($vars[
'key'] !==
'NEW' && !$this->
isCreatedByUser($vars[
'key'], $record)) {
346 foreach ($this->hookObjects as $hookObject) {
347 if (method_exists($hookObject,
'viewNewBackendUser_Error')) {
362 $message = $vars[
'key'] ===
'NEW'
373 if ((
int)GeneralUtility::_GP(
'be_users_uid') > 0) {
374 $tmpUserId = (int)GeneralUtility::_GP(
'be_users_uid');
379 if (GeneralUtility::_GP(
'delete') == 1) {
386 $content .=
'<form action="" class="panel panel-default" method="post" enctype="multipart/form-data">
387 <fieldset class="form-section">
388 <h4 class="form-section-headline">' . htmlspecialchars($this->
getLanguageService()->getLL(
'action_t1_legend_generalFields')) .
'</h4>
389 <div class="form-group">
390 <label for="field_disable">' . htmlspecialchars($this->
getLanguageService()->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.disable')) .
'</label>
391 <input type="checkbox" id="field_disable" name="data[disable]" value="1" class="checkbox" ' . ($vars[
'disable'] == 1 ?
' checked="checked" ' :
'') .
' />
393 <div class="form-group">
394 <label for="field_realname">' . htmlspecialchars($this->
getLanguageService()->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.name')) .
'</label>
395 <input type="text" id="field_realname" class="form-control" name="data[realName]" value="' . htmlspecialchars($vars[
'realName']) .
'" />
397 <div class="form-group">
398 <label for="field_username">' . htmlspecialchars($this->
getLanguageService()->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_users.username')) .
'</label>
399 <input type="text" id="field_username" class="form-control" name="data[username]" value="' . htmlspecialchars($vars[
'username']) .
'" />
401 <div class="form-group">
402 <label for="field_password">' . htmlspecialchars($this->
getLanguageService()->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_users.password')) .
'</label>
403 <input type="password" id="field_password" class="form-control" name="data[password]" value="" />
405 <div class="form-group">
406 <label for="field_email">' . htmlspecialchars($this->
getLanguageService()->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.email')) .
'</label>
407 <input type="text" id="field_email" class="form-control" name="data[email]" value="' . htmlspecialchars($vars[
'email']) .
'" />
410 <fieldset class="form-section">
411 <h4 class="form-section-headline">' . htmlspecialchars($this->
getLanguageService()->getLL(
'action_t1_legend_configuration')) .
'</h4>
412 <div class="form-group">
413 <label for="field_usergroup">' . htmlspecialchars($this->
getLanguageService()->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:be_users.usergroup')) .
'</label>
414 <select id="field_usergroup" class="form-control" name="data[usergroup][]" multiple="multiple">
418 <div class="form-group">
419 <input type="hidden" name="data[key]" value="' . $key .
'" />
420 <input type="hidden" name="data[sent]" value="1" />
421 <input class="btn btn-default" type="submit" value="' . htmlspecialchars($this->
getLanguageService()->getLL($key ===
'NEW' ?
'action_Create' :
'action_Update')) .
'" />
437 GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable(
'be_users')->update(
439 [
'deleted' => 1,
'tstamp' => (
int)
$GLOBALS[
'ACCESS_TIME']],
440 [
'uid' => (
int)$userId]
457 if (is_array($record)) {
475 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
476 ->getQueryBuilderForTable(
'be_users');
478 $queryBuilder->getRestrictions()
480 ->add(GeneralUtility::makeInstance(DeletedRestriction::class));
486 $queryBuilder->expr()->eq(
488 $queryBuilder->createNamedParameter($this->getBackendUser()->user[
'uid'], \PDO::PARAM_INT)
490 $queryBuilder->expr()->eq(
492 $queryBuilder->createNamedParameter($action[
'uid'], \PDO::PARAM_INT)
495 ->orderBy(
'username')
499 while ($row = $res->fetch()) {
500 $icon =
'<span title="' . htmlspecialchars(
'uid=' . $row[
'uid']) .
'">' . $this->iconFactory->getIconForRecord(
'be_users', $row,
Icon::SIZE_SMALL)->render() .
'</span>';
501 $line = $icon . $this->
action_linkUserName($row[
'username'], $row[
'realName'], $action[
'uid'], $row[
'uid']);
503 if ($row[
'uid'] == $selectedUser) {
504 $line =
'<strong>' . $line .
'</strong>';
506 $userList[] =
'<li class="list-group-item">' . $line .
'</li>';
510 if (!empty($userList)) {
511 $content .=
'<div class="panel panel-default">';
512 $content .=
'<div class="panel-heading">';
513 $content .=
'<h3 class="panel-title">' . htmlspecialchars($this->
getLanguageService()->getLL(
'action_t1_listOfUsers')) .
'</h3>';
514 $content .=
'</div>';
515 $content .=
'<ul class="list-group">' . implode($userList) .
'</ul>';
516 $content .=
'</div>';
532 if (!empty($realName)) {
533 $username .=
' (' . $realName .
')';
536 $href = $this->moduleUrl .
'&SET[function]=sys_action.TYPO3\\CMS\\SysAction\\ActionTask&show=' . (int)$sysActionUid .
'&be_users_uid=' . (
int)$userId;
537 $link =
'<a href="' . htmlspecialchars($href) .
'">' . htmlspecialchars($username) .
'</a>';
540 <a href="' . htmlspecialchars($href .
'&delete=1') .
'" class="t3js-confirm-trigger" data-title="' . htmlspecialchars($this->
getLanguageService()->getLL(
'lDelete_warning_title')) .
'" data-message="' . htmlspecialchars($this->
getLanguageService()->getLL(
'lDelete_warning')) .
'">'
541 . $this->iconFactory->getIcon(
'actions-edit-delete',
Icon::SIZE_SMALL)->render() .
556 $vars[
'usergroup'] = $this->
fixUserGroup($vars[
'usergroup'], $record);
558 $vars[
'password'] = trim($vars[
'password']);
560 if ($vars[
'password'] !==
'' && strpos(
$GLOBALS[
'TCA'][
'be_users'][
'columns'][
'password'][
'config'][
'eval'],
'md5') !==
false) {
561 $vars[
'password'] = md5($vars[
'password']);
565 if ($key ===
'NEW') {
567 if (is_array($beRec)) {
569 $data[
'be_users'][$key] = $beRec;
570 $data[
'be_users'][$key][
'username'] = $this->
fixUsername($vars[
'username'], $record[
't1_userprefix']);
571 $data[
'be_users'][$key][
'password'] = $vars[
'password'];
572 $data[
'be_users'][$key][
'realName'] = $vars[
'realName'];
573 $data[
'be_users'][$key][
'email'] = $vars[
'email'];
574 $data[
'be_users'][$key][
'disable'] = (int)$vars[
'disable'];
575 $data[
'be_users'][$key][
'admin'] = 0;
576 $data[
'be_users'][$key][
'usergroup'] = $vars[
'usergroup'];
577 $data[
'be_users'][$key][
'createdByAction'] = $record[
'uid'];
582 if (is_array($beRec) && $beRec[
'cruser_id'] == $this->
getBackendUser()->user[
'uid']) {
584 $data[
'be_users'][$key][
'username'] = $this->
fixUsername($vars[
'username'], $record[
't1_userprefix']);
585 if ($vars[
'password'] !==
'') {
586 $data[
'be_users'][$key][
'password'] = $vars[
'password'];
588 $data[
'be_users'][$key][
'realName'] = $vars[
'realName'];
589 $data[
'be_users'][$key][
'email'] = $vars[
'email'];
590 $data[
'be_users'][$key][
'disable'] = (int)$vars[
'disable'];
591 $data[
'be_users'][$key][
'admin'] = 0;
592 $data[
'be_users'][$key][
'usergroup'] = $vars[
'usergroup'];
597 if (is_array($data)) {
598 $dataHandler = GeneralUtility::makeInstance(\
TYPO3\CMS\Core\DataHandling\DataHandler::class);
600 $dataHandler->admin = 1;
601 $dataHandler->process_datamap();
602 $newUserId = (int)$dataHandler->substNEWwithIDs[
'NEW'];
608 $newUserId = (int)$key;
624 $prefix = trim($prefix);
625 if ($prefix !==
'' && strpos($username, $prefix) === 0) {
626 $username = substr($username, strlen($prefix));
628 return $prefix . $username;
638 protected function fixUserGroup($appliedUsergroups, $actionRecord)
640 if (is_array($appliedUsergroups)) {
641 $cleanGroupList = [];
643 $allowedUsergroups = array_flip(explode(
',', $actionRecord[
't1_allowed_groups']));
645 foreach ($appliedUsergroups as $group) {
646 if (isset($allowedUsergroups[$group])) {
647 $cleanGroupList[] = $group;
650 $appliedUsergroups = $cleanGroupList;
652 return $appliedUsergroups;
664 $dbMounts = array_flip(explode(
',', trim($this->
getBackendUser()->dataLists[
'webmount_list'],
',')));
666 foreach ($rootline as $page) {
667 if (isset($dbMounts[$page[
'uid']]) && !$access) {
683 GeneralUtility::mkdir($path . $uid);
684 GeneralUtility::mkdir($path . $uid .
'/_temp_/');
695 $path =
$GLOBALS[
'TYPO3_CONF_VARS'][
'BE'][
'userHomePath'];
697 if ($path && @is_dir($path) &&
$GLOBALS[
'TYPO3_CONF_VARS'][
'BE'][
'lockRootPath'] && GeneralUtility::isFirstPartOfStr($path,
$GLOBALS[
'TYPO3_CONF_VARS'][
'BE'][
'lockRootPath']) && substr($path, -1) ===
'/') {
713 if (empty($record[
't1_allowed_groups'])) {
716 $content .=
'<option value=""></option>';
717 $grList = GeneralUtility::trimExplode(
',', $record[
't1_allowed_groups'],
true);
718 foreach ($grList as $group) {
720 if (is_array($checkGroup)) {
721 $selected = GeneralUtility::inList($vars[
'usergroup'], $checkGroup[
'uid']) ?
' selected="selected" ' :
'';
722 $content .=
'<option ' . $selected .
'value="' . (int)$checkGroup[
'uid'] .
'">' . htmlspecialchars($checkGroup[
'title']) .
'</option>';
736 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
737 $link = (string)$uriBuilder->buildUriFromRoute(
740 'edit[' . $record[
't3_tables'] .
'][' . (
int)$record[
't3_listPid'] .
']' =>
'new',
757 $dbAnalysis = GeneralUtility::makeInstance(\
TYPO3\CMS\Core\Database\RelationHandler::class);
758 $dbAnalysis->setFetchAllFields(
true);
759 $dbAnalysis->start($record[
't4_recordsToEdit'],
'*');
760 $dbAnalysis->getFromDB();
762 foreach ($dbAnalysis->itemArray as $el) {
772 if (isset($record[
'crdate'])) {
776 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
777 $link = (string)$uriBuilder->buildUriFromRoute(
780 'edit[' . $el[
'table'] .
'][' . $el[
'id'] .
']' =>
'edit',
781 'returnUrl' => $this->moduleUrl
784 $actionList[$el[
'id']] = [
785 'uid' =>
'record-' . $el[
'table'] .
'-' . $el[
'id'],
788 'descriptionHtml' => $description,
790 'icon' =>
'<span title="' . htmlspecialchars($path) .
'">' . $this->iconFactory->getIconForRecord($el[
'table'], $dbAnalysis->results[$el[
'table']][$el[
'id']],
Icon::SIZE_SMALL)->render() .
'</span>'
794 $content .= $this->taskObject->renderListMenu($actionList);
807 if (\
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded(
'lowlevel')) {
808 $sql_query = unserialize($record[
't2_data']);
809 if (!is_array($sql_query) || is_array($sql_query) && stripos(trim($sql_query[
'qSelect']),
'SELECT') === 0) {
811 $type = $sql_query[
'qC'][
'search_query_makeQuery'];
812 if ($sql_query[
'qC'][
'labels_noprefix'] ===
'on') {
813 $this->taskObject->MOD_SETTINGS[
'labels_noprefix'] =
'on';
815 $sqlQuery = $sql_query[
'qSelect'];
816 $queryIsEmpty =
false;
819 $dataRows = GeneralUtility::makeInstance(ConnectionPool::class)
820 ->getConnectionForTable($sql_query[
'qC'][
'queryTable'])
821 ->executeQuery($sqlQuery)->fetchAll();
823 $this->taskObject->MOD_SETTINGS[
'search_result_labels'] = $sql_query[
'qC'][
'search_result_labels'];
824 $this->taskObject->MOD_SETTINGS[
'queryFields'] = $sql_query[
'qC'][
'queryFields'];
826 $fullsearch = GeneralUtility::makeInstance(\
TYPO3\CMS\Core\Database\QueryView::class,
$GLOBALS[
'SOBE']->MOD_SETTINGS);
827 $fullsearch->noDownloadB = 1;
828 $fullsearch->formW = 48;
829 $cP = $fullsearch->getQueryResultCode($type, $dataRows, $sql_query[
'qC'][
'queryTable']);
830 $actionContent = $cP[
'content'];
832 if ($type ===
'csv' || $type ===
'xml') {
833 $actionContent .=
'<a href="' . htmlspecialchars(GeneralUtility::getIndpEnv(
'REQUEST_URI') .
'&download_file=1') .
'">'
834 .
'<strong>' . htmlspecialchars($this->
getLanguageService()->getLL(
'action_download_file')) .
'</strong></a>';
836 }
catch (DBALException $e) {
837 $actionContent .= $e->getMessage();
841 $queryIsEmpty =
true;
851 if (!$queryIsEmpty) {
852 $actionContent .=
'<div class="panel panel-default"><div class="panel-body"><pre>' . htmlspecialchars($sql_query[
'qSelect']) .
'</pre></div></div>';
855 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
856 $actionContent .=
'<a title="' . htmlspecialchars($this->
getLanguageService()->getLL(
'action_editQuery')) .
'" class="btn btn-default" href="'
857 . htmlspecialchars((
string)$uriBuilder->buildUriFromRoute(
'system_dbint')
858 .
'&id=' .
'&SET[function]=search' .
'&SET[search]=query'
859 .
'&storeControl[STORE]=-' . $record[
'uid'] .
'&storeControl[LOAD]=1')
863 :
'action_editQuery')) .
'</a>';
865 $content .=
'<h2>' . htmlspecialchars($this->
getLanguageService()->getLL(
'action_t2_result')) .
'</h2>' . $actionContent;
896 $this->
id = (int)$record[
't3_listPid'];
897 $this->table = $record[
't3_tables'];
898 if ($this->
id == 0) {
912 $access = is_array($this->pageinfo);
916 $dblist = GeneralUtility::makeInstance(\
TYPO3\CMS\SysAction\ActionList::class);
917 $dblist->script = GeneralUtility::getIndpEnv(
'REQUEST_URI');
918 $dblist->calcPerms = $this->
getBackendUser()->calcPerms($this->pageinfo);
920 $dblist->allFields = 1;
921 $dblist->showClipboard = 0;
922 $dblist->disableSingleTableView = 1;
923 $dblist->pageRow = $this->pageinfo;
925 $dblist->MOD_MENU = [
'bigControlPanel' =>
'',
'clipBoard' =>
''];
926 $dblist->modTSconfig = $this->taskObject->modTSconfig;
927 $dblist->dontShowClipControlPanels = (!$this->taskObject->MOD_SETTINGS[
'bigControlPanel'] && $dblist->clipObj->current ===
'normal' && !$this->modTSconfig[
'properties'][
'showClipControlPanelsDespiteOfCMlayers']);
930 $dblist->start($this->
id, $this->table, $this->pointer);
931 $dblist->setDispFields();
933 $dblist->generateList();
935 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
937 $this->taskObject->getModuleTemplate()->addJavaScriptCode(
938 'ActionTaskInlineJavascript',
941 function jumpExt(URL,anchor) {
942 var anc = anchor?anchor:"";
943 window.location.href = URL+(T3_THIS_LOCATION?"&returnUrl="+T3_THIS_LOCATION:"")+anc;
946 function jumpSelf(URL) {
947 window.location.href = URL+(T3_RETURN_URL?"&returnUrl="+T3_RETURN_URL:"");
951 function setHighlight(id) {
952 top.fsMod.recentIds["web"] = id;
953 top.fsMod.navFrameHighlightedID["web"] = top.fsMod.currentBank + "_" + id; // For highlighting
955 if (top.nav_frame && top.nav_frame.refresh_nav) {
956 top.nav_frame.refresh_nav();
960 ' . $dblist->CBfunctions() .
'
961 function editRecords(table,idList,addParams,CBflag) {
962 var recordEditUrl = ' . GeneralUtility::quoteJSvalue($uriBuilder->buildUriFromRoute(
'record_edit', [
'returnUrl' => GeneralUtility::getIndpEnv(
'REQUEST_URI')])) .
';
963 window.location.href = recordEditUrl + "&edit[" + table + "][" + idList + "]=edit" + addParams;
965 function editList(table,idList) {
968 // Checking how many is checked, how many is not
970 var pos = idList.indexOf(",");
972 if (cbValue(table+"|"+idList.substr(pointer,pos-pointer))) {
973 list+=idList.substr(pointer,pos-pointer)+",";
976 pos = idList.indexOf(",",pointer);
978 if (cbValue(table+"|"+idList.substr(pointer))) {
979 list+=idList.substr(pointer)+",";
982 return list ? list : idList;
984 T3_THIS_LOCATION = ' . GeneralUtility::quoteJSvalue(rawurlencode(GeneralUtility::getIndpEnv(
'REQUEST_URI'))) .
';
986 if (top.fsMod) top.fsMod.recentIds["web"] = ' . (
int)$this->
id .
';
990 $this->taskObject->getModuleTemplate()->getPageRenderer()->loadRequireJsModule(
'TYPO3/CMS/Backend/ContextMenu');
991 $this->taskObject->getModuleTemplate()->getPageRenderer()->loadRequireJsModule(
'TYPO3/CMS/Backend/AjaxDataHandler');
993 $content .=
'<form action="' . htmlspecialchars($dblist->listURL()) .
'" method="post" name="dblistForm">' . $dblist->HTMLcode .
'<input type="hidden" name="cmd_table" /><input type="hidden" name="cmd" /></form>';
996 if ($dblist->HTMLcode && $dblist->table) {
997 $content .= $dblist->fieldSelectBox($dblist->table);
1020 $flashMessage = GeneralUtility::makeInstance(FlashMessage::class, $message, $title, $severity);
1021 $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
1022 $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
1023 $defaultFlashMessageQueue->enqueue($flashMessage);
1033 $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
1034 $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
1035 return $defaultFlashMessageQueue->renderFlashMessages();