# ------------------------- #
# Sub Open In User Data
# ユーザーデータの読みこみ
# ------------------------- #
sub openinuserdata {
if ($lockkey == 1) { &lock; }
open(IN,"$userdata") || &error("Can't open $userdata");
@lines = <IN>;
close(IN);
&unlock;
foreach $line (@lines) {
($name,$pass,$gdate,$love) = split(/<>/,$line);
if ($_[0] eq 'checkname') {
if ($FORM{'name'} eq $name) {
$flag = 1; # データの中にユーザーを確認
if ($FORM{'pass'} ne $pass)
{ &error("パスワードが間違っています"); }
last;
}
}
if ($_[0] eq 'action') {
if ($FORM{'name'} eq $name) {
$gdate = time;
push(@new,"$FORM{'name'}<>$FORM{'pass'}<>$gdate<>$newlove<>\n");
} else {
if ($gdate >= $goodbye) { push(@new,$line); }
}
}
if ($_[0] eq 'ownerlist') {
if ($love >= $loved) {
@lovelist[$lovenum] = "$name";
$lovenum++;
if ($bestlove < $love)
{ $bestowner = "$name"; $bestlove = $love; }
} elsif ($love <= $disliked) {
@hatelist[$hatenum] = "$name";
$hatenum++;
} else {
@otherlist[$othernum] = "$name";
$othernum++;
}
}
}
if ($_[0] eq 'action') {
foreach $line (@new) {
($name,$pass) = split(/<>/,$line);
$newflg = 0;
foreach $line1 (@new1) {
($name1,$pass1) = split(/<>/,$line1);
if ($name eq $name1) {
$newflg = 1;
}
}
if ($newflg == 0) {
push(@new1,$line);
}
}
@new = @new1;
}
# 改造してある人は、
# この辺りに
# 何か追記されています。
}
# ------------------------- #
# Sub Open Out User Data
# ユーザーデータの書きこみ
|