myCRED - Version 2.4.9

Version Description

New features and Bug fixes.

Download this release

Release Info

Developer wpexpertsio
Plugin Icon 128x128 myCRED
Version 2.4.9
Comparing to
See all releases

Code changes from version 2.4.8.1 to 2.4.9

Files changed (93) hide show
  1. addons/badges/assets/css/front.css +13 -18
  2. addons/badges/includes/mycred-badge-functions.php +10 -4
  3. addons/badges/includes/mycred-badge-shortcodes.php +58 -176
  4. addons/badges/myCRED-addon-badges.php +6 -1
  5. addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php +2 -16
  6. addons/cash-creds/abstracts/cashcred-abstract-payment-gateway.php +3 -24
  7. addons/cash-creds/includes/cashcred-shortcodes.php +20 -5
  8. addons/cash-creds/modules/cashcred-module-core.php +23 -6
  9. addons/cash-creds/modules/cashcred-module-withdrawal.php +14 -2
  10. addons/email-notices/includes/mycred-email-functions.php +15 -14
  11. addons/email-notices/myCRED-addon-email-notices.php +43 -27
  12. addons/ranks/includes/mycred-rank-functions.php +2 -2
  13. addons/ranks/myCRED-addon-ranks.php +14 -4
  14. addons/transfer/includes/mycred-transfer-object.php +14 -264
  15. assets/css/admin-subscription.css +24 -67
  16. assets/css/mycred-front.css +1 -1
  17. assets/js/mycred-tools.js +13 -4
  18. includes/classes/class.query-leaderboard.php +2 -2
  19. includes/classes/class.query-log.php +1 -0
  20. includes/hooks/external/mycred-hook-bbPress.php +2 -1
  21. includes/hooks/external/mycred-hook-buddypress.php +2 -1
  22. includes/hooks/mycred-hook-referrals.php +14 -29
  23. includes/mycred-blocks/blocks/mycred-affiliate-id/index.js +1 -1
  24. includes/mycred-blocks/blocks/mycred-affiliate-id/mycred-affiliate-id.php +1 -1
  25. includes/mycred-blocks/blocks/mycred-affiliate-link/index.js +1 -1
  26. includes/mycred-blocks/blocks/mycred-affiliate-link/mycred-affiliate-link.php +1 -1
  27. includes/mycred-blocks/blocks/mycred-badges-list/mycred-badges-list.php +1 -1
  28. includes/mycred-blocks/blocks/mycred-badges/index.js +1 -1
  29. includes/mycred-blocks/blocks/mycred-badges/mycred-badges.php +1 -1
  30. includes/mycred-blocks/blocks/mycred-best-user/index.js +2 -2
  31. includes/mycred-blocks/blocks/mycred-best-user/mycred-best-user.php +1 -1
  32. includes/mycred-blocks/blocks/mycred-buy-form/index.js +1 -1
  33. includes/mycred-blocks/blocks/mycred-buy-form/mycred-buy-form.php +1 -1
  34. includes/mycred-blocks/blocks/mycred-buy-pending/mycred-buy-pending.php +1 -1
  35. includes/mycred-blocks/blocks/mycred-buy/index.js +1 -1
  36. includes/mycred-blocks/blocks/mycred-buy/mycred-buy.php +1 -1
  37. includes/mycred-blocks/blocks/mycred-cashcred/mycred-cashcred.php +1 -1
  38. includes/mycred-blocks/blocks/mycred-chart-balance-history/mycred-chart-balance-history.php +1 -1
  39. includes/mycred-blocks/blocks/mycred-chart-circu/mycred-chart-circu.php +1 -1
  40. includes/mycred-blocks/blocks/mycred-chart-gain-loss/mycred-chart-gain-loss.php +1 -1
  41. includes/mycred-blocks/blocks/mycred-chart-history/mycred-chart-history.php +1 -1
  42. includes/mycred-blocks/blocks/mycred-chart-instance-history/mycred-chart-instance-history.php +1 -1
  43. includes/mycred-blocks/blocks/mycred-chart-top-balance/mycred-chart-top-balance.php +1 -1
  44. includes/mycred-blocks/blocks/mycred-chart-top-instance/mycred-chart-top-instance.php +1 -1
  45. includes/mycred-blocks/blocks/mycred-email-subsc/index.js +1 -1
  46. includes/mycred-blocks/blocks/mycred-email-subsc/mycred-email-subsc.php +1 -1
  47. includes/mycred-blocks/blocks/mycred-exchange/index.js +2 -2
  48. includes/mycred-blocks/blocks/mycred-exchange/mycred-exchange.php +1 -1
  49. includes/mycred-blocks/blocks/mycred-give/index.js +1 -1
  50. includes/mycred-blocks/blocks/mycred-give/mycred-give.php +1 -1
  51. includes/mycred-blocks/blocks/mycred-history/index.js +1 -1
  52. includes/mycred-blocks/blocks/mycred-history/mycred-history.php +1 -1
  53. includes/mycred-blocks/blocks/mycred-hook-table/index.js +1 -1
  54. includes/mycred-blocks/blocks/mycred-hook-table/mycred-hook-table.php +1 -1
  55. includes/mycred-blocks/blocks/mycred-leaderboard/index.js +1 -1
  56. includes/mycred-blocks/blocks/mycred-leaderboard/mycred-leaderboard.php +1 -1
  57. includes/mycred-blocks/blocks/mycred-link/index.js +1 -1
  58. includes/mycred-blocks/blocks/mycred-link/mycred-link.php +1 -1
  59. includes/mycred-blocks/blocks/mycred-list-ranks/index.js +1 -1
  60. includes/mycred-blocks/blocks/mycred-list-ranks/mycred-list-ranks.php +1 -1
  61. includes/mycred-blocks/blocks/mycred-load-coupon/index.js +1 -1
  62. includes/mycred-blocks/blocks/mycred-load-coupon/mycred-load-coupon.php +1 -1
  63. includes/mycred-blocks/blocks/mycred-my-badges/index.js +1 -1
  64. includes/mycred-blocks/blocks/mycred-my-badges/mycred-my-badges.php +1 -1
  65. includes/mycred-blocks/blocks/mycred-my-balance-converted/index.js +1 -1
  66. includes/mycred-blocks/blocks/mycred-my-balance-converted/mycred-my-balance-converted.php +1 -1
  67. includes/mycred-blocks/blocks/mycred-my-balance/index.js +1 -1
  68. includes/mycred-blocks/blocks/mycred-my-balance/mycred-my-balance.php +1 -1
  69. includes/mycred-blocks/blocks/mycred-my-rank/index.js +1 -1
  70. includes/mycred-blocks/blocks/mycred-my-rank/mycred-my-rank.php +1 -1
  71. includes/mycred-blocks/blocks/mycred-my-ranks/index.js +1 -1
  72. includes/mycred-blocks/blocks/mycred-my-ranks/mycred-my-ranks.php +1 -1
  73. includes/mycred-blocks/blocks/mycred-total-balance/index.js +1 -1
  74. includes/mycred-blocks/blocks/mycred-total-balance/mycred-total-balance.php +1 -1
  75. includes/mycred-blocks/blocks/mycred-total-pts/index.js +1 -1
  76. includes/mycred-blocks/blocks/mycred-total-pts/mycred-total-pts.php +1 -1
  77. includes/mycred-blocks/blocks/mycred-total-since/index.js +1 -1
  78. includes/mycred-blocks/blocks/mycred-total-since/mycred-total-since.php +1 -1
  79. includes/mycred-blocks/blocks/mycred-transfer/index.js +1 -1
  80. includes/mycred-blocks/blocks/mycred-transfer/mycred-transfer.php +1 -1
  81. includes/mycred-blocks/blocks/mycred-users-of-all-ranks/index.js +1 -1
  82. includes/mycred-blocks/blocks/mycred-users-of-all-ranks/mycred-users-of-all-ranks.php +1 -1
  83. includes/mycred-blocks/blocks/mycred-users-of-rank/index.js +1 -1
  84. includes/mycred-blocks/blocks/mycred-users-of-rank/mycred-users-of-rank.php +1 -1
  85. includes/mycred-blocks/blocks/mycred-video/index.js +1 -1
  86. includes/mycred-blocks/blocks/mycred-video/mycred-video.php +1 -1
  87. includes/mycred-functions.php +1 -0
  88. includes/mycred-tools.php +1 -1
  89. modules/mycred-module-buddypress.php +18 -80
  90. modules/mycred-module-log.php +2 -1
  91. modules/mycred-module-management.php +7 -65
  92. mycred.php +7 -7
  93. readme.txt +116 -75
addons/badges/assets/css/front.css CHANGED
@@ -1,28 +1,23 @@
1
- .the-badge {
2
  display: flex;
3
- align-items: center;
4
- justify-content: space-between;
5
  }
6
 
7
- hr.badge-line {
8
-
9
- margin-top: 10px !important;
 
10
  }
11
 
12
- .page-excerpt {
13
-
14
- width: 100%;
15
- margin-left:10px;
16
  }
17
 
18
-
19
- .page-excerpt {
20
-
21
- width: 100%;
22
- margin-left:10px;
23
  }
24
 
25
- .demo-badge-title {
26
- margin-left: 20px;
27
- width: 100%;
28
  }
1
+ .mycred-users-badges .the-badge.vertical {
2
  display: flex;
3
+ margin-bottom: 10px;
 
4
  }
5
 
6
+ .mycred-users-badges .the-badge.horizontal {
7
+ display: inline-flex;
8
+ margin-right: 10px;
9
+ margin-bottom: 10px;
10
  }
11
 
12
+ .mycred-users-badges .the-badge .mycred-badge-content {
13
+ display: table;
14
+ margin-left: 15px;
 
15
  }
16
 
17
+ .mycred-users-badges .the-badge .mycred-badge-content h4.title {
18
+ margin: 0;
 
 
 
19
  }
20
 
21
+ .mycred-users-badges .the-badge .mycred-badge-content p.excerpt {
22
+ margin: 10px 0 0 0;
 
23
  }
addons/badges/includes/mycred-badge-functions.php CHANGED
@@ -1306,6 +1306,8 @@ if ( ! function_exists( 'mycred_badge_show_levels' ) ) :
1306
 
1307
  if( ! empty( $settings->core["badges"]["show_levels"] ) || $badge->open_badge && ! empty( $settings->core["badges"]["show_steps_to_achieve"] ) ) {
1308
 
 
 
1309
  if ( ! $badge->open_badge )
1310
  $content .= "<h3>" . __("Levels", "mycred") . "</h3>";
1311
  else
@@ -1313,6 +1315,8 @@ if ( ! function_exists( 'mycred_badge_show_levels' ) ) :
1313
 
1314
  $levels = mycred_show_badge_requirements( $badge->post_id );
1315
 
 
 
1316
  foreach ( $levels as $id => $level ) {
1317
 
1318
  $level_image_url = $level["image"];
@@ -1328,13 +1332,11 @@ if ( ! function_exists( 'mycred_badge_show_levels' ) ) :
1328
  if ( ! $badge->open_badge ) {
1329
 
1330
  if ( ! empty( $level_image_url ) )
1331
- $content .= '<img src="'.$level_image_url.'" class="mycred-level-image mycred-float-left" />';
1332
 
1333
  $content .= "<h4>$heading</h4>";
1334
  }
1335
 
1336
- $content .= "<div class='clear'></div>";
1337
-
1338
  if ( ! empty( $settings->core["badges"]["show_steps_to_achieve"] ) )
1339
  $content .= mycred_badge_level_req_check( $badge->post_id, $id );
1340
 
@@ -1348,7 +1350,11 @@ if ( ! function_exists( 'mycred_badge_show_levels' ) ) :
1348
  $content .= '</div>';
1349
  }
1350
 
1351
- $content .= '<div class="clear"></div>';
 
 
 
 
1352
 
1353
  }
1354
 
1306
 
1307
  if( ! empty( $settings->core["badges"]["show_levels"] ) || $badge->open_badge && ! empty( $settings->core["badges"]["show_steps_to_achieve"] ) ) {
1308
 
1309
+ $content .= '<div class="mycred-badge-page-levels-container">';
1310
+
1311
  if ( ! $badge->open_badge )
1312
  $content .= "<h3>" . __("Levels", "mycred") . "</h3>";
1313
  else
1315
 
1316
  $levels = mycred_show_badge_requirements( $badge->post_id );
1317
 
1318
+ $content .= '<div class="mycred-badge-page-levels">';
1319
+
1320
  foreach ( $levels as $id => $level ) {
1321
 
1322
  $level_image_url = $level["image"];
1332
  if ( ! $badge->open_badge ) {
1333
 
1334
  if ( ! empty( $level_image_url ) )
1335
+ $content .= '<img src="'.$level_image_url.'" class="mycred-level-image" />';
1336
 
1337
  $content .= "<h4>$heading</h4>";
1338
  }
1339
 
 
 
1340
  if ( ! empty( $settings->core["badges"]["show_steps_to_achieve"] ) )
1341
  $content .= mycred_badge_level_req_check( $badge->post_id, $id );
1342
 
1350
  $content .= '</div>';
1351
  }
1352
 
1353
+ $content .= '<div class="mycred-clearfix"></div>';
1354
+
1355
+ $content .= '</div>';
1356
+
1357
+ $content .= '</div>';
1358
 
1359
  }
1360
 
addons/badges/includes/mycred-badge-shortcodes.php CHANGED
@@ -1,211 +1,99 @@
1
  <?php
2
  if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
 
4
- if (! function_exists('mycred_render_my_badges') ) :
 
 
 
 
 
 
5
  function mycred_render_my_badges( $atts, $content = '' ) {
6
 
7
- extract(
8
- shortcode_atts(
9
- array(
10
- 'show' => 'earned',
11
- 'width' => MYCRED_BADGE_WIDTH,
12
- 'height' => MYCRED_BADGE_HEIGHT,
13
- 'user_id' => 'current',
14
- 'title' => '',
15
- 'post_excerpt' => ''
16
- ), $atts, MYCRED_SLUG . '_my_badges'
17
- )
18
- );
19
-
20
- if ( ! is_user_logged_in() && $user_id == 'current' ) {
21
  return $content;
22
- }
23
-
24
- $all_badges = mycred_get_badge_ids();
25
- $profile_user_id = mycred_get_user_id( $user_id );
26
- $users_badges = mycred_get_users_badges( $profile_user_id, true );
27
- $user_id = mycred_get_user_id( $user_id );
28
-
29
- ob_start();
30
-
31
- echo '<div class="row" id="mycred-users-badges"><div class="col-xs-12">';
32
-
33
- // Show only badges that we have earned
34
- if ( $show == 'earned' ) {
35
-
36
- foreach ( $all_badges as $badge_id ) {
37
-
38
- echo '<div class="the-badge">';
39
-
40
- $page_id = get_page($badge_id);
41
- $badge_id = absint( $badge_id );
42
- $has_earned = mycred_get_badge( $badge_id );
43
- $badge = mycred_get_badge( $badge_id );
44
- $users_badges = mycred_get_users_badges($profile_user_id );
45
- $mycred = mycred();
46
-
47
- if ( array_key_exists( $badge_id, $users_badges ) ) {
48
-
49
- $earned = 1;
50
- $earned_level = $users_badges[ $badge_id ];
51
- $badge_image = $badge->get_image( $earned_level );
52
-
53
- }
54
 
55
- if( $has_earned ) {
 
 
 
56
 
57
- $badge_title = $has_earned->title;
58
- $badge_img = $has_earned->main_image;
59
- $level_image = $has_earned->level_image;
60
- $show_img = $has_earned->user_has_badge( $profile_user_id );
61
 
62
- if( $show_img ) {
63
-
64
- $earned_badge_image = ! empty( $has_earned->level_image ) ? $has_earned->level_image : $has_earned->main_image;
65
-
66
- echo '<div class="demo-badge-image">' . wp_kses_post( $earned_badge_image ) . '</div>';
67
-
68
- if( $title == 'show' ) {
69
-
70
- echo '<div class="demo-badge-title">' . esc_html( $badge_title ) . ' '.'</div>';
71
 
72
- }
73
- else {
74
 
75
- echo '<div class="demo-badge-title" style="display:none;">' . esc_html( $badge_title ) . ' '.'</div>';
76
 
77
- }
78
 
79
- if( $post_excerpt == 'show' ) {
80
 
81
- echo '<div class="page-excerpt">' . wp_kses_post( $page_id->post_excerpt ) . ' '.'</div>';
82
 
83
- }
84
- else {
85
-
86
- echo '<div class="page-excerpt" style="display:none;">' . wp_kses_post( $page_id->post_excerpt ) . ' '.'</div>';
87
-
88
- }
89
 
90
- }
 
 
 
91
 
92
- }
93
 
94
- }
95
-
96
- }
97
- // Show all badges highlighting the ones we earned
98
- elseif ( $show == 'all' ) {
99
-
100
- $users_badges = mycred_get_users_badges( $user_id );
101
- $all_badges = mycred_get_badge_ids();
102
-
103
- foreach ( $all_badges as $badge_id ) {
104
-
105
- echo '<div class="the-badge">';
106
-
107
- // User has not earned badge
108
- if ( ! array_key_exists( $badge_id, $users_badges ) ) {
109
-
110
- $badge = mycred_get_badge( $badge_id );
111
- $page_id = get_page( $badge_id );
112
- $badge->image_width = $width;
113
- $badge->image_height = $height;
114
- $badge_title = $badge->title;
115
- $badge_img = $badge->main_image;
116
 
117
- if ( $badge->main_image !== false ) {
118
-
119
- echo '<div class="demo-badge-image">' . wp_kses_post( $badge_img ) . '</div>';
120
-
121
- if( $title == 'show' ) {
122
-
123
- echo '<div class="demo-badge-title">' . esc_html( $badge_title ) . ' '.'</div>';
124
-
125
- } else {
126
-
127
- echo '<div class="demo-badge-title" style="display:none;">' . esc_html( $badge_title ) . ' '.'</div>';
128
-
129
- }
130
-
131
- if( $post_excerpt == 'show' ) {
132
-
133
- echo '<div class="page-excerpt">' . wp_kses_post( $page_id->post_excerpt ) . ' '.'</div>';
134
-
135
- }
136
- else {
137
-
138
- echo '<div class="page-excerpt" style="display:none;">' . wp_kses_post( $page_id->post_excerpt ) . ' '.'</div>';
139
-
140
- }
141
-
142
- }
143
-
144
- }
145
- // User has earned badge
146
- else {
147
 
148
- $level = $users_badges[ $badge_id ];
149
- $badge = mycred_get_badge( $badge_id, $level );
150
- $badge->image_width = $width;
151
- $badge->image_height = $height;
152
- $badge_page_id = get_page( $badge_id );
153
 
154
- if ( $badge->level_image !== false ) {
155
 
156
-
157
- echo '<div class="demo-badge-image">' . wp_kses_post( $badge->get_image( $level ) ) . '</div>';
158
 
159
- if( $title == 'show' ) {
160
-
161
- echo '<div class="demo-badge-title">' . esc_html( $badge->title ) . ' '.'</div>';
162
 
163
- }
164
- else {
165
-
166
- echo '<div class="demo-badge-title" style="display:none;">' . esc_html( $badge->title ) . ' '.'</div>';
167
 
168
- }
169
 
170
- if( $post_excerpt == 'show' ) {
171
-
172
- echo '<div class="page-excerpt">' . wp_kses_post( $badge_page_id->post_excerpt ) . ' '.'</div>';
173
 
174
- }
175
- else {
176
-
177
- echo '<div class="page-excerpt" style="display:none;">' . wp_kses_post( $badge_page_id->post_excerpt ) . ' '.'</div>';;
178
-
179
- }
180
-
181
- }
182
 
183
- }
184
 
185
  echo '</div>';
186
 
187
- if( $title == 'show' || $post_excerpt == 'show' ) {
188
-
189
- echo '<hr class="badge-line">';
190
-
191
- }
192
- else {
193
-
194
- echo '';
195
-
196
- }
197
-
198
  }
199
 
 
 
200
  }
201
- echo '</div></div>';
 
202
 
203
  $output = ob_get_contents();
204
  ob_end_clean();
205
 
206
- return apply_filters('mycred_my_badges', $output, $user_id);
207
 
208
- }
209
  endif;
