wp/wp-includes/SimplePie/Parse/Date.php
author ymh <ymh.work@gmail.com>
Mon, 08 Sep 2025 19:44:41 +0200
changeset 23 417f20492bf7
parent 16 a86126ab1dd4
permissions -rw-r--r--
Update Docker configuration and plugin versions - Upgrade MariaDB from 10.6 to 11 with auto-upgrade support - Add WordPress debug environment variable to FPM container - Update PHP-FPM Dockerfile base image - Update Include Mastodon Feed plugin with bug fixes and improvements - Update Portfolio plugin (v2.58) with latest translations and demo data enhancements - Remove old README.md from Mastodon Feed plugin 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * A PHP-Based RSS and Atom Feed Framework.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * Takes the hard work out of managing a complete RSS/Atom solution.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 *
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
     8
 * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * All rights reserved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
 * Redistribution and use in source and binary forms, with or without modification, are
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
 * permitted provided that the following conditions are met:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
 * 	* Redistributions of source code must retain the above copyright notice, this list of
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * 	  conditions and the following disclaimer.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * 	* Redistributions in binary form must reproduce the above copyright notice, this list
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 * 	  of conditions and the following disclaimer in the documentation and/or other materials
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
 * 	  provided with the distribution.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
 * 	* Neither the name of the SimplePie Team nor the names of its contributors may be used
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
 * 	  to endorse or promote products derived from this software without specific prior
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
 * 	  written permission.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
 * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
 * POSSIBILITY OF SUCH DAMAGE.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
 * @package SimplePie
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
    36
 * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
 * @author Ryan Parman
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
    38
 * @author Sam Sneddon
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
 * @author Ryan McCue
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
 * @link http://simplepie.org/ SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
 * @license http://www.opensource.org/licenses/bsd-license.php BSD License
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
 * Date Parser
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
 * @package SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
 * @subpackage Parsing
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
class SimplePie_Parse_Date
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
	 * Input data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
	 * @var string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
	var $date;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
	 * List of days, calendar day name => ordinal day number in the week
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
	 * @var array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
	var $day = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
		// English
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
		'mon' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
		'monday' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
		'tue' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
		'tuesday' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
		'wed' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
		'wednesday' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
		'thu' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
		'thursday' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
		'fri' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
		'friday' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
		'sat' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
		'saturday' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
		'sun' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
		'sunday' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
		// Dutch
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
		'maandag' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
		'dinsdag' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
		'woensdag' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
		'donderdag' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
		'vrijdag' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
		'zaterdag' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
		'zondag' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
		// French
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
		'lundi' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
		'mardi' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
		'mercredi' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
		'jeudi' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
		'vendredi' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
		'samedi' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
		'dimanche' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
		// German
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
		'montag' => 1,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   101
		'mo' => 1,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
		'dienstag' => 2,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   103
		'di' => 2,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
		'mittwoch' => 3,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   105
		'mi' => 3,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
		'donnerstag' => 4,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   107
		'do' => 4,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
		'freitag' => 5,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   109
		'fr' => 5,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
		'samstag' => 6,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   111
		'sa' => 6,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
		'sonnabend' => 6,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   113
		// AFAIK no short form for sonnabend
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   114
		'so' => 7,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
		'sonntag' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
		// Italian
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
		'lunedì' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
		'martedì' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
		'mercoledì' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
		'giovedì' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
		'venerdì' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
		'sabato' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
		'domenica' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
		// Spanish
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
		'lunes' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
		'martes' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		'miércoles' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
		'jueves' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
		'viernes' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
		'sábado' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
		'domingo' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
		// Finnish
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
		'maanantai' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
		'tiistai' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
		'keskiviikko' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
		'torstai' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
		'perjantai' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
		'lauantai' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
		'sunnuntai' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
		// Hungarian
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
		'hétfő' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
		'kedd' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
		'szerda' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
		'csütörtok' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
		'péntek' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
		'szombat' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
		'vasárnap' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
		// Greek
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		'Δευ' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
		'Τρι' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
		'Τετ' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
		'Πεμ' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
		'Παρ' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
		'Σαβ' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
		'Κυρ' => 7,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   156
		// Russian
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   157
		'Пн.' => 1,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   158
		'Вт.' => 2,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   159
		'Ср.' => 3,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   160
		'Чт.' => 4,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   161
		'Пт.' => 5,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   162
		'Сб.' => 6,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   163
		'Вс.' => 7,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
	);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
	 * List of months, calendar month name => calendar month number
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
	 * @var array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
	var $month = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
		// English
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
		'jan' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
		'january' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
		'feb' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
		'february' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
		'mar' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
		'march' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
		'apr' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
		'april' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
		'may' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
		// No long form of May
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
		'jun' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
		'june' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
		'jul' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
		'july' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
		'aug' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
		'august' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
		'sep' => 9,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   191
		'september' => 9,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
		'oct' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
		'october' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
		'nov' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
		'november' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
		'dec' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
		'december' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
		// Dutch
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
		'januari' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
		'februari' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
		'maart' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
		'april' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
		'mei' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
		'juni' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
		'juli' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
		'augustus' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
		'september' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
		'oktober' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
		'november' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
		'december' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
		// French
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
		'janvier' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
		'février' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
		'mars' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
		'avril' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
		'mai' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
		'juin' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
		'juillet' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
		'août' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
		'septembre' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
		'octobre' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
		'novembre' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
		'décembre' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
		// German
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
		'januar' => 1,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   226
		'jan' => 1,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
		'februar' => 2,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   228
		'feb' => 2,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
		'märz' => 3,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   230
		'mär' => 3,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
		'april' => 4,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   232
		'apr' => 4,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   233
		'mai' => 5, // no short form for may
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
		'juni' => 6,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   235
		'jun' => 6,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
		'juli' => 7,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   237
		'jul' => 7,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
		'august' => 8,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   239
		'aug' => 8,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
		'september' => 9,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   241
		'sep' => 9,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
		'oktober' => 10,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   243
		'okt' => 10,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
		'november' => 11,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   245
		'nov' => 11,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
		'dezember' => 12,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   247
		'dez' => 12,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
		// Italian
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
		'gennaio' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
		'febbraio' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
		'marzo' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
		'aprile' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
		'maggio' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
		'giugno' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
		'luglio' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
		'agosto' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
		'settembre' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
		'ottobre' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
		'novembre' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
		'dicembre' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
		// Spanish
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
		'enero' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
		'febrero' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
		'marzo' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
		'abril' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
		'mayo' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
		'junio' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
		'julio' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
		'agosto' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
		'septiembre' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
		'setiembre' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
		'octubre' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
		'noviembre' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
		'diciembre' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
		// Finnish
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
		'tammikuu' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
		'helmikuu' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
		'maaliskuu' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
		'huhtikuu' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
		'toukokuu' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
		'kesäkuu' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
		'heinäkuu' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
		'elokuu' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
		'suuskuu' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
		'lokakuu' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
		'marras' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
		'joulukuu' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
		// Hungarian
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
		'január' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
		'február' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
		'március' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
		'április' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
		'május' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
		'június' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
		'július' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
		'augusztus' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
		'szeptember' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
		'október' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
		'november' => 11,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
		'december' => 12,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
		// Greek
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
		'Ιαν' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
		'Φεβ' => 2,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
		'Μάώ' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
		'Μαώ' => 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
		'Απρ' => 4,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
		'Μάι' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
		'Μαϊ' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
		'Μαι' => 5,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
		'Ιούν' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
		'Ιον' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
		'Ιούλ' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
		'Ιολ' => 7,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
		'Αύγ' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
		'Αυγ' => 8,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
		'Σεπ' => 9,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
		'Οκτ' => 10,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
		'Νοέ' => 11,
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   319
		'Δεκ' => 12,		
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   320
		// Russian
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   321
		'Янв' => 1,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   322
		'января' => 1,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   323
		'Фев' => 2,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   324
		'февраля' => 2,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   325
		'Мар' => 3,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   326
		'марта' => 3,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   327
		'Апр' => 4,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   328
		'апреля' => 4,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   329
		'Май' => 5,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   330
		'мая' => 5,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   331
		'Июн' => 6,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   332
		'июня' => 6,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   333
		'Июл' => 7,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   334
		'июля' => 7,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   335
		'Авг' => 8,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   336
		'августа' => 8,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   337
		'Сен' => 9,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   338
		'сентября' => 9,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   339
		'Окт' => 10,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   340
		'октября' => 10,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   341
		'Ноя' => 11,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   342
		'ноября' => 11,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   343
		'Дек' => 12,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   344
		'декабря' => 12,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   345
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
	);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
	 * List of timezones, abbreviation => offset from UTC
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
	 * @var array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
	var $timezone = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
		'ACDT' => 37800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
		'ACIT' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
		'ACST' => 34200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
		'ACT' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
		'ACWDT' => 35100,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
		'ACWST' => 31500,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
		'AEDT' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
		'AEST' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
		'AFT' => 16200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
		'AKDT' => -28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
		'AKST' => -32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
		'AMDT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
		'AMT' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
		'ANAST' => 46800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
		'ANAT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
		'ART' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
		'AZOST' => -3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
		'AZST' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
		'AZT' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
		'BIOT' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
		'BIT' => -43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
		'BOT' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
		'BRST' => -7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
		'BRT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
		'BST' => 3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
		'BTT' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
		'CAST' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
		'CAT' => 7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
		'CCT' => 23400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
		'CDT' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
		'CEDT' => 7200,
