Compare commits

...

3 Commits

Author SHA1 Message Date
a3e722589f Merge pull request '[I212] Fix general series page generation' (#213) from i212-fix-general-series-page-generation into main
Reviewed-on: #213
2024-10-09 11:15:33 +00:00
85d43851d1
Fix substring initial offset value
Remove only the leading comma character.
2024-10-08 21:49:58 -04:00
8b277607cf
Fix guard for unitialized variable
The original guard was preventing an id with value of
zero from being processed correctly.
2024-10-08 17:37:48 -04:00

View File

@ -290,26 +290,23 @@ sub parse_page_arg {
# Split page name from page ids if available.
my ($page, $ids) = split(/=/, $page_arg);
my @ids;
$ids = "" unless defined $ids;
if(!$ids) {
$ids = "";
}
else {
# Parse the page ids and push them onto @ids array
my @ids_by_comma = split(/\,/, $ids);
foreach my $id_by_comma (@ids_by_comma) {
my @ids_for_range = split(/\.\./, $id_by_comma);
if ((scalar @ids_for_range) == 2) {
push @ids, $ids_for_range[0]..$ids_for_range[1];
}
elsif ((scalar @ids_for_range) == 1) {
push @ids, $ids_for_range[0];
}
else {
verbose (1, "\nWarning: Page $page id range $id_by_comma could not be parsed.");
}
# Parse the page ids and push them onto @ids array
my @ids_by_comma = split(/\,/, $ids);
foreach my $id_by_comma (@ids_by_comma) {
my @ids_for_range = split(/\.\./, $id_by_comma);
if ((scalar @ids_for_range) == 2) {
push @ids, $ids_for_range[0]..$ids_for_range[1];
}
elsif ((scalar @ids_for_range) == 1) {
push @ids, $ids_for_range[0];
}
else {
verbose (1, "\nWarning: Page $page id range $id_by_comma could not be parsed.");
}
}
return ('page' => $page, 'ids' => [@ids]);
}
@ -326,7 +323,7 @@ sub get_ids_from_db {
|| die $tt->error(), "\n";
# Starts with a newline and comma
return split(/,/, substr($selected_ids, 2));
return split(/,/, substr($selected_ids, 1));
}
sub get_filename {