/** * Attempts to find the member and send them an email * * @param \common\models\Member $member * @return bool */ public function saveMember($member) { if ($this->password && $this->password !== $member->password) { $member->setRawPassword($this->password); } $member->name = $this->name; $member->save(); return true; }
/** * Attempts to find the member and send them an email * * @param \common\models\Member $member * @return bool */ public function save($member) { if (strlen($this->password) < 8) { $this->addError('password', 'Password must be at least 8 characters'); } else { $member->setRawPassword($this->password); $member->passwordResetKey = ''; return $member->save(); } }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new Member(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { return $user; } } return null; }
/** * Finds member by [[username]] * * @return Member|null */ public function getMember() { if ($this->_member === null) { $this->_member = Member::findByUsername($this->username); } return $this->_member; }
public function checkUsername($attribute, $param) { $existUser = Member::find()->where(['=', 'username', $this->membername])->one(); if (!$existUser) { $this->addError($attribute, '该用户不存在!'); } }
/** * Finds user by [[username]] * * @return User|null */ public function getUser() { if ($this->_user === false) { $this->_user = Member::findByUsername($this->username); } return $this->_user; }
/** * Finds user by [[email]] * * @return User|null */ protected function getUser() { if ($this->_user === null) { $this->_user = Member::findByEmail($this->email); } return $this->_user; }
public function actionMemberList($id = 0) { if ($id) { return Member::findOne($id)->username; } else { return $this->_list(new Member(), 'member-list'); } }
/** * Deletes an existing MemberCategory model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { $memberModel = Member::find()->andWhere(['category_id' => $id])->one(); if (null === $memberModel) { $this->findModel($id)->delete(); } else { Yii::$app->session->setFlash('alert', ['body' => \Yii::t('backend', 'Can not delete category #' . $id . '. It used in other table. Change member for project #' . $projectModel->id . ' before delete.'), 'options' => ['class' => 'alert-error']]); } return $this->redirect(['index']); }
public function actionIndex() { $members = Member::findAll(array()); foreach ($members as $member) { $member->finance_fund -= System::loadConfig('annual_fee'); $outRecord = OutRecord::prepareYearlyFeeRecord($member->id, $member->finance_fund); $member->save(); $outRecord->save(); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Member::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => 100], 'sort' => ['defaultOrder' => ['id' => SORT_DESC]]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'role' => $this->role, 'status' => $this->status]); $query->andFilterWhere(['like', 'username', $this->username])->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])->andFilterWhere(['like', 'phone', $this->phone])->andFilterWhere(['like', 'city', $this->city])->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'avatar', $this->avatar])->andFilterWhere(['like', 'banner_top', $this->banner_top])->andFilterWhere(['like', 'params', $this->params])->andFilterWhere(['like', 'position', $this->position])->andFilterWhere(['like', 'hobby', $this->hobby])->andFilterWhere(['like', 'updateDate', $this->updateDate])->andFilterWhere(['like', 'createDate', $this->createDate])->andFilterWhere(['like', 'description', $this->description]); return $dataProvider; }
/** * Attempts to find the member and send them an email * * @return bool */ public function register() { $member = Member::find()->where(['email' => ['like', 'email', $this->email]])->limit(1)->one(); if (!$member) { // Create a new member $member = new Member(); $member->email = $this->email; $member->name = $this->name; $member->isActive = 0; $member->passwordResetKey = Util::getRandomString(32); $member->setRawPassword($this->password); $member->save(); $encrypted = JWT::encode(['i' => $member->id, 'k' => $member->passwordResetKey], Yii::$app->params['secret']); // Send email return Yii::$app->mailer->compose(['html' => 'register/html', 'text' => 'register/text'], ['encrypted' => $encrypted, 'member' => $member])->setFrom(Yii::$app->params['fromEmail'])->setTo($this->email)->setSubject('Registration Confirmation - ' . Yii::$app->params['siteName'])->send(); } else { $this->addError('email', 'An account already exists for ' . $this->email); } return false; }
/** * Creates a form model given a token. * * @param string $token * @param array $config name-value pairs that will be used to initialize the object properties * @throws \yii\base\InvalidParamException if token is empty or not valid */ public function __construct($token, $config = []) { if (empty($token) || !is_string($token)) { throw new InvalidParamException('Password reset token cannot be blank.'); } $this->_user = Member::findByPasswordResetToken($token); if (!$this->_user) { throw new InvalidParamException('Wrong password reset token.'); } parent::__construct($config); }
/** * Creates data provider instance with search query applied * @return ActiveDataProvider */ public function search($params) { $query = Member::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'slug' => $this->slug, 'author_id' => $this->author_id, 'category_id' => $this->category_id, 'updater_id' => $this->updater_id, 'status' => $this->status, 'published_at' => $this->published_at, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'slug', $this->slug])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'weight', $this->weight])->andFilterWhere(['like', 'body', $this->body]); return $dataProvider; }
public function actionInit() { $model = new User(); $model->username = '******'; $model->auth_key = 'OocVKRx-iludROmUFYj4HmxNeC8v0-FG'; $model->password_hash = '$2y$13$0d3FeUDYGSyZft.3I77hV.E357FsqqAJFqaWPstWODMbdlSvxV2gC'; $model->email = '*****@*****.**'; $model->phone = '6281575068530'; $model->role = User::ROLE_ADMIN; $model->status = User::STATUS_ACTIVE; if ($model->save()) { echo "\r\n success insert user, with username:admin and password:123456 \r\n"; } else { echo json_encode($model->getErrors()); } $model = new Member(); $model->username = '******'; $model->auth_key = 'OocVKRx-iludROmUFYj4HmxNeC8v0-FG'; $model->password_hash = '$2y$13$0d3FeUDYGSyZft.3I77hV.E357FsqqAJFqaWPstWODMbdlSvxV2gC'; $model->email = '*****@*****.**'; $model->phone = '6281575068530'; $model->role = Member::ROLE_ADMIN; $model->status = Member::STATUS_ACTIVE; if ($model->save()) { echo "\r\n success insert member, with username:admin and password:123456 \r\n"; } else { echo json_encode($model->getErrors()); } $setting = new Setting(); $setting->emailAdmin = '*****@*****.**'; $setting->emailSupport = '*****@*****.**'; $setting->emailOrder = '*****@*****.**'; $setting->facebook = 'https://www.facebook.com/sintret'; $setting->instagram = 'https://instagram.com/andyfitria/'; $setting->google = 'https://google.com/sintret/'; if ($setting->save()) { echo "\r\n success insert advanced settings... \r\n"; } else { echo json_encode($setting->getErrors()); } }
/** * Signs user up. * * @return Member |null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new Member(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); $user->status = Member::STATUS_ACTIVE; if ($user->save()) { Yii::$app->session->setFlash('success', 'Well done! successfully to registered data! '); $notification = new Notification(); $notification->title = 'member'; $notification->message = 'new member, username:'******'model' => 'Member', 'id' => $user->id]); if ($notification->save()) { $this->sendEmail($this->email); Yii::$app->session->setFlash('success', 'please check your email! '); } else { print_r($notification->getErrors()); exit(0); } return $user; } else { return $user->getErrors(); } } return null; }
public function actionAdd() { $model = new FundTransaction(); if ($model->load(Yii::$app->request->post())) { if ($model->validate()) { $model->member_id = Member::find()->where(['=', 'username', $model->membername])->one()->id; if ($model->save()) { return $this->redirect(['history']); } } } return $this->render('add', ['model' => $model]); }
/** * 获得会员的等级 * @param int $uid 会员id * @return string */ public function getMemberRank($uid) { $uScore = Member::findOne($uid)->score; $list = $this->find()->orderBy('score DESC')->all(); $title = ''; foreach ($list as $val) { if ($uScore >= $val['score']) { $title = $val['rank_name']; break; } } return $title; }
/** * Sends an email with a link, for resetting the password. * * @return boolean whether the email was send */ public function sendEmail() { /* @var $user User */ $user = Member::findOne(['status' => Member::STATUS_ACTIVE, 'email' => $this->email]); if ($user) { if (!User::isPasswordResetTokenValid($user->password_reset_token)) { $user->generatePasswordResetToken(); } if ($user->save()) { return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Password reset for ' . \Yii::$app->name)->send(); } } return false; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Member::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, 'birthday' => $this->birthday, 'count' => $this->count, 'status' => $this->status, 'createtime' => $this->createtime]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'password', $this->password])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'realname', $this->realname])->andFilterWhere(['like', 'telephone', $this->telephone])->andFilterWhere(['like', 'qq', $this->qq])->andFilterWhere(['like', 'auth_key', $this->auth_key])->andFilterWhere(['like', 'password_reset_token', $this->password_reset_token]); return $dataProvider; }
/** * Site Homepage * * @return string */ public function actionView() { $memberId = (int) $this->request->getQueryParam('id'); if (!$memberId) { return $this->goHome(); } $member = Member::find()->where(['id' => $memberId])->limit(1)->one(); if (!$member) { return $this->goHome(); } $snippetCount = Snippet::find()->where(['memberId' => $member->id, 'isHidden' => 0])->count(); $commentCount = SnippetComment::find()->where(['memberId' => $member->id])->count(); return $this->render('view', ['member' => $member, 'snippetCount' => $snippetCount, 'commentCount' => $commentCount, 'snippets' => MemberSnippetsList::get($member)]); }
public function search($params) { $query = Member::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['id' => SORT_DESC]], 'pagination' => ['pageSize' => 20]]); // load the seach form data and validate if (!($this->load($params) && $this->validate())) { return $dataProvider; } $dateBegin = strtotime($this->date); $dateEnd = $dateBegin + 86400; // adjust the query by adding the filters $query->andFilterWhere(['store_id' => $this->store_id])->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'real_name', $this->real_name])->andFilterWhere(['gender' => $this->gender])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'mobile', $this->mobile])->andFilterWhere(['status' => $this->status])->andFilterWhere(['>=', 'created_at', $this->date ? $dateBegin : null])->andFilterWhere(['<', 'created_at', $this->date ? $dateEnd : null]); return $dataProvider; }
/** * Creates data provider instance with search query applied * @return ActiveDataProvider */ public function search($params) { $query = Member::find(); if (!\Yii::$app->user->can('administrator')) { $query->forDomain(); } $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'slug' => $this->slug, 'author_id' => $this->author_id, 'category_id' => $this->category_id, 'updater_id' => $this->updater_id, 'status' => $this->status, 'published_at' => $this->published_at, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'domain_id' => $this->domain_id]); $query->andFilterWhere(['like', 'slug', $this->slug])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'weight', $this->weight])->andFilterWhere(['like', 'body', $this->body])->andFilterWhere(['like', 'before_body', $this->before_body])->andFilterWhere(['like', 'after_body', $this->after_body])->andFilterWhere(['like', 'on_scenario', $this->on_scenario]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Member::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, 'role' => $this->role, 'status' => $this->status, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'username', $this->username])->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])->andFilterWhere(['like', 'member_name', $this->member_name]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Member::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, 'locked' => $this->locked, 'role_id' => $this->role_id, 'investment' => $this->investment, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'approved_at' => $this->approved_at, 'buy_stack' => $this->buy_stack, 'added_by' => $this->added_by, 'stack_fund' => $this->stack_fund, 'finance_fund' => $this->finance_fund]); $query->andFilterWhere(['like', 'auth_key', $this->auth_key])->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'access_token', $this->access_token])->andFilterWhere(['like', 'nickname', $this->nickname])->andFilterWhere(['like', 'password_hash', $this->password_hash])->andFilterWhere(['like', 'password_hash2', $this->password_hash2])->andFilterWhere(['like', 'identity', $this->identity])->andFilterWhere(['like', 'phone', $this->phone])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'bank', $this->bank])->andFilterWhere(['like', 'cardname', $this->cardname])->andFilterWhere(['like', 'cardnumber', $this->cardnumber])->andFilterWhere(['like', 'bankaddress', $this->bankaddress])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'qq', $this->qq]); return $dataProvider; }
public function actionLogin() { $username = \Yii::$app->request->post('username'); $password = \Yii::$app->request->post('password'); try { /** @var Member $member */ $member = Member::find()->where(['username' => $username])->one(); if ($member->validatePassword($password)) { return ['token' => $member->getAuthKey()]; } throw new Exception(); } catch (Exception $e) { throw new \HttpInvalidParamException('用户名或密码错误'); } }
public function actionStatus($id) { Yii::$app->response->format = Response::FORMAT_JSON; $status = Yii::$app->request->post('status'); $model = Member::findOne($id); if (!$model || !in_array($status, [Member::STATUS_ACTIVE, Member::STATUS_BLOCKED])) { throw new BadRequestHttpException('请求错误!'); } $model->status = $status; if ($model->save(false)) { return ['status' => 'success', 'data' => []]; } else { return ['status' => 'fail', 'data' => ['message' => '更新出错!']]; } }
/** * Attempts to login * * @return bool */ public function authenticate() { // Try to find member with this email $member = Member::find()->where(['email' => $this->email])->andWhere('password != ""')->limit(1)->one(); /* @var $member Member */ if ($member) { if (password_verify($this->password, $member->password)) { setcookie('k', $member->getCookieKey(), strtotime('+1 day')); Yii::$app->session->set('memberId', $member->id); Yii::$app->session->set('memberKey', $member->getMemberKey()); return true; } } $this->addError('email', 'Invalid Credentials'); return false; }
/** * 记录帐户变动 * @param int $uid 用户id * @param float $user_money 可用余额变动 * @param float $frozen_money 冻结余额变动 * @param int $rank_points 等级积分变动 * @param int $pay_points 消费积分变动 * @param string $change_desc 变动说明 * @param int $change_type 变动类型 * @return void */ public function log_account_change($uid, $user_money = 0, $frozen_money = 0, $rank_points = 0, $pay_points = 0, $change_desc = '', $change_type = 99) { /* 记录资金变动信息 */ $this->uid = $uid; $this->user_money = $user_money; $this->frozen_money = $frozen_money; $this->rank_points = $rank_points; $this->pay_points = $pay_points; $this->change_time = time(); $this->change_desc = $change_desc; $this->change_type = $change_type; $this->save(false); /* 更新用户信息 */ $Member = Member::findOne($uid); $Member->user_money += $user_money; $Member->frozen_money += $frozen_money; $Member->rank_points += $rank_points; $Member->pay_points += $pay_points; $Member->save(false); }
/** * Attempts to find the member and send them an email * * @return bool */ public function sendEmail() { $member = Member::find()->where(['email' => ['like', 'email', $this->email]])->limit(1)->one(); /* @var $member \yii\db\ActiveRecord */ if ($member) { if ($member->isActive) { // Create a new Password Reset Key $member->passwordResetKey = Util::getRandomString(32); $member->save(); $encrypted = JWT::encode(['i' => $member->id, 'k' => $member->passwordResetKey], Yii::$app->params['secret']); // Send email return Yii::$app->mailer->compose(['html' => 'password-reset/html', 'text' => 'password-reset/text'], ['encrypted' => $encrypted, 'member' => $member])->setFrom(Yii::$app->params['fromEmail'])->setTo($this->email)->setSubject('Password Reset - ' . Yii::$app->params['siteName'])->send(); } else { $this->addError('email', 'You account is not active.'); } } else { $this->addError('email', 'Could not find you!'); } return false; }