Database class integration.

This commit is contained in:
Nate
2019-07-02 10:56:36 -06:00
parent 3a482ed54b
commit 733acd6c7d
11 changed files with 346 additions and 389 deletions

View File

@@ -30,10 +30,7 @@
require_once "resources/check_auth.php";
//check the permissions
if (permission_exists('call_center_agent_delete')) {
//access granted
}
else {
if (!permission_exists('call_center_agent_delete')) {
echo "access denied";
exit;
}
@@ -43,47 +40,50 @@
$text = $language->get();
//get the primary key
if (isset($_GET["id"]) && is_uuid($_GET["id"])) {
$id = check_str($_GET["id"]);
}
else {
exit;
if (is_uuid($_GET["id"])) {
$agent_uuid = $_GET["id"];
//delete the agent from the freeswitch
//setup the event socket connection
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
//delete the agent over event socket
if ($fp) {
$cmd = "api callcenter_config agent del ".$agent_uuid;
$response = event_socket_request($fp, $cmd);
}
//delete the agent from db
//tiers table
$sql = "delete from v_call_center_tiers ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "and agent_name = :agent_name ";
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$parameters['agent_name'] = $agent_uuid;
$database = new database;
$database->execute($sql, $parameters);
unset($sql, $parameters);
//agents table
$array['call_center_agents'][0]['call_center_agent_uuid'] = $agent_uuid;
$array['call_center_agents'][0]['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$database->app_name = 'call_centers';
$database->app_uuid = '95788e50-9500-079e-2807-fd530b0ea370';
$database->delete($array);
$response = $database->message;
unset($array);
//synchronize configuration
save_call_center_xml();
remove_config_from_cache('configuration:callcenter.conf');
//set message
message::add($text['message-delete']);
}
//delete the agent from the freeswitch
//setup the event socket connection
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
//delete the agent over event socket
if ($fp) {
$cmd = "api callcenter_config agent del ".$id;
$response = event_socket_request($fp, $cmd);
}
//delete the agent from db
if (strlen($id)>0) {
//tiers table
$sql = "delete from v_call_center_tiers ";
$sql .= "where domain_uuid = '$domain_uuid' ";
$sql .= "and agent_name = '$agent_name' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
unset($sql);
//agents table
$sql = "delete from v_call_center_agents ";
$sql .= "where domain_uuid = '$domain_uuid' ";
$sql .= "and call_center_agent_uuid = '$id' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
unset($sql);
}
//synchronize configuration
save_call_center_xml();
remove_config_from_cache('configuration:callcenter.conf');
//redirect the browser
message::add($text['message-delete']);
header("Location: call_center_agents.php");
return;