version 1.3, 2005/06/01 18:26:20
|
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 @permissions = ('ccc','cin','cta','cep','ccr','cst'); |
my @permissions = ('mau','ccc','cin','cta','cep','ccr','cst'); |
my %permissionflags = (); |
my %permissionflags = (); |
&set_permissions(\%permissionflags,\@permissions); |
&set_permissions(\%permissionflags,\@permissions); |
$ENV{'user.name'} = $dcname; |
$env{'user.name'} = $dcname; |
$ENV{'user.domain'} = $dcdom; |
$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 96
|
Line 101
|
|
|
print $fh "Sending to batch - auto,$defdom,$dcname,$dcdom ".join(":",@requests)."\n"; |
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 ($result,$logmsg) = &LONCAPA::batchcreatecourse::create_courses(\@requests,\%courseids,'auto',$defdom,$dcname,$dcdom); |
print $fh "$result && $logmsg\n"; |
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>; |
Line 116
|
Line 129
|
} |
} |
} |
} |
|
|
my $output; |
|
foreach my $key (sort keys %courseids) { |
foreach my $key (sort keys %courseids) { |
print $fh "created course: $key - $courseids{$key}\n"; |
print $fh "created course: $key - $courseids{$key}\n"; |
my $newcourse = &Apache::lonnet::escape($key.':'.$courseids{$key}); |
my $newcourse = &Apache::lonnet::escape($key.':'.$courseids{$key}); |
Line 126
|
Line 138
|
print $output; |
print $output; |
|
|
&unset_permissions(\%permissionflags); |
&unset_permissions(\%permissionflags); |
delete($ENV{'user.name'}); |
delete($env{'user.name'}); |
delete($ENV{'user.domain'}); |
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 153 sub check_activedc {
|
Line 166 sub check_activedc {
|
sub set_permissions { |
sub set_permissions { |
my ($permissionflags,$permissions) = @_; |
my ($permissionflags,$permissions) = @_; |
foreach my $allowtype (@{$permissions}) { |
foreach my $allowtype (@{$permissions}) { |
unless($ENV{"allowed.$allowtype"}) { |
unless($env{"allowed.$allowtype"}) { |
$ENV{"allowed.$allowtype"} = 'F'; |
$env{"allowed.$allowtype"} = 'F'; |
$permissionflags{$allowtype} = 1; |
$permissionflags{$allowtype} = 1; |
} |
} |
} |
} |
Line 163 sub set_permissions {
|
Line 176 sub set_permissions {
|
sub unset_permissions { |
sub unset_permissions { |
my ($permissionflags) = @_; |
my ($permissionflags) = @_; |
foreach my $allowtype (keys %{$permissionflags}) { |
foreach my $allowtype (keys %{$permissionflags}) { |
delete($ENV{"allowed.$allowtype"}); |
delete($env{"allowed.$allowtype"}); |
} |
} |
} |
} |