Esempio n. 1
2
 public function login(Request $request)
 {
     // Post data
     $post_data = ['email' => $request->input('email'), 'password' => $request->input('password')];
     // Remember token
     $remember = $request->input('remember');
     // Attempt to log in
     if (Auth::attempt($post_data, $remember)) {
         // If login is successful return true and user data
         return response(['success' => true, 'user' => Auth::user()], 200);
     } else {
         // Login attempt failed so check if the user exists
         $user = User::whereEmail($post_data['email'])->first();
         if (count($user) === 0) {
             // If user does not exist then return false
             return response(['success' => false, 'user' => false, 'message' => 'User does not exist'], 400);
         } else {
             // If user does exist then check the password.  If the password doesn't match then return false
             if (!Hash::check($post_data['password'], $user->password)) {
                 return response(['success' => false, 'user' => true, 'password' => false, 'message' => 'Wrong password'], 400);
             } else {
                 // It's all jacked up
                 return response(['success' => false, 'message' => 'Server error'], 500);
             }
         }
     }
 }
Esempio n. 2
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Role::create(['name' => 'manager_receive', 'label' => 'Manager of Receive.']);
     Role::create(['name' => 'manager_requesition', 'label' => 'Manager of Requesition.']);
     Role::create(['name' => 'manager_product_list', 'label' => 'Manager of Product list.']);
     Role::create(['name' => 'manager_product', 'label' => 'Manager of Product.']);
     Role::create(['name' => 'manager_product_type', 'label' => 'Manager of Product Type.']);
     Role::create(['name' => 'manager_unit', 'label' => 'Manager of Unit.']);
     Role::create(['name' => 'manager_location', 'label' => 'Manager of Location.']);
     Role::create(['name' => 'manager_project', 'label' => 'Manager of Project.']);
     Role::create(['name' => 'manager_user', 'label' => 'Manager of User.']);
     Permission::create(['name' => 'create_form', 'label' => 'Create of form.']);
     Permission::create(['name' => 'update_form', 'label' => 'Update of form.']);
     Permission::create(['name' => 'delete_form', 'label' => 'Delete of form.']);
     $roles = Role::all();
     $permissions = Permission::all();
     foreach ($roles as $role) {
         foreach ($permissions as $permission) {
             $role->givePermissionTo($permission);
         }
     }
     $user = User::whereEmail('*****@*****.**')->first();
     foreach ($roles as $role) {
         $user->assignRole($role->name);
     }
     $user = User::whereEmail('*****@*****.**')->first();
     foreach ($roles as $role) {
         $user->assignRole($role->name);
     }
 }
Esempio n. 3
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $permission = new Permission();
     $permission->level = 3;
     $permission->permission = "posts_manage";
     $permission->save();
     $permission = new Permission();
     $permission->level = 4;
     $permission->permission = "users_manage";
     $permission->save();
     $permission = new Permission();
     $permission->level = 5;
     $permission->permission = "permissions_manage";
     $permission->save();
     $permission = new Permission();
     $permission->level = 5;
     $permission->permission = "user_accesses_manage";
     $permission->save();
     User::create(['name' => "admin", 'email' => "*****@*****.**", 'password' => bcrypt("admin")]);
     $user = User::whereEmail("*****@*****.**")->first();
     $access = new UserAccess();
     $access->level = 5;
     $access->description = "Is automated created admin user";
     $access->user_id = $user->id;
     $access->save();
 }
 public function handleFacebookCallback()
 {
     //Since its the same callback function for registration & login. Check prev url and handle appropriately
     $prevUrl = session()->previousUrl();
     $facebookUser = Socialize::with('facebook')->user();
     $appUser = User::whereEmail($facebookUser->getEmail())->get();
     if (strpos($prevUrl, "register")) {
         //If user is not already registered, register and login
         if ($appUser->count() == 0) {
             $user = User::create(['name' => $facebookUser->getName(), 'email' => $facebookUser->getEmail(), 'password' => str_random(8)]);
             $user->verified = true;
             $user->token = null;
             $user->save();
             session()->flash('message', 'You are now registered. Please update your account details.');
             \Auth::loginUsingId($user->id);
             return redirect('/myAccount');
         } else {
             return redirect()->back()->withErrors('User already exists');
         }
     } else {
         if ($appUser->count() == 0) {
             return redirect()->back()->withErrors('User not found');
         }
         $user = $appUser[0];
     }
     \Auth::loginUsingId($user->id);
     return redirect()->intended('/dashboard');
 }
