Bob Mottram пре 8 година
родитељ
комит
11c4ae7f8e
1 измењених фајлова са 109 додато и 19 уклоњено
  1. 109
    19
      src/freedombone-app-gnusocial

+ 109
- 19
src/freedombone-app-gnusocial Прегледај датотеку

@@ -236,6 +236,113 @@ function reconfigure_gnusocial {
236 236
     echo -n ''
237 237
 }
238 238
 
239
+function gnusocial_set_background_image_from_url {
240
+    GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT=
241
+    if [ $GNUSOCIAL_BACKGROUND_IMAGE_URL ]; then
242
+        if [[ $GNUSOCIAL_BACKGROUND_IMAGE_URL == *".jpeg" || $GNUSOCIAL_BACKGROUND_IMAGE_URL == *".jpg" ]]; then
243
+            GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT="jpg"
244
+        fi
245
+        if [[ $GNUSOCIAL_BACKGROUND_IMAGE_URL == *".png" ]]; then
246
+            GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT="png"
247
+        fi
248
+        if [[ $$GNUSOCIAL_BACKGROUND_IMAGE_URL == *".gif" ]]; then
249
+            GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT="gif"
250
+        fi
251
+    fi
252
+
253
+    if [ $GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT ]; then
254
+        read_config_param GNUSOCIAL_DOMAIN_NAME
255
+        gnusocial_config_file=/var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs/config.php
256
+
257
+        cd /var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs/local/plugins/Qvitter
258
+
259
+        wget $GNUSOCIAL_BACKGROUND_IMAGE_URL -O img/custom.${GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT}
260
+        if [ ! -f img/custom.${GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT} ]; then
261
+            echo "$GNUSOCIAL_BACKGROUND_IMAGE_URL"
262
+            echo $'Custom background image for gnusocial could not be downloaded'
263
+            echo "1"
264
+            return
265
+        fi
266
+
267
+        if ! grep -q "'img/custom" $gnusocial_config_file; then
268
+            sed -i "s|'img/custom.*|'img/custom.${GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT}';|g" $gnusocial_config_file
269
+        fi
270
+    fi
271
+    echo "0"
272
+}
273
+
274
+
275
+function gnusocial_set_background_image {
276
+    data=$(tempfile 2>/dev/null)
277
+    trap "rm -f $data" 0 1 2 5 15
278
+    dialog --title $"GNU Social" \
279
+           --backtitle $"Freedombone Control Panel" \
280
+           --inputbox $'Set a login screen background image URL' 10 60 2>$data
281
+    sel=$?
282
+    case $sel in
283
+        0)
284
+            temp_background=$(<$data)
285
+            if [ ${#temp_background} -gt 0 ]; then
286
+                GNUSOCIAL_BACKGROUND_IMAGE_URL="$temp_background"
287
+                write_config_param "GNUSOCIAL_BACKGROUND_IMAGE_URL" "$GNUSOCIAL_BACKGROUND_IMAGE_URL"
288
+                if [[ $(gnusocial_set_background_image_from_url) == "0" ]]; then
289
+                    dialog --title $"Set GNU Social login background" \
290
+                           --msgbox $"The background image has been set" 6 60
291
+                fi
292
+            fi
293
+           ;;
294
+    esac
295
+}
296
+
297
+function gnusocial_set_welcome_message {
298
+    data=$(tempfile 2>/dev/null)
299
+    trap "rm -f $data" 0 1 2 5 15
300
+    dialog --title $"GNU Social" \
301
+           --backtitle $"Freedombone Control Panel" \
302
+           --inputbox $'Set a welcome message, which can include html formatting' 10 60 2>$data
303
+    sel=$?
304
+    case $sel in
305
+        0)
306
+            temp_welcome=$(<$data)
307
+            if [ ${#temp_welcome} -gt 0 ]; then
308
+                GNUSOCIAL_WELCOME_MESSAGE="$temp_welcome"
309
+                gnusocial_config_file=/var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs/config.php
310
+                if grep -q "customwelcometext" $gnusocial_config_file; then
311
+                    write_config_param "GNUSOCIAL_WELCOME_MESSAGE" "$GNUSOCIAL_WELCOME_MESSAGE"
312
+                    sed -i "s|customwelcometext.*|customwelcometext']['en'] = '${GNUSOCIAL_WELCOME_MESSAGE}';|g" $gnusocial_config_file
313
+
314
+                    dialog --title $"Set GNU Social welcome message" \
315
+                           --msgbox $"Welcome message has been set" 6 60
316
+                fi
317
+            fi
318
+           ;;
319
+    esac
320
+}
321
+
322
+function configure_interactive_gnusocial {
323
+    while true
324
+    do
325
+        data=$(tempfile 2>/dev/null)
326
+        trap "rm -f $data" 0 1 2 5 15
327
+        dialog --backtitle $"Freedombone Control Panel" \
328
+               --title $"GNU Social" \
329
+               --radiolist $"Choose an operation:" 12 70 3 \
330
+               1 $"Set a login screen background image" off \
331
+               2 $"Set a welcome message" off \
332
+               3 $"Exit" on 2> $data
333
+        sel=$?
334
+        case $sel in
335
+            1) return;;
336
+            255) return;;
337
+        esac
338
+        case $(cat $data) in
339
+            1) gnusocial_set_background_image;;
340
+            2) gnusocial_set_welcome_message;;
341
+            3) break;;
342
+        esac
343
+    done
344
+}
345
+
239 346
 function upgrade_gnusocial {
240 347
     if grep -q "gnusocial domain" $COMPLETION_FILE; then
241 348
         GNUSOCIAL_DOMAIN_NAME=$(get_completion_param "gnusocial domain")
@@ -842,25 +949,8 @@ function install_gnusocial_theme {
842 949
     git checkout $GNUSOCIAL_THEME_COMMIT -b $GNUSOCIAL_THEME_COMMIT
843 950
 
844 951
     # download a custom background image
845
-    GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT=
846
-    if [ $GNUSOCIAL_BACKGROUND_IMAGE_URL ]; then
847
-        if [[ $$GNUSOCIAL_BACKGROUND_IMAGE_URL == *".jpeg" || $$GNUSOCIAL_BACKGROUND_IMAGE_URL == *".jpg" ]]; then
848
-            GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT="jpg"
849
-        fi
850
-        if [[ $$GNUSOCIAL_BACKGROUND_IMAGE_URL == *".png" ]]; then
851
-            GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT="png"
852
-        fi
853
-        if [[ $$GNUSOCIAL_BACKGROUND_IMAGE_URL == *".gif" ]]; then
854
-            GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT="gif"
855
-        fi
856
-        if [ $GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT ]; then
857
-            wget $GNUSOCIAL_BACKGROUND_IMAGE_URL -O img/custom.${GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT}
858
-            if [ ! -f img/custom.${GNUSOCIAL_BACKGROUND_IMAGE_URL_EXT} ]; then
859
-                echo "$GNUSOCIAL_BACKGROUND_IMAGE_URL"
860
-                echo $'Custom background image for gnusocial could not be downloaded'
861
-                exit 87524
862
-            fi
863
-        fi
952
+    if [[ $(gnusocial_set_background_image_from_url) != "0" ]]; then
953
+        exit 356723
864 954
     fi
865 955
 
866 956
     gnusocial_config_file=/var/www/$GNUSOCIAL_DOMAIN_NAME/htdocs/config.php