From 8547f2ac32cf1039a6439f0302c3f86bf4b9117a Mon Sep 17 00:00:00 2001 From: jebsolutions Date: Thu, 24 Nov 2016 03:12:21 -0500 Subject: [PATCH] fixes for #1821 4.2 branch (#2034) * fixes for #1822 4.2 branch app/extensions/app_languages.php + add duplicate extension error prompt app/extensions/extension_copy.php + add check to see if duplicate extension exists app/extensions/resources/classes/extension.php + add function to check if extension exists + all cherry picks "AND AND" fix from master * fix typo * Update app_languages.php * Update extension_copy.php * Update extension.php --- app/extensions/app_languages.php | 2 +- app/extensions/extension_copy.php | 18 ++++++++++++++++-- app/extensions/resources/classes/extension.php | 12 ++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index a7bcd6e3db..4792b88673 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -1598,4 +1598,4 @@ $text['button-call_routing']['ro'] = "rutare de apel"; $text['button-call_routing']['ar-eg'] = "توجيه الدعوة"; $text['button-call_routing']['he'] = "ניתוב שיחות"; -?> \ No newline at end of file +?> diff --git a/app/extensions/extension_copy.php b/app/extensions/extension_copy.php index 1f9a8d3563..c1047cf469 100644 --- a/app/extensions/extension_copy.php +++ b/app/extensions/extension_copy.php @@ -47,7 +47,21 @@ else { $number_alias_new = check_str($_REQUEST["alias"]); } } - + +// skip clone if domain:extension already exists + $ext = new extension; + $ext->db = $db; + if ($ext->exists($domain_uuid, $extension_new)) { + //begin the page content + require_once "resources/header.php"; + + echo "
".$text['error-extension-copy-already-exists']."
"; + echo " \n"; + echo "
"; + require_once "resources/footer.php"; + return; + } + //get the v_extensions data $sql = "select * from v_extensions "; $sql .= "where domain_uuid = '$domain_uuid' "; @@ -228,4 +242,4 @@ else { header("Location: extensions.php"); return; -?> \ No newline at end of file +?> diff --git a/app/extensions/resources/classes/extension.php b/app/extensions/resources/classes/extension.php index 061b7180f7..0bee12ebcd 100644 --- a/app/extensions/resources/classes/extension.php +++ b/app/extensions/resources/classes/extension.php @@ -504,6 +504,18 @@ if (!class_exists('extension')) { $_SESSION["reload_xml"] = true; } } + + // returns true if domain:extension already exists + public function exists($domain_uuid, $extension) { + $sql = "select * from v_extensions where domain_uuid = '".$domain_uuid."' "; + $sql .= "and extension='".$extension."'"; + + $prep_statement = $this->db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + + return count($result) != 0; + } } }