diff --git a/core/default_settings/default_settings.php b/core/default_settings/default_settings.php index 875c685351..8c0a647a05 100644 --- a/core/default_settings/default_settings.php +++ b/core/default_settings/default_settings.php @@ -43,12 +43,128 @@ else { //get posted values, if any if (sizeof($_POST) > 0) { - echo "
"; - print_r($_POST); - echo ""; + $target_domain_uuid = check_str($_POST["target_domain_uuid"]); + $default_setting_uuids = $_POST["default_setting_uuids"]; + + if ($target_domain_uuid != '' && sizeof($default_setting_uuids) > 0) { + + $settings_copied = 0; + + foreach ($default_setting_uuids as $default_setting_uuid) { + + // get default setting from db + $sql = "select * from v_default_settings "; + $sql .= "where default_setting_uuid = '".$default_setting_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach ($result as &$row) { + $default_setting_category = $row["default_setting_category"]; + $default_setting_subcategory = $row["default_setting_subcategory"]; + $default_setting_name = $row["default_setting_name"]; + $default_setting_value = $row["default_setting_value"]; + $default_setting_order = $row["default_setting_order"]; + $default_setting_enabled = $row["default_setting_enabled"]; + $default_setting_description = $row["default_setting_description"]; + break; //limit to 1 row + } + unset ($prep_statement); + + // check if exists + $sql = "select domain_setting_uuid from v_domain_settings "; + $sql .= "where domain_uuid = '".$target_domain_uuid."' "; + $sql .= "and domain_setting_category = '".$default_setting_category."' "; + $sql .= "and domain_setting_subcategory = '".$default_setting_subcategory."' "; + $sql .= "and domain_setting_name = '".$default_setting_name."' "; + $sql .= "and domain_setting_name <> 'array' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + if (sizeof($result) > 0) { + foreach ($result as &$row) { + $target_domain_setting_uuid = $row["domain_setting_uuid"]; + break; + } + $action = "update"; + } + else { + $action = "add"; + } + unset ($prep_statement); + + // fix null + $default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null'; + + if ($action == "add" && permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { + + // insert for target domain + $sql = "insert into v_domain_settings "; + $sql .= "("; + $sql .= "domain_uuid, "; + $sql .= "domain_setting_uuid, "; + $sql .= "domain_setting_category, "; + $sql .= "domain_setting_subcategory, "; + $sql .= "domain_setting_name, "; + $sql .= "domain_setting_value, "; + $sql .= "domain_setting_order, "; + $sql .= "domain_setting_enabled, "; + $sql .= "domain_setting_description "; + $sql .= ")"; + $sql .= "values "; + $sql .= "("; + $sql .= "'".$target_domain_uuid."', "; + $sql .= "'".uuid()."', "; + $sql .= "'".$default_setting_category."', "; + $sql .= "'".$default_setting_subcategory."', "; + $sql .= "'".$default_setting_name."', "; + $sql .= "'".$default_setting_value."', "; + $sql .= " ".$default_setting_order." , "; + $sql .= "'".$default_setting_enabled."', "; + $sql .= "'".$default_setting_description."' "; + $sql .= ")"; + $db->exec(check_sql($sql)); + unset($sql); + + $settings_copied++; + + } // add + + if ($action == "update" && permission_exists('domain_setting_edit')) { + + $sql = "update v_domain_settings set "; + $sql .= "domain_setting_category = '".$default_setting_category."', "; + $sql .= "domain_setting_subcategory = '".$default_setting_subcategory."', "; + $sql .= "domain_setting_name = '".$default_setting_name."', "; + $sql .= "domain_setting_value = '".$default_setting_value."', "; + $sql .= "domain_setting_order = ".$default_setting_order.", "; + $sql .= "domain_setting_enabled = '".$default_setting_enabled."', "; + $sql .= "domain_setting_description = '".$default_setting_description."' "; + $sql .= "where domain_uuid = '".$target_domain_uuid."' "; + $sql .= "and domain_setting_uuid = '".$target_domain_setting_uuid."' "; + $db->exec(check_sql($sql)); + unset($sql); + + $settings_copied++; + + } // update + + } // foreach + + // set message + $_SESSION["message"] = "Settings Copied: ".$settings_copied; + + } + else { + // set message + $_SESSION["message"] = "No Settings Checked or Invalid Domain"; + } + + header("Location: default_settings.php"); exit; -} +} // post + + require_once "resources/header.php"; $document['title'] = $text['title-default_settings']; @@ -60,26 +176,26 @@ require_once "resources/paging.php"; $order = $_GET["order"]; // copy settings javascript -?> - - 1) { + echo ""; +} //show the content echo "