]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blobdiff - settings/rpc-servers.php
fix search results looking awkward from overview page
[irc/unrealircd/unrealircd-webpanel.git] / settings / rpc-servers.php
index 7cb318917543790e730f648a55f232dda0774b8d..6ab87babedca91b60101c6b283ec12aad8ecc346 100644 (file)
@@ -2,33 +2,13 @@
 require_once "../inc/common.php";
 require_once "../inc/header.php";
 
-/* Ensure at least 1 server is default */
-function set_at_least_one_default_server()
-{
-       GLOBAL $config;
-
-       $has_default_server = false;
-       foreach ($config["unrealircd"] as $name=>$e)
-               if ($e["default"])
-                       $has_default_server = true;
-       if (!$has_default_server)
-       {
-               /* Make first server in the list the default */
-               foreach ($config["unrealircd"] as $name=>$e)
-               {
-                       $config["unrealircd"][$name]["default"] = true;
-                       break;
-               }
-       }
-}
-
 if (isset($_POST['do_del_server']))
 {
        $server = $_POST['del_server_name'] ?? null;
        if (isset($config["unrealircd"][$server]))
        {
                unset($config["unrealircd"][$server]);
-               set_at_least_one_default_server();
+               set_at_least_one_default_rpc_server();
                write_config("unrealircd");
        } else {
                Message::Fail("Delete failed: could not find server");
@@ -78,15 +58,9 @@ if (isset($_POST['do_add_server']))
        }
 
        if ($new_properties["default"])
-       {
-               /* Mark all other servers as non-default */
-               foreach ($config["unrealircd"] as $name=>$e)
-                       if ($name != $opts->rpc_displayname)
-                               $config["unrealircd"][$name]["default"] = false;
-       } else {
-               /* Ensure at least 1 server is default */
-               set_at_least_one_default_server();
-       }
+               set_default_rpc_server($opts->rpc_displayname);
+       else
+               set_at_least_one_default_rpc_server();
 
        /* And write the new config */
        write_config();
@@ -248,7 +222,10 @@ border-radius: 3px;
        </thead>
        <tbody>
        <?php
-               foreach($config['unrealircd'] as $name=>$e)
+               $servers = get_config('unrealircd');
+               if (!$servers)
+                       $servers = [];
+               foreach($servers as $name=>$e)
                {
                        $primary = "";
                        if (isset($e["default"]) && $e["default"])
@@ -293,7 +270,7 @@ border-radius: 3px;
        /* The RPC connection tester! */
        function test_rpc_server()
        {
-               fetch(<?php echo get_config("base_url"); ?> + 'api/test_rpc_server.php', {
+               fetch('<?php echo get_config("base_url"); ?>' + 'api/test_rpc_server.php', {
                      method:'POST',
                      headers: {'Content-Type':'application/x-www-form-urlencoded'},
                      body: 'method=rpc&'+