MT2116: Addons to the CSV export
[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   &GetCsvProfile
35   &GetCsvProfilesLoop
36   &GetMarcFieldsForCsv
37 );
38
39
40 # Returns all informations about csv profiles
41 sub GetCsvProfiles {
42     my $dbh = C4::Context->dbh;
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 all informations about a given csv profile
53 sub GetCsvProfile {
54     my ($id) = @_;
55     my $dbh = C4::Context->dbh;
56     my $query = "SELECT * FROM export_format WHERE export_format_id=?";
57
58     $sth = $dbh->prepare($query);
59     $sth->execute($id);
60
61     return ($sth->fetchrow_hashref);
62 }
63
64 # Returns fields to extract for the given csv profile
65 sub GetMarcFieldsForCsv {
66
67     my ($id) = @_;
68     my $dbh = C4::Context->dbh;
69     my $query = "SELECT marcfields FROM export_format WHERE export_format_id=?";
70
71     $sth = $dbh->prepare($query);
72     $sth->execute($id);
73
74     return ($sth->fetchrow_hashref)->{marcfields};
75     
76  
77 }
78
79 # Returns informations aboout csv profiles suitable for html templates
80 sub GetCsvProfilesLoop {
81    # List of existing profiles
82     my $dbh = C4::Context->dbh;
83     my $sth;
84     my $query = "SELECT export_format_id, profile FROM export_format";
85     $sth = $dbh->prepare($query);
86     $sth->execute();
87     return $sth->fetchall_arrayref({});
88
89 }
90
91
92
93 1;