]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blob - servers/details.php
Fix del_usermeta() not working for both sql_db and file_db
[irc/unrealircd/unrealircd-webpanel.git] / servers / details.php
1 <?php
2 require_once "../inc/common.php";
3 require_once "../inc/connection.php";
4 require_once "../inc/header.php";
5
6 $title = "Server Lookup";
7 $servername = "";
8 $srv = NULL;
9
10 $rehash_errors = [];
11 $rehash_warnings = [];
12 $rehash_success = [];
13
14 if (isset($_POST))
15 {
16 if (isset($_POST['rehash']))
17 {
18 $servID = $_POST['rehash'];
19 if ($response = $rpc->server()->rehash($servID))
20 {
21 $serb = $rpc->server()->get($servID);
22 do_log($servID, $response);
23 if ($response->success || (!isset($response->success) != false && $response == true))
24 {
25 $rehash_success[] = $serb->name;
26 foreach($response->log as $log)
27 {
28 do_log($log->level);
29 if ($log->level == "warn")
30 $rehash_warnings[$log->log_source][] = $log->msg;
31 }
32 }
33 else if (isset($response->success) && !$response->success)
34 {
35 foreach ($response->log as $log)
36 {
37 if ($log->level == "error")
38 $rehash_errors[$log->log_source][] = $log->msg;
39 }
40 }
41 }
42 }
43 if (isset($_POST['disconnect']))
44 {
45 if ($rpc->server()->disconnect($_POST['disconnect'], $_POST['reason']))
46 Message::Success("Server \"".$_POST['disconnect']."\" has been successfully disconnected from the network.");
47 else
48 Message::Fail((isset($rpc->error)) ? $rpc->error : "No error");
49 }
50
51 }
52 if (isset($_GET['server']))
53 {
54 $servername = $_GET['server'];
55 $srv = $rpc->server()->get($servername);
56
57 if (!$srv)
58 {
59 Message::Fail("Could not find server: \"$servername\"");
60 }
61 else {
62 do_log($srv);
63 $servername = $srv->name;
64 $title .= " for \"" . $servername . "\"";
65 }
66 }
67 if (!empty($rehash_success)) {
68 do_log($rehash_success);
69 $servlist_bullet = "<ol>";
70
71 foreach ($rehash_success as $serv) {
72 $servlist_bullet .= "<li>$serv</li>";
73 }
74 $servlist_bullet .= "</ol>";
75 $servlist_err_bullet = "";
76 foreach ($rehash_errors as $serv => $err) {
77 $servlist_err_bullet .= "<h6>$serv</h6><ol>";
78 foreach ($err as $er)
79 $servlist_err_bullet .= "<li>$er</li>";
80 echo "</ol>";
81 }
82 $servlist_warn_bullet = ""; foreach ($rehash_warnings as $server => $warning) {
83 $servlist_warn_bullet .= "<h6>$serv</h6><ol>";
84 foreach ($warning as $w)
85 $servlist_warn_bullet .= "<li>$w</li>";
86 $servlist_warn_bullet .= "</ol>";
87 }
88 if (!empty($rehash_success))
89 Message::Success(
90 "The following server(s) were successfully rehashed:",
91 $servlist_bullet
92 );
93 if (!empty($rehash_warnings))
94 Message::Warning(
95 "The following warning(s) were encountered:",
96 $servlist_warn_bullet
97 );
98 if (!empty($rehash_errors))
99 Message::Fail(
100 "The following error(s) were encountered and the server(s) failed to rehash:",
101 $servlist_err_bullet
102 );
103 }
104 ?>
105 <title><?php echo $title; ?></title>
106 <h4><?php echo $title; ?></h4>
107 <br>
108 <form method="get" action="details.php">
109 <div class="input-group short-form-control">
110 <input class="short-form-control" id="server" name="server" type="text" value=<?php echo $servername; ?>>
111 <div class="input-group-append">
112 <br><button type="submit" class="btn btn-primary">Go</button>
113 </div>
114 </div>
115 </form>
116
117 <?php if (!$srv)
118 return;
119 ?>
120 <br>
121 <div class="modal fade" id="disconnect_modal" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true">
122 <div class="modal-dialog modal-dialog-centered" role="document">
123 <div class="modal-content">
124 <div class="modal-header">
125 <h5 class="modal-title" id="myModalLabel">Disconnect Server</h5>
126 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
127 <span aria-hidden="true">&times;</span>
128 </button>
129 </div>
130 <div class="modal-body">
131 <form method="post">
132 Please enter a reason for disconnecting "<?php echo $srv->name; ?>"?
133 <input type="text" class="short-form-control form-control" id="reason" name="reason" value="No reason">
134 </div>
135 <div class="modal-footer">
136 <input type="hidden" id="server" name="disconnect" value="<?php echo $srv->name; ?>"></input>
137 <button id="CloseButton" type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
138 <button type="submit" action="post" class="btn btn-danger">Disconnect</button>
139 </form>
140 </div>
141 </div>
142 </div>
143 </div>
144
145 <div class="modal fade" id="rehash_modal" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true">
146 <div class="modal-dialog modal-dialog-centered" role="document">
147 <div class="modal-content">
148 <div class="modal-header">
149 <h5 class="modal-title" id="myModalLabel">Rehash Server</h5>
150 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
151 <span aria-hidden="true">&times;</span>
152 </button>
153 </div>
154 <div class="modal-body">
155 <form method="post">
156 Are you sure you want to rehash <?php echo $srv->name; ?>?
157 </div>
158 <div class="modal-footer">
159 <input type="hidden" id="server" name="rehash" value="<?php echo $srv->name; ?>"></input>
160 <button id="CloseButton" type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
161 <button type="submit" action="post" class="btn btn-primary">Rehash</button>
162 </form>
163 </div>
164 </div>
165 </div>
166 </div>
167
168 <div class="modal fade" id="module_modal" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true">
169 <div class="modal-dialog modal-lg modal-dialog-scrollable modal-dialog-centered container-fluid" role="document">
170 <div class="modal-content">
171 <div class="modal-header">
172 <h5 class="modal-title" id="myModalLabel">Server Modules</h5>
173 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
174 <span aria-hidden="true">&times;</span>
175 </button>
176 </div>
177 <div class="modal-body">
178 <?php generate_html_modlist($srv); ?>
179 </div>
180 <div class="modal-footer">
181 <button id="CloseButton" action="post" type="submit" class="btn btn-secondary" data-dismiss="modal">Close</button>
182 </div>
183 </div>
184 </div>
185 </div>
186
187 <div class="modal fade" id="module_modal" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true">
188 <div class="modal-dialog modal-lg modal-dialog-scrollable modal-dialog-centered container-fluid" role="document">
189 <div class="modal-content">
190 <div class="modal-header">
191 <h5 class="modal-title" id="myModalLabel">Rehash Server"</h5>
192 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
193 <span aria-hidden="true">&times;</span>
194 </button>
195 </div>
196 <div class="modal-body">
197 <?php generate_html_modlist($srv); ?>
198 </div>
199 <div class="modal-footer">
200 <button id="CloseButton" action="post" type="submit" class="btn btn-secondary" data-dismiss="modal">Close</button>
201 </div>
202 </div>
203 </div>
204 </div>
205
206 <div class="row">
207 <div class="col-sm-3">
208 <div class="btn btn-sm btn-info" data-toggle="modal" data-target="#module_modal">Modules</div>
209 <div class="btn btn-sm btn-warning" data-toggle="modal" data-target="#rehash_modal">Rehash</div>
210 <div class="btn btn-sm btn-danger" data-toggle="modal" data-target="#disconnect_modal">Disconnect</div>
211 </div>
212 </div>
213 <br>
214 <div class="row">
215 <div class="col-sm-3">
216 <div class="card mb-4">
217 <div class="card-body">
218 <h5 class="card-title">Basic Information</h5>
219 <p class="card-text"><?php generate_html_serverinfo($srv); ?></p>
220 </div>
221 </div>
222 <div class="card mb-4">
223 <div class="card-body">
224 <h5 class="card-title">Extra Information</h5>
225 <p class="card-text"><?php generate_html_extserverinfo($srv); ?></p>
226 </div>
227 </div>
228 </div>
229
230 <div class="col">
231 <div class="card mb-4">
232 <div class="card-body">
233 <h5 class="card-title">Channel Modes</h5>
234 <p class="card-text"><?php generate_html_servermodes($srv); ?></p>
235 </div>
236 </div>
237 </div>
238 <div class="col">
239 <div class="card mb-4">
240 <div class="card-body">
241 <h5 class="card-title">User Modes</h5>
242 <p class="card-text"><?php generate_html_usermodes($srv); ?></p>
243 </div>
244 </div>
245 </div>
246 </div>
247 <?php require_once UPATH.'/inc/footer.php'; ?>