Portions created by the Initial Developer are Copyright (C) 2008-2020 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //includes require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; //check permissions 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 (is_uuid($_REQUEST["id"])) { $action = "update"; $default_setting_uuid = $_REQUEST["id"]; } else { $action = "add"; } $search = $_REQUEST['search']; //get http post variables and set them to php variables if (count($_REQUEST) > 0) { $default_setting_category = strtolower($_REQUEST["default_setting_category"]); $default_setting_subcategory = strtolower($_POST["default_setting_subcategory"]); $default_setting_name = strtolower($_POST["default_setting_name"]); $default_setting_value = $_POST["default_setting_value"]; $default_setting_order = $_POST["default_setting_order"]; $default_setting_enabled = $_POST["default_setting_enabled"]; $default_setting_description = $_POST["default_setting_description"]; } //process the http post if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //set the default_setting_uuid if ($action == "update") { $default_setting_uuid = $_POST["default_setting_uuid"]; } else { $default_setting_uuid = uuid(); } //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { message::add($text['message-invalid_token'],'negative'); header('Location: default_settings.php'); exit; } //check for all required data $msg = ''; 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 count(*) from v_vars "; $sql .= "where var_name = 'timezone' "; $database = new database; $num_rows = $database->select($sql, null, 'column'); unset($sql); //update if ($num_rows != 0) { $sql = "update v_vars "; $sql .= "set var_value = :default_setting_value "; $sql .= "where var_name = 'timezone' "; $parameters['default_setting_value'] = $default_setting_value; } //insert else { $sql = "insert into v_vars "; $sql .= "(var_uuid, var_name, var_value, var_category, var_command, var_enabled) "; $sql .= "values ('".uuid()."', 'timezone', :default_setting_value, 'Defaults', 'set', 'true'); "; $parameters['default_setting_value'] = $default_setting_value; } //execute $database = new database; $database->app_name = 'default_settings'; $database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09'; $database->execute($sql, $parameters); unset($sql, $parameters); //synchronize the configuration save_var_xml(); } //build the array of data $x = 0; $array['default_settings'][$x]['default_setting_uuid'] = $default_setting_uuid; $array['default_settings'][$x]['default_setting_category'] = $default_setting_category; $array['default_settings'][$x]['default_setting_subcategory'] = $default_setting_subcategory; $array['default_settings'][$x]['default_setting_name'] = $default_setting_name; $array['default_settings'][$x]['default_setting_value'] = $default_setting_value; $array['default_settings'][$x]['default_setting_order'] = $default_setting_order; $array['default_settings'][$x]['default_setting_enabled'] = $default_setting_enabled; $array['default_settings'][$x]['default_setting_description'] = $default_setting_description; //save to the data $database = new database; $database->app_name = 'default_settings'; $database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09'; $database->save($array); $message = $database->message; //set the message and redirect the user if ($action == "add" && permission_exists('default_setting_add')) { message::add($text['message-add']); header("Location: default_settings.php".(($search != '') ? "?search=".$search : null)."#anchor_".$default_setting_category); return; } if ($action == "update" && permission_exists('default_setting_edit')) { message::add($text['message-update']); header("Location: default_settings.php".(($search != '') ? "?search=".$search : null)."#anchor_".$default_setting_category); return; } } //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 = $_GET["id"]; $sql = "select * from v_default_settings "; $sql .= "where default_setting_uuid = :default_setting_uuid "; $parameters['default_setting_uuid'] = $default_setting_uuid; $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && sizeof($row) != 0) { $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"]; } unset($sql, $parameters); } //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); //include the header if ($action == "update") { $document['title'] = $text['title-default_setting-edit']; } elseif ($action == "add") { $document['title'] = $text['title-default_setting-add']; } require_once "resources/header.php"; //show the content echo "
\n"; echo "
\n"; echo "
"; if ($action == "add") { echo "".$text['header-default_setting-add'].""; } if ($action == "update") { echo "".$text['header-default_setting-edit'].""; } echo "
\n"; echo "
\n"; echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'style'=>'margin-right: 15px;','link'=>'default_settings.php'.($search != '' ? "?search=".$search : null)]); echo button::create(['type'=>'button','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'onclick'=>'submit_form();']); echo "
\n"; 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 "\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 " ".$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 ($category == "domain" && $subcategory == "time_format" && $name == "text" ) { echo " \n"; } elseif ($subcategory == 'password' || substr_count($subcategory, '_password') > 0 || $category == "login" && $subcategory == "password_reset_key" && $name == "text") { echo " \n"; } elseif ($category == "theme" && substr_count($subcategory, "_color") > 0 && ($name == "text" || $name == 'array')) { echo " \n"; } elseif ($category == "theme" && substr_count($subcategory, "_font") > 0 && $name == "text") { $default_setting_value = str_replace('"', "'", $default_setting_value); if ($fonts = get_available_fonts('alpha')) { echo " "; echo " \n"; } else { echo " \n"; } } elseif ($category == "fax" && $subcategory == "page_size" && $name == "text" ) { echo " "; } elseif ($category == "fax" && $subcategory == "resolution" && $name == "text" ) { echo " "; } elseif ($category == "provision" && $subcategory == "aastra_time_format" && $name == "text" ) { echo " \n"; } elseif ($category == "provision" && $subcategory == "aastra_date_format" && $name == "text" ) { echo " \n"; } elseif ($category == "message" && $subcategory == "display_last" && $name == "text") { $array = explode(' ',$default_setting_value); if (!is_numeric($array[0])) { $array[1] = $array[0]; $array[0] = ''; } echo " \n"; echo " \n"; echo " \n"; unset($array); } elseif ($category == "theme" && $subcategory == "domain_visible" && $name == "text" ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "cache" && $name == "boolean" ) { echo " \n"; } elseif ( ($category == "theme" && $subcategory == "menu_main_icons" && $name == "boolean") || ($category == "theme" && $subcategory == "menu_sub_icons" && $name == "boolean") ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "menu_brand_type" && $name == "text" ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "menu_style" && $name == "text" ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "menu_position" && $name == "text" ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "logo_align" && $name == "text" ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "custom_css_code" && $name == "text" ) { echo " \n"; } elseif ($category == "theme" && $subcategory == "button_icons" && $name == "text" ) { echo " \n"; } elseif ($category == "voicemail" && $subcategory == "voicemail_file" && $name == "text" ) { echo " \n"; } elseif ($category == "voicemail" && $subcategory == "keep_local" && $name == "boolean" ) { echo " \n"; } elseif ($category == "recordings" && $subcategory == "storage_type" && $name == "text" ) { echo " \n"; } elseif (is_json($default_setting_value)) { echo " \n"; } else { echo " \n"; } echo "
\n"; echo $text['description-value']."\n"; if ($category == "theme" && substr_count($subcategory, "_font") > 0 && $name == "text") { echo "  ".$text['label-reference'].": ".$text['label-web_fonts']."\n"; } echo "
\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
\n"; echo " ".$text['label-order']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-order']."\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 " ".$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 "
"; echo "

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