Merge branch 'MDL-80499-402' of https://github.com/paulholden/moodle into MOODLE_402_STABLE

This commit is contained in:
Huong Nguyen
2024-01-22 15:36:44 +07:00
3 changed files with 30 additions and 6 deletions
+6 -3
View File
@@ -2039,16 +2039,19 @@ class html_writer {
* @param int $currenttime A default timestamp in GMT
* @param int $step minute spacing
* @param array $attributes - html select element attributes
* @return HTML fragment
* @param float|int|string $timezone the timezone to use to calculate the time
* {@link https://moodledev.io/docs/apis/subsystems/time#timezone}
* @return string HTML fragment
*/
public static function select_time($type, $name, $currenttime = 0, $step = 5, array $attributes = null) {
public static function select_time($type, $name, $currenttime = 0, $step = 5, array $attributes = null, $timezone = 99) {
global $OUTPUT;
if (!$currenttime) {
$currenttime = time();
}
$calendartype = \core_calendar\type_factory::get_calendar_instance();
$currentdate = $calendartype->timestamp_to_date_array($currenttime);
$currentdate = $calendartype->timestamp_to_date_array($currenttime, $timezone);
$userdatetype = $type;
$timeunits = array();
+4
View File
@@ -1,6 +1,10 @@
This files describes API changes in core libraries and APIs,
information provided here is intended especially for developers.
=== 4.2.6 ===
* The `html_writer::select_time` method has a `$timezone` parameter to use when formatting the time parameter
=== 4.2.5 ===
* The current page language is available in new `core/config` language property for Javascript modules
+20 -3
View File
@@ -80,9 +80,26 @@ class data_field_date extends data_field_base {
}
$str = '<div title="'.s($this->field->description).'" class="mod-data-input form-inline">';
$dayselector = html_writer::select_time('days', 'field_'.$this->field->id.'_day', $content);
$monthselector = html_writer::select_time('months', 'field_'.$this->field->id.'_month', $content);
$yearselector = html_writer::select_time('years', 'field_'.$this->field->id.'_year', $content);
$dayselector = html_writer::select_time(
type: 'days',
name: "field_{$this->field->id}_day",
currenttime: $content,
timezone: 0,
);
$monthselector = html_writer::select_time(
type: 'months',
name: "field_{$this->field->id}_month",
currenttime: $content,
timezone: 0,
);
$yearselector = html_writer::select_time(
type: 'years',
name: "field_{$this->field->id}_year",
currenttime: $content,
timezone: 0,
);
$str .= $dayselector . $monthselector . $yearselector;
$str .= '</div>';