summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/functions.php28
-rw-r--r--include/sanity_check.php4
2 files changed, 32 insertions, 0 deletions
diff --git a/include/functions.php b/include/functions.php
index b43fda3a1..8c2ced801 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -3907,4 +3907,32 @@
return in_array($interface, class_implements($class));
}
+ function get_minified_js($files) {
+ require_once 'lib/jshrink/Minifier.php';
+
+ $rv = '';
+
+ foreach ($files as $js) {
+ if (!isset($_GET['debug'])) {
+ $cached_file = CACHE_DIR . "/js/$js.js";
+
+ if (file_exists($cached_file) &&
+ is_readable($cached_file) &&
+ filemtime($cached_file) >= filemtime("js/$js.js")) {
+
+ $rv .= file_get_contents($cached_file);
+
+ } else {
+ $minified = JShrink\Minifier::minify(file_get_contents("js/$js.js"));
+ file_put_contents($cached_file, $minified);
+ $rv .= $minified;
+ }
+ } else {
+ $rv .= file_get_contents("js/$js.js");
+ }
+ }
+
+ return $rv;
+ }
+
?>
diff --git a/include/sanity_check.php b/include/sanity_check.php
index fcf548705..4925486a3 100644
--- a/include/sanity_check.php
+++ b/include/sanity_check.php
@@ -36,6 +36,10 @@
array_push($errors, "Data export cache is not writable (chmod -R 777 ".CACHE_DIR."/export)");
}
+ if (!is_writable(CACHE_DIR . "/js")) {
+ array_push($errors, "Javascript cache is not writable (chmod -R 777 ".CACHE_DIR."/js)");
+ }
+
if (GENERATED_CONFIG_CHECK != EXPECTED_CONFIG_VERSION) {
array_push($errors,
"Configuration option checker sanity_config.php is outdated, please recreate it using ./utils/regen_config_checks.sh");