r3569@krups: intrigeri | 2005-11-17 22:34:04 +0100
[matthijs/upstream/backupninja.git] / handlers / dup.helper
index 102e063909ce431b50d9e799ceb49bc7322b3a3c..13371f4668ba5a82dc5387702c687b22b47a0840 100644 (file)
@@ -8,39 +8,40 @@ do_dup_host_includes() {
    REPLY=
    while [ -z "$REPLY" ]; do
       formBegin "$dup_title - host system: includes"
-         for ((i=0; i < ${#dup_default_includes[@]} ; i++)); do
-            formItem include ${dup_default_includes[$i]}
+         [ -z "$dup_includes" ] && dup_includes="$dup_default_includes"
+         for i in $dup_includes; do
+            formItem include "$i"
         done
         formItem include ""
         formItem include ""
         formItem include ""
         formDisplay
       [ $? = 0 ] || return 1
-      dup_includes=($REPLY)
+      dup_includes="$REPLY"
    done
    set +o noglob
 }
 
 do_dup_vserver() {
-   # choose the vservers to backup
-   vservers_chooser "$dup_title"
+   # choose the vservers to backup (into $selected_vservers)
+   choose_one_or_more_vservers "$dup_title"
    [ $? = 0 ] || return 1
-   dup_vsnames="$vservers_chooser_vsnames"
 
    set -o noglob
    # choose the files to backup
    REPLY=
    while [ -z "$REPLY" ]; do
       formBegin "$dup_title - vservers: includes"
-         for ((i=0; i < ${#dup_default_includes[@]} ; i++)); do
-            formItem include ${dup_default_includes[$i]}
+         [ -z "$dup_vsincludes" ] && dup_vsincludes="$dup_default_includes"
+         for i in $dup_vsincludes; do
+            formItem include "$i"
         done
         formItem include ""
         formItem include ""
         formItem include ""
       formDisplay
       [ $? = 0 ] || return 1
-      dup_vsincludes=($REPLY)
+      dup_vsincludes="$REPLY"
    done
    set +o noglob
 }
@@ -48,20 +49,21 @@ do_dup_vserver() {
 do_dup_excludes() {
    set -o noglob
    formBegin "$dup_title: excludes"
-     for ((i=0; i < ${#dup_default_excludes[@]} ; i++)); do
-        formItem exclude ${dup_default_excludes[$i]}
+     [ -z "$dup_excludes" ] && dup_excludes="$dup_default_excludes"
+     for i in $dup_excludes; do
+        formItem exclude "$i"
      done
      formItem exclude ""
      formItem exclude ""
      formItem exclude ""
    formDisplay
    [ $? = 0 ] || return 1
-   dup_excludes=($REPLY)
+   dup_excludes="$REPLY"
    set +o noglob
 }
 
 do_dup_src() {
-   host_or_vservers_chooser "$dup_title"
+   choose_host_or_vservers_or_both "$dup_title"
    [ $? = 0 ] || return 1
    case $host_or_vservers in
       'host')
@@ -259,10 +261,10 @@ encryptkey = $dup_gpg_encryptkey
 #   include = /mnt/crypt/home/user/Mail
 EOF
 
-   if [ "$host_or_vservers" == 'host' -o "$host_or_vservers" == 'both' ]; then
+   if [ "$host_or_vservers" == host -o "$host_or_vservers" == both ]; then
       set -o noglob
-      for ((i=0; i < ${#dup_includes[@]} ; i++)); do
-        echo "include = ${dup_includes[$i]}" >> $next_filename
+      for i in $dup_includes; do
+        echo "include = $i" >> $next_filename
       done
       set +o noglob
    fi
@@ -283,11 +285,11 @@ EOF
 
 EOF
 
-   if [ "$host_or_vservers" == 'vservers' -o "$host_or_vservers" == 'both' ]; then
+   if [ "$host_or_vservers" == vservers -o "$host_or_vservers" == both ]; then
       set -o noglob
-      echo "vsnames = \"$dup_vsnames\"\n" >> $next_filename
-      for ((i=0; i < ${#dup_vsincludes[@]} ; i++)); do
-         echo "vsinclude = ${dup_vsincludes[$i]}" >> $next_filename
+      echo -e "vsnames = \"$selected_vservers\"\n" >> $next_filename
+      for i in $dup_vsincludes; do
+         echo "vsinclude = $i" >> $next_filename
       done
       set +o noglob
    fi
@@ -300,8 +302,8 @@ EOF
 # (supports globbing with '*')
 EOF
     set -o noglob
-    for ((i=0; i < ${#dup_excludes[@]} ; i++)); do
-        echo exclude = ${dup_excludes[$i]} >> $next_filename
+    for i in $dup_excludes; do
+        echo "exclude = $i" >> $next_filename
     done
     set +o noglob
 
@@ -403,12 +405,9 @@ dup_wizard() {
    _con_done=
    _gpg_done=
    _adv_done=
-   declare -a dup_default_includes
-   declare -a dup_default_excludes
-   declare -a dup_includes
-   declare -a dup_excludes
-   declare -a dup_vsincludes
-   dup_vsnames=
+   dup_includes=
+   dup_excludes=
+   dup_vsincludes=
    dup_incremental=yes
    dup_keep=60
    dup_bandwidth=
@@ -425,8 +424,8 @@ dup_wizard() {
 
    # Global variables whose '*' shall not be expanded
    set -o noglob
-   dup_default_includes=(/var/spool/cron/crontabs /var/backups /etc /root /home /usr/local/*bin /var/lib/dpkg/status*)
-   dup_default_excludes=(/home/*/.gnupg)
+   dup_default_includes="/var/spool/cron/crontabs /var/backups /etc /root /home /usr/local/*bin /var/lib/dpkg/status*"
+   dup_default_excludes="/home/*/.gnupg"
    set +o noglob
 
    dup_main_menu