/**
  * Handle a login request to the application.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function postLogin(AdminRequest $request)
 {
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     if (Auth::attempt(['username' => $request->username, 'password' => $request->password]) || Auth::attempt(['email' => $request->username, 'password' => $request->password])) {
         return redirect()->intended($this->redirectPath());
     }
     return redirect($this->loginPath())->withInput($request->only($this->loginUsername(), 'remember'))->withErrors([$this->loginUsername() => $this->getFailedLoginMessage()]);
     // $this->validate($request, [
     //     $this->loginUsername() => 'required', 'password' => 'required',
     // ]);
     // $credentials = $this->getCredentials($request);
     // $throttles = in_array(
     //     ThrottlesLogins::class, class_uses_recursive(get_class($this))
     // );
     // if ($throttles && $this->hasTooManyLoginAttempts($request)) {
     //     return $this->sendLockoutResponse($request);
     // }
     // if (Auth::attempt($this->getCredentials($request), $request->has('remember'))) {
     //     if ($throttles) {
     //         $this->clearLoginAttempts($request);
     //     }
     //     return redirect()->intended($this->redirectPath());
     // }
     // if ($throttles) {
     //     $this->incrementLoginAttempts($request);
     // }
     // return redirect($this->loginPath())
     //     ->withInput($request->only($this->loginUsername(), 'remember'))
     //     ->withErrors([
     //         $this->loginUsername() => $this->getFailedLoginMessage(),
     //     ]);
 }
 /**
  * Set the job instance of the given class if necessary.
  *
  * @param  \Illuminate\Contracts\Queue\Job  $job
  * @param  mixed  $instance
  * @return mixed
  */
 protected function setJobInstanceIfNecessary(Job $job, $instance)
 {
     if (in_array('Illuminate\\Queue\\InteractsWithQueue', class_uses_recursive(get_class($instance)))) {
         $instance->setJob($job);
     }
     return $instance;
 }