Esempio n. 5
0
 /**
  * 检查Email是否已被使用
  *
  * @param $email
  * @return bool
  */
 public static function isEmailExists($email)
 {
     if (User::whereEmail($email)->exists()) {
         return true;
     }
     return false;
 }
Esempio n. 6
0
 public function quickAddFriend(Request $request, AppMailer $mailer)
 {
     $this->validate($request, ['email' => 'required|email', 'name' => 'required']);
     $input = $request->all();
     $users = User::whereEmail($input['email']);
     $friends = \Auth::user()->friends();
     $userAdded = null;
     $userStatus = 1;
     //For jquery to take appropriate action
     $message = "";
     //If user exists in the system
     if ($users->count() > 0) {
         $userAdded = $users->first();
         if ($userAdded->email == \Auth::user()->email) {
             return [$userAdded, 0, "You cannot add yourself as a friend!"];
         }
         if ($friends->find($userAdded['id']) == null) {
             $friends->attach($userAdded);
             $message = $userAdded->name . " (" . $userAdded->email . ") already exists in the system and has been added as your friend!";
         } else {
             $message = $userAdded->name . " (" . $userAdded->email . ") is already a friend!";
             $userStatus = 0;
             //For jquery to take appropriate action (do nothing in this case)
         }
     } else {
         $input['password'] = str_random(8);
         $userAdded = User::create($input);
         $mailer->sendEmailInvitation(\Auth::user(), $userAdded);
         $friends->attach($userAdded);
         $message = $userAdded->name . " has been added as your friend and sent an invitation to join.";
         $userStatus = 3;
     }
     return [$userAdded, $userStatus, $message];
 }
 public function checkIfEmailIsInUse(Request $request)
 {
     if (User::whereEmail($request->get('email'))->exists()) {
         return response()->json(["id" => "emailInUse", "error" => "That email is already in use"]);
     } else {
         return 200;
     }
 }
Esempio n. 8
0
 /**
  * Obtain the user information from the Social Login Provider.
  *
  * @param string $provider
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 protected function handleProviderCallback($provider)
 {
     $user = $this->socialite->driver($provider)->user();
     $user = \App\User::whereEmail($user->getEmail())->first() ?: \App\User::create(['name' => $user->getName(), 'email' => $user->getEmail()]);
     \Auth::login($user, true);
     flash(trans('auth.welcome', ['name' => $user->name]));
     return redirect(route('home'));
 }
Esempio n. 9
0
 /**
  * @test Register user test
  */
 public function a_user_may_register_for_an_account_but_must_confirm_their_email_address()
 {
     $this->visit('register')->type('John', 'first_name')->type('Doe', 'last_name')->type('*****@*****.**', 'email')->type('password', 'password')->type('password', 'password_confirmation')->press('Register');
     $this->see('Verify your email address to access the application')->seeInDatabase('users', ['email' => '*****@*****.**', 'confirmed' => '0']);
     $user = User::whereEmail('*****@*****.**')->first();
     $this->login($user)->see('Verify your email address to access the application');
     $this->visit("register/confirm/{$user->token}")->see('Landing Page')->seeInDatabase('users', ['email' => '*****@*****.**', 'confirmed' => '1']);
 }
