Version Description
Bug fixes and improvements for 1.7.
=
Download this release
Release Info
Developer | designbymerovingi |
Plugin | myCRED |
Version | 1.7.2 |
Comparing to | |
See all releases |
Code changes from version 1.7.1 to 1.7.2
- addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php +27 -3
- addons/buy-creds/gateways/zombaio.php +14 -4
- addons/buy-creds/includes/buycred-functions.php +8 -9
- addons/buy-creds/modules/buycred-module-core.php +32 -11
- addons/buy-creds/modules/buycred-module-pending.php +2 -2
- addons/email-notices/myCRED-addon-email-notices.php +7 -10
- addons/transfer/includes/mycred-transfer-shortcodes.php +2 -2
- addons/transfer/includes/mycred-transfer-widgets.php +22 -25
- addons/transfer/myCRED-addon-transfer.php +3 -1
- mycred.php +2 -2
- readme.txt +9 -13
addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php
CHANGED
@@ -104,6 +104,13 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) :
|
|
104 |
*/
|
105 |
function returning() { }
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
/**
|
108 |
* Preferences
|
109 |
* @since 0.1
|
@@ -167,7 +174,7 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) :
|
|
167 |
/**
|
168 |
* Add Pending Payment
|
169 |
* @since 1.5
|
170 |
-
* @version 1.1
|
171 |
*/
|
172 |
function add_pending_payment( $data ) {
|
173 |
|
@@ -213,9 +220,12 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) :
|
|
213 |
|
214 |
delete_user_meta( $from, 'buycred_pending_payments' );
|
215 |
|
216 |
-
$mycred
|
|
|
|
|
|
|
217 |
|
218 |
-
$this->log_call( $post_id,
|
219 |
|
220 |
}
|
221 |
|
@@ -226,6 +236,20 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) :
|
|
226 |
|
227 |
}
|
228 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
/**
|
230 |
* Get Pending Payment
|
231 |
* @since 1.5
|
104 |
*/
|
105 |
function returning() { }
|
106 |
|
107 |
+
/**
|
108 |
+
* Admin Init Handler
|
109 |
+
* @since 1.7
|
110 |
+
* @version 1.0
|
111 |
+
*/
|
112 |
+
function admin_init() { }
|
113 |
+
|
114 |
/**
|
115 |
* Preferences
|
116 |
* @since 0.1
|
174 |
/**
|
175 |
* Add Pending Payment
|
176 |
* @since 1.5
|
177 |
+
* @version 1.1.1
|
178 |
*/
|
179 |
function add_pending_payment( $data ) {
|
180 |
|
220 |
|
221 |
delete_user_meta( $from, 'buycred_pending_payments' );
|
222 |
|
223 |
+
$mycred = mycred( $point_type );
|
224 |
+
|
225 |
+
$log_entry = $this->first_comment( sprintf( _x( 'Received new request to purchase %s.', '%s is replaced with the point amount and name.', 'mycred' ), $mycred->format_number( $amount ) . ' ' . $mycred->plural() ) );
|
226 |
+
$log_entry = apply_filters( 'mycred_new_buycred_request_comment_' . $this->id, $log_entry, $data );
|
227 |
|
228 |
+
$this->log_call( $post_id, $log_entry );
|
229 |
|
230 |
}
|
231 |
|
236 |
|
237 |
}
|
238 |
|
239 |
+
/**
|
240 |
+
* First Comment
|
241 |
+
* Used to allow a gateway to adjust the first comment with pending payments.
|
242 |
+
* Used by Zombaio to remove the amount since that we do not know until the user completes
|
243 |
+
* the payment.
|
244 |
+
* @since 1.7.3
|
245 |
+
* @version 1.0
|
246 |
+
*/
|
247 |
+
function first_comment( $comment ) {
|
248 |
+
|
249 |
+
return $comment;
|
250 |
+
|
251 |
+
}
|
252 |
+
|
253 |
/**
|
254 |
* Get Pending Payment
|
255 |
* @since 1.5
|
addons/buy-creds/gateways/zombaio.php
CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
|
|
5 |
* myCRED_Zombaio class
|
6 |
* Zombaio Payment Gateway
|
7 |
* @since 1.1
|
8 |
-
* @version 1.1.
|
9 |
*/
|
10 |
if ( ! class_exists( 'myCRED_Zombaio' ) ) :
|
11 |
class myCRED_Zombaio extends myCRED_Payment_Gateway {
|
@@ -56,6 +56,17 @@ if ( ! class_exists( 'myCRED_Zombaio' ) ) :
|
|
56 |
|
57 |
}
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
/**
|
60 |
* Verify IPN IP
|
61 |
* @since 1.1
|
@@ -115,7 +126,7 @@ if ( ! class_exists( 'myCRED_Zombaio' ) ) :
|
|
115 |
/**
|
116 |
* Handle IPN Call
|
117 |
* @since 1.1
|
118 |
-
* @version 1.2
|
119 |
*/
|
120 |
public function handle_call() {
|
121 |
|
@@ -177,8 +188,7 @@ if ( ! class_exists( 'myCRED_Zombaio' ) ) :
|
|
177 |
$pending_payment->amount = $amount;
|
178 |
|
179 |
// Get Cost
|
180 |
-
$cost
|
181 |
-
$pending_payment->cost = $cost;
|
182 |
|
183 |
// If account is credited, delete the post and it's comments.
|
184 |
if ( $this->complete_payment( $pending_payment, $transaction_id ) ) {
|
5 |
* myCRED_Zombaio class
|
6 |
* Zombaio Payment Gateway
|
7 |
* @since 1.1
|
8 |
+
* @version 1.1.2
|
9 |
*/
|
10 |
if ( ! class_exists( 'myCRED_Zombaio' ) ) :
|
11 |
class myCRED_Zombaio extends myCRED_Payment_Gateway {
|
56 |
|
57 |
}
|
58 |
|
59 |
+
/**
|
60 |
+
* First Comment
|
61 |
+
* @since 1.7.3
|
62 |
+
* @version 1.0
|
63 |
+
*/
|
64 |
+
public function first_comment( $comment ) {
|
65 |
+
|
66 |
+
return 'New Zombaio purchase request.';
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
/**
|
71 |
* Verify IPN IP
|
72 |
* @since 1.1
|
126 |
/**
|
127 |
* Handle IPN Call
|
128 |
* @since 1.1
|
129 |
+
* @version 1.2.1
|
130 |
*/
|
131 |
public function handle_call() {
|
132 |
|
188 |
$pending_payment->amount = $amount;
|
189 |
|
190 |
// Get Cost
|
191 |
+
$pending_payment->cost = 0;
|
|
|
192 |
|
193 |
// If account is credited, delete the post and it's comments.
|
194 |
if ( $this->complete_payment( $pending_payment, $transaction_id ) ) {
|
addons/buy-creds/includes/buycred-functions.php
CHANGED
@@ -94,7 +94,7 @@ endif;
|
|
94 |
/**
|
95 |
* Add Pending Comment
|
96 |
* @since 1.7
|
97 |
-
* @version 1.0
|
98 |
*/
|
99 |
if ( ! function_exists( 'buycred_add_pending_comment' ) ) :
|
100 |
function buycred_add_pending_comment( $payment_id = NULL, $comment = NULL, $time = NULL ) {
|
@@ -109,15 +109,14 @@ if ( ! function_exists( 'buycred_add_pending_comment' ) ) :
|
|
109 |
if ( $time === NULL || $time == 'now' )
|
110 |
$time = current_time( 'mysql' );
|
111 |
|
112 |
-
$author
|
113 |
-
$gateway
|
114 |
-
$gateways
|
115 |
-
$author_url
|
|
|
116 |
|
117 |
-
if ( array_key_exists( $gateway, $gateways ) )
|
118 |
-
$author
|
119 |
-
$author_email = apply_filters( 'mycred_buycred_comment_email', 'buycred-service@mycred.me' );
|
120 |
-
}
|
121 |
|
122 |
return wp_insert_comment( array(
|
123 |
'comment_post_ID' => $post_id,
|
94 |
/**
|
95 |
* Add Pending Comment
|
96 |
* @since 1.7
|
97 |
+
* @version 1.0.1
|
98 |
*/
|
99 |
if ( ! function_exists( 'buycred_add_pending_comment' ) ) :
|
100 |
function buycred_add_pending_comment( $payment_id = NULL, $comment = NULL, $time = NULL ) {
|
109 |
if ( $time === NULL || $time == 'now' )
|
110 |
$time = current_time( 'mysql' );
|
111 |
|
112 |
+
$author = 'buyCRED';
|
113 |
+
$gateway = get_post_meta( $post_id, 'gateway', true );
|
114 |
+
$gateways = $mycred_modules['solo']['buycred']->get();
|
115 |
+
$author_url = sprintf( 'buyCRED: %s %s', __( 'Unknown Gateway', 'mycred' ), $gateway );
|
116 |
+
$author_email = apply_filters( 'mycred_buycred_comment_email', 'buycred-service@mycred.me' );
|
117 |
|
118 |
+
if ( array_key_exists( $gateway, $gateways ) )
|
119 |
+
$author = sprintf( 'buyCRED: %s %s', $gateways[ $gateway ]['title'], __( 'Gateway', 'mycred' ) );
|
|
|
|
|
120 |
|
121 |
return wp_insert_comment( array(
|
122 |
'comment_post_ID' => $post_id,
|
addons/buy-creds/modules/buycred-module-core.php
CHANGED
@@ -44,14 +44,14 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) :
|
|
44 |
|
45 |
/**
|
46 |
* Load
|
47 |
-
* @version 1.0
|
48 |
*/
|
49 |
public function load() {
|
50 |
|
51 |
add_filter( 'mycred_parse_log_entry', array( $this, 'render_gift_tags' ), 10, 2 );
|
52 |
|
53 |
add_action( 'mycred_init', array( $this, 'module_init' ) );
|
54 |
-
add_action( '
|
55 |
add_action( 'mycred_admin_init', array( $this, 'module_admin_init' ) );
|
56 |
|
57 |
add_action( 'mycred_admin_init', array( $this, 'register_settings' ) );
|
@@ -254,6 +254,19 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) :
|
|
254 |
add_action( 'personal_options_update', array( $this, 'save_manual_exchange_rates' ), 30 );
|
255 |
add_action( 'edit_user_profile_update', array( $this, 'save_manual_exchange_rates' ), 30 );
|
256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
}
|
258 |
|
259 |
/**
|
@@ -519,7 +532,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) :
|
|
519 |
/**
|
520 |
* Payment Gateways Page
|
521 |
* @since 0.1
|
522 |
-
* @version 1.2.
|
523 |
*/
|
524 |
public function admin_page() {
|
525 |
|
@@ -563,7 +576,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) :
|
|
563 |
</li>
|
564 |
</ol>
|
565 |
|
566 |
-
<?php if ( array_key_exists( 'sandbox', $this->gateway_prefs[ $key ] ) ) : ?>
|
567 |
|
568 |
<label class="subheader" for="mycred-gateway-<?php echo $key; ?>-sandbox"><?php _e( 'Sandbox Mode', 'mycred' ); ?></label>
|
569 |
<ol>
|
@@ -611,7 +624,7 @@ jQuery(function($) {
|
|
611 |
/**
|
612 |
* Sanititze Settings
|
613 |
* @since 0.1
|
614 |
-
* @version 1.3
|
615 |
*/
|
616 |
public function sanitize_settings( $data ) {
|
617 |
|
@@ -621,7 +634,7 @@ jQuery(function($) {
|
|
621 |
if ( empty( $installed ) ) return $data;
|
622 |
|
623 |
foreach ( $installed as $id => $gdata )
|
624 |
-
$data['gateway_prefs'][ $id ] = $this->call( 'sanitise_preferences', $installed[ $id ]['callback'], $data['gateway_prefs'][ $id ] );
|
625 |
|
626 |
return $data;
|
627 |
|
@@ -661,7 +674,7 @@ jQuery(function($) {
|
|
661 |
* Render the dedicated admin screen where all point purchases are shown from the myCRED Log.
|
662 |
* This screen is added in for each point type that is set to be for sale.
|
663 |
* @since 1.4
|
664 |
-
* @version 1.4
|
665 |
*/
|
666 |
public function purchase_log_page() {
|
667 |
|
@@ -673,7 +686,7 @@ jQuery(function($) {
|
|
673 |
else
|
674 |
$mycred = mycred( $type );
|
675 |
|
676 |
-
// Security
|
677 |
if ( ! $mycred->can_edit_creds() ) wp_die( 'Access Denied' );
|
678 |
|
679 |
$per_page = mycred_get_user_meta( $this->current_user_id, 'mycred_payments_' . $type, '', true );
|
@@ -827,6 +840,7 @@ jQuery(function($) {
|
|
827 |
|
828 |
$gateway_name = str_replace( 'buy_creds_with_', '', $log_entry->ref );
|
829 |
|
|
|
830 |
if ( ! array_key_exists( str_replace( '_', '-', $gateway_name ), $installed ) )
|
831 |
$style = ' style="color:silver;"';
|
832 |
elseif ( ! $this->is_active( str_replace( '_', '-', $gateway_name ) ) )
|
@@ -896,8 +910,15 @@ jQuery(function($) {
|
|
896 |
|
897 |
if ( $cost === 'n/a' )
|
898 |
echo 'n/a';
|
899 |
-
|
900 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
901 |
|
902 |
break;
|
903 |
|
@@ -905,7 +926,7 @@ jQuery(function($) {
|
|
905 |
case 'column-tranid' :
|
906 |
|
907 |
$transaction_id = $log_entry->time . $log_entry->user_id;
|
908 |
-
$saved_data
|
909 |
if ( isset( $saved_data['txn_id'] ) )
|
910 |
$transaction_id = $saved_data['txn_id'];
|
911 |
elseif ( isset( $saved_data['transaction_id'] ) )
|
44 |
|
45 |
/**
|
46 |
* Load
|
47 |
+
* @version 1.0.1
|
48 |
*/
|
49 |
public function load() {
|
50 |
|
51 |
add_filter( 'mycred_parse_log_entry', array( $this, 'render_gift_tags' ), 10, 2 );
|
52 |
|
53 |
add_action( 'mycred_init', array( $this, 'module_init' ) );
|
54 |
+
add_action( 'wp_loaded', array( $this, 'module_run' ) );
|
55 |
add_action( 'mycred_admin_init', array( $this, 'module_admin_init' ) );
|
56 |
|
57 |
add_action( 'mycred_admin_init', array( $this, 'register_settings' ) );
|
254 |
add_action( 'personal_options_update', array( $this, 'save_manual_exchange_rates' ), 30 );
|
255 |
add_action( 'edit_user_profile_update', array( $this, 'save_manual_exchange_rates' ), 30 );
|
256 |
|
257 |
+
// Prep
|
258 |
+
$installed = $this->get();
|
259 |
+
|
260 |
+
// Make sure we have installed gateways.
|
261 |
+
if ( empty( $installed ) ) return;
|
262 |
+
|
263 |
+
/**
|
264 |
+
* Admin Init
|
265 |
+
* Runs though all installed gateways to allow admin inits.
|
266 |
+
*/
|
267 |
+
foreach ( $installed as $id => $data )
|
268 |
+
$this->call( 'admin_init', $installed[ $id ]['callback'] );
|
269 |
+
|
270 |
}
|
271 |
|
272 |
/**
|
532 |
/**
|
533 |
* Payment Gateways Page
|
534 |
* @since 0.1
|
535 |
+
* @version 1.2.2
|
536 |
*/
|
537 |
public function admin_page() {
|
538 |
|
576 |
</li>
|
577 |
</ol>
|
578 |
|
579 |
+
<?php if ( array_key_exists( $key, $this->gateway_prefs ) && array_key_exists( 'sandbox', $this->gateway_prefs[ $key ] ) ) : ?>
|
580 |
|
581 |
<label class="subheader" for="mycred-gateway-<?php echo $key; ?>-sandbox"><?php _e( 'Sandbox Mode', 'mycred' ); ?></label>
|
582 |
<ol>
|
624 |
/**
|
625 |
* Sanititze Settings
|
626 |
* @since 0.1
|
627 |
+
* @version 1.3.1
|
628 |
*/
|
629 |
public function sanitize_settings( $data ) {
|
630 |
|
634 |
if ( empty( $installed ) ) return $data;
|
635 |
|
636 |
foreach ( $installed as $id => $gdata )
|
637 |
+
$data['gateway_prefs'][ $id ] = $this->call( 'sanitise_preferences', $installed[ $id ]['callback'], ( ( array_key_exists( $id, $data['gateway_prefs'] ) ) ? $data['gateway_prefs'][ $id ] : array() ) );
|
638 |
|
639 |
return $data;
|
640 |
|
674 |
* Render the dedicated admin screen where all point purchases are shown from the myCRED Log.
|
675 |
* This screen is added in for each point type that is set to be for sale.
|
676 |
* @since 1.4
|
677 |
+
* @version 1.4.1
|
678 |
*/
|
679 |
public function purchase_log_page() {
|
680 |
|
686 |
else
|
687 |
$mycred = mycred( $type );
|
688 |
|
689 |
+
// Security (incase the user has setup different capabilities to manage this particular point type)
|
690 |
if ( ! $mycred->can_edit_creds() ) wp_die( 'Access Denied' );
|
691 |
|
692 |
$per_page = mycred_get_user_meta( $this->current_user_id, 'mycred_payments_' . $type, '', true );
|
840 |
|
841 |
$gateway_name = str_replace( 'buy_creds_with_', '', $log_entry->ref );
|
842 |
|
843 |
+
// Color rows based on if the transaction was made in Sandbox mode or using a gateway that no longer is used.
|
844 |
if ( ! array_key_exists( str_replace( '_', '-', $gateway_name ), $installed ) )
|
845 |
$style = ' style="color:silver;"';
|
846 |
elseif ( ! $this->is_active( str_replace( '_', '-', $gateway_name ) ) )
|
910 |
|
911 |
if ( $cost === 'n/a' )
|
912 |
echo 'n/a';
|
913 |
+
|
914 |
+
else {
|
915 |
+
|
916 |
+
$rendered_cost = apply_filters( 'mycred_buycred_display_cost', $cost . ' ' . $currency, $sales_data, $log_entry, $gateway_name );
|
917 |
+
$rendered_cost = apply_filters( 'mycred_buycred_display_cost_' . $gateway_name, $rendered_cost, $sales_data, $log_entry );
|
918 |
+
|
919 |
+
echo $rendered_cost;
|
920 |
+
|
921 |
+
}
|
922 |
|
923 |
break;
|
924 |
|
926 |
case 'column-tranid' :
|
927 |
|
928 |
$transaction_id = $log_entry->time . $log_entry->user_id;
|
929 |
+
$saved_data = maybe_unserialize( $log_entry->data );
|
930 |
if ( isset( $saved_data['txn_id'] ) )
|
931 |
$transaction_id = $saved_data['txn_id'];
|
932 |
elseif ( isset( $saved_data['transaction_id'] ) )
|
addons/buy-creds/modules/buycred-module-pending.php
CHANGED
@@ -220,12 +220,12 @@ if ( ! class_exists( 'buyCRED_Pending_Payments' ) ) :
|
|
220 |
/**
|
221 |
* Add Admin Menu Item
|
222 |
* @since 1.7
|
223 |
-
* @version 1.0
|
224 |
*/
|
225 |
public function add_to_menu() {
|
226 |
|
227 |
add_submenu_page(
|
228 |
-
|
229 |
__( 'Pending Payments', 'mycred' ),
|
230 |
__( 'Pending Payments', 'mycred' ),
|
231 |
$this->core->edit_creds_cap(),
|
220 |
/**
|
221 |
* Add Admin Menu Item
|
222 |
* @since 1.7
|
223 |
+
* @version 1.0.1
|
224 |
*/
|
225 |
public function add_to_menu() {
|
226 |
|
227 |
add_submenu_page(
|
228 |
+
MYCRED_SLUG,
|
229 |
__( 'Pending Payments', 'mycred' ),
|
230 |
__( 'Pending Payments', 'mycred' ),
|
231 |
$this->core->edit_creds_cap(),
|
addons/email-notices/myCRED-addon-email-notices.php
CHANGED
@@ -938,7 +938,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
|
|
938 |
/**
|
939 |
* Email Notice Check
|
940 |
* @since 1.4.6
|
941 |
-
* @version 1.2
|
942 |
*/
|
943 |
public function get_events_from_instance( $request, $mycred ) {
|
944 |
|
@@ -967,7 +967,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
|
|
967 |
|
968 |
if ( isset( $rank->rank_id ) && $rank->rank_id !== $rank->current_id ) {
|
969 |
|
970 |
-
if ( $rank->current_id !== NULL && get_post_meta( $
|
971 |
$events[] = 'ranks|negative';
|
972 |
|
973 |
else
|
@@ -1174,7 +1174,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
|
|
1174 |
/**
|
1175 |
* WP Mail
|
1176 |
* @since 1.1
|
1177 |
-
* @version 1.3.
|
1178 |
*/
|
1179 |
public function wp_mail( $to, $subject, $message, $headers, $attachments, $request, $email_id ) {
|
1180 |
|
@@ -1186,10 +1186,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
|
|
1186 |
$subject = $this->template_tags_request( $filtered['subject'], $filtered['request'] );
|
1187 |
$message = $this->template_tags_request( $filtered['message'], $filtered['request'] );
|
1188 |
|
1189 |
-
$entry =
|
1190 |
-
foreach ( $filtered['request'] as $key => $value )
|
1191 |
-
$entry->$key = $value;
|
1192 |
-
|
1193 |
$mycred = mycred( $filtered['request']['type'] );
|
1194 |
|
1195 |
$subject = $mycred->template_tags_user( $subject, $filtered['request']['user_id'] );
|
@@ -1236,7 +1233,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
|
|
1236 |
/**
|
1237 |
* Request Related Template Tags
|
1238 |
* @since 1.1
|
1239 |
-
* @version 1.3
|
1240 |
*/
|
1241 |
public function template_tags_request( $content, $request ) {
|
1242 |
|
@@ -1251,9 +1248,9 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
|
|
1251 |
$content = str_replace( '%old_balance_f%', $type->format_creds( $old_balance ), $content );
|
1252 |
|
1253 |
if ( $request['amount'] > 0 )
|
1254 |
-
$new_balance = $type->number( $old_balance - $request['amount'] );
|
1255 |
-
else
|
1256 |
$new_balance = $type->number( $old_balance + $request['amount'] );
|
|
|
|
|
1257 |
|
1258 |
$content = str_replace( '%new_balance%', $new_balance, $content );
|
1259 |
$content = str_replace( '%new_balance_f%', $type->format_creds( $new_balance ), $content );
|
938 |
/**
|
939 |
* Email Notice Check
|
940 |
* @since 1.4.6
|
941 |
+
* @version 1.2.1
|
942 |
*/
|
943 |
public function get_events_from_instance( $request, $mycred ) {
|
944 |
|
967 |
|
968 |
if ( isset( $rank->rank_id ) && $rank->rank_id !== $rank->current_id ) {
|
969 |
|
970 |
+
if ( $rank->current_id !== NULL && get_post_meta( $rank->current_id, 'mycred_rank_max', true ) > $rank->maximum )
|
971 |
$events[] = 'ranks|negative';
|
972 |
|
973 |
else
|
1174 |
/**
|
1175 |
* WP Mail
|
1176 |
* @since 1.1
|
1177 |
+
* @version 1.3.2
|
1178 |
*/
|
1179 |
public function wp_mail( $to, $subject, $message, $headers, $attachments, $request, $email_id ) {
|
1180 |
|
1186 |
$subject = $this->template_tags_request( $filtered['subject'], $filtered['request'] );
|
1187 |
$message = $this->template_tags_request( $filtered['message'], $filtered['request'] );
|
1188 |
|
1189 |
+
$entry = $this->request_to_entry( $filtered['request'] );
|
|
|
|
|
|
|
1190 |
$mycred = mycred( $filtered['request']['type'] );
|
1191 |
|
1192 |
$subject = $mycred->template_tags_user( $subject, $filtered['request']['user_id'] );
|
1233 |
/**
|
1234 |
* Request Related Template Tags
|
1235 |
* @since 1.1
|
1236 |
+
* @version 1.3.1
|
1237 |
*/
|
1238 |
public function template_tags_request( $content, $request ) {
|
1239 |
|
1248 |
$content = str_replace( '%old_balance_f%', $type->format_creds( $old_balance ), $content );
|
1249 |
|
1250 |
if ( $request['amount'] > 0 )
|
|
|
|
|
1251 |
$new_balance = $type->number( $old_balance + $request['amount'] );
|
1252 |
+
else
|
1253 |
+
$new_balance = $type->number( $old_balance - $request['amount'] );
|
1254 |
|
1255 |
$content = str_replace( '%new_balance%', $new_balance, $content );
|
1256 |
$content = str_replace( '%new_balance_f%', $type->format_creds( $new_balance ), $content );
|
addons/transfer/includes/mycred-transfer-shortcodes.php
CHANGED
@@ -6,7 +6,7 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
|
|
6 |
* Renders a transfer form that allows users to send points to other users.
|
7 |
* @see http://mycred.me/functions/mycred_transfer_render/
|
8 |
* @since 0.1
|
9 |
-
* @version 1.6
|
10 |
*/
|
11 |
if ( ! function_exists( 'mycred_transfer_render' ) ) :
|
12 |
function mycred_transfer_render( $atts, $content = NULL ) {
|
@@ -172,7 +172,7 @@ if ( ! function_exists( 'mycred_transfer_render' ) ) :
|
|
172 |
if ( isset( $user->$pref['autofill'] ) )
|
173 |
$value = $user->$pref['autofill'];
|
174 |
|
175 |
-
$to_input = '<p class="form-control-static">' . $value . '</p><input type="hidden" name="mycred_new_transfer[recipient_id]" value="' . $pay_to . '" />';
|
176 |
|
177 |
}
|
178 |
|
6 |
* Renders a transfer form that allows users to send points to other users.
|
7 |
* @see http://mycred.me/functions/mycred_transfer_render/
|
8 |
* @since 0.1
|
9 |
+
* @version 1.6.1
|
10 |
*/
|
11 |
if ( ! function_exists( 'mycred_transfer_render' ) ) :
|
12 |
function mycred_transfer_render( $atts, $content = NULL ) {
|
172 |
if ( isset( $user->$pref['autofill'] ) )
|
173 |
$value = $user->$pref['autofill'];
|
174 |
|
175 |
+
$to_input = '<p class="form-control-static">' . $value . '</p><input type="hidden" name="mycred_new_transfer[recipient_id]" value="' . ( ( isset( $user->$pref['autofill'] ) ) ? $user->$pref['autofill'] : $pay_to ) . '" />';
|
176 |
|
177 |
}
|
178 |
|
addons/transfer/includes/mycred-transfer-widgets.php
CHANGED
@@ -4,7 +4,7 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
|
|
4 |
/**
|
5 |
* Widget: myCRED Transfer
|
6 |
* @since 0.1
|
7 |
-
* @version 1.2
|
8 |
*/
|
9 |
if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) :
|
10 |
class myCRED_Widget_Transfer extends WP_Widget {
|
@@ -66,22 +66,22 @@ if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) :
|
|
66 |
public function form( $instance ) {
|
67 |
|
68 |
// Defaults
|
69 |
-
$title = isset( $instance['title'] )
|
70 |
$show_balance = isset( $instance['show_balance'] ) ? $instance['show_balance'] : 0;
|
71 |
-
$show_limit = isset( $instance['show_limit'] )
|
72 |
-
$button = isset( $instance['button'] )
|
73 |
-
$amount = isset( $instance['amount'] )
|
74 |
-
$reference = isset( $instance['reference'] )
|
75 |
-
$recipient = isset( $instance['pay_to'] )
|
76 |
-
$point_types = isset( $instance['types'] )
|
77 |
-
$excluded = isset( $instance['excluded'] )
|
78 |
-
$placeholder = isset( $instance['placeholder'] )
|
79 |
|
80 |
?>
|
81 |
<!-- Widget Options -->
|
82 |
<p class="myCRED-widget-field">
|
83 |
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
|
84 |
-
<input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
|
85 |
</p>
|
86 |
<p class="myCRED-widget-field">
|
87 |
<label for="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>"><input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_balance' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>" value="1"<?php checked( $show_balance, true ); ?> class="checkbox" /> <?php _e( 'Show users balance', 'mycred' ); ?></label>
|
@@ -91,31 +91,31 @@ if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) :
|
|
91 |
</p>
|
92 |
<p class="myCRED-widget-field">
|
93 |
<label for="<?php echo esc_attr( $this->get_field_id( 'button' ) ); ?>"><?php _e( 'Button Label', 'mycred' ); ?>:</label>
|
94 |
-
<input id="<?php echo esc_attr( $this->get_field_id( 'button' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'button' ) ); ?>" type="text" value="<?php echo esc_attr( $button ); ?>" class="widefat" />
|
95 |
</p>
|
96 |
<p class="myCRED-widget-field">
|
97 |
<label for="<?php echo esc_attr( $this->get_field_id( 'amount' ) ); ?>"><?php _e( 'Amount', 'mycred' ); ?>:</label>
|
98 |
-
<input id="<?php echo esc_attr( $this->get_field_id( 'amount' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'amount' ) ); ?>" type="text" value="<?php echo esc_attr( $amount ); ?>" class="widefat" />
|
99 |
</p>
|
100 |
<p class="myCRED-widget-field">
|
101 |
<label for="<?php echo esc_attr( $this->get_field_id( 'reference' ) ); ?>"><?php _e( 'Reference', 'mycred' ); ?>:</label>
|
102 |
-
<input id="<?php echo esc_attr( $this->get_field_id( 'reference' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'reference' ) ); ?>" type="text" value="<?php echo esc_attr( $reference ); ?>" class="widefat" />
|
103 |
</p>
|
104 |
<p class="myCRED-widget-field">
|
105 |
<label for="<?php echo esc_attr( $this->get_field_id( 'pay_to' ) ); ?>"><?php _e( 'Recipient', 'mycred' ); ?>:</label>
|
106 |
-
<input id="<?php echo esc_attr( $this->get_field_id( 'pay_to' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'pay_to' ) ); ?>" type="text" value="<?php echo esc_attr( $recipient ); ?>" class="widefat" />
|
107 |
</p>
|
108 |
<p class="myCRED-widget-field">
|
109 |
-
<label for="<?php echo esc_attr( $this->get_field_id( '
|
110 |
-
<input id="<?php echo esc_attr( $this->get_field_id( '
|
111 |
</p>
|
112 |
<p class="myCRED-widget-field">
|
113 |
-
<label for="<?php echo esc_attr( $this->get_field_id( '
|
114 |
-
<input id="<?php echo esc_attr( $this->get_field_id( '
|
115 |
</p>
|
116 |
<p class="myCRED-widget-field">
|
117 |
<label for="<?php echo esc_attr( $this->get_field_id( 'excluded' ) ); ?>"><?php _e( 'Message for Excluded Users', 'mycred' ); ?>:</label>
|
118 |
-
<input id="<?php echo esc_attr( $this->get_field_id( 'excluded' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'excluded' ) ); ?>" type="text" value="<?php echo esc_attr( $excluded ); ?>" class="widefat" />
|
119 |
</p>
|
120 |
<?php
|
121 |
|
@@ -126,10 +126,7 @@ if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) :
|
|
126 |
*/
|
127 |
public function update( $new_instance, $old_instance ) {
|
128 |
|
129 |
-
|
130 |
-
|
131 |
-
$instance = $old_instance;
|
132 |
-
$allowed = $mycred->allowed_html_tags();
|
133 |
|
134 |
$instance['title'] = wp_kses_post( $new_instance['title'] );
|
135 |
$instance['show_balance'] = ( isset( $new_instance['show_balance'] ) ) ? absint( $new_instance['show_balance'] ) : 0;
|
@@ -138,8 +135,8 @@ if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) :
|
|
138 |
$instance['amount'] = sanitize_text_field( $new_instance['amount'] );
|
139 |
$instance['reference'] = sanitize_key( $new_instance['reference'] );
|
140 |
$instance['pay_to'] = sanitize_text_field( $new_instance['pay_to'] );
|
141 |
-
$instance['types'] = sanitize_text_field( $new_instance['types'] );
|
142 |
$instance['placeholder'] = sanitize_text_field( $new_instance['placeholder'] );
|
|
|
143 |
$instance['excluded'] = sanitize_text_field( $new_instance['excluded'] );
|
144 |
|
145 |
mycred_flush_widget_cache( 'mycred_widget_transfer' );
|
4 |
/**
|
5 |
* Widget: myCRED Transfer
|
6 |
* @since 0.1
|
7 |
+
* @version 1.2.1
|
8 |
*/
|
9 |
if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) :
|
10 |
class myCRED_Widget_Transfer extends WP_Widget {
|
66 |
public function form( $instance ) {
|
67 |
|
68 |
// Defaults
|
69 |
+
$title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : 'Transfer';
|
70 |
$show_balance = isset( $instance['show_balance'] ) ? $instance['show_balance'] : 0;
|
71 |
+
$show_limit = isset( $instance['show_limit'] ) ? $instance['show_balance'] : 0;
|
72 |
+
$button = isset( $instance['button'] ) ? esc_attr( $instance['button'] ) : 'Transfer';
|
73 |
+
$amount = isset( $instance['amount'] ) ? esc_attr( $instance['amount'] ) : '';
|
74 |
+
$reference = isset( $instance['reference'] ) ? esc_attr( $instance['reference'] ) : 'transfer';
|
75 |
+
$recipient = isset( $instance['pay_to'] ) ? esc_attr( $instance['pay_to'] ) : '';
|
76 |
+
$point_types = isset( $instance['types'] ) ? esc_attr( $instance['types'] ) : MYCRED_DEFAULT_TYPE_KEY;
|
77 |
+
$excluded = isset( $instance['excluded'] ) ? esc_attr( $instance['excluded'] ) : '';
|
78 |
+
$placeholder = isset( $instance['placeholder'] ) ? esc_attr( $instance['placeholder'] ) : '';
|
79 |
|
80 |
?>
|
81 |
<!-- Widget Options -->
|
82 |
<p class="myCRED-widget-field">
|
83 |
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
|
84 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" placeholder="<?php _e( 'optional', 'mycred' ); ?>" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
|
85 |
</p>
|
86 |
<p class="myCRED-widget-field">
|
87 |
<label for="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>"><input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_balance' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>" value="1"<?php checked( $show_balance, true ); ?> class="checkbox" /> <?php _e( 'Show users balance', 'mycred' ); ?></label>
|
91 |
</p>
|
92 |
<p class="myCRED-widget-field">
|
93 |
<label for="<?php echo esc_attr( $this->get_field_id( 'button' ) ); ?>"><?php _e( 'Button Label', 'mycred' ); ?>:</label>
|
94 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'button' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'button' ) ); ?>" type="text" placeholder="<?php _e( 'required', 'mycred' ); ?>" value="<?php echo esc_attr( $button ); ?>" class="widefat" />
|
95 |
</p>
|
96 |
<p class="myCRED-widget-field">
|
97 |
<label for="<?php echo esc_attr( $this->get_field_id( 'amount' ) ); ?>"><?php _e( 'Amount', 'mycred' ); ?>:</label>
|
98 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'amount' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'amount' ) ); ?>" type="text" placeholder="<?php _e( 'required', 'mycred' ); ?>" value="<?php echo esc_attr( $amount ); ?>" class="widefat" />
|
99 |
</p>
|
100 |
<p class="myCRED-widget-field">
|
101 |
<label for="<?php echo esc_attr( $this->get_field_id( 'reference' ) ); ?>"><?php _e( 'Reference', 'mycred' ); ?>:</label>
|
102 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'reference' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'reference' ) ); ?>" type="text" placeholder="<?php _e( 'required', 'mycred' ); ?>" value="<?php echo esc_attr( $reference ); ?>" class="widefat" />
|
103 |
</p>
|
104 |
<p class="myCRED-widget-field">
|
105 |
<label for="<?php echo esc_attr( $this->get_field_id( 'pay_to' ) ); ?>"><?php _e( 'Recipient', 'mycred' ); ?>:</label>
|
106 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'pay_to' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'pay_to' ) ); ?>" type="text" placeholder="<?php _e( 'optional', 'mycred' ); ?>" value="<?php echo esc_attr( $recipient ); ?>" class="widefat" />
|
107 |
</p>
|
108 |
<p class="myCRED-widget-field">
|
109 |
+
<label for="<?php echo esc_attr( $this->get_field_id( 'placeholder' ) ); ?>"><?php _e( 'Recipient Placeholder', 'mycred' ); ?>:</label>
|
110 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'placeholder' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'placeholder' ) ); ?>" type="text" placeholder="<?php _e( 'optional', 'mycred' ); ?>" value="<?php echo esc_attr( $placeholder ); ?>" class="widefat" />
|
111 |
</p>
|
112 |
<p class="myCRED-widget-field">
|
113 |
+
<label for="<?php echo esc_attr( $this->get_field_id( 'types' ) ); ?>"><?php _e( 'Point Types', 'mycred' ); ?>:</label>
|
114 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'types' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'types' ) ); ?>" type="text" placeholder="<?php _e( 'required', 'mycred' ); ?>" value="<?php echo esc_attr( $point_types ); ?>" class="widefat" />
|
115 |
</p>
|
116 |
<p class="myCRED-widget-field">
|
117 |
<label for="<?php echo esc_attr( $this->get_field_id( 'excluded' ) ); ?>"><?php _e( 'Message for Excluded Users', 'mycred' ); ?>:</label>
|
118 |
+
<input id="<?php echo esc_attr( $this->get_field_id( 'excluded' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'excluded' ) ); ?>" placeholder="<?php _e( 'optional', 'mycred' ); ?>" type="text" value="<?php echo esc_attr( $excluded ); ?>" class="widefat" />
|
119 |
</p>
|
120 |
<?php
|
121 |
|
126 |
*/
|
127 |
public function update( $new_instance, $old_instance ) {
|
128 |
|
129 |
+
$instance = $old_instance;
|
|
|
|
|
|
|
130 |
|
131 |
$instance['title'] = wp_kses_post( $new_instance['title'] );
|
132 |
$instance['show_balance'] = ( isset( $new_instance['show_balance'] ) ) ? absint( $new_instance['show_balance'] ) : 0;
|
135 |
$instance['amount'] = sanitize_text_field( $new_instance['amount'] );
|
136 |
$instance['reference'] = sanitize_key( $new_instance['reference'] );
|
137 |
$instance['pay_to'] = sanitize_text_field( $new_instance['pay_to'] );
|
|
|
138 |
$instance['placeholder'] = sanitize_text_field( $new_instance['placeholder'] );
|
139 |
+
$instance['types'] = sanitize_text_field( $new_instance['types'] );
|
140 |
$instance['excluded'] = sanitize_text_field( $new_instance['excluded'] );
|
141 |
|
142 |
mycred_flush_widget_cache( 'mycred_widget_transfer' );
|
addons/transfer/myCRED-addon-transfer.php
CHANGED
@@ -564,12 +564,14 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) :
|
|
564 |
/**
|
565 |
* Get Recipient
|
566 |
* @since 1.3.2
|
567 |
-
* @version 1.1
|
568 |
*/
|
569 |
public function get_recipient( $to = '' ) {
|
570 |
|
571 |
if ( empty( $to ) ) return false;
|
572 |
|
|
|
|
|
573 |
switch ( $this->transfers['autofill'] ) {
|
574 |
|
575 |
case 'user_login' :
|
564 |
/**
|
565 |
* Get Recipient
|
566 |
* @since 1.3.2
|
567 |
+
* @version 1.1.1
|
568 |
*/
|
569 |
public function get_recipient( $to = '' ) {
|
570 |
|
571 |
if ( empty( $to ) ) return false;
|
572 |
|
573 |
+
if ( is_numeric( $to ) && absint( $to ) !== 0 ) return absint( $to );
|
574 |
+
|
575 |
switch ( $this->transfers['autofill'] ) {
|
576 |
|
577 |
case 'user_login' :
|
mycred.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: myCRED
|
4 |
* Plugin URI: http://mycred.me
|
5 |
* Description: An adaptive points management system for WordPress powered websites.
|
6 |
-
* Version: 1.7.
|
7 |
* Tags: points, tokens, credit, management, reward, charge, buddypress, bbpress, jetpack, woocommerce, marketpress, wp e-commerce, gravity forms, simplepress
|
8 |
* Author: Gabriel S Merovingi
|
9 |
* Author URI: http://www.merovingi.com
|
@@ -20,7 +20,7 @@ if ( ! class_exists( 'myCRED_Core' ) ) :
|
|
20 |
final class myCRED_Core {
|
21 |
|
22 |
// Plugin Version
|
23 |
-
public $version = '1.7.
|
24 |
|
25 |
// Instnace
|
26 |
protected static $_instance = NULL;
|
3 |
* Plugin Name: myCRED
|
4 |
* Plugin URI: http://mycred.me
|
5 |
* Description: An adaptive points management system for WordPress powered websites.
|
6 |
+
* Version: 1.7.2
|
7 |
* Tags: points, tokens, credit, management, reward, charge, buddypress, bbpress, jetpack, woocommerce, marketpress, wp e-commerce, gravity forms, simplepress
|
8 |
* Author: Gabriel S Merovingi
|
9 |
* Author URI: http://www.merovingi.com
|
20 |
final class myCRED_Core {
|
21 |
|
22 |
// Plugin Version
|
23 |
+
public $version = '1.7.2';
|
24 |
|
25 |
// Instnace
|
26 |
protected static $_instance = NULL;
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: designbymerovingi
|
|
3 |
Tags: point, points, tokens, credit, management, reward, charge, community, contest, buddypress, jetpack, bbpress, simple press, woocommerce, wp e-commerce, contact-form-7
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 4.6
|
6 |
-
Stable tag: 1.7.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -100,8 +100,8 @@ You can find a list of [frequently asked questions](https://mycred.me/about/faq/
|
|
100 |
|
101 |
== Upgrade Notice ==
|
102 |
|
103 |
-
= 1.7.
|
104 |
-
Bug fixes
|
105 |
|
106 |
|
107 |
== Other Notes ==
|
@@ -125,16 +125,12 @@ Bug fixes with 1.7
|
|
125 |
|
126 |
== Changelog ==
|
127 |
|
128 |
-
= 1.7.
|
129 |
-
*
|
130 |
-
* FIX -
|
131 |
-
* FIX -
|
132 |
-
* FIX -
|
133 |
-
*
|
134 |
-
* FIX - Rank requirements are not being properly formatted when saved.
|
135 |
-
* FIX - Rank management script not being loaded on settings page due to URL slug change.
|
136 |
-
* TWEAK - Updated documentation urls from using http to https.
|
137 |
-
* REMOVED - MarketPress gateway and rewards hook as these are available via a separate free plugin.
|
138 |
|
139 |
= Previous Versions =
|
140 |
https://mycred.me/support/changelog/
|
3 |
Tags: point, points, tokens, credit, management, reward, charge, community, contest, buddypress, jetpack, bbpress, simple press, woocommerce, wp e-commerce, contact-form-7
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 4.6
|
6 |
+
Stable tag: 1.7.2
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
100 |
|
101 |
== Upgrade Notice ==
|
102 |
|
103 |
+
= 1.7.2 =
|
104 |
+
Bug fixes and improvements for 1.7.
|
105 |
|
106 |
|
107 |
== Other Notes ==
|
125 |
|
126 |
== Changelog ==
|
127 |
|
128 |
+
= 1.7.2 =
|
129 |
+
* NEW - Added filter to allow adjustments of the displayed cost when purchasing points.
|
130 |
+
* FIX - Hook settings not getting saved for custom post types.
|
131 |
+
* FIX - User not found error when transferring points to a pre-populated recipient.
|
132 |
+
* FIX - Adjustments using MYCRED_SLUG is not honoured by the pending point purchase module.
|
133 |
+
* NEW - Updated abstract gateway class.
|
|
|
|
|
|
|
|
|
134 |
|
135 |
= Previous Versions =
|
136 |
https://mycred.me/support/changelog/
|