[Koha-patches] [PATCH] bug 2505: turn on warnings in admin/systemprefernces.pl

Galen Charlton galen.charlton at liblime.com
Wed Dec 17 16:53:38 CET 2008


---
 admin/systempreferences.pl |   35 +++++++++++++++++++++--------------
 1 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl
index 95f73e3..e084a49 100755
--- a/admin/systempreferences.pl
+++ b/admin/systempreferences.pl
@@ -41,6 +41,8 @@ ALGO :
 =cut
 
 use strict;
+use warnings;
+
 use CGI;
 use C4::Auth;
 use C4::Context;
@@ -328,7 +330,7 @@ sub StringSearch  {
                 $sth->execute($syspref);
                 while (my $data=$sth->fetchrow_hashref){
                     $data->{shortvalue} = $data->{value};
-                    $data->{shortvalue} = substr($data->{value},0,60)."..." if length($data->{value}) >60;
+                    $data->{shortvalue} = substr($data->{value},0,60)."..." if defined($data->{value}) and length($data->{value}) >60;
                     push(@results,$data);
                     $cnt++;
                 }
@@ -338,7 +340,7 @@ sub StringSearch  {
     } else {
 		my $sth;
 
-        if ($type eq 'all' ){
+        if ($type and $type eq 'all' ){
             $sth=$dbh->prepare("
             SELECT *
               FROM systempreferences 
@@ -376,26 +378,30 @@ sub GetPrefParams {
     if (defined $data->{'options'}) { 
         foreach my $option (split(/\|/, $data->{'options'})) {
             my $selected='0';
-            $option eq $data->{'value'} and $selected=1;
+            defined($data->{'value'}) and $option eq $data->{'value'} and $selected=1;
             push @options, { option => $option, selected => $selected };
         }
     }
 
     $params->{'prefoptions'} = $data->{'options'};
 
-    if ($data->{'type'} eq 'Choice') {
+    if (not defined($data->{'type'})) {
+        $params->{'type-free'} = 1;
+        $params->{'fieldlength'} = (defined($data->{'options'}) and $data->{'options'} and $data->{'options'}>0)
+    } elsif ($data->{'type'} eq 'Choice') {
         $params->{'type-choice'} = 1;
     } elsif ($data->{'type'} eq 'YesNo') {
         $params->{'type-yesno'} = 1;
         $data->{'value'}=C4::Context->boolean_preference($data->{'variable'});
-        if ($data->{'value'} eq '1') {
+        if (defined($data->{'value'}) and $data->{'value'} eq '1') {
             $params->{'value-yes'} = 1;
         } else {
             $params->{'value-no'} = 1;
         }
     } elsif ($data->{'type'} eq 'Integer' || $data->{'type'} eq 'Float') {
         $params->{'type-free'} = 1;
-        $params->{'fieldlength'} = $data->{'options'}>0 ? $data->{'options'} : 10;
+        $params->{'fieldlength'} = (defined($data->{'options'}) and $data->{'options'} and $data->{'options'}>0)
+                                   ? $data->{'options'} : 10;
     } elsif ($data->{'type'} eq 'Textarea') {
         $params->{'type-textarea'} = 1;
         $data->{options} =~ /(.*)\|(.*)/;
@@ -458,7 +464,8 @@ sub GetPrefParams {
         $params->{'type-langselector'} = 1;
     } else {
         $params->{'type-free'} = 1;
-        $params->{'fieldlength'} = $data->{'options'}>0 ? $data->{'options'} : 30;
+        $params->{'fieldlength'} = (defined($data->{'options'}) and $data->{'options'} and $data->{'options'}>0)
+                                   ? $data->{'options'} : 30;
     }
 
     if ( $params->{'type-choice'} || $params->{'type-free'} || $params->{'type-yesno'} ) {
@@ -472,7 +479,7 @@ sub GetPrefParams {
 }
 
 my $input = new CGI;
-my $searchfield = $input->param('searchfield');
+my $searchfield = $input->param('searchfield') || '';
 my $Tvalue = $input->param('Tvalue');
 my $offset = $input->param('offset') || 0;
 my $script_name="/cgi-bin/koha/admin/systempreferences.pl";
@@ -486,7 +493,7 @@ my ($template, $borrowernumber, $cookie)
                  debug => 1,
                  });
 my $pagesize=100;
-my $op = $input->param('op');
+my $op = $input->param('op') || '';
 $searchfield=~ s/\,//g;
 
 if ($op) {
@@ -536,14 +543,14 @@ if ($op eq 'update_and_reedit') {
     my $sth=$dbh->prepare($query);
     $sth->execute($input->param('variable'));
     if ($sth->rows) {
-        unless (C4::Context->config('demo') eq 1) {
+        unless (C4::Context->config('demo')) {
             my $sth=$dbh->prepare("update systempreferences set value=?,explanation=?,type=?,options=? where variable=?");
             $sth->execute($value, $input->param('explanation'), $input->param('variable'), $input->param('preftype'), $input->param('prefoptions'));
             $sth->finish;
             logaction('SYSTEMPREFERENCE','MODIFY',undef, $input->param('variable') . " | " . $value );
         }
     } else {
-        unless (C4::Context->config('demo') eq 1) {
+        unless (C4::Context->config('demo')) {
             my $sth=$dbh->prepare("insert into systempreferences (variable,value,explanation) values (?,?,?,?,?)");
             $sth->execute($input->param('variable'), $input->param('value'), $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'));
             $sth->finish;
@@ -594,14 +601,14 @@ if ($op eq 'add_form') {
     }
     $value =~ s/,$//;
     if ($sth->rows) {
-        unless (C4::Context->config('demo') eq 1) {
+        unless (C4::Context->config('demo')) {
             my $sth=$dbh->prepare("update systempreferences set value=?,explanation=?,type=?,options=? where variable=?");
             $sth->execute($value, $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'), $input->param('variable'));
             $sth->finish;
             logaction('SYSTEMPREFERENCE','MODIFY',undef, $input->param('variable') . " | " . $value );
         }
     } else {
-        unless (C4::Context->config('demo') eq 1) {
+        unless (C4::Context->config('demo')) {
             my $sth=$dbh->prepare("insert into systempreferences (variable,value,explanation,type,options) values (?,?,?,?,?)");
             $sth->execute($input->param('variable'), $value, $input->param('explanation'), $input->param('preftype'), $input->param('prefoptions'));
             $sth->finish;
@@ -644,7 +651,7 @@ if ($op eq 'add_form') {
     my $toggle=0;
     my @loop_data = ();
     for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
-          if ($toggle eq 0){
+          if ($toggle == 0){
             $toggle=1;
           } else {
             $toggle=0;
-- 
1.5.5.GIT




More information about the Koha-patches mailing list