scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 125  →  ?path2? @ 126
/vendor/aura/uri/scripts/instance.php
@@ -0,0 +1,9 @@
<?php
namespace Aura\Uri;
require_once dirname(__DIR__) . '/src.php';
return new Url\Factory(
$_SERVER,
new PublicSuffixList(
include dirname(__DIR__) . '/data/public-suffix-list.php'
)
);
/vendor/aura/uri/scripts/update.php
@@ -0,0 +1,68 @@
<?php
/**
*
* Builds the PSL data array from the parts of a text line.
*
* @param array &$data The PSL data array.
*
* @param array $parts The parts of a PSL text line.
*
* @return void
*
*/
function build(array &$data, array $parts)
{
$part = array_pop($parts);
$is_domain = true;
 
if (strpos($part, '!') === 0) {
$part = substr($part, 1);
$is_domain = false;
}
 
if (! array_key_exists($part, $data)) {
if ($is_domain) {
$data[$part] = array();
} else {
$data[$part] = array('!' => '');
}
}
 
if ($is_domain && count($parts) > 0) {
build($data[$part], $parts);
}
}
 
/**
*
* Update the public suffix list files.
*
*/
 
// get the origin text file
$text = file_get_contents('http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1');
$lines = explode("\n", $text);
 
// convert text lines to data
$data = [];
foreach ($lines as $line) {
// massage the line
$line = trim($line);
// skip empty and comment lines
if (! $line || substr($line, 0, 2) == '//') {
continue;
}
// get the line parts and build into the psl data
$parts = explode('.', $line);
build($data, $parts);
}
 
// write the data to a PHP file
$code = '<?php' . PHP_EOL . 'return ' . var_export($data, true) . ';';
$file = dirname(__DIR__) . DIRECTORY_SEPARATOR
. 'data' . DIRECTORY_SEPARATOR
. 'public-suffix-list.php';
file_put_contents($file, $code);
 
// done!
exit(0);