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;
+ }
+
?>
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");
}
}
- foreach (array("tt-rss", "functions", "feedlist", "viewfeed", "FeedTree") as $js) {
- if (!isset($_GET['debug'])) {
- echo JShrink\Minifier::minify(file_get_contents("js/$js.js"));
- } else {
- echo file_get_contents("js/$js.js");
- }
- }
+ print get_minified_js(array("tt-rss",
+ "functions", "feedlist", "viewfeed", "FeedTree"));
+
?>
</script>
}
}
- foreach (array("functions", "deprecated", "prefs") as $js) {
- if (!isset($_GET['debug'])) {
- echo JShrink\Minifier::minify(file_get_contents("js/$js.js"));
- } else {
- echo file_get_contents("js/$js.js");
- }
- }
+ print get_minified_js(array("functions", "deprecated", "prefs"));
+
?>
</script>