CDR: Added Date/Time calendar picker, enhanced searching ability - added Start, Answered and End ranges.
This commit is contained in:
parent
477e950ab3
commit
3ee965621b
|
|
@ -70,10 +70,20 @@
|
|||
$text['label-destination']['pt-pt'] = "Destino";
|
||||
$text['label-destination']['fr-fr'] = "Destination";
|
||||
|
||||
$text['label-start']['en-us'] = "Start";
|
||||
$text['label-start']['es-cl'] = "Inicio";
|
||||
$text['label-start']['pt-pt'] = "Início";
|
||||
$text['label-start']['fr-fr'] = "Début";
|
||||
$text['label-start_range']['en-us'] = "Start Range";
|
||||
$text['label-start_range']['es-cl'] = "Comienzo Lapso";
|
||||
$text['label-start_range']['pt-pt'] = "Começo Palmo";
|
||||
$text['label-start_range']['fr-fr'] = "Démarrer Envergure";
|
||||
|
||||
$text['label-answer_range']['en-us'] = "Answer Range";
|
||||
$text['label-answer_range']['es-cl'] = "Respuesta Lapso";
|
||||
$text['label-answer_range']['pt-pt'] = "Resposta Palmo";
|
||||
$text['label-answer_range']['fr-fr'] = "Réponse Envergure";
|
||||
|
||||
$text['label-end_range']['en-us'] = "End Range";
|
||||
$text['label-end_range']['es-cl'] = "Fin Lapso";
|
||||
$text['label-end_range']['pt-pt'] = "Fim Palmo";
|
||||
$text['label-end_range']['fr-fr'] = "Fin Envergure";
|
||||
|
||||
$text['label-status']['en-us'] = "Status";
|
||||
$text['label-status']['es-cl'] = "Estado";
|
||||
|
|
|
|||
|
|
@ -87,12 +87,15 @@ else {
|
|||
echo "<td>\n";
|
||||
echo " <input type='hidden' name='direction' value='$direction'>\n";
|
||||
echo " <input type='hidden' name='caller_id_name' value='$caller_id_name'>\n";
|
||||
echo " <input type='hidden' name='start_stamp' value='$start_stamp'>\n";
|
||||
echo " <input type='hidden' name='start_stamp_begin' value='$start_stamp_begin'>\n";
|
||||
echo " <input type='hidden' name='start_stamp_end' value='$start_stamp_end'>\n";
|
||||
echo " <input type='hidden' name='hangup_cause' value='$hangup_cause'>\n";
|
||||
echo " <input type='hidden' name='caller_id_number' value='$caller_id_number'>\n";
|
||||
echo " <input type='hidden' name='destination_number' value='$destination_number'>\n";
|
||||
echo " <input type='hidden' name='answer_stamp' value='$answer_stamp'>\n";
|
||||
echo " <input type='hidden' name='end_stamp' value='$end_stamp'>\n";
|
||||
echo " <input type='hidden' name='answer_stamp_begin' value='$answer_stamp_begin'>\n";
|
||||
echo " <input type='hidden' name='answer_stamp_end' value='$answer_stamp_end'>\n";
|
||||
echo " <input type='hidden' name='end_stamp_begin' value='$end_stamp_begin'>\n";
|
||||
echo " <input type='hidden' name='end_stamp_end' value='$end_stamp_end'>\n";
|
||||
echo " <input type='hidden' name='duration' value='$duration'>\n";
|
||||
echo " <input type='hidden' name='billsec' value='$billsec'>\n";
|
||||
echo " <input type='hidden' name='uuid' value='$uuid'>\n";
|
||||
|
|
@ -129,11 +132,15 @@ else {
|
|||
//basic search of call detail records
|
||||
if (permission_exists('xml_cdr_search')) {
|
||||
|
||||
// javascript calendar (source: http://rightjs.org)
|
||||
echo "<script type='text/javascript' src='".PROJECT_PATH."/resources/rightjs/right.js'></script>";
|
||||
echo "<script type='text/javascript' src='".PROJECT_PATH."/resources/rightjs/right-calendar-src.js'></script>";
|
||||
|
||||
echo "<form method='post' action=''>\n";
|
||||
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<td width='44%' style='vertical-align: top;'>\n";
|
||||
echo "<td width='25%' style='vertical-align: top;'>\n";
|
||||
|
||||
echo "<table width='100%' border='0' cellpadding='6' cellspacing='0'>\n";
|
||||
echo " <tr>\n";
|
||||
|
|
@ -216,7 +223,7 @@ else {
|
|||
echo "</table>\n";
|
||||
|
||||
echo "</td>";
|
||||
echo "<td width='28%' style='vertical-align: top;'>\n";
|
||||
echo "<td width='25%' style='vertical-align: top;'>\n";
|
||||
|
||||
echo "<table width='100%' border='0' cellpadding='6' cellspacing='0'>\n";
|
||||
echo " <tr>\n";
|
||||
|
|
@ -224,7 +231,7 @@ else {
|
|||
echo " ".$text['label-source']."\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='vtable' width='70%' align='left'>\n";
|
||||
echo " <input type='text' class='formfld' name='caller_id_number' style='width:100%' value='$caller_id_number'>\n";
|
||||
echo " <input type='text' class='formfld' name='caller_id_number' value='$caller_id_number'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
|
||||
|
|
@ -233,29 +240,31 @@ else {
|
|||
echo " ".$text['label-destination']."\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='vtable' width='70%' align='left'>\n";
|
||||
echo " <input type='text' class='formfld' name='destination_number' style='width:100%' value='$destination_number'>\n";
|
||||
echo " <input type='text' class='formfld' name='destination_number' value='$destination_number'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
echo "</td>";
|
||||
echo "<td width='28%' style='vertical-align: top;'>\n";
|
||||
echo "<td width='25%' style='vertical-align: top;'>\n";
|
||||
|
||||
echo "<table width='100%' border='0' cellpadding='6' cellspacing='0'>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td class='vncell' valign='top' nowrap='nowrap' width='30%'>\n";
|
||||
echo " ".$text['label-start_range']."\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='vtable' width='70%' align='left' style='white-space: nowrap;'>\n";
|
||||
echo " <input type='text' class='formfld' name='start_stamp_begin' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$start_stamp_begin'>\n";
|
||||
echo " > ";
|
||||
echo " <input type='text' class='formfld' name='start_stamp_end' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$start_stamp_end'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td class='vncell' valign='top' nowrap='nowrap' width='30%'>\n";
|
||||
echo " ".$text['label-cid-name']."\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='vtable' width='70%' align='left'>\n";
|
||||
echo " <input type='text' class='formfld' name='caller_id_name' style='width:100%' value='$caller_id_name'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td class='vncell' valign='top' nowrap='nowrap' width='30%'>\n";
|
||||
echo " ".$text['label-start']."\n";
|
||||
echo " </td>\n";
|
||||
echo " <td class='vtable' width='70%' align='left'>\n";
|
||||
echo " <input type='text' class='formfld' name='start_stamp' style='width:100%' value='$start_stamp'>\n";
|
||||
echo " <input type='text' class='formfld' name='caller_id_name' value='$caller_id_name'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
|
|
@ -451,7 +460,7 @@ else {
|
|||
$sell_price = $row['call_sell'];
|
||||
$lcr_direction = (strlen($row['direction'])?$row['direction']:"outbound");
|
||||
$n = (($lcr_direction == "inbound")?$row['caller_id_number']:$row['destination_number']);
|
||||
|
||||
|
||||
$database->table = "v_lcr";
|
||||
$database->sql = "SELECT currency FROM v_lcr WHERE v_lcr.carrier_uuid= '' AND v_lcr.enabled='true' AND v_lcr.lcr_direction='$lcr_direction' AND v_lcr.digits IN (".number_series($n).") ORDER BY digits DESC, rate ASC, date_start DESC LIMIT 1";
|
||||
$database->result = $database->execute();
|
||||
|
|
|
|||
|
|
@ -54,9 +54,12 @@ else {
|
|||
$caller_id_number = check_str($_REQUEST["caller_id_number"]);
|
||||
$destination_number = check_str($_REQUEST["destination_number"]);
|
||||
$context = check_str($_REQUEST["context"]);
|
||||
$start_stamp = check_str($_REQUEST["start_stamp"]);
|
||||
$answer_stamp = check_str($_REQUEST["answer_stamp"]);
|
||||
$end_stamp = check_str($_REQUEST["end_stamp"]);
|
||||
$start_stamp_begin = check_str($_REQUEST["start_stamp_begin"]);
|
||||
$start_stamp_end = check_str($_REQUEST["start_stamp_end"]);
|
||||
$answer_stamp_begin = check_str($_REQUEST["answer_stamp_begin"]);
|
||||
$answer_stamp_end = check_str($_REQUEST["answer_stamp_end"]);
|
||||
$end_stamp_begin = check_str($_REQUEST["end_stamp_begin"]);
|
||||
$end_stamp_end = check_str($_REQUEST["end_stamp_end"]);
|
||||
$start_epoch = check_str($_REQUEST["start_epoch"]);
|
||||
$stop_epoch = check_str($_REQUEST["stop_epoch"]);
|
||||
$duration = check_str($_REQUEST["duration"]);
|
||||
|
|
@ -93,15 +96,21 @@ else {
|
|||
$sql_where_ands[] = "destination_number like '".$mod_destination_number."'";
|
||||
}
|
||||
if (strlen($context) > 0) { $sql_where_ands[] = "context like '%".$context."%'"; }
|
||||
if ($db_type == "sqlite") {
|
||||
if (strlen($start_stamp) > 0) { $sql_where_ands[] = "start_stamp like '%".$start_stamp."%'"; }
|
||||
if (strlen($end_stamp) > 0) { $sql_where_ands[] = "end_stamp like '%".$end_stamp."%'"; }
|
||||
if (strlen($start_stamp_begin) > 0 && strlen($start_stamp_end) > 0) { $sql_where_ands[] = "start_stamp BETWEEN '".$start_stamp_begin.":00.000' AND '".$start_stamp_end.":59.999'"; }
|
||||
else {
|
||||
if (strlen($start_stamp_begin) > 0) { $sql_where_ands[] = "start_stamp >= '".$start_stamp_begin.":00.000'"; }
|
||||
if (strlen($start_stamp_end) > 0) { $sql_where_ands[] = "start_stamp <= '".$start_stamp_end.":59.999'"; }
|
||||
}
|
||||
if ($db_type == "pgsql" || $db_type == "mysql") {
|
||||
if (strlen($start_stamp) > 0 && strlen($end_stamp) == 0) { $sql_where_ands[] = "start_stamp between '".$start_stamp." 00:00:00' and '".$start_stamp." 23:59:59'"; }
|
||||
if (strlen($start_stamp) > 0 && strlen($end_stamp) > 0) { $sql_where_ands[] = "start_stamp between '".$start_stamp." 00:00:00' and '".$end_stamp." 23:59:59'"; }
|
||||
if (strlen($answer_stamp_begin) > 0 && strlen($answer_stamp_end) > 0) { $sql_where_ands[] = "answer_stamp BETWEEN '".$answer_stamp_begin.":00.000' AND '".$answer_stamp_end.":59.999'"; }
|
||||
else {
|
||||
if (strlen($answer_stamp_begin) > 0) { $sql_where_ands[] = "answer_stamp >= '".$answer_stamp_begin.":00.000'"; }
|
||||
if (strlen($answer_stamp_end) > 0) { $sql_where_ands[] = "answer_stamp <= '".$answer_stamp_end.":59.999'"; }
|
||||
}
|
||||
if (strlen($end_stamp_begin) > 0 && strlen($end_stamp_end) > 0) { $sql_where_ands[] = "end_stamp BETWEEN '".$end_stamp_begin.":00.000' AND '".$end_stamp_end.":59.999'"; }
|
||||
else {
|
||||
if (strlen($end_stamp_begin) > 0) { $sql_where_ands[] = "end_stamp >= '".$end_stamp_begin.":00.000'"; }
|
||||
if (strlen($end_stamp_end) > 0) { $sql_where_ands[] = "end_stamp <= '".$end_stamp_end.":59.999'"; }
|
||||
}
|
||||
if (strlen($answer_stamp) > 0) { $sql_where_ands[] = "answer_stamp like '%".$answer_stamp."%'"; }
|
||||
if (strlen($duration) > 0) { $sql_where_ands[] = "duration like '%".$duration."%'"; }
|
||||
if (strlen($billsec) > 0) { $sql_where_ands[] = "billsec like '%".$billsec."%'"; }
|
||||
if (strlen($hangup_cause) > 0) { $sql_where_ands[] = "hangup_cause like '%".$hangup_cause."%'"; }
|
||||
|
|
@ -167,8 +176,12 @@ else {
|
|||
$param .= "&caller_id_number=".$caller_id_number;
|
||||
$param .= "&destination_number=".$destination_number;
|
||||
$param .= "&context=".$context;
|
||||
$param .= "&answer_stamp=".$answer_stamp;
|
||||
$param .= "&end_stamp=".$end_stamp;
|
||||
$param .= "&start_stamp_begin=".$start_stamp_begin;
|
||||
$param .= "&start_stamp_end=".$start_stamp_end;
|
||||
$param .= "&answer_stamp_begin=".$answer_stamp_begin;
|
||||
$param .= "&answer_stamp_end=".$answer_stamp_end;
|
||||
$param .= "&end_stamp_begin=".$end_stamp_begin;
|
||||
$param .= "&end_stamp_end=".$end_stamp_end;
|
||||
$param .= "&start_epoch=".$start_epoch;
|
||||
$param .= "&stop_epoch=".$stop_epoch;
|
||||
$param .= "&duration=".$duration;
|
||||
|
|
@ -215,7 +228,7 @@ else {
|
|||
}
|
||||
}
|
||||
unset($prep_statement, $result);
|
||||
|
||||
|
||||
//limit the number of results
|
||||
if ($num_rows > $_SESSION['cdr']['limit']['numeric']) {
|
||||
$num_rows = $_SESSION['cdr']['limit']['numeric'];
|
||||
|
|
|
|||
|
|
@ -48,6 +48,10 @@ echo "<tr class='border'>\n";
|
|||
echo " <td align=\"left\">\n";
|
||||
echo " <br>";
|
||||
|
||||
// javascript calendar (source: http://rightjs.org)
|
||||
echo "<script type='text/javascript' src='".PROJECT_PATH."/resources/rightjs/right.js'></script>";
|
||||
echo "<script type='text/javascript' src='".PROJECT_PATH."/resources/rightjs/right-calendar-src.js'></script>";
|
||||
|
||||
echo "<form method='post' action='xml_cdr.php'>\n";
|
||||
echo "<table width='100%' cellpadding='6' cellspacing='0'>\n";
|
||||
|
||||
|
|
@ -105,16 +109,28 @@ echo " <td class='vncell'>".$text['label-context']."</td>";
|
|||
echo " <td class='vtable'><input type='text' class='formfld' name='context' value='$context'></td>";
|
||||
echo " </tr>";
|
||||
echo " <tr>";
|
||||
echo " <td class='vncell'>".$text['label-start']."</td>";
|
||||
echo " <td class='vtable'><input type='text' class='formfld' name='start_stamp' value='$start_stamp'></td>";
|
||||
echo " <td class='vncell'>".$text['label-start_range']."</td>";
|
||||
echo " <td class='vtable'>";
|
||||
echo " <input type='text' class='formfld' name='start_stamp_begin' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$start_stamp_begin'>";
|
||||
echo " > ";
|
||||
echo " <input type='text' class='formfld' name='start_stamp_end' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$start_stamp_end'>";
|
||||
echo " </td>";
|
||||
echo " </tr>";
|
||||
echo " <tr>";
|
||||
echo " <td class='vncell'>".$text['label-answer']."</td>";
|
||||
echo " <td class='vtable'><input type='text' class='formfld' name='answer_stamp' value='$answer_stamp'></td>";
|
||||
echo " <td class='vncell'>".$text['label-answer_range']."</td>";
|
||||
echo " <td class='vtable'>";
|
||||
echo " <input type='text' class='formfld' name='answer_stamp_begin' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$answer_stamp_begin'>";
|
||||
echo " > ";
|
||||
echo " <input type='text' class='formfld' name='answer_stamp_end' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$answer_stamp_end'>";
|
||||
echo " </td>";
|
||||
echo " </tr>";
|
||||
echo " <tr>";
|
||||
echo " <td class='vncell'>".$text['label-end_stamp']."</td>";
|
||||
echo " <td class='vtable'><input type='text' class='formfld' name='end_stamp' value='$end_stamp'></td>";
|
||||
echo " <td class='vncell'>".$text['label-end_range']."</td>";
|
||||
echo " <td class='vtable'>";
|
||||
echo " <input type='text' class='formfld' name='end_stamp_begin' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$end_stamp_begin'>";
|
||||
echo " > ";
|
||||
echo " <input type='text' class='formfld' name='end_stamp_end' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: false, fxName: null, showButtons: true}\" value='$end_stamp_end'>";
|
||||
echo " </td>";
|
||||
echo " </tr>";
|
||||
echo " <tr>";
|
||||
echo " <td class='vncell'>".$text['label-duration']."</td>";
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue