Exemple #1
0
         }
         $response->set('omode', $mode);
         if ($identifier_handler->register($response, $uid)) {
             $message = 'OpenID is added successfully.';
         } else {
             $error = 'Fail in registration of OpenID<br />' . $identifier_handler->getError();
             break;
         }
     }
 }
 /* @var $member Openid_Member */
 $member =& Openid_Utils::load('member');
 if ($uid) {
     if (is_object($xoopsUser)) {
         if ($xoopsUser->getVar('uid') == $uid) {
             Openid_Utils::redirect($message, true);
         } else {
             //This is an undesirable case. However, it is not possible to refuse.
             $member->logout($xoopsUser);
         }
     }
     if ($user =& $member->getUser($uid)) {
         $member->loginSuccess($user);
     } else {
         $error = 'This OpenID may be invalid.<br />' . $member->getError();
         break;
     }
 }
 // Display regsteration panel
 $_SESSION['openid_response'] = rawurlencode(serialize($response));
 $displayId = $response->get4Show('displayId');
Exemple #2
0
 function &register(&$openid, &$post)
 {
     $ret = false;
     $uname = $post->get('uname');
     $email = $post->get('email');
     if (!$this->validateUname($uname) || !$this->validateEmail($email)) {
         return $ret;
     }
     $member_handler =& xoops_gethandler('member');
     $user =& $member_handler->createUser();
     $user->setVar('uname', $uname);
     $user->setVar('email', $email);
     $user->setVar('user_regdate', time());
     $user->setVar('pass', '*');
     $user->setVar('user_mailok', 0);
     $user->setVar('level', 1);
     $user->setVar('user_avatar', 'blank.gif');
     $user->setVar('last_login', time());
     $tz = $post->get('timezone_offset');
     if ($tz === FALSE) {
         $user->setVar('timezone_offset', $GLOBALS['xoopsConfig']['default_TZ']);
     } else {
         $user->setVar('timezone_offset', $tz);
     }
     if ($member_handler->insertUser($user, true)) {
         // Now, add the user to the group.
         foreach ($openid->get('gid') as $gid) {
             $member_handler->addUserToGroup($gid, $user->getVar('uid'));
         }
         return $user;
     } else {
         Openid_Utils::redirect(_MD_OPENID_ERROR_REGISTERNG);
     }
 }
Exemple #3
0
}
if (is_object($user)) {
    if ($xoopsModuleConfig['mode_policy'] == 0) {
        $openid->set('omode', $post->get('omode'));
    } else {
        $openid->set('omode', $xoopsModuleConfig['mode_policy']);
    }
    $identifier_handler =& Openid_Utils::load('identifier');
    if ($identifier_handler->register($openid, $user->getVar('uid'))) {
        $member->loginSuccess($user);
    } else {
        if ($op == 'register') {
            //rollback
            $member->deleteUser($user);
        }
        Openid_Utils::redirect($identifier_handler->getError());
    }
} else {
    require XOOPS_ROOT_PATH . '/header.php';
    $xoopsOption['template_main'] = 'openid_new_user.html';
    $xoopsTpl->assign('error', @$error ? $error : $member->getError());
    $xoopsTpl->assign('unam', $post->get4Show('uname'));
    if ($op == 'register') {
        $email = $post->get4Show('email');
        $timezone_offset = $post->get4Show('timezone_offset');
    } else {
        $email = $openid->get4Show('email');
        $timezone_offset = $xoopsConfig['default_TZ'];
    }
    $xoopsTpl->assign('email', $email);
    $xoopsTpl->assign('timezone_offset', $timezone_offset);