Timezone management (see CT#599)

skala
Guillaume Viguier 15 years ago
parent 5a445a34f9
commit e57c92323a
  1. 2
      documentation/changelog.html
  2. 6
      main/inc/lib/main_api.lib.php
  3. 12
      main/inc/lib/usermanager.lib.php
  4. 7
      main/install/db_main.sql
  5. 8
      main/install/migrate-db-1.8.6.2-1.8.7-pre.sql

@ -26,6 +26,7 @@
<ul>
<li>New tool: class attendance (usable in gradebook)</li>
<li>Thematic advance option added in course description (shown on course homepage)</li>
<li>Timezone management at user and platform level (Feature #599)</li>
<li>Upgraded PclZip library to version 2.8.2 (Feature #553)</li>
<li>Upgraded PHPMailer library to version 5.1 (Feature #272)</li>
</ul>
@ -42,6 +43,7 @@
<li>Fixed bugs caused by the undefined constant REL_SYS_PATH and by the declared twice constant TABLE_MAIN_GROUP. Problems have been reporded by krikrizzz and Knightly. See the related forum topics <a href="http://www.chamilo.org/en/node/190" target="_blank">http://www.chamilo.org/en/node/190</a> and <a href="http://www.chamilo.org/en/node/154" target="_blank">http://www.chamilo.org/en/node/154</a> (Feature #347)</li>
<li>Fixed course copy table lp_item audio not copied. Reported by Henri Hedman (Bug #575)</li>
<li>Fixed Added an option to cancel prerequisites in a course (Learning path). Fixed by aboivin in <a href="http://www.chamilo.org/node/146" target="_blank">http://www.chamilo.org/node/146</a> </li>
<li>Empty extra user fields are now deleted from the database</li>
</ul>
<br />
<h3>CSS changes</h3>

@ -4489,7 +4489,9 @@ function api_get_timezones() {
foreach($timezone_identifiers as $tz) {
$out[$tz] = $tz;
}
return $out;
$null_option = array("" => "");
$result = array_merge($null_option, $out);
return $result;
}
/**
@ -4538,7 +4540,7 @@ function api_get_local_time($time, $format=null, $to_timezone=null, $from_timezo
$to_timezone = date_default_timezone_get();
// Second, see if a timezone has been chosen for the platform
$timezone_value = api_get_setting('timezone_value', 'timezones');
if ($timezone_value !== null) {
if ($timezone_value != null) {
$to_timezone = $timezone_value;
}
// If allowed by the administrator

@ -993,9 +993,15 @@ class UserManager
//we need to update the current record
$rowufv = Database::fetch_array($resufv);
if ($rowufv['field_value'] != $fvalues) {
$sqlu = "UPDATE $t_ufv SET field_value = '$fvalues', tms = FROM_UNIXTIME($tms) WHERE id = ".$rowufv['id'];
//error_log('UM::update_extra_field_value: '.$sqlu);
$resu = Database::query($sqlu);
// If the new field is empty, delete it
if ($fvalues == '') {
$sql_query = "DELETE FROM $t_ufv WHERE id = ".$rowufv['id'].";";
} else {
// Otherwise update it
$sql_query = "UPDATE $t_ufv SET field_value = '$fvalues', tms = FROM_UNIXTIME($tms) WHERE id = ".$rowufv['id'];
}
$resu = Database::query($sql_query);
return($resu ? true : false);
}
return true;

@ -753,7 +753,7 @@ VALUES
('message_max_upload_filesize',NULL,'textfield','Tools','20971520','MessageMaxUploadFilesizeTitle','MessageMaxUploadFilesizeComment',NULL,NULL, 0),
('show_tabs', 'dashboard', 'checkbox', 'Platform', 'true', 'ShowTabsTitle', 'ShowTabsComment', NULL, 'TabsDashboard', 1),
('use_users_timezone', 'timezones', 'radio', 'Timezones', 'true', 'UseUsersTimezoneTitle','UseUsersTimezoneComment',NULL,'Timezones', 1),
('timezone_value', 'timezones', 'select', 'Timezones', 'UTC', 'TimezoneValueTitle','TimezoneValueComment',NULL,'Timezones', 1),
('timezone_value', 'timezones', 'select', 'Timezones', '', 'TimezoneValueTitle','TimezoneValueComment',NULL,'Timezones', 1),
('dokeos_database_version', NULL, 'textfield', NULL,'1.8.7.10483','DokeosDatabaseVersion','',NULL,NULL,0);
@ -1183,12 +1183,13 @@ CREATE TABLE user_field_options (
);
DROP TABLE IF EXISTS user_field_values;
CREATE TABLE user_field_values(
id int NOT NULL auto_increment,
id bigint NOT NULL auto_increment,
user_id int unsigned NOT NULL,
field_id int NOT NULL,
field_value text,
tms DATETIME NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY(id)
PRIMARY KEY(id),
KEY user_id (user_id, field_id)
);

@ -30,7 +30,7 @@ INSERT INTO settings_current (variable, subkey, type, category, selected_value,
INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES('use_users_timezone', 'timezones', 'radio', 'Timezones', 'true', 'UseUsersTimezoneTitle','UseUsersTimezoneComment',NULL,'Timezones', 1);
INSERT INTO settings_options (variable, value, display_text) VALUES ('use_users_timezone', 'true', 'Yes');
INSERT INTO settings_options (variable, value, display_text) VALUES ('use_users_timezone', 'false', 'No');
INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES('timezone_value', 'timezones', 'select', 'Timezones', 'UTC', 'TimezoneValueTitle','TimezoneValueComment',NULL,'Timezones', 1);
INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES('timezone_value', 'timezones', 'select', 'Timezones', '', 'TimezoneValueTitle','TimezoneValueComment',NULL,'Timezones', 1);
ALTER TABLE user_field CHANGE tms tms DATETIME NOT NULL default '0000-00-00 00:00:00';
ALTER TABLE course_field CHANGE tms tms DATETIME NOT NULL default '0000-00-00 00:00:00';
@ -42,10 +42,14 @@ ALTER TABLE user_field_values CHANGE tms tms DATETIME NOT NULL default '0000-00-
ALTER TABLE access_url CHANGE tms tms DATETIME NOT NULL default '0000-00-00 00:00:00';
INSERT INTO user_field(field_type, field_variable, field_display_text, field_visible, field_changeable) VALUES(11, 'timezone', 'Timezone', 0, 0);
UPDATE settings_current SET selected_value = '1.8.7.10483' WHERE variable = 'dokeos_database_version';
INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('course_create_active_tools','attendances','checkbox','Tools','true','CourseCreateActiveToolsTitle','CourseCreateActiveToolsComment',NULL,'Attendances', 0);
ALTER TABLE user_field_values CHANGE id id BIGINT NOT NULL AUTO_INCREMENT;
ALTER TABLE user_field_values ADD INDEX (user_id, field_id);
UPDATE settings_current SET selected_value = '1.8.7.10483' WHERE variable = 'dokeos_database_version';
-- xxSTATSxx
CREATE TABLE track_e_item_property(id int NOT NULL auto_increment PRIMARY KEY, course_id int NOT NULL, item_property_id int NOT NULL, title varchar(255), content text, progress int NOT NULL default 0, lastedit_date datetime NOT NULL default '0000-00-00 00:00:00', lastedit_user_id int NOT NULL, session_id int NOT NULL default 0);
ALTER TABLE track_e_item_property ADD INDEX (course_id, item_property_id, session_id);

Loading…
Cancel
Save