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