koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha/installer install.pl


From: Henri-Damien LAURENT
Subject: [Koha-cvs] koha/installer install.pl
Date: Fri, 13 Apr 2007 16:30:00 +0000

CVSROOT:        /cvsroot/koha
Module name:    koha
Changes by:     Henri-Damien LAURENT <hdl>      07/04/13 16:30:00

Modified files:
        installer      : install.pl 

Log message:
        Automatically adding a new syspref called FrameworksLoaded which is 
updated via webinstaller.
        It stores and lists loaded frameworks for management.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/installer/install.pl?cvsroot=koha&r1=1.4&r2=1.5

Patches:
Index: install.pl
===================================================================
RCS file: /cvsroot/koha/koha/installer/install.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- install.pl  6 Apr 2007 15:53:18 -0000       1.4
+++ install.pl  13 Apr 2007 16:30:00 -0000      1.5
@@ -215,19 +215,24 @@
     my $lang;
     my %hashlevel;
    # sort by filename -> prepend with numbers to specify order of insertion. 
-    
-    my @fnames = sort { my @aa = split /\/|\\/, ($a); my @bb = split /\/|\\/, 
($b); $aa[-1] <=> $bb[-1] } $query->param('framework')  ;
+    my @fnames = sort { my @aa = split /\/|\\/, ($a); my @bb = split /\/|\\/, 
($b); $aa[-1] lt $bb[-1] } $query->param('framework')  ;
+    my $systempreference;
     foreach my $file (@fnames){
 #      warn $file;
       undef $/;
       my $strcmd="mysql ".($info{hostname}?"-h $info{hostname} 
":"").($info{port}?"-P $info{port} ":"").($info{user}?"-u $info{user} 
":"").($info{password}?"-p$info{password}":"")." $info{dbname} ";
-      my $str = qx($strcmd < $file 2>&1);
+      my $error = qx($strcmd < $file 2>&1);
       my @file = split qr(\/|\\),$file;
       $lang=$file[scalar(@file)-3] unless ($lang);
       my $level=$file[scalar(@file)-2];
+      unless ($error){
+        $systempreference.="$file[scalar(@file)-1]|";
+      }
       #Bulding here a hierarchy to display files by level.
-      push 
@{$hashlevel{$level}},{"fwkname"=>$file[scalar(@file)-1],"error"=>$str};
+      push 
@{$hashlevel{$level}},{"fwkname"=>$file[scalar(@file)-1],"error"=>$error};
     }
+    #systempreference contains an ending |
+    chop $systempreference;
     my @list;
     map {push @list,{"level"=>$_,"fwklist"=>$hashlevel{$_}}} keys %hashlevel;
     my $fwk_language;
@@ -238,6 +243,14 @@
               $fwk_language = $each_language->{language_locale_name};
       }
     }
+    warn "frameworksloaded : $systempreference";
+    my $updateflag=$dbh->do("UPDATE systempreferences set 
value=\"$systempreference\" where variable='FrameworksLoaded'");
+    unless ($updateflag==1){
+      my $string="INSERT INTO systempreferences (value, variable, explanation, 
type) VALUES (\"$systempreference\",'FrameworksLoaded','Frameworks loaded 
through webinstaller','choice')";
+      warn "$string";
+      my $rq=$dbh->prepare($string);
+      $rq->execute;
+    }
     $template->param("fwklanguage"=>$fwk_language,
                      "list"=>address@hidden);
     $template->param("$op"=>1);
@@ -270,6 +283,13 @@
     @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir(MYDIR);
     closedir MYDIR;
     my @levellist;
+    my $request=$dbh->prepare("SELECT value FROM systempreferences WHERE 
variable='FrameworksLoaded'");
+    $request->execute;
+    my ($frameworksloaded)=$request->fetchrow;
+    my %frameworksloaded;
+    foreach (split(/\|/,$frameworksloaded)){
+      $frameworksloaded{$_}=1;
+    }
        foreach my $requirelevel (@listdir){
       $dir 
=C4::Context->config('intranetdir')."/misc/sql-datas/$langchoice/$requirelevel";
       opendir (MYDIR,$dir);
@@ -284,10 +304,15 @@
         $lines=~s/\n|\r/<br \/>/g;
         use utf8;
         utf8::encode($lines) unless (utf8::is_utf8($lines));
-        push @frameworklist,{'fwkname'=>$name, 
'fwkfile'=>"$dir/$_",'fwkdescription'=>$lines};
+        push @frameworklist,
+          {'fwkname'=>$name, 
+           'fwkfile'=>"$dir/$_",
+           'fwkdescription'=>$lines,
+           
'checked'=>(($frameworksloaded{$_}||($requirelevel=~/(mandatory|requi|oblig|necess)/i))?1:0)
+          };
       } @listname;
-         my @fwks = sort { $a->{'fwkname'} <=> $b->{'fwkname'} } 
@frameworklist;
-      $cell{"mandatory"}=($requirelevel=~/(mandatory|requi|oblig|necess)/i);
+      my @fwks = sort { $a->{'fwkname'} lt $b->{'fwkname'} } @frameworklist;
+#       $cell{"mandatory"}=($requirelevel=~/(mandatory|requi|oblig|necess)/i);
       $cell{"frameworks"address@hidden;
       $cell{"label"}=ucfirst($requirelevel);
       $cell{"code"}=lc($requirelevel);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]