diff --git a/core/domain_settings/domain_settings.php b/core/domain_settings/domain_settings.php
index e4b5355928..63901900c1 100644
--- a/core/domain_settings/domain_settings.php
+++ b/core/domain_settings/domain_settings.php
@@ -53,96 +53,189 @@
exit;
}
- //copy (to a different domain)
+ //copy settings
if ($action == 'copy') {
if (permission_exists('domain_select') && count($_SESSION['domains']) > 1) {
$target_domain_uuid = $_POST["target_domain_uuid"];
- if (is_uuid($target_domain_uuid) && is_array($domain_setting_uuids) && @sizeof($domain_setting_uuids) > 0) {
- $settings_copied = 0;
- foreach ($domain_setting_uuids as $domain_setting_uuid) {
+ //to different domain
+ if (is_uuid($target_domain_uuid)) {
- if (is_uuid($domain_setting_uuid)) {
+ if (is_array($domain_setting_uuids) && @sizeof($domain_setting_uuids) > 0) {
+ $settings_copied = 0;
+ foreach ($domain_setting_uuids as $domain_setting_uuid) {
- //get domain setting from db
- $sql = "select * from v_domain_settings ";
- $sql .= "where domain_setting_uuid = :domain_setting_uuid ";
- $parameters['domain_setting_uuid'] = $domain_setting_uuid;
- $database = new database;
- $row = $database->select($sql, $parameters, 'row');
- if (is_array($row) && sizeof($row) != 0) {
- $domain_setting_category = $row["domain_setting_category"];
- $domain_setting_subcategory = $row["domain_setting_subcategory"];
- $domain_setting_name = $row["domain_setting_name"];
- $domain_setting_value = $row["domain_setting_value"];
- $domain_setting_order = $row["domain_setting_order"];
- $domain_setting_enabled = $row["domain_setting_enabled"];
- $domain_setting_description = $row["domain_setting_description"];
- }
- unset($sql, $parameters, $row);
+ if (is_uuid($domain_setting_uuid)) {
+
+ //get domain setting from db
+ $sql = "select * from v_domain_settings ";
+ $sql .= "where domain_setting_uuid = :domain_setting_uuid ";
+ $parameters['domain_setting_uuid'] = $domain_setting_uuid;
+ $database = new database;
+ $row = $database->select($sql, $parameters, 'row');
+ if (is_array($row) && sizeof($row) != 0) {
+ $domain_setting_category = $row["domain_setting_category"];
+ $domain_setting_subcategory = $row["domain_setting_subcategory"];
+ $domain_setting_name = $row["domain_setting_name"];
+ $domain_setting_value = $row["domain_setting_value"];
+ $domain_setting_order = $row["domain_setting_order"];
+ $domain_setting_enabled = $row["domain_setting_enabled"];
+ $domain_setting_description = $row["domain_setting_description"];
+ }
+ unset($sql, $parameters, $row);
+
+ //set a random password for http_auth_password
+ if ($domain_setting_subcategory == "http_auth_password") {
+ $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'] = $target_domain_uuid;
+ $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);
+
+ // fix null
+ $domain_setting_order = $domain_setting_order != '' ? $domain_setting_order : null;
+
+ //begin array
+ $array['domain_settings'][0]['domain_uuid'] = $target_domain_uuid;
+ $array['domain_settings'][0]['domain_setting_category'] = $domain_setting_category;
+ $array['domain_settings'][0]['domain_setting_subcategory'] = $domain_setting_subcategory;
+ $array['domain_settings'][0]['domain_setting_name'] = $domain_setting_name;
+ $array['domain_settings'][0]['domain_setting_value'] = $domain_setting_value;
+ $array['domain_settings'][0]['domain_setting_order'] = $domain_setting_order;
+ $array['domain_settings'][0]['domain_setting_enabled'] = $domain_setting_enabled;
+ $array['domain_settings'][0]['domain_setting_description'] = $domain_setting_description;
+
+ //insert
+ if ($action == "add" && permission_exists("domain_setting_add")) {
+ $array['domain_settings'][0]['domain_setting_uuid'] = uuid();
+ }
+ //update
+ if ($action == "update" && permission_exists('domain_setting_edit')) {
+ $array['domain_settings'][0]['domain_setting_uuid'] = $target_domain_setting_uuid;
+ }
+
+ //execute
+ if (is_uuid($array['domain_settings'][0]['domain_setting_uuid'])) {
+ $database = new database;
+ $database->app_name = 'domain_settings';
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+ $database->save($array);
+ unset($array);
+
+ $settings_copied++;
+ }
+
+ }
- //set a random password for http_auth_password
- if ($domain_setting_subcategory == "http_auth_password") {
- $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'] = $target_domain_uuid;
- $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);
-
- // fix null
- $default_setting_order = $default_setting_order != '' ? $default_setting_order : null;
-
- //begin array
- $array['domain_settings'][0]['domain_uuid'] = $target_domain_uuid;
- $array['domain_settings'][0]['domain_setting_category'] = $domain_setting_category;
- $array['domain_settings'][0]['domain_setting_subcategory'] = $domain_setting_subcategory;
- $array['domain_settings'][0]['domain_setting_name'] = $domain_setting_name;
- $array['domain_settings'][0]['domain_setting_value'] = $domain_setting_value;
- $array['domain_settings'][0]['domain_setting_order'] = $domain_setting_order;
- $array['domain_settings'][0]['domain_setting_enabled'] = $domain_setting_enabled;
- $array['domain_settings'][0]['domain_setting_description'] = $domain_setting_description;
-
- //insert
- if ($action == "add" && permission_exists("domain_setting_add")) {
- $array['domain_settings'][0]['domain_setting_uuid'] = uuid();
- }
- //update
- if ($action == "update" && permission_exists('domain_setting_edit')) {
- $array['domain_settings'][0]['domain_setting_uuid'] = $target_domain_setting_uuid;
- }
-
- //execute
- if (is_uuid($array['domain_settings'][0]['domain_setting_uuid'])) {
- $database = new database;
- $database->app_name = 'domain_settings';
- $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
- $database->save($array);
- unset($array);
-
- $settings_copied++;
}
+ // set message
+ message::add($text['message-copy'].": ".escape($settings_copied));
}
}
- // set message
- message::add($text['message-copy'].": ".escape($settings_copied));
- }
+ //to default settings
+ else if ($target_domain_uuid == 'default') {
+
+ if (is_array($domain_setting_uuids) && @sizeof($domain_setting_uuids) > 0) {
+ $settings_copied = 0;
+ foreach ($domain_setting_uuids as $domain_setting_uuid) {
+
+ if (is_uuid($domain_setting_uuid)) {
+
+ //get domain setting from db
+ $sql = "select * from v_domain_settings ";
+ $sql .= "where domain_setting_uuid = :domain_setting_uuid ";
+ $parameters['domain_setting_uuid'] = $domain_setting_uuid;
+ $database = new database;
+ $row = $database->select($sql, $parameters, 'row');
+ if (is_array($row) && sizeof($row) != 0) {
+ $domain_setting_category = $row["domain_setting_category"];
+ $domain_setting_subcategory = $row["domain_setting_subcategory"];
+ $domain_setting_name = $row["domain_setting_name"];
+ $domain_setting_value = $row["domain_setting_value"];
+ $domain_setting_order = $row["domain_setting_order"];
+ $domain_setting_enabled = $row["domain_setting_enabled"];
+ $domain_setting_description = $row["domain_setting_description"];
+ }
+ unset($sql, $parameters, $row);
+
+ //set a random password for http_auth_password
+ if ($domain_setting_subcategory == "http_auth_password") {
+ $domain_setting_value = generate_password();
+ }
+
+ // check if exists
+ $sql = "select default_setting_uuid from v_default_settings ";
+ $sql .= "where default_setting_category = :default_setting_category ";
+ $sql .= "and default_setting_subcategory = :default_setting_subcategory ";
+ $sql .= "and default_setting_name = :default_setting_name ";
+ $sql .= "and default_setting_name <> 'array' ";
+ $parameters['default_setting_category'] = $domain_setting_category;
+ $parameters['default_setting_subcategory'] = $domain_setting_subcategory;
+ $parameters['default_setting_name'] = $domain_setting_name;
+ $database = new database;
+ $target_default_setting_uuid = $database->select($sql, $parameters, 'column');
+
+ $action = is_uuid($target_default_setting_uuid) ? 'update' : 'add';
+ unset($sql, $parameters);
+
+ // fix null
+ $domain_setting_order = $domain_setting_order != '' ? $domain_setting_order : null;
+
+ //begin array
+ $array['default_settings'][0]['default_setting_category'] = $domain_setting_category;
+ $array['default_settings'][0]['default_setting_subcategory'] = $domain_setting_subcategory;
+ $array['default_settings'][0]['default_setting_name'] = $domain_setting_name;
+ $array['default_settings'][0]['default_setting_value'] = $domain_setting_value;
+ $array['default_settings'][0]['default_setting_order'] = $domain_setting_order;
+ $array['default_settings'][0]['default_setting_enabled'] = $domain_setting_enabled;
+ $array['default_settings'][0]['default_setting_description'] = $domain_setting_description;
+
+ //insert
+ if ($action == "add" && permission_exists("default_setting_add")) {
+ $array['default_settings'][0]['default_setting_uuid'] = uuid();
+ }
+ //update
+ if ($action == "update" && permission_exists('default_setting_edit')) {
+ $array['default_settings'][0]['default_setting_uuid'] = $target_default_setting_uuid;
+ }
+
+ //execute
+ if (is_uuid($array['default_settings'][0]['default_setting_uuid'])) {
+ $database = new database;
+ $database->app_name = 'domain_settings';
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
+ $database->save($array);
+ unset($array);
+
+ $settings_copied++;
+ }
+
+ }
+
+ }
+
+ // set message
+ message::add($text['message-copy'].": ".escape($settings_copied));
+ }
+
+ }
}
header("Location: ".PROJECT_PATH."/core/domains/domain_edit.php?id=".escape($_REQUEST["domain_uuid"]));
@@ -303,6 +396,10 @@
foreach ($_SESSION['domains'] as $domain) {
echo " \n";
}
+ if (permission_exists('default_setting_add') && permission_exists('default_setting_edit')) {
+ echo " \n";
+ echo " \n";
+ }
echo " \n";
echo " ";
}
diff --git a/core/domains/app_languages.php b/core/domains/app_languages.php
index 6635ffd89f..7b844d61db 100644
--- a/core/domains/app_languages.php
+++ b/core/domains/app_languages.php
@@ -622,6 +622,26 @@ $text['label-12-hour']['ru-ru'] = "12-часовой";
$text['label-12-hour']['sv-se'] = "12-timmars";
$text['label-12-hour']['uk-ua'] = "12-годинний";
+$text['label-default_settings']['en-us'] = "Default Settings";
+$text['label-default_settings']['ar-eg'] = "";
+$text['label-default_settings']['de-at'] = "Standardeinstellungen"; //copied from de-de
+$text['label-default_settings']['de-ch'] = "Standardeinstellungen"; //copied from de-de
+$text['label-default_settings']['de-de'] = "Standardeinstellungen";
+$text['label-default_settings']['es-cl'] = "Condiciones Predeterminadas";
+$text['label-default_settings']['es-mx'] = "Condiciones Predeterminadas"; //copied from es-cl
+$text['label-default_settings']['fr-ca'] = "Configurations par Défaut"; //copied from fr-fr
+$text['label-default_settings']['fr-fr'] = "Configurations par Défaut";
+$text['label-default_settings']['he-il'] = "";
+$text['label-default_settings']['it-it'] = "Parametri di Default";
+$text['label-default_settings']['nl-nl'] = "";
+$text['label-default_settings']['pl-pl'] = "Ustawienia domyślne";
+$text['label-default_settings']['pt-br'] = "Configurações";
+$text['label-default_settings']['pt-pt'] = "Predefinições";
+$text['label-default_settings']['ro-ro'] = "";
+$text['label-default_settings']['ru-ru'] = "Настройки по умолчанию";
+$text['label-default_settings']['sv-se'] = "Standard Inställningar";
+$text['label-default_settings']['uk-ua'] = "Налаштування за замовчуванням";
+
$text['header-settings']['en-us'] = "Settings";
$text['header-settings']['ar-eg'] = "";
$text['header-settings']['de-at'] = "Einstellungen"; //copied from de-de