From f5b53ee83d83d12d003bf9e2da76ea90e5c94210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Fri, 6 Oct 2006 09:02:46 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'QA_2_9'. --- scripts/lang-cleanup.sh | 76 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 scripts/lang-cleanup.sh diff --git a/scripts/lang-cleanup.sh b/scripts/lang-cleanup.sh new file mode 100755 index 000000000..d8688e9cd --- /dev/null +++ b/scripts/lang-cleanup.sh @@ -0,0 +1,76 @@ +#!/bin/sh +# +# $Id$ +# vim: expandtab sw=4 ts=4 sts=4: +# +# Script for removing language selection from phpMyAdmin + +if [ $# -lt 1 ] ; then + echo "Usage: lang-cleanup.sh type ..." + echo "Type can be one of:" + echo " all-languages - nothing will be done" + echo " all-languages-utf-8-only - non utf-8 languages will be deleted" + echo " language - keeps utf-8 version of language" + echo " language-charset - keeps this exact language" + echo + echo "Types can be entered multiple times, all matched languages will be kept" + exit 1 +fi + +# Construct expressions for find +match="" +for type in "$@" ; do + case $type in + all-languages) + match="$match -and -false" + ;; + all-languages-utf-8-only) + match="$match -and -not -name *-utf-8.inc.php" + ;; + *) + if [ -f lang/$type-utf-8.inc.php ] ; then + match="$match -and -not -name $type-utf-8.inc.php" + elif [ -f lang/$type.inc.php ] ; then + match="$match -and -not -name $type.inc.php" + else + echo "ERROR: $type seems to be wrong!" + exit 2 + fi + ;; + esac +done + +# Delete unvanted languages +find lang -name \*.inc.php $match -print0 | xargs -0r rm + +# Cleanup libraries/select_lang.lib.php + +# Find languages we have +langmatch="$(awk -F, \ + 'BEGIN { pr = 1 } ; + /^\);/ { pr = 1 } ; + {if(!pr) print $2;}; + /^\$available_languages/ { pr = 0 };' \ + libraries/select_lang.lib.php \ + | tr -d \' \ + | while read lng ; do if [ -f lang/$lng.inc.php ] ; then echo $lng ; fi ; done \ + | tr '\n' '|' \ + | sed 's/|$//' \ + )" + +# Prepare working copy +tmp=`mktemp libraries/select_lang.lib.php.XXXX` +cat libraries/select_lang.lib.php > $tmp + +# Remove languages we don't have +awk -F, \ + 'BEGIN { pr = 1 } ; + /^\);/ { pr = 1 } ; + {if(pr) print $0;}; + /'$langmatch'/ {if (!pr) print $0;}; + /^\$available_languages/ { pr = 0 };' \ + $tmp > libraries/select_lang.lib.php + +# Final cleanup +rm -f $tmp +