print GetMenuTag('auction', '[オークション]');周辺のコード
print GetMenuTag('shop-master', '[市場]'); print GetMenuTag('log', '[最近の出来事]'); print GetMenuTag('ranking', '[ランキング]'); print GetMenuTag('commentlist', '[コメント一覧]'); print GetMenuTag('guild', '[ギルド]'); print GetMenuTag('auction', '[オークション]');←記述位置 print GetMenuTag('trade', '[貿易]') if $TRADE_ENABLE; print GetMenuTag('move-town', '[近くの街]') if $MOVETOWN_ENABLE; print GetMenuTag('custom', "[$CUSTOM_TITLE]") if $USE_CUSTOM; print '<HR SIZE=1>';
#オークション追加設定 $AUCTION_FILE='auction'; #データファイル名 $AUCTION_START_TIME=1800; #出品に必要な時間(秒) $AUCTION_RECEIVE_TIME=1800; #受け取りに必要な時間(秒) $AUCTION_MAXCOUNT=50; #同時に実施できるオークションの数。(ログも含む) $AUCTION_USER_MAXCOUNT=5; #一人で同時に実施できるオークションの数。(ログも含む) $AUCTION_EXIT_TIME=172800; #オークション終了後、出品者が落札を取り消して回収できるようになるまでの時間(秒) $AUCTION_ABORT_TIME=345600; #オークション終了後、落札者、出品者ともに処理しなかった場合に出品者に強制返還されるまでの時間(秒) $AUCTION_RECALL_TIME=172800; #オークション終了後、買い手が付かなかった場合の出品者に強制返還されるまでの時間(秒) $AUCTION_LOG_SAVETIME=172800; #オークション終了後、ログとして残される時間(秒) @AUCTION_NG_ITEMNO=(); #出品禁止の商品の固有IDを指定。(1,2,3)のように記述 push(@BACKUP_FILES,($AUCTION_FILE)); #バックアップ設定周辺のコード
定められた場所はありません
0
0
$DATA_DIR.'/'.$AUCTION_FILE.$FILE_EXT
(.は連結です)
$DATA_DIR ='./data'; # データ保存用ディレクトリ(777)
$AUCTION_FILE='auction'; #データファイル名←(2)で記述したもの
$FILE_EXT ='.cgi'; # 各種データファイルの拡張子
./data/auction.cgi
sub AuctionRead{周辺のコード
} $disp.="$TBE<br>"; } } sub AuctionRead{←切り離し開始位置 @AUCTIONDATA_LIST= qw(owner msg itemno itemcnt nowprice hide endtime noworder aucid ownerid orderid startprice status); open(IN,GetPath($AUCTION_FILE)); my @aucdata=<IN>; close(IN);
sub AuctionRead{ @AUCTIONDATA_LIST= qw(owner msg itemno itemcnt nowprice hide endtime noworder aucid ownerid orderid startprice status); open(IN,GetPath($AUCTION_FILE)); my @aucdata=<IN>; close(IN); $AUCIDCOUNT=int shift(@aucdata); $AUCNOWCOUNT=int shift(@aucdata); @AUCTIONDATA=(); my $cnt=0; 〜 中略 〜 else{ foreach(@AUCTION_NG_ITEMNO){ $output.="undefined item ID=$_<br>",next if(!defined($ITEM[$_]{name})); $output.=$ITEM[$_]{name}."<br>"; } } } $output.='<br><br><div align="right"><small><a href="http://www5f.biglobe.ne.jp/~fuku-labo/" target="_blank">オークションスクリプト作成元・fuku研究所へ</a></small></div>'; return $output; } 1;←追記
RequireFile('inc-auction.cgi');周辺のコード
Lock(); #if($Q{auccmd} ne ''); DataRead(); CheckUserPass(1); RequireFile('inc-auction.cgi');←記述位置 Auction(); DataCommitOrAbort();UnLock();# if($Q{auccmd} ne ''); $disp.='<br><div align="right"><small>auction script ver1.22 created by fuku<br>'; $disp.="<a href=\"./auction.cgi?auccmd=customview\">custom information</a></small></div>";
RequireFile('inc-auction.cgi'); AuctionRead(); AuctionCheck();
{
Lock();
DataRead();
ReadGuild();
ReadGuildData();
RequireFile('inc-auction.cgi');←記述
AuctionRead();←記述
AuctionCheck();←記述
$now=$NOW_TIME+$TZ_JST-$DATE_REVISE_TIME;
$lasttime=$DTlasttime+$TZ_JST-$DATE_REVISE_TIME;
#$now=$lasttime+60*5; #debug
$temptimenow=$DTlasttime;
print GetMenuTag('auction', '[オークション]'); ↓ print GetMenuTag('auction', "[オークション".GetFileTime($AUCTION_FILE).']');周辺のコード
print GetMenuTag('shop-master', '[市場]'); print GetMenuTag('log', '[最近の出来事]'); print GetMenuTag('ranking', '[ランキング]'); print GetMenuTag('commentlist', '[コメント一覧]'); print GetMenuTag('guild', '[ギルド]'); print GetMenuTag('auction', "[オークション".GetFileTime($AUCTION_FILE).']');←記述位置 print GetMenuTag('trade', '[貿易]') if $TRADE_ENABLE; print GetMenuTag('move-town', '[近くの街]') if $MOVETOWN_ENABLE; print GetMenuTag('custom', "[$CUSTOM_TITLE]") if $USE_CUSTOM; print '<HR SIZE=1>';
AuctionWrite();周辺のコード
if($errmes eq ""){ if($aucdata->{nowprice}<$price){ $aucdata->{nowprice}=$price; $aucdata->{noworder}=$DT->{shopname}."[$DT->{name}]"; $aucdata->{orderid}=$DT->{id}; }←この}と AuctionWrite();←この行を入れ替え $disp.="$aucdata->{owner} 出品の $ITEM[$aucdata->{itemno}]->{name} $aucdata->{itemcnt}$ITEM[$aucdata->{itemno}]->{scale}に $price円で入札しました<br>"; } $disp.="$errmes<br>"; }
{owner}:出品者の店名とログイン名(現バージョンでは店名は途中で変更しても出品時点のまま表示されます)
{msg}:コメント
{itemno}:出品されている商品の固有ID
{itemcnt}:出品されている商品の個数
{nowprice}:現在の最高金額
{hide}:現在の金額を非公開なら1
{endtime}:オークションの終了時刻
{noworder}:現在の最高金額入札者。いない場合は""文字列
{aucid}:オークションの固有ID
{ownerid}:出品者の固有ID
{orderid}:現在の最高金額入札者の固有ID。いない場合は0
{startprice}:オークションの開始金額
{status}:現在の状態。0:実施中 1:落札済み 2:落札済み放置 3:ログ 4:入札者なしで終了
構文 Auction()
引数 なし
戻り値 なし
グローバルI/O
[入力]%Q
[文字列]{auccmd}コマンド
"":通常
"start":出品
"enter":入札
"receive":受け取り
"recall":出品者回収
"customview":設定情報表示
[数値]{itemno}(出品時のみ)商品のID
[数値]{itemcnt}(出品時のみ)商品の数
[数値]{tmd}(出品時のみ)開催期間の日数
[数値]{tmh}(出品時のみ)開催期間の時間数
[UI文字列]{msg}(出品時のみ)コメント文
[数値]{startprice}(出品時のみ)初期金額
[数値]{price}(入札時のみ)入札金額
[数値]{aucid}(入札、受け取り、回収時のみ)操作するオークションの固有ID
[入力][数値]$MAX_MONEY 最大所持金額
[入力][数値]$MAX_ITEM 存在するアイテムIDの最大数
[入力][数値]$MAX_STOCK_TIME 最大保持時間
[入力][数値]$NOW_TIME 現在時刻
[入力][数値]$AUCTION_START_TIME 出品時間
[入力][数値]$AUCTION_RECEIVE_TIME 受け取り時間
[入力][数値]$AUCTION_EXIT_TIME 受け取り期限
[入力][数値]$AUCTION_ABORT_TIME 強制終了期限
[入力][数値]$AUCTION_RECALL_TIME 強制返還期限
[入力][数値]$AUCTION_LOG_SAVETIME ログの保存期限
[入力][数値]$AUCTION_MAXCOUNT 作成可能なオークション数
[入力][数値]$AUCTION_USER_MAXCOUNT 個人で作成可能なオークション数
[入力][HTML]$METHOD フォームの転送スタイル
[入力][HTML]$TB テーブルの開始タグ
[入力][HTML]$TR テーブルの行タグ
[入力][HTML]$TD テーブルの改列タグ
[入力][HTML]$TRE テーブルの行終了タグ
[入力][HTML]$TBE テーブルの終了タグ
[入力][参照]@ITEM 全商品データへの参照の配列
[入力][参照]@DT 全店舗データへの参照の配列
[入力][参照]@AUCTION_NG_ITEMNO 出品禁止商品固有IDの配列
[入力][文字列]$AUCTION_FILE 作成するデータファイル名
[入力][文字列]$MYNAME 起動されたスクリプト名
[入力][ブール値]$GUEST_USER ゲストアクセスなら1
[入出力][数値]@DTwholestore 市場の商品数の配列
[入出力][参照]$DT 店舗情報への参照
[出力][数値]$AUCIDCOUNT 出品する場合のオークションの固有ID
[出力][数値]$AUCNOWCOUNT 現在存在するオークションの数
[出力][参照]@AUCTIONDATA 全オークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA0 実施中のオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA1 落札済みで受け取り待ちのオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA2 落札済みで受け取りか回収待ちののオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA3 終了してログになったオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA4 落札できず、回収待ちのオークションの構成情報への参照の配列
[出力][文字列]$errmes エラーメッセージ
[出力][文字列]@AUCTIONDATA_LIST @AUCTIONDATAの参照先のハッシュキーの配列
[出力]IN 入力ストリーム
[出力]OUT 出力ストリーム
[追記][HTML]$disp 作成されたHTMLコード
[条件出力][文字列]$logmes 最近の出来事に記録するために作ったバッファ。HTMLにも書き出したかったため(笑)
内部依存関数
AuctionRead
AuctionCheck
AuctionWrite
GetDT
AuctionRecall
AuctionRestructuring
CheckWholeStoreSingle
AuctionFlagCheck
AuctionInformation
EscapeHTML
WriteLog
GetStockTime
DataWrite
RequireFile
GetTime2HMS
GetTime2FormatTime
GetPath
OutError
依存ソースファイル
_base.cgi
_config.cgi
_config-local.cgi
inc/inc-html-ownerinfo.cgi
構文 AuctionRead()
引数 なし
戻り値 なし
グローバルI/O
[入力][文字列]$AUCTION_FILE 作成するデータファイル名
[出力][数値]$AUCIDCOUNT 出品する場合のオークションの固有ID
[出力][数値]$AUCNOWCOUNT 現在存在するオークションの数
[出力][参照]@AUCTIONDATA 全オークションの構成情報への参照の配列
[出力][文字列]@AUCTIONDATA_LIST @AUCTIONDATAの参照先のハッシュキーの配列
[出力]IN 入力ストリーム
内部依存関数
GetPath
OutError
依存ソースファイル
_base.cgi
_config.cgi
_config-local.cgi
構文 AuctionWrite()
引数 なし
戻り値 なし
グローバルI/O
[入力][文字列]$AUCTION_FILE 作成するデータファイル名
[入力][文字列]$TEMP_DIR 一時データフォルダのパス
[入力][数値]$AUCIDCOUNT 出品する場合のオークションの固有ID
[入力][数値]$AUCNOWCOUNT 現在存在するオークションの数
[入力][参照]@AUCTIONDATA 全オークションの構成情報への参照の配列
[出力]OUT 出力ストリーム
内部依存関数
GetPath
OpenAndCheck
OutError
依存ソースファイル
_base.cgi
_config.cgi
_config-local.cgi
構文 AuctionCheck()
引数 なし
戻り値 なし
グローバルI/O
[入力][数値]$NOW_TIME 現在時刻
[入力][数値]$AUCTION_EXIT_TIME 受け取り期限
[入力][数値]$AUCTION_ABORT_TIME 強制終了期限
[入力][数値]$AUCTION_LOG_SAVETIME ログの保存期限
[入力][参照]@AUCTIONDATA 全オークションの構成情報への参照の配列
[入力][参照]@ITEM 全商品データへの参照の配列
[入力][参照]@DT 全店舗データへの参照の配列
[入出力][数値]$AUCNOWCOUNT 現在存在するオークションの数
[出力][参照]@AUCTIONDATA0 実施中のオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA1 落札済みで受け取り待ちのオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA2 落札済みで受け取りか回収待ちののオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA3 終了してログになったオークションの構成情報への参照の配列
[出力][参照]@AUCTIONDATA4 落札できず、回収待ちのオークションの構成情報への参照の配列
[条件出力][文字列]$logmes 最近の出来事に記録するために作ったバッファ。HTMLにも書き出したかったため(笑)
内部依存関数
AuctionRepair
GetDT
AuctionRecall
AuctionRestructuring
AuctionWrite
CheckWholeStoreSingle
GetPath
OpenAndCheck
WriteLog
依存ソースファイル
_base.cgi
_config.cgi
_config-local.cgi
構文 GetDT(店舗固有ID)
引数 数値:$userid:取得する店舗の固有ID
戻り値 参照:$useridに合致する店舗データへの参照か、見つからなければ undef。
グローバルI/O
[入力][参照]@DT 全店舗データへの参照の配列
[入力][数値]%id2idx 全店舗データのIDをキーとする配列座標の配列
内部依存関数
依存はありません
依存ソースファイル
依存はありません
構文 AuctionRecall(操作するオークションデータへの参照,操作するオークションID)
引数 参照:$aucdata:操作するオークションデータへの参照
数値:$aucid:操作するオークションの固有ID
戻り値 参照:操作されたオークションデータへの参照か、""文字列
グローバルI/O
[入力][数値]$AUCTION_FILE 作成するデータファイル名
[入力][数値]$AUCIDCOUNT 出品する場合のオークションの固有ID
[入力][数値]$AUCNOWCOUNT 現在存在するオークションの数
[入力][参照]@AUCTIONDATA 全オークションの構成情報への参照の配列
[入力][参照]@AUCTIONDATA2 落札済みで受け取りか回収待ちののオークションの構成情報への参照の配列
[入力][参照]@AUCTIONDATA4 落札できず、回収待ちのオークションの構成情報への参照の配列
[入力][参照]@ITEM 全商品データへの参照の配列
[入力][参照]@DT 全店舗データへの参照の配列
[入出力][数値]@DTwholestore 市場の商品数の配列
[出力][文字列]$errmes エラーメッセージ
[出力]OUT 出力ストリーム
[条件出力][文字列]$logmes 最近の出来事に記録するために作ったバッファ。HTMLにも書き出したかったため(笑)
内部依存関数
GetDT
AuctionWrite
CheckWholeStoreSingle
WriteLog
DataWrite
GetPath
OpenAndCheck
依存ソースファイル
_base.cgi
_config.cgi
_config-local.cgi
構文 AuctionRestructuring()
引数 なし
戻り値 なし
グローバルI/O
[入力][参照]@AUCTIONDATA0 実施中のオークションの構成情報への参照の配列
[入力][参照]@AUCTIONDATA1 落札済みで受け取り待ちのオークションの構成情報への参照の配列
[入力][参照]@AUCTIONDATA2 落札済みで受け取りか回収待ちののオークションの構成情報への参照の配列
[入力][参照]@AUCTIONDATA3 終了してログになったオークションの構成情報への参照の配列
[入力][参照]@AUCTIONDATA4 落札できず、回収待ちのオークションの構成情報への参照の配列
[出力][数値]$AUCNOWCOUNT 現在存在するオークションの数
[出力][参照]@AUCTIONDATA 全オークションの構成情報への参照の配列
内部依存関数
依存はありません
依存ソースファイル
依存はありません
構文 AuctionRepair()
引数 なし
戻り値 ブール値:AuctionWriteの必要があるなら1、ないなら0。
グローバルI/O
[入力][数値]$AUCNOWCOUNT 現在存在するオークションの数
[入力][数値]$NOW_TIME 現在時刻
[入力][数値]$AUCTION_LOG_SAVETIME ログの保存期限
[入力][参照]@ITEM 全商品データへの参照の配列
[入力][参照]@DT 全店舗データへの参照の配列
[入出力][参照]@AUCTIONDATA 全オークションの構成情報への参照の配列
内部依存関数
GetDT
依存ソースファイル
依存はありません
構文 CheckWholeStoreSingle(調査する商品固有ID)
引数 数値:$itemno:調査する商品の固有ID
戻り値 なし
グローバルI/O
[入力][参照]@ITEM 全商品データへの参照の配列
[入力][参照]@DT 全店舗データへの参照の配列
[入出力][数値]@DTwholestore 市場の商品数の配列
内部依存関数
依存はありません
依存ソースファイル
依存はありません
構文 AuctionFlagCheck(調査する商品固有ID)
引数 数値:$itemno:調査する商品の固有ID
戻り値 ブール値:出品禁止なら1、出品許可なら0
グローバルI/O
[入力][数値]@AUCTION_NG_ITEMNO 出品禁止商品固有IDの配列
内部依存関数
依存はありません
依存ソースファイル
依存はありません
構文 AuctionInformation(出品禁止商品一覧を出力するか)
引数 ブール値:$mode:出品禁止商品一覧を出力するなら1、しないなら0
戻り値 HTML:作成されたHTML
グローバルI/O
[入力][数値]$AUCTION_START_TIME 出品時間
[入力][数値]$AUCTION_RECEIVE_TIME 受け取り時間
[入力][数値]$AUCTION_EXIT_TIME 受け取り期限
[入力][数値]$AUCTION_ABORT_TIME 強制終了期限
[入力][数値]$AUCTION_RECALL_TIME 強制返還期限
[入力][数値]$AUCTION_LOG_SAVETIME ログの保存期限
[入力][数値]$AUCTION_MAXCOUNT 作成可能なオークション数
[入力][数値]$AUCTION_USER_MAXCOUNT 個人で作成可能なオークション数
[入力][数値]$MAX_ITEM 存在するアイテムIDの最大数
[入力][数値]@AUCTION_NG_ITEMNO 出品禁止商品固有IDの配列
内部依存関数
AuctionFlagCheck
GetTime2HMS
依存ソースファイル
_base.cgi