125 <div class="date-time-fields {{ data.includeTime ? 'includes-time' : '' }}"> |
125 <div class="date-time-fields {{ data.includeTime ? 'includes-time' : '' }}"> |
126 <fieldset class="day-row"> |
126 <fieldset class="day-row"> |
127 <legend class="title-day {{ ! data.includeTime ? 'screen-reader-text' : '' }}"><?php esc_html_e( 'Date' ); ?></legend> |
127 <legend class="title-day {{ ! data.includeTime ? 'screen-reader-text' : '' }}"><?php esc_html_e( 'Date' ); ?></legend> |
128 <div class="day-fields clear"> |
128 <div class="day-fields clear"> |
129 <?php ob_start(); ?> |
129 <?php ob_start(); ?> |
130 <label for="{{ idPrefix }}date-time-month" class="screen-reader-text"><?php esc_html_e( 'Month' ); ?></label> |
130 <label for="{{ idPrefix }}date-time-month" class="screen-reader-text"> |
|
131 <?php |
|
132 /* translators: Hidden accessibility text. */ |
|
133 esc_html_e( 'Month' ); |
|
134 ?> |
|
135 </label> |
131 <select id="{{ idPrefix }}date-time-month" class="date-input month" data-component="month"> |
136 <select id="{{ idPrefix }}date-time-month" class="date-input month" data-component="month"> |
132 <# _.each( data.month_choices, function( choice ) { |
137 <# _.each( data.month_choices, function( choice ) { |
133 if ( _.isObject( choice ) && ! _.isUndefined( choice.text ) && ! _.isUndefined( choice.value ) ) { |
138 if ( _.isObject( choice ) && ! _.isUndefined( choice.text ) && ! _.isUndefined( choice.value ) ) { |
134 text = choice.text; |
139 text = choice.text; |
135 value = choice.value; |
140 value = choice.value; |
141 <# } ); #> |
146 <# } ); #> |
142 </select> |
147 </select> |
143 <?php $month_field = trim( ob_get_clean() ); ?> |
148 <?php $month_field = trim( ob_get_clean() ); ?> |
144 |
149 |
145 <?php ob_start(); ?> |
150 <?php ob_start(); ?> |
146 <label for="{{ idPrefix }}date-time-day" class="screen-reader-text"><?php esc_html_e( 'Day' ); ?></label> |
151 <label for="{{ idPrefix }}date-time-day" class="screen-reader-text"> |
|
152 <?php |
|
153 /* translators: Hidden accessibility text. */ |
|
154 esc_html_e( 'Day' ); |
|
155 ?> |
|
156 </label> |
147 <input id="{{ idPrefix }}date-time-day" type="number" size="2" autocomplete="off" class="date-input day" data-component="day" min="1" max="31" /> |
157 <input id="{{ idPrefix }}date-time-day" type="number" size="2" autocomplete="off" class="date-input day" data-component="day" min="1" max="31" /> |
148 <?php $day_field = trim( ob_get_clean() ); ?> |
158 <?php $day_field = trim( ob_get_clean() ); ?> |
149 |
159 |
150 <?php ob_start(); ?> |
160 <?php ob_start(); ?> |
151 <label for="{{ idPrefix }}date-time-year" class="screen-reader-text"><?php esc_html_e( 'Year' ); ?></label> |
161 <label for="{{ idPrefix }}date-time-year" class="screen-reader-text"> |
|
162 <?php |
|
163 /* translators: Hidden accessibility text. */ |
|
164 esc_html_e( 'Year' ); |
|
165 ?> |
|
166 </label> |
152 <input id="{{ idPrefix }}date-time-year" type="number" size="4" autocomplete="off" class="date-input year" data-component="year" min="{{ data.minYear }}" max="{{ data.maxYear }}"> |
167 <input id="{{ idPrefix }}date-time-year" type="number" size="4" autocomplete="off" class="date-input year" data-component="year" min="{{ data.minYear }}" max="{{ data.maxYear }}"> |
153 <?php $year_field = trim( ob_get_clean() ); ?> |
168 <?php $year_field = trim( ob_get_clean() ); ?> |
154 |
169 |
155 <?php printf( $date_format, $year_field, $month_field, $day_field ); ?> |
170 <?php printf( $date_format, $year_field, $month_field, $day_field ); ?> |
156 </div> |
171 </div> |
157 </fieldset> |
172 </fieldset> |
158 <# if ( data.includeTime ) { #> |
173 <# if ( data.includeTime ) { #> |
159 <fieldset class="time-row clear"> |
174 <fieldset class="time-row clear"> |
160 <legend class="title-time"><?php esc_html_e( 'Time' ); ?></legend> |
175 <legend class="title-time"><?php esc_html_e( 'Time' ); ?></legend> |
161 <div class="time-fields clear"> |
176 <div class="time-fields clear"> |
162 <label for="{{ idPrefix }}date-time-hour" class="screen-reader-text"><?php esc_html_e( 'Hour' ); ?></label> |
177 <label for="{{ idPrefix }}date-time-hour" class="screen-reader-text"> |
|
178 <?php |
|
179 /* translators: Hidden accessibility text. */ |
|
180 esc_html_e( 'Hour' ); |
|
181 ?> |
|
182 </label> |
163 <# var maxHour = data.twelveHourFormat ? 12 : 23; #> |
183 <# var maxHour = data.twelveHourFormat ? 12 : 23; #> |
164 <# var minHour = data.twelveHourFormat ? 1 : 0; #> |
184 <# var minHour = data.twelveHourFormat ? 1 : 0; #> |
165 <input id="{{ idPrefix }}date-time-hour" type="number" size="2" autocomplete="off" class="date-input hour" data-component="hour" min="{{ minHour }}" max="{{ maxHour }}"> |
185 <input id="{{ idPrefix }}date-time-hour" type="number" size="2" autocomplete="off" class="date-input hour" data-component="hour" min="{{ minHour }}" max="{{ maxHour }}"> |
166 : |
186 : |
167 <label for="{{ idPrefix }}date-time-minute" class="screen-reader-text"><?php esc_html_e( 'Minute' ); ?></label> |
187 <label for="{{ idPrefix }}date-time-minute" class="screen-reader-text"> |
|
188 <?php |
|
189 /* translators: Hidden accessibility text. */ |
|
190 esc_html_e( 'Minute' ); |
|
191 ?> |
|
192 </label> |
168 <input id="{{ idPrefix }}date-time-minute" type="number" size="2" autocomplete="off" class="date-input minute" data-component="minute" min="0" max="59"> |
193 <input id="{{ idPrefix }}date-time-minute" type="number" size="2" autocomplete="off" class="date-input minute" data-component="minute" min="0" max="59"> |
169 <# if ( data.twelveHourFormat ) { #> |
194 <# if ( data.twelveHourFormat ) { #> |
170 <label for="{{ idPrefix }}date-time-meridian" class="screen-reader-text"><?php esc_html_e( 'Meridian' ); ?></label> |
195 <label for="{{ idPrefix }}date-time-meridian" class="screen-reader-text"> |
|
196 <?php |
|
197 /* translators: Hidden accessibility text. */ |
|
198 esc_html_e( 'Meridian' ); |
|
199 ?> |
|
200 </label> |
171 <select id="{{ idPrefix }}date-time-meridian" class="date-input meridian" data-component="meridian"> |
201 <select id="{{ idPrefix }}date-time-meridian" class="date-input meridian" data-component="meridian"> |
172 <option value="am"><?php esc_html_e( 'AM' ); ?></option> |
202 <option value="am"><?php esc_html_e( 'AM' ); ?></option> |
173 <option value="pm"><?php esc_html_e( 'PM' ); ?></option> |
203 <option value="pm"><?php esc_html_e( 'PM' ); ?></option> |
174 </select> |
204 </select> |
175 <# } #> |
205 <# } #> |
232 $tz = ''; |
262 $tz = ''; |
233 } |
263 } |
234 |
264 |
235 if ( $tz ) { |
265 if ( $tz ) { |
236 $now = new DateTime( 'now', $tz ); |
266 $now = new DateTime( 'now', $tz ); |
237 $formatted_gmt_offset = $this->format_gmt_offset( $tz->getOffset( $now ) / 3600 ); |
267 $formatted_gmt_offset = $this->format_gmt_offset( $tz->getOffset( $now ) / HOUR_IN_SECONDS ); |
238 $tz_name = str_replace( '_', ' ', $tz->getName() ); |
268 $tz_name = str_replace( '_', ' ', $tz->getName() ); |
239 $timezone_info['abbr'] = $now->format( 'T' ); |
269 $timezone_info['abbr'] = $now->format( 'T' ); |
240 |
270 |
241 $timezone_info['description'] = sprintf( |
271 $timezone_info['description'] = sprintf( |
242 /* translators: 1: Timezone name, 2: Timezone abbreviation, 3: UTC abbreviation and offset, 4: UTC offset. */ |
272 /* translators: 1: Timezone name, 2: Timezone abbreviation, 3: UTC abbreviation and offset, 4: UTC offset. */ |