1,32 → 1,38 |
<?php |
#################################################### |
# AstWeb - Asterisk PBX Dynamic config environment # |
# # |
# Written by: Jamie Carl # |
# jazz@funkynerd.com # |
# # |
# Copyright (C) 2006 Achieve Corp # |
# # |
# Licence: This software is licenced under the # |
# GNU/GPL. Please see licence.txt for # |
# more information. # |
#################################################### |
|
include_once('includes/common.php'); |
Prolog(); |
|
$display = new template_handler('template'); |
$display->add_template('header'); |
include('includes/menu.php'); |
function add_summary($count_name, $dur_name, $interval, $diff = NULL) |
{ |
global $db, $g_display; |
|
switch($_GET['m']) { |
case 'cdr': |
include('includes/cdr.php'); |
break; |
default: |
include('includes/summary.php'); |
$query = "select count(acctid), sum(billsec) from cdr where" . BaseQuery() |
. ($interval ? " and date_trunc('" . $interval . "', calldate)" |
. ($diff ? " + interval '$diff $interval'" : "") . " = date_trunc('" |
. $interval . "', current_date)" : ""); |
$db->query($query); |
$db->fetch_row_idx(); |
$g_display->add_variables(array($count_name => $db->get_field(0), |
$dur_name => FormatDuration($db->get_field(1)))); |
} |
|
$display->add_template('footer'); |
echo $display; |
# active calls |
$db->query("select count(acctid), sum(extract(epoch from date_trunc('second',current_timestamp-linkdate)))" |
. " from activecalls where" . BaseQuery() . " and duration is null"); |
$db->fetch_row_idx(); |
$g_display->add_variables(array('CS_ACTIVE' => $db->get_field(0), |
'CS_ACTIVE_DUR' => FormatDuration($db->get_field(1)))); |
|
add_summary('CS_TODAY', 'CS_TODAY_DUR', 'day'); |
add_summary('CS_WEEK', 'CS_WEEK_DUR', 'week'); |
add_summary('CS_LAST_WEEK', 'CS_LAST_WEEK_DUR', 'week', 1); |
add_summary('CS_MONTH', 'CS_MONTH_DUR', 'month'); |
add_summary('CS_YEAR', 'CS_YEAR_DUR', 'year'); |
add_summary('CS_TOTAL', 'CS_TOTAL_DUR', null); |
|
$g_display->add_template('summary'); |
|
Epilog(); |
|
?> |