Portions created by the Initial Developer are Copyright (C) 2008-2015 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; if (permission_exists('default_setting_add') || permission_exists('default_setting_edit')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //action add or update if (isset($_REQUEST["id"])) { $action = "update"; $default_setting_uuid = check_str($_REQUEST["id"]); $search = check_str($_REQUEST['search']); } else { $action = "add"; } //get http post variables and set them to php variables if (count($_REQUEST) > 0) { $default_setting_category = strtolower(check_str($_REQUEST["default_setting_category"])); $default_setting_subcategory = strtolower(check_str($_POST["default_setting_subcategory"])); $default_setting_name = strtolower(check_str($_POST["default_setting_name"])); $default_setting_value = check_str($_POST["default_setting_value"]); $default_setting_order = check_str($_POST["default_setting_order"]); $default_setting_enabled = check_str($_POST["default_setting_enabled"]); $default_setting_description = check_str($_POST["default_setting_description"]); } if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $msg = ''; if ($action == "update") { $default_setting_uuid = check_str($_POST["default_setting_uuid"]); } //check for all required data //if (strlen($default_setting_category) == 0) { $msg .= $text['message-required'].$text['label-category']."
\n"; } //if (strlen($default_setting_subcategory) == 0) { $msg .= $text['message-required'].$text['label-subcategory']."
\n"; } //if (strlen($default_setting_name) == 0) { $msg .= $text['message-required'].$text['label-type']."
\n"; } //if (strlen($default_setting_value) == 0) { $msg .= $text['message-required'].$text['label-value']."
\n"; } //if (strlen($default_setting_order) == 0) { $msg .= $text['message-required'].$text['label-order']."
\n"; } //if (strlen($default_setting_enabled) == 0) { $msg .= $text['message-required'].$text['label-enabled']."
\n"; } //if (strlen($default_setting_description) == 0) { $msg .= $text['message-required'].$text['label-description']."
\n"; } if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { require_once "resources/header.php"; require_once "resources/persist_form_var.php"; echo "
\n"; echo "
\n"; echo $msg."
"; echo "
\n"; persistformvar($_POST); echo "
\n"; require_once "resources/footer.php"; return; } //add or update the database if ($_POST["persistformvar"] != "true") { // fix null $default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null'; //update switch timezone variables if ($default_setting_category == "domain" && $default_setting_subcategory == "time_zone" && $default_setting_name == "name" ) { //get the action $sql = "select * from v_vars "; $sql .= "where var_name = 'timezone' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $var_action = "add"; foreach ($result as $row) { $var_action = "update"; } unset ($prep_statement); //update the timezone if ($var_action == "update") { $sql = "update v_vars "; $sql .= "set var_value = '".$default_setting_value."' "; $sql .= "where var_name = 'timezone' "; } else { $sql = "insert into v_vars "; $sql .= "(var_uuid, var_name, var_value, var_cat, var_enabled) "; $sql .= "values ('".uuid()."', 'timezone', '$default_setting_value', 'Defaults', 'true'); "; } $db->query($sql); unset($sql); //synchronize the configuration save_var_xml(); } if ($action == "add" && permission_exists('default_setting_add')) { $sql = "insert into v_default_settings "; $sql .= "("; $sql .= "default_setting_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 .= ")"; $sql .= "values "; $sql .= "("; $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); $_SESSION["message"] = $text['message-add']; header("Location: default_settings.php#".$default_setting_category); return; } //if ($action == "add") if ($action == "update" && permission_exists('default_setting_edit')) { $sql = "update v_default_settings set "; $sql .= "default_setting_category = '$default_setting_category', "; $sql .= "default_setting_subcategory = '$default_setting_subcategory', "; $sql .= "default_setting_name = '$default_setting_name', "; $sql .= "default_setting_value = '$default_setting_value', "; $sql .= "default_setting_order = $default_setting_order, "; $sql .= "default_setting_enabled = '$default_setting_enabled', "; $sql .= "default_setting_description = '$default_setting_description' "; $sql .= "where default_setting_uuid = '$default_setting_uuid'"; $db->exec(check_sql($sql)); unset($sql); $_SESSION["message"] = $text['message-update']; header("Location: default_settings.php".(($search != '') ? "?search=".$search : null)."#".$default_setting_category); return; } //if ($action == "update") } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) //pre-populate the form if (count($_GET)>0 && $_POST["persistformvar"] != "true") { $default_setting_uuid = check_str($_GET["id"]); $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); } //show the header require_once "resources/header.php"; if ($action == "update") { $document['title'] = $text['title-default_setting-edit']; } elseif ($action == "add") { $document['title'] = $text['title-default_setting-add']; } //show the content echo "
\n"; echo "\n"; echo "\n"; if ($action == "add") { echo "\n"; } if ($action == "update") { echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($name == "array" || $name == '') { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo " "; echo "
".$text['header-default_setting-add']."".$text['header-default_setting-edit'].""; echo " "; echo " \n"; echo "
\n"; if ($action == "add") { echo $text['description-default_setting-add']."

\n"; } if ($action == "update") { echo $text['description-default_setting-edit']."

\n"; } echo "
\n"; echo " ".$text['label-category']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-category']."\n"; echo "
\n"; echo " ".$text['label-subcategory']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-subcategory']."\n"; echo "
\n"; echo " ".$text['label-type']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-type']."\n"; echo "
\n"; echo " ".$text['label-value']."\n"; echo "\n"; $category = $row['default_setting_category']; $subcategory = $row['default_setting_subcategory']; $name = $row['default_setting_name']; if ($category == "cdr" && $subcategory == "format" && $name == "text" ) { echo " \n"; } elseif ($category == "cdr" && $subcategory == "storage" && $name == "text" ) { echo " \n"; } elseif ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) { echo " \n"; } elseif ($category == "domain" && $subcategory == "template" && $name == "name" ) { echo " \n"; } elseif ($category == "domain" && $subcategory == "language" && $name == "code" ) { echo " \n"; } elseif ($category == "email" && $subcategory == "smtp_auth" && $name == "var" ) { echo " \n"; } elseif ($category == "email" && $subcategory == "smtp_secure" && $name == "var" ) { echo " \n"; } elseif ($category == "domain" && $subcategory == "time_zone" && $name == "name" ) { echo " \n"; } elseif ($subcategory == 'password' || substr_count($subcategory, '_password') > 0 || $category == "login" && $subcategory == "password_reset_key" && $name == "text") { echo " \n"; } elseif ( $category == "theme" && $subcategory == "background_color" && $name == "array" || $category == "theme" && $subcategory == "login_shadow_color" && $name == "text" || $category == "theme" && $subcategory == "login_background_color" && $name == "text" || $category == "theme" && $subcategory == "domain_color" && $name == "text" || $category == "theme" && $subcategory == "domain_shadow_color" && $name == "text" || $category == "theme" && $subcategory == "domain_background_color" && $name == "text" || $category == "theme" && $subcategory == "footer_color" && $name == "text" || $category == "theme" && $subcategory == "footer_background_color" && $name == "text" || $category == "theme" && $subcategory == "message_default_background_color" && $name == "text" || $category == "theme" && $subcategory == "message_default_color" && $name == "text" || $category == "theme" && $subcategory == "message_negative_background_color" && $name == "text" || $category == "theme" && $subcategory == "message_negative_color" && $name == "text" || $category == "theme" && $subcategory == "message_alert_background_color" && $name == "text" || $category == "theme" && $subcategory == "message_alert_color" && $name == "text" ) { echo " "; echo " \n"; echo " "; } elseif ($category == "fax" && $subcategory == "page_size" && $name == "text" ) { echo " "; } elseif ($category == "fax" && $subcategory == "resolution" && $name == "text" ) { echo " "; } elseif ($category == "theme" && $subcategory == "domain_visible" && $name == "text" ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "cache" && $name == "boolean" ) { echo " \n"; } elseif ($category == "voicemail" && $subcategory == "voicemail_file" && $name == "text" ) { echo " \n"; } elseif ($category == "voicemail" && $subcategory == "keep_local" && $name == "boolean" ) { echo " \n"; } elseif (is_json($default_setting_value)) { echo " \n"; } else { echo " \n"; } echo "
\n"; echo $text['description-value']."\n"; echo "
\n"; echo " ".$text['label-order']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-order']."\n"; echo "
\n"; echo " ".$text['label-enabled']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-enabled']."\n"; echo "
\n"; echo " ".$text['label-description']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-description']."\n"; echo "
\n"; if ($action == "update") { echo " \n"; echo " \n"; } echo "
"; echo " \n"; echo "
"; echo "

"; echo "
"; if ($_REQUEST["id"] == '' && $_REQUEST["default_setting_category"] != '') { echo ""; } echo "\n"; //include the footer require_once "resources/footer.php"; ?>