2 require_once "../inc/common.php";
3 require_once "../inc/header.php";
4 require_once "../inc/connection.php";
6 $can_rehash = current_user_can(PERMISSION_REHASH
);
14 if (isset($_POST['rehash']) && $can_rehash)
15 foreach ($_POST['serverch'] as $servID)
16 if ($response = $rpc->server()->rehash($servID))
18 $serb = $rpc->server()->get($servID);
19 do_log($servID, $response);
20 if ($response->success
|| (!isset($response->success
) != false && $response == true))
22 $rehash_success[] = $serb->name
;
23 foreach($response->log
as $log)
26 if ($log->level
== "warn")
27 $rehash_warnings[$log->log_source
][] = $log->msg
;
30 else if (isset($response->success
) && !$response->success
)
32 foreach ($response->log
as $log)
34 if ($log->level
== "error")
35 $rehash_errors[$log->log_source
][] = $log->msg
;
40 $checkforupdates = (isset($_POST['checkforupdates'])) ? true : false;
41 /* Get the server list */
42 $servers = $rpc->server()->getAll();
46 $latest = get_unreal_latest_version();
49 <h4
>Servers Overview
</h4
>
51 if (isset($_POST['rehash']))
53 if (!empty($rehash_success)) {
54 do_log($rehash_success);
55 $servlist_bullet = "<ol>";
57 foreach ($rehash_success as $serv) {
58 $servlist_bullet .= "<li>$serv</li>";
60 $servlist_bullet .= "</ol>";
61 $servlist_err_bullet = "";
62 foreach ($rehash_errors as $serv => $err) {
63 $servlist_err_bullet .= "<h6>$serv</h6><ol>";
65 $servlist_err_bullet .= "<li>$er</li>";
68 $servlist_warn_bullet = ""; foreach ($rehash_warnings as $server => $warning) {
69 $servlist_warn_bullet .= "<h6>$serv</h6><ol>";
70 foreach ($warning as $w)
71 $servlist_warn_bullet .= "<li>$w</li>";
72 $servlist_warn_bullet .= "</ol>";
74 if (!empty($rehash_success))
76 "The following server(s) were successfully rehashed:",
79 if (!empty($rehash_warnings))
81 "The following warning(s) were encountered:",
84 if (!empty($rehash_errors))
86 "The following error(s) were encountered and the server(s) failed to rehash:",
91 if (isset($_POST['sf_name']) && strlen($_POST['sf_name']))
92 Message
::Info("Listing servers which match name: \"" . $_POST['sf_name'] . "\"");
95 Click on a server name to view more information
.
100 <table
class="container-xxl table table-sm table-responsive caption-top table-striped">
101 <thead
class="table-primary">
102 <th scope
="col"><h5
>Filter
:</h5
></th
>
103 <form action
="" method
="post">
104 <th scope
="col" colspan
="2">Name
: <input name
="sf_name" type
="text" class="short-form-control">
105 <th scope
="col"> <input
class="btn btn-primary btn-sm" type
="submit" value
="Search"></th
></form
>
107 <form action
="index.php" method
="post">
108 <div
class="btn btn-sm btn-warning <?php echo $can_rehash ? "" : "disabled
" ?>" data
-toggle
="modal" data
-target
="#rehash_modal"><i
class="fa-solid fa-arrows-rotate"></i
> Rehash Selected
</div
>
109 <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
>
111 <div
class="modal fade" id
="rehash_modal" tabindex
="-1" role
="dialog" aria
-labelledby
="confirmModalCenterTitle" aria
-hidden
="true">
112 <div
class="modal-dialog modal-dialog-centered" role
="document">
113 <div
class="modal-content">
114 <div
class="modal-header">
115 <h5
class="modal-title" id
="myModalLabel">Rehash Selected Servers
</h5
>
116 <button type
="button" class="close" data
-dismiss
="modal" aria
-label
="Close">
117 <span aria
-hidden
="true">×
;</span
>
120 <div
class="modal-body">
121 Are you sure you want to rehash the selected servers
?
123 <div
class="modal-footer">
124 <button id
="CloseButton" type
="button" class="btn btn-secondary" data
-dismiss
="modal">Cancel
</button
>
125 <button type
="submit" class="btn btn-primary" name
="rehash">Rehash Selected
</button
>
130 <table
class="container-xxl table table-sm table-responsive caption-top table-striped">
131 <thead
class="table-primary">
132 <th scope
="col"><input type
="checkbox" label
='selectall' onClick
="toggle_server(this)" /></th
>
133 <th scope
="col">Name
</th
>
134 <th scope
="col">Users
</th
>
135 <th scope
="col">Version
</th
>
136 <th scope
="col">Connected to
</th
>
137 <th scope
="col">Up since
</th
>
143 foreach($servers as $server)
147 /* Some basic filtering for NAME */
148 if (isset($_POST['sf_name']) && strlen($_POST['sf_name']) &&
149 strpos(strtolower($server->name
), strtolower($_POST['sf_name'])) !== 0 &&
150 strpos(strtolower($server->name
), strtolower($_POST['sf_name'])) == false)
154 if ($checkforupdates && $latest)
157 $tok = split($server->server
->features
->software
, "-");
158 if (!strcasecmp($tok[0],"unrealircd"))
160 if ($latest > $tok[1])
161 $update = " <i class=\"fa-solid fa-cloud-arrow-down\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Upgrade available!\"></i>";
166 echo "<th scope=\"row\"><input type=\"checkbox\" value='$server->id' name=\"serverch[]\"></th>";
167 echo "<td><a href=\"details.php?server=".$server->id
."\">$server->name</a> $update</td>";
168 echo "<td>".$server->server
->num_users
."</td>";
170 $s = sinfo_conv_version_string($server);
173 if (isset($server->server
->uplink
))
174 echo "<td>".$server->server
->uplink
."</td>";
176 echo "<td></td>"; /* self */
177 echo "<td>".$server->server
->boot_time
."</td>";
184 <?php
require_once UPATH
.'/inc/footer.php'; ?>