Make WordPress Core


Ignore:
Timestamp:
04/02/2006 12:20:11 AM (20 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.