From 4ce86cbd37f471688beb9f70e996dafdf7b21807 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sat, 22 Oct 2016 22:53:41 -0600 Subject: [PATCH] Update app_defaults.php --- app/xml_cdr/app_defaults.php | 138 ++++++++++++++++++----------------- 1 file changed, 73 insertions(+), 65 deletions(-) diff --git a/app/xml_cdr/app_defaults.php b/app/xml_cdr/app_defaults.php index 2c138d59b7..2ada81462a 100644 --- a/app/xml_cdr/app_defaults.php +++ b/app/xml_cdr/app_defaults.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2015 + Portions created by the Initial Developer are Copyright (C) 2008-2016 the Initial Developer. All Rights Reserved. Contributor(s): @@ -27,72 +27,80 @@ //make sure that prefix-a-leg is set to true in the xml_cdr.conf.xml file if ($domains_processed == 1) { - /* - $file_contents = file_get_contents($_SESSION['switch']['conf']['dir']."/autoload_configs/xml_cdr.conf.xml"); - $file_contents_new = str_replace("param name=\"prefix-a-leg\" value=\"false\"/", "param name=\"prefix-a-leg\" value=\"true\"/", $file_contents); - if ($file_contents != $file_contents_new) { - $fout = fopen($_SESSION['switch']['conf']['dir']."/autoload_configs/xml_cdr.conf.xml","w"); - fwrite($fout, $file_contents_new); - fclose($fout); - if ($display_type == "text") { - echo " xml_cdr.conf.xml: updated\n"; - } - } - */ - //add CDR settings to default settings - $x = 0; - $array[$x]['default_setting_category'] = 'cdr'; - $array[$x]['default_setting_subcategory'] = 'format'; - $array[$x]['default_setting_name'] = 'text'; - $array[$x]['default_setting_value'] = 'json'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = ''; - $x++; - $array[$x]['default_setting_category'] = 'cdr'; - $array[$x]['default_setting_subcategory'] = 'storage'; - $array[$x]['default_setting_name'] = 'text'; - $array[$x]['default_setting_value'] = 'db'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = ''; - $x++; - $array[$x]['default_setting_category'] = 'cdr'; - $array[$x]['default_setting_subcategory'] = 'limit'; - $array[$x]['default_setting_name'] = 'numeric'; - $array[$x]['default_setting_value'] = '800'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = ''; - $x++; - $array[$x]['default_setting_category'] = 'cdr'; - $array[$x]['default_setting_subcategory'] = 'http_enabled'; - $array[$x]['default_setting_name'] = 'boolean'; - $array[$x]['default_setting_value'] = 'true'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = ''; - - $sql = "select * from v_default_settings "; - $sql .= "where default_setting_category = 'cdr' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED); - - $x = 0; - if (isset($array)) foreach ($array as $row) { - $found = false; - foreach ($default_settings as $field) { - if ($row['default_setting_subcategory'] == $field['default_setting_subcategory']) { - $found = true; - $break; - } - } - if (!$found) { - $orm = new orm; - $orm->name('default_settings'); - $orm->save($array[$x]); - $message = $orm->message; - } + //define array of settings + $x = 0; + $array[$x]['default_setting_uuid'] = 'dbbadd02-f95d-480b-85d5-2a4113d4cccc'; + $array[$x]['default_setting_category'] = 'cdr'; + $array[$x]['default_setting_subcategory'] = 'format'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'json'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; $x++; - } + $array[$x]['default_setting_uuid'] = '23335ac0-9466-4d16-af3f-81aa347159b1'; + $array[$x]['default_setting_category'] = 'cdr'; + $array[$x]['default_setting_subcategory'] = 'storage'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'db'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_uuid'] = 'cdb19dda-234b-407a-9eda-e8af74597d4b'; + $array[$x]['default_setting_category'] = 'cdr'; + $array[$x]['default_setting_subcategory'] = 'limit'; + $array[$x]['default_setting_name'] = 'numeric'; + $array[$x]['default_setting_value'] = '800'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_uuid'] = 'cea53099-96c0-405f-ada6-219d0b398944'; + $array[$x]['default_setting_category'] = 'cdr'; + $array[$x]['default_setting_subcategory'] = 'http_enabled'; + $array[$x]['default_setting_name'] = 'boolean'; + $array[$x]['default_setting_value'] = 'true'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; + + //get an array of the default settings + $sql = "select * from v_default_settings "; + $sql .= "where default_setting_category = 'cdr' "; + $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'])) { + $found = true; + //remove items from the array that were found + unset($missing[$x]); + } + } + $x++; + } + unset($array); + + //update the array structure + if (is_array($missing)) { + $array['default_settings'] = $missing; + unset($missing); + } + + //add the default settings + if (is_array($array)) { + $database = new database; + $database->app_name = 'default_settings'; + $database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09'; + $database->save($array); + $message = $database->message; + unset($database); + } }