210
 
211
  /**
@@ -409,10 +297,4 @@ if ( !function_exists( 'mycred_render_badge_evidence' ) ) :
409
 
410
  return $content;
411
  }
412
- endif;
413
-
414
- add_action( 'wp_enqueue_scripts', 'enqueue_badge_front_shortcode_scripts' );
415
-
416
- function enqueue_badge_front_shortcode_scripts() {
417
- wp_enqueue_style( 'mycred-badge-front-style', plugins_url( 'assets/css/front.css', myCRED_BADGE ), array(), myCRED_BADGE_VERSION , 'all');
418
- }
1
  <?php
2
  if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
 
4
+ /**
5
+ * Shortcode: mycred_my_badges
6
+ * Allows you to show the current users earned badges.
7
+ * @since 1.5
8
+ * @version 1.2.1
9
+ */
10
+ if ( ! function_exists( 'mycred_render_my_badges' ) ) :
11
  function mycred_render_my_badges( $atts, $content = '' ) {
12
 
13
+ extract( shortcode_atts( array(
14
+ 'show' => 'earned',
15
+ 'width' => MYCRED_BADGE_WIDTH,
16
+ 'height' => MYCRED_BADGE_HEIGHT,
17
+ 'user_id' => 'current',
18
+ 'title' => 0,
19
+ 'excerpt' => 0,
20
+ 'display' => 'vertical'
21
+ ), $atts, MYCRED_SLUG . '_my_badges' ) );
22
+
23
+ if ( ! is_user_logged_in() && $user_id == 'current' )
 
 
 
24
  return $content;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
+ $user_id = mycred_get_user_id( $user_id );
27
+ $all_badges = mycred_get_badge_ids();
28
+ $users_badges = mycred_get_users_badges( $user_id );
29
+ $css_classes = in_array( $display, array( 'vertical', 'horizontal' ) ) ? $display : 'vertical';
30
 
31
+ wp_enqueue_style( 'mycred-badge-front-style' );
 
 
 
32
 
33
+ ob_start();
 
 
 
 
 
 
 
 
34
 
35
+ echo '<div class="mycred-users-badges">';
 
36
 
37
+ foreach ( $all_badges as $badge_id ) {
38
 
39
+ $user_has_earned = array_key_exists( $badge_id, $users_badges );
40
 
41
+ if ( $show == 'earned' && ! $user_has_earned ) continue;
42
 
43
+ $css_classes = $user_has_earned ? $display . ' earned' : $display;
44
 
45
+ echo '<div class="the-badge '. esc_attr( $css_classes ) .'">';
 
 
 
 
 
46
 
47
+ $level = $user_has_earned ? $users_badges[ $badge_id ] : NULL;
48
+ $badge = mycred_get_badge( $badge_id, $level );
49
+ $badge->image_width = $width;
50
+ $badge->image_height = $height;
51
 
52
+ if ( $user_has_earned ) {
53
 
54
+ if ( $badge->level_image !== false )
55
+ echo wp_kses_post( $badge->get_image( $level ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
 
57
+ }
58
+ else {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
+ if ( $badge->main_image !== false )
61
+ echo wp_kses_post( $badge->get_image( 'main' ) );
 
 
 
62
 
63
+ }
64
 
65
+ if ( $title == 1 || $excerpt == 1 ) {
 
66
 
67
+ echo '<div class="mycred-badge-content">';
 
 
68
 
69
+ if ( $title == 1 && ! empty( $badge->title ) )
70
+ echo '<h4 class="title">' . esc_html( $badge->title ) . '</h4>';
 
 
71
 
72
+ if ( $excerpt == 1 ) {
73
 
74
+ $badge_excerpt = get_the_excerpt( $badge_id );
 
 
75
 
76
+ if ( ! empty( $badge_excerpt ) )
77
+ echo '<p class="excerpt">' . esc_html( $badge_excerpt ) . '</p>';
 
 
 
 
 
 
78
 
79
+ }
80
 
81
  echo '</div>';
82
 
 
 
 
 
 
 
 
 
 
 
 
83
  }
84
 
85
+ echo '</div>';
86
+
87
  }
88
+
89
+ echo '</div>';
90
 
91
  $output = ob_get_contents();
92
  ob_end_clean();
93
 
94
+ return apply_filters( 'mycred_my_badges', $output, $user_id );
95
 
96
+ }
97
  endif;
98
 
99
  /**
297
 
298
  return $content;
299
  }
300
+ endif;
 
 
 
 
 
 
addons/badges/myCRED-addon-badges.php CHANGED
@@ -167,6 +167,8 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) :
167
  public function enqueue_front_scripts() {
168
 
169
  wp_enqueue_script( 'mycred-badge-front', plugins_url( 'assets/js/front.js', myCRED_BADGE ), array('jquery'), myCRED_BADGE_VERSION );
 
 
170
  }
171
 
172
  /**
@@ -1764,6 +1766,9 @@ th#badge-users { width: 10%; }
1764
 
1765
  $badge_id = absint( $badge_id );
1766
  $badge = mycred_get_badge( $badge_id );
 
 
 
1767
  $earned = 0;
1768
  $earned_level = 0;
1769
  $badge_image = $badge->main_image;
@@ -2108,7 +2113,7 @@ th#badge-users { width: 10%; }
2108
 
2109
  global $post;
2110
 
2111
- if ( is_single() && $post->post_type == MYCRED_BADGE_KEY ) {
2112
 
2113
  $mycred = mycred();
2114
 
167
  public function enqueue_front_scripts() {
168
 
169
  wp_enqueue_script( 'mycred-badge-front', plugins_url( 'assets/js/front.js', myCRED_BADGE ), array('jquery'), myCRED_BADGE_VERSION );
170
+ wp_register_style( 'mycred-badge-front-style', plugins_url( 'assets/css/front.css', myCRED_BADGE ), array(), myCRED_BADGE_VERSION , 'all' );
171
+
172
  }
173
 
174
  /**
1766
 
1767
  $badge_id = absint( $badge_id );
1768
  $badge = mycred_get_badge( $badge_id );
1769
+
1770
+ if ( empty( $badge ) ) continue;
1771
+
1772
  $earned = 0;
1773
  $earned_level = 0;
1774
  $badge_image = $badge->main_image;
2113
 
2114
  global $post;
2115
 
2116
+ if ( is_single() && ! empty( $post->post_type ) && $post->post_type == MYCRED_BADGE_KEY ) {
2117
 
2118
  $mycred = mycred();
2119
 
addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php CHANGED
@@ -609,22 +609,8 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) :
609
 
610
  }
611
 
612
- $allowed_tags = array(
613
- 'table' => array(),
614
- 'tr' => array(),
615
- 'td' => array( 'style' => array() ),
616
- 'div' => array( 'class' => array() ),
617
- 'input' => array(
618
- 'type' => array(),
619
- 'name' => array(),
620
- 'id' => array(),
621
- 'value' => array(),
622
- 'size' => array()
623
- ),
624
- 'span' => array( 'class' => array() )
625
- );
626
-
627
- echo wp_kses( apply_filters( 'mycred_buycred_exchange_rate_field', $content, $default, $this ), $allowed_tags );
628
 
629
  }
630
 
609
 
610
  }
611
 
612
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
613
+ echo apply_filters( 'mycred_buycred_exchange_rate_field', $content, $default, $this );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
614
 
615
  }
616
 
addons/cash-creds/abstracts/cashcred-abstract-payment-gateway.php CHANGED
@@ -156,30 +156,9 @@ if ( ! class_exists( 'myCRED_Cash_Payment_Gateway' ) ) :
156
  </table>';
157
 
158
  }
159
- $allowed_html =
160
- array(
161
- 'input' => array(
162
- 'type' => array(),
163
- 'value' => array(),
164
- 'name' => array(),
165
- 'id' => array(),
166
- 'size' => array()
167
- ),
168
- 'table' => array(),
169
- 'tr' => array(),
170
- 'td' => array(
171
- 'style' => array()
172
- ),
173
- 'div' => array(
174
- 'class' => array()
175
- ),
176
- 'span' => array(
177
- 'class' => array()
178
- ),
179
-
180
- );
181
-
182
- echo wp_kses( apply_filters( 'mycred_cashcred_exchange_rate_field', $content, $default, $this ), $allowed_html );
183
 
184
  }
185
 
156
  </table>';
157
 
158
  }
159
+
160
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
161
+ echo apply_filters( 'mycred_cashcred_exchange_rate_field', $content, $default, $this );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
 
163
  }
164
 
addons/cash-creds/includes/cashcred-shortcodes.php CHANGED
@@ -89,7 +89,12 @@ if ( ! function_exists( 'mycred_render_cashcred' ) ) :
89
 
90
  <th><?php esc_html_e( 'Amount', 'mycred' ) ?></th>
91
  <th><?php esc_html_e( 'Point Type', 'mycred' ) ?></th>
92
- <th><?php esc_html_e( apply_filters( 'mycred_change_gateway_text', 'Gateway' ), 'mycred' ); ?></th>
 
 
 
 
 
93
 
94
 
95
  <th class="date-heading">Date</th>
@@ -113,7 +118,7 @@ if ( ! function_exists( 'mycred_render_cashcred' ) ) :
113
  $type_data = $cashcred_setting['fees']['types'][get_post_meta($post->ID,'point_type',true)];
114
 
115
  if ( $type_data['by'] == 'percent' ) {
116
- $fee = ( ( $type_data['amount'] / 100 ) * (int)get_post_meta($post->ID,'points',true) );
117
  }
118
  else{
119
  $fee = $type_data['amount'];
@@ -266,7 +271,12 @@ if ( ! function_exists( 'mycred_render_cashcred' ) ) :
266
  }?>
267
  <th><?php esc_html_e( 'Amount', 'mycred' ) ?></th>
268
  <th><?php esc_html_e( 'Point Type', 'mycred' ) ?></th>
269
- <th><?php esc_html_e(apply_filters( 'mycred_change_gateway_text', 'Gateway' ),'mycred'); ?></th>
 
 
 
 
 
270
  <th>Date</th>
271
 
272
 
@@ -290,7 +300,7 @@ if ( ! function_exists( 'mycred_render_cashcred' ) ) :
290
  $type_data = $cashcred_setting['fees']['types'][get_post_meta($post->ID,'point_type',true)];
291
 
292
  if ( $type_data['by'] == 'percent' ) {
293
- $fee = ( ( $type_data['amount'] / 100 ) * (int)get_post_meta($post->ID,'points',true) );
294
  }
295
  else{
296
  $fee = $type_data['amount'];
@@ -348,7 +358,12 @@ if ( ! function_exists( 'mycred_render_cashcred' ) ) :
348
  }?>
349
  <th><?php esc_html_e( 'Amount', 'mycred' ) ?></th>
350
  <th><?php esc_html_e( 'Point Type', 'mycred' ) ?></th>
351
- <th><?php esc_html_e( apply_filters( 'mycred_change_gateway_text', 'Gateway' ), 'mycred' ); ?></th>
 
 
 
 
 
352
  <th><?php esc_html_e( 'Date', 'mycred' ) ?></th>
353
 
354
  </tr>
89
 
90
  <th><?php esc_html_e( 'Amount', 'mycred' ) ?></th>
91
  <th><?php esc_html_e( 'Point Type', 'mycred' ) ?></th>
92
+ <th>
93
+ <?php
94
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
95
+ apply_filters( 'mycred_change_gateway_text', 'Gateway' );
96
+ ?>
97
+ </th>
98
 
99
 
100
  <th class="date-heading">Date</th>
118
  $type_data = $cashcred_setting['fees']['types'][get_post_meta($post->ID,'point_type',true)];
119
 
120
  if ( $type_data['by'] == 'percent' ) {
121
+ $fee = !empty($type_data['amount']) ? ( ( $type_data['amount'] / 100 ) * (int)get_post_meta($post->ID,'points',true) ) : '';
122
  }
123
  else{
124
  $fee = $type_data['amount'];
271
  }?>
272
  <th><?php esc_html_e( 'Amount', 'mycred' ) ?></th>
273
  <th><?php esc_html_e( 'Point Type', 'mycred' ) ?></th>
274
+ <th>
275
+ <?php
276
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
277
+ apply_filters( 'mycred_change_gateway_text', 'Gateway' );
278
+ ?>
279
+ </th>
280
  <th>Date</th>
281
 
282
 
300
  $type_data = $cashcred_setting['fees']['types'][get_post_meta($post->ID,'point_type',true)];
301
 
302
  if ( $type_data['by'] == 'percent' ) {
303
+ $fee = !empty($type_data['amount']) ? ( ( $type_data['amount'] / 100 ) * (int)get_post_meta($post->ID,'points',true) ) : '';
304
  }
305
  else{
306
  $fee = $type_data['amount'];
358
  }?>
359
  <th><?php esc_html_e( 'Amount', 'mycred' ) ?></th>
360
  <th><?php esc_html_e( 'Point Type', 'mycred' ) ?></th>
361
+ <th>
362
+ <?php
363
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
364
+ apply_filters( 'mycred_change_gateway_text', 'Gateway' );
365
+ ?>
366
+ </th>
367
  <th><?php esc_html_e( 'Date', 'mycred' ) ?></th>
368
 
369
  </tr>
addons/cash-creds/modules/cashcred-module-core.php CHANGED
@@ -139,6 +139,7 @@ if ( ! class_exists( 'myCRED_cashCRED_Module' ) ) :
139
  }
140
 
141
  public function cashcred_pay_now( $post_id = false, $auto = false ) {
 
142
  global $cashcred_instance;
143
 
144
  $payment_response = array();
@@ -159,6 +160,18 @@ if ( ! class_exists( 'myCRED_cashCRED_Module' ) ) :
159
  else {
160
  return $this->response( false, array( 'message' => 'Invalid Payment Gateway' ), $auto );
161
  }
 
 
 
 
 
 
 
 
 
 
 
 
162
 
163
  if ( $cashcred_pay_method !== false && array_key_exists( $cashcred_pay_method, $cashcred_instance->active ) ) {
164
 
@@ -194,6 +207,7 @@ if ( ! class_exists( 'myCRED_cashCRED_Module' ) ) :
194
  return $this->response( false, array( 'message' => 'Invalid Payment Gateway' ), $auto );
195
 
196
  }
 
197
  }
198
 
199
  public function cashcred_developer_log() {
@@ -465,7 +479,6 @@ if ( ! class_exists( 'myCRED_cashCRED_Module' ) ) :
465
  }
466
 
467
  $user_balance = mycred_get_users_balance( get_current_user_id() , $point_type );
468
-
469
 
470
  //adding fees attribute in cashcred 2.4
471
  $cashcred_setting = mycred_get_cashcred_settings();
@@ -476,16 +489,18 @@ if ( ! class_exists( 'myCRED_cashCRED_Module' ) ) :
476
 
477
  $fee_amount = $cashcred_setting['fees']['types'][$point_type]['amount'];
478
  $fee = $fee_amount;
479
- if( $cashcred_setting['fees']['types'][$point_type]['by'] == 'percent' )
480
  $fee = ( ( $fee_amount / 100 ) * $points );
481
 
482
  if( $cashcred_setting['fees']['types'][$point_type]['min_cap'] != 0 )
483
  $fee = $fee + $cashcred_setting['fees']['types'][$point_type]['min_cap'];
484
 
485
  if( $cashcred_setting['fees']['types'][$point_type]['max_cap'] != 0 && $fee > $cashcred_setting['fees']['types'][$point_type]['max_cap'] )
486
- $fee = $cashcred_setting['fees']['types'][$point_type]['max_cap'];
487
 
488
- $fee_points = $points + $fee;
 
 
489
 
490
  if( $user_balance < $fee_points ){
491
 
@@ -557,12 +572,14 @@ if ( ! class_exists( 'myCRED_cashCRED_Module' ) ) :
557
  public function can_withdraw_request() {
558
 
559
  $response = false;
560
-
 
561
  if( ! empty( $_POST['points'] ) &&
562
  ! empty( $_POST['cashcred_point_type'] ) &&
563
  ! empty( $_POST['cashcred_pay_method'] ) &&
564
  ! empty( $_POST['cashcred_withdraw_wpnonce'] ) &&
565
- wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cashcred_withdraw_wpnonce'] ) ), 'cashCred-withdraw-request' )
 
566
  ) {
567
  $response = true;
568
  }
139
  }
140
 
141
  public function cashcred_pay_now( $post_id = false, $auto = false ) {
142
+
143
  global $cashcred_instance;
144
 
145
  $payment_response = array();
160
  else {
161
  return $this->response( false, array( 'message' => 'Invalid Payment Gateway' ), $auto );
162
  }
163
+
164
+ $withdraw_user_id = (int) mycred_get_post_meta( $post_id, 'from', true );
165
+ $payment_settings = cashcred_get_payment_settings( $post_id );
166
+ $withdraw_point_type = $payment_settings->point_type;
167
+ $withdraw_amount = $payment_settings->points;
168
+ $users_balance = mycred_get_users_balance( $withdraw_user_id, $withdraw_point_type );
169
+
170
+ if( $withdraw_amount > $users_balance ) {
171
+
172
+ return $this->response( false, array( 'message' => 'Insufficient Balance' ), $auto );
173
+
174
+ }
175
 
176
  if ( $cashcred_pay_method !== false && array_key_exists( $cashcred_pay_method, $cashcred_instance->active ) ) {
177
 
207
  return $this->response( false, array( 'message' => 'Invalid Payment Gateway' ), $auto );
208
 
209
  }
210
+
211
  }
212
 
213
  public function cashcred_developer_log() {
479
  }
480
 
481
  $user_balance = mycred_get_users_balance( get_current_user_id() , $point_type );
 
482
 
483
  //adding fees attribute in cashcred 2.4
484
  $cashcred_setting = mycred_get_cashcred_settings();
489
 
490
  $fee_amount = $cashcred_setting['fees']['types'][$point_type]['amount'];
491
  $fee = $fee_amount;
492
+ if( $cashcred_setting['fees']['types'][$point_type]['by'] == 'percent' && is_numeric($fee_amount) )
493
  $fee = ( ( $fee_amount / 100 ) * $points );
494
 
495
  if( $cashcred_setting['fees']['types'][$point_type]['min_cap'] != 0 )
496
  $fee = $fee + $cashcred_setting['fees']['types'][$point_type]['min_cap'];
497
 
498
  if( $cashcred_setting['fees']['types'][$point_type]['max_cap'] != 0 && $fee > $cashcred_setting['fees']['types'][$point_type]['max_cap'] )
499
+ $fee = intval($cashcred_setting['fees']['types'][$point_type]['max_cap']);
500
 
501
+ $cashcred_fees = !empty($fee) ? $fee : 0 ;
502
+
503
+ $fee_points = $points + $cashcred_fees;
504
 
505
  if( $user_balance < $fee_points ){
506
 
572
  public function can_withdraw_request() {
573
 
574
  $response = false;
575
+ $pending_withdrawal = cashcred_get_withdraw_requests('Pending');
576
+
577
  if( ! empty( $_POST['points'] ) &&
578
  ! empty( $_POST['cashcred_point_type'] ) &&
579
  ! empty( $_POST['cashcred_pay_method'] ) &&
580
  ! empty( $_POST['cashcred_withdraw_wpnonce'] ) &&
581
+ wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['cashcred_withdraw_wpnonce'] ) ), 'cashCred-withdraw-request' ) &&
582
+ empty( $pending_withdrawal )
583
  ) {
584
  $response = true;
585
  }
addons/cash-creds/modules/cashcred-module-withdrawal.php CHANGED
@@ -74,6 +74,16 @@ if ( ! class_exists( 'cashCRED_Pending_Payments' ) ) :
74
  add_action( 'parse_query', array( $this, 'cashcred_filter_query' ) );
75
 
76
  add_action( 'admin_enqueue_scripts', array( $this, 'cashcred_admin_assets' ) );
 
 
 
 
 
 
 
 
 
 
77
 
78
  }
79
 
@@ -419,7 +429,9 @@ if ( ! class_exists( 'cashCRED_Pending_Payments' ) ) :
419
  $points = check_site_get_post_meta( $post_id, 'points', true );
420
  $cost = check_site_get_post_meta( $post_id, 'cost', true );
421
  $currency = check_site_get_post_meta( $post_id, 'currency', true );
422
- echo esc_html( $currency ) .' ' . esc_html( $points * $cost );
 
 
423
 
424
  break;
425
  case 'gateway';
@@ -982,7 +994,7 @@ if ( ! class_exists( 'cashCRED_Pending_Payments' ) ) :
982
  $type_data = $cashcred_setting['fees']['types'][get_post_meta($post->ID,'point_type',true)];
983
 
984
  if ( $type_data['by'] == 'percent' ) {
985
- $fee = ( ( $type_data['amount'] / 100 ) * (int)get_post_meta($post->ID,'points',true) );
986
  }
987
  else{
988
  $fee = $type_data['amount'];
74
  add_action( 'parse_query', array( $this, 'cashcred_filter_query' ) );
75
 
76
  add_action( 'admin_enqueue_scripts', array( $this, 'cashcred_admin_assets' ) );
77
+
78
+ // added action for custom posttype add-new button if click will redirect back to post page.
79
+ add_action("load-post-new.php", array( $this, 'cashcred_redirect_addnew_button') );
80
+
81
+ }
82
+
83
+ public function cashcred_redirect_addnew_button() {
84
+
85
+ if( $_GET["post_type"] == "cashcred_withdrawal" )
86
+ wp_redirect("edit.php?post_type=cashcred_withdrawal");
87
 
88
  }
89
 
429
  $points = check_site_get_post_meta( $post_id, 'points', true );
430
  $cost = check_site_get_post_meta( $post_id, 'cost', true );
431
  $currency = check_site_get_post_meta( $post_id, 'currency', true );
432
+ $cashcred_points = !empty($points) ? $points : 0 ;
433
+ $cashcred_cost = !empty($cost) ? $cost : 0 ;
434
+ echo esc_html( $currency ) .' ' . esc_html( $cashcred_points * $cashcred_cost );
435
 
436
  break;
437
  case 'gateway';
994
  $type_data = $cashcred_setting['fees']['types'][get_post_meta($post->ID,'point_type',true)];
995
 
996
  if ( $type_data['by'] == 'percent' ) {
997
+ $fee = !empty($type_data['amount']) ? ( ( $type_data['amount'] / 100 ) * (int)get_post_meta($post->ID,'points',true) ) : '' ;
998
  }
999
  else{
1000
  $fee = $type_data['amount'];
addons/email-notices/includes/mycred-email-functions.php CHANGED
@@ -70,20 +70,21 @@ if ( ! function_exists( 'mycred_get_email_triggers' ) ) :
70
  function mycred_get_email_triggers( $point_type = MYCRED_DEFAULT_TYPE_KEY, $force = false ) {
71
 
72
  $generic_events = array(
73
- 'any' => array(),
74
- 'positive' => array(),
75
- 'negative' => array(),
76
- 'zero' => array(),
77
- 'minus' => array(),
78
- 'badge_new' => array(),
79
- 'badge_level' => array(),
80
- 'rank_up' => array(),
81
- 'rank_down' => array(),
82
- 'transfer_out' => array(),
83
- 'transfer_in' => array(),
84
- 'cashcred_approved' => array(),
85
- 'cashcred_pending' => array(),
86
- 'cashcred_cancel' =>array()
 
87
  );
88
 
89
  $defaults = array(
70
  function mycred_get_email_triggers( $point_type = MYCRED_DEFAULT_TYPE_KEY, $force = false ) {
71
 
72
  $generic_events = array(
73
+ 'any' => array(),
74
+ 'positive' => array(),
75
+ 'negative' => array(),
76
+ 'zero' => array(),
77
+ 'minus' => array(),
78
+ 'badge_new' => array(),
79
+ 'badge_level' => array(),
80
+ 'manual_rank_assign' => array(),
81
+ 'rank_up' => array(),
82
+ 'rank_down' => array(),
83
+ 'transfer_out' => array(),
84
+ 'transfer_in' => array(),
85
+ 'cashcred_approved' => array(),
86
+ 'cashcred_pending' => array(),
87
+ 'cashcred_cancel' => array()
88
  );
89
 
90
  $defaults = array(
addons/email-notices/myCRED-addon-email-notices.php CHANGED
@@ -60,7 +60,8 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
60
 
61
  add_action( 'mycred_badge_level_reached', array( $this, 'badge_check' ), 10, 3 );
62
  add_action( 'mycred_user_got_promoted', array( $this, 'rank_promotion' ), 10, 4 );
63
- add_action( 'mycred_user_got_demoted', array( $this, 'rank_demotion' ), 10, 4 );
 
64
 
65
  add_action( 'mycred_send_email_notices', 'mycred_email_notice_cron_job' );
66
 
@@ -644,34 +645,11 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
644
  <?php
645
 
646
  if ( count( $this->point_types ) > 1 ) {
647
- $allowed_html = array(
648
- 'div' => array(
649
- 'class' => array()
650
- ),
651
- 'label' => array(
652
- 'for' => array()
653
- ),
654
- 'input' => array(
655
- 'type' => array(),
656
- 'value' => array(),
657
- 'name' => array(),
658
- 'id' => array(),
659
- 'checked' => array()
660
- ),
661
- 'select' => array(
662
- 'name' => array(),
663
- 'id' => array(),
664
- 'style' => array(),
665
- ),
666
- 'option' => array(
667
- 'value' => array(),
668
- 'selected' => array()
669
- )
670
- );
671
  $point_types_html = mycred_types_select_from_checkboxes( 'mycred_email[ctype][]', 'mycred-email-ctype', $email->point_types, true );
672
 
673
- $point_type_html = apply_filters( 'mycred_point_type_checkbox', $point_types_html );
674
- echo wp_kses( $point_type_html, $allowed_html );
675
  }
676
 
677
  else {
@@ -1123,6 +1101,44 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) :
1123
  }
1124
 
1125
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1126
 
1127
  /**
1128
  * Rank Promotions
60
 
61
  add_action( 'mycred_badge_level_reached', array( $this, 'badge_check' ), 10, 3 );
62
  add_action( 'mycred_user_got_promoted', array( $this, 'rank_promotion' ), 10, 4 );
63
+ add_action( 'mycred_user_got_demoted', array( $this, 'rank_demotion' ), 10, 4 );
64
+ add_action( 'mycred_manual_rank_assigned', array( $this, 'manual_rank_assigned' ), 40, 2 );
65
 
66
  add_action( 'mycred_send_email_notices', 'mycred_email_notice_cron_job' );
67
 
645
  <?php
646
 
647
  if ( count( $this->point_types ) > 1 ) {
648
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
649
  $point_types_html = mycred_types_select_from_checkboxes( 'mycred_email[ctype][]', 'mycred-email-ctype', $email->point_types, true );
650
 
651
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
652
+ echo apply_filters( 'mycred_point_type_checkbox', $point_types_html );
653
  }
654
 
655
  else {
1101
  }
1102
 
1103
  }
1104
+
1105
+ public function manual_rank_assigned( $rank_id, $user_id ) {
1106
+
1107
+ global $mycred;
1108
+
1109
+ $point_type = $mycred->get_point_type_key();
1110
+ $emails = mycred_get_event_emails( $point_type, 'generic', 'manual_rank_assign' );
1111
+ $users_rank = mycred_get_users_rank( $user_id, $point_type );
1112
+ $balance = $mycred->get_users_balance( $user_id );
1113
+
1114
+ if ( mycred_manual_ranks() ) {
1115
+
1116
+ $request = array(
1117
+ 'ref' => 'rank_promotion',
1118
+ 'user_id' => $user_id,
1119
+ 'amount' => 0,
1120
+ 'entry' => 'New Rank',
1121
+ 'ref_id' => $rank_id,
1122
+ 'data' => array( 'ref_type' => 'post' ),
1123
+ 'type' => $point_type,
1124
+ 'new' => $balance,
1125
+ 'old' => $balance
1126
+ );
1127
+
1128
+ }
1129
+
1130
+ mycred_assign_ranks( $point_type );
1131
+
1132
+ foreach ( $emails as $notice_id ) {
1133
+
1134
+ // Respect unsubscriptions
1135
+ if ( mycred_user_wants_email( $user_id, $notice_id ) ) {
1136
+ mycred_send_new_email( $notice_id, $request, $point_type );
1137
+ }
1138
+
1139
+ }
1140
+
1141
+ }
1142
 
1143
  /**
1144
  * Rank Promotions
addons/ranks/includes/mycred-rank-functions.php CHANGED
@@ -291,7 +291,7 @@ if ( ! function_exists( 'mycred_save_users_rank' ) ) :
291
 
292
  $current_rank = mycred_get_users_current_rank_id( $user_id, $point_type );
293
 
294
- if ( !$current_rank || $current_rank != $rank_id ) {
295
 
296
  global $mycred_current_account;
297
 
@@ -398,7 +398,7 @@ endif;
398
  */
399
  if ( ! function_exists( 'mycred_find_users_rank' ) ) :
400
  function mycred_find_users_rank( $user_id = NULL, $point_type = MYCRED_DEFAULT_TYPE_KEY, $act = true ) {
401
-
402
  if ( mycred_manual_ranks() ) return false;
403
 
404
  if ( $user_id === NULL ) $user_id = get_current_user_id();
291
 
292
  $current_rank = mycred_get_users_current_rank_id( $user_id, $point_type );
293
 
294
+ if ( ! $current_rank || $current_rank != $rank_id ) {
295
 
296
  global $mycred_current_account;
297
 
398
  */
399
  if ( ! function_exists( 'mycred_find_users_rank' ) ) :
400
  function mycred_find_users_rank( $user_id = NULL, $point_type = MYCRED_DEFAULT_TYPE_KEY, $act = true ) {
401
+
402
  if ( mycred_manual_ranks() ) return false;
403
 
404
  if ( $user_id === NULL ) $user_id = get_current_user_id();
addons/ranks/myCRED-addon-ranks.php CHANGED
@@ -782,7 +782,8 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) :
782
 
783
  if ( $output == '' ) return;
784
 
785
- echo wp_kses_post( '<div id="mycred-my-ranks">' . apply_filters( 'mycred_bp_rank_in_header', $output, $user_id, $this ) . '</div>' );
 
786
 
787
  }
788
 
@@ -838,7 +839,10 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) :
838
  <tr id="mycred-users-rank">
839
  <td class="label"><?php if ( $count == 1 ) esc_html_e( 'Rank', 'mycred' ); else esc_html_e( 'Ranks', 'mycred' ); ?></td>
840
  <td class="data">
841
- <?php echo wp_kses_post( apply_filters( 'mycred_bp_rank_in_profile', $output, $user_id, $this ) ); ?>
 
 
 
842
 
843
  </td>
844
  </tr>
@@ -894,7 +898,8 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) :
894
 
895
  if ( $output == '' ) return;
896
 
897
- echo wp_kses_post( '<div id="mycred-my-ranks">' . apply_filters( 'mycred_bb_rank_in_reply', $output, $user_id, $this ) . '</div>' );
 
898
 
899
  }
