diff --git a/contrib/plugins/banner.js b/contrib/plugins/banner.js index 701ff3cb..332a6822 100644 --- a/contrib/plugins/banner.js +++ b/contrib/plugins/banner.js @@ -1,8 +1,8 @@ (function() { // usage: copy this to '.banner.js' in your webroot, -// and run copyparty with the following argument: -// --body-foot '' +// and run copyparty with the following arguments: +// --js-browser /.banner.js --js-other /.banner.js diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 3c6fa79a..7ee15ba7 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -1618,7 +1618,12 @@ var LANGS = ["eng", "nor", "chi"]; if (window.langmod) langmod(); -var L = Ls[sread("cpp_lang", LANGS) || lang] || Ls.eng || Ls.nor || Ls.chi; +for (var a = LANGS.length; a > 0;) + if (!Ls[LANGS[--a]]) + LANGS.splice(a, 1); + +var L = Ls[sread("cpp_lang", LANGS) || lang] || + Ls.eng || Ls.nor || Ls.chi; for (var a = 0; a < LANGS.length; a++) { for (var b = a + 1; b < LANGS.length; b++) { diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 9055ca43..cba8120c 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -81,12 +81,11 @@ var Ls = { } }; -var LANGS = ["eng", "nor", "chi"]; - if (window.langmod) langmod(); -var d = Ls[sread("cpp_lang", LANGS) || lang] || Ls.eng || Ls.nor || Ls.chi; +var d = Ls[sread("cpp_lang", Object.keys(Ls)) || lang] || + Ls.eng || Ls.nor || Ls.chi; for (var k in (d || {})) { var f = k.slice(-1), diff --git a/scripts/make-sfx.sh b/scripts/make-sfx.sh index 7b79573a..b9b816f0 100755 --- a/scripts/make-sfx.sh +++ b/scripts/make-sfx.sh @@ -3,6 +3,7 @@ set -e echo berr() { p=$(head -c 72 copyparty/web/mde.html @@ -451,11 +462,16 @@ rm -f ftp/pyftpdlib/{__main__,prefork}.py ised 's/(cursor: ?)url\([^)]+\), ?(pointer)/\1\2/; s/[0-9]+% \{cursor:[^}]+\}//; s/animation: ?cursor[^};]+//' $f } -[ $langs ] && +[ $langs ] && { + echo $langs | grep -q eng || { + langs="eng|$langs" + aerr "ERROR: removing english is not supported; will do this instead: $langs" + } for f in copyparty/web/{browser.js,splash.js}; do gzip -d "$f.gz" || true - iawk '/^\}/{l=0} !l; /^var Ls =/{l=1;next} o; /^\t["}]/{o=0} /^\t"'"$langs"'"/{o=1;print}' $f + iawk '/^\}/{l=0} !l; /^var Ls =/{l=1;next} !l{next} o; /^\t["}]/{o=0} /^\t"'"$langs"'"/{o=1;print}' $f done +} [ ! $repack ] && { # uncomment diff --git a/scripts/rls.sh b/scripts/rls.sh index 32023803..ac6b2b7d 100755 --- a/scripts/rls.sh +++ b/scripts/rls.sh @@ -1,6 +1,8 @@ #!/bin/bash set -e +# if specified, keep the following sfx flags last: gz gzz fast + parallel=1 [ -e make-sfx.sh ] || cd scripts @@ -35,6 +37,14 @@ f=../dist/copyparty-sfx $f$s.py --version >/dev/null +while [ "$1" ]; do + case "$1" in + gz*) break;; + fast) break;; + esac + shift +done + [ $parallel -gt 1 ] && { printf '\033[%s' s 2r H "0;1;37;44mbruteforcing sfx size -- press enter to terminate" K u "7m $* " K $'27m\n' trap "rm -f .sfx-run; printf '\033[%s' s r u" INT TERM EXIT