){
if(//){
print temp "parent.addpbbsArray(\"$subject2\",$FORM{'time'},\"$realTime\",\"$name2\",$FORM{'thread'},\"message/$file_handle.html\",\"$FORM{'parent'}\",\"$file_handle\")\n\n";
}
else {
print temp $_;
}
}
&unlock(toINDEX);
close(toINDEX);
close(temp);
rename($TMP, $INDEX_FILE);
}
######################################################################
############################ Make .dat file ######################
######################################################################
sub makeMessage {
select(STDOUT);
$file_handle = getToken();
open(NEW,">> $STORAGE_DIR:$file_handle.html") || die "can't open $STORAGE_DIR/$file_handle.html\n";
select(NEW);
print <<"DONE";
$subject
Name: $name
Email: $email
Subject: $subject
Thread: $FORM{'thread'}
Time: $realTime
$body
DONE
close(NEW);
}
###############################################################################
############################ Get Token #######################################
sub getToken{
######
#lock
######
open(TOKEN,"$TOKEN_FILE") || die "can't open $STORDIR/$file_handle.html\n";
&lock(TOKEN);
while () {
$tokenReturn = "$_";
chop($tokenReturn);
}
close(TOKEN);
open(TOKEN,"> $TOKEN_FILE") || die "can't open $STORDIR/$file_handle.html\n";
$tokenNext = $tokenReturn + 1;
select(TOKEN);
print <<"DONE";
$tokenNext
DONE
&unlock(TOKEN);
close(TOKEN);
select(STDOUT);
return $tokenReturn;
#######
#unlock
#######
}
sub lock{
if ($flock_exists == 1){
local ($file_handle);
foreach $file_handle (@_){
flock($file_handle, 2);
}
}
}
sub unlock{
if ($flock_exists == 1){
local ($file_handle);
foreach $file_handle (@_){
flock($file_handle, 8);
}
}
}
###############################################################################
############################ Complete/Success ###############################
###############################################################################
sub success{
select(STDOUT);
open(EP,"$SUCCESS");
while(){
$tk = "$_";
$tk =~ s/\#\#\#\#HOME-LOCATION\#\#\#\#/$BBS_HOME/;
print "$tk";
}
close(EP);
exit;
}
###############################################################################
############################ Incomplete Error ###############################
###############################################################################
sub notcomplete {
select(STDOUT);
open(EP,"$ERROR");
while(){
print "$_";
}
close(EP);
exit;
}
###############################################################################
############################ Invalid char ###############################
###############################################################################
sub invalidchar {
select(STDOUT);
open(EP,"$ERROR_CHAR");
while(){
print "$_";
}
close(EP);
exit;
}