Файл: vendor/whichbrowser/parser/bin/update-regexes.php
Строк: 71
<?php
include_once __DIR__ . '/bootstrap.php';
use WhichBrowserDataApplications;
$command = 'list';
$types = [];
$options = [];
array_shift($argv);
if (count($argv)) {
foreach ($argv as $argument) {
if (in_array($argument, [ 'list' ])) {
$command = $argument;
} elseif (substr($argument, 0, 2) == '--') {
$options[] = substr($argument, 2);
} else {
$types[] = $argument;
}
}
}
if (in_array('all', $options)) {
$types = [
'applications-bots',
'applications-browsers',
'applications-others'
];
}
foreach ($types as $i => $type) {
command($command, $type);
}
function command($command, $type) {
switch($command) {
case 'list':
command_list($type);
break;
}
}
function command_list($type) {
echo "Creating regex for 'data/{$type}.php'...n";
require_once __DIR__ . '/../data/' . $type . '.php';
if ($type == 'applications-bots') {
$list = Applications::$BOTS;
$ids = [];
foreach ($list as $i => $bot) {
$ids[] = $bot['id'];
}
$ids = array_unique($ids);
$regex = '/(' . implode('|', $ids) . ')/i';
$file = "<" . "?phpn";
$file .= "n";
$file .= "namespace WhichBrowser\Data;n";
$file .= "n";
$file .= "Applications::$BOTS_REGEX = '" . $regex . "';n";
file_put_contents(__DIR__ . '/../data/regexes/' . $type . '.php', $file);
}
if ($type == 'applications-browsers') {
$list = Applications::$BROWSERS;
$ids = [];
foreach ($list as $t => $l) {
foreach ($l as $i => $item) {
$ids[] = $item['id'];
}
}
$ids = array_unique($ids);
$regex = '/(' . implode('|', $ids) . ')/i';
$file = "<" . "?phpn";
$file .= "n";
$file .= "namespace WhichBrowser\Data;n";
$file .= "n";
$file .= "Applications::$BROWSERS_REGEX = '" . $regex . "';n";
file_put_contents(__DIR__ . '/../data/regexes/' . $type . '.php', $file);
}
if ($type == 'applications-others') {
$list = Applications::$OTHERS;
$ids = [];
foreach ($list as $t => $l) {
foreach ($l as $i => $item) {
$ids[] = $item['id'];
}
}
$ids = array_unique($ids);
$regex = '/(' . implode('|', $ids) . ')/i';
$file = "<" . "?phpn";
$file .= "n";
$file .= "namespace WhichBrowser\Data;n";
$file .= "n";
$file .= "Applications::$OTHERS_REGEX = '" . $regex . "';n";
file_put_contents(__DIR__ . '/../data/regexes/' . $type . '.php', $file);
}
}