/** * Persist the changes. * * @param Password $password * @param PasswordFolder $folder * * @return bool */ public function persist(Password $password, PasswordFolder $folder) { $password->folder_id = $folder->id; $password->title = $this->input('title', $password->title); $password->website = $this->input('website', $password->website); $password->username = $this->input('username', $password->username); $password->password = $this->input('password', $password->password); $password->notes = $this->input('notes', $password->notes); return $password->save(); }
public function resetPassword(User $user) { $token = sha1(mt_rand()); $password = new Password(); $password->email = $user->email; $password->token = $token; $password->created_at = Carbon::now(); $password->save(); $data = ['first_name' => $user->first_name, 'token' => $token, 'subject' => 'Password Reset Link', 'email' => $user->email]; $this->userMailer->passwordReset($user->email, $data); }
/** * Reset the given user's password. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function reset(Request $request) { $this->validate($request, ['token' => 'required', 'password' => 'required|min:6']); $credentials = $request->only('password', 'token'); $credentials['password_confirmation'] = $credentials['password']; $credentials['email'] = PasswordModel::select('email')->where('token', $credentials['token'])->first(); $response = Password::reset($credentials, function ($user, $password) { $this->resetPassword($user, $password); }); switch ($response) { case Password::PASSWORD_RESET: return $this->getResetSuccessResponse($response); default: return $this->getResetFailureResponse($request, $response); } }
public function postPasswordResetForm($token) { $rules = ['password' => 'required|min:6|max:20', 'password_confirmation' => 'required|same:password']; $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { return redirect()->back()->withErrors($validator); } $password = Password::where('token', '=', $token)->first(); if (empty($password)) { return view('pages.status')->with('error', 'Reset token is invalid'); } $user = User::where('email', '=', $password->email)->first(); $user->password = Hash::make(Input::get('password')); $user->save(); $password->delete(); return redirect()->route('auth.login')->with('status', 'success')->with('message', 'Password changed successfully!'); }
public function actionPassword($code = null) { $message = null; $model = null; $user = $code ? User::findOne(['code' => $code]) : Yii::$app->user->identity; if ($user) { $model = new Password(['scenario' => $code ? 'reset' : 'default', 'user' => $user]); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ($code) { $user->code = null; if (!$user->auth) { $user->generateAuthKey(); } $user->setPassword($model->new_password); if ($user->save()) { return $this->redirect(['user/login']); } else { $message = 'User validation error'; } } else { if ($user->validatePassword($model->password)) { $user->setPassword($model->new_password); if ($user->save()) { return $this->redirect(['user/view', 'name' => $user->name]); } else { $message = 'User validation error'; } } else { $model->addError('password', Yii::t('app', 'Invalid password')); } } } } else { $message = Yii::t('app', 'Invalid code'); } return $this->render('password', ['model' => $model, 'message' => $message]); }
public function actionReset($id, $hash) { $ep = User::getEmailAndPassById($id); $email = $ep['email']; $pass = $ep['password_hash']; $hash1 = $email; for ($i = 0; $i < 13; ++$i) { $hash1 = sha1(md5($hash1) . $email . $pass . sha1($email)); } if ($hash == $hash1) { $model = new Password(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { $model1 = User::findOne($id); $model1->setPassword($model->password); $model1->save(); Yii::$app->user->login($model1); // @ todo пререкласти \Yii::$app->session->setFlash('notify', Yii::t('yii', 'Пароль успешно изменен')); return $this->redirect("/id" . $id); } return $this->render('reset', ['model' => $model]); } else { return $this->redirect('/'); } }
/** * Remove the specified resource from storage. * DELETE /passwords/{id} * * @param int $id * @return Response */ public function destroy($id) { $this->password->find($id)->delete(); return Response::json(array('message' => 'deleted')); }
public function actionPassword($id) { if (!\Yii::$app->user->isGuest) { $modeluser = $this->findModeluser($id); if (Yii::$app->user->identity->id == $id) { $modelpassword = new Password(); $modelpassword->username = $modeluser->username; if ($modelpassword->load(Yii::$app->request->post())) { if ($modelpassword->validate()) { $modeluser->setPassword($modelpassword->new_password); if ($modeluser->save()) { Yii::$app->session->setFlash('info', 'Новый парль сохранен.'); return $this->refresh(); } else { Yii::$app->session->setFlash('error', 'Новый парль не сохранен.'); return $this->refresh(); } } } return $this->render('password', ['model' => $modelpassword]); } else { Yii::$app->session->setFlash('error', 'У вас не прав доступа к этому разделу сайта.'); return $this->redirect(['index']); } } else { return $this->redirect(['login']); } }
public function actionPassword($code = null, $name = null) { /** @var User $user */ $message = null; $model = null; if (isset($_POST['name'])) { $name = $_POST['name']; } if ($name) { if (Yii::$app->user->identity->isAdmin() || $name == Yii::$app->user->identity->name) { $user = User::findOne(['name' => $name]); } else { throw new ForbiddenHttpException(); } } else { $user = $code ? User::findOne(['code' => $code]) : Yii::$app->user->identity; } if ($user) { $model = new Password(['scenario' => $code || $name ? 'reset' : 'default', 'user' => $user]); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ('reset' == $model->scenario) { $user->code = null; if (!$user->auth) { $user->generateAuthKey(); } $user->setPassword($model->new_password); if ($user->save()) { Yii::$app->session->addFlash('success', Yii::t('app', 'Password saved')); return Yii::$app->user->isGuest ? $this->redirect(['user/login']) : $this->redirect(['user/view', 'name' => $user->name]); } else { $message = json_encode($user->errors, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); } } else { if ($user->validatePassword($model->password)) { $user->setPassword($model->new_password); if ($user->save()) { Yii::$app->session->addFlash('success', Yii::t('app', 'Password saved')); return $this->redirect(['user/view', 'name' => $user->name]); } else { $message = json_encode($user->errors, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); } } else { $model->addError('password', Yii::t('app', 'Invalid password')); } } } } else { $message = Yii::t('app', 'Invalid code'); } return $this->render('password', ['model' => $model, 'message' => $message]); }