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
 MICROBLOG_THEME_REPO="https://git.gnu.io/h2p/Qvitter.git"
200
 MICROBLOG_THEME_REPO="https://git.gnu.io/h2p/Qvitter.git"
201
 MICROBLOG_THEME_COMMIT='8abbdeb3c0a6a34754411452ae832d2f19cef7ab'
201
 MICROBLOG_THEME_COMMIT='8abbdeb3c0a6a34754411452ae832d2f19cef7ab'
202
 MICROBLOG_WELCOME_MESSAGE=$'<h1>Welcome to $MICROBLOG_DOMAIN_NAME – a federated microblog</h1><p>Another Freedombone site</p>'
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
 # Domain name for hubzilla installation
205
 # Domain name for hubzilla installation
205
 HUBZILLA_DOMAIN_NAME=
206
 HUBZILLA_DOMAIN_NAME=
1023
         if [[ $CONFIGURATION_FILE != "/root/${PROJECT_NAME}.cfg" ]]; then
1024
         if [[ $CONFIGURATION_FILE != "/root/${PROJECT_NAME}.cfg" ]]; then
1024
             cp $CONFIGURATION_FILE /root/${PROJECT_NAME}.cfg
1025
             cp $CONFIGURATION_FILE /root/${PROJECT_NAME}.cfg
1025
         fi
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
         if grep -q "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE; then
1030
         if grep -q "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE; then
