Example #1
1
function _checkFrontendUserAutoLogin()
{
    if (!_getFeUserLoginStatus() && session_id() && !empty($_COOKIE['phpwcmsFeLoginRemember']) && !isset($_POST['phpwcmsFeLoginRemember']) && !isset($_GET['phpwcmsFeLoginRemember'])) {
        $_loginData = explode('##-|-##', $_COOKIE['phpwcmsFeLoginRemember']);
        if (!empty($_loginData[0]) && !empty($_loginData[1])) {
            $_loginData['validate_db']['userdetail'] = empty($_loginData[2]) ? 0 : 1;
            $_loginData['validate_db']['backenduser'] = empty($_loginData[3]) ? 0 : 1;
            $_loginData['query_result'] = _checkFrontendUserLogin($_loginData[0], $_loginData[1], $_loginData['validate_db']);
            if ($_loginData['query_result'] !== false && is_array($_loginData['query_result']) && count($_loginData['query_result'])) {
                if (isset($_loginData['query_result']['usr_login'])) {
                    $_SESSION[session_id()] = $_loginData['query_result']['usr_login'];
                } elseif ($_loginData['query_result']['detail_login']) {
                    $_SESSION[session_id()] = $_loginData['query_result']['detail_login'];
                }
                $_SESSION[session_id() . '_userdata'] = _getFrontendUserBaseData($_loginData['query_result']);
            } else {
                unset($_COOKIE['phpwcmsFeLoginRemember']);
            }
        }
    }
    // logout
    if (session_id() && (isset($_POST['feLogout']) || isset($_GET['feLogout']))) {
        unset($_SESSION[session_id()]);
        setcookie('phpwcmsFeLoginRemember', '', time() - 3600, '/', getCookieDomain());
    }
    define('FEUSER_LOGIN_STATUS', _getFeUserLoginStatus());
}
 $_loginData['remember'] = 0;
 $_loginData['remind_data'] = '';
 $_loginData['felogin_profile_registration'] = empty($_loginData['felogin_profile_registration']) ? 0 : 1;
 $_loginData['felogin_profile_manage'] = empty($_loginData['felogin_profile_manage']) ? 0 : 1;
 $_loginData['validate_db']['userdetail'] = empty($_loginData['felogin_validate_userdetail']) ? 0 : 1;
 $_loginData['validate_db']['backenduser'] = empty($_loginData['felogin_validate_backenduser']) ? 0 : 1;
 // handle Login
 if (isset($_POST['feLogin'])) {
     $_loginData['login'] = slweg($_POST['feLogin']);
     $_loginData['password'] = slweg($_POST['fePassword']);
     $_loginData['remember'] = empty($_POST['feRemember']) ? 0 : 1;
     $_loginData['query_result'] = _checkFrontendUserLogin($_loginData['login'], md5($_loginData['password']), $_loginData['validate_db']);
     // ok, and now check if we got valid login data
     if ($_loginData['query_result'] !== false && is_array($_loginData['query_result']) && count($_loginData['query_result'])) {
         $_SESSION[$_loginData['session_key']] = $_loginData['login'];
         $_SESSION[$_loginData['session_key'] . '_userdata'] = _getFrontendUserBaseData($_loginData['query_result']);
         if ($_loginData['remember'] && !empty($_loginData['felogin_cookie_expire'])) {
             setcookie('phpwcmsFeLoginRemember', $_loginData['login'] . '##-|-##' . md5($_loginData['password']) . '##-|-##' . $_loginData['validate_db']['userdetail'] . '##-|-##' . $_loginData['validate_db']['backenduser'], time() + $_loginData['felogin_cookie_expire'], '/', getCookieDomain());
         }
     } else {
         $_loginData['error'] = true;
     }
 } elseif (isset($_POST['feReminder'])) {
     $_loginData['remind_data'] = slweg($_POST['feReminder']);
     // check if valid email - send login
     if ($_loginData['remind_data'] && is_valid_email($_loginData['remind_data'])) {
         if ($_loginData['validate_db']['userdetail']) {
             $sql = 'SELECT detail_login AS LOGIN, detail_email AS EMAIL FROM ' . DB_PREPEND . "phpwcms_userdetail WHERE LOWER(detail_email)=";
             $sql .= _dbEscape(strtolower($_loginData['remind_data'])) . " LIMIT 1";
             $result = _dbQuery($sql);
         }