$affected{calendarlink($ayear)} = sprintf(gettext("building calendar for %s, its previous or next year has changed"), $ayear) if ($valid);
($ayear, $valid) = previousyear($year, $config{archivebase});
$affected{calendarlink($ayear)} = sprintf(gettext("building calendar for %s, its previous or next year has changed"), $ayear) if ($valid);
- foreach my $month (keys $changed{$year}) {
+ foreach my $month (keys %{$changed{$year}}) {
($ayear, $amonth, $valid) = nextmonth($year, $month, $config{archivebase});
$affected{calendarlink($ayear, sprintf("%02d", $amonth))} = sprintf(gettext("building calendar for %s/%s, its previous or next month has changed"), $amonth, $ayear) if ($valid);
($ayear, $amonth, $valid) = previousmonth($year, $month, $config{archivebase});
$template->param(month => $month) if defined $month;
$template->param(pagespec => $config{archive_pagespec});
+ no warnings 'once';
my $dir = $IkiWiki::Plugin::transient::transientdir;
+ use warnings;
writefile($pagefile, $dir, $template->output);
}
my $month = shift;
my $archivebase = shift;
+ if (not exists $wikistate{calendar}{minyear}) {
+ $wikistate{calendar}{minyear} = $year;
+ }
+
my $pmonth = $month;
my $pyear = $year;
while ((not exists $pagesources{"$archivebase/$pyear/" . sprintf("%02d", $pmonth)}) or ($pmonth == $month and $pyear == $year)) {
my $month = shift;
my $archivebase = shift;
+ if (not exists $wikistate{calendar}{maxyear}) {
+ $wikistate{calendar}{maxyear} = $year;
+ }
+
my $nmonth = $month;
my $nyear = $year;
while ((not exists $pagesources{"$archivebase/$nyear/" . sprintf("%02d", $nmonth)}) or ($nmonth == $month and $nyear == $year)) {