--- loncom/interface/londocs.pm 2005/06/13 20:23:53 1.189 +++ loncom/interface/londocs.pm 2005/06/27 21:40:38 1.192 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.189 2005/06/13 20:23:53 albertel Exp $ +# $Id: londocs.pm,v 1.192 2005/06/27 21:40:38 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1178,7 +1178,7 @@ sub process_file_upload { my ($upload_output,$coursenum,$coursedom,$allfiles,$codebase) = @_; # upload a file, if present my $parseaction; - if ($env{'form.parserflag'}) { + if ($env{'form.parserflag'}) { $parseaction = 'parse'; } my $phase_status; @@ -1212,7 +1212,9 @@ sub process_file_upload { # 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 $url=&Apache::lonnet::userfileupload('uploaddoc',1,$destination, + $parseaction,$allfiles, + $codebase); my $ext='false'; if ($url=~/^http\:\/\//) { $ext='true'; } $url=~s/\:/\:/g; @@ -1227,15 +1229,15 @@ sub process_file_upload { $Apache::lonratedt::resources[$newidx]= $comment.':'.$url.':'.$ext.':normal:res'; - $Apache::lonratedt::order[$#Apache::lonratedt::order+1]= - $newidx; - ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.'.$container); + $Apache::lonratedt::order[$#Apache::lonratedt::order+1]= $newidx; + ($errtext,$fatal)=&storemap($coursenum,$coursedom, + $folder.'.'.$container); if ($fatal) { $$upload_output .= '
'.$errtext.'
'; return 'failed'; } else { if ($parseaction eq 'parse') { - my $total_embedded = keys %{$allfiles}; + 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.'.$embed_file.
- '
- ';
+ '
+ ';
my $attrib;
if (@{$$allfiles{$embed_file}} > 1) {
$attrib = join(':',@{$$allfiles{$embed_file}});
@@ -1665,8 +1667,15 @@ sub verifycontent {
&mt('Return to DOCS').'');
}
+
# -------------------------------------------------------------- Check Versions
+sub devalidateversioncache {
+ my $src=shift;
+ &Apache::lonnet::devalidate_cache_new('courseresversion',$env{'request.course.id'}.'_'.
+ &Apache::lonnet::clutter($src));
+}
+
sub checkversions {
my $r=shift;
my $html=&Apache::lonxml::xmlbegin();
@@ -1693,6 +1702,7 @@ sub checkversions {
foreach (keys %hash) {
if ($_=~/^ids\_(\/res\/.+)$/) {
$newsetversions{$1}='mostrecent';
+ &devalidateversioncache($1);
}
}
} elsif ($env{'form.setcurrent'}) {
@@ -1702,6 +1712,7 @@ sub checkversions {
my $getvers=&Apache::lonnet::getversion($1);
if ($getvers>0) {
$newsetversions{$1}=$getvers;
+ &devalidateversioncache($1);
}
}
}
@@ -1712,6 +1723,7 @@ sub checkversions {
my $src=$1;
if (($env{$_}) && ($env{$_} ne $setversions{$src})) {
$newsetversions{$src}=$env{$_};
+ &devalidateversioncache($src);
}
}
}
@@ -2242,7 +2254,9 @@ ENDNEWSCRIPT
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);
+ $upload_result = &process_file_upload(\$upload_output,$coursenum,
+ $coursedom,\%allfiles,
+ \%codebase);
if ($upload_result eq 'phasetwo') {
$r->print($upload_output);
}
@@ -2308,8 +2322,7 @@ ENDNEWSCRIPT
my $saveresult;
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'};
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'};
- my $docuhome=$env{'course.'.$env{'request.course.id'}.'.home'};
- my $url = &Apache::lonnet::store_edited_file($primary_url,$content,$docudom,$docuname,$docuhome,\$saveresult);
+ 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);
}
@@ -2445,8 +2458,9 @@ $uploadtag
|