Bug 10572: Add phone to message_transport_types table for new installs
[koha.git] / C4 / Csv.pm
index 95cf634..511540c 100644 (file)
--- 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({});
 
 }