Ejemplo n.º 1
0
function socialConnectLogin($uid = false, $network_code = false)
{
    require_once _base_ . '/lib/lib.usermanager.php';
    $res = '';
    $lang = DoceboLanguage::createInstance('login');
    $user_manager = new UserManager();
    if (!empty($uid) && !empty($network_code)) {
        session_regenerate_id();
        $_SESSION['connect_social']['uid'] = $uid;
        $_SESSION['connect_social']['network_code'] = $network_code;
    }
    $can_connect = false;
    if (isset($_SESSION['connect_social']) && isset($_SESSION['connect_social']['uid']) && !empty($_SESSION['connect_social']['uid'])) {
        // read data from session, in case we are on the second step (login attempt)
        $uid = $_SESSION['connect_social']['uid'];
        $network_code = $_SESSION['connect_social']['network_code'];
        $can_connect = true;
    }
    // check form submission:
    if (isset($_POST['undo'])) {
        // go back to index
        Util::jump_to('index.php');
    } else {
        if (isset($_POST['login']) && !$can_connect) {
            // we don't have the social uid to be connected with user account..
            Util::jump_to('index.php?modname=login&op=social_connect_login&err=2');
        } else {
            if (isset($_POST['login'])) {
                // login and connect account
                $user = DoceboUser::createDoceboUserFromLogin(Get::pReq('login_userid', DOTY_STRING), Get::pReq('login_pwd', DOTY_STRING), 'public_area');
                if ($user) {
                    DoceboUser::setupUser($user);
                    $social = new Social();
                    $social->connectAccount($network_code, $uid);
                    unset($_SESSION['connect_social']);
                    Util::jump_to('index.php?r=lms/elearning/show');
                } else {
                    Util::jump_to('index.php?modname=login&op=social_connect_login&err=1');
                }
            }
        }
    }
    switch (Get::gReq('err', DOTY_INT, 0)) {
        case 1:
            $res .= UIFeedback::error(Lang::t('_NOACCESS', 'login'), true);
            break;
        case 2:
            $res .= UIFeedback::error(Lang::t('_NO_SOCIAL_ACCOUNT_TO_CONNECT', 'login') . '&nbsp;<a href="index.php">' . Lang::t('_TRY_AGAIN', 'login') . '</a>', true);
            break;
    }
    $GLOBALS['page']->add(getTitleArea($lang->def('_LOGIN'), 'login') . '<div class="std_block">' . getBackUi('index.php', $lang->def('_BACK')), 'content');
    if ($can_connect) {
        $res .= Get::img('social/' . $network_code . '-24.png') . '&nbsp;';
        $res .= str_replace('[network_code]', Lang::t($network_code, 'social'), Lang::t('_YOU_ARE_CONNECTING_SOCIAL_ACCOUNT', 'social')) . " <b>" . $uid . "</b>";
    }
    $res .= Form::openForm('scl_form', 'index.php?modname=login&amp;op=social_connect_login') . Form::openElementSpace() . Form::getTextfield(Lang::t('_USERNAME', 'login'), 'login_userid', 'login_userid', 255) . Form::getPassword(Lang::t('_PASSWORD', 'login'), 'login_pwd', 'login_pwd', 255) . Form::closeElementSpace() . Form::openButtonSpace() . Form::getButton('login', 'login', Lang::t('_LOGIN', 'login')) . Form::getButton('undo', 'undo', Lang::t('_UNDO', 'login')) . Form::closeButtonSpace() . Form::closeForm();
    $GLOBALS['page']->add($res, 'content');
    // std_block
    $GLOBALS['page']->add('</div>', 'content');
    // std_block
}
Ejemplo n.º 2
0
//operation that is needed before loading grafiphs element, menu and so on
switch ($GLOBALS['op']) {
    //login control
    case "confirm":
        if ($GLOBALS['modname'] == 'login') {
            require_once _base_ . '/lib/lib.usermanager.php';
            $manager = new UserManager();
            $login_data = $manager->getLoginInfo();
            $manager->saveUserLoginData();
            if ($login_data['userid'] != '') {
                if (Get::sett('ldap_used') !== 'on') {
                    require_once _base_ . '/lib/lib.acl.php';
                    $acl = new DoceboACL();
                    $acl_man =& $acl->getACLManager();
                }
                $GLOBALS['current_user'] =& DoceboUser::createDoceboUserFromLogin($login_data['userid'], $login_data['password'], 'public_area', $login_data['lang']);
                if ($GLOBALS['current_user'] === FALSE) {
                    $GLOBALS['current_user'] =& DoceboUser::createDoceboUserFromSession('public_area');
                    $GLOBALS['access_fail'] = true;
                    $GLOBALS['op'] = 'login';
                    Util::jump_to('../index.php?access_fail=1');
                } else {
                    $_SESSION['logged_in'] = true;
                    //loading related ST
                    Docebo::user()->loadUserSectionST('/lms/course/public/');
                    $pwd_elapsed = Docebo::user()->isPasswordElapsed();
                    if ($pwd_elapsed > 0) {
                        //$GLOBALS['modname'] = 'profile';
                        //$GLOBALS['op'] 		= 'renewalpwd';
                        $GLOBALS['modname'] = '';
                        $GLOBALS['op'] = '';
Ejemplo n.º 3
0
		$pwd_elapsed = Docebo::user()->isPasswordElapsed();
		if($pwd_elapsed > 0) {
			Util::jump_to(Get::rel_path('lms').'/index.php');
		}
	}
}
*/
// NOTE: some special function
switch ($GLOBALS['op']) {
    case "confirm":
        if ($GLOBALS['modname'] == 'login') {
            require_once _base_ . '/lib/lib.usermanager.php';
            $manager = new UserManager();
            $login_data = $manager->getLoginInfo();
            $manager->saveUserLoginData();
            $GLOBALS['current_user'] =& DoceboUser::createDoceboUserFromLogin($login_data['userid'], $login_data['password'], Get::sett('common_admin_session', 'on') == 'on' ? "public_area" : "admin_area", $login_data['lang']);
            if ($GLOBALS['current_user'] === FALSE) {
                $GLOBALS['current_user'] =& DoceboUser::createDoceboUserFromSession(Get::sett('common_admin_session', 'on') == 'on' ? "public_area" : "admin_area");
                $GLOBALS['access_fail'] = true;
                $GLOBALS['op'] = 'login';
            } else {
                $_SESSION['logged_in'] = true;
                $GLOBALS['r'] = 'adm/dashboard/show';
                $GLOBALS['modname'] = '';
                //loading related ST
                $GLOBALS['current_user']->loadUserSectionST();
                $GLOBALS['current_user']->SaveInSession();
                // perform other platforms login operation
                require_once _base_ . '/lib/lib.platform.php';
                $pm =& PlatformManager::createInstance();
                $pm->doCommonOperations("login");