]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blobdiff - index.php
Make the overview a little tidier as discussed on IRC
[irc/unrealircd/unrealircd-webpanel.git] / index.php
index b5009ce5369b529b78f23bb00d3e0466b3fe5c84..741f54fcf5c2c744241bcebb4e97670ebe3d8311 100644 (file)
--- a/index.php
+++ b/index.php
@@ -3,7 +3,7 @@ require_once "common.php";
 require_once "connection.php";
 require_once "header.php";
 
-$stats = $rpc->query("stats.get", []);
+$stats = $rpc->stats()->get();
 ?>
 
 <h2>Network Overview</h2>
@@ -24,7 +24,12 @@ Hook::run(HOOKTYPE_GET_USER_LIST, $userlist);
 $num_of_panel_admins = count($userlist);
 
 ?>
-<div class="container">
+<style>
+       .card {
+               min-height: 100%;
+       }
+       </style>
+<div class="container" style="margin-left:40px;margin-top:30px">
 
        <div class="row mt-3">
                <div class="col-sm mb-3">
@@ -122,7 +127,7 @@ $num_of_panel_admins = count($userlist);
                </div>
        </div>
 </div>
-<div class="container mt-3">
+<div class="container" style="margin-left:40px;margin-top:30px">
 
        <div class="row">
                <div class="col-sm mb-3">
@@ -229,29 +234,36 @@ $num_of_panel_admins = count($userlist);
 
 
 <script>
-    function updateStats() {
-        var xhttp = new XMLHttpRequest();
-        xhttp.onreadystatechange = function() {
-            if (this.readyState == 4 && this.status == 200) {
-                var data = JSON.parse(this.responseText);
-                document.getElementById("stats_user_total").innerHTML = data.user.total;
-                document.getElementById("stats_channel_total").innerHTML = data.channel.total;
-                               document.getElementById("stats_oper_total").innerHTML = data.user.oper;
-                               document.getElementById("stats_server_total").innerHTML = data.server.total;
-                               document.getElementById("num_server_bans").innerHTML = data.server_ban.server_ban;
-                               document.getElementById("num_spamfilter_entries").innerHTML = data.server_ban.spamfilter;
-                               document.getElementById("num_ban_exceptions").innerHTML = data.server_ban.server_ban_exception;
-                               document.getElementById("stats_uline_total").innerHTML = data.user.ulined + "/" + data.server.ulined;
-            }
-        };
-        xhttp.open("GET", "api/overview.php", true);
-        xhttp.send();
-    }
-    updateStats();
-    setInterval(updateStats, 1000); // Update stats every second
+       function updateStats(e)
+       {
+               var data;
+               try {
+                       data = JSON.parse(e.data);
+               } catch(e) {
+                       return;
+               }
+               document.getElementById("stats_user_total").innerHTML = data.user.total;
+               document.getElementById("stats_channel_total").innerHTML = data.channel.total;
+               document.getElementById("stats_oper_total").innerHTML = data.user.oper;
+               document.getElementById("stats_server_total").innerHTML = data.server.total;
+               document.getElementById("num_server_bans").innerHTML = data.server_ban.server_ban;
+               document.getElementById("num_spamfilter_entries").innerHTML = data.server_ban.spamfilter;
+               document.getElementById("num_ban_exceptions").innerHTML = data.server_ban.server_ban_exception;
+               document.getElementById("stats_uline_total").innerHTML = data.user.ulined + "/" + data.server.ulined;
+       }
+       function initStats()
+       {
+               if (!!window.EventSource) {
+                       var source = new EventSource('api/overview.php');
+                       source.addEventListener('message', updateStats, false);
+               }
+       }
+       initStats();
+       //setInterval(updateStats, 1000); // Update stats every second
+       // ^ commented out but may want to restart initStats() when connection is lost.
 </script>
 
-<div class="container mt-3">
+<div class="container" style="margin-left:40px;margin-top:10px">
 
                        <div class="row">
                                <div class="col-sm-3">
@@ -269,7 +281,7 @@ $num_of_panel_admins = count($userlist);
                                                <div class="card-body">
                                                        <div class="row">
                                                                <div class="col">
-                                                                       <h6>Panel Access</h6>
+                                                                       <h6>Panel Accounts</h6>
                                                                </div>
                                                                <div class="col"> <a class="btn btn-primary" href="<?php echo get_config("base_url"); ?>settings">View</a></div>
                                                        </div>