BIG Web site changes. I think I've gotten everything, but I may have

missed some bugs.
This commit is contained in:
Jeff Teunissen 2000-05-10 22:38:21 +00:00
parent b39b142b62
commit 663a1dc2db
29 changed files with 505 additions and 421 deletions

View file

@ -1,25 +1,27 @@
<?
$conn = mysql_pconnect( "moby", "quakeforge", "6ef/HNvv" );
if ( $conn ) {
$query = 'SELECT n_date, n_user, n_news FROM news_main ' .
'WHERE n_date > DATE_SUB(NOW(), INTERVAL 1 MONTH) ' .
'ORDER BY n_date DESC';
$result = mysql_db_query( "quakeforge", $query, $conn );
if ( $result > 0 ) {
$numRows = mysql_num_rows( $result );
if ( $numRows > 0 ) {
for ( $i = 0 ; $i < $numRows ; $i++ ) {
list( $n_date, $n_user, $n_news ) = mysql_fetch_row( $result );
newsItem( dateFromSQLDateTime( $n_date ), $n_user, $n_news );
need('date sql');
$conn = mysql_pconnect (sqlHost, sqlUser, sqlPass);
if ($conn) {
$query = 'SELECT n_date, n_user, n_news FROM news_main' .
' WHERE n_date > DATE_SUB(NOW(), INTERVAL 1 MONTH)' .
' ORDER BY n_date DESC';
$result = mysql_db_query (sqlDB, $query, $conn);
if ($result) {
$numRows = mysql_num_rows ($result);
if ($numRows) {
for ($i = 0 ; $i < $numRows ; $i++) {
list ($n_date, $n_user, $n_news) = mysql_fetch_row ($result);
newsItem (dateFromSQLDateTime ($n_date), $n_user, $n_news);
}
} else {
newsItem( 'now', 'Web Server', '<P>No current news!' );
newsItem ('now', 'Web Server', '<P>No current news!');
}
} else {
newsItem( 'now', 'Web Server', '<P>No news in database!' );
newsItem ('now', 'Web Server', '<P>No news in database!');
}
$result = mysql_close( $conn );
mysql_close ($conn);
} else {
newsItem( 'Now', 'Web Server', '<P>Error: Could not connect to SQL server to fetch news. Please notify the server administrator.' );
newsItem ('Now', 'Web Server', '<P>Error: Could not connect to SQL server to fetch news. Please notify the server administrator.');
}
?>

View file

@ -42,4 +42,24 @@
}
return $found;
}
/*
addToArray
Add an element to an array
*/
function addToArray( $var, &$arr )
{
if (!inArray ($var, $arr)) {
if (isset ($arr)) {
$arr[count( $arr )] = $var;
} else {
$arr = array ($var);
}
}
}
define('_ARRAY_', 1);
addToArray ('array', $has);
addToArray ('array', $needs);
?>

200
lib/auth.php Normal file
View file

@ -0,0 +1,200 @@
<?
/*
auth.php
Authentication/Authorization function library
Copyright (C) 2000 Contributors of the QuakeForge Project
Please see the file "AUTHORS" for a list of contributors
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA.
*/
have ('auth');
need ('sql table');
/* SQL definition for member list table
CREATE TABLE members (
u_key int DEFAULT '0' NOT NULL auto_increment PRIMARY KEY,
u_admin char DEFAULT 'N' NOT NULL,
u_username tinytext DEFAULT '' NOT NULL,
u_password tinytext DEFAULT '' NOT NULL,
u_fullname tinytext DEFAULT '' NOT NULL,
u_email tinytext DEFAULT '' NOT NULL,
u_phone tinytext DEFAULT '',
u_addr1 tinytext DEFAULT '',
u_addr2 tinytext DEFAULT '',
u_country tinytext DEFAULT '',
u_secret tinytext,
u_plan text DEFAULT ''
);
*/
define ('EXPIRY', 86400); // Seconds until cookie expires
define ('thisUrl', ereg_replace ('index.php', '', getenv ('SCRIPT_NAME')));
/*
authLoginForm
Display a login form.
*/
function authLoginForm( $title )
{
global $siteName, $pageName, $focused;
require(siteHome ."/parts/head.php"); // Load the HEAD and open BODY
require(siteHome ."/parts/topstrip.php"); // Display top strip
require(siteHome ."/parts/titletable.php"); // Display main title w/ logos
?>
<TABLE width="100%" cellSpacing="0" cellPadding="0" border="0">
<TR vAlign="top">
<TD bgColor="<? echo menuBgColor; ?>">
<? include(siteHome ."/parts/menu.php"); /* menus */ ?>
</TD>
<TD width="100%">
<? tableHeader("100%", "black"); ?>
<TR>
<? tableSpacer( 9, 9, 3, "black"); ?>
</TR>
<TR>
<? tableSpacer( 9, 9, 1, "black"); ?>
<TD>
<? require(siteHome ."/parts/topmain.php"); ?>
</TD>
<? tableSpacer( 9, 9, 1, "black"); ?>
</TR>
<TR>
<? tableSpacer( 18, 9, 3, "black"); ?>
</TR>
<TR>
<? tableSpacer( 9, 9, 1, "black"); ?>
<TD>
<!-- Content Start -->
<FORM name="login" method="post" action="<? echo thisUrl; ?>">
<?
tableBoxHeader(featureBgColor, tableHeadColor);
tableTitle($title, 1, tableHeadColor);
?><TD align="center"><?
tableHeader("100%", featureBgColor);
?>
<TR vAlign="center">
<TD align="center">
<STRONG>User Name:</STRONG>
</TD>
<TD align="center">
<INPUT name="userName" type="text" size="10">
</TD>
</TR>
<TR vAlign="center">
<TD align="center">
<STRONG>Password:</STRONG>
</TD>
<TD align="center">
<INPUT name="password" type="password" size="10">
</TD>
</TR>
<TR vAlign="center">
<TD align="center" colSpan="2">
<INPUT TYPE="submit" VALUE="Log in">
</TD>
</TR>
<?
tableFooter();
tableBoxFooter();
require("parts/postamble.php");
die();
}
/*
authCreateSecret
Generate a secret key for user's session
*/
function authCreateSecret( $userName, $encryptedPassWord )
{
$digest = md5( time() );
$cookie = "$userName-$encryptedPassWord-$digest";
SetCookie( "loginInfo", $cookie, ( time() + EXPIRY ));
$query = "UPDATE members SET u_secret='$digest'" .
" WHERE u_username='$userName'";
$row = @mysql_db_query (sqlDB, $query);
}
/*
authProcess
Authenticate user against SQL database
*/
function authProcess ($userName, $password)
{
$query = "SELECT u_password, 1 AS auth FROM members" .
" WHERE u_username='$userName'" .
" AND u_password=ENCRYPT('$password','$userName')";
$result = @mysql_fetch_array (@mysql_db_query (sqlDB, $query));
if ( $result[auth] ) {
authCreateSecret( $userName, $result[u_password] );
}
}
/*
authCookie
Authenticate user against SQL database using a cookie
*/
function authCookie( $cookie, $userName, $password )
{
$cookie_var = split("-", $cookie);
$cUserName = $cookie_var[0];
$cPassword = $cookie_var[1];
$secret = $cookie_var[2];
$query = "SELECT 1 AS auth FROM members" .
" WHERE u_username='$cUserName'" .
" AND u_password='$cPassword'" .
" AND u_secret='$secret'";
$result = @mysql_fetch_array( @mysql_db_query (sqlDB, $query));
if ( !($result[auth]) ) {
AuthenticateUser ($username, $password);
} else {
return $cUserName;
}
}
// Initialization
$db = @mysql_connect (sqlHost, sqlUser, sqlPass);
global $userName, $password, $loginInfo;
if ($loginInfo) {
$userName = authCookie ($loginInfo, $userName, $password);
} else {
if ($userName) {
authProcess ($userName, $password);
} else {
authLoginForm ('Login required');
}
}
@mysql_close ($db);
?>

View file

@ -26,6 +26,8 @@
Boston, MA 02111-1307, USA.
*/
have('date');
$shortMonths = array( 1=>'Jan', 2=>'Feb', 3=>'Mar', 4=>'Apr',
5=>'May', 6=>'Jun', 7=>'Jul', 8=>'Aug',
9=>'Sep', 10=>'Oct', 11=>'Nov', 12=>'Dec');

View file

@ -26,6 +26,8 @@
Boston, MA 02111-1307, USA.
*/
have ('file');
/*
fileTranslateUrl

View file

@ -1,4 +1,4 @@
<?php
<?
/*
graph.php
@ -26,6 +26,8 @@
Boston, MA 02111-1307, USA.
*/
have ('graph');
/*
barGraph

View file

@ -25,7 +25,7 @@
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA.
*/
have ('network');
/*
finger

36
lib/sql.php Normal file
View file

@ -0,0 +1,36 @@
<?
/*
sql.php
SQL function library
Copyright (C) 2000 Contributors of the QuakeForge Project
Please see the file "AUTHORS" for a list of contributors
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA.
*/
have ('sql');
define ('sqlDB', 'quakeforge'); // Database name to use
define ('sqlHost', 'moby'); // Hostname for database access
define ('sqlUser', 'quakeforge'); // Username
define ('sqlPass', '6ef/HNvv'); // Password
?>

View file

@ -26,6 +26,8 @@
Boston, MA 02111-1307, USA.
*/
have ('table');
/*
tableBoxHeader

View file

@ -1,24 +1,26 @@
<?
$conn = mysql_pconnect( "moby", "quakeforge", "6ef/HNvv" );
if ( $conn ) {
$query = 'SELECT n_date, n_user, n_news FROM news_main ' .
'ORDER BY n_date DESC';
$result = mysql_db_query( "quakeforge", $query, $conn );
if ( $result > 0 ) {
$numRows = mysql_num_rows( $result );
if ( $numRows > 0 ) {
for ( $i = 0 ; $i < $numRows ; $i++ ) {
list( $n_date, $n_user, $n_news ) = mysql_fetch_row( $result );
newsItem( dateFromSQLDateTime( $n_date ), $n_user, $n_news );
need ('date sql');
$conn = mysql_pconnect (sqlHost, sqlUser, sqlPass);
if ($conn) {
$query = 'SELECT n_date, n_user, n_news FROM news_main' .
' ORDER BY n_date DESC';
$result = mysql_db_query (sqlDB, $query, $conn);
if ($result) {
$numRows = mysql_num_rows ($result);
if ($numRows) {
for ($i = 0 ; $i < $numRows ; $i++) {
list ($n_date, $n_user, $n_news) = mysql_fetch_row ($result);
newsItem (dateFromSQLDateTime ($n_date), $n_user, $n_news);
}
} else {
newsItem( 'now', 'Web Server', '<P>No current news!' );
newsItem ('now', 'Web Server', '<P>No current news!');
}
} else {
newsItem( 'now', 'Web Server', '<P>No news in database!' );
newsItem ('now', 'Web Server', '<P>No news in database!');
}
$result = mysql_close( $conn );
mysql_close ($conn);
} else {
newsItem( 'Now', 'Web Server', '<P>Error: Could not connect to SQL server to fetch news. Please notify the server administrator.' );
newsItem ('Now', 'Web Server', '<P>Error: Could not connect to SQL server to fetch news. Please notify the server administrator.');
}
?>

View file

@ -1,10 +0,0 @@
<TABLE width="100%" border="0" cellSpacing="0" cellPadding="2" bgColor="#4b4f66">
<TR>
<TD align="center">
<SPAN class="titlebar">
Copyright &copy; 1999,2000 contributors of the QuakeForge Project.<BR>
<A class="maintitlebar" href="copyright.php">Additional Copyright and Trademark Acknowledgements</A>
</SPAN>
</TD>
</TR>
</TABLE>

View file

@ -1,15 +1,68 @@
<?php
<?
// helpful constants
define('tableHeadColor', '#737b9c');
define('menuHeadColor', '#737b9c');
define('menuBgColor', '#4b4f66');
define('featureBgColor', '#252733');
if ( !$newstyle ) {
require( siteHome . "/lib/table.php" );
require( siteHome . "/lib/array.php" );
require( siteHome . "/lib/graph.php" );
require( siteHome . "/lib/network.php" );
require( siteHome . "/lib/date.php" );
if ( !defined( '_COLORS_' )) {
define('_COLORS_', 1);
define('tableHeadColor', '#737b9c');
define('menuHeadColor', '#737b9c');
define('menuBgColor', '#4b4f66');
define('featureBgColor', '#252733');
}
if (!defined ('_ARRAY_')) { // Treat array handler special
require( siteHome . "/lib/array.php" );
}
if ( !defined( '_LIBFUNCS_' )) {
define( '_LIBFUNCS_', 1 );
/*
reqIfNeeded
Require a library module if it hasn't already been.
*/
function reqIfNeeded( $libNames )
{
global $has, $needs;
$libs = explode(' ', $libNames);
for ($i = 0 ; $i < count ($libs) ; $i++ ) {
$lib = $libs[$i];
if ((inArray ($libs[$i], $needs)) && (!inArray ($libs[$i], $has))) {
include (siteHome . '/lib/' . $libs[$i] . '.php');
}
}
}
/*
have
Tell the library that module X is loaded
*/
function have ($libName)
{
global $has;
addToArray ($libName, $has);
}
/*
need
Load module X if it hasn't been already, taking care to retain the
integrity of the $needs array.
*/
function need ($libNames)
{
global $needs;
$libs = explode(' ', $libNames);
for ($i = 0 ; $i < count ($libs) ; $i++ ) {
addToArray ($libs[$i], $needs);
}
reqIfNeeded ($libNames);
}
} // !_LIBFUNCS_
?>

View file

@ -44,8 +44,8 @@
menuItemLink( "http://sourceforge.net/cvs/?group_id=882", "CVS Access" );
menuItemLink( "/devtools.php", "Developer Tools" );
menuItemLink( "/progress.php", "Progress" );
menuItemLink( "/sotc.php", "State of the Code" );
menuItemLink( "/research/index.php", "Research Center" );
menuItemLink( "/sotc/", "State of the Code" );
menuItemLink( "/research/", "Research Center" );
menuItemLink( "http://sourceforge.net/patch/?group_id=882", "Patch Manager" );
menuItemLink( "http://sourceforge.net/support/?group_id=882", "Support Manager" );
menuItemLink( "http://sourceforge.net/pm/?group_id=882", "Task Manager" );

View file

@ -10,7 +10,16 @@
</TR>
<TR vAlign="top">
<TD colSpan="2">
<? require(siteHome ."/parts/copyright.php") ?>
<TABLE width="100%" border="0" cellSpacing="0" cellPadding="2" bgColor="#4b4f66">
<TR>
<TD align="center">
<SPAN class="titlebar">
Copyright &copy; 1999,2000 contributors of the QuakeForge Project.<BR>
<A class="maintitlebar" href="copyright.php">Additional Copyright and Trademark Acknowledgements</A>
</SPAN>
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>

View file

@ -3,9 +3,14 @@
define('siteHome', "/home/groups/quake/htdocs");
require(siteHome ."/parts/library.php"); // Load function library
require(siteHome ."/parts/head.php"); // Load the HEAD and open BODY
require(siteHome ."/parts/topstrip.php"); // Display top strip
require(siteHome ."/parts/titletable.php"); // Display main title w/ logos
if ($need) {
need ($need);
unset ($need);
}
need ('table');
require (siteHome ."/parts/head.php"); // Load the HEAD and open BODY
require (siteHome ."/parts/topstrip.php"); // Display top strip
require (siteHome ."/parts/titletable.php");// Display main title w/ logos
?>
<TABLE width="100%" cellSpacing="0" cellPadding="0" border="0">
<TR vAlign="top">

View file

@ -1,14 +1,15 @@
<!-- top title table -->
<? need ('table'); ?>
<TABLE width="100%" border=0 cellspacing=0 cellpadding=0 bgcolor="" valign="center">
<TR vAlign="top" bgColor="<? echo menuBgColor ?>">
<? tableSpacer( 3, 0, 4, menuBgColor); ?>
<? tableSpacer (3, 0, 4, menuBgColor); ?>
</TR>
<TR valign="top" bgcolor="<? echo menuBgColor ?>">
<? tableSpacer( 0, 1, 1, menuBgColor); ?>
<? tableSpacer (0, 1, 1, menuBgColor); ?>
<TD>
<IMG src="/img/logos/qf-logo.png" alt="QuakeForge" hSpace=0 vSpace=0 border=0 width="70" height="70">
</TD>
<? tableSpacer( 0, 5, 1, menuBgColor); ?>
<? tableSpacer (0, 5, 1, menuBgColor); ?>
<TD width="99%"><!-- right of logo -->
<a href="http://sourceforge.net/"><IMG src="http://sourceforge.net/sflogo.php?group_id=882&type=1" align="right" alt="SourceForge" hspace=20 vspace=20 border=0 width="88" height="31"></A>
&nbsp;<BR>
@ -17,7 +18,7 @@
<!-- right of logo -->
</TR>
<TR>
<? tableSpacer( 2, 0, 2, "black"); ?>
<? tableSpacer (2, 0, 2, "black"); ?>
</TR>
</TABLE>
<!-- end top title table -->

View file

@ -1,54 +1,57 @@
<?
function isFocused( $name, $newname )
need ('table');
function isFocused ($name, $newname)
{
return ( strToLower( $name ) == strToLower( $newname ) ) ? 1 : 0;
return (strToLower ($name) == strToLower ($newname)) ? 1 : 0;
}
function iconLink ( $url, $img, $desc, $border )
function iconLink ($url, $img, $desc, $border)
{
echo '<A class="tabs" href="' . $url . '"><IMG src="' . $img . '" alt="' . $desc . ' " hSpace="3" vSpace="1" border="' . $border . '" width="24" height="24"></A>';
}
function iconBar( $focused ) {
function iconBar ($focused)
{
echo '<TABLE border="0" cellSpacing="0" cellPadding="2" bgColor="white">' .
'<TR>';
tableSpacer( 1, 1, 1, "white");
tableSpacer (1, 1, 1, "white");
echo '<TD>';
iconLink('http://sourceforge.net/project/?group_id=882', '/img/icons/anvil.png', 'SourceForge', isFocused($focused, 'summary'));
iconLink('/', '/img/icons/home.png', 'Homepage', isFocused($focused, 'home'));
iconLink('http://sourceforge.net/bugs/?group_id=882', '/img/icons/bugs.png', 'Bugs', isFocused($focused, 'bugs'));
iconLink('http://sourceforge.net/support/?group_id=882', '/img/icons/support.png', 'Support', isFocused($focused, 'support'));
iconLink('http://sourceforge.net/patch/?group_id=882', '/img/icons/patch.png', 'Patches', isFocused($focused, 'patch'));
iconLink('http://sourceforge.net/mail/?group_id=882', '/img/icons/mail.png', 'Lists', isFocused($focused, 'mail'));
iconLink('http://sourceforge.net/pm/?group_id=882', '/img/icons/tasks.png', 'Tasks', isFocused($focused, 'tasks'));
// iconLink('http://sourceforge.net/survey/?group_id=882', '/img/icons/survey.png', 'Surveys', isFocused($focused, 'survey'));
iconLink('/news.php', '/img/icons/news.png', 'News', isFocused($focused, 'news'));
iconLink('http://sourceforge.net/cvs/?group_id=882', '/img/icons/cvs.png', 'CVS', isFocused($focused, 'cvs'));
iconLink('http://sourceforge.net/project/filelist.php?group_id=882', '/img/icons/download.png', 'Downloads', isFocused($focused, 'download'));
iconLink ('http://sourceforge.net/project/?group_id=882', '/img/icons/anvil.png', 'SourceForge', isFocused($focused, 'summary'));
iconLink ('/', '/img/icons/home.png', 'Homepage', isFocused($focused, 'home'));
iconLink ('http://sourceforge.net/bugs/?group_id=882', '/img/icons/bugs.png', 'Bugs', isFocused($focused, 'bugs'));
iconLink ('http://sourceforge.net/support/?group_id=882', '/img/icons/support.png', 'Support', isFocused($focused, 'support'));
iconLink ('http://sourceforge.net/patch/?group_id=882', '/img/icons/patch.png', 'Patches', isFocused($focused, 'patch'));
iconLink ('http://sourceforge.net/mail/?group_id=882', '/img/icons/mail.png', 'Lists', isFocused($focused, 'mail'));
iconLink ('http://sourceforge.net/pm/?group_id=882', '/img/icons/tasks.png', 'Tasks', isFocused($focused, 'tasks'));
// iconLink ('http://sourceforge.net/survey/?group_id=882', '/img/icons/survey.png', 'Surveys', isFocused($focused, 'survey'));
iconLink ('/news.php', '/img/icons/news.png', 'News', isFocused($focused, 'news'));
iconLink ('http://sourceforge.net/cvs/?group_id=882', '/img/icons/cvs.png', 'CVS', isFocused($focused, 'cvs'));
iconLink ('http://sourceforge.net/project/filelist.php?group_id=882', '/img/icons/download.png', 'Downloads', isFocused($focused, 'download'));
echo '</TD></TR></TABLE>';
}
function topBar($pageName)
function topBar ($pageName)
{
global $focused;
tableHeader("100%", "black");
tableHeader ("100%", "black");
echo ' <TR vAlign="bottom">' .
' <TD align="left">' .
' <FONT size="+2"><B>' . $pageName . '</B></FONT>' .
' </TD>' .
' <TD align="right">';
iconBar($focused);
iconBar ($focused);
echo ' </TD>' .
' </TR>' .
' <TR>';
tableSpacer( 1, 1, 2, "black");
tableSpacer (1, 1, 2, "black");
echo ' </TR>' .
' <TR>';
tableSpacer( 2, 1, 2, "white");
tableSpacer (2, 1, 2, "white");
echo ' </TR>';
tableFooter();
tableFooter ();
}
topBar($pageName);
topBar ($pageName);
?>

View file

@ -7,6 +7,8 @@
<TR vAlign=top>
<TD colSpan="2">
<?
need ('graph table');
function progressKey() // Display key for progress bar
{
echo '<TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD align="center">' .

View file

@ -1,35 +1,11 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Useful APIs";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Useful APIs";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
<P>
<br><a href="http://www.opengl.org/">OpenGL - Cross platform open 3D graphics library developed by SGI.</a><br>
<br><a href="http://www.openal.org/">OpenAL - Cross platform open 3D audio library developed by Loki Games.</a><br>
<?
require("../parts/postamble.php"); // Finish this sucker up
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
<br><a href="http://www.opengl.org/">OpenGL - Cross platform open 3D graphics library developed by SGI.</a><br>
<br><a href="http://www.openal.org/">OpenAL - Cross platform open 3D audio library developed by Loki Games.</a><br>
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>

View file

@ -1,36 +1,12 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Books";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Books";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
<br><a href="http://www.bluesnews.com/abrash/">Mike Abrash`s Quake1 source code book online</a><br>
<br><a href="http://graphics.lcs.mit.edu/~seth/pubs/pubs.html">Publications by or in part by Seth Jared Teller</a><br>
<br><a href="http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG">Online text of OpenGL Programming Guide</a><br>
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>
<?
require("../parts/postamble.php"); // Finish this sucker up
?>

View file

@ -1,34 +1,9 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Diagrams";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Diagrams";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
No content yet, please be patient.
<?
require("../parts/postamble.php"); // Finish this sucker up
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
No content yet, please be patient.
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>

View file

@ -1,35 +1,10 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Rendering engines/Concepts";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Rendering engines/Concepts";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
<br><a href="http://www.bigpanda.com/trinity/">"Let's Write a Quake 3 Graphics Engine in OpenGL!"</a><br>
<br><a href="http://www.berkelium.com/OpenGL/GDC99/multitexture.html">Good explaination and examples of ARB_multitexture.</a><br>
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>
<?
require("../parts/postamble.php"); // Finish this sucker up
?>

View file

@ -1,34 +1,9 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "3D Development FAQs";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "FAQs";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
<br><a href="http://spaceman.nu/opengl/">FAQ from EFNet #opengl</a><br>
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>
<?
require("../parts/postamble.php"); // Finish this sucker up
?>

View file

@ -1,23 +1,9 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Research Resource";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "QuakeForge Institute";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
<P>
<center><font size="+2">Welcome to the QuakeForge Research Resource</font><hr>
<br>In the future, this space will provide 3D programming resources chosen by our developers as interesting or essential
for work on enhancing the QuakeForge engine. Bookmark this page. There a smidgen of content at the moment but it's growing.
@ -65,16 +51,6 @@
</td></tr></table>
<br><br>
<hr>Page last updated: April, 19th 2000<br>
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>
<?
require("../parts/postamble.php"); // Finish this sucker up
?>

View file

@ -1,34 +1,9 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Math Algorithms";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Math Algorithms";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
No content yet, please be patient.
<?
require("../parts/postamble.php"); // Finish this sucker up
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
No content yet, please be patient.
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>

View file

@ -1,37 +1,12 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Misc. Texts";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Misc. Texts";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
<br><b>"Visibility Computations in Densely Occluded Polyhedral Enviroments" by Seth Jared Teller</b><br>
<br><a href="http://graphics.lcs.mit.edu/~seth/pubs/part1.ps.gz">Part 1</a><br>
<br><a href="http://graphics.lcs.mit.edu/~seth/pubs/part2.ps.gz">Part 2</a><br>
<br><a href="http://graphics.lcs.mit.edu/~seth/pubs/part3.ps.gz">Part 3</a><br><br>
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>
<?
require("../parts/postamble.php"); // Finish this sucker up
?>

View file

@ -1,34 +1,9 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Sound Bytes";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Sound Bytes";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
<br><a href="http://quake.sourceforge.net/files/carmack.mp3">Carmack Lecture at Razor CPL .mp3</a><br>
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>
<?
require("../parts/postamble.php"); // Finish this sucker up
?>

View file

@ -1,34 +1,9 @@
<?PHP
$sitename = "The QuakeForge Project";
$pagename = "Tutorials";
require("../parts/library.php"); // Load function library
include("../parts/head.php"); // Load the HEAD and open BODY
include("../parts/topstrip.php"); // Display top strip
include("../parts/titletable.php"); // Display main title w/ logos
<? // Preamble
$pageName = "Tutorials";
$focused = "none"; // Dock icon name to gets a border
require("../parts/preamble.php"); // Load most of document
?>
No content yet, please be patient.
<?
require("../parts/postamble.php"); // Finish this sucker up
?>
<TABLE width="100%" cellspacing=0 cellpadding=0 border=0>
<TR valign="top">
<?php
include("../parts/menu.php"); // Import left-side menus
tableSpacer( 1, 9, 1, "black"); // Separate content from menus
?>
<TD width="100%">
<?php
$focused = "none"; // name of focused icon
include( "../parts/topmain.php" ); // Display content top table
?>
<P>
No content yet, please be patient.
</TD>
<?php
tableSpacer( 1, 9, 1, "black");
?>
</TR>
<TR>
<TD COLSPAN="4">
<?php
include("../parts/copyright.php");
?>
</TD>
</TR>
</TABLE>

View file

@ -1,7 +1,7 @@
<? // Preamble
$pageName = "State of the Code";
$focused = "none"; // Dock icon name to gets a border
require("parts/preamble.php"); // Load most of document
require("../parts/preamble.php"); // Load most of document
?>
<!--SEARCHME-->
<P>The State of the Code address is a not-frequently-enough updated article
@ -23,7 +23,7 @@ time..)
function sotcShowLatest($year) {
$i = 0;
$dirHandle = opendir('sotc/' . $year);
$dirHandle = opendir ($year);
if ($dirHandle) {
while ($fileName = readdir($dirHandle)) {
if ($fileName != '.' && $fileName != '..' && $fileName != 'CVS') {
@ -32,17 +32,17 @@ time..)
}
closedir ($dirHandle);
rsort ($sotcList);
include ('sotc/' . $year . '/' . $sotcList[0]);
include ($year . '/' . $sotcList[0]);
}
}
function sotcYears() {
$i = 0;
$dirHandle = opendir('sotc/');
$dirHandle = opendir('./');
if ($dirHandle) {
while ($year = readdir($dirHandle)) {
if (is_dir('sotc/' . $year) && $year != '.' && $year != '..' && $year != 'CVS') {
if (is_dir ($year) && $year != '.' && $year != '..' && $year != 'CVS') {
$years[$i++] = $year;
}
}
@ -55,7 +55,7 @@ time..)
function sotcListFiles( $year ) {
$i = 0;
$dirHandle = opendir('sotc/' . $year );
$dirHandle = opendir ($year);
if ($dirHandle) {
while ($fileName = readdir($dirHandle)) {
if ($fileName != '.' && $fileName != '..' && $fileName != 'CVS') {
@ -68,8 +68,8 @@ time..)
tableBoxHeader('black', tableHeadColor);
tableTitle('SotC Archives for ' . $year, 3, tableHeadColor);
for ( $i = 0; $i < count($sotcList) ; $i++) {
$file = fopen('sotc/' . $year . '/' . $sotcList[$i], 'r');
$line = fgets($file, 4096);
$file = fopen ($year . '/' . $sotcList[$i], 'r');
$line = fgets ($file, 4096);
fclose($file);
$line = ereg_replace('<!--', '', ereg_replace('-->', '', $line));
echo '<TR><TD>' . $line . '</TD></TR>';
@ -93,5 +93,5 @@ time..)
?>
<!--NOSEARCH-->
<?
require("parts/postamble.php"); // Finish this sucker up
require("../parts/postamble.php"); // Finish this sucker up
?>