--- loncom/lonnet/perl/lonnet.pm 2002/08/09 19:49:30 1.266 +++ loncom/lonnet/perl/lonnet.pm 2002/08/17 18:58:28 1.269 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.266 2002/08/09 19:49:30 albertel Exp $ +# $Id: lonnet.pm,v 1.269 2002/08/17 18:58:28 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1114,7 +1114,7 @@ sub str2hashref { } } else { $string =~ s/^(.*?)=//; - $key=$1 + $key=&unescape($1); } $string =~ s/^=//; @@ -3082,13 +3082,24 @@ sub receipt { # ------------------------------------------------------------ Serves up a file # returns either the contents of the file or a -1 sub getfile { - my $file=shift; + my $file=shift; + if ($file=~/^\/*uploaded\//) { # user file + my $ua=new LWP::UserAgent; + my $request=new HTTP::Request('GET',&tokenwrapper($file)); + my $response=$ua->request($request); + if ($response->is_success()) { + return $response->content; + } else { + return -1; + } + } else { # normal file from res space &repcopy($file); if (! -e $file ) { return -1; }; my $fh=Apache::File->new($file); my $a=''; while (<$fh>) { $a .=$_; } - return $a + return $a; + } } sub filelocation { @@ -3135,6 +3146,14 @@ sub declutter { return $thisfn; } +# ------------------------------------------------------------- Clutter up URLs + +sub clutter { + my $thisfn='/'.&declutter(shift); + unless ($thisfn=~/^\/(uploaded|adm)\//) { $thisfn='/res'.$thisfn; } + return $thisfn; +} + # -------------------------------------------------------- Escape Special Chars sub escape {