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; } }
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); }