| 1 | <?php
|
|---|
| 2 | /**
|
|---|
| 3 | * Plugin Name: #9730 Test Plugin
|
|---|
| 4 | * Plugin URI: http://core.trac.wordpress.org/ticket/9730
|
|---|
| 5 | * Description: Test Plugin to test the <a href="http://core.trac.wordpress.org/changeset/10897">date_i18n hook</a>.
|
|---|
| 6 | * Author: hakre
|
|---|
| 7 | * Version: 0.1
|
|---|
| 8 | * Author URI: http://codex.wordpress.org/User:Hakre
|
|---|
| 9 | */
|
|---|
| 10 | class plugin9730Test {
|
|---|
| 11 |
|
|---|
| 12 | public function __construct() {
|
|---|
| 13 | add_filter('date_i18n', array($this, 'date_i18n'), 10, 4);
|
|---|
| 14 | }
|
|---|
| 15 |
|
|---|
| 16 | /** date_i18n sample callback
|
|---|
| 17 | *
|
|---|
| 18 | * format timestamps according to the moodate standard. that is persian number in the year
|
|---|
| 19 | * I felt like a timeless beauty.
|
|---|
| 20 | *
|
|---|
| 21 | * @param string $date input date. unfiltered value provided by WP
|
|---|
| 22 | * @param string $req_format required format string. @see http://php.net/manual/en/function.date.php
|
|---|
| 23 | * @param int $unixtimestamp input timestamp (UTC value).
|
|---|
| 24 | * @param bool $gmt Whether to convert to GMT for time. Optional, default is false.
|
|---|
| 25 | * @return unknown_type
|
|---|
| 26 | */
|
|---|
| 27 | public function date_i18n($date, $req_format, $unixtimestamp, $gmt) {
|
|---|
| 28 |
|
|---|
| 29 | $mood_year = 'in the year I felt like a timeless beauty.';
|
|---|
| 30 |
|
|---|
| 31 | $datefunc = $gmt? 'gmdate' : 'date';
|
|---|
| 32 |
|
|---|
| 33 | $format = $req_format;
|
|---|
| 34 | $format = preg_replace( "/([^\\\])[yY]/", "\\1" . backslashit( $mood_year ), $format );
|
|---|
| 35 | $date = $datefunc($format, $unixtimestamp);
|
|---|
| 36 | $date = $this->do_latin_to_persian($date);
|
|---|
| 37 |
|
|---|
| 38 | return $date;
|
|---|
| 39 | }
|
|---|
| 40 |
|
|---|
| 41 | /** Converts Latin digits to Persian ones
|
|---|
| 42 | *
|
|---|
| 43 | * some functions to play with.
|
|---|
| 44 | *
|
|---|
| 45 | * @see #7753
|
|---|
| 46 | * @param string $number
|
|---|
| 47 | * @return string
|
|---|
| 48 | */
|
|---|
| 49 | function do_latin_to_persian($number) {
|
|---|
| 50 | $latin = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
|
|---|
| 51 | $persian = array('۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹');
|
|---|
| 52 | return str_replace($latin, $persian, $number);
|
|---|
| 53 | }
|
|---|
| 54 | }
|
|---|
| 55 | $plugin9730Test = new plugin9730Test();
|
|---|
| 56 | ?>
|
|---|