Example #1
0
function emember_login_init($redirect = true)
{
    do_action('eMember_user_login_init');
    $emember_auth = Emember_Auth::getInstance();
    $emember_config = Emember_Config::getInstance();
    $user = strip_tags($_POST['login_user_name']);
    $clientip = $_SERVER['REMOTE_ADDR'];
    if ($emember_config->getValue('eMember_multiple_logins') == '1') {
        unset($_POST['rememberme']);
    }
    eMember_log_debug("Authenticating login request for username: "******". Request came from IP Address: " . $clientip, true);
    if ($emember_auth->isLoggedIn()) {
        eMember_log_debug("Authentication completed for username: "******". IP Address: " . $clientip, true);
        $_SESSION['membership_level_name'] = $emember_auth->permitted->primary_level->get('alias');
        do_action('eMember_login_authentication_completed');
        if (isset($_REQUEST['no-redirect']) && $_REQUEST['no-redirect'] == '1') {
            //No redirect argument is set in this request. Do not do any after login redirect
        } else {
            //Do after login redirection according to the settings
            $enable_after_login_redirect = $emember_config->getValue('eMember_enable_redirection');
            if ($redirect && $enable_after_login_redirect) {
                eMember_log_debug("Redirecting member to the after login redirection page.", true);
                $separate_home_page = emember_get_after_login_page_url_of_current_user();
                if (!empty($separate_home_page)) {
                    wp_emember_redirect_to_url($separate_home_page);
                    exit;
                }
            }
        }
    }
}
Example #2
0
function eMember_login_widget()
{
    if (!defined('DONOTCACHEPAGE')) {
        define('DONOTCACHEPAGE', TRUE);
    }
    //Cache plugin compatibility. Do not cache the login form.
    $emember_config = Emember_Config::getInstance();
    $auth = Emember_Auth::getInstance();
    $username = $auth->getUserInfo('user_name');
    $output = '';
    if ($auth->isLoggedIn()) {
        $expires = $auth->getUserInfo('account_state');
        $subscription_duration = $auth->permitted->subscription_duration;
        if ($subscription_duration['type'] == 'noexpire') {
            $sub_expires = EMEMBER_NEVER;
        } else {
            if ($subscription_duration['type'] == 'fixeddate') {
                $sub_expires = emember_date_locale(strtotime($subscription_duration['duration']));
            } else {
                $sub_start = strtotime($auth->getUserInfo('subscription_starts'));
                $sub_expires = emember_date_locale(strtotime("+" . $subscription_duration['duration'] . " days ", $sub_start));
            }
        }
        $states = array('active' => EMEMBER_ACTIVE, 'inactive' => EMEMBER_INACTIVE, 'expired' => EMEMBER_EXPIRED, 'pending' => EMEMBER_PENDING, 'unsubscribed' => EMEMBER_UNSUBSCRIBED);
        $eMember_secure_rss = $emember_config->getValue('eMember_secure_rss');
        $eMember_show_welcome_page_link = $emember_config->getValue('eMember_show_link_to_after_login_page');
        $feed_url = get_bloginfo('rss2_url');
        //$feed_url = get_bloginfo('url') . '?feed=ememberfeed&key=' . md5($auth->getUserInfo('member_id'));
        global $wp_rewrite;
        //$nonce = wp_create_nonce('emember-secure-feed-nonce');
        if ($wp_rewrite->using_permalinks()) {
            $feed_url .= '?emember_feed_key=' . md5($auth->getUserInfo('member_id'));
        } else {
            $feed_url .= '&emember_feed_key=' . md5($auth->getUserInfo('member_id'));
        }
        $logout = get_logout_url();
        $output .= '<div class="eMember_logged_widget">';
        $output .= '<div class="eMember_logged_user_info_section">';
        $output .= '<div class="eMember_logged_in_as">' . EMEMBER_LOGGED_IN_AS;
        $output .= '<label class="eMember_highlight">' . $username . '</label></div>';
        $output .= '<div class="eMember_logged_in_level">' . EMEMBER_LOGGED_IN_LEVEL;
        $output .= '<label class="eMember_highlight">' . $auth->permitted->primary_level->get('alias') . '</label></div>';
        $output .= '<div class="eMember_logged_in_account_status">' . EMEMBER_ACCOUNT_STATUS . " ";
        $output .= '<label class="eMember_highlight">' . $states[$auth->getUserInfo('account_state')] . '</label></div>';
        $output .= '<div class="eMember_logged_user_expiry">';
        if ($expires != 'expired') {
            $output .= EMEMBER_ACCOUNT_EXPIRES_ON . " ";
            $output .= '<label class="eMember_highlight">' . $sub_expires . '</label>';
        } else {
            $renew_url = $emember_config->getValue('eMember_account_upgrade_url');
            $output .= '<a href="' . $renew_url . '">' . EMEMBER_RENEW_OR_UPGRADE . '</a>';
        }
        $output .= '</div>';
        //End of eMember_logged_user_expiry
        $output .= '</div>';
        //End of eMember_logged_user_info_section
        $output .= '<ul>';
        $output .= '<li><a href="' . $logout . '">' . EMEMBER_LOGOUT . '</a></li>';
        if ($eMember_secure_rss) {
            $output .= '<li><a href="' . $feed_url . '">' . EMEMBER_MY_FEED . '</a></li>';
        }
        $edit_profile_page = $emember_config->getValue('eMember_profile_edit_page');
        $support_page = $emember_config->getValue('eMember_support_page');
        if (!empty($edit_profile_page)) {
            $output .= '<li><a href="' . $edit_profile_page . '">' . EMEMBER_EDIT_PROFILE . '</a></li>';
        }
        if (!empty($support_page)) {
            $output .= '<li><a href="' . $support_page . '">' . EMEMBER_SUPPORT_PAGE . '</a></li>';
        }
        if ($eMember_show_welcome_page_link) {
            $welcome_page_url = emember_get_after_login_page_url_of_current_user();
            $output .= '<li><a href="' . $welcome_page_url . '">' . EMEMBER_WELCOME_PAGE . '</a></li>';
        }
        $bookmark_feature = $emember_config->getValue('eMember_enable_bookmark');
        if ($bookmark_feature) {
            $bookmark_page_url = $emember_config->getValue('eMember_bookmark_listing_page');
            if (!empty($bookmark_page_url)) {
                $output .= '<li><a href="' . $bookmark_page_url . '">' . EMEMBER_BOOKMARK_PAGE . '</a></li>';
            }
        }
        $output .= '</ul>';
        $custom_login_msg = stripslashes($emember_config->getValue('eMember_login_widget_message_for_logged_members'));
        if (!empty($custom_login_msg)) {
            $custom_login_msg = do_shortcode($custom_login_msg);
            $output .= html_entity_decode($custom_login_msg, ENT_COMPAT);
        }
        $output .= '</div>';
        //End of eMember_logged_widget
    } else {
        $output = show_login_form();
    }
    return $output;
}