Beispiel #1
0
 public function postUlogin()
 {
     $_user = json_decode(file_get_contents('http://ulogin.ru/token.php?token=' . Input::get('token') . '&host=' . $_SERVER['HTTP_HOST']), true);
     $validate = Validator::make([], []);
     if (isset($_user['error'])) {
         return Redirect::to('/#popup=enter');
     }
     if ($check = Ulogin::where('identity', '=', $_user['identity'])->first()) {
         if ($user = User::where('id', $check->user_id)->first()) {
             Auth::loginUsingId($user->id, true);
             return Redirect::to(AuthAccount::getGroupStartUrl());
         } else {
             return Redirect::back();
         }
     } elseif (isset($_user['email']) && User::where('email', $_user['email'])->exists()) {
         $userID = User::where('email', $_user['email'])->pluck('id');
         self::createULogin($userID, $_user);
         Auth::loginUsingId($userID, TRUE);
         return Redirect::to(AuthAccount::getGroupStartUrl());
     } 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('/#popup=reg')->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('city', @$_user['city'])->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('/#popup=enter');
         }
     }
 }
Beispiel #2
0
 public static function getSidebarModules()
 {
     $start_page = AuthAccount::getStartPage();
     $menu = array();
     ## Modules info
     $mod_info = Config::get('mod_info');
     $mod_menu = Config::get('mod_menu');
     #Helper::dd($mod_info);
     #Helper::d($mod_menu);
     $dic_entities = array();
     if (class_exists('AdminDicvalsController')) {
         $entity_dics = Dic::where('entity', '1')->orderBy(DB::raw('-`order`'), 'DESC')->get();
         #Helper::tad($entity_dics);
         if (count($entity_dics)) {
             $controller = new AdminDicvalsController();
             foreach ($entity_dics as $entity_dic) {
                 if (!$controller->is_available($entity_dic)) {
                     continue;
                 }
                 $dic_entities[$entity_dic->slug] = array(array('title' => $entity_dic->name, 'link' => Helper::clearModuleLink(URL::route('entity.index', $entity_dic->slug)), 'class' => $entity_dic->icon_class, 'module' => 'dictionaries', 'permit' => 'dicval_entity_view'));
             }
             ##$dic_entities += $mod_menu;
             ##$mod_menu = $dic_entities;
             #Helper::d($dic_entities);
             #Helper::dd($mod_menu);
         }
     }
     ## If exists menu elements...
     if (isset($mod_menu) && is_array($mod_menu) && count($mod_menu)) {
         #foreach( $mod_menu as $mod_name => $menu_elements ) {
         foreach ((array) @$dic_entities + Allow::modules() as $mod_name => $module) {
             #Helper::d($mod_name);
             ## Hardcode...
             $menu_elements = @is_object($module) && @is_array($mod_menu[$mod_name]) ? $mod_menu[$mod_name] : $module;
             if (is_array($menu_elements) && count($menu_elements)) {
                 #Helper::d($mod_name); #continue;
                 #Helper::d($menu_elements); #continue;
                 foreach ($menu_elements as $m => $menu_element) {
                     #Helper::d($menu_element); #continue;
                     ## If permit to view menu element
                     $rules = @$menu_element['permit'];
                     $module = @$menu_element['module'] ?: $mod_name;
                     $permit = $rules ? Allow::action($module, $rules, true, false) : true;
                     #Helper::d($module . " :: " . $permit . " :: " . $rules);
                     #Helper::d( $menu_element['title'] . " - " . (int)$permit );
                     if ($permit) {
                         $menu[] = $menu_element;
                     }
                 }
             }
         }
     }
     #Helper::dd($menu);
     return $menu;
 }
 public function dashboard()
 {
     if (!Auth::check()) {
         return self::redirectToLogin();
     }
     $parts = array();
     $parts[] = 'templates';
     $parts[] = AuthAccount::getStartPage();
     $parts[] = 'dashboard';
     return View::make(implode('.', $parts));
 }