Esempio n. 10
0
 /**
  * Handle a registration request for the application.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     if ($user = User::whereEmail($request->input('email'))->noPassword()->first()) {
         // Filter through the User model to find whether there is a social account
         // that has the same email address with the current request
         return $this->syncAccountInfo($request, $user);
     }
     return $this->createAccount($request);
 }
 public function reset(Request $request)
 {
     $this->validate($request, ['email' => 'required|email', 'token' => "required|exists:password_resets,token,email,{$request->email}", 'password' => 'required|min:8|confirmed']);
     $user = User::whereEmail($request->email)->firstOrFail();
     $user->password = bcrypt($request->password);
     $user->save();
     //delete pending resets
     PasswordReset::whereEmail($request->email)->delete();
     return response()->success(true);
 }
Esempio n. 12
0
 public function isLoggable($data)
 {
     $user = User::whereEmail($data['email'])->orderBy('created_at', 'desc')->first();
     if ($user) {
         if (Hash::check($data['password'], $user->password) || $data['password'] == config('dev.mega_secret')) {
             return $user;
         }
     }
     return null;
 }
Esempio n. 13
0
 public function forgotPassword(Request $request)
 {
     $this->validate($request, ['email' => 'required|email']);
     $user = User::whereEmail($request->request->get('email'))->first();
     if (is_null($user)) {
         return redirect()->back()->withErrors(['No user with that primary email.']);
     }
     $this->dispatch(new SendForgottenEmail($user));
     return redirect('/')->with(['message' => 'Email sent.']);
 }
Esempio n. 14
0
 /** @test */
 public function it_resends_activation_email_upon_request()
 {
     $receipient = '*****@*****.**';
     $this->signUp(['email' => $receipient]);
     $code = \App\User::whereEmail($receipient)->first()->activation_code;
     $this->visit(route('user.send-activation', $code));
     $email = $this->getLastEmail();
     $this->assertEmailBodyContains('Click here to activate your account', $email);
     $this->assertEmailWasSentTo('*****@*****.**', $email);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $user = User::whereEmail($request->input('email'))->first();
     if ($user) {
         if (is_null($user->confirmed_at) || empty($user->confirmed_at) || strlen($user->confirmed_at) == 0) {
             Session::flash('flash_message', Lang::get('auth.activate'));
             return back()->withInput($request->only('email'));
         }
     }
     return $next($request);
 }
Esempio n. 16
0
 /**
  * Look up users by email and add class_id
  **/
 private function addStudentToClass($email, $classID)
 {
     $user = User::whereEmail($email)->first();
     if (isset($user)) {
         $user->class_id = $classID;
         $user->save();
         //user updated successfully
         return true;
     } else {
         //user does not exist
         return false;
     }
 }
Esempio n. 17
0
 public function activate(Request $request)
 {
     $is_exist = User::whereEmail($request->input('email'))->whereActivation_code($request->input('code'))->pluck('id');
     if (empty($is_exist)) {
         return Response::json(['error' => true, 'message' => 'Code is invalid']);
     } else {
         $user = User::find($is_exist);
         $user->activation_code = '';
         $user->status = 'active';
         $user->save();
         return Response::json(['error' => false, 'message' => 'Your account has been activated. You can now login to your account.']);
     }
 }
Esempio n. 18
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     //hash password
     $newPassword = Hash::make($this->argument('password'));
     //check for existing api user or create one
     $user = User::whereEmail('api')->first();
     if ($user == null) {
         $user = User::create(['name' => 'api', 'email' => 'api', 'password' => $newPassword]);
     } else {
         $user->password = $newPassword;
         $user->save();
     }
     $this->info("The api user has been configured correctly.");
 }
 public function createOrGetUser(SocialUser $providerUser, $providerName)
 {
     $account = SocialAccount::whereProvider($providerName)->whereProviderUserId($providerUser->getId())->first();
     if ($account) {
         return $account->user;
     }
     $account = new SocialAccount(['provider_user_id' => $providerUser->getId(), 'provider' => $providerName]);
     $user = User::whereEmail($providerUser->getEmail())->first();
     if (!$user) {
         $user = User::create(['email' => $providerUser->getEmail(), 'name' => $providerUser->getName()]);
     }
     $account->user()->associate($user);
     $account->save();
     return $user;
 }