1027
             MICROBLOG_WELCOME_MESSAGE=$(grep "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1031
             MICROBLOG_WELCOME_MESSAGE=$(grep "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1028
         fi
1032
         fi
8609
         return
8613
         return
8610
     fi
8614
     fi
8611
 
8615
 
8616
+    apt-get -y install wget
8617
+
8612
     if [ ! -d /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins ]; then
8618
     if [ ! -d /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins ]; then
8613
         mkdir -p /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins
8619
         mkdir -p /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins
8614
     fi
8620
     fi
8618
     cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins/Qvitter
8624
     cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins/Qvitter
8619
     git checkout $MICROBLOG_THEME_COMMIT -b $MICROBLOG_THEME_COMMIT
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
     microblog_config_file=/var/www/$MICROBLOG_DOMAIN_NAME/htdocs/config.php
8638
     microblog_config_file=/var/www/$MICROBLOG_DOMAIN_NAME/htdocs/config.php
8622
     if ! grep -q "addPlugin('Qvitter')" $microblog_config_file; then
8639
     if ! grep -q "addPlugin('Qvitter')" $microblog_config_file; then
8623
         MICROBLOG_WELCOME_MESSAGE=$(echo $MICROBLOG_WELCOME_MESSAGE | sed "s|\$MICROBLOG_DOMAIN_NAME|$MICROBLOG_DOMAIN_NAME|g")
8640
         MICROBLOG_WELCOME_MESSAGE=$(echo $MICROBLOG_WELCOME_MESSAGE | sed "s|\$MICROBLOG_DOMAIN_NAME|$MICROBLOG_DOMAIN_NAME|g")
8630
         echo "\$config['site']['qvitter']['timebetweenpolling'] = 120000; // two minutes" >> $microblog_config_file
8647
         echo "\$config['site']['qvitter']['timebetweenpolling'] = 120000; // two minutes" >> $microblog_config_file
8631
         echo "\$config['site']['qvitter']['urlshortenerapiurl'] = 'http://qttr.at/shortener.php';" >> $microblog_config_file
8648
         echo "\$config['site']['qvitter']['urlshortenerapiurl'] = 'http://qttr.at/shortener.php';" >> $microblog_config_file
8632
         echo "\$config['site']['qvitter']['urlshortenersignature'] = 'b6afeec983';" >> $microblog_config_file
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
         echo "\$config['site']['qvitter']['favicon'] = 'img/favicon.ico?v=4';" >> $microblog_config_file
8655
         echo "\$config['site']['qvitter']['favicon'] = 'img/favicon.ico?v=4';" >> $microblog_config_file
8635
         echo "\$config['site']['qvitter']['sprite'] = Plugin::staticPath('Qvitter', '').'img/sprite.png?v=40';" >> $microblog_config_file
8656
         echo "\$config['site']['qvitter']['sprite'] = Plugin::staticPath('Qvitter', '').'img/sprite.png?v=40';" >> $microblog_config_file
8636
         echo "\$config['site']['qvitter']['enablewelcometext'] = true;" >> $microblog_config_file
8657
         echo "\$config['site']['qvitter']['enablewelcometext'] = true;" >> $microblog_config_file
8639
         echo "\$config['site']['qvitter']['customwelcometext']['fr'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8660
         echo "\$config['site']['qvitter']['customwelcometext']['fr'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8640
         echo "\$config['site']['qvitter']['customwelcometext']['es'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8661
         echo "\$config['site']['qvitter']['customwelcometext']['es'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8641
         echo "\$config['site']['qvitter']['blocked_ips'] = array();" >> $microblog_config_file
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
     fi
8667
     fi
8643
 
8668
 
8644
     if ! grep -q "GNU Social theme commit" $COMPLETION_FILE; then
8669
     if ! grep -q "GNU Social theme commit" $COMPLETION_FILE; then

+ 21
- 8
src/freedombone-config View File

96
 MICROBLOG_DOMAIN_NAME=
96
 MICROBLOG_DOMAIN_NAME=
97
 MICROBLOG_CODE=
97
 MICROBLOG_CODE=
98
 MICROBLOG_WELCOME_MESSAGE=$"<h1>Welcome to \$MICROBLOG_DOMAIN_NAME – a federated microblog</h1><p>Another $PROJECT_NAME site</p>"
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
 GIT_DOMAIN_NAME=
100
 GIT_DOMAIN_NAME=
100
 GIT_CODE=
101
 GIT_CODE=
101
 MEDIAGOBLIN_DOMAIN_NAME=
102
 MEDIAGOBLIN_DOMAIN_NAME=
261
     if [ $MICROBLOG_WELCOME_MESSAGE ]; then
262
     if [ $MICROBLOG_WELCOME_MESSAGE ]; then
262
         echo "MICROBLOG_WELCOME_MESSAGE=$MICROBLOG_WELCOME_MESSAGE" >> $CONFIGURATION_FILE
263
         echo "MICROBLOG_WELCOME_MESSAGE=$MICROBLOG_WELCOME_MESSAGE" >> $CONFIGURATION_FILE
263
     fi
264
     fi
265
+    if [ $MICROBLOG_BACKGROUND_IMAGE_URL ]; then
266
+        echo "MICROBLOG_BACKGROUND_IMAGE_URL=$MICROBLOG_BACKGROUND_IMAGE_URL" >> $CONFIGURATION_FILE
267
+    fi
264
     if [ $GIT_DOMAIN_NAME ]; then
268
     if [ $GIT_DOMAIN_NAME ]; then
265
         echo "GIT_DOMAIN_NAME=$GIT_DOMAIN_NAME" >> $CONFIGURATION_FILE
269
         echo "GIT_DOMAIN_NAME=$GIT_DOMAIN_NAME" >> $CONFIGURATION_FILE
266
     fi
270
     fi
1576
                 if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1580
                 if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1577
                     dialog --backtitle $"Freedombone Configuration" \
1581
                     dialog --backtitle $"Freedombone Configuration" \
1578
                            --title $"Microblog Configuration" \
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
                            2> $data
1588
                            2> $data
1584
                 else
1589
                 else
1585
                     dialog --backtitle $"Freedombone Configuration" \
1590
                     dialog --backtitle $"Freedombone Configuration" \
1586
                            --title $"Microblog Configuration" \
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
                            2> $data
1596
                            2> $data
1591
                 fi
1597
                 fi
1592
                 sel=$?
1598
                 sel=$?
1599
                 if [ ${#welcome_msg} -gt 1 ]; then
1605
                 if [ ${#welcome_msg} -gt 1 ]; then
1600
                     MICROBLOG_WELCOME_MESSAGE=$welcome_msg
1606
                     MICROBLOG_WELCOME_MESSAGE=$welcome_msg
1601
                 fi
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
                 if [ $MICROBLOG_DOMAIN_NAME ]; then
1612
                 if [ $MICROBLOG_DOMAIN_NAME ]; then
1603
                     if [[ $MICROBLOG_DOMAIN_NAME == "$HUBZILLA_DOMAIN_NAME" ]]; then
1613
                     if [[ $MICROBLOG_DOMAIN_NAME == "$HUBZILLA_DOMAIN_NAME" ]]; then
1604
                         MICROBLOG_DOMAIN_NAME=""
1614
                         MICROBLOG_DOMAIN_NAME=""
1610
                         dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
1620
                         dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
1611
                     else
1621
                     else
1612
                         if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
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
                             if [ ${#MICROBLOG_CODE} -lt 30 ]; then
1624
                             if [ ${#MICROBLOG_CODE} -lt 30 ]; then
1615
                                 MICROBLOG_DOMAIN_NAME=
1625
                                 MICROBLOG_DOMAIN_NAME=
1616
                                 dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
1626
                                 dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
1880
         if grep -q "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE; then
1890
         if grep -q "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE; then
1881
             MICROBLOG_WELCOME_MESSAGE=$(grep "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1891
             MICROBLOG_WELCOME_MESSAGE=$(grep "MICROBLOG_WELCOME_MESSAGE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1882
         fi
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
         if grep -q "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE; then
1896
         if grep -q "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE; then
1884
             HUBZILLA_DOMAIN_NAME=$(grep "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1897
             HUBZILLA_DOMAIN_NAME=$(grep "HUBZILLA_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1885
         fi
1898
         fi