MDL-52354 select_time: Make select_time respect the set calendar type

The select_time method updated to display form elements in accordance
to the calendar type plugin that is in use.
This commit is contained in:
Shamim Rezaie 2015-12-01 15:37:07 +11:00 committed by Jun Pataleta
parent 0dfcc2541a
commit 40a6393ea5
2 changed files with 6 additions and 11 deletions

View File

@ -2208,7 +2208,7 @@ function date_format_string($date, $format, $tz = 99) {
/**
* Given a $time timestamp in GMT (seconds since epoch),
* returns an array that represents the date in user time
* returns an array that represents the Gregorian date in user time
*
* @package core
* @category time

View File

@ -1386,28 +1386,23 @@ class html_writer {
if (!$currenttime) {
$currenttime = time();
}
$currentdate = usergetdate($currenttime);
$calendartype = \core_calendar\type_factory::get_calendar_instance();
$currentdate = $calendartype->timestamp_to_date_array($currenttime);
$userdatetype = $type;
$timeunits = array();
switch ($type) {
case 'years':
for ($i=1970; $i<=2020; $i++) {
$timeunits[$i] = $i;
}
$timeunits = $calendartype->get_years();
$userdatetype = 'year';
break;
case 'months':
for ($i=1; $i<=12; $i++) {
$timeunits[$i] = userdate(gmmktime(12,0,0,$i,15,2000), "%B");
}
$timeunits = $calendartype->get_months();
$userdatetype = 'month';
$currentdate['month'] = (int)$currentdate['mon'];
break;
case 'days':
for ($i=1; $i<=31; $i++) {
$timeunits[$i] = $i;
}
$timeunits = $calendartype->get_days();
$userdatetype = 'mday';
break;
case 'hours':