Пример #1
0
function emember_lockdown_widget()
{
    $emember_auth = Emember_Auth::getInstance();
    $emember_config = Emember_Config::getInstance();
    $locking_option = $emember_config->getValue('eMember_enable_domain_lockdown');
    $altpopup = strtolower($emember_config->getValue('eMember_domain_lockdown_alt2popup'));
    $current_url = strtolower(wp_emember_get_current_url());
    $trimmed_cur_url = rtrim($current_url, "/");
    $trimed_altpopup = rtrim($altpopup, "/");
    if ($trimed_altpopup == $trimmed_cur_url) {
        return;
    }
    $join_url = $emember_config->getValue('eMember_payments_page');
    if (emember_is_first_click()) {
        return;
    }
    if ($current_url == strtolower($join_url)) {
        return;
    }
    $reg_url = $emember_config->getValue('eMember_registration_page');
    $reg_url_lowercase = strtolower($reg_url);
    $reg_url_pos = strpos($current_url, $reg_url_lowercase);
    if ($reg_url_pos !== false) {
        return;
    }
    $login_page_url = $emember_config->getValue('login_page_url');
    $login_page_lowercase = strtolower($login_page_url);
    if (strpos($current_url, $login_page_lowercase) !== false) {
        return;
    }
    $forgot_pass_url = $emember_config->getValue('eMember_password_reset_page');
    if (!empty($forgot_pass_url)) {
        if ($current_url == strtolower($forgot_pass_url)) {
            return;
        }
    }
    if ($locking_option == 1) {
        $excluded_urls = $emember_config->getValue('eMember_domain_lockdown_exclude_url');
        $excluded_urls = explode(',', trim($excluded_urls));
        foreach ($excluded_urls as $url) {
            //$url = strtolower(trim($url));
            $url = rtrim(strtolower(trim($url)), "/");
            if ($trimmed_cur_url == $url) {
                return;
            }
            //Need to use == So that when you exclude homepage the full site is not open
        }
        //Check for pattern matching
        $excluded_url_patterns = $emember_config->getValue('eMember_domain_lockdown_exclude_url_pattern');
        $excluded_url_patterns = explode(',', trim($excluded_url_patterns));
        foreach ($excluded_url_patterns as $url) {
            //$url = strtolower(trim($url));
            $url = rtrim(strtolower(trim($url)), "/");
            if (stripos($trimmed_cur_url, $url) !== false) {
                return;
            }
        }
    } else {
        if ($locking_option == 2) {
            $allowed_url = true;
            $included_urls = $emember_config->getValue('eMember_domain_lockdown_include_url');
            $included_urls = explode(',', trim($included_urls));
            foreach ($included_urls as $url) {
                $url = trim($url);
                if (stripos($current_url, $url) !== False) {
                    $allowed_url = false;
                    break;
                }
            }
            if ($allowed_url) {
                return;
            }
        }
    }
    if (!$emember_auth->isLoggedIn()) {
        echo '</head><body>';
        wp_emember_hook_password_reminder();
        if (empty($altpopup)) {
            include_once 'emember_lockdown_popup.php';
        } else {
            $msg = EMEMBER_REDIRECTION_MESSAGE;
            echo '<html><head><meta http-equiv="refresh" content="1;url=' . $altpopup . '" /></head>';
            echo '<body style="padding:25px; border:1px solid #CCC; margin:25px; max-width:350px;margin-left:auto;margin-right:auto;">';
            echo '<h1>' . $msg . '</h1>';
            echo '</body></html>';
        }
        exit;
    }
}
Пример #2
0
function wp_emember_redirect_to_non_logout_url()
{
    //redirect to the URL without the "member_logout" GET Parameter
    $parsed_url = explode('?', wp_emember_get_current_url());
    $url = $parsed_url[0];
    if (isset($parsed_url[1])) {
        $parsed_query = array();
        parse_str($parsed_url[1], $parsed_query);
        unset($parsed_query['member_logout']);
        $parsed_url = http_build_query($parsed_query);
        if ($parsed_url) {
            $url .= '?' . $parsed_url;
        }
    }
    wp_emember_redirect_to_url($url);
}