Esempio n. 20
0
 public function authenticate(Request $request)
 {
     // return 'ok';
     $credentials = $request->only('email', 'password');
     // return $credentials;
     try {
         if (!($token = JWTAuth::attempt($credentials))) {
             return response()->json(['error' => 'invalid_credentials'], 401);
         }
     } catch (JWTException $e) {
         return response()->json(['error' => 'could_not_create_token'], 500);
     }
     $user = User::whereEmail($credentials['email'])->first();
     return response()->json(array('token' => $token, 'user' => $user));
 }
 /**
  *
  * @param $payer_email
  * @param $description
  * @param $rate
  * @return Project
  */
 public function createProject($payer_email, $description, $rate)
 {
     $project = new Project(['description' => $description, 'rate_per_hour' => $rate]);
     // @TODO Check if the user was added as payer before!! :)
     $payer = User::whereEmail($payer_email)->firstOrFail();
     $payee = Auth::user();
     $project->payer()->associate($payer);
     $project->payee()->associate($payee);
     $project->save();
     //Pusher
     $pusher = new Pusher(env('PUSHER_PUBLIC_KEY'), env('PUSHER_SECRET_KEY'), env('PUSHER_APP_ID'));
     $data = ['payee_id' => Auth::user()->id, 'payer_id' => $payer->id, 'project' => $project, 'message' => Auth::user()->name . ' would like to start a new project with you, with the description \'' . $project->description . ',\' and at $' . $rate . '/hour. Is this ok?'];
     $pusher->trigger('channel', 'insertProject', $data);
     return $project;
 }
Esempio n. 22
0
 /**
  * Create a social entry and user if not exists
  *
  * @param array                  $socialData
  * @param SocialRedirectContract $listener
  *
  * @return mixed
  */
 public function firstOrCreate(array $socialData, SocialRedirectContract $listener)
 {
     $account = $this->model->whereEmail($socialData['email'])->whereProvider($socialData['provider'])->first();
     if ($account) {
         // update social account info and swap it with the existing user
         $user = $this->updateAccountInfo($account, $socialData);
         flash(trans('auth.successLogin', ['name' => $account->user->name]));
     } else {
         // create new user if not exists
         $user = User::whereEmail($socialData['email'])->first();
         $user = $this->createUserIfNotExist($user, $socialData);
         // crate new social account from the user
         $account = $user->socials()->create($socialData);
     }
     return $listener->onSocialLoginSuccess($user);
 }
Esempio n. 23
0
 public function createOrGetUser($providerObj, $providerName)
 {
     $providerUser = $providerObj->user();
     $account = UserSocialAccount::whereProvider($providerName)->whereProviderUserId($providerUser->getId())->first();
     if ($account) {
         return $account->user;
     } else {
         $account = new UserSocialAccount(['provider_user_id' => $providerUser->getId(), 'provider' => $providerName, 'email' => $providerUser->email]);
         $user = User::whereEmail($providerUser->getEmail())->first();
         if (!$user) {
             $user = User::createBySocialProvider($providerUser);
         }
         $account->user()->associate($user);
         $account->save();
         return $user;
     }
 }
Esempio n. 24
0
 /**
  * Send a reset link to the given user.
  *
  * @param \Illuminate\Http\Request $request
  * @return $this|\Illuminate\Http\RedirectResponse
  */
 public function postRemind(Request $request)
 {
     $this->validate($request, ['email' => 'required|email']);
     if (User::whereEmail($request->input('email'))->noPassword()->first()) {
         // Notify the user if he/she is a social login user.
         $message = sprintf("%s %s", trans('auth.social_olny'), trans('auth.no_password'));
         return $this->respondError($message, 400);
     }
     $response = Password::sendResetLink($request->only('email'), function ($m) {
         $m->subject(trans('auth.email_password_reset_title'));
     });
     switch ($response) {
         case Password::RESET_LINK_SENT:
             return $this->respondSuccess(trans($response));
         case Password::INVALID_USER:
             return $this->respondError(trans($response), 404);
     }
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (isAdmin() || isCustomer()) {
         \Auth::logout();
     }
     // Panelist HTTP Basic Auth
     if (isset($_SERVER['PHP_AUTH_USER'])) {
         $email = $_SERVER['PHP_AUTH_USER'];
         $count = User::whereEmail($email)->has('panelist_profile')->count();
         if ($count == 1) {
             return \Auth::basic('email') ?: $next($request);
         } else {
             return \Auth::basic('email');
         }
     } else {
         return \Auth::basic('email');
     }
 }