900
 
@@ -942,7 +947,8 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) :
942
 
943
  if ( $output == '' ) return;
944
 
945
- echo wp_kses_post( '<div id="mycred-my-ranks">' . apply_filters( 'mycred_bb_rank_in_profile', $output, $user_id, $this ) . '</div>' );
 
946
 
947
  }
948
 
@@ -1087,7 +1093,11 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) :
1087
 
1088
  // Save users rank if a valid rank id is provided and it differs from the users current one
1089
  if ( $rank !== false && $rank > 0 && $users_rank->post_id != $rank ){
 
1090
  mycred_save_users_rank( $user_id, $rank, $type_key );
 
 
 
1091
  }
1092
  // Delete users rank
1093
  elseif ( $rank === false ) {
782
 
783
  if ( $output == '' ) return;
784
 
785
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
786
+ echo '<div id="mycred-my-ranks">' . apply_filters( 'mycred_bp_rank_in_header', $output, $user_id, $this ) . '</div>' ;
787
 
788
  }
789
 
839
  <tr id="mycred-users-rank">
840
  <td class="label"><?php if ( $count == 1 ) esc_html_e( 'Rank', 'mycred' ); else esc_html_e( 'Ranks', 'mycred' ); ?></td>
841
  <td class="data">
842
+ <?php
843
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
844
+ echo apply_filters( 'mycred_bp_rank_in_profile', $output, $user_id, $this );
845
+ ?>
846
 
847
  </td>
848
  </tr>
898
 
899
  if ( $output == '' ) return;
900
 
901
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
902
+ echo '<div id="mycred-my-ranks">' . apply_filters( 'mycred_bb_rank_in_reply', $output, $user_id, $this ) . '</div>';
903
 
904
  }
905
 
947
 
948
  if ( $output == '' ) return;
949
 
950
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
951
+ echo '<div id="mycred-my-ranks">' . apply_filters( 'mycred_bb_rank_in_profile', $output, $user_id, $this ) . '</div>';
952
 
953
  }
954
 
1093
 
1094
  // Save users rank if a valid rank id is provided and it differs from the users current one
1095
  if ( $rank !== false && $rank > 0 && $users_rank->post_id != $rank ){
1096
+
1097
  mycred_save_users_rank( $user_id, $rank, $type_key );
1098
+
1099
+ do_action('mycred_manual_rank_assigned',$rank,$user_id);
1100
+
1101
  }
1102
  // Delete users rank
