public function postUlogin() { $_user = json_decode(file_get_contents('http://ulogin.ru/token.php?token=' . Input::get('token') . '&host=' . $_SERVER['HTTP_HOST']), true); //$user['network'] - соц. сеть, через которую авторизовался пользователь //$user['identity'] - уникальная строка определяющая конкретного пользователя соц. сети //$user['first_name'] - имя пользователя //$user['last_name'] - фамилия пользователя $validate = Validator::make([], []); if (isset($_user['error'])) { $validate->errors()->add('error', trans('larulogin::larulogin.' . $_user['error'])); return Response::make(View::make(Config::get('larulogin::views.error'), ['errors' => $validate->errors()]), 401); } // Check exist user $check = Ulogin::where('identity', '=', $_user['identity'])->first(); if ($check) { Auth::loginUsingId($check->user_id, true); if (class_exists('Sentry')) { $authSentry = Sentry::findUserById($check->user_id); Sentry::login($authSentry, true); } return Redirect::to('/'); } $rules = array('network' => 'required|max:255', 'identity' => 'required|max:255|unique:ulogin', 'email' => 'required|unique:ulogin|unique:users'); $messages = array('email.unique' => trans('larulogin::larulogin.email_already_registered')); $validate = Validator::make($_user, $rules, $messages); if ($validate->passes()) { $password = str_random(8); $user = Sentry::createUser(array('first_name' => $_user['first_name'], 'last_name' => $_user['last_name'], 'email' => $_user['email'], 'password' => $password, 'activated' => TRUE)); foreach (Config::get('larulogin::add_to_groups') as $group_name) { $user->addGroup(Sentry::findGroupByName($group_name)); } $ulogin = new Ulogin(); $ulogin->user_id = $user->id; $ulogin->network = $_user['network']; $ulogin->identity = $_user['identity']; $ulogin->email = $_user['email']; $ulogin->first_name = $_user['first_name']; $ulogin->last_name = $_user['last_name']; $ulogin->photo = $_user['photo']; $ulogin->photo_big = $_user['photo_big']; $ulogin->profile = $_user['profile']; $ulogin->access_token = isset($_user['access_token']) ? $_user['access_token'] : ''; $ulogin->country = isset($_user['country']) ? $_user['country'] : ''; $ulogin->city = isset($_user['city']) ? $_user['city'] : ''; $ulogin->save(); $authClassic = Auth::loginUsingId($user->id); if (class_exists('Sentry')) { $authSentry = Sentry::authenticate(array('email' => $_user['email'], 'password' => $password), true); } return Redirect::to('/'); } else { return Response::make(View::make(Config::get('larulogin::views.error'), array('errors' => $validate->errors())), 401); } }
private function createULogin($userID, $_user) { $ulogin = new Ulogin(); $ulogin->user_id = $userID; $ulogin->network = @$_user['network']; $ulogin->identity = @$_user['identity']; $ulogin->email = isset($_user['email']) ? $_user['email'] : ''; $ulogin->first_name = @$_user['first_name']; $ulogin->last_name = @$_user['last_name']; $ulogin->photo = @$_user['photo']; $ulogin->photo_big = @$_user['photo_big']; $ulogin->profile = @$_user['profile']; $ulogin->access_token = isset($_user['access_token']) ? $_user['access_token'] : ''; $ulogin->country = isset($_user['country']) ? $_user['country'] : ''; $ulogin->city = isset($_user['city']) ? $_user['city'] : ''; $ulogin->save(); return $ulogin; }
public function participantsUpdate($user_id) { if ($user = Accounts::where('id', $user_id)->first()) { try { $post = Input::all(); if (Input::has('remove_photo')) { if (!empty($user->photo) && File::exists(public_path($user->photo))) { File::delete(public_path($user->photo)); } $user->photo = ''; if (!empty($user->thumbnail) && File::exists(public_path($user->thumbnail))) { File::delete(public_path($user->thumbnail)); } $user->thumbnail = ''; foreach (Ulogin::where('user_id', $user->id)->get() as $ulogin) { $ulogin->photo_big = ''; $ulogin->photo = ''; $ulogin->save(); } } else { $user->photo = AdminUploadsController::getUploadedFile('photo'); $user->thumbnail = ''; } $names = explode(' ', $user->name); if (count($names) > 2) { $user->name = @$names[0] . ' ' . @$names[1]; } else { $user->name = $post['name']; } $user->email = $post['email']; $user->surname = ''; $user->location = $post['location']; $user->phone = $post['phone']; $user->age = $post['age']; $user->way = $post['way']; $user->yad_name = $post['yad_name']; $user->load_video = Input::has('load_video') ? 1 : 0; $user->local_video = $post['local_video']; $user->local_video_date = $post['local_video_date']; $user->video = $post['video']; $user->video_thumb = $post['video_thumb']; $user->skype = $post['skype']; $user->save(); $user->touch(); return Redirect::route('moderator.participants'); } catch (Exception $e) { } } return Redirect::back(); }
public function index($setting) { if ($this->customer->isLogged()) { $this->response->redirect($this->url->link('account/account', '', 'SSL')); } $this->load->language('module/ulogin'); $this->load->model('module/ulogin'); require_once 'lib-ulogin/ulogin.php'; $config = array('providers' => $this->config->get('ulogin_providers') == NULL ? array() : $this->config->get('ulogin_providers'), 'hidden' => $this->config->get('ulogin_hidden') == NULL ? array() : $this->config->get('ulogin_hidden'), 'type' => $this->config->get('ulogin_type'), 'redirect_uri' => $this->config->get('config_url') . 'ulogin.php', 'lang' => $this->language->get('code')); //var_dump($config);die; $data['ulogin'] = Ulogin::factory($config); $data['text_register_login'] = $this->language->get('text_register_login'); if (isset($this->session->data['ulogin_token'])) { $token = $this->session->data['ulogin_token']; $this->login($token); unset($this->session->data['ulogin_token']); } if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/ulogin.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/module/ulogin.tpl', $data); } else { return $this->load->view('default/template/module/ulogin.tpl', $data); } }
public function createULogin($user_id, $post) { $ulogin = new Ulogin(); if (!is_null($post) && isset($post['network']) && !empty($post['network'])) { $ulogin->user_id = $user_id; $ulogin->network = $post['network']; $ulogin->identity = $post['identity']; $ulogin->email = $post['email']; $ulogin->first_name = $post['name']; $ulogin->last_name = $post['surname']; $ulogin->nickname = ''; $ulogin->city = ''; $ulogin->photo = $post['photo']; $ulogin->photo_big = $post['photo_big']; $ulogin->profile = $post['profile']; $ulogin->uid = $post['uid']; $ulogin->access_token = $post['token']; $ulogin->verified_email = $post['verified_email']; $ulogin->token_secret = ''; $ulogin->bdate = $post['yyyy'] . '-' . $post['mm'] . '-' . $post['dd']; $ulogin->sex = $post['sex']; $ulogin->save(); $ulogin->touch(); return $ulogin; } return FALSE; }
public function postUlogin() { $url_request = 'http://ulogin.ru/token.php?token=' . Input::get('token') . '&host=' . $_SERVER['HTTP_HOST']; $result = (new ApiController())->getCurl($url_request, FALSE); $_user = json_decode($result['curl_result'], true); $validate = Validator::make([], []); if (isset($_user['error'])) { return Redirect::to(URL::route('page', 'registering')); } $post['provider'] = $_user['network']; $post['identity'] = $_user['uid']; $api_social = (new ApiController())->social_logon($post); try { if (is_array($api_social)) { if (Ulogin::where('identity', '=', $_user['identity'])->exists() === FALSE) { $post = array(); $post['customerId'] = @$api_social['id']; $post['sessionKey'] = @$api_social['sessionKey']; $api = (new ApiController())->get_register($post); if (isset($api['email'])) { $password = Str::random(8); $post['remote_id'] = $post['customerId']; $post['email'] = $api['email']; $post['name'] = @$api['name']; $post['surname'] = @$api['surname']; $post['sex'] = @$api['sex'] == 'female' ? 0 : 1; $post['dd'] = @$api['dd']; $post['mm'] = @$api['mm']; $post['yyyy'] = @$api['yyyy']; $post['phone'] = @$api['phone']; $post['city'] = @$api['city']; $post['password'] = Hash::make($password); $post['code'] = Input::get('promo-code'); $user = (new RegisterController())->getRegisterAccount($post); (new RegisterController())->createULogin($user->id, $post); } } } else { /* if (Config::has('api.message')): Session::flash('message', Config::get('api.message')); else: Session::flash('message', 'Возникла ошибка при авторизации через социальную сеть.'); endif; return Redirect::to(pageurl('auth') . '#message'); */ } } catch (Exception $e) { Session::flash('message', 'Возникла ошибка при авторизации через социальную сеть.'); return Redirect::to(pageurl('auth') . '#message'); } if ($check = Ulogin::where('identity', '=', $_user['identity'])->first()) { Auth::loginUsingId($check->user_id, FALSE); if (is_array($api_social)) { Auth::user()->active = 1; Auth::user()->remote_id = @$api_social['id']; Auth::user()->sessionKey = @$api_social['sessionKey']; Auth::user()->save(); } if (isset($_COOKIE['firstCodeCookie']) && !empty($_COOKIE['firstCodeCookie'])) { $result = PromoController::registerPromoCode($_COOKIE['firstCodeCookie']); Session::flash('message', Config::get('api.message')); setcookie("firstCodeCookie", "", time() - 3600, '/'); return Redirect::to(AuthAccount::getGroupStartUrl() . '#message'); } return Redirect::to(AuthAccount::getGroupStartUrl()); } elseif (isset($_user['email']) && User::where('email', @$_user['email'])->exists()) { return Redirect::to(URL::route('page', 'registering'))->with('token', Input::get('token'))->with('email', @$_user['email'])->with('identity', @$_user['identity'])->with('profile', @$_user['profile'])->with('first_name', @$_user['first_name'])->with('last_name', @$_user['last_name'])->with('sex', @$_user['sex'] - 1)->with('bdate', @$_user['bdate'])->with('uid', @$_user['uid'])->with('photo_big', @$_user['photo_big'])->with('photo', @$_user['photo'])->with('network', @$_user['network'])->with('verified_email', @$_user['verified_email']); } else { $rules = array('network' => 'required|max:255', 'identity' => 'required|max:255|unique:ulogin', 'email' => 'required|unique:ulogin|unique:users'); $validate = Validator::make($_user, $rules); if ($validate->passes()) { return Redirect::to(URL::route('page', 'registering'))->with('token', Input::get('token'))->with('email', @$_user['email'])->with('identity', @$_user['identity'])->with('profile', @$_user['profile'])->with('first_name', @$_user['first_name'])->with('last_name', @$_user['last_name'])->with('sex', @$_user['sex'] - 1)->with('bdate', @$_user['bdate'])->with('uid', @$_user['uid'])->with('photo_big', @$_user['photo_big'])->with('photo', @$_user['photo'])->with('network', @$_user['network'])->with('verified_email', @$_user['verified_email']); } else { return Redirect::to(URL::route('page', 'registering')); } } }
/** Завершает сессию и очищает сохраненные переменные */ public function logout() { parent::logout(); unset($_SESSION[self::session_key]); }
$networks = implode(',', $networks) . ',' . $ID_INFO[0]; $second_user = CUser::GetByID($ID_INFO[1])->GetNext(); $second_networks = explode(',', $second_user['ADMIN_NOTES']); unset($second_networks[array_search($ID_INFO[0], $second_networks)]); if (!count($second_networks)) { $USER->Delete($ID_INFO[1]); } else { $USER->Update($ID_INFO[1], array('ADMIN_NOTES' => implode(',', $second_networks))); } Ulogin::updateUloginAccount($UloginID, $UserID, $arResult['USER']['NETWORK']); $USER->Update($UserID, array('ADMIN_NOTES' => $networks)); } } else { if (!in_array($arResult['USER']['NETWORK'], $networks)) { //добавляем, если такого сервиса нет Ulogin::createUloginAccount($arResult['USER'], $UserID); $networks = implode(',', $networks) . ',' . $arResult['USER']['NETWORK']; $USER->Update($UserID, array('ADMIN_NOTES' => $networks)); } } } else { if (isset($profile['error'])) { ShowMessage(array("TYPE" => "ERROR", "MESSAGE" => $profile['error'])); } } } if (!isset($GLOBALS['ULOGIN_OK'])) { $GLOBALS['ULOGIN_OK'] = 1; } else { $GLOBALS['ULOGIN_OK']++; }