diff --git a/app/ivr_menus/ivr_menu_delete.php b/app/ivr_menus/ivr_menu_delete.php index 365bf905b1..6e8a83bdbf 100644 --- a/app/ivr_menus/ivr_menu_delete.php +++ b/app/ivr_menus/ivr_menu_delete.php @@ -17,51 +17,86 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2015 + Portions created by the Initial Developer are Copyright (C) 2008-2018 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('ivr_menu_delete')) { - //access granted -} -else { - echo "access denied"; - exit; -} +//includes + require_once "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//check permissions + if (permission_exists('ivr_menu_delete')) { + //access granted + } + else { + echo "access denied"; + exit; + } //add multi-lingual support $language = new text; $text = $language->get(); //get the id - if (count($_GET) > 0) { + if (is_array($_GET)) { $id = check_str($_GET["id"]); } -if (strlen($id) > 0) { - //include the ivr menu class - require_once "resources/classes/database.php"; - require_once "resources/classes/ivr_menu.php"; - $ivr = new ivr_menu; - $ivr->domain_uuid = $_SESSION["domain_uuid"]; - $ivr->ivr_menu_uuid = $id; - $ivr->delete(); +//delete the ivr menu + if (is_uuid($id)) { - //synchronize the xml config - save_dialplan_xml(); + //get the dialplan_uuid + $sql = "select * from v_ivr_menus "; + $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "and ivr_menu_uuid = '".$id."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(); + if (is_array($result)) { + foreach ($result as &$row) { + $dialplan_uuid = $row["dialplan_uuid"]; + } + unset ($sql,$result,$prep_statement); + } - //clear the cache - $cache = new cache; - $cache->delete("dialplan:".$_SESSION["context"]); -} + //delete the dialplan + $sql = "delete from v_dialplans "; + $sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' "; + $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + unset ($sql,$prep_statement); + + //delete the ivr menu options + $sql = "delete from v_ivr_menu_options "; + $sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' "; + $sql .= "and ivr_menu_uuid = '".$id."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + unset ($sql,$prep_statement); + + //delete the ivr menu + $sql = "delete from v_ivr_menus "; + $sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' "; + $sql .= "and ivr_menu_uuid = '".$id."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + unset ($sql,$prep_statement); + + //synchronize the xml config + save_dialplan_xml(); + + //clear the cache + $cache = new cache; + $cache->delete("dialplan:".$_SESSION["context"]); + } //redirect the user messages::add($text['message-delete']); header("Location: ivr_menus.php"); -?> \ No newline at end of file +?>