Bug 16281: Remove the use of 'onclick' from Reports module
[koha.git] / C4 / Csv.pm
blobce4693a86efbc5f82d89be1e4d0dbaedabb4d6ee
1 package C4::Csv;
3 # Copyright 2008 BibLibre
5 # This file is part of Koha.
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.
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.
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>.
22 #use strict;
23 #use warnings; FIXME - Bug 2505
25 use C4::Context;
26 use vars qw(@ISA @EXPORT);
29 @ISA = qw(Exporter);
31 # only export API methods
33 @EXPORT = qw(
34 &GetCsvProfiles
35 &GetCsvProfile
36 &GetCsvProfileId
37 &GetCsvProfilesLoop
38 &GetMarcFieldsForCsv
42 # Returns all informations about csv profiles
43 sub GetCsvProfiles {
44 my ( $type ) = @_;
45 my $dbh = C4::Context->dbh;
46 my $query = "SELECT * FROM export_format";
47 if ( $type ) {
48 $query .= " WHERE type = ?";
51 $sth = $dbh->prepare($query);
52 $sth->execute( $type ? $type : () );
54 $sth->fetchall_arrayref({});
58 # Returns all informations about a given csv profile
59 sub GetCsvProfile {
60 my ($id) = @_;
61 my $dbh = C4::Context->dbh;
62 my $query = "SELECT * FROM export_format WHERE export_format_id=?";
64 $sth = $dbh->prepare($query);
65 $sth->execute($id);
67 return ($sth->fetchrow_hashref);
70 # Returns id of csv profile about a given csv profile name
71 sub GetCsvProfileId {
72 my ($name) = @_;
73 my $dbh = C4::Context->dbh;
74 my $query = "SELECT export_format_id FROM export_format WHERE profile=?";
76 $sth = $dbh->prepare($query);
77 $sth->execute($name);
79 return ( $sth->fetchrow );
82 # Returns fields to extract for the given csv profile
83 sub GetMarcFieldsForCsv {
85 my ($id) = @_;
86 my $dbh = C4::Context->dbh;
87 my $query = "SELECT content FROM export_format WHERE export_format_id=?";
89 $sth = $dbh->prepare($query);
90 $sth->execute($id);
92 return ($sth->fetchrow_hashref)->{content};
97 # Returns informations aboout csv profiles suitable for html templates
98 sub GetCsvProfilesLoop {
99 my ( $type ) = @_;
100 # List of existing profiles
101 my $dbh = C4::Context->dbh;
102 my $sth;
103 my $query = "SELECT export_format_id, profile FROM export_format";
104 if ( $type ) {
105 $query .= " WHERE type = ?";
108 $sth = $dbh->prepare($query);
109 $sth->execute( $type ? $type : () );
110 return $sth->fetchall_arrayref({});