version 1.22, 2007/07/02 03:36:47
|
version 1.27, 2008/07/02 18:44:16
|
Line 76 use strict;
|
Line 76 use strict;
|
# <crsquota>20</crsquota> |
# <crsquota>20</crsquota> |
# <clonecrs>466011437c34194msul1</clonecrs> |
# <clonecrs>466011437c34194msul1</clonecrs> |
# <clonedom>msu</clonedom> |
# <clonedom>msu</clonedom> |
|
# <datemode>shift</datemode> |
|
# <dateshift>365</dateshift> |
# <showphotos></showphotos> |
# <showphotos></showphotos> |
# <setpolicy>1</setpolicy> |
# <setpolicy>1</setpolicy> |
# <setcontent>1</setcontent> |
# <setcontent>1</setcontent> |
Line 219 sub create_courses {
|
Line 221 sub create_courses {
|
&parse_coursereqs($newcoursedir.'/'.$request, \%details); |
&parse_coursereqs($newcoursedir.'/'.$request, \%details); |
foreach my $num (sort keys %details) { |
foreach my $num (sort keys %details) { |
my $courseid = &build_course($dom,$num,$context,\%details,\%longroles,\$logmsg,\$newusermsg,\$addresult,\%enrollcount,\$output,\$keysmsg); |
my $courseid = &build_course($dom,$num,$context,\%details,\%longroles,\$logmsg,\$newusermsg,\$addresult,\%enrollcount,\$output,\$keysmsg); |
if ($courseid =~ /^$match_courseid$/) { |
if ($courseid =~m{^/$match_domain/$match_courseid}) { |
$$courseids{$courseid} = $details{$num}{'class'}; |
$$courseids{$courseid} = $details{$num}{'class'}; |
} |
} |
} |
} |
Line 249 sub parse_coursereqs {
|
Line 251 sub parse_coursereqs {
|
my $xlist = 0; |
my $xlist = 0; |
my $userkey = ''; |
my $userkey = ''; |
my $role = ''; |
my $role = ''; |
my @items = ('title','optional_id','coursecode','coursehome','reshome','nonstandard','adds','drops','topmap','firstres','clonecrs','clonedom','showphotos','setpolicy','setcontent','setkeys','keyauth','disresdis','disablechat','openall','notify_owner','notify_dc','crstype','crsquota'); |
my @items = ('title','optional_id','coursecode','coursehome','reshome','nonstandard','adds','drops','topmap','firstres','clonecrs','clonedom','datemode','dateshift','showphotos','setpolicy','setcontent','setkeys','keyauth','disresdis','disablechat','openall','notify_owner','notify_dc','crstype','crsquota'); |
my @dateitems = ('enrollstart','enrollend','accessstart','accessend'); |
my @dateitems = ('enrollstart','enrollend','accessstart','accessend'); |
my @useritems = ('autharg','authtype','firstname','generation','lastname','middlename','studentID'); |
my @useritems = ('autharg','authtype','firstname','generation','lastname','middlename','studentID'); |
my $p = HTML::Parser->new |
my $p = HTML::Parser->new |
Line 452 sub build_course {
|
Line 454 sub build_course {
|
} |
} |
|
|
if ($outcome eq 'ok') { |
if ($outcome eq 'ok') { |
|
if ($$details{$num}{'datemode'} !~ /^(preserve|shift|delete)$/) { |
|
$$details{$num}{'datemode'} = 'shift'; |
|
$$details{$num}{'dateshift'} = 365; |
|
} |
my $courseargs = { |
my $courseargs = { |
ccuname => $$details{$num}{'owner'}, |
ccuname => $$details{$num}{'owner'}, |
ccdomain => $$details{$num}{'domain'}, |
ccdomain => $$details{$num}{'domain'}, |
Line 465 sub build_course {
|
Line 471 sub build_course {
|
crsquota => $$details{$num}{'crsquota'}, |
crsquota => $$details{$num}{'crsquota'}, |
clonecourse => $$details{$num}{'clonecrs'}, |
clonecourse => $$details{$num}{'clonecrs'}, |
clonedomain => $$details{$num}{'clonedom'}, |
clonedomain => $$details{$num}{'clonedom'}, |
|
datemode => $$details{$num}{'datemode'}, |
|
dateshift => $$details{$num}{'dateshift'}, |
crsid => $$details{$num}{'optional_id'}, |
crsid => $$details{$num}{'optional_id'}, |
curruser => $$details{$num}{'owner'}, |
curruser => $$details{$num}{'owner'}, |
crssections => $sectionstr, |
crssections => $sectionstr, |
Line 491 sub build_course {
|
Line 499 sub build_course {
|
openall => $$details{$num}{'openall'}, |
openall => $$details{$num}{'openall'}, |
firstres => $firstres |
firstres => $firstres |
}; |
}; |
|
|
my %host_servers = &Apache::lonnet::get_servers($cdom,'library'); |
my %host_servers = &Apache::lonnet::get_servers($cdom,'library'); |
if (! exists($host_servers{$$details{$num}{'coursehome'}})) { |
if (! exists($host_servers{$$details{$num}{'coursehome'}})) { |
$$logmsg .= &mt('Invalid home server for course').': '.$$details{$num}{'coursehome'}; |
$$logmsg .= &mt('Invalid home server for course').': '.$$details{$num}{'coursehome'}; |
return; |
return; |
} |
} |
|
my ($success, $msg) = &Apache::loncommon::construct_course($courseargs,$logmsg,\$courseid,\$crsudom,\$crsunum,$udom,$uname,$context); |
$$logmsg .= &Apache::loncommon::construct_course($courseargs,$logmsg,\$courseid,\$crsudom,\$crsunum,$udom,$uname,$context); |
$$logmsg .= $msg; |
|
if (!$success) { |
|
return; |
|
} |
} else { |
} else { |
return; |
return; |
} |
} |
Line 507 sub build_course {
|
Line 517 sub build_course {
|
# Make owner a course coordinator |
# Make owner a course coordinator |
# |
# |
if (($owner_domain) && ($owner_uname)) { |
if (($owner_domain) && ($owner_uname)) { |
&Apache::lonnet::assignrole($owner_domain,$owner_uname,$courseid,'cc'); |
&Apache::lonnet::assignrole($owner_domain,$owner_uname,$courseid,'cc','','','','',$context); |
} |
} |
|
|
# |
# |