Beispiel #4
0
 public static function auth2($link = NULL)
 {
     if (!is_null($link) && $link != "/" && mb_substr($link, 0, 1) != '/') {
         $link = '/' . $link;
     }
     #$_locale = Session::get('locale');
     #Helper::dd( AuthAccount::getStartPage() );
     if (Auth::check()) {
         #return self::createLink(AuthAccount::getStartPage().$link);
         return '/' . AuthAccount::getStartPage() . $link;
     } else {
         return url($link);
     }
 }
 public function validPhone()
 {
     $json_request = array('status' => FALSE, 'responseText' => '', 'redirectURL' => FALSE);
     if (Request::ajax()) {
         $validator = Validator::make(Input::all(), array('code' => 'required'));
         if ($validator->passes()) {
             if (Auth::check()) {
                 $post['code'] = Input::get('code');
                 $post['customerId'] = Auth::user()->remote_id;
                 $post['sessionKey'] = Auth::user()->sessionKey;
                 $api = (new ApiController())->activatePhone($post);
                 if ($api === -1) {
                     Auth::logout();
                     $json_request['status'] = TRUE;
                     $json_request['redirectURL'] = pageurl('auth');
                     return Response::json($json_request, 200);
                 } elseif ($api === FALSE) {
                     $json_request['status'] = FALSE;
                 } else {
                     $json_request['status'] = TRUE;
                     $json_request['responseText'] = Config::get('api.message');
                     $json_request['redirectURL'] = URL::to(AuthAccount::getGroupStartUrl());
                 }
                 $json_request['responseText'] = Config::get('api.message');
             }
         } else {
             $json_request['responseText'] = 'Неверно заполнены поля';
             $json_request['responseErrorText'] = $validator->messages()->all();
         }
     } else {
         return App::abort(404);
     }
     return Response::json($json_request, 200);
 }
Beispiel #6
0
 public static function clearModuleLink($path)
 {
     $return = $path;
     $start = AuthAccount::getStartPage();
     if (!$start) {
         return $return;
     }
     $auth_acc_pos = @mb_strpos($return, $start, 7);
     if ($auth_acc_pos) {
         $return = preg_replace("~.+?" . $start . "/?~is", '', $path);
     }
     #Helper::dd(AuthAccount::getStartPage() . ' = ' . $auth_acc_pos . ' = ' . $return);
     return $return;
 }
Beispiel #7
0
}
/*
|--------------------------------------------------------------------------
| Guest Filter
|--------------------------------------------------------------------------
*/
Route::filter('guest', function () {
    if (Auth::check()) {
        return Redirect::to('/');
    }
});
Route::filter('auth2login', function () {
    if (Auth::check()) {
        #Helper::dd(Request::path() . ' != ' . AuthAccount::getStartPage());
        if (Request::path() != AuthAccount::getStartPage()) {
            return Redirect::to(AuthAccount::getStartPage());
        }
    } else {
        return Redirect::route('login');
    }
});
/*
|--------------------------------------------------------------------------
| CSRF Protection Filter
|--------------------------------------------------------------------------
*/
Route::filter('csrf', function () {
    if (Session::token() != Input::get('_token')) {
        throw new Illuminate\Session\TokenMismatchException();
    }
});
Beispiel #8
0
 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'));
         }
     }
 }
Beispiel #9
0
<?php

$prefix = Auth::check() ? AuthAccount::getStartPage() : 'participant';
/**
 * Роуты для загрузки изображений в визуальном редакторе
 */
Route::get('redactor/get-uploaded-images', 'RedactorUploadsController@redactorUploadedImages');
Route::post('redactor/upload', 'RedactorUploadsController@redactorUploadImage');
#################################################################
## Все, что ниже - можно вынести в модуль system - Пользователи.
## Но, возможно, придется следить за порядком загрузки модулей...
#################################################################
## В случае, если неавторизованный пользователь зайдет на /admin, то он будет переадресован на /login.
Route::get('admin', array('before' => 'auth2login', 'uses' => 'BaseController@redirectToLogin'));
/*
| Роуты, доступные для всех авторизованных пользователей - dashboard
*/
Route::group(array('before' => 'auth', 'prefix' => $prefix), function () {
    Route::get('/', array('as' => 'dashboard', 'uses' => 'BaseController@dashboard'));
});
/*
| Роуты, доступные только для неавторизованных пользователей
*/
Route::group(array('before' => 'guest', 'prefix' => ''), function () {
    Route::post('signin', array('as' => 'signin', 'uses' => 'GlobalController@signin'));
    Route::post('signup', array('as' => 'signup', 'uses' => 'GlobalController@signup'));
    Route::get('activation', array('as' => 'activation', 'uses' => 'GlobalController@activation'));
});
/*
| Роуты, доступные для гостей и авторизованных пользователей
*/
 public function activation()
 {
     if ($account = User::where('id', Input::get('u'))->where('temporary_code', Input::get('c'))->where('code_life', '>=', time())->first()) {
         $account->active = 1;
         $account->temporary_code = '';
         $account->code_life = 0;
         $account->save();
         $account->touch();
         Auth::login($account);
         if (Auth::check()) {
             return Redirect::to(AuthAccount::getStartPage());
         }
     } else {
         return App::abort(404);
     }
 }
