Diff for /loncom/interface/londocs.pm between versions 1.180 and 1.194

version 1.180, 2005/06/08 19:36:54 version 1.194, 2005/07/24 19:31:00
Line 679  sub process_content { Line 679  sub process_content {
         if ($contents) {          if ($contents) {
             $$content_file = &store_template($contents,$tempexport,$count,$content_type);              $$content_file = &store_template($contents,$tempexport,$count,$content_type);
         }          }
     } elsif ($symb =~ m-lib/templates/examupload\.problem-m) {      } elsif ($symb =~ m-lib/templates/examupload\.problem$-) {
         $content_type = 'examupload';          $content_type = 'examupload';
     } elsif ($symb =~ m-adm/(\w+)/(\w+)/(\d+)/bulletinboard$-) {      } elsif ($symb =~ m-adm/(\w+)/(\w+)/(\d+)/bulletinboard$-) {
         $content_type = 'bulletinboard';          $content_type = 'bulletinboard';
Line 840  sub group_import { Line 840  sub group_import {
                             '<resource id="2" src="" type="finish"></resource>'."\n".                              '<resource id="2" src="" type="finish"></resource>'."\n".
                             '</map>';                              '</map>';
             $env{'form.output'}=$newmapstr;              $env{'form.output'}=$newmapstr;
             my $home=&Apache::lonnet::homeserver($coursenum,$coursedom);              my $result=&Apache::lonnet::finishuserfileupload($coursenum,$coursedom,
             my $result=&Apache::lonnet::finishuserfileupload($coursenum,$coursedom,$home,  
                                                 'output',$1.$2);                                                  'output',$1.$2);
             if ($result != m|^/uploaded/|) {              if ($result != m|^/uploaded/|) {
                 $errtext.='Map not saved: A network error occured when trying to save the new map. ';                  $errtext.='Map not saved: A network error occured when trying to save the new map. ';
Line 904  sub breadcrumbs { Line 903  sub breadcrumbs {
 }  }
   
 sub editor {  sub editor {
     my ($r,$coursenum,$coursedom,$folder,$allowed)=@_;      my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output)=@_;
     my $errtext='';      my $errtext='';
     my $fatal=0;      my $fatal=0;
     my $container='sequence';      my $container='sequence';
Line 1032  sub editor { Line 1031  sub editor {
  }   }
   
     }      }
 # upload a file, if present              $r->print($upload_output);
            if (($env{'form.uploaddoc.filename'}) &&  
                ($env{'form.cmd'}=~/^upload_(\w+)/)) {  
     if ( ($folder=~/^$1/) || ($1 eq 'default') ) {  
             my $destination = 'docs/';  
             if ($folder eq 'default') {  
                $destination .= 'default/';  
                 } elsif ($folder =~ /^default_(\d+)$/) {  
                     $destination .=  $1.'/';  
                 }  
 # this is for a course, not a user, so set coursedoc flag  
 # probably the only place in the system where this should be "1"  
               my $newidx=$#Apache::lonratedt::resources+1;  
               $destination .= $newidx;  
       my $url=&Apache::lonnet::userfileupload('uploaddoc',1,$destination);  
               my $ext='false';  
               if ($url=~/^http\:\/\//) { $ext='true'; }  
               $url=~s/\:/\&colon;/g;  
       my $comment=$env{'form.comment'};  
               $comment=~s/\</\&lt\;/g;  
               $comment=~s/\>/\&gt\;/g;  
               $comment=~s/\:/\&colon;/g;  
               if ($folder=~/^supplemental/) {  
   $comment=time.'___&&&___'.$env{'user.name'}.'___&&&___'.  
       $env{'user.domain'}.'___&&&___'.$comment;  
               }  
               $Apache::lonratedt::resources[$newidx]=  
                   $comment.':'.$url.':'.$ext.':normal:res';  
               $Apache::lonratedt::order[$#Apache::lonratedt::order+1]=  
                                                               $newidx;         
   
       ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.'.$container);  
       if ($fatal) {  
   $r->print('<p><font color="red">'.$errtext.'</font></p>');  
   return;  
       }  
      }  
             }  
     if ($env{'form.cmd'}) {      if ($env{'form.cmd'}) {
                 my ($cmd,$idx)=split(/\_/,$env{'form.cmd'});                  my ($cmd,$idx)=split(/\_/,$env{'form.cmd'});
                 if ($cmd eq 'del') {                  if ($cmd eq 'del') {
     my (undef,$url)=split(':',$Apache::lonratedt::resources[$Apache::lonratedt::order[$idx]]);      my (undef,$url)=split(':',$Apache::lonratedt::resources[$Apache::lonratedt::order[$idx]]);
     if ($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) {      if (($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) &&
    ($url!~/\.(page|sequence|problem|exam|quiz|assess|survey|form|library)$/)) {
  &Apache::lonnet::removeuploadedurl($url);   &Apache::lonnet::removeuploadedurl($url);
       } else {
    &Apache::lonratedt::makezombie($Apache::lonratedt::order[$idx]);
     }      }
     &Apache::lonratedt::makezombie($Apache::lonratedt::order[$idx]);  
     for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) {      for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) {
                         $Apache::lonratedt::order[$i]=                          $Apache::lonratedt::order[$i]=
                           $Apache::lonratedt::order[$i+1];                            $Apache::lonratedt::order[$i+1];
Line 1151  sub editor { Line 1115  sub editor {
 # Loading a complete map  # Loading a complete map
    if (($env{'form.importmap'}) && ($env{'form.loadmap'})) {     if (($env{'form.importmap'}) && ($env{'form.loadmap'})) {
        foreach (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$env{'form.importmap'}))) {         foreach (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$env{'form.importmap'}))) {
                    my $idx=$#Apache::lonratedt::resources;     my ($title,$url,$ext,$type)=split(/\:/,$_);
                    $idx++;                     my $idx=&Apache::lonratedt::getresidx($url);
                    $Apache::lonratedt::resources[$idx]=$_;                     $Apache::lonratedt::resources[$idx]=$_;
                    $Apache::lonratedt::order                     $Apache::lonratedt::order
        [$#Apache::lonratedt::order+1]=$idx;         [$#Apache::lonratedt::order+1]=$idx;
Line 1210  FOLDERINFO Line 1174  FOLDERINFO
     }      }
 }  }
   
   sub process_file_upload {
       my ($upload_output,$coursenum,$coursedom,$allfiles,$codebase,$uploadcmd) = @_;
   # upload a file, if present
       my $parseaction;
      if ($env{'form.parserflag'}) {
           $parseaction = 'parse';
       }
       my $phase_status;
       my $folder=$env{'form.folder'};
       if ($folder eq '') {
           $folder='default';
       }
       if ( ($folder=~/^$uploadcmd/) || ($uploadcmd eq 'default') ) {
           my $errtext='';
           my $fatal=0;
           my $container='sequence';
           if ($env{'form.pagepath'}) {
               $container='page';
           }
           ($errtext,$fatal)=
                 &mapread($coursenum,$coursedom,$folder.'.'.$container);
           if ($#Apache::lonratedt::order<1) {
               $Apache::lonratedt::order[0]=1;
               $Apache::lonratedt::resources[1]='';
           }
           if ($fatal) {
               return 'failed';
           }
           my $destination = 'docs/';
           if ($folder =~ /^supplemental/) {
               $destination = 'supplemental/';
           }
           if (($folder eq 'default') || ($folder eq 'supplemental')) {
               $destination .= 'default/';
           } elsif ($folder =~ /^(default|supplemental)_(\d+)$/) {
               $destination .=  $2.'/';
           }
   # this is for a course, not a user, so set coursedoc flag
   # probably the only place in the system where this should be "1"
           my $newidx=&Apache::lonratedt::getresidx();
           $destination .= $newidx;
           my $url=&Apache::lonnet::userfileupload('uploaddoc',1,$destination,
    $parseaction,$allfiles,
    $codebase);
           my $ext='false';
           if ($url=~/^http\:\/\//) { $ext='true'; }
           $url=~s/\:/\&colon;/g;
           my $comment=$env{'form.comment'};
           $comment=~s/\</\&lt\;/g;
           $comment=~s/\>/\&gt\;/g;
           $comment=~s/\:/\&colon;/g;
           if ($folder=~/^supplemental/) {
                 $comment=time.'___&&&___'.$env{'user.name'}.'___&&&___'.
                     $env{'user.domain'}.'___&&&___'.$comment;
           }
   
           $Apache::lonratedt::resources[$newidx]=
                     $comment.':'.$url.':'.$ext.':normal:res';
           $Apache::lonratedt::order[$#Apache::lonratedt::order+1]= $newidx;
           ($errtext,$fatal)=&storemap($coursenum,$coursedom,
       $folder.'.'.$container);
           if ($fatal) {
               $$upload_output .= '<p><font color="red">'.$errtext.'</font></p>';
               return 'failed';
           } else {
               if ($parseaction eq 'parse') {
                   my $total_embedded = keys(%{$allfiles});
                   if ($total_embedded > 0) {
                       my $num = 0;
                       $$upload_output .= 'This file contains embedded multimedia objects, which need to be uploaded to LON-CAPA.<br />
      <form name="upload_embedded" action="/adm/coursedocs"
                     method="post" enctype="multipart/form-data">
      <input type="hidden" name="folderpath" value="'.$env{'form.folderpath'}.'" />   <input type="hidden" name="cmd" value="upload_embedded" />
      <input type="hidden" name="newidx" value="'.$newidx.'" />
      <input type="hidden" name="primaryurl" value="'.&Apache::lonnet::escape($url).'" />
      <input type="hidden" name="phasetwo" value="'.$total_embedded.'" />';
                       $$upload_output .= '<b>Upload embedded files</b>:<br />
      <table>';
                       foreach my $embed_file (keys(%{$allfiles})) {
                           $$upload_output .= '<tr><td>'.$embed_file.
             '<input name="embedded_item_'.$num.'" type="file" />
              <input name="embedded_orig_'.$num.'" type="hidden" value="'.&Apache::lonnet::escape($embed_file).'" />';
                           my $attrib;
                           if (@{$$allfiles{$embed_file}} > 1) {
                               $attrib = join(':',@{$$allfiles{$embed_file}});
                           } else {
                               $attrib = $$allfiles{$embed_file}[0];
                           }
                           $$upload_output .=
              '<input name="embedded_attrib_'.$num.'" type="hidden" value="'.$attrib.'" />';
                           if (exists($$codebase{$embed_file})) {
                               $$upload_output .= 
             '<input name="codebase_'.$num.'" type="hidden" value="'.&Apache::lonnet::escape($$codebase{$embed_file}).'" />';
                           }
                           $$upload_output .= '</td></tr>';
                           $num ++;
                       }
                       $phase_status = 'phasetwo';
                       $$upload_output .= '</table><br />
      <input type ="submit" value="Complete upload" />
      </form>';
                   } else {
                       $$upload_output .= 'No embedded items identified<br />';
                   }
               }
           }
       }
       return $phase_status;
   }
   
   sub process_secondary_uploads {
       my ($upload_output,$coursedom,$coursenum,$formname,$num,$newidx) = @_;
       my $folder=$env{'form.folder'};
       my $destination = 'docs/';
       if ($folder eq 'default') {
           $destination .= 'default/';
       } elsif ($folder =~ /^default_(\d+)$/) {
           $destination .=  $1.'/';
       }
       $destination .= $newidx;
       my ($url,$filename);
       $url=&Apache::lonnet::userfileupload($formname.$num,1,$destination);
       ($filename) = ($url =~ m-^/uploaded/$coursedom/$coursenum/$destination/(.+)$-);
       return $filename;
   }
   
 # --------------------------------------------------------------- An entry line  # --------------------------------------------------------------- An entry line
   
 sub entryline {  sub entryline {
Line 1580  sub verifycontent { Line 1670  sub verifycontent {
      &mt('Return to DOCS').'</a>');       &mt('Return to DOCS').'</a>');
 }  }
   
   
 # -------------------------------------------------------------- Check Versions  # -------------------------------------------------------------- Check Versions
   
   sub devalidateversioncache {
       my $src=shift;
       &Apache::lonnet::devalidate_cache_new('courseresversion',$env{'request.course.id'}.'_'.
     &Apache::lonnet::clutter($src));
   }
   
 sub checkversions {  sub checkversions {
     my $r=shift;      my $r=shift;
     my $html=&Apache::lonxml::xmlbegin();      my $html=&Apache::lonxml::xmlbegin();
Line 1608  sub checkversions { Line 1705  sub checkversions {
  foreach (keys %hash) {   foreach (keys %hash) {
     if ($_=~/^ids\_(\/res\/.+)$/) {      if ($_=~/^ids\_(\/res\/.+)$/) {
  $newsetversions{$1}='mostrecent';   $newsetversions{$1}='mostrecent';
                   &devalidateversioncache($1);
     }      }
  }   }
     } elsif ($env{'form.setcurrent'}) {      } elsif ($env{'form.setcurrent'}) {
Line 1617  sub checkversions { Line 1715  sub checkversions {
  my $getvers=&Apache::lonnet::getversion($1);   my $getvers=&Apache::lonnet::getversion($1);
  if ($getvers>0) {   if ($getvers>0) {
     $newsetversions{$1}=$getvers;      $newsetversions{$1}=$getvers;
       &devalidateversioncache($1);
  }   }
     }      }
  }   }
Line 1627  sub checkversions { Line 1726  sub checkversions {
  my $src=$1;   my $src=$1;
  if (($env{$_}) && ($env{$_} ne $setversions{$src})) {   if (($env{$_}) && ($env{$_} ne $setversions{$src})) {
     $newsetversions{$src}=$env{$_};      $newsetversions{$src}=$env{$_};
       &devalidateversioncache($src);
  }   }
     }      }
  }   }
Line 1856  sub changewarning { Line 1956  sub changewarning {
  if (defined($env{'form.pagepath'})) {   if (defined($env{'form.pagepath'})) {
     $pathvar='pagepath';      $pathvar='pagepath';
     $path=&Apache::lonnet::escape($env{'form.pagepath'});      $path=&Apache::lonnet::escape($env{'form.pagepath'});
     $path.='&amp;symb='.&Apache::lonnet::escape($env{'form.pagesymb'});      $path.='&amp;pagesymb='.&Apache::lonnet::escape($env{'form.pagesymb'});
  }   }
  $url='/adm/coursedocs?'.$pathvar.'='.$path;   $url='/adm/coursedocs?'.$pathvar.'='.$path;
     }      }
     if (!defined($message)) {      if (!defined($message)) {
  $message='Changes will become active for your current session after [_1], or the next time you log in.';   $message='Changes will become active for your current session after [_1], or the next time you log in.';
     }      }
     $r->print(      $r->print("\n\n".
 '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'.   '<script>function reinit(tf) { tf.submit();'.$postexec.' }</script>'."\n". 
 '<form method="post" action="/adm/roles" target="loncapaclient">'.  '<form name="reinitform" method="post" action="/adm/roles" target="loncapaclient">'.
 '<input type="hidden" name="orgurl" value="'.$url.  '<input type="hidden" name="orgurl" value="'.$url.
 '" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">'.  '" /><input type="hidden" name="selectrole" value="1" /><h3><font color="red">'.
 &mt($message,' <input type="hidden" name="'.  &mt($message,' <input type="hidden" name="'.
     $env{'request.role'}.'" value="1" /><input type="button" value="'.      $env{'request.role'}.'" value="1" /><input type="button" value="'.
     &mt('re-initializing course').'" onClick="reinit(this.form)" />').      &mt('re-initializing course').'" onClick="reinit(this.form)" />').
 $help{'Caching'}.'</font></h3></form>');  $help{'Caching'}.'</font></h3></form>'."\n\n");
 }  }
   
 # ================================================================ Main Handler  # ================================================================ Main Handler
Line 2116  function removeres(folderpath,index,oldt Line 2216  function removeres(folderpath,index,oldt
 }  }
   
 function cutres(folderpath,index,oldtitle,container,pagesymb) {  function cutres(folderpath,index,oldtitle,container,pagesymb) {
     if (confirm('WARNING: Cutting a resource makes associated grades and scores inaccessible,\\neven if it is pasted in again elsewhere!\\nCut "'+oldtitle+'"?')) {      if (confirm('WARNING: Cutting a resource makes associated grades and scores inaccessible!\\nGrades remain inaccessible if resource is pasted into another folder.\\nCut "'+oldtitle+'"?')) {
  this.document.forms.renameform.cmd.value='cut_'+index;   this.document.forms.renameform.cmd.value='cut_'+index;
  this.document.forms.renameform.markcopy.value=index;   this.document.forms.renameform.markcopy.value=index;
         if (container == 'sequence') {          if (container == 'sequence') {
Line 2151  ENDNEWSCRIPT Line 2251  ENDNEWSCRIPT
             &Apache::loncommon::bodytag('Course Documents','',$events,              &Apache::loncommon::bodytag('Course Documents','',$events,
  '','',$showdoc).   '','',$showdoc).
     &Apache::loncommon::help_open_menu('','','','',273,'RAT'));      &Apache::loncommon::help_open_menu('','','','',273,'RAT'));
   unless ($showdoc) {    my %allfiles = ();
     my %codebase = ();
     my ($upload_result,$upload_output);
     if ($allowed) {
         if (($env{'form.uploaddoc.filename'}) &&                                               ($env{'form.cmd'}=~/^upload_(\w+)/)) {
   # Process file upload - phase one - upload and parse primary file.  
             $upload_result = &process_file_upload(\$upload_output,$coursenum,
    $coursedom,\%allfiles,
    \%codebase,$1);
             if ($upload_result eq 'phasetwo') {
                 $r->print($upload_output);
             }
         } elsif ($env{'form.phasetwo'}) {
             my %newname = ();
             my %origname = ();
             my %attribs = ();
             my $updateflag = 0;
             my $residx = $env{'form.newidx'};
             my $primary_url = &Apache::lonnet::unescape($env{'form.primaryurl'});
   # Process file upload - phase two - gather secondary files.
             for (my $i=0; $i<$env{'form.phasetwo'}; $i++) {
                 if ($env{'form.embedded_item_'.$i.'.filename'}) {
                     my $javacodebase;
                     $newname{$i} = &process_secondary_uploads(\$upload_output,$coursedom,$coursenum,'embedded_item_',$i,$residx);
                     $origname{$i} = &Apache::lonnet::unescape($env{'form.embedded_orig_'.$i});
                     if (exists($env{'form.embedded_codebase_'.$i})) {
                         $javacodebase =  &Apache::lonnet::unescape($env{'form.embedded_codebase_'.$i});  
                         $origname{$i} =~ s#^\Q$javacodebase\E/##; 
                     }
                     my @attributes = ();
                     if ($env{'form.embedded_attrib_'.$i} =~ /:/) {
                         @attributes = split/:/,$env{'form.embedded_attrib_'.$i};
                     } else {
                         @attributes = ($env{'form.embedded_attrib_'.$i});
                     }
                     foreach (@attributes) {
                         push(@{$attribs{$i}},&Apache::lonnet::unescape($_));
                     }
                     if ($javacodebase) {
                         $codebase{$i} = $javacodebase;
                         $codebase{$i} =~ s#/$##;
                         $updateflag = 1;
                     }
                 }
                 unless ($newname{$i} eq $origname{$i}) {
                     $updateflag = 1;
                 }
             }
   # Process file upload - phase three - modify primary file
             if ($updateflag) {
                 my ($content,$rtncode);
                 my $updateflag = 0;
                 my $getstatus = &Apache::lonnet::getuploaded('GET',$primary_url,$coursedom,$coursenum,\$content,\$rtncode);
                 if ($getstatus eq 'ok') {
                     foreach my $item (keys %newname) {
                         if ($newname{$item} ne $origname{$item}) {
                             my $attrib_regexp = '';
                             if (@{$attribs{$item}} > 1) {
                                 $attrib_regexp = join('|',@{$attribs{$item}});
                             } else {
                                 $attrib_regexp = $attribs{$item}[0];
                             }
                             if ($content =~ m#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#) {
                             } 
                             $content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#$1$newname{$item}$2#gi; 
                         }
                         if (exists($codebase{$item})) {
                             $content =~ s/(codebase\s*=\s*["']?)\Q$codebase{$item}\E(["']?)/$1.$2/i;
                         }
                     }
   # Save edited file.
                     my $saveresult;
                     my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'};
                     my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'};
                     my $url = &Apache::lonnet::store_edited_file($primary_url,$content,$docudom,$docuname,\$saveresult);
                 } else {
                     &Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus); 
                 }
             }
         }
     }
   
     unless ($showdoc ||  $upload_result eq 'phasetwo') {
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
        my %lt=&Apache::lonlocal::texthash(         my %lt=&Apache::lonlocal::texthash(
                 'uplm' => 'Upload a new main course document',                  'uplm' => 'Upload a new main course document',
                 'upls' => 'Upload a new supplemental course document',                  'upls' => 'Upload a new supplemental course document',
                 'impp' => 'Import a document',                  'impp' => 'Import a document',
                 'pubd' => 'Published documents',                  'pubd' => 'Published documents',
  'copm' => 'All documents out of a published map',   'copm' => 'All documents out of a published map into this folder',
                 'spec' => 'Special documents',                  'spec' => 'Special documents',
                 'upld' => 'Upload Document',                  'upld' => 'Upload Document',
                 'srch' => 'Search',                  'srch' => 'Search',
                 'impo' => 'Import',                  'impo' => 'Import',
                 'selm' => 'Select Map',                  'selm' => 'Select Map',
                 'load' => 'Load Map',                  'load' => 'Load Map',
                   'reco' => 'Recover Deleted Resources',
                 'newf' => 'New Folder',                  'newf' => 'New Folder',
                 'newp' => 'New Composite Page',                  'newp' => 'New Composite Page',
                 'extr' => 'External Resource',                  'extr' => 'External Resource',
Line 2179  ENDNEWSCRIPT Line 2362  ENDNEWSCRIPT
                 'imsf' => 'Import IMS package',                  'imsf' => 'Import IMS package',
                 'file' =>  'File',                  'file' =>  'File',
                 'title' => 'Title',                  'title' => 'Title',
                 'comment' => 'Comment'                   'comment' => 'Comment',
                   'parse' => 'If HTML file, upload embedded images/multimedia files'
   );    );
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
     if ($allowed) {      if ($allowed) {
Line 2246  ENDCOURSEVERIFY Line 2430  ENDCOURSEVERIFY
            #$postexec='self.close();';             #$postexec='self.close();';
        }         }
        $hadchanges=0;         $hadchanges=0;
        &editor($r,$coursenum,$coursedom,$folder,$allowed);         &editor($r,$coursenum,$coursedom,$folder,$allowed,$upload_output);
        if ($hadchanges) {         if ($hadchanges) {
    &mark_hash_old()     &mark_hash_old()
        }         }
Line 2255  ENDCOURSEVERIFY Line 2439  ENDCOURSEVERIFY
                      '.sequence';                       '.sequence';
        my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.         my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
                      '.page';                       '.page';
    my $container='sequence';
    if ($env{'form.pagepath'}) {
       $container='page';
    }
    my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container;
        $r->print(<<ENDFORM);         $r->print(<<ENDFORM);
 <table cellspacing=4 cellpadding=4><tr>  <table cellspacing=4 cellpadding=4><tr>
 <th bgcolor="#DDDDDD">$lt{'uplm'}</th>  <th bgcolor="#DDDDDD">$lt{'uplm'}</th>
Line 2264  ENDCOURSEVERIFY Line 2452  ENDCOURSEVERIFY
 </tr>  </tr>
 <tr><td bgcolor="#DDDDDD">  <tr><td bgcolor="#DDDDDD">
 $lt{'file'}:<br />  $lt{'file'}:<br />
 <form action="/adm/coursedocs" method="post" enctype="multipart/form-data">  <form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data">
 <input type="file" name="uploaddoc" size="40">  <input type="file" name="uploaddoc" size="40">
 <br />  <br />
 $lt{'title'}:<br />  $lt{'title'}:<br />
 <input type="text" size="50" name="comment">  <input type="text" size="50" name="comment">
 $uploadtag  $uploadtag
 <input type="hidden" name="cmd" value="upload_default">  <input type="hidden" name="cmd" value="upload_default">
   <br />
   <nobr>
   <label>$lt{'parse'}?
   <input type="checkbox" name="parserflag" />
   </label>
   </nobr>
   <br />
   <br />
 <nobr>  <nobr>
 <input type="submit" value="$lt{'upld'}">  <input type="submit" value="$lt{'upld'}">
  $help{'Uploading_From_Harddrive'}   $help{'Uploading_From_Harddrive'}
Line 2288  $help{'Importing_LON-CAPA_Resource'} Line 2484  $help{'Importing_LON-CAPA_Resource'}
 </nobr>  </nobr>
 <p>  <p>
 <hr />  <hr />
 $lt{'copm'}  $lt{'copm'}<br />
 <input type="text" size="20" name="importmap"><br />  <input type="text" size="40" name="importmap"><br />
 <nobr><input type=button   <nobr><input type=button 
 onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"  onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"
 value="$lt{'selm'}"> <input type="submit" name="loadmap" value="$lt{'load'}">  value="$lt{'selm'}"> <input type="submit" name="loadmap" value="$lt{'load'}">
 $help{'Load_Map'}</nobr>  $help{'Load_Map'}</nobr>
 </p>  </p>
 </form>  </form>
   <hr />
   <form action="/adm/groupsort" method="post" name="recover">
   <input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1)" value="$lt{'reco'}" />
   </form>
 ENDFORM  ENDFORM
        unless ($env{'form.pagepath'}) {         unless ($env{'form.pagepath'}) {
    $r->print(<<ENDFORM);     $r->print(<<ENDFORM);
Line 2404  $uploadtag Line 2604  $uploadtag
 <input name="newaboutsomeone" type="button" value="$lt{'abou'}"   <input name="newaboutsomeone" type="button" value="$lt{'abou'}" 
 onClick="javascript:makeabout();" />  onClick="javascript:makeabout();" />
 </nobr>  </nobr>
   </form>
 ENDFORM  ENDFORM
        }         }
        if ($env{'form.pagepath'}) {         if ($env{'form.pagepath'}) {
Line 2424  $uploadtag Line 2625  $uploadtag
 onClick="javascript:makeexamupload();" />  onClick="javascript:makeexamupload();" />
 $help{'Score_Upload_Form'}  $help{'Score_Upload_Form'}
 </nobr>  </nobr>
   </form>
 ENDBLOCK  ENDBLOCK
            $r->print('</form>');  
        }         }
        $r->print('</td></tr>'."\n".         $r->print('</td></tr>'."\n".
 '</table>');  '</table>');
Line 2514  ENDSUPFORM Line 2715  ENDSUPFORM
        }         }
     }      }
     if ($allowed) {      if ($allowed) {
  $r->print('<form name="extimport"><input type="hidden" name="title"><input type="hidden" name="url"><input type="hidden" name="useform"></form>');   $r->print('<form method="POST" name="extimport" action="/adm/coursedocs"><input type="hidden" name="title" /><input type="hidden" name="url" /><input type="hidden" name="useform" /></form>');
     }      }
     $r->print('</table>');      $r->print('</table>');
   } else {    } else {
         unless ($upload_result eq 'phasetwo') {
 # -------------------------------------------------------- This is showdoc mode  # -------------------------------------------------------- This is showdoc mode
       $r->print("<h1>".&mt('Uploaded Document').' - '.            $r->print("<h1>".&mt('Uploaded Document').' - '.
  &Apache::lonnet::gettitle($r->uri).'</h1><p>'.   &Apache::lonnet::gettitle($r->uri).'</h1><p>'.
 &mt('It is recommended that you use an up-to-date virus scanner before handling this file.')."</p><p><table>".  &mt('It is recommended that you use an up-to-date virus scanner before handling this file.')."</p><p><table>".
          &entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'</table></p>');            &entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'</table></p>');
         }
   }    }
  }   }
  $r->print('</body></html>');   $r->print('</body></html>');

Removed from v.1.180  
changed lines
  Added in v.1.194


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