Add a missing file sip_profile_copy.php to the dev branch.
This commit is contained in:
@@ -0,0 +1,203 @@
|
||||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2012
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
require_once "root.php";
|
||||
require_once "includes/require.php";
|
||||
require_once "includes/checkauth.php";
|
||||
if (permission_exists('xml_cdr_view')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//import xml_cdr files
|
||||
require_once "v_xml_cdr_import.php";
|
||||
|
||||
//additional includes
|
||||
require_once "includes/paging.php";
|
||||
|
||||
//set 24hr or 12hr clock
|
||||
define('TIME_24HR', 1);
|
||||
|
||||
//get post or get variables from http
|
||||
if (count($_REQUEST)>0) {
|
||||
$order_by = $_REQUEST["order_by"];
|
||||
$order = $_REQUEST["order"];
|
||||
$cdr_id = $_REQUEST["cdr_id"];
|
||||
$direction = $_REQUEST["direction"];
|
||||
$caller_id_name = $_REQUEST["caller_id_name"];
|
||||
$caller_id_number = $_REQUEST["caller_id_number"];
|
||||
$destination_number = $_REQUEST["destination_number"];
|
||||
$context = $_REQUEST["context"];
|
||||
$start_stamp = $_REQUEST["start_stamp"];
|
||||
$answer_stamp = $_REQUEST["answer_stamp"];
|
||||
$end_stamp = $_REQUEST["end_stamp"];
|
||||
$duration = $_REQUEST["duration"];
|
||||
$billsec = $_REQUEST["billsec"];
|
||||
$hangup_cause = $_REQUEST["hangup_cause"];
|
||||
$uuid = $_REQUEST["uuid"];
|
||||
$bleg_uuid = $_REQUEST["bleg_uuid"];
|
||||
$accountcode = $_REQUEST["accountcode"];
|
||||
$read_codec = $_REQUEST["read_codec"];
|
||||
$write_codec = $_REQUEST["write_codec"];
|
||||
$remote_media_ip = $_REQUEST["remote_media_ip"];
|
||||
$network_addr = $_REQUEST["network_addr"];
|
||||
}
|
||||
|
||||
//build the sql where string
|
||||
if (strlen($cdr_id) > 0) { $sql_where .= "and cdr_id like '%$cdr_id%' "; }
|
||||
if (strlen($direction) > 0) { $sql_where .= "and direction like '%$direction%' "; }
|
||||
if (strlen($caller_id_name) > 0) { $sql_where .= "and caller_id_name like '%$caller_id_name%' "; }
|
||||
if (strlen($caller_id_number) > 0 && strlen($destination_number) > 0) {
|
||||
$sql_where .= "and (";
|
||||
$sql_where .= "caller_id_number = '$caller_id_number' ";
|
||||
$sql_where .= "or destination_number = '$destination_number'";
|
||||
$sql_where .= ") ";
|
||||
}
|
||||
else {
|
||||
if (strlen($caller_id_number) > 0) { $sql_where .= "and caller_id_number like '%$caller_id_number%' "; }
|
||||
if (strlen($destination_number) > 0) { $sql_where .= "and destination_number like '%$destination_number%' "; }
|
||||
}
|
||||
if (strlen($context) > 0) { $sql_where .= "and context like '%$context%' "; }
|
||||
if ($db_type == "sqlite") {
|
||||
if (strlen($start_stamp) > 0) { $sql_where .= "and start_stamp like '%$start_stamp%' "; }
|
||||
if (strlen($end_stamp) > 0) { $sql_where .= "and end_stamp like '%$end_stamp%' "; }
|
||||
}
|
||||
if ($db_type == "pgsql" || $db_type == "mysql") {
|
||||
if (strlen($start_stamp) > 0 && strlen($end_stamp) == 0) { $sql_where .= "and 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 .= "and start_stamp between '$start_stamp 00:00:00' and '$end_stamp 23:59:59' "; }
|
||||
}
|
||||
if (strlen($answer_stamp) > 0) { $sql_where .= "and answer_stamp like '%$answer_stamp%' "; }
|
||||
if (strlen($duration) > 0) { $sql_where .= "and duration like '%$duration%' "; }
|
||||
if (strlen($billsec) > 0) { $sql_where .= "and billsec like '%$billsec%' "; }
|
||||
if (strlen($hangup_cause) > 0) { $sql_where .= "and hangup_cause like '%$hangup_cause%' "; }
|
||||
if (strlen($uuid) > 0) { $sql_where .= "and uuid = '$uuid' "; }
|
||||
if (strlen($bleg_uuid) > 0) { $sql_where .= "and bleg_uuid = '$bleg_uuid' "; }
|
||||
if (strlen($accountcode) > 0) { $sql_where .= "and accountcode = '$accountcode' "; }
|
||||
if (strlen($read_codec) > 0) { $sql_where .= "and read_codec like '%$read_codec%' "; }
|
||||
if (strlen($write_codec) > 0) { $sql_where .= "and write_codec like '%$write_codec%' "; }
|
||||
if (strlen($remote_media_ip) > 0) { $sql_where .= "and remote_media_ip like '%$remote_media_ip%' "; }
|
||||
if (strlen($network_addr) > 0) { $sql_where .= "and network_addr like '%$network_addr%' "; }
|
||||
|
||||
//example sql
|
||||
// select caller_id_number, destination_number from v_xml_cdr where domain_uuid = ''
|
||||
// and (caller_id_number = '1001' or destination_number = '1001' or destination_number = '*991001')
|
||||
if (!if_group("admin") && !if_group("superadmin")) {
|
||||
$sql_where = "where domain_uuid = '$domain_uuid' ";
|
||||
$sql_where .= "and ( ";
|
||||
if (count($_SESSION['user']['extension']) > 0) {
|
||||
$x = 0;
|
||||
foreach($_SESSION['user']['extension'] as $row) {
|
||||
if ($x==0) {
|
||||
if ($row['user'] > 0) { $sql_where .= "caller_id_number = '".$row['user']."' \n"; } //source
|
||||
}
|
||||
else {
|
||||
if ($row['user'] > 0) { $sql_where .= "or caller_id_number = '".$row['user']."' \n"; } //source
|
||||
}
|
||||
if ($row['user'] > 0) { $sql_where .= "or destination_number = '".$row['user']."' \n"; } //destination
|
||||
if ($row['user'] > 0) { $sql_where .= "or destination_number = '*99".$row['user']."' \n"; } //destination
|
||||
$x++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$sql_where .= "destination_number = 'no extension assigned' \n"; //destination
|
||||
}
|
||||
$sql_where .= ") ";
|
||||
}
|
||||
else {
|
||||
//superadmin or admin
|
||||
$sql_where = "where domain_uuid = '$domain_uuid' ".$sql_where;
|
||||
}
|
||||
//$sql_where = str_replace ("where or", "where", $sql_where);
|
||||
//$sql_where = str_replace ("where and", " and", $sql_where);
|
||||
|
||||
//set the param variable which is used with paging
|
||||
$param = "";
|
||||
$param .= "&caller_id_name=$caller_id_name";
|
||||
$param .= "&start_stamp=$start_stamp";
|
||||
$param .= "&hangup_cause=$hangup_cause";
|
||||
$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 .= "&duration=$duration";
|
||||
$param .= "&billsec=$billsec";
|
||||
$param .= "&uuid=$uuid";
|
||||
$param .= "&bridge_uuid=$bridge_uuid";
|
||||
$param .= "&accountcode=$accountcode";
|
||||
$param .= "&read_codec=$read_codec";
|
||||
$param .= "&write_codec=$write_codec";
|
||||
$param .= "&remote_media_ip=$remote_media_ip";
|
||||
$param .= "&network_addr=$network_addr";
|
||||
|
||||
//create the sql query to get the xml cdr records
|
||||
if (strlen($order_by) == 0) { $order_by = "start_epoch"; }
|
||||
if (strlen($order) == 0) { $order = "desc"; }
|
||||
|
||||
//set the default
|
||||
$num_rows = '0';
|
||||
|
||||
//get the number of rows in the v_xml_cdr
|
||||
$sql = "select count(*) as num_rows from v_xml_cdr ";
|
||||
$sql .= $sql_where;
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] > 0) {
|
||||
$num_rows = $row['num_rows'];
|
||||
}
|
||||
else {
|
||||
$num_rows = '0';
|
||||
}
|
||||
}
|
||||
unset($prep_statement, $result);
|
||||
|
||||
//prepare to page the results
|
||||
$rows_per_page = 150;
|
||||
$page = $_GET['page'];
|
||||
if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; }
|
||||
list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page);
|
||||
$offset = $rows_per_page * $page;
|
||||
|
||||
//get the results from the db
|
||||
$sql = "select * from v_xml_cdr ";
|
||||
$sql .= $sql_where;
|
||||
if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
|
||||
$sql .= " limit $rows_per_page offset $offset ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
$result_count = count($result);
|
||||
unset ($prep_statement, $sql);
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user