# You should have received a copy of the GNU General Public License along with
# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
+=head1 SYNOPSIS
+
+This plugin is used to map isbn/editor with collection.
+It need :
+ in thesaurus, a category named EDITORS
+ in this category, datas must be entered like following :
+ isbn separator editor separator collection.
+ for example :
+ 2204 -- Cerf -- Cogitatio fidei
+ 2204 -- Cerf -- Le Magistère de l'Eglise
+ 2204 -- Cerf -- Lectio divina
+ 2204 -- Cerf -- Lire la Bible
+ 2204 -- Cerf -- Pour lire
+ 2204 -- Cerf -- Sources chrétiennes
+
+ when the user clic on ... on 225a line, the popup shows the list of collections from the selected editor
+ if the biblio has no isbn, then the search if done on editor only
+ If the biblio ha an isbn, the search is done on isbn and editor. It's faster.
+
+=over 2
+
+=cut
use strict;
+use C4::Auth;
use CGI;
use C4::Context;
use HTML::Template;
use C4::Search;
use C4::Output;
-sub plugin_parameters {
-my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
-return "";
-}
sub plugin_javascript {
-my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
my $function_name= "100".(int(rand(100000))+1);
my $res="
<script>
my $isbn_found = $input->param('isbn_found');
my $dbh = C4::Context->dbh;
my $authoritysep = C4::Context->preference("authoritysep");
- my $template = gettemplate("value_builder/unimarc_field_225a.tmpl",0);
+ my ($template, $loggedinuser, $cookie)
+ = get_template_and_user({template_name => "value_builder/unimarc_field_225a.tmpl",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => {parameters => 1},
+ debug => 1,
+ });
# builds collection list : search isbn and editor, in parent, then load collections from bibliothesaurus table
- my $sth = $dbh->prepare("select stdlib from bibliothesaurus where father=? and category='EDITORS'");
- my @splited = split //, $isbn_found;
- my $isbn_rebuild='';
- my @collections;
- foreach my $x (@splited) {
- $isbn_rebuild.=$x;
- $sth->execute("$isbn_rebuild $authoritysep $editor_found $authoritysep");
+ # if there is an isbn, complete search
+ my @collections;
+ if ($isbn_found) {
+ my $sth = $dbh->prepare("select stdlib from bibliothesaurus where father=? and category='EDITORS'");
+ my @splited = split //, $isbn_found;
+ my $isbn_rebuild='';
+ foreach my $x (@splited) {
+ $isbn_rebuild.=$x;
+ $sth->execute("$isbn_rebuild $authoritysep $editor_found $authoritysep");
+ while (my ($line)= $sth->fetchrow) {
+ push @collections,$line;
+ }
+ }
+ } else {
+ # if there is no isbn, search with %
+ my $sth = $dbh->prepare("select stdlib from bibliothesaurus where father like ? and category='EDITORS'");
+ $sth->execute("\%$authoritysep $editor_found $authoritysep");
while (my ($line)= $sth->fetchrow) {
push @collections,$line;
}
);
$template->param(index => $index,
collection => $collection);
- print "Content-Type: text/html\n\n", $template->output;
+ print $input->header(-cookie => $cookie),$template->output;
}
1;