Digest-UserSID
view release on metacpan or search on metacpan
return 0;
} else {
return 1;
}
} else {
return 0;
}
} else {
return 0;
}
}
##############################################################################
sub USID_update {
my $name = shift;
my $sha = shift;
my $file = shift || $UserSID::FILE;
my $maxseconds = shift || $UserSID::MAXSECONDS;
if ((not $name) || (not $sha)) {
return 0;
}
if (not %UserSID::DATA) {
&LoadSIDData($file);
}
if ($UserSID::DATA{$name}) {
my ($checksha, $checktime) = split(/\t/,$UserSID::DATA{$name},2);
if ($checksha eq $sha) {
$checktime = time;
$UserSID::DATA{$name} = "$checksha\t$checktime";
return &SaveSIDData($file);
} else {
return 0;
}
} else {
return 0;
}
}
##############################################################################
sub read {
my $sid = shift;
my $user = shift;
my $file = shift || $UserSID::FILE;
if ((not $sid) || (not $user)) {
return 0;
}
if (not %UserSID::DATA) {
&LoadSIDData($file);
}
if ($UserSID::DATA{$user}) {
my ($checksha, $checktime) = split(/\t/,$UserSID::DATA{$user},2);
$sid->{'sha'} = $checksha;
$sid->{'time'} = $checktime;
$sid->{'user'} = $user;
return 1;
} else {
return 0;
}
}
##############################################################################
sub update {
my $sid = shift;
my $file = shift || $UserSID::FILE;
if ((not $sid) || (not $sid->{'user'})) {
return 0;
}
$sid->{'time'} = time;
return &AddNewSID($sid);
}
##############################################################################
sub remove {
my $sid = shift;
my $file = shift || $UserSID::FILE;
my $key;
if ((not $sid) || (not $sid->{'user'})) {
return 0;
}
if (not %UserSID::DATA) {
&LoadSIDData($file);
}
delete $UserSID::DATA{$sid->{'user'}};
return &SaveSIDData($file);
}
##############################################################################
sub create {
my $sid = shift;
my $user = shift;
my $string = shift || localtime;
my $digest = shift || $UserSID::digest;
if ((not $sid) || (not $user)) {
return;
}
$sid->{'user'} = $user;
$sid->{'time'} = time;
$sid->{'sha'} = &CreateKey($string,$digest);
return &AddNewSID($sid);
}
##############################################################################
sub new {
my $that = shift;
my $file = shift || $UserSID::FILE;
my $class = ref($that) || $that;
my $self = { };
if (($file ne $UserSID::FILE) || (not %UserSID::DATA)) {
&LoadSIDData($file);
}
bless $self, $class;
return $self;
}
##############################################################################
# Privat Subroutines
( run in 2.214 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )