#!/usr/bin/perl -w # # Creates news html pages # # $Id$ # # Syntax : mknewshtml.pl dir # use strict; use Date::Manip; use File::Basename; use DBI; use English; # For date handling $ENV{LANG}="C"; my $PBROOT; my $tmp = dirname($PROGRAM_NAME); if ($tmp =~ /^\//) { $PBROOT = $tmp; } else { $PBROOT = "$ENV{PWD}/$tmp"; } my $lastnews="$ARGV[0]/latest-news.html"; my $news="$ARGV[0]/news.shtml"; my $db="$PBROOT/../website/announces3.sql"; print "Using Database $db\n"; my $dbh = DBI->connect("dbi:SQLite:dbname=$db","","") || die "Unable to connect to $db"; open(NEWS,"> $news") || die "Unable to open $news (write)"; print NEWS << 'EOF';

Mondo Rescue News

This year's News

EOF my $today = &UnixDate("today","%Y-%m-%d"); my $firstjan = &UnixDate("1st January","%Y-%m-%d"); #print "today: $today - First: $firstjan\n"; my $all = $dbh->selectall_arrayref("SELECT id,date,announce FROM announces ORDER BY date DESC"); foreach my $row (@$all) { my ($id, $date, $announce) = @$row; print NEWS "

$date $announce\n" if ((Date_Cmp($date,$today) <= 0) && (Date_Cmp($firstjan,$date) <= 0)); } print NEWS << 'EOF';

Last year's News

EOF my $oldfirst = &UnixDate(DateCalc("1st January","1 year ago"),"%Y-%m-%d"); #print "oldfirst: $oldfirst - First: $firstjan\n"; $all = $dbh->selectall_arrayref("SELECT id,date,announce FROM announces ORDER BY date DESC"); foreach my $row (@$all) { my ($id, $date, $announce) = @$row; print NEWS "

$date $announce\n" if ((Date_Cmp($date,$firstjan) <= 0) && (Date_Cmp($oldfirst,$date) <= 0)); } print NEWS << 'EOF';

Older News

EOF $all = $dbh->selectall_arrayref("SELECT id,date,announce FROM announces ORDER BY date DESC"); foreach my $row (@$all) { my ($id, $date, $announce) = @$row; print NEWS "

$date $announce\n" if ((Date_Cmp($oldfirst,$date) >= 0)); } print NEWS << 'EOF';

Oldest News

look at these pages for old News concerning the project

Hugo's diary preserved (2001-2003)

EOF close(NEWS); my $cpt = 4; open(NEWS,"> $lastnews") || die "Unable to open $lastnews (write)"; $all = $dbh->selectall_arrayref("SELECT id,date,announce FROM announces ORDER BY date DESC"); foreach my $row (@$all) { my ($id, $date, $announce) = @$row; print NEWS "

$date $announce\n" if ($cpt > 0); $cpt-- } $dbh->disconnect;