[BACK]Return to keyring.cgi CVS log [TXT][DIR] Up to [local] / palm / Palm-Keyring / examples / cgi / bin

Diff for /palm/Palm-Keyring/examples/cgi/bin/keyring.cgi between version 1.4 and 1.5

version 1.4, 2009/07/16 21:08:45 version 1.5, 2010/01/19 18:01:23
Line 1 
Line 1 
 #!/usr/bin/perl  #!/usr/bin/perl
 # $RedRiver: keyring.cgi,v 1.3 2009/06/16 01:39:09 andrew Exp $  # $RedRiver: keyring.cgi,v 1.4 2009/07/16 20:08:45 andrew Exp $
 ########################################################################  ########################################################################
 # keyring.cgi *** Update and modify keyring files  # keyring.cgi *** Update and modify keyring files
 #  #
Line 13 
Line 13 
 use strict;  use strict;
 use warnings;  use warnings;
   
 use Data::Dumper;  
   
 use feature 'state';  use feature 'state';
   
 use CGI;  use CGI;
Line 25 
Line 23 
 use Palm::Keyring;  use Palm::Keyring;
 use Template;  use Template;
   
 my $base_path = '/users';  my @path = '/users';
 my $dir = $ENV{'PATH_INFO'} || '/';  if ($ENV{'PATH_INFO'} && $ENV{'PATH_INFO'} ne '/') {
       push @path, $ENV{'PATH_INFO'};
   }
   elsif ( $ENV{'REMOTE_USER'} ) {
       push @path, $ENV{'REMOTE_USER'};
       # This is the users subdir;
       push @path, 'rings';
   }
   my $dir = catdir( @path );
   
 my $query = CGI->new();  my $query = CGI->new();
 my $tt    = Template->new( { INCLUDE_PATH => catdir('../templates') } );  my $tt    = Template->new( { INCLUDE_PATH => catdir('../templates') } );
Line 49 
Line 55 
 }  }
   
 $file = canonpath($file) if $file;  $file = canonpath($file) if $file;
 $dir  = canonpath($dir)  if $dir;  if ( $file =~ /^ \Q$path[0]\E /xms ) {
       $dir = dirname($file);
   }
   
   $dir = canonpath($dir) if $dir;
 if ( $dir =~ m{/\.\.//}xms ) {  if ( $dir =~ m{/\.\.//}xms ) {
     error('Invalid Dir [$dir]');      error('Invalid Dir [$dir]');
     $dir = '';      $dir = '';
 }  }
   
 if ( $file =~ /^ \Q$base_path\E /xms ) {  
     $dir = dirname($file);  
 }  
 else {  
     $dir = catdir( $base_path, $dir, 'rings' );  
 }  
   
 files() if !$file;  files() if !$file;
   
 if ( !$file ) {  if ( !$file ) {
Line 252 
Line 254 
                 my $d = $acct{$label}{data};                  my $d = $acct{$label}{data};
                 $acct{$label}{data} = sprintf "%04d/%02d/%02d",                  $acct{$label}{data} = sprintf "%04d/%02d/%02d",
                     $d->{year} + 1900,                      $d->{year} + 1900,
                     $d->{month},                      $d->{month} + 1,
                     $d->{day};                      $d->{day};
             }              }
   
Line 279 
Line 281 
         }          }
   
         $output          $output
             .= $label . ': '              .= $label . ': ' .
             . $query->$type(              #$acct{$key}{data} .
               $query->$type(
             -name     => 'acct_' . $key,              -name     => 'acct_' . $key,
             -value    => $acct{$key}{data},              -value    => $acct{$key}{data},
             -override => 1,              -override => 1,
             ) . $query->br;              ) .
               $query->br;
     }      }
   
     return $output;      return $output;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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