2010年10月11日
XOOPSの新規登録でキーを使ってグループ登録
いやぁ,苦労した...
今回は既存のYIMを利用してキーを扱うことにしてみた
まずは,user モジュールのテンプレートで,入力画面と確認画面を変更.
user_register_form.html
<tr>
<td>RegistKey</td>
<tdodd,even"}>"><{xoops_input maxlength=25 name=user_yim value=$actionForm->get('user_yim')}></td>
</tr>
<tr>
<td class="head">RegistKey</td>
<td class="<{cycle values="odd,even"}>"><{xoops_input maxlength=25 name=user_yim value=$actionForm->get('user_yim')}></td>
</tr>
user_register_confirm.html
<tr>
<td class="head">RegistKey</td>
<td class="<{cycle values="odd,even"}>">
<{$registForm->get('user_yim')|xoops_escape}>
</td>
</tr>
次は,データ受け渡し用に modules/user/forms/UserRegisterEditForm.class.php に追加
$this->mFormProperties['user_yim'] =& new XCube_StringProperty('user_yim');
最後にキーを用いてグループを追加するために modules/user/actions/UserRegister_confirmAction.class.php に追加
if( $this->mNewUser->get('user_yim') == 'KEY' )
{
if (!$memberHandler->addUserToGroup( 'GROUP ID', $this->mNewUser->get('uid'))) {
$this->mRedirectMessage = _MD_USER_LANG_REGISTERNG;
return USER_FRAME_VIEW_ERROR;
}
}