function checkLogin(&$xoopsUser) { $root =& XCube_Root::getSingleton(); if ($root->mContext->mUser->isInRole('Site.RegisteredUser')) { return; } $root->mLanguageManager->loadModuleMessageCatalog('user'); $userHandler =& xoops_getmodulehandler('users', 'user'); $criteria = new CriteriaCompo(); if (xoops_getrequest('uname') != "" && strpos(xoops_getrequest('uname'), '@') !== false) { $criteria->add(new Criteria('email', xoops_getrequest('uname'))); } else { $criteria->add(new Criteria('uname', xoops_getrequest('uname'))); // use for both e-mail or uname logiin // $criteria->add(new Criteria('uname','')); // use for only e-mail logiin } $criteria->add(new Criteria('pass', md5(xoops_getrequest('pass')))); $userArr =& $userHandler->getObjects($criteria); if (count($userArr) != 1) { return; } if ($userArr[0]->get('level') == 0) { return; } $handler =& xoops_gethandler('user'); $user =& $handler->get($userArr[0]->get('uid')); $xoopsUser = $user; require_once XOOPS_ROOT_PATH . '/include/session.php'; xoops_session_regenerate(); $_SESSION = array(); $_SESSION['xoopsUserId'] = $xoopsUser->get('uid'); $_SESSION['xoopsUserGroups'] = $xoopsUser->getGroups(); }
foreach ($user->getGroups() as $group) { if (in_array($group, $xoopsConfig['closesite_okgrp']) || XOOPS_GROUP_ADMIN == $group) { $allowed = true; break; } } if (!$allowed) { redirect_header(XOOPS_URL . '/index.php', 1, _NOPERM); exit; } } $user->setVar('last_login', time()); if (!$member_handler->insertUser($user)) { } require_once XOOPS_ROOT_PATH . '/include/session.php'; xoops_session_regenerate(); $_SESSION = array(); $_SESSION['xoopsUserId'] = $user->getVar('uid'); $_SESSION['xoopsUserGroups'] = $user->getGroups(); if ($xoopsConfig['use_mysession'] && $xoopsConfig['session_name'] != '') { setcookie($xoopsConfig['session_name'], session_id(), time() + 60 * $xoopsConfig['session_expire'], '/', '', 0); } $user_theme = $user->getVar('theme'); if (in_array($user_theme, $xoopsConfig['theme_set_allowed'])) { $_SESSION['xoopsUserTheme'] = $user_theme; } if (!empty($_POST['xoops_redirect']) && !strpos($_POST['xoops_redirect'], 'register')) { $parsed = parse_url(XOOPS_URL); $url = isset($parsed['scheme']) ? $parsed['scheme'] . '://' : 'http://'; if (isset($parsed['host'])) { $url .= isset($parsed['port']) ? $parsed['host'] . ':' . $parsed['port'] . trim($_POST['xoops_redirect']) : $parsed['host'] . trim($_POST['xoops_redirect']);