sub newauthority {
my ($dbh,$category,$stdlib,$freelib,$father,$level,$hierarchy)=@_;
exit unless ($stdlib);
+ $level=1 unless $level;
$freelib = $stdlib unless ($freelib);
my $dbh = C4::Context->dbh;
my $sth1b=$dbh->prepare("select id from bibliothesaurus where freelib=? and hierarchy=? and category=?");
my $id;
if ($#Thierarchy >=0) {
# free form
- $level='' unless $level;
$hierarchy='' unless $hierarchy;
$sth1b->execute($freelib,$hierarchy,$category);
($id) = $sth1b->fetchrow;
$Fhierarchy[$#Fhierarchy] =~ s/\s+$// if ($#Fhierarchy>=0);
$freelib =~ s/\s+$//;
$sth2->execute($category,$Thierarchy[$#Thierarchy],$#Fhierarchy==$#Thierarchy?$Fhierarchy[$#Fhierarchy]:$freelib,$father,$level,$hierarchy);
+ } else {
}
# authority form
$sth1b->execute($Thierarchy[$#Thierarchy],$hierarchy,$category);
unless ($id) {
$Thierarchy[$#Thierarchy] =~ s/^\s+//;
$Thierarchy[$#Thierarchy] =~ s/\s+$//;
- $sth2->execute($category,$Thierarchy[$#Thierarchy],$Thierarchy[$#Thierarchy],$father,$level,$hierarchy);
$sth1b->execute($stdlib,$hierarchy,$category);
($id) = $sth1b->fetchrow;
+ unless ($id) {
+ $sth2->execute($category,$Thierarchy[$#Thierarchy],$Thierarchy[$#Thierarchy],$father,$level,$hierarchy);
+ }
}
}
return $id;
push(@bind,$searchstring);
}
# $query .= " and freelib like \"$searchstring%\"" if ($searchstring);
- $query .= " order by category,freelib limit ?,?";
+ $query .= " limit ?,?";
push(@bind,$offset,($pagesize*4));
-# warn "q : $query";
+ warn "q : $query".@bind;
my $sth=$dbh->prepare($query);
$sth->execute(@bind);
my @results;
my ($cnt) = $sth->fetchrow;
$cnt = $pagesize+1 if ($cnt>$pagesize);
$sth->finish();
- return ($cnt,\@results);
+ return ($#results,\@results);
}
=item SearchDeeper