function check_post_content($id, $content) { $emember_auth = Emember_Auth::getInstance(); if ($emember_auth->is_my_page_post($id)) { return $content; } if (isset($emember_auth->hasmore[$id])) { unset($emember_auth->hasmore[$id]); $emember_auth->is_post_visible = true; return $content; } else { global $more; $before_more = ''; $emember_config = Emember_Config::getInstance(); $enable_more_tag = $emember_config->getValue('eMember_enable_more_tag'); if ($more && $enable_more_tag) { $before_more = explode('<span id="more-' . $id . '"></span>', $content); if (count($before_more) == 1) { $before_more = ''; } else { $before_more = $before_more[0] . '<br/>'; } } if ($emember_auth->is_protected_category($id) || $emember_auth->is_protected_parent_category($id)) { if ($emember_auth->isLoggedIn()) { $expires = $emember_auth->getUserInfo('account_state'); if ($expires == 'expired') { return $before_more . get_renewal_link(); } if (!$emember_auth->is_subscription_expired()) { if ($emember_auth->is_permitted_category($id)) { $emember_auth->is_post_visible = true; return $content; } else { //return '<br/><b>'. EMEMBER_LEVEL_NOT_ALLOWED .'</b>'; return $before_more . wp_emember_format_message(EMEMBER_LEVEL_NOT_ALLOWED); } } else { return $before_more . get_renewal_link(); } } else { if (isset($_GET['event']) && $_GET['event'] == 'login') { if (is_single()) { return $before_more . print_eMember_login_form(); } else { return $before_more . get_login_link(); } } else { return $before_more . get_login_link(); } } } else { if ($emember_auth->is_protected_post($id)) { if ($emember_auth->isLoggedIn()) { $expires = $emember_auth->getUserInfo('account_state'); if ($expires == 'expired') { return $before_more . get_renewal_link(); } if (!$emember_auth->is_subscription_expired()) { if ($emember_auth->is_permitted_post($id)) { $emember_auth->is_post_visible = true; return $content; } else { //return '<br/><b>' . EMEMBER_CONTENT_RESTRICTED . '</b>'; return $before_more . wp_emember_format_message(EMEMBER_CONTENT_RESTRICTED); } } else { return $before_more . get_renewal_link(); } } else { if (isset($_GET['event']) && $_GET['event'] == 'login') { if (is_single()) { return $before_more . print_eMember_login_form(); } else { return $before_more . get_login_link(); } } else { return $before_more . get_login_link(); } } } else { $emember_auth->is_post_visible = true; return $content; } } } }
function filter_eMember_login_form($content) { $pattern = '#\\[wp_eMember_login_form:end]#'; preg_match_all($pattern, $content, $matches); foreach ($matches[0] as $match) { $replacement = print_eMember_login_form(); $content = str_replace($match, $replacement, $content); } return $content; }