2000-05-08 02:39:55 +00:00
|
|
|
<? // Preamble
|
|
|
|
$pageName = "State of the Code";
|
|
|
|
$focused = "none"; // Dock icon name to gets a border
|
2000-05-10 22:38:21 +00:00
|
|
|
require("../parts/preamble.php"); // Load most of document
|
2000-05-08 02:39:55 +00:00
|
|
|
?>
|
|
|
|
<!--SEARCHME-->
|
|
|
|
<P>The State of the Code address is a not-frequently-enough updated article
|
|
|
|
written by <a href="mailto:knghtbrd@debian.org">Knghtbrd</a> primarily for
|
|
|
|
QuakeForge developers and other people who consider themselves to be knee-deep
|
|
|
|
in the code, whether they happen to be writing it or just testing it. What
|
|
|
|
you won't find here is a lot of the fluff news that tells the casual onlooker
|
|
|
|
that the project is actually doing stuff without really telling you what the
|
|
|
|
state of things are.
|
|
|
|
|
|
|
|
<P>No attempt will be made to soften technical issues so anyone can understand
|
|
|
|
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 - contrary to popular (with him) belief, Knghtbrd has in fact been
|
|
|
|
known to be wrong sometimes. He isn't afraid to admit it either (most of the
|
|
|
|
time..)
|
|
|
|
<? // Display latest update
|
|
|
|
function sotcShowLatest($year) {
|
|
|
|
$i = 0;
|
2000-04-18 16:25:45 +00:00
|
|
|
|
2000-05-10 22:38:21 +00:00
|
|
|
$dirHandle = opendir ($year);
|
2000-05-08 02:39:55 +00:00
|
|
|
if ($dirHandle) {
|
|
|
|
while ($fileName = readdir($dirHandle)) {
|
|
|
|
if ($fileName != '.' && $fileName != '..' && $fileName != 'CVS') {
|
|
|
|
$sotcList[$i++] = $fileName;
|
|
|
|
}
|
2000-04-19 00:24:29 +00:00
|
|
|
}
|
2000-05-08 02:39:55 +00:00
|
|
|
closedir ($dirHandle);
|
|
|
|
rsort ($sotcList);
|
2000-05-10 22:38:21 +00:00
|
|
|
include ($year . '/' . $sotcList[0]);
|
2000-05-08 02:39:55 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function sotcYears() {
|
|
|
|
$i = 0;
|
|
|
|
|
2000-05-10 22:38:21 +00:00
|
|
|
$dirHandle = opendir('./');
|
2000-05-08 02:39:55 +00:00
|
|
|
if ($dirHandle) {
|
|
|
|
while ($year = readdir($dirHandle)) {
|
2000-05-10 22:38:21 +00:00
|
|
|
if (is_dir ($year) && $year != '.' && $year != '..' && $year != 'CVS') {
|
2000-05-08 02:39:55 +00:00
|
|
|
$years[$i++] = $year;
|
2000-04-19 00:24:29 +00:00
|
|
|
}
|
|
|
|
}
|
2000-05-08 02:39:55 +00:00
|
|
|
closedir ($dirHandle);
|
|
|
|
rsort ($years);
|
|
|
|
return $years;
|
2000-04-19 00:24:29 +00:00
|
|
|
}
|
2000-05-08 02:39:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function sotcListFiles( $year ) {
|
|
|
|
$i = 0;
|
|
|
|
|
2000-05-10 22:38:21 +00:00
|
|
|
$dirHandle = opendir ($year);
|
2000-05-08 02:39:55 +00:00
|
|
|
if ($dirHandle) {
|
|
|
|
while ($fileName = readdir($dirHandle)) {
|
|
|
|
if ($fileName != '.' && $fileName != '..' && $fileName != 'CVS') {
|
|
|
|
$sotcList[$i++] = $fileName;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
closedir ($dirHandle);
|
|
|
|
rsort ($sotcList);
|
|
|
|
if (count($sotcList) > 0) {
|
|
|
|
tableBoxHeader('black', tableHeadColor);
|
|
|
|
tableTitle('SotC Archives for ' . $year, 3, tableHeadColor);
|
|
|
|
for ( $i = 0; $i < count($sotcList) ; $i++) {
|
2000-05-10 22:38:21 +00:00
|
|
|
$file = fopen ($year . '/' . $sotcList[$i], 'r');
|
|
|
|
$line = fgets ($file, 4096);
|
2000-05-08 02:39:55 +00:00
|
|
|
fclose($file);
|
|
|
|
$line = ereg_replace('<!--', '', ereg_replace('-->', '', $line));
|
|
|
|
echo '<TR><TD>' . $line . '</TD></TR>';
|
|
|
|
}
|
|
|
|
tableBoxFooter();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!$year) {
|
|
|
|
$year = date('Y', time());
|
|
|
|
}
|
|
|
|
|
2000-06-20 13:53:26 +00:00
|
|
|
sotcShowLatest ($year);
|
2000-05-08 12:38:14 +00:00
|
|
|
// echo '<P>';
|
|
|
|
// sotcListFiles($year);
|
2000-05-08 02:39:55 +00:00
|
|
|
?>
|
|
|
|
<!--NOSEARCH-->
|
|
|
|
<?
|
2000-06-20 13:53:26 +00:00
|
|
|
require "../parts/postamble.php"; // Finish this sucker up
|
2000-05-08 02:39:55 +00:00
|
|
|
?>
|