]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blob - servers/details.php
Fix plugins view (they're flex anyway, what was I thinking)
[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 {
119 require_once UPATH.'/inc/footer.php';
120 return;
121 }
122 ?>
123 <br>
124 <div class="row">
125 <div class="col-sm-3">
126 <div class="btn btn-sm btn-warning" data-toggle="modal" data-target="#rehash_modal">Rehash</div>
127 <div class="btn btn-sm btn-danger" data-toggle="modal" data-target="#disconnect_modal">Disconnect</div>
128 </div>
129 </div>
130 <br>
131 <div class="modal fade" id="disconnect_modal" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true">
132 <div class="modal-dialog modal-dialog-centered" role="document">
133 <div class="modal-content">
134 <div class="modal-header">
135 <h5 class="modal-title" id="myModalLabel">Disconnect Server</h5>
136 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
137 <span aria-hidden="true">&times;</span>
138 </button>
139 </div>
140 <div class="modal-body">
141 <form method="post">
142 Please enter a reason for disconnecting "<?php echo $srv->name; ?>"?
143 <input type="text" class="short-form-control form-control" id="reason" name="reason" value="No reason">
144 </div>
145 <div class="modal-footer">
146 <input type="hidden" id="server" name="disconnect" value="<?php echo $srv->name; ?>"></input>
147 <button id="CloseButton" type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
148 <button type="submit" action="post" class="btn btn-danger">Disconnect</button>
149 </form>
150 </div>
151 </div>
152 </div>
153 </div>
154
155 <div class="modal fade" id="rehash_modal" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true">
156 <div class="modal-dialog modal-dialog-centered" role="document">
157 <div class="modal-content">
158 <div class="modal-header">
159 <h5 class="modal-title" id="myModalLabel">Rehash Server</h5>
160 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
161 <span aria-hidden="true">&times;</span>
162 </button>
163 </div>
164 <div class="modal-body">
165 <form method="post">
166 Are you sure you want to rehash <?php echo $srv->name; ?>?
167 </div>
168 <div class="modal-footer">
169 <input type="hidden" id="server" name="rehash" value="<?php echo $srv->name; ?>"></input>
170 <button id="CloseButton" type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
171 <button type="submit" action="post" class="btn btn-primary">Rehash</button>
172 </form>
173 </div>
174 </div>
175 </div>
176 </div>
177
178 <div class="container-xxl">
179 <div class="row">
180
181 <div class="col-sm-8">
182 <div class="card">
183 <div class="card-body">
184 <h6 class="card-title">Server Settings</h6>
185 <ul class="nav nav-tabs" role="tablist">
186 <li class="nav-item" role="presentation"><a class="nav-link" href="#servermodes" aria-controls="servermodes" role="tab" data-toggle="tab">Info</a></li>
187 <li class="nav-item" role="presentation"><a class="nav-link" href="#serverinv" aria-controls="serverinv" role="tab" data-toggle="tab">Channel Modes</a></li>
188 <li class="nav-item" role="presentation"><a class="nav-link" href="#serverex" aria-controls="serverex" role="tab" data-toggle="tab">User Modes</a></li>
189 <li class="nav-item" role="presentation"><a class="nav-link" href="#serverbans" aria-controls="serverbans" role="tab" data-toggle="tab">Modules</a></li>
190 </ul>
191
192 <div class="tab-content">
193 <br>
194 <div class="tab-pane fade in" id="servermodes">
195
196 <p class="card-text row">
197 <div class="row" style="margin-left:5px">
198 <h4>Server information</h4>
199 <?php generate_html_serverinfo($srv); ?>
200 <h4>Extra information</h4>
201 <?php generate_html_extserverinfo($srv); ?>
202 </div>
203 </p>
204 </div><form id="editservermodes" method="post" name="editservermodes">
205 <div class="tab-pane" style="display: none" id="servermodes_edit">
206
207 <div class="btn btn-sm btn-secondary" id="editchmodesbk">Go back</div>
208 <button type="submit" class="btn btn-sm btn-primary">Save Settings</button>
209 <p class="card-text"><div></div></p>
210 </form>
211 </div>
212
213 <div class="tab-pane fade in" id="serverbans">
214 <p class="card-text"><?php generate_html_modlist($srv); ?></p>
215 </div>
216 <div class="tab-pane fade in" id="serverinv">
217 <p class="card-text"><?php generate_html_servermodes($srv); ?></p>
218 </div>
219 <div class="tab-pane fade in" id="serverex">
220 <p class="card-text"><?php generate_html_usermodes($srv); ?></p>
221 </div>
222 <div class="tab-pane fade in" id="servermodes_edit">
223 <p class="card-text"><?php /* insert hacks here */ ?></p>
224 </div>
225
226 </div>
227 </div>
228 </div>
229
230 </div>
231 </div>
232 <?php require_once UPATH.'/inc/footer.php'; ?>
233 <script>
234 // show dat first tab
235 $('.nav-tabs a[href="#servermodes"]').tab('show')
236 </script>