Exemplo n.º 1
0
include "root.php";
require_once "resources/require.php";
require_once "resources/check_auth.php";
if (permission_exists('get_call_details') || if_group("superadmin")) {
    //access granted
} else {
    echo "access denied";
    exit;
}
//get_call_details
//get the call details for all calls or all active calls
//usage
//http://x.x.x.x/app/get_call_details/index.php?dest=101&username=example&password=1234
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
if (!$fp) {
    $msg['error']['message'] = "Connection to Event Socket failed.";
    echo json_encode($row);
}
$response = trim(event_socket_request($fp, "api show calls"));
$response = explode("\n\n", $response);
$response_array = csv_to_named_array($response[0], ',');
unset($response);
if (isset($_REQUEST['dest'])) {
    foreach ($response_array as $row) {
        if ($row['dest'] == trim($_REQUEST['dest'])) {
            echo json_encode($row);
        }
    }
} else {
    echo json_encode($response_array);
}
            //		unset($dnd);
            //}
            //unset ($prep_statement);
        }
    }
}
//get the agents from the database
$sql = "select * from v_call_center_agents ";
$sql .= "where domain_uuid = '{$domain_uuid}' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$agents = $prep_statement->fetchAll(PDO::FETCH_NAMED);
//get the agent list from event socket
$switch_cmd = 'callcenter_config agent list';
$event_socket_str = trim(event_socket_request($fp, 'api ' . $switch_cmd));
$call_center_agents = csv_to_named_array($event_socket_str, '|');
//echo "<pre>\n";
//print_r($call_center_agents);
//echo "</pre>\n";
//get the agent status from mod_callcenter and update the agent status in the agents array
$x = 0;
foreach ($agents as $row) {
    //add the domain name
    $domain_name = $_SESSION['domains'][$row['domain_uuid']]['domain_name'];
    $agents[$x]['domain_name'] = $domain_name;
    //update the agent status
    foreach ($call_center_agents as $r) {
        if ($r['name'] == $row[agent_name] . '@' . $domain_name) {
            $agents[$x]['agent_status'] = $r['status'];
        }
    }