]>
Commit | Line | Data |
---|---|---|
1 | <?php | |
2 | require_once "common.php"; | |
3 | require_once "connection.php"; | |
4 | require_once "header.php"; | |
5 | ||
6 | $stats = $rpc->query("stats.get", []); | |
7 | ?> | |
8 | ||
9 | <h2>Network Overview</h2> | |
10 | ||
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 | ||
22 | $userlist = []; | |
23 | Hook::run(HOOKTYPE_GET_USER_LIST, $userlist); | |
24 | $num_of_panel_admins = count($userlist); | |
25 | ||
26 | ?> | |
27 | <div class="container"> | |
28 | ||
29 | <div class="row mt-3"> | |
30 | <div class="col-sm mb-3"> | |
31 | <div class="card text-center"> | |
32 | <div class="card-header bg-success text-white"> | |
33 | <div class="row"> | |
34 | <div class="col"> | |
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> | |
38 | </div> | |
39 | <div class="col"> | |
40 | <h3 class="display-4"><?php echo $stats->user->total; ?></h3> | |
41 | </div> | |
42 | </div> | |
43 | </div> | |
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> | |
52 | </div> | |
53 | ||
54 | ||
55 | </div> | |
56 | <div class="col-sm mb-3"> | |
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"> | |
64 | <h3 class="display-4"><?php echo $stats->channel->total; ?></h3> | |
65 | </div> | |
66 | </div> | |
67 | </div> | |
68 | <div class="card-body"> | |
69 | <div class="row"> | |
70 | <div class="col"> | |
71 | <h6>Channels</h6> | |
72 | </div> | |
73 | <div class="col"><a class="btn btn-primary" href="<?php echo BASE_URL; ?>channels">View</a></div> | |
74 | </div> | |
75 | </div> | |
76 | </div> | |
77 | </div> | |
78 | <div class="col-sm mb-3"> | |
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"> | |
86 | <h3 class="display-4"><?php echo $stats->user->oper; ?></h3> | |
87 | </div> | |
88 | </div> | |
89 | </div> | |
90 | <div class="card-body"> | |
91 | <div class="row"> | |
92 | <div class="col"> | |
93 | <h6>Opers</h6> | |
94 | </div> | |
95 | <div class="col"><a class="btn btn-primary" href="<?php echo BASE_URL."users/?operonly"; ?>">View</a></div> | |
96 | </div> | |
97 | </div> | |
98 | </div> | |
99 | </div> | |
100 | ||
101 | <div class="col-sm mb-3"> | |
102 | <div class="card text-center"> | |
103 | <div class="card-header bg-secondary text-white"> | |
104 | <div class="row"> | |
105 | <div class="col"> | |
106 | <i class="fa fa-network-wired fa-3x"></i> | |
107 | </div> | |
108 | <div class="col"> | |
109 | <h3 class="display-4"><?php echo $stats->server->total; ?></h3> | |
110 | </div> | |
111 | </div> | |
112 | </div> | |
113 | <div class="card-body"> | |
114 | <div class="row"> | |
115 | <div class="col"> | |
116 | <h6>Servers</h6> | |
117 | </div> | |
118 | <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>servers">View</a></div> | |
119 | </div> | |
120 | </div> | |
121 | </div> | |
122 | </div> | |
123 | </div> | |
124 | </div> | |
125 | <div class="container mt-3"> | |
126 | ||
127 | <div class="row"> | |
128 | <div class="col-sm mb-3"> | |
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"> | |
136 | <h3 class="display-4"><?php echo $stats->server_ban->server_ban; ?></h3> | |
137 | </div> | |
138 | </div> | |
139 | </div> | |
140 | <div class="card-body"> | |
141 | <div class="row"> | |
142 | <div class="col"> | |
143 | <h6>Server Bans</h6> | |
144 | </div> | |
145 | <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>server-bans">View</a></div> | |
146 | </div> | |
147 | </div> | |
148 | </div> | |
149 | </div> | |
150 | <div class="col-sm mb-3"> | |
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"> | |
158 | <h3 class="display-4"><?php echo $stats->server_ban->spamfilter; ?></h3> | |
159 | </div> | |
160 | </div> | |
161 | </div> | |
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> | |
170 | </div> | |
171 | </div> | |
172 | <div class="col-sm mb-3"> | |
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"> | |
180 | <h3 class="display-4"><?php echo $stats->server_ban->server_ban_exception; ?></h3> | |
181 | </div> | |
182 | </div> | |
183 | </div> | |
184 | ||
185 | <div class="card-body"> | |
186 | <div class="row"> | |
187 | <div class="col"> | |
188 | <h6>Server Ban Exceptions</h6> | |
189 | </div> | |
190 | <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL; ?>server-bans/ban-exceptions.php">View</a></div> | |
191 | </div> | |
192 | </div> | |
193 | </div> | |
194 | </div> | |
195 | <?php | |
196 | if ($stats->server->ulined) { | |
197 | $bg = "bg-success"; | |
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 | ?> | |
208 | <div class="col-sm mb-3"> | |
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"> | |
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> | |
217 | </div> | |
218 | </div> | |
219 | </div> | |
220 | <div class="card-body"> | |
221 | <div class="row"> | |
222 | <div class="col"> | |
223 | <h6>Services Online</h6> | |
224 | </div> | |
225 | <div class="col"> <a class="btn btn-primary" href="<?php echo BASE_URL."users/?servicesonly"; ?>">View</a></div> | |
226 | </div> | |
227 | </div> | |
228 | ||
229 | </div> | |
230 | </div> | |
231 | </div> | |
232 | </div> | |
233 | <div class="container mt-3"> | |
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"> | |
251 | <h6>Panel Access</h6> | |
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> | |
260 | <?php | |
261 | ||
262 | Hook::run(HOOKTYPE_OVERVIEW_CARD, $stats); | |
263 | ||
264 | require_once "footer.php"; |