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