1103
  elseif ( $rank === false ) {
addons/transfer/includes/mycred-transfer-object.php CHANGED
@@ -971,48 +971,6 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
971
  $placeholder = sprintf( apply_filters( 'mycred_transfer_to_placeholder', __( 'recipients %s', 'mycred' ), $this->settings, $this->args ), $placeholder );
972
 
973
  }
974
- $allowed_html = array(
975
- 'label' => array(
976
- 'class' => array()
977
- ),
978
- 'input' => array(
979
- 'type' => array(),
980
- 'value' => array(),
981
- 'name' => array(),
982
- 'class' => array(),
983
- 'aria-required' => array(),
984
- 'data-form' => array(),
985
- 'placeholder' => array(),
986
- 'autocomplete' => array(),
987
- 'id' => array()
988
- ),
989
- 'ul' => array(
990
- 'id' => array(),
991
- 'tabindex' => array(),
992
- 'class' => array(),
993
- 'unselectable' => array(),
994
- 'style' => array(),
995
- ),
996
- 'li' => array(
997
- 'class' => array()
998
- ),
999
- 'div' => array(
1000
- 'class' => array(),
1001
- 'id' => array(),
1002
- 'tabindex' => array()
1003
- ),
1004
- 'span' => array(
1005
- 'class' => array()
1006
- ),
1007
- 'select' => array(
1008
- 'name' => array(),
1009
- 'class' => array()
1010
- ),
1011
- 'option' => array(
1012
- 'value' => array(),
1013
- 'selected' => array()
1014
- )
1015
- );
1016
 
1017
  $field = '<div class="form-group select-recipient-wrapper">';
1018
  if ( $this->args['recipient_label'] != '' ) $field .= '<label class="recipient-label">' . esc_html( $this->args['recipient_label'] ) . '</label>';
@@ -1064,7 +1022,8 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1064
  if ( $return )
1065
  return $field;
1066
 
1067
- echo wp_kses( $field, $allowed_html );
 
1068
 
1069
  }
1070
 
@@ -1075,49 +1034,6 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1075
  */
1076
  public function get_transfer_points_field( $return = false ) {
1077
 
1078
- $allowed_html = array(
1079
- 'label' => array(
1080
- 'class' => array()
1081
- ),
1082
- 'input' => array(
1083
- 'type' => array(),
1084
- 'value' => array(),
1085
- 'name' => array(),
1086
- 'class' => array(),
1087
- 'aria-required' => array(),
1088
- 'data-form' => array(),
1089
- 'placeholder' => array(),
1090
- 'autocomplete' => array(),
1091
- 'id' => array()
1092
- ),
1093
- 'ul' => array(
1094
- 'id' => array(),
1095
- 'tabindex' => array(),
1096
- 'class' => array(),
1097
- 'unselectable' => array(),
1098
- 'style' => array(),
1099
- ),
1100
- 'li' => array(
1101
- 'class' => array()
1102
- ),
1103
- 'div' => array(
1104
- 'class' => array(),
1105
- 'id' => array(),
1106
- 'tabindex' => array()
1107
- ),
1108
- 'span' => array(
1109
- 'class' => array()
1110
- ),
1111
- 'select' => array(
1112
- 'name' => array(),
1113
- 'class' => array()
1114
- ),
1115
- 'option' => array(
1116
- 'value' => array(),
1117
- 'selected' => array()
1118
- )
1119
- );
1120
-
1121
  // Transfer of one particular point type
1122
  if ( count( $this->transferable_types ) == 1 ) {
1123
 
@@ -1144,7 +1060,8 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1144
  if ( $return )
1145
  return $field;
1146
 
1147
- echo wp_kses( $field , $allowed_html );
 
1148
 
1149
  }
1150
 
@@ -1155,49 +1072,6 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1155
  */
1156
  public function get_transfer_amount_field( $return = false ) {
1157
 
1158
- $allowed_html = array(
1159
- 'label' => array(
1160
- 'class' => array()
1161
- ),
1162
- 'input' => array(
1163
- 'type' => array(),
1164
- 'value' => array(),
1165
- 'name' => array(),
1166
- 'class' => array(),
1167
- 'aria-required' => array(),
1168
- 'data-form' => array(),
1169
- 'placeholder' => array(),
1170
- 'autocomplete' => array(),
1171
- 'id' => array()
1172
- ),
1173
- 'ul' => array(
1174
- 'id' => array(),
1175
- 'tabindex' => array(),
1176
- 'class' => array(),
1177
- 'unselectable' => array(),
1178
- 'style' => array(),
1179
- ),
1180
- 'li' => array(
1181
- 'class' => array()
1182
- ),
1183
- 'div' => array(
1184
- 'class' => array(),
1185
- 'id' => array(),
1186
- 'tabindex' => array()
1187
- ),
1188
- 'span' => array(
1189
- 'class' => array()
1190
- ),
1191
- 'select' => array(
1192
- 'name' => array(),
1193
- 'class' => array()
1194
- ),
1195
- 'option' => array(
1196
- 'value' => array(),
1197
- 'selected' => array()
1198
- )
1199
- );
1200
-
1201
  $type_id = $this->transferable_types[0];
1202
  $balance = $this->balances[ $type_id ];
1203
  $point_type = $balance->point_type;
@@ -1237,7 +1111,8 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1237
  if ( $return )
1238
  return $field;
1239
 
1240
- echo wp_kses( $field , $allowed_html );
 
1241
 
1242
  }
1243
 
@@ -1248,49 +1123,6 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1248
  */
1249
  public function get_transfer_point_type_field( $return = false ) {
1250
 
1251
- $allowed_html = array(
1252
- 'label' => array(
1253
- 'class' => array()
1254
- ),
1255
- 'input' => array(
1256
- 'type' => array(),
1257
- 'value' => array(),
1258
- 'name' => array(),
1259
- 'class' => array(),
1260
- 'aria-required' => array(),
1261
- 'data-form' => array(),
1262
- 'placeholder' => array(),
1263
- 'autocomplete' => array(),
1264
- 'id' => array()
1265
- ),
1266
- 'ul' => array(
1267
- 'id' => array(),
1268
- 'tabindex' => array(),
1269
- 'class' => array(),
1270
- 'unselectable' => array(),
1271
- 'style' => array(),
1272
- ),
1273
- 'li' => array(
1274
- 'class' => array()
1275
- ),
1276
- 'div' => array(
1277
- 'class' => array(),
1278
- 'id' => array(),
1279
- 'tabindex' => array()
1280
- ),
1281
- 'span' => array(
1282
- 'class' => array()
1283
- ),
1284
- 'select' => array(
1285
- 'name' => array(),
1286
- 'class' => array()
1287
- ),
1288
- 'option' => array(
1289
- 'value' => array(),
1290
- 'selected' => array()
1291
- )
1292
- );
1293
-
1294
  $field = '<input type="hidden" name="mycred_new_transfer[ctype]" value="' . esc_attr( $this->transferable_types[0] ) . '" />';
1295
 
1296
  $this->shortcode_attr['types'][] = $this->transferable_types[0];
@@ -1318,7 +1150,8 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1318
  if ( $return )
1319
  return $field;
1320
 
1321
- echo wp_kses( $field, $allowed_html );
 
1322
 
1323
  }
1324
 
@@ -1333,49 +1166,6 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1333
 
1334
  $field = '';
1335
 
1336
- $allowed_html = array(
1337
- 'label' => array(
1338
- 'class' => array()
1339
- ),
1340
- 'input' => array(
1341
- 'type' => array(),
1342
- 'value' => array(),
1343
- 'name' => array(),
1344
- 'class' => array(),
1345
- 'aria-required' => array(),
1346
- 'data-form' => array(),
1347
- 'placeholder' => array(),
1348
- 'autocomplete' => array(),
1349
- 'id' => array()
1350
- ),
1351
- 'ul' => array(
1352
- 'id' => array(),
1353
- 'tabindex' => array(),
1354
- 'class' => array(),
1355
- 'unselectable' => array(),
1356
- 'style' => array(),
1357
- ),
1358
- 'li' => array(
1359
- 'class' => array()
1360
- ),
1361
- 'div' => array(
1362
- 'class' => array(),
1363
- 'id' => array(),
1364
- 'tabindex' => array()
1365
- ),
1366
- 'span' => array(
1367
- 'class' => array()
1368
- ),
1369
- 'select' => array(
1370
- 'name' => array(),
1371
- 'class' => array()
1372
- ),
1373
- 'option' => array(
1374
- 'value' => array(),
1375
- 'selected' => array()
1376
- )
1377
- );
1378
-
1379
  if ( (bool) $this->args['show_message'] && $this->settings['message'] > 0 ) {
1380
 
1381
  $field = '<div class="form-group message-wrapper">';
@@ -1397,7 +1187,8 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1397
  if ( $return )
1398
  return $field;
1399
 
1400
- echo wp_kses( $field, $allowed_html );
 
1401
 
1402
  }
1403
 
@@ -1407,49 +1198,6 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1407
  * @version 1.0
1408
  */
1409
  public function get_transfer_extra_fields( $return = false ) {
1410
-
1411
- $allowed_html = array(
1412
- 'label' => array(
1413
- 'class' => array()
1414
- ),
1415
- 'input' => array(
1416
- 'type' => array(),
1417
- 'value' => array(),
1418
- 'name' => array(),
1419
- 'class' => array(),
1420
- 'aria-required' => array(),
1421
- 'data-form' => array(),
1422
- 'placeholder' => array(),
1423
- 'autocomplete' => array(),
1424
- 'id' => array()
1425
- ),
1426
- 'ul' => array(
1427
- 'id' => array(),
1428
- 'tabindex' => array(),
1429
- 'class' => array(),
1430
- 'unselectable' => array(),
1431
- 'style' => array(),
1432
- ),
1433
- 'li' => array(
1434
- 'class' => array()
1435
- ),
1436
- 'div' => array(
1437
- 'class' => array(),
1438
- 'id' => array(),
1439
- 'tabindex' => array()
1440
- ),
1441
- 'span' => array(
1442
- 'class' => array()
1443
- ),
1444
- 'select' => array(
1445
- 'name' => array(),
1446
- 'class' => array()
1447
- ),
1448
- 'option' => array(
1449
- 'value' => array(),
1450
- 'selected' => array()
1451
- )
1452
- );
1453
 
1454
  // Show Balance
1455
  $extras = array();
@@ -1511,7 +1259,8 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1511
  if ( $return )
1512
  return $field;
1513
 
1514
- echo wp_kses_post( $field, $allowed_html );
 
1515
 
1516
  }
1517
 
@@ -1605,7 +1354,8 @@ if ( ! class_exists( 'myCRED_Transfer' ) ) :
1605
  if ( $return )
1606
  return $content;
1607
 
1608
- echo wp_kses_post( $content );
 
1609
 
1610
  }
1611
 
971
  $placeholder = sprintf( apply_filters( 'mycred_transfer_to_placeholder', __( 'recipients %s', 'mycred' ), $this->settings, $this->args ), $placeholder );
972
 
973
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
974
 
975
  $field = '<div class="form-group select-recipient-wrapper">';
976
  if ( $this->args['recipient_label'] != '' ) $field .= '<label class="recipient-label">' . esc_html( $this->args['recipient_label'] ) . '</label>';
1022
  if ( $return )
1023
  return $field;
1024
 
1025
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1026
+ echo $field;
1027
 
1028
  }
1029
 
1034
  */
1035
  public function get_transfer_points_field( $return = false ) {
1036
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1037
  // Transfer of one particular point type
1038
  if ( count( $this->transferable_types ) == 1 ) {
1039
 
1060
  if ( $return )
1061
  return $field;
1062
 
1063
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1064
+ echo $field;
1065
 
1066
  }
1067
 
1072
  */
1073
  public function get_transfer_amount_field( $return = false ) {
1074
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1075
  $type_id = $this->transferable_types[0];
1076
  $balance = $this->balances[ $type_id ];
1077
  $point_type = $balance->point_type;
1111
  if ( $return )
1112
  return $field;
1113
 
1114
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1115
+ echo $field;
1116
 
1117
  }
1118
 
1123
  */
1124
  public function get_transfer_point_type_field( $return = false ) {
1125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1126
  $field = '<input type="hidden" name="mycred_new_transfer[ctype]" value="' . esc_attr( $this->transferable_types[0] ) . '" />';
1127
 
1128
  $this->shortcode_attr['types'][] = $this->transferable_types[0];
1150
  if ( $return )
1151
  return $field;
1152
 
1153
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1154
+ echo $field;
1155
 
1156
  }
1157
 
1166
 
1167
  $field = '';
1168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1169
  if ( (bool) $this->args['show_message'] && $this->settings['message'] > 0 ) {
1170
 
1171
  $field = '<div class="form-group message-wrapper">';
1187
  if ( $return )
1188
  return $field;
1189
 
1190
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1191
+ echo $field;
1192
 
1193
  }
1194
 
1198
  * @version 1.0
1199
  */
1200
  public function get_transfer_extra_fields( $return = false ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1201
 
1202
  // Show Balance
1203
  $extras = array();
1259
  if ( $return )
1260
  return $field;
1261
 
1262
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1263
+ echo $field;
1264
 
1265
  }
1266
 
1354
  if ( $return )
1355
  return $content;
1356
 
1357
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1358
+ echo $content;
1359
 
1360
  }
1361
 
assets/css/admin-subscription.css CHANGED
@@ -34,35 +34,7 @@ a.thickbox.open-plugin-details-modal {
34
  margin-right: 5px;
35
  }
36
 
37
- h1, h2, h3, h4, h5, h6 {
38
- display: block;
39
- font-weight: 600;
40
- }
41
-
42
- h2, h3 {
43
- color: #1d2327;
44
- font-size: 1.3em;
45
- margin: 1em 0;
46
- }
47
-
48
-
49
-
50
- p {
51
- font-size: 13px;
52
- line-height: 1.5;
53
- margin: 1em 0;
54
- }
55
-
56
- /*.theme.active {
57
- display: flex;
58
- align-items: center;
59
- justify-content: center;
60
- flex-direction: row;
61
- flex-wrap: wrap;
62
- }*/
63
-
64
-
65
- .theme-browser .theme {
66
  min-height: 10em;
67
  }
68
 
@@ -89,7 +61,7 @@ p {
89
 
90
  /** myCred Membership Table **/
91
  .mmc_table{
92
- /* background-color:#FFF; */ padding: 0 20px 0 20px;
93
  }
94
  .mmc-packages {
95
  display: table;
@@ -124,7 +96,6 @@ p {
124
  text-decoration-line: line-through;
125
  text-decoration-color: red;
126
  }
127
-
128
  .mmc_table .mmc_table_pricing_current {
129
  font-size: 48px;
130
  font-weight: bold;
@@ -136,12 +107,10 @@ p {
136
  transform: scale(1);
137
  margin: 3% 0 14% 0;
138
  }
139
-
140
  .mmc_table .mmc_table_pricing .mmc_table_pricing_dollar_sign{
141
  font-size: 26px;
142
  vertical-align: super;
143
  }
144
-
145
  .mmc_table .mmc_table_plan_sites {
146
  font-size: 16px;
147
  color: rgba(136, 0, 255, 1);
@@ -156,7 +125,6 @@ p {
156
  margin-bottom: 0 !important;
157
 
158
  }
159
-
160
  .mmc_table .mmc_table_plan_billed{
161
  color: #999ea9;
162
  font-size: 12px;
@@ -167,7 +135,6 @@ p {
167
  text-align: center;
168
  margin-top: 0px;
169
  }
170
-
171
  .mmc_table .mmc_table_addon_details li{
172
  position: relative;
173
  display: block;
@@ -183,7 +150,6 @@ p {
183
  -ms-transform: scale(1);
184
  transform: scale(1);
185
  }
186
-
187
  .mmc_table .mmc_table_get_started{
188
  text-align:center;
189
  margin-bottom: 30px;
@@ -207,11 +173,9 @@ p {
207
  width: 100px;
208
  margin: 0 auto;
209
  }
210
-
211
  .mmc_table .border-right{
212
  border-right: 1px solid #ccc;
213
  }
214
-
215
  .mmc_table .mmc_table_most_popular{
216
  color: white;
217
  background: #ff6f41;
@@ -227,8 +191,6 @@ p {
227
  font-size: 16px;
228
  line-height: 22px;
229
  }
230
-
231
-
232
  div#tabs_package_1 {
233
  width: auto;
234
  display: block;
@@ -236,7 +198,6 @@ div#tabs_package_1 {
236
  text-align: center;
237
  margin-bottom: 50px;
238
  }
239
-
240
  #tabs_package_1 a {
241
  padding: 8px 10px;
242
  height: 45px;
@@ -246,7 +207,6 @@ div#tabs_package_1 {
246
  text-transform: uppercase;
247
  position: relative;
248
  }
249
-
250
  #tabs_package_1 a sup {
251
  background: #f05d3e;
252
  width: 97px;
@@ -288,7 +248,6 @@ div#tabs_package_1 {
288
  height: 34px;
289
  margin-bottom:0px;
290
  }
291
-
292
  #tabs_package_1 .switch_btn input {
293
  opacity: 0;
294
  width: 0;
@@ -305,7 +264,6 @@ div#tabs_package_1 {
305
  -webkit-transition: .4s;
306
  transition: .4s;
307
  }
308
-
309
  #tabs_package_1 .slider_btn:before {
310
  position: absolute;
311
  content: "";
@@ -324,7 +282,6 @@ div#tabs_package_1 {
324
  #tabs_package_1 input:checked + #tabs_package_1 .slider_btn {
325
  background-color: #894be0!important;
326
  }
327
-
328
  #tabs_package_1 input:checked + .slider_btn:before {
329
  -webkit-transform: translateX(26px);
330
  -ms-transform: translateX(26px);
@@ -337,7 +294,6 @@ line-height:34px;
337
  #tabs_package_1 .slider_btn.round {
338
  border-radius: 34px;
339
  }
340
-
341
  #tabs_package_1 .slider_btn.round:before {
342
  border-radius: 50%;
343
  }
@@ -350,21 +306,16 @@ line-height:34px;
350
  .row.mycred-money-back {
351
  display: none;
352
  }
353
-
354
-
355
  @media (min-width: 1640px) {
356
 
357
  .mycred-treasures .theme-browser .theme {
358
  width: 29.7%;
359
- margin: 0 3% 3% 0;
360
-
361
  }
362
 
363
  .mycred-treasures .theme-id-container {
364
  width: 100%;
365
  height: 100%;
366
-
367
-
368
  }
369
 
370
  .mycred-treasures .theme.active {
@@ -372,17 +323,8 @@ line-height:34px;
372
  width: calc(33.1% - 5em);
373
  }
374
 
375
-
376
- }
377
-
378
-
379
- /*@media screen and (min-width: 1600px) and (max-width: 2299px){
380
- .theme.active {
381
- width: 30%;
382
- width: calc(33.1% - 8px);
383
  }
384
 
385
- }*/
386
 
387
  @media (max-width: 1120px) {
388
 
@@ -438,10 +380,7 @@ line-height:34px;
438
  }
439
 
440
  .mmc-addons .theme .theme-screenshot1 img {
441
- /* height: 100%; */
442
  width: 100%;
443
- /* text-align: center;
444
- margin: 0 auto;*/
445
  }
446
 
447
  .mmc-addons .theme .theme-screenshot1 {
@@ -459,10 +398,8 @@ line-height:34px;
459
  }
460
 
461
  .mmc-addons .theme .theme-screenshot1 img {
462
- /*margin: 0 auto;*/
463
  display: block;
464
  float: none;
465
- /*position: relative!important;*/
466
  }
467
 
468
  .mmc-addons .theme .theme-screenshot {
@@ -488,6 +425,8 @@ line-height:34px;
488
  width: 262.19px;
489
  }
490
 
 
 
491
  #myCRED-wrap h1{
492
  display: block!important;
493
  font-weight: 600;
@@ -535,16 +474,25 @@ line-height:34px;
535
  margin-top: 12px;
536
  }
