mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Domain Settings: Implement ability to Duplicate settings.
This commit is contained in:
@@ -177,6 +177,7 @@
|
||||
echo button::create(['type'=>'button','label'=>$text['button-copy'],'id'=>'btn_copy','icon'=>$_SESSION['theme']['button_icon_copy'],'id'=>'btn_copy','onclick'=>'show_domains();']);
|
||||
echo button::create(['type'=>'button','label'=>$text['button-cancel'],'id'=>'btn_copy_cancel','icon'=>$_SESSION['theme']['button_icon_cancel'],'style'=>'display: none;','onclick'=>'hide_domains();']);
|
||||
echo "<select class='formfld' style='display: none; width: auto;' id='target_domain' onchange=\"document.getElementById('domain_uuid_target').value = this.options[this.selectedIndex].value;\">\n";
|
||||
echo " <option value='".$domain_uuid."'>(".$text['label-duplicate'].")</option>\n";
|
||||
echo " <option value='' selected='selected' disabled='disabled'>".$text['label-domain']."...</option>\n";
|
||||
foreach ($_SESSION['domains'] as $domain) {
|
||||
if ($domain['domain_uuid'] == $domain_uuid) { continue; }
|
||||
|
||||
@@ -249,22 +249,28 @@ if (!class_exists('domain_settings')) {
|
||||
$domain_setting_value = generate_password();
|
||||
}
|
||||
|
||||
// check if exists
|
||||
$sql = "select domain_setting_uuid from v_domain_settings ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and domain_setting_category = :domain_setting_category ";
|
||||
$sql .= "and domain_setting_subcategory = :domain_setting_subcategory ";
|
||||
$sql .= "and domain_setting_name = :domain_setting_name ";
|
||||
$sql .= "and domain_setting_name <> 'array' ";
|
||||
$parameters['domain_uuid'] = $this->domain_uuid_target;
|
||||
$parameters['domain_setting_category'] = $domain_setting_category;
|
||||
$parameters['domain_setting_subcategory'] = $domain_setting_subcategory;
|
||||
$parameters['domain_setting_name'] = $domain_setting_name;
|
||||
$database = new database;
|
||||
$target_domain_setting_uuid = $database->select($sql, $parameters, 'column');
|
||||
//target is different domain, check if exists
|
||||
if ($this->domain_uuid_target != $this->domain_uuid) {
|
||||
$sql = "select domain_setting_uuid from v_domain_settings ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and domain_setting_category = :domain_setting_category ";
|
||||
$sql .= "and domain_setting_subcategory = :domain_setting_subcategory ";
|
||||
$sql .= "and domain_setting_name = :domain_setting_name ";
|
||||
$sql .= "and domain_setting_name <> 'array' ";
|
||||
$parameters['domain_uuid'] = $this->domain_uuid_target;
|
||||
$parameters['domain_setting_category'] = $domain_setting_category;
|
||||
$parameters['domain_setting_subcategory'] = $domain_setting_subcategory;
|
||||
$parameters['domain_setting_name'] = $domain_setting_name;
|
||||
$database = new database;
|
||||
$target_domain_setting_uuid = $database->select($sql, $parameters, 'column');
|
||||
|
||||
$action = is_uuid($target_domain_setting_uuid) ? 'update' : 'add';
|
||||
unset($sql, $parameters);
|
||||
$action = is_uuid($target_domain_setting_uuid) ? 'update' : 'add';
|
||||
unset($sql, $parameters);
|
||||
}
|
||||
//target is same domain, duplicate
|
||||
else {
|
||||
$action = 'add';
|
||||
}
|
||||
|
||||
// fix null
|
||||
$domain_setting_order = $domain_setting_order != '' ? $domain_setting_order : null;
|
||||
|
||||
Reference in New Issue
Block a user