Browse Source

Loop until something happens

Bob Mottram 10 years ago
parent
commit
189f85aa71
1 changed files with 144 additions and 156 deletions
  1. 144
    156
      src/freedombone

+ 144
- 156
src/freedombone View File

@@ -666,53 +666,40 @@ function interactive_configuration {
666 666
       255) exit 0;;
667 667
   esac
668 668
 
669
-
670 669
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
671
-      data=$(tempfile 2>/dev/null)
672
-      trap "rm -f $data" 0 1 2 5 15
673
-      dialog --backtitle "Freedombone Configuration" \
674
-          --inputbox "Wiki Title" 10 30 2> $data
675
-      sel=$?
676
-      case $sel in
677
-          0) WIKI_TITLE=$(cat $data);;
678
-          1) exit 0;;
679
-          255) exit 0;;
680
-      esac
681
-      if [ ! $WIKI_TITLE ]; then
682
-          exit 5638
683
-      fi
684
-
685
-      data=$(tempfile 2>/dev/null)
686
-      trap "rm -f $data" 0 1 2 5 15
687
-      dialog --backtitle "Freedombone Configuration" \
688
-          --inputbox "Wiki domain name" 10 30 2> $data
689
-      sel=$?
690
-      case $sel in
691
-          0) WIKI_DOMAIN_NAME=$(cat $data);;
692
-          1) exit 0;;
693
-          255) exit 0;;
694
-      esac
695
-      if [ ! $WIKI_DOMAIN_NAME ]; then
696
-          exit 9236
697
-      fi
698
-      if [ ! $DOMAIN_NAME ]; then
699
-          DOMAIN_NAME=$WIKI_DOMAIN_NAME
700
-      fi
701
-
702
-      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
670
+      while [ ! $WIKI_DOMAIN_NAME ]
671
+      do
703 672
           data=$(tempfile 2>/dev/null)
704 673
           trap "rm -f $data" 0 1 2 5 15
705
-          dialog --backtitle "Freedombone Configuration" \
706
-              --inputbox "Wiki FreeDNS subdomain code" 10 30 2> $data
674
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
675
+              dialog --backtitle "Freedombone Configuration" \
676
+                  --title "Wiki Configuration" \
677
+                  --form "\nPlease enter your wiki details:" 11 55 4 \
678
+                  "Title:" 1 1 "My Wiki" 1 16 16 15 \
679
+                  "Domain:" 2 1 "" 2 16 16 15 \
680
+                  "FreeDNS code:" 3 1 "" 3 16 16 15 \
681
+                  2> $data
682
+          else
683
+              dialog --backtitle "Freedombone Configuration" \
684
+                  --title "Wiki Configuration" \
685
+                  --form "\nPlease enter your wiki details:" 11 55 3 \
686
+                  "Title:" 1 1 "My Wiki" 1 16 16 15 \
687
+                  "Domain:" 2 1 "" 2 16 16 15 \
688
+                  2> $data
689
+          fi
707 690
           sel=$?
708 691
           case $sel in
709
-              0) WIKI_FREEDNS_SUBDOMAIN_CODE=$(cat $data);;
710 692
               1) exit 0;;
711 693
               255) exit 0;;
712 694
           esac
713
-          if [ ! $WIKI_FREEDNS_SUBDOMAIN_CODE ]; then
714
-              exit 5277
715
-          fi
695
+          WIKI_TITLE=$(cat $data | sed -n 1p)
696
+          WIKI_DOMAIN_NAME=$(cat $data | sed -n 2p)
697
+      done
698
+      if [ ! $DOMAIN_NAME ]; then
699
+          DOMAIN_NAME=$WIKI_DOMAIN_NAME
700
+      fi
701
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
702
+          WIKI_FREEDNS_SUBDOMAIN_CODE=$(cat $data | sed -n 3p)
716 703
           if [[ $DOMAIN_NAME == "$WIKI_DOMAIN_NAME" ]]; then
717 704
               FREEDNS_SUBDOMAIN_CODE=$WIKI_FREEDNS_SUBDOMAIN_CODE
718 705
           fi