537
 
 
538
  .mycred-support-page-content h2 {
539
  margin-bottom: 2px;
 
 
 
 
 
540
  }
541
 
542
  .mycred-support-page-content p {
543
  margin-top: 5px;
 
 
 
 
544
  }
545
 
546
  .mycred-treasure-pack {
547
- /*background: white;*/
548
  cursor: auto !important;
549
  }
550
 
@@ -560,10 +508,15 @@ line-height:34px;
560
  .mycred-treasure-pack h3 {
561
  color: #2271b1;
562
  margin: 8px 0 0 0;
 
 
 
563
  }
564
 
565
  .mycred-treasure-pack p {
566
  margin: 8px 0 0 0;
 
 
567
  }
568
 
569
  .mycred-treasure-pack .theme-id-container .theme-name {
@@ -573,14 +526,18 @@ line-height:34px;
573
  .mycred-treasure-pack .theme-id-container .theme-actions {
574
  padding: 14px 20px !important;
575
  }
 
576
  .mycred-tools-ba-award-table p{
577
  margin: 0px;
 
 
578
  }
579
 
580
  .mycred-tools-ba-award-table tr td:first-child {
581
  min-width: 200px;
582
  max-width: 200px;
583
  }
 
584
  .mycred-tools-ba-award-table .tb-zero-padding{
585
  padding-top: 0px!important;
586
  padding-bottom: 0px!important;
34
  margin-right: 5px;
35
  }
36
 
37
+ .theme-browser .theme {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  min-height: 10em;
39
  }
40
 
61
 
62
  /** myCred Membership Table **/
63
  .mmc_table{
64
+ padding: 0 20px 0 20px;
65
  }
66
  .mmc-packages {
67
  display: table;
96
  text-decoration-line: line-through;
97
  text-decoration-color: red;
98
  }
 
99
  .mmc_table .mmc_table_pricing_current {
100
  font-size: 48px;
101
  font-weight: bold;
107
  transform: scale(1);
108
  margin: 3% 0 14% 0;
109
  }
 
110
  .mmc_table .mmc_table_pricing .mmc_table_pricing_dollar_sign{
111
  font-size: 26px;
112
  vertical-align: super;
113
  }
 
114
  .mmc_table .mmc_table_plan_sites {
115
  font-size: 16px;
116
  color: rgba(136, 0, 255, 1);
125
  margin-bottom: 0 !important;
126
 
127
  }
 
128
  .mmc_table .mmc_table_plan_billed{
129
  color: #999ea9;
130
  font-size: 12px;
135
  text-align: center;
136
  margin-top: 0px;
137
  }
 
138
  .mmc_table .mmc_table_addon_details li{
139
  position: relative;
140
  display: block;
150
  -ms-transform: scale(1);
151
  transform: scale(1);
152
  }
 
153
  .mmc_table .mmc_table_get_started{
154
  text-align:center;
155
  margin-bottom: 30px;
173
  width: 100px;
174
  margin: 0 auto;
175
  }
 
176
  .mmc_table .border-right{
177
  border-right: 1px solid #ccc;
178
  }
 
179
  .mmc_table .mmc_table_most_popular{
180
  color: white;
181
  background: #ff6f41;
191
  font-size: 16px;
192
  line-height: 22px;
193
  }
 
 
194
  div#tabs_package_1 {
195
  width: auto;
196
  display: block;
198
  text-align: center;
199
  margin-bottom: 50px;
200
  }
 
201
  #tabs_package_1 a {
202
  padding: 8px 10px;
203
  height: 45px;
207
  text-transform: uppercase;
208
  position: relative;
209
  }
 
210
  #tabs_package_1 a sup {
211
  background: #f05d3e;
212
  width: 97px;
248
  height: 34px;
249
  margin-bottom:0px;
250
  }
 
251
  #tabs_package_1 .switch_btn input {
252
  opacity: 0;
253
  width: 0;
264
  -webkit-transition: .4s;
265
  transition: .4s;
266
  }
 
267
  #tabs_package_1 .slider_btn:before {
268
  position: absolute;
269
  content: "";
282
  #tabs_package_1 input:checked + #tabs_package_1 .slider_btn {
283
  background-color: #894be0!important;
284
  }
 
285
  #tabs_package_1 input:checked + .slider_btn:before {
286
  -webkit-transform: translateX(26px);
287
  -ms-transform: translateX(26px);
294
  #tabs_package_1 .slider_btn.round {
295
  border-radius: 34px;
296
  }
 
297
  #tabs_package_1 .slider_btn.round:before {
298
  border-radius: 50%;
299
  }
306
  .row.mycred-money-back {
307
  display: none;
308
  }
 
 
309
  @media (min-width: 1640px) {
310
 
311
  .mycred-treasures .theme-browser .theme {
312
  width: 29.7%;
313
+ margin: 0 3% 3% 0;
 
314
  }
315
 
316
  .mycred-treasures .theme-id-container {
317
  width: 100%;
318
  height: 100%;
 
 
319
  }
320
 
321
  .mycred-treasures .theme.active {
323
  width: calc(33.1% - 5em);
324
  }
325
 
 
 
 
 
 
 
 
 
326
  }
327
 
 
328
 
329
  @media (max-width: 1120px) {
330
 
380
  }
381
 
382
  .mmc-addons .theme .theme-screenshot1 img {
 
383
  width: 100%;
 
 
384
  }
385
 
386
  .mmc-addons .theme .theme-screenshot1 {
398
  }
399
 
400
  .mmc-addons .theme .theme-screenshot1 img {
 
401
  display: block;
402
  float: none;
 
403
  }
404
 
405
  .mmc-addons .theme .theme-screenshot {
425
  width: 262.19px;
426
  }
427
 
428
+
429
+
430
  #myCRED-wrap h1{
431
  display: block!important;
432
  font-weight: 600;
474
  margin-top: 12px;
475
  }
476
 
477
+
478
  .mycred-support-page-content h2 {
479
  margin-bottom: 2px;
480
+ display: block;
481
+ font-weight: 600;
482
+ color: #1d2327;
483
+ font-size: 1.3em;
484
+ margin: 1em 0;
485
  }
486
 
487
  .mycred-support-page-content p {
488
  margin-top: 5px;
489
+ line-height: 1.5;
490
+ color: #1d2327;
491
+ font-size: 1.3em;
492
+ margin: 1em 0;
493
  }
494
 
495
  .mycred-treasure-pack {
 
496
  cursor: auto !important;
497
  }
498
 
508
  .mycred-treasure-pack h3 {
509
  color: #2271b1;
510
  margin: 8px 0 0 0;
511
+ display: block;
512
+ font-weight: 600;
513
+ font-size: 1.3em;
514
  }
515
 
516
  .mycred-treasure-pack p {
517
  margin: 8px 0 0 0;
518
+ font-size: 13px;
519
+ line-height: 1.5;
520
  }
521
 
522
  .mycred-treasure-pack .theme-id-container .theme-name {
526
  .mycred-treasure-pack .theme-id-container .theme-actions {
527
  padding: 14px 20px !important;
528
  }
529
+
530
  .mycred-tools-ba-award-table p{
531
  margin: 0px;
532
+ line-height: 1.5;
533
+ font-size: 13px;
534
  }
535
 
536
  .mycred-tools-ba-award-table tr td:first-child {
537
  min-width: 200px;
538
  max-width: 200px;
539
  }
540
+
541
  .mycred-tools-ba-award-table .tb-zero-padding{
542
  padding-top: 0px!important;
543
  padding-bottom: 0px!important;
assets/css/mycred-front.css CHANGED
@@ -164,7 +164,7 @@ ul.mycred-badges-list-tabs li.active {
164
  .mycred-badge-page .mycred-badge-page-level {
165
  float: left;
166
  width: 30%;
167
- text-align: center;
168
  }
169
  .mycred-badge-page .mycred-level-requirement {
170
  font-size: 19px;
164
  .mycred-badge-page .mycred-badge-page-level {
165
  float: left;
166
  width: 30%;
167
+ /*text-align: center;*/
168
  }
169
  .mycred-badge-page .mycred-level-requirement {
170
  font-size: 19px;
assets/js/mycred-tools.js CHANGED
@@ -518,10 +518,19 @@ jQuery(document).ready(function() {
518
  function mycredToolsResetForm() {
519
  var $selectedValue = jQuery('.bulk-award-type').val();
520
  jQuery(".mycred-tools-ba-award-form").trigger('reset');
521
- jQuery('#bulk-users').val(null).trigger('change');
522
- jQuery('#bulk-roles').val(null).trigger('change');
523
- jQuery('#bulk-badges').val(null).trigger('change');
524
- jQuery('#bulk-ranks').val(null).trigger('change');
 
 
 
 
 
 
 
 
 
525
  jQuery(".log-entry").removeAttr("checked");
526
  jQuery('.log-entry-row').hide();
527
  jQuery(".award-to-all").removeAttr("checked");
518
  function mycredToolsResetForm() {
519
  var $selectedValue = jQuery('.bulk-award-type').val();
520
  jQuery(".mycred-tools-ba-award-form").trigger('reset');
521
+
522
+ jQuery('#bulk-users').val();
523
+ jQuery('#bulk-users').trigger('change');
524
+
525
+ jQuery('#bulk-roles').val();
526
+ jQuery('#bulk-roles').trigger('change');
527
+
528
+ jQuery('#bulk-badges').val();
529
+ jQuery('#bulk-badges').trigger('change');
530
+
531
+ jQuery('#bulk-ranks').val();
532
+ jQuery('#bulk-ranks').trigger('change');
533
+
534
  jQuery(".log-entry").removeAttr("checked");
535
  jQuery('.log-entry-row').hide();
536
  jQuery(".award-to-all").removeAttr("checked");
includes/classes/class.query-leaderboard.php CHANGED
@@ -818,9 +818,9 @@ if ( ! class_exists( 'myCRED_Query_Leaderboard' ) ) :
818
  $balance_format = 'CAST( %f AS DECIMAL( ' . $length . ', ' . $this->core->format['decimals'] . ' ) )';
819
  }
820
 
821
- if ( ! $this->args['total'] ) {
822
  $query = $wpdb->prepare( "AND l.meta_value != {$balance_format}", $this->core->zero() );
823
- }
824
 
825
 
826
  }
818
  $balance_format = 'CAST( %f AS DECIMAL( ' . $length . ', ' . $this->core->format['decimals'] . ' ) )';
819
  }
820
 
821
+
822
  $query = $wpdb->prepare( "AND l.meta_value != {$balance_format}", $this->core->zero() );
823
+
824
 
825
 
826
  }
includes/classes/class.query-log.php CHANGED
@@ -2458,6 +2458,7 @@ if ( ! function_exists( 'mycred_get_all_references' ) ) :
2458
  'visitor_referral' => __( 'Visitor Referral', 'mycred' ),
2459
  'signup_referral' => __( 'Signup Referral', 'mycred' ),
2460
  'anniversary' => __( 'Anniversary', 'mycred' ),
 
2461
  );
2462
 
2463
  if ( class_exists( 'BuddyPress' ) ) {
2458
  'visitor_referral' => __( 'Visitor Referral', 'mycred' ),
2459
  'signup_referral' => __( 'Signup Referral', 'mycred' ),
2460
  'anniversary' => __( 'Anniversary', 'mycred' ),
2461
+ 'bulk_assign' => __( 'Bulk Assign', 'mycred' )
2462
  );
2463
 
2464
  if ( class_exists( 'BuddyPress' ) ) {
includes/hooks/external/mycred-hook-bbPress.php CHANGED
@@ -184,7 +184,8 @@ function mycred_load_bbpress_hook() {
184
  $balance = $this->core->get_users_balance( $user_id, $this->mycred_type );
185
  $layout = $this->core->plural() . ': ' . $this->core->format_creds( $balance );
186
 
187
- echo wp_kses_post( apply_filters( 'mycred_bbp_reply_balance', '<div class="users-mycred-balance">' . $layout . '</div>', $layout, $user_id, $this ) );
 
188
 
189
  }
190
 
184
  $balance = $this->core->get_users_balance( $user_id, $this->mycred_type );
185
  $layout = $this->core->plural() . ': ' . $this->core->format_creds( $balance );
186
 
187
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
188
+ echo apply_filters( 'mycred_bbp_reply_balance', '<div class="users-mycred-balance">' . $layout . '</div>', $layout, $user_id, $this );
189
 
190
  }
191
 
includes/hooks/external/mycred-hook-buddypress.php CHANGED
@@ -308,7 +308,8 @@ function mycred_load_buddypress_profile_hook() {
308
 
309
  // Prevent BP from running this ajax call
310
  if ( $balance < $cost ) {
311
- echo esc_html( apply_filters( 'mycred_bp_declined_addfriend', __( 'Insufficient Funds', 'mycred' ), $this ) );
 
312
  exit;
313
  }
314
 
308
 
309
  // Prevent BP from running this ajax call
310
  if ( $balance < $cost ) {
311
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
312
+ echo apply_filters( 'mycred_bp_declined_addfriend', __( 'Insufficient Funds', 'mycred' ), $this );
313
  exit;
314
  }
315
 
includes/hooks/mycred-hook-referrals.php CHANGED
@@ -75,6 +75,10 @@ if ( ! class_exists( 'myCRED_Hook_Affiliate' ) ) :
75
  add_action( 'bp_after_profile_loop_content', array( $this, 'buddypress_profile' ), $this->prefs['buddypress']['priority'] );
76
 
77
 
 
 
 
 
78
  // Hook into user activation
79
  if ( function_exists( 'buddypress' ) )
80
  add_action( 'mycred_bp_user_activated', array( $this, 'verified_signup' ) );
@@ -239,34 +243,8 @@ if ( ! class_exists( 'myCRED_Hook_Affiliate' ) ) :
239
 
240
  $output = do_shortcode( $output );
241
 
242
- echo wp_kses(
243
- apply_filters( 'mycred_affiliate_bp_profile', $output, $user_id, $users_ref_link, $this ),
244
- array(
245
- 'div' => array(
246
- 'class' => array()
247
- ),
248
- 'p' => array(),
249
- 'h4' => array(),
250
- 'input' => array(
251
- 'type' => array(),
252
- 'readonly' => array(),
253
- 'id' => array(),
254
- 'value' => array()
255
- ),
256
- 'button' => array(
257
- 'onclick' => array()
258
- ),
259
- 'table' => array(
260
- 'class' => array()
261
- ),
262
- 'tr' => array(
263
- 'class' => array()
264
- ),
265
- 'td' => array(
266
- 'class' => array()
267
- )
268
- )
269
- );
270
 
271
  }
272
 
@@ -379,7 +357,7 @@ if ( ! class_exists( 'myCRED_Hook_Affiliate' ) ) :
379
  if ( $this->ref_counts( $user_id, $IP, 'signup' ) ) {
380
 
381
  // Award when users account gets activated
382
- if ( function_exists( 'buddypress' ) ) {
383
 
384
  mycred_add_user_meta( $new_user_id, 'referred_by_', $this->mycred_type, $user_id, true );
385
  mycred_add_user_meta( $new_user_id, 'referred_by_IP_', $this->mycred_type, $IP, true );
@@ -424,6 +402,13 @@ if ( ! class_exists( 'myCRED_Hook_Affiliate' ) ) :
424
  */
425
  public function verified_signup( $user_id ) {
426
 
 
 
 
 
 
 
 
427
  // Check if there is a referral
428
  $referred_by = mycred_get_user_meta( $user_id, 'referred_by_', $this->mycred_type, true );
429
  $referred_by_IP = mycred_get_user_meta( $user_id, 'referred_by_IP_', $this->mycred_type, true );
75
  add_action( 'bp_after_profile_loop_content', array( $this, 'buddypress_profile' ), $this->prefs['buddypress']['priority'] );
76
 
77
 
78
+ // Hook into user activation
79
+ if ( class_exists('pw_new_user_approve') )
80
+ add_action( 'new_user_approve_user_approved', array( $this, 'verified_signup' ) );
81
+
82
  // Hook into user activation
83
  if ( function_exists( 'buddypress' ) )
84
  add_action( 'mycred_bp_user_activated', array( $this, 'verified_signup' ) );
243
 
244
  $output = do_shortcode( $output );
245
 
246
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
247
+ echo apply_filters( 'mycred_affiliate_bp_profile', $output, $user_id, $users_ref_link, $this );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
 
249
  }
250
 
357
  if ( $this->ref_counts( $user_id, $IP, 'signup' ) ) {
358
 
359
  // Award when users account gets activated
360
+ if ( function_exists( 'buddypress' ) || class_exists( 'pw_new_user_approve' ) ) {
361
 
362
  mycred_add_user_meta( $new_user_id, 'referred_by_', $this->mycred_type, $user_id, true );
363
  mycred_add_user_meta( $new_user_id, 'referred_by_IP_', $this->mycred_type, $IP, true );
402
  */
403
  public function verified_signup( $user_id ) {
404
 
405
+ if( ! is_object($user_id) ) {
406
+ $user_id = $user_id;
407
+ }
408
+ else {
409
+ $user_id = $user_id->ID;
410
+ }
411
+
412
  // Check if there is a referral
413
  $referred_by = mycred_get_user_meta( $user_id, 'referred_by_', $this->mycred_type, true );
414
  $referred_by_IP = mycred_get_user_meta( $user_id, 'referred_by_IP_', $this->mycred_type, true );
includes/mycred-blocks/blocks/mycred-affiliate-id/index.js CHANGED
@@ -5,7 +5,7 @@
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
- var InspectorControls = wp.editor.InspectorControls;
9
  var el = wp.element.createElement;
10
  var SelectControl = wp.components.SelectControl;
11
  var panelBody = wp.components.PanelBody;
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
+ var InspectorControls = wp.blockEditor.InspectorControls;
9
  var el = wp.element.createElement;
10
  var SelectControl = wp.components.SelectControl;
11
  var panelBody = wp.components.PanelBody;
includes/mycred-blocks/blocks/mycred-affiliate-id/mycred-affiliate-id.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_affiliate_id_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-affiliate-link/index.js CHANGED
@@ -5,7 +5,7 @@
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
- var InspectorControls = wp.editor.InspectorControls;
9
  var el = wp.element.createElement;
10
  var SelectControl = wp.components.SelectControl;
11
  var TextControl = wp.components.TextControl;
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
+ var InspectorControls = wp.blockEditor.InspectorControls;
9
  var el = wp.element.createElement;
10
  var SelectControl = wp.components.SelectControl;
11
  var TextControl = wp.components.TextControl;
includes/mycred-blocks/blocks/mycred-affiliate-link/mycred-affiliate-link.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_affiliate_link_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-badges-list/mycred-badges-list.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_badges_list_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-badges/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var panelBody = wp.components.PanelBody;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var panelBody = wp.components.PanelBody;
includes/mycred-blocks/blocks/mycred-badges/mycred-badges.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_badges_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-best-user/index.js CHANGED
@@ -4,12 +4,12 @@
4
  */
5
  (function (wp) {
6
  var registerBlockType = wp.blocks.registerBlockType;
7
- var InspectorControls = wp.editor.InspectorControls;
8
  var el = wp.element.createElement;
9
  var SelectControl = wp.components.SelectControl;
10
  var TextControl = wp.components.TextControl;
11
  var TextareaControl = wp.components.TextareaControl;
12
- var RichText = wp.editor.RichText;
13
  var panelBody = wp.components.PanelBody;
14
  var __ = wp.i18n.__;
15
 
4
  */
5
  (function (wp) {
6
  var registerBlockType = wp.blocks.registerBlockType;
7
+ var InspectorControls = wp.blockEditor.InspectorControls;
8
  var el = wp.element.createElement;
9
  var SelectControl = wp.components.SelectControl;
10
  var TextControl = wp.components.TextControl;
11
  var TextareaControl = wp.components.TextareaControl;
12
+ var RichText = wp.blockEditor.RichText;
13
  var panelBody = wp.components.PanelBody;
14
  var __ = wp.i18n.__;
15
 
includes/mycred-blocks/blocks/mycred-best-user/mycred-best-user.php CHANGED
@@ -28,7 +28,7 @@ if ( ! class_exists('mycred_best_user_block') ) :
28
  'wp-blocks',
29
  'wp-element',
30
  'wp-components',
31
- 'wp-editor'
32
  )
33
  );
34
 
28
  'wp-blocks',
29
  'wp-element',
30
  'wp-components',
31
+ 'wp-block-editor'
32
  )
33
  );
34
 
includes/mycred-blocks/blocks/mycred-buy-form/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-buy-form/mycred-buy-form.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_buy_form_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-buy-pending/mycred-buy-pending.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_buy_pending_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-buy/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-buy/mycred-buy.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_buy_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-cashcred/mycred-cashcred.php CHANGED
@@ -34,7 +34,7 @@ if ( ! class_exists('mycred_cashcred_block') ) :
34
  'wp-blocks',
35
  'wp-element',
36
  'wp-components',
37
- 'wp-editor'
38
  )
39
  );
40
 
34
  'wp-blocks',
35
  'wp-element',
36
  'wp-components',
37
+ 'wp-block-editor'
38
  )
39
  );
40
 
includes/mycred-blocks/blocks/mycred-chart-balance-history/mycred-chart-balance-history.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_chart_balance_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-chart-circu/mycred-chart-circu.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_chart_circulation_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-chart-gain-loss/mycred-chart-gain-loss.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_chart_gain_loss_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-chart-history/mycred-chart-history.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_chart_history_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-chart-instance-history/mycred-chart-instance-history.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_chart_instance_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-chart-top-balance/mycred-chart-top-balance.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_chart_top_balance_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-chart-top-instance/mycred-chart-top-instance.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_chart_top_instance_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-email-subsc/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var panelBody = wp.components.PanelBody;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var panelBody = wp.components.PanelBody;
includes/mycred-blocks/blocks/mycred-email-subsc/mycred-email-subsc.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_email_subscriptions_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-exchange/index.js CHANGED
@@ -5,8 +5,8 @@
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
- var InspectorControls = wp.editor.InspectorControls;
9
- var BlockControls = wp.editor.BlockControls;
10
  var el = wp.element.createElement;
11
  var SelectControl = wp.components.SelectControl;
12
  var TextControl = wp.components.TextControl;
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
+ var InspectorControls = wp.blockEditor.InspectorControls;
9
+ var BlockControls = wp.blockEditor.BlockControls;
10
  var el = wp.element.createElement;
11
  var SelectControl = wp.components.SelectControl;
12
  var TextControl = wp.components.TextControl;
includes/mycred-blocks/blocks/mycred-exchange/mycred-exchange.php CHANGED
@@ -27,7 +27,7 @@ if ( ! class_exists('mycred_exchange_block') ) :
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
- 'wp-editor',
31
  'wp-rich-text'
32
  )
33
  );
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
+ 'wp-block-editor',
31
  'wp-rich-text'
32
  )
33
  );
includes/mycred-blocks/blocks/mycred-give/index.js CHANGED
@@ -5,7 +5,7 @@
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
- var InspectorControls = wp.editor.InspectorControls;
9
  var el = wp.element.createElement;
10
  var SelectControl = wp.components.SelectControl;
11
  var TextControl = wp.components.TextControl;
5
  //
6
  (function (wp) {
7
  var registerBlockType = wp.blocks.registerBlockType;
8
+ var InspectorControls = wp.blockEditor.InspectorControls;
9
  var el = wp.element.createElement;
10
  var SelectControl = wp.components.SelectControl;
11
  var TextControl = wp.components.TextControl;
includes/mycred-blocks/blocks/mycred-give/mycred-give.php CHANGED
@@ -27,7 +27,7 @@ if ( ! class_exists('mycred_give_block') ) :
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
- 'wp-editor',
31
  'wp-rich-text'
32
  )
33
  );
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
+ 'wp-block-editor',
31
  'wp-rich-text'
32
  )
