]>
Commit | Line | Data |
---|---|---|
709b97f3 | 1 | <?php |
d3697d8f | 2 | require_once "common.php"; |
e77b1514 | 3 | require_once "connection.php"; |
d3697d8f | 4 | require_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... */ | |
15 | Hook::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 = []; |
23 | Hook::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 |
262 | Hook::run(HOOKTYPE_OVERVIEW_CARD, $stats); |
263 | ||
809f7483 | 264 | require_once "footer.php"; |