Update for PHP 7.x

PHP 7 doesn't like the old short tags we were using (it's possible to re-enable
them, but won't be for version 8, so we might as well switch now), and the old
MySQL APIs are now gone entirely, replaced with something different.

This should make everything work at least as well as it used to.

Also, one file used to be checked in with CRLF line endings. ??
This commit is contained in:
Jeff Teunissen 2022-04-27 12:59:31 -04:00
parent 8106d8bdf0
commit 9e6f75ccbd
60 changed files with 371 additions and 357 deletions

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "About QuakeForge";
$currPage = "about"; // Name of the page, for menu/dock
require "parts/preamble.php"; // Load most of document

View file

@ -1,9 +1,9 @@
<?
<?php
$pageName = 'Bugs';
$focused = "none"; // Dock icon name to get a border
require "../parts/preamble.php"; // Load most of document
?>
<?
<?php
function do_list ($title, $name, $list, $def)
{
@ -74,7 +74,7 @@ if ($fromaddr && $pkg && $version && $severity && $os && $details && $subj) {
mail ($address, StripSlashes ($subj), StripSlashes ($mail), "From: \"Bug-Submission Form\" <$address>");
echo '<P>Bug report sent!</P>';
} else {
?><P><STRONG>Note:</STRONG> All fields <STRONG>must</STRONG> be filled in. Your email address will only be used to let you know when the bug is fixed and/or if more information is needed.</P><FORM name="bug" method="post"><table><?
?><P><STRONG>Note:</STRONG> All fields <STRONG>must</STRONG> be filled in. Your email address will only be used to let you know when the bug is fixed and/or if more information is needed.</P><FORM name="bug" method="post"><table><?php
do_inputline ("Your email", "fromaddr", 30, $fromaddr);
do_list ("Package", "pkg", ",QuakeForge,QuakeIIForge,Newtree,QFCC,Forge", $pkg);
do_inputline ("Package version", "version", 12, $version);
@ -83,10 +83,10 @@ if ($fromaddr && $pkg && $version && $severity && $os && $details && $subj) {
do_inputline ("Brief Description", "subj", 60, $subj);
do_inputtext ("Detailed Description", "details", 60, 10, $details);
do_submit ();
?></table></FORM><?
?></table></FORM><?php
}
?>
<?
<?php
require "../parts/postamble.php"; // Finish this sucker up
?>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Change Password";
$need = 'auth';
@ -58,13 +58,13 @@
}
} else {
?>
<FORM action="<? thisURL ?>" method="post">
<FORM action="<?php thisURL ?>" method="post">
<P>Old Password: <INPUT name="oldpass" size="12" type="password" value="<?=$oldpass?>"></P>
<P>New Password: <INPUT name="newpass" size="12" type="password" value="<?=$newpass?>"></P>
<P>Confirm: <INPUT name="confirm" size="12" type="password" value="<?=$confirm?>"></P>
<INPUT name="test" type="hidden" value="1">
<INPUT type="submit" name="Change Password" value="Change Password">
</FORM>
<?
<?php
}
?>

View file