7
cf61fcea0001 resynchronize code repo with production
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   386
		'CEST' => 7200,
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
		'CET' => 3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
		'CGST' => -7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
		'CGT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
		'CHADT' => 49500,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
		'CHAST' => 45900,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
		'CIST' => -28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
		'CKT' => -36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
		'CLDT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
		'CLST' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
		'COT' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
		'CST' => -21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
		'CVT' => -3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
		'CXT' => 25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
		'DAVT' => 25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
		'DTAT' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
		'EADT' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
		'EAST' => -21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
		'EAT' => 10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
		'ECT' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
		'EDT' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
		'EEST' => 10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
		'EET' => 7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
		'EGT' => -3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
		'EKST' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
		'EST' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
		'FJT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
		'FKDT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
		'FKST' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
		'FNT' => -7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
		'GALT' => -21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
		'GEDT' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
		'GEST' => 10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
		'GFT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
		'GILT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
		'GIT' => -32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
		'GST' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
		'GST' => -7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
		'GYT' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
		'HAA' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
		'HAC' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
		'HADT' => -32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
		'HAE' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
		'HAP' => -25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
		'HAR' => -21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
		'HAST' => -36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
		'HAT' => -9000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
		'HAY' => -28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
		'HKST' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
		'HMT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
		'HNA' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
		'HNC' => -21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
		'HNE' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
		'HNP' => -28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
		'HNR' => -25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
		'HNT' => -12600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
		'HNY' => -32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
		'IRDT' => 16200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
		'IRKST' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
		'IRKT' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
		'IRST' => 12600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
		'JFDT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
		'JFST' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
		'JST' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
		'KGST' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
		'KGT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
		'KOST' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
		'KOVST' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
		'KOVT' => 25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
		'KRAST' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
		'KRAT' => 25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
		'KST' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
		'LHDT' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
		'LHST' => 37800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
		'LINT' => 50400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
		'LKT' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
		'MAGST' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
		'MAGT' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
		'MAWT' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
		'MDT' => -21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
		'MESZ' => 7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
		'MEZ' => 3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
		'MHT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
		'MIT' => -34200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
		'MNST' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
		'MSDT' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
		'MSST' => 10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
		'MST' => -25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
		'MUT' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
		'MVT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
		'MYT' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
		'NCT' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
		'NDT' => -9000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
		'NFT' => 41400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
		'NMIT' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
		'NOVST' => 25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
		'NOVT' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
		'NPT' => 20700,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
		'NRT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
		'NST' => -12600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
		'NUT' => -39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
		'NZDT' => 46800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
		'NZST' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
		'OMSST' => 25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
		'OMST' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
		'PDT' => -25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
		'PET' => -18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
		'PETST' => 46800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
		'PETT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
		'PGT' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
		'PHOT' => 46800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
		'PHT' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
		'PKT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
		'PMDT' => -7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
		'PMST' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
		'PONT' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
		'PST' => -28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
		'PWT' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
		'PYST' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
		'PYT' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
		'RET' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
		'ROTT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
		'SAMST' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
		'SAMT' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
		'SAST' => 7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
		'SBT' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
		'SCDT' => 46800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
		'SCST' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
		'SCT' => 14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
		'SEST' => 3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
		'SGT' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
		'SIT' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
		'SRT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
		'SST' => -39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
		'SYST' => 10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
		'SYT' => 7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
		'TFT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
		'THAT' => -36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
		'TJT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
		'TKT' => -36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
		'TMT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
		'TOT' => 46800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
		'TPT' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
		'TRUT' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
		'TVT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
		'TWT' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
		'UYST' => -7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
		'UYT' => -10800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
		'UZT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
		'VET' => -14400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
		'VLAST' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
		'VLAT' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
		'VOST' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
		'VUT' => 39600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
		'WAST' => 7200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
		'WAT' => 3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
		'WDT' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
		'WEST' => 3600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
		'WFT' => 43200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
		'WIB' => 25200,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
		'WIT' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
		'WITA' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
		'WKST' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
		'WST' => 28800,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
		'YAKST' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
		'YAKT' => 32400,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
		'YAPT' => 36000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
		'YEKST' => 21600,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
		'YEKT' => 18000,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
	);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
	 * Cached PCRE for SimplePie_Parse_Date::$day
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
	 * @var string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
	var $day_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
	 * Cached PCRE for SimplePie_Parse_Date::$month
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
	 * @var string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
	var $month_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
	 * Array of user-added callback methods
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
	 * @var array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
	var $built_in = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
	 * Array of user-added callback methods
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
	 * @var array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
	var $user = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
	 * Create new SimplePie_Parse_Date object, and set self::day_pcre,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
	 * self::month_pcre, and self::built_in
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
	public function __construct()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
	{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   597
		$this->day_pcre = '(' . implode('|', array_keys($this->day)) . ')';
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   598
		$this->month_pcre = '(' . implode('|', array_keys($this->month)) . ')';
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
		static $cache;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
		if (!isset($cache[get_class($this)]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
			$all_methods = get_class_methods($this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
			foreach ($all_methods as $method)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
				if (strtolower(substr($method, 0, 5)) === 'date_')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
					$cache[get_class($this)][] = $method;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
		foreach ($cache[get_class($this)] as $method)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
			$this->built_in[] = $method;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
	 * Get the object
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
	 * @access public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
	public static function get()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
		static $object;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
		if (!$object)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
			$object = new SimplePie_Parse_Date;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
		return $object;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
	 * Parse a date
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
	 * @final
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
	 * @access public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
	 * @param string $date Date to parse
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
	 * @return int Timestamp corresponding to date string, or false on failure
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
	public function parse($date)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
		foreach ($this->user as $method)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
			if (($returned = call_user_func($method, $date)) !== false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
				return $returned;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
		foreach ($this->built_in as $method)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
			if (($returned = call_user_func(array($this, $method), $date)) !== false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
				return $returned;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
	 * Add a callback method to parse a date
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
	 * @final
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
	 * @access public
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   669
	 * @param callback $callback
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
	public function add_callback($callback)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
		if (is_callable($callback))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
			$this->user[] = $callback;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
			trigger_error('User-supplied function must be a valid callback', E_USER_WARNING);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
	 * Parse a superset of W3C-DTF (allows hyphens and colons to be omitted, as
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
	 * well as allowing any of upper or lower case "T", horizontal tabs, or
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   686
	 * spaces to be used as the time separator (including more than one))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
	 * @return int Timestamp
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
	public function date_w3cdtf($date)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
		static $pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
		if (!$pcre)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
			$year = '([0-9]{4})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
			$month = $day = $hour = $minute = $second = '([0-9]{2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
			$decimal = '([0-9]*)';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
			$zone = '(?:(Z)|([+\-])([0-9]{1,2}):?([0-9]{1,2}))';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
			$pcre = '/^' . $year . '(?:-?' . $month . '(?:-?' . $day . '(?:[Tt\x09\x20]+' . $hour . '(?::?' . $minute . '(?::?' . $second . '(?:.' . $decimal . ')?)?)?' . $zone . ')?)?)?$/';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
		if (preg_match($pcre, $date, $match))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
			/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
			Capturing subpatterns:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
			1: Year
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
			2: Month
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
			3: Day
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
			4: Hour
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
			5: Minute
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
			6: Second
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
			7: Decimal fraction of a second
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
			8: Zulu
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
			9: Timezone ±
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
			10: Timezone hours
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
			11: Timezone minutes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
			*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
			// Fill in empty matches
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
			for ($i = count($match); $i <= 3; $i++)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
				$match[$i] = '1';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
			for ($i = count($match); $i <= 7; $i++)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
				$match[$i] = '0';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
			// Numeric timezone
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
			if (isset($match[9]) && $match[9] !== '')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
				$timezone = $match[10] * 3600;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
				$timezone += $match[11] * 60;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
				if ($match[9] === '-')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
					$timezone = 0 - $timezone;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
				$timezone = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
			// Convert the number of seconds to an integer, taking decimals into account
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   746
			$second = round((int)$match[6] + (int)$match[7] / (10 ** strlen($match[7])));
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
			return gmmktime($match[4], $match[5], $second, $match[2], $match[3], $match[1]) - $timezone;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   750
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   751
		return false;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
	 * Remove RFC822 comments
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
	 * @param string $data Data to strip comments from
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
	 * @return string Comment stripped string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
	public function remove_rfc2822_comments($string)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
		$string = (string) $string;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
		$position = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
		$length = strlen($string);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
		$depth = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
		$output = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
		while ($position < $length && ($pos = strpos($string, '(', $position)) !== false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
			$output .= substr($string, $position, $pos - $position);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
			$position = $pos + 1;
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   774
			if ($pos === 0 || $string[$pos - 1] !== '\\')
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
				$depth++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
				while ($depth && $position < $length)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
					$position += strcspn($string, '()', $position);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
					if ($string[$position - 1] === '\\')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
						$position++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
						continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
					elseif (isset($string[$position]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
						switch ($string[$position])
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
							case '(':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
								$depth++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
								break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
							case ')':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
								$depth--;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
								break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
						$position++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
						break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
				$output .= '(';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   808
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
		$output .= substr($string, $position);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
		return $output;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
	 * Parse RFC2822's date format
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
	 * @return int Timestamp
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
	public function date_rfc2822($date)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
		static $pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
		if (!$pcre)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
			$wsp = '[\x09\x20]';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
			$fws = '(?:' . $wsp . '+|' . $wsp . '*(?:\x0D\x0A' . $wsp . '+)+)';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
			$optional_fws = $fws . '?';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
			$day_name = $this->day_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
			$month = $this->month_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
			$day = '([0-9]{1,2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
			$hour = $minute = $second = '([0-9]{2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
			$year = '([0-9]{2,4})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
			$num_zone = '([+\-])([0-9]{2})([0-9]{2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   835
			$character_zone = '([A-Z]{1,5})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
			$zone = '(?:' . $num_zone . '|' . $character_zone . ')';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
			$pcre = '/(?:' . $optional_fws . $day_name . $optional_fws . ',)?' . $optional_fws . $day . $fws . $month . $fws . $year . $fws . $hour . $optional_fws . ':' . $optional_fws . $minute . '(?:' . $optional_fws . ':' . $optional_fws . $second . ')?' . $fws . $zone . '/i';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
		if (preg_match($pcre, $this->remove_rfc2822_comments($date), $match))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
			/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
			Capturing subpatterns:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
			1: Day name
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
			2: Day
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
			3: Month
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
			4: Year
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
			5: Hour
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
			6: Minute
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
			7: Second
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
			8: Timezone ±
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
			9: Timezone hours
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
			10: Timezone minutes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
			11: Alphabetic timezone
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
			*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
			// Find the month number
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
			$month = $this->month[strtolower($match[3])];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
			// Numeric timezone
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
			if ($match[8] !== '')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
				$timezone = $match[9] * 3600;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
				$timezone += $match[10] * 60;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
				if ($match[8] === '-')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
					$timezone = 0 - $timezone;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   869
			// Character timezone
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   870
			elseif (isset($this->timezone[strtoupper($match[11])]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   871
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   872
				$timezone = $this->timezone[strtoupper($match[11])];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
			// Assume everything else to be -0000
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
				$timezone = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
			// Deal with 2/3 digit years
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
			if ($match[4] < 50)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   883
				$match[4] += 2000;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   884
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   885
			elseif ($match[4] < 1000)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   886
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   887
				$match[4] += 1900;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   888
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   889
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   890
			// Second is optional, if it is empty set it to zero
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   891
			if ($match[7] !== '')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   892
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   893
				$second = $match[7];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   894
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   895
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   896
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   897
				$second = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   898
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   899
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   900
			return gmmktime($match[5], $match[6], $second, $month, $match[2], $match[4]) - $timezone;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   901
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   902
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   903
		return false;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   904
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   906
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   907
	 * Parse RFC850's date format
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   908
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   909
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   910
	 * @return int Timestamp
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   911
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   912
	public function date_rfc850($date)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   913
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   914
		static $pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   915
		if (!$pcre)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   916
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   917
			$space = '[\x09\x20]+';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   918
			$day_name = $this->day_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   919
			$month = $this->month_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   920
			$day = '([0-9]{1,2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   921
			$year = $hour = $minute = $second = '([0-9]{2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   922
			$zone = '([A-Z]{1,5})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   923
			$pcre = '/^' . $day_name . ',' . $space . $day . '-' . $month . '-' . $year . $space . $hour . ':' . $minute . ':' . $second . $space . $zone . '$/i';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   924
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   925
		if (preg_match($pcre, $date, $match))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   926
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   927
			/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   928
			Capturing subpatterns:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   929
			1: Day name
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   930
			2: Day
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   931
			3: Month
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   932
			4: Year
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   933
			5: Hour
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   934
			6: Minute
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   935
			7: Second
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   936
			8: Timezone
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   937
			*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   938
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   939
			// Month
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   940
			$month = $this->month[strtolower($match[3])];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   941
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   942
			// Character timezone
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   943
			if (isset($this->timezone[strtoupper($match[8])]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   944
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   945
				$timezone = $this->timezone[strtoupper($match[8])];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   946
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   947
			// Assume everything else to be -0000
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   948
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   949
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   950
				$timezone = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   951
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   952
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   953
			// Deal with 2 digit year
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   954
			if ($match[4] < 50)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   955
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   956
				$match[4] += 2000;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   957
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   958
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   959
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   960
				$match[4] += 1900;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   961
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   962
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   963
			return gmmktime($match[5], $match[6], $match[7], $month, $match[2], $match[4]) - $timezone;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   964
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   965
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
   966
		return false;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   967
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   968
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   969
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   970
	 * Parse C99's asctime()'s date format
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   971
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   972
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   973
	 * @return int Timestamp
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   974
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   975
	public function date_asctime($date)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   976
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   977
		static $pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   978
		if (!$pcre)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   979
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   980
			$space = '[\x09\x20]+';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   981
			$wday_name = $this->day_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   982
			$mon_name = $this->month_pcre;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   983
			$day = '([0-9]{1,2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   984
			$hour = $sec = $min = '([0-9]{2})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   985
			$year = '([0-9]{4})';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   986
			$terminator = '\x0A?\x00?';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   987
			$pcre = '/^' . $wday_name . $space . $mon_name . $space . $day . $space . $hour . ':' . $min . ':' . $sec . $space . $year . $terminator . '$/i';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   988
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   989
		if (preg_match($pcre, $date, $match))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   990
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   991
			/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   992
			Capturing subpatterns:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   993
			1: Day name
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   994
			2: Month
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   995
			3: Day
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   996
			4: Hour
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   997
			5: Minute
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   998
			6: Second
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   999
			7: Year
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1000
			*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1001
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1002
			$month = $this->month[strtolower($match[2])];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1003
			return gmmktime($match[4], $match[5], $match[6], $month, $match[3], $match[7]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1004
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
  1005
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
  1006
		return false;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1007
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1008
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1009
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1010
	 * Parse dates using strtotime()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1011
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1012
	 * @access protected
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1013
	 * @return int Timestamp
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1014
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1015
	public function date_strtotime($date)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1016
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1017
		$strtotime = strtotime($date);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1018
		if ($strtotime === -1 || $strtotime === false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1019
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1020
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1021
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
  1022
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 7
diff changeset
  1023
		return $strtotime;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1024
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1025
}