Generate::createApache PHP Method

createApache() public method

public createApache ( string $date, array $lines )
$date string
$lines array
    public function createApache($date, array $lines)
    {
        $file = __DIR__ . '/../.htaccess';
        $data = "# " . $this->projectUrl . "\n# Updated " . $date . "\n\n" . "<IfModule mod_rewrite.c>\n\nRewriteEngine On\n\n";
        foreach ($lines as $line) {
            if ($line === end($lines)) {
                $data .= "RewriteCond %{HTTP_REFERER} ^http(s)?://(www.)?.*" . preg_quote($line) . ".*\$ [NC]\n";
                break;
            }
            $data .= "RewriteCond %{HTTP_REFERER} ^http(s)?://(www.)?.*" . preg_quote($line) . ".*\$ [NC,OR]\n";
        }
        $data .= "RewriteRule ^(.*)\$ – [F,L]\n\n</IfModule>\n\n<IfModule mod_setenvif.c>\n\n";
        foreach ($lines as $line) {
            $data .= "SetEnvIfNoCase Referer " . preg_quote($line) . " spambot=yes\n";
        }
        $data .= "\n</IfModule>\n\n# Apache 2.2\n<IfModule !mod_authz_core.c>\n\t<IfModule mod_authz_host.c>\n\t\t" . "Order allow,deny\n\t\tAllow from all\n\t\tDeny from env=spambot\n\t</IfModule>\n</IfModule>\n# " . "Apache 2.4\n<IfModule mod_authz_core.c>\n\t<RequireAll>" . "\n\t\tRequire all granted\n\t\tRequire not env spambot\n\t</RequireAll>\n</IfModule>";
        $this->writeToFile($file, $data);
    }

Usage Example

            }
        } 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);
All Usage Examples Of Generate::createApache