KOKINIO - MANAGER
Edit File: AuthController.php
<?php namespace Trash\Http\Controllers\Auth; use Validator; use Trash\Http\Controllers\Controller; use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; use Illuminate\Support\Facades\Auth; use Trash\User; class AuthController extends Controller { /* |-------------------------------------------------------------------------- | Registration & Login Controller |-------------------------------------------------------------------------- | | This controller handles the registration of new users, as well as the | authentication of existing users. By default, this controller uses | a simple trait to add these behaviors. Why don't you explore it? | */ use AuthenticatesAndRegistersUsers; /** * Create a new authentication controller instance. * * @return void */ public function __construct() { $this->middleware('guest', ['except' => 'getLogout']); } /** * Get a validator for an incoming registration request. * * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|max:255', // 'email' => 'required|email|max:255|unique:users', 'password' => 'required|confirmed|min:6', ]); } public function login() { if (\Auth::check()) { // Si está autenticado lo mandamos a la raíz donde estara el mensaje de bienvenida. return Redirect::to('index/null'); } return \View::make('login'); } public function login_movil() { if (\Auth::check()) { // Si está autenticado lo mandamos a la raíz donde estara el mensaje de bienvenida. return Redirect::to('movil.index'); } return \View::make('movil.login'); } // Recepcion de informacion de loguero public function authLogin() { $password = md5(\Input::get('password')); $data = [ 'username' => \Input::get('username'), 'password' => $password ]; $remember = \Input::get('remember') == 'on' ? true : false; $login = User::where('username','=',\Input::get('username'))->where('password','=',$password)->where('tipo_usuario_id','=',1)->first(); if($login != null ){ $lifetime=600; $cookie_name = "user"; $cookie_value = $login->nombre; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); $cookie_name = "id"; $cookie_value = $login->id; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); return \Response::json(array('status'=>true,'message'=>'Inicio de sesion exitoso'),200); }else{ return \Response::json(array('status'=>false,'message'=>'Usuario o contraseña incorrecta'),200); } /*if (\Auth::attempt($data, $remember)) { return \Response::json(array('status'=>true,'message'=>'Inicio de sesion exitoso'),200); } return \Response::json(array('status'=>false,'message'=>'Usuario o contraseña incorrecta'),200); */ } public function authLogin_movil() { $password = md5(\Input::get('password')); $data = [ 'username' => \Input::get('username'), 'password' => $password ]; $remember = \Input::get('remember') == 'on' ? true : false; $login = User::where('username','=',\Input::get('username'))->where('password','=',$password)->first(); if($login != null ){ $lifetime=600; $cookie_name = "user"; $cookie_value = $login->nombre; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); $cookie_name = "id"; $cookie_value = $login->id; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); return \Response::json(array('status'=>true,'message'=>'Inicio de sesion exitoso'),200); }else{ return \Response::json(array('status'=>false,'message'=>'Usuario o contraseña incorrecta'),200); } /*if (\Auth::attempt($data, $remember)) { return \Response::json(array('status'=>true,'message'=>'Inicio de sesion exitoso'),200); } return \Response::json(array('status'=>false,'message'=>'Usuario o contraseña incorrecta'),200); */ } // Cierre de session public function logout() { Auth::logout(); return \Redirect::to('login')->with('message', 'Sesión cerrada correctamente'); } public function logout_movil() { Auth::logout(); return \Redirect::to('/movil/login')->with('message', 'Sesión cerrada correctamente'); } /** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { return User::create([ 'username' => $data['username'], 'password' => bcrypt($data['password']), ]); } public function showLogin() { // Verificamos que el usuario no esté autenticado if (\Auth::check() ) { return 'aka'; //if( \Auth::user()->role != 7 ){ // Si está autenticado lo mandamos a la raíz donde estara el mensaje de bienvenida. //return \Redirect::to('admin'); //} //if( \Auth::user()->role == 7 ){ //$id = \Auth::user()->id; //$query = 'SELECT b.alias FROM boards b, users u, board_users bu WHERE bu.user_id = u.id AND bu.board_id = b.id AND u.id = '. $id; //$alias = DB::select(DB::raw($query)); //return \Redirect::to('boards/'. $alias[0]->alias); //} } // Mostramos la vista login.blade.php (Recordemos que .blade.php se omite.) return view('login'); } public function postLogin_() { // Recibimos desde frontend los parametros de autenticacioón $userdata = array( 'username' => \Input::get('username'), 'password'=> md5(\Input::get('password')) ); // Validamos los datos y además mandamos como un segundo parámetro la opción de recordar el usuario, en caso de corresponder, incia la sesion. if(\Auth::attempt($userdata, \Input::get('remember-me', 0))) { return 'asss'; /* Una vez iniciada la sesion, valida el role del usuario, si es cliente (rol 7)*/ if( \Auth::User()->tipo_usuario_id == 1 ){ return 'akiii'; // if( (Auth::user()->session == 1) && (Auth::user()->session_token != Session::get('_token')) ){ // return Redirect::to('duplicate-session'); // } else{ // Auth::user()->session = 1; // Auth::user()->session_token = Session::get('_token'); // Auth::user()->save(); // } return \Redirect::to('admin'); }else{ /* En caso de no corresponder, */ return 'akaa'; // if( (Auth::user()->session == 1) && (Auth::user()->session_token != Session::get('_token')) ){ // return Redirect::to('duplicate-session'); // } else{ // Auth::user()->session = 1; // Auth::user()->session_token = Session::get('_token'); // Auth::user()->save(); // } /*$id = \Auth::user()->id; $query = 'SELECT b.alias FROM boards b, users u, board_users bu WHERE bu.user_id = u.id AND bu.board_id = b.id AND u.id = '. $id; $alias = DB::select(DB::raw($query)); return \Redirect::to('boards/'. $alias[0]->alias);*/ } } // En caso de que la autenticación haya fallado manda un mensaje al formulario de login y también regresamos los valores enviados con withInput(). return \Redirect::to('login') ->with('mensaje_error', 'Tus datos son incorrectos') ->withInput(); } public function logOut_() { Auth::user()->session = 0; Auth::user()->save(); Auth::logout(); return Redirect::to('login') ->with('mensaje_success', 'Tu sesión ha sido cerrada.'); } public function duplicate(){ if( Auth::check() ){ $params = array( 'name' => Auth::user()->id ); Auth::logout(); }else{ $params = array( 'name' => 0 ); } return View::make('duplicated', $params); } public function closeDuplicated(){ $id = Input::get('id'); $user = User::find($id); $user->session = 0; if( $user->save() ){ return Response::json(array('status' => true)); } } }