X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FCsv.pm;h=511540c01b6a1b155eb6a0c0d127d4cef32f6de4;hb=568f32606c2c9c247b2b477193a2d6814f738fa6;hp=95cf634471efe20e60662301558adff5c83837ba;hpb=b93e6df3a1b7051bc92220cf6bd829c2229bfa70;p=koha.git diff --git a/C4/Csv.pm b/C4/Csv.pm index 95cf634471..511540c01b 100644 --- a/C4/Csv.pm +++ b/C4/Csv.pm @@ -35,6 +35,7 @@ $VERSION = 3.07.00.049; @EXPORT = qw( &GetCsvProfiles &GetCsvProfile + &GetCsvProfileId &GetCsvProfilesLoop &GetMarcFieldsForCsv ); @@ -42,11 +43,15 @@ $VERSION = 3.07.00.049; # 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({}); @@ -64,29 +69,46 @@ sub GetCsvProfile { 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 $dbh = C4::Context->dbh; - my $query = "SELECT marcfields FROM export_format WHERE export_format_id=?"; + 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({}); }