]>
Commit | Line | Data |
---|---|---|
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 | $can_rehash = current_user_can(PERMISSION_REHASH); | |
10 | $rehash_errors = []; | |
11 | $rehash_warnings = []; | |
12 | $rehash_success = []; | |
13 | ||
14 | if (isset($_POST)) | |
15 | { | |
16 | if (isset($_POST['rehash']) && $can_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']) && $can_rehash) | |
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 <?php echo $can_rehash ? "" : "disabled" ?>" data-toggle="modal" data-target="#rehash_modal" <?php echo $can_rehash ? "" : "aria-disabled='true'" ?>>Rehash</div> | |
127 | <div class="btn btn-sm btn-danger <?php echo $can_rehash ? "" : "disabled" ?>" data-toggle="modal" data-target="#disconnect_modal"<?php echo $can_rehash ? "" : "aria-disabled='true'" ?>>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">×</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">×</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> |