0) {
$rv .= $div . " day";
if ($div != 1) { $rv .= "s"; }
$found = 1;
}
$div = floor($mod / (60*60));
$mod = $mod % (60*60);
if ($found || $div > 0) {
if ($found) { $rv .= ", "; }
$rv .= $div . " hour";
if ($div != 1) { $rv .= "s"; }
$found = 1;
}
$div = floor($mod / 60);
$mod = $mod % 60;
if ($found || $div > 0) {
if ($found) { $rv .= ", "; }
$rv .= $div . " minute";
if ($div != 1) { $rv .= "s"; }
$found = 1;
}
$div = $mod;
$mod = 0;
if ($found) { $rv .= " and "; }
$rv .= $div . " second";
if ($div != 1) { $rv .= "s"; }
return $rv;
}
function format_time_left_announcements($event_name, $date) {
return '
\n";
}
function time_left_announcements() {
global $now;
$events = array(
# It's good to remove or comment out past events in order to use less CPU.
# Some local conventions:
# Start time is sometimes a guess.
# 2006
array( 'Anime North', mktime(18, 0, 0, 5, 25, 2006) ),
array( 'Toronto Trek', mktime(18, 0, 0, 7, 7, 2006) ),
array( 'Northern Anime Festival', mktime( 9, 0, 0, 7, 22, 2006) ),
array( 'Hobbystar\'s FanExpo', mktime(16, 0, 0, 9, 1, 2006) ),
# 2007
array( 'Anime North', mktime(18, 0, 0, 5, 24, 2007) ),
#array( 'Toronto Trek', mktime( ?, 0, 0, ?, ?, 2007) ),
#array( 'Northern Anime Festival', mktime( ?, 0, 0, ?, ?, 2007) ),
#array( 'Hobbystar\'s FanExpo', mktime( ?, 0, 0, ?, ?, 2007) ),
);
$now = time();
$now_parts = localtime($now);
$target = mktime(
$now_parts[2],
$now_parts[1],
$now_parts[0],
1+$now_parts[4]+2, # "+2" means "Announce events 3 months in advance."
$now_parts[3],
1900+$now_parts[5],
$now_parts[8]
);
foreach ($events as $event) {
if ($event[1] > $now && $event[1] <= $target) {
echo(format_time_left_announcements($event[0], $event[1]));
}
}
}
?>