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