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; + } } }