Make WordPress Core


Ignore:
Timestamp:
04/02/2006 12:20:11 AM (19 years ago)
Author:
ryan
Message:

WP_Locale. Props Sewar. fixes #2568

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/functions.php

    r3670 r3676  
    1717
    1818function mysql2date($dateformatstring, $mysqlstring, $translate = true) {
    19     global $month, $weekday, $month_abbrev, $weekday_abbrev;
     19    global $wp_locale;
    2020    $m = $mysqlstring;
    2121    if ( empty($m) ) {
     
    3030        $i = 0;
    3131
    32     if ( !empty($month) && !empty($weekday) && $translate ) {
    33         $datemonth = $month[date('m', $i)];
    34         $datemonth_abbrev = $month_abbrev[$datemonth];
    35         $dateweekday = $weekday[date('w', $i)];
    36         $dateweekday_abbrev = $weekday_abbrev[$dateweekday];
     32    if ( !empty($wp_locale->month) && !empty($wp_locale->weekday) && $translate ) {
     33        $datemonth = $wp_locale->get_month(date('m', $i));
     34        $datemonth_abbrev = $wp_locale->get_month_abbrev($datemonth);
     35        $dateweekday = $wp_locale->get_weekday(date('w', $i));
     36        $dateweekday_abbrev = $wp_locale->get_weekday_abbrev($dateweekday);
     37        $datemeridiem = $wp_locale->get_meridiem(date('a', $i));
     38        $datemeridiem_capital = $wp_locale->get_meridiem(date('A', $i));
    3739        $dateformatstring = ' '.$dateformatstring;
    3840        $dateformatstring = preg_replace("/([^\\\])D/", "\${1}".backslashit($dateweekday_abbrev), $dateformatstring);
     
    4042        $dateformatstring = preg_replace("/([^\\\])l/", "\${1}".backslashit($dateweekday), $dateformatstring);
    4143        $dateformatstring = preg_replace("/([^\\\])M/", "\${1}".backslashit($datemonth_abbrev), $dateformatstring);
     44        $dateformatstring = preg_replace("/([^\\\])a/", "\${1}".backslashit($datemeridiem), $dateformatstring);
     45        $dateformatstring = preg_replace("/([^\\\])A/", "\${1}".backslashit($datemeridiem_capital), $dateformatstring);
    4246
    4347        $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring)-1);
     
    6771
    6872function date_i18n($dateformatstring, $unixtimestamp) {
    69     global $month, $weekday, $month_abbrev, $weekday_abbrev;
     73    global $wp_locale;
    7074    $i = $unixtimestamp;
    71     if ( (!empty($month)) && (!empty($weekday)) ) {
    72         $datemonth = $month[date('m', $i)];
    73         $datemonth_abbrev = $month_abbrev[$datemonth];
    74         $dateweekday = $weekday[date('w', $i)];
    75         $dateweekday_abbrev = $weekday_abbrev[$dateweekday];
     75    if ( (!empty($wp_locale->month)) && (!empty($wp_locale->weekday)) ) {
     76        $datemonth = $wp_locale->get_month(date('m', $i));
     77        $datemonth_abbrev = $wp_locale->get_month_abbrev($datemonth);
     78        $dateweekday = $wp_locale->get_weekday(date('w', $i));
     79        $dateweekday_abbrev = $wp_locale->get_weekday_abbrev($dateweekday);
     80        $datemeridiem = $wp_locale->get_meridiem(date('a', $i));
     81        $datemeridiem_capital = $wp_locale->get_meridiem(date('A', $i));
    7682        $dateformatstring = ' '.$dateformatstring;
    7783        $dateformatstring = preg_replace("/([^\\\])D/", "\${1}".backslashit($dateweekday_abbrev), $dateformatstring);
     
    7985        $dateformatstring = preg_replace("/([^\\\])l/", "\${1}".backslashit($dateweekday), $dateformatstring);
    8086        $dateformatstring = preg_replace("/([^\\\])M/", "\${1}".backslashit($datemonth_abbrev), $dateformatstring);
     87        $dateformatstring = preg_replace("/([^\\\])a/", "\${1}".backslashit($datemeridiem), $dateformatstring);
     88        $dateformatstring = preg_replace("/([^\\\])A/", "\${1}".backslashit($datemeridiem_capital), $dateformatstring);
     89
    8190        $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring)-1);
    8291    }
    8392    $j = @date($dateformatstring, $i);
    8493    return $j;
    85     }
     94}
    8695
    8796function get_weekstartend($mysqlstring, $start_of_week) {
Note: See TracChangeset for help on using the changeset viewer.