mirror of
https://git.code.sf.net/p/quake/website
synced 2025-01-18 14:42:10 +00:00
BIG Web site changes. I think I've gotten everything, but I may have
missed some bugs.
This commit is contained in:
parent
b39b142b62
commit
663a1dc2db
29 changed files with 505 additions and 421 deletions
34
cur_news.php
34
cur_news.php
|
@ -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.');
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -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
200
lib/auth.php
Normal 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);
|
||||
|
||||
?>
|
|
@ -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');
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
have ('file');
|
||||
|
||||
/*
|
||||
fileTranslateUrl
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?php
|
||||
<?
|
||||
/*
|
||||
graph.php
|
||||
|
||||
|
@ -26,6 +26,8 @@
|
|||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
have ('graph');
|
||||
|
||||
/*
|
||||
barGraph
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
have ('network');
|
||||
/*
|
||||
finger
|
||||
|
||||
|
|
36
lib/sql.php
Normal file
36
lib/sql.php
Normal 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
|
||||
|
||||
?>
|
|
@ -26,6 +26,8 @@
|
|||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
have ('table');
|
||||
|
||||
/*
|
||||
tableBoxHeader
|
||||
|
||||
|
|
32
old_news.php
32
old_news.php
|
@ -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.');
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
<TABLE width="100%" border="0" cellSpacing="0" cellPadding="2" bgColor="#4b4f66">
|
||||
<TR>
|
||||
<TD align="center">
|
||||
<SPAN class="titlebar">
|
||||
Copyright © 1999,2000 contributors of the QuakeForge Project.<BR>
|
||||
<A class="maintitlebar" href="copyright.php">Additional Copyright and Trademark Acknowledgements</A>
|
||||
</SPAN>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
|
@ -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_
|
||||
?>
|
||||
|
|
|
@ -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" );
|
||||
|
|
|
@ -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 © 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>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
<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 -->
|
||||
|
|
|
@ -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);
|
||||
?>
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
<TR vAlign=top>
|
||||
<TD colSpan="2">
|
||||
<?
|
||||
need ('graph table');
|
||||
|
||||
function progressKey() // Display key for progress bar
|
||||
{
|
||||
echo '<TR><TD> </TD><TD> </TD><TD align="center">' .
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
?>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
?>
|
||||
|
|
|
@ -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
|
||||
?>
|
||||
|
|
|
@ -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
|
||||
?>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
?>
|
||||
|
|
|
@ -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
|
||||
?>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
?>
|
Loading…
Reference in a new issue