re indenting
authortoins <toins>
Thu, 12 Jul 2007 15:26:22 +0000 (15:26 +0000)
committertoins <toins>
Thu, 12 Jul 2007 15:26:22 +0000 (15:26 +0000)
admin/itemtypes.pl

index fee52bd..c86e0c7 100755 (executable)
@@ -1,25 +1,4 @@
 #!/usr/bin/perl
-# NOTE: 4-character tabs
-
-#script to administer the categories table
-#written 20/02/2002 by paul.poulain@free.fr
-# This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html)
-
-# ALGO :
-# this script use an $op to know what to do.
-# if $op is empty or none of the above values,
-#      - the default screen is build (with all records, or filtered datas).
-#      - the   user can clic on add, modify or delete record.
-# if $op=add_form
-#      - if primkey exists, this is a modification,so we read the $primkey record
-#      - builds the add/modify form
-# if $op=add_validate
-#      - the user has just send datas, so we create/modify the record
-# if $op=delete_form
-#      - we show the record having primkey=$primkey and ask for deletion validation form
-# if $op=delete_confirm
-#      - we delete the record having primkey=$primkey
-
 
 # Copyright 2000-2002 Katipo Communications
 #
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
+=head1 admin/itemtypes.pl
+
+script to administer the categories table
+written 20/02/2002 by paul.poulain@free.fr
+ This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html)
+
+ ALGO :
+ this script use an $op to know what to do.
+ if $op is empty or none of the above values,
+       - the default screen is build (with all records, or filtered datas).
+       - the   user can clic on add, modify or delete record.
+ if $op=add_form
+       - if primkey exists, this is a modification,so we read the $primkey record
+       - builds the add/modify form
+ if $op=add_validate
+       - the user has just send datas, so we create/modify the record
+ if $op=delete_form
+       - we show the record having primkey=$primkey and ask for deletion validation form
+ if $op=delete_confirm
+       - we delete the record having primkey=$primkey
+
+=cut
+
 use strict;
 use CGI;
 
@@ -48,111 +50,127 @@ use C4::Context;
 use C4::Auth;
 use C4::Output;
 
-sub StringSearch  {
-       my ($searchstring,$type)=@_;
-       my $dbh = C4::Context->dbh;
-       $searchstring=~ s/\'/\\\'/g;
-       my @data=split(' ',$searchstring);
-       my $count=@data;
-       my $sth=$dbh->prepare("Select * from itemtypes where (description like ?) order by itemtype");
-       $sth->execute("$data[0]%");
-       my @results;
-       while (my $data=$sth->fetchrow_hashref){
-       push(@results,$data);
-       }
-       #  $sth->execute;
-       $sth->finish;
-       return (scalar(@results),\@results);
+sub StringSearch {
+    my ( $searchstring, $type ) = @_;
+    my $dbh = C4::Context->dbh;
+    $searchstring =~ s/\'/\\\'/g;
+    my @data = split( ' ', $searchstring );
+    my $count = @data;
+    my $sth =
+      $dbh->prepare(
+        "Select * from itemtypes where (description like ?) order by itemtype");
+    $sth->execute("$data[0]%");
+    my @results;
+
+    while ( my $data = $sth->fetchrow_hashref ) {
+        push( @results, $data );
+    }
+
+    #  $sth->execute;
+    $sth->finish;
+    return ( scalar(@results), \@results );
 }
 
-my $input = new CGI;
-my $searchfield=$input->param('description');
-my $script_name="/cgi-bin/koha/admin/itemtypes.pl";
-my $itemtype=$input->param('itemtype');
-my $pagesize=10;
-my $op = $input->param('op');
-$searchfield=~ s/\,//g;
-my ($template, $borrowernumber, $cookie)
-    = get_template_and_user({template_name => "admin/itemtypes.tmpl",
-                            query => $input,
-                            type => "intranet",
-                            authnotrequired => 0,
-                            flagsrequired => {parameters => 1},
-                            debug => 1,
-                            });
+my $input       = new CGI;
+my $searchfield = $input->param('description');
+my $script_name = "/cgi-bin/koha/admin/itemtypes.pl";
+my $itemtype    = $input->param('itemtype');
+my $pagesize    = 10;
+my $op          = $input->param('op');
+$searchfield =~ s/\,//g;
+my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
+    {
+        template_name   => "admin/itemtypes.tmpl",
+        query           => $input,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => { parameters => 1 },
+        debug           => 1,
+    }
+);
 
 if ($op) {
-$template->param(script_name => $script_name,
-                                               $op              => 1); # we show only the TMPL_VAR names $op
-} else {
-$template->param(script_name => $script_name,
-                                               else              => 1); # we show only the TMPL_VAR names $op
+    $template->param(
+        script_name => $script_name,
+        $op         => 1
+    );    # we show only the TMPL_VAR names $op
+}
+else {
+    $template->param(
+        script_name => $script_name,
+        else        => 1
+    );    # we show only the TMPL_VAR names $op
 }
 ################## ADD_FORM ##################################
 # called by default. Used to create form to add or  modify a record
