--- loncom/imspackages/imsimportdocs.pm 2005/10/27 17:07:23 1.13 +++ loncom/imspackages/imsimportdocs.pm 2007/08/02 01:33:31 1.20 @@ -1,3 +1,7 @@ +# The LearningOnline Network with CAPA +# +# $Id: imsimportdocs.pm,v 1.20 2007/08/02 01:33:31 albertel Exp $ +# # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). @@ -30,6 +34,10 @@ use Apache::loncommon; use Apache::lonlocal; use Apache::imsprocessor; use LONCAPA::Configuration; +use LONCAPA::map(); +use lib '/home/httpd/lib/perl/'; +use LONCAPA; + use strict; sub jscript_one { @@ -145,21 +153,21 @@ sub handler { # get course data my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'}; my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'}; - my $coursehome=$env{'course.'.$env{'request.course.id'}.'.home'}; # get personal data my $uname=$env{'user.name'}; my $udom=$env{'user.domain'}; - my $plainname=&Apache::lonnet::escape( + my $plainname=&escape( &Apache::loncommon::plainname($uname,$udom)); # does this user have privileges to post, etc? my $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); unless ($allowed) { - $r->print("The LearningOnline Network with CAPA"); - $r->print(&Apache::loncommon::bodytag('Import IMS package',undef,'',1)); - $r->print('

'.&mt('Modification of Course Contents Disallowed').'

'.&mt('Your current role does not grant you the right to modify course content in this course.').''); + $r->print(&Apache::loncommon::start_page('Import IMS package',undef, + {'only_body' => 1,})); + $r->print('

'.&mt('Modification of Course Contents Disallowed').'

'.&mt('Your current role does not grant you the right to modify course content in this course.'). + &Apache::loncommon::end_page()); return OK; } @@ -174,28 +182,23 @@ sub handler { &jscript_three(\$javascript); } + $javascript = + "\n"; + my $start_page = &Apache::loncommon::start_page('Import IMS package', + $javascript, + {'only_body' => 1,}); # print screen - $r->print(< - -The LearningOnline Network with CAPA - - -ENDHEAD -# -------------------------------------------------------------------- Body tag - $r->print(&Apache::loncommon::bodytag('Import IMS package',undef,'',1)); + $r->print($start_page); + if ($env{'form.phase'} eq 'one') { &display_one($r); } elsif ($env{'form.phase'} eq 'two') { &display_two($r,$coursenum,\@areas,\%areaname,%cmsmap); } 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(""); + $r->print(&Apache::loncommon::end_page()); return OK; } @@ -231,11 +234,11 @@ sub display_one { Please choose the CMS used to create your IMS content package.   @@ -279,10 +282,10 @@ Please choose the CMS used to create you
- + - +
@@ -337,7 +340,7 @@ sub display_two { $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,\%resources,\%items,\%hrefs,\%resinfo,'choose',\%includedres,\%includeditems); if ($manifest_result eq 'ok') { foreach my $res (sort keys %resources) { - if ($cms eq 'bb5' || $cms eq 'bb6' || $cms eq 'webct4') { + if ($cms eq 'bb5' || $cms eq 'bb6' || $cms eq 'webctce4') { foreach my $area (keys %{$cmsmap{$cms}}) { if ($resources{$res}{type} eq $cmsmap{$cms}{$area}) { $count{$area} ++; @@ -404,13 +407,13 @@ ENDBLOCK if ($area eq 'board') { $r->print("    "); } elsif ($area eq 'users') { $r->print("    "); @@ -450,10 +453,10 @@ ENDBLOCK - + - +
Display listing of contents in a new folder, with folder name:      
Append listing of contents of top level of package to contents list for the current folder.
@@ -478,10 +481,10 @@ ENDBLOCK
- + - +
@@ -502,7 +505,7 @@ ENDDOCUMENT 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 $cms = $env{'form.source'}; my $tempdir = $env{'form.tempdir'}; @@ -614,7 +617,7 @@ 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); - 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); @@ -636,25 +639,25 @@ sub display_three { my @imports = (); if ($toplevel eq 'oldfolder') { for (my $i=0; $i<@topurls; $i++) { - my $url = &Apache::lonnet::unescape($topurls[$i]); - my $name = &Apache::lonnet::unescape($topnames[$i]); + my $url = &unescape($topurls[$i]); + my $name = &unescape($topnames[$i]); push @imports, $name, $url; } } elsif ($toplevel eq 'newfolder') { - my $url = &Apache::lonnet::unescape("/uploaded/$cdom/$crs/$timenow/sequences/Top.sequence"); - my $name = &Apache::lonnet::unescape("$env{'form.foldername'}"); + my $url = &unescape("/uploaded/$cdom/$crs/$timenow/sequences/Top.sequence"); + my $name = &unescape("$env{'form.foldername'}"); push @imports, $name, $url; } my $errtext=''; my $fatal=0; ($errtext,$fatal)= &Apache::londocs::mapread($crs,$cdom,$folder.'.sequence'); - if ($#Apache::lonratedt::order<1) { - $Apache::lonratedt::order[0]=1; - $Apache::lonratedt::resources[1]=''; + if ($#LONCAPA::map::order<1) { + $LONCAPA::map::order[0]=1; + $LONCAPA::map::resources[1]=''; } my ($errtext,$fatal)=&Apache::londocs::group_import($crs,$cdom,$folder,'sequence','imsimport',@imports); if ($fatal) { - print STDERR "Fatal error during group_import\n"; + &Apache::lonnet::logthis("Fatal error during group_import."); } } if ($tempdir =~ m/^\/home\/httpd\/perl\/tmp\/$crs\/\d{10}/) { @@ -691,7 +694,7 @@ ENDBLOCK |; + $initblock .= qq|" onClick="javascript:init(this.form)" />|; $initblock .= ', '.&mt('or the next time you log in.'); $initblock .= qq||; $r->print($initblock);