public function doLogin() { $code = Input::get('code'); if (strlen($code) == 0) { return Redirect::to('/')->with('message', 'There was an error communicating with Facebook'); } $facebook = new Facebook(Config::get('facebook')); $uid = $facebook->getUser(); if ($uid == 0) { return Redirect::to('/')->with('message', 'There was an error'); } $me = $facebook->api('/me', ['fields' => ['id', 'first_name', 'last_name', 'picture', 'email', 'gender']]); $profile = Profile::whereUid($uid)->first(); if (empty($profile)) { $user = new User(); $user->name = $me['first_name'] . ' ' . $me['last_name']; $user->email = $me['email']; $user->photo = 'https://graph.facebook.com/' . $me['id'] . '/picture?type=large'; $user->save(); $profile = new Profile(); $profile->uid = $uid; $profile->username = $me['id']; $profile->gender = $me['gender']; $profile = $user->profiles()->save($profile); } $profile->access_token = $facebook->getAccessToken(); $profile->save(); $user = $profile->user; Auth::login($user); return Redirect::to('/')->with('message', 'Logged in with Facebook'); }
protected function getfbUser() { $code = Input::get('code'); if (strlen($code) == 0) { return Redirect::to('/')->with('message', 'There was an error communicating with Facebook'); } $facebook = new Facebook(Config::get('facebook')); $uid = $facebook->getUser(); if ($uid == 0) { return Redirect::to('/')->with('message', 'There was an error'); } $me = $facebook->api('/me'); // check if that email exists in wordpress database //if there is user with that email, log them in //otherwise insert that user with dummy password, and alert that to user $profile = Profile::whereUid($uid)->first(); if (empty($profile)) { $user = new User(); $user->user_login = $me['email']; $user->user_nicename = $me['first_name'] . ' ' . $me['last_name']; $user->user_email = $me['email']; //$user->photo = 'https://graph.facebook.com/'.$me['username'].'/picture?type=large'; $user->save(); $profile = new Profile(); $profile->uid = $uid; $profile->username = $me['first_name'] . " " . $me['last_name']; $profile = $user->profiles()->save($profile); } $profile->access_token = $facebook->getAccessToken(); $profile->save(); $user = $profile->user; //dd($user); Auth::login($user); $username = $me['email']; Session::put('username', $username); $userId = User::where('user_login', $username)->pluck('ID'); Session::put('userId', $userId); return Redirect::to('/'); //->with('message', 'Logged in with Facebook'); }
public function loginWithGithub() { $code = Input::get('code'); $githubService = OAuth::consumer('Github'); if (!empty($code)) { try { $token = $githubService->requestAccessToken($code); $result = json_decode($githubService->request('user'), true); } catch (Exception $e) { die("Too many requests, access denied by Github. Please wait a while."); } $profile = Profile::where('uid', '=', $result['id'])->first(); if (empty($profile)) { $user = new User(); $user->name = $result['name']; $user->email = $result['email']; $user->photo = $result['avatar_url']; $user->save(); $profile = new Profile(); $profile->uid = $result['id']; // $profile->access_token = $fb->requestAccessToken( $code ); $profile->username = $result['login']; $profile->gender = $result['bio']; $profile = $user->profiles()->save($profile); } $profile->save(); $user = $profile->user; Auth::login($user); return Redirect::to('/')->with('message', 'Logged in with Facebook'); } else { // get githubService authorization $url = $githubService->getAuthorizationUri(); return Redirect::to((string) $url); } }
$uid = $facebook->getUser(); if ($uid == 0) { return Redirect::to('/')->with('message', 'There was an error'); } $me = $facebook->api('/me'); $profile = Profile::whereUid($uid)->first(); if (empty($profile)) { $user = new User(); $user->name = $me['first_name'] . ' ' . $me['last_name']; $user->email = $me['email']; $user->photo = 'https://graph.facebook.com/' . $me['username'] . '/picture?type=large'; $user->save(); $profile = new Profile(); $profile->uid = $uid; $profile->username = $me['username']; $profile = $user->profiles()->save($profile); } $profile->access_token = $facebook->getAccessToken(); $profile->save(); $user = $profile->user; Auth::login($user); return Redirect::to('/')->with('message', 'Logged in with Facebook'); }); /**********Admin*************/ Route::get('admin', 'AdminController@index'); ////////////////////User Management Route::get('admin/users/add-new', 'AdminController@addnew'); Route::get('admin/users/manage', 'AdminController@manageuser'); Route::post('changeStatus', 'AdminController@changeStatus'); Route::post('userDelete', 'AdminController@userDelete'); Route::get('admin/users/view/{id}', 'AdminController@userView');
public function create_administrative_staff() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["actions"] = Session::get('actions'); if (in_array('side_nuevo_personal_administrativo', $data["actions"])) { // Validate the info, create rules for the inputs $attributes = array('dni' => 'DNI del Personal Administrativo', 'names' => 'Nombres del Personal Administrativo', 'lastname' => 'Apellidos del Personal Administrativo', 'birthdate' => 'Fecha de nacimiento', 'email' => 'E-mail', 'telephone' => 'Teléfono o Celular'); $messages = array(); $rules = array('dni' => 'required|digits:8|unique:users,dni,NULL,id,deleted_at,NULL', 'names' => 'required|alpha_num_dash|max:45', 'lastname' => 'required|alpha_num_dash|max:45', 'email' => 'required|email|max:100|unique:users,email,NULL,id,deleted_at,NULL'); // Run the validation rules on the inputs from the form $validator = Validator::make(Input::all(), $rules, $messages, $attributes); // If the validator fails, redirect back to the form if ($validator->fails()) { return Redirect::to('people/new_administrative_staff')->withErrors($validator)->withInput(Input::all()); } else { // se crea el usuario primero $user = new User(); $user->dni = Input::get('dni'); $e = Input::get('email'); if ($e != '') { $user->email = $e; } $user->password = Hash::make('12345678'); $user->save(); $user->profiles()->attach(Profile::where('name', '=', 'Personal Administrativo')->first()->id); $admin_staff = new AdministrativeStaff(); $admin_staff->names = Input::get('names'); $admin_staff->lastname = Input::get('lastname'); $b = Input::get('birthdate'); if ($b != '') { $admin_staff->birthdate = date('Y-m-d', strtotime($b)); } $admin_staff->telephone = Input::get('telephone'); $admin_staff->user_id = $user->id; $admin_staff->save(); Session::flash('message', 'Se creó correctamente el Personal Administrativo.'); // Llamo a la función para registrar el log de auditoria $log_description = "Se creó el Personal Administrativo con id: {{$admin_staff->id}}"; Helpers::registerLog(3, $log_description); return Redirect::to('people/list_administrative_staff'); } } else { // Llamo a la función para registrar el log de auditoria $log_description = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'"; Helpers::registerLog(10, $log_description); Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.'); return Redirect::to('/dashboard'); } } else { return View::make('error/error'); } }
public function loginWithFb() { $redirectUrl = Input::get('redirect_url'); $facebookBaseConfig = Config::get('facebook'); $config = app('siteConfig'); $facebookConfig = $config['main']['social']['facebook']; $facebookConfig['appId'] = empty($facebookConfig['appId']) ? '' : $facebookConfig['appId']; $facebookConfig['secret'] = empty($facebookConfig['secret']) ? '' : $facebookConfig['secret']; FacebookSession::setDefaultApplication($facebookConfig['appId'], $facebookConfig['secret']); $helper = new FacebookJavaScriptLoginHelper(); $session = null; function getUserDataFromFb($session) { $request = new FacebookRequest($session, 'GET', '/me', array('fields' => 'id,name,email')); $response = $request->execute(); $graphObject = $response->getGraphObject()->asArray(); return $graphObject; } try { $session = $helper->getSession(); } catch (FacebookRequestException $ex) { // When Facebook returns an error } catch (\Exception $ex) { // When validation fails or other local issues } if (Request::ajax()) { if ($session) { // Logged in. $uid = $session->getUserId(); $accessToken = $session->getToken(); $profile = Profile::whereUid($uid)->first(); if (empty($profile)) { $me = getUserDataFromFb($session); $user = new User(); $user->name = $me['name']; $user->email = $me['email']; $user->photo = 'https://graph.facebook.com/' . $uid . '/picture?type=large'; $user->save(); $profile = new Profile(); $profile->uid = $uid; //$profile->username = $me['username']; //Username not available in the new Facebook API $profile->access_token = $accessToken; $profile = $user->profiles()->save($profile); } else { $profile->access_token = $accessToken; $profile->save(); } $user = $profile->user; Auth::login($user); return Response::json(array('user' => $user)); } else { return Response::make('Not loggedin', 400); } } else { if ($session) { if ($redirectUrl) { return Redirect::to($redirectUrl); } else { return Redirect::route('home'); } } return Redirect::route('login'); } }