Sync plugins from current page

Signed-off-by: Adrian Nöthlich <git@promasu.tech>
This commit is contained in:
2019-09-11 19:08:46 +02:00
parent 85d41e4216
commit 8515ff9587
1847 changed files with 505469 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
<?php // mapping of windows zones to timezones (IANA, Ohlson, PHP etc)
$wz["Dateline Standard Time"] = "Etc/GMT+12";
$wz["UTC-11"] = "Etc/GMT+11";
$wz["Hawaiian Standard Time"] = "Pacific/Honolulu";
$wz["Alaskan Standard Time"] = "America/Anchorage";
$wz["Pacific Standard Time (Mexico)"] = "America/Santa_Isabel";
$wz["Pacific Standard Time"] = "America/Los_Angeles";
$wz["US Mountain Standard Time"] = "America/Phoenix";
$wz["Mountain Standard Time (Mexico)"] = "America/Chihuahua";
$wz["Mountain Standard Time"] = "America/Denver";
$wz["Central America Standard Time"] = "America/Guatemala";
$wz["Central Standard Time"] = "America/Chicago";
$wz["Central Standard Time (Mexico)"] = "America/Mexico_City";
$wz["Canada Central Standard Time"] = "America/Regina";
$wz["SA Pacific Standard Time"] = "America/Bogota";
$wz["Eastern Standard Time"] = "America/New_York";
$wz["US Eastern Standard Time"] = "America/Indianapolis";
$wz["Venezuela Standard Time"] = "America/Caracas";
$wz["Paraguay Standard Time"] = "America/Asuncion";
$wz["Atlantic Standard Time"] = "America/Halifax";
$wz["Central Brazilian Standard Time"] = "America/Cuiaba";
$wz["SA Western Standard Time"] = "America/La_Paz";
$wz["Pacific SA Standard Time"] = "America/Santiago";
$wz["Newfoundland Standard Time"] = "America/St_Johns";
$wz["E. South America Standard Time"] = "America/Sao_Paulo";
$wz["Argentina Standard Time"] = "America/Buenos_Aires";
$wz["SA Eastern Standard Time"] = "America/Cayenne";
$wz["Greenland Standard Time"] = "America/Godthab";
$wz["Montevideo Standard Time"] = "America/Montevideo";
$wz["Bahia Standard Time"] = "America/Bahia";
$wz["UTC-02"] = "Etc/GMT+2";
$wz["Azores Standard Time"] = "Atlantic/Azores";
$wz["Cape Verde Standard Time"] = "Atlantic/Cape_Verde";
$wz["Morocco Standard Time"] = "Africa/Casablanca";
$wz["UTC"] = "Etc/GMT";
$wz["GMT Standard Time"] = "Europe/London";
$wz["Greenwich Standard Time"] = "Atlantic/Reykjavik";
$wz["W. Europe Standard Time"] = "Europe/Berlin";
$wz["Central Europe Standard Time"] = "Europe/Budapest";
$wz["Romance Standard Time"] = "Europe/Paris";
$wz["Central European Standard Time"] = "Europe/Warsaw";
$wz["W. Central Africa Standard Time"] = "Africa/Lagos";
$wz["Namibia Standard Time"] = "Africa/Windhoek";
$wz["Jordan Standard Time"] = "Asia/Amman";
$wz["GTB Standard Time"] = "Europe/Bucharest";
$wz["Middle East Standard Time"] = "Asia/Beirut";
$wz["Egypt Standard Time"] = "Africa/Cairo";
$wz["Syria Standard Time"] = "Asia/Damascus";
$wz["South Africa Standard Time"] = "Africa/Johannesburg";
$wz["FLE Standard Time"] = "Europe/Kiev";
$wz["Turkey Standard Time"] = "Europe/Istanbul";
$wz["Israel Standard Time"] = "Asia/Jerusalem";
$wz["Libya Standard Time"] = "Africa/Tripoli";
$wz["Arabic Standard Time"] = "Asia/Baghdad";
$wz["Kaliningrad Standard Time"] = "Europe/Kaliningrad";
$wz["Arab Standard Time"] = "Asia/Riyadh";
$wz["E. Africa Standard Time"] = "Africa/Nairobi";
$wz["Iran Standard Time"] = "Asia/Tehran";
$wz["Arabian Standard Time"] = "Asia/Dubai";
$wz["Azerbaijan Standard Time"] = "Asia/Baku";
$wz["Russian Standard Time"] = "Europe/Moscow";
$wz["Mauritius Standard Time"] = "Indian/Mauritius";
$wz["Georgian Standard Time"] = "Asia/Tbilisi";
$wz["Caucasus Standard Time"] = "Asia/Yerevan";
$wz["Afghanistan Standard Time"] = "Asia/Kabul";
$wz["West Asia Standard Time"] = "Asia/Tashkent";
$wz["Pakistan Standard Time"] = "Asia/Karachi";
$wz["India Standard Time"] = "Asia/Calcutta";
$wz["Sri Lanka Standard Time"] = "Asia/Colombo";
$wz["Nepal Standard Time"] = "Asia/Katmandu";
$wz["Central Asia Standard Time"] = "Asia/Almaty";
$wz["Bangladesh Standard Time"] = "Asia/Dhaka";
$wz["Ekaterinburg Standard Time"] = "Asia/Yekaterinburg";
$wz["Myanmar Standard Time"] = "Asia/Rangoon";
$wz["SE Asia Standard Time"] = "Asia/Bangkok";
$wz["N. Central Asia Standard Time"] = "Asia/Novosibirsk";
$wz["China Standard Time"] = "Asia/Shanghai";
$wz["North Asia Standard Time"] = "Asia/Krasnoyarsk";
$wz["Singapore Standard Time"] = "Asia/Singapore";
$wz["W. Australia Standard Time"] = "Australia/Perth";
$wz["Taipei Standard Time"] = "Asia/Taipei";
$wz["Ulaanbaatar Standard Time"] = "Asia/Ulaanbaatar";
$wz["North Asia East Standard Time"] = "Asia/Irkutsk";
$wz["Tokyo Standard Time"] = "Asia/Tokyo";
$wz["Korea Standard Time"] = "Asia/Seoul";
$wz["Cen. Australia Standard Time"] = "Australia/Adelaide";
$wz["AUS Central Standard Time"] = "Australia/Darwin";
$wz["E. Australia Standard Time"] = "Australia/Brisbane";
$wz["AUS Eastern Standard Time"] = "Australia/Sydney";
$wz["West Pacific Standard Time"] = "Pacific/Port_Moresby";
$wz["Tasmania Standard Time"] = "Australia/Hobart";
$wz["Yakutsk Standard Time"] = "Asia/Yakutsk";
$wz["Central Pacific Standard Time"] = "Pacific/Guadalcanal";
$wz["Vladivostok Standard Time"] = "Asia/Vladivostok";
$wz["New Zealand Standard Time"] = "Pacific/Auckland";
$wz["UTC+12"] = "Etc/GMT-12";
$wz["Fiji Standard Time"] = "Pacific/Fiji";
$wz["Magadan Standard Time"] = "Asia/Magadan";
$wz["Tonga Standard Time"] = "Pacific/Tongatapu";
$wz["Samoa Standard Time"] = "Pacific/Apia";
$wz["Line Islands Standard Time"] = "Pacific/Kiritimati";

