This repository has been archived by the owner on May 4, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathext_tables.php
114 lines (107 loc) · 4.91 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
<?php
defined('TYPO3_MODE') || die();
$boot = function ($_EXTKEY) {
// Register additional sprite icons
$icons = [
'cloudflare' => 'EXT:' . $_EXTKEY . '/Resources/Public/Icons/cloudflare-16.png',
'direct' => 'EXT:' . $_EXTKEY . '/Resources/Public/Icons/direct-16.png',
'offline' => 'EXT:' . $_EXTKEY . '/Resources/Public/Icons/offline-16.png',
'online' => 'EXT:' . $_EXTKEY . '/Resources/Public/Icons/online-16.png',
'module' => 'EXT:' . $_EXTKEY . '/Resources/Public/Icons/module-cloudflare.png',
];
if (version_compare(TYPO3_version, '7.6', '>=')) {
/** @var \TYPO3\CMS\Core\Imaging\IconRegistry $iconRegistry */
$iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Imaging\\IconRegistry');
foreach ($icons as $key => $icon) {
$iconRegistry->registerIcon('extensions-' . $_EXTKEY . '-' . $key,
'TYPO3\\CMS\\Core\\Imaging\\IconProvider\\BitmapIconProvider',
[
'source' => $icon
]
);
}
unset($iconRegistry);
} else {
$extensionRelativePath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY);
$icons = array_map(
function ($e) use ($_EXTKEY, $extensionRelativePath) {
return str_replace('EXT:' . $_EXTKEY . '/', $extensionRelativePath, $e);
},
$icons
);
\TYPO3\CMS\Backend\Sprite\SpriteManager::addSingleIcons($icons, $_EXTKEY);
}
// Register our custom CSS
$GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['stylesheetDirectories']['visual'] = 'EXT:' . $_EXTKEY . '/Resources/Public/Css/visual/';
if (TYPO3_MODE === 'BE') {
if (version_compare(TYPO3_version, '6.99.99', '<=')) {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerExtDirectComponent(
'TYPO3.Ajax.ExtDirect.CloudflareToolbarMenu',
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/ExtDirect/ToolbarMenu.php:Causal\\Cloudflare\\ExtDirect\\ToolbarMenu',
null,
'admin'
);
// Register AJAX calls
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler(
'TxCloudflare::purge',
'Causal\\Cloudflare\\ExtDirect\\ToolbarMenu->purge'
);
} else {
// Register AJAX calls
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler(
'TxCloudflare::renderMenu',
'Causal\\Cloudflare\\Backend\\ToolbarItems\\CloudflareToolbarItem->renderAjax'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler(
'TxCloudflare::toggleDevelopmentMode',
'Causal\\Cloudflare\\Backend\\ToolbarItems\\CloudflareToolbarItem->toggleDevelopmentMode'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler(
'TxCloudflare::purge',
'Causal\\Cloudflare\\Backend\\ToolbarItems\\CloudflareToolbarItem->purge'
);
}
// Create a module section "Cloudflare" before 'Admin Tools'
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule(
'txcloudflare', // main module key
'', // submodule key
'', // position
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Modules/Cloudflare/'
);
$temp_TBE_MODULES = [];
foreach ($GLOBALS['TBE_MODULES'] as $key => $val) {
if ($key === 'tools') {
$temp_TBE_MODULES['txcloudflare'] = '';
$temp_TBE_MODULES[$key] = $val;
} else {
$temp_TBE_MODULES[$key] = $val;
}
}
$GLOBALS['TBE_MODULES'] = $temp_TBE_MODULES;
$GLOBALS['TBE_MODULES']['_configuration']['txcloudflare'] = [
'labels' => 'LLL:EXT:cloudflare/Resources/Private/Language/locallang_mod_cloudflare.xlf',
'iconIdentifier' => 'extensions-cloudflare-module',
];
if (version_compare(TYPO3_version, '6.99.99', '<=')) {
$moduleIcon = 'ext_icon.png';
} else {
$moduleIcon = 'Resources/Public/Icons/module-analytics.png';
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
'Causal.' . $_EXTKEY,
'txcloudflare',
'analytics',
'',
[
'Dashboard' => 'analytics, ajaxAnalytics',
],
[
'access' => 'user,group',
'icon' => 'EXT:' . $_EXTKEY . '/' . $moduleIcon,
'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_mod_analytics.xlf',
]
);
}
};
$boot($_EXTKEY);
unset($boot);