Diff for /loncom/automation/Autocreate.pl between versions 1.2 and 1.8

version 1.2, 2005/04/07 06:56:21 version 1.8, 2008/02/07 04:39:42
Line 34 Line 34
     use strict;      use strict;
     use lib '/home/httpd/lib/perl';      use lib '/home/httpd/lib/perl';
     use Apache::lonnet;      use Apache::lonnet;
       use Apache::lonlocal;
     use LONCAPA::batchcreatecourse;      use LONCAPA::batchcreatecourse;
     use LONCAPA::Configuration;      use LONCAPA::Configuration;
   
Line 60 Line 61
         close($fh);          close($fh);
         exit;          exit;
     }      }
                                                      
       # Initialize language handler
       &Apache::lonlocal::get_language_handle();
   
     my $batchdir = $$perlvarref{'lonDaemons'}.'/tmp/addcourse/'.$defdom.'/auto';      my $batchdir = $$perlvarref{'lonDaemons'}.'/tmp/addcourse/'.$defdom.'/auto';
     opendir(DIR,"$batchdir/pending");      opendir(DIR,"$batchdir/pending");
     my @requests = grep(!/^\.\.?$/,readdir(DIR));      my @requests = grep(!/^\.\.?$/,readdir(DIR));
     closedir(DIR);      closedir(DIR);
     my %courseids = ();      my %courseids = ();
     my $cccflag = 0;      my @permissions = ('mau','ccc','cin','cta','cep','ccr','cst');
     unless ($env{'allowed.ccc'}) {      my %permissionflags = ();
         $env{'allowed.ccc'} = 'F';      &set_permissions(\%permissionflags,\@permissions);
         $cccflag = 1;      $env{'user.name'} = $dcname;
     }      $env{'user.domain'} = $dcdom;
       $env{'request.role.domain'} = $defdom;
     my $wwwid=getpwnam('www');      my $wwwid=getpwnam('www');
     if ($wwwid!=$<) {      if ($wwwid!=$<) {
         my $emailto=$$perlvarref{'lonAdmEMail'};          my $emailto=$$perlvarref{'lonAdmEMail'};
Line 94 Line 99
         exit;          exit;
     }      }
   
     my ($output,$logmsg) = &LONCAPA::batchcreatecourse::create_courses(\@requests,\%courseids,'auto',$defdom,$dcname,$dcdom);      print $fh "Sending to batch - auto,$defdom,$dcname,$dcdom ".join(":",@requests)."\n";
       my ($result,$logmsg) = &LONCAPA::batchcreatecourse::create_courses(\@requests,\%courseids,'auto',$defdom,$dcname,$dcdom);
       my $outcome;
       if ($result ne '') {
           $outcome = $result."\n";
       }
       if ($logmsg ne '') {
           $outcome .= $logmsg."\n";    
       }
       print $fh $outcome;
   
       my $output;
 # Copy requests from pending directory to processed directory and unlink.  # Copy requests from pending directory to processed directory and unlink.
   foreach my $request (@requests) {        foreach my $request (@requests) {  
         if ((-e "$batchdir/pending/$request") && $request !~ /\.\./ && $request ne '' &&$request ne './') {          if ((-e "$batchdir/pending/$request") && $request !~ /\.\./ && $request ne '' &&$request ne './') {
             open(FILE,"<$batchdir/pending/$request");              open(FILE,"<$batchdir/pending/$request");
             my @buffer = <FILE>;              my @buffer = <FILE>;
             close(FILE);              close(FILE);
               if (!-e "$batchdir/processed") {
                   mkdir("$batchdir/processed", 0755);
               }
             open(FILE,">$batchdir/processed/$request");              open(FILE,">$batchdir/processed/$request");
             print FILE @buffer;              print FILE @buffer;
             close(FILE);              close(FILE);
Line 112 Line 130
     }      }
   
     foreach my $key (sort keys %courseids) {      foreach my $key (sort keys %courseids) {
         print $fh "created course: $key\n";          print $fh "created course: $key - $courseids{$key}\n";
     }          my $newcourse = &Apache::lonnet::escape($key.':'.$courseids{$key});
           $output .= $newcourse.':'; 
     if ($cccflag) {      }
         delete($env{'allowed.ccc'});      $output =~ s/:$//;
     }      print $output;
   
       &unset_permissions(\%permissionflags);
       delete($env{'user.name'});
       delete($env{'user.domain'});
       delete($env{'request.role.domain'});
     print $fh "-- ".localtime(time)." Autocreation messages end\n*******************\n\n";      print $fh "-- ".localtime(time)." Autocreation messages end\n*******************\n\n";
     close($fh);      close($fh);
   
Line 139  sub check_activedc { Line 162  sub check_activedc {
     }      }
     return $activedc;      return $activedc;
 }  }
   
   sub set_permissions {
       my ($permissionflags,$permissions) = @_;
       foreach my $allowtype (@{$permissions}) {
           unless($env{"allowed.$allowtype"}) {
               $env{"allowed.$allowtype"} = 'F';
               $permissionflags{$allowtype} = 1;
           }
       }
   }
   
   sub unset_permissions {
       my ($permissionflags) = @_;
       foreach my $allowtype (keys %{$permissionflags}) {
           delete($env{"allowed.$allowtype"});
       }
   }

Removed from v.1.2  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>