From e17b88e3fde967d264161362849943354946d8ae Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sat, 23 Dec 2017 23:19:32 -0700 Subject: [PATCH] Completely rewrote number_translation_delete.php. --- .../number_translation_delete.php | 116 ++++++++---------- 1 file changed, 52 insertions(+), 64 deletions(-) diff --git a/app/number_translations/number_translation_delete.php b/app/number_translations/number_translation_delete.php index d100aba31c..35eae68d56 100644 --- a/app/number_translations/number_translation_delete.php +++ b/app/number_translations/number_translation_delete.php @@ -17,83 +17,71 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2017 + Portions created by the Initial Developer are Copyright (C) 2017 the Initial Developer. All Rights Reserved. - - Contributor(s): - Matthew Vale */ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (!permission_exists('number_translation_delete')) { - echo "access denied"; - exit; -} +//includes + require_once "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; //add multi-lingual support $language = new text; $text = $language->get(); -//set the number_translation uuid - $number_translation_uuids = $_REQUEST["id"]; - $app_uuid = check_str($_REQUEST['app_uuid']); +//delete the message + messages::add($text['message-delete']); -//delete the number_translations - if (sizeof($number_translation_uuids) > 0) { +//delete the data + if (isset($_GET["id"]) && is_uuid($_GET["id"]) && permission_exists('number_translation_delete')) { - //get number_translation contexts - foreach ($number_translation_uuids as $number_translation_uuid) { - //check each - $number_translation_uuid = check_str($number_translation_uuid); + //get the id + $id = check_str($_GET["id"]); - //get the number_translation data - $sql = "select * from v_number_translations "; - $sql .= "where number_translation_uuid = '".$number_translation_uuid."' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $database_number_translation_uuid = $row["number_translation_uuid"]; - $number_translation_contexts[] = $row["number_translation_context"]; - } - unset($prep_statement); - } + //delete the child data + $sql = "delete from v_number_translation_details "; + $sql .= "where number_translation_uuid = '".$id."' "; + //$sql .= "and domain_uuid = '".$domain_uuid."' "; + $prep_statement = $db->prepare($sql); + $prep_statement->execute(); - //start the atomic transaction - $db->beginTransaction(); - - //delete number_translation and details - $number_translations_deleted = 0; - foreach ($number_translation_uuids as $number_translation_uuid) { - - //delete child data - $sql = "delete from v_number_translation_details "; - $sql .= "where number_translation_uuid = '".$number_translation_uuid."'; "; - $db->query($sql); - unset($sql); - - //delete parent data - $sql = "delete from v_number_translations "; - $sql .= "where number_translation_uuid = '".$number_translation_uuid."'; "; - $db->query($sql); - unset($sql); - - $number_translations_deleted++; - } - - //commit the atomic transaction - $db->commit(); - - //update the number_translation xml - $number_translations = new number_translation; - $number_translations->xml(); + //delete number_translation + $sql = "delete from v_number_translations "; + $sql .= "where number_translation_uuid = '$id' "; + $sql .= "and domain_uuid = '$domain_uuid' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + unset($sql); + //redirect the user + header('Location: number_translations.php'); } -//redirect the browser - messages::add($text['message-delete'].(($number_translations_deleted > 1) ? ": ".$number_translations_deleted : null)); - header("Location: ".PROJECT_PATH."/app/number_translation/number_translations.php".(($app_uuid != '') ? "?app_uuid=".$app_uuid : null)); +//delete the child data + if (isset($_REQUEST["number_translation_detail_uuid"]) && is_uuid($_REQUEST["number_translation_detail_uuid"]) && permission_exists('number_translation_detail_delete')) { + //select from v_number_translation_details + $sql = "select * from v_number_translation_details "; + $sql .= "where number_translation_detail_uuid = '".$_REQUEST["number_translation_detail_uuid"]."' "; + //$sql .= "and domain_uuid = '".$domain_uuid."' "; + $prep_statement = $db->prepare($sql); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach ($result as &$row) { + $number_translation_uuid = $row["number_translation_uuid"]; + } + unset ($prep_statement, $result); -?> \ No newline at end of file + //delete the row + $sql = "delete from v_number_translation_details "; + $sql .= "where number_translation_detail_uuid = '".$_REQUEST["number_translation_detail_uuid"]."' "; + //$sql .= "and domain_uuid = '".$domain_uuid."' "; + $prep_statement = $db->prepare($sql); + $prep_statement->execute(); + + //redirect the user + header('Location: number_translation_edit.php?id='.$number_translation_uuid); + } + + +?>