(bug #3558) fix build_browser_and_cloud

This patch, permit to take care of similar entries, if there is some diacritics or not.
(cherry picked from commit 776c177e3debedaf08fec65fbf8111675ccc93e7)

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This commit is contained in:
Nahuel ANGELINETTI 2009-08-28 23:47:50 +02:00 committed by Galen Charlton
parent ec5565d356
commit 0960b9a030

View file

@ -79,6 +79,7 @@ my %browser_result;
# the result hash for the cloud table
my %cloud_result;
while ((my ($biblionumber)= $sth->fetchrow)) {
$i++;
print "." unless $batch;
@ -104,14 +105,18 @@ while ((my ($biblionumber)= $sth->fetchrow)) {
}
#deal with CLOUD part
if ($cloud_tag && $Koharecord) {
foreach ($Koharecord->field($cloud_tag)) {
my $line;
foreach ($_->subfields()) {
next if $_->[0]=~ /\d/;
$line .= $_->[1].' ';
if($Koharecord->field($cloud_tag)){
foreach ($Koharecord->field($cloud_tag)) {
my $line;
foreach ($_->subfields()) {
next if $_->[0]=~ /\d/;
$line .= $_->[1].' ';
}
$line =~ s/ $//;
$cloud_result{$line}++;
}
$line =~ s/ $//;
$cloud_result{$line}++;
}else{
print "!";
}
}
@ -140,11 +145,19 @@ if ($browser_tag) {
}
# fills the cloud (tags) table
my $sthver = $dbh->prepare("SELECT weight FROM tags WHERE entry = ? ");
my $sthins = $dbh->prepare("insert into tags (entry,weight) values (?,?)");
my $sthup = $dbh->prepare("UPDATE tags SET weight = ? WHERE entry = ?");
if ($cloud_tag) {
$dbh->do("truncate tags");
my $sth = $dbh->prepare("insert into tags (entry,weight) values (?,?)");
foreach (keys %cloud_result) {
$sth->execute($_,$cloud_result{$_});
foreach my $key (keys %cloud_result) {
$sthver->execute($key);
if(my $row = $sthver->fetchrow_hashref){
my $count = $row->{weight} + $cloud_result{$key};
$sthup->execute($count, $key);
}else{
$sthins->execute($key,$cloud_result{$key});
}
}
}
# $dbh->do("unlock tables");