use C4::Search;
use C4::Output;
use C4::Authorities;
+use C4::Interface::CGI::Output;
# get all the data ....
my %env;
my $input = new CGI;
my $result = $input->param('result');
my $search_string= $input->param('search_string');
+$search_string = $result unless ($search_string);
my $op = $input->param('op');
my $id = $input->param('id');
my $category = $input->param('category');
my $index= $input->param('index');
my $insert = $input->param('insert');
-
+my $nohierarchy = $input->param('nohierarchy'); # if 1, just show the last part of entry (Marseille). If 0, show everything (Europe -- France --Marseille)
my $dbh = C4::Context->dbh;
# make the page ...
#print $input->header;
if ($op eq "select") {
- my $sti = $dbh->prepare("select stdlib from bibliothesaurus where id=?");
+ my $sti = $dbh->prepare("select father,stdlib from bibliothesaurus where id=?");
$sti->execute($id);
- my ($freelib_text) = $sti->fetchrow_array;
+ my ($father,$freelib_text) = $sti->fetchrow_array;
if (length($result)>0) {
- $result .= "|$freelib_text";
+ if ($nohierarchy) {
+ $result .= "|$freelib_text";
+ } else {
+ $result .= "|$father $freelib_text";
+ }
} else {
- $result = $freelib_text;
+ if ($nohierarchy) {
+ $result = "$freelib_text";
+ } else {
+ $result = "$father $freelib_text";
+ }
}
}
if ($op eq "add") {
my $select_list;
if ($search_string) {
# my $sti=$dbh->prepare("select id,freelib from bibliothesaurus where freelib like '".$search_string."%' and category ='$category'");
- my $sti=$dbh->prepare("select id,freelib from bibliothesaurus where match (category,freelib) AGAINST ('$search_string') and category ='$category'");
- $sti->execute;
+ my $sti=$dbh->prepare("select id,freelib,father from bibliothesaurus where match (category,freelib) AGAINST (?) and category =?");
+ $sti->execute($search_string,$category);
while (my $line=$sti->fetchrow_hashref) {
- $stdlib{$line->{'id'}} = "$line->{'freelib'}";
+ if ($nohierarchy) {
+ $stdlib{$line->{'id'}} = "$line->{'freelib'}";
+ } else {
+ $stdlib{$line->{'id'}} = "$line->{'father'} $line->{'freelib'}";
+ }
push(@freelib,$line->{'id'});
}
$select_list= CGI::scrolling_list( -name=>'id',
-labels=> \%stdlib
);
}
+my @x = SearchDeeper('',$category,$search_string);
+#my @son;
+#foreach (my $value @$x) {
+# warn \@$x[$value]->{'stdlib'};
+#}
+my $dig_list= CGI::scrolling_list( -name=>'search_string',
+ -values=> \@x,
+ -default=> "",
+ -size=>1,
+ -multiple=>0,
+ );
+
$template->param(select_list => $select_list,
search_string => $search_string,
+ dig_list => $dig_list,
result => $result,
category => $category,
- index => $index
+ index => $index,
+ nohierarchy => $nohierarchy,
);
-print $input->header(-cookie => $cookie),$template->output;
+output_html_with_http_headers $input, $cookie, $template->output;