@@ -720,151 +707,152 @@ function interactive_configuration {
720 707
   fi
721 708
 
722 709
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
723
-      data=$(tempfile 2>/dev/null)
724
-      trap "rm -f $data" 0 1 2 5 15
725
-      dialog --backtitle "Freedombone Configuration" \
726
-          --inputbox "Blog Title" 10 30 2> $data
727
-      sel=$?
728
-      case $sel in
729
-          0) MY_BLOG_TITLE=$(cat $data);;
730
-          1) exit 0;;
731
-          255) exit 0;;
732
-      esac
733
-
734
-      if [ $MY_BLOG_TITLE ]; then
710
+      while [ ! $FULLBLOG_DOMAIN_NAME ]
711
+      do
735 712
           data=$(tempfile 2>/dev/null)
736 713
           trap "rm -f $data" 0 1 2 5 15
737
-          dialog --backtitle "Freedombone Configuration" \
738
-              --inputbox "Blog domain name" 10 30 2> $data
714
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
715
+              dialog --backtitle "Freedombone Configuration" \
716
+                  --title "Blog Configuration" \
717
+                  --form "\nPlease enter your blog details:" 11 55 4 \
718
+                  "Title:" 1 1 "My Blog" 1 16 16 15 \
719
+                  "Domain:" 2 1 "" 2 16 16 15 \
720
+                  "FreeDNS code:" 3 1 "" 3 16 16 15 \
721
+                  2> $data
722
+          else
723
+              dialog --backtitle "Freedombone Configuration" \
724
+                  --title "Blog Configuration" \
725
+                  --form "\nPlease enter your blog details:" 11 55 3 \
726
+                  "Title:" 1 1 "My Blog" 1 16 16 15 \
727
+                  "Domain:" 2 1 "" 2 16 16 15 \
728
+                  2> $data
729
+          fi
739 730
           sel=$?
740 731
           case $sel in
741
-              0) FULLBLOG_DOMAIN_NAME=$(cat $data);;
742 732
               1) exit 0;;
743 733
               255) exit 0;;
744 734
           esac
745
-          if [ ! $FULLBLOG_DOMAIN_NAME ]; then
746
-              exit 7648
747
-          fi
748
-
749
-          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
750
-              data=$(tempfile 2>/dev/null)
751
-              trap "rm -f $data" 0 1 2 5 15
752
-              dialog --backtitle "Freedombone Configuration" \
753
-                  --inputbox "Blog FreeDNS subdomain code" 10 30 2> $data
754
-              sel=$?
755
-              case $sel in
756
-                  0) FULLBLOG_FREEDNS_SUBDOMAIN_CODE=$(cat $data);;
757
-                  1) exit 0;;
758
-                  255) exit 0;;
759
-              esac
760
-              if [ ! $FULLBLOG_FREEDNS_SUBDOMAIN_CODE ]; then
761
-                  exit 9875
762
-              fi
735
+          MY_BLOG_TITLE=$(cat $data | sed -n 1p)
736
+          FULLBLOG_DOMAIN_NAME=$(cat $data | sed -n 2p)
737
+      done
738
+      if [ ! $DOMAIN_NAME ]; then
739
+          DOMAIN_NAME=$FULLBLOG_DOMAIN_NAME
740
+      fi
741
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
742
+          FULLBLOG_FREEDNS_SUBDOMAIN_CODE=$(cat $data | sed -n 3p)
743
+          if [[ $DOMAIN_NAME == "$FULLBLOG_DOMAIN_NAME" ]]; then
744
+              FREEDNS_SUBDOMAIN_CODE=$FULLBLOG_FREEDNS_SUBDOMAIN_CODE
763 745
           fi
764 746
       fi
765 747
   fi
766 748
 
767 749
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
768
-      data=$(tempfile 2>/dev/null)
769
-      trap "rm -f $data" 0 1 2 5 15
770
-      dialog --backtitle "Freedombone Configuration" \
771
-          --inputbox "Owncloud domain name" 10 30 2> $data
772
-      sel=$?
773
-      case $sel in
774
-          0) OWNCLOUD_DOMAIN_NAME=$(cat $data);;
775
-          1) exit 0;;
776
-          255) exit 0;;
777
-      esac
778
-
779
-      if [ $OWNCLOUD_DOMAIN_NAME ]; then
780
-          if [ ! $DOMAIN_NAME ]; then
781
-              DOMAIN_NAME=$OWNCLOUD_DOMAIN_NAME
782
-          fi
750
+      while [ ! $OWNCLOUD_DOMAIN_NAME ]
751
+      do
752
+          data=$(tempfile 2>/dev/null)
753
+          trap "rm -f $data" 0 1 2 5 15
783 754
           if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
