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