]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blob - tools/checkup.php
Fix del_usermeta() not working for both sql_db and file_db
[irc/unrealircd/unrealircd-webpanel.git] / tools / checkup.php
1 <?php
2 require_once "../inc/common.php";
3 require_once "../inc/connection.php";
4 require_once "../inc/header.php";
5 require_once "../Classes/class-checkup.php";
6
7 $checkup = new CheckUp();
8
9 ?>
10
11 <h4>Network Health Checkup</h4>
12
13 <div class="container">
14
15 <div class="row mt-3">
16 <div class="col-sm mb-3">
17 <div class="card text-center">
18 <div class="card-header bg-<?php echo ($checkup->num_of_problems['chanmodes']) ? "danger" : "success"; ?> text-white">
19 <div class="row">
20 <div class="col">
21 <i class="fa fa-hashtag fa-3x"></i>
22 </div>
23 <div class="col">
24 <h3 class="display-4"><?php echo $checkup->num_of_problems['chanmodes']; ?></h3><div class="display-5">problems</div>
25 </div>
26 </div>
27 </div>
28 <div class="card-body">
29 <div class="row">
30 <div class="col">
31 <h6>Channel Modes</h6>
32 </div>
33 <div class="col"> <a class="btn btn-primary">View</a></div>
34 </div>
35 </div>
36 </div>
37
38
39 </div>
40 <div class="col-sm mb-3">
41 <div class="card text-center">
42 <div class="card-header bg-<?php echo ($checkup->num_of_problems['usermodes']) ? "danger" : "success"; ?> text-white">
43 <div class="row">
44 <div class="col">
45 <i class="fa fa-user fa-3x"></i>
46 </div>
47 <div class="col">
48 <h3 class="display-4"><?php echo $checkup->num_of_problems['usermodes']; ?></h3><div class="display-5">problems</div>
49 </div>
50 </div>
51 </div>
52 <div class="card-body">
53 <div class="row">
54 <div class="col">
55 <h6>User Modes</h6>
56 </div>
57 <div class="col"><a class="btn btn-primary">View</a></div>
58 </div>
59 </div>
60 </div>
61 </div>
62 <div class="col-sm mb-3">
63 <div class="card text-center">
64 <div class="card-header bg-warning">
65 <div class="row">
66 <div class="col">
67 <i class="fa fa-plug fa-3x"></i>
68 </div>
69 <div class="col">
70 <h3 class="display-4"><?php // nothing ?></h3>
71 </div>
72 </div>
73 </div>
74 <div class="card-body">
75 <div class="row">
76 <div class="col">
77 <h6>Modules</h6>
78 </div>
79 <div class="col"><a class="btn btn-primary">View</a></div>
80 </div>
81 </div>
82 </div>
83 </div>
84
85 <div class="col-sm mb-3">
86 <div class="card text-center">
87 <div class="card-header bg-secondary text-white">
88 <div class="row">
89 <div class="col">
90 <i class="fa fa-network-wired fa-3x"></i>
91 </div>
92 <div class="col">
93 <h3 class="display-4"><?php // nothing ?></h3>
94 </div>
95 </div>
96 </div>
97 <div class="card-body">
98 <div class="row">
99 <div class="col">
100 <h6>Servers</h6>
101 </div>
102 <div class="col"> <a class="btn btn-primary">View</a></div>
103 </div>
104 </div>
105 </div>
106 </div>
107 </div>
108 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>
109 <body>
110 <canvas id="myChart" style="width:100%;max-width:400px"></canvas>
111
112 <script id="js">
113
114 var xValues = ["15 minutes", "5 minutes", "1 minute"];
115 var yValues = [<?php echo "\"".$cpuUsage[2]."\", \"".$cpuUsage[1]."\", \"".$cpuUsage[0]."\""; ?>];
116 var barColors = ["blue", "blue", "blue"]
117
118 new Chart("myChart", {
119 type: "bar",
120 type: "bar",
121 data: {
122 labels: xValues,
123 datasets: [{
124 backgroundColor: barColors,
125 data: yValues
126 }]
127 },
128
129 options: {
130 legend: {display: false},
131 title: {
132 display: true,
133 text: "CPU Usage",
134 fontSize: 16
135 },
136 scales: {
137 xAxes: [{ticks: {min: 0, max:15}}],
138 yAxes: [{ticks: {min: 0, max:1}}],
139 }
140 }
141 });
142 </script>
143 <div id="stats-container">
144 <p id="cpu-usage">CPU Usage: </p>
145 <p id="memory-usage">Memory Usage: </p>
146 </div>
147
148 <script>
149 function updateStats() {
150 var xhttp = new XMLHttpRequest();
151 var BASE_URL = "<?php echo get_config("base_url"); ?>";
152 xhttp.onreadystatechange = function() {
153 if (this.readyState == 4 && this.status == 200) {
154 var data = JSON.parse(this.responseText);
155 document.getElementById("cpu-usage").innerHTML = "Current Usage: <code>" + data.cpu + "</code>";
156 document.getElementById("memory-usage").innerHTML = "Memory Usage: <code>" + data.memory + "</code>";
157 }
158 };
159 xhttp.open("GET", BASE_URL + "api/data.php", true);
160 xhttp.send();
161 }
162 updateStats();
163 setInterval(updateStats, 1000); // Update stats every second
164 </script>