From 2e8ab9a664899e572b13f4ca0e1ceae67f594002 Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Thu, 8 Sep 2016 10:25:49 +0200 Subject: [PATCH] FIx settings when loading access_url_id --- main/admin/settings.lib.php | 10 +++++----- main/admin/settings.php | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/main/admin/settings.lib.php b/main/admin/settings.lib.php index 17a3c3b47b..905d58ea8c 100755 --- a/main/admin/settings.lib.php +++ b/main/admin/settings.lib.php @@ -1219,7 +1219,7 @@ function generateSettingsForm($settings, $settings_by_access_list) ); $url_id = api_get_current_access_url_id(); - /* + /* if (!empty($_configuration['multiple_access_urls']) && api_is_global_platform_admin() && $url_id == 1) { $group = array(); $group[] = $form->createElement('button', 'mark_all', get_lang('MarkAll')); @@ -1297,11 +1297,11 @@ function generateSettingsForm($settings, $settings_by_access_list) if (empty($row['category'])) { $row['category'] = 0; } - - if (is_array($settings_by_access_list[ $row['variable'] ] [ $row['subkey'] ] [ $row['category'] ])) { + if (isset($settings_by_access_list[$row['variable']]) && + is_array($settings_by_access_list[$row['variable']][$row['subkey']][$row['category']])) { // We are sure that the other site have a selected value. - if ($settings_by_access_list[$row['variable']] [$row['subkey']] [$row['category']]['selected_value'] != '') { - $row['selected_value'] = $settings_by_access_list[$row['variable']] [$row['subkey']] [$row['category']]['selected_value']; + if ($settings_by_access_list[$row['variable']][$row['subkey']][$row['category']]['selected_value'] != '') { + $row['selected_value'] = $settings_by_access_list[$row['variable']][$row['subkey']][$row['category']]['selected_value']; } } // There is no else{} statement because we load the default $row['selected_value'] of the main Chamilo site. diff --git a/main/admin/settings.php b/main/admin/settings.php index a040221a60..ccd35c32c9 100755 --- a/main/admin/settings.php +++ b/main/admin/settings.php @@ -84,22 +84,28 @@ $form_search_html = $form_search->returnForm(); $url_id = api_get_current_access_url_id(); $settings = null; - -function get_settings($category = null) +/** + * @param string $category + * @return array + */ +function get_settings($category = '') { $url_id = api_get_current_access_url_id(); $settings_by_access_list = array(); if ($url_id == 1) { $settings = api_get_settings($category, 'group', $url_id); - } else { $url_info = api_get_access_url($url_id); if ($url_info['active'] == 1) { + $categoryToSearch = $category; + if ($category == 'search_setting') { + $categoryToSearch = ''; + } // The default settings of Chamilo - $settings = api_get_settings($category, 'group', 1, 0); + $settings = api_get_settings($categoryToSearch, 'group', 1, 0); // The settings that are changeable from a particular site. - $settings_by_access = api_get_settings($category, 'group', $url_id, 1); + $settings_by_access = api_get_settings($categoryToSearch, 'group', $url_id, 1); foreach ($settings_by_access as $row) { if (empty($row['variable'])) { @@ -122,7 +128,7 @@ function get_settings($category = null) } } - if (isset($category) && $category== 'search_setting') { + if (isset($category) && $category == 'search_setting') { if (!empty($_REQUEST['search_field'])) { $settings = searchSetting($_REQUEST['search_field']); }