MDL-49684 timezones: rewrite timezone support
This patch replaces all homegrown timezone stuff with standard PHP date/time code. The main change is the introduction of core_date class that returns normalised user and server timezones. From now on nobody should be using $CFG->timezone or $user->timezone directly! Other new features and fixes: * admins are prompted for timezone during install * editing of other users is finally fixed * timezones are displayed in user profile * new $this->setTimezone() in phpunit * time locale is now automatically reset in phpunit * timezone is now automatically reset in phpunit * phpunit has Australia/Perth as default timezone
This commit is contained in:
@@ -121,10 +121,11 @@ $olddir = getcwd();
|
||||
chdir(dirname($_SERVER['argv'][0]));
|
||||
|
||||
// Servers should define a default timezone in php.ini, but if they don't then make sure something is defined.
|
||||
// This is a quick hack. Ideally we should ask the admin for a value. See MDL-22625 for more on this.
|
||||
if (function_exists('date_default_timezone_set') and function_exists('date_default_timezone_get')) {
|
||||
@date_default_timezone_set(@date_default_timezone_get());
|
||||
if (!function_exists('date_default_timezone_set') or !function_exists('date_default_timezone_get')) {
|
||||
fwrite(STDERR, "Timezone functions are not available.\n");
|
||||
exit(1);
|
||||
}
|
||||
date_default_timezone_set(@date_default_timezone_get());
|
||||
|
||||
// make sure PHP errors are displayed - helps with diagnosing of problems
|
||||
@error_reporting(E_ALL);
|
||||
|
||||
Reference in New Issue
Block a user