Merge pull request #3072 from tinect/deliverCSSandJSfiles
deliver CSS and JS as external requestmaster
commit
de8cfbde03
|
@ -32,7 +32,7 @@
|
||||||
gzip_buffers 16 8k;
|
gzip_buffers 16 8k;
|
||||||
gzip_http_version 1.1;
|
gzip_http_version 1.1;
|
||||||
gzip_min_length 256;
|
gzip_min_length 256;
|
||||||
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
|
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
|
||||||
|
|
||||||
location ~ ^/(fonts|js|css|img)/ {
|
location ~ ^/(fonts|js|css|img)/ {
|
||||||
expires max;
|
expires max;
|
||||||
|
@ -205,3 +205,7 @@
|
||||||
location @awaitingupstream {
|
location @awaitingupstream {
|
||||||
rewrite ^(.*)$ /_status.502.html break;
|
rewrite ^(.*)$ /_status.502.html break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
location ~ ^/cache/(.*)$ {
|
||||||
|
try_files $uri $uri/ /resource.php?file=$1;
|
||||||
|
}
|
||||||
|
|
|
@ -3,15 +3,16 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/modals/footer.php';
|
||||||
logger();
|
logger();
|
||||||
?>
|
?>
|
||||||
<div style="margin-bottom: 100px;"></div>
|
<div style="margin-bottom: 100px;"></div>
|
||||||
<script type='text/javascript'><?php
|
|
||||||
$JSPath = '/tmp/' . $js_minifier->getDataHash() . '.js';
|
<?php
|
||||||
if(file_exists($JSPath)) {
|
$hash = $js_minifier->getDataHash();
|
||||||
echo file_get_contents($JSPath);
|
$JSPath = '/tmp/' . $hash . '.js';
|
||||||
} else {
|
if(!file_exists($JSPath)) {
|
||||||
echo $js_minifier->minify($JSPath);
|
$js_minifier->minify($JSPath);
|
||||||
cleanupJS($js_minifier->getDataHash());
|
cleanupJS($hash);
|
||||||
}
|
}
|
||||||
?></script>
|
?>
|
||||||
|
<script src="/cache/<?=basename($JSPath)?>"></script>
|
||||||
<script>
|
<script>
|
||||||
<?php
|
<?php
|
||||||
$lang_footer = json_encode($lang['footer']);
|
$lang_footer = json_encode($lang['footer']);
|
||||||
|
|
|
@ -29,16 +29,15 @@
|
||||||
if ($_SERVER['REQUEST_URI'] == '/') {
|
if ($_SERVER['REQUEST_URI'] == '/') {
|
||||||
$css_minifier->add('/web/css/site/index.css');
|
$css_minifier->add('/web/css/site/index.css');
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
<style><?php
|
$hash = $css_minifier->getDataHash();
|
||||||
$CSSPath = '/tmp/' . $css_minifier->getDataHash() . '.css';
|
$CSSPath = '/tmp/' . $hash . '.css';
|
||||||
if(file_exists($CSSPath)) {
|
if(!file_exists($CSSPath)) {
|
||||||
echo file_get_contents($CSSPath);
|
$css_minifier->minify($CSSPath);
|
||||||
} else {
|
cleanupCSS($hash);
|
||||||
echo $css_minifier->minify($CSSPath);
|
|
||||||
cleanupCSS($css_minifier->getDataHash());
|
|
||||||
}
|
}
|
||||||
?></style>
|
?>
|
||||||
|
<link rel="stylesheet" href="/cache/<?=basename($CSSPath)?>">
|
||||||
<?php if (strtolower(trim($DEFAULT_THEME)) != "lumen"): ?>
|
<?php if (strtolower(trim($DEFAULT_THEME)) != "lumen"): ?>
|
||||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/<?= strtolower(trim($DEFAULT_THEME)); ?>/bootstrap.min.css">
|
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/<?= strtolower(trim($DEFAULT_THEME)); ?>/bootstrap.min.css">
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$pathinfo = pathinfo($_GET['file']);
|
||||||
|
$extension = strtolower($pathinfo['extension']);
|
||||||
|
|
||||||
|
$filepath = '/tmp/' . $pathinfo['basename'];
|
||||||
|
$content = '';
|
||||||
|
|
||||||
|
if (file_exists($filepath)) {
|
||||||
|
$secondsToCache = 31536000;
|
||||||
|
$expires = gmdate('D, d M Y H:i:s', time() + $secondsToCache) . ' GMT';
|
||||||
|
|
||||||
|
if ($extension === 'js') {
|
||||||
|
header('Content-Type: application/javascript');
|
||||||
|
} elseif ($extension === 'css') {
|
||||||
|
header('Content-Type: text/css');
|
||||||
|
} else {
|
||||||
|
//currently just css and js should be supported!
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
header("Expires: $expires");
|
||||||
|
header('Pragma: cache');
|
||||||
|
header('Cache-Control: max-age=' . $secondsToCache);
|
||||||
|
$content = file_get_contents($filepath);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $content;
|
Loading…
Reference in New Issue