@ -1,4 +1,4 @@
<?
<?php
if (isset ($clicked)) {
StripSlashes ($message);
StripSlashes ($subject);

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Copyright Information";
require "parts/preamble.php"; // Load most of document
?>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "CVS/SSH on Win32";
$focused = "none"; // Dock icon name to gets a border
require("parts/preamble.php"); // Load most of document

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Developer Tools";
$currPage = "devtools"; // Name of the page, for the menu
require "parts/preamble.php"; // Load most of document

View file

@ -1,4 +1,4 @@
<? // Preamble>
<?php // Preamble>
$program = addSlashes ($_REQUEST['program']);
$pageName = "Command Documentation for " . $program;
require "parts/preamble.php"; // Load most of document

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$program = addSlashes ($_REQUEST['program']);
$pageName = "CVAR Documentation for " . $program;
require "parts/preamble.php"; // Load most of document

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Documentation";
$currPage = "docs"; // Name of the page, for the menu
require "parts/preamble.php"; // Load most of document
@ -9,11 +9,11 @@
{
?>
<TABLE class="inside" width="100%">
<?
<?php
tableTitle ($title, 1, featureHeadColor);
?>
<TD class="inside">
<UL><?
<UL><?php
reset ($list);
while (list (, $cdl) = each ($list)) {
if (is_file ('doc/old/' . $cdl . '-' . $type . '.txt')) {
@ -25,7 +25,7 @@
}
?></UL>
</TD>
<?
<?php
tableBoxFooter ();
}
@ -35,7 +35,7 @@
?>
<TR>
<TD colSpan="2">
<?
<?php
if (is_file ('doc/old/' . $notes . '-notes' . '.txt')) {
include ('doc/old/' . $notes . '-notes' . '.txt');
} else {
@ -45,18 +45,18 @@
</TR>
<TR>
<TD class="inside" align="left" vAlign="top" width="50%">
<? doc_list ("Cvar Documentation", $list, "cvars"); ?>
<?php doc_list ("Cvar Documentation", $list, "cvars"); ?>
</TD>
<TD class="inside" align="left" vAlign="top" width="50%">
<? doc_list ("Command Documentation", $list, "cmds"); ?>
<?php doc_list ("Command Documentation", $list, "cmds"); ?>
</TD>
</TR>
<?
<?php
newsBoxClose ();
}
?>
<?
<?php
$program_list = array (
"nq-3dfx",
"nq-ggi",
@ -85,7 +85,7 @@
program_doc_list ("QuakeForge 0.5", $program_list, "quakeforge");
?>
<BR>
<?
<?php
$program_list = array (
"qf-client-3dfx",
"qf-client-ggi",

292
files.php
View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Downloads";
$currPage = "files"; // Name of the page, for the menu
require "parts/preamble.php"; // Load most of document
@ -58,7 +58,7 @@
</P>
<H2>Current Releases</H2>
<? newsBoxOpen('QuakeForge (Main Tree)') ?>
<?php newsBoxOpen('QuakeForge (Main Tree)') ?>
<P>
This is our new development tree (we're back to &quot;quakeforge&quot;),
where we're again in the process of merging Quake and QuakeWorld&hellip;but
@ -86,238 +86,238 @@
<H3>Version 0.7.2 (released 23 Jan 2013)</H3>
<UL>
<LI>Source code
<? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.2", "tar.bz2 tar.gz zip")?>
<?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.2", "tar.bz2 tar.gz zip")?>
</LI>
<LI>Blender mdl import/export addon
<? fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.2", "tar.bz2 tar.gz zip")?>
<?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.2", "tar.bz2 tar.gz zip")?>
</LI>
<LI>Windows binaries (64-bit: wear <a href=http://knowyourmeme.com/memes/the-goggles-do-nothing>goggles</a> too!):</LI>
<UL>
<LI>Clients (use nq-sdl for single player)
32-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.2-win32", "zip")?>
64-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.2-win64", "zip")?>
32-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.2-win32", "zip")?>
64-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.2-win64", "zip")?>
<br>
This is the only zip you need if you want single player Quake.</LI>
<LI>Dedicated servers
32-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.2-win32", "zip")?>
64-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.2-win64", "zip")?>
32-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.2-win32", "zip")?>
64-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.2-win64", "zip")?>
<br>
Both Quake (nq-server) and QuakeWorld (qw-server)</LI>
<LI>Tools (for modders)
32-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.2-win32", "zip")?>
64-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.2-win64", "zip")?>
32-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.2-win32", "zip")?>
64-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.2-win64", "zip")?>
<br>
Map and pak manipulation.</LI>
<LI>Libraries and header files (for developers)
32-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.2-win32", "zip")?>
64-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.2-win64", "zip")?>
32-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.2-win32", "zip")?>
64-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.2-win64", "zip")?>
<br>
Might be useful for creating new tools, otherwise...</LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries
32-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.2-win32", "zip")?>
64-bit: <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.2-win64", "zip")?>
32-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.2-win32", "zip")?>
64-bit: <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.2-win64", "zip")?>
</LI>
</UL>
</UL>
<H3>Version 0.7.1a (released 19 Jan 2013)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.1a", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender mdl import/export addon <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.1a", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.1a", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender mdl import/export addon <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.1a", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>Clients (use nq-sdl for single player)<?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.1a-win32", "zip")?><br>
<LI>Clients (use nq-sdl for single player)<?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.1a-win32", "zip")?><br>
This is the only zip you need if you want single player Quake.</LI>
<LI>Dedicated servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.1a-win32", "zip")?><br>
<LI>Dedicated servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.1a-win32", "zip")?><br>
Both Quake (nq-server) and QuakeWorld (qw-server)</LI>
<LI>Tools (for modders)<?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.1a-win32", "zip")?><br>
<LI>Tools (for modders)<?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.1a-win32", "zip")?><br>
Map and pak manipulation.</LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.1a-win32", "zip")?><br>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.1a-win32", "zip")?><br>
Might be useful for creating new tools, otherwise...</LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.1a-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.1a-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.7.1 (released 18 Jan 2013)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender mdl import/export addon <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender mdl import/export addon <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>SDL client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.1-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.1-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.1-win32", "zip")?></LI>
<LI>SDL client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.1-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.1-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.1-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.7.0 (released 4 Aug 2012)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.0", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender mdl import/export addon (bugfix) <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.0a", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.7.0", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender mdl import/export addon (bugfix) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.7.0a", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>SDL client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.0-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.0-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.0-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.0-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.0-win32", "zip")?></LI>
<LI>SDL client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.7.0-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.7.0-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.7.0-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.7.0-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.7.0-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.6.99 Beta 2 (released 17 Jul 2012)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.99beta2", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender addon <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.6.99beta2-win32", "zip")?>(despite the name, all platforms)</LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.99beta2", "tar.bz2 tar.gz zip")?></LI>
<LI>Blender addon <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/io_mesh_qfmdl-0.6.99beta2-win32", "zip")?>(despite the name, all platforms)</LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>SDL client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.99beta2-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.99beta2-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.99beta2-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.99beta2-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.99beta2-win32", "zip")?></LI>
<LI>SDL client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.99beta2-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.99beta2-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.99beta2-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.99beta2-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.99beta2-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.6.99 Beta 1 (released 11 Jul 2012)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.99beta1", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.99beta1", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>SDL client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.99beta1-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.99beta1-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.99beta1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.99beta1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.99beta1-win32", "zip")?></LI>
<LI>SDL client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.99beta1-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.99beta1-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.99beta1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.99beta1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.99beta1-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.6.2 (released 8 Feb 2012)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.2", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.2", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.6.2-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.6.2-win32", "zip")?></LI>
<LI>SGL (OpenGL GLSL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sglsl-0.6.2-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.2-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.2-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.2-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.2-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.2-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.2-win32", "zip")?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.6.2-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.6.2-win32", "zip")?></LI>
<LI>SGL (OpenGL GLSL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sglsl-0.6.2-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.2-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.2-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.2-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.2-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.2-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.2-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.6.1 (released 7 Jan 2012)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.6.1-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.6.1-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.1-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.1-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.1-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.1-win32", "zip")?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.6.1-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.6.1-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.1-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.1-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.1-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.1-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.6.0 (released 21 Dec 2011)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.0", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.6.0", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.6.0-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.6.0-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.0-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.0-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.0-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.0-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.0-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.0-win32", "zip")?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.6.0-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.6.0-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.0-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.6.0-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.6.0-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.6.0-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.6.0-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.6.0-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.5.99 Beta 4.1 (released 19 Dec 2011)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta4.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta4.1", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta4.1-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta4.1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta4.1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta4.1-win32", "zip")?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta4.1-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta4.1-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta4.1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta4.1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta4.1-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.5.99 Beta 3 (released 17 Dec 2011)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta3", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta3", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta3-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta3-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta3-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta3-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta3-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta3-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta3-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta3-win32", "zip")?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta3-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta3-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta3-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta3-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta3-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta3-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta3-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta3-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.5.99 Beta 2 (released 11 Dec 2011)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta2", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta2", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta2-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta2-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta2-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta2-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta2-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta2-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta2-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta2-win32", "zip")?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta2-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta2-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta2-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta2-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta2-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta2-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta2-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta2-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.5.99 Beta 1 (released 9 Dec 2011)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta1", "tar.bz2 tar.gz zip")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.99beta1", "tar.bz2 tar.gz zip")?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta1-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta1-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta1-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta1-win32", "zip")?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta1-win32", "zip")?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta1-win32", "zip")?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.99beta1-win32", "zip")?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.99beta1-win32", "zip")?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta1-win32", "zip")?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.99beta1-win32", "zip")?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.99beta1-win32", "zip")?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.99beta1-win32", "zip")?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.99beta1-win32", "zip")?></LI>
<LI>QFCC QuakeC/Ruamoko compiler and libraries <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/qfcc-0.5.99beta1-win32", "zip")?></LI>
</UL>
</UL>
<H3>Version 0.5.5 (released 2 May 2004)</H3>
<UL>
<LI>Source code <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.5", "tar.bz2 tar.gz zip", 2)?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-0.5.5", "tar.bz2 tar.gz zip", 2)?></LI>
<LI>Windows (32-bit) binaries:</LI>
<UL>
<LI>WGL (Native OpenGL) client <? fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.5-win32", "zip", 1)?></LI>
<LI>SGL (OpenGL w/ SDL) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.5-win32", "zip", 1)?></LI>
<LI>SDL (Software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.5-win32", "zip", 1)?></LI>
<LI>SDL32 (32-bit software rendering) client <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.5-win32", "zip", 1)?></LI>
<LI>Servers <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.5-win32", "zip", 1)?></LI>
<LI>Tools <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.5-win32", "zip", 1)?></LI>
<LI>Libraries and header files (for developers) <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.5-win32", "zip", 1)?></LI>
<LI>WGL (Native OpenGL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-wgl-0.5.5-win32", "zip", 1)?></LI>
<LI>SGL (OpenGL w/ SDL) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sgl-0.5.5-win32", "zip", 1)?></LI>
<LI>SDL (Software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.5-win32", "zip", 1)?></LI>
<LI>SDL32 (32-bit software rendering) client <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-client-sdl-0.5.5-win32", "zip", 1)?></LI>
<LI>Servers <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-server-0.5.5-win32", "zip", 1)?></LI>
<LI>Tools <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-tools-0.5.5-win32", "zip", 1)?></LI>
<LI>Libraries and header files (for developers) <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quakeforge-devel-0.5.5-win32", "zip", 1)?></LI>
</UL>
<!--
<LI><A href="http://www.debian.org/">Debian GNU/Linux</A> packages for the
@ -331,7 +331,7 @@
<!--<H3>Development snapshots (updated daily)</H3>
<UL>
<LI>Source code
<? fileDownloadLink("files/quakeforge-current", "tar.gz tar.bz2 zip"); ?>
<?php fileDownloadLink("files/quakeforge-current", "tar.gz tar.bz2 zip"); ?>
<BR>
<STRONG>Note:</STRONG> this is an anonymous CVS-ready tree. To update, all you need to do is the following:
<BLOCKQUOTE>
@ -340,7 +340,7 @@
</BLOCKQUOTE>
</LI>
<LI>Win32 binaries (Made with <A href="http://www.mingw.org/">MinGW</A> (GCC) in Linux)
<?
<?php
fileUpdated ("files/qf-win32-server.zip");
echo " <UL>";
echo " <LI>SDL (software) client ";
@ -368,8 +368,8 @@
?>
</LI>
<LI>Source code and prebuilt .dat files for various mods.
<?fileDownloadLink("files/game-source", "tar.gz tar.bz2 zip");?>
<?fileUpdated ("files/game-source.zip");?><BR>
<?php fileDownloadLink("files/game-source", "tar.gz tar.bz2 zip");?>
<?php fileUpdated ("files/game-source.zip");?><BR>
Includes qwprogs.dat needed for standard quakeworld) using QuakeForge
features. Prebuilt files require current cvs/snapshot server. For
0.5.4, edit the Makefile to remove --advanced and rebuild. The modified
@ -377,11 +377,11 @@
</LI>
</UL>
-->
<? newsBoxClose() ?>
<?php newsBoxClose() ?>
<BR>
<A name="quake2"></A>
<?newsBoxOpen("Quake2Forge")?>
<?php newsBoxOpen("Quake2Forge")?>
<P>
<STRONG>Are you ready to rail?</STRONG> Good, 'cause we are too.
</P>
@ -393,15 +393,15 @@
</P>
<H3>Version 0.2.1 (released 06/02/03)</H3>
<UL>
<LI>Source code <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quake2-0.2.1", "tar.gz tar.bz2")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quake2-0.2.1", "tar.gz tar.bz2")?></LI>
</UL>
<H3>Version 0.2 (released 01/02/03)</H3>
<UL>
<LI>Source code <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quake2-0.2", "tar.gz tar.bz2")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quake2-0.2", "tar.gz tar.bz2")?></LI>
</UL>
<H3>Version 0.1 (released 17 Sep 2002)</H3>
<UL>
<LI>Source code <?fileDownloadLink("http://prdownloads.sourceforge.net/quake/quake2-0.1", "tar.gz tar.bz2")?></LI>
<LI>Source code <?php fileDownloadLink("http://prdownloads.sourceforge.net/quake/quake2-0.1", "tar.gz tar.bz2")?></LI>
</UL>
<P>The latest code can be retreived from our server, with the following command:
@ -410,27 +410,27 @@
git clone git://git.code.sf.net/p/quake/quakeforge
</CODE>
</BLOCKQUOTE>
<? newsBoxClose (); ?>
<?php newsBoxClose (); ?>
<H2>Extra Files</H2>
<UL>
<LI>QuakeForge pack (currently only has conback.lmp)
<? fileDownloadLink ("files/pakQF", "pak"); ?>
<?php fileDownloadLink ("files/pakQF", "pak"); ?>
</LI>
<LI>Skybox pack (internally-compressed)
<? fileDownloadLink ("files/skyboxes", "pak"); ?>
<?php fileDownloadLink ("files/skyboxes", "pak"); ?>
</LI>
<LI>Quake Shareware
<? fileDownloadLink ("files/quake-shareware-1.06", "tar.gz tar.bz2 zip"); ?>
<?php fileDownloadLink ("files/quake-shareware-1.06", "tar.gz tar.bz2 zip"); ?>
</LI>
<LI>Original Quake source release
<? fileDownloadLink ("files/q1source", "zip"); ?>
<?php fileDownloadLink ("files/q1source", "zip"); ?>
</LI>
</UL>
<H2>Obsolete Releases</H2>
<?newsBoxOpen("QuakeForge: &lsquo;Newtree&rsquo;")?>
<?php newsBoxOpen("QuakeForge: &lsquo;Newtree&rsquo;")?>
<P>
Newtree is our sta^H^H^H<EM>dead</EM> tree. If we were to work on it
again, it would provide the 0.3 and 0.4 series of QuakeForge releases.
@ -439,17 +439,17 @@
<H3>Version 0.3.0 (released 11 Feb 2001)</H3>
<UL>
<LI>Source code
<? fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0", "tar.gz tar.bz2 zip"); ?>
<?php fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0", "tar.gz tar.bz2 zip"); ?>
<LI>Win32 binaries (Made with Microsoft Developer Studio)
<? fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0-win32", "zip"); ?>
<?php fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0-win32", "zip"); ?>
<LI>Win32 binaries (Made with <A href="http://www.mingw.org/">MinGW</A> (GCC)) (experimental)
<? fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0-mingw-i386", "zip"); ?>
<?php fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0-mingw-i386", "zip"); ?>
<LI>Win32 binaries (Made with <A href="http://www.mingw.org/">MinGW</A> (GCC), i686 optimised) (experimental)
<? fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0-mingw-i686", "zip"); ?>
<?php fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.3.0-mingw-i686", "zip"); ?>
</UL>
<? newsBoxClose (); ?>
<?php newsBoxClose (); ?>
<BR>
<?newsBoxOpen("QuakeForge: &lsquo;NUQ&rsquo;")?>
<?php newsBoxOpen("QuakeForge: &lsquo;NUQ&rsquo;")?>
<P>
QuakeForge: NUQ (pronounced &quot;Nuke&quot;) was, basically, the Classic
Quake version of Newtree. NUQ was based on the WinQuake engine, but with
@ -468,11 +468,11 @@
</P>
<H3>Final Snapshot</H3>
<UL>
<LI>Source code <?fileDownloadLink("files/nuq-current", "tar.gz tar.bz2 zip")?>
<LI>Source code <?php fileDownloadLink("files/nuq-current", "tar.gz tar.bz2 zip")?>
</UL>
<? newsBoxClose (); ?>
<?php newsBoxClose (); ?>
<BR>
<?newsBoxOpen("QuakeForge Original Tree")?>
<?php newsBoxOpen("QuakeForge Original Tree")?>
<P>
Since current work is based on the <STRONG>new</STRONG> merged tree, the
old merged tree snapshots are no longer being made. You can still get it
@ -486,6 +486,6 @@
</P>
<UL>
<LI>Source code
<? fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.1.1", "tar.gz tar.bz2 zip"); ?>
<?php fileDownloadLink ("http://prdownloads.sourceforge.net/quake/quakeforge-0.1.1", "tar.gz tar.bz2 zip"); ?>
</UL>
<? newsBoxClose (); ?>
<?php newsBoxClose (); ?>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Welcome!";
$currPage = "home"; // Name of the page, for the menu
require "parts/preamble.php"; // Load most of document
@ -22,7 +22,7 @@
git clone git://git.code.sf.net/p/quake/quakeforge
</code>
</P>
<?
<?php
need ("boxes news");
newsBoxOpen ('Latest News');
@ -32,4 +32,4 @@
newsBoxClose ();
?>
<!--<? include "partners.inc"; ?>-->
<!--<?php include "partners.inc"; ?>-->

