forked from T3Voila/templavoilaplus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathext_tables.php
169 lines (153 loc) · 7.45 KB
/
ext_tables.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<?php
defined('TYPO3_MODE') or die();
if (TYPO3_MODE === 'BE') {
//if (version_compare(TYPO3_version, '8.6.0', '>=')) {
$GLOBALS['TYPO3_CONF_VARS']['BE']['ContextMenu']['ItemProviders']['templavoilaplus']
= \Ppi\TemplaVoilaPlus\ContextMenu\ItemProvider::class;
/*} else {
// Adding click menu item:
$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses'][] = [
'name' => \Ppi\TemplaVoilaPlus\Service\ClickMenu\MainClickMenu::class
];
}*/
$GLOBALS['TBE_MODULES_EXT']['xMOD_db_new_content_el']['addElClasses'][\Ppi\TemplaVoilaPlus\Hooks\WizardItems::class]
= \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('templavoilaplus') . 'Classes/Hooks/WizardItems.php';
// Adding backend modules:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule(
'web',
'txtemplavoilaplusLayout',
'top',
'',
[
'access' => 'user,group',
'icon' => 'EXT:templavoilaplus/Resources/Public/Icon/Modules/PageModuleIcon.svg',
'labels' => 'LLL:EXT:templavoilaplus/Resources/Private/Language/BackendLayout.xlf',
'configureModuleFunction' => [\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::class, 'configureModule'],
'name' => 'web_txtemplavoilaplusLayout',
'extensionName' => 'templavoilaplus',
'navigationComponentId' => 'typo3-pagetree',
'routeTarget' => \Ppi\TemplaVoilaPlus\Controller\BackendLayoutController::class . '::mainAction',
]
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule(
'web',
'txtemplavoilaplusCenter',
'',
'',
[
'access' => 'user,group',
'icon' => 'EXT:templavoilaplus/Resources/Public/Icon/Modules/AdministrationModuleIcon.svg',
'labels' => 'LLL:EXT:templavoilaplus/Resources/Private/Language/BackendControlCenter.xlf',
'configureModuleFunction' => [\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::class, 'configureModule'],
'name' => 'web_txtemplavoilaplusCenter',
'extensionName' => 'templavoilaplus',
'routeTarget' => \Ppi\TemplaVoilaPlus\Controller\BackendControlCenterController::class . '::mainAction',
]
);
$_EXTCONF = $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['templavoilaplus'];
// Remove default Page module (layout) manually if wanted:
if (!$_EXTCONF['enable']['oldPageModule']) {
$tmp = $GLOBALS['TBE_MODULES']['web'];
$GLOBALS['TBE_MODULES']['web'] = str_replace(',,', ',', str_replace('layout', '', $tmp));
unset ($GLOBALS['TBE_MODULES']['_PATHS']['web_layout']);
}
// Registering CSH:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'be_groups',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_begr.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'pages',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_pages.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'tt_content',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_ttc.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'tx_templavoilaplus_datastructure',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_ds.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'tx_templavoilaplus_tmplobj',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_to.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'xMOD_tx_templavoilaplus',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_module.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'xEXT_templavoila',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_intro.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'_MOD_web_txtemplavoilaplusLayout',
'EXT:templavoilaplus/Resources/Private/Language/locallang_csh_pm.xlf'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
'web_func',
'Ppi\\TemplaVoilaPlus\Controller\\ReferenceElementWizardController',
NULL,
'LLL:EXT:templavoilaplus/Resources/Private/Language/locallang.xlf:wiz_refElements'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
'web_func',
'Ppi\\TemplaVoilaPlus\Controller\\RenameFieldInPageFlexWizardController',
NULL,
'LLL:EXT:templavoilaplus/Resources/Private/Language/locallang.xlf:wiz_renameFieldsInPage'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('_MOD_web_func', 'EXT:wizard_crpages/locallang_csh.xlf');
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_templavoilaplus_datastructure');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_templavoilaplus_tmplobj');
// complex condition to make sure the icons are available during frontend editing...
if (
TYPO3_MODE === 'BE' ||
(
TYPO3_MODE === 'FE'
&& isset($GLOBALS['BE_USER'])
&& method_exists($GLOBALS['BE_USER'], 'isFrontendEditingActive')
&& $GLOBALS['BE_USER']->isFrontendEditingActive()
)
) {
$iconsBitmap = [
'paste' => 'EXT:templavoilaplus/Resources/Public/Icon/clip_pasteafter.gif',
'pasteSubRef' => 'EXT:templavoilaplus/Resources/Public/Icon/clip_pastesubref.gif',
'makelocalcopy' => 'EXT:templavoilaplus/Resources/Public/Icon/makelocalcopy.gif',
'clip_ref' => 'EXT:templavoilaplus/Resources/Public/Icon/clip_ref.gif',
'clip_ref-release' => 'EXT:templavoilaplus/Resources/Public/Icon/clip_ref_h.gif',
'htmlvalidate' => 'EXT:templavoilaplus/Resources/Public/Icon/html_go.png',
'type-fce' => 'EXT:templavoilaplus/Resources/Public/Icon/icon_fce_ce.png',
];
$iconsSvg = [
'template-default' => 'EXT:templavoilaplus/Resources/Public/Icons/TemplateDefault.svg',
'datastructure-default' => 'EXT:templavoilaplus/Resources/Public/Icons/DataStructureDefault.svg',
'folder' => 'EXT:templavoilaplus/Resources/Public/Icons/Folder.svg',
'menu-item' => 'EXT:templavoilaplus/Resources/Public/Icons/MenuItem.svg',
];
$iconsFontAwesome = [
'unlink' => 'unlink',
];
$iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class);
foreach ($iconsBitmap as $identifier => $file) {
$iconRegistry->registerIcon(
'extensions-templavoila-' . $identifier,
\TYPO3\CMS\Core\Imaging\IconProvider\BitmapIconProvider::class,
['source' => $file]
);
}
foreach ($iconsSvg as $identifier => $file) {
$iconRegistry->registerIcon(
'extensions-templavoila-' . $identifier,
\TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
['source' => $file]
);
}
foreach ($iconsFontAwesome as $identifier => $name) {
$iconRegistry->registerIcon(
'extensions-templavoila-' . $identifier,
\TYPO3\CMS\Core\Imaging\IconProvider\FontawesomeIconProvider::class,
['name' => $name]
);
}
}