Beispiel #11
0
<?php

$prefix = Auth::check() ? AuthAccount::getStartPage() : 'guest';
/**
 * Роуты для загрузки изображений в визуальном редакторе
 */
Route::get('redactor/get-uploaded-images', 'RedactorUploadsController@redactorUploadedImages');
Route::post('redactor/upload', 'RedactorUploadsController@redactorUploadImage');
#################################################################
## Все, что ниже - можно вынести в модуль system - Пользователи.
## Но, возможно, придется следить за порядком загрузки модулей...
#################################################################
## В случае, если неавторизованный пользователь зайдет на /admin, то он будет переадресован на /login.
Route::get('admin', array('before' => 'auth2login', 'uses' => 'BaseController@redirectToLogin'));
/*
| Роуты, доступные для всех авторизованных пользователей - dashboard
*/
Route::group(array('before' => 'auth', 'prefix' => $prefix), function () {
    Route::get('/', 'BaseController@dashboard');
});
/*
| Роуты, доступные только для неавторизованных пользователей
*/
Route::group(array('before' => 'guest', 'prefix' => ''), function () {
    Route::post('signin', array('as' => 'signin', 'uses' => 'GlobalController@signin'));
    Route::post('signup', array('as' => 'signup', 'uses' => 'GlobalController@signup'));
    Route::get('activation', array('as' => 'activation', 'uses' => 'GlobalController@activation'));
});
/*
| Роуты, доступные для гостей и авторизованных пользователей
*/
Beispiel #12
0
 public function activation($temporary_key = '')
 {
     if ($account = User::where('active', 0)->where('temporary_code', $temporary_key)->where('code_life', '>=', time())->first()) {
         $account->code_life = 0;
         $account->temporary_code = '';
         $account->active = 1;
         $account->save();
         $account->touch();
         Auth::login($account, TRUE);
         return Redirect::to(AuthAccount::getGroupStartUrl());
     } else {
         return Redirect::to('/')->with('message.status', 'error')->with('message.text', 'Код активации не действителен.');
     }
 }
Beispiel #13
0
 public function secondRegisterCertificates()
 {
     $json_request = array('status' => FALSE, 'responseText' => '', 'redirectURL' => FALSE);
     $validator = Validator::make(Input::all(), array('certificate' => 'required', 'ticket_id' => 'required'));
     if ($validator->passes()) {
         $certificates = Config::get('directcrm.certificates');
         if (!isset($certificates[Input::get('certificate')])) {
             $json_request['status'] = FALSE;
             $json_request['responseText'] = 'Выбранный курс недоступен';
             return Response::json($json_request, 200);
         }
         $post['wonLotteryTicketId'] = Input::get('ticket_id');
         $post['prizesystemname'] = Input::get('certificate');
         $post['customerId'] = Auth::user()->remote_id;
         $post['sessionKey'] = Auth::user()->sessionKey;
         $api_result = (new ApiController())->register_certificate($post);
         if ($api_result === -1) {
             Auth::logout();
             $json_request['redirectURL'] = pageurl('auth');
             return Response::json($json_request, 200);
         } elseif ($api_result === FALSE) {
             $json_request['status'] = FALSE;
         } else {
             $json_request['status'] = TRUE;
             $json_request['responseText'] = Config::get('api.message');
             $json_request['redirectURL'] = URL::to(AuthAccount::getGroupStartUrl());
         }
         $json_request['responseText'] = Config::get('api.message');
     } else {
         $json_request['responseText'] = $validator->messages()->all();
     }
     if (Request::ajax()) {
         return Response::json($json_request, 200);
     } else {
         return Redirect::route('mainpage');
     }
 }