public function actionSignup() { $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { if (Yii::$app->getUser()->login($user)) { return $this->goHome(); } } } return $this->render('signup', ['model' => $model]); }
public function actionSignup() { //判断注册URL中是否包含邀请码参数 if (isset($_GET['code'])) { $code = $_GET['code']; //$_code_source = UcenterMember::find()->where(['invitation_code'=>$code])->one(); //if(count($_code_source) != 1) $flag = \frontend\actions\app\member::verify_code($code); if (!$flag) { header("Content-type: text/html; charset=utf-8"); echo "<script>alert('来源链接不合法!')</script>"; echo "<script>window.location.href='" . \yii\helpers\Url::to(['site/signup']) . "'</script>"; exit; } } $model = new SignupForm(); //是否邀请注册 $test_invite = 1; if ($model->load(Yii::$app->request->post())) { if ($_POST['SignupForm']['username'] && $_POST['SignupForm']['validate_code'] && $_POST['SignupForm']['password'] && $_POST['SignupForm']['password_repeat']) { $invite_code = $_POST["SignupForm"]['invitation_code']; //使用测试邀请码 if ($test_invite) { //使用测试邀请 $flag = \frontend\actions\app\member::verify_code($invite_code); //验证码通过 if (!$flag) { echo "<script>alert('" . '邀请码错误' . "')</script>"; } } $_phone = $_POST['SignupForm']['username']; $_code = $_POST['SignupForm']['validate_code']; try { $result = Port::checkPhnoe($_phone, $_code); if (is_bool($result)) { } } catch (ErrorException $e) { header("Content-type: text/html; charset=utf-8"); echo "<script>alert('" . $e->getMessage() . "')</script>"; echo "<script>location.href='" . \yii\helpers\Url::to(['site/signup']) . "'</script>"; exit; } $user = new UcenterMember(); $user->username = $_POST["SignupForm"]['username']; $user->phone = $_POST["SignupForm"]['username']; $user->invitation_code = $_POST["SignupForm"]['invitation_code']; $password = $_POST["SignupForm"]['password']; $user->setPassword($password); $user->create_ip = Yii::$app->request->userIp; $app_pwd = md5(sha1($password) . time()); $user->app_pwd = $app_pwd; try { $area = self::get_area(Yii::$app->request->userIp); $user->create_area = $area; } catch (ErrorException $e) { } $user->generateAuthKey(); if ($user->save()) { $uid = $user['id']; if ($test_invite) { //使用验证码 $flag = \frontend\actions\app\member::verify_code($invite_code); $invite_flag = \frontend\actions\app\member::use_code($flag, $uid); if (!$invite_flag) { $return = array('errorNum' => '1', 'errorMsg' => '注册失败', 'data' => null); return $return; } } if (Yii::$app->getUser()->login($user)) { $newModel = UcenterMember::find()->where(['id' => Yii::$app->user->id])->one(); //$newModel->invitation_id= \yii::$app->params['invitation_id']; $invitation_code = Utils::createcode(); $newModel->invitation_code = $invitation_code; $newModel->person_face = Setting::find()->where("code='img'")->one()->value; if ($_POST['url_code']) { $code_source = UcenterMember::find()->where(['invitation_code' => $_POST["url_code"]])->asArray()->one(); if ($code_source) { $newModel->invitation_id = $code_source['id']; } //好友注册领取体验金 $rule = Rule::find()->where(['title' => '好友注册', 'status' => Rule::STATUS_ACTIVE])->one(); if ($rule) { $rid = $rule->id; $r_money = $rule->money; $model_gold = new Gold(); $model_gold->rid = $rid; $model_gold->money = $r_money; $model_gold->uid = $code_source['id']; $model_gold->created_at = strtotime("now"); $model_gold->save(); } } elseif ($_POST['SignupForm']['invitation_code']) { $code_source = UcenterMember::find()->where(['invitation_code' => $_POST["SignupForm"]["invitation_code"]])->asArray()->one(); if ($code_source) { $newModel->invitation_id = $code_source['id']; } //好友注册领取体验金 $rule = Rule::find()->where(['title' => '好友注册', 'status' => Rule::STATUS_ACTIVE])->one(); if ($rule) { $rid = $rule->id; $r_money = $rule->money; $model_gold = new Gold(); $model_gold->rid = $rid; $model_gold->money = $r_money; $model_gold->uid = $code_source['id']; $model_gold->created_at = strtotime("now"); $model_gold->save(); } } $newModel->save(false); $model_asset_info = new Info(); $model_asset_info->member_id = yii::$app->user->id; $model_asset_info->create_at = strtotime("now"); $model_asset_info->save(false); //手机号注册领取体验金 $rule = Rule::find()->where(['title' => '手机号注册', 'status' => Rule::STATUS_ACTIVE])->one(); if ($rule) { $rid = $rule->id; $r_money = $rule->money; $model_gold = new Gold(); $model_gold->rid = $rid; $model_gold->money = $r_money; $model_gold->uid = $code_source['id']; $model_gold->created_at = strtotime("now"); $model_gold->save(); } return $this->goHome(); } } } } return $this->render('signup', compact("model", "code")); }