Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; if (permission_exists('destination_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']]; } //get the ID if (count($_GET) > 0) { $id = check_str($_GET["id"]); } //if the ID is not set then exit if (!isset($id)) { echo "ID is required."; exit; } //get the dialplan_uuid $orm = new orm; $orm->name('destinations'); $orm->uuid($id); $result = $orm->find()->get(); foreach ($result as &$row) { $dialplan_uuid = $row["dialplan_uuid"]; $destination_context = $row["destination_context"]; } unset ($prep_statement); //start the atomic transaction $db->beginTransaction(); //delete the dialplan if (isset($dialplan_uuid)) { $sql = "delete from v_dialplan_details "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and dialplan_uuid = '$dialplan_uuid' "; $db->exec(check_sql($sql)); unset($sql); $sql = "delete from v_dialplans "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and dialplan_uuid = '$dialplan_uuid' "; $db->exec(check_sql($sql)); unset($sql); } //delete the destination $sql = "delete from v_destinations "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= "and destination_uuid = '$id' "; $db->exec(check_sql($sql)); unset($sql); //commit the atomic transaction $db->commit(); //synchronize the xml config save_dialplan_xml(); //clear memcache $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if ($fp) { $switch_cmd = "memcache delete dialplan:".$destination_context; $switch_result = event_socket_request($fp, 'api '.$switch_cmd); } //redirect the user $_SESSION["message"] = $text['message-delete']; header("Location: destinations.php"); return; ?>