Example #3
0
 /**
  * Test that the Model uses the traits and in the right order.
  */
 public function testModelUsesTraits()
 {
     // Get the traits off the model
     $traits = function_exists('class_uses_recursive') ? class_uses_recursive(get_class($this->model)) : class_uses(get_class($this->model));
     // Check Model uses the Soft Deleting trait
     $this->assertContains('Esensi\\Model\\Traits\\SoftDeletingModelTrait', $traits);
 }
 /**
  * Login action.
  *
  * @param LoginRequest $request
  * @param Guard $auth
  * @return \Illuminate\Http\JsonResponse
  */
 public function postLogin(LoginRequest $request, Guard $auth)
 {
     $input = $request->all();
     // Filter login with email or name.
     $logAccess = filter_var($input['log'], FILTER_VALIDATE_EMAIL) ? 'email' : 'name';
     // Throttle
     $throttle = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttle && $this->hasTooManyLoginAttempts($request)) {
         return response()->json(['return' => false, 'value' => 'Too many attempts.']);
     }
     $credentials = [$logAccess => $input['log'], 'password' => $input['password']];
     if (!$auth->validate($credentials)) {
         if ($throttle) {
             $this->incrementLoginAttempts($request);
         }
         return response()->json(['return' => false, 'value' => 'Login failed, One more try.']);
     }
     $user = $auth->getLastAttempted();
     if ($user) {
         if ($throttle) {
             $this->clearLoginAttempts($request);
         }
         $auth->login($user, $input['remember']);
         session()->put('user_name', $user->name);
         session()->put('user_email', $user->email);
         return response()->json(['return' => true, 'value' => url('/dashboard')]);
     }
     return response()->json(['return' => false, 'value' => 'Login failed, One more try.']);
 }
 public function postLogin(LoginRequest $request, Guard $auth)
 {
     $email = $request->input('email');
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return redirect('/admin/login')->with('error', '세션이 만료되었습니다')->withInput($request->only('email'));
     }
     $credentials = ['email' => $email, 'password' => $request->input('password')];
     if (!$auth->validate($credentials)) {
         if ($throttles) {
             $this->incrementLoginAttempts($request);
         }
         return redirect('/admin/login')->with('error', '사용자를 찾을 수 없습니다')->withInput($request->only('email'));
     }
     $user = $auth->getLastAttempted();
     if ($user->confirmed) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         $auth->login($user, $request->has('memory'));
         if ($request->session()->has('user_id')) {
             $request->session()->forget('user_id');
         }
         return redirect('/admin/dashboard');
     }
     $request->session()->put('user_id', $user->id);
     return redirect('/admin/login')->with('error', '사용자를 다시 인증하세요');
 }
 public function check_login()
 {
     $throttles = in_array(ThrottlesLogin::class, class_uses_recursive(get_class($this)));
     $rules = ['password' => 'required|max:64', 'email' => 'required|max:320|email'];
     $custom_msg = ['password.required' => 'You have to fill the password form.', 'password.max' => 'Your maximum password length is 64.', 'email.required' => 'You have to fill the email form.', 'email.max' => 'Your maximum password length is 320.', 'email.email' => 'This id not a valid email.'];
     $validator = Validator::make(Input::all(), $rules, $custom_msg);
     if ($validator->fails()) {
         Session::flash('errors', $validator->messages()->all());
         return view('auth.login');
     } else {
         $password = Input::get('password');
         $email = Input::get('email');
         //$remember = (Auth::viaRemember()) ? true : false;
         if (Auth::attempt(['email' => $email, 'password' => $password])) {
             // || Auth::viaRemember()
             Auth::login(Auth::user(), true);
             Session::flash('messages', ["Successfully logged with email {$email}."]);
             Session::save();
             return view('front.qbd');
         } else {
             Session::flash('errors', ["Authentification failed. Please check your credentials"]);
             return view('auth.login');
         }
     }
 }
 /**
  * Handle request login
  * @param  LoginRequest $request 
  * @param  Guard        $auth    
  * @return Response              
  */
 public function postLogin(LoginRequest $request, Guard $auth)
 {
     $logValue = $request->input('log');
     $logAccess = filter_var($logValue, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         $message = "内容を入力してください。";
         $alertClass = "alert-danger";
         return redirect()->back()->with(compact('message', 'alertClass'))->withInput();
     }
     $credentials = [$logAccess => $logValue, 'password' => $request->input('password')];
     if (!$auth->validate($credentials)) {
         if ($throttles) {
             $this->incrementLoginAttempts($request);
         }
         $message = "内容を入力してください。";
         $alertClass = "alert-danger";
         return redirect()->back()->with(compact('message', 'alertClass'))->withInput();
     }
     $user = $auth->getLastAttempted();
     if ($user) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         $auth->login($user, false);
         if ($request->session()->has('user_id')) {
             $request->session()->forget('user_id');
         }
         return redirect(route('top'));
     }
     $request->session()->put('user_id', $user->id);
     $message = "内容を入力してください。";
     $alertClass = "alert-danger";
     return redirect()->back()->with(compact('message', 'alertClass'))->withInput();
 }
