version 1.30, 2012/10/31 12:54:17
|
version 1.37, 2018/05/02 17:06:45
|
Line 36 use Apache::imsprocessor;
|
Line 36 use Apache::imsprocessor;
|
use LONCAPA::map(); |
use LONCAPA::map(); |
use lib '/home/httpd/lib/perl/'; |
use lib '/home/httpd/lib/perl/'; |
use LONCAPA; |
use LONCAPA; |
|
use File::Path(); |
|
|
use strict; |
use strict; |
|
|
Line 48 sub jscript_one {
|
Line 49 sub jscript_one {
|
es => 'Enroll students only', |
es => 'Enroll students only', |
ea => 'Enroll all users', |
ea => 'Enroll all users', |
nr => 'Not required', |
nr => 'Not required', |
id => 'You must select one of the additional options when importing Disussion Boards', |
id => 'You must select one of the additional options when importing Discussion Boards.', |
ie => 'You must select one of the additional options when importing Enrollment', |
ie => 'You must select one of the additional options when importing Enrollment.', |
ct => 'You must check at least one Content Type', |
ct => 'You must check at least one Content Type.', |
); |
); |
return <<"ENDJS"; |
return <<"ENDJS"; |
function setOptions(caller,itemnum) { |
function setOptions(caller,itemnum) { |
Line 225 sub display_one {
|
Line 226 sub display_one {
|
|
|
if ($unzip_result ne 'ok') { |
if ($unzip_result ne 'ok') { |
$r->print( |
$r->print( |
'<p class="LC_warning">' |
&Apache::loncommon::confirmwrapper( |
.&mt('Processing of your IMS package failed because the file you' |
&Apache::lonhtmlcommon::confirm_success( |
.' uploaded could not be unzipped.') |
&mt('Processing of your IMS package failed because the file you' |
.'</p>' |
.' uploaded could not be unzipped.'),1) |
|
.'<br />'.&mt('Error: [_1]',$unzip_result)) |
); |
); |
return(); |
return(); |
} |
} |
Line 239 sub display_one {
|
Line 241 sub display_one {
|
\%resinfo,'choose',\%includedres,\%includeditems); |
\%resinfo,'choose',\%includedres,\%includeditems); |
if ($manifest_result ne 'ok') { |
if ($manifest_result ne 'ok') { |
$r->print( |
$r->print( |
'<p class="LC_warning">' |
'<br />'.&Apache::loncommon::confirmwrapper( |
.&mt('Unpacking of your IMS package failed because an IMS manifest file was not located in the package.') |
&Apache::lonhtmlcommon::confirm_success( |
.'</p>' |
&mt('Unpacking of your IMS package failed because an IMS manifest file' |
|
.' was not located in the package.'),1)) |
); |
); |
return(); |
return(); |
} |
} |
|
|
# Count areas depending on cms version |
# Count areas depending on cms version |
foreach my $res (sort keys %resources) { |
foreach my $res (sort(keys(%resources))) { |
if ($cms eq 'bb5' || $cms eq 'bb6' || $cms eq 'webctce4') { |
if ($cms eq 'bb5' || $cms eq 'bb6' || $cms eq 'webctce4') { |
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} ++; |
} |
} |
} |
} |
} elsif ($cms eq 'angel5') { |
} elsif ($cms eq 'angel5') { |
foreach my $area (keys %{$cmsmap{$cms}}) { |
foreach my $area (keys(%{$cmsmap{$cms}})) { |
if ($area eq 'doc') { |
if ($area eq 'doc') { |
if (grep/^$resources{$res}{type}$/,@{$cmsmap{$cms}{doc}}) { |
if (grep/^$resources{$res}{type}$/,@{$cmsmap{$cms}{doc}}) { |
$count{$area} ++; |
$count{$area} ++; |
Line 394 sub display_two {
|
Line 397 sub display_two {
|
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 = ''; |
|
if ($crs =~ m/^(\d)(\d)(\d)/) { |
|
$longcrs = $1.'/'.$2.'/'.$3.'/'.$crs; |
|
} |
|
my %importareas = (); |
my %importareas = (); |
my %includedres = (); |
my %includedres = (); |
my %includeditems = (); |
my %includeditems = (); |
Line 455 sub display_two {
|
Line 454 sub display_two {
|
|
|
my $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,\%resources,\%items,\%hrefs,\%resinfo,'prepare',\%includedres,\%includeditems); |
my $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,\%resources,\%items,\%hrefs,\%resinfo,'prepare',\%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 ($importareas{$resources{$res}{type}}) { |
if ($importareas{$resources{$res}{type}}) { |
$includedres{$res} = 1; |
$includedres{$res} = 1; |
} |
} |
} |
} |
foreach my $itm (sort keys %items) { |
foreach my $itm (sort(keys(%items))) { |
&Apache::imsprocessor::get_imports(\%includeditems,\%items,\%resources,\%importareas,$itm); |
&Apache::imsprocessor::get_imports(\%includeditems,\%items,\%resources,\%importareas,$itm); |
} |
} |
} |
} |
foreach my $itm (sort keys %includeditems) { |
foreach my $itm (sort(keys(%includeditems))) { |
&Apache::imsprocessor::get_parents(\%includeditems,\%items,$itm); |
&Apache::imsprocessor::get_parents(\%includeditems,\%items,$itm); |
} |
} |
|
|
Line 502 sub display_two {
|
Line 501 sub display_two {
|
|
|
&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,$destdir,$timenow,\%importareas); |
my $copy_result = &Apache::imsprocessor::copy_resources('DOCS',$cms,\%hrefs,\%resources,$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); |
|
|
Line 546 sub display_two {
|
Line 545 sub display_two {
|
} |
} |
} |
} |
if ($tempdir =~ m/^\/home\/httpd\/perl\/tmp\/$crs\/\d{10}/) { |
if ($tempdir =~ m/^\/home\/httpd\/perl\/tmp\/$crs\/\d{10}/) { |
system("rm -r -f $tempdir"); |
&File::Path::remove_tree($tempdir,{ safe => 1 }); |
} |
} |
|
|
# All done, display success message |
# All done, display success message |
Line 558 sub display_two {
|
Line 557 sub display_two {
|
# Re-initialize Button |
# Re-initialize Button |
my $initbutton = |
my $initbutton = |
'<input type="button" value="' |
'<input type="button" value="' |
.&mt('re-initializing course') |
.&mt('re-initializing Course') |
.'" onclick="javascript:init(this.form)" />'; |
.'" onclick="javascript:init(this.form)" />'; |
|
my $windowname = 'loncapaclient'; |
|
if ($env{'request.lti.login'}) { |
|
$windowname .= 'lti'; |
|
} |
$r->print( |
$r->print( |
'<form method="post" action="/adm/roles" target="loncapaclient" name="importDone">' |
'<form method="post" action="/adm/roles" target="'.$windowname.'" name="importDone">' |
.'<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" />' |
.'<input type="hidden" name="'.$env{'request.role'}.'" value="1" />' |
.'<input type="hidden" name="'.$env{'request.role'}.'" value="1" />' |