public function forgottenPassword() { $view_data = array(); $rules = array('email' => 'required|email'); $validation = Validator::make(Request::all(), $rules); if ($_POST && $validation->fails()) { FormMessage::set($validation->messages()); } elseif ($_POST) { $email_addr = Request::input('email'); $user = User::where('email', '=', $email_addr)->first(); if ($user !== null) { if (!Auth::action('account.password', ['user_id' => $user->id])) { FormMessage::add('email', 'You can\'t change the password for this account'); } else { $code = urlencode(str_random(32) . microtime()); $user->tmp_code = $code; $user->tmp_code_created = new Carbon(); $user->save(); Mail::send('coaster::emails.forgotten_password', array('code' => $code), function ($message) use($email_addr) { $message->from(config('coaster::site.email')); $message->to($email_addr); $message->subject(config('coaster::site.name') . ': Forgotten Password'); }); $failures = Mail::failures(); if (empty($failures)) { $view_data['success'] = 'We have sent an email to you with a link to change your password.'; } else { FormMessage::add('email', 'There was an error sending mail, please contact <a href="mailto:support@web-feet.co.uk?Subject=' . config('coaster::site.name') . ': Forgotten Password">support</a>.'); } } } else { FormMessage::add('email', 'We couldn\'t find your records.'); } } $this->layoutData['title'] = 'Forgotten Password'; $this->layoutData['content'] = View::make('coaster::pages.forgotten_password', $view_data); }
public function postDelete() { $v = Validator::make(Request::all(), array('new_role' => 'required|integer')); $error = 'Invalid new role ID: ' . Request::input('new_role'); if ($v->passes()) { $error = 'Role does not exist with ID: ' . Request::input('role'); if ($role = UserRole::find(Request::input('role'))) { $error = 'New role ID must be different from the role being deleted'; if (Request::input('new_role') != $role->id) { User::where('role_id', '=', Request::input('role'))->update(['role_id' => Request::input('new_role')]); return json_encode($role->delete()); } } } return Response::make($error, 500); }