/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { /** * * POST /9999999/campaigns/99999/subscribers Content-Type: application/vnd.api+json * * { "subscribers": [{ "email": "*****@*****.**", "utc_offset": 660, "double_optin": true, "starting_email_index": 0, "reactivate_if_removed": true, "custom_fields": { "name": "John Doe" } }] } */ if ($this->validate()) { $user = new User(); //$user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { $this->subscribe(); \Yii::$app->mailer->compose(['html' => 'signUp-html', 'text' => 'signUp-text'], ['user' => $user])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Sign Up to ' . \Yii::$app->name)->send(); return $user; } } return null; }
public function actionAdd($password, $discuz_uid, $type = 'User') { //TODO 这个之后一定要写进配置文件而非硬编码 if ($password !== 'ngpt_2333') { Yii::warning("Wrong Password!!!!!!" . $password . "uid : {$discuz_uid}"); return ['result' => 'failed', 'extra' => 'wrong password']; } if (is_numeric($discuz_uid) && intval($discuz_uid) <= 0) { Yii::warning("uid not a number : {$discuz_uid}"); return ['result' => 'failed', 'extra' => 'discuz_uid should be numeric']; } $discuz_uid = intval($discuz_uid); /** @var User $user */ $user = User::findOne(['discuz_user_id' => $discuz_uid]); if (!empty($user)) { return ['result' => 'succeed', 'extra' => $user->passkey]; } $user = new User(); $user->discuz_user_id = $discuz_uid; $user->passkey = User::genPasskey(); Yii::info($user->attributes); if ($user->insert()) { return ['result' => 'succeed', 'extra' => $user->passkey]; } else { Yii::warning("Insert to user table failed"); return ['result' => 'failed', 'extra' => 'Database error']; } }
public function actionSignIn() { $model = new User(); $model->scenario = $model::SCENARIO_SIGN_IN; if ($model->load(Yii::$app->request->post()) && $model->validate()) { } return $this->render('sign-in', ['model' => $model]); }
/** * Logs in a user using the provided username and password. * * @return boolean whether the user is logged in successfully */ public function login() { if ($this->validate()) { try { if (!Purina::init()->login($this->email, $this->password)) { $db_user = User::findByEmail($this->email); if ($db_user) { $db_user->status = User::STATUS_DISABLED; $db_user->save(); } $data = Purina::getData(); if ($data->message) { $this->addError('password', Yii::t('frontend/base', $data->message)); } else { $this->addError('password', 'Не верный логин или пароль.'); } return false; } else { $user = Purina::getData(); $db_user = User::findByEmail($this->email); if (!$db_user) { $db_user = new User(); $db_user->id = $user->id; $db_user->firstname = $user->firstname; $db_user->lastname = $user->lastname; $db_user->email = $user->email; $db_user->token = $user->token->key; $db_user->token_expire = $user->token->expire; $db_user->created_at = Yii::$app->formatter->asTimestamp($user->register_date); $db_user->updated_at = $db_user->created_at; $db_user->setPassword($this->password); } else { $db_user->token = $user->token->key; $db_user->token_expire = $user->token->expire; } $db_user->status = User::STATUS_ACTIVE; if (!$db_user->save()) { return false; } $duration = $user->token->expire - Yii::$app->formatter->asTimestamp('now'); if (!Yii::$app->user->login($db_user, $duration)) { $this->addError('password', 'Не удалось авторизоваться.'); return false; } else { return true; } } } catch (\Exception $e) { $this->addError('password', 'Не удалось авторизоваться.'); return false; } } return false; }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function register() { if ($this->validate()) { $user = new User(); $user->email = $this->email; $user->password = $this->password; if ($user->save()) { return $user; } } return null; }
/** * Create new user based on Steam profile * @param \frontend\components\SteamAuth $client * @return \frontend\models\User|boolean */ public static function createSteamUser($client) { $user = new User(['steamid' => $client->steamId, 'registered' => date('Y-m-d')]); $steam_data = $client->steamData; $user->name = $steam_data['response']['players'][0]['personaname']; $user->avatar = $steam_data['response']['players'][0]['avatarmedium']; if ($user->save()) { return $user; } Yii::error($user->errors); return false; }
public function actionNew($type) { $model = new Razz(); $model->scenario = 'create'; if ($type == 'any') { $model->type = $model::ANYONE; } if ($type == 'some') { $model->type = $model::SOMEONE; } if ($model->load(Yii::$app->request->post()) && $model->save()) { if ($model->type == 1 && !$model->fb_friend) { $this->redirect(['/razz/vote-on-challenges', 't' => 'some']); } if ($model->fb_friend) { $Razz = Yii::$app->request->post('Razz', null); if ($Razz['fileName'] != "") { $linkToImg = \common\helpers\Ziggeo::getPreview($Razz['fileName']); } else { $linkToImg = $model->preview; } $twitter = new \common\helpers\Twitter(); $userModel = new \frontend\models\User(); $userName = ucfirst($userModel->getFullname(Yii::$app->user->id)); $recipientNick = $model->screen_name; $linkToRazzd = Url::base(true) . "/razz/respond/" . $model->id; $text = "@{$recipientNick} You have been Razzd by {$userName}: '{$model->title}' {$linkToRazzd}"; $r = $twitter->tweet($text, ['image' => $linkToImg]); if ($twitter->hasErrors()) { // Error } else { if (isset($r['id'])) { // Success } } $this->redirect(['/razz/vote-on-challenges', 't' => 'some']); /* * Facebook $client = Yii::$app->authClientCollection->getClient('facebook'); $host = 'http://' . $_SERVER['HTTP_HOST']; $this->redirect('http://www.facebook.com/dialog/send?app_id=' . $client->clientId . '&to=' . $model->fb_friend . '&link=' . $host . '/razz/respond?hash=' . $model->hash . '&redirect_uri=' . $host . '/razz/vote-on-challenges?t=some'); */ } if ($model->type == 2) { $this->redirect(['/razz/vote-on-challenges', 't' => 'any']); } } else { //print_r($model->getErrors()); //exit(); } return $this->render('new', ['model' => $model]); }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->setPassword($this->password); $user->create_time = time(); if ($user->save()) { return $user; } } return null; }
public function checkLogin() { $userInfo = $this->getUserInfo(); if ($userInfo) { $user = new User(); $user->load($userInfo, ''); $user->saveUserInfo(); if (Yii::$app->user->login($user, 3600 * 24)) { return true; } } return false; }
/** * Signs user up. * @return User|null the saved model or null if saving fails */ public function updateProfile() { if ($this->validate()) { $user = new User(); $user->setScenario('updateProfile'); $user->username = $this->username; $user->email = $this->email; $user->updated_at = time(); if ($user->save()) { return $user; } } return false; }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { return $user; } } return null; }
/** * Finds user by [[username]] * * @return User|null */ public function getUser() { if ($this->_user === false) { $this->_user = User::findByUsername($this->username); } return $this->_user; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = User::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere([ 'id' => $this->id, 'status' => $this->status, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, ]); $query->andFilterWhere(['like', 'username', $this->username]) ->andFilterWhere(['like', 'user_type', $this->user_type]) ->andFilterWhere(['like', 'auth_key', $this->auth_key]) ->andFilterWhere(['like', 'password_hash', $this->password_hash]) ->andFilterWhere(['like', 'password_reset_token', $this->password_reset_token]) ->andFilterWhere(['like', 'email', $this->email]); return $dataProvider; }
private function insert_user($data) { $user = new User(); $salt = substr(uniqid(rand()), -6); $time = time(); $ip = getRealIp(); $password = md5(md5($data['password']) . $salt); $authkey = Yii::$app->security->generateRandomString(); $password_reset_token = Yii::$app->security->generateRandomString() . '_' . time(); $password_hash = Yii::$app->security->generatePasswordHash($data['password']); $user->username = $data['username']; $user->password = $password; $user->auth_key = $authkey; $user->password_hash = $password_hash; $user->password_reset_token = $password_reset_token; $user->mobile = $data['mobile']; $user->email = $data['email']; $user->card_id = $data['card_id']; $user->reg_date = $time; $user->reg_ip = $ip; $user->last_login_date = $time; $user->last_login_ip = $ip; $user->salt = $salt; $result = $user->save(); if ($result) { $session = Yii::$app->session; if (!$session->isActive) { $session->open(); } $session['user'] = ['id' => $result, 'username' => $user->username]; } return $result; }
/** * Finds user by [[username]] * * @return User|null */ public function getUser() { if ($this->_user === false) { $this->_user = User::findOne(Yii::$app->user->identity->id); } return $this->_user; }
/** * Finds user by [[username]] * * @return User|null */ protected function getUser() { if ($this->_user === null) { $this->_user = User::findByEmail($this->email); } return $this->_user; }
/** * Finds user by [[username]] * * @return User|null */ protected function getUser() { if ($this->_user === null) { $this->_user = User::findByUsername($this->username); } return $this->_user; }
public function findPasswords($attribute, $params) { $user = User::findOne(Yii::$app->user->getId()); if (!Yii::$app->getSecurity()->validatePassword($this->oldpass, $user->password_hash)) { $this->addError($attribute, Yii::t('app/user', 'Old password is incorrect')); } }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->password != $this->password2) { $this->addError('password2', \Yii::t('site', 'Пароли не совпадают!')); } if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { return $user; } } return null; }
/** * @param $attribute * @param $params * @return bool */ public function myValidatePassword($attribute, $params) { $model = User::find()->where(['username' => $this->username])->andWhere(['status' => 1])->one(); if (!empty($model) && $model->setPassword($this->{$attribute}) == $model->password) { return true; } $this->addError($attribute, 'The username or password is error!'); }
/** * @param $attribute * @param $params * @return bool */ public function validateOriginalPassword($attribute, $params) { $model = User::find()->where(['username' => Yii::$app->session['username']])->one(); if (!empty($model) && $this->{$attribute} == $model->password) { return true; } $this->addError($attribute, 'The original password is error!'); }
/** * Finds the User model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return User the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = User::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** @inheritdoc */ public function init() { $this->user = \Yii::createObject(['class' => User::className(), 'scenario' => 'register']); $this->module = \Yii::$app->getModule('user'); $this->user->on(User::USER_REGISTER_DONE, function ($event) { $event->sender->profile->name = $this->name; $event->sender->profile->save(); }); }
/** * Creates a new Post model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Post(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model, 'category' => Category::find()->all(), 'authors' => User::find()->all()]); } }
/** * @param $attribute * @param $params * @return bool */ public function validateOriginalPassword($attribute, $params) { $user = User::findModelByUsername(); //var_dump($user->setPassword($this->$attribute));echo '<br/><pre>';var_dump($user);die; if (!empty($user) && $user->setPassword($this->{$attribute}) == $user->password) { return true; } $this->addError($attribute, '密码错误!'); }
/** * @return array|null|\yii\db\ActiveRecord * @throws NotFoundHttpException */ public static function findModelByUsername() { if ($username = Yii::$app->session['__username']) { if (($model = User::find()->where(['username' => $username])->one()) !== null) { return $model; } } throw new NotFoundHttpException('The requested page does not exist.'); }
/** * Validates the password. * This method serves as the inline validation for password. * * @param string $attribute the attribute currently being validated * @param array $params the additional name-value pairs given in the rule */ public function validateEmail($attribute, $params) { if (!$this->hasErrors()) { $user_email = User::findByUsernameFromJsonValidate($this->email, 'email'); if ($user_email) { $this->addError($attribute, 'This email address has already been taken.'); } } }
/** * @param integer $id * * @return array|boolean */ public static function getCurrentUser($id) { /** @var $user User */ $user = User::findOne(['id' => $id]); if (isset($user)) { return $user; } return false; }
public function actionUser($mode = false, $key = false, $id = false, $provider = false) { $response = User::Initial()->Run($mode, $key, $id, $provider)->getResponse(); if (Yii::$app->request->isAjax) { echo json_encode($response['data']); exit; } else { return $this->render($response['render'], ['data' => $response['data']]); } }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->setScenario('signup'); $user->username = $this->username; $user->email = $this->email; $user->created_at = time(); $user->updated_at = time(); $user->password = $user->setPassword($this->password); //echo '<pre>';var_dump($user);die; if ($user->save()) { return true; } var_dump($user->getErrors()); die; } return null; }