Exemplo n.º 1
0
/**
 * Rebuild the root .htaccess file
 */
function rebuild_htaccess()
{
    $htaccess = fopen(".htaccess", "w") or die("Could not open .htaccess for writing.");
    fwrite($htaccess, "#drydock htaccess module\n");
    fwrite($htaccess, "Options -Indexes\n");
    //disable snooping fuckers
    fwrite($htaccess, "<Files ~ \"\\.tpl\$\">\n");
    fwrite($htaccess, "Order allow,deny\n");
    fwrite($htaccess, "Deny from all\n");
    fwrite($htaccess, "</Files>\n");
    if (THuserewrite) {
        fwrite($htaccess, "RewriteEngine on\n");
        $db = new ThornDBI();
        $boards = $db->getboard();
        foreach ($boards as $boardentry) {
            fwrite($htaccess, '#  /' . $boardentry['folder'] . '/ - ' . $boardentry['id'] . "\n");
            fwrite($htaccess, 'RewriteRule ^' . $boardentry['folder'] . '/?$ ' . THpath . 'drydock.php?b=' . $boardentry['folder'] . "\n");
            fwrite($htaccess, 'RewriteRule ^' . $boardentry['folder'] . '/([0-9]{1,2})/?$ ' . THpath . 'drydock.php?g=$1&b=' . $boardentry['folder'] . "\n");
            fwrite($htaccess, 'RewriteRule ^' . $boardentry['folder'] . '/thread/([0-9]{1,6})/?$ ' . THpath . 'drydock.php?i=$1&b=' . $boardentry['folder'] . "\n");
            fwrite($htaccess, 'RewriteRule ^' . $boardentry['folder'] . '/edit/([0-9]{1,6})/?$ ' . THpath . 'editpost.php?post=$1&board=' . $boardentry['folder'] . "\n");
            if ($boardentry['boardlayout'] == "drydock-anonbbs") {
                fwrite($htaccess, 'RewriteRule ^' . $boardentry['folder'] . '/tlist/?$ ' . THpath . 'drydock.php?tlist&b=' . $boardentry['folder'] . "\n");
            }
        }
    }
    //end block only needed for rewrite
    fclose($htaccess);
}