X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FCsv.pm;h=511540c01b6a1b155eb6a0c0d127d4cef32f6de4;hb=543e1dc6731d4a26b777223920bfe4037e7546dd;hp=3c1c56d535a2f7e87defca8beddd874e5fac3ea0;hpb=4747ea7462c04770484386538b1594c1760bc75b;p=koha_fer diff --git a/C4/Csv.pm b/C4/Csv.pm index 3c1c56d535..511540c01b 100644 --- a/C4/Csv.pm +++ b/C4/Csv.pm @@ -13,17 +13,20 @@ package C4::Csv; # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # +#use strict; +#use warnings; FIXME - Bug 2505 + use C4::Context; use vars qw($VERSION @ISA @EXPORT); # set the version for version checking -$VERSION = 3.00; +$VERSION = 3.07.00.049; @ISA = qw(Exporter); @@ -31,46 +34,81 @@ $VERSION = 3.00; @EXPORT = qw( &GetCsvProfiles + &GetCsvProfile + &GetCsvProfileId &GetCsvProfilesLoop &GetMarcFieldsForCsv ); -my $dbh = C4::Context->dbh; # Returns all informations about csv profiles sub GetCsvProfiles { - + my ( $type ) = @_; + my $dbh = C4::Context->dbh; my $query = "SELECT * FROM export_format"; + if ( $type ) { + $query .= " WHERE type = ?"; + } $sth = $dbh->prepare($query); - $sth->execute; + $sth->execute( $type ? $type : () ); $sth->fetchall_arrayref({}); } +# Returns all informations about a given csv profile +sub GetCsvProfile { + my ($id) = @_; + my $dbh = C4::Context->dbh; + my $query = "SELECT * FROM export_format WHERE export_format_id=?"; + + $sth = $dbh->prepare($query); + $sth->execute($id); + + return ($sth->fetchrow_hashref); +} + +# Returns id of csv profile about a given csv profile name +sub GetCsvProfileId { + my ($name) = @_; + my $dbh = C4::Context->dbh; + my $query = "SELECT export_format_id FROM export_format WHERE profile=?"; + + $sth = $dbh->prepare($query); + $sth->execute($name); + + return ( $sth->fetchrow ); +} + # Returns fields to extract for the given csv profile sub GetMarcFieldsForCsv { my ($id) = @_; - - my $query = "SELECT marcfields FROM export_format WHERE export_format_id=?"; + my $dbh = C4::Context->dbh; + my $query = "SELECT content FROM export_format WHERE export_format_id=?"; $sth = $dbh->prepare($query); $sth->execute($id); - return ($sth->fetchrow_hashref)->{marcfields}; + return ($sth->fetchrow_hashref)->{content}; } # Returns informations aboout csv profiles suitable for html templates sub GetCsvProfilesLoop { - # List of existing profiles + my ( $type ) = @_; + # List of existing profiles + my $dbh = C4::Context->dbh; my $sth; my $query = "SELECT export_format_id, profile FROM export_format"; + if ( $type ) { + $query .= " WHERE type = ?"; + } + $sth = $dbh->prepare($query); - $sth->execute(); + $sth->execute( $type ? $type : () ); return $sth->fetchall_arrayref({}); }