X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FCsv.pm;h=511540c01b6a1b155eb6a0c0d127d4cef32f6de4;hb=568f32606c2c9c247b2b477193a2d6814f738fa6;hp=292cd4edad55816a10ca8f615c2529625c1907fd;hpb=d8b299bcda3833f69c9e81dfac152d122ddb9ee3;p=koha.git diff --git a/C4/Csv.pm b/C4/Csv.pm index 292cd4edad..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,6 +34,8 @@ $VERSION = 3.00; @EXPORT = qw( &GetCsvProfiles + &GetCsvProfile + &GetCsvProfileId &GetCsvProfilesLoop &GetMarcFieldsForCsv ); @@ -38,39 +43,72 @@ $VERSION = 3.00; # 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 $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({}); }