/** * 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); }