function eddsss_subscription_status_shortcode() { if (!is_user_logged_in() || !class_exists('EDD_Recurring_Customer')) { return; } $user_id = get_current_user_id(); $status = EDD_Recurring_Customer::get_customer_status($user_id); if ($status !== 'active' && $status !== 'cancelled' && $status !== 'expired') { return; } // Check if expired and set to expired if so if (EDD_Recurring_Customer::is_customer_expired($user_id)) { $status = 'expired'; EDD_Recurring_Customer::set_customer_status($user_id, $status); } $message = ''; switch ($status) { case 'active': $message = sprintf(__('Your subscription is active and will renew on %s.', 'edd'), date_i18n(get_option('date_format'), EDD_Recurring_Customer::get_customer_expiration($user_id))); break; case 'cancelled': $message = sprintf(__('Your subscription is cancelled and expires on %s.', 'edd'), date_i18n(get_option('date_format'), EDD_Recurring_Customer::get_customer_expiration($user_id))); break; case 'expired': $message = sprintf(__('Your subscription expired on %s.', 'edd'), date_i18n(get_option('date_format'), EDD_Recurring_Customer::get_customer_expiration($user_id))); break; } if (!empty($message)) { return '<div id="edd-subscription-status" class="' . esc_attr($status) . '">' . $message . '</div>'; } }
/** * Setup final data * * @access private * @since 1.0 * @return array */ function reports_data() { global $wpdb; $reports_data = array(); $subscribers = $this->query(); if (!empty($subscribers->results)) { foreach ($subscribers->results as $subscriber) { $expiration = EDD_Recurring_Customer::get_customer_expiration($subscriber->ID); $exp_date = !empty($expiration) ? date(get_option('date_format'), $expiration) : ''; $status = EDD_Recurring_Customer::get_customer_status($subscriber->ID); $status = !empty($status) ? $status : __('none', 'edd-recurring'); $recurring_id = EDD_Recurring_Customer::get_customer_id($subscriber->ID); $recurring_id = !empty($recurring_id) ? $recurring_id : __('none', 'edd-recurring'); $reports_data[] = array('ID' => $subscriber->ID, 'username' => $subscriber->user_login, 'status' => $status, 'expiration' => $exp_date, 'recurring_id' => $recurring_id); } } return $reports_data; }