Actualización

This commit is contained in:
Xes
2025-04-10 12:24:57 +02:00
parent 8969cc929d
commit 45420b6f0d
39760 changed files with 4303286 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
<?php
/**
* @param string $directory
*
* @return array
*/
function getRules($directory)
{
$rules = [];
$iterator = new DirectoryIterator($directory);
foreach ($iterator as $file) {
if ($file->isFile() && $file->getExtension() === 'json') {
$rules[$file->getBasename('.json')] = json_decode(file_get_contents($file->getRealPath()), true);
}
}
return $rules;
}
/**
* @param string $fileName
* @param array $rules
*
* @return bool
*/
function insertRules($fileName, array $rules = [])
{
$startTag = '/*INSERT_START*/';
$endTag = '/*INSERT_END*/';
$content = file_get_contents($fileName);
$content = preg_replace(
$regexp = sprintf('#%s(.*)%s#s', quotemeta($startTag), quotemeta($endTag)),
$startTag.var_export($rules, true).$endTag,
$content
);
return false !== file_put_contents($fileName, $content);
}
$directory = __DIR__.'/../Resources/rules';
$fileName = __DIR__.'/../src/RuleProvider/DefaultRuleProvider.php';
$rules = getRules($directory);
$result = insertRules($fileName, $rules);
$ruleCount = array_reduce($rules, function ($count, $rules) {
return $count + count($rules);
}, 0);
if ($result) {
printf("Written %d rules into '%s'.\n", $ruleCount, $fileName);
} else {
printf("Error writing rules into '%s'.\n", $fileName);
}