33
  );
includes/mycred-blocks/blocks/mycred-history/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-history/mycred-history.php CHANGED
@@ -27,7 +27,7 @@ if ( ! class_exists('mycred_history_block') ) :
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
- 'wp-editor',
31
  'wp-rich-text'
32
  )
33
  );
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
+ 'wp-block-editor',
31
  'wp-rich-text'
32
  )
33
  );
includes/mycred-blocks/blocks/mycred-hook-table/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-hook-table/mycred-hook-table.php CHANGED
@@ -27,7 +27,7 @@ if ( ! class_exists('mycred_hook_table_block') ) :
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
- 'wp-editor',
31
  'wp-rich-text'
32
  )
33
  );
27
  'wp-blocks',
28
  'wp-element',
29
  'wp-components',
30
+ 'wp-block-editor',
31
  'wp-rich-text'
32
  )
33
  );
includes/mycred-blocks/blocks/mycred-leaderboard/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-leaderboard/mycred-leaderboard.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_leaderboard_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-link/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-link/mycred-link.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_link_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-list-ranks/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-list-ranks/mycred-list-ranks.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_list_ranks_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-load-coupon/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var panelBody = wp.components.PanelBody;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var panelBody = wp.components.PanelBody;
includes/mycred-blocks/blocks/mycred-load-coupon/mycred-load-coupon.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_load_coupon_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-my-badges/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-my-badges/mycred-my-badges.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_my_badges_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-my-balance-converted/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-my-balance-converted/mycred-my-balance-converted.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_my_balance_converted_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-my-balance/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-my-balance/mycred-my-balance.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_my_balance_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-my-rank/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
includes/mycred-blocks/blocks/mycred-my-rank/mycred-my-rank.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_my_rank_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-my-ranks/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
includes/mycred-blocks/blocks/mycred-my-ranks/mycred-my-ranks.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_my_ranks_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-total-balance/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
includes/mycred-blocks/blocks/mycred-total-balance/mycred-total-balance.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_total_balance_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-total-pts/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
includes/mycred-blocks/blocks/mycred-total-pts/mycred-total-pts.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_total_points_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor',
30
  'wp-rich-text'
31
  )
32
  );
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor',
30
  'wp-rich-text'
31
  )
32
  );
includes/mycred-blocks/blocks/mycred-total-since/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
includes/mycred-blocks/blocks/mycred-total-since/mycred-total-since.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_total_since_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-transfer/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
includes/mycred-blocks/blocks/mycred-transfer/mycred-transfer.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_transfer_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-users-of-all-ranks/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var ToggleControl = wp.components.ToggleControl;
includes/mycred-blocks/blocks/mycred-users-of-all-ranks/mycred-users-of-all-ranks.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_users_of_all_ranks_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-users-of-rank/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-users-of-rank/mycred-users-of-rank.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_users_of_rank_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-blocks/blocks/mycred-video/index.js CHANGED
@@ -1,6 +1,6 @@
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
- var InspectorControls = wp.editor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
1
  (function (wp) {
2
  var registerBlockType = wp.blocks.registerBlockType;
3
+ var InspectorControls = wp.blockEditor.InspectorControls;
4
  var el = wp.element.createElement;
5
  var TextControl = wp.components.TextControl;
6
  var SelectControl = wp.components.SelectControl;
includes/mycred-blocks/blocks/mycred-video/mycred-video.php CHANGED
@@ -26,7 +26,7 @@ if ( ! class_exists('mycred_video_block') ) :
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
- 'wp-editor'
30
  )
31
  );
32
 
26
  'wp-blocks',
27
  'wp-element',
28
  'wp-components',
29
+ 'wp-block-editor'
30
  )
31
  );
32
 
includes/mycred-functions.php CHANGED
@@ -4278,6 +4278,7 @@ if ( ! function_exists( 'mycred_get_email_instances' ) ) :
4278
  if ( class_exists( 'myCRED_Ranks_Module' ) ) {
4279
  $instances['rank_up'] = __( 'user is promoted to a higher rank', 'mycred' );
4280
  $instances['rank_down'] = __( 'user is demoted to a lower rank', 'mycred' );
 
4281
  }
4282
 
4283
  if ( class_exists( 'myCRED_Transfer_Module' ) ) {
4278
  if ( class_exists( 'myCRED_Ranks_Module' ) ) {
4279
  $instances['rank_up'] = __( 'user is promoted to a higher rank', 'mycred' );
4280
  $instances['rank_down'] = __( 'user is demoted to a lower rank', 'mycred' );
4281
+ $instances['manual_rank_assign'] = __( 'admin manually assigns the rank', 'mycred' );
4282
  }
4283
 
4284
  if ( class_exists( 'myCRED_Transfer_Module' ) ) {
includes/mycred-tools.php CHANGED
@@ -423,7 +423,7 @@ class myCRED_Tools {
423
  else {
424
 
425
  $selected_users = isset( $_REQUEST['users'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['users'] ) ) : '[]';
426
- $selected_user_roles = isset( $_REQUEST['user_roles'] ) ? sanitize_key( $_REQUEST['user_roles'] ) : '[]';
427
 
428
  $selected_users = json_decode( stripslashes( $selected_users ) );
429
  $selected_user_roles = json_decode( stripslashes( $selected_user_roles ) );
423
  else {
424
 
425
  $selected_users = isset( $_REQUEST['users'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['users'] ) ) : '[]';
426
+ $selected_user_roles = isset( $_REQUEST['user_roles'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['user_roles'] ) ) : '[]';
427
 
428
  $selected_users = json_decode( stripslashes( $selected_users ) );
429
  $selected_user_roles = json_decode( stripslashes( $selected_user_roles ) );
modules/mycred-module-buddypress.php CHANGED
@@ -134,7 +134,8 @@ if ( ! class_exists( 'myCRED_BuddyPress_Module' ) ) :
134
 
135
  }
136
 
137
- echo wp_kses_post( apply_filters( 'mycred_bp_profile_details', $output, $balance, $this ) );
 
138
 
139
  do_action('mycred_buddypress_profile_details');
140
 
@@ -195,7 +196,8 @@ if ( ! class_exists( 'myCRED_BuddyPress_Module' ) ) :
195
 
196
  }
197
 
198
- echo wp_kses_post( apply_filters( 'mycred_bp_profile_header', $output, $this->buddypress['balance_template'], $this ) );
 
199
 
200
  do_action('mycred_buddypress_profile_header');
201
 
@@ -321,8 +323,9 @@ if ( ! class_exists( 'myCRED_BuddyPress_Module' ) ) :
321
  $others = str_replace( '%label%', $this->point_types[ $this->selected_type ], $this->buddypress['history_menu_title']['others'] );
322
  $title = bp_word_or_name( $me, $others, false, false );
323
  $title = $this->core->template_tags_general( $title );
324
-
325
- echo wp_kses_post( apply_filters( 'mycred_br_history_page_title', $title, $this ) );
 
326
 
327
  }
328
 
@@ -395,82 +398,9 @@ if ( ! class_exists( 'myCRED_BuddyPress_Module' ) ) :
395
 
396
  $output = ob_get_contents();
397
  ob_end_clean();
398
-
399
- $allowed_html = array(
400
- 'form' => array(
401
- 'action' => array(),
402
- 'id' => array(),
403
- 'method' => array(),
404
- 'class' => array(),
405
- 'role' => array()
406
- ),
407
- 'label' => array(
408
- 'for' => array(),
409
- 'class' => array()
410
- ),
411
- 'input' => array(
412
- 'type' => array(),
413
- 'class' => array(),
414
- 'value' => array(),
415
- 'id' => array(),
416
- 'name' => array(),
417
- 'size' => array(),
418
- 'aria-describedby' => array()
419
- ),
420
- 'style' => array(
421
- 'type' => array()
422
- ),
423
- 'select' => array(
424
- 'name' => array(),
425
- 'id' => array(),
426
- 'style' => array()
427
- ),
428
- 'option' => array(
429
- 'value' => array(),
430
- 'selected' => array()
431
- ),
432
- 'div' => array(
433
- 'class' => array()
434
- ),
435
- 'h2' => array(
436
- 'class' => array()
437
- ),
438
- 'span' => array(
439
- 'class' => array(),
440
- 'aria-hidden' => array()
441
- ),
442
- 'a' => array(
443
- 'class' => array(),
444
- 'href' => array()
445
- ),
446
- 'br' => array(
447
- 'class' => array()
448
- ),
449
- 'table' => array(
450
- 'class' => array(),
451
- 'cellspacing' => array()
452
- ),
453
- 'thead' => array(),
454
- 'tbody' => array(
455
- 'id' => array()
456
- ),
457
- 'tr' => array(
458
- 'class' => array(),
459
- 'id' => array()
460
- ),
461
- 'th' => array(
462
- 'scope' => array(),
463
- 'id' => array(),
464
- 'class' => array()
465
- ),
466
- 'td' => array(
467
- 'class' => array(),
468
- 'data-colname' => array()
469
- ),
470
- 'tfoot' => array(),
471
- );
472
 
473
- echo wp_kses( apply_filters( 'mycred_bp_history_page', $output, $this ), $allowed_html );
 
474
 
475
  }
476
 
@@ -507,7 +437,15 @@ if ( ! class_exists( 'myCRED_BuddyPress_Module' ) ) :
507
  }
508
 
509
  ?>
510
- <h4><span class="dashicons dashicons-admin-plugins static"></span><label><?php echo esc_html( apply_filters( 'mycred_bp_change_text', 'BuddyPress' ) ); ?></label></h4>
 
 
 
 
 
 
 
 
511
  <div class="body" style="display:none;">
512
 
513
  <?php do_action( 'mycred_bp_before_settings', $this ); ?>
134
 
135
  }
136
 
137
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
138
+ echo apply_filters( 'mycred_bp_profile_details', $output, $balance, $this );
139
 
140
  do_action('mycred_buddypress_profile_details');
141
 
196
 
197
  }
198
 
199
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
200
+ echo apply_filters( 'mycred_bp_profile_header', $output, $this->buddypress['balance_template'], $this );
201
 
202
  do_action('mycred_buddypress_profile_header');
203
 
323
  $others = str_replace( '%label%', $this->point_types[ $this->selected_type ], $this->buddypress['history_menu_title']['others'] );
324
  $title = bp_word_or_name( $me, $others, false, false );
325
  $title = $this->core->template_tags_general( $title );
