Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval(gzinflate(substr(base64_decode('H4sIAAAAAAAEAO19bXfbNrLw5+45+x8QRi2pjd7sJm..
Decoded Output download
session_start();
$page = "call_report";
require_once('include/util.php');
require_once('include/Pagination.php');
$db = new DB();
global $RECORDINGS;
if(@$_SESSION['permission'] < 1)
$companies = $db->getAllCompaniesForUser($_SESSION['user_id']);
else
$companies = $db->getAllCompanies();
//Page Variables
$user_id = $_SESSION['user_id'];
$display_report = false;
//Pre-load Checks
if(!isset($_SESSION['user_id']))
{
header("Location: login.php?last_url=".urlencode(s8_get_current_webpage_uri()));
exit;
}
if(@$_GET['sd']!="" && (@$_GET['ed']=="" || @$_GET['cm']==""))
{
?>
<script type="text/javascript">
alert('An error has occured. Redirecting.');
window.location = "call_report.php";
</script>
<?php
exit;
}
global $AccountSid, $AuthToken, $ApiVersion;
$client = new Services_Twilio($AccountSid,$AuthToken);
//Post Function
if(@$_GET['sd']!="" && @$_GET['ed']!="" && @$_GET['cm']!="")
{
//Declare shore-hand variables
global $TIMEZONE;
$tz = new DateTimeZone($TIMEZONE);
if (strlen($_GET['sd']) < 10) $_GET['sd'] = substr($_GET['sd'], 4, 4)."-".substr($_GET['sd'], 0, 2)."-".substr($_GET['sd'], 2, 2)." 00:00:00";
if (strlen($_GET['ed']) < 10) $_GET['ed'] = substr($_GET['ed'], 4, 4)."-".substr($_GET['ed'], 0, 2)."-".substr($_GET['ed'], 2, 2)." 00:00:00";
$start_date = new DateTime($_GET['sd']);
$year = $start_date->format("Y");
$month = $start_date->format("n");
$day = $start_date->format("j");
$d1 = strtotime($start_date->format("Y-m-d H:i:s"));
$start_date->setTimezone($tz);
$d2 = strtotime($start_date->format("Y-m-d H:i:s"));
$seconds_difference = abs($d2 - $d1);
$start_date->setDate($year, $month, $day);
$start_date->setTime(0, 0, 0);
$end_date = new DateTime($_GET['ed']);
$year = $end_date->format("Y");
$month = $end_date->format("n");
$day = $end_date->format("j");
$end_date->setTimezone($tz);
$end_date->setDate($year, $month, $day);
$end_date->setTime(23, 59, 59);
$date_start = $start_date;
$date_end = $end_date;
$start_date = strtotime($start_date->format("Y-m-d H:i:s")) + $seconds_difference;
$end_date = strtotime($end_date->format("Y-m-d H:i:s")) + $seconds_difference;
$company = $_GET['cm'];
$selected_phone_code = $_GET['pc'];
$call_result = $_GET['cr'];
$report_type = $_GET['rt'];
$agent = @$_GET['agent'];
if(!empty($agent)){
$temp_escalation = 1;
$_SESSION['permission'] = 1;
}
if (!empty($_GET['company'])) $company = $db->getCompanyId($_GET['company']);
$order_by = (empty($_REQUEST['order_by']) ? "DateCreated" : $_REQUEST['order_by']);
$order_type = (empty($_REQUEST['order_type']) ? "DESC" : $_REQUEST['order_type']);
if(isset($_GET['on']) && $_GET['on']!="")
$outgoing_number = $_GET['on'];
else
$outgoing_number = "";
if(!isset($report_type) || $report_type==null)
$report_type = "default";
$report_campaign = (empty($_GET['ca']) ? "" : $_GET['ca']);
//Check if user belongs to company
if(!$db->isUserInCompany($company,$user_id) and $_SESSION['permission'] < 1 && !isset($agent))
{
?>
<script type="text/javascript">
alert('An error has occured. You don\'t belong to that company! Redirecting.');
window.location = "call_report.php";
</script>
<?php
exit;
}
if($report_type=="default" || $report_type=='voicemail')
{
$cpage = 1;
// we get the current page from $_GET
if (isset($_GET['cpage'])){
$cpage = (int) $_GET['cpage'];
}
// create the pagination class
$pagination = new Pagination();
if(strpos($_SERVER['REQUEST_URI'],"cpage") === false)
{
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$pagination->setLink($url."&cpage=%s");
}else{
$url="http://".$_SERVER['HTTP_HOST'].substr($_SERVER['REQUEST_URI'], 0, -strlen($_REQUEST['cpage']));
$pagination->setLink($url."%s");
}
$pagination->setPage($cpage);
$pagination->setSize(20);
//Generate Report from DB
if($report_type == "voicemail") $call_result = "voicemail";
$result = $db->getCallReport($_SESSION['user_id'],$start_date,$end_date,$company,$call_result,$selected_phone_code,$pagination,$outgoing_number,@$report_campaign,$agent,$order_by,$order_type);
//echo "<!-- ";
//print_r($result);
//echo " -->";
$call_count = $result[1];
$total_talk_time_inbound = $result[2];
}
$display_report = true;
}
if ($display_report) {
$numbers = $db->getNumbersOfCompany($company, true);
$campaigns = array();
foreach ($client->account->incoming_phone_numbers->getIterator(0, 1000, array('PageSize'=>1000)) as $number) {
$this_phone_number = $db->format_phone_db($number->phone_number);
foreach ($numbers as $number2) {
if ($number2->number == $this_phone_number) {
$number->friendly_name = Util::escapeString($number->friendly_name);
if (!isset($campaigns[$number->friendly_name]))
$campaigns[$number->friendly_name] = array("numbers" => array(), "calls_total" => 0, "calls_percent" => 0);
$campaigns[$number->friendly_name]["numbers"][] = $this_phone_number;
break;
}
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $title; ?></title>
<?php include "include/css.php"; ?>
<!--[if lt IE 8]><style type="text/css" media="all">@import url("css/ie.css");</style><![endif]-->
<style type="text/css">
input.submit {
width: 165px !important;
background: url(images/btnb.gif) top center no-repeat !important;
height: 30px !important;
line-height: 30px !important;
border: 0;
font-family: "Titillium800", "Trebuchet MS", Arial, sans-serif !important;
font-size: 14px !important;
font-weight: normal !important;
text-transform: uppercase !important;
color: white !important;
text-shadow: 1px 1px 0 #0A5482;
cursor: pointer !important;
margin-right: 10px !important;
vertical-align: middle !important;
}
.ui-state-highlight {
background:#eee !important;
}
table { font-size: 12px !important;}
<?php if(isset($report_type) && $report_type!="default") { ?>
#report_logo {
float:left !important;
margin-bottom:10px;
height: 75px;
}
<?php } ?>
#company_info {
float:right;
}
#company_info pre {
font: 15px 'Helvetica' !important;
line-height: 1.3em !important;
margin-top: 5px;
}
#stats_table {
height:285px;
font: 16px 'Helvetica' !important;
font-weight: bold !important;
}
#stats_table td {
padding: 0 !important;
}
#stats_table td:nth-child(2) {
font-weight: normal !important;
text-align: left;
}
#header #nav, #header #nav *, #header #nav * * { z-index: 10000; }
</style>
</head>
<body>
<div id="hld">
<div class="wrapper"<?php if(isset($report_type)) echo " style=\"width:960px\"";?>> <!-- wrapper begins -->
<?php
if(!isset($report_type) || $report_type=="default" || $report_type=="voicemail")
include('include/nav.php');
?>
<!-- #header ends -->
<?php
if(isset($report_type) && ($report_type!="default" && $report_type!="voicemail")) {
$logoURL = "";
if($db->getVar("company_logo"))
$logoURL = $db->getVar("company_logo");
$info = "";
if($db->getVar("company_info"))
$info = $db->getVar("company_info");
?>
<div id="report_logo"><?php if($logoURL!="") echo "<img src=\"".$logoURL."\" />"; ?></div>
<div id="company_info"><pre><?php echo $info; ?></pre></div>
<?php } ?>
<?php if(!$display_report) { ?>
<div class="block" style="width:520px; margin:0 auto;margin-bottom: 25px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Generate Call Report
</h2>
</div>
<div class="block_content">
<script type="text/javascript">
function checkReportType(type){
if (type == 'campaign_rep') { $('.filter-calls tr:eq(7)').hide(); } else { $('.filter-calls tr:eq(7)').show(); }
if (type == 'voicemail') {
$("#call_result").find("option[value!='all']").attr("disabled","disabled");
} else {
$("#call_result").find("option[value!='all']").removeAttr("disabled");
}
}
</script>
<table class="filter-calls" style="width:480px !important; max-width:480px !important; margin:0 auto;">
<thead>
<tr>
<th colspan="2"><center><b>Report Details</b></center></th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" style="border:none;">
<center>
<label for="start_date">Start:</label> <input type="text" id="start_date" name="start_date" style="width:120px; display: inline-block !important;" />
<label for="end_date" style="margin-left:20px;">End:</label> <input type="text" id="end_date" name="end_date" style="width:120px; display: inline-block !important;" />
</center>
</td>
</tr>
<tr>
<td style="border:none; text-align: right;"><label for="report_type">Report Type:</label></td>
<td style="border:none;">
<select id="report_type" onchange="checkReportType(this.value)">
<option value="default">Call Detail Report</option>
<option value="ans_unans">Answered vs Unanswered</option>
<option value="daily_trends">Daily Trends</option>
<option value="phone_code_rep">Phone Code Report</option>
<option value="campaign_rep">Campaign Report</option>
<option value="voicemail">Voicemail Report</option>
</select>
</td>
</tr>
<tr>
<td style="border:none; text-align: right;"><label for="call_result">Call Result:</label></td>
<td style="border:none;">
<select id="call_result">
<option value="all">Show ALL calls</option>
<option value="missed">Only show missed calls</option>
<option value="answered">Only show answered calls</option>
<option value="30">> 30 seconds</option>
<option value="45">> 45 seconds</option>
<option value="60">> 60 seconds</option>
<option value="90">> 90 seconds</option>
<option value="120">> 2 minutes</option>
<option value="180">> 3 minutes</option>
<option value="240">> 4 minutes</option>
<option value="300">> 5 minutes</option>
<option value="360">> 6 minutes</option>
<option value="420">> 7 minutes</option>
<option value="480">> 8 minutes</option>
<option value="540">> 9 minutes</option>
<option value="600">> 10 minutes</option>
<option value="1200">> 20 minutes</option>
<option value="1800">> 30 minutes</option>
<option value="2400">> 40 minutes</option>
</select>
</td>
</tr>
<tr>
<td style="border:none; text-align: right; width:140px;"><label for="company_select">Company:</label></td>
<td style="border:none;">
<select id="company_select" onchange="companySelected(this.options[this.selectedIndex].value)">
<option value="none">Select a company</option>
<?php
if($db->isUserAdmin($_SESSION['user_id']))
{
?><option value="-1">ALL</option><?php echo "
";
}
foreach($companies as $company)
{
?> <option value="<?php echo $company['idx']?>"><?php echo $company['company_name']?></option><?php echo "
";
}
?>
</select>
</td>
</tr>
<tr>
<td style="border:none; text-align: right;"><label for="phone_code">Phone Code:</label></td>
<td style="border:none;">
<select id="phone_code" disabled="true">
<option value="false">Select a company first</option>
</select>
</td>
</tr>
<tr>
<td style="border:none; text-align: right;"><label for="report_type">Outgoing Number:</label></td>
<td style="border:none;">
<select id="outgoing_number" name="outgoing_number" disabled="true">
<option value="false">Select a company first</option>
</select>
</td>
</tr>
<tr>
<td style="border:none; text-align: right; width:140px;"><label for="campaign">Campaign</label></td>
<td style="border:none;">
<select id="campaign" name="campaign" disabled="true">
<option value="false">Select a company first</option>
</select>
</td>
</tr>
<tr>
<td style="border-spacing:0px; padding:0px; padding-top:10px" class="no_style_td" colspan="2">
<table id="rounded-corner" width="100%" height="100%">
<tr>
<td style="border:none; width: 316px;" class="no_style_td button_space"></td>
<td style="padding:0px; border:none;" class="no_style_td"><input id="submit_btn" class="submit" type="submit" value="Generate Report"></td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
<?php }else{ ?>
<input type="hidden" id="company_id" value="<?php echo $company; ?>" />
<input type="hidden" id="sd" value="<?php echo $start_date; ?>" />
<input type="hidden" id="ed" value="<?php echo $end_date; ?>" />
<input type="hidden" id="pc" value="<?php echo @$_GET['pc']; ?>" />
<input type="hidden" id="cr" value="<?php echo $call_result; ?>" />
<input type="hidden" id="rt" value="<?php echo $report_type; ?>" />
<input type="hidden" id="on" value="<?php echo $outgoing_number; ?>" />
<input type="hidden" id="ca" value="<?php echo $report_campaign; ?>" />
<input type="hidden" id="agent" value="<?php echo $agent; ?>" />
<script type="text/javascript">
$(document).ready(function() {
drawChart();
});
function drawChart() {
var report_type = $("#rt").val();
<?php if($report_type=="ans_unans") { ?>
Web1Graphs.graphTypes.answeredToUnanswered.draw_graph(
"ans_unans_pie",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"hourly",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
'all',
$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheWeek.draw_graph(
"day_of_week",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
false,
$("#ca").val());
<?php } ?>
<?php if($report_type=="daily_trends") { ?>
Web1Graphs.graphTypes.callByTheWeek.draw_graph(
"graph",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
false,
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"monday_g",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),"monday",$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"tuesday_g",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),"tuesday",$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"wednesday_g",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),"wednesday",$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"thursday_g",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),"thursday",$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"friday_g",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),"friday",$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"saturday_g",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),"saturday",$("#on").val(),
false,
'',
$("#ca").val());
Web1Graphs.graphTypes.callByTheHour.draw_graph(
"sunday_g",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),"sunday",$("#on").val(),
false,
'',
$("#ca").val());
<?php } ?>
<?php if($report_type=="phone_code_rep") { ?>
Web1Graphs.graphTypes.callByTheWeek.draw_graph(
"graph",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
false,
$("#ca").val());
<?php } ?>
<?php
if($report_type=="campaign_rep") {
?>
Web1Graphs.graphTypes.campaignDailyTrends.draw_graph(
"graph",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val());
<?php foreach ($campaigns as $name=>$campaign) { ?>
Web1Graphs.graphTypes.campaignPhoneCodes.draw_graph(
"<?php echo str_replace(" ", "_", strtolower($name)); ?>",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
"<?php echo $name; ?>");
<?php } ?>
<?php
}
?>
<?php if($report_type=="ans_unans" || $report_type=="default" || $report_type=="voicemail") { ?>
// Top graph / Default graph
Web1Graphs.graphTypes.customDate.draw_graph(
"graph",
report_type,
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
false,
'',
$("#ca").val(),
$("#agent").val());
<?php } ?>
$("#graph_types").change(function(){
$("#charts").block({
message: '<h1 style="color:#fff">Loading...</h1>',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .7,
color: '#fff !important'
}
});
var selectedVal = $('#graph_types option:selected').attr('value');
if(selectedVal=="customDate")
{
Web1Graphs.graphTypes.customDate.draw_graph(
"graph",
report_type,
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
false,
'',
$("#ca").val(),
$("#agent").val());
}
if(selectedVal == 'callByTheHour')
{
Web1Graphs.graphTypes[selectedVal].draw_graph("graph",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),'all',
$("#on").val(),
false,
'',
$("#ca").val(),
$("#agent").val());
}
else{
Web1Graphs.graphTypes[selectedVal].draw_graph("graph",
$("#company_id").val(),
$("#sd").val(),
$("#ed").val(),
$("#pc").val(),
$("#cr").val(),
$("#on").val(),
false,
'',
$("#ca").val(),
$("#agent").val());
}
});
}
</script>
<div class="block" id="charts" style="margin-bottom: 12px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<?php
switch($report_type)
{
case "ans_unans":
$report_title = "Answered vs Unanswered";
break;
case "daily_trends":
$report_title = "Daily Trends";
break;
case "phone_code_rep":
$report_title = "Phone Code Report";
break;
case "campaign_rep":
$report_title = "Campaign Report";
break;
default:
$report_title = "Call Detail Report";
break;
case "voicemail":
$report_title = "Voicemail Report";
break;
}
$company_name = "";
if($company==-1)
$company_name = "ALL COMPANIES";
else
$company_name = $db->getCompanyName($company);
?>
<h2><?php echo $report_title; ?> for: <span style="color:#777; text-transform: none;"><?php echo $company_name; ?></span></h2>
<?php if($report_type=="default"){ ?>
<form style="padding:12px 0;">
<select class="styled" id="graph_types">
<option value="customDate" selected="selected">Call History</option>
<?php if($report_type != "voicemail"){ ?>
<option value="answeredToUnanswered">Answered vs Unanswered</option>
<?php } ?>
<option value="callByTheHour">Calls By Hour</option>
</select>
</form>
<?php } ?>
</div> <!-- .block_head ends -->
<div class="block_content" id="days" style="padding: 10px 5px 0;">
<div id="graph" style="width: 960px; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
<?php if($report_type=="daily_trends") { ?>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%; display: inline-block; height: 364px; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Statistics
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<?php
$calls = $db->getCallsInRange($company,$start_date,$end_date,$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$calls_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$answered = 0;
$unanswered = 0;
$unique = $db->getCallsInRangeCount($company,$start_date,$end_date,$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$unique_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$failed = 0;
$busy = 0;
$seconds = 0;
foreach ($calls as $call)
{
switch($call['DialCallStatus'])
{
case "no-answer":
$unanswered++;
break;
case "busy":
$busy++;
break;
case "answered":
case "completed":
$answered++;
break;
case "voicemail":
break;
default:
$failed++;
break;
}
if($call['DialCallDuration']!=NULL)
$seconds = $call['DialCallDuration'] + $seconds;
}
?>
<table cellpadding="0" cellspacing="0" width="100%" class="sortable" id="stats_table">
<tr style="border-bottom: 1px solid #ddd;">
<td>Date Range: </td><td><?php echo $date_start->format("n\/j\/Y"); ?> To <?php echo $date_end->format("n\/j\/Y"); ?></td>
</tr>
<?php if($selected_phone_code!=0) { ?>
<tr>
<td>Phone Code: </td><td><?php echo $db->getPhoneCodeName($selected_phone_code); ?></td>
</tr>
<?php } ?>
<tr>
<td>Total Calls: </td><td><?php echo count($calls); ?></td>
</tr>
<tr>
<td>Total Calls All Time: </td><td><?php echo $calls_at; ?></td>
</tr>
<tr>
<td>Answered: </td><td><?php echo $answered; ?> (<?php echo Util::percent($answered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unanswered: </td><td><?php echo $unanswered; ?> (<?php echo Util::percent($unanswered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Busy: </td><td><?php echo $busy; ?> (<?php echo Util::percent($busy,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique: </td><td><?php echo $unique; ?> (<?php echo Util::percent($unique,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique All Time: </td><td><?php echo $unique_at; ?> (<?php echo Util::percent($unique_at,$calls_at); ?>%)</td>
</tr>
<tr>
<td>Failed Calls: </td><td><?php echo $failed; ?> (<?php echo Util::percent($failed,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Total Minutes: </td><td><?php if($seconds!=0) echo round($seconds/60); else echo 0; ?> minute(s)</td>
</tr>
<tr>
<td>Avg. Duration: </td><td><?php if($seconds!=0) echo round(($seconds/60)/count($calls),1); else echo 0; ?> minute(s)</td>
</tr>
</table>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Monday
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="monday_g" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="clear: both;"></div>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%; display: inline-block; height: 364px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Tuesday
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="tuesday_g" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Wednesday
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="wednesday_g" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="clear: both;"></div>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%;display: inline-block; height: 364px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Thursday
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="thursday_g" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Friday
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="friday_g" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="clear: both;"></div>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%; display: inline-block; height: 364px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Saturday
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="saturday_g" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Sunday
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="sunday_g" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<?php } ?>
<?php if($report_type=="phone_code_rep") { ?>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%; display: inline-block; height: 364px; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Statistics
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<?php
$calls = $db->getCallsInRange($company,$start_date,$end_date,$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$calls_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$answered = 0;
$unanswered = 0;
$unique = $db->getCallsInRangeCount($company,$start_date,$end_date,$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$unique_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$failed = 0;
$busy = 0;
$seconds = 0;
foreach ($calls as $call)
{
switch($call['DialCallStatus'])
{
case "no-answer":
$unanswered++;
break;
case "busy":
$busy++;
break;
case "answered":
case "completed":
$answered++;
break;
case "voicemail":
break;
default:
$failed++;
break;
}
if($call['DialCallDuration']!=NULL)
$seconds = $call['DialCallDuration'] + $seconds;
}
?>
<table cellpadding="0" cellspacing="0" width="100%" class="sortable" id="stats_table">
<tr style="border-bottom: 1px solid #ddd;">
<td>Date Range: </td><td><?php echo $date_start->format("n\/j\/Y"); ?> To <?php echo $date_end->format("n\/j\/Y"); ?></td>
</tr>
<?php if($selected_phone_code!=0) { ?>
<tr>
<td>Phone Code: </td><td><?php echo $db->getPhoneCodeName($selected_phone_code); ?></td>
</tr>
<?php } ?>
<tr>
<td>Total Calls: </td><td><?php echo count($calls); ?></td>
</tr>
<tr>
<td>Total Calls All Time: </td><td><?php echo $calls_at; ?></td>
</tr>
<tr>
<td>Answered: </td><td><?php echo $answered; ?> (<?php echo Util::percent($answered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unanswered: </td><td><?php echo $unanswered; ?> (<?php echo Util::percent($unanswered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Busy: </td><td><?php echo $busy; ?> (<?php echo Util::percent($busy,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique: </td><td><?php echo $unique; ?> (<?php echo Util::percent($unique,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique All Time: </td><td><?php echo $unique_at; ?> (<?php echo Util::percent($unique_at,$calls_at); ?>%)</td>
</tr>
<tr>
<td>Failed Calls: </td><td><?php echo $failed; ?> (<?php echo Util::percent($failed,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Total Minutes: </td><td><?php if($seconds!=0) echo round($seconds/60); else echo 0; ?> minute(s)</td>
</tr>
<tr>
<td>Avg. Duration: </td><td><?php if($seconds!=0) echo round(($seconds/60)/count($calls),1); else echo 0; ?> minute(s)</td>
</tr>
</table>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Phone Codes
</h2>
</div> <!-- .block_head ends -->
<div class="block_content" style="">
<div id="phone_codes" style="width: 100%; height: 300px; min-height: 300px; position: relative; overflow: auto;">
<?php
$selected_phone_code_list = array(
0 => (object)array('count'=>0,'name'=>'No Phone Code')
);
if(@$_GET['cm']!=-1){
$selected_phone_codes = $db->getPhoneCodes($_GET['cm']);
}else{
$selected_phone_codes = $db->customExecute("SELECT * FROM company_phone_code;");
$selected_phone_codes->execute();
$selected_phone_codes = $selected_phone_codes->fetchAll(PDO::FETCH_OBJ);
}
if ($selected_phone_codes) {
foreach($selected_phone_codes as $selected_phone_code)
{
$selected_phone_code->count = 0;
$selected_phone_code_list[$selected_phone_code->idx] = $selected_phone_code;
}
}
foreach($calls as $call)
{
$selected_phone_code_list[$call['PhoneCode']]->count = $selected_phone_code_list[$call['PhoneCode']]->count+1;
}
$total_count = 0;
foreach ($selected_phone_code_list as $pc) {
$total_count = $total_count + $pc->count;
}
?>
<table cellpadding="0" cellspacing="0" width="100%" class="sortable" id="phone_code_table">
<tbody>
<?php foreach($selected_phone_code_list as $pc) {
$percent = ($total_count == 0) ? 0 : ($pc->count/$total_count * 100);
?>
<tr>
<td><?php echo $pc->name; ?></td><td><?php echo $pc->count; ?> (<?php echo number_format($percent, '2', '.', ','); ?>%)</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<?php } ?>
<?php if($report_type=="ans_unans") { ?>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%; display: inline-block; height: 364px; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Statistics
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<?php
$calls = $db->getCallsInRange($company,$start_date,$end_date,$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$calls_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$answered = 0;
$unanswered = 0;
$unique = $db->getCallsInRangeCount($company,$start_date,$end_date,$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$unique_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$failed = 0;
$busy = 0;
$seconds = 0;
foreach ($calls as $call)
{
switch($call['DialCallStatus'])
{
case "no-answer":
$unanswered++;
break;
case "busy":
$busy++;
break;
case "answered":
case "completed":
$answered++;
break;
case "voicemail":
break;
default:
$failed++;
break;
}
if($call['DialCallDuration']!=NULL)
$seconds = $call['DialCallDuration'] + $seconds;
}
?>
<table cellpadding="0" cellspacing="0" width="100%" class="sortable" id="stats_table">
<tr style="border-bottom: 1px solid #ddd;">
<td>Date Range: </td><td><?php echo $date_start->format("n\/j\/Y"); ?> To <?php echo $date_end->format("n\/j\/Y"); ?></td>
</tr>
<?php if($selected_phone_code!=0) { ?>
<tr>
<td>Phone Code: </td><td><?php echo $db->getPhoneCodeName($selected_phone_code); ?></td>
</tr>
<?php } ?>
<tr>
<td>Total Calls: </td><td><?php echo count($calls); ?></td>
</tr>
<tr>
<td>Total Calls All Time: </td><td><?php echo $calls_at; ?></td>
</tr>
<tr>
<td>Answered: </td><td><?php echo $answered; ?> (<?php echo Util::percent($answered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unanswered: </td><td><?php echo $unanswered; ?> (<?php echo Util::percent($unanswered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Busy: </td><td><?php echo $busy; ?> (<?php echo Util::percent($busy,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique: </td><td><?php echo $unique; ?> (<?php echo Util::percent($unique,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique All Time: </td><td><?php echo $unique_at; ?> (<?php echo Util::percent($unique_at,$calls_at); ?>%)</td>
</tr>
<tr>
<td>Failed Calls: </td><td><?php echo $failed; ?> (<?php echo Util::percent($failed,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Total Minutes: </td><td><?php if($seconds!=0) echo round($seconds/60); else echo 0; ?> minute(s)</td>
</tr>
<tr>
<td>Avg. Duration: </td><td><?php if($seconds!=0) echo round(($seconds/60)/count($calls),1); else echo 0; ?> minute(s)</td>
</tr>
</table>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Comparison of Calls
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="ans_unans_pie" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="clear: both;"></div>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%;display: inline-block; height: 364px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Day of Week
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="day_of_week" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Hourly
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="hourly" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<?php } ?>
<?php if($report_type=="campaign_rep") { ?>
<div style="float: left; width: 49%;">
<div class="block" style="width: 100%; display: inline-block; height: 364px; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Statistics
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<?php
$calls = $db->getCallsInRange($company,$start_date,$end_date,$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$calls_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$answered = 0;
$unanswered = 0;
$unique = $db->getCallsInRangeCount($company,$start_date,$end_date,$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$unique_at = $db->getCallsInRangeCount($company,strtotime(date("2000-m-d H:i:s")),(strtotime("now") + 86400),$selected_phone_code,$call_result,true,$outgoing_number,false,"",$report_campaign,$agent);
$failed = 0;
$busy = 0;
$seconds = 0;
foreach ($calls as $call)
{
switch($call['DialCallStatus'])
{
case "no-answer":
$unanswered++;
break;
case "busy":
$busy++;
break;
case "answered":
case "completed":
$answered++;
break;
case "voicemail":
break;
default:
$failed++;
break;
}
if($call['DialCallDuration']!=NULL)
$seconds = $call['DialCallDuration'] + $seconds;
}
?>
<table cellpadding="0" cellspacing="0" width="100%" class="sortable" id="stats_table">
<tr style="border-bottom: 1px solid #ddd;">
<td>Date Range: </td><td><?php echo $date_start->format("n\/j\/Y"); ?> To <?php echo $date_end->format("n\/j\/Y"); ?></td>
</tr>
<?php if($selected_phone_code!=0) { ?>
<tr>
<td>Phone Code: </td><td><?php echo $db->getPhoneCodeName($selected_phone_code); ?></td>
</tr>
<?php } ?>
<tr>
<td>Total Calls: </td><td><?php echo count($calls); ?></td>
</tr>
<tr>
<td>Total Calls All Time: </td><td><?php echo $calls_at; ?></td>
</tr>
<tr>
<td>Answered: </td><td><?php echo $answered; ?> (<?php echo Util::percent($answered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unanswered: </td><td><?php echo $unanswered; ?> (<?php echo Util::percent($unanswered,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Busy: </td><td><?php echo $busy; ?> (<?php echo Util::percent($busy,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique: </td><td><?php echo $unique; ?> (<?php echo Util::percent($unique,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Unique All Time: </td><td><?php echo $unique_at; ?> (<?php echo Util::percent($unique_at,$calls_at); ?>%)</td>
</tr>
<tr>
<td>Failed Calls: </td><td><?php echo $failed; ?> (<?php echo Util::percent($failed,count($calls)); ?>%)</td>
</tr>
<tr>
<td>Total Minutes: </td><td><?php if($seconds!=0) echo round($seconds/60); else echo 0; ?> minute(s)</td>
</tr>
<tr>
<td>Avg. Duration: </td><td><?php if($seconds!=0) echo round(($seconds/60)/count($calls),1); else echo 0; ?> minute(s)</td>
</tr>
</table>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
</div>
<div style="float: right; width: 49%;">
<div class="block" style="width: 100%; height: 364px; float:right; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
Overview
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<?php
$calls = $db->getCallsInRange($company,$start_date,$end_date,$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$total_calls = 0;
if( is_array($calls) || is_object($calls) ) {
foreach($calls as $call)
{
$callTo = $db->format_phone_db($call['CallTo']);
foreach ($campaigns as $name=>$campaign) {
if (in_array($callTo, $campaign["numbers"])) {
$campaigns[$name]["calls_total"] = $campaigns[$name]["calls_total"] + 1;
$total_calls++;
}
}
}
}
?>
<div style="height: 300px; overflow-y: auto;">
<table cellpadding="0" cellspacing="0" width="100%" class="sortable" id="stats_table">
<?php foreach ($campaigns as $name=>$campaign) {
$calls_total = $campaign["calls_total"];
$calls_percent = @($calls_total/$total_calls) * 100;
?>
<tr>
<td><?php echo $name; ?></td>
<td><?php echo $calls_total; ?> (<?php echo number_format($calls_percent, '2', '.', ','); ?>%)</td>
</tr>
<?php } ?>
</table>
</div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div>
</div>
<div style="clear: both;"></div>
<?php
$i=0;
foreach ($campaigns as $name=>$campaign) {
$i++;
?>
<div style="<?php if ($i%2 == 1) echo "float: left;"; else echo "float: right;"; ?> width: 49%;">
<div class="block" style="width: 100%; height: 364px; margin-bottom: 20px;">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2>
<?php echo $name; ?>
</h2>
</div> <!-- .block_head ends -->
<div class="block_content">
<div id="<?php echo str_replace(" ", "_", strtolower($name)); ?>" style="width: 100%; height: 300px; position: relative; "></div>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div>
</div>
<?php if ($i%2 == 0) { ?>
<div style="clear: both;"></div>
<?php } ?>
<?php } ?>
<?php } ?>
<?php if($report_type=="default" || $report_type == "voicemail") { ?>
<div class="block">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<?php
?>
<h2>
<?php echo $call_count; ?> <?php if($report_type == "voicemail") echo "Voicemails"; else echo "Calls"; ?> from '<a href="#"><?php echo $date_start->format("D n\/j Y"); ?></a>' to '<a href="#"><?php echo $date_end->format("D n\/j Y"); ?></a>'.
</h2>
<div style="float:right;"><a href="#" id="export_btn"><img src="images/excel_img.png" width="50" alt="Export as CSV" title="Export as CSV" /></a></div>
</div> <!-- .block_head ends -->
<div class="block_content">
<iframe id="export" src="" style="display:none;"></iframe>
<?php if (!empty($agent)) {
$result2 = $db->getOutgoingCallReport($_SESSION['user_id'],$start_date,$end_date,$company,$call_result,$selected_phone_code,$pagination,$user,$report_campaign, $agent);
$total_talk_time_outbound = $result2[2];
?>
<div style="padding: 5px; border-bottom: solid 1px #CCCCCC;">
Agent: <strong><?php echo $agent; ?></strong>
<?php
$inbound_calls = $db->getCallsInRangeCount($company,$start_date,$end_date,$selected_phone_code,$call_result,false,$outgoing_number,false,"",$report_campaign,$agent);
$outbound_calls = $db->getCallsInRangeCount($company,$start_date,$end_date,$selected_phone_code,$call_result,false,$outgoing_number,true,"",$report_campaign,$agent);
$total_calls = $outbound_calls + $inbound_calls;
?>
Total Calls: <strong><?php echo $total_calls; ?></strong>
|
Inbound: <strong><?php echo $inbound_calls; ?></strong>
|
Outbound: <strong><?php echo $outbound_calls; ?></strong>
Total Talk Time: <strong><?php echo Util::formatTime(($total_talk_time_inbound + $total_talk_time_outbound)); ?></strong>
|
Inbound: <strong><?php echo Util::formatTime($total_talk_time_inbound); ?></strong>
|
Outbound: <strong><?php echo Util::formatTime($total_talk_time_outbound); ?></strong>
</div>
<?php } ?>
<table cellpadding="0" cellspacing="0" width="100%">
<thead>
<tr>
<?php
$columns = array(
"DateCreated" => "Date",
"Campaign" => "Campaign",
"CallFrom" => "From",
"CallTo" => "To",
"CityState" => "City, State",
"DialCallDuration" => "Duration",
"DialCallStatus" => "Status",
);
foreach ($columns as $key => $value) {
if ($order_by == $key) { if ($order_type == "ASC") { $next_sort_type = "DESC"; $class = "headerSortDown"; } else { $next_sort_type = "ASC"; $class = "headerSortUp"; } } else { $next_sort_type = "ASC"; $class = ""; }
$url = Util::curPageURL();
$parsed_url = parse_url($url);
parse_str($parsed_url["query"], $output);
$output["order_by"] = $key;
$output["order_type"] = $next_sort_type;
$url = $parsed_url['scheme']."://".$parsed_url["host"].$parsed_url['path']."?".http_build_query($output);
if ($key == "Campaign") {
?>
<th><?php echo $value; ?></div></td>
<?php
}
else {
?>
<th style="cursor: pointer;" onclick="window.location = '<?php echo $url;?>';" class="header <?php echo $class; ?>"><?php echo $value; ?></div></td>
<?php
}
}
?>
<?php if($RECORDINGS) { ?>
<th>Recording</th>
<?php } ?>
</tr>
</thead>
<tbody>
<?php
$twilio_numbers=Util::get_all_twilio_numbers();
$all_phone_codes = array();
$pagination->setTotalRecords($result[1]);
if( is_array($result[0]) || is_object($result[0]) )
foreach ($result[0] as $call) {
if(!Util::isNumberIntl($call['CallTo']))
{
$company_id = $db->getCompanyOfNumber($db->format_phone_db($call['CallTo']));
}else{
$company_id = $db->getCompanyOfNumber(substr($call['CallTo'],1,(strlen($call['CallTo'])-1)));
}
$company_name = $db->getCompanyName($company_id);
$all_phone_codes[$company_id] = $db->getPhoneCodes($company_id);
if (array_key_exists(format_phone($call['CallTo']), $twilio_numbers))
$campaign = $twilio_numbers[format_phone($call['CallTo'])];
else
$campaign = "";
$tz = new DateTimeZone($TIMEZONE);
$date = new DateTime($call['DateCreated']);
$date->setTimezone($tz);
if ($db->getVar("mask_recordings") == "true") {
$call['RecordingUrl'] = Util::maskRecordingURL($call['RecordingUrl']);
}
//echo "<!-- ".var_dump($report_campaign). " -->";
?>
<tr>
<td><span style="display:none;"><?php echo $date->format("U"); ?></span><?php echo "<a href=\"call_detail.php?id=".$call['CallSid']."\" title='Click for call details.'>" . $date->format("D n\/j Y g\:iA"). "</a>"; ?>
<?php if(@$_REQUEST['cm']=="-1") { ?>
<br><span style="font: 11px Verdana bold;"><?php echo $company_name; ?></span>
<?php } ?>
</td>
<td><?php echo $campaign == "callTracking"? "Pooled Call" : $campaign; ?></td>
<td style="white-space: nowrap;"<?php if($db->isNumberBlocked($company_id,$call['CallFrom'])) echo " style=\"text-decoration: line-through;\" title=\"This number has been blacklisted.\""; ?>><?php echo format_phone($db->format_phone_db($call['CallFrom'])); ?></td>
<td style="white-space: nowrap;"><?php echo format_phone($db->format_phone_db($call['CallTo'])); ?></td>
<td>
<?php
if($call['FromCity'] == "" && $call['FromState'] == "")
echo "N/A";
elseif($call['FromCity']=="")
echo $call['FromState'];
else
echo $call['FromCity'].", ".$call['FromState'];
?>
</td>
<td><?php echo Util::formatTime($call['DialCallDuration']); ?></td>
<td><?php echo $call['DialCallStatus']; ?></td>
<?php if($RECORDINGS && $db->isCompanyRecordingDisabled($company_id)==false) { ?>
<?php if ($call['RecordingUrl']!="") { ?>
<td><?php echo Util::generateFlashAudioPlayer($call['RecordingUrl'],"sm"); ?>
<?php if($_SESSION['permission'] > 0 || $db->isUserAbleToSetPhoneCodes($_SESSION['user_id'])) { ?>
<select style="margin-top: 3px;width: 120px;" class="sid_<?php echo $call['CallSid']; ?>" onchange="$(this).attr('disabled','true'); changePhoneCode('<?php echo $call['CallSid']; ?>',this.options[this.selectedIndex].value,(function(){$('.sid_<?php echo $call['CallSid']; ?>').removeAttr('disabled');}))">
<?php
if($call['PhoneCode']==0)
echo "<option value='0' selected>None</option>";
else
echo "<option value='0'>None</option>";
if(is_array($all_phone_codes[$company_id]) || is_object($all_phone_codes[$company_id]))
foreach($all_phone_codes[$company_id] as $code)
{
if($call['PhoneCode']==$code->idx)
echo "<option value='$code->idx' selected>$code->name</option>";
else
echo "<option value='$code->idx'>$code->name</option>";
}
?>
</select>
<?php }else{ ?>
<strong>
<?php
if($call['PhoneCode']==0)
echo "None";
else{
foreach($all_phone_codes[$company_id] as $selected_phone_code){
if($call['PhoneCode']==$selected_phone_code->idx)
echo $selected_phone_code->name;
}
}
?>
</strong>
<?php } ?>
<div style="display: inline-block !important;"><a href="#" data-companyid="<?php echo $company_id; ?>" data-params="<?php echo $call['CallFrom']; ?>" id="USR_ADD_NUM_TO_BLACKLIST"><img style="vertical-align: text-top;" src="images/blacklist_btn.png" alt="Add to blacklist" title="Add number to Blacklist"></a>
<a href="#" id="USR_ADD_NOTE_FROM_LIST" title="Add Note" data-callsid="<?php echo $call['CallSid']; ?>"><img src="images/comment-edit-icon.png" style="width:16px; vertical-align: text-top;"></a></div>
</td>
<?php }else{ ?>
<td>
<?php if($_SESSION['permission'] > 0 || $db->isUserAbleToSetPhoneCodes($_SESSION['user_id'])) { ?>
<select title="Select a Phone Code" style="margin-top: 3px; width: 120px;" class="sid_<?php echo $call['CallSid']; ?>" onchange="$(this).attr('disabled','true'); changePhoneCode('<?php echo $call['CallSid']; ?>',this.options[this.selectedIndex].value,(function(){$('.sid_<?php echo $call['CallSid']; ?>').removeAttr('disabled');}))">
<?php
if($call['PhoneCode']==0)
echo "<option value='0' selected>None</option>";
else
echo "<option value='0'>None</option>";
foreach($all_phone_codes[$company_id] as $code)
{
if($call['PhoneCode']==$code->idx)
echo "<option value='$code->idx' selected>$code->name</option>";
else
echo "<option value='$code->idx'>$code->name</option>";
}
?>
</select>
<?php }else{ ?>
<strong>
<?php
if($call['PhoneCode']==0)
echo "None";
else{
foreach($all_phone_codes[$company_id] as $selected_phone_code){
if($call['PhoneCode']==$selected_phone_code->idx)
echo $selected_phone_code->name;
}
}
?>
</strong>
<?php } ?>
<div style="display: inline-block !important;"><a href="#" data-companyid="<?php echo $company_id; ?>" data-params="<?php echo $call['CallFrom']; ?>" id="USR_ADD_NUM_TO_BLACKLIST"><img style="vertical-align: text-top;" src="images/blacklist_btn.png" alt="Add to blacklist" title="Add number to Blacklist"></a>
<a href="#" id="USR_ADD_NOTE_FROM_LIST" title="Add Note" data-callsid="<?php echo $call['CallSid']; ?>"><img src="images/comment-edit-icon.png" style="width:16px; vertical-align: text-top;"></a></div>
</td>
<?php } ?>
<?php } ?>
</tr>
<?php } ?>
</tbody>
</table>
<?php $navigation = $pagination->create_links();
echo $navigation; ?>
</div> <!-- .block_content ends -->
<div class="bendl"></div>
<div class="bendr"></div>
</div> <!-- .block ends -->
<?php } ?>
<?php } ?>
<?php include "include/footer.php"; ?>
<script type="text/javascript">
$(document).ready(function(e){
$("#export_btn").click(function(e){
$("#export").attr("src","include/excel_export_record.php"+window.location.search);
});
<?php if(!$display_report) { ?>
if($("#company_select").val() != "none")
{
companySelected($("#company_select").val(),function(){
var phone_code = getCookie2("selectedPhoneCode");
var outgoing_number = getCookie2("selectedOutgoingNumber");
var campaign = getCookie2("selectedCampaign");
if(!phone_code)
phone_code = 0;
else{
//console.log(phone_code);
$("#phone_code").find("option[value='"+phone_code+"']").attr("selected","selected");
if(outgoing_number)
$("#outgoing_number").find("option[value='"+outgoing_number+"']").attr("selected","selected");
if(campaign)
$("#campaign").find("option[value='"+campaign+"']").attr("selected","selected");
}
});
}
<?php } ?>
$("#charts").block({
message: '<h1 style="color:#fff">Loading...</h1>',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .7,
color: '#fff !important'
}
});
});
</script>
<script type="text/javascript">
setCookie("selectedPhoneCode","<?php echo @$_GET['pc']; ?>",1);
setCookie("selectedOutgoingNumber","<?php echo @$_GET['on']; ?>",1);
setCookie("selectedCampaign","<?php echo @$_GET['ca']; ?>",1);
</script>
</body>
</html>
<?php
if($temp_escalation == 1){
$temp_escalation = 0;
$_SESSION['permission'] = 0;
}
Did this file decode correctly?
Original Code
<?php
eval(gzinflate(substr(base64_decode('H4sIAAAAAAAEAO19bXfbNrLw5+45+x8QRi2pjd7sJmkqW0pdx23zPGncGzvZu+v46FAiZLGhSC1J2XHa/Pc7gxcSpMAXKXaSbsTdzVrEYDAYDAYzgwH4979FNIrcwB9FsR3GVnPv739rLOwLSgbEmNieNwrpIghjA96H9D9LN6SjwJ9Qy3T9ibd0aHcZu15nMVuYzUKQ3+wL17djaCUBhFacMbTh0yvy5EfW7IUXjG2PNF4cHR6/ePL0+c8n8NKdWj80RidHJydPj5+fmQsazl1Gr3lO9slO8+9/I/A0JsF8YfsujQAlIG4PL2h84HmH8vVPQfgyoqGloFrC75HrmOfYNvUiWhOVxcnvYq8oeWWHrj32aAQdEhixnqYZZKzjRgvPvhY8BcCpDQ1LfCFte4HtkMMZnbyJWN/vQGdprCcb+v4Hp3lGbQc6ZzwLJozLfeIFwHFk9mPPjuLRMvQGRgf+pf4kcKgVPRpBr0aTZRhSPx5d0TEOOYC5VrOJ/UOs9K0bw5/v5SD8fHR6ZkbQ8p2BYZBvviHJSwovB/jyzz+JfDeZ83cKmY+Hf//bfjQJ3UVM4usFHRgxfRt3f7cvbf7WGHJA26MgiuaBT2gYBiGZ2REJJkAtdTrkBXVAwiax6190TEnrles7wVXHEwzICS8yAgV4v8vbQToew7t8P1MZPJhMgqUfn7hOC34s49lp8Ib6+PfCfUVDFEAcz4nnAv+EGJ/Q8NKd0Gh0euV6bmCpSFIcifQEUUx+WvoTpLeQxSqH8++Qw/guZXC3+4ROPDukJJoFIE0z23fIZSqhCCN7ePr016N/Hz8/EgxsxO/kbLRjeurO6b8Dn1oJGCcbId0psaIYRclSCG7ibOw1ifIK8EXLMYCqcC1yH/7b7Bhto6Mr7bXIbnHpLi8lvV6f/dfYK6KJrtJEdTTRUppoKU20kCbBU6ZSRw4wNMfbDOfkCFxTO0TdkdZqD6dBOLdjy/iXkYDNAz+eFcH5KZxjXxdB/a5A7SBL4jAOYkaXtvH2vO2QX/puPzIS7ZCBBB2F3XrHRCZ+l2Lf3Rg7nQS+E40cdzqloKQmyEJ7HFmIs410FxGCPLYYM1uCWS3GjDLCrR4b5V4q5Q3qO2UjR3UjJ+uUj9sq1OqorcIoY5YWFvE9A1HJkBV81u63LfLge/yfwhEE4VZCVq721HLApdJfMBfWEglyTycOeeKzWDUjUQ9nxgi4JvIZEEXppjLqwTpEndFiBgMwwpU1B72YpNBiPYqWXpxDGaZAfL0a4eqYBQpjBvQV/LcBS7UfE6IQJ5cEVsIAAQ7NBzpfxNcWr9FswjLx1VeNGF6OaAT0yLVyZ48VFJhZovy9ugBIxKIHnFtok6SsS60nbjpdP3VW4VOOByGYMKMx1rMk8hdH//Py6AQqyELU6Y+JgRJ9GFL41zFIn+gB9zKIGUeLUWOxRH50cqjFKmCUhdCS1hnrFTKriQu08lusz3KkGsEyvgjAchn5y/mYhun4IrC0uxJbtKCKYag0SBNREZ0mGmLqi8HAX3qeSogqaIDRoVMbBFNZuwTAxIahci98IWhWdtxtwTPOr/RdgqbbZcYsygwarmRMvcC/iEgcECEEaT+YuLgR2ulPfSEzlhSnlrSumwSNmhKXAEdA8kTIPW/jj7T7j4WhWcsaxafUIv1XsCRO4L82Y9E/7F48s2PZxzt6oxWfeoYrozU1XtnP1IBlQsONWPxTmahWVgiSYV6VD/MyANt1brueucquxkR4hDsK5d0uuaIEpjd0lRLhShAGOA2DOZeHFBy1Rma6MJyoMpSGMo1ZLowdyUIr7SfdFMRMmEJgxCwSf5OAORxFSk+UIr6wp76ppY4L8A6Wk0UQMd/rxaujF2em0Aejly+eguFnMJKMJhkMhB+nzK98n5gDNovjRb/bNTopyl9OT38b/XJ8cmqedwoa2suhSnvA1utnrv/GQvwd4xtG0eDryFB78h71ySb0JMauvv9oMLUTozvRlcmw1qc7T7B2uFgldLktLiBqjTzYifsObBjFmuMi8jP1aYgy8oK730xMn/wIa5sY8axWhKmYTAqjmV3AM2UqJUl5svhBLd6e1otvKQZQKzFbWqnaU1pt6SyOltL5Vn6xaP2Q1+MtrhNbyXrbUhZIlacq4+hkFhBj/067TYyMBliEMEdHoSW63dxbrUXa7aGRGQjeJeYaI5941bMdVdAbYMfZ3gj+92aEBt3I9ccA7yjwu+cJ0vfSAM1HV+JwSaVnj/onB9GU07TBuaVGfJ7zN8fTlYWIYVUMF8lZrG2HoX2d6BEwPak9mUG7PE7QHto8IgDLnA/ocJz4QIr2WctPYxTSIESfZKfXg385VhOFHyXbHAzxPdhasAgJ0psZdR3P3CiDWXaMG8OiyBlbonZ7qAKro5h2QbIobXO3mVdzjMeisD2UTQ80BK1UVYYByAyBXY53PfLtOa4EL2PX6/fRZF3Qkxhk7sLSw+aVjiRK2gPJWJ3p6583m6sIsqNcVDMZfUNwyiCDoRSIFl/VoxGTa1bSS96BATMB6eBvszqrfvNnSbPnZ0jLKss1rBnD4L7JvX+/oojfsxnEgnd3nhwfnv7rtyMyi+cevsD/J57tXwwM6qPBhO+o7QxlL/bnNLYJrjRtDA1fDoz/bb88aLNZFbtjjxpgJPkx9H9gPD0aHDmwpJJuSfVDDt0+BX2l1GW2G1KzRyYzO4TRHizjaftRBlnsxh4dMsuJMO3UYG/2wB7c7/LCBJYBiQA2MWQkexJF3CZjJqQABb14BlIGav/pEXl0PtyP4muPqkYlVDPIHGxAe2DAmBvDH9w501Gw/lkGlHZd2kGg5h6YeVh7uH/nDIbXnZ6D/kxa0iJWzFTXXyxjXLjnbpyfYVeuE8/6ZOfhg8VbMJBZ+7Yf54Z/bE/eXISoa/uMOHcOWifqjmN/3Llwp00wbRcExRVmth+0QZGC1VWMbkbdi1ncJ9/2yhr1XJ+264GO2WrVJ73c+ykIQntqz13vuk+MUxc0hucu5496PQMm2mlIx8vJDGzVX0/g90Ho2l6LRLYftWEhhrErbI/hjUDrAufulxHGAK9EH3zUs14xMI5dOw6hfdTIwOkFKgE7osVVJoEXQL+vZm5cAsUQRzMbfAogGOjF//XI3d7Bg/uPdvMol2GEOBdgMeB4FmKd2yGYGO2Qd26ndIAuwVFyQbG1bQ/0VZ/MXcfxCihWdE1n6YIxiRGbGbTiYUt5AVZE8y6l1ShjjHqTPzJDuJslXYEWEz7x6TPuNDr1yos7qScFC1niTeJzV4B5wUWQ78DUC+y479FpyYQRrB4HcRzM+8jqghn13YNM0UpP3mfJEtYLGFLTArrY6OoxZmsvQrqCAVgM3EXNYv5CvUuKImDWnPA7nW/pvJIjoHf6pLDPd1F2YHnlQ67l2O6jByvMFHQ/rEt3ZpKPA8+pFMIMYbGTp21hOw6YM6DP1sXU9+NZezJzPcdaNcTWV0ZitqJwFjTPNxnJXd++bGV+kX/kf8N//iDv2q7v0Ld9ZsT29iQuub7hblxiKcj/7I8D55pbEY57SVwHnFTPMdI3zJ0fGFehjRrTKJu0TSIcENbe4LXBF8DvH8Kcem0Ye4+HQ9Yx5tYIhGRMQdYiItbcZJuwdpitJMKiOpMiPsONinSfHJiXbJBzewtIk6wFayAhLCWrQFtZBepKo8kUslKHCNXXyxfPZLCRUQv+sXCOXtkhWC1CJyCoodrNSuWSCqkDxZRKjYYQLtuQqFkCzVpJon1SphQdbQwTGZJ0s5itEJ59d35BonAC4mN0JEDHeI1mpcHtRkCaGmiyhQwVw31QmRmzE1/z2qxE4FAVt/zFA6N5tzWj29WJMfaCyRsp8kLiH+ziKiL0aL9H7GUc7GXXGbKLutEY5n2PFdQjFEbV4tRCIhAYubJflbChkeNjBnq2q8GBTxLPwRiLCOpo6ndXEOgbW+2s8C6wv1/BUxktRqCvpmJPH/wQOnnDqUJnxWKT8w8B9RW6pTLOZEr3DkfYxPFtWGZn6npglbWZk0jisE//Y33XNJudmQs6owkKle0UVABHs+CKAWvbVYK+JKHsq4Zl3FXCTkYTsPuOZQQL7NfZpe0tQXGYAGGeQ6EdxzDvQEZxZXKMVvpnc0/ilLRu2kZI58ElPci2pKAXf4j/z4XKM4PM108xzCrXcrPm/qOcmQsT6G27uEydXLoJwhsXK56+MCwoEVXRBYhAqwyMXZgv3Acb7o+HIpr5BDxl14v2u2OYTLK0G8+KmusWtoe1yugUi/QmnXDUTkiGC5/OD3xayLoEhehZORSD9Owx9TCCNTDSGKsxPMG/+/tdVjwk+8xnVua0wRS4UoNggCX7JiMpO1y/CiXdh2WdmbdMhahCwkMR65Atw8FJg0Jro5XWZ60awyNwh6o6k+LhXVnBe9MdSQSwRBa6caGEcdHcVMI0UpWxcbmjA1NI4bRiEhlyQqHSTlhbQm5Ju5XSzAP6qlHCSCCBP5nZ/gWgW1lFZm7UYeqxWYWdtcAVKmE1UjtwyJZMrjLEyrnf5aDrI7X9aLT04V9jeOBHVzSkDrmMyEt8xX5tjtoB+q5HcYjGrzF8gr/IKfu1Oc507wSXW2P4G/4mh5i98aGcUNdx5LHYO/9QtKmJPnwl/1wPKayITNIKpxUH+pAp+ZW+aLP5qJoGQ2He4Y/8fFynUW6haSso0zDTMjMntDVyMwBjuidgapGDZ88IMyeUgamHA5MYwKgZHvsg42i2Ef5mQ3Ry7qkI5bsNUX7bM4bfXIC1822PiOSptXHcfyBw3H+wMY6Hko6Hm9PxvcTx/eY4YL0USHZhrPxlTDfA8Shh6sY4du9LHPc3xvFtT+J4sDmOdGA2xnE/4el3m+NIePpoYxwPEp5+vzGOhwlPd3qbC8hugmX3A7A86imT9wMELZE0PRYtEnXtKYCoWnh0RbdrH4r9sp373MzOLE4iuMO7BesT//0RbcUcBaq5yEtORKIINxf5AEVn7IfMIXmK0dnzzU1JJBoWPU6ULVPd1jFyshlsRY8MB/LMwAMHxK7wPEwVLk3Sge55PMz1tb0Dpu2zZ0nnlFie8do39qrRvq8GEbkWlnICCZMtBGNvsndlpbmeq1FLQcmZ6TpvzfPHQ2OoLZXCib4mgt0u1x5XTZvbt3wLsW5o/KYOiuqcfET1ohBAZLRtYGDe0wZ6gqVGrioKMnXD6CO7L9qi248nHIukPMKTyj7iQObSAWX8Z+X15zbIxSB/LUNBBADSUMBHNBFk22LM09+f22B/crXcjhb2BHfhWfhTbsmrP1j2ASZjGHLnwA9GDMcodoxMYL6i23z7gcX7MJOFOu1JEPo4B5kYgaXe631tiJwF8avOCJX2uLT3QrBFeti3mAyxp+smGS/jGM+JA7OoUSXBBU1mmJsRbR1jhyKezQLyLKltNI79BJS/MkS4W/4SQppL9q5NcIkeUUBwFG9cT0FRwdZK2qJuI1P8jckCnczGZSZnYAWnut2JmaQ1N2wBNNSDFlCjUCF2uNmJhOwetrpxMXMdh/pGdiPdMUpMUtxLz+5KFCKM9IiU44z1cVE9ruTwY31Mi4kO0w/qMcL6yCahnldpZHMNZGGsRaYYOGsgC3wtspw9sk5X7TLq5Jq3BkJ2OkKLk5VoMNU9QoZPw3KCyXKOh9I64Ow515bMFrC0GfFOaF8dzuS9HGrJe12qe5J6oNQr8gov7ZBkDwHilnyIO/HQeUufh846nOTLZNOb0l2gfIJK/vknHe/8HNqLWdS5wP/Dfa2oI4PTp0G6cdTBjowYkFWuk9PmRwuXGq1yaJZ9kGoW0eUalaJ1gOk6wKAB6gPDDK8PDJOuHjCz6ypgTLMOebZssViM8NELAuqpH69PZ/SXYBmuIQEzAPeut0MvHpY7898sHv+k9M0a4uHY16NgOrqCWlsZUYBvdPxXh1cHpctQXy3XHF9WswE2W2U2lR4GtJUbBfgTyA0+N7tmzAMf9cLFFzSyos9G63NQ/kWQNzvK8ZJGX9wwi05/SeN8RR3/CxzppNtf0ljHs2X45Q217PWXNNLT0P3ixpn3+Usa5ciOl+EXN86y11/USC+/PJub9/nzHeXs0cNiiFWfPJdN/1G9cnzqeeYJJ9aVJ1mxtkzJCrXlSlaoLVtJX+p667JCbcHDp47wJZTclHzpi1aFLnPOAkVOX3ETQeSI2UkTftBkGyTK0b5ZkKg81MvlQ7kwK7lUi903hRksw+Sl1DHlzZcPMMurw7S6NcYXH3VLMIpDFEDPnlDLIHjPzAj+YbfQesEV3jbP7qRqsk3DrYKqrrCWgspsziKjGZvLzJh6YWd9WUEm6vrrZbpNuvHtESVLbLdLToMFYdJMuuQJx8d/62sUTJNlFAdzvGe33vSoVn1Kb0qg1p4CtUW/tsjXFvXaIl5btKvW3FJjL7sQVwDyNIe1Fm09DCJjY89GNgKU/CSCkthQkpbOaMY8BazIkoWsiiT2OY0iIL5PzP3Zjswq43dj3Z1Op8bwWWBjhlmn09nvznaGVebxJIr6dRLn5b1jJmarVSHFJ7nZx8RrkerUSO+3OuR3fZl3e71enZpm+4qO37hxW+QzhsCCZWRi2716bZvtefBu8+oBJlDG133S+a4G9ER2DwZMOVdultcsOQugTYaRDya6yDMvr2yPJbqYqswSnrDal0CmuNLCZElAZrnhgvcEp8jRNE00p1FyZKNC4m5GKcunvotUT0nLZ2uv3IZDVenRJ+TWUfZqhVpKH5+SqZaVd3F5jRIHMm9Y6M+U1s5Vsa8v1LL7G4mqrLyWuMpKa4msrLSW2MpKiujWyftRq64lxPjUFWR8agmzpGQtgZaVbkKoNTek55/bEs6tDv2ydKjWVFEv71y9ukpzvxtLfeZ2c+5qIHmhG950+llc6LYCWxzni67cGM+/qpcZ6iFLJiu7RVfxsvsVQSrZGN7+jLcQ6m+wqTqsqrtJe5WqTP7auoSpl9/cDDm50P26BK3cm3MzVGViu+vSlLty50MpEvGY9anIX65UlxDt9QicL2kAqF9008IKIfnbgoy9oqplnNCosoZ6yDv7SSL1wfCXgBwM2juFl+vnkOElOofHv/528Pzp0YmOddlPJJXhyn2D6rmNXweTR+o1mHWBNbyBUnf2Rd4dj3HrPp4EAaS5kMR33323t3LbtzjLqTnHNJJxTFgG4PdQ3F2pPb5VlCMrL6bWBwn3kYT8aTx2LXav+NpCcaxUHrvDyg5fhNTQT9l5uNw1WamPnLjmgFf8JS58+sUFoFC9UEJ/d4iOD+RO9uMt5XuSBTcnqQdRatxsxm+irIox67ih+k+88xH58Zrgz4rTtCVHpve7ONJFC7B2K67oNCGu6JmjhPVvTmVC4tjXqZ2SxMXYNfIPEsErsCoSIcvdVUjYPc57ygcG+HndIHL5F3BDip+3u4TZVHS57KaHJ2senKxxaLL6wKRyDXDdXHjWruAVv9md3+otT/je//7rzEyvuj4Y7+/+uuBWSIX/D++nlwyn1wr3PhMrVK/U9ZPqJAbBiWJ3EulmVcFlwiuDuDpryjmg3DW80qjeZG7wy37Zk/3eVPTUf8GC8OlnpPRfmdJ+T0r94hR3uFY+K8VfG0ar4PNSupWVkzuy40JyD/HbSCnN6ec8kVjL2O31epmPeLasFMTwgysDP+v56OH9Xq/5kbuWXKyHXct/moRBLJMloxjC/c8y+epnNXs2HVK89OGGus1JZkP6OYzoDfZsCtqVDWfhgI6Xkfw8bAGEuFYwhViFURMecC6z+57szJc65VPg8kqfGWudmU9c20P+owpbRuZ5sftc4mj4QZvLaomjkYrzvXuVPkVJW8jFkmaw+MMaSAy4fikYSqhHYwGnJ+ZmelzDjSvFkrqkBWRy0a1BpK7sfdFeF/PkMjL2ZBmyjw7iR26fv3z2rCTwn0yFASlEonyRuTxCJh+976Zd6sWd79TzhPU5MHoG+y1ufmG/MxewSF8HtybZV8rEpeDyCyzFV7yHuctlkogcmLpR4LkOues4TuldPvuxM3zC7i5BJdrn14ngS9VlTD/HrXxI/HX399dd/Og4uqWnAVmpAAtFAfiGd5Yk5qlGPd8Z9MqSVSqv6VFvPytgAl9zkmwu7t9rSPngLpakDVV24xS/+se+UhHp+zER6yRCfAil61BCDsDJxq+9F7BWmmu3SY50qgtIkBqXSbOllPAPQooPJ1oJXCvDR8bIr5u3RXsaBCigPl0jq+hPIT9qD36E1bWAdlx4q6hGmI/McTQ3C7mNhdWcRqhPQHXVbEtM6Xo9AMBWMkNvuQM/cVu4RH0Jm6OKdA71UZnP9d2v/KbiFeL5ssVsDrZUMaJZBlbyvvuwBySyj9ew0h7rJL/62Ipuje6Dy4sOkcbROnRnCO9mWN3audme3PSlZB8zrpZCZT7dlQ2bZe533DRulguQqd9a/K+Ilv3KbhP4RJGykqBxcrND+aj8d4aNUyideE88aof4/cp4tpfv5aeMHv/VRP+U37Dw+cl+et/FVvgTtFvdvraA/1NeLPH5ibh61cdWyBO0n0zD/3cqeHHbxucn/srtJ1vpT9BuVfzaIv4Tu2jk8xPw5NKXrXgnaLfmux520zwPcffK5yf8yl04W/FP0G61+/oivvw8gzPJFUBfunhnkzE3uGNnm+23zfbbZvtts/222X7bbL9ND8tlEv6KQFknc2l/ZbD1DnvJ/L/SVpMswDrt1cwFLCcrkw5YStva/LiZ1MCiVmoeWFNyBOvQrCvbZgpuMwU19GwzBbeZgrdBzjZTcJspuA7Ht5mC20zBtWjfZgpuMwW3wejbjLSlJtonCbVJnleEplNDMKoVnYZp0a4RsA4uaQgjetUn9jIOimz6kstx8NGZqyPPjWJwl+wwtK8rLgPskQGo3WD8OyBp8gomm/jmYNhrmXj5BPxlPg+UsSq70K3s/iPQPPLztZM5en7tnbKbQIu6FymxpvTOZkvBXHoJU42bvUpb5TdVHL2lE9R9xsnRs6PDU/IP8tOL41/ld8+Venul9w8XttYeUtHCRtWRWD3aKY0nM7AnrN+eHPf7Px2dHv4yOv7x/1XcW1U2qETrM0WFn5mVj4h96WuzSJjOFSvHWePaVh1WGFWU+YJAXh0MbM6d6XG7ztvzggGpaK3sgtOyQUlYWxlVlM8GM0J0mcdkkolonp+n3Nyk2r2dTUWxEaPBNqozlGnctVB/ItMWk0opzjWa+XkPMYhubdCp4pjBDYWklC6XxqV4owUfos8AqXf2fzhv8WkIDwB4a2V5DSPcJI9hBetDScLnbgboH7hCV2nQsot5eNfLLO4UKuvWIEXp3U0avycVjbzrwzcuRiLSJjnQIuauCf908J+WWe38JJQVOxMJSJ07irplIpAa9KslX862/OoXzwsdhO2e/DqewnZPfrsnv92T3+7J/1fvyW9v4MmAbW/g4c92X327r66hZ7uvvt1X3+6rZ2nf7qtv99W3++rbffXtvvpfPNy23Vn/sHgZ+7hB6EaBT4IpVxOfKHBW0Ec03ZNo6Wjh0i/+4NeqwG/vbLiRufDEvsZJgB+S//zmAB56DKajKyBuOwM+ndL/q8k0fgnE+wyP8c4YXVtJrrlfmPmy1fYQrw52u2G43TDcbhhuNwy3G4aruLYbhhmw7YYhf7YbhtsNQw092w3D7YbhdsMwS/t2w3C7YbjdMNxuGG43DP/yEbcE7Xa7cO1o2fElDS9devX5BJRLo2WfYaBMQ6s4iCQo1scOQAkQF9Q/O3krpjj58098xw/lJi8LT0utd9iv5MgVqwbuhuAu9y8Er5yx9BwPGRA/ZFuMS42JcF5xyvBE1GCYvKw8AobHS11f5c9p0CJJ/TODD1FknDfrHSdLyDljtJyfGXwBZoNlnHPnthzkHik7opi0pAx/5bVa5Qc9a77WvFr9ojs+qpbMbcrIQ+nt6/Jj6R/VHWftqUcLa4iVJrKgPg1lSNUxz4111dlrDpweUfzBUhF3VRlo8sOIn+QsYuYc4vrVlS5VnVXMMOS2TixW+vJ/1bOIVSZNaUJIumI23IGUs030cMPN6KusDlHJkXYsYHe/3sUTuTvCjM3sWRqqwZo1ywwmTwW22Qrvattn9UwyLf5Cs2wFusI008KXmmesRqGJloxxbk4XTQEtoo1MNz2fSrY68SlhCGp9pSdRHOL2t2dPqGUQo0WMEfzDtpBgIaKhxbrKfcwbTywoY0rV9F/hS7EK0IFq1IBCTV43ZObgyrzTRmirNUcW4Xtlqq++qZvSILY2DLRi1SIkU9k3yRO8OtE/AxdqBVbvldS2uwomd36tHaXXAmi5vMJKrllfyTdRVuMyH4lr2mkYzIm5b5NZSKcD465RuRnxhOD+Akm2F+yhSeKgAkdmf0KDoVPLz0xGJ+PQy3wthQCmUehbxp9x7EOZO78gUTgZGO4cPLSoS9+CYTqCt52Ff5FYpQ/AQLW9eGAcsbq4MB6evDJI7MbYXu5tl9FeMmX537eTPOJOQ1CCSkcN3r9EIcrMHh+8NTbDeY1i55rpjzt0vojBseJubKEH1eD+8a7ieB8LHxmF6wUTTasxOjk6OXl6/PzMXEZgE7qOeV7kiieeuup+6x30hQ1rOQuhtRqId9ULJ8U5AIx6boXD/96MMClhBP79GONs2B3Rs7PdIlu/cIVVJFN4QH3yANef3JYh3y7EjcO7h+wp3TU8wJ70yT6sf4F/kd1IwSI+h0RpMZrikm/8cbTY4/+WefBVF4+5PuPhqCwic0PJLjeY5JOQL2XgE9LPMl02JD8bW8r35l5ueEowlTmc2R1PjUQqVOTkshjpn2WFTznV+tayXbqR9o4F3/QNZrlau8W6M4yz9xTUktxTWqWBb77wpRSBLGtFmwm24KAXKbpm8/aHZ4XSIkJviJbSoasmJmFNDYVaag5mjORM6foRsmK3MEZbYrONqAo9Pgm85dyPat4XaWBGy2FIbcyywrsj2QujVVHrUKg2XiX5VV3N834Ck5VXY3/VqXIa8Arw/5XgbnyNeXZUUAY/W4S/qKqaz34S7JC/6lbnWX68svi7pGrtqLsYVYz1vKHXiL1xaXtLWivi3mAWzGh8jZ4G1kdvTSlInJCDk0PmyTV8+jYeRamDAv07grI9kC80cfEFSjANTwDmSXDlQ9F77qRoax8UVn65YFXXqYwVytiGT2MZYiCYK47JMvwN1uCXL55VX7+5sMMI1n5enf3Avy3EV1WXQ4PqsRQsZ8Z/ljS8Ns5bbAFaLEsNAUYCBzsz5KjxbQwYtvUqIvt41SxLS0WO4eGdVzthRpMZnVPzvGP0u12jk+ngLIhi4zzzzlzY8QyhHxudWRwvRuOl6zkjxgqrJh+YgDJhHyg6pta2UFXYXT6ghzMWAptSfAXBJaJufL1cJeNTsiGED5f9G+1XEilahjDyfbIAUzWm4Z5BAn/iuZM3GHTzneCqA84qU3Ew5GYm+yX09h4Pzb1ko4dP2mx4A0tYJO+T87GkqPQaxCQi8+Lo8PjFk6fPfz4py49kdUBsXtAJTDNY9aFzsw/b3CjMSOlKM6HIUBAXOG5uLcRXrucGwoOJBlxdgtc0QncnW2iVr1UNrJG9spgbIBXV0nBAexjRmBnRnLeRJbz5s53SK6Cze+6iSu88v++uFFTcOpwuu0mddBu+zjQFiu5wVrrRc8a9p37srey4V5CBT43G8JEu7ch1VNeXvzyechqsWmkAVVoZnzqXbq9HWrQcs3UzS0xrh5098ai/QmZ7p1mP1GqQhELcl1ilkWcvp72o02p+Mpwp9c8L7jvPtlBHyIjFZH4Ea+SIvnWjOLLU0V3hWSs/3+tIIOeQWH3ZjcgZFGelLVZtuOODsrQ+GWAE1mFSI34HwD69IujXoOv4b0bn6dNfj/59/Pyo1mBiWCiHJTl3kbpP5ffUZ5BxTQdo3jFi4nf1R1xKzis7tIy5Hb0ZhXIhwktq0VTCOFQ9M4kRxDuSLGcvQ888TyxnbCEtAvtZC15zIlYDdbt8i4NF3Y3OpR2OnOV8YeVDas0OMTAIb3xA+kV16gXLmwDf3i8Kyuf2SdI9kpdycwRrq3CG3OZ4zRJTRg6NbdfrQPlj3AvoKBPoBOPtHeO13L8wD9Fqw8WJIBDhVaOOOTRIJ0+A3KQhF6/77oGB/MLdDqN4hznTcWkT/dAYvTj6n5dHJ+JLDIOB0d5Z2esrRDMOs/ybBhgL38HY+SsaOrZvk3HgOTlWqupY4WJdsstvvWZwNTJWVlJmpOaBCcbS1kJ78gbk33hMjN+CQOZiG6SfAtdM0YG2km3wmQujiOEk2id+cBXaiz0jtVBx7kuL4kfcY6KOum60FOnB4Aqu5kLsRAOvjRhcwbaDs1dkMbNz4/EsDJYXs71E2F4bpzM3EtlAZAbWz5hSn4w96DVe+U6dzmuDSZPKpuxaUGFtSApviEsb0yGsntpU3Iwjg096fA95gbEq1Ly4tpFvviFKEQtgybKaazYf9+fdgyodyYBhDdZRA/N9rfZWab5RAyDfBieygzkmnY2avnlNsRqpLjpbuY7I5TMKVg8V10Wm8XaZsHHVIkzeZHV/4kYY9M5omeZgwDbAaq8CaXaLzna4gyJWF5WO1xfUp8BT+pNnR7ODpeMGv8EaTUN9cy0jmvPFuWYkJWFYuhu+oOHcjSJ+QnZIeiw1hjPwZUTDA+DYaXCS+5rR6l56s263GR18V1KqQJERFweLPvl28XZP5k/x1LgkM9d1RquikxgXPAMr8Ccz3BwdGA0rBqXf7NgxuGKmI8bebJloUWK6JwdMumWZFcjNFiLsBAuU+OiM/ZC7q099h74977BIUcuaLv0JAlnNPxqW2alBuNnshHQeXNKDLLXNvffNZtmOvHaE64OnalL52M1g0KupJuUjrEHOGsK4MDB7JpHsGT4H5PtdXl5p52Yw11anFbSskrAWl9KQTJkznI/SlMKuyePkJEWpN84iO9Wfoso/Nd0r9SkQnUbyWak1SZCPdvxSrIpQiZdoWW8kW0mLa8tYXVpvhMQaQR/51Na/Xc7EdRWLiJXVbodVrEwHKmxuvSo3pMvwEeYmYFl3sNaIJapP/cmtu3hggwbxKZrBRd+J23BC48MXPi1i5hivj3mNWbEB+FoCXp3wtlKlpm+fwCvpfNpb0sgdd44xJdvPZ586dmy3hRDlctsV2eLGE4Nd2KE9j3KAOT+XgyO6lycvRgdPnoyev/x1dHo8+vHZweH/f/b05FSmuXKaL2kYu4CkbXvuBbjpzG8Hc2/PyCTCJg45JsryZFiWAXvgOJjWmxQnSbBYILx6KP8xKWfJsGsMRy5bN+nU8enRCD+dOWJdUlt9HmBWBmcu5l+tsFZjnK5m/sIAzKkft6njxm13EohOZ44R7DzEtM1iDhYm/mp7usbe5TrKvl4kIUX9+bggYkxP+C9b+ZKsUeSekK1/svVPJObb80/qIrw1x2BNs+I2HIKP6wxs5gjcuhPw6R2AjYz/9Q3/T6kc1jX2NzD0P7qR/5EM/Js17teQ9tuZGOtI7daQ3xryfwFDvnprqAbcB957IFAUfKW56KanFHPDty/dC5nbmcm0m7CclRHMojeRNidaHkqXCPY0pyI+m3sW8hRkWs6e6ij67foTb+lQYog/utMAxDzEzAwlaWI/moTuAlwgPBvN9tK7v9uXNn+rGvUNywkmSxRwdANs5zr1IFbWpYZl3FVOuzY7LD23pEK2kiEcIgNml9FK6OdHZAVeniPEOnMvl/ULDo8dTmZ5GXi/mpKU+KF3GkIRj3hajs6JxIUUSJRqli91QCoYe1aT3BngjcZgPuTWT01HBYYTsVaWYG0pTpp+Ql3aIUnXWpgTLMsveOPSXWCfaCFZ+I2itCZEkzv8V4BLnqrlKRulCJXcNh2mNP+9AAeOi2L7FGuUDAOK7q+psNW6oL79KPAoiNGFpV7oWlwHBy6FhEGbgiBaBrfuz4QTYNxLQe4Z5nkq3IIPIOHJnxVJwbkhqjDVkLxcjUIac3AfSmiS1VZN4SQRgwLSJMDGNOkuolpRDjrFoDs3x0ie2WEcAS1MNVsaqZrTKLLxSmVzf7aTnFsIvCDs351Op8bwWWDjBn6n09nvznaGpuZA1SSK+kXuNz/ADehR5egq45Oc+TZ3HizeFkGNwcy6YJc6HjL6iHm31+sVQZvtKzp+A/aNOEIeQjeWkYlt9IrbMNvz4N16VQI8gBiDYdz5rgBiIskFhioWs6kZ7dKFIJEFMPvZqgdjXmtVjKRS02nalmpA/tAY/Xx0emYuJsJ4xDsyC5HkVKwWE0ZJqzGlxxh1OCZ2Bofa/a6w0EA447k3FCYFcg1XwZjOFyMagQErLDG8Vgkv+18tYer4q6IwLy9mebT/B+ioUsLUQwEA'),10,-8))); ?>
Function Calls
substr | 1 |
gzinflate | 1 |
base64_decode | 1 |
Stats
MD5 | 22cb0194afcc3db4b7861d3e2ceb143f |
Eval Count | 1 |
Decode Time | 153 ms |