]>
Commit | Line | Data |
---|---|---|
9ffc5134 | 1 | <?php |
c06c1713 | 2 | require_once "../inc/common.php"; |
c06c1713 | 3 | require_once "../inc/header.php"; |
e38f7458 | 4 | require_once "../inc/connection.php"; |
9ffc5134 | 5 | |
721db4c3 VP |
6 | $rehash_errors = []; |
7 | $rehash_warnings = []; | |
8 | $rehash_success = []; | |
9 | ||
9c968544 VP |
10 | if (!empty($_POST)) |
11 | { | |
12 | do_log($_POST); | |
721db4c3 VP |
13 | if (isset($_POST['rehash'])) |
14 | foreach ($_POST['serverch'] as $servID) | |
15 | if ($response = $rpc->server()->rehash($servID)) | |
16 | { | |
17 | $serb = $rpc->server()->get($servID); | |
18 | do_log($servID, $response); | |
19 | if ($response->success || (!isset($response->success) != false && $response == true)) | |
20 | { | |
21 | $rehash_success[] = $serb->name; | |
22 | foreach($response->log as $log) | |
23 | { | |
24 | do_log($log->level); | |
25 | if ($log->level == "warn") | |
26 | $rehash_warnings[$log->log_source][] = $log->msg; | |
27 | } | |
28 | } | |
29 | else if (isset($response->success) && !$response->success) | |
30 | { | |
31 | foreach ($response->log as $log) | |
32 | { | |
33 | if ($log->level == "error") | |
34 | $rehash_errors[$log->log_source][] = $log->msg; | |
35 | } | |
36 | } | |
37 | } | |
9c968544 | 38 | } |
d72d1923 | 39 | $checkforupdates = (isset($_POST['checkforupdates'])) ? true : false; |
9ffc5134 VP |
40 | /* Get the server list */ |
41 | $servers = $rpc->server()->getAll(); | |
d72d1923 VP |
42 | $latest = 0; |
43 | if ($checkforupdates) | |
44 | { | |
45 | $latest = get_unreal_latest_version(); | |
46 | } | |
9ffc5134 VP |
47 | ?> |
48 | <h4>Servers Overview</h4> | |
721db4c3 VP |
49 | <?php |
50 | if (isset($_POST['rehash'])) | |
51 | { | |
1bc2dc2c VP |
52 | if (!empty($rehash_success)) { |
53 | do_log($rehash_success); | |
54 | $servlist_bullet = "<ol>"; | |
55 | ||
56 | foreach ($rehash_success as $serv) { | |
57 | $servlist_bullet .= "<li>$serv</li>"; | |
58 | } | |
59 | $servlist_bullet .= "</ol>"; | |
60 | $servlist_err_bullet = ""; | |
61 | foreach ($rehash_errors as $serv => $err) { | |
62 | $servlist_err_bullet .= "<h6>$serv</h6><ol>"; | |
63 | foreach ($err as $er) | |
64 | $servlist_err_bullet .= "<li>$er</li>"; | |
65 | echo "</ol>"; | |
66 | } | |
67 | $servlist_warn_bullet = ""; foreach ($rehash_warnings as $server => $warning) { | |
68 | $servlist_warn_bullet .= "<h6>$serv</h6><ol>"; | |
69 | foreach ($warning as $w) | |
70 | $servlist_warn_bullet .= "<li>$w</li>"; | |
71 | $servlist_warn_bullet .= "</ol>"; | |
72 | } | |
721db4c3 | 73 | if (!empty($rehash_success)) |
1bc2dc2c VP |
74 | Message::Success( |
75 | "The following server(s) were successfully rehashed:", | |
76 | $servlist_bullet | |
77 | ); | |
78 | if (!empty($rehash_warnings)) | |
79 | Message::Warning( | |
80 | "The following warning(s) were encountered:", | |
81 | $servlist_warn_bullet | |
82 | ); | |
83 | if (!empty($rehash_errors)) | |
84 | Message::Fail( | |
85 | "The following error(s) were encountered and the server(s) failed to rehash:", | |
86 | $servlist_err_bullet | |
87 | ); | |
88 | } | |
721db4c3 VP |
89 | } |
90 | if (isset($_POST['sf_name']) && strlen($_POST['sf_name'])) | |
91 | Message::Info("Listing servers which match name: \"" . $_POST['sf_name'] . "\""); | |
9ffc5134 | 92 | |
721db4c3 | 93 | ?> |
9ffc5134 VP |
94 | Click on a server name to view more information. |
95 | ||
96 | <div id="Servers"> | |
97 | ||
721db4c3 | 98 | |
ce3de101 | 99 | <table class="container-xxl table table-sm table-responsive caption-top table-striped"> |
c69491f1 | 100 | <thead class="table-primary"> |
9ffc5134 VP |
101 | <th scope="col"><h5>Filter:</h5></th> |
102 | <form action="" method="post"> | |
1bad309d | 103 | <th scope="col" colspan="2">Name: <input name="sf_name" type="text" class="short-form-control"> |
ce3de101 | 104 | <th scope="col"> <input class="btn btn-primary btn-sm" type="submit" value="Search"></th></form> |
9ffc5134 | 105 | </thead></table> |
d72d1923 VP |
106 | <form action="index.php" method="post"> |
107 | <div class="btn btn-sm btn-warning" data-toggle="modal" data-target="#rehash_modal"><i class="fa-solid fa-arrows-rotate"></i> Rehash Selected</div> | |
108 | <button name="checkforupdates" type="submit" class="btn btn-sm btn-info"><i class="fa-solid fa-cloud-arrow-down"></i> Check for upgrades</div><br> | |
1bc2dc2c VP |
109 | |
110 | <div class="modal fade" id="rehash_modal" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true"> | |
111 | <div class="modal-dialog modal-dialog-centered" role="document"> | |
112 | <div class="modal-content"> | |
d72d1923 VP |
113 | <div class="modal-header"> |
114 | <h5 class="modal-title" id="myModalLabel">Rehash Selected Servers</h5> | |
115 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"> | |
116 | <span aria-hidden="true">×</span> | |
117 | </button> | |
118 | </div> | |
119 | <div class="modal-body"> | |
120 | Are you sure you want to rehash the selected servers? | |
121 | </div> | |
122 | <div class="modal-footer"> | |
123 | <button id="CloseButton" type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button> | |
124 | <button type="submit" class="btn btn-primary" name="rehash">Rehash Selected</button> | |
125 | </div> | |
1bc2dc2c VP |
126 | </div> |
127 | </div> | |
128 | </div> | |
ce3de101 | 129 | <table class="container-xxl table table-sm table-responsive caption-top table-striped"> |
9ffc5134 VP |
130 | <thead class="table-primary"> |
131 | <th scope="col"><input type="checkbox" label='selectall' onClick="toggle_server(this)" /></th> | |
132 | <th scope="col">Name</th> | |
11475e36 BM |
133 | <th scope="col">Users</th> |
134 | <th scope="col">Version</th> | |
9ffc5134 | 135 | <th scope="col">Connected to</th> |
11475e36 | 136 | <th scope="col">Up since</th> |
9ffc5134 VP |
137 | </thead> |
138 | ||
139 | <tbody> | |
9ffc5134 VP |
140 | <?php |
141 | ||
142 | foreach($servers as $server) | |
143 | { | |
144 | ||
145 | ||
146 | /* Some basic filtering for NAME */ | |
147 | if (isset($_POST['sf_name']) && strlen($_POST['sf_name']) && | |
148 | strpos(strtolower($server->name), strtolower($_POST['sf_name'])) !== 0 && | |
149 | strpos(strtolower($server->name), strtolower($_POST['sf_name'])) == false) | |
150 | continue; | |
151 | ||
d72d1923 VP |
152 | $update = ""; |
153 | if ($checkforupdates && $latest) | |
154 | { | |
155 | ||
156 | $tok = split($server->server->features->software, "-"); | |
157 | if (!strcasecmp($tok[0],"unrealircd")) | |
158 | { | |
159 | if ($latest > $tok[1]) | |
160 | $update = " <i class=\"fa-solid fa-cloud-arrow-down\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Upgrade available!\"></i>"; | |
161 | } | |
162 | } | |
9ffc5134 VP |
163 | |
164 | echo "<tr>"; | |
721db4c3 | 165 | echo "<th scope=\"row\"><input type=\"checkbox\" value='$server->id' name=\"serverch[]\"></th>"; |
d72d1923 | 166 | echo "<td><a href=\"details.php?server=".$server->id."\">$server->name</a> $update</td>"; |
11475e36 | 167 | echo "<td>".$server->server->num_users."</td>"; |
9307bb12 | 168 | |
dca62e70 | 169 | $s = sinfo_conv_version_string($server); |
d72d1923 | 170 | |
9307bb12 | 171 | echo "<td>$s</td>"; |
11475e36 BM |
172 | if (isset($server->server->uplink)) |
173 | echo "<td>".$server->server->uplink."</td>"; | |
174 | else | |
175 | echo "<td></td>"; /* self */ | |
176 | echo "<td>".$server->server->boot_time."</td>"; | |
9ffc5134 VP |
177 | } |
178 | ?> | |
721db4c3 | 179 | </form> |
9ffc5134 VP |
180 | </tbody></table> |
181 | </div> | |
182 | ||
c06c1713 | 183 | <?php require_once UPATH.'/inc/footer.php'; ?> |