Example #8
0
 /**
  * Handle a login request to the application.
  * Requires $this->usernameField, password, remember request fields.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function login(Request $request)
 {
     $this->validate($request, [$this->usernameField => 'required', 'password' => 'required']);
     // Check whether this controller is using ThrottlesLogins trait
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     $credentials = $request->only($this->usernameField, 'password');
     // Try to authenticate using username or NIM
     if (Auth::attempt(['username' => $request[$this->usernameField], 'password' => $request['password']], $request->has('remember')) || Auth::attempt(['nim' => $request[$this->usernameField], 'password' => $request['password']], $request->has('remember'))) {
         // Authentication successful
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         return redirect()->intended($this->redirectLogin);
     }
     // If the login attempt was unsuccessful we will increment the number of attempts
     // to login and redirect the user back to the login form. Of course, when this
     // user surpasses their maximum number of attempts they will get locked out.
     if ($throttles) {
         $this->incrementLoginAttempts($request);
     }
     $failedLoginMessage = Lang::has('auth.failed') ? Lang::get('auth.failed') : 'These credentials do not match our records.';
     return redirect()->back()->withInput($request->only($this->usernameField, 'remember'))->withErrors([$this->usernameField => $failedLoginMessage]);
 }
Example #9
0
 public function onInspectableGetOptions()
 {
     $property = trim(Request::input('inspectorProperty'));
     if (!$property) {
         throw new ApplicationException('The property name is not specified.');
     }
     $className = trim(Request::input('inspectorClassName'));
     if (!$className) {
         throw new ApplicationException('The inspectable class name is not specified.');
     }
     $traitFound = in_array('System\\Traits\\PropertyContainer', class_uses_recursive($className));
     if (!$traitFound) {
         throw new ApplicationException('The options cannot be loaded for the specified class.');
     }
     $obj = new $className(null);
     $methodName = 'get' . ucfirst($property) . 'Options';
     if (method_exists($obj, $methodName)) {
         $options = $obj->{$methodName}();
     } else {
         $options = $obj->getPropertyOptions($property);
     }
     /*
      * Convert to array to retain the sort order in JavaScript
      */
     $optionsArray = [];
     foreach ($options as $value => $title) {
         $optionsArray[] = ['value' => $value, 'title' => $title];
     }
     return ['options' => $optionsArray];
 }
Example #10
0
 /**
  * Handle a login request to the application.
  *
  * @param  App\Http\Requests\LoginRequest  $request
  * @param  App\Services\MaxValueDelay  $maxValueDelay
  * @param  Guard  $auth
  * @return Response
  */
 public function postLogin(LoginRequest $request, Guard $auth)
 {
     $logValue = $request->input('log');
     $logAccess = filter_var($logValue, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return redirect('/auth/login')->with('error', trans('front/login.maxattempt'))->withInput($request->only('log'));
     }
     $credentials = [$logAccess => $logValue, 'password' => $request->input('password')];
     if (!$auth->validate($credentials)) {
         if ($throttles) {
             $this->incrementLoginAttempts($request);
         }
         return redirect('/auth/login')->with('error', trans('front/login.credentials'))->withInput($request->only('log'));
     }
     $user = $auth->getLastAttempted();
     if ($user->confirmed) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         $auth->login($user, $request->has('memory'));
         if ($request->session()->has('user_id')) {
             $request->session()->forget('user_id');
         }
         return redirect('/');
     }
     $request->session()->put('user_id', $user->id);
     return redirect('/auth/login')->with('error', trans('front/verify.again'));
 }
Example #11
0
 public function postLogin(LoginRequest $request, Guard $auth)
 {
     $logValue = $request->input('log');
     $logAccess = filter_var($logValue, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         $message = "Đăng nhập vượt quá số lần quy định.";
         $alertClass = "alert-danger";
         return redirect()->back()->with(compact('message', 'alertClass'))->withInput();
     }
     $credentials = [$logAccess => $logValue, 'password' => $request->input('password')];
     if (!$auth->validate($credentials)) {
         if ($throttles) {
             $this->incrementLoginAttempts($request);
         }
         $message = "Tên đăng nhập hoặc mật khẩu không hợp lệ.";
         $alertClass = "alert-danger";
         return redirect()->back()->with(compact('message', 'alertClass'))->withInput();
     }
     $user = $auth->getLastAttempted();
     if ($user->confirmed) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         $auth->login($user, $request->has('memory'));
         if ($request->session()->has('user_id')) {
             $request->session()->forget('user_id');
         }
         return redirect(route('website.index'));
     }
     $request->session()->put('user_id', $user->id);
     $message = "Tên đăng nhập hoặc mật khẩu không hợp lệ.";
     $alertClass = "alert-danger";
     return redirect()->back()->with(compact('message', 'alertClass'))->withInput();
 }
