gticket2リリース

Date 2006-05-06 04:50:43 | Category: XOOPS

in englishin japanese
チケットクラスXoopsGTicketを新しくしました。
このgticket2では、チケットエラーが起きた時の再投稿フォームを実装しました。
この機能は、ユーザのストレスを軽減してくれるはずです。
(30分以上もかけて書いた投稿がチケットエラーで一方的にはねつけられて、コピペの機会も与えられないなんて、ショック以外の何物でもないですから)

gticket2の使い方は従来とまったく一緒です。

- include/gtickets.php に置いたクラス定義ファイルを読み込みます
- フォームにチケットを埋め込みます
- フォーム処理側で、check()関数を実行します


●XoopsFormに埋め込む場合:

	$form = new XoopsThemeForm( ... );
	$GLOBALS['xoopsGTicket']->addTicketXoopsFormElement( $form , __LINE__ , 1800 , '(your area name)' ) ;

※XoopsForm自体、利用は非推奨です。


●プレーンHTMLに埋め込む場合:

	$xoopsGTicket->getTicketHtml( __LINE__ , 1800 , '(your area name)' )



●フォーム処理側

	if ( ! $xoopsGTicket->check( true , '(your area name)' ) ) {
		redirect_header(XOOPS_URL.'/',3,$xoopsGTicket->getErrors());
	}

このcheck()でチケットエラーが起きた(=再投稿フォームを表示する必要が起きた)場合には、自動的にフォームが表示されます。

もし、あえて再投稿フォームを禁止したい場合にのみ、以下のように第3引数を指定してください。

	if ( ! $xoopsGTicket->check( true , '(your area name)' , false ) ) {
		redirect_header(XOOPS_URL.'/',3,$xoopsGTicket->getErrors());
	}


※注意: gticket2を使う場合、Xoopsコアが提供するチケットによるチェックは行わないでください。基本的に意味がありませんし、せっかくの再投稿フォームがまったく機能しなくなります。

このgticket2は、現時点ではblocksadminモジュールにだけ実装してあります。しばらく様子を見て、問題がないようなら、他のモジュールについても順次入れ替えていきます。

もし、TinyD+SPAWでInvalid Sessionが頻出するなど、チケットエラーに悩まされているようでしたら、blocksadmin内のinclude/gtickets.php (gticket2) を、対象モジュール(tinyd0等)内のinclude/gtickets.php (gticket1) と入れ替えてください。劇的に改善されるかもしれません。

----------
2006/5/6 fixed typo (thx gusagi!)




You can read more news at PEAK XOOPS.
http://xoops.peak.ne.jp

The URL for this story is:
http://xoops.peak.ne.jp/md/news/index.php?page=article&storyid=95