function check_login($ID, $passwd, $iRole = BX_DOL_ROLE_MEMBER, $error_handle = true) { $ID = (int) $ID; if (!$ID) { if ($error_handle) { login_form(_t("_PROFILE_ERR"), $member); } return false; } switch ($iRole) { case BX_DOL_ROLE_MEMBER: $member = 0; break; case BX_DOL_ROLE_ADMIN: $member = 1; break; } $aProfile = getProfileInfo($ID); // If no such members if (!$aProfile) { if ($error_handle) { login_form(_t("_PROFILE_ERR"), $member); } return false; } // If password is incorrect if (strcmp($aProfile['Password'], $passwd) != 0) { if ($error_handle) { login_form(_t("_INVALID_PASSWD"), $member); } return false; } if (!((int) $aProfile['Role'] & $iRole)) { if ($error_handle) { login_form(_t("_INVALID_ROLE"), $member); } return false; } if ((int) $aProfile['Role'] & BX_DOL_ROLE_ADMIN || (int) $aProfile['Role'] & BX_DOL_ROLE_MODERATOR) { if ('on' != getParam('ext_nav_menu_enabled')) { update_date_lastnav($ID); } return true; } // if IP is banned if (2 == getParam('ipBlacklistMode') && bx_is_ip_blocked() || 'on' == getParam('sys_dnsbl_enable') && 'block' == getParam('sys_dnsbl_behaviour') && bx_is_ip_dns_blacklisted('', 'login')) { if ($error_handle) { $GLOBALS['_page']['name_index'] = 55; $GLOBALS['_page']['css_name'] = ''; $GLOBALS['_ni'] = $GLOBALS['_page']['name_index']; $GLOBALS['_page_cont'][$GLOBALS['_ni']]['page_main_code'] = MsgBox(_t('_Sorry, your IP been banned')); PageCode(); } return false; } // if profile is banned if (isLoggedBanned($aProfile['ID'])) { if ($error_handle) { $GLOBALS['_page']['name_index'] = 55; $GLOBALS['_page']['css_name'] = ''; $GLOBALS['_ni'] = $GLOBALS['_page']['name_index']; $GLOBALS['_page_cont'][$GLOBALS['_ni']]['page_main_code'] = MsgBox(_t('_member_banned')); PageCode(); } return false; } if ('on' != getParam('ext_nav_menu_enabled')) { update_date_lastnav($ID); } return true; }
} break; } if ($sSubMenuCode) { header("Content-Type: text/html; charset=utf-8"); $sOutputHtml = $oMemberMenu->getSubMenuContent($iMemberId, $sSubMenuCode, $aLinkedItems); } } break; case 'get_bubbles_values': $sBubbles = isset($_GET['bubbles']) ? $_GET['bubbles'] : null; if ($sBubbles && $iMemberId) { $aMemberInfo = getProfileInfo($iMemberId); if ($aMemberInfo['UserStatus'] != 'offline') { // update the date of last navigate; update_date_lastnav($iMemberId); } $aBubbles = array(); $aBubblesItems = explode(',', $sBubbles); if ($aBubblesItems && is_array($aBubblesItems)) { $bClearCache = false; foreach ($aBubblesItems as $sValue) { $aItem = explode(':', $sValue); $sBubbleCode = null; foreach ($aMenuStructure as $sKey => $aItems) { foreach ($aItems as $iKey => $aSubItems) { if ($aSubItems['Name'] == $aItem[0]) { $sBubbleCode = $aSubItems['Bubble']; break; } }