Microweber\Providers\UserManager::make_logged PHP Метод

make_logged() публичный Метод

public make_logged ( $user_id )
    public function make_logged($user_id)
    {
        if (is_array($user_id)) {
            if (isset($user_id['id'])) {
                $user_id = $user_id['id'];
            }
        }
        if (intval($user_id) > 0) {
            $data = $this->get_by_id($user_id);
            if ($data == false) {
                return false;
            } else {
                if (is_array($data)) {
                    $user_session = array();
                    $user_session['is_logged'] = 'yes';
                    $user_session['user_id'] = $data['id'];
                    if (!defined('USER_ID')) {
                        define('USER_ID', $data['id']);
                    }
                    $old_sid = Session::getId();
                    $data['old_sid'] = $old_sid;
                    $user_session['old_session_id'] = $old_sid;
                    $current_user = Auth::user();
                    if (isset($current_user->id) and $current_user->id == $user_id) {
                        Auth::login(Auth::user());
                    } else {
                        Auth::loginUsingId($data['id']);
                    }
                    //
                    //                    Session::setId($old_sid);
                    //                    Session::save();
                    $this->app->event_manager->trigger('mw.user.login', $data);
                    $this->session_set('user_session', $user_session);
                    $user_session = $this->session_get('user_session');
                    $this->update_last_login_time();
                    $user_session['success'] = _e('You are logged in!', true);
                    return $user_session;
                }
            }
        }
    }