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 emember_protected_handler($attrs, $contents, $codes = '') { global $post; $emember_auth = Emember_Auth::getInstance(); $emember_config = Emember_Config::getInstance(); $emember_auth->hasmore[$post->ID] = $post->ID; //$first_click_enabled = $emember_config->getValue('eMember_google_first_click_free'); $contents = do_shortcode($contents); if (emember_is_first_click()) { return $contents; } //google first click free enabled. $do_not_show_restricted_msg = isset($attrs['do_not_show_restricted_msg']) ? $attrs['do_not_show_restricted_msg'] : ""; if (!$emember_auth->isLoggedIn()) { // Show the content to anyone who is not logged in if (isset($attrs['scope']) && $attrs['scope'] == "not_logged_in_users_only") { return $contents; } } if ($emember_auth->isLoggedIn()) { // Do not show the content to anyone who is logged in if (isset($attrs['scope']) && $attrs['scope'] == "not_logged_in_users_only") { return ""; } // Show content to anyone who is logged in if (isset($attrs['scope']) && $attrs['scope'] == "verified_users_only") { return $contents; } $expires = $emember_auth->getUserInfo('account_state'); if ($expires == 'expired') { //Show the renewal message as this account is expired return get_renewal_link(); } if (isset($attrs['member_id'])) { $member_id = $emember_auth->getUserInfo('member_id'); $permitted_member_ids = explode('-', $attrs['member_id']); if (in_array($member_id, $permitted_member_ids)) { return $contents; } else { if (!empty($do_not_show_restricted_msg)) { return ""; //do not show the restrcted content message } return wp_emember_format_message(EMEMBER_ACCOUNT_PROFILE_NOT_ALLOWED); } } if (isset($attrs['for'])) { $level = $emember_auth->getUserInfo('membership_level'); $permitted_levels = explode('-', $attrs['for']); if (in_array($level, $permitted_levels)) { return $contents; } if ($emember_config->getValue('eMember_enable_secondary_membership')) { $sec_levels = $emember_auth->getUserInfo('more_membership_levels'); if ($sec_levels) { if (is_string($sec_levels)) { $sec_levels = explode(',', $sec_levels); } foreach ($sec_levels as $sec_level) { if (in_array($sec_level, $permitted_levels)) { return $contents; } } } } if (!empty($do_not_show_restricted_msg)) { return ""; //do not show the restrcted content message } if (isset($attrs['custom_msg'])) { //Show the custom message $replacement = $attrs['custom_msg']; return wp_emember_format_message($replacement); } else { //Show the standard hidden content $account_upgrade_url = $emember_config->getValue('eMember_account_upgrade_url'); return wp_emember_format_message(EMEMBER_HIDDEN_CONTENT_MESSAGE . '<br/>' . EMEMBER_PLEASE . ' <a href=" ' . $account_upgrade_url . '" target=_blank>' . EMEMBER_RENEW_OR_UPGRADE . '</a> ' . EMEMBER_YOUR_ACCOUNT); } } if (isset($attrs['not_for'])) { $level = $emember_auth->getUserInfo('membership_level'); $ban_levels = explode('-', $attrs['not_for']); $banned = false; if (in_array($level, $ban_levels)) { $banned = true; } else { if ($emember_config->getValue('eMember_enable_secondary_membership')) { $sec_levels = $emember_auth->getUserInfo('more_membership_levels'); if (!empty($sec_levels)) { if (is_string($sec_levels)) { $sec_levels = explode(',', $sec_levels); } foreach ($sec_levels as $sec_level) { if (in_array($sec_level, $ban_levels)) { $banned = true; } } } } } if ($banned) { if (!empty($do_not_show_restricted_msg)) { return ""; //do not show the restrcted content message } return wp_emember_format_message(EMEMBER_HIDDEN_CONTENT_MESSAGE); } } return $contents; } $join_url = $emember_config->getValue('eMember_payments_page'); if (empty($join_url)) { return wp_emember_format_message('<b>Membership Payment/Join Page</b>value is not set in eMember settings. Site admin needs to complete the settings in the pages/forms settings menu of eMember before the plugin can work.'); } else { $join_url = ' href ="' . $join_url . '" '; } if (!empty($do_not_show_restricted_msg)) { return ""; //do not show the restrcted content message } if (isset($attrs['custom_msg'])) { $replacement = $attrs['custom_msg']; } else { $replacement = '<a ' . $join_url . ' ><b>' . EMEMBER_MEMBERS_ONLY_MESSAGE . '</b></a>'; } return wp_emember_format_message($replacement); }