Diff for /rat/lonratsrv.pm between versions 1.18 and 1.23

version 1.18, 2002/06/24 14:05:51 version 1.23, 2002/09/05 19:37:00
Line 69  sub qtunescape { Line 69  sub qtunescape {
 sub loadmap {  sub loadmap {
     my ($fn,$errtext)=@_;      my ($fn,$errtext)=@_;
     my $outstr='';      my $outstr='';
     my @content=();  
     my @obj=();      my @obj=();
     my @links=();      my @links=();
     if (-e $fn) {      my $instr='';
       if ($fn=~/^\/*uploaded\//) {
           $instr=&Apache::lonnet::getfile($fn);
       } elsif (-e $fn) {
           my @content=();
         {          {
     my $fh=Apache::File->new($fn);      my $fh=Apache::File->new($fn);
             @content=<$fh>;              @content=<$fh>;
         }          }
         my $instr=join('',@content);          $instr=join('',@content);
       }
       if ($instr) {
         my $parser = HTML::TokeParser->new(\$instr);          my $parser = HTML::TokeParser->new(\$instr);
         my $token;          my $token;
         my $graphmode=0;          my $graphmode=0;
Line 200  sub savemap { Line 205  sub savemap {
     my ($fn,$errtext)=@_;      my ($fn,$errtext)=@_;
     my %alltypes;      my %alltypes;
     my %allvalues;      my %allvalues;
     if (($fn=~/\.sequence$/) ||      if (($fn=~/\.sequence(\.tmp)*$/) ||
         ($fn=~/\.page$/)) {          ($fn=~/\.page(\.tmp)*$/)) {
   
 # ------------------------------------------------------------- Deal with input  # ------------------------------------------------------------- Deal with input
         my @tags=split(/<&>/,$ENV{'form.output'});          my @tags=split(/<&>/,$ENV{'form.output'});
Line 213  sub savemap { Line 218  sub savemap {
         } else {          } else {
             $outstr="<map>\n";              $outstr="<map>\n";
         }          }
         map {          foreach (@tags) {
    my @parts=split(/<:>/,$_);     my @parts=split(/<:>/,$_);
            if ($parts[0] eq 'objcont') {             if ($parts[0] eq 'objcont') {
                my @comp=split(/:/,$parts[$#parts]);                 my @comp=split(/:/,$parts[$#parts]);
Line 284  sub savemap { Line 289  sub savemap {
                $outstr.=' value="'.qtescape($parts[$#parts]).'"></'.                 $outstr.=' value="'.qtescape($parts[$#parts]).'"></'.
                         $parts[0].">\n";                          $parts[0].">\n";
            }             }
         } @tags;          }
         $outstr.="</map>\n";          $outstr.="</map>\n";
         {   if ($fn=~/^\/*uploaded\/(\w+)\/(\w+)\//) {
       $ENV{'form.output'}=$outstr;
               my $home=&Apache::lonnet::homeserver($2,$1);
               &Apache::lonnet::finishuserfileupload(
                 $2,$1,$home,
                 'output',(split(/\//,$fn))[-1]);
           } else {
           my $fh;            my $fh;
           if ($fh=Apache::File->new(">$fn")) {            if ($fh=Apache::File->new(">$fn")) {
              print $fh $outstr;               print $fh $outstr;
Line 318  sub handler { Line 329  sub handler {
   $url=~s/\/loadonly\/ratserver$/\/save\/ratserver/;    $url=~s/\/loadonly\/ratserver$/\/save\/ratserver/;
       
   my $fn=$r->filename;    my $fn=$r->filename;
     my $lonDocRoot=$r->dir_config('lonDocRoot');
     if ( $fn =~ /$lonDocRoot/ ) {
         #internal authentication, needs fixup.
         $fn = $url;
         $fn=~s|^/~(\w+)|/home/$1/public_html|;
         $fn=~s|/[^/]*/ratserver$||;
     }
   my $errtext='';    my $errtext='';
   my $outtext='';    my $outtext='';
   

Removed from v.1.18  
changed lines
  Added in v.1.23


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