]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blame - index.php
Allow passing and modification of the stats from plugins
[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", []);
bdf7619a 6var_dump($stats);
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
22
23?>
440ff671 24
3f431b7a 25<div class="container mt-5">
ce8122f0
VP
26
27 <div class="row">
75c101fd 28 <div class="col-sm">
ce8122f0
VP
29 <div class="card text-center">
30 <div class="card-header bg-success text-white">
31 <div class="row">
32 <div class="col">
79ed2176
VP
33 <i class="fa fa-users fa-3x"></i><span class="position-absolute badge rounded-pill badge-warning">
34 <?php echo "Record: ".$stats->user->record; ?>
35 </span>
ce8122f0
VP
36 </div>
37 <div class="col">
440ff671 38 <h3 class="display-4"><?php echo $stats->user->total; ?></h3>
ce8122f0
VP
39 </div>
40 </div>
41 </div>
75c101fd
VP
42 <div class="card-body">
43 <div class="row">
44 <div class="col">
45 <h6>Users Online</h6>
46 </div>
47 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>users">View</a></div>
48 </div>
49 </div>
ce8122f0 50 </div>
79ed2176
VP
51
52
ce8122f0 53 </div>
75c101fd 54 <div class="col-sm">
ce8122f0
VP
55 <div class="card text-center">
56 <div class="card-header bg-primary text-white">
57 <div class="row">
58 <div class="col">
59 <i class="fa fa-hashtag fa-3x"></i>
60 </div>
61 <div class="col">
79ed2176 62 <h3 class="display-4"><?php echo $stats->channel->total; ?></h3>
75c101fd
VP
63 </div>
64 </div>
65 </div>
66 <div class="card-body">
67 <div class="row">
68 <div class="col">
ce8122f0
VP
69 <h6>Channels</h6>
70 </div>
75c101fd 71 <div class="col"><a class="btn btn-primary" href="<?php echo BASE_URL; ?>channels">View</a></div>
ce8122f0
VP
72 </div>
73 </div>
74 </div>
75 </div>
75c101fd 76 <div class="col-sm">
ce8122f0
VP
77 <div class="card text-center">
78 <div class="card-header bg-warning">
79 <div class="row">
80 <div class="col">
81 <i class="fa fa-shield-halved fa-3x"></i>
82 </div>
83 <div class="col">
74d1d309 84 <h3 class="display-4"><?php echo $stats->user->oper; ?></h3>
75c101fd
VP
85 </div>
86 </div>
87 </div>
88 <div class="card-body">
89 <div class="row">
90 <div class="col">
ce8122f0
VP
91 <h6>Opers</h6>
92 </div>
10102cdc 93 <div class="col"><a class="btn btn-primary" href="<?php echo BASE_URL."users/?operonly"; ?>">View</a></div>
ce8122f0
VP
94 </div>
95 </div>
96 </div>
97 </div>
75c101fd
VP
98
99 <div class="col-sm">
ce8122f0 100 <div class="card text-center">
28d5eb87 101 <div class="card-header bg-secondary text-white">
ce8122f0
VP
102 <div class="row">
103 <div class="col">
104 <i class="fa fa-network-wired fa-3x"></i>
105 </div>
106 <div class="col">
79ed2176 107 <h3 class="display-4"><?php echo $stats->server->total; ?></h3>
75c101fd
VP
108 </div>
109 </div>
110 </div>
111 <div class="card-body">
112 <div class="row">
113 <div class="col">
ce8122f0
VP
114 <h6>Servers</h6>
115 </div>
4a759bb6 116 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>servers">View</a></div>
ce8122f0
VP
117 </div>
118 </div>
119 </div>
120 </div>
121 </div>
122</div>
75c101fd 123<div class="container mt-3">
ce8122f0
VP
124
125 <div class="row">
75c101fd 126 <div class="col-sm">
ce8122f0
VP
127 <div class="card text-center">
128 <div class="card-header bg-danger text-white">
129 <div class="row">
130 <div class="col">
131 <i class="fa fa-ban fa-3x"></i>
132 </div>
133 <div class="col">
79ed2176 134 <h3 class="display-4"><?php echo $stats->server_ban->server_ban; ?></h3>
75c101fd
VP
135 </div>
136 </div>
137 </div>
138 <div class="card-body">
139 <div class="row">
140 <div class="col">
ce8122f0
VP
141 <h6>Server Bans</h6>
142 </div>
75c101fd 143 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>server_bans.php">View</a></div>
ce8122f0
VP
144 </div>
145 </div>
146 </div>
147 </div>
75c101fd 148 <div class="col-sm">
ce8122f0
VP
149 <div class="card text-center">
150 <div class="card-header bg-secondary text-white">
151 <div class="row">
152 <div class="col">
153 <i class="fa fa-filter fa-3x"></i>
154 </div>
155 <div class="col">
79ed2176 156 <h3 class="display-4"><?php echo $stats->server_ban->spamfilter; ?></h3>
ce8122f0
VP
157 </div>
158 </div>
159 </div>
75c101fd
VP
160 <div class="card-body">
161 <div class="row">
162 <div class="col">
163 <h6>Spamfilter</h6>
164 </div>
165 <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>spamfilter.php">View</a></div>
166 </div>
167 </div>
ce8122f0
VP
168 </div>
169 </div>
75c101fd 170 <div class="col-sm">
ce8122f0
VP
171 <div class="card text-center">
172 <div class="card-header bg-primary text-white">
173 <div class="row">
174 <div class="col">
175 <i class="fa fa-door-open fa-3x"></i>
176 </div>
177 <div class="col">
79ed2176 178 <h3 class="display-4"><?php echo $stats->server_ban->server_ban_exception; ?></h3>
ce8122f0
VP
179 </div>
180 </div>
181 </div>
75c101fd
VP
182
183 <div class="card-body">
184 <div class="row">
185 <div class="col">
186 <h6>Server Ban Exceptions</h6>
187 </div>
188 <div class="col"> <a class="btn btn-secondary disabled" href="#">View</a></div>
189 </div>
190 </div>
ce8122f0
VP
191 </div>
192 </div>
193 <?php
79ed2176 194 if ($stats->server->ulined) {
ce8122f0 195 $bg = "bg-success";
79ed2176
VP
196
197 /* 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 =] */
198 $user_noun = ($stats->user->ulined == 1) ? "user" : "users"; // use "users" even if 0, sounds better.
199 $is_are = ($stats->user->ulined == 1) ? "is" : "are";
200 $server_noun = ($stats->server->ulined == 1) ? "server" : "servers";
201 $tooltip = "There $is_are " . $stats->user->ulined . " U-Lined $user_noun over " . $stats->server->ulined . " U-Lined $server_noun";
202 }
203 else
204 $bg = "bg-warning";
205 ?>
75c101fd 206 <div class="col-sm">
ce8122f0
VP
207 <div class="card text-center">
208 <div class="card-header <?php echo $bg; ?> text-white">
209 <div class="row">
210 <div class="col">
211 <i class="fa fa-database fa-3x"> </i>
212 </div>
213 <div class="col">
79ed2176 214 <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
215 </div>
216 </div>
217 </div>
218 <div class="card-body">
219 <div class="row">
220 <div class="col">
ce8122f0
VP
221 <h6>Services Online</h6>
222 </div>
75c101fd 223 <div class="col"> <a class="btn btn-secondary disabled" href="#">View</a></div>
ce8122f0
VP
224 </div>
225 </div>
226
227 </div>
228 </div>
229 </div>
809f7483
VP
230</div>
231
232<?php
233
440ff671
VP
234Hook::run(HOOKTYPE_OVERVIEW_CARD, $stats);
235
809f7483 236require_once "footer.php";