From e0d9bf2d1160b68c5f27f1606fdbdf31f556d341 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 14 Mar 2017 14:56:23 -0600 Subject: [PATCH] Update domain_delete.php Fix the domain delete. --- core/domain_settings/domain_delete.php | 138 +++++++++++++------------ 1 file changed, 72 insertions(+), 66 deletions(-) diff --git a/core/domain_settings/domain_delete.php b/core/domain_settings/domain_delete.php index 29ef9e1222..ebdf6f15e0 100644 --- a/core/domain_settings/domain_delete.php +++ b/core/domain_settings/domain_delete.php @@ -23,16 +23,20 @@ Contributor(s): Mark J Crane */ -require_once "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('domain_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('domain_delete')) { + //access granted + } + else { + echo "access denied"; + exit; + } //add multi-lingual support $language = new text; @@ -43,6 +47,7 @@ else { $id = check_str($_GET["id"]); } +//delete domain data and files if (strlen($id) > 0) { //get the domain using the id $sql = "select * from v_domains "; @@ -96,7 +101,7 @@ if (strlen($id) > 0) { $db->beginTransaction(); if (isset($apps)) foreach ($apps as &$app) { if (isset($app['db'])) foreach ($app['db'] as $row) { - $table_name = $row['table']; + $table_name = $row['table']['name']; if (isset($row['fields'])) foreach ($row['fields'] as $field) { if ($field['name'] == "domain_uuid") { $sql = "delete from $table_name where domain_uuid = '$id' "; @@ -107,7 +112,8 @@ if (strlen($id) > 0) { } $db->commit(); - if (strlen($domain_name) > 0) { + //delete the directories + if (strlen($domain_name) > 0) { //set the needle if (count($_SESSION["domains"]) > 1) { $v_needle = 'v_'.$domain_name.'_'; @@ -129,76 +135,76 @@ if (strlen($id) > 0) { } //delete the extension - unlink($_SESSION['switch']['extensions']['dir'].'/'.$domain_name.'.xml'); - if (strlen($_SESSION['switch']['extensions']['dir']) > 0) { - system('rm -rf '.$_SESSION['switch']['extensions']['dir'].'/'.$domain_name); - } + unlink($_SESSION['switch']['extensions']['dir'].'/'.$domain_name.'.xml'); + if (strlen($_SESSION['switch']['extensions']['dir']) > 0) { + system('rm -rf '.$_SESSION['switch']['extensions']['dir'].'/'.$domain_name); + } - //delete fax - if (strlen($_SESSION['switch']['storage']['dir']) > 0) { - system('rm -rf '.$_SESSION['switch']['storage']['dir'].'/fax/'.$domain_name); - } + //delete fax + if (strlen($_SESSION['switch']['storage']['dir']) > 0) { + system('rm -rf '.$_SESSION['switch']['storage']['dir'].'/fax/'.$domain_name); + } - //delete the gateways - if($dh = opendir($_SESSION['switch']['sip_profiles']['dir'])) { - $files = Array(); - while($file = readdir($dh)) { - if($file != "." && $file != ".." && $file[0] != '.') { - if(is_dir($dir . "/" . $file)) { - //this is a directory do nothing - } else { - //check if file extension is xml - if (strpos($file, $v_needle) !== false && substr($file,-4) == '.xml') { - unlink($_SESSION['switch']['sip_profiles']['dir']."/".$file); + //delete the gateways + if($dh = opendir($_SESSION['switch']['sip_profiles']['dir'])) { + $files = Array(); + while($file = readdir($dh)) { + if($file != "." && $file != ".." && $file[0] != '.') { + if(is_dir($dir . "/" . $file)) { + //this is a directory do nothing + } else { + //check if file extension is xml + if (strpos($file, $v_needle) !== false && substr($file,-4) == '.xml') { + unlink($_SESSION['switch']['sip_profiles']['dir']."/".$file); + } + } } } + closedir($dh); } - } - closedir($dh); - } - //delete the ivr menu - if($dh = opendir($_SESSION['switch']['conf']['dir']."/ivr_menus/")) { - $files = Array(); - while($file = readdir($dh)) { - if($file != "." && $file != ".." && $file[0] != '.') { - if(is_dir($dir . "/" . $file)) { - //this is a directory - } else { - if (strpos($file, $v_needle) !== false && substr($file,-4) == '.xml') { - unlink($_SESSION['switch']['conf']['dir']."/ivr_menus/".$file); + //delete the ivr menu + if($dh = opendir($_SESSION['switch']['conf']['dir']."/ivr_menus/")) { + $files = Array(); + while($file = readdir($dh)) { + if($file != "." && $file != ".." && $file[0] != '.') { + if(is_dir($dir . "/" . $file)) { + //this is a directory + } else { + if (strpos($file, $v_needle) !== false && substr($file,-4) == '.xml') { + unlink($_SESSION['switch']['conf']['dir']."/ivr_menus/".$file); + } + } } } + closedir($dh); + } + + //delete the recordings + if (strlen($_SESSION['switch'][recordings]['dir']) > 0) { + system('rm -rf '.$_SESSION['switch']['recordings']['dir'].'/'.$_SESSION['domain_name'].'/'.$domain_name); + } + + //delete voicemail + if (strlen($_SESSION['switch']['voicemail']['dir']) > 0) { + system('rm -rf '.$_SESSION['switch']['voicemail']['dir'].'/'.$domain_name); } - } - closedir($dh); } - //delete the recordings - if (strlen($_SESSION['switch'][recordings]['dir']) > 0) { - system('rm -rf '.$_SESSION['switch']['recordings']['dir'].'/'.$_SESSION['domain_name'].'/'.$domain_name); - } + //apply settings reminder + $_SESSION["reload_xml"] = true; - //delete voicemail - if (strlen($_SESSION['switch']['voicemail']['dir']) > 0) { - system('rm -rf '.$_SESSION['switch']['voicemail']['dir'].'/'.$domain_name); - } + //clear the domains session array to update it + unset($_SESSION["domains"]); + unset($_SESSION["domain_uuid"]); + unset($_SESSION["domain_name"]); + unset($_SESSION['domain']); + unset($_SESSION['switch']); } - //apply settings reminder - $_SESSION["reload_xml"] = true; - - //clear the domains session array to update it - unset($_SESSION["domains"]); - unset($_SESSION["domain_uuid"]); - unset($_SESSION["domain_name"]); - unset($_SESSION['domain']); - unset($_SESSION['switch']); -} - //redirect the browser $_SESSION["message"] = $text['message-delete']; header("Location: domains.php"); return; -?> \ No newline at end of file +?>