--- loncom/interface/londocs.pm 2004/05/06 20:34:06 1.125 +++ loncom/interface/londocs.pm 2004/07/01 21:54:24 1.132 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.125 2004/05/06 20:34:06 www Exp $ +# $Id: londocs.pm,v 1.132 2004/07/01 21:54:24 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -121,7 +121,8 @@ sub dumpbutton { if ($home) { return ''. ''; + &mt('Dump Course DOCS to Construction Space').'" />'. + &Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs'); } else { return''. &mt('Dump Course DOCS to Construction Space: available on other servers'); @@ -156,7 +157,7 @@ sub dumpcourse { $crs=~s/\_/\//g; foreach (keys %replacehash) { my $newfilename=$title.'/'.$replacehash{$_}; - $newfilename=~s/[^\w\/\.]+/\_/g; + $newfilename=~s/[^\w\/\.\/]+/\_/g; my @dirs=split(/\//,$newfilename); my $path='/home/'.$ca.'/public_html'; my $makepath=$path; @@ -223,7 +224,7 @@ sub dumpcourse { $title=$_; } $title=~s/\.(\w+)$//; - $title=~s/\W+/\_/gs; + $title=~s/[^\w\/]+/\_/gs; $title.='.'.$ext; $r->print("\n\n"); } @@ -371,7 +372,7 @@ sub editor { if ( ($folder=~/^$1/) || ($1 eq 'default') ) { # 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 $url=&Apache::lonnet::userfileupload('uploaddoc',1); + my $url=&Apache::lonnet::userfileupload('uploaddoc',1,'docs'); my $ext='false'; if ($url=~/^http\:\/\//) { $ext='true'; } $url=~s/\:/\:/g; @@ -399,6 +400,10 @@ sub editor { if ($ENV{'form.cmd'}) { my ($cmd,$idx)=split(/\_/,$ENV{'form.cmd'}); if ($cmd eq 'del') { + my (undef,$url)=split(':',$Apache::lonratedt::resources[$Apache::lonratedt::order[$idx]]); + if ($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) { + &Apache::lonnet::removeuploadedurl($url); + } for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) { $Apache::lonratedt::order[$i]= $Apache::lonratedt::order[$i+1]; @@ -489,6 +494,9 @@ sub editor { $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum)); $idx++; } + unless ($idx) { + $r->print(''.&mt('Currently no documents.').''); + } $r->print(''); } } @@ -585,6 +593,17 @@ END &Apache::lonnet::declutter($url)); (undef,undef,$url)=&Apache::lonnet::decode_symb($symb); $url=&Apache::lonnet::clutter($url); + if ($url=~/^\/*uploaded\//) { + $url=~/\.(\w+)$/; + my $embstyle=&Apache::loncommon::fileembstyle($1); + if (($embstyle eq 'img') || ($embstyle eq 'emb')) { + $url='/adm/wrapper'.$url; + } elsif ($embstyle eq 'ssi') { + #do nothing with these + } elsif ($url!~/\.(sequence|page)$/) { + $url='/adm/coursedocs/showdoc'.$url; + } + } $url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb); } my $parameterset=' '; @@ -1008,7 +1027,8 @@ sub handler { 'Adding_External_Resource','Navigate_Content', 'Adding_Folders','Docs_Overview', 'Load_Map', 'Supplemental', 'Score_Upload_Form', - 'Importing_LON-CAPA_Resource','Uploading_From_Harddrive') { + 'Importing_LON-CAPA_Resource','Uploading_From_Harddrive', + 'Check_Resource_Versions','Verify_Content') { $help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_); } # Composite help files @@ -1048,7 +1068,7 @@ sub handler { $ENV{'form.folder'}=pop(@folderpath); } if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { - $showdoc=$1; + $showdoc='/'.$1; } unless ($showdoc) { # got called from remote $forcestandard=($ENV{'form.folder'}=~/^default_/); @@ -1261,9 +1281,9 @@ ENDNEWSCRIPT
- +$help{'Verify_Content'} - + $help{'Check_Resource_Versions'} $dumpbut
@@ -1310,8 +1330,8 @@ $lt{'title'}:
- + $help{'Uploading_From_Harddrive'}