Bug 5981 - OPAC: Add limits to search history
[koha_fer] / C4 / Barcodes.pm
old mode 100755 (executable)
new mode 100644 (file)
index 6fce7bb..4a5fa19
@@ -1,5 +1,3 @@
-#!/usr/bin/perl
-
 package C4::Barcodes;
 
 # Copyright 2008 LibLime
@@ -15,9 +13,9 @@ package C4::Barcodes;
 # 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;
@@ -36,7 +34,7 @@ use vars qw($debug $cgi_debug);       # from C4::Debug, of course
 use vars qw($max $prefformat);
 
 BEGIN {
-    $VERSION = 0.01;
+    $VERSION = 3.07.00.049;
        require Exporter;
     @ISA = qw(Exporter);
     @EXPORT_OK = qw();
@@ -58,21 +56,21 @@ sub initial {
 sub width {
        return undef;
 }
-sub process_head($$;$$) {      # (self,head,whole,specific)
+sub process_head {     # (self,head,whole,specific)
        my $self = shift;
        return shift;                   # Default: just return the head unchanged.
 }
-sub process_tail($$;$$) {      # (self,tail,whole,specific)
+sub process_tail {     # (self,tail,whole,specific)
        my $self = shift;
        return shift;                   # Default: just return the tail unchanged.
 }
-sub is_max ($;$) {
+sub is_max {
        my $self = shift;
        ref($self) or carp "Called is_max on a non-object: '$self'";
        (@_) and $self->{is_max} = shift;
        return $self->{is_max} || 0;
 }
-sub value ($;$) {
+sub value {
        my $self = shift;
        if (@_) {
                my $value = shift;
@@ -85,14 +83,14 @@ sub value ($;$) {
        }
        return $self->{value};
 }
-sub autoBarcode (;$) {
+sub autoBarcode {
        (@_) or return _prefformat;
        my $self = shift;
        my $value = $self->{autoBarcode} or return _prefformat;
        $value =~ s/^.*:://;    # in case we get C4::Barcodes::incremental, we just want 'incremental'
        return $value;
 }
-sub parse ($;$) {      # return 3 parts of barcode: non-incrementing, incrementing, non-incrementing
+sub parse {    # return 3 parts of barcode: non-incrementing, incrementing, non-incrementing
        my $self = shift;
        my $barcode = (@_) ? shift : $self->value;
        unless ($barcode =~ /(.*?)(\d+)$/) {    # non-greedy match in first part
@@ -102,7 +100,7 @@ sub parse ($;$) {   # return 3 parts of barcode: non-incrementing, incrementing, n
        $debug and warn "Barcode '$barcode' parses into: '$1', '$2', ''";
        return ($1,$2,'');      # the third part is in anticipation of barcodes that include checkdigits
 }
-sub max ($;$) {
+sub max {
        my $self = shift;
        if ($self->{is_max}) {
                $debug and print STDERR "max taken from Barcodes value $self->value\n";
@@ -111,14 +109,14 @@ sub max ($;$) {
        $debug and print STDERR "Retrieving max database query.\n";
        return $self->db_max;
 }
-sub db_max () {
+sub db_max {
        my $self = shift;
        my $query = "SELECT max(abs(barcode)) FROM items LIMIT 1"; # Possible problem if multiple barcode types populated
        my $sth = C4::Context->dbh->prepare($query);
        $sth->execute();
        return $sth->fetchrow_array || $self->initial;
 }
-sub next_value ($;$) {
+sub next_value {
        my $self = shift;
        my $specific = (scalar @_) ? 1 : 0;
        my $max = $specific ? shift : $self->max;               # optional argument, i.e. next_value after X
@@ -137,33 +135,30 @@ sub next_value ($;$) {
                # Note, this enlargement might be undesireable for some barcode formats.
                # Those should override next_value() to work accordingly.
        $incr++;
-       my $width = $self->width || undef;
-       # we would want to use %$x.$xd, but that would break on large values, like 2160700004168
-       # so we let the object tell us if it has a width to focus on.  If not, we use float.
-       my $format = ($width ? '%'."$width.$width".'d' : '%.0f');
-       $debug and warn "sprintf(\"$format\",$incr)";
+
+       $debug and warn "$incr";
        $head = $self->process_head($head,$max,$specific);
        $tail = $self->process_tail($tail,$max,$specific);
-       my $next_value = $head . sprintf($format,$incr) . $tail;
+       my $next_value = $head . $incr . $tail;
        $debug and print STDERR "(  next ) max barcode found: $next_value\n";
        return $next_value;
 }
-sub next ($;$) {
+sub next {
        my $self = shift or return undef;
        (@_) and $self->{next} = shift;
        return $self->{next};
 }
-sub previous ($;$) {
+sub previous {
        my $self = shift or return undef;
        (@_) and $self->{previous} = shift;
        return $self->{previous};
 }
-sub serial ($;$) {
+sub serial {
        my $self = shift or return undef;
        (@_) and $self->{serial} = shift;
        return $self->{serial};
 }
-sub default_self (;$) {
+sub default_self {
        (@_) or carp "default_self called with no argument.  Reverting to _prefformat.";
        my $autoBarcode = (@_) ? shift : _prefformat;
        $autoBarcode =~ s/^.*:://;  # in case we get C4::Barcodes::incremental, we just want 'incremental'
@@ -244,8 +239,6 @@ sub new_object {
 1;
 __END__
 
-=doc
-
 =head1 Barcodes
 
 Note that the object returned by new is actually of the type requested (or set by syspref).
@@ -263,7 +256,7 @@ To add a new barcode format, a developer should:
        add to the $types hashref in this file; 
        add tests under the "t" directory; and
        edit autoBarcode syspref to include new type.
-       
+
 =head2 Adding a new module
 
 Each new module that needs differing behavior must override these subs: