X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=acqui%2Fcheck_uniqueness.pl;h=70d95ddd7b4ec57ae603f2c153a441e60b7b48ac;hb=c9d3e5470709f1f44e0952d06832a45909046ef1;hp=95b19924da8ac25a402e8e2873eda39d46e25cb1;hpb=367c4fb8815bfe4a01869a25bcd8222989c15dcd;p=koha.git diff --git a/acqui/check_uniqueness.pl b/acqui/check_uniqueness.pl index 95b19924da..70d95ddd7b 100755 --- a/acqui/check_uniqueness.pl +++ b/acqui/check_uniqueness.pl @@ -4,18 +4,18 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . # This script search in items table if a value for a given field exists. # It is used in check_additem (additem.js) @@ -31,38 +31,23 @@ use Modern::Perl; -use CGI; +use CGI qw ( -utf8 ); use JSON; -use C4::Context; use C4::Output; -use C4::Auth; +use C4::Items; my $input = new CGI; -my @field = $input->param('field'); -my @value = $input->param('value'); - -my $dbh = C4::Context->dbh; - -my $query = "SHOW COLUMNS FROM items"; -my $sth = $dbh->prepare($query); -$sth->execute; -my $results = $sth->fetchall_hashref('Field'); -my @columns = keys %$results; +my @field = $input->multi_param('field[]'); +my @value = $input->multi_param('value[]'); my $r = {}; -my $index = 0; -for my $f ( @field ) { - if(0 < grep /^$f$/, @columns) { - $query = "SELECT $f FROM items WHERE $f = ?"; - $sth = $dbh->prepare( $query ); - $sth->execute( $value[$index] ); - my @values = $sth->fetchrow_array; +my $i = 0; +for ( my $i=0; $i<@field; $i++ ) { + my $items = C4::Items::SearchItemsByField($field[$i], $value[$i]); - if ( @values ) { - push @{ $r->{$f} }, $values[0]; - } + if ( @$items ) { + push @{ $r->{$field[$i]} }, $value[$i]; } - $index++; } output_with_http_headers $input, undef, to_json($r), 'json';