summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/cleandb.sh2
-rwxr-xr-xbin/cssshrink.sh62
-rwxr-xr-xbin/jsshrink.sh38
-rwxr-xr-xbin/jsunshrink.sh14
-rwxr-xr-xbin/transifexpull.sh38
5 files changed, 124 insertions, 30 deletions
diff --git a/bin/cleandb.sh b/bin/cleandb.sh
index ea905c873..3a3c2572e 100755
--- a/bin/cleandb.sh
+++ b/bin/cleandb.sh
@@ -48,7 +48,7 @@ $threshold = date('Y-m-d 00:00:00', time() - $days * 86400);
foreach (array('contacts','contactgroups','identities') as $table) {
- $sqltable = get_table_name($table);
+ $sqltable = $db->table_name($table);
// also delete linked records
// could be skipped for databases which respect foreign key constraints
diff --git a/bin/cssshrink.sh b/bin/cssshrink.sh
new file mode 100755
index 000000000..604a0467c
--- /dev/null
+++ b/bin/cssshrink.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+PWD=`dirname "$0"`
+JAR_DIR='/tmp'
+VERSION='2.4.8'
+COMPILER_URL="https://github.com/yui/yuicompressor/releases/download/v${VERSION}/yuicompressor-${VERSION}.zip"
+
+do_shrink() {
+ rm -f "$2"
+ java -jar $JAR_DIR/yuicompressor.jar -v -o "$2" "$1"
+}
+
+if [ ! -w "$JAR_DIR" ]; then
+ JAR_DIR=$PWD
+fi
+
+if java -version >/dev/null 2>&1; then
+ :
+else
+ echo "Java not found. Please ensure that the 'java' program is in your PATH."
+ exit 1
+fi
+
+if [ ! -r "$JAR_DIR/yuicompressor.jar" ]; then
+ if which wget >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then
+ wget "$COMPILER_URL" -O "/tmp/$$.zip"
+ elif which curl >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then
+ curl "$COMPILER_URL" -o "/tmp/$$.zip"
+ else
+ echo "Please download $COMPILER_URL and extract compiler.jar to $JAR_DIR/."
+ exit 1
+ fi
+ (cd $JAR_DIR && unzip "/tmp/$$.zip" && mv "yuicompressor-${VERSION}.jar" "yuicompressor.jar")
+ rm -f "/tmp/$$.zip"
+fi
+
+# compress single file from argument
+if [ $# -gt 0 ]; then
+ CSS_FILE="$1"
+
+ echo "Shrinking $CSS_FILE"
+ minfile=`echo $CSS_FILE | sed -e 's/\.css$/\.min\.css/'`
+ do_shrink "$CSS_FILE" "$minfile"
+ exit
+fi
+
+DIRS="$PWD/../skins/* $PWD/../plugins/* $PWD/../plugins/*/skins/*"
+# default: compress application scripts
+for dir in $DIRS; do
+ for file in $dir/*.css; do
+ echo "$file" | grep -e '.min.css$' >/dev/null
+ if [ $? -eq 0 ]; then
+ continue
+ fi
+ if [ ! -f "$file" ]; then
+ continue
+ fi
+
+ echo "Shrinking $file"
+ minfile=`echo $file | sed -e 's/\.css$/\.min\.css/'`
+ do_shrink "$file" "$minfile"
+ done
+done
diff --git a/bin/jsshrink.sh b/bin/jsshrink.sh
index c79f90405..f7c7b22e9 100755
--- a/bin/jsshrink.sh
+++ b/bin/jsshrink.sh
@@ -1,8 +1,11 @@
#!/bin/sh
-JS_DIR=`dirname "$0"`/../program/js
+PWD=`dirname "$0"`
+JS_DIR="$PWD/../program/js"
JAR_DIR='/tmp'
LANG_IN='ECMASCRIPT3'
-CLOSURE_COMPILER_URL='http://closure-compiler.googlecode.com/files/compiler-latest.zip'
+# latest version requires Java 7, we'll use an older one
+#CLOSURE_COMPILER_URL='http://dl.google.com/closure-compiler/compiler-latest.zip'
+CLOSURE_COMPILER_URL='http://dl.google.com/closure-compiler/compiler-20131014.zip'
do_shrink() {
rm -f "$2"
@@ -15,7 +18,7 @@ if [ ! -d "$JS_DIR" ]; then
fi
if [ ! -w "$JAR_DIR" ]; then
- JAR_DIR=`dirname "$0"`
+ JAR_DIR=$PWD
fi
if java -version >/dev/null 2>&1; then
@@ -47,21 +50,26 @@ if [ $# -gt 0 ]; then
LANG_IN="$2"
fi
- if [ ! -r "${JS_FILE}.src" ]; then
- mv "$JS_FILE" "${JS_FILE}.src"
- fi
echo "Shrinking $JS_FILE"
- do_shrink "${JS_FILE}.src" "$JS_FILE" "$LANG_IN"
+ minfile=`echo $JS_FILE | sed -e 's/\.js$/\.min\.js/'`
+ do_shrink "$JS_FILE" "$minfile" "$LANG_IN"
exit
fi
+DIRS="$PWD/../program/js $PWD/../skins/* $PWD/../plugins/* $PWD/../plugins/*/skins/*"
# default: compress application scripts
-for fn in app common googiespell list treelist; do
- if [ -r "$JS_DIR/${fn}.js.src" ]; then
- echo "$JS_DIR/${fn}.js.src already exists, not overwriting"
- else
- mv "$JS_DIR/${fn}.js" "$JS_DIR/${fn}.js.src"
- fi
- echo "Shrinking $JS_DIR/${fn}.js"
- do_shrink "$JS_DIR/${fn}.js.src" "$JS_DIR/${fn}.js" "$LANG_IN"
+for dir in $DIRS; do
+ for file in $dir/*.js; do
+ echo "$file" | grep -e '.min.js$' >/dev/null
+ if [ $? -eq 0 ]; then
+ continue
+ fi
+ if [ ! -f "$file" ]; then
+ continue
+ fi
+
+ echo "Shrinking $file"
+ minfile=`echo $file | sed -e 's/\.js$/\.min\.js/'`
+ do_shrink "$file" "$minfile" "$LANG_IN"
+ done
done
diff --git a/bin/jsunshrink.sh b/bin/jsunshrink.sh
deleted file mode 100755
index ef1bb47a1..000000000
--- a/bin/jsunshrink.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-JS_DIR=`dirname "$0"`/../program/js
-
-if [ ! -d "$JS_DIR" ]; then
- echo "Directory $JS_DIR not found."
- exit 1
-fi
-
-for fn in app common googiespell list treelist; do
- if [ -r "$JS_DIR/${fn}.js.src" ]; then
- mv "$JS_DIR/${fn}.js.src" "$JS_DIR/${fn}.js"
- echo "Reverted $JS_DIR/${fn}.js"
- fi
-done
diff --git a/bin/transifexpull.sh b/bin/transifexpull.sh
new file mode 100755
index 000000000..ba26a07f1
--- /dev/null
+++ b/bin/transifexpull.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# In 'translator' mode files will contain empty translated texts
+# where translation is not available, we'll remove these later
+
+# Note: there's a bug in txclib, so if the command below doesn't
+# work see https://github.com/transifex/transifex-client/commit/a80320735973dd608b48520bf3b89ad53e2b088b
+
+tx --debug pull -a --mode translator
+
+PWD=`dirname "$0"`
+
+do_clean()
+{
+ # do not cleanup en_US files
+ echo "$1" | grep -v en_US > /dev/null || return
+
+ echo "Cleaning $1"
+
+ # remove untranslated/empty texts
+ perl -pi -e "s/^\\\$labels\[[^]]+\]\s+=\s+'';\n//" $1
+ perl -pi -e "s/^\\\$messages\[[^]]+\]\s+=\s+'';\n//" $1
+ # remove variable initialization
+ perl -pi -e "s/^\\\$(labels|messages)\s*=\s*array\(\);\n//" $1
+ # remove (one-line) comments
+ perl -pi -e "s/^\\/\\/.*//" $1
+ # remove empty lines (but not in file header)
+ perl -ne 'print if ($. < 18 || length($_) > 1)' $1 > $1.tmp
+ mv $1.tmp $1
+}
+
+# clean up translation files
+for file in $PWD/../program/localization/*/*.inc; do
+ do_clean $file
+done
+for file in $PWD/../plugins/*/localization/*.inc; do
+ do_clean $file
+done