my $maxpix = 15 ; # Maximum pixels between click and point
+my $limit_books = 100; # max. for one click
+
print qq{Content-type: text/xml\r\n\r\n};
print qq{<?xml version="1.0" encoding="UTF-8"?>\n} ;
print qq!<map>\n! ;
my $sql = qq{
select
- city
+ city_koha
,country
,count
,point
my $sth = $dbh->prepare(qq{
select
- author, title, bi.biblionumber
+ author, title, max(bi.biblionumber) as biblionumber, count(title)
from geo_city c
join geo_biblioitems bi on bi.city = c.city_koha
join biblio b on b.biblionumber = bi.biblionumber
-where c.city = ? and country = ?
-order by timestamp
-limit 100
+where c.city_koha = ? and country = ?
+group by author, title
+order by min(timestamp)
+limit $limit_books
});
$sth->execute( $city, $country );
- $count = $sth->rows if $sth->rows > $count;
+ my $rows = $sth->rows;
+ if ( $rows == $limit_books ) {
+ $rows = "more than $rows";
+ $rows = $count if $count > $rows;
+ };
+ my $books = 'books';
+ $books = 'book' if $rows == 1;
- my $descript = "<b>$city</b> <em>$country</em> $count items\n<ol>";
+ my $descript = "<b>$city</b> <em>$country</em> <small>$rows $books</small>\n<ol>";
while ( my $row = $sth->fetchrow_hashref ) {
$descript .= sprintf qq|<li><a target="koha" href="http://koha.ffzg.hr/cgi-bin/koha/opac-detail.pl?biblionumber=%d">%s</a> %s\n|,