/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * * @return \Illuminate\Http\Response */ public function postStore() { if (!empty($request['email'] = Input::get('email')) && !empty($request['password'] = Input::get('password'))) { if (!Sentinel::findByCredentials($request)) { if (mb_strlen(Input::get('password')) < 8) { $response['status'] = 'warning'; $response['message'] = trans('user_notifications.password_length'); } else { if (Sentinel::registerAndActivate($request)) { $response['status'] = 'success'; $response['message'] = trans('user_notifications.user_created'); } else { $response['status'] = 'error'; $response['message'] = trans('user_notifications.user_not_created'); } } } else { $response['status'] = 'error'; $response['message'] = trans('user_notifications.user_exists'); } } else { $response['status'] = 'warning'; $response['message'] = trans('global.all_fields_required'); } return response()->json($response); }
/** * 获取用户统计信息 * * @param int $flage 默认0,获取所有用户;1,获取已激活用户;2,获取未激活用户; * * @return mixed */ public function num_active_unactive($flage = 0) { $users = User::get(); //已激活用户 $active_user = array(); //未激活用户 $unactive_user = array(); //计数 $active_num = 0; $unactive_num = 0; foreach ($users as $k => $kValue) { //dump($kValue); $email = $kValue->email; $credentials0 = ["email" => $email]; $temp_user_info = Sentinel::findByCredentials($credentials0); if (Activation::completed($temp_user_info)) { $users[$k]['active'] = 1; $active_user[] = $users[$k]; ++$active_num; } else { $users[$k]['active'] = 0; $unactive_user[] = $users[$k]; ++$unactive_num; } } if ($flage == 1) { $users = $active_user; } if ($flage == 2) { $users = $unactive_user; } $data['active_num'] = number_format($active_num * 100 / ($active_num + $unactive_num), 2, '.', ''); $data['unactive_num'] = number_format($unactive_num * 100 / ($active_num + $unactive_num), 2, '.', ''); return $data; }
/** * Проверка Email на использование */ public function getCheckEmail(Request $request) { $user = Sentinel::findByCredentials(array('email' => $request->input('email'))); if (!$user) { return response()->json('true', 200); } else { return response()->json('Данный адрес уже зарегистрирован', 200); } }
/** * Reset the given user's password. * * @param \Illuminate\Http\Request $request * * @return \Illuminate\Http\Response */ public function postReset(Request $request) { $this->validate($request, ['token' => 'required', 'email' => 'required|email', 'password' => 'required_without:id|min:8|confirmed', 'password_confirmation' => 'required_with:password|min:8']); $user = Sentinel::findByCredentials($request->only('email', 'id')); if (!empty($user) || $user != null) { if (Reminder::exists($user) != false) { Reminder::complete($user, $request->token, $request->password); list($type, $msg, $redirect) = ['mensaje', 'auth.reminder_success', 'login']; } else { list($type, $msg, $redirect) = ['error', 'auth.remindernotfound', 'back']; } } else { list($type, $msg, $redirect) = ['error', 'auth.usernotfound', 'back']; } return $redirect == 'login' ? $this->sendResetResponse($type, $msg) : $this->sendResetFailedResponse($request, $type, $msg); }
public function postEmail(Request $request) { $this->validate($request, ['email' => 'required|email']); $user = Sentinel::findByCredentials(['email' => $request->only('email')]); if ($user && !Activation::completed($user)) { return redirect()->back()->withErrors(['email' => '该邮箱注册的账号并没有激活,请重新注册']); } $response = Password::sendResetLink($request->only('email'), function (Message $message) { $message->subject($this->getEmailSubject()); }); switch ($response) { case Password::RESET_LINK_SENT: return redirect()->back()->with('status', trans($response)); case Password::INVALID_USER: return redirect()->back()->withErrors(['email' => trans($response)]); } }
/** * Find a user by its credentials * @param array $credentials * @return mixed */ public function findByCredentials(array $credentials) { return Sentinel::findByCredentials($credentials); }
/** * {@inheritDoc} */ public function findByCredentials(array $data) { return Sentinel::findByCredentials($data); }
public function doRegister() { if (!empty($request['email'] = Input::get('email')) && !empty($request['password'] = Input::get('password'))) { if (!Sentinel::findByCredentials($request)) { if (!filter_var($request['email'], FILTER_VALIDATE_EMAIL)) { $response['status'] = 'warning'; $response['message'] = trans('user_notifications.invalid_email'); } else { if (mb_strlen(Input::get('password')) < 8) { $response['status'] = 'warning'; $response['message'] = trans('user_notifications.password_length'); } else { if (Sentinel::registerAndActivate($request)) { $user = Sentinel::authenticate($request); //If Authentication was successful if (!empty($user)) { Sentinel::loginAndRemember($user); } $data = ['sys_title' => $this->system['title'], 'sys_email' => $this->system['email'], 'user' => $user]; Mail::send('dressplace::emails.register', $data, function ($m) use($data) { $m->from($data['sys_email'], $data['sys_title']); $m->replyTo($data['sys_email'], $data['sys_title']); $m->to($data['user']['email'], $data['user']['email'])->subject(trans('client.register_mail')); }); $response['status'] = 'success'; $response['message'] = trans('user_notifications.user_created'); } else { $response['status'] = 'error'; $response['message'] = trans('user_notifications.user_not_created'); } } } } else { $response['status'] = 'error'; $response['message'] = trans('user_notifications.user_exists'); } } else { $response['status'] = 'warning'; $response['message'] = trans('global.all_fields_required'); } echo json_encode($response); }
public function postReset(Request $request) { $this->validate($request, ['email' => 'required|email|max:255|exists:users', 'password' => 'required|min:6']); $user = Sentinel::findByCredentials(['email' => $request->input('email')]); $reminder = Reminder::complete($user, $request->input('token'), $request->input('password')); if ($reminder) { return redirect()->route('auth.login'); } else { return redirect()->route('auth.password.reset', [$request->input('email'), $request->input('token')])->withInput()->withErrors(['token' => 'Token was incorrect']); } }
public function project_auto_default() { /** * 生成默认管理员账户 */ //默认管理员信息 $email = '*****@*****.**'; $credentials = ['email' => $email, 'password' => $email, 'first_name' => 'Zicnh', 'last_name' => 'Chegg']; //TODO::根据邮箱,查找用户信息 $credentials0 = ["email" => $email]; //判断默认管理员是否存在 $is_exist = Sentinel::findByCredentials($credentials0); if ($is_exist) { return; } //注册并激活默认管理员账户 $user = Sentinel::register($credentials, true); /** * 生成默认角色 */ //默认角色信息 $role = Sentinel::getRoleRepository()->createModel()->create(['name' => '全权管理员', 'slug' => 'zinch']); //当前项目所有权限 $permissions = $this->get_permission(); foreach ($permissions as $permission) { $permissions_array[$permission['name']] = true; } $role->permissions = $permissions_array; //$user->permissions属性值,需一次性赋值;否则会报错。 $role->save(); //给默认账户分配默认角色 $role->users()->attach($user); }
public function postActivation(RegisterRequest $request) { $email = $request->input('email'); $user = Sentinel::findByCredentials(['email' => $email]); // 设置用户名和密码 Sentinel::update($user, array('first_name' => $request->input('username'), 'password' => $request->input('password'))); // 激活用户账号 $status = Activation::complete($user, $request->input('code')); if (!$status) { return redirect('auth/register')->withErrors(array('邮件链接过期,请重新注册')); } if (Session::has(self::OAUTH_USER)) { $oauthInfo = Session::get(self::OAUTH_USER); $provider = $oauthInfo['provider']; $oauthUser = $oauthInfo['user']; $uid = OAuthAccount::where('oauth_id', $oauthUser->getId())->where('oauth_type', $provider)->pluck('uid'); if (!$uid) { // 绑定账号 $oAuthAccount = new OAuthAccount(); $oAuthAccount->uid = $user->id; $oAuthAccount->oauth_id = $oauthUser->getId(); $oAuthAccount->oauth_type = $provider; $oAuthAccount->created_at = time(); $oAuthAccount->save(); } } // 登录 Sentinel::login($user); return redirect($this->redirectPath()); }