Bug 21897: Typo in postinst
[koha.git] / debian / scripts / koha-translate
index 0164a72..c7bd82c 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+# Read configuration variable file if it is present
+[ -r /etc/default/koha-common ] && . /etc/default/koha-common
 
 set -e
 
+# include helper functions
+if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then
+    . "/usr/share/koha/bin/koha-functions.sh"
+else
+    echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2
+    exit 1
+fi
+
 usage()
 {
     local scriptname=$(basename $0)
@@ -30,11 +40,11 @@ $scriptname
 This script lets you manage your Koha templates translations.
 
 Usage:
-$scriptname --list|-l [--available|-a]
-$scriptname --check|-c language_code
-$scriptname --install|-i language_code
-$scriptname --update|-u language_code
-$scriptname --remove|-r language_code
+$scriptname --list|-l [--available|-a]  [-d|--dev instance]
+$scriptname --check|-c language_code]   [-d|--dev instance]
+$scriptname --install|-i language_code] [-d|--dev instance]
+$scriptname --update|-u language_code]  [-d|--dev instance]
+$scriptname --remove|-r language_code]  [-d|--dev instance]
 $scriptname --help|-h
 
     -l | --list           List the installed or available (combined with -a)
@@ -46,16 +56,11 @@ $scriptname --help|-h
     -r | --remove         Remove the specified language translations
     -v | --verbose        Be more verbose on the translation process
     -h | --help           Display this help message
+    -d | --dev            Limit actions to a specific dev instance
 
 EOF
 }
 
-die()
-{
-    echo "$@" 1>&2
-    exit 1
-}
-
 list()
 {
     all=$1
@@ -70,16 +75,18 @@ list()
 print_available()
 {
     # Loop over only one opac theme
-    for i in $( ls $PO_DIR | grep opac-t-prog ); do
-        echo `basename $i -i-opac-t-prog-v-3006000.po` | \
+    for i in $( ls $PO_DIR | grep opac-bootstrap ); do
+        echo `basename $i -opac-bootstrap.po` | \
             grep -v -x -e en
     done
 }
 
 print_installed()
 {
-    ls $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/prog/ | \
-        grep -v -e images -e itemtypeimg -x -e en
+    ( ls -1 $KOHA_HOME/$OPAC_TMPL/bootstrap/ ; \
+        ls -1 $KOHA_HOME/$OPAC_TMPL/prog/ 2> /dev/null ) | \
+        sort | uniq | \
+        grep -v -e images -e itemtypeimg -x -e en -e css -e js -e less -e lib
 }
 
 install_lang()
@@ -103,7 +110,8 @@ install_lang()
             else
                 # Check po files are present
                 check_lang_po_files $lang
-                env PERL5LIB="$KOHA_LIB_DIR:$TRANSLATE_DIR" KOHA_CONF="$KOHA_CONF_FILE"\
+                env PERL5LIB="$PERL5LIB:$TRANSLATE_DIR" \
+                    KOHA_CONF="$KOHA_CONF" \
                     $PERL_CMD $TRANSLATE_DIR/translate install $translate_opts $lang
             fi
         else
@@ -149,11 +157,10 @@ remove_lang()
         fi
 
         if print_installed | grep -q $lang; then
-            rm -rf $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/prog/$lang
-            rm -rf $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/ccsr/$lang
-            rm -rf $KOHA_INSTALL_DIR/intranet/htdocs/intranet-tmpl/prog/$lang
+            rm -rf $KOHA_HOME/$OPAC_TMPL/bootstrap/$lang
+            rm -rf $KOHA_HOME/$INTRANET_TMPL/prog/$lang
         else
-            die "Error: the selected language is not already installed."
+            die "Error: the selected language is not installed."
         fi
     else
         die "Error: no language code supplied."
@@ -164,10 +171,12 @@ check_lang_po_files()
 {
     lang=$1
 
-    po_files="$PO_DIR/$lang-i-opac-t-prog-v-3006000.po
-              $PO_DIR/$lang-opac-ccsr.po
-              $PO_DIR/$lang-i-staff-t-prog-v-3006000.po
-              $PO_DIR/$lang-pref.po"
+    po_files="$PO_DIR/$lang-marc-MARC21.po
+              $PO_DIR/$lang-marc-NORMARC.po
+              $PO_DIR/$lang-marc-UNIMARC.po
+              $PO_DIR/$lang-opac-bootstrap.po
+              $PO_DIR/$lang-pref.po
+              $PO_DIR/$lang-staff-prog.po"
 
     if [ "$lang" != "" ]; then
 
@@ -190,21 +199,46 @@ set_action()
     fi
 }
 
-# Global PATH variables
-KOHA_INSTALL_DIR="/usr/share/koha"
-KOHA_LIB_DIR="/usr/share/koha/lib"
-KOHA_CONF_FILE="/etc/koha/koha-conf-site.xml.in"
-TRANSLATE_DIR="$KOHA_INSTALL_DIR/misc/translator"
-PO_DIR="$TRANSLATE_DIR/po"
-PERL_CMD=`which perl`
+set_dev()
+{
+    if is_instance $1; then
+        dev=$1
+    else
+        die "Error: Invalid instance name $1"
+    fi
+}
+
+check_koha_conf()
+{
+    if [ "$dev" != "" ]; then
+        KOHA_CONF=/etc/koha/sites/$dev/koha-conf.xml
+    elif [ -z $KOHA_CONF ]; then
+        KOHA_CONF=/etc/koha/koha-conf-site.xml.in
+    fi
+}
+
+init_template_paths()
+{
+    # Template paths
+    if [ "$dev" = "" ]; then
+        OPAC_TMPL=opac/htdocs/opac-tmpl
+        INTRANET_TMPL=intranet/htdocs/intranet-tmpl
+    else
+        OPAC_TMPL=koha-tmpl/opac-tmpl
+        INTRANET_TMPL=koha-tmpl/intranet-tmpl
+    fi
+    TRANSLATE_DIR="$KOHA_HOME/misc/translator"
+    PO_DIR="$TRANSLATE_DIR/po"
+}
 
 # Control variables
 list_all=""
 op=""
 language=""
 verbose="no"
+dev=""
 
-# We accept at most 2 parameters
+# We accept at most 4 parameters
 [ $# -ge 1 ] && [ $# -le 4 ] || ( usage ; die "Error: wrong parameters" )
 
 # Read parameters
@@ -235,6 +269,13 @@ while [ $# -gt 0 ]; do
         -v|--verbose)
             verbose="yes"
             shift ;;
+        -d|--dev)
+            if [ $# -lt 2 ]; then
+                die "Error: dev parameter without instance"
+            fi
+            shift
+            set_dev $1
+            shift ;;
         -*)
             usage
             die "Error: unknown parameter $1." ;;
@@ -245,6 +286,11 @@ while [ $# -gt 0 ]; do
 
 done
 
+if [ "$dev" != "" ]; then adjust_paths_dev_install $dev; fi
+check_koha_conf
+init_template_paths
+PERL_CMD=`which perl`
+
 # Process the requested actions
 case $op in
     "help")