Example #12
0
 /**
  * Boot all of the bootable traits on the test case.
  *
  * @param string      $event
  * @param Application $app
  */
 protected function bootTraits($event, Application $app = null)
 {
     foreach (class_uses_recursive(static::class) as $trait) {
         if (method_exists($this, $method = $event . class_basename($trait))) {
             call_user_func([$this, $method], $app);
         }
     }
 }
Example #13
0
 /**
  * Boot all of the bootable traits on the model.
  *
  * @return void
  */
 protected static function bootTraits()
 {
     foreach (class_uses_recursive(get_called_class()) as $trait) {
         if (method_exists(get_called_class(), $method = 'boot' . class_basename($trait))) {
             forward_static_call([get_called_class(), $method]);
         }
     }
 }
Example #14
0
 /**
  * 初始化插件
  *
  * 如果插件实现了 initializePluginName() 函数, 会在此处调用
  */
 protected function initializeTraits()
 {
     foreach (class_uses_recursive(static::class) as $trait) {
         $method = 'initialize' . class_basename($trait);
         if (method_exists($this, $method)) {
             call_user_func_array([$this, $method], []);
         }
     }
 }
 /**
  * Makes a request.
  *
  * @param Request $request A Request instance
  * @return Response A Response instance
  * @throws \Exception
  */
 protected function doRequest($request)
 {
     $uses = array_flip(class_uses_recursive(get_class($this->app)));
     if (isset($uses[RoutesRequests::class])) {
         return $this->response = $this->app->prepareResponse($this->app->handle($request));
     } else {
         throw new \Exception(sprintf('The application is not using the %s trait.', RoutesRequests::class));
     }
 }
Example #16
0
 /**
  * Determine if a class uses the given trait.
  *
  * @param mixed $class
  * @param string $trait
  * @return bool
  */
 function is_using_trait($class, $trait)
 {
     static $cache = [];
     $class = is_string($class) ? $class : get_class($class);
     if (!isset($cache[$class])) {
         $cache[$class] = [];
     }
     if (!isset($cache[$class][$trait])) {
         $cache[$class][$trait] = in_array($trait, class_uses_recursive($class));
     }
     return $cache[$class][$trait];
 }
Example #17
0
 /**
  * Find trashed users.
  *
  * @param Builder|Model $query
  * @param string $trashed
  * @return Builder|Model
  */
 public function trashed($query, $trashed)
 {
     if (in_array(SoftDeletes::class, class_uses_recursive($query))) {
         switch ($trashed) {
             case 'only':
                 return $query->onlyTrashed();
             case 'with':
                 return $query->withTrashed();
         }
     }
     return $query;
 }
Example #18
0
 /**
  * Update a model from an attributes array. This method also automagically handles the following traits:
  * - HasMedia
  * - HasOnlineToggle
  * - HasTags.
  *
  * @param array $attributes
  *
  * @return \App\Models\Foundation\Base\ModuleModel
  */
 public function updateWithRelations(array $attributes)
 {
     $this->updateTranslatedFields($attributes);
     $traits = class_uses_recursive(get_class($this));
     if (array_key_exists(HasMediaTrait::class, $traits)) {
         $this->updateMediaLibraryFields($attributes);
     }
     if (array_key_exists(HasOnlineToggle::class, $traits)) {
         $this->updateOnlineToggle($attributes);
     }
     if (array_key_exists(HasTags::class, $traits)) {
         $this->updateAllTags($attributes);
     }
     return $this;
 }
Example #19
0
 /**
  * Boot the testing helper traits.
  *
  * @return void
  */
 protected function setUpTraits()
 {
     $uses = array_flip(class_uses_recursive(static::class));
     if (isset($uses[DatabaseMigrations::class])) {
         $this->runDatabaseMigrations();
     }
     if (isset($uses[DatabaseTransactions::class])) {
         $this->beginDatabaseTransaction();
     }
     if (isset($uses[WithoutMiddleware::class])) {
         $this->disableMiddlewareForAllTests();
     }
     if (isset($uses[WithoutEvents::class])) {
         $this->disableEventsForAllTests();
     }
 }
