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('dialplan_delete') || permission_exists('inbound_route_delete') || permission_exists('outbound_route_delete') || permission_exists('fifo_delete') || permission_exists('time_condition_delete')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //set the dialplan uuid $dialplan_uuids = $_REQUEST["id"]; $app_uuid = check_str($_REQUEST['app_uuid']); //delete the dialplans if (sizeof($dialplan_uuids) > 0) { //get dialplan contexts foreach ($dialplan_uuids as $dialplan_uuid) { //check each $dialplan_uuid = check_str($dialplan_uuid); //get the dialplan data $sql = "select * from v_dialplans "; $sql .= "where dialplan_uuid = '".$dialplan_uuid."' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $database_dialplan_uuid = $row["dialplan_uuid"]; $dialplan_contexts[] = $row["dialplan_context"]; } unset($prep_statement); } //start the atomic transaction $db->beginTransaction(); //delete dialplan and details $dialplans_deleted = 0; foreach ($dialplan_uuids as $dialplan_uuid) { //delete child data $sql = "delete from v_dialplan_details "; $sql .= "where dialplan_uuid = '".$dialplan_uuid."'; "; $db->query($sql); unset($sql); //delete parent data $sql = "delete from v_dialplans "; $sql .= "where dialplan_uuid = '".$dialplan_uuid."'; "; $db->query($sql); unset($sql); $dialplans_deleted++; } //commit the atomic transaction $db->commit(); //synchronize the xml config save_dialplan_xml(); //strip duplicate contexts $dialplan_contexts = array_unique($dialplan_contexts, SORT_STRING); //clear the cache $cache = new cache; if (sizeof($dialplan_contexts) > 0) { foreach($dialplan_contexts as $dialplan_context) { $cache->delete("dialplan:".$dialplan_context); } } } //redirect the browser $_SESSION["message"] = $text['message-delete'].(($dialplans_deleted > 1) ? ": ".$dialplans_deleted : null); header("Location: ".PROJECT_PATH."/app/dialplan/dialplans.php".(($app_uuid != '') ? "?app_uuid=".$app_uuid : null)); ?>