'
.&Apache::lonhtmlcommon::start_pick_box()
.&Apache::lonhtmlcommon::row_headline()
@@ -359,7 +352,6 @@ END
.'
'
.''.&mt('Yes').(' 'x2)
.''.&mt('No')
- .''
.&Apache::lonhtmlcommon::row_closure()
);
}
@@ -407,7 +399,7 @@ END
.&Apache::lonhtmlcommon::row_closure(1)
.&Apache::lonhtmlcommon::end_pick_box()
- .'
| '
+ .'
| '
# Clone Course:
.'
'
@@ -457,10 +449,7 @@ END
.&Apache::lonhtmlcommon::row_closure()
.&Apache::lonhtmlcommon::row_title($lt{'oaas'})
- .''
- .''.(' 'x2)
- .''.', '
- .$lt{'sta'}.' '.$openallfrom.''
+ .''
.&Apache::lonhtmlcommon::row_closure()
.&Apache::lonhtmlcommon::row_headline()
@@ -574,8 +563,7 @@ END
-
- '
+'
);
} elsif ($crstype eq 'Community') {
$r->print('
@@ -597,7 +585,7 @@ sub create_course {
my $ccuname =&LONCAPA::clean_username($env{'form.ccuname'});
my $ccdomain=&LONCAPA::clean_domain($env{'form.ccdomain'});
my $crstype = 'Community';
- my ($enrollstart,$enrollend,$startaccess,$endaccess,$openallfrom);
+ my ($enrollstart,$enrollend,$startaccess,$endaccess);
my %domdefaults =
&Apache::lonnet::get_domain_defaults($env{'request.role.domain'});
@@ -608,7 +596,6 @@ sub create_course {
}
$startaccess = &Apache::lonhtmlcommon::get_date_from_form('startaccess');
$endaccess = &Apache::lonhtmlcommon::get_date_from_form('endaccess');
- $openallfrom = &Apache::lonhtmlcommon::get_date_from_form('openallfrom');
my $autharg;
my $authtype;
@@ -674,7 +661,6 @@ sub create_course {
disresdis => $env{'form.disresdis'},
disablechat => $env{'form.disablechat'},
openall => $env{'form.openall'},
- openallfrom => $openallfrom,
firstres => $env{'form.firstres'}
};
@@ -862,43 +848,60 @@ sub upload_batchfile {
sub process_batchfile {
my $r = shift;
- my $start_page =
- &Apache::loncommon::start_page('Create a New Course or Community');
- my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('Creation Outcome','Create_Course',undef,'Create_Courses');
- my $end_page =
- &Apache::loncommon::end_page();
my $defdom=$env{'request.role.domain'};
- my $batchfilepath=&Apache::lonnet::userfileupload('coursecreatorxml',undef,
- 'batchupload',undef,undef,
- undef,undef,$defdom);
- my ($batchdir,$filename) = ($batchfilepath =~ m-^(.+)/pending/([^/]+)$-);
+ my $uname = $env{'user.name'};
+ my $udom = $env{'user.domain'};
+ my $dir = &LONCAPA::tempdir().'addcourse';
my ($result,$logmsg);
- if (-e "$batchfilepath") {
- open(FILE,"<$batchfilepath");
- my @buffer = ;
- close(FILE);
- if ((defined($filename)) && (defined($batchdir))) {
- my @requests = ($filename);
- my %courseids = ();
- ($result,$logmsg) = &LONCAPA::batchcreatecourse::create_courses(
- \@requests,\%courseids,'web',$defdom,
- $env{'user.name'},$env{'user.domain'});
- if ($result) {
- if (!-e "$batchdir/processed") {
- mkdir("$batchdir/processed", 0755);
- open(FILE,">$batchdir/processed/$filename");
- print FILE @buffer;
+ if (($defdom =~ /^$match_domain$/) && ($uname =~ /^$match_username$/) && ($udom =~/^$match_domain$/)) {
+ my $batchfilepath=&Apache::lonnet::userfileupload('coursecreatorxml',undef,
+ 'batchupload',undef,undef,
+ undef,undef,$defdom);
+ if ($batchfilepath =~ m{^(\Q$dir/$defdom/web/$uname\_$udom\E)/pending/([^/]+)$}) {
+ my ($batchdir,$filename) = ($1,$2);
+ if (-e "$batchfilepath") {
+ if (open(FILE,"<",$batchfilepath)) {
+ my @buffer = ;
close(FILE);
- if (-e "$batchdir/processed/$filename") {
- unlink("$batchdir/pending/$filename");
+ if ((defined($filename)) && (defined($batchdir))) {
+ my @requests = ($filename);
+ my %courseids = ();
+ ($result,$logmsg) = &LONCAPA::batchcreatecourse::create_courses(
+ \@requests,\%courseids,'web',$defdom,
+ $uname,$udom);
+ if (keys(%courseids) > 0) {
+ if (!-e "$batchdir/processed") {
+ mkdir("$batchdir/processed", 0755);
+ }
+ if (-d "$batchdir/processed") {
+ if (open(FILE,">","$batchdir/processed/$filename")) {
+ print FILE @buffer;
+ close(FILE);
+ }
+ }
+ if (-e "$batchdir/processed/$filename") {
+ unlink("$batchdir/pending/$filename");
+ }
+ }
}
+ } else {
+ $result = ''.&mt('Could not open attributes file.').' '.&mt('No courses created.').' ';
}
+ } else {
+ $result = ''.&mt('No uploaded attributes file found.').' '.&mt('No courses created.').' ';
}
+ } else {
+ $result = ''.&mt('Invalid path to attributes file.').' '.&mt('No courses created.').' ';
}
+ } else {
+ $result = ''.&mt("Your username, domain, and/or your current role's domain are missing or contain invalid characters.").
+ ' '.&mt('No courses created.').' ';
}
- $r->print($start_page.$crumbs.$logmsg.$result.' '.
- &mt('Creation options menu').''.$end_page);
-
+ $r->print(&Apache::loncommon::start_page('Create a New Course, Community or Placement Test').
+ &Apache::lonhtmlcommon::breadcrumbs('Creation Outcome','Create_Course',undef,'Create_Courses').
+ $logmsg.$result.' '.
+ &mt('Creation options menu').''.
+ &Apache::loncommon::end_page());
}
sub courserequestbrowser_javascript {
|