Example #20
0
 private function magicCalls()
 {
     if ($this->magicCalls === false) {
         return [];
     }
     if (!$this->magicCalls) {
         foreach (class_uses_recursive(static::class) as $trait) {
             $method = 'register' . class_basename($trait) . 'MagicCall';
             if (method_exists($this, $method)) {
                 $functions = call_user_func_array([$this, $method], []);
                 $this->magicCalls = array_merge($this->magicCalls, $functions);
             }
         }
     }
     return $this->magicCalls;
 }
Example #21
0
 /**
  * Get displayed description
  *
  * @return string
  */
 public function getDescription()
 {
     if (isset($this->description) && !empty($this->description)) {
         return $this->description;
     }
     $args = explode('.', $this->name);
     if (in_array(IsRole::class, class_uses_recursive(get_class()))) {
         $args[0] .= '.role';
         return trans(join('.', $args) . '.description');
     } else {
         if (in_array(IsPermission::class, class_uses_recursive(get_class()))) {
             $args[0] .= '.permission';
             return trans(join('.', $args) . '.description');
         }
     }
     return trans("{$this->name}.description");
 }
Example #22
0
 /**
  * Handle a login request to the application.
  *
  * @param  App\Http\Requests\LoginRequest  $request
  * @param  App\Services\MaxValueDelay  $maxValueDelay
  * @param  Guard  $auth
  * @return Response
  */
 public function postLogin(LoginRequest $request, Guard $auth, ServiciosOperadorRepository $gestion)
 {
     $logValue = $request->input('log');
     $logAccess = filter_var($logValue, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return redirect('/login')->with('error', trans('front/login.maxattempt'))->withInput($request->only('log'));
     }
     $credentials = [$logAccess => $logValue, 'password' => $request->input('password')];
     if (!$auth->validate($credentials)) {
         if ($throttles) {
             $this->incrementLoginAttempts($request);
         }
         return redirect('/login')->with('error', trans('front/login.credentials'))->withInput($request->only('log'));
     }
     $user = $auth->getLastAttempted();
     if ($user->confirmed || $user->valid) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         $auth->login($user, $request->has('memory'));
         if ($request->session()->has('user_id')) {
             $request->session()->forget('user_id');
         }
         $request->session()->put('user_name', $user->username);
         $email = $auth->user()->email;
         $nombre = $auth->user()->user_name;
         /* Busca si ya tiene servicios activos o no */
         //logica que comprueba si el usuario tiene servicios para ser modificados
         //caso contrario ingresa nuevos serviciosS
         $listServicios = $gestion->getServiciosidUsuario($user->id);
         if ($listServicios) {
             $data['id_usuario_op'] = $listServicios[0]->id_usuario_op;
             $request->session()->put('operador_id', $data['id_usuario_op']);
             //        $view = view('Registro.catalogoServicio', compact('data', 'listServicios'));
             $request->session()->put('tip_oper', $listServicios[0]->id_tipo_operador);
             return redirect('/detalleServicios')->with('user', $user->id);
             // return ($view);
         } else {
             return redirect('/myProfileOp')->with('user', $user->id);
         }
     } else {
         /* --------------------------------- */
         return redirect('/login')->with('error', trans('front/verify.again'))->withInput($request->only('log'));
     }
 }
