����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.191.28.161 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/./gltevjme/bofirm.gltechlimited.com/vendor/ua-parser/uap-php/src/Util/ |
Upload File : |
<?php /** * ua-parser * * Copyright (c) 2011-2012 Dave Olsen, http://dmolsen.com * * Released under the MIT license */ namespace UAParser\Util; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Yaml\Yaml; use UAParser\Exception\FileNotFoundException; use function array_map; class Converter { /** @var string */ private $destination; /** @var CodeGenerator */ private $codeGenerator; /** @var Filesystem */ private $fs; public function __construct(string $destination, CodeGenerator $codeGenerator = null, Filesystem $fs = null) { $this->destination = $destination; $this->codeGenerator = $codeGenerator ?: new CodeGenerator(); $this->fs = $fs ?: new Filesystem(); } /** @throws FileNotFoundException */ public function convertFile(string $yamlFile, bool $backupBeforeOverride = true): void { if (!$this->fs->exists($yamlFile)) { throw FileNotFoundException::fileNotFound($yamlFile); } $this->doConvert(Yaml::parse(file_get_contents($yamlFile)), $backupBeforeOverride); } public function convertString(string $yamlString, bool $backupBeforeOverride = true): void { $this->doConvert(Yaml::parse($yamlString), $backupBeforeOverride); } protected function doConvert(array $regexes, bool $backupBeforeOverride = true): void { $regexes = $this->sanitizeRegexes($regexes); $code = $this->codeGenerator->generateArray($regexes); $code = "<?php\nreturn ".$code."\n"; $regexesFile = $this->destination.'/regexes.php'; if ($backupBeforeOverride && $this->fs->exists($regexesFile)) { $currentHash = hash('sha512', file_get_contents($regexesFile)); $futureHash = hash('sha512', $code); if ($futureHash === $currentHash) { return; } $backupFile = $this->destination . '/regexes-' . $currentHash . '.php'; $this->fs->copy($regexesFile, $backupFile); } $this->fs->dumpFile($regexesFile, $code); } private function sanitizeRegexes(array $regexes): array { foreach ($regexes as $groupName => $group) { $regexes[$groupName] = array_map([$this, 'sanitizeRegex'], $group); } return $regexes; } private function sanitizeRegex(array $regex): array { $regex['regex'] = '@' . str_replace('@', '\@', $regex['regex']) . '@'; if (isset($regex['regex_flag'])) { $regex['regex'] .= $regex['regex_flag']; } unset($regex['regex_flag']); return $regex; } }