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 "
"; @@ -94,7 +210,7 @@ require_once "resources/paging.php"; echo " \n"; echo " ".$text['header-default_settings']."\n"; echo " "; - if (permission_exists("domain_select") && count($_SESSION['domains']) > 1) { + if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { echo " "; echo " "; echo " \n"; - echo " "; + echo " "; } else { echo "  "; @@ -185,8 +301,8 @@ require_once "resources/paging.php"; echo " \n"; echo "\n"; echo "\n"; - if (permission_exists('domain_setting_add')) { - echo ""; + if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { + echo ""; } echo "".$text['label-subcategory'].""; echo "".$text['label-type'].""; @@ -204,9 +320,9 @@ require_once "resources/paging.php"; $tr_link = (permission_exists('default_setting_edit')) ? "href='default_setting_edit.php?id=".$row['default_setting_uuid']."'" : null; echo "\n"; - if (permission_exists('domain_setting_add')) { - echo " \n"; - $subcat_ids[strtolower($row['default_setting_category'])][] = 'checkbox_'.strtolower($row['default_setting_subcategory']); + if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { + echo " \n"; + $subcat_ids[strtolower($row['default_setting_category'])][] = 'checkbox_'.$row['default_setting_uuid']; } echo " "; if (permission_exists('default_setting_edit')) { @@ -259,7 +375,7 @@ require_once "resources/paging.php"; } //end if results echo "\n"; - echo "\n"; + echo " 1) ? 7 : 6)."' align='left'>\n"; echo " \n"; echo " \n"; echo " \n"; diff --git a/core/domain_settings/domain_settings.php b/core/domain_settings/domain_settings.php index c5c2794925..da0f566a23 100644 --- a/core/domain_settings/domain_settings.php +++ b/core/domain_settings/domain_settings.php @@ -116,15 +116,25 @@ require_once "resources/paging.php"; echo " \n"; echo "\n"; echo "\n"; - echo th_order_by('domain_setting_subcategory', $text['label-category'], $order_by, $order); - echo th_order_by('domain_setting_name', $text['label-type'], $order_by, $order); - echo th_order_by('domain_setting_value', $text['label-value'], $order_by, $order); - echo th_order_by('domain_setting_enabled', $text['label-enabled'], $order_by, $order); - echo th_order_by('domain_setting_description', $text['label-description'], $order_by, $order); + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo "\n"; - echo " \n"; + echo " \n"; echo " \n"; echo "
 \n"; echo "
\n"; echo "
\n"; - echo " ".ucfirst($row['domain_setting_category'])." \n"; + echo " "; + if (strtolower($row['domain_setting_category']) == "cdr") { + echo " CDR"; + } + elseif (strtolower($row['domain_setting_category']) == "ldap") { + echo " LDAP"; + } + else { + echo " ".ucfirst($row['domain_setting_category']); + } + echo " \n"; echo "
".$text['label-subcategory']."".$text['label-type']."".$text['label-value']."".$text['label-enabled']."".$text['label-description'].""; if (permission_exists('domain_setting_add')) { echo "$v_link_label_add"; @@ -169,7 +179,7 @@ require_once "resources/paging.php"; } echo "  \n"; echo " ".ucwords($row['domain_setting_enabled'])." ".ucwords($row['domain_setting_enabled'])." ".$row['domain_setting_description']." "; if (permission_exists('domain_setting_edit')) {