fix next/prev month padding bug

master
Joey Hess 2009-10-11 21:52:50 -04:00
parent 8a37be35ac
commit 23a21850fa
2 changed files with 13 additions and 10 deletions

View File

@ -96,6 +96,10 @@ sub format_month (@) {
$nyear++; $nyear++;
} }
# Add padding.
$pmonth=sprintf("%02d", $pmonth);
$nmonth=sprintf("%02d", $nmonth);
my $calendar="\n"; my $calendar="\n";
# When did this month start? # When did this month start?
@ -121,24 +125,24 @@ sub format_month (@) {
my ($url, $purl, $nurl)=("$monthname",'',''); my ($url, $purl, $nurl)=("$monthname",'','');
if (exists $pagesources{"$archivebase/$params{year}/$params{month}"}) { if (exists $pagesources{"$archivebase/$params{year}/$params{month}"}) {
$url = htmllink($params{page}, $params{destpage}, $url = htmllink($params{page}, $params{destpage},
"$archivebase/$params{year}/".sprintf("%02d", $params{month}), "$archivebase/$params{year}/".$params{month},
linktext => " $monthname "); linktext => " $monthname ");
} }
add_depends($params{page}, "$archivebase/$params{year}/".sprintf("%02d", $params{month}), add_depends($params{page}, "$archivebase/$params{year}/$params{month}",
deptype("presence")); deptype("presence"));
if (exists $pagesources{"$archivebase/$pyear/$pmonth"}) { if (exists $pagesources{"$archivebase/$pyear/$pmonth"}) {
$purl = htmllink($params{page}, $params{destpage}, $purl = htmllink($params{page}, $params{destpage},
"$archivebase/$pyear/" . sprintf("%02d", $pmonth), "$archivebase/$pyear/$pmonth",
linktext => " $pmonthname "); linktext => " $pmonthname ");
} }
add_depends($params{page}, "$archivebase/$pyear/".sprintf("%02d", $pmonth), add_depends($params{page}, "$archivebase/$pyear/$pmonth",
deptype("presence")); deptype("presence"));
if (exists $pagesources{"$archivebase/$nyear/$nmonth"}) { if (exists $pagesources{"$archivebase/$nyear/$nmonth"}) {
$nurl = htmllink($params{page}, $params{destpage}, $nurl = htmllink($params{page}, $params{destpage},
"$archivebase/$nyear/" . sprintf("%02d", $nmonth), "$archivebase/$nyear/$nmonth",
linktext => " $nmonthname "); linktext => " $nmonthname ");
} }
add_depends($params{page}, "$archivebase/$nyear/".sprintf("%02d", $nmonth), add_depends($params{page}, "$archivebase/$nyear/$nmonth",
deptype("presence")); deptype("presence"));
# Start producing the month calendar # Start producing the month calendar
@ -192,8 +196,7 @@ EOF
} }
my $tag; my $tag;
my $mtag = sprintf("%02d", $params{month}); if (defined $linkcache{"$params{year}/$params{month}/$day"}) {
if (defined $linkcache{"$params{year}/$mtag/$day"}) {
if ($day == $today) { if ($day == $today) {
$tag='month-calendar-day-this-day'; $tag='month-calendar-day-this-day';
} }
@ -202,7 +205,7 @@ EOF
} }
$calendar.=qq{\t\t<td class="$tag $downame{$wday}">}; $calendar.=qq{\t\t<td class="$tag $downame{$wday}">};
$calendar.=htmllink($params{page}, $params{destpage}, $calendar.=htmllink($params{page}, $params{destpage},
$linkcache{"$params{year}/$mtag/$day"}, $linkcache{"$params{year}/$params{month}/$day"},
"linktext" => "$day"); "linktext" => "$day");
$calendar.=qq{</td>\n}; $calendar.=qq{</td>\n};
} }

2
debian/changelog vendored
View File

@ -31,7 +31,7 @@ ikiwiki (3.2009XXXX) UNRELEASED; urgency=low
* calendar: Fix midnight rebuild trigger of calendars with explicit * calendar: Fix midnight rebuild trigger of calendars with explicit
month/year. month/year.
* calendar: Fix bug in next/previous year/month links, which sometimes * calendar: Fix bug in next/previous year/month links, which sometimes
linked to an archive page from the wrong year. linked to an archive page from the wrong year, or were missing.
-- Joey Hess <joeyh@debian.org> Fri, 09 Oct 2009 19:53:50 -0400 -- Joey Hess <joeyh@debian.org> Fri, 09 Oct 2009 19:53:50 -0400