784
-              data=$(tempfile 2>/dev/null)
785
-              trap "rm -f $data" 0 1 2 5 15
786 755
               dialog --backtitle "Freedombone Configuration" \
787
-                  --inputbox "Owncloud FreeDNS subdomain code" 10 30 2> $data
788
-              sel=$?
789
-              case $sel in
790
-                  0) OWNCLOUD_FREEDNS_SUBDOMAIN_CODE=$(cat $data);;
791
-                  1) exit 0;;
792
-                  255) exit 0;;
793
-              esac
794
-              if [ ! $OWNCLOUD_FREEDNS_SUBDOMAIN_CODE ]; then
795
-                  exit 2583
796
-              fi
797
-              if [[ $DOMAIN_NAME == "$OWNCLOUD_DOMAIN_NAME" ]]; then
798
-                  FREEDNS_SUBDOMAIN_CODE=$OWNCLOUD_FREEDNS_SUBDOMAIN_CODE
799
-              fi
756
+                  --title "Owncloud Configuration" \
757
+                  --form "\nPlease enter your Owncloud details:" 11 55 3 \
758
+                  "Domain:" 1 1 "" 1 16 16 15 \
759
+                  "FreeDNS code:" 2 1 "" 2 16 16 15 \
760
+                  2> $data
761
+          else
762
+              dialog --backtitle "Freedombone Configuration" \
763
+                  --title "Owncloud Configuration" \
764
+                  --form "\nPlease enter your Owncloud details:" 11 55 3 \
765
+                  "Domain:" 1 1 "" 1 16 16 15 \
766
+                  2> $data
767
+          fi
768
+          sel=$?
769
+          case $sel in
770
+              1) exit 0;;
771
+              255) exit 0;;
772
+          esac
773
+          OWNCLOUD_DOMAIN_NAME=$(cat $data | sed -n 1p)
774
+      done
775
+      if [ ! $DOMAIN_NAME ]; then
776
+          DOMAIN_NAME=$OWNCLOUD_DOMAIN_NAME
777
+      fi
778
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
779
+          OWNCLOUD_FREEDNS_SUBDOMAIN_CODE=$(cat $data | sed -n 2p)
780
+          if [[ $DOMAIN_NAME == "$OWNCLOUD_DOMAIN_NAME" ]]; then
781
+              FREEDNS_SUBDOMAIN_CODE=$OWNCLOUD_FREEDNS_SUBDOMAIN_CODE
800 782
           fi
801 783
       fi
802 784
   fi
803 785
 
804 786
   if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
805
-      data=$(tempfile 2>/dev/null)
806
-      trap "rm -f $data" 0 1 2 5 15
807
-      dialog --backtitle "Freedombone Configuration" \
808
-          --inputbox "RedMatrix domain name" 10 30 2> $data
809
-      sel=$?
810
-      case $sel in
811
-          0) REDMATRIX_DOMAIN_NAME=$(cat $data);;
812
-          1) exit 0;;
813
-          255) exit 0;;
814
-      esac
815
-
816
-      if [ $REDMATRIX_DOMAIN_NAME ]; then
817
-          if [ ! $DOMAIN_NAME ]; then
818
-              DOMAIN_NAME=$REDMATRIX_DOMAIN_NAME
819
-          fi
787
+      while [ ! $REDMATRIX_DOMAIN_NAME ]
788
+      do
789
+          data=$(tempfile 2>/dev/null)
790
+          trap "rm -f $data" 0 1 2 5 15
820 791
           if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
821
-              data=$(tempfile 2>/dev/null)
822
-              trap "rm -f $data" 0 1 2 5 15
823 792
               dialog --backtitle "Freedombone Configuration" \
