Diff for /rat/lonuserstate.pm between versions 1.62 and 1.72

version 1.62, 2003/10/22 16:52:14 version 1.72, 2004/04/05 18:25:08
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # (Server for RAT Maps  
 #  
 # (Edit Handler for RAT Maps  
 # (TeX Content Handler  
 #  
 # YEAR=2000  
 # 05/29/00,05/30 Gerd Kortemeyer)  
 # 7/1 Gerd Kortemeyer)  
 # 7/1,7/3,7/4,7/7,7/8,7/10 Gerd Kortemeyer)  
 #  
 # 7/15,7/17,7/18,8/1,8/2,8/4,8/5,8/21,8/22,8/23,8/30,  
 # 9/2,9/4,9/29,9/30,10/2,10/11,10/30,10/31,  
 # 11/1,11/2,11/14,11/16,11/22,12/28,  
 # YEAR=2001  
 # 07/05/01,08/30,08/31 Gerd Kortemeyer  
 #  
 ###  ###
   
 package Apache::lonuserstate;  package Apache::lonuserstate;
Line 89  sub putinversion { Line 73  sub putinversion {
     my $uri=shift;      my $uri=shift;
     if ($hash{'version_'.$uri}) {      if ($hash{'version_'.$uri}) {
  my $version=$hash{'version_'.$uri};   my $version=$hash{'version_'.$uri};
  if ($version eq 'current') { return $uri; }   if ($version eq 'mostrecent') { return $uri; }
    if ($version eq &Apache::lonnet::getversion(
    &Apache::lonnet::filelocation('',$uri))) 
                { return $uri; }
  $uri=~s/\.(\w+)$/\.$version\.$1/;   $uri=~s/\.(\w+)$/\.$version\.$1/;
     }      }
     return $uri;      return $uri;
Line 98  sub putinversion { Line 85  sub putinversion {
 # ----------------------------------------- Processing versions file for course  # ----------------------------------------- Processing versions file for course
   
 sub processversionfile {  sub processversionfile {
     my %cenv=shift;      my %cenv=@_;
     my %versions=&Apache::lonnet::dump('resourceversions',      my %versions=&Apache::lonnet::dump('resourceversions',
        $cenv{'domain'},         $cenv{'domain'},
        $cenv{'num'});         $cenv{'num'});
Line 161  sub loadmap { Line 148  sub loadmap {
  }   }
     }      }
     &Apache::lonnet::do_cache(\%Apache::lonnet::titlecache,      &Apache::lonnet::do_cache(\%Apache::lonnet::titlecache,
        &Apache::lonnet::symbclean(         &Apache::lonnet::encode_symb($uri,$token->[2]->{'id'},
                         &Apache::lonnet::declutter($uri).'___'.      $turi),
                         $token->[2]->{'id'}.'___'.        $token->[2]->{'title'},'title');
         &Apache::lonnet::declutter($turi)),  
       $token->[2]->{'title'});  
                     unless ($ispage) {                      unless ($ispage) {
                         $turi=~/\.(\w+)$/;                          $turi=~/\.(\w+)$/;
                         my $embstyle=&Apache::loncommon::fileembstyle($1);                          my $embstyle=&Apache::loncommon::fileembstyle($1);
Line 174  sub loadmap { Line 159  sub loadmap {
                         } elsif ($turi=~/^\/*uploaded\//) { # uploaded                          } elsif ($turi=~/^\/*uploaded\//) { # uploaded
     if (($embstyle eq 'img') || ($embstyle eq 'emb')      if (($embstyle eq 'img') || ($embstyle eq 'emb')
                              || ($embstyle eq 'ssi')) {                               || ($embstyle eq 'ssi')) {
                                 $turi='/adm/wrapper'.$turi;                                  unless ($turi =~/\.page$/) {
                                       $turi='/adm/wrapper'.$turi;
                                   }
                             } elsif ($turi!~/\.(sequence|page)$/) {                              } elsif ($turi!~/\.(sequence|page)$/) {
  $turi='/adm/coursedocs/showdoc'.$turi;   $turi='/adm/coursedocs/showdoc'.$turi;
                             }                              }
                         } else { # normal internal resource                          } elsif ($turi=~/\S/) { # normal non-empty internal resource
                            if (($embstyle eq 'img') || ($embstyle eq 'emb')) {      my $mapdir=$uri;
        $turi='/adm/wrapper'.$turi;      $mapdir=~s/[^\/]+$//;
                            }      $turi=&Apache::lonnet::hreflocation($mapdir,$turi);
       if (($embstyle eq 'img') || ($embstyle eq 'emb')) {
    $turi='/adm/wrapper'.$turi;
       }
                         }                          }
     }      }
   # Store reverse lookup, remove query string
                     if (defined($hash{'ids_'.$turi})) {      my $idsuri=$turi;
                         $hash{'ids_'.$turi}.=','.$rid;      $idsuri=~s/\?.+$//;
                       if (defined($hash{'ids_'.$idsuri})) {
                           $hash{'ids_'.$idsuri}.=','.$rid;
                     } else {                      } else {
                         $hash{'ids_'.$turi}=''.$rid;                          $hash{'ids_'.$idsuri}=''.$rid;
                     }                      }
                                 
                     if                      if
Line 267  sub loadmap { Line 259  sub loadmap {
 # ------------------------------------------------------------------- Parameter  # ------------------------------------------------------------------- Parameter
   
                     my $referid=$lpc.'.'.$token->[2]->{'to'};                      my $referid=$lpc.'.'.$token->[2]->{'to'};
                     my $part=$token->[2]->{'part'};      my $name=$token->[2]->{'name'};
                     unless ($part) { $part=0; }      my $part;
       if ($name=~/^parameter_(.*)_/) {
    $part=$1;
       } else {
    $part=0;
       }
       $name=~s/^.*_([^_]*)$/$1/;
                     my $newparam=                      my $newparam=
  &Apache::lonnet::escape($token->[2]->{'type'}).':'.   &Apache::lonnet::escape($token->[2]->{'type'}).':'.
  &Apache::lonnet::escape($part.'.'.   &Apache::lonnet::escape($part.'.'.$name).'='.
                          $token->[2]->{'name'}).'='.  
  &Apache::lonnet::escape($token->[2]->{'value'});   &Apache::lonnet::escape($token->[2]->{'value'});
                     if (defined($hash{'param_'.$referid})) {                      if (defined($hash{'param_'.$referid})) {
                         $hash{'param_'.$referid}.='&'.$newparam;                          $hash{'param_'.$referid}.='&'.$newparam;

Removed from v.1.62  
changed lines
  Added in v.1.72


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