トップ 一覧 検索 ヘルプ 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- SOSWiki0016v1.00-1-1/6
#-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- SOSWiki0016v1.00-1-2/6
#-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- SOSWiki0016v1.00-1-3/6
#-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- SOSWiki0016v1.00-1-4/6
#-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- SOSWiki0016v1.00-1-5/6
#-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- SOSWiki0016v1.00-1-6/6
#-END of EDIT- SION0016v1.00-1-6/6
</TEXTAREA>