Locking settings field access_url_locked (settings that can be only changed in the main URL ) see #4201

skala
Julio Montoya 13 years ago
parent 124e3cf287
commit dde0953756
  1. 13
      main/admin/settings.lib.php
  2. 1
      main/admin/settings.php
  3. 2
      main/inc/lib/add_course.lib.inc.php
  4. 3
      main/inc/lib/main_api.lib.php
  5. 1
      main/install/db_main.sql
  6. 87
      main/install/install.lib.php
  7. 4
      main/install/install_db.inc.php

@ -1059,12 +1059,15 @@ function generate_settings_form($settings, $settings_by_access_list) {
$i++;
if ( $_configuration['multiple_access_urls']) {
if (api_is_global_platform_admin()) {
if ($row['access_url_changeable'] == '1') {
$form->addElement('html', '<div style="float: right;"><a class="share_this_setting" data_status = "0" data_to_send = "'.$row['id'].'" href="javascript:void(0);">'.Display::return_icon('shared_setting.png', get_lang('ChangeSharedSetting')).'</a></div>');
} else {
$form->addElement('html', '<div style="float: right;"><a class="share_this_setting" data_status = "1" data_to_send = "'.$row['id'].'" href="javascript:void(0);">'.Display::return_icon('shared_setting_na.png', get_lang('ChangeSharedSetting')).'</a></div>');
if (api_is_global_platform_admin()) {
if ($row['access_url_locked'] == 0) {
if ($row['access_url_changeable'] == '1') {
$form->addElement('html', '<div style="float: right;"><a class="share_this_setting" data_status = "0" data_to_send = "'.$row['id'].'" href="javascript:void(0);">'.Display::return_icon('shared_setting.png', get_lang('ChangeSharedSetting')).'</a></div>');
} else {
$form->addElement('html', '<div style="float: right;"><a class="share_this_setting" data_status = "1" data_to_send = "'.$row['id'].'" href="javascript:void(0);">'.Display::return_icon('shared_setting_na.png', get_lang('ChangeSharedSetting')).'</a></div>');
}
}
}
}

@ -107,6 +107,7 @@ if (!empty($_GET['category']) && !in_array($_GET['category'], array('Plugins', '
$row['subkey'] = 0;
if (empty($row['category']))
$row['category'] = 0;
// One more validation if is changeable.
if ($row['access_url_changeable'] == 1)
$settings_by_access_list[ $row['variable'] ] [ $row['subkey'] ] [ $row['category'] ] = $row;

@ -283,7 +283,7 @@ function get_course_tables() {
/**
* Creates all the necessary tables for a new course
*/
function update_Db_course($course_db_name = null) {
function update_db_course($course_db_name = null) {
global $_configuration;
$charset_clause = ' DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci';

@ -4223,8 +4223,7 @@ function & api_get_settings($cat = null, $ordering = 'list', $access_url = 1, $u
$where_condition = " AND access_url_changeable= '1' ";
}
if (empty($access_url) or $access_url == -1) { $access_url = 1; }
$sql = "SELECT id, variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url, access_url_changeable " .
" FROM $t_cs WHERE access_url = $access_url $where_condition ";
$sql = "SELECT * FROM $t_cs WHERE access_url = $access_url $where_condition ";
if (!empty($cat)) {
$cat = Database::escape_string($cat);

@ -560,6 +560,7 @@ CREATE TABLE IF NOT EXISTS settings_current (
subkeytext varchar(255) default NULL,
access_url int unsigned not null default 1,
access_url_changeable int unsigned not null default 0,
access_url_locked int not null default 0,
PRIMARY KEY id (id),
INDEX (access_url)
);

@ -1561,8 +1561,7 @@ function display_database_parameter($install_type, $parameter_name, $form_field_
$maxlength = $form_field_name == 'dbPrefixForm' ? '15' : MAX_FORM_FIELD_LENGTH;
if ($install_type == INSTALL_TYPE_UPDATE) {
echo '<input type="hidden" name="'.$form_field_name.'" id="'.$form_field_name.'" value="'.api_htmlentities($parameter_value).'" />';
echo '<td>'.api_htmlentities($parameter_value)."</td>";
//echo "<td>$extra_notice</td>\n";
echo '<td>'.api_htmlentities($parameter_value)."</td>";
} else {
echo '<td><input type="'.$inputtype.'" size="'.DATABASE_FORM_FIELD_DISPLAY_LENGTH.'" maxlength="'.$maxlength.'" name="'.$form_field_name.'" id="'.$form_field_name.'" value="'.api_htmlentities($parameter_value).'" />'."</td>";
echo "<td>$extra_notice</td>";
@ -1685,26 +1684,6 @@ function display_database_settings_form($installType, $dbHostForm, $dbUsernameFo
}
display_database_parameter($installType, get_lang('UserDB'), 'dbUserForm', $dbUserForm, '&nbsp;', null, 'id="optional_param4" '.$style);
}
//Database Prefix
//display_database_parameter($installType, get_lang('DbPrefixForm'), 'dbPrefixForm', $dbPrefixForm, '', null, 'id="optional_param5" '.$style); //get_lang('DbPrefixCom')
/* Tracking is always available see #2066
*
<tr id="optional_param5" style="display:none;">
<td><?php echo get_lang('EnableTracking'); ?> </td>
<?php if ($installType == 'update'): ?>
<td><input type="hidden" name="enableTrackingForm" value="<?php echo $enableTrackingForm; ?>" /><?php echo $enableTrackingForm ? get_lang('Yes') : get_lang('No'); ?></td>
<?php else: ?>
<td>
<input class="checkbox" type="radio" name="enableTrackingForm" value="1" id="enableTracking1" <?php echo $enableTrackingForm ? 'checked="checked" ' : ''; ?>/> <label for="enableTracking1"><?php echo get_lang('Yes'); ?></label>
<input class="checkbox" type="radio" name="enableTrackingForm" value="0" id="enableTracking0" <?php echo $enableTrackingForm ? '' : 'checked="checked" '; ?>/> <label for="enableTracking0"><?php echo get_lang('No'); ?></label>
</td>
<?php endif; ?>
<td>&nbsp;</td>
</tr> */
?>
<tr>
<td>
@ -1883,23 +1862,6 @@ function display_configuration_settings_form($installType, $urlForm, $languageFo
//Parameter 11: institute (short) name
display_configuration_parameter($installType, get_lang('InstituteURL'), 'institutionUrlForm', $institutionUrlForm);
/*
//old method
<tr>
<td><?php echo get_lang('EncryptUserPass'); ?> :</td>
<?php if($installType == 'update'): ?>
<td><input type="hidden" name="encryptPassForm" value="<?php echo $encryptPassForm; ?>" /><?php echo $encryptPassForm? get_lang('Yes') : get_lang('No'); ?></td>
<?php else: ?>
<td>
<input class="checkbox" type="radio" name="encryptPassForm" value="1" id="encryptPass1" <?php echo $encryptPassForm?'checked="checked" ':''; ?>/> <label for="encryptPass1"><?php echo get_lang('Yes'); ?></label>
<input class="checkbox" type="radio" name="encryptPassForm" value="0" id="encryptPass0" <?php echo $encryptPassForm?'':'checked="checked" '; ?>/> <label for="encryptPass0"><?php echo get_lang('No'); ?></label>
</td>
<?php endif; ?>
</tr>
*/
?>
<tr>
<td><?php echo get_lang("EncryptMethodUserPass"); ?> :</td>
@ -2008,7 +1970,6 @@ function display_after_install_message($installType, $nbr_courses) {
* @return array|string countries list
*/
function get_countries_list_from_array($combo = false) {
$a_countries = array(
"Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Argentina", "Armenia", "Australia", "Austria", "Azerbaijan",
"Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
@ -2049,3 +2010,49 @@ function get_countries_list_from_array($combo = false) {
return $a_countries;
}
/**
* Lockis settings that can't be changed in other portals
*/
function locking_settings() {
$access_url_locked_settings = array(
'server_type',
'use_document_title',
'permanently_remove_deleted_files',
'account_valid_duration',
'service_visio',
'service_ppt2lp',
'wcag_anysurfer_public_pages',
'upload_extensions_list_type',
'upload_extensions_blacklist',
'upload_extensions_whitelist',
'upload_extensions_skip',
'upload_extensions_replace_by',
'hide_dltt_markup',
'split_users_upload_directory',
'permissions_for_new_directories',
'permissions_for_new_files',
'platform_charset',
'service_visio',
'ldap_description',
'cas_activate',
'cas_server',
'cas_server_uri',
'cas_port',
'cas_protocol',
'cas_add_user_activate',
'update_user_info_cas_with_ldap',
'languagePriority1',
'languagePriority2',
'languagePriority3',
'languagePriority4',
'login_is_email',
'chamilo_database_version'
);
$table = Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
foreach ($access_url_locked_settings as $setting) {
$sql = "UPDATE $table SET access_url_locked = 1 WHERE variable = '$setting'";
Database::query($sql);
}
}

@ -117,7 +117,7 @@ load_main_database($installation_settings);
//Adds the c_XXX courses tables see #3910
require_once api_get_path(LIBRARY_PATH).'add_course.lib.inc.php';
update_Db_course();
update_db_course();
load_database_script('db_stats.sql');
@ -125,3 +125,5 @@ $track_countries_table = "track_c_countries";
fill_track_countries_table($track_countries_table);
load_database_script('db_user.sql');
locking_settings();
Loading…
Cancel
Save