#┌─────────────────────────────────
#│ JOYFUL NOTE v1.8 (2004/01/21)
#│ Copyright (c) KentWeb
#│ webmaster@kent-web.com
#│ http://www.kent-web.com/
#└─────────────────────────────────
#┌─────────────────────────────────
#│Powered by Kent Lab
#|[KentLab:KL00040]
#│http://kent-Lab.com/
#└─────────────────────────────────
# ライブラリ取り込み
require './mimew.pl';
require './jcode.pl';
# タイトル
$title = "農機売買MM";
# タイトルサイズ
$t_size = '22px';
# タイトルの色
$t_color = "#BB0000";
# タイトル画像を使う場合
$t_gif = "";
# タイトル画像のサイズ
$t_gif_w = 185; # 横サイズ
$t_gif_h = 32; # 縦サイズ
# スクリプト
# → 必ず http://から記述してください
#$magascript = 'http://nao.cside.jp/~kentlab/joyful/joyful.cgi';
$magascript = 'http://kikaiya.agrijp.com/joyful/agrim.cgi';
# 本文文字サイズ
$b_size = '13px';
# fork関数の使用 (0=no 1=yes)
# → メール配信の終了を待たずに書込を完了(大量配信に便利)
# → 使用できないプロバイダ(サーバ)があるため確認必要
$fork = 1;
# 管理者メールアドレス
$master = 'mail@agrijp.com';
# ブラウザのキャッシュ取込を拒否 (0=no 1=yes)
$nocashe = 0;
# 色 (1) : 題名部の下地の色
$color1 = "#5E5E5E";
# 色 (2) : 題名部の ■ の色
$color2 = "#FFFF00";
# 色 (3) : 題名部の文字色
$color3 = "#FFFFFF";
# bodyタグ
$body = '
';
# サブメッセージ
$sub_message = <<'EOM';
- メール登録をすると新着投稿を自動通知します。
- メールアドレスの登録/解除は自由です。
EOM
#--------------------------#
# メール登録・解除画面 #
#--------------------------#
sub member {
local($no)=0;
open(IN,"$memfile") || &error("Open Error : $memfile");
++$no while ();
close(IN);
&header;
if ($bg) {
print "\n";
} else {
print "\n";
}
print <<"HTML";
[戻る]
講読の登録・解除・変更
▼新着投稿メールマガジンの「登録」
HTML
# 登録件数をチェック
if ($no >= $mem_max) {
print "- 現在メールアドレスの登録はできません -\n";
} else {
print "\n";
print "
\n";
print "
\n";
print "
カテゴリ(複数選択可)\n";
print "\n";
print "
\n";
open(IN,"$catedat1") || &error("Open Error : $catedat1");
@buf = ;
close(IN);
$ccnt=0;
foreach $citem (@buf) {
$citem =~ s/\r\n//;
if ($citem eq "選択") { $ccnt++; next; }
if (($ccnt!=0)and(($ccnt % 8)==0)) { print "
\n"; }
print "$citem\n";
$ccnt++;
}
print " |
\n";
print "\n";
print "
メールアドレス(半角):
\n";
print "\n";
print "\n";
}
print <<"EOM";
▼新着投稿メールマガジンの「解除」
*1 : 登録したアドレスを「変更」する場合は、一旦「解除」した後、新規に「登録」して下さい。
*2 : セキュリティ上、同一ホストからの連続登録はできません。
EOM
exit;
}
#----------------#
# メール仮登録 #
#----------------#
sub join_in {
$headflag=0;
if ($in{'email'} =~ /\,/) {
&error("メールアドレスにコンマが含まれています");
}
if ($in{'email'} !~ /[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,5}$/) {
&error("メールアドレスの入力が不正です");
}
# 小文字に統一
$in{'email'} =~ tr/[A-Z]/[a-z]/;
# ホスト名を取得
&get_host;
# ロック開始
&lock if ($lockkey);
# 地区・カテゴリ編集
local($cat)="";
@mct = split(/\0/,$in{'cate'});
foreach $ct (@mct){
$cat = "$cat$ct
";
}
local($chik)="";
@mck = split(/\0/,$in{'chiku'});
foreach $ck (@mck){
$chik = "$chik$ck
";
}
# 本会員ファイルを読み込み
$i=0;
$flag=0;
open(IN,"$memfile") || &error("Open Error : $memfile");
while () {
$i++;
if ($i >= $mem_max) { $flag=1; last; }
($num,$date,$email,$cate2,$chiku2,$host2) = split(/<>/);
if ($in{'email'} eq $email) { $flag=2; last; }
}
close(IN);
# チェック
if ($flag == 1) { &error("現在登録受付を中止しています"); }
elsif ($flag == 2) { &error("ご指定のメールアドレスは既に本登録済です"); }
# if ($host eq $host2) { &error("同一ホストからの連続登録はできません"); }
# 仮登録
$time = time;
$flag=0;
@new=();
open(IN,"$memtemp") || &error("Open Error : $memtemp");
while () {
($id,$email,$time2,$cate2,$chiku2,$host2) = split(/<>/);
if ($time - $time2 > 5*24*3600) { next; }
push(@new,$_);
}
close(IN);
# if ($host eq $host2) { &error("同一ホストからの連続投稿はできません"); }
if ($in{'email'} eq $email) { &error("このメールアドレスは既に仮登録済です"); }
# ID発行
@char = ('A'..'Z', 'a'..'z', '0'..'9');
srand;
foreach (1 .. 10) {
$newid .= $char[int(rand(@char))];
}
# 更新
push(@new,"$newid<>$in{'email'}<>$time<>$cat<>$chik<>$host<>\n");
open(OUT,">$memtemp") || &error("Write Error : $memtemp");
print OUT @new;
close(OUT);
&get_time;
# メール本文
$mail_body = <<"EOM";
ありがとうございます。
本日「$title」へ以下のメールアドレスの仮登録がありました。
───────────────────────────────────
・登録日時:$Date
・ホスト名:$host
・ブラウザ:$ENV{'HTTP_USER_AGENT'}
・メールアドレス:$in{'email'}
・このメールアドレスに間違いがなければ以下のアドレスへアクセス
をして下さい。このメールアドレスは本登録されます。
$magascript?mmb=$newid
・もしこのメールにお心当たりのない場合には、このメールは第三者の
誤登録である可能\性がありますので、このまま破棄してくださるよう
お願いいたします。
・仮登録後5日を経過しても本登録へのアクセスがない場合には、今回の
仮登録は自動的に無効となります。
EOM
# open(IN,"$m_foot");
# while () {
# s/\r\n|\r/\n/g;
# $sig .= $_;
# }
# close(IN);
# $mail_body .= "\n$sig";
$sub = &mimeencode("$title(仮登録)");
&jcode'convert(*mail_body,'jis');
&SendMail($master, $in{'email'}, $sub, $mail_body);
# ロック解除
&unlock if ($lockkey);
# 完了メッセージ
if ($type eq 'p') {
&header;
print "\n";
print "
\n";
print "
仮登録が完了しました
\n";
print "仮登録されたアドレス:
$in{'email'}\n";
print "
\n";
print "
\n";
print "
\n";
print "\n";
print "\n";
}else{
$size=0;
&data("\n");
&data("
\n");
&data("
仮登録が完了しました
\n");
&data("仮登録されたアドレス:
$in{'email'}\n");
&data("
\n");
&data("
\n");
&data("
\n");
&data("\n");
&data("