824
-                  --inputbox "RedMatrix FreeDNS subdomain code" 10 30 2> $data
825
-              sel=$?
826
-              case $sel in
827
-                  0) REDMATRIX_FREEDNS_SUBDOMAIN_CODE=$(cat $data);;
828
-                  1) exit 0;;
829
-                  255) exit 0;;
830
-              esac
831
-              if [ ! $REDMATRIX_FREEDNS_SUBDOMAIN_CODE ]; then
832
-                  exit 9654
833
-              fi
834
-              if [[ $DOMAIN_NAME == "$REDMATRIX_DOMAIN_NAME" ]]; then
835
-                  FREEDNS_SUBDOMAIN_CODE=$REDMATRIX_FREEDNS_SUBDOMAIN_CODE
836
-              fi
793
+                  --title "RedMatrix Configuration" \
794
+                  --form "\nPlease enter your RedMatrix details:" 11 55 3 \
795
+                  "Domain:" 1 1 "" 1 16 16 15 \
796
+                  "FreeDNS code:" 2 1 "" 2 16 16 15 \
797
+                  2> $data
798
+          else
799
+              dialog --backtitle "Freedombone Configuration" \
800
+                  --title "RedMatrix Configuration" \
801
+                  --form "\nPlease enter your RedMatrix details:" 11 55 3 \
802
+                  "Domain:" 1 1 "" 1 16 16 15 \
803
+                  2> $data
804
+          fi
805
+          sel=$?
806
+          case $sel in
807
+              1) exit 0;;
808
+              255) exit 0;;
809
+          esac
810
+          REDMATRIX_DOMAIN_NAME=$(cat $data | sed -n 1p)
811
+      done
812
+      if [ ! $DOMAIN_NAME ]; then
813
+          DOMAIN_NAME=$REDMATRIX_DOMAIN_NAME
814
+      fi
815
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
816
+          REDMATRIX_FREEDNS_SUBDOMAIN_CODE=$(cat $data | sed -n 2p)
817
+          if [[ $DOMAIN_NAME == "$REDMATRIX_DOMAIN_NAME" ]]; then
818
+              FREEDNS_SUBDOMAIN_CODE=$REDMATRIX_FREEDNS_SUBDOMAIN_CODE
837 819
           fi
838 820
       fi
839 821
   fi
840 822
 
841 823
   if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
842
-      data=$(tempfile 2>/dev/null)
843
-      trap "rm -f $data" 0 1 2 5 15
844
-      dialog --backtitle "Freedombone Configuration" \
845
-          --inputbox "Microblog domain name" 10 30 2> $data
846
-      sel=$?
847
-      case $sel in
848
-          0) MICROBLOG_DOMAIN_NAME=$(cat $data);;
849
-          1) exit 0;;
850
-          255) exit 0;;
851
-      esac
852
-
853
-      if [ $MICROBLOG_DOMAIN_NAME ]; then
824
+      while [ ! $MICROBLOG_DOMAIN_NAME ]
825
+      do
826
+          data=$(tempfile 2>/dev/null)
827
+          trap "rm -f $data" 0 1 2 5 15
854 828
           if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
855
-              data=$(tempfile 2>/dev/null)
856
-              trap "rm -f $data" 0 1 2 5 15
857 829
               dialog --backtitle "Freedombone Configuration" \
858
-                  --inputbox "Microblog FreeDNS subdomain code" 10 30 2> $data
859
-              sel=$?
860
-              case $sel in
861
-                  0) MICROBLOG_FREEDNS_SUBDOMAIN_CODE=$(cat $data);;
862
-                  1) exit 0;;
863
-                  255) exit 0;;
864
-              esac
865
-              if [ ! $MICROBLOG_FREEDNS_SUBDOMAIN_CODE ]; then
866
-                  exit 9508
867
-              fi
830
+                  --title "Microblog Configuration" \
831
+                  --form "\nPlease enter your Microblog details:" 11 55 3 \
832
+                  "Domain:" 1 1 "" 1 16 16 15 \
833
+                  "FreeDNS code:" 2 1 "" 2 16 16 15 \
834
+                  2> $data
835
+          else
836
+              dialog --backtitle "Freedombone Configuration" \
837
+                  --title "Microblog Configuration" \
838
+                  --form "\nPlease enter your Microblog details:" 11 55 3 \
839
+                  "Domain:" 1 1 "" 1 16 16 15 \
840
+                  2> $data
841
+          fi
842
+          sel=$?
843
+          case $sel in
844
+              1) exit 0;;
845
+              255) exit 0;;
846
+          esac
847
+          MICROBLOG_DOMAIN_NAME=$(cat $data | sed -n 1p)
848
+      done
849
+      if [ ! $DOMAIN_NAME ]; then
850
+          DOMAIN_NAME=$MICROBLOG_DOMAIN_NAME
851
+      fi
852
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
853
+          MICROBLOG_FREEDNS_SUBDOMAIN_CODE=$(cat $data | sed -n 2p)
854
+          if [[ $DOMAIN_NAME == "$MICROBLOG_DOMAIN_NAME" ]]; then
855
+              FREEDNS_SUBDOMAIN_CODE=$MICROBLOG_FREEDNS_SUBDOMAIN_CODE
868 856
           fi
869 857
       fi
870 858
   fi