<legend><?php echo __('Your Subscriptions', 'membership'); ?> </legend> <div class="alert alert-success"> <?php echo __('Your current subscriptions are listed here. You can renew, cancel or upgrade your subscriptions by using the forms below.', 'membership'); ?> </div> <div class="priceboxes"> <?php $rels = $member->get_relationships(); foreach ((array) $rels as $rel) { $sub = new M_Subscription($rel->sub_id); $nextlevel = $sub->get_next_level($rel->level_id, $rel->order_instance); $currentlevel = $sub->get_level_at($rel->level_id, $rel->order_instance); if (!empty($rel->usinggateway) && $rel->usinggateway != 'admin') { $gateway = M_get_class_for_gateway($rel->usinggateway); if (!empty($gateway) && $gateway->issingle) { $gatewayissingle = 'yes'; } else { $gatewayissingle = 'no'; } } else { $gatewayissingle = 'admin'; } ?> <div class="pricebox subscribedbox" id='subscribedbox-<?php echo $sub->id; ?> '>
function move_subscription($fromsub_id, $tosub_id, $tolevel_id, $to_order) { if (!apply_filters('pre_membership_move_subscription', true, $fromsub_id, $tosub_id, $tolevel_id, $to_order, $this->ID)) { return false; } if (!$this->on_level($tolevel_id, true) && $this->on_sub($fromsub_id)) { // Get the level for this subscription before removing it $fromlevel_id = $this->get_level_for_sub($fromsub_id); // grab the level information for this position $subscription = new M_Subscription($tosub_id); $level = $subscription->get_level_at($tolevel_id, $to_order); if ($level) { $start = current_time('mysql'); switch ($level->level_period_unit) { case 'd': $period = 'days'; break; case 'w': $period = 'weeks'; break; case 'm': $period = 'months'; break; case 'y': $period = 'years'; break; default: $period = 'days'; break; } $expires = gmdate('Y-m-d H:i:s', strtotime('+' . $level->level_period . ' ' . $period, strtotime($start))); // Update users start and expiry meta delete_user_meta($this->ID, 'start_current_' . $fromsub_id); delete_user_meta($this->ID, 'expire_current_' . $fromsub_id); delete_user_meta($this->ID, 'sent_msgs_' . $fromsub_id); // get the gateway and then remove it from the usermeta $gateway = get_user_meta($this->ID, 'using_gateway_' . $fromsub_id, true); delete_user_meta($this->ID, 'using_gateway_' . $fromsub_id); update_user_meta($this->ID, 'start_current_' . $tosub_id, strtotime($start)); update_user_meta($this->ID, 'expire_current_' . $tosub_id, strtotime($expires)); update_user_meta($this->ID, 'using_gateway_' . $tosub_id, $gateway); $this->db->update($this->membership_relationships, array('sub_id' => $tosub_id, 'level_id' => $tolevel_id, 'updateddate' => $start, 'expirydate' => $expires, 'order_instance' => $level->level_order), array('sub_id' => $fromsub_id, 'user_id' => $this->ID)); do_action('membership_move_subscription', $fromsub_id, $fromlevel_id, $tosub_id, $tolevel_id, $to_order, $this->ID); } } }
function affiliate_membership_add_subscription($m_tosub_id, $m_tolevel_id, $m_to_order, $m_user_id) { global $blog_id, $site_id; //echo "m_tosub_id[". $m_tosub_id ."]<br />"; //echo "m_tolevel_id[". $m_tolevel_id ."]<br />"; //echo "m_to_order[". $m_to_order ."]<br />"; //echo "m_user_id[". $m_user_id ."]<br />"; $default_headers = array('Name' => 'Plugin Name', 'Version' => 'Version'); $membership_plugin_base = 'membership/membershippremium.php'; if (file_exists(WPMU_PLUGIN_DIR . '/' . $membership_plugin_base)) { $membership_plugin_file = WPMU_PLUGIN_DIR . '/' . $membership_plugin_base; } else { if (file_exists(WP_PLUGIN_DIR . '/' . $membership_plugin_base)) { $membership_plugin_file = WP_PLUGIN_DIR . '/' . $membership_plugin_base; } } $plugin_data = get_file_data($membership_plugin_file, $default_headers, 'plugin'); //echo "plugin_data<pre>"; print_r($plugin_data); echo "</pre>"; if (isset($plugin_data['Version'])) { if (version_compare($plugin_data['Version'], '3.4.9.9', '>')) { //echo "Membersip 3.5 or more<br />"; return; } } //$aff = get_user_meta($user_id, 'affiliate_referred_by', true); $affiliate_referred_by = get_user_meta($m_user_id, 'affiliate_referred_by', true); //echo "affiliate_referred_by[". $affiliate_referred_by ."]<br />"; if (empty($affiliate_referred_by)) { return; } //$paid = get_user_meta($user_id, 'affiliate_paid', true); $affiliate_paid = get_user_meta($m_user_id, 'affiliate_paid', true); //echo "affiliate_paid[". $affiliate_paid ."]<br />"; if (defined('AFFILIATE_PAYONCE') && AFFILIATE_PAYONCE == 'yes' && $affiliate_paid == 'yes') { return; } $whole = get_option("membership_whole_payment_" . $m_tosub_id, 0); //echo "whole[". $whole ."]<br />"; $partial = get_option("membership_partial_payment_" . $m_tosub_id, 0); //echo "partial[". $partial ."]<br />"; $type = get_option("membership_payment_type_" . $m_tosub_id, 'actual'); //echo "type[". $type ."]<br />"; //die(); switch ($type) { case 'actual': if (!empty($whole) || !empty($partial)) { $amount = $whole . '.' . $partial; } else { $amount = 0; } break; case 'percentage': // Calculate the charge for this subscription / level / order $sub = new M_Subscription($m_tosub_id); $level = $sub->get_level_at($m_tolevel_id, $m_to_order); if (!empty($level)) { // We have a level so we need to get the charge $percentage = $whole . '.' . $partial; $levelprice = $level->level_price; $floatprice = floatval($levelprice); $floatpercentage = floatval($percentage); if ($floatprice > 0 && $floatpercentage > 0) { // We have a positive value to check against $amount = $floatprice / 100 * $floatpercentage; $amount = round($amount, 2, PHP_ROUND_HALF_DOWN); } else { $amount = 0; } } else { $amount = 0; } break; } //echo "amount[". $amount ."]<br />"; $meta = array('tosub_id' => $m_tosub_id, 'tolevel_id' => $m_tolevel_id, 'to_order' => $m_to_order, 'user_id' => $m_user_id, 'blog_id' => $blog_id, 'site_id' => $site_id, 'current_user_id' => get_current_user_id(), 'REMOTE_URL' => esc_attr($_SERVER['HTTP_REFERER']), 'LOCAL_URL' => (is_ssl() ? 'https://' : 'http://') . esc_attr($_SERVER['HTTP_HOST']) . esc_attr($_SERVER['REQUEST_URI']), 'IP' => isset($_SERVER['HTTP_X_FORWARD_FOR']) ? esc_attr($_SERVER['HTTP_X_FORWARD_FOR']) : esc_attr($_SERVER['REMOTE_ADDR'])); do_action('affiliate_purchase', $affiliate_referred_by, $amount, 'paid:membership', $m_user_id, __('Membership', 'affiliate'), $meta); if (defined('AFFILIATE_PAYONCE') && AFFILIATE_PAYONCE == 'yes') { if (function_exists('update_user_meta')) { update_user_meta($m_user_id, 'affiliate_paid', 'yes'); } else { update_usermeta($m_user_id, 'affiliate_paid', 'yes'); } } }