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);