public static function checkGroup() { $oSession = new Framework\Session\Session(); if (!$oSession->exists('member_group_id')) { $oSession->regenerateId(); $oSession->set('member_group_id', '1'); // By default, it's the Visitor's group (ID 1) } $rStmt = Db::getInstance()->prepare('SELECT permissions FROM' . Db::prefix('Memberships') . 'WHERE groupId = :groupId LIMIT 1'); $rStmt->bindValue(':groupId', $oSession->get('member_group_id'), \PDO::PARAM_INT); $rStmt->execute(); $oFetch = $rStmt->fetch(\PDO::FETCH_OBJ); Db::free($rStmt); unset($oSession); return Framework\CArray\ObjArr::toObject(unserialize($oFetch->permissions)); }
public static function checkGroup() { $oSession = new Framework\Session\Session(); if (!$oSession->exists('member_group_id')) { $oSession->regenerateId(); $oSession->set('member_group_id', '1'); // Visitor's group } unset($oSession); $rStmt = Db::getInstance()->prepare('SELECT permissions FROM' . Db::prefix('Memberships') . 'WHERE groupId = :groupId LIMIT 1'); $rStmt->bindParam(':groupId', $_SESSION[Framework\Config\Config::getInstance()->values['session']['prefix'] . 'member_group_id'], \PDO::PARAM_INT); $rStmt->execute(); $oFetch = $rStmt->fetch(\PDO::FETCH_OBJ); Db::free($rStmt); return Framework\CArray\ObjArr::toObject(unserialize($oFetch->permissions)); }
/** * Set a user authentication. * * @param object $oUserData User database object. * @param object \PH7\UserCoreModel $oUserModel * @param object \PH7\Framework\Session\Session $oSession * @return void */ public function setAuth($oUserData, UserCoreModel $oUserModel, Session $oSession) { // Is disconnected if the user is logged on as "affiliate" or "administrator". if (AffiliateCore::auth() || AdminCore::auth()) { $oSession->destroy(); } // Regenerate the session ID to prevent the session fixation $oSession->regenerateId(); // Now we connect the member $aSessionData = ['member_id' => $oUserData->profileId, 'member_email' => $oUserData->email, 'member_username' => $oUserData->username, 'member_first_name' => $oUserData->firstName, 'member_sex' => $oUserData->sex, 'member_group_id' => $oUserData->groupId, 'member_ip' => Ip::get(), 'member_http_user_agent' => (new Browser())->getUserAgent(), 'member_token' => Various::genRnd($oUserData->email)]; $oSession->set($aSessionData); (new Framework\Mvc\Model\Security())->addLoginLog($oUserData->email, $oUserData->username, '*****', 'Logged in!'); $oUserModel->setLastActivity($oUserData->profileId); unset($oUserModel, $oUserData); }