mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 20:42:22 +02:00
MDL-42537 calendar: locale charset on windows will come from calendartype
date_format_string() will now convert date on windows based on calendar type used
This commit is contained in:
parent
5386f0bbfe
commit
d61d3e82d0
@ -210,4 +210,11 @@ abstract class type_base {
|
||||
* @return array the converted date
|
||||
*/
|
||||
public abstract function convert_from_gregorian($year, $month, $day, $hour = 0, $minute = 0);
|
||||
|
||||
/**
|
||||
* This return locale for windows os.
|
||||
*
|
||||
* @return string locale
|
||||
*/
|
||||
public abstract function locale_win_charset();
|
||||
}
|
||||
|
@ -305,4 +305,13 @@ class structure extends type_base {
|
||||
'hour' => (int) $hour,
|
||||
'minute' => (int) $minute);
|
||||
}
|
||||
|
||||
/**
|
||||
* This return locale for windows os.
|
||||
*
|
||||
* @return string locale
|
||||
*/
|
||||
public function locale_win_charset() {
|
||||
return get_string('localewincharset', 'langconfig');
|
||||
}
|
||||
}
|
||||
|
@ -418,4 +418,13 @@ class structure extends type_base {
|
||||
|
||||
return $date;
|
||||
}
|
||||
|
||||
/**
|
||||
* This return locale for windows os.
|
||||
*
|
||||
* @return string locale
|
||||
*/
|
||||
public function locale_win_charset() {
|
||||
return get_string('localewincharset', 'langconfig');
|
||||
}
|
||||
}
|
||||
|
@ -2187,8 +2187,16 @@ function userdate($date, $format = '', $timezone = 99, $fixday = true, $fixhour
|
||||
*/
|
||||
function date_format_string($date, $format, $tz = 99) {
|
||||
global $CFG;
|
||||
|
||||
$localewincharset = null;
|
||||
// Get the calendar type user is using.
|
||||
if ($CFG->ostype == 'WINDOWS') {
|
||||
$calendartype = \core_calendar\type_factory::get_calendar_instance();
|
||||
$localewincharset = $calendartype->locale_win_charset();
|
||||
}
|
||||
|
||||
if (abs($tz) > 13) {
|
||||
if ($CFG->ostype == 'WINDOWS' and $localewincharset = get_string('localewincharset', 'langconfig')) {
|
||||
if ($localewincharset) {
|
||||
$format = core_text::convert($format, 'utf-8', $localewincharset);
|
||||
$datestring = strftime($format, $date);
|
||||
$datestring = core_text::convert($datestring, $localewincharset, 'utf-8');
|
||||
@ -2196,7 +2204,7 @@ function date_format_string($date, $format, $tz = 99) {
|
||||
$datestring = strftime($format, $date);
|
||||
}
|
||||
} else {
|
||||
if ($CFG->ostype == 'WINDOWS' and $localewincharset = get_string('localewincharset', 'langconfig')) {
|
||||
if ($localewincharset) {
|
||||
$format = core_text::convert($format, 'utf-8', $localewincharset);
|
||||
$datestring = gmstrftime($format, $date);
|
||||
$datestring = core_text::convert($datestring, $localewincharset, 'utf-8');
|
||||
|
@ -52,6 +52,8 @@ information provided here is intended especially for developers.
|
||||
* New class introduced to help auto generate zIndex values for modal dialogues. Class "moodle-has-zindex"
|
||||
should set on any element which uses a non-default zindex and needs to ensure it doesn't show above a
|
||||
dialogue.
|
||||
* Date format locale charset for windows server will come from calendar type and for gregorian it will use
|
||||
lang file.
|
||||
|
||||
DEPRECATIONS:
|
||||
Various previously deprecated functions have now been altered to throw DEBUG_DEVELOPER debugging notices
|
||||
|
Loading…
x
Reference in New Issue
Block a user