-if ($op eq 'add_form') {
-       #start the page and read in includes
-       #---- if primkey exists, it's a modify action, so read values to modify...
-       my $data;
-       if ($itemtype) {
-               my $dbh = C4::Context->dbh;
-               my $sth=$dbh->prepare("select * from itemtypes where itemtype=?");
-               $sth->execute($itemtype);
-               $data=$sth->fetchrow_hashref;
-               $sth->finish;
-       }
-       # build list of images
-       my $imagedir_filesystem = getitemtypeimagedir();
-    my $imagedir_web = getitemtypeimagesrc();
-    opendir(DIR, $imagedir_filesystem)
-        or warn "can't opendir ".$imagedir_filesystem.": ".$!;
-       my @imagelist;
-       my $i=0;
-       my $image_per_line=12;
-       while (my $line = readdir(DIR)) {
-           $i++;
-               if ($line =~ /\.(gif|png)$/i) {
-                   if($i==$image_per_line){
-                       $i=0;
-                       push @imagelist,{KohaImage => '',KohaImageSrc => ''};
-                   }
-                   else{
-                push( @imagelist,
+if ( $op eq 'add_form' ) {
+
+    #start the page and read in includes
+    #---- if primkey exists, it's a modify action, so read values to modify...
+    my $data;
+    if ($itemtype) {
+        my $dbh = C4::Context->dbh;
+        my $sth = $dbh->prepare("select * from itemtypes where itemtype=?");
+        $sth->execute($itemtype);
+        $data = $sth->fetchrow_hashref;
+        $sth->finish;
+    }
+
+    # build list of images
+    my $imagedir_filesystem = getitemtypeimagedir();
+    my $imagedir_web        = getitemtypeimagesrc();
+    opendir( DIR, $imagedir_filesystem )
+      or warn "can't opendir " . $imagedir_filesystem . ": " . $!;
+    my @imagelist;
+    my $i              = 0;
+    my $image_per_line = 12;
+    while ( my $line = readdir(DIR) ) {
+        $i++;
+        if ( $line =~ /\.(gif|png)$/i ) {
+            if ( $i == $image_per_line ) {
+                $i = 0;
+                push @imagelist, { KohaImage => '', KohaImageSrc => '' };
+            }
+            else {
+                push(
+                    @imagelist,
                     {
-                        KohaImage => $line,
-                        KohaImageSrc => $imagedir_web.'/'.$line,
-                        checked => $line eq $data->{imageurl} ? 1 : 0,
+                        KohaImage    => $line,
+                        KohaImageSrc => $imagedir_web . '/' . $line,
+                        checked      => $line eq $data->{imageurl} ? 1 : 0,
                     }
                 );
             }
-               }
-       }
-       closedir DIR;
+        }
+    }
+    closedir DIR;
 
     my $remote_image = undef;
-    if (defined $data->{imageurl} and $data->{imageurl} =~ m/^http/) {
+    if ( defined $data->{imageurl} and $data->{imageurl} =~ m/^http/ ) {
         $remote_image = $data->{imageurl};
     }
 
-       $template->param(
-        itemtype => $itemtype,
-        description => $data->{'description'},
+    $template->param(
+        itemtype        => $itemtype,
+        description     => $data->{'description'},
         renewalsallowed => $data->{'renewalsallowed'},
-        rentalcharge => sprintf("%.2f",$data->{'rentalcharge'}),
-        notforloan => $data->{'notforloan'},
-        imageurl => $data->{'imageurl'},
-        template => C4::Context->preference('template'),
-        summary => $data->{summary},
-        IMAGESLOOP => \@imagelist,
-        remote_image => $remote_image,
+        rentalcharge    => sprintf( "%.2f", $data->{'rentalcharge'} ),
+        notforloan      => $data->{'notforloan'},
+        imageurl        => $data->{'imageurl'},
+        template        => C4::Context->preference('template'),
+        summary         => $data->{summary},
+        IMAGESLOOP      => \@imagelist,
+        remote_image    => $remote_image,
     );
-                                                                                                       # END $OP eq ADD_FORM
+
+    # END $OP eq ADD_FORM
 ################## ADD_VALIDATE ##################################
-# called by add_form, used to insert/modify data in DB
-} elsif ($op eq 'add_validate') {
-       my $dbh = C4::Context->dbh;
-    
-    my $modif='';
+    # called by add_form, used to insert/modify data in DB
+}
+elsif ( $op eq 'add_validate' ) {
+    my $dbh = C4::Context->dbh;
+
+    my $modif = '';
     my $query = "
         SELECT itemtype
         FROM   itemtypes
@@ -160,11 +178,11 @@ if ($op eq 'add_form') {
     ";
     my $sth = $dbh->prepare($query);
     $sth->execute($itemtype);
-    if($sth->fetchrow){
+    if ( $sth->fetchrow ) {
         $modif = 1;
     }
-    
-    if($modif){  # it 's a modification
+
+    if ($modif) {    # it 's a modification
         my $query = '
             UPDATE itemtypes
             SET    description = ?
@@ -175,127 +193,136 @@ if ($op eq 'add_form') {
                  , summary = ?
             WHERE itemtype = ?
         ';
-        my $sth=$dbh->prepare($query);
-              $sth->execute(
-                $input->param('description'),
-                       $input->param('renewalsallowed'),
-                $input->param('rentalcharge'),
-                       ($input->param('notforloan') ? 1 : 0),
-                ($input->param('image') eq 'removeImage'
-                        ?''
-                        :($input->param('image') eq 'remoteImage' 
-                            ? $input->param('remoteImage')
-                            :$input->param('image')."")
-                ),
-                $input->param('summary'),
-                       $input->param('itemtype')
-            );
+        my $sth = $dbh->prepare($query);
+        $sth->execute(
+            $input->param('description'),
+            $input->param('renewalsallowed'),
+            $input->param('rentalcharge'),
+            ( $input->param('notforloan') ? 1 : 0 ),
+            (
+                $input->param('image') eq 'removeImage' ? ''
+                : (
+                      $input->param('image') eq 'remoteImage'
+                    ? $input->param('remoteImage')
+                    : $input->param('image') . ""
+                )
+            ),
+            $input->param('summary'),
+            $input->param('itemtype')
+        );
     }
-    else { # add a new itemtype & not modif an old
+    else {    # add a new itemtype & not modif an old
         my $query = "
             INSERT INTO itemtypes
                 (itemtype,description,renewalsallowed,rentalcharge, notforloan, imageurl,summary)
             VALUES
                 (?,?,?,?,?,?,?);
             ";
-        my $sth=$dbh->prepare($query);
-           $sth->execute(
-                $input->param('itemtype'),
-                $input->param('description'),
-                $input->param('renewalsallowed'),
-                $input->param('rentalcharge'),
-                $input->param('notforloan') ? 1 : 0,
-                $input->param('image') eq 'removeImage' ? '' : $input->param('image') eq 'remoteImage' ? $input->param('remoteImage') : $input->param('image'),
-                $input->param('summary'),
-            );
+        my $sth = $dbh->prepare($query);
+        $sth->execute(
+            $input->param('itemtype'),
+            $input->param('description'),
+            $input->param('renewalsallowed'),
+            $input->param('rentalcharge'),
+            $input->param('notforloan') ? 1 : 0,
+            $input->param('image') eq 'removeImage' ? ''
+            : $input->param('image') eq 'remoteImage'
+            ? $input->param('remoteImage')
+            : $input->param('image'),
+            $input->param('summary'),
+        );
     }
-    
-       print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=itemtypes.pl\"></html>";
-       exit;
-                                                                               # END $OP eq ADD_VALIDATE
+
+    print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=itemtypes.pl\"></html>";
+    exit;
+
+    # END $OP eq ADD_VALIDATE
 ################## DELETE_CONFIRM ##################################
-# called by default form, used to confirm deletion of data in DB
-} elsif ($op eq 'delete_confirm') {
-       #start the page and read in includes
-       my $dbh = C4::Context->dbh;
-
-       # Check both categoryitem and biblioitems, see Bug 199
-       my $total = 0;
-       for my $table ('biblioitems') {
-          my $sth=$dbh->prepare("select count(*) as total from $table where itemtype=?");
-          $sth->execute($itemtype);
-          $total += $sth->fetchrow_hashref->{total};
-          $sth->finish;
-       }
-
-       my $sth=$dbh->prepare("select itemtype,description,renewalsallowed,rentalcharge from itemtypes where itemtype=?");
-       $sth->execute($itemtype);
-       my $data=$sth->fetchrow_hashref;
-       $sth->finish;
-
-       $template->param(itemtype => $itemtype,
-                                                       description => $data->{description},
-                                                       renewalsallowed => $data->{renewalsallowed},
-                                                       rentalcharge => sprintf("%.2f",$data->{rentalcharge}),
-                                                       imageurl => $data->{imageurl},
-                                                       total => $total);
-                                                                                                       # END $OP eq DELETE_CONFIRM
+    # called by default form, used to confirm deletion of data in DB
+}
+elsif ( $op eq 'delete_confirm' ) {
+
+    #start the page and read in includes
+    my $dbh = C4::Context->dbh;
+
+    # Check both categoryitem and biblioitems, see Bug 199
+    my $total = 0;
+    for my $table ('biblioitems') {
+        my $sth =
+          $dbh->prepare(
+            "select count(*) as total from $table where itemtype=?");
+        $sth->execute($itemtype);
+        $total += $sth->fetchrow_hashref->{total};
+        $sth->finish;
+    }
+
+    my $sth =
+      $dbh->prepare(
+"select itemtype,description,renewalsallowed,rentalcharge from itemtypes where itemtype=?"
+      );
+    $sth->execute($itemtype);
+    my $data = $sth->fetchrow_hashref;
+    $sth->finish;
+
+    $template->param(
+        itemtype        => $itemtype,
+        description     => $data->{description},
+        renewalsallowed => $data->{renewalsallowed},
+        rentalcharge    => sprintf( "%.2f", $data->{rentalcharge} ),
+        imageurl        => $data->{imageurl},
+        total           => $total
+    );
+
+    # END $OP eq DELETE_CONFIRM
 ################## DELETE_CONFIRMED ##################################
-# called by delete_confirm, used to effectively confirm deletion of data in DB
-} elsif ($op eq 'delete_confirmed') {
-       #start the page and read in includes
-       my $dbh = C4::Context->dbh;
-       my $itemtype=uc($input->param('itemtype'));
-       my $sth=$dbh->prepare("delete from itemtypes where itemtype=?");
-       $sth->execute($itemtype);
-       $sth = $dbh->prepare("delete from issuingrules where itemtype=?");
-       $sth->execute($itemtype);
-       $sth->finish;
-       print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=itemtypes.pl\"></html>";
-       exit;
-                                                                                                       # END $OP eq DELETE_CONFIRMED
+  # called by delete_confirm, used to effectively confirm deletion of data in DB
+}
+elsif ( $op eq 'delete_confirmed' ) {
+
+    #start the page and read in includes
+    my $dbh      = C4::Context->dbh;
+    my $itemtype = uc( $input->param('itemtype') );
+    my $sth      = $dbh->prepare("delete from itemtypes where itemtype=?");
+    $sth->execute($itemtype);
+    $sth = $dbh->prepare("delete from issuingrules where itemtype=?");
+    $sth->execute($itemtype);
+    $sth->finish;
+    print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=itemtypes.pl\"></html>";
+    exit;
+
+    # END $OP eq DELETE_CONFIRMED
 ################## DEFAULT ##################################
-} else { # DEFAULT
-    my ($count,$results)=StringSearch($searchfield,'web');
+}
+else {    # DEFAULT
+    my ( $count, $results ) = StringSearch( $searchfield, 'web' );
 
     my $page = $input->param('page') || 1;
-    my $first = ($page - 1) * $pagesize;
+    my $first = ( $page - 1 ) * $pagesize;
 
     # if we are on the last page, the number of the last word to display
     # must not exceed the length of the results array
-    my $last = min(
-        $first + $pagesize - 1,
-        scalar @{$results} - 1,
-    );
+    my $last = min( $first + $pagesize - 1, scalar @{$results} - 1, );
 
     my $toggle = 0;
     my @loop;
-    foreach my $result (@{$results}[$first .. $last]) {
+    foreach my $result ( @{$results}[ $first .. $last ] ) {
         my $itemtype = $result;
-        $itemtype->{toggle} = ($toggle++%2 eq 0 ? 1 : 0);
+        $itemtype->{toggle} = ( $toggle++ % 2 eq 0 ? 1 : 0 );
         $itemtype->{imageurl} =
-            getitemtypeimagesrcfromurl($itemtype->{imageurl});
-        $itemtype->{rentalcharge} = sprintf('%.2f', $itemtype->{rentalcharge});
+          getitemtypeimagesrcfromurl( $itemtype->{imageurl} );
+        $itemtype->{rentalcharge} =
+          sprintf( '%.2f', $itemtype->{rentalcharge} );
 
-        push(@loop, $itemtype);
+        push( @loop, $itemtype );
     }
 
     $template->param(
-        loop => \@loop,
+        loop           => \@loop,
         pagination_bar => pagination_bar(
-            $script_name,
-            getnbpages(scalar @{$results}, $pagesize),
-            $page,
-            'page'
+            $script_name, getnbpages( scalar @{$results}, $pagesize ),
+            $page,        'page'
         )
     );
-} #---- END $OP eq DEFAULT
-$template->param(intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
-output_html_with_http_headers $input, $cookie, $template->output;
+}    #---- END $OP eq DEFAULT
 
-# Local Variables:
-# tab-width: 4
-# End:
+output_html_with_http_headers $input, $cookie, $template->output;