Kaynağa Gözat

Consolidate some interactive configuration

Bob Mottram 8 yıl önce
ebeveyn
işleme
8fa4566ff0

+ 3
- 52
src/freedombone-app-gogs Dosyayı Görüntüle

@@ -53,60 +53,11 @@ gogs_variables=(ONION_ONLY
53 53
 function install_interactive_gogs {
54 54
     if [[ $ONION_ONLY != "no" ]]; then
55 55
         GIT_DOMAIN_NAME='git.local'
56
+        write_config_param "GIT_DOMAIN_NAME" "$GIT_DOMAIN_NAME"
56 57
     else
57
-        DEVELOPER_DETAILS_COMPLETE=
58
-        while [ ! $DEVELOPER_DETAILS_COMPLETE ]
59
-        do
60
-            data=$(tempfile 2>/dev/null)
61
-            trap "rm -f $data" 0 1 2 5 15
62
-
63
-            if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
64
-                dialog --backtitle $"Freedombone Configuration" \
65
-                       --title $"Developer Configuration" \
66
-                       --form $"\nPlease enter your Git hosting site details.\nIf You don't need developer tools then just select Ok" 11 55 3 \
67
-                       $"Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
68
-                       $"Code:" 2 1 "$(grep 'GIT_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 33 255 \
69
-                       2> $data
70
-            else
71
-                dialog --backtitle $"Freedombone Configuration" \
72
-                       --title $"Developer Configuration" \
73
-                       --form $"\nPlease enter your Git hosting site details.\nIf You don't need developer tools then just select Ok" 11 55 2 \
74
-                       $"Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
75
-                       2> $data
76
-            fi
77
-            sel=$?
78
-            case $sel in
79
-                1) exit 1;;
80
-                255) exit 1;;
81
-            esac
82
-            GIT_DOMAIN_NAME=$(cat $data | sed -n 1p)
83
-            if [ ${GIT_DOMAIN_NAME} ]; then
84
-                TEST_DOMAIN_NAME=$GIT_DOMAIN_NAME
85
-                validate_domain_name
86
-                if [[ ${TEST_DOMAIN_NAME} != ${GIT_DOMAIN_NAME} ]]; then
87
-                    GIT_DOMAIN_NAME=
88
-                    dialog --title $"Domain name validation" --msgbox "${TEST_DOMAIN_NAME}" 15 50
89
-                else
90
-                    if [[ ${DDNS_PROVIDER} == "default@freedns.afraid.org" ]]; then
91
-                        GIT_CODE=$(cat $data | sed -n 2p)
92
-                        validate_freedns_code "$GIT_CODE"
93
-                        if [ ! ${VALID_CODE} ]; then
94
-                            GIT_DOMAIN_NAME=
95
-                        fi
96
-                    fi
97
-                fi
98
-            else
99
-                DEVELOPER_DETAILS_COMPLETE="yes"
100
-            fi
101
-            if [ ${GIT_DOMAIN_NAME} ]; then
102
-                DEVELOPER_DETAILS_COMPLETE="yes"
103
-            fi
104
-        done
105
-
106
-        # save the results in the config file
107
-        write_config_param "GIT_CODE" "$GIT_CODE"
58
+        function_check interactive_site_details
59
+        interactive_site_details git
108 60
     fi
109
-    write_config_param "GIT_DOMAIN_NAME" "$GIT_DOMAIN_NAME"
110 61
     APP_INSTALLED=1
111 62
 }
112 63
 

+ 3
- 48
src/freedombone-app-hubzilla Dosyayı Görüntüle

@@ -140,54 +140,9 @@ function install_interactive_hubzilla {
140 140
         return
141 141
     fi
142 142
 
143
-    HUBZILLA_DETAILS_COMPLETE=
144
-    while [ ! $HUBZILLA_DETAILS_COMPLETE ]
145
-    do
146
-        data=$(tempfile 2>/dev/null)
147
-        trap "rm -f $data" 0 1 2 5 15
148
-        if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
149
-            dialog --backtitle $"Freedombone Configuration" \
150
-                   --title $"Hubzilla Configuration" \
151
-                   --form $"\nPlease enter your Hubzilla details.\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 14 55 3 \
152
-                   $"Domain:" 1 1 "$(grep 'HUBZILLA_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
153
-                   $"Code:" 2 1 "$(grep 'HUBZILLA_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 33 255 \
154
-                   2> $data
155
-        else
156
-            dialog --backtitle $"Freedombone Configuration" \
157
-                   --title $"Hubzilla Configuration" \
158
-                   --form $"\nPlease enter your Hubzilla details\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 11 55 3 \
159
-                   $"Domain:" 1 1 "$(grep 'HUBZILLA_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
160
-                   2> $data
161
-        fi
162
-        sel=$?
163
-        case $sel in
164
-            1) exit 1;;
165
-            255) exit 1;;
166
-        esac
167
-        HUBZILLA_DOMAIN_NAME=$(cat $data | sed -n 1p)
168
-        if [ $HUBZILLA_DOMAIN_NAME ]; then
169
-            TEST_DOMAIN_NAME=$HUBZILLA_DOMAIN_NAME
170
-            validate_domain_name
171
-            if [[ $TEST_DOMAIN_NAME != $HUBZILLA_DOMAIN_NAME ]]; then
172
-                HUBZILLA_DOMAIN_NAME=
173
-                dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
174
-            else
175
-                if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
176
-                    HUBZILLA_CODE=$(cat $data | sed -n 2p)
177
-                    validate_freedns_code "$HUBZILLA_CODE"
178
-                    if [ ! $VALID_CODE ]; then
179
-                        HUBZILLA_DOMAIN_NAME=
180
-                    fi
181
-                fi
182
-            fi
183
-        fi
184
-        if [ $HUBZILLA_DOMAIN_NAME ]; then
185
-            HUBZILLA_DETAILS_COMPLETE="yes"
186
-        fi
187
-    done
188
-    # save the results in the config file
189
-    write_config_param "HUBZILLA_DOMAIN_NAME" "$HUBZILLA_DOMAIN_NAME"
190
-    write_config_param "HUBZILLA_CODE" "$HUBZILLA_CODE"
143
+    function_check interactive_site_details
144
+    interactive_site_details hubzilla
145
+
191 146
     APP_INSTALLED=1
192 147
 }
193 148
 

+ 62
- 0
src/freedombone-utils-interactive Dosyayı Görüntüle

@@ -106,4 +106,66 @@ function interactive_configuration {
106 106
     fi
107 107
 }
108 108
 
109
+function interactive_site_details {
110
+    site_name="$1"
111
+    site_name_upper=${site_name^^}
112
+
113
+    SITE_BACKTITLE=$"Freedombone Configuration"
114
+    SITE_CONFIG_TITLE=$"${site_name} Configuration"
115
+    SITE_FORM_TEXT=$"\nPlease enter your ${site_name} details.\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:"
116
+    SITE_DOMAIN_NAME=
117
+    SITE_CODE=
118
+    SITE_DETAILS_COMPLETE=
119
+    while [ ! $SITE_DETAILS_COMPLETE ]
120
+    do
121
+        data=$(tempfile 2>/dev/null)
122
+        trap "rm -f $data" 0 1 2 5 15
123
+        if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
124
+            dialog --backtitle "$SITE_BACKTITLE" \
125
+                   --title "$SITE_CONFIG_TITLE" \
126
+                   --form "$SITE_FORM_TEXT" 14 55 3 \
127
+                   $"Domain:" 1 1 "$(grep '${site_name_upper}_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
128
+                   $"Code:" 2 1 "$(grep '${site_name_upper}_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 33 255 \
129
+                   2> $data
130
+        else
131
+            dialog --backtitle "$SITE_BACKTITLE" \
132
+                   --title "$SITE_CONFIG_TITLE" \
133
+                   --form "$SITE_FORM_TEXT" 11 55 3 \
134
+                   $"Domain:" 1 1 "$(grep '${site_name_upper}_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
135
+                   2> $data
136
+        fi
137
+        sel=$?
138
+        case $sel in
139
+            1) exit 1;;
140
+            255) exit 1;;
141
+        esac
142
+        SITE_DOMAIN_NAME=$(cat $data | sed -n 1p)
143
+        if [ $SITE_DOMAIN_NAME ]; then
144
+            TEST_DOMAIN_NAME=$SITE_DOMAIN_NAME
145
+            validate_domain_name
146
+            if [[ $TEST_DOMAIN_NAME != $SITE_DOMAIN_NAME ]]; then
147
+                SITE_DOMAIN_NAME=
148
+                dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
149
+            else
150
+                if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
151
+                    SITE_CODE=$(cat $data | sed -n 2p)
152
+                    validate_freedns_code "$SITE_CODE"
153
+                    if [ ! $VALID_CODE ]; then
154
+                        SITE_DOMAIN_NAME=
155
+                    fi
156
+                fi
157
+            fi
158
+        fi
159
+        if [ $SITE_DOMAIN_NAME ]; then
160
+            SITE_DETAILS_COMPLETE="yes"
161
+        fi
162
+    done
163
+
164
+    # save the results in the config file
165
+    write_config_param "${site_name_upper}_DOMAIN_NAME" "$SITE_DOMAIN_NAME"
166
+    if [ $SITE_CODE ]; then
167
+        write_config_param "${site_name_upper}_CODE" "$SITE_CODE"
168
+    fi
169
+}
170
+
109 171
 # NOTE: deliberately no exit 0