49 public function createModuleMenu() {
50 if (count($this->moduleMenu->getEntries()) === 0) {
67 foreach ($rawModuleData as
$module) {
68 $entry = $this->createEntryFromRawData($module);
69 if (isset($module[
'subitems']) && count($module[
'subitems']) > 0) {
70 foreach ($module[
'subitems'] as $subitem) {
71 $subEntry = $this->createEntryFromRawData($subitem);
72 $entry->addChild($subEntry);
75 $this->moduleMenu->attachEntry($entry);
85 protected function createEntryFromRawData(array
$module) {
88 if (!empty($module[
'name']) && is_string($module[
'name'])) {
89 $entry->setName($module[
'name']);
91 if (!empty($module[
'title']) && is_string($module[
'title'])) {
94 if (!empty($module[
'onclick']) && is_string($module[
'onclick'])) {
95 $entry->setOnClick($module[
'onclick']);
97 if (!empty($module[
'link']) && is_string($module[
'link'])) {
98 $entry->setLink($module[
'link']);
100 if (empty($module[
'link']) && !empty($module[
'path']) && is_string($module[
'path'])) {
101 $entry->setLink($module[
'path']);
103 if (!empty($module[
'description']) && is_string($module[
'description'])) {
104 $entry->setDescription($module[
'description']);
106 if (!empty($module[
'icon']) && is_array($module[
'icon'])) {
107 $entry->setIcon($module[
'icon']);
109 if (!empty($module[
'navigationComponentId']) && is_string($module[
'navigationComponentId'])) {
110 $entry->setNavigationComponentId($module[
'navigationComponentId']);
122 foreach (
$GLOBALS[
'TBE_MODULES_EXT'] as $mainModule => $tbeModuleExt) {
123 list($main) = explode(
'_', $mainModule);
124 $mainEntry = $this->moduleMenuRepository->findByModuleName($main);
125 if ($mainEntry !== FALSE) {
126 $subEntries = $mainEntry->getChildren();
127 if (count($subEntries) > 0) {
128 $matchingSubEntry = $this->moduleMenuRepository->findByModuleName($mainModule);
129 if ($matchingSubEntry !== FALSE) {
130 if (array_key_exists(
'MOD_MENU', $tbeModuleExt) && array_key_exists(
'function', $tbeModuleExt[
'MOD_MENU'])) {
131 foreach ($tbeModuleExt[
'MOD_MENU'][
'function'] as $subModule) {
132 $entry = $this->createEntryFromRawData($subModule);
133 $matchingSubEntry->addChild($entry);
createMenuEntriesForTbeModulesExt()
static makeInstance($className)
convertRawModuleDataToModuleMenuObject(array $rawModuleData)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]