public function domainWorker()
{
$domainsFile = __DIR__ . "/domains.txt";
$handle = fopen($domainsFile, "r");
if (!$handle) {
throw new \RuntimeException('Error opening file ' . $domainsFile);
}
$lines = array();
while (($line = fgets($handle)) !== false) {
$line = trim(preg_replace('/\\s\\s+/', ' ', $line));
// convert russian domains
if (preg_match('/[А-Яа-яЁё]/u', $line)) {
$IDN = new IdnaConvert();
$line = $IDN->encode($line);
}
if (empty($line)) {
continue;
}
$lines[] = $line;
}
fclose($handle);
$uniqueLines = array_unique($lines, SORT_STRING);
sort($uniqueLines, SORT_STRING);
if (is_writable($domainsFile)) {
file_put_contents($domainsFile, implode("\n", $uniqueLines));
} else {
trigger_error("Permission denied");
}
return $lines;
}
} } else { trigger_error("Permission denied"); } } /** * @param array $lines */ public function createGoogleExclude(array $lines) { $file = __DIR__ . '/../google-exclude.txt'; $reqexLines = []; foreach ($lines as $line) { $reqexLines[] = preg_quote($line); } $data = implode('|', $reqexLines); if (is_readable($file) && is_writable($file)) { file_put_contents($file, $data); } else { trigger_error("Permission denied"); } } } date_default_timezone_set('UTC'); $date = date('Y-m-d H:i:s'); $generator = new Generate(); require __DIR__ . '/vendor/autoload.php'; $lines = $generator->domainWorker(); $generator->createApache($date, $lines); $generator->createNginx($date, $lines); $generator->createGoogleExclude($lines);