MediaWiki  master
date-formats.php
Go to the documentation of this file.
1 <?php
24 require_once __DIR__ . '/../Maintenance.php';
25 
31 class DateFormats extends Maintenance {
32 
33  private $ts = '20010115123456';
34 
35  public function __construct() {
36  parent::__construct();
37  $this->addDescription( 'Test various language time and date functions' );
38  }
39 
40  public function execute() {
41  global $IP;
42  foreach ( glob( "$IP/languages/messages/Messages*.php" ) as $filename ) {
43  $base = basename( $filename );
44  $m = [];
45  if ( !preg_match( '/Messages(.*)\.php$/', $base, $m ) ) {
46  continue;
47  }
48  $code = str_replace( '_', '-', strtolower( $m[1] ) );
49  $this->output( "$code " );
50  $lang = Language::factory( $code );
51  $prefs = $lang->getDatePreferences();
52  if ( !$prefs ) {
53  $prefs = [ 'default' ];
54  }
55  $this->output( "date: " );
56  foreach ( $prefs as $index => $pref ) {
57  if ( $index > 0 ) {
58  $this->output( ' | ' );
59  }
60  $this->output( $lang->date( $this->ts, false, $pref ) );
61  }
62  $this->output( "\n$code time: " );
63  foreach ( $prefs as $index => $pref ) {
64  if ( $index > 0 ) {
65  $this->output( ' | ' );
66  }
67  $this->output( $lang->time( $this->ts, false, $pref ) );
68  }
69  $this->output( "\n$code both: " );
70  foreach ( $prefs as $index => $pref ) {
71  if ( $index > 0 ) {
72  $this->output( ' | ' );
73  }
74  $this->output( $lang->timeanddate( $this->ts, false, $pref ) );
75  }
76  $this->output( "\n\n" );
77  }
78  }
79 }
80 
81 $maintClass = DateFormats::class;
82 require_once RUN_MAINTENANCE_IF_MAIN;
const RUN_MAINTENANCE_IF_MAIN
Definition: Maintenance.php:39
$IP
Definition: WebStart.php:41
if(!isset( $args[0])) $lang
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Definition: Maintenance.php:82
$maintClass
addDescription( $text)
Set the description text.
static factory( $code)
Get a cached or new language object for a given language code.
Definition: Language.php:218
output( $out, $channel=null)
Throw some output to the user.
Maintenance script that tests various language time and date functions.