/** * Restricting content to registered users and or user roles * * @since * @access public * * @param $atts * @param $content * @return mixed|void */ function rcp_restrict_shortcode($atts, $content = null) { $atts = shortcode_atts(array('userlevel' => 'none', 'message' => '', 'paid' => false, 'level' => 0, 'subscription' => ''), $atts, 'restrict'); global $rcp_options, $user_ID; if (strlen(trim($atts['message'])) > 0) { $teaser = $atts['message']; } elseif ($atts['paid']) { $teaser = $rcp_options['paid_message']; } else { $teaser = $rcp_options['free_message']; } $subscription = array_map('trim', explode(',', $atts['subscription'])); $has_access = false; if ($atts['paid']) { if (rcp_is_active($user_ID) && rcp_user_has_access($user_ID, $atts['level'])) { $has_access = true; } $classes = 'rcp_restricted rcp_paid_only'; } else { if (rcp_user_has_access($user_ID, $atts['level'])) { $has_access = true; } $classes = 'rcp_restricted'; } if (!empty($subscription) && !empty($subscription[0])) { if (!in_array(rcp_get_subscription_id($user_ID), $subscription) || in_array(rcp_get_subscription_id($user_ID), $subscription) && rcp_is_expired($user_ID)) { $has_access = false; } } if ($atts['userlevel'] === 'admin' && !current_user_can('switch_themes')) { $has_access = false; } if ($atts['userlevel'] === 'editor' && !current_user_can('moderate_comments')) { $has_access = false; } if ($atts['userlevel'] === 'author' && !current_user_can('upload_files')) { $has_access = false; } if ($atts['userlevel'] === 'contributor' && !current_user_can('edit_posts')) { $has_access = false; } if ($atts['userlevel'] === 'subscriber' && !current_user_can('read')) { $has_access = false; } if ($atts['userlevel'] === 'none' && !is_user_logged_in()) { $has_access = false; } if (current_user_can('manage_options')) { $has_access = true; } $has_access = (bool) apply_filters('rcp_restrict_shortcode_has_access', $has_access, $user_ID, $atts); if ($has_access) { return apply_filters('rcp_restrict_shortcode_return', $content); } else { return '<div class="' . $classes . '">' . rcp_format_teaser($teaser) . '</div>'; } }
/** * EDD Forum Sidebar * * @since 1.0.0 * @return void */ function edd_bbp_sidebar() { global $post; $user_id = get_the_author_meta('ID'); $user_data = get_userdata($user_id); ?> <div class="box"> <?php do_action('edd_bbp_sidebar'); ?> <h3><?php echo get_the_author_meta('first_name') . ' ' . get_the_author_meta('last_name'); ?> </h3> <p class="bbp-user-forum-role"><?php printf('Forum Role: %s', bbp_get_user_display_role($user_id)); ?> </p> <p class="bbp-user-topic-count"><?php printf('Topics Started: %s', bbp_get_user_topic_count_raw($user_id)); ?> </p> <p class="bbp-user-reply-count"><?php printf('Replies Created: %s', bbp_get_user_reply_count_raw($user_id)); ?> </p> <div class="rcp_support_status"> <h4>Priority Support Access</h4> <?php if (function_exists('rcp_is_active')) { if (rcp_is_active($user_id)) { ?> <p>Has <strong>Priority Support</strong> access.</p> <?php } elseif (rcp_is_expired($user_id)) { ?> <p><strong>Priority Support</strong> access has <span style="color:red;">expired</span>.</p> <?php } else { ?> <p>Has no priority support accesss</p> <?php } } ?> </div><!-- /.rcp_support_status --> <div class="edd_users_purchases"> <h4>User's Purchases:</h4> <?php $purchases = edd_get_users_purchases($user_data->user_email, 100, false, 'any'); if ($purchases) { echo '<ul>'; foreach ($purchases as $purchase) { echo '<li>'; echo '<strong><a href="' . admin_url('edit.php?post_type=download&page=edd-payment-history&view=view-order-details&id=' . $purchase->ID) . '">#' . $purchase->ID . ' - ' . edd_get_payment_status($purchase, true) . '</a></strong><br/>'; $downloads = edd_get_payment_meta_downloads($purchase->ID); foreach ($downloads as $download) { echo get_the_title($download['id']) . ' - ' . date('F j, Y', strtotime($purchase->post_date)) . '<br/>'; } if (function_exists('edd_software_licensing')) { $licenses = edd_software_licensing()->get_licenses_of_purchase($purchase->ID); if ($licenses) { echo '<strong>Licenses:</strong><br/>'; foreach ($licenses as $license) { $key = edd_software_licensing()->get_license_key($license->ID); echo '<a href="' . admin_url('edit.php?post_type=download&page=edd-licenses&s=' . $key) . '">' . $key . '</a>'; echo ' - ' . edd_software_licensing()->get_license_status($license->ID); echo '<br/>'; } } echo '<hr/>'; } echo '</li>'; } echo '</ul>'; } else { echo '<p>This user has never purchased anything.</p>'; } ?> </div> </div> <?php }
<tr> <td><?php rcp_print_status(); ?> </td> <td><?php echo rcp_get_subscription(); ?> </td> <td><?php echo rcp_get_expiration_date(); ?> </td> <td> <?php if ((rcp_is_expired($user_ID) || !rcp_is_recurring($user_ID) || rcp_get_status($user_ID) == 'cancelled') && rcp_subscription_upgrade_possible($user_ID)) { echo '<a href="' . esc_url(get_permalink($rcp_options['registration_page'])) . '" title="' . __('Renew your subscription', 'rcp') . '" class="rcp_sub_details_renew">' . __('Renew your subscription', 'rcp') . '</a>'; } elseif (!rcp_is_active($user_ID) && rcp_subscription_upgrade_possible($user_ID)) { echo '<a href="' . esc_url(get_permalink($rcp_options['registration_page'])) . '" title="' . __('Upgrade your subscription', 'rcp') . '" class="rcp_sub_details_renew">' . __('Upgrade your subscription', 'rcp') . '</a>'; } elseif (rcp_is_active($user_ID) && rcp_is_paypal_subscriber()) { echo '<a href="https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_manage-paylist" target="_blank" title="' . __('Cancel your subscription', 'rcp') . '">' . __('Cancel your subscription', 'rcp') . '</a>'; } do_action('rcp_subscription_details_action_links'); ?> </td> </tr> </tbody> </table> <table class="rcp-table" id="rcp-payment-history"> <thead> <tr>
function rcp_get_status($user_id) { $status = get_user_meta($user_id, 'rcp_status', true); // double check that the status and expiration match. Update if needed if ($status == 'active' && rcp_is_expired($user_id)) { rcp_set_status($user_id, 'expired'); $status = 'expired'; } if ($status == '') { $status = __('free', 'rcp'); } return $status; }
/** * Add priority support status to users * * @since 1.0.0 * @return void */ function wi_bbp_add_user_priority_support_status() { if (!current_user_can('moderate')) { return; } elseif (!function_exists('rcp_get_status')) { return; } $user_id = bbp_get_displayed_user_field('ID'); echo '<div class="rcp_support_status">'; echo '<h4>Priority Support Access</h4>'; if (rcp_is_active($user_id)) { echo '<p>Has <strong>Priority Support</strong> access.</p>'; } elseif (rcp_is_expired($user_id)) { echo '<p><strong>Priority Support</strong> access has <span style="color:red;">expired</span>.</p>'; } else { echo '<p>Has no priority support accesss</p>'; } echo '</div>'; }
<?php } ?> <table class="rcp-table" id="rcp-account-overview"> <thead> <tr> <th><?php _e('Status', 'rcp'); ?> </th> <th><?php _e('Subscription', 'rcp'); ?> </th> <?php if (rcp_is_recurring() && !rcp_is_expired()) { ?> <th><?php _e('Renewal Date', 'rcp'); ?> </th> <?php } else { ?> <th><?php _e('Expiration', 'rcp'); ?> </th> <?php } ?>