From: Valerie Pond Date: Mon, 16 Jan 2023 05:25:43 +0000 (+0000) Subject: Servers: Make ability to rehash selected servers X-Git-Tag: 0.9~436 X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/commitdiff_plain/721db4c3e1d1cd5cf7be3e542ec44f6eade4404f Servers: Make ability to rehash selected servers --- diff --git a/servers/index.php b/servers/index.php index 0a02a6a..dfe8a4a 100644 --- a/servers/index.php +++ b/servers/index.php @@ -2,24 +2,95 @@ require_once "../common.php"; require_once UPATH . "/header.php"; -if (!empty($_POST)) { - do_log($_POST); -} +$rehash_errors = []; +$rehash_warnings = []; +$rehash_success = []; + +if (!empty($_POST) && do_log($_POST)) + if (isset($_POST['rehash'])) + foreach ($_POST['serverch'] as $servID) + if ($response = $rpc->server()->rehash($servID)) + { + $serb = $rpc->server()->get($servID); + do_log($servID, $response); + if ($response->success || (!isset($response->success) != false && $response == true)) + { + $rehash_success[] = $serb->name; + foreach($response->log as $log) + { + do_log($log->level); + if ($log->level == "warn") + $rehash_warnings[$log->log_source][] = $log->msg; + } + } + else if (isset($response->success) && !$response->success) + { + foreach ($response->log as $log) + { + if ($log->level == "error") + $rehash_errors[$log->log_source][] = $log->msg; + } + } + } + /* Get the server list */ $servers = $rpc->server()->getAll(); ?>

Servers Overview

+"; + + foreach($rehash_success as $serv) + { + $servlist_bullet .= "
  • $serv
  • "; + } + $servlist_bullet .= ""; + $servlist_err_bullet = ""; + foreach($rehash_errors as $serv => $err) + { + $servlist_err_bullet .= "
    $serv
      "; + foreach($err as $er) + $servlist_err_bullet .= "
    1. $er
    2. "; + echo "
    "; + } + $servlist_warn_bullet = ""; + foreach($rehash_warnings as $server => $warning) + { + $servlist_warn_bullet .= "
    $serv
      "; + foreach($warning as $w) + $servlist_warn_bullet .= "
    1. $w
    2. "; + $servlist_warn_bullet .= "
    "; + } + if (!empty($rehash_success)) + Message::Success( + "The following server(s) were successfully rehashed:", + $servlist_bullet + ); + if (!empty($rehash_warnings)) + Message::Info( + "The following warning(s) were encountered:", + $servlist_warn_bullet + ); + if (!empty($rehash_errors)) + Message::Fail( + "The following error(s) were encountered and the server(s) failed to rehash:", + $servlist_err_bullet + ); + } + if (isset($_POST['sf_name']) && strlen($_POST['sf_name'])) + Message::Info("Listing servers which match name: \"" . $_POST['sf_name'] . "\""); + ?> Click on a server name to view more information.
    - + @@ -27,7 +98,7 @@ Click on a server name to view more information.
    Filter:
    Name
    - +

    @@ -39,7 +110,6 @@ Click on a server name to view more information. - "; - echo ""; + echo ""; echo ""; echo ""; @@ -68,6 +138,7 @@ Click on a server name to view more information. echo ""; } ?> +
    id."\">$server->name".$server->server->num_users."".$server->server->boot_time."