]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blame - servers/index.php
Servers: Make ability to rehash selected servers
[irc/unrealircd/unrealircd-webpanel.git] / servers / index.php
CommitLineData
9ffc5134
VP
1<?php
2require_once "../common.php";
3require_once UPATH . "/header.php";
4
721db4c3
VP
5$rehash_errors = [];
6$rehash_warnings = [];
7$rehash_success = [];
8
9if (!empty($_POST) && do_log($_POST))
10 if (isset($_POST['rehash']))
11 foreach ($_POST['serverch'] as $servID)
12 if ($response = $rpc->server()->rehash($servID))
13 {
14 $serb = $rpc->server()->get($servID);
15 do_log($servID, $response);
16 if ($response->success || (!isset($response->success) != false && $response == true))
17 {
18 $rehash_success[] = $serb->name;
19 foreach($response->log as $log)
20 {
21 do_log($log->level);
22 if ($log->level == "warn")
23 $rehash_warnings[$log->log_source][] = $log->msg;
24 }
25 }
26 else if (isset($response->success) && !$response->success)
27 {
28 foreach ($response->log as $log)
29 {
30 if ($log->level == "error")
31 $rehash_errors[$log->log_source][] = $log->msg;
32 }
33 }
34 }
35
9ffc5134
VP
36
37/* Get the server list */
38$servers = $rpc->server()->getAll();
39?>
40<h4>Servers Overview</h4>
721db4c3
VP
41<?php
42 if (isset($_POST['rehash']))
43 {
44 if (!empty($rehash_success))
45 do_log($rehash_success);
46 $servlist_bullet = "<ol>";
47
48 foreach($rehash_success as $serv)
49 {
50 $servlist_bullet .= "<li>$serv</li>";
51 }
52 $servlist_bullet .= "</ol>";
53 $servlist_err_bullet = "";
54 foreach($rehash_errors as $serv => $err)
55 {
56 $servlist_err_bullet .= "<h6>$serv</h6><ol>";
57 foreach($err as $er)
58 $servlist_err_bullet .= "<li>$er</li>";
59 echo "</ol>";
60 }
61 $servlist_warn_bullet = "";
62 foreach($rehash_warnings as $server => $warning)
63 {
64 $servlist_warn_bullet .= "<h6>$serv</h6><ol>";
65 foreach($warning as $w)
66 $servlist_warn_bullet .= "<li>$w</li>";
67 $servlist_warn_bullet .= "</ol>";
68 }
69 if (!empty($rehash_success))
70 Message::Success(
71 "The following server(s) were successfully rehashed:",
72 $servlist_bullet
73 );
74 if (!empty($rehash_warnings))
75 Message::Info(
76 "The following warning(s) were encountered:",
77 $servlist_warn_bullet
78 );
79 if (!empty($rehash_errors))
80 Message::Fail(
81 "The following error(s) were encountered and the server(s) failed to rehash:",
82 $servlist_err_bullet
83 );
84 }
85 if (isset($_POST['sf_name']) && strlen($_POST['sf_name']))
86 Message::Info("Listing servers which match name: \"" . $_POST['sf_name'] . "\"");
9ffc5134 87
721db4c3 88 ?>
9ffc5134
VP
89Click on a server name to view more information.
90
91<div id="Servers">
92
721db4c3 93
ce3de101 94 <table class="container-xxl table table-sm table-responsive caption-top table-striped">
9ffc5134
VP
95 <thead>
96 <th scope="col"><h5>Filter:</h5></th>
97 <form action="" method="post">
98 <th scope="col" colspan="2">Name<input name="sf_name" type="text" class="form-control short-form-control">
ce3de101 99 <th scope="col"> <input class="btn btn-primary btn-sm" type="submit" value="Search"></th></form>
9ffc5134 100 </thead></table>
721db4c3 101 <form action="index.php" method="post"><button type="submit" class="btn btn-info" name="rehash">Rehash Selected</div><br>
ce3de101 102 <table class="container-xxl table table-sm table-responsive caption-top table-striped">
9ffc5134
VP
103 <thead class="table-primary">
104 <th scope="col"><input type="checkbox" label='selectall' onClick="toggle_server(this)" /></th>
105 <th scope="col">Name</th>
11475e36
BM
106 <th scope="col">Users</th>
107 <th scope="col">Version</th>
9ffc5134 108 <th scope="col">Connected to</th>
11475e36 109 <th scope="col">Up since</th>
9ffc5134
VP
110 </thead>
111
112 <tbody>
9ffc5134
VP
113 <?php
114
115 foreach($servers as $server)
116 {
117
118
119 /* Some basic filtering for NAME */
120 if (isset($_POST['sf_name']) && strlen($_POST['sf_name']) &&
121 strpos(strtolower($server->name), strtolower($_POST['sf_name'])) !== 0 &&
122 strpos(strtolower($server->name), strtolower($_POST['sf_name'])) == false)
123 continue;
124
125
126 echo "<tr>";
721db4c3 127 echo "<th scope=\"row\"><input type=\"checkbox\" value='$server->id' name=\"serverch[]\"></th>";
ab64cfc4 128 echo "<td><a href=\"details.php?server=".$server->id."\">$server->name</a></td>";
11475e36 129 echo "<td>".$server->server->num_users."</td>";
9307bb12 130
dca62e70
VP
131 $s = sinfo_conv_version_string($server);
132
9307bb12 133 echo "<td>$s</td>";
11475e36
BM
134 if (isset($server->server->uplink))
135 echo "<td>".$server->server->uplink."</td>";
136 else
137 echo "<td></td>"; /* self */
138 echo "<td>".$server->server->boot_time."</td>";
9ffc5134
VP
139 }
140 ?>
721db4c3 141 </form>
9ffc5134
VP
142 </tbody></table>
143</div>
144
145<?php require_once UPATH.'/footer.php'; ?>