From 875bb191e7829e2e8d2f39da33bd2c723610f124 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Wed, 21 Mar 2018 22:43:23 +0000
Subject: [PATCH] Ensure that registrations are not re-enabled by upgrades

---
 src/freedombone-app-pleroma | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma
index a21ab5ec..65596fe2 100755
--- a/src/freedombone-app-pleroma
+++ b/src/freedombone-app-pleroma
@@ -245,7 +245,6 @@ function pleroma_recompile {
     if [ -f /etc/systemd/system/pleroma.service ]; then
         systemctl restart pleroma
     fi
-
 }
 
 function logging_on_pleroma {
@@ -724,6 +723,11 @@ function upgrade_pleroma {
         return
     fi
 
+    pleroma_registrations=open
+    if grep -q 'registrations_open: false' $PLEROMA_DIR/config/config.exs; then
+        pleroma_registrations=
+    fi
+
     # make a copy of the configuration
     cp $PLEROMA_DIR/priv/static/static/config.json $PLEROMA_DIR/priv/static/static/config_prev.json
 
@@ -751,6 +755,11 @@ function upgrade_pleroma {
 
     sudo -u pleroma mix deps.get
 
+    if [ ! $pleroma_registrations ]; then
+        sed -i 's|registrations_open: true|registrations_open: false|g' $PLEROMA_DIR/config/config.exs
+        sed -i 's|registrations_open: True|registrations_open: false|g' $PLEROMA_DIR/config/config.exs
+    fi
+
     pleroma_recompile
 
     # migrate database
@@ -1180,6 +1189,13 @@ function install_pleroma {
     sed -i 's|registrations_open:.*|registrations_open: true,|g' $PLEROMA_DIR/config/config.exs
     sed -i 's|"registrationOpen":.*|"registrationOpen": true,|g' $PLEROMA_DIR/priv/static/static/config.json
 
+    if ! grep -q "media_proxy" $PLEROMA_DIR/priv/static/static/config.json; then
+        sed -i '/"name":/a "media_proxy": false,' $PLEROMA_DIR/priv/static/static/config.json
+        sed -i 's|"media_proxy"|  "media_proxy"|g' $PLEROMA_DIR/priv/static/static/config.json
+    else
+        sed -i 's|"media_proxy".*|"media_proxy": false,|g' $PLEROMA_DIR/priv/static/static/config.json
+    fi
+
     systemctl daemon-reload
     systemctl enable pleroma
     systemctl start pleroma