File: | C4/Csv.pm |
Coverage: | 22.9% |
line | stmt | bran | cond | sub | time | code |
---|---|---|---|---|---|---|
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 | |||||
17 | # with Koha; if not, write to the Free Software Foundation, Inc., | |||||
18 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||||
19 | # | |||||
20 | # | |||||
21 | ||||||
22 | #use strict; | |||||
23 | #use warnings; FIXME - Bug 2505 | |||||
24 | ||||||
25 | 1 1 1 | 251 7 16 | use C4::Context; | |||
26 | 1 1 1 | 8 6 364 | use vars qw($VERSION @ISA @EXPORT); | |||
27 | ||||||
28 | # set the version for version checking | |||||
29 | $VERSION = 3.00; | |||||
30 | ||||||
31 | @ISA = qw(Exporter); | |||||
32 | ||||||
33 | # only export API methods | |||||
34 | ||||||
35 | @EXPORT = qw( | |||||
36 | &GetCsvProfiles | |||||
37 | &GetCsvProfile | |||||
38 | &GetCsvProfilesLoop | |||||
39 | &GetMarcFieldsForCsv | |||||
40 | ); | |||||
41 | ||||||
42 | ||||||
43 | # Returns all informations about csv profiles | |||||
44 | sub GetCsvProfiles { | |||||
45 | 0 | my $dbh = C4::Context->dbh; | ||||
46 | 0 | my $query = "SELECT * FROM export_format"; | ||||
47 | ||||||
48 | 0 | $sth = $dbh->prepare($query); | ||||
49 | 0 | $sth->execute; | ||||
50 | ||||||
51 | 0 | $sth->fetchall_arrayref({}); | ||||
52 | ||||||
53 | } | |||||
54 | ||||||
55 | # Returns all informations about a given csv profile | |||||
56 | sub GetCsvProfile { | |||||
57 | 0 | my ($id) = @_; | ||||
58 | 0 | my $dbh = C4::Context->dbh; | ||||
59 | 0 | my $query = "SELECT * FROM export_format WHERE export_format_id=?"; | ||||
60 | ||||||
61 | 0 | $sth = $dbh->prepare($query); | ||||
62 | 0 | $sth->execute($id); | ||||
63 | ||||||
64 | 0 | return ($sth->fetchrow_hashref); | ||||
65 | } | |||||
66 | ||||||
67 | # Returns fields to extract for the given csv profile | |||||
68 | sub GetMarcFieldsForCsv { | |||||
69 | ||||||
70 | 0 | my ($id) = @_; | ||||
71 | 0 | my $dbh = C4::Context->dbh; | ||||
72 | 0 | my $query = "SELECT marcfields FROM export_format WHERE export_format_id=?"; | ||||
73 | ||||||
74 | 0 | $sth = $dbh->prepare($query); | ||||
75 | 0 | $sth->execute($id); | ||||
76 | ||||||
77 | 0 | return ($sth->fetchrow_hashref)->{marcfields}; | ||||
78 | ||||||
79 | ||||||
80 | } | |||||
81 | ||||||
82 | # Returns informations aboout csv profiles suitable for html templates | |||||
83 | sub GetCsvProfilesLoop { | |||||
84 | # List of existing profiles | |||||
85 | 0 | my $dbh = C4::Context->dbh; | ||||
86 | 0 | my $sth; | ||||
87 | 0 | my $query = "SELECT export_format_id, profile FROM export_format"; | ||||
88 | 0 | $sth = $dbh->prepare($query); | ||||
89 | 0 | $sth->execute(); | ||||
90 | 0 | return $sth->fetchall_arrayref({}); | ||||
91 | ||||||
92 | } | |||||
93 | ||||||
94 | ||||||
95 | ||||||
96 | 1; |