Example #23
0
 /**
  * Handle a login request to the application.
  *
  * @param  App\Http\Requests\LoginRequest  $request
  * @param  Guard  $auth
  * @return Response
  */
 public function postEBLogin(LoginRequest $request, Guard $auth)
 {
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         if ($request->ajax()) {
             return response(trans('front/login.maxattempt'), 422)->header('Content-Type', 'application/json');
         } else {
             return redirect('/auth/login')->with('error', trans('front/login.maxattempt'))->withInput($request->only('username'));
         }
     }
     $credentials = $request->only('username', 'password');
     if (!$auth->validate($credentials)) {
         if ($throttles) {
             // 				$request->merge(['remember'=>true]);
             $this->incrementLoginAttempts($request);
         }
         $user = User::where('username', '=', $request->input('username'))->first();
         if ($user === null) {
             // user doesn't exist
             if ($request->ajax()) {
                 return response('Wrong username', 422)->header('Content-Type', 'application/json');
             } else {
                 return redirect('/auth/login')->with('error', 'Wrong username')->withInput();
             }
         } else {
             // Wrong username
             if ($request->ajax()) {
                 return response('Wrong password', 422)->header('Content-Type', 'application/json');
             } else {
                 return redirect('/auth/login')->with('error', 'Wrong password')->withInput();
             }
         }
     }
     $user = $auth->getLastAttempted();
     // 		if($user->confirmed) {
     if ($throttles) {
         $this->clearLoginAttempts($request);
     }
     $auth->login($user, $request->has('memory'));
     if ($request->session()->has('user_id')) {
         $request->session()->forget('user_id');
     }
     return response(['msg' => 'ok'], 200)->header('Content-Type', 'application/json');
     // 		}
 }
Example #24
0
 public function revisionAfterDelete()
 {
     if (!$this->revisionsEnabled) {
         return;
     }
     $softDeletes = in_array('Illuminate\\Database\\Eloquent\\SoftDeletes', class_uses_recursive(get_class($this)));
     if (!$softDeletes) {
         return;
     }
     if (!in_array('deleted_at', $this->revision)) {
         return;
     }
     $relationObject = $this->revisionHistory();
     $revisionModel = $relationObject->getRelated();
     $toSave = ['field' => 'deleted_at', 'old_value' => null, 'new_value' => $this->deleted_at, 'revision_type' => $relationObject->getMorphClass(), 'revision_id' => $this->getKey(), 'user_id' => $this->getUserId(), 'created_at' => new DateTime(), 'updated_at' => new DateTime()];
     DB::table($revisionModel->getTable())->insert($toSave);
     $this->revisionCleanUp();
 }
 public function onInspectableGetOptions()
 {
     // Disable asset broadcasting
     $this->flushAssets();
     $property = trim(Request::input('inspectorProperty'));
     if (!$property) {
         throw new ApplicationException('The property name is not specified.');
     }
     $className = trim(Request::input('inspectorClassName'));
     if (!$className) {
         throw new ApplicationException('The inspectable class name is not specified.');
     }
     $traitFound = in_array('System\\Traits\\PropertyContainer', class_uses_recursive($className));
     if (!$traitFound) {
         throw new ApplicationException('The options cannot be loaded for the specified class.');
     }
     $obj = new $className();
     // Nested properties have names like object.property.
     // Convert them to Object.Property.
     $propertyNameParts = explode('.', $property);
     $propertyMethodName = '';
     foreach ($propertyNameParts as $part) {
         $part = trim($part);
         if (!strlen($part)) {
             continue;
         }
         $propertyMethodName .= ucfirst($part);
     }
     $methodName = 'get' . $propertyMethodName . 'Options';
     if (method_exists($obj, $methodName)) {
         $options = $obj->{$methodName}();
     } else {
         $options = $obj->getPropertyOptions($property);
     }
     /*
      * Convert to array to retain the sort order in JavaScript
      */
     $optionsArray = [];
     foreach ((array) $options as $value => $title) {
         $optionsArray[] = ['value' => $value, 'title' => $title];
     }
     return ['options' => $optionsArray];
 }
Example #26
0
 public function revisionableAfterDelete()
 {
     if (!$this->revisionsEnabled) {
         return;
     }
     $softDeletes = in_array('October\\Rain\\Database\\Traits\\SoftDeleting', class_uses_recursive(get_class($this)));
     if (!$softDeletes) {
         return;
     }
     if (!in_array('deleted_at', $this->revisionable)) {
         return;
     }
     $relation = $this->getRevisionHistoryName();
     $relationObject = $this->{$relation}();
     $revisionModel = $relationObject->getRelated();
     $toSave = ['field' => 'deleted_at', 'old_value' => null, 'new_value' => $this->deleted_at, 'revisionable_type' => $relationObject->getMorphClass(), 'revisionable_id' => $this->getKey(), 'user_id' => $this->revisionableGetUser(), 'created_at' => new DateTime(), 'updated_at' => new DateTime()];
     Db::table($revisionModel->getTable())->insert($toSave);
     $this->revisionableCleanUp();
 }
