$user and message(1, 'EMAIL 已经注册。'); if ($method == 'GET') { include './flarum/view/user_setpw.htm'; } else { // 已经加密过的 $password = param('password'); strlen($password) != 32 and message(1, '密码格式不正确。'); // email 注册 $salt = rand(100000, 999999); $pwd = md5($password . $salt); $user = array('username' => $email, 'email' => $email, 'password' => $pwd, 'salt' => $salt, 'gid' => 101, 'create_ip' => $longip, 'create_date' => $time, 'logins' => 1, 'login_date' => $time, 'login_ip' => $longip); $uid = user_create($user); $uid === FALSE and message(1, '用户注册失败。'); $user = user_read($uid); $gid = $user['gid']; $user['token'] = user_token_set($uid, $gid, $user['password'], $user['avatar'], $user['username'], 'bbs'); // 更新在线 online_list_cache_delete(); online_unset('create_email'); online_unset('create_verifycode'); message(0, $user); } // 退出 } elseif ($action == 'logout') { $user = user_guest(); user_token_clean(); $uid = 0; $gid = 0; // 更新在线 online_save(TRUE); online_list_cache_delete();
$grouplist = group_list_cache(); $forumlist = forum_list_cache(); $action = param('action'); $http_url_path = http_url_path(); $return_url = $http_url_path . 'qq_login.php?action=return_url'; if ($action == 'login') { $link = qq_login_link($return_url); header("Location: {$link}"); // return url } elseif ($action == 'return_url') { $qq = kv_get('qq_login'); $appid = $qq['appid']; $appkey = $qq['appkey']; //$state = param('state'); $code = param('code'); // token 保存起来,提高速度 $token = qq_login_get_token($appid, $appkey, $code, $return_url); !$token and message($errno, $errstr); // 获取 openid $openid = qq_login_get_openid_by_token($token); // 如果有 openid,则直接自动登陆 $user = qq_login_read_user_by_openid($openid); if (!$user) { $qquser = qq_login_get_user_by_openid($openid, $token, $appid); $user = qq_login_create_user($qquser['nickname'], $qquser['figureurl_qq_2'], $openid); } $r = user_token_set($user['uid'], $user['gid'], $user['password'], $user['avatar'], $user['username'], 'bbs'); // 登陆成功 header('Location: ../../'); exit; }