mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-25 14:22:42 +00:00
52 lines
1.3 KiB
PHP
52 lines
1.3 KiB
PHP
|
#!/usr/bin/env php
|
||
|
<?php
|
||
|
|
||
|
$windowsZonesUrl = 'http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml';
|
||
|
$outputFile = __DIR__ . '/../lib/timezonedata/windowszones.php';
|
||
|
|
||
|
echo "Fetching timezone map from: " . $windowsZonesUrl, "\n";
|
||
|
|
||
|
$data = file_get_contents($windowsZonesUrl);
|
||
|
|
||
|
$xml = simplexml_load_string($data);
|
||
|
|
||
|
$map = [];
|
||
|
|
||
|
foreach ($xml->xpath('//mapZone') as $mapZone) {
|
||
|
|
||
|
$from = (string)$mapZone['other'];
|
||
|
$to = (string)$mapZone['type'];
|
||
|
|
||
|
list($to) = explode(' ', $to, 2);
|
||
|
|
||
|
if (!isset($map[$from])) {
|
||
|
$map[$from] = $to;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
ksort($map);
|
||
|
echo "Writing to: $outputFile\n";
|
||
|
|
||
|
$f = fopen($outputFile, 'w');
|
||
|
fwrite($f, "<?php\n\n");
|
||
|
fwrite($f, "/**\n");
|
||
|
fwrite($f, " * Automatically generated timezone file\n");
|
||
|
fwrite($f, " *\n");
|
||
|
fwrite($f, " * Last update: " . date(DATE_W3C) . "\n");
|
||
|
fwrite($f, " * Source: " . $windowsZonesUrl . "\n");
|
||
|
fwrite($f, " *\n");
|
||
|
fwrite($f, " * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/).\n");
|
||
|
fwrite($f, " * @license http://sabre.io/license/ Modified BSD License\n");
|
||
|
fwrite($f, " */\n");
|
||
|
fwrite($f, "\n");
|
||
|
fwrite($f, "return ");
|
||
|
fwrite($f, var_export($map, true) . ';');
|
||
|
fclose($f);
|
||
|
|
||
|
echo "Formatting\n";
|
||
|
|
||
|
exec(__DIR__ . '/sabre-cs-fixer fix ' . escapeshellarg($outputFile));
|
||
|
|
||
|
echo "Done\n";
|