3 # Script for handling import of MARC data into Koha db
6 # Koha library project www.koha.org
8 # Licensed under the GPL
10 # Copyright 2000-2002 Katipo Communications
12 # This file is part of Koha.
14 # Koha is free software; you can redistribute it and/or modify it under the
15 # terms of the GNU General Public License as published by the Free Software
16 # Foundation; either version 2 of the License, or (at your option) any later
19 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
20 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
21 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
23 # You should have received a copy of the GNU General Public License along with
24 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
25 # Suite 330, Boston, MA 02111-1307 USA
29 # standard or CPAN modules used
31 use MARC::File::USMARC;
44 my $includes = C4::Context->config('includes') ||
45 "/usr/local/www/hdl/htdocs/includes";
47 # HTML colors for alternating lines
55 my $userid=$ENV{'REMOTE_USER'};
58 my $dbh = C4::Context->dbh;
60 my $uploadmarc=$input->param('uploadmarc');
61 my $overwrite_biblio = $input->param('overwrite_biblio');
62 my $filename = $input->param('filename');
63 my $syntax = $input->param('syntax');
64 my ($template, $loggedinuser, $cookie)
65 = get_template_and_user({template_name => "tools/import.tmpl",
69 flagsrequired => {tools => 1},
73 $template->param(SCRIPT_NAME => $ENV{'SCRIPT_NAME'},
74 uploadmarc => $uploadmarc);
75 if ($uploadmarc && length($uploadmarc)>0) {
77 while (<$uploadmarc>) {
80 my ($notmarcrecord,$alreadyindb,$alreadyinfarm,$imported) = ImportBreeding($marcrecord,$overwrite_biblio,$filename,$syntax,int(rand(99999)), 'batch');
82 $template->param(imported => $imported,
83 alreadyindb => $alreadyindb,
84 alreadyinfarm => $alreadyinfarm,
85 notmarcrecord => $notmarcrecord,
86 total => $imported+$alreadyindb+$alreadyinfarm+$notmarcrecord,
91 output_html_with_http_headers $input, $cookie, $template->output;
95 # log cleared, as marcimport is (almost) rewritten from scratch.
97 # Revision 1.5 2007/04/24 13:54:30 hdl
98 # functions that were in C4::Interface::CGI::Output are now in C4::Output.
99 # So this implies quite a change for files.
100 # Sorry about conflicts which will be caused.
101 # directory Interface::CGI should now be dropped.
102 # I noticed that many scripts (reports ones, but also some circ/stats.pl or opac-topissues) still use Date::Manip.
104 # Revision 1.4 2007/03/09 15:14:47 tipaul
105 # rel_3_0 moved to HEAD
107 # Revision 1.1.2.4 2006/12/22 17:13:49 tipaul
108 # removing "management" permission, that is useless (replaced by tools & admin)
110 # Revision 1.1.2.3 2006/12/18 16:35:20 toins
111 # removing use HTML::Template from *.pl.
113 # Revision 1.1.2.2 2006/10/03 12:27:32 toins
114 # the script was written twice into the file !
116 # Revision 1.1.2.1 2006/09/26 13:42:54 toins
117 # fix wrong link to breeding.tmpl
119 # Revision 1.1 2006/02/24 11:52:38 hdl
120 # Adding tools directory template and scripts
121 # Changing barcodes, export and import and letters directory.
122 # Changing export script name (marc.pl) to export.pl
123 # Changing import script name (breeding.pl) to import.pl
125 # Revision 1.4 2005/05/04 08:52:13 tipaul
126 # synch'ing 2.2 and head
128 # Revision 1.3 2005/03/23 09:57:47 doxulting
129 # Adding a parameter to allow acces to people with management/tools flags