From 43cfe1baae06ae65268642fdd72f10acbdac352c Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Wed, 31 Oct 2018 12:30:59 +0000
Subject: [PATCH] Separate function for changing local name

---
 src/freedombone-controlpanel | 13 +------------
 src/freedombone-utils-dns    | 22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/src/freedombone-controlpanel b/src/freedombone-controlpanel
index 4fb006b0b..178c0f72e 100755
--- a/src/freedombone-controlpanel
+++ b/src/freedombone-controlpanel
@@ -1193,18 +1193,7 @@ function change_system_name {
     sel=$?
     case $sel in
         0) NEW_SYSTEM_NAME=$(<"$data")
-           if [ "$NEW_SYSTEM_NAME" ]; then
-               if [ ${#NEW_SYSTEM_NAME} -gt 1 ]; then
-                   sed -i "s|host-name=.*|host-name=$NEW_SYSTEM_NAME|g" /etc/avahi/avahi-daemon.conf
-                   systemctl restart avahi-daemon
-                   if grep -q "host-name=$NEW_SYSTEM_NAME" /etc/avahi/avahi-daemon.conf; then
-                       install_web_admin
-                       systemctl restart webadmin
-                       dialog --title $"New local network name" \
-                              --msgbox $"The name of this system on your local network was changed successfully" 6 70
-                   fi
-               fi
-           fi
+           change_system_local_name "${NEW_SYSTEM_NAME}" interactive
            ;;
     esac
     rm -f "$data"
diff --git a/src/freedombone-utils-dns b/src/freedombone-utils-dns
index 7811f61a5..d8eb7f87a 100755
--- a/src/freedombone-utils-dns
+++ b/src/freedombone-utils-dns
@@ -95,6 +95,28 @@ EXTERNAL_IP_SERVICES=( \
         'http://ipinfo.io/' \
         'http://httpbin.org/ip')
 
+function change_system_local_name {
+    NEW_SYSTEM_NAME="$1"
+    NEW_SYSTEM_NAME_INTERACTIVE="$2"
+
+    if [ "$NEW_SYSTEM_NAME" ]; then
+        if [ ${#NEW_SYSTEM_NAME} -gt 1 ]; then
+            sed -i "s|host-name=.*|host-name=$NEW_SYSTEM_NAME|g" /etc/avahi/avahi-daemon.conf
+            systemctl restart avahi-daemon
+            if grep -q "host-name=$NEW_SYSTEM_NAME" /etc/avahi/avahi-daemon.conf; then
+                install_web_admin
+                systemctl restart webadmin
+                searx_set_base_url
+                systemctl restart searx
+                if [ "$NEW_SYSTEM_NAME_INTERACTIVE" ]; then
+                    dialog --title $"New local network name" \
+                           --msgbox $"The name of this system on your local network was changed successfully" 6 70
+                fi
+            fi
+        fi
+    fi
+}
+
 function enable_mdns {
     # files gw_name myhostname mdns4_minimal [NOTFOUND=return] dns
     sed -i "s|hosts:.*|hosts:          files mdns4_minimal mdns4 mdns dns|g" /etc/nsswitch.conf
-- 
GitLab