Example #27
0
 public function postLogin()
 {
     $this->validate($this->request(), [$this->loginUsername() => 'required', 'password' => 'required']);
     $throttles = in_array(\ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($this->request())) {
         return $this->sendLockoutResponse($this->request());
     }
     //TODO 用户状态检查
     if (\Auth::attempt($this->getCredentials($this->request()), $this->request()->has('remember'))) {
         if ($throttles) {
             $this->clearLoginAttempts($this->request());
         }
         return $this->rest()->success(user(), '登录成功');
     }
     if ($throttles) {
         $this->incrementLoginAttempts($this->request());
     }
     return $this->rest()->error("登录失败,账号或密码错误");
 }
 /**
  * @param LoginRequest $request
  * @return $this|\Illuminate\Http\RedirectResponse
  */
 public function login(LoginRequest $request)
 {
     // If the class is using the ThrottlesLogins trait, we can automatically throttle
     // the login attempts for this application. We'll key this by the username and
     // the IP address of the client making these requests into this application.
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     if (auth()->attempt($request->only($this->loginUsername(), 'password'), $request->has('remember'))) {
         return $this->handleUserWasAuthenticated($request, $throttles);
     }
     // If the login attempt was unsuccessful we will increment the number of attempts
     // to login and redirect the user back to the login form. Of course, when this
     // user surpasses their maximum number of attempts they will get locked out.
     if ($throttles) {
         $this->incrementLoginAttempts($request);
     }
     return redirect()->back()->withInput($request->only($this->loginUsername(), 'remember'))->withErrors([$this->loginUsername() => trans('auth.failed')]);
 }
 /**
  * Handle a login request to the application.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function postLogin(Request $request)
 {
     $this->validate($request, [$this->loginUsername() => 'required', 'password' => 'required']);
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     if (Auth::attempt($this->getCredentials($request), $request->has('remember'))) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         // Log::info(Auth::user()->hasRole('admin'));
         // Log::info(Auth::user()->can('ui_features'));
         $roleid = RoleUser::where('user_id', Auth::user()->id)->get();
         // Log::alert($roleid[0]);
         $permit = Role::with('perms')->where('id', $roleid[0]->role_id)->get();
         //  Log::info($permit[0]->perms);
         // Log::alert(json_encode($child));
         $menus = [];
         foreach ($permit[0]->perms as $detail) {
             if ($detail->parent == '0') {
                 $menu = array();
                 foreach ($permit[0]->perms as $child) {
                     if ($child->parent == $detail->id) {
                         array_push($menu, $child);
                     }
                 }
                 $detail = array_add($detail, 'child', $menu);
                 array_push($menus, $detail);
             }
         }
         //Log::info($menus);
         Session::set('menu', $menus);
         return redirect()->intended($this->redirectPath());
     }
     if ($throttles) {
         $this->incrementLoginAttempts($request);
     }
     return redirect($this->loginPath())->withInput($request->only($this->loginUsername(), 'remember'))->withErrors([$this->loginUsername() => $this->getFailedLoginMessage()]);
 }
Example #30
0
 /**
  * Override postLogin function
  * Handle a login request to the application.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function postLogin(Request $request)
 {
     $this->validate($request, ['user_name' => 'required', 'password' => 'required']);
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     /*
      * Authenticated user name is not case senstive
      * Needed to convert user_name to lower letter
      */
     if (Auth::attempt(['user_name' => strtolower($request['user_name']), 'password' => $request['password'], 'is_activated' => true], $request->has('remember'))) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         return redirect()->intended($this->redirectPath());
     }
     if ($throttles) {
         $this->incrementLoginAttempts($request);
     }
     return redirect($this->loginPath())->withInput($request->only($this->loginUsername(), 'remember'))->withErrors([$this->loginUsername() => $this->getFailedLoginMessage()]);
 }