24
24
25
25
namespace customcertelement_date ;
26
26
27
+ use mod_customcert \element_helper ;
28
+
27
29
defined ('MOODLE_INTERNAL ' ) || die ();
28
30
29
31
/**
@@ -103,7 +105,8 @@ public function render_form_elements($mform) {
103
105
$ mform ->addElement ('select ' , 'dateitem ' , get_string ('dateitem ' , 'customcertelement_date ' ), $ dateoptions );
104
106
$ mform ->addHelpButton ('dateitem ' , 'dateitem ' , 'customcertelement_date ' );
105
107
106
- $ mform ->addElement ('select ' , 'dateformat ' , get_string ('dateformat ' , 'customcertelement_date ' ), self ::get_date_formats ());
108
+ $ mform ->addElement ('select ' , 'dateformat ' , get_string ('dateformat ' , 'customcertelement_date ' ),
109
+ element_helper::get_date_formats ());
107
110
$ mform ->addHelpButton ('dateformat ' , 'dateformat ' , 'customcertelement_date ' );
108
111
109
112
parent ::render_form_elements ($ mform );
@@ -230,7 +233,7 @@ public function render($pdf, $preview, $user) {
230
233
231
234
// Ensure that a date has been set.
232
235
if (!empty ($ date )) {
233
- \mod_customcert \element_helper::render_content ($ pdf , $ this , $ this -> get_date_format_string ($ date , $ dateformat ));
236
+ \mod_customcert \element_helper::render_content ($ pdf , $ this , element_helper:: get_date_format_string ($ date , $ dateformat ));
234
237
}
235
238
}
236
239
@@ -252,7 +255,8 @@ public function render_html() {
252
255
$ dateinfo = json_decode ($ this ->get_data ());
253
256
$ dateformat = $ dateinfo ->dateformat ;
254
257
255
- return \mod_customcert \element_helper::render_html_content ($ this , $ this ->get_date_format_string (time (), $ dateformat ));
258
+ return \mod_customcert \element_helper::render_html_content ($ this ,
259
+ element_helper::get_date_format_string (time (), $ dateformat ));
256
260
}
257
261
258
262
/**
@@ -312,110 +316,8 @@ public function after_restore($restore) {
312
316
* @return array the list of date formats
313
317
*/
314
318
public static function get_date_formats () {
315
- // Hard-code date so users can see the difference between short dates with and without the leading zero.
316
- // Eg. 06/07/18 vs 6/07/18.
317
- $ date = 1530849658 ;
318
-
319
- $ suffix = self ::get_ordinal_number_suffix (userdate ($ date , '%d ' ));
320
-
321
- $ dateformats = [
322
- 1 => userdate ($ date , '%B %d, %Y ' ),
323
- 2 => userdate ($ date , '%B %d ' . $ suffix . ', %Y ' ),
324
- ];
325
-
326
- $ strdateformats = [
327
- 'strftimedate ' ,
328
- 'strftimedatefullshort ' ,
329
- 'strftimedatefullshortwleadingzero ' ,
330
- 'strftimedateshort ' ,
331
- 'strftimedatetime ' ,
332
- 'strftimedatetimeshort ' ,
333
- 'strftimedatetimeshortwleadingzero ' ,
334
- 'strftimedaydate ' ,
335
- 'strftimedaydatetime ' ,
336
- 'strftimedayshort ' ,
337
- 'strftimedaytime ' ,
338
- 'strftimemonthyear ' ,
339
- 'strftimerecent ' ,
340
- 'strftimerecentfull ' ,
341
- 'strftimetime ' ,
342
- ];
343
-
344
- foreach ($ strdateformats as $ strdateformat ) {
345
- if ($ strdateformat == 'strftimedatefullshortwleadingzero ' ) {
346
- $ dateformats [$ strdateformat ] = userdate ($ date , get_string ('strftimedatefullshort ' , 'langconfig ' ), 99 , false );
347
- } else if ($ strdateformat == 'strftimedatetimeshortwleadingzero ' ) {
348
- $ dateformats [$ strdateformat ] = userdate ($ date , get_string ('strftimedatetimeshort ' , 'langconfig ' ), 99 , false );
349
- } else {
350
- $ dateformats [$ strdateformat ] = userdate ($ date , get_string ($ strdateformat , 'langconfig ' ));
351
- }
352
- }
353
-
354
- return $ dateformats ;
355
- }
356
-
357
- /**
358
- * Returns the date in a readable format.
359
- *
360
- * @param int $date
361
- * @param string $dateformat
362
- * @return string
363
- */
364
- protected function get_date_format_string ($ date , $ dateformat ) {
365
- // Keeping for backwards compatibility.
366
- if (is_number ($ dateformat )) {
367
- switch ($ dateformat ) {
368
- case 1 :
369
- $ certificatedate = userdate ($ date , '%B %d, %Y ' );
370
- break ;
371
- case 2 :
372
- $ suffix = self ::get_ordinal_number_suffix (userdate ($ date , '%d ' ));
373
- $ certificatedate = userdate ($ date , '%B %d ' . $ suffix . ', %Y ' );
374
- break ;
375
- case 3 :
376
- $ certificatedate = userdate ($ date , '%d %B %Y ' );
377
- break ;
378
- case 4 :
379
- $ certificatedate = userdate ($ date , '%B %Y ' );
380
- break ;
381
- default :
382
- $ certificatedate = userdate ($ date , get_string ('strftimedate ' , 'langconfig ' ));
383
- }
384
- }
385
-
386
- // Ok, so we must have been passed the actual format in the lang file.
387
- if (!isset ($ certificatedate )) {
388
- if ($ dateformat == 'strftimedatefullshortwleadingzero ' ) {
389
- $ certificatedate = userdate ($ date , get_string ('strftimedatefullshort ' , 'langconfig ' ), 99 , false );
390
- } else if ($ dateformat == 'strftimedatetimeshortwleadingzero ' ) {
391
- $ certificatedate = userdate ($ date , get_string ('strftimedatetimeshort ' , 'langconfig ' ), 99 , false );
392
- } else {
393
- $ certificatedate = userdate ($ date , get_string ($ dateformat , 'langconfig ' ));
394
- }
395
- }
396
-
397
- return $ certificatedate ;
398
- }
399
-
400
- /**
401
- * Helper function to return the suffix of the day of
402
- * the month, eg 'st' if it is the 1st of the month.
403
- *
404
- * @param int $day the day of the month
405
- * @return string the suffix.
406
- */
407
- protected static function get_ordinal_number_suffix ($ day ) {
408
- if (!in_array (($ day % 100 ), [11 , 12 , 13 ])) {
409
- switch ($ day % 10 ) {
410
- // Handle 1st, 2nd, 3rd.
411
- case 1 :
412
- return get_string ('numbersuffix_st_as_in_first ' , 'customcertelement_date ' );
413
- case 2 :
414
- return get_string ('numbersuffix_nd_as_in_second ' , 'customcertelement_date ' );
415
- case 3 :
416
- return get_string ('numbersuffix_rd_as_in_third ' , 'customcertelement_date ' );
417
- }
418
- }
419
- return 'th ' ;
319
+ debugging ("The method customcertelement_date::get_date_formats is deprecated, " .
320
+ "please use element_helper::get_date_formats() instead " , DEBUG_DEVELOPER );
321
+ return element_helper::get_date_formats ();
420
322
}
421
323
}
0 commit comments