<?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));
}
}
}