diff options
author | Philip Häusler <msquare@notrademark.de> | 2012-12-28 22:53:05 +0100 |
---|---|---|
committer | Philip Häusler <msquare@notrademark.de> | 2012-12-28 22:53:05 +0100 |
commit | 263edf58f2751fbd042d71a1e786f6b203e3f71a (patch) | |
tree | 59ea4b0f6a6a29fb1757375d3cdf236af8273593 | |
parent | 7044c07c009ccaf4a0d9f27ab24e0cddaddcbae4 (diff) |
stats for infobeamer/monitor
-rw-r--r-- | includes/pages/guest_stats.php | 30 | ||||
-rw-r--r-- | install/default-conf/config.php | 4 | ||||
-rw-r--r-- | public/index.php | 6 |
3 files changed, 39 insertions, 1 deletions
diff --git a/includes/pages/guest_stats.php b/includes/pages/guest_stats.php new file mode 100644 index 00000000..8d96bbbf --- /dev/null +++ b/includes/pages/guest_stats.php @@ -0,0 +1,30 @@ +<?php + +function guest_stats() { + global $api_key; + + if(isset($_REQUEST['api_key'])) { + if($_REQUEST['api_key'] == $api_key) { + $stats = array(); + + list($user_count) = sql_select("SELECT count(*) as `user_count` FROM `User`"); + $stats['user_count'] = $user_count['user_count']; + + list($arrived_user_count) = sql_select("SELECT count(*) as `user_count` FROM `User` WHERE `Gekommen`=1"); + $stats['arrived_user_count'] = $arrived_user_count['user_count']; + + $done_shifts_source = sql_select("SELECT `Shifts`.`start`, `Shifts`.`end` FROM `ShiftEntry` JOIN `Shifts` ON `Shifts`.`SID`=`ShiftEntry`.`SID` WHERE `Shifts`.`end` < " . time()); + $done_shifts_seconds = 0; + foreach($done_shifts_source as $done_shift) + $done_shifts_seconds += $done_shift['end'] - $done_shift['start']; + $stats['done_work_hours'] = round($done_shifts_seconds / (60*60), 0); + + header("Content-Type: application/json"); + die(json_encode($stats)); + } else die(json_encode(array('error' => "Wrong api_key."))); + } else die(json_encode(array('error' => "Missing parameter api_key."))); + +} + + +?>
\ No newline at end of file diff --git a/install/default-conf/config.php b/install/default-conf/config.php index 543d1dce..35222c41 100644 --- a/install/default-conf/config.php +++ b/install/default-conf/config.php @@ -68,4 +68,8 @@ $shift_sum_formula = "SUM( // weigh every shift the same //$shift_sum_formula = "SUM(`end` - `start`)"; + +// For accessing stats +$api_key = ""; + ?> diff --git a/public/index.php b/public/index.php index a7efbd86..85771dec 100644 --- a/public/index.php +++ b/public/index.php @@ -33,7 +33,7 @@ if (isset ($_REQUEST['auth'])) // Gewünschte Seite/Funktion $p = isset ($user) ? "news" : "login"; -if (isset ($_REQUEST['p']) && preg_match("/^[a-z0-9_]*$/i", $_REQUEST['p']) && sql_num_query("SELECT * FROM `Privileges` WHERE `name`='" . sql_escape($_REQUEST['p']) . "' LIMIT 1") > 0) +if (isset ($_REQUEST['p']) && preg_match("/^[a-z0-9_]*$/i", $_REQUEST['p']) && ($_REQUEST['p'] == 'stats' || (sql_num_query("SELECT * FROM `Privileges` WHERE `name`='" . sql_escape($_REQUEST['p']) . "' LIMIT 1") > 0))) $p = $_REQUEST['p']; $title = Get_Text($p); @@ -47,6 +47,10 @@ elseif ($p == "atom") { require_once ('includes/pages/user_atom.php'); user_atom(); } +elseif ($p == "stats") { + require_once ('includes/pages/guest_stats.php'); + guest_stats(); +} // Recht dafür vorhanden? elseif (in_array($p, $privileges)) { if ($p == "news") { |