Diff for /loncom/imspackages/imsimport.pm between versions 1.17 and 1.22

version 1.17, 2006/03/27 18:39:55 version 1.22, 2006/12/05 02:55:54
Line 34  use HTML::Entities(); Line 34  use HTML::Entities();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonupload;  use Apache::lonupload;
 use File::Basename();  use File::Basename();
                                                                                               use LONCAPA;
   
 # ----------------------------------------------------------------  Jscript One  # ----------------------------------------------------------------  Jscript One
 sub jscript_one {  sub jscript_one {
     my ($fullpath,$jsref) = @_;      my ($fullpath,$jsref) = @_;
   
       my %body_layout = ('rightmargin'  => "0",
          'leftmargin'   => "0",
          'marginwidth'  => "0",
          'topmargin'    => "0",
          'marginheight' => "0");
     my $start_page =       my $start_page = 
  &Apache::loncommon::start_page('Create IMS import directory',undef,   &Apache::loncommon::start_page('Create IMS import directory',undef,
        {'only_body'   => 1,         {'only_body'   => 1,
  'add_entries' => "topmargin='0' leftmargin='0' marginheight='0'marginwidth='0' rightmargin='0'",   'add_entries' => \%body_layout,
  'js_ready'    => 1,});   'js_ready'    => 1,});
     my $end_page =       my $end_page = 
  &Apache::loncommon::end_page({'js_ready' => 1,});   &Apache::loncommon::end_page({'js_ready' => 1,});
     $start_page =~ s/\n/\\n/g;  
     $end_page =~ s/\n/\\n/g;  
   
     $$jsref = <<"END_OF_ONE";      $$jsref = <<"END_OF_ONE";
 function verify() {  function verify() {
Line 307  Please choose the CMS used to create you Line 311  Please choose the CMS used to create you
          <option value='bb6'>Blackboard 6</option>           <option value='bb6'>Blackboard 6</option>
          <option value='angel'>ANGEL</option>           <option value='angel'>ANGEL</option>
          <option value='webctce4'>WebCT 4 Campus Edition</option>           <option value='webctce4'>WebCT 4 Campus Edition</option>
            <option value='webctvista4'>WebCT Vista 4</option>
         </select>          </select>
         </font>          </font>
        </td>         </td>
Line 410  sub display_two { Line 415  sub display_two {
     my $conditions;      my $conditions;
   
     if ($unzip_result eq 'ok') {      if ($unzip_result eq 'ok') {
         $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' || $cms eq 'webctce4') {                  if ($cms eq 'bb5' || $cms eq 'bb6' || $cms eq 'webctce4' 
                       || $cms eq 'webctvista4') {
                     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 652  sub display_three { Line 660  sub display_three {
     my @pages = ();      my @pages = ();
     my @sequences = ();      my @sequences = ();
     my @resrcfiles = ();      my @resrcfiles = ();
       my @assessmentfiles = ();
   
     my $tempdir = $env{'form.tempdir'};      my $tempdir = $env{'form.tempdir'};
   
Line 672  sub display_three { Line 681  sub display_three {
         }          }
     }      }
   
     my $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,\%resources,\%items,\%hrefs,\%resinfo,'prepare',\%includedres);      my $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,
                             \%resources,\%items,\%hrefs,\%resinfo,'prepare',
                             \%includedres);
     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;
                   if ($resources{$res}{type} eq 'webct.manifest' || 
                        $resources{$res}{type} eq 'webct.assessment' ||
                        $resources{$res}{type} eq 'webct.question') {
                       push(@assessmentfiles,$res);
                   }   
             }              }
         }          }
         foreach my $itm (sort keys %items) {          foreach my $itm (sort keys %items) {
Line 688  sub display_three { Line 704  sub display_three {
         &Apache::imsprocessor::get_parents(\%includeditems,\%items,$itm);          &Apache::imsprocessor::get_parents(\%includeditems,\%items,$itm);
     }      }
   
     $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,\%resources,\%items,\%hrefs,\%resinfo,'build',\%includedres,\%includeditems);      $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir,
                          \%resources,\%items,\%hrefs,\%resinfo,'build',
                          \%includedres,\%includeditems);
     if ($manifest_result eq 'ok') {      if ($manifest_result eq 'ok') {
         &Apache::imsprocessor::target_resources(\%resources,\%importareas,\@targets);          &Apache::imsprocessor::target_resources(\%resources,\%importareas,\@targets);
   
Line 707  sub display_three { Line 725  sub display_three {
   
         &Apache::imsprocessor::process_resinfo($cms,'CSTR',$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,\%randompicks);          &Apache::imsprocessor::process_resinfo($cms,'CSTR',$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,\%randompicks);
   
         my $copy_result = &Apache::imsprocessor::copy_resources('CSTR',$cms,\%hrefs,$tempdir,\@targets,\%urls,$crs,$cdom,$destdir,$timenow,\%importareas);          my $copy_result = &Apache::imsprocessor::copy_resources('CSTR',$cms,\%hrefs,$tempdir,\@targets,\%urls,$crs,$cdom,$destdir,$timenow,\%importareas,\@assessmentfiles);
         
         &Apache::imsprocessor::build_structure($cms,'CSTR',$destdir,\%items,\%resinfo,\%resources,\@targets,\%hrefs,$udom,$uname,$newdir,$timenow,$cdom,$crs,\@timestamp,\%total,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\%boardnum,\@pages,\@sequences,\@topurls,\@topnames,\@packages,\%includeditems,\%randompicks);          &Apache::imsprocessor::build_structure($cms,'CSTR',$destdir,\%items,\%resinfo,\%resources,\@targets,\%hrefs,$udom,$uname,$newdir,$timenow,$cdom,$crs,\@timestamp,\%total,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\%boardnum,\@pages,\@sequences,\@topurls,\@topnames,\@packages,\%includeditems,\%randompicks);
   
Line 740  sub get_ccroles { Line 758  sub get_ccroles {
     my @crslist = ();      my @crslist = ();
     my %descrip =();      my %descrip =();
     foreach my $key (keys %roles ) {      foreach my $key (keys %roles ) {
         if ($key =~ m/^\/(\w+)\/(\w+)_cc$/) {          if ($key =~ m{^/($LONCAPA::domain_re)/($LONCAPA::username_re)_cc$}) {
             my $cdom = $1;              my $cdom = $1;
             my $crs = $2;              my $crs = $2;
             my $role_end = 0;              my $role_end = 0;
Line 809  sub handler { Line 827  sub handler {
     my $javascript = '';      my $javascript = '';
     my $page_name = '';      my $page_name = '';
     my $current_page = '';      my $current_page = '';
     my $loadentries = '';  
     my $qcount = '';      my $qcount = '';
   
 # get personal information for this user  # get personal information for this user
Line 839  sub handler { Line 856  sub handler {
         $fn=$env{'form.filename'};          $fn=$env{'form.filename'};
         $fn=~s/^http\:\/\/[^\/]+\///;          $fn=~s/^http\:\/\/[^\/]+\///;
         $fn=~s/^\///;          $fn=~s/^\///;
         $fn=~s/(\~|priv\/)(\w+)//;          $fn=~s/(\~|priv\/)($LONCAPA::username_re)//;
         $fn=~s/\/+/\//g;          $fn=~s/\/+/\//g;
     } else {      } else {
         $r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}.          $r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}.
Line 852  sub handler { Line 869  sub handler {
     unless ($pathname eq '/') {      unless ($pathname eq '/') {
         $fullpath .= '/';          $fullpath .= '/';
     }      }
     my $loadentries = '';  
   
     my @areas = ();      my @areas = ();
     my %cmsmap = ();      my %cmsmap = ();
Line 874  sub handler { Line 890  sub handler {
     $javascript = "<script type=\"text/javascript\">\n//<!--\n$javascript\n// --></script>\n";      $javascript = "<script type=\"text/javascript\">\n//<!--\n$javascript\n// --></script>\n";
   
     my $title = 'Upload IMS package to Construction Space';      my $title = 'Upload IMS package to Construction Space';
     $r->print(&Apache::loncommon::start_page($title, $javascript,      $r->print(&Apache::loncommon::start_page($title, $javascript));
      {'add_entries' =>  
   $loadentries,}));  
   
     if (($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) {      if (($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) {
         $r->print('<h3><font color=red>'.&mt('Co-Author').': '.$uname.          $r->print('<h3><font color=red>'.&mt('Co-Author').': '.$uname.

Removed from v.1.17  
changed lines
  Added in v.1.22


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>