From 285f7ad7d0aed48cd5cb13a2437e80d26fffc254 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 3 Mar 2004 01:25:46 +0000 Subject: commit initial release git-svn-id: file:///home/lennart/svn/public/pgets/trunk@3 768266df-afd4-0310-94a7-d396c829e022 --- php/pgets-intro.html | 43 +++++++++++++++++++ php/pgets.php | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++ php/style.css | 39 +++++++++++++++++ 3 files changed, 201 insertions(+) create mode 100644 php/pgets-intro.html create mode 100644 php/pgets.php create mode 100644 php/style.css (limited to 'php') diff --git a/php/pgets-intro.html b/php/pgets-intro.html new file mode 100644 index 0000000..98a66c2 --- /dev/null +++ b/php/pgets-intro.html @@ -0,0 +1,43 @@ + + + + + +pgETS + + + + +

ETS Call Accounting - Make Your Selection

+ +
+ +

Direction

+
+
Outgoing + Incoming
+
Outgoing
+
Incoming
+
+ +

Sort Order

+
+
Ascending
+
Descending
+
+ +

Time Range

+

Format is YYYY-MM-DD, leave empty for complete list.

+

Between and

+
+ +
+ +
+

+Shortcuts: Complete List | Outgoing This Month +

+ +
+
Last modified: Mon Mar 1 00:03:59 CET 2004
+ + diff --git a/php/pgets.php b/php/pgets.php new file mode 100644 index 0000000..d1e8036 --- /dev/null +++ b/php/pgets.php @@ -0,0 +1,119 @@ +' ?> + + + + +pgETS + + + + +

ETS Call Accounting - Query Results

+"; + + if ($edate != "" && $sdate != "") { + echo "Showing entries between $sdate (incl) and $edate (excl)."; + } else if ($edate != "") { + echo "Showing entries before $edate (excl)."; + } else if ($sdate != "") { + echo "Showing entries after $sdate (incl)."; + } + + echo "

"; +} + +$db = pg_pconnect($dbspec); + +$where = "WHERE 1=1"; +if ($n_direction == 1) $where = $where." AND incoming='f'"; +if ($n_direction == 2) $where = $where." AND incoming='t'"; +if ($sdate != "") $where = $where." AND _timestamp >= '$sdate'"; +if ($edate != "") $where = $where." AND _timestamp < '$edate'"; + +$q = pg_query($db, "SELECT CASE WHEN SUBSTRING(remote_msn FROM 1 FOR 3)='".$local_prefix."' THEN SUBSTRING(TRIM(remote_msn) FROM 4) ELSE TRIM(remote_msn) END, CASE WHEN incoming='t' THEN 'Incoming' ELSE 'Outgoing' END, participant, TO_CHAR(_timestamp, 'DD.MM.YYYY HH24:MI'), CASE WHEN duration > 60 THEN duration/60||'m '||duration%60||'s' ELSE duration||'s' END FROM pgets_accounting ".$where." ORDER BY _timestamp ".$order); + +$num = pg_numrows($q); + +if ($num == 0) { + echo "

No entries found.

\n"; +} else { + echo "\n\n"; + + $c = 0; + + for ($i = 0; $i < $num; $i++) { + $r = pg_fetch_row($q, $i); + + + $c = 1-$c; + + echo ""; + + for ($j=0; $j < count($r); $j++) { + echo ""; + } + + echo "\n"; + } + + echo "
Remote MSNDirectionP.Start timeDuration
 $r[$j] 
\n"; + + $q = pg_query($db, "SELECT COUNT(*),SUM(duration) FROM pgets_accounting $where"); + $r = pg_fetch_row($q, 0); + + if ($r[1] > 3600) { + $sum = (int) ($r[1]/3600)."h ".(int)($r[1] % 3600 / 60)."m ".(int)($r[1] % 60)."s"; + } else if ($r[1] > 60) { + $sum = (int)($r[1]/60)."m ".(int)($r[1] % 60)."s"; + } else { + $sum = $r[1]."s"; + } + + echo "

$r[0] items, $sum total duration.

"; +} + +?> + +
+
Generated:
+ + \ No newline at end of file diff --git a/php/style.css b/php/style.css new file mode 100644 index 0000000..ae6132c --- /dev/null +++ b/php/style.css @@ -0,0 +1,39 @@ +/* $Id$ */ + +/*** + * This file is part of pgets. + * + * pgets is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * pgets is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with pgets; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + ***/ + +body { color: black; background-color: white; margin: 0.5cm; } +a:link, a:visited { color: #900000; } +p { margin-left: 0.5cm; margin-right: 0.5cm; } +div.news-date { margin-left: 0.5cm; font-size: 80%; color: #4f0000; } +p.news-text { margin-left: 1cm; } +h1 { color: #00009F; } +h2 { color: #00009F; } +h3 { color: #00004F; margin-left: 0.5cm; } +ul { margin-left: .5cm; } +ol { margin-left: .5cm; } +pre { margin-left: .5cm; background-color: #f0f0f0; padding: 0.4cm;} +.grey { color: #afafaf; } + +.radiobox { margin-left: .5cm; background-color:#f0f0f0; padding: 0.4cm; } +.line0 { background-color:#f0f0f0; } +.line1 { background-color:#ffffff; } +.theader { background-color:#d0d0d0; } + +table { border:1px solid black; } -- cgit