今回は include/config.php の書き方です。
include/config.php は大きく分けて4つのパートに別れます。
(A) 設定パート
これは、(1)と(2)で説明しました。$auto_belong_groupsに最低でも1つのグループが与えられていないと、登録してもログインできない、なんて不具合につながりますので注意してください。
// preferences
$auto_belong_groups = array( XOOPS_GROUP_USERS ) ; // default (2)
$allow_blank_email = false ;
$allow_blank_vpass = false ;
$extra_fields = array(
'sex' => array(
'initval' => -1 ,
'options' => array( 0 => '男' , 1 => '女' ) ,
) ,
'birth' => array(
'initval' => '1950-01-01' ,
) ,
) ;
if( empty( $minihaku_uid4whr ) ) {
// 登録時の処理(追加フィールドをリクエスト可能変数として初期化)
foreach( $extra_fields as $key => $attribs ) {
$allowed_requests[$key] = $attribs['initval'] ;
}
} else {
// 編集時およびミニ白扇Smartyプラグインの処理
// データベースから追加フィールドの読み出し
$db =& Database::getInstance() ;
list( $allowed_requests['sex'] , $allowed_requests['birth'] ) = $db->fetchRow( $db->query( "SELECT sex,birth FROM ".$db->prefix("users")." WHERE uid=$minihaku_uid4whr" ) ) ;
// 整数型フィールドは、この時点でintval()をかけておく
$allowed_requests['sex'] = intval( $allowed_requests['sex'] ) ;
// ミニ白扇Smartyプラグインのための「表示用文字列」生成
$fields4html['sex'] = $extra_fields['sex']['options'][ $allowed_requests['sex'] ] ;
$fields4html['birth'] = str_replace( '-' , '/' , $allowed_requests['birth'] ) ;
}
if( isset( $_POST['sex'] ) ) {
if( $_POST['sex'] < 0 || $_POST['sex'] > 1 ) {
die( "invalid sex value" ) ;
}
}
if( ! empty( $_POST['Date_Year'] ) ) {
$_POST['birth'] = intval( $_POST['Date_Year'] ) . '-' . intval( $_POST['Date_Month'] ) . '-' . intval( $_POST['Date_Day'] ) ;
}