View file

@ -1,4 +1,4 @@
<?
<?php
/*
array.php
@ -31,7 +31,7 @@
Search an array for data
*/
function inArray ($needle, $haystack)
function inArray ($needle, array $haystack)
{
$found = false;
@ -48,7 +48,7 @@
Add an element to an array
*/
function addToArray ($var, &$arr)
function addToArray ($var, array &$arr)
{
if (!inArray ($var, $arr)) {
if (isset ($arr)) {

View file

@ -1,4 +1,4 @@
<?
<?php
/*
auth.php
@ -58,7 +58,7 @@ CREATE TABLE members (
global $authRealm;
global $REMOTE_USER;
if (!$authRealm) {
if (!isset($authRealm)) {
$authRealm = "Member Access";
}
@ -73,16 +73,15 @@ CREATE TABLE members (
component is present. If there IS a right-hand side
component, sqlRWPass is defined.
*/
function authProcess ($user, $password, $split)
function authProcess ($user, $pw, $split)
{
if ($split) {
$pos = strrpos ($password, authSplitChar);
if ($pos !== FALSE) { // user gave an SQL read-write pass
$sqlRWPass = substr ($password, $pos + 1);
$password = substr ($password, 0, $pos);
global $password;
/* We now have a read-write password, so set sqlRWPass */
define ('sqlRWPass', $sqlRWPass);
if (isset ($split) && $split) {
if ($pos = strrpos ($pw, authSplitChar)) {
// user gave an SQL read-write pass
define ('sqlRWPass', substr ($pw, $pos + 1));
$password = substr ($pw, 0, $pos);
} else {
return FALSE;
}
@ -90,16 +89,17 @@ CREATE TABLE members (
$ret = FALSE;
$db = @mysql_pconnect (sqlHost, sqlRWUser, sqlRWPass);
$query = "SELECT u_password, 1 AS auth FROM members" .
$db = @mysqli_connect (sqlHost, sqlRWUser, sqlRWPass, sqlDB);
$query = 'SELECT 1 AS auth FROM members' .
" WHERE u_username='$user'" .
" AND u_password=ENCRYPT('$password','$user')";
$result = @mysql_fetch_array (@mysql_db_query (sqlDB, $query));
" AND u_password=ENCRYPT('$password','$user');";
$result = mysqli_fetch_assoc (mysqli_query ($db, $query));
if ($result[auth])
if (isset($result) && $result['auth']) {
$ret = TRUE;
}
@mysql_close ($db);
mysqli_close ($db);
return $ret;
}
@ -116,25 +116,31 @@ CREATE TABLE members (
}
// Initialization
if (!isset ($_SERVER['PHP_AUTH_USER'])) {
authBasicChallenge ($authRealm, "Login required.");
} else {
$userName = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];
if (!key_exists ('PHP_AUTH_USER', $_SERVER)) {
if (key_exists ('HTTP_AUTHORIZATION', $_SERVER)) {
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
} else if (key_exists ('REDIRECT_HTTP_AUTHORIZATION', $_SERVER)) {
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6)));
} else {
authBasicChallenge ($authRealm, "Login required.");
}
}
if ($userName && $password) {
if (!authProcess ($userName, $password, TRUE)) {
authBasicChallenge ($authRealm, "Login incorrect.");
}
} else {
authBasicChallenge ($authRealm, "Login incorrect.");
if (key_exists ('PHP_AUTH_USER', $_SERVER)) {
$userName = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW'];
$_SERVER['AUTH_TYPE'] = 'Basic';
}
if (!isset($userName) || !isset($password)
|| !authProcess ($userName, $password, TRUE)) {
authBasicChallenge ("$authRealm", "Login incorrect.");
}
$_SERVER['REMOTE_USER'] = $REMOTE_USER = $userName;
$db = @mysql_pconnect (sqlHost, sqlRWUser, sqlRWPass);
$db = @mysqli_connect (sqlHost, sqlRWUser, sqlRWPass, sqlDB);
$query = "SELECT * FROM members" .
" WHERE u_username='$userName'";
$userInfo = @mysql_fetch_assoc (@mysql_db_query (sqlDB, $query));
@mysql_close ($db);
" WHERE u_username='$REMOTE_USER'";
$userInfo = @mysqli_fetch_assoc (@mysqli_query ($db, $query));
@mysqli_close ($db);
?>

View file

@ -1,4 +1,4 @@
<?
<?php
/*
boxes.php
@ -47,4 +47,4 @@
function newsBoxClose () {
echo '</DIV>';
}
?>
?>

View file

@ -1,4 +1,4 @@
<?
<?php
have ("cache");
function cachedURL ($url)

View file

@ -1,4 +1,4 @@
<?
<?php
/*
date.php

View file

@ -28,6 +28,7 @@
function featureOpen ($title, $url=null, $id=null)
{
$part1 = $part2 = '';
if ($url) {
$part1 = '<A href="' . $url . '">';
$part2 = '</A>';
@ -44,4 +45,4 @@
{
echo '</DIV></DIV>';
}
?>
?>

View file

@ -1,4 +1,4 @@
<?
<?php
/*
file.php

View file

@ -1,4 +1,4 @@
<?
<?php
/*
graph.php

View file

@ -1,4 +1,4 @@
<?
<?php
/*
html.php
@ -40,4 +40,4 @@
return strtr ($string, $table);
}
?>
?>

View file

@ -1,4 +1,4 @@
<?
<?php
if (!defined ('_ARRAY_')) { // Treat array handler special
define ('_ARRAY_', 1);

View file

@ -1,4 +1,4 @@
<?
<?php
/*
network.php

View file

@ -1,4 +1,4 @@
<?
<?php
/*
news.php
@ -180,4 +180,4 @@ function searchNews ($string)
printNewsArray ($entries[$i]);
}
}
?>
?>

View file

@ -1,4 +1,4 @@
<?
<?php
/*
plan.php
@ -141,4 +141,4 @@ function usersWithPlans ()
return sqlReadQuery ($query);
}
?>
?>

View file

@ -1,4 +1,4 @@
<?
<?php
/*
rss.php
@ -63,4 +63,4 @@
{
displayRSSFeed ('http://rss.slashdot.org/Slashdot/slashdot', false);
}
?>
?>

View file

@ -1,4 +1,4 @@
<?
<?php
/*
sql.php
@ -34,24 +34,24 @@ function sqlReadQuery ($query)
$ret = null;
$sqlError = null; // always set SQL error condition
if (sqlAvail && $conn = @mysql_pconnect (sqlHost, sqlUser, sqlPass)) {
if ($result = @mysql_db_query (sqlDB, $query, $conn)) {
if ($numRows = @mysql_num_rows ($result)) {
if (sqlAvail && $conn = @mysqli_connect (sqlHost, sqlUser, sqlPass, sqlDB)) {
if ($result = @mysqli_query ($conn, $query)) {
if ($numRows = @mysqli_num_rows ($result)) {
for ($i = 0; $i < $numRows; $i++) {
$ret[$i] = @mysql_fetch_assoc ($result);
$ret[$i] = @mysqli_fetch_assoc ($result);
}
} else { // Successful query, no rows returned.
$ret = true;
}
@mysql_free_result ($result);
@mysqli_free_result ($result);
} else { // Query failed.
$sqlError = mysql_error ();
$sqlError = mysqli_error ($conn);
$ret = false;
}
mysql_close ($conn);
mysqli_close ($conn);
} else { // Couldn't even connect.
if (sqlAvail)
$sqlError = mysql_error ();
$sqlError = mysqli_error ($conn);
}
return $ret;
}
@ -66,21 +66,21 @@ function sqlWriteQuery ($query)
$sqlError = null; // always set SQL error condition
if (sqlAvail && defined ('sqlRWUser') && defined ('sqlRWPass')
&& $conn = @mysql_pconnect (sqlHost, sqlRWUser, sqlRWPass)) {
if ($result = @mysql_db_query (sqlDB, $query, $conn)) { // Success
$ret = @mysql_affected_rows ($conn);
@mysql_free_result ($result);
&& $conn = @mysqli_connect (sqlHost, sqlRWUser, sqlRWPass, sqlDB)) {
if ($result = @mysqli_query ($conn, $query)) { // Success
$ret = @mysqli_affected_rows ($result);
@mysqli_free_result ($result);
} else { // Query failed.
$sqlError = @mysql_error ();
$sqlError = @mysqli_error ($conn);
$ret = false;
}
} else { // Couldn't even connect.
if (sqlAvail && defined ('sqlRWUser') && defined ('sqlRWPass'))
$sqlError = @mysql_error ();
$sqlError = @mysqli_error ($conn);
else
$sqlError = "Cannot write to database.";
}
@mysql_close ($conn);
@mysqli_close ($conn);
return $ret;
}
?>
?>

View file

@ -1,4 +1,4 @@
<?
<?php
/*
table.php
@ -121,4 +121,4 @@ function tableTitle ($name, $cols, $bgColor)
' </TR>';
}
?>
?>

View file

@ -1,7 +1,8 @@
<? // Preamble
<?php // Preamble
$pageName = "Mailing Lists";
require "parts/preamble.php"; // Load most of document
$list = $_REQUEST['list'];
if (!$list) {
echo "Bad Beavis! Go away.\n";
exit ();
@ -10,13 +11,13 @@
}
?>
<FORM method="post" action="http://lists.quakeforge.net/lists/subscribe/<? echo $list; ?>">
<?
<FORM method="post" action="http://lists.quakeforge.net/lists/subscribe/<?= $list ?>">
<?php
tableBoxHeader (featureBgColor, tableHeadColor);
tableTitle ('Subscribing to ' . ucWords ($list), 1, tableHeadColor);
?>
<TD align="center">
<?
<?php
tableHeader ("90%", featureBgColor);
?>
<TR vAlign="middle">
@ -71,7 +72,7 @@
<TR vAlign="middle">
<TD colSpan="2">
<H5>Digest mode:</H5>
<P>&quot;Digest Mode&quot; is a different way of reading <? echo $list; ?>.
<P>&quot;Digest Mode&quot; is a different way of reading <?= $list ?>.
Instead of receiving an email every time someone posts to the list,
you will receive an email once per day containing all list messages
posted that day.</P><BR>
@ -82,7 +83,7 @@
<INPUT type="submit" name="email-button" value="Subscribe">
</TD>
</TR>
<?
<?php
tableFooter ();
tableBoxFooter ();
?>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Mailing Lists";
$currPage = "lists"; // Name of the page, for the menu
require "parts/preamble.php"; // Load most of document
@ -19,19 +19,19 @@
touch with each other and the community. This page is a list of them (or see
the <A href="http://sf.net/mail/?group_id=882">complete listing</A>).
<!--
<H4>QuakeForge Announcements <? mailListLinks ('quakeforge-announce'); ?></H4>
<H4>QuakeForge Announcements <?php mailListLinks ('quakeforge-announce'); ?></H4>
<P>From time to time, the QuakeForge team make announcements. This, along with
the development list, is where they are sent. If you want to know about them,
subscribe here.
-->
<H4>QuakeForge Bugs <? mailListLinks ('quake-bugs'); ?></H4>
<H4>QuakeForge Bugs <?php mailListLinks ('quake-bugs'); ?></H4>
<!--
<H4>Quake II Bugs <? mailListLinks ('quake2-bugs'); ?></H4>
<H4>Newtree Bugs <? mailListLinks ('newtree-bugs'); ?></H4>
<H4>QFCC Bugs <? mailListLinks ('qfcc-bugs'); ?></H4>
<H4>Forge Bugs <? mailListLinks ('forge-bugs'); ?></H4>
<H4>Quake II Bugs <?php mailListLinks ('quake2-bugs'); ?></H4>
<H4>Newtree Bugs <?php mailListLinks ('newtree-bugs'); ?></H4>
<H4>QFCC Bugs <?php mailListLinks ('qfcc-bugs'); ?></H4>
<H4>Forge Bugs <?php mailListLinks ('forge-bugs'); ?></H4>
-->
<P>We hate to admit it, but even our code sometimes has bugs in it. This
@ -39,12 +39,12 @@ mailing lists is for discussing those bugs. Also, the QuakeForge bug-tracking
system sends mail to this list whenever the bug database for each package is
updated.
<H4>QuakeForge SVN Updates <? mailListLinks ('quake-commits'); ?></H4>
<H4>QuakeForge SVN Updates <?php mailListLinks ('quake-commits'); ?></H4>
<!--
<H4>Quake II CVS Updates <? mailListLinks ('quake2-cvs'); ?></H4>
<H4>Newtree CVS Updates <? mailListLinks ('newtree-cvs'); ?></H4>
<H4>QFCC CVS Updates <? mailListLinks ('qfcc-cvs'); ?></H4>
<H4>Forge CVS Updates <? mailListLinks ('forge-cvs'); ?></H4>
<H4>Quake II CVS Updates <?php mailListLinks ('quake2-cvs'); ?></H4>
<H4>Newtree CVS Updates <?php mailListLinks ('newtree-cvs'); ?></H4>
<H4>QFCC CVS Updates <?php mailListLinks ('qfcc-cvs'); ?></H4>
<H4>Forge CVS Updates <?php mailListLinks ('forge-cvs'); ?></H4>
-->
<P>If you would like to get an email every time something happens in the
@ -52,9 +52,9 @@ QuakeForge repo, subscribe to this. Because a mail is sent out every time any
file is changed, they tend to be pretty high-traffic. Each email contains a
list of files changed, and what was changed.
<H4>QuakeForge Development <? mailListLinks ('quake-devel'); ?></H4>
<H4>QuakeForge Development <?php mailListLinks ('quake-devel'); ?></H4>
<!--
<H4>Quake II Development <? mailListLinks ('quake2-devel'); ?></H4>
<H4>Quake II Development <?php mailListLinks ('quake2-devel'); ?></H4>
-->
<P>This is where the main development work is discussed. Tempers run high
@ -63,13 +63,13 @@ interested in helping, have a patch, or are concerned with the direction the
development is taking, this is the place you want to be.
<!--
<H4>QuakeForge Project discussion <? mailListLinks ('quakeforge-project'); ?></H4>
<H4>QuakeForge Project discussion <?php mailListLinks ('quakeforge-project'); ?></H4>
<P>This is where the overall direction of the project is, or isn't, discussed.
Development is off-topic, this list is mainly for non-technical discussion. If
you like watching C-SPAN, this might be a good place for you to be.
<H4>QuakeForge User Discussion <? mailListLinks ('quakeforge-users'); ?></H4>
<H4>QuakeForge User Discussion <?php mailListLinks ('quakeforge-users'); ?></H4>
<P>If you are more interested in playing the game than talking about development
stuff, you want to be here. Many of the QuakeForge developers are here, and

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Member Central";
$need = 'auth';
$modules = 'member_stuff';
@ -15,4 +15,4 @@
<P>
See information on the PHP implementation on the server
<A href="phpinfo.php">here</A>.
</P>
</P>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Add News";
$need = 'auth';
require "parts/preamble.php"; // Load most of document
@ -41,4 +41,4 @@
printNews ($date, $user, $form);
newsBoxClose ();
}
?>
?>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Delete News";
$need = 'auth';
require 'parts/preamble.php'; // Load most of document
@ -88,4 +88,4 @@
}
newsBoxClose ();
}
?>
?>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Edit News";
$need = 'auth';
require 'parts/preamble.php'; // Load most of document

View file

@ -1,4 +1,4 @@
<?
<?php
$pageName = 'News Archives';
$currPage = 'news';
$modules = 'news_search'; // Modules to display

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Our Partners";
$focused = "none"; // Dock icon name to gets a border
require("parts/preamble.php"); // Load most of document

View file

@ -1,4 +1,4 @@
<? // Project logo background rotation
<?php // Project logo background rotation
define ('siteHome', '/home/project-web/quake/htdocs');
require siteHome . "/parts/library.inc"; // Load function library

View file

@ -9,7 +9,7 @@
<STYLE type="text/css" media="screen"><!--
@import url(/styles/<?=$theme?>/level2.css);
--></STYLE>
<TITLE><?
<TITLE><?php
switch ($theme) {
case "christmas":
echo "Happy Holidays from ";
@ -18,6 +18,6 @@
}
echo "$siteName: $pageName";
?></TITLE>
<SCRIPT type="text/javascript"><? include siteHome . "/parts/menuResize.js"; ?></SCRIPT>
<SCRIPT type="text/javascript"><?php include siteHome . "/parts/menuResize.js"; ?></SCRIPT>
</HEAD>
<BODY>

View file

@ -1,4 +1,4 @@
<?
<?php
// helpful constants
if (!defined( '_COLORS_' )) {
define ('_COLORS_', 1);
@ -7,13 +7,16 @@
define ('thisURL', $_SERVER['SCRIPT_NAME']);
if (!$currPage)
$has = array();
$needs = array();
if (!isset($currPage))
$currPage = 'none';
if (!$theme && date ('m') == 12)
if (!isset($theme) && date ('m') == 12)
$theme = "christmas";
if (!$theme)
if (!isset($theme))
$theme = "quakeforge";
switch ($theme) {

View file

@ -1,4 +1,4 @@
<?
<?php
need ("feature");
featureOpen ("Member Links");
@ -6,7 +6,7 @@
<P>News: [&nbsp;<A href="news_add.php">Post</A>&nbsp;]</P>
<P>Plan: [&nbsp;<A href="plan_add.php">Post</A>&nbsp;]</P>
<P>Password: [&nbsp;<A href="chpass.php">Change</A>&nbsp;]</P>
<?
<?php
featureClose ();
if ($userInfo['u_admin']) {
@ -15,7 +15,7 @@
<P>News: [&nbsp;<A href="news_add.php">Add</A>&nbsp;|&nbsp;<A href="news_del.php">Del</A>&nbsp;|&nbsp;<A href="news_edit.php">Edit</A>&nbsp;]</P>
<P>Plans: [&nbsp;<A href="plan_add.php">Add</A>&nbsp;|&nbsp;<A href="plan_del.php">Del</A>&nbsp;|&nbsp;<A href="plan_edit.php">Edit</A>&nbsp;]</P>
<P>Users: [&nbsp;<A href="user_add.php">Add</A>&nbsp;|&nbsp;<A href="user_del.php">Del</A>&nbsp;|&nbsp;<A href="user_edit.php">Edit</A>&nbsp;]</P>
<?
<?php
featureClose ();
}
?>
?>

View file

@ -1,6 +1,6 @@
<!-- begin menu -->
<DIV class="menu" id="menu">
<?
<?php
function menuSectionHeader ($name)
{
echo "<!-- menuSectionHeader(" . $name . ') -->' .
@ -22,6 +22,7 @@
$final = '<BR>';
} else {
$chr = ' | ';
$final = '';
}
if ($name == $currPage) {

View file

@ -1,4 +1,4 @@
<?
<?php
// local vars
$string = $_GET['string'];
$month = $_GET['month'];
@ -14,13 +14,13 @@
<FORM name="bymonth" method="get" action="<?=thisURL?>">
<P align="center">
<SELECT name="month">
<?
<?php
for ( $i = 1 ; $i < 13 ; $i++ ) {
printf ("<OPTION%s>%02d</OPTION>", $i == $month ? " selected" : "", $i);
}
?>
</SELECT><STRONG> / </STRONG><SELECT name="year">
<?
<?php
if ($year == "")
$year = date ('Y');
for ($i = 2000; $i <= date ('Y'); $i++ ) {
@ -35,7 +35,7 @@
<BR>
<INPUT type="submit" value="Search">
</P>
</FORM><?
</FORM><?php
featureClose ();
}
@ -49,14 +49,14 @@
?>
<FORM name="bystring" method="get" action="<?=thisURL?>">
<P align="center">
<?
<?php
printf ('<INPUT name="string" type="text" size="16" value="%s">', $string);
?>
<BR>
<BR>
<INPUT TYPE="submit" VALUE="Search">
</P>
</FORM><?
</FORM><?php
featureClose ();
}

View file

@ -1,4 +1,4 @@
<?
<?php
function planUsers ()
{
need ('boxes feature plan');
@ -18,4 +18,4 @@
}
planUsers ();
?>
?>

View file

@ -2,7 +2,7 @@
</DIV>
<DIV id="bottom">
<SPAN class="copyright">
Copyright &copy; 1999-<? echo date("Y"); ?> the QuakeForge Project.<BR>
Copyright &copy; 1999-<?= date("Y") ?> the QuakeForge Project.<BR>
<A href="/copyright.php">Additional Copyright and Trademark Acknowledgements</A>
</SPAN>
</DIV>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$siteName = "The QuakeForge Project";
$columns = 'content';
define ('siteHome', "/home/project-web/quake/htdocs");
@ -7,7 +7,7 @@
date_default_timezone_set ("UTC");
require siteHome . "/parts/library.inc"; // Load function library
if ($need) {
if (isset($need) && $need) {
need ($need);
unset ($need);
}
@ -18,7 +18,7 @@
require siteHome . "/parts/menu.inc"; // Load up the menu
$contentClass = '';
if ($modules && $modules = explode (" ", $modules)) {
if (isset ($modules) && $modules && $modules = explode (" ", $modules)) {
$columns .= ' features';
$contentClass = 'class="narrow"';
@ -42,7 +42,7 @@
echo ');</SCRIPT>';
?>
<DIV <?=$contentClass?> id="content"><!-- Content Start -->
<?
<?php
require siteHome . "/parts/topmain.inc"; // insert page title
/*
@ -55,5 +55,5 @@
include siteHome . "/parts/postamble.inc"; // heehee
}
register_shutdown_function (postamble);
register_shutdown_function ('postamble');
?>

View file

@ -1,4 +1,4 @@
<?
<?php
need ('table');
function isFocused ($name)

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "PHP Information";
$need = 'auth';
require "parts/preamble.php"; // Load up most of the document
@ -10,4 +10,4 @@
| INFO_VARIABLES;
phpinfo ($infoWanted);
?>
?>

View file

@ -1,10 +1,12 @@
<? // Preamble
<?php // Preamble
$pageName = "Developer Plans";
$currPage = "plans"; // Name of the page, for the menu
$modules = "plan_search";
require "parts/preamble.php"; // Load most of document
$user = $_SERVER['PATH_INFO'];
$user='';
if (isset($_SERVER['PATH_INFO']))
$user = $_SERVER['PATH_INFO'];
need ('plan');

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Post a new Plan Entry";
$need = 'auth';
require "parts/preamble.php"; // Load most of document

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Delete Plan";
$need = 'auth';
require 'parts/preamble.php'; // Load most of document
@ -109,4 +109,4 @@
}
newsBoxClose ();
}
?>
?>

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Edit Plan Entries";
$need = 'auth';
require "parts/preamble.php"; // Load most of document

View file

@ -1,12 +1,12 @@
<? // Preamble
<?php // Preamble
$pageName = "Progress";
$currPage = "progress"; // Name of the page, for the menu
require "parts/preamble.php"; // Load most of document
?>
?>
<TABLE width="100%" cellSpacing="0" cellPadding="0" border="0">
<TR vAlign=top>
<TD colSpan="2">
<?
<?php
need ('graph table');
function progressKey() // Display key for progress bar
@ -14,7 +14,7 @@
echo '<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD align="center">' .
'<IMG src="/img/graph/ProgressBar.desc.png" ALT="0-33% Hackers, 34-67% Developers, 68-100% Users">' .
'</TD><TD>&nbsp;</TD><TD align="left" ></TD></TR>';
}
}
function progressMeter( $name, $pct, $comments )
{

View file

@ -1,4 +1,4 @@
<?
<?php
define ('siteHome', "/home/project-web/quake/htdocs");
require siteHome . "/parts/library.inc"; // Load function library
@ -11,7 +11,7 @@
<description>Latest QuakeForge Project news</description>
<link>http://www.quakeforge.net/rss.php</link>
<copyright>Copyright 1999-2011 Contributors of the QuakeForge Project</copyright>
<?
<?php
$newsFormat = "RSS";
need ('news');

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Screenshots";
$focused = "none"; // Dock icon name to gets a border
$currPage = "shots"; // Name of the page, for the menu
@ -20,7 +20,7 @@
<DIV class="featureBox">
<DIV class="featureTitle">QuakeForge: Newtree</DIV>
<?
<?php
screenshot ('glsl-sw', 'The SW renderer... or is it? No, it\'s the GLSL Renderer. :)', 240, 150);
screenshot ('glsl-entalpha', 'GLSL Renderer with entity alpha on <a href="http://www.quaddicted.com/reviews/back2forwards.html">Forwards Compatible</a>', 240, 150);
screenshot ('glsl-water+fog', 'GLSL Renderer with fog and transparent water on <a href="http://wp.vondur.net/?page_id=1047">Elements</a>', 240, 150);

View file

@ -1,4 +1,4 @@
<?
<?php
switch ($type_of_search) {
case "news":
$string = AddSlashes ($words);
@ -30,4 +30,4 @@
header ("Location: http://www.google.com/custom?domains=$site&sitesearch=$site&q=$words");
break;
}
?>
?>

View file

@ -1,26 +1,26 @@
<?
need('date sql');
$conn = @mysql_pconnect (sqlHost, sqlUser, sqlPass);
if ($conn) {
$query = 'SELECT p_date, p_user, p_plan FROM devel_plans ' .
'WHERE p_plan != \'None\' ORDER BY p_date DESC, p_user';
$result = @mysql_db_query (sqlDB, $query, $conn);
if ($result) {
$numRows = @mysql_num_rows ($result);
if ($numRows) {
for ($i = 0 ; $i < $numRows ; $i++) {
list ($p_date, $p_user, $p_plan) = mysql_fetch_row ($result);
newsItem (dateFromSQLDateTime ($p_date), ucfirst($p_user), StripSlashes($p_plan));
}
} else {
newsItem ('now', 'Web Server', '<P>An error occoured, please contact the webmaster');
}
} else {
newsItem ('now', 'Web Server', '<P>Can\'t find any plans! Please contact the webmaster');
}
mysql_close ($conn);
} else {
newsItem ('Now', 'Web Server', '<P>Error: Could not connect to SQL server to fetch plans. Please notify the server administrator.');
}
?>
<?php
need('date sql');
$conn = @mysqli_pconnect (sqlHost, sqlUser, sqlPass, sqlDB);
if ($conn) {
$query = 'SELECT p_date, p_user, p_plan FROM devel_plans ' .
'WHERE p_plan != \'None\' ORDER BY p_date DESC, p_user';
$result = @mysqli_query ($conn, $query);
if ($result) {
$numRows = @mysqli_num_rows ($result);
if ($numRows) {
for ($i = 0 ; $i < $numRows ; $i++) {
list ($p_date, $p_user, $p_plan) = mysqli_fetch_row ($result);
newsItem (dateFromSQLDateTime ($p_date), ucfirst($p_user), StripSlashes($p_plan));
}
} else {
newsItem ('now', 'Web Server', '<P>An error occoured, please contact the webmaster');
}
} else {
newsItem ('now', 'Web Server', '<P>Can\'t find any plans! Please contact the webmaster');
}
mysqli_close ($conn);
} else {
newsItem ('Now', 'Web Server', '<P>Error: Could not connect to SQL server to fetch plans. Please notify the server administrator.');
}
?>

View file

@ -1,9 +1,9 @@
<? // Preamble
<?php // Preamble
$pageName = "State of the Code";
$focused = "none"; // Dock icon name to gets a border
$currPage = "sotc"; // Name of the page, for the menu
require "../parts/preamble.php"; // Load most of document
?>
?>
<!--SEARCHME-->
<P>The State of the Code address is a not-frequently-enough updated article
written by one of the QuakeForge developers, primarily for other QuakeForge
@ -18,7 +18,7 @@ them. If you want to really know what's going on, you probably don't want
details left out because they might not make a whole lot of sense to a
non-coder. Feedback is always welcome. So are corrections if they're
necessary.
<? // Display latest update
<?php // Display latest update
function sotcShowLatest ($year) {
$i = 0;
@ -51,7 +51,7 @@ necessary.
rsort ($years);
return $years;
}
}
}
function sotcListFiles( $year ) {
$i = 0;
@ -79,7 +79,7 @@ necessary.
}
}
}
if (!$year) {
$year = date('Y', time ());
}
@ -87,8 +87,8 @@ necessary.
sotcShowLatest ($year);
echo '<P>';
sotcListFiles ($year);
?>
?>
<!--NOSEARCH-->
<?
<?php
require "../parts/postamble.php"; // Finish this sucker up
?>

View file

@ -1,7 +1,7 @@
<? // Preamble
<?php // Preamble
$pageName = "Speed/Time Cheat Protection";
require "parts/preamble.php"; // Load most of document
?>
?>
<H4>How does it work?</H4>
<P>The &quot;time cheat&quot; relies on the client lying to the server
about how much time has passed since the last packet was sent. Knowing

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Page Subtitle";
$currPage = "none"; // Page name, for menu -- see pages.txt
require "parts/preamble.php"; // Load up most of the document

View file

@ -1,4 +1,4 @@
<? // Preamble
<?php // Preamble
$pageName = "Thanks!";
require "parts/preamble.php"; // Load most of document
?>