version 1.10, 2005/02/16 20:24:15
|
version 1.15, 2006/03/23 23:12:21
|
Line 143 sub handler {
|
Line 143 sub handler {
|
&Apache::imsprocessor::ims_config(\@areas,\%cmsmap,\%areaname); |
&Apache::imsprocessor::ims_config(\@areas,\%cmsmap,\%areaname); |
|
|
# get course data |
# get course data |
my $coursenum=$ENV{'course.'.$ENV{'request.course.id'}.'.num'}; |
my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $coursedom=$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}; |
my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $coursehome=$ENV{'course.'.$ENV{'request.course.id'}.'.home'}; |
|
|
|
# get personal data |
# get personal data |
|
|
my $uname=$ENV{'user.name'}; |
my $uname=$env{'user.name'}; |
my $udom=$ENV{'user.domain'}; |
my $udom=$env{'user.domain'}; |
my $plainname=&Apache::lonnet::escape( |
my $plainname=&Apache::lonnet::escape( |
&Apache::loncommon::plainname($uname,$udom)); |
&Apache::loncommon::plainname($uname,$udom)); |
|
|
# does this user have privileges to post, etc? |
# does this user have privileges to post, etc? |
my $allowed=&Apache::lonnet::allowed('mdc',$ENV{'request.course.id'}); |
my $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); |
unless ($allowed) { |
unless ($allowed) { |
$r->print("<html><head><title>The LearningOnline Network with CAPA</title></head>"); |
$r->print(&Apache::loncommon::start_page('Import IMS package',undef, |
$r->print(&Apache::loncommon::bodytag('Import IMS package',undef,'',1)); |
{'only_body' => 1,})); |
$r->print('<h3>'.&mt('Modification of Course Contents Disallowed').'</h3>'.&mt('Your current role does not grant you the right to modify course content in this course.').'</body></html>'); |
$r->print('<h3>'.&mt('Modification of Course Contents Disallowed').'</h3>'.&mt('Your current role does not grant you the right to modify course content in this course.'). |
|
&Apache::loncommon::end_page()); |
return OK; |
return OK; |
} |
} |
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['phase']); |
['phase']); |
|
|
if ($ENV{'form.phase'} eq 'one') { |
if ($env{'form.phase'} eq 'one') { |
&jscript_one(\$javascript); |
&jscript_one(\$javascript); |
} elsif ($ENV{'form.phase'} eq 'two') { |
} elsif ($env{'form.phase'} eq 'two') { |
&jscript_two(\$javascript); |
&jscript_two(\$javascript); |
} elsif ($ENV{'form.phase'} eq 'three') { |
} elsif ($env{'form.phase'} eq 'three') { |
&jscript_three(\$javascript); |
&jscript_three(\$javascript); |
} |
} |
|
|
|
$javascript = |
|
"<script type=\"text/javascript\">\n". |
|
"//<!--\n$javascript\n// --></script>\n"; |
|
my $start_page = &Apache::loncommon::start_page('Import IMS package', |
|
$javascript, |
|
{'only_body' => 1,}); |
# print screen |
# print screen |
$r->print(<<ENDHEAD); |
$r->print($start_page); |
<html> |
|
<head> |
if ($env{'form.phase'} eq 'one') { |
<title>The LearningOnline Network with CAPA</title> |
|
<script type="text/javascript"> |
|
<!-- |
|
$javascript |
|
--> |
|
</script> |
|
</head> |
|
ENDHEAD |
|
# -------------------------------------------------------------------- Body tag |
|
$r->print(&Apache::loncommon::bodytag('Import IMS package',undef,'',1)); |
|
if ($ENV{'form.phase'} eq 'one') { |
|
&display_one($r); |
&display_one($r); |
} elsif ($ENV{'form.phase'} eq 'two') { |
} elsif ($env{'form.phase'} eq 'two') { |
&display_two($r,$coursenum,\@areas,\%areaname,%cmsmap); |
&display_two($r,$coursenum,\@areas,\%areaname,%cmsmap); |
} elsif ($ENV{'form.phase'} eq 'three') { |
} elsif ($env{'form.phase'} eq 'three') { |
&display_three($r,$coursenum,$coursedom,$coursehome,$uname,$udom,\@areas,%cmsmap); |
&display_three($r,$coursenum,$coursedom,$uname,$udom,\@areas,%cmsmap); |
} |
} |
$r->print("</body><html>"); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
} |
} |
|
|
Line 235 Please choose the CMS used to create you
|
Line 230 Please choose the CMS used to create you
|
<option value='bb5'>Blackboard 5 |
<option value='bb5'>Blackboard 5 |
<option value='bb6'>Blackboard 6 |
<option value='bb6'>Blackboard 6 |
<option value='angel'>ANGEL |
<option value='angel'>ANGEL |
|
<option value='webct4'>WebCT 4 |
</select> |
</select> |
</font> |
</font> |
</td> |
</td> |
Line 258 Please choose the CMS used to create you
|
Line 254 Please choose the CMS used to create you
|
</tr> |
</tr> |
<tr> |
<tr> |
<td colspan='2'> |
<td colspan='2'> |
<input type="hidden" name="folder" value="$ENV{'form.folder'}" /> |
<input type="hidden" name="folder" value="$env{'form.folder'}" /> |
<input type="hidden" name="phase" value="two" /> |
<input type="hidden" name="phase" value="two" /> |
<input type="file" name="uploadname" size="40" /> |
<input type="file" name="uploadname" size="40" /> |
</td> |
</td> |
Line 299 ENDBLOCK
|
Line 295 ENDBLOCK
|
sub display_two { |
sub display_two { |
my ($r,$crs,$areasref,$areaname,%cmsmap) = @_; |
my ($r,$crs,$areasref,$areaname,%cmsmap) = @_; |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['folder','source']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['folder','source']); |
my $cms = $ENV{'form.source'}; |
my $cms = $env{'form.source'}; |
my $timenow = time; |
my $timenow = time; |
my $tempdir = &Apache::imsprocessor::create_tempdir('DOCS',$crs,$timenow); |
my $tempdir = &Apache::imsprocessor::create_tempdir('DOCS',$crs,$timenow); |
my $fname = &Apache::imsprocessor::uploadzip('DOCS',$tempdir); |
my $fname = &Apache::imsprocessor::uploadzip('DOCS',$tempdir); |
Line 336 sub display_two {
|
Line 332 sub display_two {
|
$manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,\%resources,\%items,\%hrefs,\%resinfo,'choose',\%includedres,\%includeditems); |
$manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,\%resources,\%items,\%hrefs,\%resinfo,'choose',\%includedres,\%includeditems); |
if ($manifest_result eq 'ok') { |
if ($manifest_result eq 'ok') { |
foreach my $res (sort keys %resources) { |
foreach my $res (sort keys %resources) { |
if ($cms eq 'bb5' || $cms eq 'bb6') { |
if ($cms eq 'bb5' || $cms eq 'bb6' || $cms eq 'webct4') { |
foreach my $area (keys %{$cmsmap{$cms}}) { |
foreach my $area (keys %{$cmsmap{$cms}}) { |
if ($resources{$res}{type} eq $cmsmap{$cms}{$area}) { |
if ($resources{$res}{type} eq $cmsmap{$cms}{$area}) { |
$count{$area} ++; |
$count{$area} ++; |
Line 466 ENDBLOCK
|
Line 462 ENDBLOCK
|
</tr> |
</tr> |
<tr> |
<tr> |
<td colspan='2'> |
<td colspan='2'> |
<input type="hidden" name="folder" value="$ENV{'form.folder'}" /> |
<input type="hidden" name="folder" value="$env{'form.folder'}" /> |
<input type="hidden" name="source" value="$cms" /> |
<input type="hidden" name="source" value="$cms" /> |
<input type="hidden" name="tempdir" value="$tempdir" /> |
<input type="hidden" name="tempdir" value="$tempdir" /> |
<input type="hidden" name="phase" value="three" /> |
<input type="hidden" name="phase" value="three" /> |
Line 501 ENDDOCUMENT
|
Line 497 ENDDOCUMENT
|
|
|
|
|
sub display_three { |
sub display_three { |
my ($r,$crs,$cdom,$chome,$uname,$udom,$areas,%cmsmap) = @_; |
my ($r,$crs,$cdom,$uname,$udom,$areas,%cmsmap) = @_; |
my $folder = $ENV{'form.folder'}; |
my $folder = $env{'form.folder'}; |
my $cms = $ENV{'form.source'}; |
my $cms = $env{'form.source'}; |
my $tempdir = $ENV{'form.tempdir'}; |
my $tempdir = $env{'form.tempdir'}; |
my $longcrs = ''; |
my $longcrs = ''; |
if ($crs =~ m/^(\d)(\d)(\d)/) { |
if ($crs =~ m/^(\d)(\d)(\d)/) { |
$longcrs = $1.'/'.$2.'/'.$3.'/'.$crs; |
$longcrs = $1.'/'.$2.'/'.$3.'/'.$crs; |
Line 540 sub display_three {
|
Line 536 sub display_three {
|
my $toplevel = ''; |
my $toplevel = ''; |
my $foldername = ''; |
my $foldername = ''; |
my %topitems = (); |
my %topitems = (); |
if (defined($ENV{'form.toplevel'}) ) { |
if (defined($env{'form.toplevel'}) ) { |
$toplevel = $ENV{'form.toplevel'}; |
$toplevel = $env{'form.toplevel'}; |
} |
} |
if (defined($ENV{'form.foldername'}) ) { |
if (defined($env{'form.foldername'}) ) { |
$foldername = $ENV{'form.foldername'}; |
$foldername = $env{'form.foldername'}; |
} |
} |
|
|
foreach my $area (@{$areas}) { |
foreach my $area (@{$areas}) { |
if (defined($ENV{"form.$area"}) && ($ENV{'form.'.$area} ne '')) { |
if (defined($env{"form.$area"}) && ($env{'form.'.$area} ne '')) { |
if ($cms eq 'angel' && $area eq 'doc') { |
if ($cms eq 'angel' && $area eq 'doc') { |
foreach (@{$cmsmap{$cms}{$area}}) { |
foreach (@{$cmsmap{$cms}{$area}}) { |
$importareas{$_} = 1; |
$importareas{$_} = 1; |
Line 557 sub display_three {
|
Line 553 sub display_three {
|
$importareas{$cmsmap{$cms}{$area}} = 1; |
$importareas{$cmsmap{$cms}{$area}} = 1; |
} |
} |
if ($area eq 'board') { |
if ($area eq 'board') { |
$db_handling = $ENV{'form.db_handling'}; |
$db_handling = $env{'form.db_handling'}; |
} elsif ($area eq 'users') { |
} elsif ($area eq 'users') { |
$user_handling = $ENV{'form.user_handling'}; |
$user_handling = $env{'form.user_handling'}; |
} |
} |
} |
} |
} |
} |
Line 613 sub display_three {
|
Line 609 sub display_three {
|
|
|
&Apache::imsprocessor::process_resinfo($cms,'DOCS',$tempdir,$destdir,\%items,\%resources,\@targets,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\@groups,\%messages,\@timestamp,\%boardnum,\%resinfo,$udom,$uname,$cdom,$crs,$db_handling,$user_handling,\%total,$seqstem,$seqstem,\@resrcfiles,\@packages,\%hrefs,\@pages,\@sequences); |
&Apache::imsprocessor::process_resinfo($cms,'DOCS',$tempdir,$destdir,\%items,\%resources,\@targets,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\@groups,\%messages,\@timestamp,\%boardnum,\%resinfo,$udom,$uname,$cdom,$crs,$db_handling,$user_handling,\%total,$seqstem,$seqstem,\@resrcfiles,\@packages,\%hrefs,\@pages,\@sequences); |
|
|
my $copy_result = &Apache::imsprocessor::copy_resources('DOCS',$cms,\%hrefs,$tempdir,\@targets,\%urls,$crs,$cdom,$chome,$destdir,$timenow,\%importareas); |
my $copy_result = &Apache::imsprocessor::copy_resources('DOCS',$cms,\%hrefs,$tempdir,\@targets,\%urls,$crs,$cdom,$destdir,$timenow,\%importareas); |
|
|
&Apache::imsprocessor::build_structure($cms,'DOCS',$destdir,\%items,\%resinfo,\%resources,\@targets,\%hrefs,$udom,$uname,'',$timenow,$cdom,$crs,\@timestamp,\%total,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\%boardnum,\@pages,\@sequences,\@topurls,\@topnames,\@packages,\%includeditems); |
&Apache::imsprocessor::build_structure($cms,'DOCS',$destdir,\%items,\%resinfo,\%resources,\@targets,\%hrefs,$udom,$uname,'',$timenow,$cdom,$crs,\@timestamp,\%total,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\%boardnum,\@pages,\@sequences,\@topurls,\@topnames,\@packages,\%includeditems); |
|
|
foreach my $item (@pages) { |
foreach my $item (@pages) { |
my $filename = $timenow.'/pages/'.$item; |
my $filename = $timenow.'/pages/'.$item; |
my $fetchresult= &Apache::lonnet::process_coursefile('propagate',$crs,$cdom,$chome,$filename,''); |
my $fetchresult= &Apache::lonnet::process_coursefile('propagate',$crs,$cdom,$filename,''); |
} |
} |
foreach my $item (@sequences) { |
foreach my $item (@sequences) { |
unless ($item eq 'Top.sequence' && $toplevel eq 'oldfolder') { |
unless ($item eq 'Top.sequence' && $toplevel eq 'oldfolder') { |
my $filename = $timenow.'/sequences/'.$item; |
my $filename = $timenow.'/sequences/'.$item; |
my $fetchresult= &Apache::lonnet::process_coursefile('propagate',$crs,$cdom,$chome,$filename,''); |
my $fetchresult= &Apache::lonnet::process_coursefile('propagate',$crs,$cdom,$filename,''); |
} |
} |
} |
} |
foreach my $item (@resrcfiles) { |
foreach my $item (@resrcfiles) { |
my $filename = $timenow.'/resfiles/'.$item; |
my $filename = $timenow.'/resfiles/'.$item; |
my $fetchresult= &Apache::lonnet::process_coursefile('propagate',$crs,$cdom,$chome,$filename,''); |
my $fetchresult= &Apache::lonnet::process_coursefile('propagate',$crs,$cdom,$filename,''); |
} |
} |
|
|
my @imports = (); |
my @imports = (); |
Line 641 sub display_three {
|
Line 637 sub display_three {
|
} |
} |
} elsif ($toplevel eq 'newfolder') { |
} elsif ($toplevel eq 'newfolder') { |
my $url = &Apache::lonnet::unescape("/uploaded/$cdom/$crs/$timenow/sequences/Top.sequence"); |
my $url = &Apache::lonnet::unescape("/uploaded/$cdom/$crs/$timenow/sequences/Top.sequence"); |
my $name = &Apache::lonnet::unescape("$ENV{'form.foldername'}"); |
my $name = &Apache::lonnet::unescape("$env{'form.foldername'}"); |
push @imports, $name, $url; |
push @imports, $name, $url; |
} |
} |
my $errtext=''; |
my $errtext=''; |
Line 687 ENDBLOCK
|
Line 683 ENDBLOCK
|
<input type="hidden" name="orgurl" value="/adm/coursedocs" /> |
<input type="hidden" name="orgurl" value="/adm/coursedocs" /> |
<input type="hidden" name="selectrole" value="1" /> |
<input type="hidden" name="selectrole" value="1" /> |
<h3><font color="red">Changes will become active for your current session after |
<h3><font color="red">Changes will become active for your current session after |
<input type="hidden" name="$ENV{'request.role'}" value="1" /> |
<input type="hidden" name="$env{'request.role'}" value="1" /> |
<input type="button" value="|; |
<input type="button" value="|; |
$initblock .= &mt('re-initializing course'); |
$initblock .= &mt('re-initializing course'); |
$initblock .= qq|" onClick="javascript:init(this.form)"/>|; |
$initblock .= qq|" onClick="javascript:init(this.form)"/>|; |