Skip to content

Commit c60c6a8

Browse files
committed
OnBeforeMinifyCss
1 parent 81c160e commit c60c6a8

2 files changed

Lines changed: 30 additions & 12 deletions

File tree

install/setup.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,6 +1102,7 @@ REPLACE INTO `{PREFIX}system_eventnames`
11021102
('214','OnManagerMenuPrerender','2',''),
11031103
('215','OnManagerTopPrerender','2',''),
11041104
('224','OnDocFormTemplateRender','1','Documents'),
1105+
('225','OnBeforeMinifyCss', '1', ''),
11051106
('999','OnPageUnauthorized','1',''),
11061107
('1000','OnPageNotFound','1',''),
11071108
('1001','OnFileBrowserUpload','1','File Browser Events');

manager/includes/header.inc.php

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,36 @@
3030
if ($modx->config['manager_theme'] == 'default') {
3131
if (!file_exists(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/styles.min.css')
3232
&& is_writable(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css')) {
33+
$files = array(
34+
'bootstrap' => MODX_MANAGER_PATH . 'media/style/common/bootstrap/css/bootstrap.min.css',
35+
'font-awesome' => MODX_MANAGER_PATH . 'media/style/common/font-awesome/css/font-awesome.min.css',
36+
'fonts' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/fonts.css',
37+
'forms' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/forms.css',
38+
'mainmenu' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/mainmenu.css',
39+
'tree' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/tree.css',
40+
'custom' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/custom.css',
41+
'tabpane' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/tabpane.css',
42+
'contextmenu' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/contextmenu.css',
43+
'index' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/index.css',
44+
'main' => MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/main.css'
45+
);
46+
$evtOut = $modx->invokeEvent('OnBeforeMinifyCss', array(
47+
'files' => $files,
48+
'source' => 'manager',
49+
'theme' => $modx->config['manager_theme']
50+
));
51+
switch (true) {
52+
case empty($evtOut):
53+
case is_array($evtOut) && count($evtOut) === 0:
54+
break;
55+
case is_array($evtOut) && count($evtOut) === 1:
56+
$files = $evtOut[0];
57+
break;
58+
default:
59+
$modx->webAlertAndQuit(sprintf($_lang['invalid_event_response'], 'OnBeforeMinifyManagerCss'));
60+
}
3361
require_once MODX_BASE_PATH . 'assets/lib/Formatter/CSSMinify.php';
34-
$minifier = new Formatter\CSSMinify();
35-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/common/bootstrap/css/bootstrap.min.css');
36-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/common/font-awesome/css/font-awesome.min.css');
37-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/fonts.css');
38-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/forms.css');
39-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/mainmenu.css');
40-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/tree.css');
41-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/custom.css');
42-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/tabpane.css');
43-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/contextmenu.css');
44-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/index.css');
45-
$minifier->addFile(MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/main.css');
62+
$minifier = new Formatter\CSSMinify($files);
4663
$css = $minifier->minify();
4764
file_put_contents(
4865
MODX_MANAGER_PATH . 'media/style/' . $modx->config['manager_theme'] . '/css/styles.min.css',

0 commit comments

Comments
 (0)