<?
$gtod1 = gettimeofday();
// Thanks to Steve Napierski for the following addition, which should allow
// the code to work on more systems.
$date=$_GET['date'];
// -----------------------------------------------------------------------------
// PHP webcomic update script v. 2.1 by Jim Newberry with lots
// of help from Doug Shepherd's excellent article, located here:
// http://www.webtools.com/story/scripting/TLS20000421S0001
//
// Yes, I'm aware the article is no longer available. But I gotta
// give credit where it's due... so the link remains until I locate
// another version of the article :)
//
// To get a copy of this script, visit www.lifeofwily.com/walrus
// -----------------------------------------------------------------------------
//
// The following variables must be customized as indicated.
// Absolute path to your comic image files. Don't include a "/" on the end. This value
// is not a URL (http://...). It is the location of your website files on your host server.
// If you don't know it, ask your host or consult their FAQ.
$comic_path = "/home/sites/www.paint-zone.co.uk/web";
// This is the relative URL of your comic image files. If this file is located at
// http://www.yoursite.com/index.php, and your comics are in the http://www.yoursite.com/strips
// directory, then the URL would be "strips". This value can be EITHER relative (as the example
// shows, or a full HTTP address: "http://www.yoursite.com/strips".
$comic_url = "http://www.paint-zone.co.uk/ball/comic";
// Change the following variable to the suffix your comic files will use,
// for instance, if they are GIFs, use ".gif", ".png" for PNGs, and so on.
// This means all your comic files must be the same extension.
$image_suffix = ".gif";
// This variable indicates whether or not you want the script to display comic images.
// In other words, you could just put your strips in .html files and have the script
// pull them that way. IMPORTANT: Either $strips or $news MUST be "yes" or you won't
// see either. They can BOTH be "yes" if you want.
$strips = "yes"; // "yes" or "no"
// This variable indicates whether or not you want the script to display news posts
$news = "no"; // "yes" or "no"
// Absolute path to the files containing your news posts. Don't include a "/" on the end.
// This value is not a URL (http://). It is the location of your website files on your host
// server. If you don't know it, ask your host or consult their FAQ.
$news_path = "/home/sites/www.paint-zone.co.uk/web/ball";
// Change the following variable to the suffix your news posts will use,
// if they are HTML files, use .htm or .html. Be sure to include the "."
$news_suffix = ".html";
// Change $first_strip to the date ("YYYY-MM-DD") of your first comic. This
// variable will control the "first" link in the navigation menu.
$first_strip = "2004-08-28";
// For all practical purposes, leave this next variable alone unless you want to help
// me debug the problem where the most recent comic displays twice if its filename
// doesn't match today's date -- 86400 is fine even if you don't update every 24 hours,
// or even only once a week, or Monday Wednesday Friday. I repeat, if you change this
// variable, you might have trouble :)
$update_interval = "86400"; // default "86400", 24 hours. Read above info.
// -----------------------------------------------------------------------------
// Only change PHP code beyond this notice if you know what you're doing :)
// -----------------------------------------------------------------------------
$version_url = "http://www.lifeofwily.com/walrus/images"; // location of current version GIF
if ( ereg("^[0-9]{4}-[0-9]{2}-[0-9]{2}$", $date) )
$todays_strip = $date;
else
$todays_strip = date("Y-m-d", time());
function next_strip ($date) {
global $comic_path;
global $image_suffix;
global $update_interval;
$today = date("Y-m-d");
$epoch = mktime(0, 0, 0, substr($date, 5, 2), substr($date, 8, 2), substr($date, 0, 4));
while ($epoch = $epoch + $update_interval) {
$newdate = date("Y-m-d", $epoch);
if ($newdate > $today) {
return '';
}
if (file_exists($comic_path . "/" . $newdate . $image_suffix)) {
return $newdate;
}
}
}
function previous_strip ($date) {
global $comic_path;
global $first_strip;
global $image_suffix;
global $update_interval;
$epoch = mktime(0, 0, 0, substr($date, 5, 2), substr($date, 8, 2), substr($date, 0, 4));
while ($epoch = $epoch - $update_interval) {
$newdate = date("Y-m-d", $epoch);
if ($newdate < $first_strip) {
return '';
}
if (file_exists($comic_path . "/" . $newdate . $image_suffix)) {
return $newdate;
}
}
}
$previous = previous_strip($todays_strip);
$next = next_strip($todays_strip);
// -----------------------------------------------------------------------------
// Now your HTML code begins. Be careful of the PHP scripts scattered within :)
// -----------------------------------------------------------------------------
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body class="main">
<table width="750" border="0" cellspacing="3" cellpadding="10" align="center" bgcolor="#000000">
<tr>
<td align="center" bgcolor="#FFFFFF">
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<?
if ($strips != "yes") { // if $news is not "yes", display nothing
} elseif (file_exists($comic_path . "/" . $todays_strip . $image_suffix)) {
?>
<img src="<? echo $comic_url ?>/<? echo $todays_strip ?><? echo $image_suffix?>">
<?
} else {
// new code, fix for date bug provided by Hyde (
[email protected])
$todays_strip = $previous;
$previous = previous_strip($todays_strip);
$next = next_strip($todays_strip);
?>
<img src="<? echo $comic_url ?>/<? echo $todays_strip ?><? echo $image_suffix?>">
<?
} // end of the Hyde Fix
?>
</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<?
// This is the part of the script that displays your news posts from the dated
// files you put in your default news directory.
if ($news != "yes") { // if $news is not "yes", display nothing
} elseif (file_exists($news_path . "/" . $todays_strip . $news_suffix)) { // look for current news post
include $news_path . "/" . $todays_strip . $news_suffix; // if $news is "yes"
} else {
include $news_path . "/" . $previous . $news_suffix; // display previous news if no current news available
}
?>
</font></p>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<?
if ($previous) {
// The text following this comment will be displayed to point you to the next comic. You can
// change it to an image, or to say anything you like.
?>
<a href="index.php?date=<? echo $previous; ?>">Previous</a>
<?
} else {
// The text inside the ECHO command, after this comment, will be displayed if there is NO
// comic BEFORE the one currently on display. Feel free to change it to something else. If
// You want to include HTML instead of PHP, just delete the entire * echo "Previous"; *
// and put regular HTML, including images, there instead.
?>
<? echo "Previous"; ?>
<?
}
?>
</font></td>
<td align="center" width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<a href="index.php?date=<? echo $first_strip; ?>">First</a></font></td>
<td align="center" width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="index.php">Last</a></font></td>
<td align="right" width="25%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<?
$next = next_strip($todays_strip);
if ($next) {
// The text following this comment will be displayed to point you to the next comic. You can
// change it to an image, or to say anything you like.
?>
<a href="index.php?date=<? echo $next; ?>">Next</a>
<?
} else {
// The text inside the ECHO command, after this comment, will be displayed if there is NO
// comic AFTER the one currently on display. Feel free to change it to something else. If
// You want to include HTML instead of PHP, just delete the entire * echo "Next"; *
// and put regular HTML, including images, there instead.
?>
<? echo "Next"; ?>
<?
}
?>
</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" bgcolor="#000000">
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Powered
with Pride by </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><a href="http://www.lifeofwily.com/php">Walrus</a></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"></font></p>
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://www.lifeofwily.com/walrus"><font size="2" color="#FFFFFF">Walrus
2.2</font><font color="#FFFFFF"> - The PHP Webcomic Archive and Live Rant
Update Script</font></a><font color="#FFFFFF"> -- current version: <img src="<? echo $version_url ?>/php_current_version.lGIF" width="30" height="16"></font></font></p>
</td>
</tr>
</table>