#! /usr/local/bin/perl
require './inc-base.cgi';
require './inc-expire.cgi';
require '../jcode.pl';
GetQuery();
Expire();
if($Q{admin} ne $MASTER_PASSWORD)
{
OutError('新規店舗登録権限がありません') if $NEW_SHOP_ADMIN;
OutError('あなたは現在登録制限されています') if $ENV{'REMOTE_ADDR'} eq $DTblockip && $NEW_SHOP_BLOCKIP;
}
checkMaxUser();
if($Q{sname}.$Q{name}.$Q{own}.$Q{sei}.$Q{pass1}.$Q{pass2})
{
$Q{name}=jcode'sjis($Q{name});
$Q{sname}=jcode'sjis($Q{sname});
$Q{own}=jcode'sjis($Q{own});
if(($Q{sname}.$Q{name}.$Q{own}.$Q{pass1}.$Q{pass2}) =~ /([,:;\t\r\n<>&])/
|| ($Q{pass1}.$Q{pass2}.$Q{name}) =~ /([^A-Za-z0-9_\-])/
|| $Q{name} eq 'soldoutadmin'
)
{
OutError('ID・店名・オーナー名・パスワードに使用できない'.
'文字が含まれています。');
}
if(!$Q{sname} || !$Q{name} || !$Q{own} || !$Q{sei} || !$Q{pass1} || !$Q{pass2})
{
OutError('ID・店名・オーナー名・性別・パスワードを入力してください。');
}
if($Q{pass1} ne $Q{pass2})
{
OutError('確認パスワードが違っています。');
}
if(length($Q{name})>12 || length($Q{sname})>40 || length($Q{own})>16
|| length($Q{pass1})>12 || length($Q{pass2})>12)
{
OutError('名前(12文字)・店名(20文字)・オーナー名(16文字)・パスワード(12文字)の文字数が多いです。');
}
Lock();
DataRead();
checkMaxUser();
OutError('既に存在するIDです。-> '.$Q{name}) if $name2pass{$Q{name}};
foreach $idx (0..$#DT)
{
OutError('既に存在する店名です。-> '.$Q{sname}) if $DT[$idx]->{shopname} eq $Q{sname};
}
$idx=$DTusercount;
$DTlasttime=time() if !$idx;
$DT[$idx]={};
$DT=$DT[$idx];
$DT->{status} =1;
$DT->{id} =$DTnextid;
$DT->{lastlogin} =time();
$DT->{name} =$Q{name};
$DT->{shopname} =$Q{sname};
$DT->{pass} =$PASSWORD_CRYPT ? crypt($Q{pass1},'mu') : $Q{pass1};
$DT->{money} =100000;
$DT->{time} =time()-12*60*60;
$DT->{rank} =5015;
$DT->{saleyestaday} =0;
$DT->{saletoday} =0;
$DT->{costtoday} =0;
$DT->{costyestaday} =0;
$DT->{paytoday} =0;
$DT->{payyestaday} =0;
$DT->{showcasecount}=1;
$DT->{itemyestaday} ={};
$DT->{itemtoday} ={};
$DT->{remoteaddr} =$ENV{'REMOTE_ADDR'};
$DT->{rankingyestaday}=$MAX_USER;
$DT->{own} =$Q{own};
$DT->{sei} =$Q{sei};
$DT->{rey} =0;
foreach $cnt (0..$DT->{showcasecount}-1)
{
$DT->{showcase}[$cnt]=0;
$DT->{price}[$cnt]=0;
}
foreach $cnt (0..$MAX_ITEM-1)
{
$DT->{item}[$cnt]=0;
}
$DTblockip=$DT->{remoteaddr};
WriteLog(1,0,0,$Q{sname}."が新装開店しました",1);
DataWrite();
UnLock();
@seibetu = ("男","女","\不\明");
OutHTML
(
'登録終了',
"ID:$Q{name}
店名:$Q{sname}
オーナー名:$Q{own}
性別:@seibetu[$Q{sei}-1]
パスワード:$Q{pass1}
".
"上記にて登録しました。
".
"それでは、お楽しみ下さい。
".
"初めての方は、メニューの「経営入門」を一通りご覧下さい。
".
"ゲームスタート
".
"※携帯端末の場合、上記リンクに移動後、ブックマークしておくとパスワード入力の手間が省けます。".
"ただし、ブックマークにパスワード情報が記録されますので、注意してください。"
);
exit;
}
$disp.=<<"HTML";