Diff for /loncom/interface/londocs.pm between versions 1.191 and 1.195

version 1.191, 2005/06/26 15:42:52 version 1.195, 2005/07/25 00:50:00
Line 1175  FOLDERINFO Line 1175  FOLDERINFO
 }  }
   
 sub process_file_upload {  sub process_file_upload {
     my ($upload_output,$coursenum,$coursedom,$allfiles,$codebase) = @_;      my ($upload_output,$coursenum,$coursedom,$allfiles,$codebase,$uploadcmd) = @_;
 # upload a file, if present  # upload a file, if present
     my $parseaction;      my $parseaction;
    if ($env{'form.parserflag'}) {     if ($env{'form.parserflag'}) {
Line 1183  sub process_file_upload { Line 1183  sub process_file_upload {
     }      }
     my $phase_status;      my $phase_status;
     my $folder=$env{'form.folder'};      my $folder=$env{'form.folder'};
     if ($folder eq '' || $folder eq 'supplemental') {      if ($folder eq '') {
         $folder='default';          $folder='default';
     }      }
     if ( ($folder=~/^$1/) || ($1 eq 'default') ) {      if ( ($folder=~/^$uploadcmd/) || ($uploadcmd eq 'default') ) {
         my $errtext='';          my $errtext='';
         my $fatal=0;          my $fatal=0;
         my $container='sequence';          my $container='sequence';
Line 1203  sub process_file_upload { Line 1203  sub process_file_upload {
             return 'failed';              return 'failed';
         }          }
         my $destination = 'docs/';          my $destination = 'docs/';
         if ($folder eq 'default') {          if ($folder =~ /^supplemental/) {
               $destination = 'supplemental/';
           }
           if (($folder eq 'default') || ($folder eq 'supplemental')) {
             $destination .= 'default/';              $destination .= 'default/';
         } elsif ($folder =~ /^default_(\d+)$/) {          } elsif ($folder =~ /^(default|supplemental)_(\d+)$/) {
             $destination .=  $1.'/';              $destination .=  $2.'/';
         }          }
 # this is for a course, not a user, so set coursedoc flag  # this is for a course, not a user, so set coursedoc flag
 # probably the only place in the system where this should be "1"  # probably the only place in the system where this should be "1"
Line 1285  sub process_secondary_uploads { Line 1288  sub process_secondary_uploads {
     my ($upload_output,$coursedom,$coursenum,$formname,$num,$newidx) = @_;      my ($upload_output,$coursedom,$coursenum,$formname,$num,$newidx) = @_;
     my $folder=$env{'form.folder'};      my $folder=$env{'form.folder'};
     my $destination = 'docs/';      my $destination = 'docs/';
     if ($folder eq 'default') {      if ($folder =~ /^supplemental/) {
           $destination = 'supplemental/';
       }
       if (($folder eq 'default') || ($folder eq 'supplemental')) {
         $destination .= 'default/';          $destination .= 'default/';
     } elsif ($folder =~ /^default_(\d+)$/) {      } elsif ($folder =~ /^(default|supplemental)_(\d+)$/) {
         $destination .=  $1.'/';          $destination .=  $1.'/';
     }      }
     $destination .= $newidx;      $destination .= $newidx;
Line 1667  sub verifycontent { Line 1673  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 1695  sub checkversions { Line 1708  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 1704  sub checkversions { Line 1718  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 1714  sub checkversions { Line 1729  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 1943  sub changewarning { Line 1959  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;
     }      }
Line 2246  ENDNEWSCRIPT Line 2262  ENDNEWSCRIPT
 # Process file upload - phase one - upload and parse primary file.    # Process file upload - phase one - upload and parse primary file.  
           $upload_result = &process_file_upload(\$upload_output,$coursenum,            $upload_result = &process_file_upload(\$upload_output,$coursenum,
  $coursedom,\%allfiles,   $coursedom,\%allfiles,
  \%codebase);   \%codebase,$1);
           if ($upload_result eq 'phasetwo') {            if ($upload_result eq 'phasetwo') {
               $r->print($upload_output);                $r->print($upload_output);
           }            }

Removed from v.1.191  
changed lines
  Added in v.1.195


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