add Config::LOCAL_OVERRIDE_JS

This commit is contained in:
Andrew Dolgov 2021-03-11 07:44:58 +03:00
parent 324aef9f6f
commit 27ab16b6dc
6 changed files with 22 additions and 13 deletions

View File

@ -98,7 +98,10 @@ class Config {
// available options: sql (default, event log), syslog, stdout (for debugging) // available options: sql (default, event log), syslog, stdout (for debugging)
const LOCAL_OVERRIDE_STYLESHEET = "LOCAL_OVERRIDE_STYLESHEET"; const LOCAL_OVERRIDE_STYLESHEET = "LOCAL_OVERRIDE_STYLESHEET";
// link this stylesheet on all pages // link this stylesheet on all pages (if it exists), should be placed in themes.local
const LOCAL_OVERRIDE_JS = "LOCAL_OVERRIDE_JS";
// same but this javascript file (you can use that for polyfills), should be placed in themes.local
const DAEMON_MAX_CHILD_RUNTIME = "DAEMON_MAX_CHILD_RUNTIME"; const DAEMON_MAX_CHILD_RUNTIME = "DAEMON_MAX_CHILD_RUNTIME";
// in seconds, terminate update tasks that ran longer than this interval // in seconds, terminate update tasks that ran longer than this interval
@ -194,6 +197,8 @@ class Config {
Config::LOG_DESTINATION => [ Logger::LOG_DEST_SQL, Config::T_STRING ], Config::LOG_DESTINATION => [ Logger::LOG_DEST_SQL, Config::T_STRING ],
Config::LOCAL_OVERRIDE_STYLESHEET => [ "local-overrides.css", Config::LOCAL_OVERRIDE_STYLESHEET => [ "local-overrides.css",
Config::T_STRING ], Config::T_STRING ],
Config::LOCAL_OVERRIDE_JS => [ "local-overrides.js",
Config::T_STRING ],
Config::DAEMON_MAX_CHILD_RUNTIME => [ 1800, Config::T_INT ], Config::DAEMON_MAX_CHILD_RUNTIME => [ 1800, Config::T_INT ],
Config::DAEMON_MAX_JOBS => [ 2, Config::T_INT ], Config::DAEMON_MAX_JOBS => [ 2, Config::T_INT ],
Config::FEED_FETCH_TIMEOUT => [ 45, Config::T_INT ], Config::FEED_FETCH_TIMEOUT => [ 45, Config::T_INT ],
@ -610,4 +615,14 @@ class Config {
private static function format_error($msg) { private static function format_error($msg) {
return "<div class=\"alert alert-danger\">$msg</div>"; return "<div class=\"alert alert-danger\">$msg</div>";
} }
static function get_override_links() {
$rv = "";
$local_css = get_theme_path(self::get(self::LOCAL_OVERRIDE_STYLESHEET));
if ($local_css) $rv .= stylesheet_tag($local_css);
$local_js = get_theme_path(self::get(self::LOCAL_OVERRIDE_JS));
if ($local_js) $rv .= javascript_tag($local_js);
}
} }

View File

@ -638,9 +638,7 @@ class Handler_Public extends Handler {
} ?> } ?>
<?php if (theme_exists(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET))) { <?= Config::get_override_links() ?>
echo stylesheet_tag(get_theme_path(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET)));
} ?>
<style type="text/css"> <style type="text/css">
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {

View File

@ -420,6 +420,8 @@
$check = "themes.local/$theme"; $check = "themes.local/$theme";
if (file_exists($check)) return $check; if (file_exists($check)) return $check;
return "";
} }
function theme_exists($theme) { function theme_exists($theme) {

View File

@ -15,9 +15,7 @@
} ?> } ?>
<?php if (theme_exists(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET))) { <?= Config::get_override_links() ?>
echo stylesheet_tag(get_theme_path(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET)));
} ?>
<style type="text/css"> <style type="text/css">
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {

View File

@ -35,9 +35,7 @@
} }
} ?> } ?>
<?php if (theme_exists(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET))) { <?= Config::get_override_links() ?>
echo stylesheet_tag(get_theme_path(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET)));
} ?>
<script type="text/javascript"> <script type="text/javascript">
const __csrf_token = "<?= $_SESSION["csrf_token"]; ?>"; const __csrf_token = "<?= $_SESSION["csrf_token"]; ?>";

View File

@ -27,9 +27,7 @@
} }
} ?> } ?>
<?php if (theme_exists(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET))) { <?= Config::get_override_links() ?>
echo stylesheet_tag(get_theme_path(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET)));
} ?>
<script type="text/javascript"> <script type="text/javascript">
const __csrf_token = "<?= $_SESSION["csrf_token"]; ?>"; const __csrf_token = "<?= $_SESSION["csrf_token"]; ?>";