トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

改造時データ保存

  • 青色は、改造箇所を示します。ファイル名: ルーチン名: 行番号 を示します。
  • 黒色文字は、「改造前の状態」を示します。
  • テキストボックスの中のプログラムを、該当の場所に上書きして下さい。

改造時データ保存 Ver 1.00 ★☆☆☆☆☆☆☆

改造時の改造ミスによってマイレコードが消失するのを事前に防止します。
改造を行う前にこの改造を強くお奨めします。
dollEx版では、get_user & userout についてはほぼ同様の機能が実装済みです。 (get_partner & partnerout については未実装です。)
※この 改造を取り入れる際には、併せて 【 改造者表示 】 の改造を取り入れて頂けると嬉しいです。(非強制)

履歴
2007/03/04 Wikiにて公開      
2003/07/21 Version 1.00 公開 


この改造を取り入れる事で問題発生前に処理を中断出来るバグ
**** にてget_userされていないuseroutが行われています

&userout の呼び出しには、事前に get_user が行われていなければなりません。
●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。
●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に 1 を代入する事でこのエラーは表示されなくなります。
●userout が2回繰り返された時にもこのエラーを表示します。

**** にてget_userが2重に行われた後でuseroutされています

&get_user を2重に行った場合、&userout が行われてはなりません。
●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。
●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に 1 を代入する事でこのエラーは表示されなくなります。

**** にてget_partnerされていないpartneroutが行われています

&partnerout の呼び出しには、事前に get_partner が行われていなければなりません。
●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。
●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag に 1 を代入する事でこのエラーは表示されなくなります。
●partnerout が2回繰り返された時にもこのエラーを表示します。

**** にてget_partnerが2重に行われた後でpartneroutされています

&get_partner を2重に行った場合、&partnerout が行われてはなりません。
●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。
●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag に 1 を代入する事でこのエラーは表示されなくなります。


エラーを表示しない問題

&get_user > &userout を行った後に、再び &get_user > &userout を行う事は、本家版ではマイレコードが消失する原因となります。 
※( get_partner も同様です)
●当改造を組み込んでいる場合には、正常に動作しますので、エラー表示を行いません。
●当改造を組み込まない場合には、途中で $getpartnerflag をクリアしてやる必要があります。



本家版改造ポイント

◆改造ポイント 鑑定ルーチンを更新します。



sos2.cgi # Sub Get User # Line2142
return if $getuserflag;



sos2.cgi # Sub Get Partner # Line2157
return if $getpartnerflag;



sos2.cgi # Sub User Out # Line2171
$tm = time;



sos2.cgi # Sub User Out # Line2175
&writedat("$usrdir$id\.dat",@rcdlines);



sos2.cgi # Sub Partner Out # Line2179
sub partnerout {



sos2.cgi # Sub Partner Out # Line2183
&writedat("$usrdir$pid\.dat",@prclines);

dollEx版改造ポイント

dollEx版では、getuser & useroutについてはほぼ同様の機能が実装済みであり、partner の方では重大な問題になる事は少ない為に現時点では未対応です。ご希望の際は、掲示板等でリクエストしていただくか、本家版を参考に改造して下さい。