View File

@@ -0,0 +1,22 @@
<?php
// This file adds the ability to parse windows zones and map them to proper timezones
// the timezone mapping was generated by windowszonemap.php which reads the xml file at
// http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml and converts it to a php array
function amr_map_windows_to_timezone($icstzid) {
include ('WindowsZonesToTimeZones.txt');
if (isset($wz[$icstzid])) {
if (isset ($_REQUEST['tzdebug'])) echo '<br />Found a windows zone, converted it to a timezone.'.$wz[$icstzid];
//reset($wz[$icstzid]); // we don't know the territories, so just grab first one
//$first = current($wz[$icstzid]);
return ($wz[$icstzid]);
}
else return $icstzid;
}
//echo amr_map_windows_to_timezone('Alaskan Standard Time'); //for test
add_filter ('amr-timezoneid-filter','amr_map_windows_to_timezone');

View File

@@ -0,0 +1,3 @@
<?php
// Silence is golden.
?>

View File

@@ -0,0 +1,47 @@
<?php
// get the latest windows timezone xml file from unicode.org (in case they change!)
libxml_use_internal_errors(true);
$url = "http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml";
$xml = simplexml_load_file($url);
if (!$xml)
printf('Error accessing xml file at %s',$url); //,'amr-windows-timezones');
$zones = iterator_to_array( $xml->windowsZones->mapTimezones->mapZone,0);
foreach ($zones as $zone) {
$wz = (string) $zone['other'];
$terr = (string) $zone['territory'];
$tzmapping[$wz][$terr] = (string) $zone['type'];;
}
//var_dump($tzmapping);
// produce code to set up the array for php to check values against
$phptext = '<?php // mapping of windows zones to timezones (IANA, Ohlson, PHP etc)'.PHP_EOL;
foreach ($tzmapping as $z=>$terr) {
foreach ($terr as $t=>$tz) {
//$phptext .= '$wz["'.$z.'"]["'.$t.'"] = "'.$tz.'";'.PHP_EOL; // not using territories now - keep it simpler
$phptext .= '$wz["'.$z.'"] = "'.$tz.'";'.PHP_EOL;
break;
}
}
$filename = 'WindowsZonesToTimeZones.txt';
// ideally if in wordpress save somewhere one has access to
$result = file_put_contents ( $filename //string $filename
,$phptext //mixed $data [
, LOCK_EX //int $flags = 0 [
//, //resource $context ]]
);
if ($result) {
?><h2>Windows zones to timezones mapping (<?php echo $result; ?>characters) written to file: <a href="<?php echo $filename; ?>"><?php echo $filename; ?></a></h2><?php
}
else {
?><h2>Error writing to windows zones mapping file <?php echo $filename; ?></h2>
<p>If permissions prevent updating the file, you can run this script on any server and/or change the filename and then move it to the plugins timezones folder.
It only needs to be updated in the possibly unlikley event that windows or unicode.org change the mappings.</p>
<?php }
?><p>Full mapping loaded, but currently only using first territory of each, only the first was written.
<?php var_dump($tzmapping);?>
</p><?php