|
From: <abe...@us...> - 2010-02-14 01:01:31
|
Revision: 3797
http://astlinux.svn.sourceforge.net/astlinux/?rev=3797&view=rev
Author: abelbeck
Date: 2010-02-14 01:01:24 +0000 (Sun, 14 Feb 2010)
Log Message:
-----------
Web interface, CDR Log tab optionally supports a Database: pop-up list of all *.csv files in the same directory as the specified Master.csv file, for details see: [Version 1.6.15]
http://lonnie.abelbeck.com/astlinux/altweb-changelog.txt
Modified Paths:
--------------
branches/0.7/package/webinterface/altweb/admin/cdrlog.php
branches/0.7/package/webinterface/altweb/admin/prefs.php
branches/0.7/package/webinterface/altweb/common/functions.php
branches/0.7/package/webinterface/altweb/common/status.inc
branches/0.7/package/webinterface/altweb/common/version.php
Modified: branches/0.7/package/webinterface/altweb/admin/cdrlog.php
===================================================================
--- branches/0.7/package/webinterface/altweb/admin/cdrlog.php 2010-02-14 01:00:25 UTC (rev 3796)
+++ branches/0.7/package/webinterface/altweb/admin/cdrlog.php 2010-02-14 01:01:24 UTC (rev 3797)
@@ -16,6 +16,7 @@
// 08-19-2008, Add standard cdr-csv, default cdr-custom and special cdr-custom
// 10-02-2008, Add optional last column CDR value
// 07-20-2009, Add David Kerr's code and ideas for multiple page support
+// 02-13-2010, Add multiple *.csv CDR Database suport
//
// cdr_custom.conf Master.csv definition for "Special cdr-custom" option
// Master.csv => "${CDR(start)}","${CDR(clid)}","${CDR(dst)}","${CDR(dcontext)}","${CDR(billsec)}"
@@ -29,6 +30,21 @@
$CDRLOGFILE = '/var/log/asterisk/cdr-csv/Master.csv';
}
+// Function: getCDRdatabases
+//
+function getCDRdatabases() {
+ global $CDRLOGFILE;
+
+ $path = dirname($CDRLOGFILE);
+
+ foreach (glob($path.'/*.csv') as $globfile) {
+ if (is_file($globfile)) {
+ $files[] = $globfile;
+ }
+ }
+ return($files);
+}
+
// Function: getMAPlast
//
function getMAPlast($default, $last) {
@@ -178,14 +194,20 @@
// Function: parseCDRlog
//
-function parseCDRlog(&$db, $match, $key, $map, $default, $extra, $last) {
+function parseCDRlog(&$db, $match, $key, $map, $default, $extra, $last, $databases) {
+ global $CDRLOGFILE;
- $logfile = $db['logfile'];
+ if ($db['logfileBase'] === $CDRLOGFILE && $databases === 'yes') {
+ $logfile = $db['logfileNext'];
+ } else {
+ $logfile = $CDRLOGFILE;
+ }
$nlines = $db['dbLoadLengthNext'];
$lastmtime = @filemtime($logfile);
if (isset($db['lastmtime'])) {
- if ($db['lastmtime'] == $lastmtime &&
+ if ($db['logfile'] === $logfile &&
+ $db['lastmtime'] == $lastmtime &&
$db['dbLoadLength'] == $nlines &&
$db['match'] === $match &&
$db['key'] === $key &&
@@ -195,6 +217,9 @@
return;
}
}
+ $db['logfileBase'] = $CDRLOGFILE;
+ $db['logfileNext'] = $logfile;
+ $db['logfile'] = $logfile;
$db['lastmtime'] = $lastmtime;
$db['dbLoadLength'] = $nlines;
$db['match'] = $match;
@@ -429,17 +454,22 @@
// have to keep reloading and sorting from the master csv file. We use reference variable (&) to
// avoid copying the database, thereby saving memory and improving performance.
if (! isset($_SESSION['db'])) {
+ $_SESSION['db']['logfileBase'] = $CDRLOGFILE;
+ $_SESSION['db']['logfileNext'] = $CDRLOGFILE;
+ $_SESSION['db']['logfile'] = $CDRLOGFILE;
$_SESSION['db']['dbLoadLengthNext'] = 500;
$_SESSION['db']['displayLength'] = 100;
}
$db = &$_SESSION['db'];
-$db['logfile'] = $CDRLOGFILE;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$result = 1;
if (! $global_staff) {
$result = 999;
} elseif (isset($_POST['submit_cdrlog'])) {
+ if (isset($_POST['databases'])) {
+ $db['logfileNext'] = $_POST['databases'];
+ }
if (isset($_POST['max_dbload'], $_POST['page_length'])) {
$db['dbLoadLengthNext'] = (int)$_POST['max_dbload'];
$db['displayLength'] = (int)$_POST['page_length'];
@@ -470,7 +500,7 @@
}
}
} elseif (isset($_POST['submit_backup'])) {
- if (($fp = @fopen($CDRLOGFILE,"rb")) === FALSE) {
+ if (($fp = @fopen($db['logfile'],"rb")) === FALSE) {
$result = 5;
} else {
$format = $_POST['format_dl'];
@@ -506,6 +536,7 @@
}
$staff_flag = ($global_user === 'staff' && getPREFdef($global_prefs, 'tab_cidname_show') === 'no');
$default = getPREFdef($global_prefs, 'cdrlog_default_format');
+ $databases = getPREFdef($global_prefs, 'cdrlog_databases_show');
$extra = getPREFdef($global_prefs, 'cdrlog_extra_show');
$last = (getPREFdef($global_prefs, 'cdrlog_last_show') === 'yes') ? getPREFdef($global_prefs, 'cdrlog_last_cmd') : '';
$map = mapCDRvalues($default, $extra, $last);
@@ -540,7 +571,7 @@
} elseif (isset($_GET['sortcolumnby'], $db['lastmtime'])) {
sortCDRdb($db, $_GET['sortcolumnby']);
} else {
- parseCDRlog($db, $search, $fkey, $map, $default, $extra, $last);
+ parseCDRlog($db, $search, $fkey, $map, $default, $extra, $last, $databases);
sortCDRdb($db, 'time');
}
@@ -581,6 +612,19 @@
<h2>Download Call Detail Records:</h2>
</td></tr><tr><td class="dialogText" style="text-align: center;">
<?php
+if ($databases === 'yes') {
+ $database_files = getCDRdatabases();
+ if (count($database_files) > 1) {
+ putHtml('Database:');
+ putHtml('<select name="databases">');
+ foreach ($database_files as $value) {
+ $sel = ($db['logfile'] === $value) ? ' selected="selected"' : '';
+ putHtml('<option value="'.$value.'"'.$sel.'>'.basename($value).'</option>');
+ }
+ putHtml('</select>');
+ putHtml('<br />');
+ }
+}
putHtml('Load');
putHtml('<select name="max_dbload">');
$max_dbload_label = array( '100', '500', '1000', '2000', '3000', '4000', '5000');
Modified: branches/0.7/package/webinterface/altweb/admin/prefs.php
===================================================================
--- branches/0.7/package/webinterface/altweb/admin/prefs.php 2010-02-14 01:00:25 UTC (rev 3796)
+++ branches/0.7/package/webinterface/altweb/admin/prefs.php 2010-02-14 01:01:24 UTC (rev 3797)
@@ -162,6 +162,10 @@
fwrite($fp, $value."\n");
$value = 'cdrlog_log_file_cmdstr = "'.trim($_POST['cdr_logfile']).'"';
fwrite($fp, $value."\n");
+ if (isset($_POST['cdr_databases'])) {
+ $value = 'cdrlog_databases_show = yes';
+ fwrite($fp, $value."\n");
+ }
if (isset($_POST['cdr_extra'])) {
$value = 'cdrlog_extra_show = yes';
fwrite($fp, $value."\n");
@@ -510,6 +514,9 @@
}
putHtml('<input type="text" size="48" maxlength="96" value="'.$value.'" name="cdr_logfile" /></td></tr>');
putHtml('<tr class="dtrow1"><td style="text-align: right;">');
+ $sel = (getPREFdef($global_prefs, 'cdrlog_databases_show') === 'yes') ? ' checked="checked"' : '';
+ putHtml('<input type="checkbox" value="cdr_databases" name="cdr_databases"'.$sel.' /></td><td colspan="5">Show multiple *.csv CDR Databases in CDR Log Path</td></tr>');
+ putHtml('<tr class="dtrow1"><td style="text-align: right;">');
$sel = (getPREFdef($global_prefs, 'cdrlog_extra_show') === 'yes') ? ' checked="checked"' : '';
putHtml('<input type="checkbox" value="cdr_extra" name="cdr_extra"'.$sel.' /></td><td colspan="5">Display channel, dstchannel and disposition CDR values</td></tr>');
putHtml('<tr class="dtrow1"><td style="text-align: right;">');
Modified: branches/0.7/package/webinterface/altweb/common/functions.php
===================================================================
--- branches/0.7/package/webinterface/altweb/common/functions.php 2010-02-14 01:00:25 UTC (rev 3796)
+++ branches/0.7/package/webinterface/altweb/common/functions.php 2010-02-14 01:01:24 UTC (rev 3797)
@@ -562,6 +562,13 @@
return($value);
}
+// Function: noASTLINUX
+//
+function noASTLINUX()
+{
+ return(is_file('/etc/astlinux-no'));
+}
+
// Function: getTABname
//
function getTABname()
Modified: branches/0.7/package/webinterface/altweb/common/status.inc
===================================================================
--- branches/0.7/package/webinterface/altweb/common/status.inc 2010-02-14 01:00:25 UTC (rev 3796)
+++ branches/0.7/package/webinterface/altweb/common/status.inc 2010-02-14 01:01:24 UTC (rev 3797)
@@ -254,7 +254,11 @@
//
function noASTURWstorage() {
- @system('mount 2>/dev/null | grep -q "/oldroot/mnt/asturw"', $status);
+ if (noASTLINUX()) {
+ $status = 0;
+ } else {
+ @system('mount 2>/dev/null | grep -q "/oldroot/mnt/asturw"', $status);
+ }
return($status != 0);
}
Modified: branches/0.7/package/webinterface/altweb/common/version.php
===================================================================
--- branches/0.7/package/webinterface/altweb/common/version.php 2010-02-14 01:00:25 UTC (rev 3796)
+++ branches/0.7/package/webinterface/altweb/common/version.php 2010-02-14 01:01:24 UTC (rev 3797)
@@ -1,6 +1,6 @@
<?php
// version.php for AstLinux Alternate Web Interface
-$GUI_VERSION = '1.6.14';
+$GUI_VERSION = '1.6.15';
?>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|