Bug 10572: Add phone to message_transport_types table for new installs
[koha.git] / C4 / ItemType.pm
index 8ae9a29..ad253a7 100644 (file)
@@ -1,5 +1,8 @@
 package C4::ItemType;
 
+# Copyright Liblime 2009
+# Parts Copyright Tamil 2011
+#
 # This file is part of Koha.
 #
 # Koha is free software; you can redistribute it and/or modify it under the
@@ -11,9 +14,9 @@ package C4::ItemType;
 # 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;
@@ -73,12 +76,38 @@ C<description>.
 sub all {
     my ($class) = @_;
     my $dbh = C4::Context->dbh;
-    return    map { $class->new($_) }    @{$dbh->selectall_arrayref(
-        # The itemtypes table is small enough for
-        # `SELECT *` to be harmless.
-        "SELECT * FROM itemtypes ORDER BY description",
-        { Slice => {} },
-    )};
+
+    my @itypes;
+    for ( @{$dbh->selectall_arrayref(
+        "SELECT * FROM itemtypes ORDER BY description", { Slice => {} })} )
+    {
+        utf8::encode($_->{description});
+        push @itypes, $class->new($_);
+    }
+    return @itypes;
+}
+
+
+
+
+=head3 C4::ItemType->get
+
+Return the itemtype indicated by the itemtype given as argument, as
+an object.
+
+=cut
+
+sub get {
+    my ($class, $itemtype) = @_;
+    my $dbh = C4::Context->dbh;
+
+    my $data = $dbh->selectrow_hashref(
+        "SELECT * FROM itemtypes WHERE itemtype = ?", undef, $itemtype
+    );
+    if ( $data->{description} ) {
+        utf8::encode($data->{description});
+    }
+    return $class->new($data);
 }
 
 
@@ -90,16 +119,32 @@ These are read-only accessors for attributes of a C4::ItemType object.
 
 =head3 $itemtype->itemtype
 
+=cut
+
 =head3 $itemtype->description
 
+=cut
+
 =head3 $itemtype->renewalsallowed
 
+=cut
+
 =head3 $itemtype->rentalcharge
 
+=cut
+
 =head3 $itemtype->notforloan
 
+=cut
+
 =head3 $itemtype->imageurl
 
+=cut
+
+=head3 $itemtype->checkinmsg
+
+=cut
+
 =head3 $itemtype->summary
 
 =cut