} } // send email notification to system administrator if (!$dge && $acknowledge_user) { $subject = "[{$blogname}] {$user->user_email} - {$member->status}"; $message = "\tUser display name: {$user->display_name}\n\n<br />\n\t\t\t\tUser email: {$user->user_email}\n\n<br />\n\t\t\t\tUser ID: {$user->ID}\n\n<br />\n\t\t\t\tMembership Type: {$membership_type}\n\n<br />\n\t\t\t\tNew status: {$member->status}\n\n<br />\n\t\t\t\tStatus message: {$member->status_str}\n\n<br />\n\t\t\t\tSubscription period: {$member->duration} " . $s_packs->get_pack_duration($subs_pack) . "\n\n<br />\n\t\t\t\tSubscription amount: {$member->amount} {$member->currency}\n<br />\n\t\t\t\tPayment Mode: {$member->payment_type}\n\n<br />\n\t\t\t\tPOST Data was: \n\n<br /><br /><pre>" . print_r($_POST, true) . '</pre>'; mgm_mail($system_obj->setting['admin_email'], $subject, $message); } } // subject $subject = $system_obj->get_template('subscription_cancelled_email_template_subject', array('blogname' => $blogname), true); // body $message = $system_obj->get_template('subscription_cancelled_email_template_body', array('blogname' => $blogname, 'name' => $user->display_name, 'email' => $user->user_email, 'admin_email' => $system_obj->setting['admin_email']), true); // send email notification to user if (!$dpne) { //issue #862 $subject = mgm_replace_email_tags($subject, $user_id); $message = mgm_replace_email_tags($message, $user_id); // mail mgm_mail($user->user_email, $subject, $message); } // notify admin, only if gateway emails on if (!$dge) { $subject = "[{$blogname}] {$user->user_email} - {$new_status}"; $message = "\tUser display name: {$user->display_name}\n\n<br />\n\t\t\tUser email: {$user->user_email}\n\n<br />\n\t\t\tUser ID: {$user->ID}\n\n<br />\n\t\t\tMembership Type: {$membership_type}\n\n<br />\n\t\t\tNew status: {$new_status}\n\n<br />\n\t\t\tStatus message: {$member->status_str}\n\n<br />\t\t\t\t\t\n\t\t\tPayment Mode: Cancelled\n\n<br />\n\t\t\tPOST Data was: \n\n<br /><br /><pre>" . print_r($_POST, true) . '</pre>'; mgm_mail($system_obj->setting['admin_email'], $subject, $message); } // message $message = "sent a request to url: '" . $notification_url . "'. \n\n <br />\n\t\t\tresponse was: \n\n <br />\n\t\t\t" . $http_response . "\n\n <br />\n\t\t\tpost vars: <br />\n\t\t\t<pre>\n" . print_r($_POST, true) . '</pre>'; // mail mgm_mail($system_obj->setting['admin_email'], 'callback failed', $message);
function _cancel_membership() { // system $system_obj = mgm_get_class('system'); $s_packs = mgm_get_class('subscription_packs'); $dge = bool_from_yn($system_obj->get_setting('disable_gateway_emails')); $dpne = bool_from_yn($system_obj->get_setting('disable_payment_notify_emails')); // get passthrough, stop further process if fails to parse $custom = $this->_get_transaction_passthrough($_POST['M_custom']); // local var extract($custom); // find user $user = get_userdata($user_id); $member = mgm_get_member($user_id); // multiple membesrhip level update: $multiple_update = false; // check if (isset($_POST['membership_type']) && $member->membership_type != $_POST['membership_type'] || isset($is_another_membership_purchase) && $is_another_membership_purchase == 'Y') { $multiple_update = true; $multi_memtype = isset($_POST['membership_type']) ? $_POST['membership_type'] : $membership_type; $member = mgm_get_member_another_purchase($user_id, $multi_memtype); } // get pack if ($member->pack_id) { $subs_pack = $s_packs->get_pack($member->pack_id); } else { $subs_pack = $s_packs->validate_pack($member->amount, $member->duration, $member->duration_type, $member->membership_type); } // tracking fields module_field => post_field $tracking_fields = array('txn_type' => 'futurePayStatusChange', 'subscr_id' => 'futurePayId', 'txn_id' => 'ctransreceipt'); // save tracking fields $this->_save_tracking_fields($tracking_fields, $member); // types $duration_exprs = $s_packs->get_duration_exprs(); // default expire date $expire_date = $member->expire_date; // if lifetime: if ($member->duration_type == 'l') { $expire_date = date('Y-m-d'); } // if trial on if ($subs_pack['trial_on'] && isset($duration_exprs[$subs_pack['trial_duration_type']])) { // if cancel data is before trial end, set cancel on trial expire_date $trial_expire_date = strtotime("+{$subs_pack['trial_duration']} {$duration_exprs[$subs_pack['trial_duration_type']]}", $member->join_date); // if lower if (time() < $trial_expire_date) { $expire_date = date('Y-m-d', $trial_expire_date); } } // transaction_id $trans_id = $member->transaction_id; // if today if ($expire_date == date('Y-m-d')) { // status $new_status = MGM_STATUS_CANCELLED; $new_status_str = __('Subscription cancelled', 'mgm'); // set $member->status = $new_status; $member->status_str = $new_status_str; $member->expire_date = date('Y-m-d'); // reassign expiry membership pack if exists: issue#: 535 $member = apply_filters('mgm_reassign_member_subscription', $user_id, $member, 'CANCEL', true); } else { // date $date_format = mgm_get_date_format('date_format'); // status $new_status = MGM_STATUS_AWAITING_CANCEL; $new_status_str = sprintf(__('Subscription awaiting cancellation on %s', 'mgm'), date($date_format, strtotime($expire_date))); // set $member->status = $new_status; $member->status_str = $new_status_str; // set reset date $member->status_reset_on = $expire_date; $member->status_reset_as = MGM_STATUS_CANCELLED; } // multiple membesrhip level update: if ($multiple_update) { mgm_save_another_membership_fields($member, $user_id); } else { $member->save(); } // transaction status mgm_update_transaction_status($trans_id, $new_status, $new_status_str); // send email notification to client $blogname = get_option('blogname'); // subject $subject = $system_obj->get_template('subscription_cancelled_email_template_subject', array('blogname' => $blogname), true); // body $message = $system_obj->get_template('subscription_cancelled_email_template_body', array('blogname' => $blogname, 'name' => $user->display_name, 'email' => $user->user_email, 'admin_email' => $system_obj->setting['admin_email']), true); // send email notification to user if (!$dpne) { //issue #862 $subject = mgm_replace_email_tags($subject, $user_id); $message = mgm_replace_email_tags($message, $user_id); // mail mgm_mail($user->user_email, $subject, $message); } // send email notification to system administrator if (!$dge) { $subject = "[{$blogname}] {$user->user_email} - {$new_status}"; $message = "\tUser display name: {$user->display_name}\n\n<br />\r\r\n\t\t\t\t\tUser email: {$user->user_email}\n\n<br />\r\r\n\t\t\t\t\tUser ID: {$user->ID}\n\n<br />\r\r\n\t\t\t\t\tMembership Type: {$membership_type}\n\n<br />\r\r\n\t\t\t\t\tNew status: {$new_status}\n\n<br />\r\r\n\t\t\t\t\tStatus message: {$member->status_str}\n\n<br />\t\t\t\t\t\r\r\n\t\t\t\t\tPayment Mode: Cancelled\n\n<br />\r\r\n\t\t\t\t\tPOST Data was: \n\n<br /><br /><pre>" . print_r($_POST, true) . '</pre>'; mgm_mail($system_obj->setting['admin_email'], $subject, $message); } // after cancellation hook do_action('mgm_membership_subscription_cancelled', array('user_id' => $user_id)); }
/** * Send Email Notification to User on Membership Cancellation * * @uses mgm_notify_user() * @param string $blogname * @param string $user * @param string $member * @param string $system_obj * @return bool $send */ function mgm_notify_user_membership_cancellation($blogname, $user, $member, $system_obj) { // subject $subject = $system_obj->get_template('subscription_cancelled_email_template_subject', array('blogname' => $blogname), true); // data $data = array('blogname' => $blogname, 'name' => $user->display_name, 'email' => $user->user_email, 'admin_email' => $system_obj->get_setting('admin_email')); // body $message = $system_obj->get_template('subscription_cancelled_email_template_body', $data, true); //issue #862 $subject = mgm_replace_email_tags($subject, $user->ID); $message = mgm_replace_email_tags($message, $user->ID); // mail return @mgm_notify_user($user->user_email, $subject, $message); }
function mgm_modify_lost_password_emailsubject() { global $wpdb, $current_site; $system_obj = mgm_get_class('system'); $blogname = is_multisite() ? $current_site->site_name : wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); // subject $subject = $system_obj->get_template('lost_password_email_template_subject', array('blogname' => $blogname), true); if (empty($subject)) { $subject = sprintf(__('[%s] Your new password', 'mgm'), $blogname); } //issue #862 if (strpos($_GET['login'], '@')) { $user_data = get_user_by('email', trim($_POST['user_login'])); } else { $login = trim(strip_tags($_GET['login'])); $user_data = get_user_by('login', $login); } $subject = mgm_replace_email_tags($subject, $user_data->ID); return $subject; }
function _cancel_membership($user_id = NULL, $redirect = false) { // system $system_obj = mgm_get_class('system'); $s_packs = mgm_get_class('subscription_packs'); $duration_str = $s_packs->duration_str; $dge = bool_from_yn($system_obj->get_setting('disable_gateway_emails')); $dpne = bool_from_yn($system_obj->get_setting('disable_payment_notify_emails')); //issue #1521 $is_admin = is_super_admin() ? true : false; // if passthrough provided if (isset($_REQUEST['extra'])) { // get passthrough, stop further process if fails to parse $custom = $this->_get_transaction_passthrough($_REQUEST['extra']); // local var extract($custom); } elseif (isset($_REQUEST['SUBSCRIPTION_ID']) || isset($_REQUEST['SubscriptionID'])) { // get tran $tran = mgm_get_transaction_by_option('zombaio_subscription_id', isset($_REQUEST['SUBSCRIPTION_ID']) ? $_REQUEST['SUBSCRIPTION_ID'] : $_REQUEST['SubscriptionID']); // local var extract($tran['data']); } elseif (isset($_REQUEST['TRANSACTION_ID'])) { // get tran $tran = mgm_get_transaction_by_option('zombaio_transaction_id', $_REQUEST['TRANSACTION_ID']); // local var extract($tran['data']); } elseif (isset($_REQUEST['username'])) { // get user if ($user = get_user_by('login', $_REQUEST['username'])) { $user_id = $user->ID; } } // log // mgm_log($user_id, ($this->module . '_' . __FUNCTION__)); // no user id if (!$user_id) { // message $message = 'Could not read member in the following REQUEST data. Please debug or contact magic members to fix the problem making sure to pass on the following data. <br /><br /><pre>' . "\n\n" . print_r($_REQUEST, true) . '</pre>'; // notify admin, only if gateway emails on if (!$dge) { // mail mgm_mail($system_obj->get_setting('admin_email'), 'Error in Zombaio membership cancellation', $message); } else { // log mgm_log($message, $this->module . '_' . __FUNCTION__); } // exit exit; } // find user $user = get_userdata($user_id); $member = mgm_get_member($user_id); // multiple membesrhip level update: $multiple_update = false; // check if (isset($_POST['membership_type']) && $member->membership_type != $_POST['membership_type'] || isset($membership_type) && $member->membership_type != $membership_type) { $multiple_update = true; $member = mgm_get_member_another_purchase($user_id, $_POST['membership_type']); } // get pack if ($member->pack_id) { $subs_pack = $s_packs->get_pack($member->pack_id); } else { $subs_pack = $s_packs->validate_pack($member->amount, $member->duration, $member->duration_type, $member->membership_type); } // tracking fields module_field => post_field $tracking_fields = array('txn_type' => 'Action', 'subscr_id' => array('SUBSCRIPTION_ID', 'SubscriptionID'), 'txn_id' => 'TRANSACTION_ID'); // save tracking fields $this->_save_tracking_fields($tracking_fields, $member, $_REQUEST); // types $duration_exprs = $s_packs->get_duration_exprs(); // default expire date $expire_date = $member->expire_date; // if lifetime: if ($member->duration_type == 'l') { $expire_date = date('Y-m-d'); } // if trial on if ($subs_pack['trial_on'] && isset($duration_exprs[$subs_pack['trial_duration_type']])) { // if cancel data is before trial end, set cancel on trial expire_date $trial_expire_date = strtotime("+{$subs_pack['trial_duration']} {$duration_exprs[$subs_pack['trial_duration_type']]}", $member->join_date); // if lower if (time() < $trial_expire_date) { $expire_date = date('Y-m-d', $trial_expire_date); } } // transaction_id $trans_id = $member->transaction_id; // log // mgm_log($member, ($this->module . '_' . __FUNCTION__)); // mgm_log($expire_date . ' ' . date('Y-m-d H:i:s'), ($this->module . '_' . __FUNCTION__)); // if today if (time() >= strtotime($expire_date)) { // status $new_status = MGM_STATUS_CANCELLED; $new_status_str = __('Subscription cancelled', 'mgm'); // set $member->status = $new_status; $member->status_str = $new_status_str; $member->expire_date = date('Y-m-d H:i:s'); // reassign expiry membership pack if exists: issue#: 535 $member = apply_filters('mgm_reassign_member_subscription', $user_id, $member, 'CANCEL', true); } else { // date $date_format = mgm_get_date_format('date_format'); // status $new_status = MGM_STATUS_AWAITING_CANCEL; $new_status_str = sprintf(__('Subscription awaiting cancellation on %s', 'mgm'), date($date_format, strtotime($expire_date))); // set $member->status = $new_status; $member->status_str = $new_status_str; // set reset date $member->status_reset_on = $expire_date; $member->status_reset_as = MGM_STATUS_CANCELLED; } // log // mgm_log($member, ($this->module . '_' . __FUNCTION__)); // update user // multiple membesrhip level update: if ($multiple_update) { mgm_save_another_membership_fields($member, $user_id); } else { $member->save(); } // transaction status mgm_update_transaction_status($trans_id, $new_status, $new_status_str); // send email notification to client $blogname = get_option('blogname'); // subject $subject = $system_obj->get_template('subscription_cancelled_email_template_subject', array('blogname' => $blogname), true); // body $message = $system_obj->get_template('subscription_cancelled_email_template_body', array('blogname' => $blogname, 'name' => $user->display_name, 'email' => $user->user_email, 'admin_email' => $system_obj->setting['admin_email']), true); // send email notification to user if (!$dpne) { //issue #862 $subject = mgm_replace_email_tags($subject, $user_id); $message = mgm_replace_email_tags($message, $user_id); // mail mgm_mail($user->user_email, $subject, $message); } // notify admin, only if gateway emails on if (!$dge) { $subject = "[{$blogname}] {$user->user_email} - {$new_status}"; $message = "\tUser display name: {$user->display_name}\n\n<br />\r\r\n\t\t\t\t\tUser email: {$user->user_email}\n\n<br />\r\r\n\t\t\t\t\tUser ID: {$user->ID}\n\n<br />\r\r\n\t\t\t\t\tMembership Type: {$membership_type}\n\n<br />\r\r\n\t\t\t\t\tNew status: {$new_status}\n\n<br />\r\r\n\t\t\t\t\tStatus message: {$member->status_str}\n\n<br />\t\t\t\t\t\r\r\n\t\t\t\t\tPayment Mode: Cancelled\n\n<br />\r\r\n\t\t\t\t\tPOST Data was: \n\n<br /><br /><pre>" . print_r($_POST, true) . '</pre>'; mgm_mail($system_obj->setting['admin_email'], $subject, $message); } // after cancellation hook do_action('mgm_membership_subscription_cancelled', array('user_id' => $user_id)); // redirect if ($redirect) { // message $lformat = mgm_get_date_format('date_format_long'); $message = sprintf(__("You have successfully unsubscribed. Your account has been marked for cancellation on %s", "mgm"), $expire_date == date('Y-m-d') ? 'Today' : date($lformat, strtotime($expire_date))); //issue #1521 if ($is_admin) { mgm_redirect(add_query_arg(array('user_id' => $user_id, 'unsubscribe_errors' => urlencode($message)), admin_url('user-edit.php'))); } // redirect mgm_redirect(mgm_get_custom_url('membership_details', false, array('unsubscribed' => 'true', 'unsubscribe_errors' => urlencode($message)))); } }
function _buy_post() { global $wpdb; // system $system_obj = mgm_get_class('system'); $dge = bool_from_yn($system_obj->get_setting('disable_gateway_emails')); $dpne = bool_from_yn($system_obj->get_setting('disable_payment_notify_emails')); // get passthrough, stop further process if fails to parse $custom = $this->_get_transaction_passthrough($_REQUEST['custom']); // local var extract($custom); // find user if ($user_id) { $user = get_userdata($user_id); } // blog $blogname = get_option('blogname'); //getting purchase post title and & price - issue #981 $post_obj = mgm_get_post($post_id); $purchase_cost = mgm_convert_to_currency($post_obj->purchase_cost); $post = get_post($post_id); $post_title = $post->post_title; // tran $tran_success = false; // status success $tran_success = true; // status $status_str = __('Last payment was successful', 'mgm'); // emails not for guest if ($user_id) { // subject $subject = $system_obj->get_template('payment_success_email_template_subject', array('blogname' => $blogname), true); // body $message = $system_obj->get_template('payment_success_email_template_body', array('blogname' => $blogname, 'name' => $user->display_name, 'post_title' => $post_title, 'purchase_cost' => $purchase_cost, 'email' => $user->user_email, 'admin_email' => $system_obj->setting['admin_email']), true); //update coupon usage - issue #1421 do_action('mgm_update_coupon_usage', array('user_id' => $user_id)); } // transation id $transaction_id = $this->_get_transaction_id('custom', $_REQUEST); // hook args $args = array('post_id' => $post_id, 'transaction_id' => $transaction_id); // user purchase if (isset($user_id) && (int) $user_id > 0) { $args['user_id'] = $user_id; } else { // guest purchase $args['guest_token'] = $guest_token; } // after succesful payment hook do_action('mgm_buy_post_transaction_success', $args); // backward compatibility do_action('mgm_post_purchase_payment_success', $args); // new organized name // do action do_action('mgm_return_post_purchase_payment_' . $this->module, array('post_id' => $post_id)); // new, individual do_action('mgm_return_post_purchase_payment', array('post_id' => $post_id)); // new, global // notify user if (!$dpne) { // mail if ($user_id && $this->send_payment_email($_REQUEST['custom'])) { //issue #862 $subject = mgm_replace_email_tags($subject, $user_id); $message = mgm_replace_email_tags($message, $user_id); // mail mgm_mail($user->user_email, $subject, $message); //send an email to the buyer //update as email sent $this->update_paymentemail_sent($_REQUEST['custom']); } } // mark as purchased if (isset($guest_token)) { // issue #1421 if (isset($coupon_id) && isset($coupon_code)) { do_action('mgm_update_coupon_usage', array('guest_token' => $guest_token, 'coupon_id' => $coupon_id)); $this->_set_purchased(NULL, $post_id, $guest_token, $_REQUEST['custom'], $coupon_code); } else { $this->_set_purchased(NULL, $post_id, $guest_token, $_REQUEST['custom']); } } else { $this->_set_purchased($user_id, $post_id, NULL, $_REQUEST['custom']); } // status $status = __('The post was purchased successfully', 'mgm'); // transaction status mgm_update_transaction_status($_REQUEST['custom'], $status, $status_str); // notify admin, only if gateway emails on if (!$dge) { // not for guest if ($user_id) { // subject $subject = "[" . $blogname . "] Admin Notification: " . $user->user_email . " purchased post " . $post_id; // message $message = "User display name: {$user->display_name}<br />\r\r\n\t\t\t\t\t\t\tUser email: {$user->user_email}<br />\r\r\n\t\t\t\t\t\t\tUser ID: {$user->ID}<br />Status: " . $status . "<br />\r\r\n\t\t\t\t\t\t\tAction: Purchase post:" . $subject . "<br /><br />" . $message; } else { $subject = "[" . $blogname . "] Admin Notification: Guest[IP: " . mgm_get_client_ip_address() . "] purchased post " . $post_id; $message = "Guest Purchase"; } // mail mgm_mail($system_obj->setting['admin_email'], $subject, $message); } }
/** * send reminder mail * * @param object $user * @param array $data * @return bool $has_sent */ function mgm_send_reminder_mail($user, $data, $system_obj) { // format date // issue#: 692 $sformat = mgm_get_date_format('date_format_long_time2'); // $expire_date_fmt = date($sformat,strtotime($data['expire_date'])); // Issue #1178 $expire_date_fmt = mgm_translate_datestring($data['expire_date'], $sformat); // $expire_date_fmt = date('m-d-Y',strtotime($data['expire_date'])); // mail body $data['template_body'] = str_replace(array('[name]', '[expire_date]', '[subscription_type]'), array($user->display_name, $expire_date_fmt, $data['subscription_type']), $data['template_body']); //issue #862 $data['template_subject'] = mgm_replace_email_tags($data['template_subject'], $user->ID); $data['template_body'] = mgm_replace_email_tags($data['template_body'], $user->ID); // @todo add filter $template = apply_filters('mgm_reminder_email_template', array('subject' => $data['template_subject'], 'body' => $data['template_body'])); // send mail return @mgm_mail($user->user_email, $template['subject'], $template['body']); // log // mgm_log('Sending Reminder email:UID:' .$user->ID. ": Date:". date('Y-m-d H:i:s'), __FUNCTION__ ); }
/** * new user email */ function mgm_new_user_notification($user_id, $user_pass = '', $sendto_admin = true) { // mgm_system $system_obj = mgm_get_class('system'); // template $template_subject = mgm_stripslashes_deep($system_obj->get_template('registration_email_template_subject', array(), true)); $template_body = mgm_stripslashes_deep($system_obj->get_template('registration_email_template_body', array(), true)); // default if (empty($template_body)) { wp_new_user_notification($user_id, $user_pass); } else { // get user $user = new WP_User($user_id); // mgm member $member = mgm_get_member($user_id); // user data $user_login = stripslashes($user->user_login); $user_email = stripslashes($user->user_email); // admin notification if ($sendto_admin) { // template -issue #1069 $notification_email_subject = mgm_stripslashes_deep($system_obj->get_template('new_user_notification_email_template_subject', array(), true)); $notification_email_body = mgm_stripslashes_deep($system_obj->get_template('new_user_notification_email_template_body', array(), true)); // template $template = array('subject' => $notification_email_subject, 'message' => $notification_email_body); // send to admin $template['subject'] = mgm_replace_email_tags($template['subject'], $user_id); $template['message'] = mgm_replace_email_tags($template['message'], $user_id); // apply filter $template = apply_filters('mgm_new_user_notification_email_template', $template, $user_id); //issue #1144 $admin_email = trim($system_obj->get_setting('admin_email')); // mail @mgm_mail($admin_email, $template['subject'], $template['message']); } // no pass if (empty($user_pass)) { return; } // first name if (isset($user->first_name)) { $display_name = $user->first_name; } elseif (isset($member->custom_fields->first_name)) { $display_name = $member->custom_fields->first_name; } else { $display_name = $user->display_name; } // format $display_name = stripslashes($display_name); // subject if ($template_subject != '') { $subject = $template_subject; } else { $subject = sprintf(__('[%s] Your username and password'), get_option('blogname')); } // body $message = $template_body; $message = str_replace('[name]', $display_name, $message); $message = str_replace('[username]', $user_login, $message); //issue #1359 $message = str_replace('[email]', $user_email, $message); $message = str_replace('[password]', $user_pass, $message); // $message = str_replace('[expire_date]',$expire_date,$message); $message = str_replace('[login_url]', sprintf('<a href="%s">%s</a>', wp_login_url(), __('Login', 'mgm')), $message); //issue #1418 $message = mgm_replace_email_tags($message, $user_id); // template $template = array('subject' => $subject, 'message' => $message); //issue #862 $template['subject'] = mgm_replace_email_tags($template['subject'], $user_id); $template['message'] = mgm_replace_email_tags($template['message'], $user_id); // apply filter $template = apply_filters('mgm_registration_email_template', $template, $user_id); // send @mgm_mail($user_email, $template['subject'], $template['message']); } // action trigger after new user notifications sent do_action('mgm_new_user_notification', $user_id, $user_pass); }
function _member_update_status(&$member, $user_id, $system_obj) { // return $return = array('old_status' => $member->status); // set new status $member->status = $return['new_status'] = mgm_post_var('upd_status'); // override_rebill_status_check $override_rebill_status_check = mgm_post_var('override_rebill_status_check'); // disable payment/rebill status check if (bool_from_yn($override_rebill_status_check)) { $member->last_payment_check = 'disabled'; } // active for manualpay if ($member->status == MGM_STATUS_ACTIVE) { // for manual pay if ($member->payment_info->module == 'mgm_manualpay') { // MARK status reset for manual pay upgrade $member->status_reset_on = NULL; // unset unset($member->status_reset_on); // mark as paid $member->status_str = __('Last payment was successful', 'mgm'); // send user notification: issue#: 537 if ($return['old_status'] == MGM_STATUS_PENDING) { // transaction status -issue #1287 mgm_update_transaction_status($member->transaction_id, $member->status, $member->status_str); // userdata $userdata = get_userdata($user_id); $blogname = get_option('blogname'); //issue #1263 if ($member->subscribed == 'Y') { do_action('mgm_return_subscription_payment', array('user_id' => $user_id, 'acknowledge_ar' => true, 'mgm_member' => $member)); } // subject $subject = $system_obj->get_template('payment_active_email_template_subject', array('blogname' => $blogname), true); // param $b_args = array('blogname' => $blogname, 'name' => mgm_stripslashes_deep($userdata->display_name), 'email' => $userdata->user_email, 'admin_email' => $system_obj->get_setting('admin_email')); // body $message = $system_obj->get_template('payment_active_email_template_body', $b_args, true); //issue #862 $subject = mgm_replace_email_tags($subject, $user_id); $message = mgm_replace_email_tags($message, $user_id); // mail mgm_mail($userdata->user_email, $subject, $message); //send an email to the buyer // send notification - issue #1758 if ($system_obj->setting['enable_new_user_email_notifiction_after_user_active'] == 'Y') { $user_pass = mgm_decrypt_password($member->user_password, $user_id); do_action('mgm_register_user_notification', $user_id, $user_pass); } // unset unset($userdata, $message); } } else { // mark as paid $member->status_str = __('Last rebill cycle processed manually', 'mgm'); } } // return return $return; }