]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blame - index.php
Fix redirect loop
[irc/unrealircd/unrealircd-webpanel.git] / index.php
CommitLineData
709b97f3 1<?php
d3697d8f 2require_once "common.php";
e77b1514 3require_once "connection.php";
d3697d8f 4require_once "header.php";
26971737 5
79ed2176 6$stats = $rpc->query("stats.get", []);
709b97f3 7?>
82f5bcbf 8
ce8122f0
VP
9<h2>Network Overview</h2>
10
bdf7619a
VP
11<?php
12$array_of_stats = (array)$stats;
13
14/* What if someone wants to add their own stats... */
15Hook::run(HOOKTYPE_PRE_OVERVIEW_CARD, $array_of_stats);
16
17/* This makes sure that a plugin which called the parameter
18 * by reference can add/update the stats for display here.
19*/
20$stats = (object) $array_of_stats;
21
4fc503d8
VP
22$userlist = [];
23Hook::run(HOOKTYPE_GET_USER_LIST, $userlist);
24$num_of_panel_admins = count($userlist);
bdf7619a
VP
25
26?>
33f512fa 27<div class="container">
440ff671 28
9e2a2ac0 29 <div class="row mt-3">
33f512fa 30 <div class="col-sm mb-3">
ce8122f0
VP
31 <div class="card text-center">
32 <div class="card-header bg-success text-white">
33 <div class="row">
34 <div class="col">
79ed2176
VP
35 <i class="fa fa-users fa-3x"></i><span class="position-absolute badge rounded-pill badge-warning">
36 <?php echo "Record: ".$stats->user->record; ?>
37 </span>
ce8122f0
VP
38 </div>
39 <div class="col">
440ff671 40 <h3 class="display-4"><?php echo $stats->user->total; ?></h3>
ce8122f0
VP
41 </div>
42 </div>
43 </div>
75c101fd
VP
44 <div class="card-body">
45 <div class="row">
46 <div class="col">
47 <h6>Users Online</h6>
48 </div>
49 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>users">View</a></div>
50 </div>
51 </div>
ce8122f0 52 </div>
79ed2176
VP
53
54
ce8122f0 55 </div>
33f512fa 56 <div class="col-sm mb-3">
ce8122f0
VP
57 <div class="card text-center">
58 <div class="card-header bg-primary text-white">
59 <div class="row">
60 <div class="col">
61 <i class="fa fa-hashtag fa-3x"></i>
62 </div>
63 <div class="col">
79ed2176 64 <h3 class="display-4"><?php echo $stats->channel->total; ?></h3>
75c101fd
VP
65 </div>
66 </div>
67 </div>
68 <div class="card-body">
69 <div class="row">
70 <div class="col">
ce8122f0
VP
71 <h6>Channels</h6>
72 </div>
75c101fd 73 <div class="col"><a class="btn btn-primary" href="<?php echo BASE_URL; ?>channels">View</a></div>
ce8122f0
VP
74 </div>
75 </div>
76 </div>
77 </div>
33f512fa 78 <div class="col-sm mb-3">
ce8122f0
VP
79 <div class="card text-center">
80 <div class="card-header bg-warning">
81 <div class="row">
82 <div class="col">
83 <i class="fa fa-shield-halved fa-3x"></i>
84 </div>
85 <div class="col">
74d1d309 86 <h3 class="display-4"><?php echo $stats->user->oper; ?></h3>
75c101fd
VP
87 </div>
88 </div>
89 </div>
90 <div class="card-body">
91 <div class="row">
92 <div class="col">
ce8122f0
VP
93 <h6>Opers</h6>
94 </div>
10102cdc 95 <div class="col"><a class="btn btn-primary" href="<?php echo BASE_URL."users/?operonly"; ?>">View</a></div>
ce8122f0
VP
96 </div>
97 </div>
98 </div>
99 </div>
75c101fd 100
33f512fa 101 <div class="col-sm mb-3">
ce8122f0 102 <div class="card text-center">
28d5eb87 103 <div class="card-header bg-secondary text-white">
ce8122f0
VP
104 <div class="row">
105 <div class="col">
106 <i class="fa fa-network-wired fa-3x"></i>
107 </div>
108 <div class="col">
79ed2176 109 <h3 class="display-4"><?php echo $stats->server->total; ?></h3>
75c101fd
VP
110 </div>
111 </div>
112 </div>
113 <div class="card-body">
114 <div class="row">
115 <div class="col">
ce8122f0
VP
116 <h6>Servers</h6>
117 </div>
4a759bb6 118 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>servers">View</a></div>
ce8122f0
VP
119 </div>
120 </div>
121 </div>
122 </div>
123 </div>
124</div>
75c101fd 125<div class="container mt-3">
ce8122f0
VP
126
127 <div class="row">
33f512fa 128 <div class="col-sm mb-3">
ce8122f0
VP
129 <div class="card text-center">
130 <div class="card-header bg-danger text-white">
131 <div class="row">
132 <div class="col">
133 <i class="fa fa-ban fa-3x"></i>
134 </div>
135 <div class="col">
79ed2176 136 <h3 class="display-4"><?php echo $stats->server_ban->server_ban; ?></h3>
75c101fd
VP
137 </div>
138 </div>
139 </div>
140 <div class="card-body">
141 <div class="row">
142 <div class="col">
ce8122f0
VP
143 <h6>Server Bans</h6>
144 </div>
9e2a2ac0 145 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>server-bans">View</a></div>
ce8122f0
VP
146 </div>
147 </div>
148 </div>
149 </div>
33f512fa 150 <div class="col-sm mb-3">
ce8122f0
VP
151 <div class="card text-center">
152 <div class="card-header bg-secondary text-white">
153 <div class="row">
154 <div class="col">
155 <i class="fa fa-filter fa-3x"></i>
156 </div>
157 <div class="col">
79ed2176 158 <h3 class="display-4"><?php echo $stats->server_ban->spamfilter; ?></h3>
ce8122f0
VP
159 </div>
160 </div>
161 </div>
75c101fd
VP
162 <div class="card-body">
163 <div class="row">
164 <div class="col">
165 <h6>Spamfilter</h6>
166 </div>
167 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>spamfilter.php">View</a></div>
168 </div>
169 </div>
ce8122f0
VP
170 </div>
171 </div>
33f512fa 172 <div class="col-sm mb-3">
ce8122f0
VP
173 <div class="card text-center">
174 <div class="card-header bg-primary text-white">
175 <div class="row">
176 <div class="col">
177 <i class="fa fa-door-open fa-3x"></i>
178 </div>
179 <div class="col">
79ed2176 180 <h3 class="display-4"><?php echo $stats->server_ban->server_ban_exception; ?></h3>
ce8122f0
VP
181 </div>
182 </div>
183 </div>
75c101fd
VP
184
185 <div class="card-body">
186 <div class="row">
187 <div class="col">
188 <h6>Server Ban Exceptions</h6>
189 </div>
9e2a2ac0 190 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>server-bans/ban-exceptions.php">View</a></div>
75c101fd
VP
191 </div>
192 </div>
ce8122f0
VP
193 </div>
194 </div>
195 <?php
79ed2176 196 if ($stats->server->ulined) {
ce8122f0 197 $bg = "bg-success";
79ed2176
VP
198
199 /* honestly can't think of a case where there would actually be only one uline... but... well here we are, worrying over the small stuff =] */
200 $user_noun = ($stats->user->ulined == 1) ? "user" : "users"; // use "users" even if 0, sounds better.
201 $is_are = ($stats->user->ulined == 1) ? "is" : "are";
202 $server_noun = ($stats->server->ulined == 1) ? "server" : "servers";
203 $tooltip = "There $is_are " . $stats->user->ulined . " U-Lined $user_noun over " . $stats->server->ulined . " U-Lined $server_noun";
204 }
205 else
206 $bg = "bg-warning";
207 ?>
33f512fa 208 <div class="col-sm mb-3">
ce8122f0
VP
209 <div class="card text-center">
210 <div class="card-header <?php echo $bg; ?> text-white">
211 <div class="row">
212 <div class="col">
213 <i class="fa fa-database fa-3x"> </i>
214 </div>
215 <div class="col">
79ed2176 216 <span data-toggle="tooltip" title="<?php echo $tooltip; ?>" style="border-bottom: 1px dotted #000000"><h3 class="display-4"><?php echo $stats->user->ulined; ?>/<?php echo $stats->server->ulined; ?></h3>
75c101fd
VP
217 </div>
218 </div>
219 </div>
220 <div class="card-body">
221 <div class="row">
222 <div class="col">
ce8122f0
VP
223 <h6>Services Online</h6>
224 </div>
65a14aac 225 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL."users/?servicesonly"; ?>">View</a></div>
ce8122f0
VP
226 </div>
227 </div>
228
229 </div>
230 </div>
231 </div>
809f7483 232</div>
4fc503d8 233<div class="container mt-3">
fdc0088f
VP
234
235 <div class="row">
236 <div class="col-sm-3">
237 <div class="card text-center">
238 <div class="card-header bg-success text-white">
239 <div class="row">
240 <div class="col">
241 <i class="fa fa-lock-open fa-3x"></i>
242 </div>
243 <div class="col">
244 <h3 class="display-4"><?php echo $num_of_panel_admins; ?></h3>
245 </div>
246 </div>
247 </div>
248 <div class="card-body">
249 <div class="row">
250 <div class="col">
f84a6cd5 251 <h6>Panel Access</h6>
fdc0088f
VP
252 </div>
253 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>settings">View</a></div>
254 </div>
255 </div>
256 </div>
257 </div>
258 </div>
259 </div>
809f7483
VP
260<?php
261
440ff671
VP
262Hook::run(HOOKTYPE_OVERVIEW_CARD, $stats);
263
809f7483 264require_once "footer.php";