X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2Fweb%2Fquery_routesearch;h=c45b56a06690f51173d15a918b17121c8dc647ea;hp=e5e7c6b98619c48174328badb9e501623113df47;hb=b003b70daab49984677a1cfadced9da9ee9be19a;hpb=0df6a5018b39bc8f3c95f952521d8bb61af1bb3f diff --git a/yarrg/web/query_routesearch b/yarrg/web/query_routesearch index e5e7c6b..c45b56a 100644 --- a/yarrg/web/query_routesearch +++ b/yarrg/web/query_routesearch @@ -36,12 +36,12 @@ <%args> $quri $dbh +$queryqf $islandstring => ''; $capacitystring => ''; $lossperleague => ''; $capitalstring => ''; $distance => ''; -$someresults $emsgokorprint @@ -121,7 +121,7 @@ my $isleinfo = sub { my $row= $islandname_stmt->fetchrow_hashref(); local $_= $row->{'islandname'}; s/ Island$//; - return $_, $row->{'archipelago'}; + return $_, $row->{'islandname'}, $row->{'archipelago'}; }; #---------- compute the results ---------- @@ -182,10 +182,11 @@ while (<$fh>) { my ($ap,$isles) = (uc $1,$5); next if $results{$ap} && %{$results{$ap}} >= $maxcountea; my $item= { A => $3, P => $4, Leagues => $2 }; - my (@i, @a); + my (@i, @fi, @a); foreach (split / /, $isles) { - my ($name,$arch)= $isleinfo->($_); + my ($name,$fullname,$arch)= $isleinfo->($_); push @i, $name; + push @fi, $fullname; push @a, $arch unless @a && $a[-1] eq $arch; } $item->{Isles}= [ @i ]; @@ -197,6 +198,10 @@ while (<$fh>) { for ($i=1; $i < @i-1; $i++) { push @{ $item->{Vias} }, $i[$i]; } + my %linkqf= %$queryqf; + delete $linkqf{'query'}; + $linkqf{'routestring'}= join ', ', @fi; + $item->{Url}= $quri->(%linkqf); $results{$ap}{$isles}= $item; } @@ -284,7 +289,7 @@ seconds of CPU time so more processing resources should be available soon. <% $item->{A} |h %> <% $item->{P} |h %> <% $item->{Leagues} |h %> -<% join ', ', @{ $item->{Archs} } |h %> +<% join ', ', @{ $item->{Archs} } |h %> <% $item->{Start} |h %>, <% join ' ', map { $_.',' } @{ $item->{Vias} } |h %> <% $item->{Finish} |h %>