Bug 16011: $VERSION - Remove the $VERSION init
[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
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
19 #
20 #
21
22 #use strict;
23 #use warnings; FIXME - Bug 2505
24
25 use C4::Context;
26 use vars qw(@ISA @EXPORT);
27
28 # set the version for version checking
29
30 @ISA = qw(Exporter);
31
32 # only export API methods
33
34 @EXPORT = qw(
35   &GetCsvProfiles
36   &GetCsvProfile
37   &GetCsvProfileId
38   &GetCsvProfilesLoop
39   &GetMarcFieldsForCsv
40 );
41
42
43 # Returns all informations about csv profiles
44 sub GetCsvProfiles {
45     my ( $type ) = @_;
46     my $dbh = C4::Context->dbh;
47     my $query = "SELECT * FROM export_format";
48     if ( $type ) {
49         $query .= " WHERE type = ?";
50     }
51
52     $sth = $dbh->prepare($query);
53     $sth->execute( $type ? $type : () );
54
55     $sth->fetchall_arrayref({});
56
57 }
58
59 # Returns all informations about a given csv profile
60 sub GetCsvProfile {
61     my ($id) = @_;
62     my $dbh = C4::Context->dbh;
63     my $query = "SELECT * FROM export_format WHERE export_format_id=?";
64
65     $sth = $dbh->prepare($query);
66     $sth->execute($id);
67
68     return ($sth->fetchrow_hashref);
69 }
70
71 # Returns id of csv profile about a given csv profile name
72 sub GetCsvProfileId {
73     my ($name)  = @_;
74     my $dbh   = C4::Context->dbh;
75     my $query = "SELECT export_format_id FROM export_format WHERE profile=?";
76
77     $sth = $dbh->prepare($query);
78     $sth->execute($name);
79
80     return ( $sth->fetchrow );
81 }
82
83 # Returns fields to extract for the given csv profile
84 sub GetMarcFieldsForCsv {
85
86     my ($id) = @_;
87     my $dbh = C4::Context->dbh;
88     my $query = "SELECT content FROM export_format WHERE export_format_id=?";
89
90     $sth = $dbh->prepare($query);
91     $sth->execute($id);
92
93     return ($sth->fetchrow_hashref)->{content};
94     
95  
96 }
97
98 # Returns informations aboout csv profiles suitable for html templates
99 sub GetCsvProfilesLoop {
100     my ( $type ) = @_;
101     # List of existing profiles
102     my $dbh = C4::Context->dbh;
103     my $sth;
104     my $query = "SELECT export_format_id, profile FROM export_format";
105     if ( $type ) {
106         $query .= " WHERE type = ?";
107     }
108
109     $sth = $dbh->prepare($query);
110     $sth->execute( $type ? $type : () );
111     return $sth->fetchall_arrayref({});
112
113 }
114
115
116
117 1;