Diff for /loncom/lonenc.pm between versions 1.21 and 1.25

version 1.21, 2007/07/20 19:07:25 version 1.25, 2011/09/30 15:58:05
Line 34  use Crypt::IDEA; Line 34  use Crypt::IDEA;
 use Time::HiRes qw(gettimeofday);  use Time::HiRes qw(gettimeofday);
 use LONCAPA;  use LONCAPA;
     
   
   #
   #  If a module makes multiple SSI calls and some of the ssi calls result in a
   #  resource for an encoded URL, and this can be done in an unprivileged role,
   #  there must be a mechanism t oreset the 'request.enc' environment variable.
   #  This sub centralizes that mechanism:
   #
   sub reset_enc {
       $env{'request.enc'} = 0;
   }
   
 sub encryptseed {  sub encryptseed {
     my ($cid) = @_;      my ($cid) = @_;
     if (!defined($cid)) {      if (!defined($cid)) {
Line 151  sub encrypt_ref { Line 162  sub encrypt_ref {
     my $html;      my $html;
     if ($force_enc || $env{'request.enc'}) {      if ($force_enc || $env{'request.enc'}) {
  while (my ($name,$value)= each(%{ $elements })) {   while (my ($name,$value)= each(%{ $elements })) {
     if (!$value) { next; }      next if (!$value); 
       next if ($value =~ /^\w+:/); # explict javascript: or http: link
     my $href=&Apache::lonnet::hreflocation($Apache::lonxml::pwd[-1],$value);      my $href=&Apache::lonnet::hreflocation($Apache::lonxml::pwd[-1],$value);
     if ($href !~ /^http:/) {      if ($href !~ /^https?\:/) {
  # IE really wants an extension   # IE really wants an extension
  my ($extension) = ($href =~ m/(\.[^.]*)$/);   my ($extension) = ($href =~ m/(\.[^.]*)$/);
  $href = &Apache::lonenc::encrypted($href,$force_enc);   my $newhref = &Apache::lonenc::encrypted($href,$force_enc);
  $href .= $extension;   unless ($newhref eq $href) {
       $href = $newhref.$extension;
    }
     }      }
     $token->[2]->{$name}=$href;      $token->[2]->{$name}=$href;
  }   }

Removed from v.1.21  
changed lines
  Added in v.1.25


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