e-mail でもログインできるようにする

シェアする

【使用環境】

・xoops 2.0.15JP

・peakさんの「auto-login hacked files for xoops 2.0.14」をDL

・include/checklogin.php だけを上書き

これで一応ユーザ名でも e-mail でもログインできたが保障は無し。

【追記】2006-08-08

2.0.16a での確認をした。

・include/checklogin.php の44行目あたり

==ここから

//$user =& $member_handler->loginUser(addslashes

($myts->stripSlashesGPC($uname)), $myts->stripSlashesGPC($pass));

// uname&email hack GIJ

$uname4sql = addslashes( $myts->stripSlashesGPC($uname) ) ;

$pass = $myts->stripSlashesGPC($pass) ;

if( strstr( $uname , ‘@’ ) ) {

// check by email if uname includes ‘@’

$criteria = new CriteriaCompo(new Criteria(’email’, $uname4sql ));

$criteria->add(new Criteria(’pass’, md5( $pass )));

$user_handler =& xoops_gethandler(’user’);

$users =& $user_handler->getObjects($criteria, false);

if( empty( $users ) || count( $users ) != 1 ) $user = false ;

else $user = $users[0] ;

unset( $users ) ;

}

if( empty( $user ) || ! is_object( $user ) ) {

$user =& $member_handler->loginUser($uname4sql,$pass);

}

// end of uname&email hack GIJ

==ここまで

1行目のコメントアウト&以下追加により、問題無くE-Mailでログインできた。

シェアする