gticket2リリース
Date 2006-05-06 04:50:43 | Category: XOOPS
|
チケットクラス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!)
|
|