function ym_sidebar_widget($args)
{
    global $wpdb, $user_ID, $current_user, $ym_default_active_intro, $ym_default_inactive_intro, $ym_default_logged_out_intro, $ym_user;
    if (!function_exists('register_sidebar_widget')) {
        return;
    }
    $options = get_option('ym_sidebar_widget');
    $title = isset($options['ym_sidebar_widget_title']) ? $options['ym_sidebar_widget_title'] : __('Your Members', 'ym');
    $logged_out_intro = isset($options['ym_sidebar_widget_logged_out_intro']) ? stripslashes($options['ym_sidebar_widget_logged_out_intro']) : $ym_default_logged_out_intro;
    $hide_logged_out = isset($options['ym_sidebar_widget_hide_logged_out']) ? stripslashes($options['ym_sidebar_widget_hide_logged_out']) : false;
    extract($args);
    if ($user_ID) {
        echo $before_widget;
        if (trim($title)) {
            echo $before_title . $title . $after_title;
        }
        $user_obj = 'ym_user';
        $uat = $ym_user->account_type;
        $logout_url = wp_logout_url(ym_wp_logout(TRUE));
        // grab url to use
        $user_status = $ym_user->status;
        $expiry = $ym_user->expire_date;
        $username = $ym_user->data->user_login;
        if (strtolower($user_status) != 'active') {
            $inactive_intro = isset($options['ym_sidebar_widget_inactive_intro']) ? $options['ym_sidebar_widget_inactive_intro'] : $ym_default_inactive_intro;
            $inactive_intro = str_replace('[logout_url]', $logout_url, $inactive_intro);
            $inactive_intro = str_replace('[username]', $username, $inactive_intro);
            $inactive_intro = str_replace('[logout_link]', '<a href="' . $logout_url . '">' . __('Logout', 'ym') . '</a>', $inactive_intro);
            echo $inactive_intro;
            ym_upgrade_links();
        } else {
            if ($expiry) {
                $expiry = date(get_option('date_format'), $expiry);
            } else {
                $expiry = __('None', 'ym');
            }
            $active_intro = $ym_default_active_intro;
            if (isset($options['ym_sidebar_widget_active_intro'])) {
                $active_intro = $options['ym_sidebar_widget_active_intro'];
            }
            $last_pay_date = date(get_option('date_format'), $ym_user->last_pay_date);
            $active_intro = str_replace('[username]', $username, $active_intro);
            $active_intro = str_replace('[account_type]', $uat, $active_intro);
            $active_intro = str_replace('[expiry_date]', $expiry, $active_intro);
            $active_intro = str_replace('[last_pay_date]', $last_pay_date, $active_intro);
            $active_intro = str_replace('[logout_url]', $logout_url, $active_intro);
            $active_intro = str_replace('[logout_link]', '<a href="' . $logout_url . '">' . __('Logout', 'ym') . '</a>', $active_intro);
            echo $active_intro;
            ym_render_my_purchased_posts($user_ID);
        }
        echo $after_widget;
    } else {
        if (!$hide_logged_out) {
            echo $before_widget;
            if (trim($title)) {
                echo $before_title . $title . $after_title;
            }
            echo $logged_out_intro;
            echo ym_get_login_register_links();
            echo $after_widget;
        }
    }
}
Esempio n. 2
0
function ym_filter_message($message)
{
    global $current_user, $ym_res;
    $logged_in = false;
    if ($current_user->ID > 0) {
        $logged_in = true;
    }
    /*
     *  [[purchase_cost]] = Cost and currency of a purchasable post
     * [[login_register]] = Login or register form
     * [[login_register_links]] = Links for login and register
     * [[login_link]] = Login link only
     * [[register_link]] = Register link only
     * [[account_types]] = A list of membership levels that can see this post/page
     * [[duration]] = number of days that the user will have access for
     * [[buy_now]] = buy now button for single posts
     * [[paypal_button]] = Paypal image button
     * [[this_page]] = This page URL
     * [[p_id]] = This page/post ID
     * [[auto_buy_post]] = When used as a redirect will forward the user to paypal to buy the post they wanted
     */
    $post_id = get_the_ID();
    $currency = $ym_res->currency;
    $duration = get_post_meta($post_id, '_ym_post_purchasable_duration', 1);
    if (!$duration) {
        $duration = __('unlimited', 'ym');
    }
    $cost = get_post_meta($post_id, '_ym_post_purchasable_cost', 1) . ' ' . $currency;
    $login_register_links = !$logged_in ? ym_get_login_register_links() : '';
    $login_link = !$logged_in ? ym_get_login_link() : '';
    $register_link = !$logged_in ? ym_get_register_link() : '';
    $login_form = !$logged_in ? ym_login_form() : '';
    if (!($account_types = str_replace(';', ', ', get_post_meta($post_id, '_ym_account_type', true)))) {
        if (ym_post_is_purchasable($post_id)) {
            $account_types = 'Purchasable Only';
        } else {
            $account_types = 'No access';
        }
    }
    $message = str_replace('[[purchase_cost]]', $cost, $message);
    $message = str_replace('[[login_register]]', $login_form, $message);
    $message = str_replace('[[login_register_links]]', $login_register_links, $message);
    $message = str_replace('[[login_link]]', $login_link, $message);
    $message = str_replace('[[register_link]]', $register_link, $message);
    $message = str_replace('[[account_types]]', $account_types, $message);
    $message = str_replace('[[duration]]', $duration, $message);
    $message = str_replace('[[this_page]]', get_permalink(), $message);
    $message = str_replace('[[p_id]]', get_the_ID(), $message);
    return $message;
}