@ -87,22 +87,22 @@ $form_search->setDefaults(array('search_field' => $_REQUEST['search_field']));
$form_search_html = $form_search->return_form();
$url_id = api_get_current_access_url_id();
$settings = null;
// Build the form.
if (!empty($_GET['category']) & & !in_array($_GET['category'], array('Plugins', 'stylesheets', 'Search'))) {
$my_category = Database::escape_string($_GET['category']);
if ($_configuration['access_url'] == 1) {
$settings = api_get_settings($my_category, 'group', $_configuration['access_url']);
function get_settings($category = null) {
$url_id = api_get_current_access_url_id();
if ($url_id == 1) {
$settings = api_get_settings($category, 'group', $url_id);
} else {
$url_info = api_get_access_url($_configuration['access_url'] );
$url_info = api_get_access_url($url_id );
if ($url_info['active'] == 1) {
// The default settings of Chamilo
$settings = api_get_settings($my_ category, 'group', 1, 0);
$settings = api_get_settings($category, 'group', 1, 0);
// The settings that are changeable from a particular site.
$settings_by_access = api_get_settings($my_category, 'group', $_configuration['access_url'] , 1);
$settings_by_access = api_get_settings($category, 'group', $url_id , 1);
$settings_by_access_list = array();
foreach ($settings_by_access as $row) {
@ -122,17 +122,24 @@ if (!empty($_GET['category']) && !in_array($_GET['category'], array('Plugins', '
}
}
if (isset($_GET[' category'] ) & & $_GET[' category'] == 'search_setting') {
if (isset($category) & & $category== 'search_setting') {
if (!empty($_REQUEST['search_field'])) {
$settings = search_setting($_REQUEST['search_field']);
}
}
return $settings;
}
// Build the form.
if (!empty($_GET['category']) & & !in_array($_GET['category'], array('Plugins', 'stylesheets', 'Search'))) {
$my_category = isset($_GET['category']) ? $_GET['category'] : null;
$settings = get_settings($my_category);
$form = generate_settings_form($settings, $settings_by_access_list);
$message = array();
if ($form->validate()) {
if ($form->validate()) {
$values = $form->exportValues();
$mark_all = false;
@ -157,22 +164,24 @@ if (!empty($_GET['category']) && !in_array($_GET['category'], array('Plugins', '
$changeable = 0;
if ($mark_all) {
$changeable = 1;
}
}
$params = array('variable = ?' => array($key));
$data = api_get_settings_params($params);
if (!empty($data)) {
foreach ($data as $item) {
$params = array('id' =>$item['id'], 'access_url_changeable' => $changeable);
api_set_setting_simple($params);
$params = array('id' =>$item['id'], 'access_url_changeable' => $changeable);
api_set_setting_simple($params);
}
}
}
}
//Reload settings
$settings = get_settings($my_category);
$form = generate_settings_form($settings, $settings_by_access_list);
}
}
}
$pdf_export_watermark_path = $_FILES['pdf_export_watermark_path'];
if (isset($pdf_export_watermark_path) & & !empty($pdf_export_watermark_path['name'])) {
@ -211,7 +220,7 @@ if (!empty($_GET['category']) && !in_array($_GET['category'], array('Plugins', '
foreach ($values as $key => $value) {
if (in_array($key, $settings_to_avoid)) { continue; }
$key = Database::escape_string($key);
$sql = "UPDATE $table_settings_current SET selected_value = 'false' WHERE variable = '".$key."' AND access_url = ".intval($_configuration['access_url'] )." AND type IN ('checkbox', 'radio') ";
$sql = "UPDATE $table_settings_current SET selected_value = 'false' WHERE variable = '".$key."' AND access_url = ".intval($url_id )." AND type IN ('checkbox', 'radio') ";
$res = Database::query($sql);
}
@ -266,7 +275,7 @@ if (!empty($_GET['category']) && !in_array($_GET['category'], array('Plugins', '
break;
}
if ($old_value != $value) $keys[] = $key;
$result = api_set_setting($key, $value, null, null, $_configuration['access_url'] );
$result = api_set_setting($key, $value, null, null, $url_id );
} else {
$sql = "SELECT subkey FROM $table_settings_current WHERE variable = '$key'";
$res = Database::query($sql);
@ -279,7 +288,7 @@ if (!empty($_GET['category']) && !in_array($_GET['category'], array('Plugins', '
}
}
foreach ($value as $subkey => $subvalue) {
$result = api_set_setting($key, 'true', $subkey, null, $_configuration['access_url'] );
$result = api_set_setting($key, 'true', $subkey, null, $url_id );
}
}