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

SION0016

Parts1

<TABLE width="778" border="0" cellspacing="0" cellpadding="5">

<TR bgcolor="#FFCCCC"> 
	<TD class="text"> 
		<HR>
		<SPAN class="subject">この改造を取り入れる事で問題発生前に処理を中断出来るバグ </SPAN> 
		<HR>
		<B><FONT color="#FF0000">**** にてget_userされていないuseroutが行われています </FONT></B> 
		<P>&amp;userout の呼び出しには、事前に get_user が行われていなければなりません。<BR>
			●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。 <BR>
			●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に 
			1 を代入する事でこのエラーは表示されなくなります。 <BR>
			●userout が2回繰り返された時にもこのエラーを表示します。</P>
		<P><B><FONT color="#FF0000">**** にてget_userが2重に行われた後でuseroutされています</FONT></B></P>
		<P>&amp;get_user を2重に行った場合、&amp;userout が行われてはなりません。 <BR>
			●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。 <BR>
			●get_user 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getuserflag に 
			1 を代入する事でこのエラーは表示されなくなります。 </P>
		<P><FONT color="#FF0000"><B>**** にてget_partnerされていないpartneroutが行われています </B></FONT></P>
		<P>&amp;partnerout の呼び出しには、事前に get_partner が行われていなければなりません。 <BR>
			●このまま書き込みを行うと、該当IDのユーザーデータの全て、または一部が消失する恐れがあります。<BR>
			●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag 
			に 1 を代入する事でこのエラーは表示されなくなります。 <BR>
			●partnerout が2回繰り返された時にもこのエラーを表示します。</P>
		<P><FONT color="#FF0000"><B>**** にてget_partnerが2重に行われた後でpartneroutされています 
			</B></FONT></P>
		<P>&amp;get_partner を2重に行った場合、&amp;partnerout が行われてはなりません。 <BR>
			●本家版などの場合、このまま書き込みを行うと、通常はマイレコードが消失します。 <BR>
			●get_partner 以外の方法で直接ユーザーデータを読み込むなどの方法を取っており、その手段が確実である場合、$getpartnerflag 
			に 1 を代入する事でこのエラーは表示されなくなります。 </P>
		<HR>
		<P><B><FONT color="#FF0000">エラーを表示しない問題</FONT></B></P>
		<P> &amp;get_user &gt; &amp;userout を行った後に、再び &amp;get_user &gt; &amp;userout 
			を行う事は、本家版ではマイレコードが消失する原因となります。 <BR>
			※( get_partner も同様です) <BR>
			●当改造を組み込んでいる場合には、正常に動作しますので、エラー表示を行いません。 <BR>
			●当改造を組み込まない場合には、途中で $getpartnerflag をクリアしてやる必要があります。 </P>
		<HR>
	</TD>
</TR>

</TABLE>

Parts2

<br>
<B><FONT color="#0000FF"><A href="../download/judge_cgi.txt"></A></FONT></B><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Get User # Line2142</FONT></B><BR>
<b>return if $getuserflag; </b><Br>
<TEXTAREA name="textfield2" cols="100" rows="3">
#-EDIT- return if $getuserflag;

if ($getuserflag) { $getuserflag = -1; return @rcdlines; }

#-END of EDIT- SION0016v1.00-1-1/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Get Partner # Line2157</FONT></B><BR>
<b>return if $getpartnerflag; </b><br>
<TEXTAREA name="textarea13" cols="100" rows="3">
#-EDIT- return if $getpartnerflag;

if ($getpartnerflag) { $getpartnerflag = -1; return; }

#-END of EDIT- SION0016v1.00-1-2/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub User Out # Line2171</FONT></B><BR>
<b>$tm = time; </b><br>
<TEXTAREA name="textarea14" cols="100" rows="5">
#-ADD-

push (@editor,&quot;改造時データ保全 Ver 1.00 &lt;A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'&gt;by SION & SOSWiki&lt;/A&gt;&quot;);
if (!$getuserflag)      {  push(@msg,&quot;$Fm{'mode'}にてget_userされていないuseroutが行われています&quot;); return; }
if ($getuserflag == -1) {  push(@msg,&quot;$Fm{'mode'}にてget_userが2重に行われた後でuseroutされています&quot;); return; }
pop @editor;

#-END of EDIT- SION0016v1.00-1-3/6

$tm = time;

</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub User Out # Line2175</FONT></B> <BR>
<B>&writedat("$usrdir$id\.dat",@rcdlines); </b><BR>
<TEXTAREA name="textarea15" cols="100" rows="4">

&writedat("$usrdir$id\.dat",@rcdlines);

#-ADD-

$getuserflag = 0;

#-END of EDIT- SION0016v1.00-1-4/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Partner Out # Line2179</FONT></B><BR>
<b>sub partnerout { </b><Br>
<TEXTAREA name="textarea16" cols="100" rows="5">
sub partnerout {
#-ADD-

push (@editor,&quot;改造時データ保全 Ver 1.00 &lt;A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'&gt;by SION & SOSWiki&lt;/A&gt;&quot;);
if (!$getpartnerflag)      {  push(@msg,&quot;$Fm{'mode'}にてget_partnerされていないpartneroutが行われています&quot;); return; }
if ($getpartnerflag == -1) {  push(@msg,&quot;$Fm{'mode'}にてget_partnerが2重に行われた後でpartneroutされています&quot;); return; }
pop @editor;

#-END of EDIT- SION0016v1.00-1-5/6
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Partner Out # Line2183</FONT></B><BR>
<b>&writedat("$usrdir$pid\.dat",@prclines); </b><br>
<TEXTAREA name="textarea5" cols="100" rows="4">

&writedat("$usrdir$pid\.dat",@prclines);

#-ADD-

$getpartnerflag = 0;

#-END of EDIT- SION0016v1.00-1-6/6
</TEXTAREA>