From ed41262537fc692aebb36b550959360d9dd6769a Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 15 Sep 2021 16:51:41 -0600 Subject: [PATCH] A way to find determine if the setting has the correct UUID. --- core/default_settings/default_settings.php | 53 +++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/core/default_settings/default_settings.php b/core/default_settings/default_settings.php index d29fd6002c..e4b089224e 100644 --- a/core/default_settings/default_settings.php +++ b/core/default_settings/default_settings.php @@ -184,6 +184,42 @@ unset($default_setting_categories, $default_setting_category, $category); } +//get the list of installed apps from the core and mod directories + $config_list = glob($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH . "/*/*/app_config.php"); + $x=0; + foreach ($config_list as $config_path) { + include($config_path); + $x++; + } + $x = 0; + foreach ($apps as $app) { + if (is_array($app['default_settings'])) { + foreach ($app['default_settings'] as $setting) { + $setting_array[$x] = ($setting); + $setting_array[$x]['app_uuid'] = $app['uuid']; + $x++; + } + } + } + +//create a function to find matching row in array and return the row or boolean + function find_in_array($search_array, $field, $value, $type = 'boolean') { + foreach($search_array as $row) { + if ($row[$field] == $value) { + if ($type == 'boolean') { + return true; + } + if ($type == 'row') { + return $row; + } + break; + } + } + if ($type == 'boolean') { + return false; + } + } + //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); @@ -285,10 +321,19 @@ foreach ($default_settings as $row) { $default_setting_category = strtolower($row['default_setting_category']); $default_setting_category = preg_replace('#[^a-zA-Z0-9_\-\.]#', '', $default_setting_category); - + $label_default_setting_category = $row['default_setting_category']; $label_default_setting_category = preg_replace('#[^a-zA-Z0-9_\-\. ]#', '', $label_default_setting_category); + //check if the default setting uuid exists in the array + $result = find_in_array($setting_array, 'default_setting_uuid', $row['default_setting_uuid'], 'row'); + if (is_array($result)) { + $setting_message = ''; + } + else { + $setting_message = 'Custom'; + } + switch (strtolower($label_default_setting_category)) { case "api" : $label_default_setting_category = "API"; break; case "cdr" : $label_default_setting_category = "CDR"; break; @@ -322,6 +367,9 @@ echo th_order_by('default_setting_subcategory', $text['label-subcategory'], $order_by, $order, null, "class='pct-35'"); echo th_order_by('default_setting_name', $text['label-type'], $order_by, $order, null, "class='pct-10 hide-sm-dn'"); echo th_order_by('default_setting_value', $text['label-value'], $order_by, $order, null, "class='pct-30'"); + if (isset($_GET['debug'])) { + echo "  \n"; + } echo th_order_by('default_setting_enabled', $text['label-enabled'], $order_by, $order, null, "class='center'"); echo " ".$text['label-description']."\n"; if (permission_exists('default_setting_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { @@ -424,6 +472,9 @@ echo " ".escape($row['default_setting_value'])."\n"; } echo " \n"; + if (isset($_GET['debug'])) { + echo " ".escape($setting_message)."\n"; + } if (permission_exists('default_setting_edit')) { echo " \n"; echo button::create(['type'=>'submit','class'=>'link','label'=>$text['label-'.$row['default_setting_enabled']],'title'=>$text['button-toggle'],'onclick'=>"list_self_check('checkbox_".$x."'); list_action_set('toggle'); list_form_submit('form_list')"]);