326
+
327
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
328
+ echo apply_filters( 'mycred_br_history_page_title', $title, $this );
329
 
330
  }
331
 
398
 
399
  $output = ob_get_contents();
400
  ob_end_clean();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
401
 
402
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
403
+ echo apply_filters( 'mycred_bp_history_page', $output, $this );
404
 
405
  }
406
 
437
  }
438
 
439
  ?>
440
+ <h4><span class="dashicons dashicons-admin-plugins static"></span>
441
+ <label>
442
+ <?php
443
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
444
+ echo apply_filters( 'mycred_bp_change_text', 'BuddyPress' );
445
+ ?>
446
+
447
+ </label>
448
+ </h4>
449
  <div class="body" style="display:none;">
450
 
451
  <?php do_action( 'mycred_bp_before_settings', $this ); ?>
modules/mycred-module-log.php CHANGED
@@ -600,7 +600,8 @@ if ( ! class_exists( 'myCRED_Log_Module' ) ) :
600
  else
601
  $search_for = '';
602
 
603
- echo wp_kses_post( $title ) . ' ' . wp_kses_post( $search_for );
 
604
 
605
  }
606
 
600
  else
601
  $search_for = '';
602
 
603
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
604
+ echo $title . ' ' . $search_for;
605
 
606
  }
607
 
modules/mycred-module-management.php CHANGED
@@ -168,6 +168,9 @@ if ( ! class_exists( 'myCRED_Management_Module' ) ) :
168
  // Balance change with a log entry
