Browse Source

Set a customised background image for the microblog

Bob Mottram 9 years ago
parent
commit
1d1d2b3c61
2 changed files with 47 additions and 9 deletions
  1. 26
    1
      src/freedombone
  2. 21
    8
      src/freedombone-config

+ 26
- 1
src/freedombone View File

@@ -200,6 +200,7 @@ MICROBLOG_COMMIT='771f08b3c761ff122c3fff7bdb13ec6625828018'
200 200
 MICROBLOG_THEME_REPO="https://git.gnu.io/h2p/Qvitter.git"
201 201
 MICROBLOG_THEME_COMMIT='8abbdeb3c0a6a34754411452ae832d2f19cef7ab'
202 202
 MICROBLOG_WELCOME_MESSAGE=$'<h1>Welcome to $MICROBLOG_DOMAIN_NAME – a federated microblog</h1><p>Another Freedombone site</p>'
203
+MICROBLOG_BACKGROUND_IMAGE_URL=
203 204
 
204 205
 # Domain name for hubzilla installation
205 206
 HUBZILLA_DOMAIN_NAME=
@@ -1023,6 +1024,9 @@ function read_configuration {
1023 1024
         if [[ $CONFIGURATION_FILE != "/root/${PROJECT_NAME}.cfg" ]]; then
1024 1025
             cp $CONFIGURATION_FILE /root/${PROJECT_NAME}.cfg
1025 1026
         fi
1027
+        if grep -q "MICROBLOG_BACKGROUND_IMAGE_URL" $CONFIGURATION_FILE; then
1028
+            MICROBLOG_BACKGROUND_IMAGE_URL=$(grep "MICROBLOG_BACKGROUND_IMAGE_URL" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1029
+        fi
1026 1030
         if grep -q "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE; then
1027 1031
             MICROBLOG_WELCOME_MESSAGE=$(grep "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1028 1032
         fi
@@ -8609,6 +8613,8 @@ function install_gnu_social_theme {
8609 8613
         return
8610 8614
     fi
8611 8615
 
8616
+    apt-get -y install wget
8617
+
8612 8618
     if [ ! -d /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins ]; then
8613 8619
         mkdir -p /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins
8614 8620
     fi
@@ -8618,6 +8624,17 @@ function install_gnu_social_theme {
8618 8624
     cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins/Qvitter
8619 8625
     git checkout $MICROBLOG_THEME_COMMIT -b $MICROBLOG_THEME_COMMIT
8620 8626
 
8627
+    # download a custom background image
8628
+    if [ $MICROBLOG_BACKGROUND_IMAGE_URL ]; then
8629
+        MICROBLOG_BACKGROUND_IMAGE_URL_EXT=$(echo $MICROBLOG_BACKGROUND_IMAGE_URL | awk -F '.' '{print $2}')
8630
+        wget $MICROBLOG_BACKGROUND_IMAGE_URL -o img/custom.${MICROBLOG_BACKGROUND_IMAGE_URL_EXT}
8631
+        if [ ! -f img/custom.${MICROBLOG_BACKGROUND_IMAGE_URL_EXT} ]; then
8632
+            echo "$MICROBLOG_BACKGROUND_IMAGE_URL"
8633
+            echo $'Custom background image for microblog could not be downloaded'
8634
+            exit 87524
8635
+        fi
8636
+    fi
8637
+
8621 8638
     microblog_config_file=/var/www/$MICROBLOG_DOMAIN_NAME/htdocs/config.php
8622 8639
     if ! grep -q "addPlugin('Qvitter')" $microblog_config_file; then
8623 8640
         MICROBLOG_WELCOME_MESSAGE=$(echo $MICROBLOG_WELCOME_MESSAGE | sed "s|\$MICROBLOG_DOMAIN_NAME|$MICROBLOG_DOMAIN_NAME|g")
@@ -8630,7 +8647,11 @@ function install_gnu_social_theme {
8630 8647
         echo "\$config['site']['qvitter']['timebetweenpolling'] = 120000; // two minutes" >> $microblog_config_file
8631 8648
         echo "\$config['site']['qvitter']['urlshortenerapiurl'] = 'http://qttr.at/shortener.php';" >> $microblog_config_file
8632 8649
         echo "\$config['site']['qvitter']['urlshortenersignature'] = 'b6afeec983';" >> $microblog_config_file
8633
-        echo "\$config['site']['qvitter']['sitebackground'] = 'img/vagnsmossen.jpg';" >> $microblog_config_file
8650
+        if [ $MICROBLOG_BACKGROUND_IMAGE_URL ]; then
8651
+            echo "\$config['site']['qvitter']['sitebackground'] = 'img/custom.${MICROBLOG_BACKGROUND_IMAGE_URL_EXT}';" >> $microblog_config_file
8652
+        else
8653
+            echo "\$config['site']['qvitter']['sitebackground'] = 'img/vagnsmossen.jpg';" >> $microblog_config_file
8654
+        fi
8634 8655
         echo "\$config['site']['qvitter']['favicon'] = 'img/favicon.ico?v=4';" >> $microblog_config_file
8635 8656
         echo "\$config['site']['qvitter']['sprite'] = Plugin::staticPath('Qvitter', '').'img/sprite.png?v=40';" >> $microblog_config_file
8636 8657
         echo "\$config['site']['qvitter']['enablewelcometext'] = true;" >> $microblog_config_file
@@ -8639,6 +8660,10 @@ function install_gnu_social_theme {
8639 8660
         echo "\$config['site']['qvitter']['customwelcometext']['fr'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8640 8661
         echo "\$config['site']['qvitter']['customwelcometext']['es'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8641 8662
         echo "\$config['site']['qvitter']['blocked_ips'] = array();" >> $microblog_config_file
8663
+    else
8664
+        if [ -f img/custom.${MICROBLOG_BACKGROUND_IMAGE_URL_EXT} ]; then
8665
+            sed -i "s|\$config['site']['qvitter']['sitebackground'].*|\$config['site']['qvitter']['sitebackground'] = 'img/custom.${MICROBLOG_BACKGROUND_IMAGE_URL_EXT}';|g" $microblog_config_file
8666
+        fi
8642 8667
     fi
8643 8668
 
8644 8669
     if ! grep -q "GNU Social theme commit" $COMPLETION_FILE; then

+ 21
- 8
src/freedombone-config View File

@@ -96,6 +96,7 @@ HUBZILLA_CODE=
96 96
 MICROBLOG_DOMAIN_NAME=
97 97
 MICROBLOG_CODE=
98 98
 MICROBLOG_WELCOME_MESSAGE=$"<h1>Welcome to \$MICROBLOG_DOMAIN_NAME – a federated microblog</h1><p>Another $PROJECT_NAME site</p>"
99
+MICROBLOG_BACKGROUND_IMAGE_URL=
99 100
 GIT_DOMAIN_NAME=
100 101
 GIT_CODE=
101 102
 MEDIAGOBLIN_DOMAIN_NAME=
@@ -261,6 +262,9 @@ function save_configuration_file {
261 262
     if [ $MICROBLOG_WELCOME_MESSAGE ]; then
262 263
         echo "MICROBLOG_WELCOME_MESSAGE=$MICROBLOG_WELCOME_MESSAGE" >> $CONFIGURATION_FILE
263 264
     fi
265
+    if [ $MICROBLOG_BACKGROUND_IMAGE_URL ]; then
266
+        echo "MICROBLOG_BACKGROUND_IMAGE_URL=$MICROBLOG_BACKGROUND_IMAGE_URL" >> $CONFIGURATION_FILE
267
+    fi
264 268
     if [ $GIT_DOMAIN_NAME ]; then
265 269
         echo "GIT_DOMAIN_NAME=$GIT_DOMAIN_NAME" >> $CONFIGURATION_FILE
266 270
     fi
@@ -1576,17 +1580,19 @@ function interactive_configuration {
1576 1580
                 if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1577 1581
                     dialog --backtitle $"Freedombone Configuration" \
1578 1582
                            --title $"Microblog Configuration" \
1579
-                           --form $"\nPlease enter your Microblog details\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 14 65 3 \
1580
-                           $"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 20 25 30 \
1581
-                           $"Welcome Message:" 2 1 "$(grep '$MICROBLOG_WELCOME_MESSAGE' temp.cfg | awk -F '=' '{print $2}')" 3 20 50 30 \
1582
-                           $"Code:" 3 1 "$(grep 'MICROBLOG_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 20 25 30 \
1583
+                           --form $"\nPlease enter your Microblog details. Welcome message and background image URL can be left blank.\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 16 65 4 \
1584
+                           $"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 25 25 30 \
1585
+                           $"Welcome Message:" 2 1 "$(grep '$MICROBLOG_WELCOME_MESSAGE' temp.cfg | awk -F '=' '{print $2}')" 2 25 255 30 \
1586
+                           $"Background image URL:" 3 1 "$(grep '$MICROBLOG_BACKGROUND_IMAGE_URL' temp.cfg | awk -F '=' '{print $2}')" 3 25 255 30 \
1587
+                           $"Code:" 4 1 "$(grep 'MICROBLOG_CODE' temp.cfg | awk -F '=' '{print $2}')" 4 25 25 30 \
1583 1588
                            2> $data
1584 1589
                 else
1585 1590
                     dialog --backtitle $"Freedombone Configuration" \
1586 1591
                            --title $"Microblog Configuration" \
1587
-                           --form $"\nPlease enter your Microblog details\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 13 65 3 \
1588
-                           $"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 20 25 30 \
1589
-                           $"Welcome Message:" 2 1 "$(grep '$MICROBLOG_WELCOME_MESSAGE' temp.cfg | awk -F '=' '{print $2}')" 2 20 50 30 \
1592
+                           --form $"\nPlease enter your Microblog details. Welcome message and background image URL can be left blank.\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 16 65 4 \
1593
+                           $"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 25 25 30 \
1594
+                           $"Welcome Message:" 2 1 "$(grep '$MICROBLOG_WELCOME_MESSAGE' temp.cfg | awk -F '=' '{print $2}')" 2 25 255 30 \
1595
+                           $"Background image URL:" 3 1 "$(grep '$MICROBLOG_BACKGROUND_IMAGE_URL' temp.cfg | awk -F '=' '{print $2}')" 3 25 255 30 \
1590 1596
                            2> $data
1591 1597
                 fi
1592 1598
                 sel=$?
@@ -1599,6 +1605,10 @@ function interactive_configuration {
1599 1605
                 if [ ${#welcome_msg} -gt 1 ]; then
1600 1606
                     MICROBLOG_WELCOME_MESSAGE=$welcome_msg
1601 1607
                 fi
1608
+				img_url=$(cat $data | sed -n 3p)
1609
+                if [ ${#img_url} -gt 1 ]; then
1610
+                    MICROBLOG_BACKGROUND_IMAGE_URL=$img_url
1611
+                fi
1602 1612
                 if [ $MICROBLOG_DOMAIN_NAME ]; then
1603 1613
                     if [[ $MICROBLOG_DOMAIN_NAME == "$HUBZILLA_DOMAIN_NAME" ]]; then
1604 1614
                         MICROBLOG_DOMAIN_NAME=""
@@ -1610,7 +1620,7 @@ function interactive_configuration {
1610 1620
                         dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
1611 1621
                     else
1612 1622
                         if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1613
-                            MICROBLOG_CODE=$(cat $data | sed -n 3p)
1623
+                            MICROBLOG_CODE=$(cat $data | sed -n 4p)
1614 1624
                             if [ ${#MICROBLOG_CODE} -lt 30 ]; then
1615 1625
                                 MICROBLOG_DOMAIN_NAME=
1616 1626
                                 dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
@@ -1880,6 +1890,9 @@ function read_configuration {
1880 1890
         if grep -q "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE; then
1881 1891
             MICROBLOG_WELCOME_MESSAGE=$(grep "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1882 1892
         fi
1893
+        if grep -q "MICROBLOG_BACKGROUND_IMAGE_URL" $CONFIGURATION_FILE; then
1894
+            MICROBLOG_BACKGROUND_IMAGE_URL=$(grep "MICROBLOG_BACKGROUND_IMAGE_URL" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1895
+        fi
1883 1896
         if grep -q "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE; then
1884 1897
             HUBZILLA_DOMAIN_NAME=$(grep "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1885 1898
         fi