website/sotc/index.php
Jeff Teunissen 9e6f75ccbd 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. ??
2022-04-27 13:14:47 -04:00

94 lines
2.7 KiB
PHP

<?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
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.
<?php // Display latest update
function sotcShowLatest ($year) {
$i = 0;
$dirHandle = @opendir ($year);
if ($dirHandle) {
while ($fileName = readdir ($dirHandle)) {
if ($fileName != '.' && $fileName != '..' && $fileName != 'CVS') {
$sotcList[$i++] = $fileName;
}
}
closedir ($dirHandle);
rsort ($sotcList);
include ($year . '/' . $sotcList[0]);
} else {
echo '<P>Sorry, there are no State of the Code announcements for this year yet.';
}
}
function sotcYears() {
$i = 0;
$dirHandle = opendir('./');
if ($dirHandle) {
while ($year = readdir($dirHandle)) {
if (is_dir ($year) && $year != '.' && $year != '..' && $year != 'CVS') {
$years[$i++] = $year;
}
}
closedir ($dirHandle);
rsort ($years);
return $years;
}
}
function sotcListFiles( $year ) {
$i = 0;
$dirHandle = opendir ($year);
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++) {
$file = fopen ($year . '/' . $sotcList[$i], 'r');
$line = fgets ($file, 4096);
fclose($file);
$line = ereg_replace('<!--', '', ereg_replace('-->', '', $line));
echo '<TR><TD>' . $line . '</TD></TR>';
}
tableBoxFooter ();
}
}
}
if (!$year) {
$year = date('Y', time ());
}
sotcShowLatest ($year);
echo '<P>';
sotcListFiles ($year);
?>
<!--NOSEARCH-->
<?php
require "../parts/postamble.php"; // Finish this sucker up
?>