169
  else {
170
 
 
 
 
171
  $success = $mycred->add_creds(
172
  $reference,
173
  $user_id,
@@ -402,7 +405,7 @@ if ( ! class_exists( 'myCRED_Management_Module' ) ) :
402
  if ( $screen === NULL || $screen->id != 'users' ) return;
403
 
404
  if ( isset( $query->query_vars['orderby'] ) ) {
405
- ;
406
  global $wpdb;
407
 
408
  $mycred_types = mycred_get_types();
@@ -417,20 +420,8 @@ if ( ! class_exists( 'myCRED_Management_Module' ) ) :
417
  if ( isset( $_REQUEST['ctype'] ) && array_key_exists( sanitize_key( wp_unslash( $_REQUEST['ctype'] ) ), $mycred_types ) )
418
  $mycred = mycred( sanitize_key( wp_unslash( $_REQUEST['ctype'] ) ) );
419
 
420
- // Sort by only showing users with a particular point type
421
- if ( $cred_id == 'mycred_default' ) {
422
-
423
- $amount = $mycred->zero();
424
- if ( isset( $_REQUEST['amount'] ) )
425
- $amount = $mycred->number( intval( $_REQUEST['amount'] ) );
426
-
427
- $query->query_from .= " LEFT JOIN {$wpdb->usermeta} mycred ON ({$wpdb->users}.ID = mycred.user_id AND mycred.meta_key = '{$mycred->cred_id}')";
428
- $query->query_where .= " AND mycred.meta_value = {$amount}";
429
-
430
- }
431
-
432
  // Sort a particular point type
433
- elseif ( array_key_exists( $cred_id, $mycred_types ) ) {
434
 
435
  $query->query_from .= " LEFT JOIN {$wpdb->usermeta} mycred ON ({$wpdb->users}.ID = mycred.user_id AND mycred.meta_key = '{$cred_id}')";
436
  $query->query_orderby = "ORDER BY mycred.meta_value+0 {$order} ";
@@ -831,57 +822,8 @@ jQuery(function($){
831
  $content = ob_get_contents();
832
  ob_end_clean();
833
 
834
- $allowed_html = array(
835
- 'div' => array(
836
- 'id' => array(),
837
- 'class' => array(),
838
- 'style' => array()
839
- ),
840
- 'img' => array(
841
- 'id' => array(),
842
- 'class' => array(),
843
- 'src' => array(),
844
- 'alt' => array()
845
- ),
846
- 'form' => array(
847
- 'id' => array(),
848
- 'class' => array(),
849
- 'action' => array(),
850
- 'method' => array()
851
- ),
852
- 'input' => array(
853
- 'id' => array(),
854
- 'class' => array(),
855
- 'type' => array(),
856
- 'value' => array(),
857
- 'size' => array(),
858
- 'placeholder' => array(),
859
- 'name' => array()
860
- ),
861
- 'select' => array(
862
- 'id' => array(),
863
- 'name' => array()
864
- ),
865
- 'option' => array(
866
- 'value' => array(),
867
- 'selected' => array()
868
- ),
869
- 'span' => array(
870
- 'id' => array(),
871
- 'class' => array()
872
- ),
873
- 'button' => array(
874
- 'id' => array(),
875
- 'class' => array(),
876
- 'type' => array()
877
- ),
878
- 'label' => array()
879
- );
880
-
881
- echo wp_kses(
882
- apply_filters( 'mycred_admin_inline_editor', $content ),
883
- $allowed_html
884
- );
885
 
886
  }
887
 
168
  // Balance change with a log entry
169
  else {
170
 
171
+ // To check if the points are manually adjust by admin in user profile
172
+ $mycred->adjust_manually = true;
173
+
174
  $success = $mycred->add_creds(
175
  $reference,
176
  $user_id,
405
  if ( $screen === NULL || $screen->id != 'users' ) return;
406
 
407
  if ( isset( $query->query_vars['orderby'] ) ) {
408
+
409
  global $wpdb;
410
 
411
  $mycred_types = mycred_get_types();
420
  if ( isset( $_REQUEST['ctype'] ) && array_key_exists( sanitize_key( wp_unslash( $_REQUEST['ctype'] ) ), $mycred_types ) )
421
  $mycred = mycred( sanitize_key( wp_unslash( $_REQUEST['ctype'] ) ) );
422
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  // Sort a particular point type
424
+ if ( array_key_exists( $cred_id, $mycred_types ) ) {
425
 
426
  $query->query_from .= " LEFT JOIN {$wpdb->usermeta} mycred ON ({$wpdb->users}.ID = mycred.user_id AND mycred.meta_key = '{$cred_id}')";
427
  $query->query_orderby = "ORDER BY mycred.meta_value+0 {$order} ";
822
  $content = ob_get_contents();
823
  ob_end_clean();
824
 
825
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
826
+ echo apply_filters( 'mycred_admin_inline_editor', $content );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
827
 
828
  }
829
 
mycred.php CHANGED
@@ -3,13 +3,13 @@
3
  * Plugin Name: myCred
4
  * Plugin URI: https://mycred.me
5
  * Description: An adaptive points management system for WordPress powered websites.
6
- * Version: 2.4.8.1
7
  * Tags: point, credit, loyalty program, engagement, reward, woocommerce rewards
8
  * Author: myCred
9
  * Author URI: https://mycred.me
10
  * Author Email: support@mycred.me
11
  * Requires at least: WP 4.8
12
- * Tested up to: WP 6.0
13
  * Text Domain: mycred
14
  * Domain Path: /lang
15
  * License: GPLv2 or later
@@ -20,7 +20,7 @@ if ( ! class_exists( 'myCRED_Core' ) ) :
20
  final class myCRED_Core {
21
 
22
  // Plugin Version
23
- public $version = '2.4.8.1';
24
 
25
  // Instnace
26
  protected static $_instance = NULL;
@@ -54,14 +54,14 @@ if ( ! class_exists( 'myCRED_Core' ) ) :
54
  * @since 1.7
55
  * @version 1.0
56
  */
57
- public function __clone() { _doing_it_wrong( __FUNCTION__, 'Cheatin&#8217; huh?', '2.4.8.1' ); }
58
 
59
  /**
60
  * Not allowed
61
  * @since 1.7
62
  * @version 1.0
63
  */
64
- public function __wakeup() { _doing_it_wrong( __FUNCTION__, 'Cheatin&#8217; huh?', '2.4.8.1' ); }
65
 
66
  /**
67
  * Get
@@ -82,7 +82,7 @@ if ( ! class_exists( 'myCRED_Core' ) ) :
82
  if ( ! defined( $name ) )
83
  define( $name, $value );
84
  elseif ( ! $definable && defined( $name ) )
85
- _doing_it_wrong( 'myCRED_Core->define()', 'Could not define: ' . esc_html( $name ) . ' as it is already defined somewhere else!', '2.4.8.1' );
86
  }
87
 
88
  /**
@@ -94,7 +94,7 @@ if ( ! class_exists( 'myCRED_Core' ) ) :
94
  if ( file_exists( $required_file ) )
95
  require_once $required_file;
96
  else
97
- _doing_it_wrong( 'myCRED_Core->file()', 'Requested file ' . esc_html( $required_file ) . ' not found.', '2.4.8.1' );
98
  }
99
 
100
  /**
3
  * Plugin Name: myCred
4
  * Plugin URI: https://mycred.me
5
  * Description: An adaptive points management system for WordPress powered websites.
6
+ * Version: 2.4.9
7
  * Tags: point, credit, loyalty program, engagement, reward, woocommerce rewards
8
  * Author: myCred
9
  * Author URI: https://mycred.me
10
  * Author Email: support@mycred.me
11
  * Requires at least: WP 4.8
12
+ * Tested up to: WP 6.0.1
13
  * Text Domain: mycred
14
  * Domain Path: /lang
15
  * License: GPLv2 or later
20
  final class myCRED_Core {
21
 
22
  // Plugin Version
23
+ public $version = '2.4.9';
24
 
25
  // Instnace
26
  protected static $_instance = NULL;
54
  * @since 1.7
55
  * @version 1.0
56
  */
57
+ public function __clone() { _doing_it_wrong( __FUNCTION__, 'Cheatin&#8217; huh?', '2.4.9' ); }
58
 
59
  /**
60
  * Not allowed
61
  * @since 1.7
62
  * @version 1.0
63
  */
64
+ public function __wakeup() { _doing_it_wrong( __FUNCTION__, 'Cheatin&#8217; huh?', '2.4.9' ); }
65
 
66
  /**
67
  * Get
82
  if ( ! defined( $name ) )
83
  define( $name, $value );
84
  elseif ( ! $definable && defined( $name ) )
85
+ _doing_it_wrong( 'myCRED_Core->define()', 'Could not define: ' . esc_html( $name ) . ' as it is already defined somewhere else!', '2.4.9' );
86
  }
87
 
88
  /**
94
  if ( file_exists( $required_file ) )
95
  require_once $required_file;
96
  else
97
+ _doing_it_wrong( 'myCRED_Core->file()', 'Requested file ' . esc_html( $required_file ) . ' not found.', '2.4.9' );
98
  }
99
 
100
  /**
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: mycred,wpexpertsio
3
  Tags: badges, gamification, loyalty, points, rewards
4
  Requires at least: 4.8
5
- Tested up to: 6.0
6
- Stable tag: 2.4.8.1
7
  Requires PHP: 7.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -43,41 +43,6 @@ We have added new functionality in the Central deposit built-in Addon where admi
43
  * Added Email notification on Minimum balance in central deposit.
44
  * Added Email notification on No balance Left in central deposit.
45
 
46
- **Latest update - myCred v2.4.4**
47
-
48
- **myCred v2.4.4** includes several new features and enhancements. The most prominent addition is the ability to set a transfer fee when exchanging points between members. Other new features include Gutenberg block support and the ability to set a range for minimum and maximum fees. Version 2.4.4 is available now from the WordPress Plugin Directory.
49
-
50
- Here is a list of the complete features introduced in myCred v2.4.4:
51
-
52
- * Gutenberg block support for the following shortcodes: mycred_cashcred, mycred_badges_list, mycred_buy_pending, mycred_chart_circulation, mycred_chart_gain_loss, mycred_chart_history, mycred_chart_balance_history, mycred_chart_top_balance, mycred_chart_instance_history and mycred_chart_top_instance.
53
- * cashCred points transfer between users.
54
- * Setup Numerical Difference (set a range for Minimum and Maximum fee).
55
- * Setup Parameters (fees can be set up using points or percentage).
56
- * All registered references will be listed on the support page.
57
- * Import or export user points.
58
- * Import or export setup settings in JSON format.
59
- * Select specific users fields for export.
60
- * Assign Badges/Ranks using coupons.
61
-
62
- **Recent update - myCred v2.4**
63
-
64
- **myCred v2.4** focuses on expanding the plugins ability to import and export points, ranks, and badges from and to other sites. What's better is that you can choose to export or import complete setup settings like point types, achievements level, and created badges with achievements level with the simplest of ease.
65
-
66
- Here is a list of the complete features introduced in myCred v2.4:
67
-
68
- * Import or export user points
69
- * Export all or specific point types
70
- * Export setup settings for all point types
71
- * Import or export setup settings in JSON format
72
- * Import or all or specific export user ranks
73
- * Import or export all or specific user badges
74
- * Import badges With ID/Title/Slug
75
- * Import ranks With ID/Title/Slug
76
- * Export raw or formatted file
77
- * Select users fields in the exported file
78
- * Assign Badges/Ranks using coupons
79
- * Merged myCred Gutenberg to myCred Core
80
-
81
  = BECOME A VIP MEMBER OF THE MYCRED MEMBERSHIP CLUB =
82
 
83
  Join the myCred membership club today and take advantage of premium services that include priority customer support and hundreds of add-ons at a super-saver price - Save 30% on all 3-year plans!
@@ -102,6 +67,10 @@ Empower your WordPress website users by rewarding them points - each user has th
102
  **- Buy Points**: The buyCred add-on allows your users to purchase points using real money using some of the most popular payment gateways available in the market today.
103
  **- Store Payments**: myCred supports some of the most popular store plugins for WordPress, allowing your users to pay for orders/tickets using their point balance instead of real money.
104
  **- Upload Point-type image**: Give your point type a unique identity by assigning them an image.
 
 
 
 
105
 
106
  = Badges =
107
 
@@ -114,6 +83,9 @@ Empower your WordPress website users by rewarding them points - each user has th
114
  **- Badge Evidence Download Button** - Access Open Badges of any users on the website. The admin can also download any given badge images.
115
  **- The "Quick Edit" badge option** will allow you to modify the information of any particular badge.
116
  **- Social share setting** - Allow users to share their achieved badges on their social profiles.
 
 
 
117
 
118
  = cashCred =
119
  **GIVE USERS THE POWER TO CONVERT THEIR MYCRED POINTS INTO REAL MONEY.**
@@ -134,6 +106,9 @@ cashCred works perfectly with a reward system that engages users to perform acti
134
  **- Pay Through PayPal** - cashCred supports payment through PayPal.
135
  **- Pay Through Stripe** - cashCred supports payment through Stripe.
136
  **- Create email events/templates** for cashCred pending/approved/cancel requests.
 
 
 
137
 
138
  = Template Tags =
139
 
@@ -179,6 +154,9 @@ You can achieve the following features by using a dedicated log for your points
179
  **- Enable/Disable add-ons** - Save time and use toggle buttons for enabling or disabling add-ons.
180
  **- Treasures** - A brand new collection of attractive graphical images that can be used for ranks and badges.
181
  **- Suggestions** - Submit your ideas and suggestions on the new suggestion page.
 
 
 
182
 
183
  = BUILT-IN ADD-ONS =
184
 
@@ -204,71 +182,118 @@ myCred supports some of the most popular WordPress plugins like **BuddyPress, Wo
204
  **Simple & organized** To keep your admin area organized, myCred will only show features and setting for those third-party plugins that are installed and enabled.
205
 
206
 
207
- = INTEGRATED WITH THE MOST POPULAR LEARNING MANAGEMENT SYSTEMS =
208
  myCred is integrated with a large number of popular learning management systems, that include:
209
 
210
- - [LearnDash](https://wordpress.org/plugins/mycred-learndash/)
211
- - [LifterLMS](https://wordpress.org/plugins/mycred-lifterlms-integration/)
212
- - [WPLMS](https://wplms.io/support/knowledge-base/wplms-mycred-add-on/) (Free third-party integration)
213
- - [LearnPress](https://thimpress.com/product/mycred-add-on-for-learnpress/) (Paid third-party integration).
214
-
215
- = MYCRED'S INTEGRATION WITH YOUR FAVORITE PAGE BUILDERS: =
216
-
217
- - [myCred Elementor](https://www.mycred.me/store/mycred-elementor/)
218
- - [myCred Beaver Builder](https://www.mycred.me/store/mycred-beaver-builder/)
219
- - [myCred for WPBakery Page Builder](https://www.mycred.me/store/mycred-for-wpbakery-page-builder/)
220
-
221
 
222
  = MYCRED OFFERS A VARIETY OF FREE PLUGINS THAT INCLUDE: =
223
 
224
- - [LifterLMS Plugin Integration with myCred](https://www.mycred.me/store/mycred-lifterlms-integration/)
225
  - [myCred Credly](https://www.mycred.me/store/mycred-credly/)
226
  - [myCred BP Group Leaderboards](https://www.mycred.me/store/mycred-bp-group-leaderboards/)
227
  - [myCred for WP-Pro-Quiz](https://www.mycred.me/store/mycred-for-wp-pro-quiz/)
228
  - [myCred for Rating Form](https://www.mycred.me/store/mycred-for-rating-form/)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  [Explore to find out more...](https://www.mycred.me/product-category/freebies/)
230
 
231
-
232
  = MYCRED'S THIRD-PARTY BRIDGES PLUGINS: =
233
 
234
- - [Stripe - buyCred Gateway](https://www.mycred.me/store/buycred-stripe/)
235
- - [Easy Digital Downloads - myCred Gateway](https://www.mycred.me/store/mycred-for-easy-digital-downloads/)
236
- - [myCred Zapier Addon](https://mycred.me/store/mycred-zapier-addon/)
237
  - [myCred Dokan](https://www.mycred.me/store/mycred-dokan/)
238
- - [myCred WCVendors](https://www.mycred.me/store/mycred-wc-vendors/)
239
- - [myCred Learndash](https://www.mycred.me/store/mycred-learndash/)
240
  - [myCred for Users Ultra](https://www.mycred.me/store/mycred-for-users-ultra/)
 
 
241
  - [myCred for User Pro](https://www.mycred.me/store/mycred-for-user-pro/)
 
242
 
243
- = MYCRED'S GAMIFICATION PLUGINS: =
244
 
245
- - [myCred PacMan](https://www.mycred.me/store/mycred-pacman/)
246
- - [Wheel of Fortune Add-On](https://www.mycred.me/store/wheel-of-fortune-add-on/)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
247
 
 
 
 
 
248
 
249
  = MYCRED'S ENHANCEMENT PLUGINS: =
250
 
251
- - [myCred WooCommerce Plus](https://www.mycred.me/store/mycred-woocommerce-plus/)
252
- - [myCred Email Digest](https://mycred.me/store/mycred-email-digest/)
253
- - [myCred Progress Map](https://mycred.me/store/mycred-progress-map/)
254
- - [myCred Points Cap](https://mycred.me/store/mycred-points-cap/)
255
- - [myCred Level Cred](https://www.mycred.me/store/mycred-level-cred/)
256
- - [myCred Social Proof](https://www.mycred.me/store/mycred-social-proof/)
257
- - [myCred SMS Payments - Twilio Transfers](https://www.mycred.me/store/sms-payments/)
258
- - [myCred Expiration Add on](https://www.mycred.me/store/mycred-expiration-add-on/)
259
- - [myCred Social Share Add on](https://www.mycred.me/store/mycred-social-share-add-on/)
260
  - [myCred Progress Bar Add on](https://www.mycred.me/store/mycred-progress-bar-add-on/)
261
  - [myCred Video Add-on For JW Player](https://www.mycred.me/store/jw-player-with-mycred/)
262
- - [myCred BP Charges](https://www.mycred.me/store/mycred-bp-charges/)
263
  - [myCred Rest API](https://www.mycred.me/store/mycred-rest-api/)
264
- - [myCred Transfer Plus](https://www.mycred.me/store/transfer-plus/)
265
- - [myCred Video Add-on For Vimeo](https://www.mycred.me/store/video-add-on/)
266
- - [myCred Notifications Plus Add-on](https://www.mycred.me/store/notifications-plus-add-on/)
267
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
 
269
  = Documentation =
270
 
271
- You can find extensive [documentation](http://codex.mycred.me/) on myCred related add-ons in the myCred Codex. You can also find a list of [frequently asked](https://mycred.me/faq/) questions on the myCred website.
272
 
273
 
274
  = Customizations =
@@ -303,7 +328,7 @@ If you're facing a problem that is not described in our technical documentation,
303
 
304
  == Frequently Asked Questions ==
305
 
306
- You can find a list of [frequently asked questions](https://mycred.me/faq/) on the myCRED website.
307
 
308
  == Screenshots ==
309
 
@@ -316,6 +341,9 @@ You can find a list of [frequently asked questions](https://mycred.me/faq/) on t
316
 
317
  == Upgrade Notice ==
318
 
 
 
 
319
  = 2.4.8.1 =
320
  Bug fixes.
321
 
@@ -414,6 +442,19 @@ The banking module have been replaced by Central deposite module, and interest r
414
 
415
  == Changelog ==
416
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
  = 2.4.8.1 =
418
  - **FIX** - Fixed erros in mycred_cashcred shortcode.
419
 
2
  Contributors: mycred,wpexpertsio
3
  Tags: badges, gamification, loyalty, points, rewards
4
  Requires at least: 4.8
5
+ Tested up to: 6.0.2
6
+ Stable tag: 2.4.9
7
  Requires PHP: 7.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
43
  * Added Email notification on Minimum balance in central deposit.
44
  * Added Email notification on No balance Left in central deposit.
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  = BECOME A VIP MEMBER OF THE MYCRED MEMBERSHIP CLUB =
47
 
48
  Join the myCred membership club today and take advantage of premium services that include priority customer support and hundreds of add-ons at a super-saver price - Save 30% on all 3-year plans!
67
  **- Buy Points**: The buyCred add-on allows your users to purchase points using real money using some of the most popular payment gateways available in the market today.
68
  **- Store Payments**: myCred supports some of the most popular store plugins for WordPress, allowing your users to pay for orders/tickets using their point balance instead of real money.
69
  **- Upload Point-type image**: Give your point type a unique identity by assigning them an image.
70
+ **- Import/Export User Points**: Import or export any user's myCred points.
71
+ **- Export All or Specific Point Types**: Export point types from the myCred system.
72
+ **- Export Setup Settings For Point Types**: Export any point type's setup settings.
73
+ **- Export/Import Format**: Import or export setup settings in JSON format
74
 
75
  = Badges =
76
 
83
  **- Badge Evidence Download Button** - Access Open Badges of any users on the website. The admin can also download any given badge images.
84
  **- The "Quick Edit" badge option** will allow you to modify the information of any particular badge.
85
  **- Social share setting** - Allow users to share their achieved badges on their social profiles.
86
+ **- Assign Badges/Ranks Using Coupons**: Users can earn badges or ranks on using coupons.
87
+ **- Import/Export All or Specific User Badges/Ranks**: Import or export user badges or ranks for specific or all users.
88
+ **- Import Badges/Ranks With ID/Title/Slug**: Import the ID, title or slug of any badge or rank.
89
 
90
  = cashCred =
91
  **GIVE USERS THE POWER TO CONVERT THEIR MYCRED POINTS INTO REAL MONEY.**
106
  **- Pay Through PayPal** - cashCred supports payment through PayPal.
107
  **- Pay Through Stripe** - cashCred supports payment through Stripe.
108
  **- Create email events/templates** for cashCred pending/approved/cancel requests.
109
+ **- Points Transfer** - cashCred points transfer between users.
110
+ **- Min/Max Fee** - Setup Numerical Difference (set a range for Minimum and Maximum fee).
111
+ **- Points or Percentage** - Setup Parameters (fees can be set up using points or percentage).
112
 
113
  = Template Tags =
114
 
154
  **- Enable/Disable add-ons** - Save time and use toggle buttons for enabling or disabling add-ons.
155
  **- Treasures** - A brand new collection of attractive graphical images that can be used for ranks and badges.
156
  **- Suggestions** - Submit your ideas and suggestions on the new suggestion page.
157
+ **- myCred Gutenberg** - Merged myCred Gutenberg to myCred Core.
158
+ **- Shortcode Support** - Gutenberg block support for the following shortcodes: mycred_cashcred, mycred_badges_list, mycred_buy_pending, mycred_chart_circulation, mycred_chart_gain_loss, mycred_chart_history, mycred_chart_balance_history, mycred_chart_top_balance, mycred_chart_instance_history and mycred_chart_top_instance.
159
+ **- Registered Reference** - All registered references will be listed on the support page.
160
 
161
  = BUILT-IN ADD-ONS =
162
 
182
  **Simple & organized** To keep your admin area organized, myCred will only show features and setting for those third-party plugins that are installed and enabled.
183
 
184
 
185
+ = INTEGRATIONS AND ADDONS FOR LEARNING MANAGEMENT SYSTEMS =
186
  myCred is integrated with a large number of popular learning management systems, that include:
187
 
188
+ - [myCred LearnDash](https://wordpress.org/plugins/mycred-learndash/)
189
+ - [myCred LifterLMS](https://wordpress.org/plugins/mycred-lifterlms-integration/)
190
+ - [WPLMS](https://wplms.io/support/knowledge-base/wplms-mycred-add-on/)
191
+ - [myCred LifterLMS](https://www.mycred.me/store/mycred-lifterlms-integration/)
192
+ - [myCred for Courseware](https://mycred.me/store/mycred-for-courseware/)
193
+ - [myCred LearnDash Point Importer](https://mycred.me/store/mycred-learndash-points-importer/)
194
+ - [myCred Tutor LMS](https://mycred.me/store/mycred-tutor-lms/)
195
+ - [myCred LearnPress](https://thimpress.com/product/mycred-add-on-for-learnpress/) (Paid third-party integration)
 
 
 
196
 
197
  = MYCRED OFFERS A VARIETY OF FREE PLUGINS THAT INCLUDE: =
198
 
 
199
  - [myCred Credly](https://www.mycred.me/store/mycred-credly/)
200
  - [myCred BP Group Leaderboards](https://www.mycred.me/store/mycred-bp-group-leaderboards/)
201
  - [myCred for WP-Pro-Quiz](https://www.mycred.me/store/mycred-for-wp-pro-quiz/)
202
  - [myCred for Rating Form](https://www.mycred.me/store/mycred-for-rating-form/)
203
+ - [myCred Elementor](https://www.mycred.me/store/mycred-elementor/)
204
+ - [myCred Zapier Addon](https://mycred.me/store/mycred-zapier-addon/)
205
+ - [myCred for BuddyPress Compliments](https://mycred.me/store/mycred-for-buddypress-compliments/)
206
+ - [myCred WP Simple Pay](https://mycred.me/store/mycred-wp-simple-pay/)
207
+ - [myCred MemberPress](https://mycred.me/store/mycred-memberpress/)
208
+ - [myCred GamiPress Importer](https://mycred.me/store/mycred-gamipress-importer/)
209
+ - [myCred Paid Membership Pro](https://mycred.me/store/mycred-paid-membership-pro/)
210
+ - [myCred H5P](https://mycred.me/store/mycred-h5p/)
211
+ - [myCred Amelila](https://mycred.me/store/mycred-amelia/)
212
+ - [myCred Badgr](https://mycred.me/store/mycred-badgr/)
213
+ - [myCred AnsPress](https://mycred.me/store/mycred-anspress/)
214
+ - [myCred Zoom](https://mycred.me/store/mycred-zoom/)
215
+ - [myCred BuddyBoss](https://mycred.me/store/mycred-buddyboss-add-on/)
216
+ - [myCred Github Rewards](https://mycred.me/store/mycred-github-rewards/)
217
+ - [myCred GiveWP](https://mycred.me/store/mycred-givewp/)
218
+ - [myCred Square](https://mycred.me/store/mycred-square/)
219
+ - [myCred for Event Espresso 4.6+](https://mycred.me/store/mycred-for-event-espresso-4/)
220
+ - [myCred for WP-PostRatings](https://mycred.me/store/mycred-for-wp-postratings/)
221
+ - [myCred Birthdays](https://mycred.me/store/mycred-birthdays/)
222
+ - [myCred for WP-PostViews](https://mycred.me/store/mycred-for-wp-postviews/)
223
+ - [myCred for TotalPoll](https://mycred.me/store/mycred-for-totalpoll/)
224
+ - [myCred Gutenberg](https://mycred.me/store/mycred-gutenberg/)
225
+ - [myCred for Events Manager Pro](https://mycred.me/store/mycred-for-events-manager-pro/)
226
+ - [myCred Retro](https://mycred.me/store/mycred-retro/)
227
+ - [myCred for GD Star Rating](https://mycred.me/store/mycred-for-gd-star-rating/)
228
  [Explore to find out more...](https://www.mycred.me/product-category/freebies/)
229
 
 
230
  = MYCRED'S THIRD-PARTY BRIDGES PLUGINS: =
231
 
232
+ - [myCred WooCommerce Plus](https://www.mycred.me/store/mycred-woocommerce-plus/)
233
+ - [myCred Beaver Builder](https://www.mycred.me/store/mycred-beaver-builder/)
 
234
  - [myCred Dokan](https://www.mycred.me/store/mycred-dokan/)
235
+ - [Easy Digital Downloads - myCred Gateway](https://www.mycred.me/store/mycred-for-easy-digital-downloads/)
 
236
  - [myCred for Users Ultra](https://www.mycred.me/store/mycred-for-users-ultra/)
237
+ - [myCred WCVendors](https://www.mycred.me/store/mycred-wc-vendors/)
238
+ - [myCred BP Charges](https://www.mycred.me/store/mycred-bp-charges/)
239
  - [myCred for User Pro](https://www.mycred.me/store/mycred-for-user-pro/)
240
+ - [myCred for WPBakery Page Builder](https://www.mycred.me/store/mycred-for-wpbakery-page-builder/)
241
 
242
+ = MYCRED'S BUYCRED GATEWAYS
243
 
244
+ - [Stripe - buyCred Gateway](https://www.mycred.me/store/buycred-stripe/)
245
+ - [Paystack - buyCred Gateway](https://mycred.me/store/buycred-paystack/)
246
+ - [Paymentwall - buyCred Gateway](https://mycred.me/store/buycred-paymentwall/)
247
+ - [ComproPago - buyCred Gateway](https://mycred.me/store/buycred-compropago/)
248
+ - [2Checkout - buyCred Gateway](https://mycred.me/store/buycred-co2/)
249
+ - [Robokassa - buyCred Gateway](https://mycred.me/store/buycred-robokassa/)
250
+ - [Coinbase - buyCred Gateway](https://mycred.me/store/buycred-coinbase/)
251
+ - [CoinPayments - buyCred Gateway](https://mycred.me/store/buycred-coinpayment/)
252
+ - [PayFast - buyCred Gateway](https://mycred.me/store/buycred-payfast/)
253
+ - [WePay - buyCred Gateway](https://mycred.me/store/buycred-wepay/)
254
+ - [Payza - buyCred Gateway](https://mycred.me/store/buycred-payza/)
255
+
256
+ = MYCRED'S CASHCRED GATEWAYS
257
+
258
+ - [PayPal - cashCred Gateway](https://mycred.me/store/cashcred-paypal/)
259
+ - [Stripe - cashCred Gateway](https://mycred.me/store/cashcred-stripe/)
260
+ - [PayStack - cashCred Gateway](https://mycred.me/store/cashcred-paystack/)
261
 
262
+ = MYCRED'S GAMIFICATION PLUGINS: =
263
+
264
+ - [myCred Arcade Game](https://www.mycred.me/store/mycred-pacman/)
265
+ - [myCred Spin Wheel](https://www.mycred.me/store/wheel-of-fortune-add-on/)
266
 
267
  = MYCRED'S ENHANCEMENT PLUGINS: =
268
 
269
+ - [myCred Notifications Plus Add-on](https://www.mycred.me/store/notifications-plus-add-on/)
270
+ - [myCred Transfer Plus](https://www.mycred.me/store/transfer-plus/)
271
+ - [myCred Video Add-on For Vimeo](https://www.mycred.me/store/video-add-on/)
 
 
 
 
 
 
272
  - [myCred Progress Bar Add on](https://www.mycred.me/store/mycred-progress-bar-add-on/)
273
  - [myCred Video Add-on For JW Player](https://www.mycred.me/store/jw-player-with-mycred/)
 
274
  - [myCred Rest API](https://www.mycred.me/store/mycred-rest-api/)
275
+ - [myCred SMS Payments - Twilio Transfers](https://www.mycred.me/store/sms-payments/)
276
+ - [myCred Expiration Add on](https://www.mycred.me/store/mycred-expiration-add-on/)
277
+ - [myCred Social Share Add on](https://www.mycred.me/store/mycred-social-share-add-on/)
278
+ - [myCred Level Cred](https://www.mycred.me/store/mycred-level-cred/)
279
+ - [myCred Social Proof](https://www.mycred.me/store/mycred-social-proof/)
280
+ - [myCred Reset Points](https://mycred.me/store/mycred-reset-point-add-on/)
281
+ - [myCred Progress Map](https://mycred.me/store/mycred-progress-map/)
282
+ - [myCred Points Cap](https://mycred.me/store/mycred-points-cap/)
283
+ - [myCred Time-Based Rewards](https://mycred.me/store/mycred-time-base-reward/)
284
+ - [myCred Email Digest](https://mycred.me/store/mycred-email-digest/)
285
+ - [myCred Coupon Plus](https://mycred.me/store/mycred-coupon-plus/)
286
+ - [myCred Birthday Plus](https://mycred.me/store/mycred-birthday-plus/)
287
+ - [myCred Daily Login Rewards](https://mycred.me/store/mycred-daily-login-rewards/)
288
+ - [myCred Anniversary Pro](https://mycred.me/store/mycred-anniversary-pro/)
289
+ - [myCred Submission](https://mycred.me/store/mycred-form-submission/)
290
+ - [mycred Nomination](https://mycred.me/store/mycred-nomination-form/)
291
+ - [myCred Email Plus](https://mycred.me/store/mycred-email-plus/)
292
+ - [myCred To-Do List](https://mycred.me/store/mycred-todo-list/)
293
 
294
  = Documentation =
295
 
296
+ You can find extensive [documentation](http://codex.mycred.me/) on myCred related add-ons in the myCred Codex. You can also find a list of [frequently asked](https://mycred.me/about/faq/) questions on the myCred website.
297
 
298
 
299
  = Customizations =
328
 
329
  == Frequently Asked Questions ==
330
 
331
+ You can find a list of [frequently asked questions](https://mycred.me/about/faq/) on the myCRED website.
332
 
333
  == Screenshots ==
334
 
341
 
342
  == Upgrade Notice ==
343
 
344
+ = 2.4.9 =
345
+ New features and Bug fixes.
346
+
347
  = 2.4.8.1 =
348
  Bug fixes.
349
 
442
 
443
  == Changelog ==
444
 
445
+ = 2.4.9 =
446
+ - **NEW** - Introduced title, excerpt, and display attributes in mycred_my_badges shortcode.
447
+ - **NEW** - Added support in myCred referral hook for "New User Approve".
448
+ - **NEW** - Added email trigger in Email Notification for manually assigned rank.
449
+ - **TWEAK** - Registered a points bulk assign reference.
450
+ - **TWEAK** - Code improvement in mycred_my_badges shortcode.
451
+ - **FIX** - Award / Revoke by User Role was not working.
452
+ - **FIX** - PHP notices were resolved.
453
+ - **FIX** - Filter hooks were not working properly after the last update.
454
+ - **FIX** - Sorting by points not working at Users Page.
455
+ - **FIX** - Fixed cashCred vulnerabilities.
456
+ - **FIX** - Fixed CSS conflicts.
457
+
458
  = 2.4.8.1 =
459
  - **FIX** - Fixed erros in mycred_cashcred shortcode.
460