function actionRegister() { $error = ''; if (User::auth()) { header('Location: /user/'); } else { if (isset($_POST['login'])) { $login = $_POST['login']; $email = $_POST['email']; $pass = $_POST['password']; $repass = $_POST['repassword']; if (isset($login) && !empty($login) && (isset($email) && !empty($email)) && (isset($pass) && !empty($pass)) && (isset($repass) && !empty($repass))) { if ($pass === $repass) { $user = new User(); $res = $user->user_register(array('login' => $login, 'email' => $email, 'pass' => $pass)); if ($res == 'OK') { header('Location: /user/'); } else { $this->render('register', array('error' => $res)); } } else { $error = 'Пароли не совпадают'; $this->render('register', array('error' => $error)); } } else { $error = 'Все поля необходимы для заполнения!'; $this->render('register', array('error' => $error)); } } else { $this->render('register'); } } }
private static function doUserRegister(\ApiParam $params) { try { $user = null; $userId = null; if (!$params->isRegister) { if (!$params->password) { throw new \Exception("无效的帐号或密码", 503); } // 用户输入的帐号可能是nickname或者mobile if ($params->nickname) { $user = \User::getUserByNick($params->nickname); if (!$user) { $params->nickname = null; } else { $params->mobile = null; } } if (!$user && $params->mobile) { $user = \User::loadByMobile($params->mobile); } // 用户不存在 或者 密码不对 if (!$user || !$user->isMatchedPassword($params->password) || $user->isFrozen()) { throw new \Exception("无效的帐号或密码", 503); } // 未绑定手机号码 if (!$user->mobile || $user->mobile == "") { throw new \Exception("请到百姓网站绑定手机号码", 503); } } else { $userId = User::user_register($params); } if ($userId && !$user) { $user = new \User(); $user = $user->load($userId); } if ($user) { return array('userId' => $user->id, 'nickname' => $user->nickname, 'mobile' => $user->mobile); } } catch (\Exception $e) { throw $e; } }