version 1.1, 2009/06/11 21:40:45 |
version 1.2, 2009/06/15 18:45:46 |
|
|
#!/usr/bin/perl |
#!/usr/bin/perl |
# $RedRiver$ |
# $RedRiver: keyring.cgi,v 1.1 2009/06/11 20:40:45 andrew Exp $ |
######################################################################## |
######################################################################## |
# keyring.cgi *** Update and modify keyring files |
# keyring.cgi *** Update and modify keyring files |
# |
# |
|
|
use Palm::Keyring; |
use Palm::Keyring; |
use Template; |
use Template; |
|
|
my $base_path = '/keyring'; |
my $base_path = '/users'; |
my $keyring_path = catdir($base_path, 'rings'); |
my $dir = $ENV{'PATH_INFO'} || '/'; |
my $dir = $ENV{'PATH_INFO'} || '/'; |
|
|
|
my $query = CGI->new(); |
my $query = CGI->new(); |
my $tt |
my $tt = Template->new( { INCLUDE_PATH => catdir('../templates') } ); |
= Template->new( { INCLUDE_PATH => catdir( $base_path, 'templates' ) } ); |
my $pjx = new CGI::Ajax( |
my $pjx = new CGI::Ajax( |
|
changeFile => \&change_file, |
changeFile => \&change_file, |
changeCategory => \&change_category, |
changeCategory => \&change_category, |
changeRecord => \&change_record, |
changeRecord => \&change_record, |
|
|
} |
} |
|
|
$file = canonpath($file) if $file; |
$file = canonpath($file) if $file; |
|
$dir = canonpath($dir) if $dir; |
|
|
if ( $file =~ /^ \Q$keyring_path\E /xms ) { |
if ( $dir =~ m{/\.\.//}xms ) { |
|
error('Invalid Dir [$dir]'); |
|
$dir = ''; |
|
} |
|
|
|
if ( $file =~ /^ \Q$base_path\E /xms ) { |
$dir = dirname($file); |
$dir = dirname($file); |
} |
} |
else { |
else { |
$dir = catdir( $keyring_path, $dir ); |
$dir = catdir( $base_path, $dir, 'rings' ); |
|
} |
|
|
files() if !$file; |
files() if !$file; |
|
|
if ( !$file ) { |
if ( !$file ) { |
error("no file in [$dir]!"); |
error("No Keyrings in [$dir]!"); |
} |
} |
|
|
if ( $dir && $file ) { |
if ( $dir && $file ) { |
if ( !-d $dir ) { |
$file = catfile( $dir, basename($file) ); |
error("Path [$dir] does not exist!"); |
error("Dir [$dir] does not exist!") if !-d $dir; |
} |
error("File [$file] does not exist!") if !-e $file; |
$file = catfile( $dir, basename($file) ); |
|
} |
|
} |
} |
|
|
print $pjx->build_html( $query, \&Show_HTML ); |
print $pjx->build_html( $query, \&Show_HTML ); |
|
|
#print $query->header(), Show_HTML(); |
#print $query->header(), Show_HTML(); |
|
|
sub Show_HTML { |
sub Show_HTML { |