/** * 验证登录账号、密码、验证码,同过的话进行登录处理 * * @param string $username 用户名 * @param string $password 密码 * @param string $checkcode 验证码 * @param int $usecookie 是否记录到cookie,下次自动登录。0表示不记录,大于0表示cookie保存时间 * @param bool $encode 密码是否已经加密,默认否 * @param bool $needcheck 是否需要验证码,默认是 * @access public * @return int 0 正常, -1 用户名为空 -2 密码为空 -3 用户名或者密码为空 -4 用户名不存在 -5 密码错误 -6 用户名或密码错误 -7 验证码错误 -8 帐号已经有人登陆 -9 用户属于游客组 */ function jieqi_logincheck($username = '', $password = '', $checkcode = '', $usecookie = 0, $encode = false, $needcheck = true) { $ret = jieqi_loginpass($username, $password, $checkcode, $usecookie, $encode, $needcheck); if (is_object($ret)) { return jieqi_loginprocess($ret, $usecookie); } elseif ($ret == -10) { //临时用户,未设置密码,ucenter存在时候自动更新密码,否则返回密码错误 include_once JIEQI_ROOT_PATH . '/include/funuser.php'; if (function_exists('uc_user_login')) { list($uid, $uname, $upass, $uemail) = uc_user_login($username, $password); if ($uid > 0) { include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); $userobj = $users_handler->getByname($username); if (is_object($userobj)) { $userobj->setVar('pass', $users_handler->encryptPass($upass)); $userobj->setVar('email', $uemail); $users_handler->insert($userobj); return jieqi_loginprocess($userobj, $usecookie); } } } return -5; } else { return $ret; } }
function synlogin($get, $post) { if (!API_SYNLOGIN) { return API_RETURN_FORBIDDEN; } $uid = intval($get['uid']); $username = $get['username']; $jieqiUsers = $this->userhandler->getByname($username); if (!is_object($jieqiUsers)) { //用户不存在自动注册 include_once JIEQI_ROOT_PATH . '/uc_client/client.php'; if ($data = uc_get_user($username)) { list($uid, $username, $email) = $data; //检查email是否重复 if ($this->userhandler->getCount(new Criteria('email', $email, '=')) > 0) { return API_RETURN_FAILED; } else { //注册新用户 include_once JIEQI_ROOT_PATH . '/lib/text/textfunction.php'; global $jieqiConfigs; jieqi_getconfigs('system', 'configs'); $jieqiUsers = $this->userhandler->create(); $jieqiUsers->setVar('siteid', JIEQI_SITE_ID); $jieqiUsers->setVar('uname', $username); $jieqiUsers->setVar('name', $username); $jieqiUsers->setVar('pass', ''); $jieqiUsers->setVar('groupid', JIEQI_GROUP_USER); $jieqiUsers->setVar('regdate', JIEQI_NOW_TIME); $jieqiUsers->setVar('initial', jieqi_getinitial($username)); $jieqiUsers->setVar('sex', 0); $jieqiUsers->setVar('email', $email); $jieqiUsers->setVar('url', ''); $jieqiUsers->setVar('avatar', 0); $jieqiUsers->setVar('workid', 0); $jieqiUsers->setVar('qq', ''); $jieqiUsers->setVar('icq', ''); $jieqiUsers->setVar('msn', ''); $jieqiUsers->setVar('mobile', ''); $jieqiUsers->setVar('sign', ''); $jieqiUsers->setVar('intro', ''); $jieqiUsers->setVar('setting', ''); $jieqiUsers->setVar('badges', ''); $jieqiUsers->setVar('lastlogin', JIEQI_NOW_TIME); $jieqiUsers->setVar('showsign', 0); $jieqiUsers->setVar('viewemail', 0); $jieqiUsers->setVar('notifymode', 0); $jieqiUsers->setVar('adminemail', 0); $jieqiUsers->setVar('monthscore', 0); $jieqiUsers->setVar('experience', intval($jieqiConfigs['system']['scoreregister'])); $jieqiUsers->setVar('score', intval($jieqiConfigs['system']['scoreregister'])); $jieqiUsers->setVar('egold', 0); $jieqiUsers->setVar('esilver', 0); $jieqiUsers->setVar('credit', 0); $jieqiUsers->setVar('goodnum', 0); $jieqiUsers->setVar('badnum', 0); $jieqiUsers->setVar('isvip', 0); $jieqiUsers->setVar('overtime', 0); $jieqiUsers->setVar('state', 0); if (!$this->userhandler->insert($jieqiUsers)) { return API_RETURN_FAILED; } } } else { return API_RETURN_FAILED; } } if (is_object($jieqiUsers)) { //header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); include_once JIEQI_ROOT_PATH . '/include/checklogin.php'; jieqi_loginprocess($jieqiUsers); return API_RETURN_SUCCEED; } else { return API_RETURN_FAILED; } }