Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; if (permission_exists('gateway_delete')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support require_once "app_languages.php"; foreach($text as $key => $value) { $text[$key] = $value[$_SESSION['domain']['language']['code']]; } if (strlen($_GET["id"])>0) { //set the variable $id = check_str($_GET["id"]); //get the gateway name $sql = "select * from v_gateways "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and gateway_uuid = '$id' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $gateway_uuid = $row["gateway_uuid"]; $gateway = $row["gateway"]; $profile = $row["profile"]; } unset ($prep_statement); //delete the xml file if (count($_SESSION["domains"]) > 1) { $gateway_xml_file = $_SESSION['switch']['gateways']['dir']."/".$profile."/v_".$_SESSION['domain_name'].'-'.$gateway.".xml"; } else { $gateway_xml_file = $_SESSION['switch']['gateways']['dir']."/".$profile."/v_".$gateway_uuid.".xml"; } if (file_exists($gateway_xml_file)) { unlink($gateway_xml_file); } //create the event socket connection and stop the gateway if (!$fp) { $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); } //send the api gateway stop command over event socket $cmd = 'api sofia profile '.$profile.' killgw '.$gateway_uuid; $response = event_socket_request($fp, $cmd); unset($cmd); //delete the gateway $sql = "delete from v_gateways "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and gateway_uuid = '$id' "; $db->query($sql); unset($sql); //syncrhonize configuration save_gateway_xml(); //synchronize the xml config //save_dialplan_xml(); //delete the gateways from memcache $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if ($fp) { $hostname = trim(event_socket_request($fp, 'api switchname')); $switch_cmd = "memcache delete configuration:sofia.conf:".$hostname; $switch_result = event_socket_request($fp, 'api '.$switch_cmd); } //rescan the sip profile to look for new or stopped gateways //create the event socket connection and send a command if (!$fp) { $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); } if ($fp) { //send the api commandover event socket $cmd = 'api sofia profile '.$profile.' rescan'; $response = event_socket_request($fp, $cmd); unset($cmd); //close the connection fclose($fp); } usleep(1000); //clear the apply settings reminder $_SESSION["reload_xml"] = false; } //redirect the users require_once "resources/header.php"; echo "\n"; echo "
\n"; echo $text['message-delete']."\n"; echo "
\n"; require_once "resources/footer.php"; return; ?>