
#●
#---------------------------------------------------------------------------------------
# 名称     | Delete_Message
# Version  | 1.20
# 処理名   | 削除処理
# 動作内容 | 投稿されたデータを削除する(管理者のみ削除可能)
# 引数     | なし
# 戻り値   | なし
#
sub Delete_Message {

	if (!@DELETE) { return; } # １つもチェックされていなければ処理しない

	foreach $message (@messages) { # 記事の存在とパスワードを処理するための準備

		($number,$pwd,$i) = split(/\t/,$message,3);
		$check_pwd{$number} = $pwd; # 番号をキー、値をパスワードにした連想配列%check_pwdを用意
	}

	($admin) = &CheckAdmin($in{'PASSWD'}); # 管理者パスワードかどうか？

	if ($admin) { # 管理者パスワードの場合は簡易チェックのみ

		foreach $number (@DELETE) {

			$number =~ s/\n//; # 改行コードを削除

			if ($check_pwd{$number} eq '') { push(@ERR,"$number(N)"); } # 存在しない記事番号
			elsif ($deleted{$number}) { push(@ERR,"$number(D)"); } # 削除済み
			else {
				$deleted{$number} = 1; # 削除指定記事とする
				push(@DELETE_OK,"$number\n"); # 削除する記事番号
			}
		}
	}
	else { &Error("エラー","この掲示板は管理者だけが削除できます."); }

	if (!open(OUT,">> $delete_file")) { &Error('エラー','削除管理ファイルが見つからないか、記録できません.'); } # 追加書込モードで記録する
	print OUT @DELETE_OK;
	close(OUT);

	undef %check_pwd; # メモリ開放

}#End_of_Delete_Message
