コード例 #1
0
function wp_emember_enhance_forum_protection($content)
{
    global $post;
    if (wp_emember_is_forum_post_visible($post)) {
        return $content;
    }
    return wp_emember_format_message(EMEMBER_CONTENT_RESTRICTED);
}
コード例 #2
0
ファイル: eMember_auth_utils.php プロジェクト: phupx/genco
function get_login_link()
{
    $emember_config = Emember_Config::getInstance();
    $login_url = get_permalink();
    $join_url = $emember_config->getValue('eMember_payments_page');
    $eMember_enable_fancy_login = $emember_config->getValue('eMember_enable_fancy_login');
    if (empty($join_url)) {
        $msg = '<b>Membership Payment/Join Page</b> is not defined in the settings page.Please Contact <a href="mailto:' . $emember_config->getValue('admin_email') . '">Admin</a>.';
        return wp_emember_format_message($msg);
    }
    $format_classes = "eMember_protected_message";
    if ($emember_config->getValue('eMember_format_post_page_protected_msg')) {
        //apply default formatting to the post/page protected message
        $format_classes .= ' eMember_protected_message_default';
    }
    if ($eMember_enable_fancy_login) {
        $url_text = '<div class="' . $format_classes . '">';
        $url_text .= EMEMBER_PLEASE . ' <a id="' . microtime(true) . '" class="emember_fancy_login_link activeLink" href="javascript:void(0);">' . EMEMBER_LOGIN . '</a> ' . EMEMBER_TO_VIEW_CONTENT;
        $url_text .= '<span class="eMember_not_a_member_msg">(' . EMEMBER_NON_MEMBER . ' <a href="' . $join_url . '">' . EMEMBER_JOIN . '</a>)</span>';
        $url_text .= '</div>';
        return $url_text;
        //return wp_emember_format_message($url_text . $output);
    }
    $disable_inline_login = $emember_config->getValue('eMember_disable_inline_login');
    if ($disable_inline_login) {
        $login_url = $emember_config->getValue('login_page_url');
    } else {
        $arr_params = array('event' => 'login');
        $login_url = add_query_arg($arr_params, $login_url);
    }
    $login_url = emember_add_no_redirect_param_if_applicable($login_url);
    $no_fancy_login = '';
    $no_fancy_login .= '<div class="' . $format_classes . '">';
    $no_fancy_login .= EMEMBER_PLEASE . ' <a href="' . $login_url . '">' . EMEMBER_LOGIN . '</a> ' . EMEMBER_TO_VIEW_CONTENT;
    $no_fancy_login .= '<span class="eMember_not_a_member_msg">(' . EMEMBER_NON_MEMBER . ' <a href="' . $join_url . '">' . EMEMBER_JOIN . '</a>)</span>';
    $no_fancy_login .= '</div>';
    return $no_fancy_login;
}
コード例 #3
0
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);
}