Portions created by the Initial Developer are Copyright (C) 2008-2015 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //process this only one time if ($domains_processed == 1) { //define array of settings $x = 0; $array[$x]['default_setting_category'] = 'ring_group'; $array[$x]['default_setting_subcategory'] = 'destination_add_rows'; $array[$x]['default_setting_name'] = 'numeric'; $array[$x]['default_setting_value'] = '5'; $array[$x]['default_setting_enabled'] = 'true'; $array[$x]['default_setting_description'] = ''; $x++; $array[$x]['default_setting_category'] = 'ring_group'; $array[$x]['default_setting_subcategory'] = 'destination_edit_rows'; $array[$x]['default_setting_name'] = 'numeric'; $array[$x]['default_setting_value'] = '1'; $array[$x]['default_setting_enabled'] = 'true'; $array[$x]['default_setting_description'] = ''; $x++; //get an array of the default settings $sql = "select * from v_default_settings "; $prep_statement = $db->prepare($sql); $prep_statement->execute(); $default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED); unset ($prep_statement, $sql); //find the missing default settings $x = 0; foreach ($array as $setting) { $found = false; $missing[$x] = $setting; foreach ($default_settings as $row) { if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory']) && trim($row['default_setting_name']) == trim($setting['default_setting_name'])) { $found = true; //remove items from the array that were found unset($missing[$x]); } } $x++; } //get the missing count $i = 0; foreach ($missing as $row) { $i++; } $missing_count = $i; //add the missing default settings if (count($missing) > 0) { $sql = "insert into v_default_settings ("; $sql .= "default_setting_uuid, "; $sql .= "default_setting_category, "; $sql .= "default_setting_subcategory, "; $sql .= "default_setting_name, "; $sql .= "default_setting_value, "; $sql .= "default_setting_enabled, "; $sql .= "default_setting_description "; $sql .= ") values \n"; $i = 1; foreach ($missing as $row) { $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'".check_str($row['default_setting_category'])."', "; $sql .= "'".check_str($row['default_setting_subcategory'])."', "; $sql .= "'".check_str($row['default_setting_name'])."', "; $sql .= "'".check_str($row['default_setting_value'])."', "; $sql .= "'".check_str($row['default_setting_enabled'])."', "; $sql .= "'".check_str($row['default_setting_description'])."' "; $sql .= ")"; if ($missing_count != $i) { $sql .= ",\n"; } $i++; } $db->exec(check_sql($sql)); unset($missing); } //move the dynamic provision variables that from v_vars table to v_default_settings if (count($_SESSION['provision']) == 0) { $sql = "select * from v_vars "; $sql .= "where var_cat = 'Provision' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { //set the variable $var_name = check_str($row['var_name']); //remove the 'v_' prefix from the variable name if (substr($var_name, 0, 2) == "v_") { $var_name = substr($var_name, 2); } //add the provision variable to the default settings table $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_enabled, "; $sql .= "default_setting_description "; $sql .= ") "; $sql .= "values "; $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'provision', "; $sql .= "'".$var_name."', "; $sql .= "'var', "; $sql .= "'".check_str($row['var_value'])."', "; $sql .= "'".check_str($row['var_enabled'])."', "; $sql .= "'".check_str($row['var_description'])."' "; $sql .= ")"; $db->exec(check_sql($sql)); unset($sql); } unset($prep_statement); //delete the provision variables from system -> variables //$sql = "delete from v_vars "; //$sql .= "where var_cat = 'Provision' "; //echo $sql ."\n"; //$db->exec(check_sql($sql)); //echo "$var_name $var_value \n"; } } ?>