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