MT 1587 : CSV export for cart and shelves, with the ability to define different expor...
[koha.git] / C4 / Csv.pm
1 package C4::Csv;
2
3 # Copyright 2008 BibLibre
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along with
17 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 # Suite 330, Boston, MA  02111-1307 USA
19 #
20 #
21
22 use C4::Context;
23 use vars qw($VERSION @ISA @EXPORT);
24
25 # set the version for version checking
26 $VERSION = 3.00;
27
28 @ISA = qw(Exporter);
29
30 # only export API methods
31
32 @EXPORT = qw(
33   &GetCsvProfiles
34   &GetCsvProfilesLoop
35   &GetMarcFieldsForCsv
36 );
37
38 my $dbh = C4::Context->dbh;
39
40 # Returns all informations about csv profiles
41 sub GetCsvProfiles {
42
43     my $query = "SELECT * FROM export_format";
44
45     $sth = $dbh->prepare($query);
46     $sth->execute;
47
48     $sth->fetchall_arrayref({});
49
50 }
51
52 # Returns fields to extract for the given csv profile
53 sub GetMarcFieldsForCsv {
54
55     my ($id) = @_;
56
57     my $query = "SELECT marcfields FROM export_format WHERE export_format_id=?";
58
59     $sth = $dbh->prepare($query);
60     $sth->execute($id);
61
62     return ($sth->fetchrow_hashref)->{marcfields};
63     
64  
65 }
66
67 # Returns informations aboout csv profiles suitable for html templates
68 sub GetCsvProfilesLoop {
69    # List of existing profiles
70     my $sth;
71     my $query = "SELECT export_format_id, profile FROM export_format";
72     $sth = $dbh->prepare($query);
73     $sth->execute();
74     return $sth->fetchall_arrayref({});
75
76 }
77
78
79
80 1;