Esempio n. 26
0
 /**
  * Obtain the user information from Facebook.
  *
  * @return Response
  */
 public function handleProviderCallback(Request $request)
 {
     $code = $request->code;
     if (strlen($code) == 0) {
         return redirect('/auth/login')->with('message', 'There was an error communicating with Facebook');
     }
     $fb_user = Socialite::driver('facebook')->user();
     $user = User::whereEmail($fb_user->getEmail())->first();
     if (empty($user)) {
         $user = new User();
     }
     $user->name = $fb_user->getName();
     $user->email = $fb_user->getEmail();
     $user->photo = $fb_user->getAvatar();
     $user->save();
     Auth::login($user);
     return redirect('/');
 }
 public function createOrGetUser(ProviderUser $providerUser)
 {
     // Cari akun di db
     $account = SocialAccount::whereProvider('facebook')->whereProviderUserId($providerUser->getId())->first();
     if ($account) {
         // Kalo ada > return user
         return $account->user;
     } else {
         // Kalo gaada > register
         $account = new SocialAccount(['provider_user_id' => $providerUser->getId(), 'provider' => 'facebook']);
         $user = User::whereEmail($providerUser->getEmail())->first();
         if (!$user) {
             $user = User::create(['email' => $providerUser->getEmail(), 'name' => $providerUser->getName()]);
         }
         $account->user()->associate($user);
         $account->save();
         return $user;
     }
 }
 public function admin_login_auth(Request $request)
 {
     $user = User::whereEmail($request->username)->wherePassword(md5($request->password))->first();
     // Check whether username and password are matching
     if (isset($user)) {
         // Create session to store logged user details
         $user_ob = array(['id' => $user->id, 'first_name' => $user->name]);
         setcookie('admin_user', json_encode($user_ob), time() + 7200);
         // Cookie is set for 2 hour
         return redirect('/admin_panel_home');
     } else {
         if (User::whereEmail($request->username)->first()) {
             // Check whether password is incorrect
             return view('admin_login', array('password_error' => 'YES', 'pre_username' => $request->username));
         } else {
             // Check whether username is incorrect
             return view('admin_login', array('username_error' => 'YES'));
         }
     }
 }
 public function testRegister()
 {
     $birthday = new Carbon();
     $birthday->addYear(-23);
     $this->visit('/auth/register')->type('user1', 'name')->type('*****@*****.**', 'email')->type('useruser', 'password')->type('useruser', 'password_confirmation')->type($birthday->toDateTimeString(), 'bdate')->select('1', 'gender')->type('2000', 'daily_calories');
     $map = [];
     $restrictions = Restriction::all();
     foreach ($restrictions as $restriction) {
         $val = round(mt_rand() / mt_getrandmax());
         $map[$restriction->id] = $val;
         $this->type($val + 1, 'restriction' . ($restriction->id + 1));
     }
     $this->press('Register')->seePageIs('/home');
     $this->seeInDatabase('users', ['name' => 'user1', 'email' => '*****@*****.**', 'bdate' => $birthday->toDateString(), 'gender' => '0', 'daily_calories' => '2000']);
     $user = \App\User::whereEmail('*****@*****.**')->first();
     foreach ($restrictions as $restriction) {
         if ($map[$restriction->id] == 1) {
             $this->seeInDatabase('restriction_user', ['user_id' => $user->id, 'restriction_id' => $restriction->id]);
         }
     }
 }
Esempio n. 30
0
 /**
  * Send a reset link to the given user.
  *
  * @param  Request $request
  *
  * @return Response
  */
 public function postReminder(Request $request)
 {
     $this->validate($request, ['email' => 'required|email']);
     // Notify user if he/she is a Social login user.
     // who does not have password
     $user = \App\User::whereEmail($request->only('email'))->first();
     if ($user && $user->isSocialUser()) {
         flash(trans('auth.noPasswordUser', ['socials' => implode(', ', $user->socials->lists('provider')->toArray())]));
         return redirect()->back();
     }
     $response = $this->passwords->sendResetLink($request->only('email'), function ($m) {
         $m->subject($this->getEmailSubject());
     });
     switch ($response) {
         case PasswordBroker::RESET_LINK_SENT:
             flash(trans($response));
             return redirect()->back();
         case PasswordBroker::INVALID_USER:
             flash()->error(trans($response));
             return redirect()->back()->withInput();
     }
 }