Сжатие CSS кода в phpBB
07.07.2018 06:11:44 pm
Для phpBB 3.2.x потребовалось сжать CSS код подключаемых файлов от расширений, мне надо было создать сжатую копию каждого файла.css от всех расширений. Ни чего умнее я пока не придумал, как в файле: "phpbb/template/assets_bag.php", полностью переписать функцию "get_stylesheets_content" таким образом:
После правки функции, рядом с оригинальным файлом стиля появится сжатая копия, которая будет использоваться вместо оригинала.
После обновления движка, в случае замены всех файлов, правку компрессора придется повторить.
Будьте внимательны, функция сыровата.
Возможно, будет интересно:
- Компрессор CSS кода (Сжатие файлов на PHP)
- Сжатие JS кода в phpBB
public function get_stylesheets_content()
{
$output = '';
foreach ($this->stylesheets as $stylesheet)
{
$press_file = str_replace('.css', '_press.css', $stylesheet->get_url());
$file = explode('?', $press_file);
if (!file_exists($file[0]))
{
$url_css = explode('?', $stylesheet->get_url());
if (strpos($url_css[0], '..') !== false)
{
$url_css[0] = str_replace('../', '', $url_css[0]);
$file[0] = str_replace('../', '', $file[0]);
}
$code_css = file_get_contents($url_css[0]);
$code_css = str_replace(array("\n", "\t", ' '), '', $code_css);
$code_css = preg_replace('|/\*.*?\*/|', '', $code_css);
$code_css = preg_replace('|([,:;){}]) |', '$1', $code_css);
$code_css = preg_replace('| ([{])|', '$1', $code_css);
$fp = fopen($file[0], 'w');
fwrite($fp, $code_css);
fclose($fp);
}
$output .= '<link href="' . $press_file . '" rel="stylesheet" type="text/css" media="screen" />' . "\n";
}
return $output;
}
После правки функции, рядом с оригинальным файлом стиля появится сжатая копия, которая будет использоваться вместо оригинала.
После обновления движка, в случае замены всех файлов, правку компрессора придется повторить.
Будьте внимательны, функция сыровата.
Возможно, будет интересно:
- Компрессор CSS кода (Сжатие файлов на PHP)
- Сжатие JS кода в phpBB
- Жалоба