myCRED - Version 1.6

Version Description

New Features, Big Improvements and Bug Fixes.

=

Download this release

Release Info

Developer designbymerovingi
Plugin Icon 128x128 myCRED
Version 1.6
Comparing to
See all releases

Code changes from version 1.5.4 to 1.6

Files changed (84) hide show
  1. abstracts/mycred-abstract-hook.php +141 -7
  2. abstracts/mycred-abstract-module.php +34 -5
  3. addons/badges/assets/css/admin.css +16 -1
  4. addons/badges/includes/mycred-badge-functions.php +76 -53
  5. addons/badges/includes/mycred-badge-shortcodes.php +40 -20
  6. addons/badges/myCRED-addon-badges.php +602 -204
  7. addons/banking/services/mycred-bank-service-interest.php +10 -4
  8. addons/banking/services/mycred-bank-service-payouts.php +2 -1
  9. addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php +52 -20
  10. addons/buy-creds/gateways/netbilling.php +1 -1
  11. addons/buy-creds/gateways/paypal-standard.php +2 -9
  12. addons/buy-creds/gateways/skrill.php +7 -13
  13. addons/buy-creds/gateways/zombaio.php +2 -2
  14. addons/buy-creds/myCRED-addon-buy-creds.php +16 -17
  15. addons/coupons/myCRED-addon-coupons.php +103 -41
  16. addons/email-notices/assets/css/edit-email-notice.css +21 -0
  17. addons/email-notices/{css → assets/css}/email-notice.css +0 -0
  18. addons/email-notices/{css → assets/css}/index.php +0 -0
  19. addons/{notifications/css → email-notices/assets}/index.php +0 -0
  20. addons/email-notices/css/edit-email-notice.css +0 -11
  21. addons/email-notices/myCRED-addon-email-notices.php +203 -59
  22. addons/gateway/carts/mycred-marketpress.php +13 -7
  23. addons/gateway/carts/mycred-woocommerce.php +46 -27
  24. addons/gateway/carts/mycred-wpecommerce.php +7 -4
  25. addons/gateway/event-booking/mycred-eventsmanager.php +1 -1
  26. addons/gateway/myCRED-addon-gateway.php +16 -14
  27. addons/notifications/{js → assets/css}/index.php +0 -0
  28. addons/notifications/{css → assets/css}/notify.css +0 -0
  29. addons/{ranks/js → notifications/assets}/index.php +0 -0
  30. addons/{transfer/css → notifications/assets/js}/index.php +0 -0
  31. addons/notifications/{js → assets/js}/notify.js +1 -1
  32. addons/notifications/myCRED-addon-notifications.php +96 -52
  33. addons/{transfer/js → ranks/assets}/index.php +0 -0
  34. addons/ranks/assets/js/index.php +3 -0
  35. addons/ranks/{js → assets/js}/management.js +9 -7
  36. addons/ranks/assets/js/tweaks.js +18 -0
  37. addons/ranks/includes/mycred-rank-functions.php +318 -118
  38. addons/ranks/includes/mycred-rank-shortcodes.php +96 -26
  39. addons/ranks/myCRED-addon-ranks.php +916 -304
  40. addons/sell-content/myCRED-addon-sell-content.php +47 -28
  41. addons/stats/abstracts/index.php +3 -0
  42. addons/stats/abstracts/mycred-abstract-stat-widget.php +186 -0
  43. addons/stats/assets/css/index.php +3 -0
  44. addons/stats/assets/css/stats-page.css +56 -0
  45. addons/stats/assets/index.php +3 -0
  46. addons/stats/assets/js/Chart.js +3421 -0
  47. addons/stats/assets/js/index.php +3 -0
  48. addons/stats/includes/index.php +3 -0
  49. addons/stats/includes/mycred-stats-functions.php +192 -0
  50. addons/stats/index.php +3 -0
  51. addons/stats/myCRED-addon-stats.php +336 -0
  52. addons/stats/widgets/index.php +3 -0
  53. addons/stats/widgets/mycred-stats-widget-circulation.php +262 -0
  54. addons/stats/widgets/mycred-stats-widget-daily-gains.php +214 -0
  55. addons/stats/widgets/mycred-stats-widget-daily-loses.php +214 -0
  56. addons/transfer/assets/css/index.php +3 -0
  57. addons/transfer/{css → assets/css}/transfer.css +0 -0
  58. addons/transfer/assets/index.php +3 -0
  59. addons/transfer/assets/js/index.php +3 -0
  60. addons/transfer/{js → assets/js}/transfer.js +1 -0
  61. addons/transfer/includes/index.php +3 -0
  62. addons/transfer/includes/mycred-transfer-functions.php +151 -0
  63. addons/transfer/includes/mycred-transfer-shortcodes.php +262 -0
  64. addons/transfer/includes/mycred-transfer-widgets.php +161 -0
  65. addons/transfer/myCRED-addon-transfer.php +100 -587
  66. assets/css/admin.css +10 -8
  67. assets/css/inline-edit.css +2 -2
  68. assets/js/management.js +83 -2
  69. includes/mycred-about.php +25 -50
  70. includes/mycred-admin.php +10 -7
  71. includes/mycred-depreciated.php +0 -356
  72. includes/mycred-functions.php +270 -68
  73. includes/mycred-install.php +6 -4
  74. includes/mycred-leaderboard.php +0 -320
  75. includes/mycred-overview.php +3 -3
  76. includes/mycred-protect.php +40 -25
  77. includes/mycred-remote.php +1 -1
  78. includes/mycred-shortcodes.php +236 -231
  79. includes/mycred-update.php +73 -3
  80. includes/mycred-widgets.php +266 -230
  81. lang/mycred-en_US.mo +0 -0
  82. lang/mycred-en_US.po +1820 -1403
  83. lang/mycred-es_ES.mo +0 -0
  84. lang/mycred-es_ES.po +1514 -1208
abstracts/mycred-abstract-hook.php CHANGED
@@ -3,9 +3,9 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
 
4
  /**
5
  * myCRED_Hook class
6
- * @see http://mycred.me/classes/mycred_hook/
7
  * @since 0.1
8
- * @version 1.1.1
9
  */
10
  if ( ! class_exists( 'myCRED_Hook' ) ) {
11
  abstract class myCRED_Hook {
@@ -16,6 +16,9 @@ if ( ! class_exists( 'myCRED_Hook' ) ) {
16
  // myCRED_Settings Class
17
  public $core;
18
 
 
 
 
19
  // Multipoint types
20
  public $is_main_type = true;
21
  public $mycred_type = 'mycred_default';
@@ -35,6 +38,7 @@ if ( ! class_exists( 'myCRED_Hook' ) ) {
35
 
36
  // Grab myCRED Settings
37
  $this->core = mycred( $type );
 
38
 
39
  if ( $type != '' ) {
40
  $this->core->cred_id = sanitize_text_field( $type );
@@ -147,23 +151,153 @@ if ( ! class_exists( 'myCRED_Hook' ) ) {
147
  return $option_id . '-' . str_replace( '_', '-', $this->id ) . '-' . $field;
148
  }
149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  /**
151
  * Impose Limits Dropdown
152
  * @since 0.1
153
- * @version 1.2
154
  */
155
  function impose_limits_dropdown( $pref_id = '', $use_select = true ) {
156
  $limits = array(
157
  '' => __( 'No limit', 'mycred' ),
158
  'twentyfour' => __( 'Once every 24 hours', 'mycred' ),
159
- 'twelve' => __( 'Once every 12 hours', 'mycred' ),
160
  'sevendays' => __( 'Once every 7 days', 'mycred' ),
161
  'daily' => __( 'Once per day (reset at midnight)', 'mycred' )
162
  );
163
- $limits = apply_filters( 'mycred_hook_impose_limits', $limits );
164
 
165
  echo '<select name="' . $this->field_name( $pref_id ) . '" id="' . $this->field_id( $pref_id ) . '">';
166
-
167
  if ( $use_select )
168
  echo '<option value="">' . __( 'Select', 'mycred' ) . '</option>';
169
 
@@ -206,7 +340,7 @@ if ( ! class_exists( 'myCRED_Hook' ) ) {
206
  function available_template_tags( $available = array(), $custom = '' ) {
207
  return $this->core->available_template_tags( $available, $custom );
208
  }
209
-
210
  /**
211
  * Over Daily Limit
212
  * @since 1.0
3
 
4
  /**
5
  * myCRED_Hook class
6
+ * @see http://codex.mycred.me/classes/mycred_hook/
7
  * @since 0.1
8
+ * @version 1.3
9
  */
10
  if ( ! class_exists( 'myCRED_Hook' ) ) {
11
  abstract class myCRED_Hook {
16
  // myCRED_Settings Class
17
  public $core;
18
 
19
+ // Point Types
20
+ public $point_types;
21
+
22
  // Multipoint types
23
  public $is_main_type = true;
24
  public $mycred_type = 'mycred_default';
38
 
39
  // Grab myCRED Settings
40
  $this->core = mycred( $type );
41
+ $this->point_types = mycred_get_types();
42
 
43
  if ( $type != '' ) {
44
  $this->core->cred_id = sanitize_text_field( $type );
151
  return $option_id . '-' . str_replace( '_', '-', $this->id ) . '-' . $field;
152
  }
153
 
154
+ /**
155
+ * Check Limit
156
+ * @since 1.6
157
+ * @version 1.0.2
158
+ */
159
+ function over_hook_limit( $instance = '', $reference = '', $user_id = NULL ) {
160
+
161
+ if ( ! isset( $this->prefs[ $instance ] ) && $instance != '' )
162
+ return true;
163
+
164
+ // If hook uses multiple instances
165
+ if ( isset( $this->prefs[ $instance ]['limit'] ) ) {
166
+ if ( $this->prefs[ $instance ]['limit'] == '0/x' ) return false;
167
+ $prefs = $this->prefs[ $instance ]['limit'];
168
+ }
169
+
170
+ // Else if hook uses single instance
171
+ elseif ( isset( $this->prefs['limit'] ) ) {
172
+ if ( $this->prefs['limit'] == '0/x' ) return false;
173
+ $prefs = $this->prefs['limit'];
174
+ }
175
+
176
+ // no support for limits
177
+ else {
178
+ return false;
179
+ }
180
+
181
+ // If the user ID is not set use the current one
182
+ if ( $user_id === NULL )
183
+ $user_id = get_current_user_id();
184
+
185
+ list ( $amount, $period ) = explode( '/', $prefs );
186
+ $amount = (int) $amount;
187
+
188
+ global $wpdb;
189
+
190
+ $from = '';
191
+ $until = current_time( 'timestamp' );
192
+ if ( $period == 'd' )
193
+ $from = $wpdb->prepare( "AND time BETWEEN %d AND %d", mktime( 0, 0, 0, date( 'n', $until ), date( 'j', $until ), date( 'Y', $until ) ), $until );
194
+
195
+ elseif ( $period == 'w' )
196
+ $from = $wpdb->prepare( "AND time BETWEEN %d AND %d", mktime( 0, 0, 0, date( 'n', $until ), date( 'j', $until ) - date( 'N', $until ) + 1 ), $until );
197
+
198
+ elseif ( $period == 'm' )
199
+ $from = $wpdb->prepare( "AND time BETWEEN %d AND %d", mktime( 0, 0, 0, date( 'n', $until ), 1, date( 'Y', $until ) ), $until );
200
+
201
+ $count = $wpdb->get_var( $wpdb->prepare( "
202
+ SELECT COUNT(*)
203
+ FROM {$this->core->log_table}
204
+ WHERE user_id = %d
205
+ AND ref = %s {$from};", $user_id, $reference ) );
206
+
207
+ if ( $count === NULL ) $count = 0;
208
+
209
+ $result = false;
210
+ if ( $period != 'x' && $count >= $amount )
211
+ $result = true;
212
+
213
+ return $result;
214
+
215
+ }
216
+
217
+ /**
218
+ * Get Limit Types
219
+ * @since 1.6
220
+ * @version 1.0
221
+ */
222
+ function get_limit_types() {
223
+
224
+ return apply_filters( 'mycred_hook_limits', array(
225
+ 'x' => __( 'No limit', 'mycred' ),
226
+ 'd' => __( '/ Day', 'mycred' ),
227
+ 'w' => __( '/ Week', 'mycred' ),
228
+ 'm' => __( '/ Month', 'mycred' ),
229
+ 't' => __( 'in Total', 'mycred' )
230
+ ), $this );
231
+
232
+ }
233
+
234
+ /**
235
+ * Select Limit
236
+ * @since 1.6
237
+ * @version 1.0
238
+ */
239
+ function hook_limit_setting( $name = '', $id = '', $selected = '' ) {
240
+
241
+ // Convert string value into an array
242
+ $check = explode( '/', $selected );
243
+ $count = count( $check );
244
+
245
+ if ( $count == 0 || ( $count == 1 && $check[0] == 0 ) )
246
+ $selected = array( 0, 'x' );
247
+ elseif ( $count == 1 && $check[0] != '' && is_numeric( $check[0] ) )
248
+ $selected = array( (int) $check[0], 'd' );
249
+ else
250
+ $selected = $check;
251
+
252
+ // Hide value field if no limit is set
253
+ $hide = 'text';
254
+ if ( $selected[1] == 'x' )
255
+ $hide = 'hidden';
256
+
257
+ // The limit value field
258
+ $output = '<div class="h2"><input type="' . $hide . '" size="8" class="mini" name="' . $name . '" id="' . $id . '" value="' . $selected[0] . '" />';
259
+
260
+ // Get limit options
261
+ $options = $this->get_limit_types();
262
+
263
+ // Adjust the field name
264
+ $name = str_replace( '[limit]', '[limit_by]', $name );
265
+ $name = str_replace( '[alimit]', '[alimit_by]', $name );
266
+ $name = apply_filters( 'mycred_hook_limit_name_by', $name, $this );
267
+
268
+ // Adjust the field id
269
+ $id = str_replace( 'limit', 'limit-by', $id );
270
+ $id = str_replace( 'alimit', 'alimit-by', $id );
271
+ $id = apply_filters( 'mycred_hook_limit_id_by', $id, $this );
272
+
273
+ // Generate dropdown menu
274
+ $output .= '<select name="' . $name . '" id="' . $id . '" class="limit-toggle">';
275
+ foreach ( $options as $value => $label ) {
276
+ $output .= '<option value="' . $value . '"';
277
+ if ( $selected[1] == $value ) $output .= ' selected="selected"';
278
+ $output .= '>' . $label . '</option>';
279
+ }
280
+ $output .= '</select></div>';
281
+ return $output;
282
+
283
+ }
284
+
285
  /**
286
  * Impose Limits Dropdown
287
  * @since 0.1
288
+ * @version 1.3
289
  */
290
  function impose_limits_dropdown( $pref_id = '', $use_select = true ) {
291
  $limits = array(
292
  '' => __( 'No limit', 'mycred' ),
293
  'twentyfour' => __( 'Once every 24 hours', 'mycred' ),
 
294
  'sevendays' => __( 'Once every 7 days', 'mycred' ),
295
  'daily' => __( 'Once per day (reset at midnight)', 'mycred' )
296
  );
297
+ $limits = apply_filters( 'mycred_hook_impose_limits', $limits, $this );
298
 
299
  echo '<select name="' . $this->field_name( $pref_id ) . '" id="' . $this->field_id( $pref_id ) . '">';
300
+
301
  if ( $use_select )
302
  echo '<option value="">' . __( 'Select', 'mycred' ) . '</option>';
303
 
340
  function available_template_tags( $available = array(), $custom = '' ) {
341
  return $this->core->available_template_tags( $available, $custom );
342
  }
343
+
344
  /**
345
  * Over Daily Limit
346
  * @since 1.0
abstracts/mycred-abstract-module.php CHANGED
@@ -3,9 +3,9 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
 
4
  /**
5
  * myCRED_Module class
6
- * @see http://mycred.me/classes/mycred_module/
7
  * @since 0.1
8
- * @version 1.3
9
  */
10
  if ( ! class_exists( 'myCRED_Module' ) ) {
11
  abstract class myCRED_Module {
@@ -41,6 +41,10 @@ if ( ! class_exists( 'myCRED_Module' ) ) {
41
 
42
  public $mycred_type;
43
 
 
 
 
 
44
  public $pages = array();
45
 
46
  /**
@@ -62,6 +66,8 @@ if ( ! class_exists( 'myCRED_Module' ) ) {
62
  if ( $this->mycred_type != 'mycred_default' )
63
  $this->is_main_type = false;
64
 
 
 
65
  // Default arguments
66
  $defaults = array(
67
  'module_name' => '',
@@ -191,7 +197,7 @@ if ( ! class_exists( 'myCRED_Module' ) ) {
191
  * @version 1.0
192
  */
193
  function load() {
194
- if ( ! empty( $this->screen_id ) && ! empty( $this->labels ) ) {
195
  add_action( 'mycred_add_menu', array( $this, 'add_menu' ), $this->menu_pos );
196
  add_action( 'admin_init', array( $this, 'set_entries_per_page' ) );
197
  }
@@ -273,7 +279,7 @@ if ( ! class_exists( 'myCRED_Module' ) ) {
273
  }
274
 
275
  // Function
276
- elseif( ! is_array( $callback ) ) {
277
  if ( function_exists( $callback ) ) {
278
  if ( $return !== NULL )
279
  return call_user_func( $callback, $return, $this );
@@ -489,7 +495,7 @@ h4.ui-accordion-header:before { content: "<?php _e( 'click to open', 'mycred' );
489
  * @since 0.1
490
  * @version 1.0
491
  */
492
- function after_general_settings() { }
493
 
494
  /**
495
  * Sanitize Core Settings
@@ -578,6 +584,29 @@ h4.ui-accordion-header:before { content: "<?php _e( 'click to open', 'mycred' );
578
 
579
  return add_query_arg( $variables, admin_url( 'admin.php' ) );
580
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
581
  }
582
  }
583
  ?>
3
 
4
  /**
5
  * myCRED_Module class
6
+ * @see http://codex.mycred.me/classes/mycred_module/
7
  * @since 0.1
8
+ * @version 1.3.2
9
  */
10
  if ( ! class_exists( 'myCRED_Module' ) ) {
11
  abstract class myCRED_Module {
41
 
42
  public $mycred_type;
43
 
44
+ public $point_types;
45
+
46
+ public $current_user_id;
47
+
48
  public $pages = array();
49
 
50
  /**
66
  if ( $this->mycred_type != 'mycred_default' )
67
  $this->is_main_type = false;
68
 
69
+ $this->point_types = mycred_get_types();
70
+
71
  // Default arguments
72
  $defaults = array(
73
  'module_name' => '',
197
  * @version 1.0
198
  */
199
  function load() {
200
+ if ( ! empty( $this->screen_id ) && ! empty( $this->labels['menu'] ) ) {
201
  add_action( 'mycred_add_menu', array( $this, 'add_menu' ), $this->menu_pos );
202
  add_action( 'admin_init', array( $this, 'set_entries_per_page' ) );
203
  }
279
  }
280
 
281
  // Function
282
+ elseif ( ! is_array( $callback ) ) {
283
  if ( function_exists( $callback ) ) {
284
  if ( $return !== NULL )
285
  return call_user_func( $callback, $return, $this );
495
  * @since 0.1
496
  * @version 1.0
497
  */
498
+ function after_general_settings( $mycred ) { }
499
 
500
  /**
501
  * Sanitize Core Settings
584
 
585
  return add_query_arg( $variables, admin_url( 'admin.php' ) );
586
  }
587
+
588
+ /**
589
+ * Request to Entry
590
+ * @since 1.6
591
+ * @version 1.0
592
+ */
593
+ public function request_to_entry( $request ) {
594
+
595
+ $entry = new stdClass();
596
+
597
+ $entry->id = -1;
598
+ $entry->ref = $request['ref'];
599
+ $entry->ref_id = $request['ref_id'];
600
+ $entry->user_id = $request['user_id'];
601
+ $entry->time = current_time( 'timestamp' );
602
+ $entry->entry = $request['entry'];
603
+ $entry->data = $request['data'];
604
+ $entry->ctype = $request['type'];
605
+
606
+ return $entry;
607
+
608
+ }
609
+
610
  }
611
  }
612
  ?>
addons/badges/assets/css/admin.css CHANGED
@@ -1,4 +1,19 @@
1
  th#title { width: 20%; }
2
  th#badge-images { width: 40%; }
3
  th#badge-reqs { width: 30%; }
4
- th#badge-users { width: 10%; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  th#title { width: 20%; }
2
  th#badge-images { width: 40%; }
3
  th#badge-reqs { width: 30%; }
4
+ th#badge-users { width: 10%; }
5
+
6
+ div#edit-badges-page ul#profile-nav { border-bottom:solid 1px #ccc; width:100%; margin-top:1em; margin-bottom:1em; padding:1em 0; padding-bottom: 0; height:2.4em; }
7
+ div#badge-wrapper { width: 100%; margin: 0; padding: 0; float: none; clear: both; }
8
+ div#badge-wrapper .the-badge { width: 18%; padding: 12px 1%; float: left; margin: 0; text-align: center; }
9
+ div#badge-wrapper .the-badge h4 { margin-top: 0; }
10
+ div#badge-wrapper .the-badge .badge-image-wrap { padding: 24px; }
11
+ div#badge-wrapper .the-badge .badge-image-wrap span { display: block; width: 98px; height: 98px; border: 1px dashed #ddd; margin: 0 auto; line-height: 100px; color: #ddd; }
12
+ div#badge-wrapper .the-badge .badge-image-wrap img { margin: 0 auto; padding: 0; display: block; width: 100px; height: auto; }
13
+ div#badge-wrapper .the-badge .badge-status { border-top: 1px solid #ddd; padding-top: 12px; }
14
+ div#badge-wrapper .the-badge .badge-status label { font-weight: bold; display: block; }
15
+ div#badge-wrapper .the-badge .badge-status .earned { color: green; }
16
+ div#badge-wrapper .the-badge .badge-status .not-earned { color: red; }
17
+ div#badge-wrapper .the-badge .badge-actions { }
18
+ div#badge-wrapper .the-badge .badge-actions ul { margin: 0; padding: 12px 0 0 0; }
19
+ div#badge-wrapper .the-badge .badge-actions ul li { list-style-type: none; margin: 0; padding: 0 0 12px 0; }
addons/badges/includes/mycred-badge-functions.php CHANGED
@@ -44,9 +44,10 @@ if ( ! function_exists( 'mycred_display_badge_requirement' ) ) :
44
 
45
  $types = mycred_get_types();
46
  $references = mycred_get_all_references();
 
47
 
48
  $output = array();
49
- foreach ( $requirements as $row => $needs ) {
50
 
51
  if ( ! isset( $types[ $needs['type'] ] ) )
52
  continue;
@@ -59,13 +60,17 @@ if ( ! function_exists( 'mycred_display_badge_requirement' ) ) :
59
  else
60
  $ref = $references[ $needs['reference'] ];
61
 
 
 
 
 
62
  if ( $needs['by'] == 'count' )
63
- $output[] = sprintf( _x( '%s for %s %s', '"Points" for "reference" "x time(s)"', 'mycred' ), $point_type, $ref, sprintf( _n( '1 time', '%d times', $needs['amount'], 'mycred' ), $needs['amount'] ) );
64
  else
65
  $output[] = sprintf( _x( '%s for %s in total', '"x points" for "reference" in total', 'mycred' ), $mycred->format_creds( $needs['amount'] ), $ref );
66
 
67
  }
68
- $reply = implode( $sep, $output ) . '.';
69
 
70
  }
71
 
@@ -119,12 +124,12 @@ endif;
119
  * Reference Has Badge
120
  * Checks if a given reference has a badge associated with it.
121
  * @since 1.5
122
- * @version 1.0
123
  */
124
  if ( ! function_exists( 'mycred_ref_has_badge' ) ) :
125
- function mycred_ref_has_badge( $reference = '' )
126
  {
127
- if ( $reference == '' ) return false;
128
 
129
  global $wpdb;
130
 
@@ -132,12 +137,12 @@ if ( ! function_exists( 'mycred_ref_has_badge' ) ) :
132
  SELECT post_id
133
  FROM {$wpdb->postmeta}
134
  WHERE meta_key = %s
135
- AND meta_value LIKE %s;", 'badge_requirements', '%' . $reference . '%' ) );
136
 
137
  if ( empty( $badge_ids ) )
138
  $badge_ids = false;
139
 
140
- return apply_filters( 'mycred_ref_has_badge', $badge_ids, $reference );
141
  }
142
  endif;
143
 
@@ -145,63 +150,68 @@ endif;
145
  * Check if User Gets Badge
146
  * Checks if a given user has earned one or multiple badges.
147
  * @since 1.5
148
- * @version 1.0
149
  */
150
  if ( ! function_exists( 'mycred_check_if_user_gets_badge' ) ) :
151
- function mycred_check_if_user_gets_badge( $user_id = NULL, $request = array(), $badge_ids = array() )
152
  {
153
  if ( $user_id === NULL || empty( $badge_ids ) ) return;
154
 
155
  global $wpdb;
156
 
 
157
  foreach ( $badge_ids as $badge_id ) {
158
 
159
- // See if user already has badge
160
- if ( mycred_get_user_meta( $user_id, 'mycred_badge' . $badge_id, '', true ) != '' ) continue;
161
-
162
  $requirements = mycred_get_badge_requirements( $badge_id );
163
- $needs = $requirements[0];
164
 
165
- $mycred = mycred( $needs['type'] );
166
- $mycred_log = $mycred->log_table;
167
 
168
- if ( $needs['by'] == 'count' ) {
169
- $select = 'COUNT( * )';
170
- $amount = $needs['amount'];
171
- }
172
- else {
173
- $select = 'SUM( creds )';
174
- $amount = $mycred->number( $needs['amount'] );
175
- }
176
 
177
- $result = $wpdb->get_var( $wpdb->prepare( "
178
- SELECT {$select}
179
- FROM {$mycred_log}
180
- WHERE user_id = %d
181
- AND ctype = %s
182
- AND ref = %s;", $user_id, $needs['type'], $needs['reference'] ) );
 
 
 
 
 
 
 
 
 
 
 
183
 
184
- // If this function is used by the mycred_add filter, we need to take into
185
- // account the instance that we are currently being hooked into as the log entry
186
- // will be added after this code has executed.
187
 
188
- // In case we sum up, add the points the user will gain to the result
189
- if ( ! isset( $request['done'] ) && $needs['by'] == 'sum' )
190
- $result = $result + $request['amount'];
191
 
192
- // Else if we add up, increment the count by the missing 1 entry.
193
- elseif ( ! isset( $request['done'] ) && $needs['by'] == 'count' )
194
- $result = $result + 1;
195
 
196
- if ( $needs['by'] != 'count' )
197
- $result = $mycred->number( $result );
 
198
 
199
- // Got it!
200
- if ( $result >= $amount ) {
201
- mycred_update_user_meta( $user_id, 'mycred_badge' . $badge_id, '', apply_filters( 'mycred_badge_user_value', 1, $user_id, $badge_id ) );
202
  }
203
 
204
  }
 
 
 
205
  }
206
  endif;
207
 
@@ -209,7 +219,7 @@ endif;
209
  * Get Users Badges
210
  * Returns the badge post IDs that a given user currently holds.
211
  * @since 1.5
212
- * @version 1.0
213
  */
214
  if ( ! function_exists( 'mycred_get_users_badges' ) ) :
215
  function mycred_get_users_badges( $user_id = NULL )
@@ -218,20 +228,27 @@ if ( ! function_exists( 'mycred_get_users_badges' ) ) :
218
 
219
  global $wpdb;
220
 
221
- $query = $wpdb->get_col( $wpdb->prepare( "
222
- SELECT meta_key
223
  FROM {$wpdb->usermeta}
224
  WHERE user_id = %d
225
  AND meta_key LIKE %s", $user_id, 'mycred_badge%' ) );
226
 
227
  $badge_ids = array();
228
  if ( ! empty( $query ) ) {
229
- foreach ( $query as $row => $badge ) {
230
- $badge_id = substr( $badge, 12 );
231
  if ( $badge_id == '' ) continue;
232
- $badge_ids[] = absint( $badge_id );
 
 
 
 
 
 
 
 
233
  }
234
- $badge_ids = array_unique( $badge_ids );
235
  }
236
 
237
  return apply_filters( 'mycred_get_users_badges', $badge_ids, $user_id );
@@ -257,8 +274,14 @@ if ( ! function_exists( 'mycred_display_users_badges' ) ) :
257
 
258
  if ( ! empty( $users_badges ) ) {
259
 
260
- foreach ( $users_badges as $badge_id )
261
- echo '<img src="' . get_post_meta( $badge_id, 'main_image', true ) . '" class="mycred-badge earned badge-id-' . $badge_id . '" alt="' . get_the_title( $badge_id ) . '" title="' . get_the_title( $badge_id ) . '" />';
 
 
 
 
 
 
262
 
263
  }
264
 
44
 
45
  $types = mycred_get_types();
46
  $references = mycred_get_all_references();
47
+ $req_count = count( $requirements );
48
 
49
  $output = array();
50
+ foreach ( $requirements as $level => $needs ) {
51
 
52
  if ( ! isset( $types[ $needs['type'] ] ) )
53
  continue;
60
  else
61
  $ref = $references[ $needs['reference'] ];
62
 
63
+ $level_label = '';
64
+ if ( $req_count > 1 )
65
+ $level_label = '<strong>' . sprintf( __( 'Level %s', 'mycred' ), ( $level + 1 ) ) . '</strong>';
66
+
67
  if ( $needs['by'] == 'count' )
68
+ $output[] = sprintf( _x( '%s for %s %s - %s', '"Points" for "reference" "x time(s)" - Level', 'mycred' ), $point_type, $ref, sprintf( _n( '1 time', '%d times', $needs['amount'], 'mycred' ), $needs['amount'] ), $level_label );
69
  else
70
  $output[] = sprintf( _x( '%s for %s in total', '"x points" for "reference" in total', 'mycred' ), $mycred->format_creds( $needs['amount'] ), $ref );
71
 
72
  }
73
+ $reply = implode( $sep, $output );
74
 
75
  }
76
 
124
  * Reference Has Badge
125
  * Checks if a given reference has a badge associated with it.
126
  * @since 1.5
127
+ * @version 1.2
128
  */
129
  if ( ! function_exists( 'mycred_ref_has_badge' ) ) :
130
+ function mycred_ref_has_badge( $reference = NULL, $request = NULL )
131
  {
132
+ if ( $reference === NULL ) return false;
133
 
134
  global $wpdb;
135
 
137
  SELECT post_id
138
  FROM {$wpdb->postmeta}
139
  WHERE meta_key = %s
140
+ AND meta_value LIKE %s;", 'badge_requirements', '%"' . $reference . '"%' ) );
141
 
142
  if ( empty( $badge_ids ) )
143
  $badge_ids = false;
144
 
145
+ return apply_filters( 'mycred_ref_has_badge', $badge_ids, $reference, $request );
146
  }
147
  endif;
148
 
150
  * Check if User Gets Badge
151
  * Checks if a given user has earned one or multiple badges.
152
  * @since 1.5
153
+ * @version 1.2
154
  */
155
  if ( ! function_exists( 'mycred_check_if_user_gets_badge' ) ) :
156
+ function mycred_check_if_user_gets_badge( $user_id = NULL, $badge_ids = array(), $save = true )
157
  {
158
  if ( $user_id === NULL || empty( $badge_ids ) ) return;
159
 
160
  global $wpdb;
161
 
162
+ $ids = array();
163
  foreach ( $badge_ids as $badge_id ) {
164
 
165
+ $level = false;
 
 
166
  $requirements = mycred_get_badge_requirements( $badge_id );
167
+ foreach ( $requirements as $req_level => $needs ) {
168
 
169
+ $mycred = mycred( $needs['type'] );
 
170
 
171
+ // Count occurences
172
+ if ( $needs['by'] == 'count' ) {
173
+ $select = 'COUNT( id )';
174
+ $amount = $needs['amount'];
175
+ }
 
 
 
176
 
177
+ // Sum up points
178
+ else {
179
+ $select = 'SUM( creds )';
180
+ $amount = $mycred->number( $needs['amount'] );
181
+ }
182
+
183
+ $result = $wpdb->get_var( apply_filters( 'mycred_if_user_gets_badge_sql', $wpdb->prepare( "
184
+ SELECT {$select}
185
+ FROM {$mycred->log_table}
186
+ WHERE user_id = %d
187
+ AND ctype = %s
188
+ AND ref = %s;", $user_id, $needs['type'], $needs['reference'] ), $user_id, $badge_id, $req_level, $needs ) );
189
+
190
+ if ( $result === NULL ) $result = 0;
191
+
192
+ if ( $needs['by'] != 'count' )
193
+ $result = $mycred->number( $result );
194
 
195
+ // Got it - save level
196
+ if ( $result >= $amount )
197
+ $level = $req_level;
198
 
199
+ // If a level has been reached assign it now unless the user has this level already
200
+ if ( $level !== false && mycred_get_user_meta( $user_id, 'mycred_badge' . $badge_id, '', true ) != $level ) {
 
201
 
202
+ if ( $save )
203
+ mycred_update_user_meta( $user_id, 'mycred_badge' . $badge_id, '', apply_filters( 'mycred_badge_user_value', $level, $user_id, $badge_id ) );
 
204
 
205
+ $ids[ $level ] = $badge_id;
206
+
207
+ }
208
 
 
 
 
209
  }
210
 
211
  }
212
+
213
+ return $ids;
214
+
215
  }
216
  endif;
217
 
219
  * Get Users Badges
220
  * Returns the badge post IDs that a given user currently holds.
221
  * @since 1.5
222
+ * @version 1.1
223
  */
224
  if ( ! function_exists( 'mycred_get_users_badges' ) ) :
225
  function mycred_get_users_badges( $user_id = NULL )
228
 
229
  global $wpdb;
230
 
231
+ $query = $wpdb->get_results( $wpdb->prepare( "
232
+ SELECT *
233
  FROM {$wpdb->usermeta}
234
  WHERE user_id = %d
235
  AND meta_key LIKE %s", $user_id, 'mycred_badge%' ) );
236
 
237
  $badge_ids = array();
238
  if ( ! empty( $query ) ) {
239
+ foreach ( $query as $badge ) {
240
+ $badge_id = substr( $badge->meta_key, 12 );
241
  if ( $badge_id == '' ) continue;
242
+
243
+ $badge_id = (int) $badge_id;
244
+ if ( array_key_exists( $badge_id, $badge_ids ) ) continue;
245
+
246
+ $requirements = mycred_get_badge_requirements( $badge_id );
247
+ if ( count( $requirements ) > 1 )
248
+ $badge_ids[ $badge_id ] = $badge->meta_value;
249
+ else
250
+ $badge_ids[ $badge_id ] = 0;
251
  }
 
252
  }
253
 
254
  return apply_filters( 'mycred_get_users_badges', $badge_ids, $user_id );
274
 
275
  if ( ! empty( $users_badges ) ) {
276
 
277
+ foreach ( $users_badges as $badge_id => $level ) {
278
+
279
+ $level_image = get_post_meta( $badge_id, 'level_image' . $level, true );
280
+ if ( $level_image == '' )
281
+ $level_image = get_post_meta( $badge_id, 'main_image', true );
282
+
283
+ echo '<img src="' . $level_image . '" class="mycred-badge earned badge-id-' . $badge_id . ' level-' . $level . '" alt="' . get_the_title( $badge_id ) . '" title="' . get_the_title( $badge_id ) . '" />';
284
+ }
285
 
286
  }
287
 
addons/badges/includes/mycred-badge-shortcodes.php CHANGED
@@ -5,22 +5,25 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
5
  * Shortcode: mycred_my_badges
6
  * Allows you to show the current users earned badges.
7
  * @since 1.5
8
- * @version 1.0.1
9
  */
10
  if ( ! function_exists( 'mycred_render_my_badges' ) ) :
11
  function mycred_render_my_badges( $atts, $content = '' )
12
  {
13
- if ( ! is_user_logged_in() ) return $content;
14
-
15
- $user_id = get_current_user_id();
16
- $users_badges = mycred_get_users_badges( $user_id );
17
-
18
  extract( shortcode_atts( array(
19
- 'show' => 'earned',
20
- 'width' => '',
21
- 'height' => ''
 
22
  ), $atts ) );
23
 
 
 
 
 
 
 
 
24
  if ( $width != '' )
25
  $width = ' width="' . $width . '"';
26
 
@@ -36,8 +39,15 @@ if ( ! function_exists( 'mycred_render_my_badges' ) ) :
36
 
37
  if ( ! empty( $users_badges ) ) {
38
 
39
- foreach ( $users_badges as $badge_id )
40
- echo '<img src="' . get_post_meta( $badge_id, 'main_image', true ) . '"' . $width . $height . ' class="mycred-badge earned" alt="' . get_the_title( $badge_id ) . '" title="' . get_the_title( $badge_id ) . '" />';
 
 
 
 
 
 
 
41
 
42
  }
43
 
@@ -51,13 +61,23 @@ if ( ! function_exists( 'mycred_render_my_badges' ) ) :
51
 
52
  echo '<div class="the-badge">';
53
 
54
- // User has earned badge
55
- if ( ! in_array( $badge->ID, $users_badges ) )
56
- echo '<img src="' . $badge->default_img . '"' . $width . $height . ' class="mycred-badge not-earned" alt="' . $badge->post_title . '" title="' . $badge->post_title . '" />';
57
-
58
  // User has not earned badge
59
- else
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  echo '<img src="' . $badge->main_img . '"' . $width . $height . ' class="mycred-badge earned" alt="' . $badge->post_title . '" title="' . $badge->post_title . '" />';
 
61
 
62
  echo '</div>';
63
 
@@ -83,11 +103,11 @@ if ( ! function_exists( 'mycred_render_badges' ) ) :
83
  function mycred_render_badges( $atts, $content = '' )
84
  {
85
  extract( shortcode_atts( array(
86
- 'show' => 'default',
87
- 'title' => 0,
88
  'requires' => 0,
89
- 'width' => '',
90
- 'height' => ''
91
  ), $atts ) );
92
 
93
  $all_badges = mycred_get_badges();
5
  * Shortcode: mycred_my_badges
6
  * Allows you to show the current users earned badges.
7
  * @since 1.5
8
+ * @version 1.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' => ''
18
  ), $atts ) );
19
 
20
+ if ( ! is_user_logged_in() && $user_id == '' ) return $content;
21
+
22
+ if ( $user_id == '' )
23
+ $user_id = get_current_user_id();
24
+
25
+ $users_badges = mycred_get_users_badges( $user_id );
26
+
27
  if ( $width != '' )
28
  $width = ' width="' . $width . '"';
29
 
39
 
40
  if ( ! empty( $users_badges ) ) {
41
 
42
+ foreach ( $users_badges as $badge_id ) {
43
+
44
+ $level_image = get_post_meta( $badge_id, 'level_image' . $level, true );
45
+ if ( $level_image == '' )
46
+ $level_image = get_post_meta( $badge_id, 'main_image', true );
47
+
48
+ echo '<img src="' . $level_image . '"' . $width . $height . ' class="mycred-badge earned" alt="' . get_the_title( $badge_id ) . '" title="' . get_the_title( $badge_id ) . '" />';
49
+
50
+ }
51
 
52
  }
53
 
61
 
62
  echo '<div class="the-badge">';
63
 
 
 
 
 
64
  // User has not earned badge
65
+ if ( ! array_key_exists( $badge->ID, $users_badges ) ) {
66
+
67
+ if ( $badge->default_img != '' )
68
+ echo '<img src="' . $badge->default_img . '"' . $width . $height . ' class="mycred-badge not-earned" alt="' . $badge->post_title . '" title="' . $badge->post_title . '" />';
69
+
70
+ }
71
+
72
+ // User has earned badge
73
+ else {
74
+
75
+ $level_image = get_post_meta( $badge->ID, 'level_image' . $users_badges[ $badge->ID ], true );
76
+ if ( $level_image == '' )
77
+ $level_image = $badge->main_img;
78
+
79
  echo '<img src="' . $badge->main_img . '"' . $width . $height . ' class="mycred-badge earned" alt="' . $badge->post_title . '" title="' . $badge->post_title . '" />';
80
+ }
81
 
82
  echo '</div>';
83
 
103
  function mycred_render_badges( $atts, $content = '' )
104
  {
105
  extract( shortcode_atts( array(
106
+ 'show' => 'default',
107
+ 'title' => 0,
108
  'requires' => 0,
109
+ 'width' => MYCRED_BADGE_WIDTH,
110
+ 'height' => MYCRED_BADGE_HEIGHT
111
  ), $atts ) );
112
 
113
  $all_badges = mycred_get_badges();
addons/badges/myCRED-addon-badges.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Addon: Badges
4
  * Addon URI: http://mycred.me/add-ons/badges/
5
- * Version: 1.0.1
6
  * Description: Give your users badges based on their interaction with your website.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
@@ -13,13 +13,21 @@ define( 'myCRED_BADGE', __FILE__ );
13
  define( 'myCRED_BADGE_DIR', myCRED_ADDONS_DIR . 'badges/' );
14
  define( 'myCRED_BADGE_VERSION', myCRED_VERSION . '.1' );
15
 
16
- include_once( myCRED_BADGE_DIR . 'includes/mycred-badge-functions.php' );
17
- include_once( myCRED_BADGE_DIR . 'includes/mycred-badge-shortcodes.php' );
 
 
 
 
 
 
 
 
18
 
19
  /**
20
  * myCRED_buyCRED_Module class
21
  * @since 1.5
22
- * @version 1.0
23
  */
24
  if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
25
  class myCRED_Badge_Module extends myCRED_Module {
@@ -31,8 +39,10 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
31
  parent::__construct( 'myCRED_Badge_Module', array(
32
  'module_name' => 'badges',
33
  'defaults' => array(
34
- 'buddypress' => '',
35
- 'bbpress' => ''
 
 
36
  ),
37
  'labels' => array(
38
  'menu' => __( 'Badges', 'mycred' ),
@@ -50,7 +60,7 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
50
  * @version 1.0
51
  */
52
  public function module_pre_init() {
53
- add_filter( 'mycred_add', array( $this, 'mycred_add' ), 99999, 3 );
54
  }
55
 
56
  /**
@@ -58,10 +68,19 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
58
  * @version 1.0.1
59
  */
60
  public function module_init() {
 
61
  $this->register_post_type();
 
62
  add_shortcode( 'mycred_my_badges', 'mycred_render_my_badges' );
63
  add_shortcode( 'mycred_badges', 'mycred_render_badges' );
64
 
 
 
 
 
 
 
 
65
  // Insert into bbPress
66
  if ( class_exists( 'bbPress' ) ) {
67
  if ( $this->badges['bbpress'] == 'profile' || $this->badges['bbpress'] == 'both' )
@@ -87,7 +106,8 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
87
  * @version 1.0
88
  */
89
  public function module_admin_init() {
90
- add_action( 'mycred_admin_enqueue', array( $this, 'enqueue_scripts' ) );
 
91
 
92
  add_filter( 'manage_mycred_badge_posts_columns', array( $this, 'adjust_column_headers' ) );
93
  add_action( 'manage_mycred_badge_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
@@ -99,16 +119,66 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
99
 
100
  add_action( 'add_meta_boxes_mycred_badge', array( $this, 'add_meta_boxes' ) );
101
  add_action( 'post_submitbox_start', array( $this, 'publishing_actions' ) );
102
- add_action( 'save_post', array( $this, 'save_badge_post' ) );
103
 
104
  add_action( 'wp_ajax_mycred-assign-badge', array( $this, 'action_assign_badge' ) );
105
  add_action( 'wp_ajax_mycred-remove-connections', array( $this, 'action_remove_connections' ) );
 
106
  }
107
 
108
  /**
109
- * AJAX: Assign Badge
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  * @version 1.0
111
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  public function action_assign_badge() {
113
  check_ajax_referer( 'mycred-assign-badge', 'token' );
114
 
@@ -117,37 +187,78 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
117
  if ( empty( $requirements ) )
118
  wp_send_json_error( 'This badge has no requirements set!' );
119
 
120
- $needs = $requirements[0];
121
- $mycred = mycred( $needs['type'] );
122
- $mycred_log = $mycred->log_table;
123
-
124
  global $wpdb;
125
 
126
- $sql = "
127
- SELECT user_id
128
- FROM {$mycred_log}
129
- WHERE " . $wpdb->prepare( "ctype = %s AND ref = %s ", $needs['type'], $needs['reference'] );
130
 
131
- $sql .= " GROUP by user_id ";
132
 
133
- $amount = $needs['amount'];
134
- if ( $needs['by'] == 'count' )
135
- $sql .= "HAVING COUNT( id ) >= {$amount}";
136
- else
137
- $sql .= "HAVING SUM( creds ) >= {$amount}";
138
 
139
- // Let others play
140
- $users = $wpdb->get_col( apply_filters( 'mycred_assign_badge_sql', $sql, $badge_id ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
- // Empty results = no one has earned this badge yet
143
- if ( empty( $users ) )
144
- wp_send_json_error( __( 'No users has yet earned this badge.', 'mycred' ) );
145
 
146
- // Assign badge
147
- foreach ( $users as $user_id )
148
- mycred_update_user_meta( $user_id, 'mycred_badge' . $badge_id, '', apply_filters( 'mycred_badge_user_value', 1, $user_id, $badge_id ) );
149
 
150
- wp_send_json_success( sprintf( __( '%d Users earned this badge.', 'mycred' ), count( $users ) ) );
151
  }
152
 
153
  /**
@@ -173,56 +284,84 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
173
 
174
  /**
175
  * Insert Badges into bbPress profile
176
- * @version 1.0
177
  */
178
  public function insert_into_bbpress_profile() {
 
179
  $user_id = bbp_get_displayed_user_id();
180
- mycred_display_users_badges( $user_id );
 
 
 
 
 
 
 
 
 
 
181
  }
182
 
183
  /**
184
  * Insert Badges into bbPress
185
- * @version 1.0.1
186
  */
187
  public function insert_into_bbpress_reply() {
 
188
  $user_id = bbp_get_reply_author_id();
189
- if ( $user_id > 0 )
190
- mycred_display_users_badges( $user_id );
 
 
 
 
 
 
 
 
 
 
 
 
 
191
  }
192
 
193
  /**
194
  * Insert Badges in BuddyPress
195
- * @version 1.0
196
  */
197
  public function insert_into_buddypress() {
 
198
  $user_id = bp_displayed_user_id();
199
- mycred_display_users_badges( $user_id );
 
 
 
 
 
 
 
 
 
 
200
  }
201
 
202
  /**
203
- * myCRED Add
204
- * @version 1.0
205
  */
206
- public function mycred_add( $reply, $request, $mycred ) {
207
- // Declined
208
- if ( $reply === false ) return $reply;
209
 
210
- extract( $request );
211
 
212
  // Check if this reference has badges
213
- $badge_ids = mycred_ref_has_badge( $ref );
214
- if ( $badge_ids === false ) return $reply;
215
-
216
- // Indicate the mycred_check_if_user_gets_badge function that
217
- // the log entry for this already exists.
218
- if ( $reply == 'done' ) {
219
- $request['done'] = true;
220
- }
221
 
222
  // Assign Badges
223
- mycred_check_if_user_gets_badge( $user_id, $request, $badge_ids );
224
 
225
- return $reply;
226
  }
227
 
228
  /**
@@ -264,14 +403,17 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
264
  * @version 1.0
265
  */
266
  public function enqueue_scripts() {
 
267
  $screen = get_current_screen();
268
-
269
- if ( $screen->id == 'mycred_badge' ) {
270
  wp_enqueue_media();
271
- }
272
- elseif ( $screen->id == 'edit-mycred_badge' ) {
273
  wp_enqueue_style( 'mycred-badge-admin', plugins_url( 'assets/css/admin.css', myCRED_BADGE ) );
274
- }
 
 
 
275
  }
276
 
277
  /**
@@ -279,17 +421,19 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
279
  * @version 1.0
280
  */
281
  public function adjust_column_headers( $defaults ) {
282
- // Remove
283
- unset( $defaults['date'] );
 
284
 
285
  // Add / Adjust
286
- $defaults['title'] = __( 'Badge Name', 'mycred' );
287
- $defaults['badge-default-image'] = __( 'Badge Images', 'mycred' );
288
- $defaults['badge-reqs'] = __( 'Requirements', 'mycred' );
289
- $defaults['badge-users'] = __( 'Users', 'mycred' );
290
 
291
  // Return
292
- return $defaults;
 
293
  }
294
 
295
  /**
@@ -297,28 +441,42 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
297
  * @version 1.0
298
  */
299
  public function adjust_column_content( $column_name, $post_id ) {
 
300
  // Default Image
301
  if ( $column_name == 'badge-default-image' ) {
302
  $default_image = get_post_meta( $post_id, 'default_image', true );
303
  if ( $default_image != '' )
304
- echo '<img src="' . $default_image . '" style="max-width: 100px;height: auto;" alt="" />';
305
 
306
  $main_image = get_post_meta( $post_id, 'main_image', true );
307
  if ( $main_image != '' )
308
- echo '<img src="' . $main_image . '" style="max-width: 100px;height: auto;" alt="" />';
309
 
310
  if ( $default_image == '' && $main_image == '' )
311
  echo '-';
 
 
 
 
 
 
 
 
 
 
312
  }
 
313
  // Badge Requirements
314
  elseif ( $column_name == 'badge-reqs' ) {
315
  echo '<small>' . __( 'A user must have gained or lost:', 'mycred' ) . '</small><br />';
316
  echo mycred_display_badge_requirements( $post_id );
317
  }
 
318
  // Badge Users
319
  elseif ( $column_name == 'badge-users' ) {
320
  echo mycred_count_users_with_badge( $post_id );
321
  }
 
322
  }
323
 
324
  /**
@@ -326,12 +484,14 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
326
  * @version 1.0
327
  */
328
  public function adjust_row_actions( $actions, $post ) {
 
329
  if ( $post->post_type == 'mycred_badge' ) {
330
  unset( $actions['inline hide-if-no-js'] );
331
  unset( $actions['view'] );
332
  }
333
 
334
  return $actions;
 
335
  }
336
 
337
  /**
@@ -339,6 +499,7 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
339
  * @version 1.0
340
  */
341
  public function post_updated_messages( $messages ) {
 
342
  global $post;
343
 
344
  $messages['mycred_badge'] = array(
@@ -356,6 +517,7 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
356
  );
357
 
358
  return $messages;
 
359
  }
360
 
361
  /**
@@ -363,11 +525,13 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
363
  * @version 1.0
364
  */
365
  public function enter_title_here( $title ) {
 
366
  global $post_type;
367
  if ( $post_type == 'mycred_badge' )
368
  return __( 'Badge Name', 'mycred' );
369
 
370
  return $title;
 
371
  }
372
 
373
  /**
@@ -375,23 +539,16 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
375
  * @version 1.0
376
  */
377
  public function add_meta_boxes() {
 
378
  add_meta_box(
379
  'mycred_badge_requirements',
380
- __( 'Requirements', 'mycred' ),
381
  array( $this, 'metabox_badge_requirements' ),
382
  'mycred_badge',
383
  'normal',
384
  'high'
385
  );
386
 
387
- add_meta_box(
388
- 'mycred_badge_images',
389
- __( 'Badge Images', 'mycred' ),
390
- array( $this, 'metabox_badge_images' ),
391
- 'mycred_badge',
392
- 'normal',
393
- 'high'
394
- );
395
  }
396
 
397
  /**
@@ -399,8 +556,8 @@ if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
399
  * @version 1.0
400
  */
401
  public function publishing_actions() {
402
- global $post;
403
 
 
404
  if ( ! isset( $post->post_type ) || $post->post_type != 'mycred_badge' ) return;
405
 
406
  $lock = '';
@@ -435,7 +592,7 @@ jQuery(function($) {
435
  dataType : "JSON",
436
  url : ajaxurl,
437
  beforeSend : function() {
438
- button.attr( 'value', '<?php _e( 'Processing...', 'mycred' ); ?>' );
439
  button.attr( 'disabled', 'disabled' );
440
  },
441
  success : function( response ) {
@@ -457,13 +614,16 @@ jQuery(function($) {
457
 
458
  /**
459
  * Badge Preferences Metabox
460
- * @version 1.0.1
461
  */
462
  public function metabox_badge_requirements( $post ) {
463
- $requirements = mycred_get_badge_requirements( $post->ID, true );
464
 
465
- $types = mycred_get_types();
466
  $references = mycred_get_all_references();
 
 
 
 
467
  $sums = array(
468
  'count' => __( 'Time(s)', 'mycred' ),
469
  'sum' => __( 'In total', 'mycred' )
@@ -479,71 +639,135 @@ jQuery(function($) {
479
  <?php endif; ?>
480
  #misc-publishing-actions { display: none; display: none !important; }
481
  table#setup-badge-reqs { width: 100%; }
482
- table#setup-badge-reqs td.type { width: 25%; }
 
 
 
483
  table#setup-badge-reqs td.for { width: 5%; }
484
- table#setup-badge-reqs td.reference { width: 50%; }
485
  table#setup-badge-reqs td.amount { width: 10%; }
486
  table#setup-badge-reqs td.sum { width: 10%; }
 
487
  p.actions { text-align: right; }
 
 
 
 
 
 
488
  </style>
489
  <script type="text/javascript">
490
  jQuery(function($) {
491
- $( '#postimagediv h3.hndle span' ).empty().text( '<?php _e( 'Badge Image', 'mycred' ); ?>' );
492
- $( '#postimagediv div.inside p a' ).attr( 'title', '<?php _e( 'Set badge image', 'mycred' ); ?>' ).empty().text( '<?php _e( 'Set badge image', 'mycred' ); ?>' );
493
  });
494
  </script>
495
- <p><?php _e( 'To earn this badge, a user must have received:', 'mycred' ); ?></p>
496
  <table class="table" style="width: 100%;" id="setup-badge-reqs">
497
 
498
  <?php do_action( 'mycred_edit_badge_before_req', $post ); ?>
499
 
 
 
 
 
 
 
 
 
 
500
  <?php
501
 
502
  foreach ( $requirements as $row => $needs ) {
503
 
504
- if ( ! isset( $needs['by'] ) )
505
- $needs = array(
506
- 'type' => '',
507
- 'reference' => '',
508
- 'amount' => '',
509
- 'by' => ''
510
- );
511
 
 
 
 
 
 
 
 
512
  ?>
513
  <tr class="badge-requires" id="badge-requirement-<?php echo $row; ?>">
 
514
  <td class="type">
515
- <?php if ( count( $types ) == 1 ) echo $this->core->plural(); ?><?php mycred_types_select_from_dropdown( 'mycred_badge[req][' . $row . '][type]', '', $needs['type'] ); ?>
 
516
  </td>
517
- <td class="for">for</td>
518
  <td class="reference">
519
- <select name="mycred_badge[req][<?php echo $row; ?>][reference]" id=""><?php
520
 
521
 
522
- foreach ( $references as $ref => $label ) {
523
- echo '<option value="' . $ref . '"';
524
- if ( $needs['reference'] == $ref ) echo ' selected="selected"';
525
- echo '>' . $label . '</option>';
526
- }
527
 
528
  ?></select>
529
  </td>
530
  <td class="amount">
531
- <input type="text" size="8" name="mycred_badge[req][<?php echo $row; ?>][amount]" id="" value="<?php echo $needs['amount']; ?>" />
532
  </td>
533
  <td class="sum">
534
- <select name="mycred_badge[req][<?php echo $row; ?>][by]" id=""><?php
535
 
536
- foreach ( $sums as $sum => $label ) {
537
- echo '<option value="' . $sum . '"';
538
- if ( $needs['by'] == $sum ) echo ' selected="selected"';
539
- echo '>' . $label . '</option>';
540
- }
541
 
542
  ?></select>
543
  </td>
544
  </tr>
 
 
 
 
 
 
 
 
545
  <?php
546
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
547
  }
548
 
549
  ?>
@@ -551,111 +775,89 @@ jQuery(function($) {
551
  <?php do_action( 'mycred_edit_badge_after_req', $post ); ?>
552
 
553
  </table>
554
- <?php
555
- }
 
556
 
557
- /**
558
- * Badge Variations Metabox
559
- * @version 1.0
560
- */
561
- public function metabox_badge_images( $post ) {
562
- $default_image = get_post_meta( $post->ID, 'default_image', true );
563
- $main_image = get_post_meta( $post->ID, 'main_image', true ); ?>
564
 
565
- <style type="text/css">
566
- #mycred_badge_images .inside, #mycred_badge_images .inside p { margin: 0; padding: 0; }
567
- #image-wrapper { float: none; clear: both; min-height: 100px; }
568
- #image-wrapper #main-image { border-bottom: none; }
569
- #image-wrapper > div.inner-box { float: none; clear: both; min-height: 50px; margin: 0; padding: 0; border-bottom: 1px solid #eee; }
570
- #image-wrapper > div.inner-box .thumb { display: block; width: 100px; height: 100px; float: left; border-right: 1px solid #eee; padding: 12px; }
571
- #image-wrapper > div.inner-box .thumb img { max-width: 100px; height: auto; margin: 0 auto; }
572
- #image-wrapper > div.inner-box .thumb p { line-height: 100px; text-align: center; color: #ccc; }
573
- #image-wrapper > div.inner-box .details { margin-left: 125px; padding: 12px; }
574
- #image-wrapper > div.inner-box .details p strong { display: block; }
575
- #image-wrapper > div.inner-box .details p.desc { margin-bottom: 12px; }
576
- </style>
577
- <div id="image-wrapper">
578
 
579
- <?php do_action( 'mycred_edit_badge_before_images', $post ); ?>
 
 
 
 
580
 
581
- <div id="default-image" class="inner-box">
582
- <div class="thumb">
583
- <?php if ( $default_image == '' ) : ?>
584
- <p><?php _e( 'no image', 'mycred' ); ?></p>
585
- <?php else : ?>
586
- <img src="<?php echo $default_image; ?>" alt="" />
587
- <?php endif; ?>
588
- </div>
589
- <div class="details">
590
- <p class="desc">
591
- <strong><?php _e( 'Default Image', 'mycred' ); ?></strong>
592
- <span class="description"><?php _e( 'Option to show a default image if the user has not yet earned this badge. Leave empty if not used.', 'mycred' ); ?></span>
593
- </p>
594
- <p>
595
- <input type="text" name="mycred_badge[default_image]" placeholder="<?php _e( 'image url', 'mycred' ); ?>" id="mycred-default-image-url" class="regular-text" size="30" value="<?php echo $default_image; ?>" />
596
- <input type="button" data-target="default-image" id="mycred-add-default-image" class="button button-primary mycred-badge-load-image" value="Add Image" />
597
- </p>
598
- </div>
599
- <div class="clear clearfix"></div>
600
- </div>
601
- <div id="main-image" class="inner-box">
602
- <div class="thumb">
603
- <?php if ( $main_image == '' ) : ?>
604
- <p><?php _e( 'no image', 'mycred' ); ?></p>
605
- <?php else : ?>
606
- <img src="<?php echo $main_image; ?>" alt="" />
607
- <?php endif; ?>
608
- </div>
609
- <div class="details">
610
- <p class="desc">
611
- <strong><?php _e( 'Main Image', 'mycred' ); ?></strong>
612
- <span class="description"><?php _e( 'Image to show when the user has earned this badge.', 'mycred' ); ?></span>
613
- </p>
614
- <p>
615
- <input type="text" name="mycred_badge[main_image]" placeholder="<?php _e( 'image url', 'mycred' ); ?>" id="mycred-main-image-url" class="regular-text" size="30" value="<?php echo $main_image; ?>" />
616
- <input type="button" data-target="main-image" id="mycred-add-main-image" class="button button-primary mycred-badge-load-image" value="Add Image" />
617
- </p>
618
- </div>
619
- <div class="clear clearfix"></div>
620
- </div>
621
 
622
- <?php do_action( 'mycred_edit_badge_after_images', $post ); ?>
623
 
624
- <div class="clear clearfix"></div>
625
- </div>
626
- <script type="text/javascript">
627
- jQuery(function($) {
628
 
629
- var custom_uploader;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
630
 
631
- $( 'input.mycred-badge-load-image' ).unbind('click').click(function( e ){
632
  e.preventDefault();
633
 
634
- var formfield = $(this).attr( 'data-target' );
 
635
 
636
  //Extend the wp.media object
637
- custom_uploader = wp.media.frames.file_frame = wp.media({
638
- title: '<?php _e( 'Badge Image', 'mycred' ); ?>',
639
- button: {
640
- text: '<?php _e( 'Use as Badge', 'mycred' ); ?>'
641
- },
642
- multiple: false
643
- });
644
-
645
- //When a file is selected, grab the URL and set it as the text field's value
646
- custom_uploader.on('select', function() {
647
- attachment = custom_uploader.state().get('selection').first().toJSON();
648
- $( '#mycred-' + formfield + '-url' ).val( attachment.url );
649
- $( '#' + formfield + ' .thumb' ).empty().append( "<img class='show-selected-image' src='" + attachment.url + "' alt='' />" );
650
- });
651
-
652
- //Open the uploader dialog
653
- custom_uploader.open();
 
 
 
654
 
655
  });
656
 
657
  });
658
  </script>
 
659
  <?php
660
  }
661
 
@@ -668,16 +870,60 @@ jQuery(function($) {
668
  // Make sure this is for badges
669
  if ( ! isset( $_POST['mycred_badge'] ) || ! isset( $_POST['mycred-badge-edit'] ) || ! wp_verify_nonce( $_POST['mycred-badge-edit'], 'edit-mycred-badge' ) ) return;
670
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
671
  // Requirements
672
- update_post_meta( $post_id, 'badge_requirements', $_POST['mycred_badge']['req'] );
673
 
674
  // Default Image
675
  $default_image = sanitize_text_field( $_POST['mycred_badge']['default_image'] );
676
  update_post_meta( $post_id, 'default_image', $default_image );
677
 
678
- // Main Image
679
- $main_image = sanitize_text_field( $_POST['mycred_badge']['main_image'] );
680
- update_post_meta( $post_id, 'main_image', $main_image );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
681
 
682
  // Let others play
683
  do_action( 'mycred_save_badge', $post_id );
@@ -687,7 +933,7 @@ jQuery(function($) {
687
  * Add to General Settings
688
  * @version 1.0
689
  */
690
- public function after_general_settings() {
691
  $settings = $this->badges;
692
 
693
  $buddypress = false;
@@ -726,6 +972,9 @@ jQuery(function($) {
726
 
727
  </select>
728
  </li>
 
 
 
729
  </ol>
730
  <?php else : ?>
731
  <input type="hidden" name="<?php echo $this->field_name( 'buddypress' ); ?>" id="<?php echo $this->field_id( 'buddypress' ); ?>" value="" />
@@ -754,6 +1003,9 @@ jQuery(function($) {
754
 
755
  </select>
756
  </li>
 
 
 
757
  </ol>
758
  <?php else : ?>
759
  <input type="hidden" name="<?php echo $this->field_name( 'bbpress' ); ?>" id="<?php echo $this->field_id( 'bbpress' ); ?>" value="" />
@@ -769,10 +1021,156 @@ jQuery(function($) {
769
  * @version 1.0
770
  */
771
  public function sanitize_extra_settings( $new_data, $data, $core ) {
 
 
 
 
772
  $new_data['badges']['buddypress'] = sanitize_text_field( $data['badges']['buddypress'] );
773
  $new_data['badges']['bbpress'] = sanitize_text_field( $data['badges']['bbpress'] );
774
 
775
  return $new_data;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
776
  }
777
 
778
  }
2
  /**
3
  * Addon: Badges
4
  * Addon URI: http://mycred.me/add-ons/badges/
5
+ * Version: 1.1
6
  * Description: Give your users badges based on their interaction with your website.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
13
  define( 'myCRED_BADGE_DIR', myCRED_ADDONS_DIR . 'badges/' );
14
  define( 'myCRED_BADGE_VERSION', myCRED_VERSION . '.1' );
15
 
16
+ // Default badge width
17
+ if ( ! defined( 'MYCRED_BADGE_WIDTH' ) )
18
+ define( 'MYCRED_BADGE_WIDTH', 100 );
19
+
20
+ // Default badge height
21
+ if ( ! defined( 'MYCRED_BADGE_HEIGHT' ) )
22
+ define( 'MYCRED_BADGE_HEIGHT', 100 );
23
+
24
+ require_once myCRED_BADGE_DIR . 'includes/mycred-badge-functions.php';
25
+ require_once myCRED_BADGE_DIR . 'includes/mycred-badge-shortcodes.php';
26
 
27
  /**
28
  * myCRED_buyCRED_Module class
29
  * @since 1.5
30
+ * @version 1.1
31
  */
32
  if ( ! class_exists( 'myCRED_Badge_Module' ) ) {
33
  class myCRED_Badge_Module extends myCRED_Module {
39
  parent::__construct( 'myCRED_Badge_Module', array(
40
  'module_name' => 'badges',
41
  'defaults' => array(
42
+ 'buddypress' => '',
43
+ 'bbpress' => '',
44
+ 'show_all_bp' => 0,
45
+ 'show_all_bb' => 0
46
  ),
47
  'labels' => array(
48
  'menu' => __( 'Badges', 'mycred' ),
60
  * @version 1.0
61
  */
62
  public function module_pre_init() {
63
+ add_filter( 'mycred_add_finished', array( $this, 'add_finished' ), 30, 3 );
64
  }
65
 
66
  /**
68
  * @version 1.0.1
69
  */
70
  public function module_init() {
71
+
72
  $this->register_post_type();
73
+
74
  add_shortcode( 'mycred_my_badges', 'mycred_render_my_badges' );
75
  add_shortcode( 'mycred_badges', 'mycred_render_badges' );
76
 
77
+ add_action( 'admin_head', array( $this, 'remove_user_page' ) );
78
+ add_action( 'admin_menu', array( $this, 'add_user_subpage' ) );
79
+
80
+ if ( class_exists( 'BuddyPress' ) )
81
+ add_filter( 'mycred_edit_profile_tabs_bp', array( $this, 'add_user_tabs' ), 10, 2 );
82
+ add_filter( 'mycred_edit_profile_tabs', array( $this, 'add_user_tabs' ), 10, 2 );
83
+
84
  // Insert into bbPress
85
  if ( class_exists( 'bbPress' ) ) {
86
  if ( $this->badges['bbpress'] == 'profile' || $this->badges['bbpress'] == 'both' )
106
  * @version 1.0
107
  */
108
  public function module_admin_init() {
109
+
110
+ add_action( 'mycred_admin_enqueue', array( $this, 'enqueue_scripts' ) );
111
 
112
  add_filter( 'manage_mycred_badge_posts_columns', array( $this, 'adjust_column_headers' ) );
113
  add_action( 'manage_mycred_badge_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
119
 
120
  add_action( 'add_meta_boxes_mycred_badge', array( $this, 'add_meta_boxes' ) );
121
  add_action( 'post_submitbox_start', array( $this, 'publishing_actions' ) );
122
+ add_action( 'save_post_mycred_badge', array( $this, 'save_badge_post' ) );
123
 
124
  add_action( 'wp_ajax_mycred-assign-badge', array( $this, 'action_assign_badge' ) );
125
  add_action( 'wp_ajax_mycred-remove-connections', array( $this, 'action_remove_connections' ) );
126
+
127
  }
128
 
129
  /**
130
+ * Remove User Badge from Menu
131
+ * @version 1.0
132
+ */
133
+ public function remove_user_page() {
134
+ remove_submenu_page( 'users.php', 'mycred-edit-badges' );
135
+ }
136
+
137
+ /**
138
+ * Add User Badge Sub Page
139
+ * @version 1.0
140
+ */
141
+ public function add_user_subpage() {
142
+
143
+ $page = add_users_page(
144
+ __( 'Badges', 'mycred' ),
145
+ __( 'Badges', 'mycred' ),
146
+ 'edit_users',
147
+ 'mycred-edit-badges',
148
+ array( $this, 'badge_user_screen' )
149
+ );
150
+ add_action( 'admin_print_styles-' . $page, array( $this, 'badge_user_screen_header' ) );
151
+
152
+ }
153
+
154
+ /**
155
+ * Add User Tabs
156
  * @version 1.0
157
  */
158
+ public function add_user_tabs( $tabs, $user = NULL ) {
159
+
160
+ if ( ! isset( $user->ID ) )
161
+ $user_id = $_GET['user_id'];
162
+ else
163
+ $user_id = $user->ID;
164
+
165
+ $classes = 'nav-tab';
166
+ if ( isset( $_GET['page'] ) && $_GET['page'] == 'mycred-edit-badges' ) $classes .= ' nav-tab-active';
167
+
168
+ $tabs[] = array(
169
+ 'label' => sprintf( __( 'Badges (%d)', 'mycred' ), count( mycred_get_users_badges( $user_id ) ) ),
170
+ 'url' => add_query_arg( array( 'page' => 'mycred-edit-badges', 'user_id' => $user_id ), admin_url( 'users.php' ) ),
171
+ 'classes' => $classes
172
+ );
173
+
174
+ return $tabs;
175
+
176
+ }
177
+
178
+ /**
179
+ * AJAX: Assign Badge
180
+ * @version 1.1
181
+ */
182
  public function action_assign_badge() {
183
  check_ajax_referer( 'mycred-assign-badge', 'token' );
184
 
187
  if ( empty( $requirements ) )
188
  wp_send_json_error( 'This badge has no requirements set!' );
189
 
 
 
 
 
190
  global $wpdb;
191
 
192
+ $levels = array();
193
+ foreach ( $requirements as $req_level => $needs ) {
 
 
194
 
195
+ $mycred = mycred( $needs['type'] );
196
 
197
+ if ( ! array_key_exists( $req_level, $levels ) )
198
+ $levels[ $req_level ] = array();
 
 
 
199
 
200
+ $sql = "
201
+ SELECT user_id
202
+ FROM {$mycred->log_table}
203
+ WHERE " . $wpdb->prepare( "ctype = %s AND ref = %s ", $needs['type'], $needs['reference'] );
204
+
205
+ $sql .= " GROUP by user_id ";
206
+
207
+ $amount = $needs['amount'];
208
+ if ( $needs['by'] == 'count' )
209
+ $sql .= "HAVING COUNT( id ) >= {$amount}";
210
+ else
211
+ $sql .= "HAVING SUM( creds ) >= {$amount}";
212
+
213
+ // Let others play
214
+ $users = $wpdb->get_col( apply_filters( 'mycred_assign_badge_sql', $sql, $badge_id ) );
215
+
216
+ if ( ! empty( $users ) ) {
217
+
218
+ $levels[ $req_level ] = $users;
219
+
220
+ $unique = array();
221
+ foreach ( $levels[ $req_level ] as $user_id ) {
222
+
223
+ if ( $req_level == 0 )
224
+ $unique[] = (int) $user_id;
225
+
226
+ // If this user has a badge under the previous level we "move" it
227
+ elseif ( isset( $levels[ $req_level - 1 ] ) && in_array( $user_id, $levels[ $req_level - 1 ] ) ) {
228
+ $unique[] = (int) $user_id;
229
+ $prev_key = array_search( $user_id, $levels[ $req_level - 1 ] );
230
+ if ( $prev_key !== false )
231
+ unset( $levels[ $req_level - 1 ][ $prev_key ] );
232
+ }
233
+
234
+ }
235
+ $levels[ $req_level ] = $unique;
236
+
237
+ }
238
+
239
+ }
240
+
241
+ if ( ! empty( $levels ) ) {
242
+
243
+ $count = 0;
244
+ foreach ( $levels as $level => $user_ids ) {
245
+
246
+ if ( empty( $user_ids ) ) continue;
247
+
248
+ foreach ( $user_ids as $user_id ) {
249
+ mycred_update_user_meta( $user_id, 'mycred_badge' . $badge_id, '', apply_filters( 'mycred_badge_user_value', $level, $user_id, $badge_id ) );
250
+ $count ++;
251
+ }
252
+
253
+
254
+ }
255
 
256
+ wp_send_json_success( sprintf( __( '%d Users earned this badge.', 'mycred' ), count( $count ) ) );
 
 
257
 
258
+ }
259
+
260
+ wp_send_json_error( __( 'No users has yet earned this badge.', 'mycred' ) );
261
 
 
262
  }
263
 
264
  /**
284
 
285
  /**
286
  * Insert Badges into bbPress profile
287
+ * @version 1.1
288
  */
289
  public function insert_into_bbpress_profile() {
290
+
291
  $user_id = bbp_get_displayed_user_id();
292
+ if ( isset( $this->badges['show_all_bb'] ) && $this->badges['show_all_bb'] == 1 )
293
+ mycred_render_my_badges( array(
294
+ 'show' => 'all',
295
+ 'width' => MYCRED_BADGE_WIDTH,
296
+ 'height' => MYCRED_BADGE_HEIGHT,
297
+ 'user_id' => $user_id
298
+ ) );
299
+
300
+ else
301
+ mycred_display_users_badges( $user_id );
302
+
303
  }
304
 
305
  /**
306
  * Insert Badges into bbPress
307
+ * @version 1.1
308
  */
309
  public function insert_into_bbpress_reply() {
310
+
311
  $user_id = bbp_get_reply_author_id();
312
+ if ( $user_id > 0 ) {
313
+
314
+ if ( isset( $this->badges['show_all_bb'] ) && $this->badges['show_all_bb'] == 1 )
315
+ mycred_render_my_badges( array(
316
+ 'show' => 'all',
317
+ 'width' => MYCRED_BADGE_WIDTH,
318
+ 'height' => MYCRED_BADGE_HEIGHT,
319
+ 'user_id' => $user_id
320
+ ) );
321
+
322
+ else
323
+ mycred_display_users_badges( $user_id );
324
+
325
+ }
326
+
327
  }
328
 
329
  /**
330
  * Insert Badges in BuddyPress
331
+ * @version 1.1
332
  */
333
  public function insert_into_buddypress() {
334
+
335
  $user_id = bp_displayed_user_id();
336
+ if ( isset( $this->badges['show_all_bp'] ) && $this->badges['show_all_bp'] == 1 )
337
+ mycred_render_my_badges( array(
338
+ 'show' => 'all',
339
+ 'width' => MYCRED_BADGE_WIDTH,
340
+ 'height' => MYCRED_BADGE_HEIGHT,
341
+ 'user_id' => $user_id
342
+ ) );
343
+
344
+ else
345
+ mycred_display_users_badges( $user_id );
346
+
347
  }
348
 
349
  /**
350
+ * Add Finished
351
+ * @version 1.1
352
  */
353
+ public function add_finished( $ran, $request, $mycred ) {
 
 
354
 
355
+ if ( $ran === false ) return $ran;
356
 
357
  // Check if this reference has badges
358
+ $badge_ids = mycred_ref_has_badge( $request['ref'], $request );
359
+ if ( $badge_ids === false ) return $ran;
 
 
 
 
 
 
360
 
361
  // Assign Badges
362
+ mycred_check_if_user_gets_badge( $user_id, $badge_ids, $request );
363
 
364
+ return $ran;
365
  }
366
 
367
  /**
403
  * @version 1.0
404
  */
405
  public function enqueue_scripts() {
406
+
407
  $screen = get_current_screen();
408
+ if ( $screen->id == 'mycred_badge' )
 
409
  wp_enqueue_media();
410
+
411
+ elseif ( $screen->id == 'edit-mycred_badge' )
412
  wp_enqueue_style( 'mycred-badge-admin', plugins_url( 'assets/css/admin.css', myCRED_BADGE ) );
413
+
414
+ elseif ( $screen->id == 'users_page_mycred-edit-badges' )
415
+ wp_enqueue_style( 'mycred-badge-admin', plugins_url( 'assets/css/admin.css', myCRED_BADGE ) );
416
+
417
  }
418
 
419
  /**
421
  * @version 1.0
422
  */
423
  public function adjust_column_headers( $defaults ) {
424
+
425
+ $columns = array();
426
+ $columns['cb'] = $defaults['cb'];
427
 
428
  // Add / Adjust
429
+ $columns['title'] = __( 'Badge Name', 'mycred' );
430
+ $columns['badge-default-image'] = __( 'Badge Images', 'mycred' );
431
+ $columns['badge-reqs'] = __( 'Requirements', 'mycred' );
432
+ $columns['badge-users'] = __( 'Users', 'mycred' );
433
 
434
  // Return
435
+ return $columns;
436
+
437
  }
438
 
439
  /**
441
  * @version 1.0
442
  */
443
  public function adjust_column_content( $column_name, $post_id ) {
444
+
445
  // Default Image
446
  if ( $column_name == 'badge-default-image' ) {
447
  $default_image = get_post_meta( $post_id, 'default_image', true );
448
  if ( $default_image != '' )
449
+ echo '<img src="' . $default_image . '" style="max-width: ' . MYCRED_BADGE_WIDTH . 'px;height: auto;" alt="" />';
450
 
451
  $main_image = get_post_meta( $post_id, 'main_image', true );
452
  if ( $main_image != '' )
453
+ echo '<img src="' . $main_image . '" style="max-width: ' . MYCRED_BADGE_WIDTH . 'px;height: auto;" alt="" />';
454
 
455
  if ( $default_image == '' && $main_image == '' )
456
  echo '-';
457
+
458
+ $requirements = mycred_get_badge_requirements( $post_id );
459
+ if ( count( $requirements ) > 1 ) {
460
+ foreach ( $requirements as $level => $needs ) {
461
+ $level_image = get_post_meta( $post_id, 'level_image' . $level, true );
462
+ if ( $level_image != '' )
463
+ echo '<img src="' . $level_image . '" style="max-width: ' . MYCRED_BADGE_WIDTH . 'px;height: auto;" alt="" />';
464
+ }
465
+ }
466
+
467
  }
468
+
469
  // Badge Requirements
470
  elseif ( $column_name == 'badge-reqs' ) {
471
  echo '<small>' . __( 'A user must have gained or lost:', 'mycred' ) . '</small><br />';
472
  echo mycred_display_badge_requirements( $post_id );
473
  }
474
+
475
  // Badge Users
476
  elseif ( $column_name == 'badge-users' ) {
477
  echo mycred_count_users_with_badge( $post_id );
478
  }
479
+
480
  }
481
 
482
  /**
484
  * @version 1.0
485
  */
486
  public function adjust_row_actions( $actions, $post ) {
487
+
488
  if ( $post->post_type == 'mycred_badge' ) {
489
  unset( $actions['inline hide-if-no-js'] );
490
  unset( $actions['view'] );
491
  }
492
 
493
  return $actions;
494
+
495
  }
496
 
497
  /**
499
  * @version 1.0
500
  */
501
  public function post_updated_messages( $messages ) {
502
+
503
  global $post;
504
 
505
  $messages['mycred_badge'] = array(
517
  );
518
 
519
  return $messages;
520
+
521
  }
522
 
523
  /**
525
  * @version 1.0
526
  */
527
  public function enter_title_here( $title ) {
528
+
529
  global $post_type;
530
  if ( $post_type == 'mycred_badge' )
531
  return __( 'Badge Name', 'mycred' );
532
 
533
  return $title;
534
+
535
  }
536
 
537
  /**
539
  * @version 1.0
540
  */
541
  public function add_meta_boxes() {
542
+
543
  add_meta_box(
544
  'mycred_badge_requirements',
545
+ __( 'Badge Setup', 'mycred' ),
546
  array( $this, 'metabox_badge_requirements' ),
547
  'mycred_badge',
548
  'normal',
549
  'high'
550
  );
551
 
 
 
 
 
 
 
 
 
552
  }
553
 
554
  /**
556
  * @version 1.0
557
  */
558
  public function publishing_actions() {
 
559
 
560
+ global $post;
561
  if ( ! isset( $post->post_type ) || $post->post_type != 'mycred_badge' ) return;
562
 
563
  $lock = '';
592
  dataType : "JSON",
593
  url : ajaxurl,
594
  beforeSend : function() {
595
+ button.attr( 'value', '<?php esc_attr_e( 'Processing...', 'mycred' ); ?>' );
596
  button.attr( 'disabled', 'disabled' );
597
  },
598
  success : function( response ) {
614
 
615
  /**
616
  * Badge Preferences Metabox
617
+ * @version 1.1
618
  */
619
  public function metabox_badge_requirements( $post ) {
 
620
 
621
+ $requirements = mycred_get_badge_requirements( $post->ID, true );
622
  $references = mycred_get_all_references();
623
+
624
+ $default_image = get_post_meta( $post->ID, 'default_image', true );
625
+ $main_image = get_post_meta( $post->ID, 'main_image', true );
626
+
627
  $sums = array(
628
  'count' => __( 'Time(s)', 'mycred' ),
629
  'sum' => __( 'In total', 'mycred' )
639
  <?php endif; ?>
640
  #misc-publishing-actions { display: none; display: none !important; }
641
  table#setup-badge-reqs { width: 100%; }
642
+ table#setup-badge-reqs tr.bodered-row td { padding-bottom: 12px; border-bottom: 1px solid #dedede; }
643
+ table#setup-badge-reqs tr.badge-requires td { padding-top: 12px; }
644
+ table#setup-badge-reqs td.level { width: 15%; color: #aaa; }
645
+ table#setup-badge-reqs td.type { width: 20%; }
646
  table#setup-badge-reqs td.for { width: 5%; }
647
+ table#setup-badge-reqs td.reference { width: auto; }
648
  table#setup-badge-reqs td.amount { width: 10%; }
649
  table#setup-badge-reqs td.sum { width: 10%; }
650
+ #setup-badge-reqs td label { display: block; margin-bottom: 4px; font-weight: bold; }
651
  p.actions { text-align: right; }
652
+ #mycred_badge_images .inside, #mycred_badge_images .inside p { margin: 0; padding: 0; }
653
+ #image-wrapper { float: none; clear: both; min-height: 100px; }
654
+ #image-wrapper #main-image { border-bottom: none; }
655
+ #setup-badge-reqs div.inner-box { float: none; clear: both; min-height: 50px; margin: 0; padding: 0; }
656
+ #setup-badge-reqs div.inner-box .thumb { display: block; width: <?php echo MYCRED_BADGE_WIDTH; ?>px; height: <?php echo MYCRED_BADGE_HEIGHT; ?>px; padding: 12px; overflow: hidden; }
657
+ #setup-badge-reqs div.inner-box .thumb img { max-width: <?php echo MYCRED_BADGE_WIDTH; ?>px; height: auto; margin: 0 auto; }
658
  </style>
659
  <script type="text/javascript">
660
  jQuery(function($) {
661
+ $( '#postimagediv h3.hndle span' ).empty().text( '<?php esc_attr_e( 'Badge Image', 'mycred' ); ?>' );
662
+ $( '#postimagediv div.inside p a' ).attr( 'title', '<?php esc_attr_e( 'Set badge image', 'mycred' ); ?>' ).empty().text( '<?php esc_attr_e( 'Set badge image', 'mycred' ); ?>' );
663
  });
664
  </script>
 
665
  <table class="table" style="width: 100%;" id="setup-badge-reqs">
666
 
667
  <?php do_action( 'mycred_edit_badge_before_req', $post ); ?>
668
 
669
+ <tr class="bodered-row">
670
+ <td class="level"><div class="inner-box"><div class="thumb"><?php if ( $default_image != '' ) echo '<img src="' . $default_image . '" alt="" />'; ?></div></div></td>
671
+ <td colspan="5">
672
+ <label><?php _e( 'Default Image', 'mycred' ); ?></label>
673
+ <input type="text" name="mycred_badge[default_image]" placeholder="<?php _e( 'image url', 'mycred' ); ?>" id="mycred-default-image-url" class="regular-text" size="30" value="<?php echo $default_image; ?>" />
674
+ <input type="button" data-target="default-image" id="mycred-add-default-image" class="button button-primary mycred-badge-load-image" value="<?php _e( 'Add Image', 'mycred' ); ?>" />
675
+ <p><span class="description"><?php _e( 'Optional image to show when a user has not yet earned this badge.', 'mycred' ); ?></span></p>
676
+ </td>
677
+ </tr>
678
  <?php
679
 
680
  foreach ( $requirements as $row => $needs ) {
681
 
682
+ // First row
683
+ if ( $row == 0 ) {
 
 
 
 
 
684
 
685
+ if ( ! isset( $needs['by'] ) )
686
+ $needs = array(
687
+ 'type' => '',
688
+ 'reference' => '',
689
+ 'amount' => '',
690
+ 'by' => ''
691
+ );
692
  ?>
693
  <tr class="badge-requires" id="badge-requirement-<?php echo $row; ?>">
694
+ <td class="level"><?php printf( __( 'Level %d', 'mycred' ), $row + 1 ); ?></td>
695
  <td class="type">
696
+ <?php if ( count( $this->point_types ) == 1 ) echo $this->core->plural(); ?>
697
+ <?php mycred_types_select_from_dropdown( 'mycred_badge[req][' . $row . '][type]', 'default-badge-req-type', $needs['type'] ); ?>
698
  </td>
699
+ <td class="for"><?php _e( 'for', 'mycred' ); ?></td>
700
  <td class="reference">
701
+ <select name="mycred_badge[req][<?php echo $row; ?>][reference]" id="default-badge-req-reference"><?php
702
 
703
 
704
+ foreach ( $references as $ref => $label ) {
705
+ echo '<option value="' . $ref . '"';
706
+ if ( $needs['reference'] == $ref ) echo ' selected="selected"';
707
+ echo '>' . $label . '</option>';
708
+ }
709
 
710
  ?></select>
711
  </td>
712
  <td class="amount">
713
+ <input type="text" size="8" name="mycred_badge[req][<?php echo $row; ?>][amount]" id="default-badge-req-amount" value="<?php echo $needs['amount']; ?>" />
714
  </td>
715
  <td class="sum">
716
+ <select name="mycred_badge[req][<?php echo $row; ?>][by]" id="default-badge-req-by"><?php
717
 
718
+ foreach ( $sums as $sum => $label ) {
719
+ echo '<option value="' . $sum . '"';
720
+ if ( $needs['by'] == $sum ) echo ' selected="selected"';
721
+ echo '>' . $label . '</option>';
722
+ }
723
 
724
  ?></select>
725
  </td>
726
  </tr>
727
+ <tr class="bodered-row">
728
+ <td class="level"><div class="inner-box"><div class="thumb"><?php if ( $main_image != '' ) echo '<img src="' . $main_image . '" alt="" />'; ?></div></div></td>
729
+ <td colspan="5">
730
+ <label><?php _e( 'Main Image', 'mycred' ); ?></label>
731
+ <input type="text" name="mycred_badge[images][<?php echo $row; ?>]" placeholder="<?php _e( 'image url', 'mycred' ); ?>" id="mycred-badge-level<?php echo $row; ?>" class="regular-text" size="30" value="<?php echo $main_image; ?>" />
732
+ <input type="button" data-target="mycred-badge-level<?php echo $row; ?>" data-row="<?php echo $row; ?>" class="button button-primary mycred-badge-load-image" value="<?php _e( 'Add Image', 'mycred' ); ?>" />
733
+ </td>
734
+ </tr>
735
  <?php
736
 
737
+ }
738
+ else {
739
+
740
+ $default = $requirements[0];
741
+ $level_image = get_post_meta( $post->ID, 'level_image' . $row, true );
742
+
743
+ ?>
744
+ <tr class="badge-requires" id="badge-requirement-<?php echo $row; ?>">
745
+ <td class="level">
746
+ <div><?php printf( __( 'Level %d', 'mycred' ), $row + 1 ); ?></div>
747
+ </td>
748
+ <td class="type">
749
+ <div><?php echo $this->point_types[ $default['type'] ]; ?></div>
750
+ </td>
751
+ <td class="for"><?php _e( 'for', 'mycred' ); ?></td>
752
+ <td class="reference"><div><?php echo $references[ $default['reference'] ]; ?></div></td>
753
+ <td class="amount">
754
+ <input type="text" size="8" name="mycred_badge[req][<?php echo $row; ?>][amount]" value="<?php echo $needs['amount']; ?>" />
755
+ </td>
756
+ <td class="sum"><div><?php echo $sums[ $default['by'] ]; ?></div></td>
757
+ </tr>
758
+ <tr class="bodered-row" id="mycred-badge-image<?php echo $row; ?>">
759
+ <td class="level"><div class="inner-box"><div class="thumb"><?php if ( $level_image != '' ) echo '<img src="' . $level_image . '" alt="" />'; ?></div></div></td>
760
+ <td colspan="5">
761
+ <label><?php _e( 'Badge Image', 'mycred' ); ?></label>
762
+ <input type="text" name="mycred_badge[images][<?php echo $row; ?>]" placeholder="<?php _e( 'image url', 'mycred' ); ?>" id="mycred-badge-level<?php echo $row; ?>" class="regular-text" size="30" value="<?php echo $level_image; ?>" />
763
+ <input type="button" data-target="mycred-badge-level<?php echo $row; ?>" data-row="<?php echo $row; ?>" class="button button-primary mycred-badge-load-image" value="<?php _e( 'Add Image', 'mycred' ); ?>" />
764
+ <p><span class="description"><?php _e( 'Leave empty if you do not want to assign a custom image for this level.', 'mycred' ); ?></span><button class="button button-secondary button-small pull-right remove-this-row"><?php _e( 'Remove this level', 'mycred' ); ?></button></p>
765
+ </td>
766
+ </tr>
767
+ <?php
768
+
769
+ }
770
+
771
  }
772
 
773
  ?>
775
  <?php do_action( 'mycred_edit_badge_after_req', $post ); ?>
776
 
777
  </table>
778
+ <p><button id="add-mycred-badge-level" class="pull-right button button-secondary"><?php _e( 'Add Level', 'mycred' ); ?></button></p>
779
+ <script type="text/javascript">
780
+ jQuery(function($) {
781
 
782
+ $( 'select#default-badge-req-type' ).change(function(){
783
+
784
+ $( 'td.type div' ).empty().text( $(this).find( ':selected' ).text() );
785
+
786
+ });
 
 
787
 
788
+ $( '#default-badge-req-reference' ).change(function(){
789
+
790
+ $( 'td.reference div' ).empty().text( $(this).find( ':selected' ).text() );
791
+
792
+ });
 
 
 
 
 
 
 
 
793
 
794
+ $( 'select#default-badge-req-by' ).change(function(){
795
+
796
+ $( 'td.sum div' ).empty().text( $(this).find( ':selected' ).text() );
797
+
798
+ });
799
 
800
+ var custom_uploader;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
801
 
802
+ var rows = <?php echo count( $requirements ); ?>;
803
 
804
+ $( 'table#setup-badge-reqs' ).on( 'click', 'button.remove-this-row', function(){
 
 
 
805
 
806
+ var trrow = $(this).parent().parent().parent();
807
+ trrow.prev().remove();
808
+ trrow.remove();
809
+ rows = rows-1;
810
+
811
+ });
812
+
813
+ $( '#add-mycred-badge-level' ).on( 'click', function(e){
814
+ e.preventDefault();
815
+
816
+ var badgetype = $( '#default-badge-req-type' );
817
+ var badgeref = $( '#default-badge-req-reference' ).find( ':selected' ).text();
818
+ var badgeamount = $( '#default-badge-req-amount' );
819
+ var badgeby = $( '#default-badge-req-by' ).find( ':selected' ).text();
820
+
821
+ var reqtemplate = '<tr class="badge-requires" id="badge-requirement-' + rows + '"><td class="level"><?php esc_attr_e( 'Level', 'mycred' ); ?> ' + ( rows + 1 ) + '</td><td class="type"><div>' + badgetype.find( ':selected' ).text() + '</div></td><td class="for"><?php esc_attr_e( 'for', 'mycred' ); ?></td><td class="reference"><div>' + badgeref + '</div></td><td class="amount"><input type="text" size="8" name="mycred_badge[req][' + rows + '][amount]" value="" /></td><td class="sum"><div>' + badgeby + '</div></td></tr><tr class="bodered-row"><td class="level"><div class="inner-box"><div class="thumb"></div></div></td><td colspan="5"><label><?php esc_attr_e( 'Badge Image', 'mycred' ); ?></label><input type="text" name="mycred_badge[images][' + rows + ']" placeholder="<?php esc_attr_e( 'image url', 'mycred' ); ?>" id="mycred-badge-level' + rows + '" class="regular-text" size="30" value="" />&nbsp;<input type="button" data-target="mycred-badge-level' + rows + '" data-row="' + rows + '" class="button button-primary mycred-badge-load-image" value="<?php esc_attr_e( 'Add Image', 'mycred' ); ?>" /><p><span class="description"><?php esc_attr_e( 'Leave empty if you do not want to assign a custom image for this level.', 'mycred' ); ?></span><br /><button class="button button-secondary button-small pull-right remove-this-row"><?php esc_attr_e( 'Remove this level', 'mycred' ); ?></button></p></td></tr>';
822
+
823
+ $( 'table#setup-badge-reqs' ).append( reqtemplate );
824
+ rows = rows+1;
825
+
826
+ });
827
 
828
+ $( 'table#setup-badge-reqs' ).on( 'click', '.mycred-badge-load-image', function(e){
829
  e.preventDefault();
830
 
831
+ var imagerow = $(this).attr( 'data-target' );
832
+ var button = $(this);
833
 
834
  //Extend the wp.media object
835
+ custom_uploader = wp.media.frames.file_frame = wp.media({
836
+ title : '<?php esc_attr_e( 'Badge Image', 'mycred' ); ?>',
837
+ button : {
838
+ text : '<?php esc_attr_e( 'Use as Badge', 'mycred' ); ?>'
839
+ },
840
+ multiple : false
841
+ });
842
+
843
+ //When a file is selected, grab the URL and set it as the text field's value
844
+ custom_uploader.on('select', function() {
845
+ attachment = custom_uploader.state().get('selection').first().toJSON();
846
+ if ( attachment.url != '' ) {
847
+ console.log( attachment );
848
+ button.prev().val( attachment.url );
849
+ button.parent().prev().find( 'div.thumb' ).empty().append( "<img class='show-selected-image' src='" + attachment.url + "' alt='' />" );
850
+ }
851
+ });
852
+
853
+ //Open the uploader dialog
854
+ custom_uploader.open();
855
 
856
  });
857
 
858
  });
859
  </script>
860
+ <div class="clear clearfix"></div>
861
  <?php
862
  }
863
 
870
  // Make sure this is for badges
871
  if ( ! isset( $_POST['mycred_badge'] ) || ! isset( $_POST['mycred-badge-edit'] ) || ! wp_verify_nonce( $_POST['mycred-badge-edit'], 'edit-mycred-badge' ) ) return;
872
 
873
+ if ( isset( $_POST['mycred_badge']['req'][0] ) ) {
874
+
875
+ $requirements = array();
876
+
877
+ $base_requirements = $_POST['mycred_badge']['req'][0];
878
+ $requirements[0] = $base_requirements;
879
+
880
+ if ( count( $_POST['mycred_badge']['req'] ) > 1 ) {
881
+ foreach ( $_POST['mycred_badge']['req'] as $row => $req ) {
882
+
883
+ if ( $row == 0 || $req['amount'] == '' ) continue;
884
+
885
+ $requirements[ $row ] = array(
886
+ 'type' => $base_requirements['type'],
887
+ 'reference' => $base_requirements['reference'],
888
+ 'amount' => $req['amount'],
889
+ 'by' => $base_requirements['by']
890
+ );
891
+
892
+ }
893
+ }
894
+
895
+ }
896
+
897
  // Requirements
898
+ update_post_meta( $post_id, 'badge_requirements', $requirements );
899
 
900
  // Default Image
901
  $default_image = sanitize_text_field( $_POST['mycred_badge']['default_image'] );
902
  update_post_meta( $post_id, 'default_image', $default_image );
903
 
904
+ if ( isset( $_POST['mycred_badge']['images'] ) || count( $_POST['mycred_badge']['images'] ) > 0 ) {
905
+
906
+ // Main Image
907
+ $main_image = sanitize_text_field( $_POST['mycred_badge']['images'][0] );
908
+ update_post_meta( $post_id, 'main_image', $main_image );
909
+
910
+ global $wpdb;
911
+
912
+ $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key LIKE %s;", $post_id, 'level_image%' ) );
913
+
914
+ if ( count( $_POST['mycred_badge']['images'] ) > 1 ) {
915
+ foreach ( $_POST['mycred_badge']['images'] as $row => $image ) {
916
+
917
+ if ( $row == 0 || $image == '' ) continue;
918
+
919
+ update_post_meta( $post_id, 'level_image' . $row, $image );
920
+
921
+ }
922
+ }
923
+
924
+ }
925
+
926
+
927
 
928
  // Let others play
929
  do_action( 'mycred_save_badge', $post_id );
933
  * Add to General Settings
934
  * @version 1.0
935
  */
936
+ public function after_general_settings( $mycred ) {
937
  $settings = $this->badges;
938
 
939
  $buddypress = false;
972
 
973
  </select>
974
  </li>
975
+ <li>
976
+ <label for=""><input type="checkbox" name="<?php echo $this->field_name( 'show_all_bp' ); ?>" id="<?php echo $this->field_id( 'show_all_bp' ); ?>" <?php checked( $settings['show_all_bp'], 1 ); ?> value="1" /> <?php _e( 'Show all badges, including badges users have not yet earned.', 'mycred' ); ?></label>
977
+ </li>
978
  </ol>
979
  <?php else : ?>
980
  <input type="hidden" name="<?php echo $this->field_name( 'buddypress' ); ?>" id="<?php echo $this->field_id( 'buddypress' ); ?>" value="" />
1003
 
1004
  </select>
1005
  </li>
1006
+ <li>
1007
+ <label for=""><input type="checkbox" name="<?php echo $this->field_name( 'show_all_bb' ); ?>" id="<?php echo $this->field_id( 'show_all_bb' ); ?>" <?php checked( $settings['show_all_bb'], 1 ); ?> value="1" /> <?php _e( 'Show all badges, including badges users have not yet earned.', 'mycred' ); ?></label>
1008
+ </li>
1009
  </ol>
1010
  <?php else : ?>
1011
  <input type="hidden" name="<?php echo $this->field_name( 'bbpress' ); ?>" id="<?php echo $this->field_id( 'bbpress' ); ?>" value="" />
1021
  * @version 1.0
1022
  */
1023
  public function sanitize_extra_settings( $new_data, $data, $core ) {
1024
+
1025
+ $new_data['badges']['show_all_bp'] = ( isset( $new_data['badges']['show_all_bp'] ) ) ? $new_data['badges']['show_all_bp'] : 0;
1026
+ $new_data['badges']['show_all_bb'] = ( isset( $new_data['badges']['show_all_bb'] ) ) ? $new_data['badges']['show_all_bb'] : 0;
1027
+
1028
  $new_data['badges']['buddypress'] = sanitize_text_field( $data['badges']['buddypress'] );
1029
  $new_data['badges']['bbpress'] = sanitize_text_field( $data['badges']['bbpress'] );
1030
 
1031
  return $new_data;
1032
+
1033
+ }
1034
+
1035
+ public function badge_user_screen_header() {
1036
+
1037
+ if ( isset( $_POST['mycred_badge_manual']['token'] ) && isset( $_GET['user_id'] ) ) {
1038
+
1039
+ $user_id = absint( $_GET['user_id'] );
1040
+ if ( wp_verify_nonce( $_POST['mycred_badge_manual']['token'], 'mycred-adjust-users-badge' . $user_id ) ) {
1041
+
1042
+ $added = $removed = $updated = 0;
1043
+ $users_badges = mycred_get_users_badges( $user_id );
1044
+ if ( ! empty( $_POST['mycred_badge_manual']['badges'] ) ) {
1045
+ foreach ( $_POST['mycred_badge_manual']['badges'] as $badge_id => $badge ) {
1046
+ // Give badge
1047
+ if ( ! array_key_exists( $badge_id, $users_badges ) && isset( $badge['has'] ) && $badge['has'] == 1 ) {
1048
+ $level = 0;
1049
+ if ( isset( $badge['level'] ) && $badge['level'] != '' )
1050
+ $level = absint( $badge['level'] );
1051
+
1052
+ update_user_meta( $user_id, 'mycred_badge' . $badge_id, $level );
1053
+ $added ++;
1054
+ }
1055
+ // Remove badge
1056
+ elseif ( array_key_exists( $badge_id, $users_badges ) && ! isset( $badge['has'] ) ) {
1057
+ delete_user_meta( $user_id, 'mycred_badge' . $badge_id );
1058
+ $removed ++;
1059
+ }
1060
+ // Level change
1061
+ elseif ( array_key_exists( $badge_id, $users_badges ) && isset( $badge['level'] ) && $badge['level'] != $users_badges[ $badge_id ] ) {
1062
+ update_user_meta( $user_id, 'mycred_badge' . $badge_id, absint( $badge['level'] ) );
1063
+ $updated ++;
1064
+ }
1065
+ }
1066
+ }
1067
+
1068
+ }
1069
+
1070
+ }
1071
+
1072
+ }
1073
+
1074
+
1075
+ /**
1076
+ * User Badges Admin Screen
1077
+ * @version 1.0
1078
+ */
1079
+ public function badge_user_screen() {
1080
+
1081
+ global $mycred_manual_badges;
1082
+
1083
+ $user_id = absint( $_GET['user_id'] );
1084
+ $user = get_userdata( $user_id );
1085
+
1086
+ global $bp;
1087
+
1088
+ $mycred_admin = new myCRED_Admin();
1089
+
1090
+ if ( is_object( $bp ) && isset( $bp->version ) && version_compare( $bp->version, '2.0', '>=' ) && bp_is_active( 'xprofile' ) )
1091
+ $mycred_admin->using_bp = true;
1092
+
1093
+ $all_badges = mycred_get_badge_ids();
1094
+ $users_badges = mycred_get_users_badges( $user_id );
1095
+
1096
+ ?>
1097
+ <div class="wrap" id="edit-badges-page">
1098
+ <h2><?php _e( 'User Badges', 'mycred' ); ?></h2>
1099
+ <?php if ( isset( $_POST['mycred_badge_manual'] ) ) echo '<div class="updated"><p>Badges successfully updated.</p></div>'; ?>
1100
+ <form id="your-profile" action="" method="post">
1101
+ <?php $mycred_admin->user_nav( $user, 'badges' ); ?>
1102
+ <div class="clear clearfix"></div>
1103
+ <p><?php _e( 'Here you can view the badges this user has earned and if needed, manually give or take away a badge from a user.', 'mycred' ); ?></p>
1104
+ <div id="badge-wrapper">
1105
+ <?php
1106
+
1107
+ if ( ! empty( $all_badges ) ) {
1108
+ foreach ( $all_badges as $badge_id ) {
1109
+
1110
+ $badge_id = absint( $badge_id );
1111
+ $earned = $level = 0;
1112
+ $status = '<span class="not-earned">' . __( 'Not earned', 'mycred' ) . '</span>';
1113
+ $image = get_post_meta( $badge_id, 'default_image', true );
1114
+ $requirements = mycred_get_badge_requirements( $badge_id );
1115
+
1116
+ if ( array_key_exists( $badge_id, $users_badges ) ) {
1117
+ $earned = 1;
1118
+ $status = '<span class="earned">' . __( 'Earned', 'mycred' ) . '</span>';
1119
+ $level = $users_badges[ $badge_id ];
1120
+
1121
+ $image = get_post_meta( $badge_id, 'level_image' . $level, true );
1122
+ if ( $image == '' )
1123
+ $image = get_post_meta( $badge_id, 'main_image', true );
1124
+
1125
+ }
1126
+
1127
+ if ( $image != '' )
1128
+ $image = '<img src="' . $image . '" alt="" />';
1129
+ else
1130
+ $image = '<span>' . __( 'No image', 'mycred' ) . '</span>';
1131
+
1132
+ $level_select = '<input type="hidden" name="mycred_badge_manual[badges][' . $badge_id . '][level]" value="" />';
1133
+ if ( count( $requirements ) > 1 ) {
1134
+ $level_select = '<li><select name="mycred_badge_manual[badges][' . $badge_id . '][level]">';
1135
+ $level_select .= '<option value=""';
1136
+ if ( ! $earned ) $level_select .= ' selected="selected"';
1137
+ $level_select .= '>' . __( 'Select a level', 'mycred' ) . '</option>';
1138
+ foreach ( $requirements as $l => $needs ) {
1139
+ $level_select .= '<option value="' . $l . '"';
1140
+ if ( $earned && $level == $l ) $level_select .= ' selected="selected"';
1141
+ $level_select .= '>' . __( 'Level', 'mycred' ) . ' ' . ( $l + 1 ) . '</option>';
1142
+ }
1143
+ $level_select .= '</select></li>';
1144
+ }
1145
+
1146
+ ?>
1147
+ <div class="the-badge">
1148
+ <div class="badge-image-wrap">
1149
+ <?php echo $image; ?>
1150
+ </div>
1151
+ <h4><?php echo get_the_title( $badge_id ); ?></h4>
1152
+ <div class="badge-status"><label><?php _e( 'Status', 'mycred' ); ?></label><?php echo $status; ?></div>
1153
+ <div class="badge-actions">
1154
+ <ul>
1155
+ <li><label><input type="checkbox" name="mycred_badge_manual[badges][<?php echo $badge_id; ?>][has]" <?php checked( $earned, 1 );?> value="1" /> <?php _e( 'Earned', 'mycred' ); ?></label></li>
1156
+ <?php echo $level_select; ?>
1157
+ </ul>
1158
+ </div>
1159
+ </div>
1160
+ <?php
1161
+
1162
+ }
1163
+ }
1164
+
1165
+ ?>
1166
+ <div class="clear clearfix"></div>
1167
+ </div>
1168
+ <input type="hidden" name="mycred_badge_manual[token]" value="<?php echo wp_create_nonce( 'mycred-adjust-users-badge' . $user_id ); ?>" />
1169
+ <p><input type="submit" class="button button-primary" value="<?php _e( 'Save Changes', 'mycred' ); ?>" /></p>
1170
+ </form>
1171
+ </div>
1172
+ <?php
1173
+
1174
  }
1175
 
1176
  }
addons/banking/services/mycred-bank-service-interest.php CHANGED
@@ -568,16 +568,16 @@ if ( ! class_exists( 'myCRED_Banking_Service_Interest' ) ) :
568
  /**
569
  * Save User Override
570
  * @since 1.5.2
571
- * @version 1.0
572
  */
573
  function save_user_override() {
574
 
575
- $ctype = sanitize_key( $_GET['ctype'] );
576
- $user_id = absint( $_GET['user_id'] );
577
-
578
  // Save interest rate
579
  if ( isset( $_POST['mycred_adjust_users_interest_rate_run'] ) && isset( $_POST['mycred_adjust_users_interest_rate'] ) ) {
580
 
 
 
 
581
  $rate = $_POST['mycred_adjust_users_interest_rate'];
582
  if ( $rate != '' ) {
583
  if ( isfloat( $rate ) )
@@ -599,6 +599,9 @@ if ( ! class_exists( 'myCRED_Banking_Service_Interest' ) ) :
599
  // Exclude
600
  elseif ( isset( $_POST['mycred_exclude_users_interest_rate'] ) ) {
601
 
 
 
 
602
  $excluded = explode( ',', $this->prefs['exclude_ids'] );
603
  $clean_ids = array();
604
  if ( ! empty( $excluded ) ) {
@@ -628,6 +631,9 @@ if ( ! class_exists( 'myCRED_Banking_Service_Interest' ) ) :
628
  // Include
629
  elseif ( isset( $_POST['mycred_include_users_interest_rate'] ) ) {
630
 
 
 
 
631
  $excluded = explode( ',', $this->prefs['exclude_ids'] );
632
  if ( ! empty( $excluded ) ) {
633
  $clean_ids = array();
568
  /**
569
  * Save User Override
570
  * @since 1.5.2
571
+ * @version 1.0.1
572
  */
573
  function save_user_override() {
574
 
 
 
 
575
  // Save interest rate
576
  if ( isset( $_POST['mycred_adjust_users_interest_rate_run'] ) && isset( $_POST['mycred_adjust_users_interest_rate'] ) ) {
577
 
578
+ $ctype = sanitize_key( $_GET['ctype'] );
579
+ $user_id = absint( $_GET['user_id'] );
580
+
581
  $rate = $_POST['mycred_adjust_users_interest_rate'];
582
  if ( $rate != '' ) {
583
  if ( isfloat( $rate ) )
599
  // Exclude
600
  elseif ( isset( $_POST['mycred_exclude_users_interest_rate'] ) ) {
601
 
602
+ $ctype = sanitize_key( $_GET['ctype'] );
603
+ $user_id = absint( $_GET['user_id'] );
604
+
605
  $excluded = explode( ',', $this->prefs['exclude_ids'] );
606
  $clean_ids = array();
607
  if ( ! empty( $excluded ) ) {
631
  // Include
632
  elseif ( isset( $_POST['mycred_include_users_interest_rate'] ) ) {
633
 
634
+ $ctype = sanitize_key( $_GET['ctype'] );
635
+ $user_id = absint( $_GET['user_id'] );
636
+
637
  $excluded = explode( ',', $this->prefs['exclude_ids'] );
638
  if ( ! empty( $excluded ) ) {
639
  $clean_ids = array();
addons/banking/services/mycred-bank-service-payouts.php CHANGED
@@ -123,7 +123,8 @@ if ( ! class_exists( 'myCRED_Banking_Service_Payouts' ) ) :
123
  public function do_masspayout() {
124
 
125
  $work_marker = 'MYCRED_BANK_RECPAY_' . $this->mycred_type;
126
- define( $work_marker, time() );
 
127
 
128
  $option_id = 'mycred_bank_recurring_pay' . $this->mycred_type;
129
  $current_work = mycred_get_option( $option_id, false );
123
  public function do_masspayout() {
124
 
125
  $work_marker = 'MYCRED_BANK_RECPAY_' . $this->mycred_type;
126
+ if ( ! defined( $work_marker ) )
127
+ define( $work_marker, time() );
128
 
129
  $option_id = 'mycred_bank_recurring_pay' . $this->mycred_type;
130
  $current_work = mycred_get_option( $option_id, false );
addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
5
  * myCRED_Payment_Gateway class
6
  * @see http://mycred.me/add-ons/mycred_payment_gateway/
7
  * @since 0.1
8
- * @version 1.2
9
  */
10
  if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) {
11
  abstract class myCRED_Payment_Gateway {
@@ -211,11 +211,11 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) {
211
  /**
212
  * Get Pending Payment
213
  * @since 1.5
214
- * @version 1.0.1
215
  */
216
  function get_pending_payment( $post_id = '' ) {
217
 
218
- $post_id = sanitize_text_field( $post_id );
219
  if ( is_numeric( $post_id ) )
220
  $post = get_post( $post_id );
221
  else
@@ -553,6 +553,31 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) {
553
  <?php
554
  }
555
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
556
  /**
557
  * Get Order
558
  * @since 1.0
@@ -711,29 +736,33 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) {
711
  /**
712
  * Get Thank You Page
713
  * @since 0.1
714
- * @version 1.0
715
  */
716
  function get_thankyou() {
 
 
717
  if ( $this->core->buy_creds['thankyou']['use'] == 'page' ) {
718
- if ( empty( $this->core->buy_creds['thankyou']['page'] ) )
719
- return get_bloginfo( 'url' );
720
- else
721
- return get_permalink( $this->core->buy_creds['thankyou']['page'] );
 
722
  }
723
 
724
- return get_bloginfo( 'url' ) . '/' . $this->core->buy_creds['thankyou']['custom'];
 
725
  }
726
 
727
  /**
728
  * Get Cancelled Page
729
  * @since 0.1
730
- * @version 1.2
731
  */
732
- function get_cancelled( $title = '' ) {
 
 
733
  if ( $this->core->buy_creds['cancelled']['use'] == 'page' ) {
734
- if ( empty( $this->core->buy_creds['cancelled']['page'] ) )
735
- $base = get_bloginfo( 'url' );
736
- else
737
  $base = get_permalink( $this->core->buy_creds['cancelled']['page'] );
738
  }
739
  else {
@@ -741,12 +770,15 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) {
741
  }
742
 
743
  if ( isset( $_REQUEST['return_to'] ) )
744
- $base = $_REQUEST['return_to'];
745
 
746
- if ( $title != '' )
747
- return add_query_arg( array( 'buycred_cancel' => $title ), $base );
748
  else
749
- return $base;
 
 
 
750
  }
751
 
752
  /**
@@ -1519,12 +1551,12 @@ if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) {
1519
 
1520
  $point_type = $pending_payment['ctype'];
1521
  $mycred = mycred( $point_type );
1522
- $data = array( 'ref_type' => 'user', 'txt_id' => $transaction_id, 'sales_data' => implode( '|', $sales_data ) );
1523
 
1524
  $reply = false;
1525
 
1526
  if ( ! $mycred->has_entry( $reference, $pending_payment['from'], $pending_payment['to'], $data, $pending_payment['ctype'] ) ) {
1527
- add_filter( 'mycred_get_email_events', array( $this, 'email_notice' ), 10, 3 );
1528
  $reply = $mycred->add_creds(
1529
  $reference,
1530
  $pending_payment['to'],
5
  * myCRED_Payment_Gateway class
6
  * @see http://mycred.me/add-ons/mycred_payment_gateway/
7
  * @since 0.1
8
+ * @version 1.2.1
9
  */
10
  if ( ! class_exists( 'myCRED_Payment_Gateway' ) ) {
11
  abstract class myCRED_Payment_Gateway {
211
  /**
212
  * Get Pending Payment
213
  * @since 1.5
214
+ * @version 1.0
215
  */
216
  function get_pending_payment( $post_id = '' ) {
217
 
218
+ $post_id = sanitize_key( $post_id );
219
  if ( is_numeric( $post_id ) )
220
  $post = get_post( $post_id );
221
  else
553
  <?php
554
  }
555
 
556
+ /**
557
+ * Get Buyers Name
558
+ * @since 1.6
559
+ * @version 1.0
560
+ */
561
+ public function get_buyers_name( $user_id = NULL ) {
562
+
563
+ if ( $user_id === NULL ) return '';
564
+
565
+ $user = get_userdata( $user_id );
566
+ if ( ! isset( $user->ID ) ) return $user_id;
567
+
568
+ if ( ! empty( $user->first_name ) && ! empty( $user->last_name ) )
569
+ $name = $user->first_name . ' ' . $user->last_name;
570
+
571
+ elseif ( class_exists( 'WooCommerce' ) )
572
+ $name = get_user_meta( $user_id, 'billing_first_name', true ) . ' ' . get_user_meta( $user_id, 'billing_last_name', true );
573
+
574
+ else
575
+ $name = $user->display_name;
576
+
577
+ return $name;
578
+
579
+ }
580
+
581
  /**
582
  * Get Order
583
  * @since 1.0
736
  /**
737
  * Get Thank You Page
738
  * @since 0.1
739
+ * @version 1.1
740
  */
741
  function get_thankyou() {
742
+
743
+ $url = get_bloginfo( 'url' );
744
  if ( $this->core->buy_creds['thankyou']['use'] == 'page' ) {
745
+ if ( ! empty( $this->core->buy_creds['thankyou']['page'] ) )
746
+ $url = get_permalink( $this->core->buy_creds['thankyou']['page'] );
747
+ }
748
+ else {
749
+ $url = get_bloginfo( 'url' ) . '/' . $this->core->buy_creds['thankyou']['custom'];
750
  }
751
 
752
+ return apply_filters( 'mycred_buycred_thankyou_url', $url, $this );
753
+
754
  }
755
 
756
  /**
757
  * Get Cancelled Page
758
  * @since 0.1
759
+ * @version 1.3
760
  */
761
+ function get_cancelled( $cancel_token = '' ) {
762
+
763
+ $base = get_bloginfo( 'url' );
764
  if ( $this->core->buy_creds['cancelled']['use'] == 'page' ) {
765
+ if ( ! empty( $this->core->buy_creds['cancelled']['page'] ) )
 
 
766
  $base = get_permalink( $this->core->buy_creds['cancelled']['page'] );
767
  }
768
  else {
770
  }
771
 
772
  if ( isset( $_REQUEST['return_to'] ) )
773
+ $base = sanitize_text_field( $_REQUEST['return_to'] );
774
 
775
+ if ( $cancel_token != '' )
776
+ $url = add_query_arg( array( 'buycred_cancel' => $cancel_token ), $base );
777
  else
778
+ $url = $base;
779
+
780
+ return apply_filters( 'mycred_buycred_cancel_url', $url, $title, $this );
781
+
782
  }
783
 
784
  /**
1551
 
1552
  $point_type = $pending_payment['ctype'];
1553
  $mycred = mycred( $point_type );
1554
+ $data = array( 'ref_type' => 'user', 'txn_id' => $transaction_id, 'sales_data' => implode( '|', $sales_data ) );
1555
 
1556
  $reply = false;
1557
 
1558
  if ( ! $mycred->has_entry( $reference, $pending_payment['from'], $pending_payment['to'], $data, $pending_payment['ctype'] ) ) {
1559
+ add_filter( 'mycred_get_email_events', array( $this, 'email_notice' ), 10, 2 );
1560
  $reply = $mycred->add_creds(
1561
  $reference,
1562
  $pending_payment['to'],
addons/buy-creds/gateways/netbilling.php CHANGED
@@ -133,7 +133,7 @@ if ( ! class_exists( 'myCRED_NETbilling' ) ) {
133
  /**
134
  * Buy Handler
135
  * @since 0.1
136
- * @version 1.3.1
137
  */
138
  public function buy() {
139
  if ( ! isset( $this->prefs['account'] ) || empty( $this->prefs['account'] ) )
133
  /**
134
  * Buy Handler
135
  * @since 0.1
136
+ * @version 1.3
137
  */
138
  public function buy() {
139
  if ( ! isset( $this->prefs['account'] ) || empty( $this->prefs['account'] ) )
addons/buy-creds/gateways/paypal-standard.php CHANGED
@@ -119,7 +119,7 @@ if ( ! class_exists( 'myCRED_PayPal_Standard' ) ) {
119
  /**
120
  * Process Handler
121
  * @since 0.1
122
- * @version 1.3.1
123
  */
124
  public function process() {
125
 
@@ -127,7 +127,7 @@ if ( ! class_exists( 'myCRED_PayPal_Standard' ) ) {
127
  if ( isset( $_POST['custom'] ) && isset( $_POST['txn_id'] ) && isset( $_POST['mc_gross'] ) ) {
128
 
129
  // Get Pending Payment
130
- $pending_post_id = sanitize_text_field( $_POST['custom'] );
131
  $pending_payment = $this->get_pending_payment( $pending_post_id );
132
  if ( $pending_payment !== false ) {
133
 
@@ -299,13 +299,6 @@ if ( ! class_exists( 'myCRED_PayPal_Standard' ) ) {
299
  <ol>
300
  <?php $this->exchange_rate_setup(); ?>
301
  </ol>
302
- <label class="subheader"><?php _e( 'IPN Address', 'mycred' ); ?></label>
303
- <ol>
304
- <li>
305
- <code style="padding: 12px;display:block;"><?php echo $this->callback_url(); ?></code>
306
- <p><?php _e( 'For this gateway to work, you must login to your PayPal account and under "Profile" > "Selling Tools" enable "Instant Payment Notifications". Make sure the "Notification URL" is set to the above address and that you have selected "Receive IPN messages (Enabled)".', 'mycred' ); ?></p>
307
- </li>
308
- </ol>
309
  <?php
310
  }
311
 
119
  /**
120
  * Process Handler
121
  * @since 0.1
122
+ * @version 1.3
123
  */
124
  public function process() {
125
 
127
  if ( isset( $_POST['custom'] ) && isset( $_POST['txn_id'] ) && isset( $_POST['mc_gross'] ) ) {
128
 
129
  // Get Pending Payment
130
+ $pending_post_id = sanitize_key( $_POST['custom'] );
131
  $pending_payment = $this->get_pending_payment( $pending_post_id );
132
  if ( $pending_payment !== false ) {
133
 
299
  <ol>
300
  <?php $this->exchange_rate_setup(); ?>
301
  </ol>
 
 
 
 
 
 
 
302
  <?php
303
  }
304
 
addons/buy-creds/gateways/skrill.php CHANGED
@@ -96,7 +96,7 @@ if ( ! class_exists( 'myCRED_Skrill' ) ) {
96
  /**
97
  * Process Handler
98
  * @since 0.1
99
- * @version 1.2.1
100
  */
101
  public function process() {
102
 
@@ -104,7 +104,7 @@ if ( ! class_exists( 'myCRED_Skrill' ) ) {
104
  if ( isset( $_POST['sales_data'] ) && isset( $_POST['transaction_id'] ) && isset( $_POST['amount'] ) ) {
105
 
106
  // Get Pending Payment
107
- $pending_post_id = sanitize_text_field( $_POST['sales_data'] );
108
  $pending_payment = $this->get_pending_payment( $pending_post_id );
109
  if ( $pending_payment !== false ) {
110
 
@@ -283,7 +283,7 @@ if ( ! class_exists( 'myCRED_Skrill' ) ) {
283
  /**
284
  * Preferences
285
  * @since 0.1
286
- * @version 1.0
287
  */
288
  function preferences() {
289
  add_filter( 'mycred_dropdown_currencies', array( $this, 'skrill_currencies' ) );
@@ -305,8 +305,7 @@ if ( ! class_exists( 'myCRED_Skrill' ) ) {
305
  <label class="subheader" for="<?php echo $this->field_id( 'word' ); ?>"><?php _e( 'Secret Word', 'mycred' ); ?></label>
306
  <ol>
307
  <li>
308
- <div class="h2"><input type="text" name="<?php echo $this->field_name( 'word' ); ?>" id="<?php echo $this->field_id( 'word' ); ?>" value="<?php echo $prefs['word']; ?>" class="medium" /></div>
309
- <span class="description"><?php _e( 'You can set your secret word under "Merchant Tools" in your Skrill Account.', 'mycred' ); ?></span>
310
  </li>
311
  </ol>
312
  <label class="subheader" for="<?php echo $this->field_id( 'item_name' ); ?>"><?php _e( 'Item Name', 'mycred' ); ?></label>
@@ -323,7 +322,7 @@ if ( ! class_exists( 'myCRED_Skrill' ) ) {
323
  <label class="subheader" for="<?php echo $this->field_id( 'email_receipt' ); ?>"><?php _e( 'Confirmation Email', 'mycred' ); ?></label>
324
  <ol>
325
  <li>
326
- <input type="checkbox" name="<?php echo $this->field_name( 'email_receipt' ); ?>" id="<?php echo $this->field_id( 'email_receipt' ); ?>" value="1"<?php checked( $prefs['email_receipt'], 1 ); ?> /><?php _e( 'Ask Skrill to send me a confirmation email for each successful purchase.', 'mycred' ); ?>
327
  </li>
328
  </ol>
329
  <label class="subheader"><?php _e( 'Checkout Page', 'mycred' ); ?></label>
@@ -339,15 +338,10 @@ if ( ! class_exists( 'myCRED_Skrill' ) ) {
339
  <span class="description"><?php _e( 'The URL to the image you want to use on the top of the gateway. For best integration results we recommend you use logos with dimensions up to 200px in width and 50px in height.', 'mycred' ); ?></span>
340
  </li>
341
  <li>
342
- <label for="<?php echo $this->field_id( 'confirmation_note' ); ?>"><?php _e( 'Confirmation Note', 'mycred' ); ?></label>
343
- <textarea rows="10" cols="50" name="<?php echo $this->field_name( 'confirmation_note' ); ?>" id="<?php echo $this->field_id( 'confirmation_note' ); ?>" class="large-text code"><?php echo $prefs['confirmation_note']; ?></textarea>
344
  <span class="description"><?php _e( 'Optional text to show user once a transaction has been successfully completed. This text is shown by Skrill.', 'mycred' ); ?></span>
345
  </li>
346
- <li>
347
- <h3><?php _e( 'Important!', 'mycred' ); ?></h3>
348
- <p><span class="description"><strong>1. </strong><?php echo $this->core->template_tags_general( __( 'By default all Skrill Merchant account accept payments via Bank Transfers. When a user selects this option, no %_plural% are awarded! You will need to manually award these once the bank transfer is completed.', 'mycred' ) ); ?></span></p>
349
- <p><span class="description"><strong>2. </strong><?php _e( 'By default purchases made using Skrill will result in users having to signup for a Skrill account (if they do not have one already). You can contact Skrill Merchant Services and request to disable this feature.', 'mycred' ); ?></span></p>
350
- </li>
351
  </ol>
352
  <?php
353
  }
96
  /**
97
  * Process Handler
98
  * @since 0.1
99
+ * @version 1.2
100
  */
101
  public function process() {
102
 
104
  if ( isset( $_POST['sales_data'] ) && isset( $_POST['transaction_id'] ) && isset( $_POST['amount'] ) ) {
105
 
106
  // Get Pending Payment
107
+ $pending_post_id = sanitize_key( $_POST['sales_data'] );
108
  $pending_payment = $this->get_pending_payment( $pending_post_id );
109
  if ( $pending_payment !== false ) {
110
 
283
  /**
284
  * Preferences
285
  * @since 0.1
286
+ * @version 1.0.1
287
  */
288
  function preferences() {
289
  add_filter( 'mycred_dropdown_currencies', array( $this, 'skrill_currencies' ) );
305
  <label class="subheader" for="<?php echo $this->field_id( 'word' ); ?>"><?php _e( 'Secret Word', 'mycred' ); ?></label>
306
  <ol>
307
  <li>
308
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( 'word' ); ?>" id="<?php echo $this->field_id( 'word' ); ?>" value="<?php echo $prefs['word']; ?>" class="long" /></div>
 
309
  </li>
310
  </ol>
311
  <label class="subheader" for="<?php echo $this->field_id( 'item_name' ); ?>"><?php _e( 'Item Name', 'mycred' ); ?></label>
322
  <label class="subheader" for="<?php echo $this->field_id( 'email_receipt' ); ?>"><?php _e( 'Confirmation Email', 'mycred' ); ?></label>
323
  <ol>
324
  <li>
325
+ <label for="<?php echo $this->field_id( 'email_receipt' ); ?>"><input type="checkbox" name="<?php echo $this->field_name( 'email_receipt' ); ?>" id="<?php echo $this->field_id( 'email_receipt' ); ?>" value="1"<?php checked( $prefs['email_receipt'], 1 ); ?> /> <?php _e( 'Ask Skrill to send me a confirmation email for each successful purchase.', 'mycred' ); ?></label>
326
  </li>
327
  </ol>
328
  <label class="subheader"><?php _e( 'Checkout Page', 'mycred' ); ?></label>
338
  <span class="description"><?php _e( 'The URL to the image you want to use on the top of the gateway. For best integration results we recommend you use logos with dimensions up to 200px in width and 50px in height.', 'mycred' ); ?></span>
339
  </li>
340
  <li>
341
+ <label for="<?php echo $this->field_id( 'confirmation_note' ); ?>"><?php _e( 'Confirmation Note', 'mycred' ); ?></label><br />
342
+ <textarea rows="10" cols="50" style="width: 85%;" name="<?php echo $this->field_name( 'confirmation_note' ); ?>" id="<?php echo $this->field_id( 'confirmation_note' ); ?>" class="large-text code"><?php echo $prefs['confirmation_note']; ?></textarea><br />
343
  <span class="description"><?php _e( 'Optional text to show user once a transaction has been successfully completed. This text is shown by Skrill.', 'mycred' ); ?></span>
344
  </li>
 
 
 
 
 
345
  </ol>
346
  <?php
347
  }
addons/buy-creds/gateways/zombaio.php CHANGED
@@ -243,7 +243,7 @@ if ( ! class_exists( 'myCRED_Zombaio' ) ) {
243
  /**
244
  * Preferences
245
  * @since 1.1
246
- * @version 1.0
247
  */
248
  function preferences() {
249
  $prefs = $this->prefs; ?>
@@ -275,7 +275,7 @@ if ( ! class_exists( 'myCRED_Zombaio' ) ) {
275
  <label class="subheader" for="<?php echo $this->field_id( 'bypass_ipn' ); ?>"><?php _e( 'IP Verification', 'mycred' ); ?></label>
276
  <ol>
277
  <li>
278
- <input type="checkbox" name="<?php echo $this->field_name( 'bypass_ipn' ); ?>" id="<?php echo $this->field_id( 'bypass_ipn' ); ?>" value="1"<?php checked( $prefs['bypass_ipn'], 1 ); ?> /> <?php _e( 'Do not verify that callbacks are coming from Zombaio.', 'mycred' ); ?>
279
  </li>
280
  </ol>
281
  <label class="subheader" for="<?php echo $this->field_id( 'lang' ); ?>"><?php _e( 'Language', 'mycred' ); ?></label>
243
  /**
244
  * Preferences
245
  * @since 1.1
246
+ * @version 1.0.1
247
  */
248
  function preferences() {
249
  $prefs = $this->prefs; ?>
275
  <label class="subheader" for="<?php echo $this->field_id( 'bypass_ipn' ); ?>"><?php _e( 'IP Verification', 'mycred' ); ?></label>
276
  <ol>
277
  <li>
278
+ <label for="<?php echo $this->field_id( 'bypass_ipn' ); ?>"><input type="checkbox" name="<?php echo $this->field_name( 'bypass_ipn' ); ?>" id="<?php echo $this->field_id( 'bypass_ipn' ); ?>" value="1"<?php checked( $prefs['bypass_ipn'], 1 ); ?> /> <?php _e( 'Do not verify that callbacks are coming from Zombaio.', 'mycred' ); ?></label>
279
  </li>
280
  </ol>
281
  <label class="subheader" for="<?php echo $this->field_id( 'lang' ); ?>"><?php _e( 'Language', 'mycred' ); ?></label>
addons/buy-creds/myCRED-addon-buy-creds.php CHANGED
@@ -16,16 +16,16 @@ define( 'myCRED_PURCHASE_DIR', myCRED_ADDONS_DIR . 'buy-creds/' );
16
  /**
17
  * Payment Gateway factory
18
  */
19
- require_once( myCRED_PURCHASE_DIR . 'abstracts/mycred-abstract-payment-gateway.php' );
20
 
21
  /**
22
  * Payment Gateways, if you do not want to use one just comment it out.
23
  */
24
- require_once( myCRED_PURCHASE_DIR . 'gateways/paypal-standard.php' );
25
- require_once( myCRED_PURCHASE_DIR . 'gateways/bitpay.php' );
26
- require_once( myCRED_PURCHASE_DIR . 'gateways/netbilling.php' );
27
- require_once( myCRED_PURCHASE_DIR . 'gateways/skrill.php' );
28
- require_once( myCRED_PURCHASE_DIR . 'gateways/zombaio.php' );
29
 
30
  do_action( 'mycred_buycred_load_gateways' );
31
 
@@ -245,7 +245,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
245
  /**
246
  * Register Pending Payments
247
  * @since 1.5
248
- * @version 1.0
249
  */
250
  function register_pending_payments() {
251
 
@@ -256,8 +256,8 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
256
  'parent_item_colon' => '',
257
  'all_items' => __( 'Pending Payments', 'mycred' ),
258
  'view_item' => '',
259
- 'add_new_item' => '',
260
- 'add_new' => '',
261
  'edit_item' => __( 'Edit Pending Payment', 'mycred' ),
262
  'update_item' => '',
263
  'search_items' => '',
@@ -348,10 +348,9 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
348
  break;
349
  case 'ctype';
350
 
351
- $types = mycred_get_types();
352
  $type = get_post_meta( $post_id, 'point_type', true );
353
- if ( isset( $types[ $type ] ) )
354
- echo $types[ $type ];
355
  else
356
  echo $type;
357
 
@@ -459,7 +458,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
459
 
460
  // NetBilling
461
  $installed['netbilling'] = array(
462
- 'title' => 'NETbilling',
463
  'callback' => array( 'myCRED_NETbilling' )
464
  );
465
 
@@ -535,7 +534,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
535
  * @since 0.1
536
  * @version 1.1
537
  */
538
- public function after_general_settings() {
539
  // Since we are both registering our own settings and want to hook into
540
  // the core settings, we need to define our "defaults" here.
541
  $defaults = array(
@@ -570,7 +569,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
570
  $thankyou_use = $buy_creds['thankyou']['use'];
571
  $cancelled_use = $buy_creds['cancelled']['use'];
572
 
573
- $mycred_types = mycred_get_types(); ?>
574
 
575
  <h4><div class="icon icon-active"></div><strong>buy</strong>CRED</h4>
576
  <div class="body" style="display:none;">
@@ -581,7 +580,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
581
  <span class="description"><?php echo $this->core->template_tags_general( __( 'Minimum amount of %plural% a user must purchase. Will default to 1.', 'mycred' ) ); ?></span>
582
  </li>
583
  </ol>
584
- <?php if ( count( $mycred_types ) > 1 ) : ?>
585
 
586
  <label class="subheader"><?php _e( 'Point Types', 'mycred' ); ?></label>
587
  <ol id="mycred-buy-creds-type">
@@ -665,7 +664,7 @@ if ( ! class_exists( 'myCRED_buyCRED_Module' ) ) {
665
  <li>
666
  <label for="<?php echo $this->field_id( array( 'gifting' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
667
  <div class="h2"><input type="text" name="mycred_pref_core[buy_creds][gifting][log]" id="<?php echo $this->field_id( array( 'gifting' => 'log' ) ); ?>" value="<?php echo $buy_creds['gifting']['log']; ?>" class="long" /></div>
668
- <div class="description"><?php echo $this->core->available_template_tags( array( 'general', 'user' ) ); ?></div>
669
  </li>
670
  </ol>
671
  <label class="subheader"><?php _e( 'Available Shortcodes', 'mycred' ); ?></label>
16
  /**
17
  * Payment Gateway factory
18
  */
19
+ require_once myCRED_PURCHASE_DIR . 'abstracts/mycred-abstract-payment-gateway.php';
20
 
21
  /**
22
  * Payment Gateways, if you do not want to use one just comment it out.
23
  */
24
+ require_once myCRED_PURCHASE_DIR . 'gateways/paypal-standard.php';
25
+ require_once myCRED_PURCHASE_DIR . 'gateways/bitpay.php';
26
+ require_once myCRED_PURCHASE_DIR . 'gateways/netbilling.php';
27
+ require_once myCRED_PURCHASE_DIR . 'gateways/skrill.php';
28
+ require_once myCRED_PURCHASE_DIR . 'gateways/zombaio.php';
29
 
30
  do_action( 'mycred_buycred_load_gateways' );
31
 
245
  /**
246
  * Register Pending Payments
247
  * @since 1.5
248
+ * @version 1.0.1
249
  */
250
  function register_pending_payments() {
251
 
256
  'parent_item_colon' => '',
257
  'all_items' => __( 'Pending Payments', 'mycred' ),
258
  'view_item' => '',
259
+ 'add_new_item' => __( 'Add New', 'mycred' ),
260
+ 'add_new' => __( 'Add New', 'mycred' ),
261
  'edit_item' => __( 'Edit Pending Payment', 'mycred' ),
262
  'update_item' => '',
263
  'search_items' => '',
348
  break;
349
  case 'ctype';
350
 
 
351
  $type = get_post_meta( $post_id, 'point_type', true );
352
+ if ( isset( $this->point_types[ $type ] ) )
353
+ echo $this->point_types[ $type ];
354
  else
355
  echo $type;
356
 
458
 
459
  // NetBilling
460
  $installed['netbilling'] = array(
461
+ 'title' => 'NETBilling',
462
  'callback' => array( 'myCRED_NETbilling' )
463
  );
464
 
534
  * @since 0.1
535
  * @version 1.1
536
  */
537
+ public function after_general_settings( $mycred ) {
538
  // Since we are both registering our own settings and want to hook into
539
  // the core settings, we need to define our "defaults" here.
540
  $defaults = array(
569
  $thankyou_use = $buy_creds['thankyou']['use'];
570
  $cancelled_use = $buy_creds['cancelled']['use'];
571
 
572
+ ?>
573
 
574
  <h4><div class="icon icon-active"></div><strong>buy</strong>CRED</h4>
575
  <div class="body" style="display:none;">
580
  <span class="description"><?php echo $this->core->template_tags_general( __( 'Minimum amount of %plural% a user must purchase. Will default to 1.', 'mycred' ) ); ?></span>
581
  </li>
582
  </ol>
583
+ <?php if ( count( $this->point_types ) > 1 ) : ?>
584
 
585
  <label class="subheader"><?php _e( 'Point Types', 'mycred' ); ?></label>
586
  <ol id="mycred-buy-creds-type">
664
  <li>
665
  <label for="<?php echo $this->field_id( array( 'gifting' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
666
  <div class="h2"><input type="text" name="mycred_pref_core[buy_creds][gifting][log]" id="<?php echo $this->field_id( array( 'gifting' => 'log' ) ); ?>" value="<?php echo $buy_creds['gifting']['log']; ?>" class="long" /></div>
667
+ <span class="description"><?php echo $this->core->available_template_tags( array( 'general', 'user' ) ); ?></span>
668
  </li>
669
  </ol>
670
  <label class="subheader"><?php _e( 'Available Shortcodes', 'mycred' ); ?></label>
addons/coupons/myCRED-addon-coupons.php CHANGED
@@ -62,7 +62,7 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
62
  /**
63
  * Hook into Admin Init
64
  * @since 1.4
65
- * @version 1.0
66
  */
67
  public function module_admin_init() {
68
  add_filter( 'post_updated_messages', array( $this, 'update_messages' ) );
@@ -70,10 +70,10 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
70
  add_filter( 'manage_mycred_coupon_posts_columns', array( $this, 'adjust_column_headers' ) );
71
  add_action( 'manage_mycred_coupon_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
72
 
73
- add_filter( 'enter_title_here', array( $this, 'enter_title_here' ) );
74
- add_filter( 'post_row_actions', array( $this, 'adjust_row_actions' ), 10, 2 );
75
- add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
76
- add_action( 'save_post', array( $this, 'update_coupon_details' ) );
77
  }
78
 
79
  /**
@@ -117,8 +117,8 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
117
  $messages['mycred_coupon'] = array(
118
  0 => '',
119
  1 => __( 'Coupon updated.', 'mycred' ),
120
- 2 => '',
121
- 3 => '',
122
  4 => __( 'Coupon updated.', 'mycred' ),
123
  5 => false,
124
  6 => __( 'Coupon published.', 'mycred' ),
@@ -147,25 +147,30 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
147
  /**
148
  * Adjust Column Header
149
  * @since 1.4
150
- * @version 1.0
151
  */
152
- public function adjust_column_headers( $columns ) {
153
- unset( $columns['title'] );
154
- unset( $columns['date'] );
 
155
 
 
156
  $columns['title'] = __( 'Coupon Code', 'mycred' );
157
  $columns['value'] = __( 'Value', 'mycred' );
158
- $columns['usage'] = __( 'Usage', 'mycred' );
159
  $columns['limits'] = __( 'Limits', 'mycred' );
160
  $columns['expires'] = __( 'Expires', 'mycred' );
161
 
 
 
 
162
  return $columns;
163
  }
164
 
165
  /**
166
  * Adjust Column Body
167
  * @since 1.4
168
- * @version 1.0
169
  */
170
  public function adjust_column_content( $column_name, $post_id ) {
171
  global $mycred;
@@ -186,8 +191,16 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
186
  $count = mycred_get_global_coupon_count( $post_id );
187
  if ( empty( $count ) )
188
  _e( 'not yet used', 'mycred' );
189
- else
190
- echo $count;
 
 
 
 
 
 
 
 
191
 
192
  break;
193
 
@@ -216,6 +229,16 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
216
 
217
  break;
218
 
 
 
 
 
 
 
 
 
 
 
219
  }
220
  }
221
 
@@ -249,6 +272,8 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
249
  */
250
  public function add_meta_boxes() {
251
 
 
 
252
  add_meta_box(
253
  'mycred_coupon_setup',
254
  __( 'Coupon Setup', 'mycred' ),
@@ -272,16 +297,26 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
272
  __( 'Coupon Requirements', 'mycred' ),
273
  array( $this, 'mycred_coupon_requirements' ),
274
  'mycred_coupon',
275
- 'normal',
276
  'core'
277
  );
278
 
 
 
 
 
 
 
 
 
 
 
279
  }
280
 
281
  /**
282
  * Metabox: Coupon Setup
283
  * @since 1.4
284
- * @version 1.0
285
  */
286
  public function metabox_coupon_setup( $post ) {
287
  global $mycred;
@@ -291,8 +326,6 @@ if ( ! class_exists( 'myCRED_Coupons_Module' ) ) {
291
  $value = 1;
292
 
293
  $expires = get_post_meta( $post->ID, 'expires', true );
294
-
295
- $mycred_types = mycred_get_types();
296
  $set_type = get_post_meta( $post->ID, 'type', true ); ?>
297
 
298
  <style type="text/css">
@@ -301,6 +334,11 @@ table th { width: 20%; text-align: right; }
301
  table th label { padding-right: 12px; }
302
  table td { width: 80%; padding-bottom: 6px; }
303
  table td textarea { width: 95%; }
 
 
 
 
 
304
  </style>
305
  <input type="hidden" name="mycred-coupon-nonce" value="<?php echo wp_create_nonce( 'update-mycred-coupon' ); ?>" />
306
  <table class="table wide-fat">
@@ -310,10 +348,20 @@ table td textarea { width: 95%; }
310
  <td>
311
  <input type="text" name="mycred_coupon[value]" id="mycred-coupon-value" value="<?php echo $mycred->number( $value ); ?>" /><br />
312
  <span class="description"><?php echo $mycred->template_tags_general( __( 'The amount of %plural% this coupon is worth.', 'mycred' ) ); ?></span>
313
- <?php if ( count( $mycred_types ) > 1 ) : ?>
 
 
 
 
 
314
 
315
- <br /><label for="mycred-coupon-type"><?php _e( 'Point Type', 'mycred' ); ?></label><br /><?php mycred_types_select_from_dropdown( 'mycred_coupon[type]', 'mycred-coupon-type', $set_type ); ?>
316
  <span class="description"><?php _e( 'Select the point type that this coupon is applied.', 'mycred' ); ?></span>
 
 
 
 
 
317
  <?php endif; ?>
318
  </td>
319
  </tr>
@@ -386,29 +434,43 @@ table td textarea { width: 95%; }
386
  if ( empty( $max_balance ) )
387
  $max_balance = 0; ?>
388
 
389
- <table class="table wide-fat">
390
- <tbody>
391
- <tr valign="top">
392
- <th scope="row"><label for="mycred-coupon-min_balance"><?php _e( 'Minimum Balance', 'mycred' ); ?></label></th>
393
- <td>
394
- <input type="text" name="mycred_coupon[min_balance]" id="mycred-coupon-min_balance" value="<?php echo $mycred->number( $min_balance ); ?>" /><br />
395
- <span class="description"><?php _e( 'Optional minimum balance a user must have in order to use this coupon. Use zero to disable.', 'mycred' ); ?></span>
396
- </td>
397
- </tr>
398
- <tr valign="top">
399
- <th scope="row"><label for="mycred-coupon-max_balance"><?php _e( 'Maximum Balance', 'mycred' ); ?></label></th>
400
- <td>
401
- <input type="text" name="mycred_coupon[max_balance]" id="mycred-coupon-max_balance" value="<?php echo $mycred->number( $max_balance ); ?>" /><br />
402
- <span class="description"><?php _e( 'Optional maximum balance a user can have in order to use this coupon. Use zero to disable.', 'mycred' ); ?></span>
403
- </td>
404
- </tr>
405
- </tbody>
406
- </table>
407
- <?php do_action( 'mycred_coupon_after_requirements', $post ); ?>
408
 
409
  <?php
410
  }
411
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  /**
413
  * Update Coupon Details
414
  * @since 1.4
@@ -429,7 +491,7 @@ table td textarea { width: 95%; }
429
  * @since 1.4
430
  * @version 1.0
431
  */
432
- public function after_general_settings() {
433
  if ( ! isset( $this->coupons ) )
434
  $prefs = $this->default_prefs;
435
  else
62
  /**
63
  * Hook into Admin Init
64
  * @since 1.4
65
+ * @version 1.1
66
  */
67
  public function module_admin_init() {
68
  add_filter( 'post_updated_messages', array( $this, 'update_messages' ) );
70
  add_filter( 'manage_mycred_coupon_posts_columns', array( $this, 'adjust_column_headers' ) );
71
  add_action( 'manage_mycred_coupon_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
72
 
73
+ add_filter( 'enter_title_here', array( $this, 'enter_title_here' ) );
74
+ add_filter( 'post_row_actions', array( $this, 'adjust_row_actions' ), 10, 2 );
75
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
76
+ add_action( 'save_post_mycred_coupon', array( $this, 'update_coupon_details' ) );
77
  }
78
 
79
  /**
117
  $messages['mycred_coupon'] = array(
118
  0 => '',
119
  1 => __( 'Coupon updated.', 'mycred' ),
120
+ 2 => __( 'Coupon updated.', 'mycred' ),
121
+ 3 => __( 'Coupon updated.', 'mycred' ),
122
  4 => __( 'Coupon updated.', 'mycred' ),
123
  5 => false,
124
  6 => __( 'Coupon published.', 'mycred' ),
147
  /**
148
  * Adjust Column Header
149
  * @since 1.4
150
+ * @version 1.1
151
  */
152
+ public function adjust_column_headers( $defaults ) {
153
+
154
+ $columns = array();
155
+ $columns['cb'] = $defaults['cb'];
156
 
157
+ // Add / Adjust
158
  $columns['title'] = __( 'Coupon Code', 'mycred' );
159
  $columns['value'] = __( 'Value', 'mycred' );
160
+ $columns['usage'] = __( 'Used', 'mycred' );
161
  $columns['limits'] = __( 'Limits', 'mycred' );
162
  $columns['expires'] = __( 'Expires', 'mycred' );
163
 
164
+ if ( count( $this->point_types ) > 1 )
165
+ $columns['ctype'] = __( 'Point Type', 'mycred' );
166
+
167
  return $columns;
168
  }
169
 
170
  /**
171
  * Adjust Column Body
172
  * @since 1.4
173
+ * @version 1.1
174
  */
175
  public function adjust_column_content( $column_name, $post_id ) {
176
  global $mycred;
191
  $count = mycred_get_global_coupon_count( $post_id );
192
  if ( empty( $count ) )
193
  _e( 'not yet used', 'mycred' );
194
+
195
+ else {
196
+ $set_type = get_post_meta( $post_id, 'type', true );
197
+ $page = 'myCRED';
198
+ if ( $set_type != 'mycred_default' && array_key_exists( $set_type, $this->point_types ) )
199
+ $page .= '_' . $set_type;
200
+
201
+ $url = add_query_arg( array( 'page' => $page, 'ref' => 'coupon', 'data' => get_the_title( $post_id ) ), admin_url( 'admin.php' ) );
202
+ echo '<a href="' . $url . '">' . sprintf( __( '1 time', '%d times', $count, 'mycred' ), $count ) . '</a>';
203
+ }
204
 
205
  break;
206
 
229
 
230
  break;
231
 
232
+ case 'ctype' :
233
+
234
+ $type = get_post_meta( $post_id, 'type', true );
235
+ if ( isset( $this->point_types[ $type ] ) )
236
+ echo $this->point_types[ $type ];
237
+ else
238
+ echo '-';
239
+
240
+ break;
241
+
242
  }
243
  }
244
 
272
  */
273
  public function add_meta_boxes() {
274
 
275
+ global $post;
276
+
277
  add_meta_box(
278
  'mycred_coupon_setup',
279
  __( 'Coupon Setup', 'mycred' ),
297
  __( 'Coupon Requirements', 'mycred' ),
298
  array( $this, 'mycred_coupon_requirements' ),
299
  'mycred_coupon',
300
+ 'side',
301
  'core'
302
  );
303
 
304
+ if ( $post->post_status == 'publish' )
305
+ add_meta_box(
306
+ 'mycred_coupon_usage',
307
+ __( 'Usage', 'mycred' ),
308
+ array( $this, 'mycred_coupon_usage' ),
309
+ 'mycred_coupon',
310
+ 'side',
311
+ 'core'
312
+ );
313
+
314
  }
315
 
316
  /**
317
  * Metabox: Coupon Setup
318
  * @since 1.4
319
+ * @version 1.1
320
  */
321
  public function metabox_coupon_setup( $post ) {
322
  global $mycred;
326
  $value = 1;
327
 
328
  $expires = get_post_meta( $post->ID, 'expires', true );
 
 
329
  $set_type = get_post_meta( $post->ID, 'type', true ); ?>
330
 
331
  <style type="text/css">
334
  table th label { padding-right: 12px; }
335
  table td { width: 80%; padding-bottom: 6px; }
336
  table td textarea { width: 95%; }
337
+ #submitdiv .misc-pub-curtime, #submitdiv #visibility, #submitdiv #misc-publishing-actions { display: none; }
338
+ #submitdiv #minor-publishing-actions { padding-bottom: 10px; }
339
+ <?php if ( $post->post_status == 'publish' ) : ?>
340
+ #submitdiv #minor-publishing-actions { padding: 0 0 0 0; }
341
+ <?php endif; ?>
342
  </style>
343
  <input type="hidden" name="mycred-coupon-nonce" value="<?php echo wp_create_nonce( 'update-mycred-coupon' ); ?>" />
344
  <table class="table wide-fat">
348
  <td>
349
  <input type="text" name="mycred_coupon[value]" id="mycred-coupon-value" value="<?php echo $mycred->number( $value ); ?>" /><br />
350
  <span class="description"><?php echo $mycred->template_tags_general( __( 'The amount of %plural% this coupon is worth.', 'mycred' ) ); ?></span>
351
+ </td>
352
+ </tr>
353
+ <tr valign="top">
354
+ <th scope="row"><label for="mycred-coupon-value"><?php _e( 'Point Type', 'mycred' ); ?></label></th>
355
+ <td>
356
+ <?php if ( count( $this->point_types ) > 1 ) : ?>
357
 
358
+ <?php mycred_types_select_from_dropdown( 'mycred_coupon[type]', 'mycred-coupon-type', $set_type ); ?><br />
359
  <span class="description"><?php _e( 'Select the point type that this coupon is applied.', 'mycred' ); ?></span>
360
+
361
+ <?php else : ?>
362
+
363
+ <?php echo $this->core->plural(); ?>
364
+
365
  <?php endif; ?>
366
  </td>
367
  </tr>
434
  if ( empty( $max_balance ) )
435
  $max_balance = 0; ?>
436
 
437
+ <p>
438
+ <label for="mycred-coupon-min_balance"><?php _e( 'Minimum Balance', 'mycred' ); ?></label><br />
439
+ <input type="text" name="mycred_coupon[min_balance]" id="mycred-coupon-min_balance" value="<?php echo $mycred->number( $min_balance ); ?>" /><br />
440
+ <span class="description"><?php _e( 'Optional minimum balance a user must have in order to use this coupon. Use zero to disable.', 'mycred' ); ?></span>
441
+ </p>
442
+ <p>
443
+ <label for="mycred-coupon-max_balance"><?php _e( 'Maximum Balance', 'mycred' ); ?></label><br />
444
+ <input type="text" name="mycred_coupon[max_balance]" id="mycred-coupon-max_balance" value="<?php echo $mycred->number( $max_balance ); ?>" /><br />
445
+ <span class="description"><?php _e( 'Optional maximum balance a user can have in order to use this coupon. Use zero to disable.', 'mycred' ); ?></span>
446
+ </p>
447
+ <?php do_action( 'mycred_coupon_after_requirements', $post ); ?>
 
 
 
 
 
 
 
 
448
 
449
  <?php
450
  }
451
 
452
+ /**
453
+ * Metabox: Coupon Usage
454
+ * @since 1.6
455
+ * @version 1.0
456
+ */
457
+ public function mycred_coupon_usage( $post ) {
458
+
459
+ $count = mycred_get_global_coupon_count( $post->ID );
460
+ if ( empty( $count ) )
461
+ _e( 'not yet used', 'mycred' );
462
+ else {
463
+ $set_type = get_post_meta( $post->ID, 'type', true );
464
+ $page = 'myCRED';
465
+ if ( $set_type != 'mycred_default' && array_key_exists( $set_type, $this->point_types ) )
466
+ $page .= '_' . $set_type;
467
+
468
+ $url = add_query_arg( array( 'page' => $page, 'ref' => 'coupon', 'data' => $post->post_title ), admin_url( 'admin.php' ) );
469
+ echo '<a href="' . $url . '">' . sprintf( __( '1 time', '%d times', $count, 'mycred' ), $count ) . '</a>';
470
+ }
471
+
472
+ }
473
+
474
  /**
475
  * Update Coupon Details
476
  * @since 1.4
491
  * @since 1.4
492
  * @version 1.0
493
  */
494
+ public function after_general_settings( $mycred ) {
495
  if ( ! isset( $this->coupons ) )
496
  $prefs = $this->default_prefs;
497
  else
addons/email-notices/assets/css/edit-email-notice.css ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #poststuff #mycred_email_settings .inside { margin: 0; padding: 0; }
2
+ #poststuff .inside .mycred-save { text-align: right; padding: 10px 10px 8px; border-top: 1px solid #ddd; clear: both; margin-top: -2px; background-color: #F5F5F5; }
3
+ .mycred-inline label { padding: 0 6px; }
4
+
5
+ #mycred-email-notice { border-bottom: 1px solid #DDD; padding-bottom: 8px; margin-top: 0; }
6
+
7
+ #mycred_email_settings .misc-pub-section { border-bottom: 1px solid #ddd; }
8
+ #mycred_email_settings select { margin-bottom: 6px; min-width: 95%; }
9
+ #mycred_email_settings .mycred-inline input[type="radio"] { margin-right: 0; }
10
+ #mycred_email_settings input[type="text"] { margin-bottom: 6px; width: 95%; }
11
+
12
+ #mycred-test { line-height: 25px; vertical-align: middle; text-align: left; float: left; }
13
+ #mycred-text .spinner { float: left; }
14
+ #mycred-email-styling { width: 95%; max-width: 98%; min-width: 95%; min-height: 100px; height: 100px; max-height: 200px; }
15
+
16
+ #mycred_email_template_tags ul { display: block; width: 50%; height: auto; float: left; }
17
+ #mycred_email_template_tags ul .title { font-size: large; }
18
+ #mycred_email_template_tags ul li strong { display: block; float: left; min-width: 40%; }
19
+ #mycred_email_template_tags ul li div { padding-left: 40%; }
20
+
21
+ #misc-publishing-actions #visibility, #misc-publishing-actions .misc-pub-curtime { display: none; display: none !important; }
addons/email-notices/{css → assets/css}/email-notice.css RENAMED
File without changes
addons/email-notices/{css → assets/css}/index.php RENAMED
File without changes
addons/{notifications/css → email-notices/assets}/index.php RENAMED
File without changes
addons/email-notices/css/edit-email-notice.css DELETED
@@ -1,11 +0,0 @@
1
- #poststuff #mycred_email_settings .inside { margin: 0; padding: 0; }
2
- #poststuff .inside .mycred-save { text-align: right; padding: 10px 10px 8px; border-top: 1px solid #f5f5f5; clear: both; margin-top: -2px; }
3
- .mycred-inline label { padding: 0 6px; }
4
- #mycred_email_settings select { margin-bottom: 6px; }
5
- #mycred_email_settings input[type="text"] { margin-bottom: 6px; width: 80%; }
6
- #mycred-test { line-height: 25px; vertical-align: middle; text-align: left; float: left; }
7
- #mycred-text .spinner { float: left; }
8
- #mycred-email-styling { width: 95%; max-width: 98%; min-width: 95%; min-height: 100px; height: 100px; max-height: 200px; }
9
-
10
- #mycred_email_template_tags ul { display: block; width: 50%; height: auto; float: left; }
11
- #mycred_email_template_tags ul .title { font-size: large; }
 
 
 
 
 
 
 
 
 
 
 
addons/email-notices/myCRED-addon-email-notices.php CHANGED
@@ -52,14 +52,14 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
52
  /**
53
  * Hook into Init
54
  * @since 1.1
55
- * @version 1.1
56
  */
57
  public function module_init() {
58
  $this->register_post_type();
59
  $this->setup_instances();
60
 
61
  add_action( 'mycred_admin_enqueue', array( $this, 'enqueue_scripts' ) );
62
- add_filter( 'mycred_add', array( $this, 'email_check' ), 999, 3 );
63
  add_action( 'mycred_send_email_notices', 'mycred_email_notice_cron_job' );
64
 
65
  add_shortcode( 'mycred_email_subscriptions', array( $this, 'render_subscription_shortcode' ) );
@@ -81,25 +81,25 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
81
  /**
82
  * Hook into Admin Init
83
  * @since 1.1
84
- * @version 1.0
85
  */
86
  public function module_admin_init() {
87
- add_action( 'admin_head', array( $this, 'admin_header' ) );
88
  add_filter( 'post_row_actions', array( $this, 'adjust_row_actions' ), 10, 2 );
89
 
90
- add_filter( 'manage_mycred_email_notice_posts_columns', array( $this, 'adjust_column_headers' ) );
91
  add_action( 'manage_mycred_email_notice_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
92
 
93
  add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
94
- add_filter( 'enter_title_here', array( $this, 'enter_title_here' ) );
95
- add_filter( 'default_content', array( $this, 'default_content' ) );
96
 
97
- add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
98
- add_action( 'post_submitbox_start', array( $this, 'publish_warning' ) );
99
- add_action( 'save_post', array( $this, 'save_email_notice' ) );
100
 
101
  if ( $this->emailnotices['use_html'] === false )
102
- add_filter( 'user_can_richedit', array( $this, 'disable_richedit' ) );
103
  }
104
 
105
  /**
@@ -118,13 +118,14 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
118
  /**
119
  * Enqueue Scripts & Styles
120
  * @since 1.1
121
- * @version 1.0
122
  */
123
  public function enqueue_scripts() {
 
124
  // Register Email List Styling
125
  wp_register_style(
126
  'mycred-email-notices',
127
- plugins_url( 'css/email-notice.css', myCRED_EMAIL ),
128
  false,
129
  myCRED_EMAIL_VERSION . '.1',
130
  'all'
@@ -133,7 +134,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
133
  // Register Edit Email Notice Styling
134
  wp_register_style(
135
  'mycred-email-edit-notice',
136
- plugins_url( 'css/edit-email-notice.css', myCRED_EMAIL ),
137
  false,
138
  myCRED_EMAIL_VERSION . '.1',
139
  'all'
@@ -151,6 +152,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
151
  // Email Notice List Styling
152
  elseif ( $screen->id == 'edit-mycred_email_notice' )
153
  wp_enqueue_style( 'mycred-email-notices' );
 
154
  }
155
 
156
  /**
@@ -192,6 +194,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
192
  * @version 1.1
193
  */
194
  public function setup_instances() {
 
195
  $instances[''] = __( 'Select', 'mycred' );
196
  $instances['general'] = array(
197
  'label' => __( 'General', 'mycred' ),
@@ -203,6 +206,14 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
203
  'end' => ''
204
  );
205
 
 
 
 
 
 
 
 
 
206
  if ( class_exists( 'myCRED_Sell_Content_Module' ) ) {
207
  $instances['buy_content'] = array(
208
  'label' => __( 'Sell Content Add-on', 'mycred' ),
@@ -265,7 +276,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
265
  * @since 1.1
266
  * @version 1.1
267
  */
268
- public function after_general_settings() {
269
 
270
  $this->emailnotices = mycred_apply_defaults( $this->default_prefs, $this->emailnotices ); ?>
271
 
@@ -423,7 +434,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
423
 
424
  // Ranks Related
425
  if ( function_exists( 'mycred_get_users_rank' ) ) {
426
- $rank_id = mycred_find_users_rank( $user_id, false, $amount );
427
  if ( $rank_id !== NULL && mycred_user_got_demoted( $user_id, $rank_id ) )
428
  $events[] = 'ranks|negative';
429
 
@@ -439,17 +450,40 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
439
  /**
440
  * Email Notice Check
441
  * @since 1.1
442
- * @version 1.4
443
  */
444
- public function email_check( $reply, $request, $mycred ) {
445
- // Exit now if reply is false or new settings is not yet saved.
446
- if ( $reply === false || ! isset( $this->emailnotices['send'] ) ) return $reply;
 
447
 
448
  $user_id = absint( $request['user_id'] );
449
 
450
  // Construct events
451
  $events = $this->get_events_from_instance( $request, $mycred );
452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
453
  // Do not send emails now
454
  if ( $this->emailnotices['send'] != '' ) {
455
 
@@ -468,7 +502,8 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
468
 
469
  }
470
 
471
- return $reply;
 
472
  }
473
 
474
  /**
@@ -498,9 +533,13 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
498
  LEFT JOIN {$wpdb->postmeta} instances
499
  ON ( notices.ID = instances.post_id AND instances.meta_key = 'mycred_email_instance' )
500
 
 
 
 
501
  WHERE instances.meta_value = %s
 
502
  AND notices.post_type = 'mycred_email_notice'
503
- AND notices.post_status = 'publish';", $event ) );
504
 
505
  // Notice found
506
  if ( $notice !== NULL ) {
@@ -637,14 +676,28 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
637
  /**
638
  * Request Related Template Tags
639
  * @since 1.1
640
- * @version 1.1
641
  */
642
  public function template_tags_request( $content, $request ) {
643
- $content = $this->core->template_tags_amount( $content, $request['amount'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
644
 
645
  $content = str_replace( '%amount%', $request['amount'], $content );
646
  $content = str_replace( '%entry%', $request['entry'], $content );
647
- $content = str_replace( '%data%', print_r( $request['data'], true ), $content );
648
 
649
  $content = str_replace( '%blog_name%', get_option( 'blogname' ), $content );
650
  $content = str_replace( '%blog_url%', get_option( 'home' ), $content );
@@ -652,6 +705,37 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
652
  $content = str_replace( '%admin_email%', get_option( 'admin_email' ), $content );
653
  $content = str_replace( '%num_members%', $this->core->count_members(), $content );
654
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
655
  return $content;
656
  }
657
 
@@ -711,19 +795,24 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
711
  /**
712
  * Adjust Column Header
713
  * @since 1.1
714
- * @version 1.0
715
  */
716
  public function adjust_column_headers( $defaults ) {
717
- // Remove
718
- unset( $defaults['date'] );
 
719
 
720
  // Add / Adjust
721
- $defaults['title'] = __( 'Email Subject', 'mycred' );
722
- $defaults['mycred-email-status'] = __( 'Status', 'mycred' );
723
- $defaults['mycred-email-reference'] = __( 'Setup', 'mycred' );
 
 
 
724
 
725
  // Return
726
- return $defaults;
 
727
  }
728
 
729
  /**
@@ -732,16 +821,19 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
732
  * @version 1.0
733
  */
734
  public function adjust_column_content( $column_name, $post_id ) {
 
735
  // Get the post
736
- if ( $column_name == 'mycred-email-status' || $column_name == 'mycred-email-reference' )
737
  $post = get_post( $post_id );
738
 
739
  // Email Status Column
740
  if ( $column_name == 'mycred-email-status' ) {
741
  if ( $post->post_status != 'publish' && $post->post_status != 'future' )
742
  echo '<p>' . __( 'Not Active', 'mycred' ) . '</p>';
 
743
  elseif ( $post->post_status == 'future' )
744
  echo '<p>' . sprintf( __( 'Scheduled:<br /><strong>%1$s</strong>', 'mycred' ), date_i18n( get_option( 'date_format' ) . ' @ ' . get_option( 'time_format' ), strtotime( $post->post_date ) ) ) . '</p>';
 
745
  else {
746
  $date = get_post_meta( $post_id, 'mycred_email_last_run', true );
747
  if ( empty( $date ) )
@@ -774,6 +866,24 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
774
  else
775
  echo '<strong>' . __( 'Sent To', 'mycred' ) . '</strong>: ' . __( 'Both Administrator and User', 'mycred' ) . '</p>';
776
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
777
  }
778
 
779
  /**
@@ -857,10 +967,16 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
857
  * @version 1.1
858
  */
859
  public function email_settings( $post ) {
 
860
  // Get instance
861
  $instance = get_post_meta( $post->ID, 'mycred_email_instance', true );
862
  // Get settings
863
- $settings = $this->get_email_settings( $post->ID ); ?>
 
 
 
 
 
864
 
865
  <div class="misc-pub-section">
866
  <input type="hidden" name="mycred_email[token]" value="<?php echo wp_create_nonce( 'mycred-edit-email' ); ?>" />
@@ -897,15 +1013,39 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
897
  </select><br />
898
  <label for="mycred-email-recipient-user"><?php _e( 'Recipient:', 'mycred' ); ?></label><br />
899
  <div class="mycred-inline">
900
- <input type="radio" name="mycred_email[recipient]" id="mycred-email-recipient-user" value="user" <?php checked( $settings['recipient'], 'user' ); ?> /> <label for="mycred-email-recipient-user"><?php _e( 'User', 'mycred' ); ?></label>
901
- <input type="radio" name="mycred_email[recipient]" id="mycred-email-recipient-admin" value="admin" <?php checked( $settings['recipient'], 'admin' ); ?> /> <label for="mycred-email-recipient-admin"><?php _e( 'Administrator', 'mycred' ); ?></label>
902
- <input type="radio" name="mycred_email[recipient]" id="mycred-email-recipient-both" value="both" <?php checked( $settings['recipient'], 'both' ); ?> /> <label for="mycred-email-recipient-both"><?php _e( 'Both', 'mycred' ); ?></label>
903
  </div>
904
  </div>
905
  <div class="misc-pub-section">
906
- <label for="mycred-email-reply-to"><?php _e( 'Label', 'mycred' ); ?></label><br />
907
  <input type="text" name="mycred_email[label]" id="mycred-email-label" value="<?php echo $settings['label']; ?>" />
908
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
909
  <div class="misc-pub-section">
910
  <label for="mycred-email-senders-name"><?php _e( 'Senders Name:', 'mycred' ); ?></label><br />
911
  <input type="text" name="mycred_email[senders_name]" id="mycred-email-senders-name" value="<?php echo $settings['senders_name']; ?>" /><br />
@@ -917,7 +1057,7 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
917
  <?php do_action( 'mycred_email_settings_box', $this ); ?>
918
 
919
  <div class="mycred-save">
920
- <?php submit_button( __( 'Save', 'mycred' ), 'primary', 'mycred-save-email', false ); ?>
921
  </div>
922
  <?php
923
  }
@@ -939,18 +1079,25 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
939
  /**
940
  * Template Tags Metabox
941
  * @since 1.1
942
- * @version 1.1
943
  */
944
  public function template_tags( $post ) {
945
- echo '<p>' . $this->core->available_template_tags( array( 'general', 'post', 'user', 'amount', 'comment' ) ) . '</p>';
946
  echo '
947
  <ul>
948
- <li class="title">' . __( 'Site Related', 'mycred' ) . '</li>
949
- <li><strong>%blog_name%</strong> ' . __( 'Your websites title', 'mycred' ) . '.</li>
950
- <li><strong>%blog_url%</strong> ' . __( 'Your websites address', 'mycred' ) . '.</li>
951
- <li><strong>%blog_info%</strong> ' . __( 'Your websites tagline (description)', 'mycred' ) . '.</li>
952
- <li><strong>%admin_email%</strong> ' . __( 'Your websites admin email', 'mycred' ) . '.</li>
953
- <li><strong>%num_members%</strong> ' . __( 'Total number of blog members', 'mycred' ) . '.</li>
 
 
 
 
 
 
 
954
  </ul>
955
  <div class="clear"></div>';
956
  }
@@ -958,17 +1105,11 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
958
  /**
959
  * Save Email Notice Details
960
  * @since 1.1
961
- * @version 1.1
962
  */
963
  public function save_email_notice( $post_id ) {
964
- // Make sure this is the correct post type
965
- if ( get_post_type( $post_id ) != 'mycred_email_notice' ) return;
966
- // Make sure we can edit
967
- elseif ( ! mycred_is_admin( get_current_user_id() ) ) return;
968
- // Make sure fields exists
969
- elseif ( ! isset( $_POST['mycred_email'] ) || !is_array( $_POST['mycred_email'] ) ) return;
970
- // Finally check token
971
- elseif ( ! wp_verify_nonce( $_POST['mycred_email']['token'], 'mycred-edit-email' ) ) return;
972
 
973
  // Update Instance
974
  if ( ! empty( $_POST['mycred_email']['instance'] ) ) {
@@ -1010,6 +1151,9 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
1010
  // Save settings
1011
  update_post_meta( $post_id, 'mycred_email_settings', $settings );
1012
 
 
 
 
1013
  // If rich editing is disabled bail now
1014
  if ( $this->emailnotices['use_html'] === false ) return;
1015
 
@@ -1053,11 +1197,11 @@ if ( ! class_exists( 'myCRED_Email_Notice_Module' ) ) {
1053
  if ( $post->post_type != 'mycred_email_notice' ) return;
1054
 
1055
  if ( $post->post_status != 'publish' && $post->post_status != 'future' )
1056
- echo '<p>' . __( 'Once a notice is "published" it becomes active! Select "Save Draft" if you are not yet ready to use this email notice!', 'mycred' ) . '</p>';
1057
  elseif ( $post->post_status == 'future' )
1058
- echo '<p>' . sprintf( __( 'This notice will become active on:<br /><strong>%1$s</strong>', 'mycred' ), date_i18n( get_option( 'date_format' ) . ' @ ' . get_option( 'time_format' ), strtotime( $post->post_date ) ) ) . '</p>';
1059
  else
1060
- echo '<p>' . __( 'This email notice is active.', 'mycred' ) . '</p>';
1061
  }
1062
 
1063
  /**
52
  /**
53
  * Hook into Init
54
  * @since 1.1
55
+ * @version 1.2
56
  */
57
  public function module_init() {
58
  $this->register_post_type();
59
  $this->setup_instances();
60
 
61
  add_action( 'mycred_admin_enqueue', array( $this, 'enqueue_scripts' ) );
62
+ add_filter( 'mycred_add_finished', array( $this, 'email_check' ), 50, 3 );
63
  add_action( 'mycred_send_email_notices', 'mycred_email_notice_cron_job' );
64
 
65
  add_shortcode( 'mycred_email_subscriptions', array( $this, 'render_subscription_shortcode' ) );
81
  /**
82
  * Hook into Admin Init
83
  * @since 1.1
84
+ * @version 1.1
85
  */
86
  public function module_admin_init() {
87
+ add_action( 'admin_head', array( $this, 'admin_header' ) );
88
  add_filter( 'post_row_actions', array( $this, 'adjust_row_actions' ), 10, 2 );
89
 
90
+ add_filter( 'manage_mycred_email_notice_posts_columns', array( $this, 'adjust_column_headers' ), 50 );
91
  add_action( 'manage_mycred_email_notice_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
92
 
93
  add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
94
+ add_filter( 'enter_title_here', array( $this, 'enter_title_here' ) );
95
+ add_filter( 'default_content', array( $this, 'default_content' ) );
96
 
97
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
98
+ add_action( 'post_submitbox_start', array( $this, 'publish_warning' ) );
99
+ add_action( 'save_post_mycred_email_notice', array( $this, 'save_email_notice' ) );
100
 
101
  if ( $this->emailnotices['use_html'] === false )
102
+ add_filter( 'user_can_richedit', array( $this, 'disable_richedit' ) );
103
  }
104
 
105
  /**
118
  /**
119
  * Enqueue Scripts & Styles
120
  * @since 1.1
121
+ * @version 1.1
122
  */
123
  public function enqueue_scripts() {
124
+
125
  // Register Email List Styling
126
  wp_register_style(
127
  'mycred-email-notices',
128
+ plugins_url( 'assets/css/email-notice.css', myCRED_EMAIL ),
129
  false,
130
  myCRED_EMAIL_VERSION . '.1',
131
  'all'
134
  // Register Edit Email Notice Styling
135
  wp_register_style(
136
  'mycred-email-edit-notice',
137
+ plugins_url( 'assets/css/edit-email-notice.css', myCRED_EMAIL ),
138
  false,
139
  myCRED_EMAIL_VERSION . '.1',
140
  'all'
152
  // Email Notice List Styling
153
  elseif ( $screen->id == 'edit-mycred_email_notice' )
154
  wp_enqueue_style( 'mycred-email-notices' );
155
+
156
  }
157
 
158
  /**
194
  * @version 1.1
195
  */
196
  public function setup_instances() {
197
+
198
  $instances[''] = __( 'Select', 'mycred' );
199
  $instances['general'] = array(
200
  'label' => __( 'General', 'mycred' ),
206
  'end' => ''
207
  );
208
 
209
+ if ( class_exists( 'myCRED_Badge_Module' ) ) {
210
+ $instances['badges'] = array(
211
+ 'label' => __( 'Badge Add-on', 'mycred' ),
212
+ 'positive' => __( 'user gains a badge', 'mycred' ),
213
+ 'end' => ''
214
+ );
215
+ }
216
+
217
  if ( class_exists( 'myCRED_Sell_Content_Module' ) ) {
218
  $instances['buy_content'] = array(
219
  'label' => __( 'Sell Content Add-on', 'mycred' ),
276
  * @since 1.1
277
  * @version 1.1
278
  */
279
+ public function after_general_settings( $mycred ) {
280
 
281
  $this->emailnotices = mycred_apply_defaults( $this->default_prefs, $this->emailnotices ); ?>
282
 
434
 
435
  // Ranks Related
436
  if ( function_exists( 'mycred_get_users_rank' ) ) {
437
+ $rank_id = mycred_find_users_rank( $user_id, false, $type );
438
  if ( $rank_id !== NULL && mycred_user_got_demoted( $user_id, $rank_id ) )
439
  $events[] = 'ranks|negative';
440
 
450
  /**
451
  * Email Notice Check
452
  * @since 1.1
453
+ * @version 1.5
454
  */
455
+ public function email_check( $ran, $request, $mycred ) {
456
+
457
+ // Exit now if $ran is false or new settings is not yet saved.
458
+ if ( $ran === false || ! isset( $this->emailnotices['send'] ) ) return $ran;
459
 
460
  $user_id = absint( $request['user_id'] );
461
 
462
  // Construct events
463
  $events = $this->get_events_from_instance( $request, $mycred );
464
 
465
+ // Badge Related
466
+ if ( function_exists( 'mycred_ref_has_badge' ) ) {
467
+
468
+ /*
469
+ In order for us to save on database queries down the line, we will
470
+ check if the user got any badges for this instnace and save the badge ids
471
+ under "badges".
472
+
473
+ Since the process is already completed and we are simply "reacting" to the
474
+ event, we can manipulte $request without it having any effect on other features.
475
+ */
476
+ $badge_ids = mycred_ref_has_badge( $request['ref'] );
477
+ if ( ! empty( $badge_ids ) ) {
478
+ $badges = mycred_check_if_user_gets_badge( $user_id, $badge_ids, false );
479
+ if ( ! empty( $badges ) ) {
480
+ $events[] = 'badges|positive';
481
+ $request['badges'] = $badges;
482
+ }
483
+ }
484
+
485
+ }
486
+
487
  // Do not send emails now
488
  if ( $this->emailnotices['send'] != '' ) {
489
 
502
 
503
  }
504
 
505
+ return $ran;
506
+
507
  }
508
 
509
  /**
533
  LEFT JOIN {$wpdb->postmeta} instances
534
  ON ( notices.ID = instances.post_id AND instances.meta_key = 'mycred_email_instance' )
535
 
536
+ LEFT JOIN {$wpdb->postmeta} pointtype
537
+ ON ( notices.ID = pointtype.post_id AND pointtype.meta_key = 'mycred_email_ctype' )
538
+
539
  WHERE instances.meta_value = %s
540
+ AND pointtype.meta_value IN (%s,'all')
541
  AND notices.post_type = 'mycred_email_notice'
542
+ AND notices.post_status = 'publish';", $event, $request['type'] ) );
543
 
544
  // Notice found
545
  if ( $notice !== NULL ) {
676
  /**
677
  * Request Related Template Tags
678
  * @since 1.1
679
+ * @version 1.2
680
  */
681
  public function template_tags_request( $content, $request ) {
682
+
683
+ $type = $this->core;
684
+ if ( $request['type'] != 'mycred_default' )
685
+ $type = mycred( $request['type'] );
686
+
687
+ $content = str_replace( '%new_balance%', $new_balance, $content );
688
+ $content = str_replace( '%new_balance_f%', $type->format_creds( $new_balance ), $content );
689
+
690
+ if ( $request['amount'] > 0 )
691
+ $old_balance = $type->number( $new_balance - $request['amount'] );
692
+ else
693
+ $old_balance = $type->number( $new_balance + $request['amount'] );
694
+
695
+ $content = str_replace( '%old_balance%', $old_balance, $content );
696
+ $content = str_replace( '%old_balance_f%', $type->format_creds( $old_balance ), $content );
697
 
698
  $content = str_replace( '%amount%', $request['amount'], $content );
699
  $content = str_replace( '%entry%', $request['entry'], $content );
700
+ $content = str_replace( '%data%', $request['data'], $content );
701
 
702
  $content = str_replace( '%blog_name%', get_option( 'blogname' ), $content );
703
  $content = str_replace( '%blog_url%', get_option( 'home' ), $content );
705
  $content = str_replace( '%admin_email%', get_option( 'admin_email' ), $content );
706
  $content = str_replace( '%num_members%', $this->core->count_members(), $content );
707
 
708
+ // Badges related
709
+ if ( function_exists( 'mycred_ref_has_badge' ) && isset( $request['badges'] ) ) {
710
+
711
+ $titles = array();
712
+ $images = array();
713
+ foreach ( $request['badges'] as $level => $badge_id ) {
714
+
715
+ $badge_id = absint( $badge_id );
716
+ $title = sprintf( _x( '%s - Level %d', 'Badge Title - Level 1,2,3..', 'mycred' ), get_the_title( $badge_id ), $level );
717
+ $titles[] = $title;
718
+
719
+ // Level image first
720
+ $level_image = get_post_meta( $badge_id, 'level_image' . $level, true );
721
+
722
+ // Default to main image
723
+ if ( $level_image == '' )
724
+ $level_image = get_post_meta( $badge_id, 'main_image', true );
725
+
726
+ if ( $level_image == '' )
727
+ $images[] = '<img src="' . $level_image . '" alt="' . $title . '" />';
728
+
729
+ }
730
+
731
+ $title = implode( ', ', $titles );
732
+ $content = str_replace( '%badge_title%', $title, $content );
733
+
734
+ $image = implode( ' ', $images );
735
+ $content = str_replace( '%badge_image%', $image, $content );
736
+
737
+ }
738
+
739
  return $content;
740
  }
741
 
795
  /**
796
  * Adjust Column Header
797
  * @since 1.1
798
+ * @version 1.1
799
  */
800
  public function adjust_column_headers( $defaults ) {
801
+
802
+ $columns = array();
803
+ $columns['cb'] = $defaults['cb'];
804
 
805
  // Add / Adjust
806
+ $columns['title'] = __( 'Email Subject', 'mycred' );
807
+ $columns['mycred-email-status'] = __( 'Status', 'mycred' );
808
+ $columns['mycred-email-reference'] = __( 'Setup', 'mycred' );
809
+
810
+ if ( count( $this->point_types ) > 1 )
811
+ $columns['mycred-email-ctype'] = __( 'Point Type', 'mycred' );
812
 
813
  // Return
814
+ return $columns;
815
+
816
  }
817
 
818
  /**
821
  * @version 1.0
822
  */
823
  public function adjust_column_content( $column_name, $post_id ) {
824
+
825
  // Get the post
826
+ if ( in_array( $column_name, array( 'mycred-email-status', 'mycred-email-reference', 'mycred-email-ctype' ) ) )
827
  $post = get_post( $post_id );
828
 
829
  // Email Status Column
830
  if ( $column_name == 'mycred-email-status' ) {
831
  if ( $post->post_status != 'publish' && $post->post_status != 'future' )
832
  echo '<p>' . __( 'Not Active', 'mycred' ) . '</p>';
833
+
834
  elseif ( $post->post_status == 'future' )
835
  echo '<p>' . sprintf( __( 'Scheduled:<br /><strong>%1$s</strong>', 'mycred' ), date_i18n( get_option( 'date_format' ) . ' @ ' . get_option( 'time_format' ), strtotime( $post->post_date ) ) ) . '</p>';
836
+
837
  else {
838
  $date = get_post_meta( $post_id, 'mycred_email_last_run', true );
839
  if ( empty( $date ) )
866
  else
867
  echo '<strong>' . __( 'Sent To', 'mycred' ) . '</strong>: ' . __( 'Both Administrator and User', 'mycred' ) . '</p>';
868
  }
869
+
870
+ // Email Setup Column
871
+ elseif ( $column_name == 'mycred-email-ctype' ) {
872
+
873
+ $type = get_post_meta( $post_id, 'mycred_email_ctype', true );
874
+ if ( $type == '' ) $type = 'all';
875
+
876
+ if ( $type == 'all' )
877
+ echo __( 'All types', 'mycred' );
878
+
879
+ elseif ( array_key_exists( $type, $this->point_types ) )
880
+ echo $this->point_types[ $type ];
881
+
882
+ else
883
+ echo '-';
884
+
885
+ }
886
+
887
  }
888
 
889
  /**
967
  * @version 1.1
968
  */
969
  public function email_settings( $post ) {
970
+
971
  // Get instance
972
  $instance = get_post_meta( $post->ID, 'mycred_email_instance', true );
973
  // Get settings
974
+ $settings = $this->get_email_settings( $post->ID );
975
+
976
+ $set_type = get_post_meta( $post->ID, 'mycred_email_ctype', true );
977
+ if ( $set_type == '' )
978
+ $set_type = 'mycred_default';
979
+ ?>
980
 
981
  <div class="misc-pub-section">
982
  <input type="hidden" name="mycred_email[token]" value="<?php echo wp_create_nonce( 'mycred-edit-email' ); ?>" />
1013
  </select><br />
1014
  <label for="mycred-email-recipient-user"><?php _e( 'Recipient:', 'mycred' ); ?></label><br />
1015
  <div class="mycred-inline">
1016
+ <label for="mycred-email-recipient-user"><input type="radio" name="mycred_email[recipient]" id="mycred-email-recipient-user" value="user" <?php checked( $settings['recipient'], 'user' ); ?> /> <?php _e( 'User', 'mycred' ); ?></label>
1017
+ <label for="mycred-email-recipient-admin"><input type="radio" name="mycred_email[recipient]" id="mycred-email-recipient-admin" value="admin" <?php checked( $settings['recipient'], 'admin' ); ?> /> <?php _e( 'Administrator', 'mycred' ); ?></label>
1018
+ <label for="mycred-email-recipient-both"><input type="radio" name="mycred_email[recipient]" id="mycred-email-recipient-both" value="both" <?php checked( $settings['recipient'], 'both' ); ?> /> <?php _e( 'Both', 'mycred' ); ?></label>
1019
  </div>
1020
  </div>
1021
  <div class="misc-pub-section">
1022
+ <label for="mycred-email-label"><?php _e( 'Label', 'mycred' ); ?></label><br />
1023
  <input type="text" name="mycred_email[label]" id="mycred-email-label" value="<?php echo $settings['label']; ?>" />
1024
  </div>
1025
+
1026
+ <?php if ( count( $this->point_types ) > 1 ) : ?>
1027
+ <div class="misc-pub-section">
1028
+ <label for="mycred-email-ctype"><?php _e( 'Point Type', 'mycred' ); ?></label><br />
1029
+ <select name="mycred_email[ctype]" id="mycred-email-ctype">
1030
+ <?php
1031
+
1032
+ echo '<option value="all"';
1033
+ if ( $set_type == 'all' ) echo ' selected="selected"';
1034
+ echo '>' . __( 'All types', 'mycred' ) . '</option>';
1035
+
1036
+ foreach ( $this->point_types as $type_id => $label ) {
1037
+ echo '<option value="' . $type_id . '"';
1038
+ if ( $set_type == $type_id ) echo ' selected="selected"';
1039
+ echo '>' . $label . '</option>';
1040
+ }
1041
+
1042
+ ?>
1043
+ </select>
1044
+ </div>
1045
+ <?php else : ?>
1046
+ <input type="hidden" name="mycred_email[ctype]" id="mycred-email-ctype" value="mycred_default" />
1047
+ <?php endif; ?>
1048
+
1049
  <div class="misc-pub-section">
1050
  <label for="mycred-email-senders-name"><?php _e( 'Senders Name:', 'mycred' ); ?></label><br />
1051
  <input type="text" name="mycred_email[senders_name]" id="mycred-email-senders-name" value="<?php echo $settings['senders_name']; ?>" /><br />
1057
  <?php do_action( 'mycred_email_settings_box', $this ); ?>
1058
 
1059
  <div class="mycred-save">
1060
+ <?php submit_button( __( 'Save', 'mycred' ), 'primary', 'save', false ); ?>
1061
  </div>
1062
  <?php
1063
  }
1079
  /**
1080
  * Template Tags Metabox
1081
  * @since 1.1
1082
+ * @version 1.2
1083
  */
1084
  public function template_tags( $post ) {
1085
+
1086
  echo '
1087
  <ul>
1088
+ <li class="title">' . __( 'Site Related', 'mycred' ) . '</li>
1089
+ <li><strong>%blog_name%</strong><div>' . __( 'Your websites title', 'mycred' ) . '</div></li>
1090
+ <li><strong>%blog_url%</strong><div>' . __( 'Your websites address', 'mycred' ) . '</div></li>
1091
+ <li><strong>%blog_info%</strong><div>' . __( 'Your websites tagline (description)', 'mycred' ) . '</div></li>
1092
+ <li><strong>%admin_email%</strong><div>' . __( 'Your websites admin email', 'mycred' ) . '</div></li>
1093
+ <li><strong>%num_members%</strong><div>' . __( 'Total number of blog members', 'mycred' ) . '</div></li>
1094
+ </ul>
1095
+ <ul>
1096
+ <li class="title">Instance Related</li>
1097
+ <li><strong>%new_balance%</strong><div>' . __( 'The users new balance', 'mycred' ) . '</div></li>
1098
+ <li><strong>%old_balance%</strong><div>' . __( 'The users old balance', 'mycred' ) . '</div></li>
1099
+ <li><strong>%amount%</strong><div>' . __( 'The amount of points gained or lost in this instance', 'mycred' ) . '</div></li>
1100
+ <li><strong>%entry%</strong><div>' . __( 'The log entry', 'mycred' ) . '</div></li>
1101
  </ul>
1102
  <div class="clear"></div>';
1103
  }
1105
  /**
1106
  * Save Email Notice Details
1107
  * @since 1.1
1108
+ * @version 1.2
1109
  */
1110
  public function save_email_notice( $post_id ) {
1111
+
1112
+ if ( ! isset( $_POST['mycred_email'] ) || ! is_array( $_POST['mycred_email'] ) || ! wp_verify_nonce( $_POST['mycred_email']['token'], 'mycred-edit-email' ) ) return;
 
 
 
 
 
 
1113
 
1114
  // Update Instance
1115
  if ( ! empty( $_POST['mycred_email']['instance'] ) ) {
1151
  // Save settings
1152
  update_post_meta( $post_id, 'mycred_email_settings', $settings );
1153
 
1154
+ $point_type = sanitize_text_field( $_POST['mycred_email']['ctype'] );
1155
+ update_post_meta( $post_id, 'mycred_email_ctype', $point_type );
1156
+
1157
  // If rich editing is disabled bail now
1158
  if ( $this->emailnotices['use_html'] === false ) return;
1159
 
1197
  if ( $post->post_type != 'mycred_email_notice' ) return;
1198
 
1199
  if ( $post->post_status != 'publish' && $post->post_status != 'future' )
1200
+ echo '<p id="mycred-email-notice">' . __( 'Once a notice is "published" it becomes active! Select "Save Draft" if you are not yet ready to use this email notice!', 'mycred' ) . '</p>';
1201
  elseif ( $post->post_status == 'future' )
1202
+ echo '<p id="mycred-email-notice">' . sprintf( __( 'This notice will become active on:<br /><strong>%1$s</strong>', 'mycred' ), date_i18n( get_option( 'date_format' ) . ' @ ' . get_option( 'time_format' ), strtotime( $post->post_date ) ) ) . '</p>';
1203
  else
1204
+ echo '<p id="mycred-email-notice">' . __( 'This email notice is active.', 'mycred' ) . '</p>';
1205
  }
1206
 
1207
  /**
addons/gateway/carts/mycred-marketpress.php CHANGED
@@ -6,8 +6,8 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
6
  * @since 1.1
7
  * @version 1.3
8
  */
 
9
  if ( ! function_exists( 'mycred_init_marketpress_gateway' ) ) {
10
- add_action( 'mp_load_gateway_plugins', 'mycred_init_marketpress_gateway' );
11
  function mycred_init_marketpress_gateway()
12
  {
13
  if ( ! class_exists( 'MP_Gateway_API' ) ) return;
@@ -199,7 +199,7 @@ if ( ! function_exists( 'mycred_init_marketpress_gateway' ) ) {
199
  * @param array $cart. Contains the cart contents for the current blog, global cart if $mp->global_cart is true
200
  * @param array $shipping_info. Contains shipping info and email in case you need it
201
  * @since 1.1
202
- * @version 1.2.1
203
  */
204
  function process_payment( $cart, $shipping_info ) {
205
  global $mp;
@@ -279,8 +279,12 @@ if ( ! function_exists( 'mycred_init_marketpress_gateway' ) ) {
279
  $quantity = $data['quantity'];
280
  $cost = $price*$quantity;
281
 
 
 
 
 
282
  // Calculate Share
283
- $share = ( $settings['gateways']['mycred']['profit_share_percent'] / 100 ) * $cost;
284
 
285
  // Payout
286
  $this->mycred->add_creds(
@@ -450,7 +454,7 @@ if ( ! function_exists( 'mycred_init_marketpress_gateway' ) ) {
450
  <th scope="row"><label for="mycred-instructions"><?php _e( 'User Instructions', 'mycred' ); ?></label></th>
451
  <td>
452
  <span class="description"><?php _e( 'Information to show users before payment.', 'mycred' ); ?></span>
453
- <p><?php wp_editor( $settings['gateways']['mycred']['instructions'] , 'mycred-instructions', array( 'textarea_name' => 'mp[gateways][mycred][instructions]' ) ); ?><br />
454
  <span class="description"><?php echo $mycred->available_template_tags( array( 'general' ), '%balance% or %balance_f%' ); ?></span></p>
455
  </td>
456
  </tr>
@@ -458,7 +462,7 @@ if ( ! function_exists( 'mycred_init_marketpress_gateway' ) ) {
458
  <th scope="row"><label for="mycred-confirmation"><?php _e( 'Confirmation Information', 'mycred' ); ?></label></th>
459
  <td>
460
  <span class="description"><?php _e( 'Information to display on the order confirmation page. - HTML allowed', 'mycred' ); ?></span>
461
- <p><?php wp_editor( $settings['gateways']['mycred']['confirmation'], 'mycred-confirmation', array( 'textarea_name' => 'mp[gateways][mycred][confirmation]' ) ); ?><br />
462
  <span class="description"><?php echo $mycred->available_template_tags( array( 'general' ), '%balance% or %balance_f%' ); ?></span></p>
463
  </td>
464
  </tr>
@@ -507,8 +511,10 @@ if ( ! function_exists( 'mycred_init_marketpress_gateway' ) ) {
507
 
508
  $settings['gateways']['mycred']['lowfunds'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['lowfunds'] ) );
509
  $settings['gateways']['mycred']['visitors'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['visitors'] ) );
510
- $settings['gateways']['mycred']['instructions'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['instructions'] ) );
511
- $settings['gateways']['mycred']['confirmation'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['confirmation'] ) );
 
 
512
 
513
  // Email (no html)
514
  $settings['gateways']['mycred']['email'] = stripslashes( wp_filter_nohtml_kses( $settings['gateways']['mycred']['email'] ) );
6
  * @since 1.1
7
  * @version 1.3
8
  */
9
+ add_action( 'mp_load_gateway_plugins', 'mycred_init_marketpress_gateway' );
10
  if ( ! function_exists( 'mycred_init_marketpress_gateway' ) ) {
 
11
  function mycred_init_marketpress_gateway()
12
  {
13
  if ( ! class_exists( 'MP_Gateway_API' ) ) return;
199
  * @param array $cart. Contains the cart contents for the current blog, global cart if $mp->global_cart is true
200
  * @param array $shipping_info. Contains shipping info and email in case you need it
201
  * @since 1.1
202
+ * @version 1.3
203
  */
204
  function process_payment( $cart, $shipping_info ) {
205
  global $mp;
279
  $quantity = $data['quantity'];
280
  $cost = $price*$quantity;
281
 
282
+ // Get profit share
283
+ $percentage = apply_filters( 'mycred_marketpress_profit_share', $settings['gateways']['mycred']['profit_share_percent'], $order, $product, $this );
284
+ if ( $percentage == 0 ) continue;
285
+
286
  // Calculate Share
287
+ $share = ( $percentage / 100 ) * $cost;
288
 
289
  // Payout
290
  $this->mycred->add_creds(
454
  <th scope="row"><label for="mycred-instructions"><?php _e( 'User Instructions', 'mycred' ); ?></label></th>
455
  <td>
456
  <span class="description"><?php _e( 'Information to show users before payment.', 'mycred' ); ?></span>
457
+ <p><?php wp_editor( $settings['gateways']['mycred']['instructions'] , 'mycredinstructions', array( 'textarea_name' => 'mp[gateways][mycred][instructions]' ) ); ?><br />
458
  <span class="description"><?php echo $mycred->available_template_tags( array( 'general' ), '%balance% or %balance_f%' ); ?></span></p>
459
  </td>
460
  </tr>
462
  <th scope="row"><label for="mycred-confirmation"><?php _e( 'Confirmation Information', 'mycred' ); ?></label></th>
463
  <td>
464
  <span class="description"><?php _e( 'Information to display on the order confirmation page. - HTML allowed', 'mycred' ); ?></span>
465
+ <p><?php wp_editor( $settings['gateways']['mycred']['confirmation'], 'mycredconfirmation', array( 'textarea_name' => 'mp[gateways][mycred][confirmation]' ) ); ?><br />
466
  <span class="description"><?php echo $mycred->available_template_tags( array( 'general' ), '%balance% or %balance_f%' ); ?></span></p>
467
  </td>
468
  </tr>
511
 
512
  $settings['gateways']['mycred']['lowfunds'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['lowfunds'] ) );
513
  $settings['gateways']['mycred']['visitors'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['visitors'] ) );
514
+
515
+ $allowed_tags = $this->mycred->allowed_html_tags();
516
+ $settings['gateways']['mycred']['instructions'] = wp_kses( $settings['gateways']['mycred']['instructions'], $allowed_tags );
517
+ $settings['gateways']['mycred']['confirmation'] = wp_kses( $settings['gateways']['mycred']['confirmation'], $allowed_tags );
518
 
519
  // Email (no html)
520
  $settings['gateways']['mycred']['email'] = stripslashes( wp_filter_nohtml_kses( $settings['gateways']['mycred']['email'] ) );
addons/gateway/carts/mycred-woocommerce.php CHANGED
@@ -9,15 +9,16 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
9
  * @since 0.1
10
  * @version 1.4.1
11
  */
12
- if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
 
13
  /**
14
  * Construct Gateway
15
  * @since 0.1
16
  * @version 1.4
17
  */
18
  add_action( 'after_setup_theme', 'mycred_init_woo_gateway' );
19
- function mycred_init_woo_gateway()
20
- {
21
  if ( ! class_exists( 'WC_Payment_Gateway' ) ) return;
22
  class WC_Gateway_myCRED extends WC_Payment_Gateway {
23
 
@@ -292,8 +293,10 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
292
  if ( $product === NULL || $product->post_author == $cui ) continue;
293
 
294
  // Calculate Share
295
- // by: Leonie Heinle
296
- $share = ( $this->profit_sharing_percent / 100 ) * $item['line_total'];
 
 
297
 
298
  // Payout
299
  $this->mycred->add_creds(
@@ -398,11 +401,13 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
398
  /**
399
  * Log Entry: Payment
400
  * @since 0.1
401
- * @version 1.3
402
  */
403
  add_filter( 'mycred_parse_log_entry_woocommerce_payment', 'mycred_woo_log_entry_payment', 90, 2 );
404
- function mycred_woo_log_entry_payment( $content, $log_entry )
405
- {
 
 
406
  // Prep
407
  $type = 'mycred_default';
408
  if ( isset( $log_entry->ctype ) )
@@ -430,6 +435,7 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
430
  }
431
 
432
  return $content;
 
433
  }
434
 
435
  /**
@@ -438,8 +444,8 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
438
  * @version 1.0
439
  */
440
  add_filter( 'mycred_parse_log_entry_woocommerce_refund', 'mycred_woo_log_entry_refunds', 90, 2 );
441
- function mycred_woo_log_entry_refunds( $content, $log_entry )
442
- {
443
  $content = mycred_woo_log_entry_payment( $content, $log_entry );
444
 
445
  $data = maybe_unserialize( $log_entry->data );
@@ -450,6 +456,7 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
450
  $content = str_replace( '%reason%', $reason, $content );
451
 
452
  return $content;
 
453
  }
454
 
455
  /**
@@ -458,8 +465,8 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
458
  * @version 1.0
459
  */
460
  add_filter( 'mycred_parse_log_entry_store_sale_refund', 'mycred_woo_log_entry_profit_refund', 90, 2 );
461
- function mycred_woo_log_entry_profit_refund( $content, $log_entry )
462
- {
463
  $data = maybe_unserialize( $log_entry->data );
464
 
465
  $order_id = '';
@@ -475,6 +482,7 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
475
  $content = str_replace( '%reason%', $reason, $content );
476
 
477
  return $content;
 
478
  }
479
 
480
  /**
@@ -483,9 +491,9 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
483
  * @version 1.0.1
484
  */
485
  add_filter( 'mycred_email_before_send', 'mycred_woo_parse_email' );
486
- function mycred_woo_parse_email( $email )
487
- {
488
- if ( $email['request']['ref'] == 'woocommerce_payment' ) {
489
 
490
  if ( function_exists( 'wc_get_order' ) )
491
  $order = wc_get_order( (int) $email['request']['ref_id'] );
@@ -498,8 +506,10 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
498
  $content = str_replace( '%order_id%', $order->id, $email['request']['entry'] );
499
  $email['request']['entry'] = str_replace( '%order_link%', '<a href="' . $url . '">#' . $order->id . '</a>', $content );
500
  }
 
501
  }
502
  return $email;
 
503
  }
504
 
505
  /**
@@ -508,10 +518,11 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
508
  * @version 1.0
509
  */
510
  add_filter( 'woocommerce_payment_gateways', 'mycred_register_woo_gateway' );
511
- function mycred_register_woo_gateway( $methods )
512
- {
513
  $methods[] = 'WC_Gateway_myCRED';
514
  return $methods;
 
515
  }
516
 
517
  /**
@@ -522,13 +533,16 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
522
  * - Users balance is too low
523
  *
524
  * @since 0.1
525
- * @version 1.2
526
  */
527
  add_filter( 'woocommerce_available_payment_gateways', 'mycred_woo_available_gateways' );
528
- function mycred_woo_available_gateways( $gateways )
529
- {
530
  if ( ! isset( $gateways['mycred'] ) ) return $gateways;
531
 
 
 
 
532
  // Check if we are logged in
533
  if ( ! is_user_logged_in() ) {
534
  unset( $gateways['mycred'] );
@@ -569,6 +583,7 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
569
  // Clean up and return
570
  unset( $mycred );
571
  return $gateways;
 
572
  }
573
 
574
  /**
@@ -578,8 +593,8 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
578
  * @version 1.1
579
  */
580
  add_filter( 'woocommerce_currencies', 'mycred_woo_add_currency' );
581
- function mycred_woo_add_currency( $currencies )
582
- {
583
  $settings = get_option( 'woocommerce_mycred_settings', false );
584
  if ( $settings === false ) return $currencies;
585
 
@@ -592,6 +607,7 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
592
 
593
  unset( $mycred );
594
  return $currencies;
 
595
  }
596
 
597
  /**
@@ -601,8 +617,8 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
601
  * @version 1.1
602
  */
603
  add_filter( 'woocommerce_currency_symbol', 'mycred_woo_currency', 10, 2 );
604
- function mycred_woo_currency( $currency_symbol, $currency )
605
- {
606
  $settings = get_option( 'woocommerce_mycred_settings', false );
607
  if ( $settings === false ) return $currency_symbol;
608
 
@@ -620,6 +636,7 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
620
  break;
621
  }
622
  return $currency_symbol;
 
623
  }
624
 
625
  /**
@@ -630,8 +647,8 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
630
  */
631
  add_action( 'woocommerce_review_order_after_order_total', 'mycred_woo_after_order_total' );
632
  add_action( 'woocommerce_cart_totals_after_order_total', 'mycred_woo_after_order_total' );
633
- function mycred_woo_after_order_total()
634
- {
635
  if ( ! is_user_logged_in() ) return;
636
 
637
  // Only available for logged in non-excluded users
@@ -693,9 +710,11 @@ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) {
693
  </tr>
694
  <?php
695
  unset( $available_gateways );
 
696
  }
697
 
698
  unset( $mycred );
 
699
  }
700
- }
701
  ?>
9
  * @since 0.1
10
  * @version 1.4.1
11
  */
12
+ if ( ! function_exists( 'mycred_init_woo_gateway' ) ) :
13
+
14
  /**
15
  * Construct Gateway
16
  * @since 0.1
17
  * @version 1.4
18
  */
19
  add_action( 'after_setup_theme', 'mycred_init_woo_gateway' );
20
+ function mycred_init_woo_gateway() {
21
+
22
  if ( ! class_exists( 'WC_Payment_Gateway' ) ) return;
23
  class WC_Gateway_myCRED extends WC_Payment_Gateway {
24
 
293
  if ( $product === NULL || $product->post_author == $cui ) continue;
294
 
295
  // Calculate Share
296
+ $percentage = apply_filters( 'mycred_woo_profit_share', $this->profit_sharing_percent, $order, $product, $this );
297
+ if ( $percentage == 0 ) continue;
298
+
299
+ $share = ( $percentage / 100 ) * $item['line_total'];
300
 
301
  // Payout
302
  $this->mycred->add_creds(
401
  /**
402
  * Log Entry: Payment
403
  * @since 0.1
404
+ * @version 1.3.1
405
  */
406
  add_filter( 'mycred_parse_log_entry_woocommerce_payment', 'mycred_woo_log_entry_payment', 90, 2 );
407
+ function mycred_woo_log_entry_payment( $content, $log_entry ) {
408
+
409
+ if ( ! class_exists( 'WC_Payment_Gateway' ) ) return $content;
410
+
411
  // Prep
412
  $type = 'mycred_default';
413
  if ( isset( $log_entry->ctype ) )
435
  }
436
 
437
  return $content;
438
+
439
  }
440
 
441
  /**
444
  * @version 1.0
445
  */
446
  add_filter( 'mycred_parse_log_entry_woocommerce_refund', 'mycred_woo_log_entry_refunds', 90, 2 );
447
+ function mycred_woo_log_entry_refunds( $content, $log_entry ) {
448
+
449
  $content = mycred_woo_log_entry_payment( $content, $log_entry );
450
 
451
  $data = maybe_unserialize( $log_entry->data );
456
  $content = str_replace( '%reason%', $reason, $content );
457
 
458
  return $content;
459
+
460
  }
461
 
462
  /**
465
  * @version 1.0
466
  */
467
  add_filter( 'mycred_parse_log_entry_store_sale_refund', 'mycred_woo_log_entry_profit_refund', 90, 2 );
468
+ function mycred_woo_log_entry_profit_refund( $content, $log_entry ) {
469
+
470
  $data = maybe_unserialize( $log_entry->data );
471
 
472
  $order_id = '';
482
  $content = str_replace( '%reason%', $reason, $content );
483
 
484
  return $content;
485
+
486
  }
487
 
488
  /**
491
  * @version 1.0.1
492
  */
493
  add_filter( 'mycred_email_before_send', 'mycred_woo_parse_email' );
494
+ function mycred_woo_parse_email( $email ) {
495
+
496
+ if ( $email['request']['ref'] == 'woocommerce_payment' && function_exists( 'woocommerce_get_page_id' ) ) {
497
 
498
  if ( function_exists( 'wc_get_order' ) )
499
  $order = wc_get_order( (int) $email['request']['ref_id'] );
506
  $content = str_replace( '%order_id%', $order->id, $email['request']['entry'] );
507
  $email['request']['entry'] = str_replace( '%order_link%', '<a href="' . $url . '">#' . $order->id . '</a>', $content );
508
  }
509
+
510
  }
511
  return $email;
512
+
513
  }
514
 
515
  /**
518
  * @version 1.0
519
  */
520
  add_filter( 'woocommerce_payment_gateways', 'mycred_register_woo_gateway' );
521
+ function mycred_register_woo_gateway( $methods ) {
522
+
523
  $methods[] = 'WC_Gateway_myCRED';
524
  return $methods;
525
+
526
  }
527
 
528
  /**
533
  * - Users balance is too low
534
  *
535
  * @since 0.1
536
+ * @version 1.2.1
537
  */
538
  add_filter( 'woocommerce_available_payment_gateways', 'mycred_woo_available_gateways' );
539
+ function mycred_woo_available_gateways( $gateways ) {
540
+
541
  if ( ! isset( $gateways['mycred'] ) ) return $gateways;
542
 
543
+ // Easy override
544
+ if ( defined( 'SHOW_MYCRED_IN_WOOCOMMERCE' ) && SHOW_MYCRED_IN_WOOCOMMERCE ) return $gateways;
545
+
546
  // Check if we are logged in
547
  if ( ! is_user_logged_in() ) {
548
  unset( $gateways['mycred'] );
583
  // Clean up and return
584
  unset( $mycred );
585
  return $gateways;
586
+
587
  }
588
 
589
  /**
593
  * @version 1.1
594
  */
595
  add_filter( 'woocommerce_currencies', 'mycred_woo_add_currency' );
596
+ function mycred_woo_add_currency( $currencies ) {
597
+
598
  $settings = get_option( 'woocommerce_mycred_settings', false );
599
  if ( $settings === false ) return $currencies;
600
 
607
 
608
  unset( $mycred );
609
  return $currencies;
610
+
611
  }
612
 
613
  /**
617
  * @version 1.1
618
  */
619
  add_filter( 'woocommerce_currency_symbol', 'mycred_woo_currency', 10, 2 );
620
+ function mycred_woo_currency( $currency_symbol, $currency ) {
621
+
622
  $settings = get_option( 'woocommerce_mycred_settings', false );
623
  if ( $settings === false ) return $currency_symbol;
624
 
636
  break;
637
  }
638
  return $currency_symbol;
639
+
640
  }
641
 
642
  /**
647
  */
648
  add_action( 'woocommerce_review_order_after_order_total', 'mycred_woo_after_order_total' );
649
  add_action( 'woocommerce_cart_totals_after_order_total', 'mycred_woo_after_order_total' );
650
+ function mycred_woo_after_order_total() {
651
+
652
  if ( ! is_user_logged_in() ) return;
653
 
654
  // Only available for logged in non-excluded users
710
  </tr>
711
  <?php
712
  unset( $available_gateways );
713
+
714
  }
715
 
716
  unset( $mycred );
717
+
718
  }
719
+ endif;
720
  ?>
addons/gateway/carts/mycred-wpecommerce.php CHANGED
@@ -9,6 +9,7 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
9
  * @since 1.3
10
  * @version 1.1
11
  */
 
12
  if ( ! function_exists( 'mycred_init_wpecom_construct_gateway' ) ) {
13
 
14
  /**
@@ -16,7 +17,6 @@ if ( ! function_exists( 'mycred_init_wpecom_construct_gateway' ) ) {
16
  * @since 1.3
17
  * @version 1.0
18
  */
19
- add_action( 'after_setup_theme', 'mycred_init_wpecom_construct_gateway' );
20
  function mycred_init_wpecom_construct_gateway()
21
  {
22
  if ( ! class_exists( 'wpsc_merchant' ) ) return;
@@ -229,7 +229,7 @@ if ( ! function_exists( 'mycred_init_wpecom_construct_gateway' ) ) {
229
  * Charges the user for the purchase and if profit sharing is enabled
230
  * each product owner.
231
  * @since 1.3
232
- * @version 1.1
233
  */
234
  function submit() {
235
  // Since the wpsc_pre_submit_gateway action could change these values, we need to check
@@ -268,13 +268,16 @@ if ( ! function_exists( 'mycred_init_wpecom_construct_gateway' ) ) {
268
  $cost = $price*$quantity;
269
 
270
  // Calculate Share
271
- $share = ( $this->prefs['share'] / 100 ) * $cost;
 
 
 
272
 
273
  // Payout
274
  $this->core->add_creds(
275
  'store_sale',
276
  $product->post_author,
277
- $this->core->number( $share ),
278
  $this->prefs['share_log'],
279
  $product->ID,
280
  array( 'ref_type' => 'post' ),
9
  * @since 1.3
10
  * @version 1.1
11
  */
12
+ add_action( 'after_setup_theme', 'mycred_init_wpecom_construct_gateway' );
13
  if ( ! function_exists( 'mycred_init_wpecom_construct_gateway' ) ) {
14
 
15
  /**
17
  * @since 1.3
18
  * @version 1.0
19
  */
 
20
  function mycred_init_wpecom_construct_gateway()
21
  {
22
  if ( ! class_exists( 'wpsc_merchant' ) ) return;
229
  * Charges the user for the purchase and if profit sharing is enabled
230
  * each product owner.
231
  * @since 1.3
232
+ * @version 1.3
233
  */
234
  function submit() {
235
  // Since the wpsc_pre_submit_gateway action could change these values, we need to check
268
  $cost = $price*$quantity;
269
 
270
  // Calculate Share
271
+ $percentage = apply_filters( 'mycred_wpecom_profit_share', $this->prefs['share'], $this, $product );
272
+ if ( $percentage == 0 ) continue;
273
+
274
+ $share = ( $percentage / 100 ) * $cost;
275
 
276
  // Payout
277
  $this->core->add_creds(
278
  'store_sale',
279
  $product->post_author,
280
+ $share,
281
  $this->prefs['share_log'],
282
  $product->ID,
283
  array( 'ref_type' => 'post' ),
addons/gateway/event-booking/mycred-eventsmanager.php CHANGED
@@ -475,7 +475,7 @@ jQuery(function($) {
475
  url : '<?php echo $ajax_url; ?>',
476
  // Before we start
477
  beforeSend : function() {
478
- button.val( 'Processing...' );
479
  button.attr( 'disabled', 'disabled' );
480
  },
481
  // On Successful Communication
475
  url : '<?php echo $ajax_url; ?>',
476
  // Before we start
477
  beforeSend : function() {
478
+ button.val( '<?php esc_attr_e( 'Processing...', 'mycred' ); ?>' );
479
  button.attr( 'disabled', 'disabled' );
480
  },
481
  // On Successful Communication
addons/gateway/myCRED-addon-gateway.php CHANGED
@@ -9,28 +9,29 @@
9
  */
10
  if ( ! defined( 'myCRED_VERSION' ) ) exit;
11
 
12
- define( 'myCRED_GATE', __FILE__ );
13
- define( 'myCRED_GATE_DIR', myCRED_ADDONS_DIR . 'gateway/' );
14
- define( 'myCRED_GATE_ASSETS_DIR', myCRED_GATE_DIR . 'assets/' );
15
- define( 'myCRED_GATE_CART_DIR', myCRED_GATE_DIR . 'carts/' );
16
- define( 'myCRED_GATE_EVENT_DIR', myCRED_GATE_DIR . 'event-booking/' );
17
- define( 'myCRED_GATE_MEMBER_DIR', myCRED_GATE_DIR . 'membership/' );
 
18
 
19
  /**
20
  * Supported Carts
21
  */
22
- require_once( myCRED_GATE_CART_DIR . 'mycred-woocommerce.php' );
23
- require_once( myCRED_GATE_CART_DIR . 'mycred-marketpress.php' );
24
- require_once( myCRED_GATE_CART_DIR . 'mycred-wpecommerce.php' );
25
 
26
  /**
27
  * Event Espresso
28
  */
29
- add_action( 'init', 'mycred_load_event_espresso3' );
30
  function mycred_load_event_espresso3() {
31
  if ( ! defined( 'EVENT_ESPRESSO_VERSION' ) ) return;
32
 
33
- require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventespresso3.php' );
34
  $gateway = new myCRED_Espresso_Gateway();
35
  $gateway->load();
36
  }
@@ -38,20 +39,21 @@ function mycred_load_event_espresso3() {
38
  /**
39
  * Events Manager
40
  */
41
- add_action( 'init', 'mycred_load_events_manager' );
42
  function mycred_load_events_manager() {
43
  if ( ! defined( 'EM_VERSION' ) ) return;
44
 
45
  // Pro
46
  if ( class_exists( 'EM_Pro' ) && class_exists( 'EM_Gateways' ) ) {
47
- require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventsmanager-pro.php' );
48
  EM_Gateways::register_gateway( 'mycred', 'EM_Gateway_myCRED' );
49
  }
50
  // Free
51
  else {
52
- require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventsmanager.php' );
53
  $events = new myCRED_Events_Manager_Gateway();
54
  $events->load();
55
  }
56
  }
 
57
  ?>
9
  */
10
  if ( ! defined( 'myCRED_VERSION' ) ) exit;
11
 
12
+ define( 'myCRED_GATE', __FILE__ );
13
+ define( 'myCRED_GATE_DIR', myCRED_ADDONS_DIR . 'gateway/' );
14
+ define( 'myCRED_GATE_ASSETS_DIR', myCRED_GATE_DIR . 'assets/' );
15
+ define( 'myCRED_GATE_CART_DIR', myCRED_GATE_DIR . 'carts/' );
16
+ define( 'myCRED_GATE_EVENT_DIR', myCRED_GATE_DIR . 'event-booking/' );
17
+ define( 'myCRED_GATE_MEMBER_DIR', myCRED_GATE_DIR . 'membership/' );
18
+ define( 'myCRED_GATE_AFFILIATE_DIR', myCRED_GATE_DIR . 'affiliate/' );
19
 
20
  /**
21
  * Supported Carts
22
  */
23
+ require_once myCRED_GATE_CART_DIR . 'mycred-woocommerce.php';
24
+ require_once myCRED_GATE_CART_DIR . 'mycred-marketpress.php';
25
+ require_once myCRED_GATE_CART_DIR . 'mycred-wpecommerce.php';
26
 
27
  /**
28
  * Event Espresso
29
  */
30
+ add_action( 'mycred_init', 'mycred_load_event_espresso3' );
31
  function mycred_load_event_espresso3() {
32
  if ( ! defined( 'EVENT_ESPRESSO_VERSION' ) ) return;
33
 
34
+ require_once myCRED_GATE_EVENT_DIR . 'mycred-eventespresso3.php';
35
  $gateway = new myCRED_Espresso_Gateway();
36
  $gateway->load();
37
  }
39
  /**
40
  * Events Manager
41
  */
42
+ add_action( 'mycred_init', 'mycred_load_events_manager' );
43
  function mycred_load_events_manager() {
44
  if ( ! defined( 'EM_VERSION' ) ) return;
45
 
46
  // Pro
47
  if ( class_exists( 'EM_Pro' ) && class_exists( 'EM_Gateways' ) ) {
48
+ require_once myCRED_GATE_EVENT_DIR . 'mycred-eventsmanager-pro.php';
49
  EM_Gateways::register_gateway( 'mycred', 'EM_Gateway_myCRED' );
50
  }
51
  // Free
52
  else {
53
+ require_once myCRED_GATE_EVENT_DIR . 'mycred-eventsmanager.php';
54
  $events = new myCRED_Events_Manager_Gateway();
55
  $events->load();
56
  }
57
  }
58
+
59
  ?>
addons/notifications/{js → assets/css}/index.php RENAMED
File without changes
addons/notifications/{css → assets/css}/notify.css RENAMED
File without changes
addons/{ranks/js → notifications/assets}/index.php RENAMED
File without changes
addons/{transfer/css → notifications/assets/js}/index.php RENAMED
File without changes
addons/notifications/{js → assets/js}/notify.js RENAMED
@@ -34,7 +34,7 @@
34
  var defaults = {
35
  inEffect: {opacity: 'show'}, // in effect
36
  inEffectDuration: 600, // in effect duration in miliseconds
37
- stayTime: parseInt( myCRED_Notice.duration, 10 ), // time in miliseconds before the item has to disappear
38
  text: '', // content of the item
39
  stay: true, // should the notice item stay or not?
40
  type: 'succes' // could also be error, succes
34
  var defaults = {
35
  inEffect: {opacity: 'show'}, // in effect
36
  inEffectDuration: 600, // in effect duration in miliseconds
37
+ stayTime: parseInt( myCRED_Notice.duration, 10 ) * 1000, // time in miliseconds before the item has to disappear
38
  text: '', // content of the item
39
  stay: true, // should the notice item stay or not?
40
  type: 'succes' // could also be error, succes
addons/notifications/myCRED-addon-notifications.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Addon: Notifications
4
  * Addon URI: http://mycred.me/add-ons/notifications/
5
- * Version: 1.1
6
  * Description: Notify your users when their balances changes.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
@@ -15,7 +15,7 @@ define( 'myCRED_NOTE_VERSION', myCRED_VERSION . '.1' );
15
  /**
16
  * myCRED_Notifications class
17
  * @since 1.2.3
18
- * @version 1.1
19
  */
20
  if ( ! class_exists( 'myCRED_Notifications_Module' ) ) {
21
  class myCRED_Notifications_Module extends myCRED_Module {
@@ -24,19 +24,21 @@ if ( ! class_exists( 'myCRED_Notifications_Module' ) ) {
24
  * Construct
25
  */
26
  function __construct() {
 
27
  parent::__construct( 'myCRED_Notifications_Module', array(
28
  'module_name' => 'notifications',
29
  'defaults' => array(
30
  'life' => 7,
31
  'template' => '<p>%entry%</p><h1>%cred_f%</h1>',
32
  'use_css' => 1,
33
- 'duration' => 3000
34
  ),
35
  'register' => false,
36
  'add_to_core' => true
37
  ) );
38
 
39
- add_filter( 'mycred_add', array( $this, 'mycred_add' ), 999, 2 );
 
40
  }
41
 
42
  /**
@@ -45,11 +47,13 @@ if ( ! class_exists( 'myCRED_Notifications_Module' ) ) {
45
  * @version 1.0
46
  */
47
  public function module_init() {
 
48
  if ( ! is_user_logged_in() ) return;
49
 
50
  add_action( 'mycred_front_enqueue', array( $this, 'register_assets' ) );
51
  add_action( 'wp_footer', array( $this, 'get_notices' ), 1 );
52
  add_action( 'wp_footer', array( $this, 'wp_footer' ), 99 );
 
53
  }
54
 
55
  /**
@@ -58,84 +62,104 @@ if ( ! class_exists( 'myCRED_Notifications_Module' ) ) {
58
  * @version 1.2
59
  */
60
  public function wp_footer() {
 
 
61
  $notices = apply_filters( 'mycred_notifications', array() );
62
  if ( empty( $notices ) ) return;
63
 
64
- if ( $this->notifications['duration'] == 0 ) $stay = 'true';
65
- else $stay = 'false';
 
 
66
 
 
67
  do_action_ref_array( 'mycred_before_notifications', array( &$notices ) );
68
 
69
  // Loop Notifications
70
  foreach ( (array) $notices as $notice ) {
71
- $notice = $this->core->template_tags_general( $notice );
72
  $notice = str_replace( array( "\r", "\n", "\t" ), '', $notice );
73
  echo '<!-- Notice --><script type="text/javascript">(function(jQuery){jQuery.noticeAdd({ text: "' . $notice . '",stay: ' . $stay . '});})(jQuery);</script>';
 
74
  }
75
 
 
76
  do_action_ref_array( 'mycred_after_notifications', array( &$notices ) );
 
77
  }
78
 
79
  /**
80
  * Register Assets
81
  * @since 1.2.3
82
- * @version 1.0
83
  */
84
  public function register_assets() {
 
85
  // Register script
86
  wp_register_script(
87
  'mycred-notifications',
88
- plugins_url( 'js/notify.js', myCRED_NOTE ),
89
  array( 'jquery' ),
90
  myCRED_NOTE_VERSION . '.1',
91
  true
92
  );
93
 
94
- if ( (bool) $this->notifications['use_css'] )
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  wp_register_style(
96
  'mycred-notifications',
97
- plugins_url( 'css/notify.css', myCRED_NOTE ),
98
  false,
99
  myCRED_NOTE_VERSION . '.2',
100
  'all',
101
  true
102
  );
103
-
104
- if ( (bool) $this->notifications['use_css'] )
105
  wp_enqueue_style( 'mycred-notifications' );
106
 
107
- wp_enqueue_script( 'mycred-notifications' );
108
- wp_localize_script(
109
- 'mycred-notifications',
110
- 'myCRED_Notice',
111
- array(
112
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
113
- 'duration' => $this->notifications['duration']
114
- )
115
- );
116
  }
117
 
118
  /**
119
- * myCRED Add
120
- * @since 1.2.3
121
- * @version 1.2
122
  */
123
- public function mycred_add( $reply, $request ) {
124
- if ( $reply === false ) return $reply;
125
 
126
- $mycred = mycred( $request['type'] );
127
 
128
- $template = $this->notifications['template'];
129
- $template = str_replace( '%entry%', $request['entry'], $template );
130
  $template = str_replace( '%amount%', $request['amount'], $template );
 
 
 
131
  $template = $mycred->template_tags_amount( $template, $request['amount'] );
132
- $template = $mycred->parse_template_tags( $template, (object) $request );
 
 
133
  $template = apply_filters( 'mycred_notifications_note', $template, $request, $mycred );
134
 
135
- if ( ! empty( $template ) )
 
136
  mycred_add_new_notice( array( 'user_id' => $request['user_id'], 'message' => $template ), $this->notifications['life'] );
137
 
138
  return $reply;
 
139
  }
140
 
141
  /**
@@ -144,71 +168,89 @@ if ( ! class_exists( 'myCRED_Notifications_Module' ) ) {
144
  * @version 1.0.1
145
  */
146
  public function get_notices() {
 
147
  $user_id = get_current_user_id();
148
  $data = get_transient( 'mycred_notice_' . $user_id );
149
 
150
- if ( $data === false || !is_array( $data ) ) return;
151
 
152
  foreach ( $data as $notice )
153
  add_filter( 'mycred_notifications', create_function( '$query', '$query[]=\'' . $notice . '\'; return $query;' ) );
154
 
155
  delete_transient( 'mycred_notice_' . $user_id );
 
156
  }
157
 
158
  /**
159
  * Settings Page
160
  * @since 1.2.3
161
- * @version 1.0
162
  */
163
- public function after_general_settings() {
164
- $settings = $this->notifications; ?>
 
165
 
166
  <h4><div class="icon icon-active"></div><?php _e( 'Notifications', 'mycred' ); ?></h4>
167
  <div class="body" style="display:none;">
168
- <label class="subheader"><?php _e( 'Styling', 'mycred' ); ?></label>
169
  <ol>
170
  <li>
171
- <input type="checkbox" name="mycred_pref_core[notifications][use_css]" id="myCRED-notifications-use-css" <?php checked( $settings['use_css'], 1 ); ?> value="1" />
172
- <label for="myCRED-notifications-use-css"><?php _e( 'Use the included CSS Styling for notifications.', 'mycred' ); ?></label>
173
  </li>
174
  </ol>
175
- <label class="subheader"><?php _e( 'Template', 'mycred' ); ?></label>
176
  <ol id="myCRED-transfer-logging-send">
177
  <li>
178
- <div class="h2"><input type="text" name="mycred_pref_core[notifications][template]" id="myCRED-notifications-template" value="<?php echo $settings['template']; ?>" class="long" /></div>
179
- <span class="description"><?php _e( 'Use %entry% to show the log entry in the notice and %amount% for the amount.', 'mycred' ); ?></span>
180
  </li>
181
  </ol>
182
- <label class="subheader"><?php _e( 'Transient Lifespan', 'mycred' ); ?></label>
183
  <ol id="myCRED-transfer-logging-send">
184
  <li>
185
- <div class="h2"><input type="text" name="mycred_pref_core[notifications][life]" id="myCRED-notifications-life" value="<?php echo $settings['life']; ?>" class="short" /></div>
186
  <span class="description"><?php _e( 'The number of days a users notification is saved before being automatically deleted.', 'mycred' ); ?></span>
187
  </li>
188
  </ol>
189
- <label class="subheader"><?php _e( 'Duration', 'mycred' ); ?></label>
190
  <ol id="myCRED-transfer-logging-send">
191
  <li>
192
- <div class="h2"><input type="text" name="mycred_pref_core[notifications][duration]" id="myCRED-notifications-duration" value="<?php echo $settings['duration']; ?>" class="short" /></div>
193
- <span class="description"><?php _e( 'The number of milliseconds a notice should be visible.<br />Use zero to require that the user closes the notice manually. 1000 milliseconds = 1 second.', 'mycred' ); ?></span>
194
  </li>
195
  </ol>
196
  </div>
 
 
 
 
 
 
 
 
 
197
  <?php
 
198
  }
199
 
200
  /**
201
  * Sanitize & Save Settings
202
  * @since 1.2.3
203
- * @version 1.0
204
  */
205
  public function sanitize_extra_settings( $new_data, $data, $general ) {
206
- $new_data['notifications']['use_css'] = ( isset( $data['notifications']['use_css'] ) ) ? 1: 0;
207
- $new_data['notifications']['template'] = trim( $data['notifications']['template'] );
208
- $new_data['notifications']['life'] = abs( $data['notifications']['life'] );
209
- $new_data['notifications']['duration'] = abs( $data['notifications']['duration'] );
 
 
 
 
 
210
 
211
  return $new_data;
 
212
  }
213
  }
214
 
@@ -223,6 +265,7 @@ if ( ! class_exists( 'myCRED_Notifications_Module' ) ) {
223
  */
224
  if ( ! function_exists( 'mycred_add_new_notice' ) ) {
225
  function mycred_add_new_notice( $notice = array(), $life = 1 ) {
 
226
  // Minimum requirements
227
  if ( ! isset( $notice['user_id'] ) || ! isset( $notice['message'] ) ) return false;
228
 
@@ -240,6 +283,7 @@ if ( ! function_exists( 'mycred_add_new_notice' ) ) {
240
 
241
  // Save as a transient
242
  set_transient( 'mycred_notice_' . $notice['user_id'], $notices, 86400*$life );
 
243
  }
244
  }
245
  ?>
2
  /**
3
  * Addon: Notifications
4
  * Addon URI: http://mycred.me/add-ons/notifications/
5
+ * Version: 1.1.1
6
  * Description: Notify your users when their balances changes.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
15
  /**
16
  * myCRED_Notifications class
17
  * @since 1.2.3
18
+ * @version 1.3
19
  */
20
  if ( ! class_exists( 'myCRED_Notifications_Module' ) ) {
21
  class myCRED_Notifications_Module extends myCRED_Module {
24
  * Construct
25
  */
26
  function __construct() {
27
+
28
  parent::__construct( 'myCRED_Notifications_Module', array(
29
  'module_name' => 'notifications',
30
  'defaults' => array(
31
  'life' => 7,
32
  'template' => '<p>%entry%</p><h1>%cred_f%</h1>',
33
  'use_css' => 1,
34
+ 'duration' => 3
35
  ),
36
  'register' => false,
37
  'add_to_core' => true
38
  ) );
39
 
40
+ add_filter( 'mycred_add_finished', array( $this, 'mycred_finished' ), 90, 3 );
41
+
42
  }
43
 
44
  /**
47
  * @version 1.0
48
  */
49
  public function module_init() {
50
+
51
  if ( ! is_user_logged_in() ) return;
52
 
53
  add_action( 'mycred_front_enqueue', array( $this, 'register_assets' ) );
54
  add_action( 'wp_footer', array( $this, 'get_notices' ), 1 );
55
  add_action( 'wp_footer', array( $this, 'wp_footer' ), 99 );
56
+
57
  }
58
 
59
  /**
62
  * @version 1.2
63
  */
64
  public function wp_footer() {
65
+
66
+ // Get notifications
67
  $notices = apply_filters( 'mycred_notifications', array() );
68
  if ( empty( $notices ) ) return;
69
 
70
+ // Should the notice stay till closed / left page or removed automatically
71
+ $stay = 'false';
72
+ if ( $this->notifications['duration'] == 0 )
73
+ $stay = 'true';
74
 
75
+ // Let others play before we start
76
  do_action_ref_array( 'mycred_before_notifications', array( &$notices ) );
77
 
78
  // Loop Notifications
79
  foreach ( (array) $notices as $notice ) {
80
+
81
  $notice = str_replace( array( "\r", "\n", "\t" ), '', $notice );
82
  echo '<!-- Notice --><script type="text/javascript">(function(jQuery){jQuery.noticeAdd({ text: "' . $notice . '",stay: ' . $stay . '});})(jQuery);</script>';
83
+
84
  }
85
 
86
+ // Let others play after we finished
87
  do_action_ref_array( 'mycred_after_notifications', array( &$notices ) );
88
+
89
  }
90
 
91
  /**
92
  * Register Assets
93
  * @since 1.2.3
94
+ * @version 1.1
95
  */
96
  public function register_assets() {
97
+
98
  // Register script
99
  wp_register_script(
100
  'mycred-notifications',
101
+ plugins_url( 'assets/js/notify.js', myCRED_NOTE ),
102
  array( 'jquery' ),
103
  myCRED_NOTE_VERSION . '.1',
104
  true
105
  );
106
 
107
+ // Localize
108
+ wp_localize_script(
109
+ 'mycred-notifications',
110
+ 'myCRED_Notice',
111
+ array(
112
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
113
+ 'duration' => $this->notifications['duration']
114
+ )
115
+ );
116
+ wp_enqueue_script( 'mycred-notifications' );
117
+
118
+ // If not disabled, enqueue the stylesheet
119
+ if ( $this->notifications['use_css'] == 1 ) {
120
+
121
  wp_register_style(
122
  'mycred-notifications',
123
+ plugins_url( 'assets/css/notify.css', myCRED_NOTE ),
124
  false,
125
  myCRED_NOTE_VERSION . '.2',
126
  'all',
127
  true
128
  );
129
+
 
130
  wp_enqueue_style( 'mycred-notifications' );
131
 
132
+ }
133
+
 
 
 
 
 
 
 
134
  }
135
 
136
  /**
137
+ * myCRED Finished
138
+ * @since 1.6
139
+ * @version 1.0
140
  */
141
+ public function mycred_finished( $reply, $request, $mycred ) {
 
142
 
143
+ if ( $reply === false || $this->notifications['template'] == '' ) return $reply;
144
 
145
+ // Parse template
146
+ $template = str_replace( '%entry%', $request['entry'], $this->notifications['template'] );
147
  $template = str_replace( '%amount%', $request['amount'], $template );
148
+
149
+ // Attempt to parse the template tags now that we have the entire request.
150
+ // This way we just need to display it and we are done.
151
  $template = $mycred->template_tags_amount( $template, $request['amount'] );
152
+ $template = $mycred->parse_template_tags( $template, $this->request_to_entry( $request ) );
153
+
154
+ // Let others play
155
  $template = apply_filters( 'mycred_notifications_note', $template, $request, $mycred );
156
 
157
+ // If template is not empty, add it now.
158
+ if ( strlen( $template ) > 0 )
159
  mycred_add_new_notice( array( 'user_id' => $request['user_id'], 'message' => $template ), $this->notifications['life'] );
160
 
161
  return $reply;
162
+
163
  }
164
 
165
  /**
168
  * @version 1.0.1
169
  */
170
  public function get_notices() {
171
+
172
  $user_id = get_current_user_id();
173
  $data = get_transient( 'mycred_notice_' . $user_id );
174
 
175
+ if ( $data === false || ! is_array( $data ) ) return;
176
 
177
  foreach ( $data as $notice )
178
  add_filter( 'mycred_notifications', create_function( '$query', '$query[]=\'' . $notice . '\'; return $query;' ) );
179
 
180
  delete_transient( 'mycred_notice_' . $user_id );
181
+
182
  }
183
 
184
  /**
185
  * Settings Page
186
  * @since 1.2.3
187
+ * @version 1.1
188
  */
189
+ public function after_general_settings( $mycred ) {
190
+
191
+ $prefs = $this->notifications; ?>
192
 
193
  <h4><div class="icon icon-active"></div><?php _e( 'Notifications', 'mycred' ); ?></h4>
194
  <div class="body" style="display:none;">
195
+ <label class="subheader" for="<?php echo $this->field_id( 'use_css' ); ?>"><?php _e( 'Styling', 'mycred' ); ?></label>
196
  <ol>
197
  <li>
198
+ <label for="<?php echo $this->field_id( 'use_css' ); ?>"><input type="checkbox" name="<?php echo $this->field_name( 'use_css' ); ?>" id="<?php echo $this->field_id( 'use_css' ); ?>" <?php checked( $prefs['use_css'], 1 ); ?> value="1" /><?php _e( 'Use the included CSS Styling for notifications.', 'mycred' ); ?></label>
 
199
  </li>
200
  </ol>
201
+ <label class="subheader" for="<?php echo $this->field_id( 'template' ); ?>"><?php _e( 'Template', 'mycred' ); ?></label>
202
  <ol id="myCRED-transfer-logging-send">
203
  <li>
204
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( 'template' ); ?>" id="<?php echo $this->field_id( 'template' ); ?>" value="<?php echo esc_attr( $prefs['template'] ); ?>" class="long" /></div>
205
+ <span class="description"><?php _e( 'Use %entry% to show the log entry in the notice and %amount% for the amount.', 'mycred' ); ?></span> <a href="javascript:void(0);" id="retore-default-notice"><?php _e( 'Restore to default', 'mycred' ); ?></a>
206
  </li>
207
  </ol>
208
+ <label class="subheader" for="<?php echo $this->field_id( 'life' ); ?>"><?php _e( 'Transient Lifespan', 'mycred' ); ?></label>
209
  <ol id="myCRED-transfer-logging-send">
210
  <li>
211
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( 'life' ); ?>" id="<?php echo $this->field_id( 'life' ); ?>" value="<?php echo absint( $prefs['life'] ); ?>" class="short" /></div>
212
  <span class="description"><?php _e( 'The number of days a users notification is saved before being automatically deleted.', 'mycred' ); ?></span>
213
  </li>
214
  </ol>
215
+ <label class="subheader" for="<?php echo $this->field_id( 'duration' ); ?>"><?php _e( 'Duration', 'mycred' ); ?></label>
216
  <ol id="myCRED-transfer-logging-send">
217
  <li>
218
+ <div class="h2"><input type="number" name="<?php echo $this->field_name( 'duration' ); ?>" id="<?php echo $this->field_id( 'duration' ); ?>" value="<?php echo absint( $prefs['duration'] ); ?>" class="short" min="0" max="60" /></div>
219
+ <span class="description"><?php _e( 'Number of seconds before a notice is automatically removed after being shown to user. Use zero to disable.', 'mycred' ); ?></span>
220
  </li>
221
  </ol>
222
  </div>
223
+ <script type="text/javascript">
224
+ jQuery(function($) {
225
+
226
+ $( '#retore-default-notice' ).click(function(){
227
+ $( '#<?php echo $this->field_id( 'template' ); ?>' ).val( '<?php echo $this->default_prefs['template']; ?>' );
228
+ });
229
+
230
+ });
231
+ </script>
232
  <?php
233
+
234
  }
235
 
236
  /**
237
  * Sanitize & Save Settings
238
  * @since 1.2.3
239
+ * @version 1.1
240
  */
241
  public function sanitize_extra_settings( $new_data, $data, $general ) {
242
+
243
+ $new_data['notifications']['use_css'] = ( isset( $data['notifications']['use_css'] ) ) ? 1: 0;
244
+ $new_data['notifications']['template'] = wp_kses( $data['notifications']['template'], $this->core->allowed_html_tags() );
245
+ $new_data['notifications']['life'] = absint( $data['notifications']['life'] );
246
+ $new_data['notifications']['duration'] = absint( $data['notifications']['duration'] );
247
+
248
+ // As of 1.6, we are going from miliseconds to seconds.
249
+ if ( strlen( $new_data['notifications']['duration'] ) >= 3 )
250
+ $new_data['notifications']['duration'] = $new_data['notifications']['duration'] / 1000;
251
 
252
  return $new_data;
253
+
254
  }
255
  }
256
 
265
  */
266
  if ( ! function_exists( 'mycred_add_new_notice' ) ) {
267
  function mycred_add_new_notice( $notice = array(), $life = 1 ) {
268
+
269
  // Minimum requirements
270
  if ( ! isset( $notice['user_id'] ) || ! isset( $notice['message'] ) ) return false;
271
 
283
 
284
  // Save as a transient
285
  set_transient( 'mycred_notice_' . $notice['user_id'], $notices, 86400*$life );
286
+
287
  }
288
  }
289
  ?>
addons/{transfer/js → ranks/assets}/index.php RENAMED
File without changes
addons/ranks/assets/js/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/ranks/{js → assets/js}/management.js RENAMED
@@ -1,17 +1,18 @@
1
  /**
2
  * myCRED Management Scripts
3
  * @since 1.3
4
- * @version 1.0
5
  */
6
  jQuery(function($) {
7
 
8
- var mycred_action_delete_ranks = function( button ) {
9
  var label = button.val();
10
  $.ajax({
11
  type : "POST",
12
  data : {
13
  action : 'mycred-action-delete-ranks',
14
- token : myCRED_Ranks.token
 
15
  },
16
  dataType : "JSON",
17
  url : myCRED_Ranks.ajaxurl,
@@ -44,17 +45,18 @@ jQuery(function($) {
44
  $( 'input#mycred-manage-action-reset-ranks' ).click(function(){
45
  // Confirm action
46
  if ( confirm( myCRED_Ranks.confirm_del ) ) {
47
- mycred_action_delete_ranks( $(this) );
48
  }
49
  });
50
 
51
- var mycred_action_assign_ranks = function( button ) {
52
  var label = button.val();
53
  $.ajax({
54
  type : "POST",
55
  data : {
56
  action : 'mycred-action-assign-ranks',
57
- token : myCRED_Ranks.token
 
58
  },
59
  dataType : "JSON",
60
  url : myCRED_Ranks.ajaxurl,
@@ -85,7 +87,7 @@ jQuery(function($) {
85
  $( 'input#mycred-manage-action-assign-ranks' ).click(function(){
86
  // Confirm action
87
  if ( confirm( myCRED_Ranks.confirm_assign ) ) {
88
- mycred_action_assign_ranks( $(this) );
89
  }
90
  });
91
  });
1
  /**
2
  * myCRED Management Scripts
3
  * @since 1.3
4
+ * @version 1.1
5
  */
6
  jQuery(function($) {
7
 
8
+ var mycred_action_delete_ranks = function( button, pointtype ) {
9
  var label = button.val();
10
  $.ajax({
11
  type : "POST",
12
  data : {
13
  action : 'mycred-action-delete-ranks',
14
+ token : myCRED_Ranks.token,
15
+ ctype : pointtype
16
  },
17
  dataType : "JSON",
18
  url : myCRED_Ranks.ajaxurl,
45
  $( 'input#mycred-manage-action-reset-ranks' ).click(function(){
46
  // Confirm action
47
  if ( confirm( myCRED_Ranks.confirm_del ) ) {
48
+ mycred_action_delete_ranks( $(this), $(this).data( 'type' ) );
49
  }
50
  });
51
 
52
+ var mycred_action_assign_ranks = function( button, pointtype ) {
53
  var label = button.val();
54
  $.ajax({
55
  type : "POST",
56
  data : {
57
  action : 'mycred-action-assign-ranks',
58
+ token : myCRED_Ranks.token,
59
+ ctype : pointtype
60
  },
61
  dataType : "JSON",
62
  url : myCRED_Ranks.ajaxurl,
87
  $( 'input#mycred-manage-action-assign-ranks' ).click(function(){
88
  // Confirm action
89
  if ( confirm( myCRED_Ranks.confirm_assign ) ) {
90
+ mycred_action_assign_ranks( $(this), $(this).data( 'type' ) );
91
  }
92
  });
93
  });
addons/ranks/assets/js/tweaks.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * myCRED Rank Tweaks
3
+ * @since 1.6
4
+ * @version 1.0
5
+ */
6
+ jQuery(function($) {
7
+
8
+ // When the page has loaded, append the point type to the "Add New" button url
9
+ // This will make sure the new rank is created for the correct point type.
10
+ $( document ).ready(function() {
11
+
12
+ var newurl = $( 'a.add-new-h2' ).attr( 'href' );
13
+ newurl = newurl + '&ctype=' + myCRED_Ranks.rank_ctype;
14
+ $( 'a.add-new-h2' ).attr( 'href', newurl );
15
+
16
+ });
17
+
18
+ });
addons/ranks/includes/mycred-rank-functions.php CHANGED
@@ -6,19 +6,33 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
6
  * Checks if there are any rank posts.
7
  * @returns (bool) true or false
8
  * @since 1.1
9
- * @version 1.4
10
  */
11
  if ( ! function_exists( 'mycred_have_ranks' ) ) :
12
- function mycred_have_ranks()
13
  {
14
- global $mycred_ranks, $wpdb;
15
 
16
- if ( ! mycred_override_settings() )
17
  $posts = $wpdb->posts;
18
- else
 
 
19
  $posts = $wpdb->base_prefix . 'posts';
 
 
20
 
21
- $mycred_ranks = $wpdb->get_var( "SELECT COUNT(*) FROM {$posts} WHERE post_type = 'mycred_rank';" );
 
 
 
 
 
 
 
 
 
 
22
 
23
  $return = false;
24
  if ( $mycred_ranks > 0 )
@@ -36,16 +50,31 @@ endif;
36
  * @version 1.2
37
  */
38
  if ( ! function_exists( 'mycred_get_published_ranks_count' ) ) :
39
- function mycred_get_published_ranks_count()
40
  {
41
  global $wpdb;
42
 
43
- if ( ! mycred_override_settings() )
44
  $posts = $wpdb->posts;
45
- else
 
 
46
  $posts = $wpdb->base_prefix . 'posts';
 
 
 
 
 
 
 
 
47
 
48
- $count = $wpdb->get_var( "SELECT COUNT(*) FROM {$posts} WHERE post_type = 'mycred_rank' AND post_status = 'publish';" );
 
 
 
 
 
49
 
50
  return apply_filters( 'mycred_get_published_ranks_count', $count );
51
  }
@@ -60,11 +89,11 @@ endif;
60
  * @version 1.4
61
  */
62
  if ( ! function_exists( 'mycred_assign_ranks' ) ) :
63
- function mycred_assign_ranks()
64
  {
65
- global $mycred_ranks, $wpdb;
66
 
67
- $mycred = mycred();
68
 
69
  // Get rank key
70
  $rank_meta_key = 'mycred_rank';
@@ -83,31 +112,27 @@ if ( ! function_exists( 'mycred_assign_ranks' ) ) :
83
  }
84
 
85
  // Check for published ranks
86
- $published_ranks = mycred_get_published_ranks_count();
87
 
88
- // Only one rank exists
89
- if ( $published_ranks == 1 ) {
 
90
 
91
- // Get this single rank
92
- $rank_id = $wpdb->get_var( "
93
- SELECT ID FROM {$posts}
94
- WHERE post_type = 'mycred_rank' AND post_status = 'publish';" );
95
 
96
- // Update all users rank to this single rank
97
- $wpdb->query( $wpdb->prepare( "
98
- UPDATE {$wpdb->usermeta}
99
- SET meta_value = %d
100
- WHERE meta_key = %s;", $rank_id, $rank_meta_key ) );
101
-
102
- $wpdb->flush();
103
- return 0-1;
104
 
105
  }
106
- // Multiple ranks exists
107
- elseif ( $published_ranks > 1 ) {
108
 
109
- // Get balance key
110
- $balance_key = 'mycred_default';
 
 
 
 
111
 
112
  if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_central_logging )
113
  $balance_key .= '_' . $GLOBALS['blog_id'];
@@ -140,39 +165,41 @@ if ( ! function_exists( 'mycred_assign_ranks' ) ) :
140
  );
141
  */
142
  $ranks = $wpdb->get_results( "
143
- SELECT rank.ID AS ID, min.meta_value AS min, max.meta_value AS max
144
- FROM {$posts} rank
 
145
  INNER JOIN {$postmeta} min
146
- ON ( min.post_id = rank.ID AND min.meta_key = 'mycred_rank_min' )
147
  INNER JOIN {$postmeta} max
148
- ON ( max.post_id = rank.ID AND max.meta_key = 'mycred_rank_max' )
149
- WHERE rank.post_type = 'mycred_rank'
150
- AND rank.post_status = 'publish';", 'ARRAY_A' );
151
 
152
  $count = 0;
153
  foreach ( $users as $user ) {
154
  foreach ( $ranks as $rank ) {
155
  if ( $user['balance'] >= $rank['min'] && $user['balance'] <= $rank['max'] ) {
156
- mycred_update_user_meta( $user['ID'], 'mycred_rank', '', $rank['ID'] );
 
 
 
 
 
157
  $count = $count+1;
158
  break 1;
 
159
  }
160
  }
161
  }
162
  $wpdb->flush();
163
-
164
- unset( $users );
165
- unset( $ranks );
166
 
167
- return $count;
168
- }
169
- // No ranks exists
170
- else {
171
- // nothing to do when there are no ranks
172
- return 0;
173
  }
174
 
175
  do_action( 'mycred_assign_ranks_end' );
 
 
 
176
  }
177
  endif;
178
 
@@ -215,25 +242,30 @@ endif;
215
  * @param $return (string) post detail to return, defaults to post_title
216
  * @param $logo_size (string) if $return is set to 'logo', the size of the logo to return
217
  * @param $attr (array) if $return is set to 'logo', optional logo image attributes
 
218
  * @uses mycred_find_users_rank()
219
  * @uses get_the_title()
220
  * @returns (string) rank object item requested or - if no ranks exists
221
  * @since 1.1
222
- * @version 1.3
223
  */
224
  if ( ! function_exists( 'mycred_get_users_rank' ) ) :
225
- function mycred_get_users_rank( $user_id = NULL, $return = 'post_title', $logo_size = 'post-thumbnail', $attr = NULL )
226
  {
227
  // User ID is required
228
  if ( $user_id === NULL )
229
  return __( 'mycred_get_users_rank() : Missing required user id', 'mycred' );
230
 
 
 
 
 
231
  // Get users rank
232
- $rank_id = mycred_get_user_meta( $user_id, 'mycred_rank', '', true );
233
 
234
  // If empty, get the users rank now and save it
235
  if ( $rank_id == '' )
236
- $rank_id = mycred_find_users_rank( $user_id, true );
237
 
238
  $reply = __( 'no rank', 'mycred' );
239
 
@@ -272,71 +304,79 @@ if ( ! function_exists( 'mycred_get_users_rank' ) ) :
272
  }
273
  endif;
274
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
275
  /**
276
  * Find Users Rank
277
  * Compares the given users points balance with existing ranks to determain
278
  * where the user fits in.
279
  * @param $user_id (int) required user id
280
  * @param $save (bool) option to save the rank to the given users meta data
281
- * @param $amount (int|float) optional amount to add to current balance
282
  * @uses $wpdb
283
  * @returns (string) users rank ID.
284
  * @since 1.1
285
- * @version 1.4.2
286
  */
287
  if ( ! function_exists( 'mycred_find_users_rank' ) ) :
288
- function mycred_find_users_rank( $user_id = NULL, $save = false, $amount = 0 )
289
  {
290
  global $wpdb;
291
 
292
- $type = 'mycred_default';
293
  $mycred = mycred( $type );
294
-
295
- // Check for exclusion
296
- if ( $mycred->exclude_user( $user_id ) ) return false;
297
 
298
  // In case user id is not set
299
  if ( $user_id === NULL )
300
  $user_id = get_current_user_id();
301
 
302
- if ( ! isset( $mycred->rank ) ) return false;
303
-
304
- // Get balance key
305
- $balance_key = $type;
306
- if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_central_logging )
307
- $balance_key .= '_' . $GLOBALS['blog_id'];
308
-
309
- if ( isset( $mycred->rank['base'] ) && $mycred->rank['base'] == 'total' )
310
- $balance_key .= '_total';
311
-
312
- // Get the balance as get_user_meta() will return the previous value if it was just changed.
313
- $balance = $wpdb->get_var( $wpdb->prepare( "
314
  SELECT meta_value
315
  FROM {$wpdb->usermeta}
316
  WHERE user_id = %d
317
- AND meta_key = %s;", $user_id, $balance_key ) );
318
 
319
- // User does not yet have a balance.
320
- if ( $balance === NULL ) {
321
- // If rank is based on total, we get their current balance
322
- if ( isset( $mycred->rank['base'] ) && $mycred->rank['base'] == 'total' )
323
- $balance = $mycred->get_users_balance( $user_id, $type );
324
 
325
- // Else it's zero
326
- else
327
- $balance = $mycred->zero();
328
- }
329
 
330
- // The new balance before it is saved
331
- if ( $amount < 0 )
332
- $balance = $mycred->number( $balance-$amount );
 
 
333
  else
334
- $balance = $mycred->number( $balance+$amount );
335
 
 
336
  $balance_format = '%d';
337
  if ( isset( $mycred->format['decimals'] ) && $mycred->format['decimals'] > 0 )
338
  $balance_format = 'CAST( %f AS DECIMAL( 10, ' . $mycred->format['decimals'] . ' ) )';
339
 
 
340
  if ( ! mycred_override_settings() ) {
341
  $posts = $wpdb->posts;
342
  $postmeta = $wpdb->postmeta;
@@ -346,35 +386,44 @@ if ( ! function_exists( 'mycred_find_users_rank' ) ) :
346
  $postmeta = $wpdb->base_prefix . 'postmeta';
347
  }
348
 
 
 
 
 
 
349
  $rank_id = $wpdb->get_var( $wpdb->prepare( "
350
- SELECT rank.ID
351
- FROM {$posts} rank
 
352
  INNER JOIN {$postmeta} min
353
- ON ( min.post_id = rank.ID AND min.meta_key = 'mycred_rank_min' )
354
  INNER JOIN {$postmeta} max
355
- ON ( max.post_id = rank.ID AND max.meta_key = 'mycred_rank_max' )
356
- WHERE rank.post_type = 'mycred_rank'
357
- AND rank.post_status = 'publish'
358
  AND {$balance_format} BETWEEN min.meta_value AND max.meta_value
359
  LIMIT 0,1;", $balance ) );
360
 
361
  // Let others play
362
  if ( $rank_id !== NULL ) {
 
363
  if ( mycred_user_got_demoted( $user_id, $rank_id ) )
364
  do_action( 'mycred_user_got_demoted', $user_id, $rank_id );
365
 
366
  elseif ( mycred_user_got_promoted( $user_id, $rank_id ) )
367
  do_action( 'mycred_user_got_promoted', $user_id, $rank_id );
368
-
369
- else
370
- do_action( 'mycred_find_users_rank', $user_id, $rank_id );
371
  }
372
 
 
 
 
 
373
  // Save if requested
374
  if ( $save && $rank_id !== NULL )
375
- mycred_update_user_meta( $user_id, 'mycred_rank', '', $rank_id );
376
 
377
- return apply_filters( 'mycred_find_users_rank', $rank_id, $user_id, $save, $amount );
378
  }
379
  endif;
380
 
@@ -419,12 +468,13 @@ endif;
419
  * @param $status (string) post status, defaults to 'publish'
420
  * @param $number (int|string) number of ranks to return, defaults to all
421
  * @param $order (string) option to return ranks ordered Ascending or Descending
 
422
  * @returns (array) empty if no ranks are found or associative array with post ID as key and title as value
423
  * @since 1.1
424
- * @version 1.3
425
  */
426
  if ( ! function_exists( 'mycred_get_ranks' ) ) :
427
- function mycred_get_ranks( $status = 'publish', $number = '-1', $order = 'DESC' )
428
  {
429
  global $wpdb;
430
 
@@ -447,14 +497,22 @@ if ( ! function_exists( 'mycred_get_ranks' ) ) :
447
  $postmeta = $wpdb->base_prefix . 'postmeta';
448
  }
449
 
 
 
 
 
 
 
450
  // Get ranks
451
  $all_ranks = $wpdb->get_results( $wpdb->prepare( "
452
  SELECT *
453
  FROM {$posts} ranks
454
- INNER JOIN {$postmeta} min
455
- ON ( min.post_id = ranks.ID AND min.meta_key = %s )
 
456
  WHERE ranks.post_type = %s
457
- AND ranks.post_status = %s
 
458
  ORDER BY min.meta_value+0 {$order} {$limit};", 'mycred_rank_min', 'mycred_rank', $status ) );
459
 
460
  // Sort
@@ -478,10 +536,10 @@ endif;
478
  * @param $number (int) number of users to return
479
  * @returns (array) empty if no users were found or associative array with user ID as key and display name as value
480
  * @since 1.1
481
- * @version 1.3
482
  */
483
  if ( ! function_exists( 'mycred_get_users_of_rank' ) ) :
484
- function mycred_get_users_of_rank( $rank_id, $number = NULL, $order = 'DESC' )
485
  {
486
  if ( ! is_numeric( $rank_id ) )
487
  $rank_id = mycred_get_rank_id_from_title( $rank_id );
@@ -490,20 +548,23 @@ if ( ! function_exists( 'mycred_get_users_of_rank' ) ) :
490
 
491
  global $wpdb;
492
 
493
- $mycred = mycred();
494
 
495
- $type = 'mycred_default';
496
 
497
  if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_central_logging )
498
- $type .= '_' . $GLOBALS['blog_id'];
499
 
500
- if ( isset( $mycred->rank['base'] ) && $mycred->rank['base'] == 'total' )
501
- $type .= '_total';
502
 
503
  $rank_meta_key = 'mycred_rank';
504
  if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_master_template )
505
  $rank_meta_key .= '_' . $GLOBALS['blog_id'];
506
 
 
 
 
507
  $sql = "
508
  SELECT rank.user_id
509
  FROM {$wpdb->usermeta} rank
@@ -528,10 +589,44 @@ if ( ! function_exists( 'mycred_get_users_of_rank' ) ) :
528
  $sql .= ';';
529
 
530
  // Run query
531
- $users = $wpdb->get_results( $wpdb->prepare( $sql, $type, $rank_meta_key, $rank_id ), 'ARRAY_A' );
532
  $wpdb->flush();
533
 
534
- return apply_filters( 'mycred_get_users_of_rank', $users, $rank_id, $number, $order );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
535
  }
536
  endif;
537
 
@@ -614,15 +709,30 @@ endif;
614
  * User Got Demoted
615
  * Checks if a user got demoted.
616
  * @since 1.3.3
617
- * @version 1.3
618
  */
619
  if ( ! function_exists( 'mycred_user_got_demoted' ) ) :
620
  function mycred_user_got_demoted( $user_id = NULL, $rank_id = NULL )
621
  {
622
- $current_rank_id = mycred_get_user_meta( $user_id, 'mycred_rank', '', true );
 
 
 
 
 
 
 
 
 
 
 
 
623
  if ( $current_rank_id == $rank_id ) return false;
 
 
624
  if ( empty( $current_rank_id ) && ! empty( $rank_id ) ) return false;
625
 
 
626
  if ( ! mycred_override_settings() ) {
627
  $current_min = get_post_meta( $current_rank_id, 'mycred_rank_min', true );
628
  $new_min = get_post_meta( $rank_id, 'mycred_rank_min', true );
@@ -636,9 +746,10 @@ if ( ! function_exists( 'mycred_user_got_demoted' ) ) :
636
 
637
  switch_to_blog( $original_blog_id );
638
  }
639
-
 
640
  if ( $new_min < $current_min ) return true;
641
-
642
  return false;
643
  }
644
  endif;
@@ -647,15 +758,30 @@ endif;
647
  * User Got Promoted
648
  * Checks if a user got promoted.
649
  * @since 1.3.3
650
- * @version 1.2
651
  */
652
  if ( ! function_exists( 'mycred_user_got_promoted' ) ) :
653
  function mycred_user_got_promoted( $user_id = NULL, $rank_id = NULL )
654
  {
655
- $current_rank_id = mycred_get_user_meta( $user_id, 'mycred_rank', '', true );
 
 
 
 
 
 
 
 
 
 
 
 
656
  if ( $current_rank_id == $rank_id ) return false;
 
 
657
  if ( empty( $current_rank_id ) && ! empty( $rank_id ) ) return true;
658
 
 
659
  if ( ! mycred_override_settings() ) {
660
  $current_min = get_post_meta( $current_rank_id, 'mycred_rank_min', true );
661
  $new_min = get_post_meta( $rank_id, 'mycred_rank_min', true );
@@ -669,10 +795,84 @@ if ( ! function_exists( 'mycred_user_got_promoted' ) ) :
669
 
670
  switch_to_blog( $original_blog_id );
671
  }
672
-
 
673
  if ( $new_min > $current_min ) return true;
674
-
675
  return false;
676
  }
677
  endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
678
  ?>
6
  * Checks if there are any rank posts.
7
  * @returns (bool) true or false
8
  * @since 1.1
9
+ * @version 1.5
10
  */
11
  if ( ! function_exists( 'mycred_have_ranks' ) ) :
12
+ function mycred_have_ranks( $type = NULL )
13
  {
14
+ global $wpdb;
15
 
16
+ if ( ! mycred_override_settings() ) {
17
  $posts = $wpdb->posts;
18
+ $postmeta = $wpdb->postmeta;
19
+ }
20
+ else {
21
  $posts = $wpdb->base_prefix . 'posts';
22
+ $postmeta = $wpdb->base_prefix . 'postmeta';
23
+ }
24
 
25
+ $type_filter = '';
26
+ if ( $type !== NULL && sanitize_text_field( $type ) != '' )
27
+ $type_filter = $wpdb->prepare( "
28
+ INNER JOIN {$postmeta} ctype
29
+ ON ( ranks.ID = ctype.post_id AND ctype.meta_key = %s AND ctype.meta_value = %s )", 'ctype', $type );
30
+
31
+ $mycred_ranks = $wpdb->get_var( "
32
+ SELECT COUNT(*)
33
+ FROM {$posts}
34
+ {$type_filter}
35
+ WHERE post_type = 'mycred_rank';" );
36
 
37
  $return = false;
38
  if ( $mycred_ranks > 0 )
50
  * @version 1.2
51
  */
52
  if ( ! function_exists( 'mycred_get_published_ranks_count' ) ) :
53
+ function mycred_get_published_ranks_count( $type = NULL )
54
  {
55
  global $wpdb;
56
 
57
+ if ( ! mycred_override_settings() ) {
58
  $posts = $wpdb->posts;
59
+ $postmeta = $wpdb->postmeta;
60
+ }
61
+ else {
62
  $posts = $wpdb->base_prefix . 'posts';
63
+ $postmeta = $wpdb->base_prefix . 'postmeta';
64
+ }
65
+
66
+ $type_filter = '';
67
+ if ( $type !== NULL && sanitize_text_field( $type ) != '' )
68
+ $type_filter = $wpdb->prepare( "
69
+ INNER JOIN {$postmeta} ctype
70
+ ON ( ranks.ID = ctype.post_id AND ctype.meta_key = %s AND ctype.meta_value = %s )", 'ctype', $type );
71
 
72
+ $count = $wpdb->get_var( "
73
+ SELECT COUNT(*)
74
+ FROM {$posts} ranks
75
+ {$type_filter}
76
+ WHERE ranks.post_type = 'mycred_rank'
77
+ AND ranks.post_status = 'publish';" );
78
 
79
  return apply_filters( 'mycred_get_published_ranks_count', $count );
80
  }
89
  * @version 1.4
90
  */
91
  if ( ! function_exists( 'mycred_assign_ranks' ) ) :
92
+ function mycred_assign_ranks( $type = 'mycred_default' )
93
  {
94
+ global $wpdb;
95
 
96
+ $mycred = mycred( $type );
97
 
98
  // Get rank key
99
  $rank_meta_key = 'mycred_rank';
112
  }
113
 
114
  // Check for published ranks
115
+ $published_ranks = mycred_get_published_ranks_count( $type );
116
 
117
+ // Point Type Filter
118
+ $type_filter = '';
119
+ if ( $type !== NULL && sanitize_text_field( $type ) != '' ) {
120
 
121
+ $type_filter = $wpdb->prepare( "
122
+ INNER JOIN {$postmeta} ctype
123
+ ON ( ranks.ID = ctype.post_id AND ctype.meta_key = %s AND ctype.meta_value = %s )", 'ctype', $type );
 
124
 
125
+ if ( $type != 'mycred_default' )
126
+ $rank_meta_key .= $type;
 
 
 
 
 
 
127
 
128
  }
 
 
129
 
130
+ $result = 0;
131
+
132
+ if ( $published_ranks > 0 ) {
133
+
134
+ // Get balance key for this type
135
+ $balance_key = $type;
136
 
137
  if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_central_logging )
138
  $balance_key .= '_' . $GLOBALS['blog_id'];
165
  );
166
  */
167
  $ranks = $wpdb->get_results( "
168
+ SELECT ranks.ID AS ID, min.meta_value AS min, max.meta_value AS max
169
+ FROM {$posts} ranks
170
+ {$type_filter}
171
  INNER JOIN {$postmeta} min
172
+ ON ( min.post_id = ranks.ID AND min.meta_key = 'mycred_rank_min' )
173
  INNER JOIN {$postmeta} max
174
+ ON ( max.post_id = ranks.ID AND max.meta_key = 'mycred_rank_max' )
175
+ WHERE ranks.post_type = 'mycred_rank'
176
+ AND ranks.post_status = 'publish';", 'ARRAY_A' );
177
 
178
  $count = 0;
179
  foreach ( $users as $user ) {
180
  foreach ( $ranks as $rank ) {
181
  if ( $user['balance'] >= $rank['min'] && $user['balance'] <= $rank['max'] ) {
182
+
183
+ $end = '';
184
+ if ( $type != 'mycred_default' )
185
+ $end = $type;
186
+
187
+ mycred_update_user_meta( $user['ID'], 'mycred_rank', $end, $rank['ID'] );
188
  $count = $count+1;
189
  break 1;
190
+
191
  }
192
  }
193
  }
194
  $wpdb->flush();
 
 
 
195
 
196
+ $result = $count;
 
 
 
 
 
197
  }
198
 
199
  do_action( 'mycred_assign_ranks_end' );
200
+
201
+ return $result;
202
+
203
  }
204
  endif;
205
 
242
  * @param $return (string) post detail to return, defaults to post_title
243
  * @param $logo_size (string) if $return is set to 'logo', the size of the logo to return
244
  * @param $attr (array) if $return is set to 'logo', optional logo image attributes
245
+ * @param $type (string) optional point type
246
  * @uses mycred_find_users_rank()
247
  * @uses get_the_title()
248
  * @returns (string) rank object item requested or - if no ranks exists
249
  * @since 1.1
250
+ * @version 1.4
251
  */
252
  if ( ! function_exists( 'mycred_get_users_rank' ) ) :
253
+ function mycred_get_users_rank( $user_id = NULL, $return = 'post_title', $logo_size = 'post-thumbnail', $attr = NULL, $type = 'mycred_default' )
254
  {
255
  // User ID is required
256
  if ( $user_id === NULL )
257
  return __( 'mycred_get_users_rank() : Missing required user id', 'mycred' );
258
 
259
+ $end = '';
260
+ if ( $type != 'mycred_default' )
261
+ $end = $type;
262
+
263
  // Get users rank
264
+ $rank_id = mycred_get_user_meta( $user_id, 'mycred_rank', $end, true );
265
 
266
  // If empty, get the users rank now and save it
267
  if ( $rank_id == '' )
268
+ $rank_id = mycred_find_users_rank( $user_id, true, $type );
269
 
270
  $reply = __( 'no rank', 'mycred' );
271
 
304
  }
305
  endif;
306
 
307
+ /**
308
+ * Get Users Rank ID
309
+ * Returns the rank post ID for the given point type.
310
+ * @since 1.6
311
+ * @version 1.0
312
+ */
313
+ if ( ! function_exists( 'mycred_get_users_rank_id' ) ) :
314
+ function mycred_get_users_rank_id( $user_id = NULL, $type = 'mycred_default' ) {
315
+
316
+ $end = '';
317
+ if ( $type != 'mycred_default' )
318
+ $end = $type;
319
+
320
+ $rank_id = mycred_get_user_meta( $user_id, 'mycred_rank', $end, true );
321
+ if ( $rank_id == '' )
322
+ $rank_id = mycred_find_users_rank( $user_id, true, $type );
323
+
324
+ return $rank_id;
325
+
326
+ }
327
+ endif;
328
+
329
  /**
330
  * Find Users Rank
331
  * Compares the given users points balance with existing ranks to determain
332
  * where the user fits in.
333
  * @param $user_id (int) required user id
334
  * @param $save (bool) option to save the rank to the given users meta data
335
+ * @param $type (string) optional point type
336
  * @uses $wpdb
337
  * @returns (string) users rank ID.
338
  * @since 1.1
339
+ * @version 1.5
340
  */
341
  if ( ! function_exists( 'mycred_find_users_rank' ) ) :
342
+ function mycred_find_users_rank( $user_id = NULL, $save = false, $type = 'mycred_default' )
343
  {
344
  global $wpdb;
345
 
 
346
  $mycred = mycred( $type );
 
 
 
347
 
348
  // In case user id is not set
349
  if ( $user_id === NULL )
350
  $user_id = get_current_user_id();
351
 
352
+ // Get current balanace
353
+ $current_balance = $wpdb->get_var( $wpdb->prepare( "
 
 
 
 
 
 
 
 
 
 
354
  SELECT meta_value
355
  FROM {$wpdb->usermeta}
356
  WHERE user_id = %d
357
+ AND meta_key = %s;", $user_id, $type ) );
358
 
359
+ if ( $current_balance === NULL )
360
+ $current_balance = 0;
 
 
 
361
 
362
+ // If ranks are based on total we get the total balance which in turn
363
+ // if not set will default to the users current balance.
364
+ if ( mycred_rank_based_on_total( $type ) ) {
 
365
 
366
+ $balance = mycred_query_users_total( $user_id, $type );
367
+ if ( $balance == 0 )
368
+ $balance = $current_balance;
369
+
370
+ }
371
  else
372
+ $balance = $current_balance;
373
 
374
+ // Prep format for the db query
375
  $balance_format = '%d';
376
  if ( isset( $mycred->format['decimals'] ) && $mycred->format['decimals'] > 0 )
377
  $balance_format = 'CAST( %f AS DECIMAL( 10, ' . $mycred->format['decimals'] . ' ) )';
378
 
379
+ // Get the appropriate post tables
380
  if ( ! mycred_override_settings() ) {
381
  $posts = $wpdb->posts;
382
  $postmeta = $wpdb->postmeta;
386
  $postmeta = $wpdb->base_prefix . 'postmeta';
387
  }
388
 
389
+ $type_filter = $wpdb->prepare( "
390
+ INNER JOIN {$postmeta} ctype
391
+ ON ( ranks.ID = ctype.post_id AND ctype.meta_key = %s AND ctype.meta_value = %s )", 'ctype', $type );
392
+
393
+ // Get the rank based on balance
394
  $rank_id = $wpdb->get_var( $wpdb->prepare( "
395
+ SELECT ranks.ID
396
+ FROM {$posts} ranks
397
+ {$type_filter}
398
  INNER JOIN {$postmeta} min
399
+ ON ( ranks.ID = min.post_id AND min.meta_key = 'mycred_rank_min' )
400
  INNER JOIN {$postmeta} max
401
+ ON ( ranks.ID = max.post_id AND max.meta_key = 'mycred_rank_max' )
402
+ WHERE ranks.post_type = 'mycred_rank'
403
+ AND ranks.post_status = 'publish'
404
  AND {$balance_format} BETWEEN min.meta_value AND max.meta_value
405
  LIMIT 0,1;", $balance ) );
406
 
407
  // Let others play
408
  if ( $rank_id !== NULL ) {
409
+
410
  if ( mycred_user_got_demoted( $user_id, $rank_id ) )
411
  do_action( 'mycred_user_got_demoted', $user_id, $rank_id );
412
 
413
  elseif ( mycred_user_got_promoted( $user_id, $rank_id ) )
414
  do_action( 'mycred_user_got_promoted', $user_id, $rank_id );
415
+
 
 
416
  }
417
 
418
+ $end = '';
419
+ if ( $type != 'mycred_default' )
420
+ $end = $type;
421
+
422
  // Save if requested
423
  if ( $save && $rank_id !== NULL )
424
+ mycred_update_user_meta( $user_id, 'mycred_rank', $end, $rank_id );
425
 
426
+ return apply_filters( 'mycred_find_users_rank', $rank_id, $user_id, $save, $type );
427
  }
428
  endif;
429
 
468
  * @param $status (string) post status, defaults to 'publish'
469
  * @param $number (int|string) number of ranks to return, defaults to all
470
  * @param $order (string) option to return ranks ordered Ascending or Descending
471
+ * @param $type (string) optional point type
472
  * @returns (array) empty if no ranks are found or associative array with post ID as key and title as value
473
  * @since 1.1
474
+ * @version 1.4
475
  */
476
  if ( ! function_exists( 'mycred_get_ranks' ) ) :
477
+ function mycred_get_ranks( $status = 'publish', $number = '-1', $order = 'DESC', $type = NULL )
478
  {
479
  global $wpdb;
480
 
497
  $postmeta = $wpdb->base_prefix . 'postmeta';
498
  }
499
 
500
+ $type_filter = '';
501
+ if ( $type !== NULL && sanitize_text_field( $type ) != '' )
502
+ $type_filter = $wpdb->prepare( "
503
+ INNER JOIN {$postmeta} ctype
504
+ ON ( ranks.ID = ctype.post_id AND ctype.meta_key = %s AND ctype.meta_value = %s )", 'ctype', $type );
505
+
506
  // Get ranks
507
  $all_ranks = $wpdb->get_results( $wpdb->prepare( "
508
  SELECT *
509
  FROM {$posts} ranks
510
+ INNER JOIN {$postmeta} min
511
+ ON ( ranks.ID = min.post_id AND min.meta_key = %s )
512
+ {$type_filter}
513
  WHERE ranks.post_type = %s
514
+ AND ranks.post_status = %s
515
+
516
  ORDER BY min.meta_value+0 {$order} {$limit};", 'mycred_rank_min', 'mycred_rank', $status ) );
517
 
518
  // Sort
536
  * @param $number (int) number of users to return
537
  * @returns (array) empty if no users were found or associative array with user ID as key and display name as value
538
  * @since 1.1
539
+ * @version 1.4
540
  */
541
  if ( ! function_exists( 'mycred_get_users_of_rank' ) ) :
542
+ function mycred_get_users_of_rank( $rank_id, $number = NULL, $order = 'DESC', $type = 'mycred_default' )
543
  {
544
  if ( ! is_numeric( $rank_id ) )
545
  $rank_id = mycred_get_rank_id_from_title( $rank_id );
548
 
549
  global $wpdb;
550
 
551
+ $mycred = mycred( $type );
552
 
553
+ $balance_key = $type;
554
 
555
  if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_central_logging )
556
+ $balance_key .= '_' . $GLOBALS['blog_id'];
557
 
558
+ if ( mycred_rank_based_on_total( $type ) )
559
+ $balance_key .= '_total';
560
 
561
  $rank_meta_key = 'mycred_rank';
562
  if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_master_template )
563
  $rank_meta_key .= '_' . $GLOBALS['blog_id'];
564
 
565
+ if ( $type != 'mycred_default' )
566
+ $rank_meta_key .= $type;
567
+
568
  $sql = "
569
  SELECT rank.user_id
570
  FROM {$wpdb->usermeta} rank
589
  $sql .= ';';
590
 
591
  // Run query
592
+ $users = $wpdb->get_results( $wpdb->prepare( $sql, $balance_key, $rank_meta_key, $rank_id ), 'ARRAY_A' );
593
  $wpdb->flush();
594
 
595
+ return apply_filters( 'mycred_get_users_of_rank', $users, $rank_id, $number, $order, $type );
596
+ }
597
+ endif;
598
+
599
+ /**
600
+ * Count Users with Rank
601
+ * @since 1.6
602
+ * @version 1.0
603
+ */
604
+ if ( ! function_exists( 'mycred_count_users_with_rank' ) ) :
605
+ function mycred_count_users_with_rank( $rank_id = NULL ) {
606
+
607
+ if ( $rank_id === NULL ) return 0;
608
+
609
+ $type = get_post_meta( $rank_id, 'ctype', true );
610
+ if ( $type == '' ) return 0;
611
+
612
+ $mycred = mycred( $type );
613
+
614
+ $rank_meta_key = 'mycred_rank';
615
+ if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_master_template )
616
+ $rank_meta_key .= '_' . $GLOBALS['blog_id'];
617
+
618
+ if ( $type != 'mycred_default' )
619
+ $rank_meta_key .= $type;
620
+
621
+ global $wpdb;
622
+
623
+ $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( user_id ) FROM {$wpdb->usermeta} WHERE meta_key = %s AND meta_value = %d;", $rank_meta_key, $rank_id ) );
624
+
625
+ if ( $count === NULL )
626
+ $count = 0;
627
+
628
+ return $count;
629
+
630
  }
631
  endif;
632
 
709
  * User Got Demoted
710
  * Checks if a user got demoted.
711
  * @since 1.3.3
712
+ * @version 1.4
713
  */
714
  if ( ! function_exists( 'mycred_user_got_demoted' ) ) :
715
  function mycred_user_got_demoted( $user_id = NULL, $rank_id = NULL )
716
  {
717
+ $type = get_post_meta( $rank_id, 'ctype', true );
718
+ if ( $type == '' ) {
719
+ $type = 'mycred_default';
720
+ update_post_meta( $rank_id, 'ctype', $type );
721
+ }
722
+
723
+ $end = '';
724
+ if ( $type != 'mycred_default' )
725
+ $end = $type;
726
+
727
+ $current_rank_id = mycred_get_user_meta( $user_id, 'mycred_rank', $end, true );
728
+
729
+ // No demotion
730
  if ( $current_rank_id == $rank_id ) return false;
731
+
732
+ // User did not have a rank before but will have now, that is assumed to be a promotion
733
  if ( empty( $current_rank_id ) && ! empty( $rank_id ) ) return false;
734
 
735
+ // Get minimums
736
  if ( ! mycred_override_settings() ) {
737
  $current_min = get_post_meta( $current_rank_id, 'mycred_rank_min', true );
738
  $new_min = get_post_meta( $rank_id, 'mycred_rank_min', true );
746
 
747
  switch_to_blog( $original_blog_id );
748
  }
749
+
750
+ // Compare
751
  if ( $new_min < $current_min ) return true;
752
+
753
  return false;
754
  }
755
  endif;
758
  * User Got Promoted
759
  * Checks if a user got promoted.
760
  * @since 1.3.3
761
+ * @version 1.4
762
  */
763
  if ( ! function_exists( 'mycred_user_got_promoted' ) ) :
764
  function mycred_user_got_promoted( $user_id = NULL, $rank_id = NULL )
765
  {
766
+ $type = get_post_meta( $rank_id, 'ctype', true );
767
+ if ( $type == '' ) {
768
+ $type = 'mycred_default';
769
+ update_post_meta( $rank_id, 'ctype', $type );
770
+ }
771
+
772
+ $end = '';
773
+ if ( $type != 'mycred_default' )
774
+ $end = $type;
775
+
776
+ $current_rank_id = mycred_get_user_meta( $user_id, 'mycred_rank', $end, true );
777
+
778
+ // No promotion
779
  if ( $current_rank_id == $rank_id ) return false;
780
+
781
+ // User did not have a rank before but will have now, that is assumed to be a promotion
782
  if ( empty( $current_rank_id ) && ! empty( $rank_id ) ) return true;
783
 
784
+ // Get minimums
785
  if ( ! mycred_override_settings() ) {
786
  $current_min = get_post_meta( $current_rank_id, 'mycred_rank_min', true );
787
  $new_min = get_post_meta( $rank_id, 'mycred_rank_min', true );
795
 
796
  switch_to_blog( $original_blog_id );
797
  }
798
+
799
+ // Compare
800
  if ( $new_min > $current_min ) return true;
801
+
802
  return false;
803
  }
804
  endif;
805
+
806
+ /**
807
+ * Rank Based on Total
808
+ * Checks if ranks for a given point type are based on total or current
809
+ * balance.
810
+ * @since 1.6
811
+ * @version 1.0
812
+ */
813
+ if ( ! function_exists( 'mycred_rank_based_on_total' ) ) :
814
+ function mycred_rank_based_on_total( $type = 'mycred_default' ) {
815
+
816
+ $prefs_key = 'mycred_pref_core';
817
+ if ( $type != 'mycred_default' )
818
+ $prefs_key .= '_' . $type;
819
+
820
+ $prefs = get_option( $prefs_key );
821
+
822
+ $result = false;
823
+ if ( isset( $prefs['rank']['base'] ) && $prefs['rank']['base'] == 'total' )
824
+ $result = true;
825
+
826
+ return $result;
827
+
828
+ }
829
+ endif;
830
+
831
+ /**
832
+ * Rank Shown in BuddyPress
833
+ * Returns either false or the location where the rank is to be shown in BuddyPress.
834
+ * @since 1.6
835
+ * @version 1.0
836
+ */
837
+ if ( ! function_exists( 'mycred_show_rank_in_buddypress' ) ) :
838
+ function mycred_show_rank_in_buddypress( $type = 'mycred_default' ) {
839
+
840
+ $prefs_key = 'mycred_pref_core';
841
+ if ( $type != 'mycred_default' )
842
+ $prefs_key .= '_' . $type;
843
+
844
+ $prefs = get_option( $prefs_key );
845
+
846
+ $result = false;
847
+ if ( isset( $prefs['rank']['bb_location'] ) && $prefs['rank']['bb_location'] != '' )
848
+ $result = $prefs['rank']['bb_location'];
849
+
850
+ return $result;
851
+
852
+ }
853
+ endif;
854
+
855
+ /**
856
+ * Rank Shown in bbPress
857
+ * Returns either false or the location where the rank is to be shown in bbPress.
858
+ * @since 1.6
859
+ * @version 1.0
860
+ */
861
+ if ( ! function_exists( 'mycred_show_rank_in_bbpress' ) ) :
862
+ function mycred_show_rank_in_bbpress( $type = 'mycred_default' ) {
863
+
864
+ $prefs_key = 'mycred_pref_core';
865
+ if ( $type != 'mycred_default' )
866
+ $prefs_key .= '_' . $type;
867
+
868
+ $prefs = get_option( $prefs_key );
869
+
870
+ $result = false;
871
+ if ( isset( $prefs['rank']['bp_location'] ) && $prefs['rank']['bp_location'] != '' )
872
+ $result = $prefs['rank']['bp_location'];
873
+
874
+ return $result;
875
+
876
+ }
877
+ endif;
878
  ?>
addons/ranks/includes/mycred-rank-shortcodes.php CHANGED
@@ -3,33 +3,42 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
 
4
  /**
5
  * myCRED Shortcode: mycred_my_rank
6
- * Returns the current users balance.
7
  * @see http://mycred.me/shortcodes/mycred_my_rank/
8
  * @since 1.1
9
- * @version 1.0
10
  */
11
  if ( ! function_exists( 'mycred_render_my_rank' ) ) :
12
  function mycred_render_my_rank( $atts, $content = NULL )
13
  {
14
  extract( shortcode_atts( array(
15
- 'user_id' => NULL,
 
16
  'show_title' => 1,
17
  'show_logo' => 0,
 
18
  'first' => 'logo'
19
  ), $atts ) );
20
 
21
- if ( $user_id === NULL && !is_user_logged_in() ) return;
22
- if ( $user_id === NULL )
 
 
 
 
 
 
 
23
  $user_id = get_current_user_id();
24
 
25
- $rank_name = mycred_get_users_rank( $user_id );
26
  $show = array();
27
 
28
  if ( $show_logo )
29
- $show[] = mycred_get_rank_logo( $rank_name );
30
 
31
  if ( $show_title )
32
- $show[] = $rank_name;
33
 
34
  if ( $first != 'logo' )
35
  $show = array_reverse( $show );
@@ -39,6 +48,54 @@ if ( ! function_exists( 'mycred_render_my_rank' ) ) :
39
  }
40
  endif;
41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  /**
43
  * myCRED Shortcode: mycred_users_of_rank
44
  * Returns all users who have the given rank with the option to show the rank logo and optional content.
@@ -55,22 +112,31 @@ if ( ! function_exists( 'mycred_render_users_of_rank' ) ) :
55
  'number' => NULL,
56
  'wrap' => 'div',
57
  'col' => 1,
58
- 'nothing' => __( 'No users found with this rank', 'mycred' )
 
 
59
  ), $atts ) );
60
 
61
  // Rank ID required
62
  if ( $rank_id === NULL )
63
  return '<strong>' . __( 'error', 'mycred' ) . '</strong> ' . __( 'Rank ID is required!', 'mycred' );
64
 
65
- $mycred = mycred();
 
66
  // User is not logged in
67
- if ( ! is_user_logged_in() )
68
  return $mycred->template_tags_general( $login );
69
 
70
  // ID is not a post id but a rank title
71
  if ( ! is_numeric( $rank_id ) )
72
  $rank_id = mycred_get_rank_id_from_title( $rank_id );
73
 
 
 
 
 
 
 
74
  $output = '';
75
  $rank = get_post( $rank_id );
76
  // Make sure rank exist
@@ -80,11 +146,12 @@ if ( ! function_exists( 'mycred_render_users_of_rank' ) ) :
80
 
81
  // Let others play
82
  $row_template = apply_filters( 'mycred_users_of_rank', $row_template, $atts, $mycred );
 
83
  // Get users of this rank if there are any
84
- $users = mycred_get_users_of_rank( $rank_id, $number );
85
  if ( ! empty( $users ) ) {
86
  // Add support for table
87
- if ( $wrap != 'table' && !empty( $wrap ) )
88
  $output .= '<' . $wrap . ' class="mycred-users-of-rank-wrapper">';
89
 
90
  // Loop
@@ -93,7 +160,7 @@ if ( ! function_exists( 'mycred_render_users_of_rank' ) ) :
93
  }
94
 
95
  // Add support for table
96
- if ( $wrap != 'table' && !empty( $wrap ) )
97
  $output .= '</' . $wrap . '>' . "\n";
98
  }
99
  // No users found
@@ -120,25 +187,26 @@ endif;
120
  * Returns all users fore every registered rank in order.
121
  * @see http://mycred.me/shortcodes/mycred_users_of_all_ranks/
122
  * @since 1.1
123
- * @version 1.0.1
124
  */
125
  if ( ! function_exists( 'mycred_render_users_of_all_ranks' ) ) :
126
  function mycred_render_users_of_all_ranks( $atts, $row_template = NULL )
127
  {
128
  extract( shortcode_atts( array(
129
- 'login' => '',
130
- 'number' => NULL,
131
- 'show_logo' => 1,
132
- 'logo_size' => 'post-thumbnail',
133
- 'wrap' => 'div',
134
- 'nothing' => __( 'No users found with this rank', 'mycred' )
 
135
  ), $atts ) );
136
 
137
  // Prep
138
  $mycred = mycred();
139
 
140
  // User is not logged in
141
- if ( ! is_user_logged_in() )
142
  return $mycred->template_tags_general( $login );
143
 
144
  // Default template
@@ -149,7 +217,7 @@ if ( ! function_exists( 'mycred_render_users_of_all_ranks' ) ) :
149
  $row_template = apply_filters( 'mycred_users_of_all_ranks', $row_template, $atts, $mycred );
150
 
151
  $output = '';
152
- $all_ranks = mycred_get_ranks();
153
  // If we have ranks
154
  if ( ! empty( $all_ranks ) ) {
155
  $output .= '<div class="mycred-all-ranks-wrapper">' . "\n";
@@ -174,7 +242,8 @@ if ( ! function_exists( 'mycred_render_users_of_all_ranks' ) ) :
174
  'rank_id' => $rank_id,
175
  'number' => $number,
176
  'nothing' => $nothing,
177
- 'wrap' => $wrap
 
178
  );
179
  $output .= mycred_render_users_of_rank( $attr, $row_template );
180
 
@@ -192,13 +261,14 @@ endif;
192
  * Returns a list of ranks with minimum and maximum point requirements.
193
  * @see http://mycred.me/shortcodes/mycred_list_ranks/
194
  * @since 1.1.1
195
- * @version 1.0
196
  */
197
  if ( ! function_exists( 'mycred_render_rank_list' ) ) :
198
  function mycred_render_rank_list( $atts, $content = NULL )
199
  {
200
  extract( shortcode_atts( array(
201
  'order' => 'DESC',
 
202
  'wrap' => 'div'
203
  ), $atts ) );
204
 
@@ -208,7 +278,7 @@ if ( ! function_exists( 'mycred_render_rank_list' ) ) :
208
  $mycred = mycred();
209
 
210
  $output = '';
211
- $all_ranks = mycred_get_ranks( 'publish', '-1', $order );
212
  if ( ! empty( $all_ranks ) ) {
213
  $output .= '<' . $wrap . ' class="mycred-rank-list">';
214
  $content = apply_filters( 'mycred_rank_list', $content, $atts, $mycred );
3
 
4
  /**
5
  * myCRED Shortcode: mycred_my_rank
6
+ * Returns a given users rank
7
  * @see http://mycred.me/shortcodes/mycred_my_rank/
8
  * @since 1.1
9
+ * @version 1.2
10
  */
11
  if ( ! function_exists( 'mycred_render_my_rank' ) ) :
12
  function mycred_render_my_rank( $atts, $content = NULL )
13
  {
14
  extract( shortcode_atts( array(
15
+ 'user_id' => '',
16
+ 'ctype' => 'mycred_default',
17
  'show_title' => 1,
18
  'show_logo' => 0,
19
+ 'logo_size' => 'post-thumbnail',
20
  'first' => 'logo'
21
  ), $atts ) );
22
 
23
+ if ( $user_id == '' && ! is_user_logged_in() ) return;
24
+
25
+ if ( $user_id == 'author' ) {
26
+ global $post;
27
+ if ( ! isset( $post->ID ) ) return;
28
+ $user_id = $post->post_author;
29
+ }
30
+
31
+ if ( $user_id == '' )
32
  $user_id = get_current_user_id();
33
 
34
+ $rank_id = mycred_get_users_rank_id( $user_id, $ctype );
35
  $show = array();
36
 
37
  if ( $show_logo )
38
+ $show[] = mycred_get_rank_logo( $rank_id, $logo_size );
39
 
40
  if ( $show_title )
41
+ $show[] = get_the_title( $rank_id );
42
 
43
  if ( $first != 'logo' )
44
  $show = array_reverse( $show );
48
  }
49
  endif;
50
 
51
+ /**
52
+ * myCRED Shortcode: mycred_my_ranks
53
+ * Returns the given users ranks.
54
+ * @see http://mycred.me/shortcodes/mycred_my_rank/
55
+ * @since 1.6
56
+ * @version 1.0
57
+ */
58
+ if ( ! function_exists( 'mycred_render_my_ranks' ) ) :
59
+ function mycred_render_my_ranks( $atts, $content = NULL )
60
+ {
61
+ extract( shortcode_atts( array(
62
+ 'user_id' => NULL,
63
+ 'show_title' => 1,
64
+ 'show_logo' => 0,
65
+ 'logo_size' => 'post-thumbnail',
66
+ 'first' => 'logo'
67
+ ), $atts ) );
68
+
69
+ if ( $user_id === NULL && ! is_user_logged_in() ) return;
70
+ if ( $user_id === NULL )
71
+ $user_id = get_current_user_id();
72
+
73
+ $mycred_types = mycred_get_types();
74
+ $show = array();
75
+
76
+ foreach ( $mycred_types as $type_id => $label ) {
77
+
78
+ $row = array();
79
+ $rank_id = mycred_get_users_rank_id( $user_id, $type_id );
80
+
81
+ if ( $show_logo )
82
+ $row[] = mycred_get_rank_logo( $rank_id, $logo_size );
83
+
84
+ if ( $show_title )
85
+ $row[] = get_the_title( $rank_id );
86
+
87
+ if ( $first != 'logo' )
88
+ $row = array_reverse( $row );
89
+
90
+ $show = array_merge( $row, $show );
91
+
92
+ }
93
+
94
+ if ( empty( $show ) ) return;
95
+ return '<div class="mycred-all-ranks">' . implode( ' ', $show ) . '</div>';
96
+ }
97
+ endif;
98
+
99
  /**
100
  * myCRED Shortcode: mycred_users_of_rank
101
  * Returns all users who have the given rank with the option to show the rank logo and optional content.
112
  'number' => NULL,
113
  'wrap' => 'div',
114
  'col' => 1,
115
+ 'nothing' => __( 'No users found with this rank', 'mycred' ),
116
+ 'ctype' => NULL,
117
+ 'order' => 'DESC'
118
  ), $atts ) );
119
 
120
  // Rank ID required
121
  if ( $rank_id === NULL )
122
  return '<strong>' . __( 'error', 'mycred' ) . '</strong> ' . __( 'Rank ID is required!', 'mycred' );
123
 
124
+ $mycred = mycred( ( $ctype === NULL ) ? 'mycred_default' : $ctype );
125
+
126
  // User is not logged in
127
+ if ( ! is_user_logged_in() && $login != '' )
128
  return $mycred->template_tags_general( $login );
129
 
130
  // ID is not a post id but a rank title
131
  if ( ! is_numeric( $rank_id ) )
132
  $rank_id = mycred_get_rank_id_from_title( $rank_id );
133
 
134
+ if ( $ctype === NULL ) {
135
+ $type = get_post_meta( $rank_id, 'type', true );
136
+ if ( $type != '' )
137
+ $ctype = $type;
138
+ }
139
+
140
  $output = '';
141
  $rank = get_post( $rank_id );
142
  // Make sure rank exist
146
 
147
  // Let others play
148
  $row_template = apply_filters( 'mycred_users_of_rank', $row_template, $atts, $mycred );
149
+
150
  // Get users of this rank if there are any
151
+ $users = mycred_get_users_of_rank( $rank_id, $number, $order, $ctype );
152
  if ( ! empty( $users ) ) {
153
  // Add support for table
154
+ if ( $wrap != 'table' && ! empty( $wrap ) )
155
  $output .= '<' . $wrap . ' class="mycred-users-of-rank-wrapper">';
156
 
157
  // Loop
160
  }
161
 
162
  // Add support for table
163
+ if ( $wrap != 'table' && ! empty( $wrap ) )
164
  $output .= '</' . $wrap . '>' . "\n";
165
  }
166
  // No users found
187
  * Returns all users fore every registered rank in order.
188
  * @see http://mycred.me/shortcodes/mycred_users_of_all_ranks/
189
  * @since 1.1
190
+ * @version 1.1
191
  */
192
  if ( ! function_exists( 'mycred_render_users_of_all_ranks' ) ) :
193
  function mycred_render_users_of_all_ranks( $atts, $row_template = NULL )
194
  {
195
  extract( shortcode_atts( array(
196
+ 'login' => '',
197
+ 'number' => NULL,
198
+ 'ctype' => NULL,
199
+ 'show_logo' => 1,
200
+ 'logo_size' => 'post-thumbnail',
201
+ 'wrap' => 'div',
202
+ 'nothing' => __( 'No users found with this rank', 'mycred' )
203
  ), $atts ) );
204
 
205
  // Prep
206
  $mycred = mycred();
207
 
208
  // User is not logged in
209
+ if ( ! is_user_logged_in() && $login != '' )
210
  return $mycred->template_tags_general( $login );
211
 
212
  // Default template
217
  $row_template = apply_filters( 'mycred_users_of_all_ranks', $row_template, $atts, $mycred );
218
 
219
  $output = '';
220
+ $all_ranks = mycred_get_ranks( 'publish', '-1', 'DESC', $ctype );
221
  // If we have ranks
222
  if ( ! empty( $all_ranks ) ) {
223
  $output .= '<div class="mycred-all-ranks-wrapper">' . "\n";
242
  'rank_id' => $rank_id,
243
  'number' => $number,
244
  'nothing' => $nothing,
245
+ 'wrap' => $wrap,
246
+ 'ctype' => $ctype
247
  );
248
  $output .= mycred_render_users_of_rank( $attr, $row_template );
249
 
261
  * Returns a list of ranks with minimum and maximum point requirements.
262
  * @see http://mycred.me/shortcodes/mycred_list_ranks/
263
  * @since 1.1.1
264
+ * @version 1.1
265
  */
266
  if ( ! function_exists( 'mycred_render_rank_list' ) ) :
267
  function mycred_render_rank_list( $atts, $content = NULL )
268
  {
269
  extract( shortcode_atts( array(
270
  'order' => 'DESC',
271
+ 'ctype' => 'mycred_default',
272
  'wrap' => 'div'
273
  ), $atts ) );
274
 
278
  $mycred = mycred();
279
 
280
  $output = '';
281
+ $all_ranks = mycred_get_ranks( 'publish', '-1', $order, $ctype );
282
  if ( ! empty( $all_ranks ) ) {
283
  $output .= '<' . $wrap . ' class="mycred-rank-list">';
284
  $content = apply_filters( 'mycred_rank_list', $content, $atts, $mycred );
addons/ranks/myCRED-addon-ranks.php CHANGED
@@ -2,8 +2,8 @@
2
  /**
3
  * Addon: Ranks
4
  * Addon URI: http://mycred.me/add-ons/ranks/
5
- * Version: 1.3
6
- * Description: Create ranks for users reaching a certain number of %_plural% with the option to add logos for each rank.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
9
  */
@@ -13,8 +13,8 @@ define( 'myCRED_RANKS', __FILE__ );
13
  define( 'myCRED_RANKS_DIR', myCRED_ADDONS_DIR . 'ranks/' );
14
  define( 'myCRED_RANKS_VERSION', myCRED_VERSION . '.1' );
15
 
16
- include_once( myCRED_RANKS_DIR . 'includes/mycred-rank-functions.php' );
17
- include_once( myCRED_RANKS_DIR . 'includes/mycred-rank-shortcodes.php' );
18
 
19
  /**
20
  * myCRED_Ranks_Module class
@@ -22,7 +22,7 @@ include_once( myCRED_RANKS_DIR . 'includes/mycred-rank-shortcodes.php' );
22
  * points, ranks are titles that can be given to users when their reach a certain
23
  * amount.
24
  * @since 1.1
25
- * @version 1.2.1
26
  */
27
  if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
28
  class myCRED_Ranks_Module extends myCRED_Module {
@@ -38,6 +38,9 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
38
  'base' => 'current',
39
  'slug' => 'mycred_rank',
40
  'bb_location' => 'top',
 
 
 
41
  'order' => 'ASC',
42
  'support' => array(
43
  'content' => 0,
@@ -48,7 +51,7 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
48
  )
49
  ),
50
  'register' => false,
51
- 'add_to_core' => true
52
  ) );
53
 
54
  if ( ! isset( $this->rank['order'] ) )
@@ -64,62 +67,90 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
64
  );
65
  }
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  /**
68
  * Hook into Init
69
  * @since 1.4.4
70
  * @version 1.0.1
71
  */
72
  public function module_pre_init() {
73
- add_action( 'mycred_parse_tags_user', array( $this, 'parse_rank' ), 10, 3 );
74
- add_action( 'mycred_post_type_excludes', array( $this, 'exclude_ranks' ) );
75
- add_filter( 'mycred_add', array( $this, 'update_balance' ), 99999, 3 );
 
 
 
 
76
  }
77
 
78
  /**
79
  * Hook into Init
80
  * @since 1.1
81
- * @version 1.4
82
  */
83
  public function module_init() {
 
84
  $this->register_post_type();
85
  $this->add_default_rank();
 
86
 
87
- add_filter( 'pre_get_posts', array( $this, 'adjust_wp_query' ), 20 );
88
  add_action( 'mycred_admin_enqueue', array( $this, 'enqueue_scripts' ) );
89
 
90
  // Instances to update ranks
91
  add_action( 'transition_post_status', array( $this, 'post_status_change' ), 99, 3 );
92
 
93
  // BuddyPress
94
- if ( function_exists( 'bp_displayed_user_id' ) && isset( $this->rank['bb_location'] ) && ! empty( $this->rank['bb_location'] ) ) {
95
- if ( $this->rank['bb_location'] == 'top' || $this->rank['bb_location'] == 'both' )
96
- add_action( 'bp_before_member_header_meta', array( $this, 'insert_rank_header' ) );
 
97
 
98
- if ( $this->rank['bb_location'] == 'profile_tab' || $this->rank['bb_location'] == 'both' )
99
- add_action( 'bp_after_profile_loop_content', array( $this, 'insert_rank_profile' ) );
 
 
100
  }
101
 
102
  // Shortcodes
103
  add_shortcode( 'mycred_my_rank', 'mycred_render_my_rank' );
 
104
  add_shortcode( 'mycred_users_of_rank', 'mycred_render_users_of_rank' );
105
  add_shortcode( 'mycred_users_of_all_ranks', 'mycred_render_users_of_all_ranks' );
106
  add_shortcode( 'mycred_list_ranks', 'mycred_render_rank_list' );
107
 
108
- add_action( 'mycred_management_prefs', array( $this, 'rank_management' ) );
 
109
  add_action( 'wp_ajax_mycred-calc-totals', array( $this, 'calculate_totals' ) );
 
110
  }
111
 
112
  /**
113
  * Hook into Admin Init
114
  * @since 1.1
115
- * @version 1.1
116
  */
117
  public function module_admin_init() {
118
- add_filter( 'manage_mycred_rank_posts_columns', array( $this, 'adjust_column_headers' ) );
 
 
 
119
  add_action( 'manage_mycred_rank_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
120
 
121
- add_filter( 'manage_users_columns', array( $this, 'custom_user_column' ) );
122
- add_action( 'manage_users_custom_column', array( $this, 'custom_user_column_content' ), 10, 3 );
123
 
124
  add_filter( 'post_row_actions', array( $this, 'adjust_row_actions' ), 10, 2 );
125
 
@@ -127,60 +158,199 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
127
  add_filter( 'enter_title_here', array( $this, 'enter_title_here' ) );
128
 
129
  add_action( 'add_meta_boxes_mycred_rank', array( $this, 'add_meta_boxes' ) );
130
- add_action( 'save_post', array( $this, 'save_rank_settings' ) );
131
 
132
  add_action( 'wp_ajax_mycred-action-delete-ranks', array( $this, 'action_delete_ranks' ) );
133
  add_action( 'wp_ajax_mycred-action-assign-ranks', array( $this, 'action_assign_ranks' ) );
 
134
  }
135
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  /**
137
  * Delete Ranks
138
  * @since 1.3.2
139
- * @version 1.0
140
  */
141
  public function action_delete_ranks() {
 
 
142
  check_ajax_referer( 'mycred-management-actions-roles', 'token' );
143
 
 
 
 
 
 
144
  global $wpdb;
145
 
 
 
 
 
 
 
 
 
 
 
146
  // First get the ids of all existing ranks
147
- $rank_ids = $wpdb->get_col( "
148
- SELECT ID
149
- FROM {$wpdb->posts}
150
- WHERE post_type = 'mycred_rank';" );
151
-
152
- // Delete all ranks
153
- $wpdb->query( "
154
- DELETE FROM {$wpdb->posts}
155
- WHERE post_type = 'mycred_rank';" );
156
-
157
- // Delete rank post meta
158
- if ( $rank_ids ) {
159
- $ids = implode( ',', $rank_ids );
 
 
160
  $wpdb->query( "
161
- DELETE FROM {$wpdb->postmeta}
162
- WHERE post_id IN ({$ids});" );
163
- }
164
 
165
- // Confirm that ranks are gone
166
- $rows = $wpdb->get_var( "
167
- SELECT COUNT(*)
168
- FROM {$wpdb->posts}
169
- WHERE post_type = 'mycred_rank';" );
 
 
 
 
 
 
 
 
 
 
 
170
 
171
  die( json_encode( array( 'status' => 'OK', 'rows' => $rows ) ) );
 
172
  }
173
 
174
  /**
175
  * Assign Ranks
176
  * @since 1.3.2
177
- * @version 1.0
178
  */
179
  public function action_assign_ranks() {
 
180
  check_ajax_referer( 'mycred-management-actions-roles', 'token' );
181
 
182
- $adjustments = mycred_assign_ranks();
 
 
 
 
183
  die( json_encode( array( 'status' => 'OK', 'rows' => $adjustments ) ) );
 
184
  }
185
 
186
  /**
@@ -203,9 +373,31 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
203
  $screen = get_current_screen();
204
 
205
  // Ranks List Page
206
- if ( preg_match( '/(edit-mycred_rank)/', $screen->id, $matches ) )
 
207
  wp_enqueue_style( 'mycred-admin' );
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  // Edit Rank Page
210
  if ( preg_match( '/(mycred_rank)/', $screen->id, $matches ) ) {
211
  wp_enqueue_style( 'mycred-admin' );
@@ -213,10 +405,10 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
213
  }
214
 
215
  // Insert management script
216
- if ( preg_match( '/(myCRED_page_settings)/', $screen->id, $matches ) ) {
217
  wp_register_script(
218
  'mycred-rank-management',
219
- plugins_url( 'js/management.js', myCRED_RANKS ),
220
  array( 'jquery' ),
221
  myCRED_VERSION . '.1'
222
  );
@@ -226,9 +418,9 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
226
  array(
227
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
228
  'token' => wp_create_nonce( 'mycred-management-actions-roles' ),
229
- 'working' => __( 'Processing...', 'mycred' ),
230
- 'confirm_del' => __( 'Warning! All ranks will be deleted! This can not be undone!', 'mycred' ),
231
- 'confirm_assign' => __( 'Are you sure you want to re-assign user ranks?', 'mycred' )
232
  )
233
  );
234
  wp_enqueue_script( 'mycred-rank-management' );
@@ -238,11 +430,17 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
238
  /**
239
  * Register Rank Post Type
240
  * @since 1.1
241
- * @version 1.1
242
  */
243
  public function register_post_type() {
 
 
 
 
 
 
244
  $labels = array(
245
- 'name' => __( 'Ranks', 'mycred' ),
246
  'singular_name' => __( 'Rank', 'mycred' ),
247
  'add_new' => __( 'Add New', 'mycred' ),
248
  'add_new_item' => __( 'Add New Rank', 'mycred' ),
@@ -270,238 +468,465 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
270
  if ( isset( $this->rank['support']['custom-fields'] ) && $this->rank['support']['custom-fields'] )
271
  $supports[] = 'custom-fields';
272
 
 
 
 
 
 
 
273
  $args = array(
274
  'labels' => $labels,
275
  'public' => (bool) $this->rank['public'],
276
  'publicly_queryable' => (bool) $this->rank['public'],
277
  'has_archive' => (bool) $this->rank['public'],
278
  'show_ui' => true,
279
- 'show_in_menu' => 'myCRED',
280
  'capability_type' => 'page',
281
  'supports' => $supports
282
  );
283
 
284
  // Rewrite
285
- if ( $this->rank['public'] && ! empty( $this->rank['slug'] ) ) {
286
  $args['rewrite'] = array( 'slug' => $this->rank['slug'] );
287
- }
288
- register_post_type( 'mycred_rank', apply_filters( 'mycred_register_ranks', $args ) );
 
289
  }
290
 
291
  /**
292
  * AJAX: Calculate Totals
293
  * @since 1.2
294
- * @version 1.2.1
295
  */
296
  public function calculate_totals() {
 
297
  // Security
298
  check_ajax_referer( 'mycred-calc-totals', 'token' );
299
 
300
- global $wpdb;
301
-
302
- $users = $wpdb->get_results( apply_filters( 'mycred_ranks_calc_total', $wpdb->prepare( "
303
- SELECT user_id AS ID, SUM( CASE WHEN creds > 0 OR ( creds < 0 AND ref = %s ) THEN creds ELSE 0 END ) AS total
304
- FROM {$this->core->log_table} WHERE ctype = %s
305
- GROUP BY user_id;", 'manual', 'mycred_default' ), $this ) );
306
 
307
- // Get total key
308
- $total_key = 'mycred_default';
309
- if ( $this->core->is_multisite && $GLOBALS['blog_id'] > 1 && ! $this->core->use_central_logging ) {
310
- $total_key .= '_' . $GLOBALS['blog_id'];
311
 
312
- // Clean up old & incorrect keys
313
- $wpdb->delete( $wpdb->usermeta, array( 'meta_key' => $total_key . '_total' ), array( '%s' ) );
314
-
315
- $wpdb->delete( $wpdb->usermeta, array( 'meta_key' => 'mycred_default' . $GLOBALS['blog_id'] ), array( '%s' ) );
316
-
317
- $wpdb->delete( $wpdb->usermeta, array( 'meta_key' => 'mycred_default_' . $GLOBALS['blog_id'] . '_' . $GLOBALS['blog_id'] ), array( '%s' ) );
318
- }
319
- $total_key .= '_total';
320
 
321
- // Clean up old keys
322
- $wpdb->delete(
323
- $wpdb->usermeta,
324
- array( 'meta_key' => $total_key ),
325
- array( '%s' )
326
- );
327
 
328
- $total_key = apply_filters( 'mycred_ranks_total_key', $total_key, $this );
 
 
 
 
329
 
330
  $count = 0;
331
- if ( $users ) {
332
- foreach ( $users as $user ) {
333
- if ( $user->total == 0 ) continue;
 
334
 
335
- mycred_update_user_meta( $user->ID, 'mycred_default', '_total', $user->total );
336
- mycred_find_users_rank( $user->ID, true, 0 );
 
337
 
338
- $count = $count+1;
339
  }
 
340
  }
341
 
342
- if ( $count > 0 )
343
- die( json_encode( sprintf( __( 'Completed - Total of %d users effected', 'mycred' ), $count ) ) );
344
- else
345
- die( json_encode( __( 'Log is Empty', 'mycred' ) ) );
346
  }
347
 
348
  /**
349
  * Balance Adjustment
350
  * Check if users rank should change.
351
  * @since 1.1
352
- * @version 1.3.4
353
  */
354
- public function update_balance( $reply, $request, $mycred ) {
355
-
356
- if ( $reply === false || $request['type'] != 'mycred_default' || ( $this->rank['base'] == 'total' && $request['amount'] < 0 ) ) return $reply;
357
-
358
- extract( $request );
359
-
360
- if ( $this->rank['base'] == 'total' )
361
- $current_balance = mycred_get_users_total( $user_id, $type );
362
 
363
- else
364
- $current_balance = $mycred->get_users_balance( $user_id, $type );
 
365
 
366
- $balance = $mycred->number( $current_balance + $amount );
 
 
367
 
368
- $balance_format = '%d';
369
- if ( isset( $this->core->format['decimals'] ) && $this->core->format['decimals'] > 0 )
370
- $balance_format = 'CAST( %f AS DECIMAL( 10, ' . $this->core->format['decimals'] . ' ) )';
371
 
372
- global $wpdb;
373
 
374
- $rank_id = $wpdb->get_var( $wpdb->prepare( "
375
- SELECT rank.ID
376
- FROM {$wpdb->posts} rank
377
- INNER JOIN {$wpdb->postmeta} min
378
- ON ( min.post_id = rank.ID AND min.meta_key = 'mycred_rank_min' )
379
- INNER JOIN {$wpdb->postmeta} max
380
- ON ( max.post_id = rank.ID AND max.meta_key = 'mycred_rank_max' )
381
- WHERE rank.post_type = 'mycred_rank'
382
- AND rank.post_status = 'publish'
383
- AND {$balance_format} BETWEEN min.meta_value AND max.meta_value
384
- LIMIT 0,1;", $balance ) );
385
-
386
- if ( $rank_id !== NULL ) {
387
- if ( mycred_user_got_demoted( $user_id, $rank_id ) )
388
- do_action( 'mycred_user_got_demoted', $user_id, $rank_id );
389
-
390
- elseif ( mycred_user_got_promoted( $user_id, $rank_id ) )
391
- do_action( 'mycred_user_got_promoted', $user_id, $rank_id );
392
-
393
- else
394
- do_action( 'mycred_find_users_rank', $user_id, $rank_id );
395
-
396
- mycred_update_user_meta( $user_id, 'mycred_rank', '', $rank_id );
397
- }
398
- return $reply;
399
  }
400
 
401
  /**
402
  * Publishing Content
403
  * Check if users rank should change.
404
  * @since 1.1
405
- * @version 1.3
406
  */
407
  public function post_status_change( $new_status, $old_status, $post ) {
 
408
  global $mycred_ranks;
409
 
410
  // Only ranks please
411
  if ( $post->post_type != 'mycred_rank' ) return;
412
 
 
 
 
 
 
 
413
  // Publishing rank
414
  if ( $new_status == 'publish' && $old_status != 'publish' )
415
- mycred_assign_ranks();
416
 
417
  // Trashing of rank
418
  elseif ( $new_status == 'trash' && $old_status != 'trash' )
419
- mycred_assign_ranks();
 
420
  }
421
 
422
  /**
423
  * Adjust Rank Sort Order
424
  * Adjusts the wp query when viewing ranks to order by the min. point requirement.
425
  * @since 1.1.1
426
- * @version 1.0
427
  */
428
  public function adjust_wp_query( $query ) {
429
- if ( isset( $query->query['post_type'] ) && $query->is_main_query() && $query->query['post_type'] == 'mycred_rank' ) {
430
- $query->set( 'meta_key', 'mycred_rank_min' );
431
- $query->set( 'orderby', 'meta_value_num' );
432
 
433
- if ( ! isset( $this->rank['order'] ) ) $this->rank['order'] = 'ASC';
434
- $query->set( 'order', $this->rank['order'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
435
  }
436
 
437
- return $query;
 
438
  }
439
 
440
  /**
441
  * Parse Rank
442
  * Parses the %rank% and %rank_logo% template tags.
443
  * @since 1.1
444
- * @version 1.1
445
  */
446
  public function parse_rank( $content, $user = '', $data = '' ) {
 
447
  // No rank no need to run
448
  if ( ! preg_match( '/(%rank[%|_])/', $content ) ) return $content;
449
 
 
450
  if ( ! isset( $user->ID ) ) {
451
- if ( is_array( $data ) && isset( $data['ID'] ) )
452
- $user_id = $data['ID'];
453
- else
454
- $user_id = get_current_user_id();
 
 
 
 
 
 
455
  }
 
 
456
  else {
457
- $user_id = $user->ID;
458
- }
459
 
460
- $rank_name = mycred_get_users_rank( $user_id );
461
- $content = str_replace( '%rank%', $rank_name, $content );
462
- $content = str_replace( '%rank_logo%', mycred_get_rank_logo( $rank_name ), $content );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
463
 
464
  return $content;
 
465
  }
466
 
467
  /**
468
  * Insert Rank In Profile Header
469
  * @since 1.1
470
- * @version 1.2
471
  */
472
  public function insert_rank_header() {
 
 
473
  $user_id = bp_displayed_user_id();
474
- if ( $this->core->exclude_user( $user_id ) ) return;
475
 
476
- $rank_name = mycred_get_users_rank( $user_id );
477
- $output = '<span>' . __( 'Rank', 'mycred' ) . '</span>: ' . $rank_name . ' ' . mycred_get_rank_logo( $rank_name );
478
- echo '<div id="mycred-my-rank">' . apply_filters( 'mycred_bp_rank_in_header', $output, $user_id ) . '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
479
  }
480
 
481
  /**
482
  * Insert Rank In Profile Details
483
  * @since 1.1
484
- * @version 1.2
485
  */
486
  public function insert_rank_profile() {
 
 
487
  $user_id = bp_displayed_user_id();
488
- if ( $this->core->exclude_user( $user_id ) ) return;
489
 
490
- $rank_name = mycred_get_users_rank( $user_id );
491
- $output = $rank_name . ' ' . mycred_get_rank_logo( $rank_name ); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
492
 
493
  <div class="bp-widget mycred-field">
494
  <table class="profile-fields">
495
  <tr id="mycred-users-rank">
496
- <td class="label"><?php _e( 'Rank', 'mycred' ); ?></td>
497
  <td class="data">
498
- <?php echo apply_filters( 'mycred_bp_rank_in_profile', $output, $user_id ); ?>
499
 
500
  </td>
501
  </tr>
502
  </table>
503
  </div>
504
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
505
  }
506
 
507
  /**
@@ -513,17 +938,16 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
513
  * @uses get_users()
514
  * @uses update_user_meta()
515
  * @since 1.1
516
- * @version 1.0.1
517
  */
518
  public function add_default_rank() {
519
- global $mycred_ranks;
520
 
521
  // If there are no ranks at all
522
  if ( ! mycred_have_ranks() ) {
523
  // Construct a new post
524
  $rank = array();
525
- $rank['post_title'] = 'Newbie';
526
- $rank['post_type'] = 'mycred_rank';
527
  $rank['post_status'] = 'publish';
528
 
529
  // Insert new rank post
@@ -532,35 +956,36 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
532
  // Update min and max values
533
  update_post_meta( $rank_id, 'mycred_rank_min', 0 );
534
  update_post_meta( $rank_id, 'mycred_rank_max', 9999999 );
 
535
 
536
  $mycred_ranks = 1;
537
  mycred_assign_ranks();
538
  }
 
539
  }
540
 
541
  /**
542
  * Adjust Post Updated Messages
543
  * @since 1.1
544
- * @version 1.1
545
  */
546
  public function post_updated_messages( $messages ) {
547
- global $post;
548
 
549
  $messages['mycred_rank'] = array(
550
- 0 => '',
551
  1 => __( 'Rank Updated.', 'mycred' ),
552
- 2 => '',
553
- 3 => '',
554
  4 => __( 'Rank Updated.', 'mycred' ),
555
- 5 => false,
556
  6 => __( 'Rank Enabled', 'mycred' ),
557
  7 => __( 'Rank Saved', 'mycred' ),
558
  8 => __( 'Rank Updated.', 'mycred' ),
559
  9 => __( 'Rank Updated.', 'mycred' ),
560
  10 => ''
561
  );
562
-
563
  return $messages;
 
564
  }
565
 
566
  /**
@@ -580,63 +1005,73 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
580
  }
581
 
582
  /**
583
- * Customize Users Column Headers
584
- * @since 1.1.1
 
585
  * @version 1.0
586
  */
587
- public function custom_user_column( $columns ) {
588
- $columns['mycred-rank'] = __( 'Rank', 'mycred' );
589
- return $columns;
590
- }
591
 
592
- /**
593
- * Customize User Columns Content
594
- * @filter 'mycred_user_row_actions'
595
- * @since 1.1.1
596
- * @version 1.0
597
- */
598
- public function custom_user_column_content( $value, $column_name, $user_id ) {
599
- if ( 'mycred-rank' != $column_name ) return $value;
600
 
601
- return mycred_get_users_rank( $user_id );
602
  }
603
 
604
  /**
605
  * Adjust Rank Column Header
606
  * @since 1.1
607
- * @version 1.0
608
  */
609
  public function adjust_column_headers( $defaults ) {
610
- // Remove
611
- unset( $defaults['date'] );
 
612
 
613
  // Add / Adjust
614
- $defaults['title'] = __( 'Rank Title', 'mycred' );
615
- $defaults['mycred-rank-logo'] = __( 'Logo', 'mycred' );
616
- $defaults['mycred-rank-req'] = __( 'Requirement', 'mycred' );
617
- $defaults['mycred-rank-users'] = __( 'Users', 'mycred' );
 
 
 
618
 
619
  // Return
620
- return $defaults;
621
  }
622
 
623
  /**
624
  * Adjust Rank Column Content
625
  * @since 1.1
626
- * @version 1.0
627
  */
628
  public function adjust_column_content( $column_name, $post_id ) {
 
 
 
 
 
629
  // Rank Logo (thumbnail)
630
  if ( $column_name == 'mycred-rank-logo' ) {
631
  $logo = mycred_get_rank_logo( $post_id, 'thumbnail' );
632
  if ( empty( $logo ) )
633
- echo '<p>' . __( 'No Logo Set', 'mycred' );
634
  else
635
- echo '<p>' . $logo . '</p>';
 
636
  }
 
637
  // Rank Requirement (custom metabox)
638
  elseif ( $column_name == 'mycred-rank-req' ) {
639
- $mycred = mycred();
 
 
 
 
640
  $min = get_post_meta( $post_id, 'mycred_rank_min', true );
641
  if ( empty( $min ) && (int) $min !== 0 )
642
  $min = __( 'Any Value', 'mycred' );
@@ -647,13 +1082,27 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
647
  $max = __( 'Any Value', 'mycred' );
648
 
649
  $max = $mycred->template_tags_general( __( 'Maximum %plural%', 'mycred' ) ) . ': ' . $max;
650
- echo '<p>' . $min . '<br />' . $max . '</p>';
 
651
  }
 
652
  // Rank Users (user list)
653
  elseif ( $column_name == 'mycred-rank-users' ) {
654
- $users = count( mycred_get_users_of_rank( $post_id ) );
655
- echo '<p>' . $users . '</p>';
 
 
 
 
 
 
 
 
 
 
 
656
  }
 
657
  }
658
 
659
  /**
@@ -688,45 +1137,97 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
688
  /**
689
  * Rank Settings Metabox
690
  * @since 1.1
691
- * @version 1.0
692
  */
693
  public function rank_settings( $post ) {
694
- $mycred = mycred();
695
- $min = get_post_meta( $post->ID, 'mycred_rank_min', true );
696
- $max = get_post_meta( $post->ID, 'mycred_rank_max', true ); ?>
697
-
698
- <input type="hidden" name="mycred_rank[token]" value="<?php echo wp_create_nonce( 'mycred-edit-rank' ); ?>" />
699
- <div style="display:block;float:none;clear:both;">
700
- <div style="display:block;width:50%;margin:0;padding:0;float:left;">
701
- <p>
702
- <?php echo $mycred->template_tags_general( __( 'Minimum %plural% to reach this rank', 'mycred' ) ); ?>:<br />
703
- <input type="text" name="mycred_rank[min]" id="mycred-rank-min" value="<?php echo $min; ?>" />
704
- </p>
705
- <p>
706
- <?php echo $mycred->template_tags_general( __( 'Maximum %plural% to be included in this rank', 'mycred' ) ); ?>:<br />
707
- <input type="text" name="mycred_rank[max]" id="mycred-rank-max" value="<?php echo $max; ?>" />
708
- </p>
709
- <?php do_action( 'mycred_rank_after_req', $post, $this->core ); ?>
710
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
711
  </div>
712
- <div style="display:block;width:50%;margin:0;padding:0;float:left;">
713
- <p><?php _e( 'All Published Ranks', 'mycred' ); ?>:</p>
 
714
  <?php
715
- $all = mycred_get_ranks();
 
 
 
716
  if ( ! empty( $all ) ) {
 
717
  foreach ( $all as $rank_id => $rank ) {
718
  $_min = get_post_meta( $rank_id, 'mycred_rank_min', true );
719
  if ( empty( $_min ) && (int) $_min !== 0 ) $_min = __( 'Not Set', 'mycred' );
720
  $_max = get_post_meta( $rank_id, 'mycred_rank_max', true );
721
  if ( empty( $_max ) ) $_max = __( 'Not Set', 'mycred' );
722
- echo '<p><strong style="display:inline-block;width:40%;">' . $rank->post_title . '</strong> ' . $_min . ' - ' . $_max . '</p>';
723
  }
 
724
  }
725
  else {
726
  echo '<p>' . __( 'No Ranks found', 'mycred' ) . '.</p>';
727
- } ?>
 
 
 
 
 
728
  </div>
729
- <div class="clear">&nbsp;</div>
730
  </div>
731
  <?php
732
  }
@@ -734,96 +1235,102 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
734
  /**
735
  * Save Rank Details
736
  * @since 1.1
737
- * @version 1.1
738
  */
739
  public function save_rank_settings( $post_id ) {
740
- // Make sure this is the correct post type
741
- if ( get_post_type( $post_id ) != 'mycred_rank' ) return;
742
-
743
- // Make sure we can edit
744
- elseif ( ! mycred_is_admin( get_current_user_id() ) ) return;
745
 
746
  // Make sure fields exists
747
- elseif ( ! isset( $_POST['mycred_rank'] ) || ! is_array( $_POST['mycred_rank'] ) ) return;
748
-
749
- // Finally check token
750
- elseif ( ! wp_verify_nonce( $_POST['mycred_rank']['token'], 'mycred-edit-rank' ) ) return;
751
 
752
  // Minimum can not be empty
753
  if ( empty( $_POST['mycred_rank']['min'] ) )
754
  $min = 0;
755
  else
756
- $min = trim( $_POST['mycred_rank']['min'] );
 
 
757
 
758
  // Maximum can not be empty
759
  if ( empty( $_POST['mycred_rank']['max'] ) )
760
  $max = 999;
761
  else
762
- $max = trim( $_POST['mycred_rank']['max'] );
763
 
764
- update_post_meta( $post_id, 'mycred_rank_min', $min );
765
  update_post_meta( $post_id, 'mycred_rank_max', $max );
766
 
 
 
 
 
 
 
 
 
767
  if ( get_post_status( $post_id ) == 'publish' )
768
- mycred_assign_ranks();
769
  }
770
 
771
  /**
772
  * Add to General Settings
773
  * @since 1.1
774
- * @version 1.2
775
  */
776
- public function after_general_settings() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
777
  if ( $this->rank['base'] == 'current' )
778
  $box = 'display: none;';
779
  else
780
- $box = 'display: block;'; ?>
781
 
 
782
  <h4><div class="icon icon-active"></div><?php _e( 'Ranks', 'mycred' ); ?></h4>
783
  <div class="body" style="display:none;">
 
 
 
784
  <label class="subheader" for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'Rank Features', 'mycred' ); ?></label>
785
  <ol id="myCRED-rank-supports">
786
  <li>
787
- <input type="checkbox" value="1" checked="checked" disabled="disabled" /> <label for=""><?php _e( 'Title', 'mycred' ); ?></label><br />
788
- <input type="checkbox" value="1" checked="checked" disabled="disabled" /> <label for=""><?php echo $this->core->template_tags_general( __( '%plural% requirement', 'mycred' ) ); ?></label><br />
789
- <input type="checkbox" value="1" checked="checked" disabled="disabled" /> <label for=""><?php _e( 'Featured Image (Logo)', 'mycred' ); ?></label><br />
790
- <input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'content' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'content' ) ); ?>" <?php checked( $this->rank['support']['content'], 1 ); ?> value="1" /> <label for=""><?php _e( 'Content', 'mycred' ); ?></label><br />
791
- <input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'excerpt' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'excerpt' ) ); ?>" <?php checked( $this->rank['support']['excerpt'], 1 ); ?> value="1" /> <label for=""><?php _e( 'Excerpt', 'mycred' ); ?></label><br />
792
- <input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'comments' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'comments' ) ); ?>" <?php checked( $this->rank['support']['comments'], 1 ); ?> value="1" /> <label for=""><?php _e( 'Comments', 'mycred' ); ?></label><br />
793
- <input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'page-attributes' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'page-attributes' ) ); ?>" <?php checked( $this->rank['support']['page-attributes'], 1 ); ?> value="1" /> <label for=""><?php _e( 'Page Attributes', 'mycred' ); ?></label><br />
794
- <input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'custom-fields' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'custom-fields' ) ); ?>" <?php checked( $this->rank['support']['custom-fields'], 1 ); ?> value="1" /> <label for=""><?php _e( 'Custom Fields', 'mycred' ); ?></label>
 
 
 
 
 
 
795
  </li>
796
  </ol>
797
  <label class="subheader" for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'Public', 'mycred' ); ?></label>
798
  <ol id="myCRED-rank-public">
799
  <li>
800
- <input type="checkbox" name="<?php echo $this->field_name( 'public' ); ?>" id="<?php echo $this->field_id( 'public' ); ?>" <?php checked( $this->rank['public'], 1 ); ?> value="1" />
801
  <label for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'If you want to create a template archive for each rank, you must select to have ranks public. Defaults to disabled.', 'mycred' ); ?></label>
802
  </li>
803
  </ol>
804
- <label class="subheader" for="<?php echo $this->field_id( 'count' ); ?>"><?php _e( 'Rank Basis', 'mycred' ); ?></label>
805
- <ol id="myCRED-rank-basis">
806
- <li>
807
- <input type="radio" name="<?php echo $this->field_name( 'base' ); ?>" id="<?php echo $this->field_id( array( 'base' => 'current' ) ); ?>"<?php checked( $this->rank['base'], 'current' ); ?> value="current" /> <label for="<?php echo $this->field_id( array( 'base' => 'current' ) ); ?>"><?php _e( 'Users are ranked according to their current balance.', 'mycred' ); ?></label>
808
- </li>
809
- <li>
810
- <input type="radio" name="<?php echo $this->field_name( 'base' ); ?>" id="<?php echo $this->field_id( array( 'base' => 'total' ) ); ?>"<?php checked( $this->rank['base'], 'total' ); ?> value="total" /> <label for="<?php echo $this->field_id( array( 'base' => 'total' ) ); ?>"><?php echo $this->core->template_tags_general( __( 'Users are ranked according to the total amount of %_plural% they have accumulated.', 'mycred' ) ); ?></label>
811
- </li>
812
- </ol>
813
- <div id="calc-total" style="<?php echo $box; ?>">
814
- <label class="subheader" for=""><?php _e( 'Calculate Totals', 'mycred' ); ?></label>
815
- <ol id="mycred-rank-calculate">
816
- <li>
817
- <p><?php _e( 'Use this button to calculate or re-calcualte your users totals. If not used, the users current balance will be used as a starting point.', 'mycred' ); ?><br /><?php _e( 'Once a users total has been calculated, they will be assigned to their appropriate roles. For this reason, it is highly recommended that you first setup your ranks!', 'mycred' ); ?></p>
818
- <p><strong><?php _e( 'Depending on your log size and number of users this process may take a while. Please do not leave, click "Update Settings" or re-fresh this page until this is completed!', 'mycred' ); ?></strong></p>
819
- <input type="button" name="mycred-update-totals" id="mycred-update-totals" value="<?php _e( 'Calculate Totals', 'mycred' ); ?>" class="button button-large button-<?php if ( $this->rank['base'] == 'current' ) echo 'secondary'; else echo 'primary'; ?>"<?php if ( $this->rank['base'] == 'current' ) echo ' disabled="disabled"'; ?> />
820
- </li>
821
- </ol>
822
- </div>
823
  <label class="subheader" for="<?php echo $this->field_id( 'slug' ); ?>"><?php _e( 'Archive URL', 'mycred' ); ?></label>
824
  <ol id="mycred-rank-archive-url">
825
  <li>
826
- <div class="h2"><?php bloginfo( 'url' ); ?>/ <input type="text" name="<?php echo $this->field_name( 'slug' ); ?>" id="<?php echo $this->field_id( 'slug' ); ?>" value="<?php echo $this->rank['slug']; ?>" size="20" />/</div>
827
  <span class="description"><?php _e( 'Ignored if Ranks are not public', 'mycred' ); ?></span>
828
  </li>
829
  </ol>
@@ -832,6 +1339,7 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
832
  <li>
833
  <select name="<?php echo $this->field_name( 'order' ); ?>" id="<?php echo $this->field_id( 'order' ); ?>">
834
  <?php
 
835
  // Order added in 1.1.1
836
  $options = array(
837
  'ASC' => __( 'Ascending - Lowest rank to highest', 'mycred' ),
@@ -839,46 +1347,134 @@ if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
839
  );
840
  foreach ( $options as $option_value => $option_label ) {
841
  echo '<option value="' . $option_value . '"';
842
- if ( $this->rank['order'] == $option_value ) echo ' selected="selected"';
843
  echo '>' . $option_label . '</option>';
844
- } ?>
 
 
845
 
846
  </select><br />
847
  <span class="description"><?php _e( 'Select in what order ranks should be displayed in your admin area and/or front if ranks are "Public"', 'mycred' ); ?></span>
848
  </li>
849
  </ol>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
850
  <?php
851
- // If BuddyPress is installed
852
- if ( function_exists( 'bp_displayed_user_id' ) ) {
853
- if ( ! isset( $this->rank['bb_location'] ) )
854
- $this->rank['bb_location'] = '';
 
 
 
 
 
855
 
856
  $rank_locations = array(
857
  '' => __( 'Do not show.', 'mycred' ),
858
  'top' => __( 'Include in Profile Header.', 'mycred' ),
859
  'profile_tab' => __( 'Include under the "Profile" tab', 'mycred' ),
860
  'both' => __( 'Include under the "Profile" tab and Profile Header.', 'mycred' )
861
- ); ?>
 
 
862
 
863
  <label class="subheader" for="<?php echo $this->field_id( 'bb_location' ); ?>"><?php _e( 'Rank in BuddyPress', 'mycred' ); ?></label>
864
  <ol id="myCRED-rank-bb-location">
865
  <li>
866
  <select name="<?php echo $this->field_name( 'bb_location' ); ?>" id="<?php echo $this->field_id( 'bb_location' ); ?>">
867
  <?php
868
- // Loop though locations
869
  foreach ( $rank_locations as $value => $label ) {
870
  echo '<option value="' . $value . '"';
871
- if ( $this->rank['bb_location'] == $value ) echo ' selected="selected"';
872
  echo '>' . $label . '</option>';
873
  } ?>
874
 
875
  </select>
876
  </li>
 
 
 
 
 
877
  </ol>
878
- <?php }
 
 
879
  else {
880
  echo '<input type="hidden" name="' . $this->field_name( 'bb_location' ) . '" value="" />';
881
- } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
882
 
883
  <script type="text/javascript">//<![CDATA[
884
  jQuery(function($){
@@ -900,12 +1496,13 @@ jQuery(function($){
900
  }
901
  });
902
 
903
- var mycred_calc = function( button ) {
904
  $.ajax({
905
  type : "POST",
906
  data : {
907
  action : 'mycred-calc-totals',
908
- token : '<?php echo wp_create_nonce( 'mycred-calc-totals' ); ?>'
 
909
  },
910
  dataType : "JSON",
911
  url : '<?php echo admin_url( 'admin-ajax.php' ); ?>',
@@ -914,7 +1511,7 @@ jQuery(function($){
914
  button.attr( 'disabled', 'disabled' );
915
  button.removeClass( 'button-primary' );
916
  button.addClass( 'button-seconday' );
917
- button.val( '<?php echo __( 'Processing...', 'mycred' ); ?>' );
918
  },
919
  // On Successful Communication
920
  success : function( data ) {
@@ -928,13 +1525,13 @@ jQuery(function($){
928
  button.removeAttr( 'disabled' );
929
  button.removeClass( 'button-seconday' );
930
  button.addClass( 'button-primary' );
931
- button.val( '<?php echo __( 'Script Communication Error', 'mycred' ); ?>' );
932
  }
933
  });
934
  };
935
 
936
  $('input#mycred-update-totals').click(function(){
937
- mycred_calc( $(this) );
938
  });
939
  });//]]>
940
  </script>
@@ -945,7 +1542,7 @@ jQuery(function($){
945
  /**
946
  * Save Settings
947
  * @since 1.1
948
- * @version 1.2
949
  */
950
  public function sanitize_extra_settings( $new_data, $data, $core ) {
951
  $new_data['rank']['support']['content'] = ( isset( $data['rank']['support']['content'] ) ) ? true : false;
@@ -958,7 +1555,12 @@ jQuery(function($){
958
  $new_data['rank']['public'] = ( isset( $data['rank']['public'] ) ) ? true : false;
959
  $new_data['rank']['slug'] = sanitize_text_field( $data['rank']['slug'] );
960
  $new_data['rank']['order'] = sanitize_text_field( $data['rank']['order'] );
 
 
961
  $new_data['rank']['bb_location'] = sanitize_text_field( $data['rank']['bb_location'] );
 
 
 
962
 
963
  return $new_data;
964
  }
@@ -966,28 +1568,38 @@ jQuery(function($){
966
  /**
967
  * Management
968
  * @since 1.3.2
969
- * @version 1.0
970
  */
971
- public function rank_management() {
972
- $data = mycred_get_published_ranks_count();
973
-
 
974
  $reset_block = false;
975
- if ( $data == 0 || $data === false )
976
- $reset_block = true; ?>
 
 
 
 
 
 
 
 
 
977
 
978
  <label class="subheader"><?php _e( 'Ranks', 'mycred' ); ?></label>
979
  <ol id="myCRED-rank-actions" class="inline">
980
  <li>
981
- <label><?php _e( 'Rank Post Type', 'mycred' ); ?></label>
982
- <div class="h2"><input type="text" id="mycred-rank-post-type" disabled="disabled" value="mycred_rank" class="readonly" /></div>
983
  </li>
984
  <li>
985
  <label><?php _e( 'No. of ranks', 'mycred' ); ?></label>
986
- <div class="h2"><input type="text" id="mycred-ranks-no-of-ranks" disabled="disabled" value="<?php echo $data; ?>" class="readonly short" /></div>
987
  </li>
988
  <li>
989
  <label><?php _e( 'Actions', 'mycred' ); ?></label>
990
- <div class="h2"><input type="button" id="mycred-manage-action-reset-ranks" value="<?php _e( 'Remove All Ranks', 'mycred' ); ?>" class="button button-large large <?php if ( $reset_block ) echo '" disabled="disabled'; else echo 'button-primary'; ?>" /> <input type="button" id="mycred-manage-action-assign-ranks" value="<?php _e( 'Assign Ranks to Users', 'mycred' ); ?>" class="button button-large large <?php if ( $reset_block ) echo '" disabled="disabled'; ?>" /></div>
991
  </li>
992
  </ol>
993
  <?php
2
  /**
3
  * Addon: Ranks
4
  * Addon URI: http://mycred.me/add-ons/ranks/
5
+ * Version: 1.4
6
+ * Description: Award your users rank based on their current or total balance. Supports multiple point types.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
9
  */
13
  define( 'myCRED_RANKS_DIR', myCRED_ADDONS_DIR . 'ranks/' );
14
  define( 'myCRED_RANKS_VERSION', myCRED_VERSION . '.1' );
15
 
16
+ require_once myCRED_RANKS_DIR . 'includes/mycred-rank-functions.php';
17
+ require_once myCRED_RANKS_DIR . 'includes/mycred-rank-shortcodes.php';
18
 
19
  /**
20
  * myCRED_Ranks_Module class
22
  * points, ranks are titles that can be given to users when their reach a certain
23
  * amount.
24
  * @since 1.1
25
+ * @version 1.3
26
  */
27
  if ( ! class_exists( 'myCRED_Ranks_Module' ) ) {
28
  class myCRED_Ranks_Module extends myCRED_Module {
38
  'base' => 'current',
39
  'slug' => 'mycred_rank',
40
  'bb_location' => 'top',
41
+ 'bb_template' => 'Rank: %rank_title%',
42
+ 'bp_location' => '',
43
+ 'bb_template' => 'Rank: %rank_title%',
44
  'order' => 'ASC',
45
  'support' => array(
46
  'content' => 0,
51
  )
52
  ),
53
  'register' => false,
54
+ 'add_to_core' => false
55
  ) );
56
 
57
  if ( ! isset( $this->rank['order'] ) )
67
  );
68
  }
69
 
70
+ /**
71
+ * Load
72
+ * Custom module load for multiple point type support.
73
+ * @since 1.6
74
+ * @version 1.0
75
+ */
76
+ public function load() {
77
+
78
+ add_action( 'mycred_pre_init', array( $this, 'module_pre_init' ) );
79
+ add_action( 'mycred_init', array( $this, 'module_init' ) );
80
+ add_action( 'mycred_admin_init', array( $this, 'module_admin_init' ) );
81
+
82
+ }
83
+
84
  /**
85
  * Hook into Init
86
  * @since 1.4.4
87
  * @version 1.0.1
88
  */
89
  public function module_pre_init() {
90
+
91
+ add_filter( 'mycred_has_tags', array( $this, 'user_tags' ) );
92
+ add_filter( 'mycred_parse_tags_user', array( $this, 'parse_rank' ), 10, 3 );
93
+ add_filter( 'mycred_post_type_excludes', array( $this, 'exclude_ranks' ) );
94
+ add_filter( 'mycred_add_finished', array( $this, 'balance_adjustment' ), 20, 3 );
95
+ add_action( 'mycred_zero_balances', array( $this, 'zero_balance_action' ) );
96
+
97
  }
98
 
99
  /**
100
  * Hook into Init
101
  * @since 1.1
102
+ * @version 1.5
103
  */
104
  public function module_init() {
105
+
106
  $this->register_post_type();
107
  $this->add_default_rank();
108
+ $this->add_multiple_point_types_support();
109
 
110
+ add_action( 'pre_get_posts', array( $this, 'adjust_wp_query' ), 20 );
111
  add_action( 'mycred_admin_enqueue', array( $this, 'enqueue_scripts' ) );
112
 
113
  // Instances to update ranks
114
  add_action( 'transition_post_status', array( $this, 'post_status_change' ), 99, 3 );
115
 
116
  // BuddyPress
117
+ if ( class_exists( 'BuddyPress' ) ) {
118
+ add_action( 'bp_before_member_header_meta', array( $this, 'insert_rank_header' ) );
119
+ add_action( 'bp_after_profile_loop_content', array( $this, 'insert_rank_profile' ) );
120
+ }
121
 
122
+ // bbPress
123
+ if ( class_exists( 'bbPress' ) ) {
124
+ add_action( 'bbp_theme_after_reply_author_details', array( $this, 'insert_rank_bb_reply' ) );
125
+ add_action( 'bbp_template_after_user_profile', array( $this, 'insert_rank_bb_profile' ) );
126
  }
127
 
128
  // Shortcodes
129
  add_shortcode( 'mycred_my_rank', 'mycred_render_my_rank' );
130
+ add_shortcode( 'mycred_my_ranks', 'mycred_render_my_ranks' );
131
  add_shortcode( 'mycred_users_of_rank', 'mycred_render_users_of_rank' );
132
  add_shortcode( 'mycred_users_of_all_ranks', 'mycred_render_users_of_all_ranks' );
133
  add_shortcode( 'mycred_list_ranks', 'mycred_render_rank_list' );
134
 
135
+ // Admin Management items
136
+
137
  add_action( 'wp_ajax_mycred-calc-totals', array( $this, 'calculate_totals' ) );
138
+
139
  }
140
 
141
  /**
142
  * Hook into Admin Init
143
  * @since 1.1
144
+ * @version 1.2
145
  */
146
  public function module_admin_init() {
147
+
148
+ add_filter( 'parent_file', array( $this, 'parent_file' ) );
149
+
150
+ add_filter( 'manage_mycred_rank_posts_columns', array( $this, 'adjust_column_headers' ), 50 );
151
  add_action( 'manage_mycred_rank_posts_custom_column', array( $this, 'adjust_column_content' ), 10, 2 );
152
 
153
+ add_filter( 'mycred_users_balance_column', array( $this, 'custom_user_column_content' ), 10, 3 );
 
154
 
155
  add_filter( 'post_row_actions', array( $this, 'adjust_row_actions' ), 10, 2 );
156
 
158
  add_filter( 'enter_title_here', array( $this, 'enter_title_here' ) );
159
 
160
  add_action( 'add_meta_boxes_mycred_rank', array( $this, 'add_meta_boxes' ) );
161
+ add_action( 'save_post_mycred_rank', array( $this, 'save_rank_settings' ) );
162
 
163
  add_action( 'wp_ajax_mycred-action-delete-ranks', array( $this, 'action_delete_ranks' ) );
164
  add_action( 'wp_ajax_mycred-action-assign-ranks', array( $this, 'action_assign_ranks' ) );
165
+
166
  }
167
+
168
+ /**
169
+ * Add Multiple Point Types Support
170
+ * @since 1.6
171
+ * @version 1.0
172
+ */
173
+ public function add_multiple_point_types_support() {
174
+
175
+ add_action( 'mycred_management_prefs', array( $this, 'rank_management' ) );
176
+ add_action( 'mycred_after_core_prefs', array( $this, 'after_general_settings' ) );
177
+ add_filter( 'mycred_save_core_prefs', array( $this, 'sanitize_extra_settings' ), 90, 3 );
178
+
179
+ if ( count( $this->point_types ) > 1 ) {
180
+
181
+ add_action( 'admin_menu', array( $this, 'add_menus' ) );
182
+
183
+ $priority = 10;
184
+ foreach ( $this->point_types as $type_id => $label ) {
185
+
186
+ add_action( 'mycred_management_prefs' . $type_id, array( $this, 'rank_management' ), $priority );
187
+
188
+ add_action( 'mycred_after_core_prefs' . $type_id, array( $this, 'after_general_settings' ), $priority );
189
+ add_filter( 'mycred_save_core_prefs' . $type_id, array( $this, 'sanitize_extra_settings' ), $priority, 3 );
190
+
191
+ $priority = $priority+10;
192
+
193
+ }
194
+ }
195
+
196
+ }
197
+
198
+ /**
199
+ * Add Admin Menu Item
200
+ * @since 1.6
201
+ * @version 1.0
202
+ */
203
+ public function add_menus() {
204
+
205
+ $cap = $this->core->edit_plugin_cap();
206
+
207
+ foreach ( $this->point_types as $type_id => $label ) {
208
+
209
+ add_submenu_page(
210
+ ( $type_id == 'mycred_default' ) ? 'myCRED' : 'myCRED_' . $type_id,
211
+ __( 'Ranks', 'mycred' ),
212
+ __( 'Ranks', 'mycred' ),
213
+ $cap,
214
+ 'edit.php?post_type=mycred_rank&ctype=' . $type_id
215
+ );
216
+
217
+ }
218
+
219
+ }
220
+
221
+ /**
222
+ * Parent File
223
+ * @since 1.6
224
+ * @version 1.0
225
+ */
226
+ public function parent_file( $parent = '' ) {
227
+
228
+ global $pagenow;
229
+
230
+ if ( $pagenow == 'edit.php' || $pagenow == 'post-new.php' ) {
231
+
232
+ if ( isset( $_GET['ctype'] ) && $_GET['ctype'] != 'mycred_default' )
233
+ return 'myCRED_' . $_GET['ctype'];
234
+ else
235
+ return 'myCRED';
236
+
237
+ }
238
+
239
+ return $parent;
240
+ }
241
+
242
+ /**
243
+ * Zero Balance Action
244
+ * When an admin selects to zero out all balances
245
+ * we want to remove all ranks as well.
246
+ * @since 1.6
247
+ * @version 1.0
248
+ */
249
+ public function zero_balance_action( $type = '' ) {
250
+
251
+ global $wpdb;
252
+
253
+ // Get rank key
254
+ $rank_meta_key = 'mycred_rank';
255
+ if ( $this->core->is_multisite && $GLOBALS['blog_id'] > 1 && ! $this->core->use_master_template )
256
+ $rank_meta_key .= '_' . $GLOBALS['blog_id'];
257
+
258
+ if ( array_key_exists( $type, $this->point_types ) && $type != 'mycred_default' )
259
+ $rank_meta_key .= $type;
260
+
261
+ $wpdb->delete(
262
+ $wpdb->usermeta,
263
+ array( 'meta_key' => $rank_meta_key ),
264
+ array( '%s' )
265
+ );
266
+
267
+ }
268
+
269
  /**
270
  * Delete Ranks
271
  * @since 1.3.2
272
+ * @version 1.1
273
  */
274
  public function action_delete_ranks() {
275
+
276
+ // Security
277
  check_ajax_referer( 'mycred-management-actions-roles', 'token' );
278
 
279
+ // Define type
280
+ $type = 'mycred_default';
281
+ if ( isset( $_POST['ctype'] ) && array_key_exists( $_POST['ctype'], $this->point_types ) )
282
+ $type = sanitize_text_field( $_POST['ctype'] );
283
+
284
  global $wpdb;
285
 
286
+ // Get the appropriate tables based on setup
287
+ if ( ! mycred_override_settings() ) {
288
+ $posts = $wpdb->posts;
289
+ $postmeta = $wpdb->postmeta;
290
+ }
291
+ else {
292
+ $posts = $wpdb->base_prefix . 'posts';
293
+ $postmeta = $wpdb->base_prefix . 'postmeta';
294
+ }
295
+
296
  // First get the ids of all existing ranks
297
+ $rank_ids = $wpdb->get_col( $wpdb->prepare( "
298
+ SELECT DISTINCT ranks.ID
299
+ FROM {$posts} ranks
300
+ INNER JOIN {$postmeta} ctype
301
+ ON ( ranks.ID = ctype.post_id AND ctype.meta_key = %s )
302
+ WHERE ranks.post_type = %s
303
+ AND ctype.meta_value = %s;", 'ctype', 'mycred_rank', $type ) );
304
+
305
+ // If ranks were found
306
+ $rows = 0;
307
+ if ( ! empty( $rank_ids ) ) {
308
+
309
+ $id_list = implode( ',', $rank_ids );
310
+
311
+ // Remove posts
312
  $wpdb->query( "
313
+ DELETE FROM {$posts}
314
+ WHERE post_type = 'mycred_rank'
315
+ AND post_id IN ({$id_list});" );
316
 
317
+ // Remove post meta
318
+ $wpdb->query( "
319
+ DELETE FROM {$postmeta}
320
+ WHERE post_id IN ({$id_list});" );
321
+
322
+ // Confirm that ranks are gone by counting ranks
323
+ // If all went well this should return zero.
324
+ $rows = $wpdb->get_var( $wpdb->prepare( "
325
+ SELECT COUNT(*)
326
+ FROM {$posts} ranks
327
+ INNER JOIN {$postmeta} ctype
328
+ ON ( ranks.ID = ctype.post_id AND ctype.meta_key = %s )
329
+ WHERE ranks.post_type = %s
330
+ AND ctype.meta_value = %s;", 'ctype', 'mycred_rank', $type ) );
331
+
332
+ }
333
 
334
  die( json_encode( array( 'status' => 'OK', 'rows' => $rows ) ) );
335
+
336
  }
337
 
338
  /**
339
  * Assign Ranks
340
  * @since 1.3.2
341
+ * @version 1.1
342
  */
343
  public function action_assign_ranks() {
344
+
345
  check_ajax_referer( 'mycred-management-actions-roles', 'token' );
346
 
347
+ $type = 'mycred_default';
348
+ if ( isset( $_POST['ctype'] ) && array_key_exists( $_POST['ctype'], $this->point_types ) )
349
+ $type = sanitize_text_field( $_POST['ctype'] );
350
+
351
+ $adjustments = mycred_assign_ranks( $type );
352
  die( json_encode( array( 'status' => 'OK', 'rows' => $adjustments ) ) );
353
+
354
  }
355
 
356
  /**
373
  $screen = get_current_screen();
374
 
375
  // Ranks List Page
376
+ if ( preg_match( '/(edit-mycred_rank)/', $screen->id, $matches ) ) {
377
+
378
  wp_enqueue_style( 'mycred-admin' );
379
 
380
+ if ( isset( $_GET['ctype'] ) && array_key_exists( $_GET['ctype'], $this->point_types ) ) :
381
+
382
+ wp_register_script(
383
+ 'mycred-rank-tweaks',
384
+ plugins_url( 'assets/js/tweaks.js', myCRED_RANKS ),
385
+ array( 'jquery' ),
386
+ myCRED_VERSION . '.1'
387
+ );
388
+ wp_localize_script(
389
+ 'mycred-rank-tweaks',
390
+ 'myCRED_Ranks',
391
+ array(
392
+ 'rank_ctype' => $_GET['ctype']
393
+ )
394
+ );
395
+ wp_enqueue_script( 'mycred-rank-tweaks' );
396
+
397
+ endif;
398
+
399
+ }
400
+
401
  // Edit Rank Page
402
  if ( preg_match( '/(mycred_rank)/', $screen->id, $matches ) ) {
403
  wp_enqueue_style( 'mycred-admin' );
405
  }
406
 
407
  // Insert management script
408
+ if ( preg_match( '/(myCRED_page_settings)/', $screen->id, $matches ) || substr( $screen->id, -14, 14 ) == '_page_settings' ) {
409
  wp_register_script(
410
  'mycred-rank-management',
411
+ plugins_url( 'assets/js/management.js', myCRED_RANKS ),
412
  array( 'jquery' ),
413
  myCRED_VERSION . '.1'
414
  );
418
  array(
419
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
420
  'token' => wp_create_nonce( 'mycred-management-actions-roles' ),
421
+ 'working' => esc_attr__( 'Processing...', 'mycred' ),
422
+ 'confirm_del' => esc_attr__( 'Warning! All ranks will be deleted! This can not be undone!', 'mycred' ),
423
+ 'confirm_assign' => esc_attr__( 'Are you sure you want to re-assign user ranks?', 'mycred' )
424
  )
425
  );
426
  wp_enqueue_script( 'mycred-rank-management' );
430
  /**
431
  * Register Rank Post Type
432
  * @since 1.1
433
+ * @version 1.3
434
  */
435
  public function register_post_type() {
436
+
437
+ if ( isset( $_GET['ctype'] ) && array_key_exists( $_GET['ctype'], $this->point_types ) && isset( $_GET['post_type'] ) && $_GET['post_type'] == 'mycred_rank' )
438
+ $name = sprintf( __( 'Ranks for %s', 'mycred' ), $this->point_types[ $_GET['ctype'] ] );
439
+ else
440
+ $name = __( 'Ranks', 'mycred' );
441
+
442
  $labels = array(
443
+ 'name' => $name,
444
  'singular_name' => __( 'Rank', 'mycred' ),
445
  'add_new' => __( 'Add New', 'mycred' ),
446
  'add_new_item' => __( 'Add New Rank', 'mycred' ),
468
  if ( isset( $this->rank['support']['custom-fields'] ) && $this->rank['support']['custom-fields'] )
469
  $supports[] = 'custom-fields';
470
 
471
+ // Where to show the menu
472
+ $show = false;
473
+ if ( count( $this->point_types ) == 1 )
474
+ $show = 'myCRED';
475
+
476
+ // Custom Post Type Attributes
477
  $args = array(
478
  'labels' => $labels,
479
  'public' => (bool) $this->rank['public'],
480
  'publicly_queryable' => (bool) $this->rank['public'],
481
  'has_archive' => (bool) $this->rank['public'],
482
  'show_ui' => true,
483
+ 'show_in_menu' => $show,
484
  'capability_type' => 'page',
485
  'supports' => $supports
486
  );
487
 
488
  // Rewrite
489
+ if ( $this->rank['public'] && ! empty( $this->rank['slug'] ) )
490
  $args['rewrite'] = array( 'slug' => $this->rank['slug'] );
491
+
492
+ register_post_type( 'mycred_rank', apply_filters( 'mycred_register_ranks', $args, $this ) );
493
+
494
  }
495
 
496
  /**
497
  * AJAX: Calculate Totals
498
  * @since 1.2
499
+ * @version 1.3
500
  */
501
  public function calculate_totals() {
502
+
503
  // Security
504
  check_ajax_referer( 'mycred-calc-totals', 'token' );
505
 
506
+ $type = 'mycred_default';
507
+ if ( isset( $_POST['ctype'] ) && array_key_exists( $_POST['ctype'], $this->point_types ) )
508
+ $type = sanitize_text_field( $_POST['ctype'] );
 
 
 
509
 
510
+ $balance_key = $type;
 
 
 
511
 
512
+ if ( $mycred->is_multisite && $GLOBALS['blog_id'] > 1 && ! $mycred->use_central_logging )
513
+ $balance_key .= '_' . $GLOBALS['blog_id'];
 
 
 
 
 
 
514
 
515
+ global $wpdb;
 
 
 
 
 
516
 
517
+ // Get all users that have a balance. Excluded users will have no balance
518
+ $users = $wpdb->get_col( $wpdb->prepare( "
519
+ SELECT DISTINCT user_id
520
+ FROM {$wpdb->usermeta}
521
+ WHERE meta_key = %s", $balance_key ) );
522
 
523
  $count = 0;
524
+ if ( ! empty( $users ) ) {
525
+
526
+ // Get the total for each user with a balance
527
+ foreach ( $users as $user_id ) {
528
 
529
+ $total = mycred_query_users_total( $user_id, $type );
530
+ mycred_update_user_meta( $user_id, $type, '_total', $total );
531
+ $count ++;
532
 
 
533
  }
534
+
535
  }
536
 
537
+ die( json_encode( sprintf( __( 'Completed - Total of %d users effected', 'mycred' ), $count ) ) );
538
+
 
 
539
  }
540
 
541
  /**
542
  * Balance Adjustment
543
  * Check if users rank should change.
544
  * @since 1.1
545
+ * @version 1.4
546
  */
547
+ public function balance_adjustment( $result, $request, $mycred ) {
 
 
 
 
 
 
 
548
 
549
+ // If the result was declined
550
+ if ( $result === false )
551
+ return $result;
552
 
553
+ // If ranks for this type is based on total and this is not a admin adjustment
554
+ if ( mycred_rank_based_on_total( $request['type'] ) && $request['amount'] < 0 && $request['ref'] != 'manual' )
555
+ return $result;
556
 
557
+ // Find users rank
558
+ mycred_find_users_rank( (int) $request['user_id'], true, $request['type'] );
 
559
 
560
+ return $result;
561
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
562
  }
563
 
564
  /**
565
  * Publishing Content
566
  * Check if users rank should change.
567
  * @since 1.1
568
+ * @version 1.4
569
  */
570
  public function post_status_change( $new_status, $old_status, $post ) {
571
+
572
  global $mycred_ranks;
573
 
574
  // Only ranks please
575
  if ( $post->post_type != 'mycred_rank' ) return;
576
 
577
+ $type = get_post_meta( $post->ID, 'ctype', true );
578
+ if ( $type == '' ) {
579
+ $type = 'mycred_default';
580
+ update_post_meta( $post->ID, 'ctype', $type );
581
+ }
582
+
583
  // Publishing rank
584
  if ( $new_status == 'publish' && $old_status != 'publish' )
585
+ mycred_assign_ranks( $type );
586
 
587
  // Trashing of rank
588
  elseif ( $new_status == 'trash' && $old_status != 'trash' )
589
+ mycred_assign_ranks( $type );
590
+
591
  }
592
 
593
  /**
594
  * Adjust Rank Sort Order
595
  * Adjusts the wp query when viewing ranks to order by the min. point requirement.
596
  * @since 1.1.1
597
+ * @version 1.2
598
  */
599
  public function adjust_wp_query( $query ) {
 
 
 
600
 
601
+ // Front End Queries
602
+ if ( ! is_admin() ) {
603
+
604
+ if ( ! is_post_type_archive( 'mycred_rank' ) ) return;
605
+
606
+ // By default we want to only show ranks for the main point type
607
+ if ( ! isset( $_GET['ctype'] ) && $query->is_main_query() ) {
608
+ $query->set( 'meta_query', array(
609
+ array(
610
+ 'key' => 'ctype',
611
+ 'value' => 'mycred_default',
612
+ 'compare' => '='
613
+ )
614
+ ) );
615
+ }
616
+
617
+ // Otherwise if ctype is set and it is a point type filter the results
618
+ elseif ( isset( $_GET['ctype'] ) && array_key_exists( $_GET['ctype'], $this->point_types ) ) {
619
+ $query->set( 'meta_query', array(
620
+ array(
621
+ 'key' => 'ctype',
622
+ 'value' => $_GET['ctype'],
623
+ 'compare' => '='
624
+ )
625
+ ) );
626
+ }
627
+
628
+ }
629
+
630
+ // Admin Queries
631
+ else {
632
+
633
+ if ( ! isset( $query->query['post_type'] ) || $query->query['post_type'] != 'mycred_rank' ) return;
634
+
635
+ // If ctype is set, filter ranks according to it's value
636
+ if ( isset( $_GET['ctype'] ) && array_key_exists( $_GET['ctype'], $this->point_types ) ) {
637
+ $query->set( 'meta_query', array(
638
+ array(
639
+ 'key' => 'ctype',
640
+ 'value' => $_GET['ctype'],
641
+ 'compare' => '='
642
+ )
643
+ ) );
644
+ }
645
+
646
+ }
647
+
648
+ // Sort by meta value
649
+ $query->set( 'meta_key', 'mycred_rank_min' );
650
+ $query->set( 'orderby', 'meta_value_num' );
651
+
652
+ // Sort order
653
+ if ( ! isset( $this->rank['order'] ) ) $this->rank['order'] = 'ASC';
654
+ $query->set( 'order', $this->rank['order'] );
655
+
656
+ }
657
+
658
+ /**
659
+ * User Related Template Tags
660
+ * Adds support for ranks of custom point types.
661
+ * @since 1.6
662
+ * @version 1.0
663
+ */
664
+ public function user_tags( $tags ) {
665
+
666
+ $tags = explode( '|', $tags );
667
+ $tags[] = 'rank';
668
+ $tags[] = 'rank_logo';
669
+
670
+ foreach ( $this->point_types as $type_id => $label ) {
671
+
672
+ if ( $type_id == 'mycred_default' ) continue;
673
+ $tags[] = 'rank_' . $type_id;
674
+ $tags[] = 'rank_logo_' . $type_id;
675
+
676
  }
677
 
678
+ return implode( '|', $tags );
679
+
680
  }
681
 
682
  /**
683
  * Parse Rank
684
  * Parses the %rank% and %rank_logo% template tags.
685
  * @since 1.1
686
+ * @version 1.2
687
  */
688
  public function parse_rank( $content, $user = '', $data = '' ) {
689
+
690
  // No rank no need to run
691
  if ( ! preg_match( '/(%rank[%|_])/', $content ) ) return $content;
692
 
693
+ // User ID does not exist ( user no longer exists )
694
  if ( ! isset( $user->ID ) ) {
695
+ foreach ( $this->point_types as $type_id => $label ) {
696
+ if ( $type_id == 'mycred_default' ) {
697
+ $content = str_replace( '%rank%', '', $content );
698
+ $content = str_replace( '%rank_logo%', '', $content );
699
+ }
700
+ else {
701
+ $content = str_replace( '%rank_' . $type_id . '%', '', $content );
702
+ $content = str_replace( '%rank_logo_' . $type_id . '%', '', $content );
703
+ }
704
+ }
705
  }
706
+
707
+ // Got a user ID
708
  else {
 
 
709
 
710
+ // Loop the point types and replace template tags
711
+ foreach ( $this->point_types as $type_id => $label ) {
712
+ $rank_id = mycred_get_users_rank_id( $user_id, $type_id );
713
+ if ( $rank_id === NULL ) {
714
+ if ( $type_id == 'mycred_default' ) {
715
+ $content = str_replace( '%rank%', '', $content );
716
+ $content = str_replace( '%rank_logo%', '', $content );
717
+ }
718
+ else {
719
+ $content = str_replace( '%rank%', '', $content );
720
+ $content = str_replace( '%rank_logo%', '', $content );
721
+ }
722
+ }
723
+ else {
724
+ if ( $type_id == 'mycred_default' ) {
725
+ $content = str_replace( '%rank%', get_the_title( $rank_id ), $content );
726
+ $content = str_replace( '%rank_logo%', mycred_get_rank_logo( $rank_id ), $content );
727
+ }
728
+ else {
729
+ $content = str_replace( '%rank_' . $type_id . '%', get_the_title( $rank_id ), $content );
730
+ $content = str_replace( '%rank_logo_' . $type_id . '%', mycred_get_rank_logo( $rank_id ), $content );
731
+ }
732
+ }
733
+ }
734
+ }
735
 
736
  return $content;
737
+
738
  }
739
 
740
  /**
741
  * Insert Rank In Profile Header
742
  * @since 1.1
743
+ * @version 1.3
744
  */
745
  public function insert_rank_header() {
746
+
747
+ $output = '';
748
  $user_id = bp_displayed_user_id();
 
749
 
750
+ foreach ( $this->point_types as $type_id => $label ) {
751
+
752
+ // Load type
753
+ $mycred = mycred( $type_id );
754
+
755
+ // User is excluded from this type
756
+ if ( $mycred->exclude_user( $user_id ) ) continue;
757
+
758
+ // No settings
759
+ if ( ! isset( $mycred->rank['bb_location'] ) ) continue;
760
+
761
+ // Not shown
762
+ if ( ! in_array( $mycred->rank['bb_location'], array( 'top', 'both' ) ) ) continue;
763
+
764
+ // Get rank (if user has one
765
+ $users_rank = mycred_get_users_rank_id( $user_id, $type_id );
766
+ if ( $users_rank === NULL ) continue;
767
+
768
+ // Parse template
769
+ $template = $mycred->rank['bb_template'];
770
+ $template = str_replace( '%rank_title%', get_the_title( $users_rank ), $template );
771
+ $template = str_replace( '%rank_logo%', mycred_get_rank_logo( $users_rank ), $template );
772
+
773
+ // Let others play
774
+ $output .= apply_filters( 'mycred_bp_header_ranks_row', $template, $user_id, $users_rank, $mycred, $this );
775
+
776
+ }
777
+
778
+ if ( $output == '' ) return;
779
+
780
+ echo '<div id="mycred-my-rank">' . apply_filters( 'mycred_bp_rank_in_header', $output, $user_id, $this ) . '</div>';
781
+
782
  }
783
 
784
  /**
785
  * Insert Rank In Profile Details
786
  * @since 1.1
787
+ * @version 1.3
788
  */
789
  public function insert_rank_profile() {
790
+
791
+ $output = '';
792
  $user_id = bp_displayed_user_id();
 
793
 
794
+ $count = 0;
795
+ foreach ( $this->point_types as $type_id => $label ) {
796
+
797
+ // Load type
798
+ $mycred = mycred( $type_id );
799
+
800
+ // User is excluded from this type
801
+ if ( $mycred->exclude_user( $user_id ) ) continue;
802
+
803
+ // No settings
804
+ if ( ! isset( $mycred->rank['bb_location'] ) ) continue;
805
+
806
+ // Not shown
807
+ if ( ! in_array( $mycred->rank['bb_location'], array( 'profile_tab', 'both' ) ) ) continue;
808
+
809
+ // Get rank (if user has one
810
+ $users_rank = mycred_get_users_rank_id( $user_id, $type_id );
811
+ if ( $users_rank === NULL ) continue;
812
+
813
+ // Parse template
814
+ $template = $mycred->rank['bb_template'];
815
+ $template = str_replace( '%rank_title%', get_the_title( $users_rank ), $template );
816
+ $template = str_replace( '%rank_logo%', mycred_get_rank_logo( $users_rank ), $template );
817
+
818
+ // Let others play
819
+ $output .= apply_filters( 'mycred_bp_profile_ranks_row', $template, $user_id, $users_rank, $mycred, $this );
820
+ $count ++;
821
+
822
+ }
823
+
824
+ if ( $output == '' ) return;
825
+
826
+ ?>
827
 
828
  <div class="bp-widget mycred-field">
829
  <table class="profile-fields">
830
  <tr id="mycred-users-rank">
831
+ <td class="label"><?php if ( $count == 1 ) _e( 'Rank', 'mycred' ); else _e( 'Ranks', 'mycred' ); ?></td>
832
  <td class="data">
833
+ <?php echo apply_filters( 'mycred_bp_rank_in_profile', $output, $user_id, $this ); ?>
834
 
835
  </td>
836
  </tr>
837
  </table>
838
  </div>
839
  <?php
840
+
841
+ }
842
+
843
+ /**
844
+ * Insert Rank In bbPress Reply
845
+ * @since 1.6
846
+ * @version 1.0
847
+ */
848
+ public function insert_rank_bb_reply() {
849
+
850
+ $output = '';
851
+ $user_id = bbp_get_reply_author_id();
852
+ if ( $user_id == 0 ) return;
853
+
854
+ foreach ( $this->point_types as $type_id => $label ) {
855
+
856
+ // Load type
857
+ $mycred = mycred( $type_id );
858
+
859
+ // User is excluded from this type
860
+ if ( $mycred->exclude_user( $user_id ) ) continue;
861
+
862
+ // No settings
863
+ if ( ! isset( $mycred->rank['bp_location'] ) ) continue;
864
+
865
+ // Not shown
866
+ if ( ! in_array( $mycred->rank['bp_location'], array( 'reply', 'both' ) ) ) continue;
867
+
868
+ // Get rank (if user has one
869
+ $users_rank = mycred_get_users_rank_id( $user_id, $type_id );
870
+ if ( $users_rank === NULL ) continue;
871
+
872
+ // Parse template
873
+ $template = $mycred->rank['bp_template'];
874
+ $template = str_replace( '%rank_title%', get_the_title( $users_rank ), $template );
875
+ $template = str_replace( '%rank_logo%', mycred_get_rank_logo( $users_rank ), $template );
876
+
877
+ // Let others play
878
+ $output .= apply_filters( 'mycred_bb_reply_ranks_row', $template, $user_id, $users_rank, $mycred, $this );
879
+
880
+ }
881
+
882
+ if ( $output == '' ) return;
883
+
884
+ echo '<div id="mycred-my-rank">' . apply_filters( 'mycred_bb_rank_in_reply', $output, $user_id, $this ) . '</div>';
885
+
886
+ }
887
+
888
+ /**
889
+ * Insert Rank In bbPress Profile
890
+ * @since 1.6
891
+ * @version 1.0
892
+ */
893
+ public function insert_rank_bb_profile() {
894
+
895
+ $output = '';
896
+ $user_id = bbp_get_displayed_user_id();
897
+
898
+ foreach ( $this->point_types as $type_id => $label ) {
899
+
900
+ // Load type
901
+ $mycred = mycred( $type_id );
902
+
903
+ // User is excluded from this type
904
+ if ( $mycred->exclude_user( $user_id ) ) continue;
905
+
906
+ // No settings
907
+ if ( ! isset( $mycred->rank['bp_location'] ) ) continue;
908
+
909
+ // Not shown
910
+ if ( ! in_array( $mycred->rank['bp_location'], array( 'profile', 'both' ) ) ) continue;
911
+
912
+ // Get rank (if user has one
913
+ $users_rank = mycred_get_users_rank_id( $user_id, $type_id );
914
+ if ( $users_rank === NULL ) continue;
915
+
916
+ // Parse template
917
+ $template = $mycred->rank['bp_template'];
918
+ $template = str_replace( '%rank_title%', get_the_title( $users_rank ), $template );
919
+ $template = str_replace( '%rank_logo%', mycred_get_rank_logo( $users_rank ), $template );
920
+
921
+ // Let others play
922
+ $output .= apply_filters( 'mycred_bb_profile_ranks_row', $template, $user_id, $users_rank, $mycred, $this );
923
+
924
+ }
925
+
926
+ if ( $output == '' ) return;
927
+
928
+ echo '<div id="mycred-my-rank">' . apply_filters( 'mycred_bb_rank_in_profile', $output, $user_id, $this ) . '</div>';
929
+
930
  }
931
 
932
  /**
938
  * @uses get_users()
939
  * @uses update_user_meta()
940
  * @since 1.1
941
+ * @version 1.1
942
  */
943
  public function add_default_rank() {
 
944
 
945
  // If there are no ranks at all
946
  if ( ! mycred_have_ranks() ) {
947
  // Construct a new post
948
  $rank = array();
949
+ $rank['post_title'] = 'Newbie';
950
+ $rank['post_type'] = 'mycred_rank';
951
  $rank['post_status'] = 'publish';
952
 
953
  // Insert new rank post
956
  // Update min and max values
957
  update_post_meta( $rank_id, 'mycred_rank_min', 0 );
958
  update_post_meta( $rank_id, 'mycred_rank_max', 9999999 );
959
+ update_post_meta( $rank_id, 'ctype', 'mycred_default' );
960
 
961
  $mycred_ranks = 1;
962
  mycred_assign_ranks();
963
  }
964
+
965
  }
966
 
967
  /**
968
  * Adjust Post Updated Messages
969
  * @since 1.1
970
+ * @version 1.2
971
  */
972
  public function post_updated_messages( $messages ) {
 
973
 
974
  $messages['mycred_rank'] = array(
975
+ 0 => __( 'Rank Updated.', 'mycred' ),
976
  1 => __( 'Rank Updated.', 'mycred' ),
977
+ 2 => __( 'Rank Updated.', 'mycred' ),
978
+ 3 => __( 'Rank Updated.', 'mycred' ),
979
  4 => __( 'Rank Updated.', 'mycred' ),
980
+ 5 => __( 'Rank Updated.', 'mycred' ),
981
  6 => __( 'Rank Enabled', 'mycred' ),
982
  7 => __( 'Rank Saved', 'mycred' ),
983
  8 => __( 'Rank Updated.', 'mycred' ),
984
  9 => __( 'Rank Updated.', 'mycred' ),
985
  10 => ''
986
  );
 
987
  return $messages;
988
+
989
  }
990
 
991
  /**
1005
  }
1006
 
1007
  /**
1008
+ * Custom User Balance Content
1009
+ * Inserts a users rank for each point type.
1010
+ * @since 1.6
1011
  * @version 1.0
1012
  */
1013
+ public function custom_user_column_content( $balance, $user_id, $type ) {
 
 
 
1014
 
1015
+ $rank = mycred_get_users_rank( $user_id, 'post_title', NULL, NULL, $type );
1016
+ if ( $rank == '' )
1017
+ $rank = '-';
1018
+
1019
+ $balance .= '<small style="display:block;">' . sprintf( __( '<strong>Rank:</strong> %s', 'mycred' ), $rank ) . '</small>';
1020
+ return $balance;
 
 
1021
 
 
1022
  }
1023
 
1024
  /**
1025
  * Adjust Rank Column Header
1026
  * @since 1.1
1027
+ * @version 1.2
1028
  */
1029
  public function adjust_column_headers( $defaults ) {
1030
+
1031
+ $columns = array();
1032
+ $columns['cb'] = $defaults['cb'];
1033
 
1034
  // Add / Adjust
1035
+ $columns['title'] = __( 'Rank Title', 'mycred' );
1036
+ $columns['mycred-rank-logo'] = __( 'Logo', 'mycred' );
1037
+ $columns['mycred-rank-req'] = __( 'Requirement', 'mycred' );
1038
+ $columns['mycred-rank-users'] = __( 'Users', 'mycred' );
1039
+
1040
+ if ( count( $this->point_types ) > 1 )
1041
+ $columns['mycred-rank-type'] = __( 'Point Type', 'mycred' );
1042
 
1043
  // Return
1044
+ return $columns;
1045
  }
1046
 
1047
  /**
1048
  * Adjust Rank Column Content
1049
  * @since 1.1
1050
+ * @version 1.1
1051
  */
1052
  public function adjust_column_content( $column_name, $post_id ) {
1053
+
1054
+ $type = get_post_meta( $post_id, 'ctype', true );
1055
+ if ( $type == '' )
1056
+ $type = 'mycred_default';
1057
+
1058
  // Rank Logo (thumbnail)
1059
  if ( $column_name == 'mycred-rank-logo' ) {
1060
  $logo = mycred_get_rank_logo( $post_id, 'thumbnail' );
1061
  if ( empty( $logo ) )
1062
+ echo __( 'No Logo Set', 'mycred' );
1063
  else
1064
+ echo $logo;
1065
+
1066
  }
1067
+
1068
  // Rank Requirement (custom metabox)
1069
  elseif ( $column_name == 'mycred-rank-req' ) {
1070
+
1071
+ $mycred = $this->core;
1072
+ if ( $type != 'mycred_default' )
1073
+ $mycred = mycred( $type );
1074
+
1075
  $min = get_post_meta( $post_id, 'mycred_rank_min', true );
1076
  if ( empty( $min ) && (int) $min !== 0 )
1077
  $min = __( 'Any Value', 'mycred' );
1082
  $max = __( 'Any Value', 'mycred' );
1083
 
1084
  $max = $mycred->template_tags_general( __( 'Maximum %plural%', 'mycred' ) ) . ': ' . $max;
1085
+ echo $min . '<br />' . $max;
1086
+
1087
  }
1088
+
1089
  // Rank Users (user list)
1090
  elseif ( $column_name == 'mycred-rank-users' ) {
1091
+
1092
+ echo mycred_count_users_with_rank( $post_id );
1093
+
1094
+ }
1095
+
1096
+ // Rank Point Type
1097
+ if ( $column_name == 'mycred-rank-type' ) {
1098
+
1099
+ if ( isset( $this->point_types[ $type ] ) )
1100
+ echo $this->point_types[ $type ];
1101
+ else
1102
+ echo $this->core->plural();
1103
+
1104
  }
1105
+
1106
  }
1107
 
1108
  /**
1137
  /**
1138
  * Rank Settings Metabox
1139
  * @since 1.1
1140
+ * @version 1.1
1141
  */
1142
  public function rank_settings( $post ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1143
 
1144
+ // Get type
1145
+ $type = get_post_meta( $post->ID, 'ctype', true );
1146
+ if ( $type == '' ) {
1147
+ $type = 'mycred_default';
1148
+ update_post_meta( $post->ID, 'ctype', $type );
1149
+ }
1150
+
1151
+ // If a custom type has been requested via the URL
1152
+ if ( isset( $_REQUEST['ctype'] ) && ! empty( $_REQUEST['ctype'] ) )
1153
+ $type = sanitize_text_field( $_REQUEST['ctype'] );
1154
+
1155
+ // Load the appropriate type object
1156
+ $mycred = $this->core;
1157
+ if ( $type != 'mycred_default' )
1158
+ $mycred = mycred( $type );
1159
+
1160
+ // Get min and max setting for this rank
1161
+ $min = get_post_meta( $post->ID, 'mycred_rank_min', true );
1162
+ $max = get_post_meta( $post->ID, 'mycred_rank_max', true );
1163
+
1164
+ ?>
1165
+ <style type="text/css">
1166
+ #submitdiv .misc-pub-curtime { display: none; }
1167
+ #mycred_rank_settings .inside { margin: 0; padding: 0; clear: both; }
1168
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper { float: none; clear: both; }
1169
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper .box { width: 48%; float: left; margin: 0; padding: 0; }
1170
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper .box .wrap { padding: 12px; margin: 0; }
1171
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper .border { border-right: 1px solid #ddd; margin-right: -1px; }
1172
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper p { margin: 0 0 0 0; }
1173
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper ul li strong { display: inline-block; width: 60%; }
1174
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper label { font-weight: bold; display: block; }
1175
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper input[type="text"],
1176
+ #mycred_rank_settings .inside #mycred-rank-setup-wrapper select { min-width: 60%; margin-bottom: 12px; }
1177
+ </style>
1178
+ <div id="mycred-rank-setup-wrapper">
1179
+ <div class="box border">
1180
+ <div class="wrap">
1181
+ <p>
1182
+ <label for="mycred-rank-min"><?php echo $mycred->template_tags_general( __( 'Minimum %plural% to reach this rank', 'mycred' ) ); ?>:</label>
1183
+ <input type="text" name="mycred_rank[min]" id="mycred-rank-min" value="<?php echo $min; ?>" />
1184
+ </p>
1185
+ <p>
1186
+ <label for="mycred-rank-max"><?php echo $mycred->template_tags_general( __( 'Maximum %plural% to be included in this rank', 'mycred' ) ); ?>:</label>
1187
+ <input type="text" name="mycred_rank[max]" id="mycred-rank-max" value="<?php echo $max; ?>" />
1188
+ </p>
1189
+ <?php if ( count( $this->point_types ) > 1 ) : ?>
1190
+ <p>
1191
+ <label for="mycred-rank-point-type"><?php _e( 'Point Type', 'mycred' ); ?></label>
1192
+ <?php mycred_types_select_from_dropdown( 'mycred_rank[ctype]', 'mycred-rank-point-type', $type ); ?>
1193
+ </p>
1194
+ <?php else : ?>
1195
+ <input type="hidden" name="mycred_rank[ctype]" value="mycred_default" />
1196
+ <?php endif; ?>
1197
+
1198
+ <?php do_action( 'mycred_rank_after_req', $post, $this->core ); ?>
1199
+
1200
+ </div>
1201
  </div>
1202
+ <div class="box">
1203
+ <div class="wrap">
1204
+ <p><?php _e( 'All Published Ranks', 'mycred' ); ?>:</p>
1205
  <?php
1206
+
1207
+ // Get all published ranks for this type
1208
+ $all = mycred_get_ranks( 'publish', '-1', 'DESC', $type );
1209
+
1210
  if ( ! empty( $all ) ) {
1211
+ echo '<ul>';
1212
  foreach ( $all as $rank_id => $rank ) {
1213
  $_min = get_post_meta( $rank_id, 'mycred_rank_min', true );
1214
  if ( empty( $_min ) && (int) $_min !== 0 ) $_min = __( 'Not Set', 'mycred' );
1215
  $_max = get_post_meta( $rank_id, 'mycred_rank_max', true );
1216
  if ( empty( $_max ) ) $_max = __( 'Not Set', 'mycred' );
1217
+ echo '<li><strong>' . $rank->post_title . '</strong> ' . $_min . ' - ' . $_max . '</li>';
1218
  }
1219
+ echo '</ul>';
1220
  }
1221
  else {
1222
  echo '<p>' . __( 'No Ranks found', 'mycred' ) . '.</p>';
1223
+ }
1224
+
1225
+ ?>
1226
+
1227
+ <input type="hidden" name="mycred_rank[token]" value="<?php echo wp_create_nonce( 'mycred-edit-rank' . $post->ID ); ?>" />
1228
+ </div>
1229
  </div>
1230
+ <div class="clear clearfix"></div>
1231
  </div>
1232
  <?php
1233
  }
1235
  /**
1236
  * Save Rank Details
1237
  * @since 1.1
1238
+ * @version 1.3
1239
  */
1240
  public function save_rank_settings( $post_id ) {
 
 
 
 
 
1241
 
1242
  // Make sure fields exists
1243
+ if ( ! isset( $_POST['mycred_rank'] ) || ! is_array( $_POST['mycred_rank'] ) || ! wp_verify_nonce( $_POST['mycred_rank']['token'], 'mycred-edit-rank' . $post_id ) ) return;
 
 
 
1244
 
1245
  // Minimum can not be empty
1246
  if ( empty( $_POST['mycred_rank']['min'] ) )
1247
  $min = 0;
1248
  else
1249
+ $min = sanitize_key( $_POST['mycred_rank']['min'] );
1250
+
1251
+ update_post_meta( $post_id, 'mycred_rank_min', $min );
1252
 
1253
  // Maximum can not be empty
1254
  if ( empty( $_POST['mycred_rank']['max'] ) )
1255
  $max = 999;
1256
  else
1257
+ $max = sanitize_key( $_POST['mycred_rank']['max'] );
1258
 
 
1259
  update_post_meta( $post_id, 'mycred_rank_max', $max );
1260
 
1261
+ // Save type
1262
+ if ( empty( $_POST['mycred_rank']['ctype'] ) )
1263
+ $type = 'mycred_default';
1264
+ else
1265
+ $type = sanitize_text_field( $_POST['mycred_rank']['ctype'] );
1266
+
1267
+ update_post_meta( $post_id, 'ctype', $type );
1268
+
1269
  if ( get_post_status( $post_id ) == 'publish' )
1270
+ mycred_assign_ranks( $type );
1271
  }
1272
 
1273
  /**
1274
  * Add to General Settings
1275
  * @since 1.1
1276
+ * @version 1.3
1277
  */
1278
+ public function after_general_settings( $mycred ) {
1279
+
1280
+ $prefs = $this->rank;
1281
+ $this->add_to_core = true;
1282
+ if ( $mycred->mycred_type != 'mycred_default' ) {
1283
+
1284
+ if ( ! isset( $mycred->rank ) )
1285
+ $prefs = $this->default_prefs;
1286
+ else
1287
+ $prefs = $mycred->rank;
1288
+
1289
+ $this->option_id = $mycred->option_id;
1290
+
1291
+ }
1292
+
1293
  if ( $this->rank['base'] == 'current' )
1294
  $box = 'display: none;';
1295
  else
1296
+ $box = 'display: block;';
1297
 
1298
+ ?>
1299
  <h4><div class="icon icon-active"></div><?php _e( 'Ranks', 'mycred' ); ?></h4>
1300
  <div class="body" style="display:none;">
1301
+
1302
+ <?php if ( $mycred->mycred_type == 'mycred_default' ) { ?>
1303
+
1304
  <label class="subheader" for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'Rank Features', 'mycred' ); ?></label>
1305
  <ol id="myCRED-rank-supports">
1306
  <li>
1307
+ <label><input type="checkbox" value="1" checked="checked" disabled="disabled" /> <?php _e( 'Title', 'mycred' ); ?></label><br />
1308
+ <label><input type="checkbox" value="1" checked="checked" disabled="disabled" /> <?php echo $mycred->core->template_tags_general( __( '%plural% requirement', 'mycred' ) ); ?></label><br />
1309
+ <label><input type="checkbox" value="1" checked="checked" disabled="disabled" /> <?php _e( 'Featured Image (Logo)', 'mycred' ); ?></label><br />
1310
+
1311
+ <label for="<?php echo $this->field_id( array( 'support' => 'content' ) ); ?>"><input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'content' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'content' ) ); ?>" <?php checked( $prefs['support']['content'], 1 ); ?> value="1" /> <?php _e( 'Content', 'mycred' ); ?></label><br />
1312
+
1313
+ <label for="<?php echo $this->field_id( array( 'support' => 'excerpt' ) ); ?>"><input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'excerpt' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'excerpt' ) ); ?>" <?php checked( $prefs['support']['excerpt'], 1 ); ?> value="1" /> <?php _e( 'Excerpt', 'mycred' ); ?></label><br />
1314
+
1315
+ <label for="<?php echo $this->field_id( array( 'support' => 'comments' ) ); ?>"><input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'comments' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'comments' ) ); ?>" <?php checked( $prefs['support']['comments'], 1 ); ?> value="1" /> <?php _e( 'Comments', 'mycred' ); ?></label><br />
1316
+
1317
+ <label for="<?php echo $this->field_id( array( 'support' => 'page-attributes' ) ); ?>"><input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'page-attributes' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'page-attributes' ) ); ?>" <?php checked( $prefs['support']['page-attributes'], 1 ); ?> value="1" /> <?php _e( 'Page Attributes', 'mycred' ); ?></label><br />
1318
+
1319
+ <label for="<?php echo $this->field_id( array( 'support' => 'custom-fields' ) ); ?>"><input type="checkbox" name="<?php echo $this->field_name( array( 'support' => 'custom-fields' ) ); ?>" id="<?php echo $this->field_id( array( 'support' => 'custom-fields' ) ); ?>" <?php checked( $prefs['support']['custom-fields'], 1 ); ?> value="1" /> <?php _e( 'Custom Fields', 'mycred' ); ?></label>
1320
+
1321
  </li>
1322
  </ol>
1323
  <label class="subheader" for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'Public', 'mycred' ); ?></label>
1324
  <ol id="myCRED-rank-public">
1325
  <li>
1326
+ <input type="checkbox" name="<?php echo $this->field_name( 'public' ); ?>" id="<?php echo $this->field_id( 'public' ); ?>" <?php checked( $prefs['public'], 1 ); ?> value="1" />
1327
  <label for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'If you want to create a template archive for each rank, you must select to have ranks public. Defaults to disabled.', 'mycred' ); ?></label>
1328
  </li>
1329
  </ol>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1330
  <label class="subheader" for="<?php echo $this->field_id( 'slug' ); ?>"><?php _e( 'Archive URL', 'mycred' ); ?></label>
1331
  <ol id="mycred-rank-archive-url">
1332
  <li>
1333
+ <div class="h2"><?php bloginfo( 'url' ); ?>/ <input type="text" name="<?php echo $this->field_name( 'slug' ); ?>" id="<?php echo $this->field_id( 'slug' ); ?>" value="<?php echo esc_attr( $prefs['slug'] ); ?>" size="20" />/</div>
1334
  <span class="description"><?php _e( 'Ignored if Ranks are not public', 'mycred' ); ?></span>
1335
  </li>
1336
  </ol>
1339
  <li>
1340
  <select name="<?php echo $this->field_name( 'order' ); ?>" id="<?php echo $this->field_id( 'order' ); ?>">
1341
  <?php
1342
+
1343
  // Order added in 1.1.1
1344
  $options = array(
1345
  'ASC' => __( 'Ascending - Lowest rank to highest', 'mycred' ),
1347
  );
1348
  foreach ( $options as $option_value => $option_label ) {
1349
  echo '<option value="' . $option_value . '"';
1350
+ if ( $prefs['order'] == $option_value ) echo ' selected="selected"';
1351
  echo '>' . $option_label . '</option>';
1352
+ }
1353
+
1354
+ ?>
1355
 
1356
  </select><br />
1357
  <span class="description"><?php _e( 'Select in what order ranks should be displayed in your admin area and/or front if ranks are "Public"', 'mycred' ); ?></span>
1358
  </li>
1359
  </ol>
1360
+
1361
+ <?php } ?>
1362
+
1363
+ <label class="subheader" for="<?php echo $this->field_id( array( 'base' => 'current' ) ); ?>"><?php _e( 'Rank Basis', 'mycred' ); ?></label>
1364
+ <ol id="myCRED-rank-basis">
1365
+ <li>
1366
+ <input type="radio" name="<?php echo $this->field_name( 'base' ); ?>" id="<?php echo $this->field_id( array( 'base' => 'current' ) ); ?>"<?php checked( $prefs['base'], 'current' ); ?> value="current" /> <label for="<?php echo $this->field_id( array( 'base' => 'current' ) ); ?>"><?php _e( 'Users are ranked according to their current balance.', 'mycred' ); ?></label>
1367
+ </li>
1368
+ <li>
1369
+ <input type="radio" name="<?php echo $this->field_name( 'base' ); ?>" id="<?php echo $this->field_id( array( 'base' => 'total' ) ); ?>"<?php checked( $prefs['base'], 'total' ); ?> value="total" /> <label for="<?php echo $this->field_id( array( 'base' => 'total' ) ); ?>"><?php echo $mycred->core->template_tags_general( __( 'Users are ranked according to the total amount of %_plural% they have accumulated.', 'mycred' ) ); ?></label>
1370
+ </li>
1371
+ </ol>
1372
+ <div id="calc-total" style="<?php echo $box; ?>">
1373
+ <label class="subheader" for=""><?php _e( 'Calculate Totals', 'mycred' ); ?></label>
1374
+ <ol id="mycred-rank-calculate">
1375
+ <li>
1376
+ <p><?php _e( 'Use this button to calculate or recalculate your users totals. If not used, the users current balance will be used as a starting point.', 'mycred' ); ?><br /><?php _e( 'Once a users total has been calculated, they will be assigned to their appropriate roles. For this reason, it is highly recommended that you first setup your ranks!', 'mycred' ); ?></p>
1377
+ <p><strong><?php _e( 'Depending on your log size and number of users this process may take a while. Please do not leave, click "Update Settings" or re-fresh this page until this is completed!', 'mycred' ); ?></strong></p>
1378
+ <input type="button" name="mycred-update-totals" data-type="<?php echo $mycred->mycred_type; ?>" id="mycred-update-totals" value="<?php _e( 'Calculate Totals', 'mycred' ); ?>" class="button button-large button-<?php if ( $prefs['base'] == 'current' ) echo 'secondary'; else echo 'primary'; ?>"<?php if ( $prefs['base'] == 'current' ) echo ' disabled="disabled"'; ?> />
1379
+ </li>
1380
+ </ol>
1381
+ </div>
1382
  <?php
1383
+
1384
+ // BuddyPress
1385
+ if ( class_exists( 'BuddyPress' ) ) {
1386
+
1387
+ if ( ! isset( $prefs['bb_location'] ) )
1388
+ $prefs['bb_location'] = '';
1389
+
1390
+ if ( ! isset( $prefs['bb_template'] ) )
1391
+ $prefs['bb_template'] = 'Rank: %rank_title%';
1392
 
1393
  $rank_locations = array(
1394
  '' => __( 'Do not show.', 'mycred' ),
1395
  'top' => __( 'Include in Profile Header.', 'mycred' ),
1396
  'profile_tab' => __( 'Include under the "Profile" tab', 'mycred' ),
1397
  'both' => __( 'Include under the "Profile" tab and Profile Header.', 'mycred' )
1398
+ );
1399
+
1400
+ ?>
1401
 
1402
  <label class="subheader" for="<?php echo $this->field_id( 'bb_location' ); ?>"><?php _e( 'Rank in BuddyPress', 'mycred' ); ?></label>
1403
  <ol id="myCRED-rank-bb-location">
1404
  <li>
1405
  <select name="<?php echo $this->field_name( 'bb_location' ); ?>" id="<?php echo $this->field_id( 'bb_location' ); ?>">
1406
  <?php
1407
+
1408
  foreach ( $rank_locations as $value => $label ) {
1409
  echo '<option value="' . $value . '"';
1410
+ if ( $prefs['bb_location'] == $value ) echo ' selected="selected"';
1411
  echo '>' . $label . '</option>';
1412
  } ?>
1413
 
1414
  </select>
1415
  </li>
1416
+ <li>
1417
+ <label for="<?php echo $this->field_id( 'bb_template' ); ?>"><?php _e( 'Template', 'mycred' ); ?></label>
1418
+ <textarea name="<?php echo $this->field_name( 'bb_template' ); ?>" id="<?php echo $this->field_id( 'bb_template' ); ?>" rows="5" cols="50" class="large-text code"><?php echo esc_attr( $prefs['bb_template'] ); ?></textarea>
1419
+ <span class="description"><?php _e( 'Template to use when showing a users Rank in BuddyPress. Use %rank_title% for the title and %rank_logo% to show the rank logo. HTML is allowed.', 'mycred' ); ?></span>
1420
+ </li>
1421
  </ol>
1422
+ <?php
1423
+
1424
+ }
1425
  else {
1426
  echo '<input type="hidden" name="' . $this->field_name( 'bb_location' ) . '" value="" />';
1427
+ echo '<input type="hidden" name="' . $this->field_name( 'bb_template' ) . '" value="Rank: %rank_title%" />';
1428
+ }
1429
+
1430
+ // bbPress
1431
+ if ( class_exists( 'bbPress' ) ) {
1432
+
1433
+ if ( ! isset( $prefs['bp_location'] ) )
1434
+ $prefs['bp_location'] = '';
1435
+
1436
+ if ( ! isset( $prefs['bp_template'] ) )
1437
+ $prefs['bp_template'] = 'Rank: %rank_title%';
1438
+
1439
+ $rank_locations = array(
1440
+ '' => __( 'Do not show.', 'mycred' ),
1441
+ 'reply' => __( 'Include in Topic Replies', 'mycred' ),
1442
+ 'profile' => __( 'Include in Profile', 'mycred' ),
1443
+ 'both' => __( 'Include in Topic Replies and Profile', 'mycred' )
1444
+ );
1445
+
1446
+ ?>
1447
+
1448
+ <label class="subheader" for="<?php echo $this->field_id( 'bp_location' ); ?>"><?php _e( 'Rank in bbPress', 'mycred' ); ?></label>
1449
+ <ol id="myCRED-rank-bp-location">
1450
+ <li>
1451
+ <select name="<?php echo $this->field_name( 'bp_location' ); ?>" id="<?php echo $this->field_id( 'bp_location' ); ?>">
1452
+ <?php
1453
+
1454
+ foreach ( $rank_locations as $value => $label ) {
1455
+ echo '<option value="' . $value . '"';
1456
+ if ( $prefs['bp_location'] == $value ) echo ' selected="selected"';
1457
+ echo '>' . $label . '</option>';
1458
+ } ?>
1459
+
1460
+ </select>
1461
+ </li>
1462
+ <li>
1463
+ <label for="<?php echo $this->field_id( 'bp_template' ); ?>"><?php _e( 'Template', 'mycred' ); ?></label>
1464
+ <textarea name="<?php echo $this->field_name( 'bp_template' ); ?>" id="<?php echo $this->field_id( 'bp_template' ); ?>" rows="5" cols="50" class="large-text code"><?php echo esc_attr( $prefs['bp_template'] ); ?></textarea>
1465
+ <span class="description"><?php _e( 'Template to use when showing a users Rank in BuddyPress. Use %rank_title% for the title and %rank_logo% to show the rank logo. HTML is allowed.', 'mycred' ); ?></span>
1466
+ </li>
1467
+ </ol>
1468
+ <?php
1469
+
1470
+ }
1471
+ else {
1472
+ echo '<input type="hidden" name="' . $this->field_name( 'bp_location' ) . '" value="" />';
1473
+ echo '<input type="hidden" name="' . $this->field_name( 'bp_template' ) . '" value="Rank: %rank_title%" />';
1474
+ }
1475
+
1476
+ ?>
1477
+
1478
 
1479
  <script type="text/javascript">//<![CDATA[
1480
  jQuery(function($){
1496
  }
1497
  });
1498
 
1499
+ var mycred_calc = function( button, pointtype ) {
1500
  $.ajax({
1501
  type : "POST",
1502
  data : {
1503
  action : 'mycred-calc-totals',
1504
+ token : '<?php echo wp_create_nonce( 'mycred-calc-totals' ); ?>',
1505
+ ctype : pointtype
1506
  },
1507
  dataType : "JSON",
1508
  url : '<?php echo admin_url( 'admin-ajax.php' ); ?>',
1511
  button.attr( 'disabled', 'disabled' );
1512
  button.removeClass( 'button-primary' );
1513
  button.addClass( 'button-seconday' );
1514
+ button.val( '<?php esc_attr_e( 'Processing...', 'mycred' ); ?>' );
1515
  },
1516
  // On Successful Communication
1517
  success : function( data ) {
1525
  button.removeAttr( 'disabled' );
1526
  button.removeClass( 'button-seconday' );
1527
  button.addClass( 'button-primary' );
1528
+ button.val( '<?php esc_attr_e( 'Script Communication Error', 'mycred' ); ?>' );
1529
  }
1530
  });
1531
  };
1532
 
1533
  $('input#mycred-update-totals').click(function(){
1534
+ mycred_calc( $(this), $(this).data( 'type' ) );
1535
  });
1536
  });//]]>
1537
  </script>
1542
  /**
1543
  * Save Settings
1544
  * @since 1.1
1545
+ * @version 1.3
1546
  */
1547
  public function sanitize_extra_settings( $new_data, $data, $core ) {
1548
  $new_data['rank']['support']['content'] = ( isset( $data['rank']['support']['content'] ) ) ? true : false;
1555
  $new_data['rank']['public'] = ( isset( $data['rank']['public'] ) ) ? true : false;
1556
  $new_data['rank']['slug'] = sanitize_text_field( $data['rank']['slug'] );
1557
  $new_data['rank']['order'] = sanitize_text_field( $data['rank']['order'] );
1558
+
1559
+ $allowed_tags = $this->core->allowed_html_tags();
1560
  $new_data['rank']['bb_location'] = sanitize_text_field( $data['rank']['bb_location'] );
1561
+ $new_data['rank']['bb_template'] = wp_kses( $data['rank']['bb_template'], $allowed_tags );
1562
+ $new_data['rank']['bp_location'] = sanitize_text_field( $data['rank']['bp_location'] );
1563
+ $new_data['rank']['bp_template'] = wp_kses( $data['rank']['bp_template'], $allowed_tags );
1564
 
1565
  return $new_data;
1566
  }
1568
  /**
1569
  * Management
1570
  * @since 1.3.2
1571
+ * @version 1.1
1572
  */
1573
+ public function rank_management( $mycred ) {
1574
+
1575
+ $count = mycred_get_published_ranks_count( $mycred->mycred_type );
1576
+
1577
  $reset_block = false;
1578
+ if ( $count == 0 || $count === false )
1579
+ $reset_block = true;
1580
+
1581
+ $rank_meta_key = 'mycred_rank';
1582
+ if ( $this->core->is_multisite && $GLOBALS['blog_id'] > 1 && ! $this->core->use_master_template )
1583
+ $rank_meta_key .= '_' . $GLOBALS['blog_id'];
1584
+
1585
+ if ( $mycred->mycred_type != 'mycred_default' )
1586
+ $rank_meta_key .= $mycred->mycred_type;
1587
+
1588
+ ?>
1589
 
1590
  <label class="subheader"><?php _e( 'Ranks', 'mycred' ); ?></label>
1591
  <ol id="myCRED-rank-actions" class="inline">
1592
  <li>
1593
+ <label><?php _e( 'User Meta Key', 'mycred' ); ?></label>
1594
+ <div class="h2"><input type="text" id="mycred-rank-post-type" disabled="disabled" value="<?php echo $rank_meta_key; ?>" class="readonly" /></div>
1595
  </li>
1596
  <li>
1597
  <label><?php _e( 'No. of ranks', 'mycred' ); ?></label>
1598
+ <div class="h2"><input type="text" id="mycred-ranks-no-of-ranks" disabled="disabled" value="<?php echo $count; ?>" class="readonly short" /></div>
1599
  </li>
1600
  <li>
1601
  <label><?php _e( 'Actions', 'mycred' ); ?></label>
1602
+ <div class="h2"><input type="button" id="mycred-manage-action-reset-ranks" data-type="<?php echo $mycred->mycred_type; ?>" value="<?php _e( 'Remove All Ranks', 'mycred' ); ?>" class="button button-large large <?php if ( $reset_block ) echo '" disabled="disabled'; else echo 'button-primary'; ?>" /> <input type="button" id="mycred-manage-action-assign-ranks" data-type="<?php echo $mycred->mycred_type; ?>" value="<?php _e( 'Assign Ranks to Users', 'mycred' ); ?>" class="button button-large large <?php if ( $reset_block ) echo '" disabled="disabled'; ?>" /></div>
1603
  </li>
1604
  </ol>
1605
  <?php
addons/sell-content/myCRED-addon-sell-content.php CHANGED
@@ -368,8 +368,8 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
368
  'myCREDsell',
369
  array(
370
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
371
- 'working' => __( 'Processing...', 'mycred' ),
372
- 'error' => __( 'Error. Try Again', 'mycred' ),
373
  'token' => wp_create_nonce( 'mycred-buy-content-ajax' )
374
  )
375
  );
@@ -380,9 +380,9 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
380
  /**
381
  * Settings Page
382
  * @since 0.1
383
- * @version 1.2
384
  */
385
- public function after_general_settings() {
386
  $sell_content = $this->sell_content;
387
  if ( ! isset( $sell_content['defaults']['expire'] ) )
388
  $sell_content['defaults']['expire'] = 0;
@@ -396,7 +396,7 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
396
  );
397
  $available_payees = apply_filters( 'mycred_sell_content_payees', $payees, $sell_content );
398
 
399
- $mycred_types = mycred_get_types(); ?>
400
 
401
  <h4><div class="icon icon-active"></div><?php _e( 'Sell Content', 'mycred' ); ?></h4>
402
  <div class="body" style="display:none;">
@@ -407,7 +407,7 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
407
  <span class="description"><?php _e( 'Comma separated list of post types that can be sold.', 'mycred' ); ?></span>
408
  </li>
409
  </ol>
410
- <?php if ( count( $mycred_types ) > 1 ) : ?>
411
  <label class="subheader" for="<?php echo $this->field_id( 'type' ); ?>"><?php _e( 'Point Type', 'mycred' ); ?></label>
412
  <ol id="myCRED-buy-point-type">
413
  <li>
@@ -474,30 +474,45 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
474
  <ol id="myCRED-buy-template-visitors">
475
  <li>
476
  <p><strong><?php _e( 'For Visitors', 'mycred' ); ?></strong></p>
477
- <?php wp_editor( $sell_content['templates']['visitors'], $this->field_id( array( 'templates' => 'visitors' ) ), array(
478
- 'textarea_name' => $this->field_name( array( 'templates' => 'visitors' ) ),
479
- 'textarea_rows' => 6
480
- ) ); ?>
 
 
 
 
 
481
  <span class="description"><?php _e( 'Do <strong>not</strong> use the %buy_button% in this template as a user must be logged in to buy content!', 'mycred' ); ?><br />
482
  <?php echo $this->core->available_template_tags( array( 'general', 'post' ), '%price%' ); ?></span>
483
  </li>
484
  <li class="empty">&nbsp;</li>
485
  <li>
486
  <p><strong><?php _e( 'For Members', 'mycred' ); ?></strong></p>
487
- <?php wp_editor( $sell_content['templates']['members'], $this->field_id( array( 'templates' => 'members' ) ), array(
488
- 'textarea_name' => $this->field_name( array( 'templates' => 'members' ) ),
489
- 'textarea_rows' => 6
490
- ) ); ?>
 
 
 
 
 
491
  <span class="description"><?php _e( 'Your template must contain the %buy_button% tag for purchases to work!', 'mycred' ); ?><br />
492
  <?php echo $this->core->available_template_tags( array( 'general', 'post' ), '%buy_button%, %price%' ); ?></span>
493
  </li>
494
  <li class="empty">&nbsp;</li>
495
  <li>
496
  <p><strong><?php _e( 'For members that can not afford to buy', 'mycred' ); ?></strong></p>
497
- <?php wp_editor( $sell_content['templates']['cantafford'], $this->field_id( array( 'templates' => 'cantafford' ) ), array(
498
- 'textarea_name' => $this->field_name( array( 'templates' => 'cantafford' ) ),
499
- 'textarea_rows' => 6
500
- ) ); ?>
 
 
 
 
 
501
  <span class="description"><?php _e( 'Your template must contain the %buy_button% tag for purchases to work!', 'mycred' ); ?><br />
502
  <?php echo $this->core->available_template_tags( array( 'general', 'post' ), '%buy_button%, %price%' ); ?></span>
503
  </li>
@@ -523,7 +538,7 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
523
  /**
524
  * Sanitize & Save Settings
525
  * @since 0.1
526
- * @version 1.2
527
  */
528
  public function sanitize_extra_settings( $new_data, $data, $general ) {
529
  // Post Types
@@ -542,9 +557,10 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
542
  $new_data['sell_content']['defaults']['overwrite_buttonlabel'] = ( isset( $settings['defaults']['overwrite_buttonlabel'] ) ) ? 1 : 0;
543
  $new_data['sell_content']['defaults']['expire'] = abs( $settings['defaults']['expire'] );
544
 
545
- $new_data['sell_content']['templates']['members'] = trim( $settings['templates']['members'] );
546
- $new_data['sell_content']['templates']['visitors'] = trim( $settings['templates']['visitors'] );
547
- $new_data['sell_content']['templates']['cantafford'] = trim( $settings['templates']['cantafford'] );
 
548
 
549
  $new_data['sell_content']['logs']['buy'] = sanitize_text_field( $settings['logs']['buy'] );
550
  $new_data['sell_content']['logs']['sell'] = sanitize_text_field( $settings['logs']['sell'] );
@@ -611,7 +627,7 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
611
  /**
612
  * Sell Meta Box
613
  * @since 0.1
614
- * @version 1.1
615
  */
616
  public function metabox( $post ) {
617
  // Make sure add-on has been setup
@@ -651,8 +667,8 @@ if ( ! class_exists( 'myCRED_Sell_Content_Module' ) ) {
651
  <style type="text/css">
652
  #mycred_sell_content .inside { margin: 0; padding: 0; }
653
  #mycred_sell_content .inside p { padding: 0 12px; }
654
- #mycred_sell_content .inside ul { margin: 12px 0 0 0; border-top: 1px solid #ccc; }
655
- #mycred_sell_content .inside ul li { padding: 8px 12px 12px 12px; border-bottom: 1px solid #ccc; margin: 0 0 0 0; }
656
  #mycred_sell_content .inside ul li label { font-weight: bold; display: block; }
657
  #mycred_sell_content .inside ul li.disabled { color: #ccc; }
658
  input[name="myCRED_sell_content[button_label]"] { width: 100%; }
@@ -1180,11 +1196,12 @@ jQuery(function($) {
1180
  * Render Sales History Shortcode
1181
  * @see http://mycred.me/shortcodes/mycred_sales_history/
1182
  * @since 1.0.9
1183
- * @version 1.2
1184
  */
1185
  public function render_sales_history( $atts ) {
1186
  extract( shortcode_atts( array(
1187
  'login' => NULL,
 
1188
  'title' => '',
1189
  'title_el' => 'h1',
1190
  'title_class' => '',
@@ -1193,7 +1210,7 @@ jQuery(function($) {
1193
  ), $atts ) );
1194
 
1195
  // Not logged in
1196
- if ( ! is_user_logged_in() ) {
1197
  if ( $login != NULL )
1198
  return '<div class="mycred-not-logged-in">' . $login . '</div>';
1199
 
@@ -1202,7 +1219,9 @@ jQuery(function($) {
1202
 
1203
  // Prep
1204
  $output = '<div class="mycred-sales-history-wrapper">';
1205
- $user_id = get_current_user_id();
 
 
1206
 
1207
  global $wpdb;
1208
 
368
  'myCREDsell',
369
  array(
370
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
371
+ 'working' => esc_attr__( 'Processing...', 'mycred' ),
372
+ 'error' => esc_attr__( 'Error. Try Again', 'mycred' ),
373
  'token' => wp_create_nonce( 'mycred-buy-content-ajax' )
374
  )
375
  );
380
  /**
381
  * Settings Page
382
  * @since 0.1
383
+ * @version 1.3
384
  */
385
+ public function after_general_settings( $mycred ) {
386
  $sell_content = $this->sell_content;
387
  if ( ! isset( $sell_content['defaults']['expire'] ) )
388
  $sell_content['defaults']['expire'] = 0;
396
  );
397
  $available_payees = apply_filters( 'mycred_sell_content_payees', $payees, $sell_content );
398
 
399
+ ?>
400
 
401
  <h4><div class="icon icon-active"></div><?php _e( 'Sell Content', 'mycred' ); ?></h4>
402
  <div class="body" style="display:none;">
407
  <span class="description"><?php _e( 'Comma separated list of post types that can be sold.', 'mycred' ); ?></span>
408
  </li>
409
  </ol>
410
+ <?php if ( count( $this->point_types ) > 1 ) : ?>
411
  <label class="subheader" for="<?php echo $this->field_id( 'type' ); ?>"><?php _e( 'Point Type', 'mycred' ); ?></label>
412
  <ol id="myCRED-buy-point-type">
413
  <li>
474
  <ol id="myCRED-buy-template-visitors">
475
  <li>
476
  <p><strong><?php _e( 'For Visitors', 'mycred' ); ?></strong></p>
477
+ <?php
478
+
479
+ $id = str_replace( '-', '', $this->field_id( array( 'templates' => 'visitors' ) ) );
480
+ wp_editor( $sell_content['templates']['visitors'], $id, array(
481
+ 'textarea_name' => $this->field_name( array( 'templates' => 'visitors' ) ),
482
+ 'textarea_rows' => 6
483
+ ) );
484
+
485
+ ?>
486
  <span class="description"><?php _e( 'Do <strong>not</strong> use the %buy_button% in this template as a user must be logged in to buy content!', 'mycred' ); ?><br />
487
  <?php echo $this->core->available_template_tags( array( 'general', 'post' ), '%price%' ); ?></span>
488
  </li>
489
  <li class="empty">&nbsp;</li>
490
  <li>
491
  <p><strong><?php _e( 'For Members', 'mycred' ); ?></strong></p>
492
+ <?php
493
+
494
+ $id = str_replace( '-', '', $this->field_id( array( 'templates' => 'members' ) ) );
495
+ wp_editor( $sell_content['templates']['members'], $id, array(
496
+ 'textarea_name' => $this->field_name( array( 'templates' => 'members' ) ),
497
+ 'textarea_rows' => 6
498
+ ) );
499
+
500
+ ?>
501
  <span class="description"><?php _e( 'Your template must contain the %buy_button% tag for purchases to work!', 'mycred' ); ?><br />
502
  <?php echo $this->core->available_template_tags( array( 'general', 'post' ), '%buy_button%, %price%' ); ?></span>
503
  </li>
504
  <li class="empty">&nbsp;</li>
505
  <li>
506
  <p><strong><?php _e( 'For members that can not afford to buy', 'mycred' ); ?></strong></p>
507
+ <?php
508
+
509
+ $id = str_replace( '-', '', $this->field_id( array( 'templates' => 'cantafford' ) ) );
510
+ wp_editor( $sell_content['templates']['cantafford'], $id, array(
511
+ 'textarea_name' => $this->field_name( array( 'templates' => 'cantafford' ) ),
512
+ 'textarea_rows' => 6
513
+ ) );
514
+
515
+ ?>
516
  <span class="description"><?php _e( 'Your template must contain the %buy_button% tag for purchases to work!', 'mycred' ); ?><br />
517
  <?php echo $this->core->available_template_tags( array( 'general', 'post' ), '%buy_button%, %price%' ); ?></span>
518
  </li>
538
  /**
539
  * Sanitize & Save Settings
540
  * @since 0.1
541
+ * @version 1.3
542
  */
543
  public function sanitize_extra_settings( $new_data, $data, $general ) {
544
  // Post Types
557
  $new_data['sell_content']['defaults']['overwrite_buttonlabel'] = ( isset( $settings['defaults']['overwrite_buttonlabel'] ) ) ? 1 : 0;
558
  $new_data['sell_content']['defaults']['expire'] = abs( $settings['defaults']['expire'] );
559
 
560
+ $allowed_tags = $this->core->allowed_html_tags();
561
+ $new_data['sell_content']['templates']['members'] = wp_kses( $settings['templates']['members'], $allowed_tags );
562
+ $new_data['sell_content']['templates']['visitors'] = wp_kses( $settings['templates']['visitors'], $allowed_tags );
563
+ $new_data['sell_content']['templates']['cantafford'] = wp_kses( $settings['templates']['cantafford'], $allowed_tags );
564
 
565
  $new_data['sell_content']['logs']['buy'] = sanitize_text_field( $settings['logs']['buy'] );
566
  $new_data['sell_content']['logs']['sell'] = sanitize_text_field( $settings['logs']['sell'] );
627
  /**
628
  * Sell Meta Box
629
  * @since 0.1
630
+ * @version 1.2
631
  */
632
  public function metabox( $post ) {
633
  // Make sure add-on has been setup
667
  <style type="text/css">
668
  #mycred_sell_content .inside { margin: 0; padding: 0; }
669
  #mycred_sell_content .inside p { padding: 0 12px; }
670
+ #mycred_sell_content .inside ul { margin: 0; padding: 0 0 12px 0; background-color: #F5F5F5; border-top: 1px solid #ccc; }
671
+ #mycred_sell_content .inside ul li { padding: 8px 12px 0 12px; margin: 0 0 0 0; }
672
  #mycred_sell_content .inside ul li label { font-weight: bold; display: block; }
673
  #mycred_sell_content .inside ul li.disabled { color: #ccc; }
674
  input[name="myCRED_sell_content[button_label]"] { width: 100%; }
1196
  * Render Sales History Shortcode
1197
  * @see http://mycred.me/shortcodes/mycred_sales_history/
1198
  * @since 1.0.9
1199
+ * @version 1.3
1200
  */
1201
  public function render_sales_history( $atts ) {
1202
  extract( shortcode_atts( array(
1203
  'login' => NULL,
1204
+ 'user_id' => NULL,
1205
  'title' => '',
1206
  'title_el' => 'h1',
1207
  'title_class' => '',
1210
  ), $atts ) );
1211
 
1212
  // Not logged in
1213
+ if ( $user_id === NULL && ! is_user_logged_in() ) {
1214
  if ( $login != NULL )
1215
  return '<div class="mycred-not-logged-in">' . $login . '</div>';
1216
 
1219
 
1220
  // Prep
1221
  $output = '<div class="mycred-sales-history-wrapper">';
1222
+
1223
+ if ( $user_id === NULL )
1224
+ $user_id = get_current_user_id();
1225
 
1226
  global $wpdb;
1227
 
addons/stats/abstracts/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/stats/abstracts/mycred-abstract-stat-widget.php ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * myCRED_Statistics_Widget class
6
+ * @see http://codex.mycred.me/
7
+ * @since 1.6
8
+ * @version 1.0
9
+ */
10
+ if ( ! class_exists( 'myCRED_Statistics_Widget' ) ) :
11
+ abstract class myCRED_Statistics_Widget {
12
+
13
+ public $id;
14
+ public $ctypes;
15
+ public $dates;
16
+
17
+ public $args;
18
+ public $core;
19
+ public $colors;
20
+
21
+ /**
22
+ * Construct
23
+ */
24
+ function __construct( $widget_id = NULL, $args = array(), $default = NULL ) {
25
+
26
+ if ( $widget_id === NULL ) return false;
27
+
28
+ $this->id = str_replace( array( '_', '-', ' ' ), '', $widget_id );
29
+ $this->ctypes = mycred_get_types();
30
+
31
+ if ( ! is_array( $default ) )
32
+ $default = array(
33
+ 'ctypes' => 'all',
34
+ 'span' => 0,
35
+ 'number' => 5
36
+ );
37
+
38
+ $this->args = wp_parse_args( $args, $default );
39
+
40
+ if ( $this->args['ctypes'] == 'all' )
41
+ $this->core = mycred();
42
+ else
43
+ $this->core = mycred( $this->args['ctypes'] );
44
+
45
+ $this->colors = mycred_get_type_color();
46
+ $this->now = current_time( 'timestamp' );
47
+
48
+ }
49
+
50
+ /**
51
+ * Get Data
52
+ * @version 1.0
53
+ */
54
+ function get_data() {
55
+ return array();
56
+ }
57
+
58
+ /**
59
+ * Widget
60
+ * @version 1.0
61
+ */
62
+ function widget() {
63
+ wp_die( 'function myCRED_Statistics_Widget::widget() must be over-ridden in a sub-class.' );
64
+ }
65
+
66
+ /**
67
+ * Preferences
68
+ * @version 1.0
69
+ */
70
+ function preferences() {
71
+
72
+ }
73
+
74
+ /**
75
+ * Sanitize Preferences
76
+ * @version 1.0
77
+ */
78
+ function sanitise_preferences( $data ) {
79
+ return $data;
80
+ }
81
+
82
+
83
+
84
+ /**
85
+ * Action Buttons
86
+ * @version 1.0
87
+ */
88
+ function action_buttons() {
89
+
90
+ $screen_id = 'myCRED';
91
+ $buttons = array();
92
+
93
+ if ( $this->args['ctypes'] == 'all' ) {
94
+
95
+ }
96
+ else {
97
+
98
+ if ( $this->args['ctypes'] != 'mycred_default' )
99
+ $screen_id .= '_' . $this->args['ctypes'];
100
+
101
+ $url = add_query_arg( array( 'page' => $screen_id ), admin_url( 'admin.php' ) );
102
+ $buttons[] = '<a href="' . $url . '" class="button button-secondary button-large">' . __( 'View Log', 'mycred' ) . '</a>';
103
+
104
+ $url = add_query_arg( array( 'page' => $screen_id . '_page_hooks' ), admin_url( 'admin.php' ) );
105
+ $buttons[] = '<a href="' . $url . '" class="button button-secondary button-large">' . __( 'Hooks', 'mycred' ) . '</a>';
106
+
107
+ $url = add_query_arg( array( 'page' => $screen_id . '_page_settings' ), admin_url( 'admin.php' ) );
108
+ $buttons[] = '<a href="' . $url . '" class="button button-secondary button-large">' . __( 'Settings', 'mycred' ) . '</a>';
109
+
110
+ }
111
+
112
+ $output = '';
113
+ if ( ! empty( $buttons ) ) {
114
+ $output = '<p class="circulation-buttons mycred-action-buttons">' . implode( ' ', $buttons ) . '</p>';
115
+ }
116
+
117
+ return apply_filters( 'mycred_stats_action_buttons', $output, $this );
118
+
119
+ }
120
+
121
+ /**
122
+ * Format Number
123
+ * Attempts to combine all decimal type setups when displaying
124
+ * an overall value. Otherwise the give value will be formatted
125
+ * according to the selected point type.
126
+ * @version 1.0
127
+ */
128
+ function format_number( $value = 0 ) {
129
+
130
+ $result = $value;
131
+ if ( isset( $this->args['ctypes'] ) ) {
132
+
133
+ // All point types
134
+ $selected_type = sanitize_text_field( $this->args['ctypes'] );
135
+ if ( $selected_type == 'all' ) {
136
+
137
+ // Find the highest decimal value
138
+ $decimal_values = array();
139
+ foreach ( $this->ctypes as $type_id => $label ) {
140
+
141
+ $mycred = mycred( $type_id );
142
+
143
+ if ( ! isset( $mycred->format['decimals'] ) )
144
+ $decimals = $mycred->core['format']['decimals'];
145
+ else
146
+ $decimals = $mycred->format['decimals'];
147
+
148
+ $decimal_values[ $decimals ] = $type_id;
149
+
150
+ }
151
+
152
+ // Sort to get the highest value
153
+ krsort( $decimal_values, SORT_NUMERIC );
154
+ reset( $decimal_values );
155
+ $highest = key( $decimal_values );
156
+
157
+ // Format the value using the highest decimal value
158
+ $mycred = mycred( $decimal_values[ $highest ] );
159
+ $result = $mycred->format_number( $value );
160
+
161
+ }
162
+
163
+ // Specific point type
164
+ else {
165
+
166
+ // Default type - always available under $this->core
167
+ if ( $selected_type == 'mycred_default' )
168
+ $result = $this->core->format_number( $value );
169
+
170
+ // Custom type
171
+ elseif ( array_key_exists( $selected_type, $this->ctypes ) ) {
172
+ $mycred = mycred( $selected_type );
173
+ $result = $mycred->format_number( $value );
174
+ }
175
+
176
+ }
177
+
178
+ }
179
+
180
+ return $result;
181
+
182
+ }
183
+
184
+ }
185
+ endif;
186
+ ?>
addons/stats/assets/css/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/stats/assets/css/stats-page.css ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ul#section-nav { border-bottom:solid 1px #ccc; width:100%; margin-top:1em; margin-bottom: 24px; padding:1em 0; padding-bottom: 0; height:2.4em; }
2
+ ul#section-nav li { margin-left:0.4em; float:left;font-weight: bold;font-size: 15px;line-height: 24px;}
3
+ ul#section-nav li a {text-decoration: none;color:#888;}
4
+ ul#section-nav li a:hover, ul#section-nav li.nav-tab-active a {text-decoration: none;color:#000; }
5
+
6
+ div#wpfooter { display: none; }
7
+
8
+ #mycred-stats-body { display: block; width: 100%; min-height: 400px; float: none; clear: both; }
9
+ #mycred-stats-body a { text-decoration: none; }
10
+ #mycred-stats-body a:hover { text-decoration: underline; }
11
+ #mycred-stats-body .mycred-stat-widget { display: block; float: none; clear: both; }
12
+ #mycred-stats-body .mycred-stat-widget .left-column { width: 240px; min-height: 240px; float: left; margin-right: 24px; }
13
+
14
+ #mycred-log-is-empty, .mycred-empty-widget { display: block; width: 100%; height: 400px; }
15
+ #mycred-log-is-empty p, .mycred-empty-widget p { margin-top: 180px; line-height: 40px; margin-bottom: 0; padding: 0; text-align: center; font-size: 20px; font-weight: 100; }
16
+
17
+ #chart-wrapper { display: block; width: 100%; overflow: hidden; min-height: 450px; }
18
+ #chart-wrapper .padding { margin: 12px; }
19
+
20
+ canvas#point-gain-chart { height: 420px !important; }
21
+ .mycred-chart-legend ul { display: block; list-style-type: none; height: 18px; }
22
+ .mycred-chart-legend ul li { display: block; float: left; padding-right: 12px; height: 18px; line-height: 18px; min-width: 100px; }
23
+ .mycred-chart-legend ul li span { display: block; float: left; margin-right: 12px; width: 18px; height: 18px; }
24
+
25
+ #mycred-stats-overview { padding: 24px 0; }
26
+ #mycred-stats-circulation { width: 240px; height: 240px; float: left; margin-right: 24px; }
27
+
28
+ canvas#total-circulation-chart { width: 240px !important; height: 240px !important; }
29
+
30
+ #total-per-point-type { }
31
+ #total-per-point-type li { display: inline; padding-right: 24px; color: #888; }
32
+
33
+ #mycred-stats-overview { margin-bottom: 48px; }
34
+ #mycred-stats-overview .table { margin-left: 265px; }
35
+ #mycred-stats-overview .table table { width: 100%; }
36
+ #mycred-stats-overview table tr th { text-align: left; line-height: 24px; font-size: 16px; font-weight: 100; padding: 24px 0 0 0; }
37
+ #mycred-stats-overview table tr.subheader th { border-bottom: 1px solid #ddd; font-size: 12px; line-height: 12px; padding: 6px 0; }
38
+ #mycred-stats-overview table tr td { padding: 6px 0; border-bottom: 1px solid #dedede; }
39
+ #mycred-stats-overview table tr .rowtitle { width: auto; }
40
+ #mycred-stats-overview table tr .doublecell { width: 20%; }
41
+ #mycred-stats-overview table tr .cell { width: 10%; color: #888; padding-right: 4px; }
42
+ #mycred-stats-overview table tr td.last { padding-right: 0; }
43
+
44
+ #mycred-stats-body p.mycred-action-buttons a:hover { text-decoration: none; }
45
+
46
+ .mycred-popular-items { width: 240px; float: left; margin-right: 24px; }
47
+ .mycred-popular-items ol { float: none; clear: both; margin-top: 32px; }
48
+ .mycred-popular-items ol > li { border-bottom: 1px solid #dedede; float: none; clear: both; }
49
+ .mycred-popular-items ol > li span.view { float: right; }
50
+ .mycred-popular-items ol li ul { margin: 0; padding: 0; list-style-type: none; float: none; clear: both; color: #888; }
51
+ .mycred-popular-items ol li ul li { margin: 0; padding: 0; width: 50%; display: block; float: left; font-size: 14px; font-weight: 100; line-height: 32px; }
52
+
53
+ .last-ten-days-chart { margin-left: 265px; min-height: 400px; padding-top: 24px; margin-bottom: 56px; }
54
+ .last-ten-days-chart canvas#point-gain-chart { width: 100%; }
55
+
56
+ .empty-mycred-stat { display: block; float: none; width: 100%; height: 400px; background-color: white; }
addons/stats/assets/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/stats/assets/js/Chart.js ADDED
@@ -0,0 +1,3421 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Chart.js
3
+ * http://chartjs.org/
4
+ * Version: 1.1
5
+ */
6
+ (function(){
7
+
8
+ "use strict";
9
+
10
+ //Declare root variable - window in the browser, global on the server
11
+ var root = this,
12
+ previous = root.Chart;
13
+
14
+ //Occupy the global variable of Chart, and create a simple base class
15
+ var Chart = function(context){
16
+ var chart = this;
17
+ this.canvas = context.canvas;
18
+
19
+ this.ctx = context;
20
+
21
+ //Variables global to the chart
22
+ var width = this.width = context.canvas.width;
23
+ var height = this.height = context.canvas.height;
24
+ this.aspectRatio = this.width / this.height;
25
+ //High pixel density displays - multiply the size of the canvas height/width by the device pixel ratio, then scale.
26
+ helpers.retinaScale(this);
27
+
28
+ return this;
29
+ };
30
+ //Globally expose the defaults to allow for user updating/changing
31
+ Chart.defaults = {
32
+ global: {
33
+ // Boolean - Whether to animate the chart
34
+ animation: true,
35
+
36
+ // Number - Number of animation steps
37
+ animationSteps: 60,
38
+
39
+ // String - Animation easing effect
40
+ animationEasing: "easeOutQuart",
41
+
42
+ // Boolean - If we should show the scale at all
43
+ showScale: true,
44
+
45
+ // Boolean - If we want to override with a hard coded scale
46
+ scaleOverride: false,
47
+
48
+ // ** Required if scaleOverride is true **
49
+ // Number - The number of steps in a hard coded scale
50
+ scaleSteps: null,
51
+ // Number - The value jump in the hard coded scale
52
+ scaleStepWidth: null,
53
+ // Number - The scale starting value
54
+ scaleStartValue: null,
55
+
56
+ // String - Colour of the scale line
57
+ scaleLineColor: "rgba(0,0,0,.1)",
58
+
59
+ // Number - Pixel width of the scale line
60
+ scaleLineWidth: 1,
61
+
62
+ // Boolean - Whether to show labels on the scale
63
+ scaleShowLabels: true,
64
+
65
+ // Interpolated JS string - can access value
66
+ scaleLabel: "<%=value%>",
67
+
68
+ // Boolean - Whether the scale should stick to integers, and not show any floats even if drawing space is there
69
+ scaleIntegersOnly: true,
70
+
71
+ // Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value
72
+ scaleBeginAtZero: false,
73
+
74
+ // String - Scale label font declaration for the scale label
75
+ scaleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
76
+
77
+ // Number - Scale label font size in pixels
78
+ scaleFontSize: 12,
79
+
80
+ // String - Scale label font weight style
81
+ scaleFontStyle: "normal",
82
+
83
+ // String - Scale label font colour
84
+ scaleFontColor: "#666",
85
+
86
+ // Boolean - Limit number of x labels
87
+ scaleLimitXLabels: false,
88
+
89
+ // Number - Limit number of x labels to
90
+ scaleLimitXLabelsTo: 32,
91
+
92
+ // Boolean - whether or not the chart should be responsive and resize when the browser does.
93
+ responsive: false,
94
+
95
+ // Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container
96
+ maintainAspectRatio: true,
97
+
98
+ // Boolean - Determines whether to draw tooltips on the canvas or not - attaches events to touchmove & mousemove
99
+ showTooltips: true,
100
+
101
+ // Array - Array of string names to attach tooltip events
102
+ tooltipEvents: ["mousemove", "touchstart", "touchmove", "mouseout"],
103
+
104
+ // String - Tooltip background colour
105
+ tooltipFillColor: "rgba(0,0,0,0.8)",
106
+
107
+ // String - Tooltip label font declaration for the scale label
108
+ tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
109
+
110
+ // Number - Tooltip label font size in pixels
111
+ tooltipFontSize: 14,
112
+
113
+ // String - Tooltip font weight style
114
+ tooltipFontStyle: "normal",
115
+
116
+ // String - Tooltip label font colour
117
+ tooltipFontColor: "#fff",
118
+
119
+ // String - Tooltip title font declaration for the scale label
120
+ tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
121
+
122
+ // Number - Tooltip title font size in pixels
123
+ tooltipTitleFontSize: 14,
124
+
125
+ // String - Tooltip title font weight style
126
+ tooltipTitleFontStyle: "bold",
127
+
128
+ // String - Tooltip title font colour
129
+ tooltipTitleFontColor: "#fff",
130
+
131
+ // Number - pixel width of padding around tooltip text
132
+ tooltipYPadding: 6,
133
+
134
+ // Number - pixel width of padding around tooltip text
135
+ tooltipXPadding: 6,
136
+
137
+ // Number - Size of the caret on the tooltip
138
+ tooltipCaretSize: 8,
139
+
140
+ // Number - Pixel radius of the tooltip border
141
+ tooltipCornerRadius: 6,
142
+
143
+ // Number - Pixel offset from point x to tooltip edge
144
+ tooltipXOffset: 10,
145
+
146
+ // String - Template string for single tooltips
147
+ tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>",
148
+
149
+ // String - Template string for single tooltips
150
+ multiTooltipTemplate: "<%= value %>",
151
+
152
+ // String - Colour behind the legend colour block
153
+ multiTooltipKeyBackground: '#fff',
154
+
155
+ // Function - Will fire on animation progression.
156
+ onAnimationProgress: function(){},
157
+
158
+ // Function - Will fire on animation completion.
159
+ onAnimationComplete: function(){}
160
+
161
+ }
162
+ };
163
+
164
+ //Create a dictionary of chart types, to allow for extension of existing types
165
+ Chart.types = {};
166
+
167
+ //Global Chart helpers object for utility methods and classes
168
+ var helpers = Chart.helpers = {};
169
+
170
+ //-- Basic js utility methods
171
+ var each = helpers.each = function(loopable,callback,self){
172
+ var additionalArgs = Array.prototype.slice.call(arguments, 3);
173
+ // Check to see if null or undefined firstly.
174
+ if (loopable){
175
+ if (loopable.length === +loopable.length){
176
+ var i;
177
+ for (i=0; i<loopable.length; i++){
178
+ callback.apply(self,[loopable[i], i].concat(additionalArgs));
179
+ }
180
+ }
181
+ else{
182
+ for (var item in loopable){
183
+ callback.apply(self,[loopable[item],item].concat(additionalArgs));
184
+ }
185
+ }
186
+ }
187
+ },
188
+ clone = helpers.clone = function(obj){
189
+ var objClone = {};
190
+ each(obj,function(value,key){
191
+ if (obj.hasOwnProperty(key)) objClone[key] = value;
192
+ });
193
+ return objClone;
194
+ },
195
+ extend = helpers.extend = function(base){
196
+ each(Array.prototype.slice.call(arguments,1), function(extensionObject) {
197
+ each(extensionObject,function(value,key){
198
+ if (extensionObject.hasOwnProperty(key)) base[key] = value;
199
+ });
200
+ });
201
+ return base;
202
+ },
203
+ merge = helpers.merge = function(base,master){
204
+ //Merge properties in left object over to a shallow clone of object right.
205
+ var args = Array.prototype.slice.call(arguments,0);
206
+ args.unshift({});
207
+ return extend.apply(null, args);
208
+ },
209
+ indexOf = helpers.indexOf = function(arrayToSearch, item){
210
+ if (Array.prototype.indexOf) {
211
+ return arrayToSearch.indexOf(item);
212
+ }
213
+ else{
214
+ for (var i = 0; i < arrayToSearch.length; i++) {
215
+ if (arrayToSearch[i] === item) return i;
216
+ }
217
+ return -1;
218
+ }
219
+ },
220
+ where = helpers.where = function(collection, filterCallback){
221
+ var filtered = [];
222
+
223
+ helpers.each(collection, function(item){
224
+ if (filterCallback(item)){
225
+ filtered.push(item);
226
+ }
227
+ });
228
+
229
+ return filtered;
230
+ },
231
+ findNextWhere = helpers.findNextWhere = function(arrayToSearch, filterCallback, startIndex){
232
+ // Default to start of the array
233
+ if (!startIndex){
234
+ startIndex = -1;
235
+ }
236
+ for (var i = startIndex + 1; i < arrayToSearch.length; i++) {
237
+ var currentItem = arrayToSearch[i];
238
+ if (filterCallback(currentItem)){
239
+ return currentItem;
240
+ }
241
+ }
242
+ },
243
+ findPreviousWhere = helpers.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex){
244
+ // Default to end of the array
245
+ if (!startIndex){
246
+ startIndex = arrayToSearch.length;
247
+ }
248
+ for (var i = startIndex - 1; i >= 0; i--) {
249
+ var currentItem = arrayToSearch[i];
250
+ if (filterCallback(currentItem)){
251
+ return currentItem;
252
+ }
253
+ }
254
+ },
255
+ inherits = helpers.inherits = function(extensions){
256
+ //Basic javascript inheritance based on the model created in Backbone.js
257
+ var parent = this;
258
+ var ChartElement = (extensions && extensions.hasOwnProperty("constructor")) ? extensions.constructor : function(){ return parent.apply(this, arguments); };
259
+
260
+ var Surrogate = function(){ this.constructor = ChartElement;};
261
+ Surrogate.prototype = parent.prototype;
262
+ ChartElement.prototype = new Surrogate();
263
+
264
+ ChartElement.extend = inherits;
265
+
266
+ if (extensions) extend(ChartElement.prototype, extensions);
267
+
268
+ ChartElement.__super__ = parent.prototype;
269
+
270
+ return ChartElement;
271
+ },
272
+ noop = helpers.noop = function(){},
273
+ uid = helpers.uid = (function(){
274
+ var id=0;
275
+ return function(){
276
+ return "chart-" + id++;
277
+ };
278
+ })(),
279
+ warn = helpers.warn = function(str){
280
+ //Method for warning of errors
281
+ if (window.console && typeof window.console.warn == "function") console.warn(str);
282
+ },
283
+ amd = helpers.amd = (typeof define == 'function' && define.amd),
284
+ //-- Math methods
285
+ isNumber = helpers.isNumber = function(n){
286
+ return !isNaN(parseFloat(n)) && isFinite(n);
287
+ },
288
+ max = helpers.max = function(array){
289
+ return Math.max.apply( Math, array );
290
+ },
291
+ min = helpers.min = function(array){
292
+ return Math.min.apply( Math, array );
293
+ },
294
+ cap = helpers.cap = function(valueToCap,maxValue,minValue){
295
+ if(isNumber(maxValue)) {
296
+ if( valueToCap > maxValue ) {
297
+ return maxValue;
298
+ }
299
+ }
300
+ else if(isNumber(minValue)){
301
+ if ( valueToCap < minValue ){
302
+ return minValue;
303
+ }
304
+ }
305
+ return valueToCap;
306
+ },
307
+ getDecimalPlaces = helpers.getDecimalPlaces = function(num){
308
+ if (num%1!==0 && isNumber(num)){
309
+ return num.toString().split(".")[1].length;
310
+ }
311
+ else {
312
+ return 0;
313
+ }
314
+ },
315
+ toRadians = helpers.radians = function(degrees){
316
+ return degrees * (Math.PI/180);
317
+ },
318
+ // Gets the angle from vertical upright to the point about a centre.
319
+ getAngleFromPoint = helpers.getAngleFromPoint = function(centrePoint, anglePoint){
320
+ var distanceFromXCenter = anglePoint.x - centrePoint.x,
321
+ distanceFromYCenter = anglePoint.y - centrePoint.y,
322
+ radialDistanceFromCenter = Math.sqrt( distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);
323
+
324
+
325
+ var angle = Math.PI * 2 + Math.atan2(distanceFromYCenter, distanceFromXCenter);
326
+
327
+ //If the segment is in the top left quadrant, we need to add another rotation to the angle
328
+ if (distanceFromXCenter < 0 && distanceFromYCenter < 0){
329
+ angle += Math.PI*2;
330
+ }
331
+
332
+ return {
333
+ angle: angle,
334
+ distance: radialDistanceFromCenter
335
+ };
336
+ },
337
+ aliasPixel = helpers.aliasPixel = function(pixelWidth){
338
+ return (pixelWidth % 2 === 0) ? 0 : 0.5;
339
+ },
340
+ splineCurve = helpers.splineCurve = function(FirstPoint,MiddlePoint,AfterPoint,t){
341
+ //Props to Rob Spencer at scaled innovation for his post on splining between points
342
+ //http://scaledinnovation.com/analytics/splines/aboutSplines.html
343
+ var d01=Math.sqrt(Math.pow(MiddlePoint.x-FirstPoint.x,2)+Math.pow(MiddlePoint.y-FirstPoint.y,2)),
344
+ d12=Math.sqrt(Math.pow(AfterPoint.x-MiddlePoint.x,2)+Math.pow(AfterPoint.y-MiddlePoint.y,2)),
345
+ fa=t*d01/(d01+d12),// scaling factor for triangle Ta
346
+ fb=t*d12/(d01+d12);
347
+ return {
348
+ inner : {
349
+ x : MiddlePoint.x-fa*(AfterPoint.x-FirstPoint.x),
350
+ y : MiddlePoint.y-fa*(AfterPoint.y-FirstPoint.y)
351
+ },
352
+ outer : {
353
+ x: MiddlePoint.x+fb*(AfterPoint.x-FirstPoint.x),
354
+ y : MiddlePoint.y+fb*(AfterPoint.y-FirstPoint.y)
355
+ }
356
+ };
357
+ },
358
+ calculateOrderOfMagnitude = helpers.calculateOrderOfMagnitude = function(val){
359
+ return Math.floor(Math.log(val) / Math.LN10);
360
+ },
361
+ calculateScaleRange = helpers.calculateScaleRange = function(valuesArray, drawingSize, textSize, startFromZero, integersOnly){
362
+
363
+ //Set a minimum step of two - a point at the top of the graph, and a point at the base
364
+ var minSteps = 2,
365
+ maxSteps = Math.floor(drawingSize/(textSize * 1.5)),
366
+ skipFitting = (minSteps >= maxSteps);
367
+
368
+ var maxValue = max(valuesArray),
369
+ minValue = Number.POSITIVE_INFINITY;
370
+
371
+ // Ignore nulls since we don't construct points for them (since Math.min treats them as 0)
372
+ each(valuesArray, function( value ){
373
+ if (value < minValue && value != null){
374
+ minValue = value;
375
+ }
376
+ });
377
+
378
+ // We need some degree of seperation here to calculate the scales if all the values are the same
379
+ // Adding/minusing 0.5 will give us a range of 1.
380
+ if (maxValue === minValue){
381
+ maxValue += 0.5;
382
+ // So we don't end up with a graph with a negative start value if we've said always start from zero
383
+ if (minValue >= 0.5 && !startFromZero){
384
+ minValue -= 0.5;
385
+ }
386
+ else{
387
+ // Make up a whole number above the values
388
+ maxValue += 0.5;
389
+ }
390
+ }
391
+
392
+ var valueRange = Math.abs(maxValue - minValue),
393
+ rangeOrderOfMagnitude = calculateOrderOfMagnitude(valueRange),
394
+ graphMax = Math.ceil(maxValue / (1 * Math.pow(10, rangeOrderOfMagnitude))) * Math.pow(10, rangeOrderOfMagnitude),
395
+ graphMin = (startFromZero) ? 0 : Math.floor(minValue / (1 * Math.pow(10, rangeOrderOfMagnitude))) * Math.pow(10, rangeOrderOfMagnitude),
396
+ graphRange = graphMax - graphMin,
397
+ stepValue = Math.pow(10, rangeOrderOfMagnitude),
398
+ numberOfSteps = Math.round(graphRange / stepValue);
399
+
400
+ //If we have more space on the graph we'll use it to give more definition to the data
401
+ while((numberOfSteps > maxSteps || (numberOfSteps * 2) < maxSteps) && !skipFitting) {
402
+ if(numberOfSteps > maxSteps){
403
+ stepValue *=2;
404
+ numberOfSteps = Math.round(graphRange/stepValue);
405
+ // Don't ever deal with a decimal number of steps - cancel fitting and just use the minimum number of steps.
406
+ if (numberOfSteps % 1 !== 0){
407
+ skipFitting = true;
408
+ }
409
+ }
410
+ //We can fit in double the amount of scale points on the scale
411
+ else{
412
+ //If user has declared ints only, and the step value isn't a decimal
413
+ if (integersOnly && rangeOrderOfMagnitude >= 0){
414
+ //If the user has said integers only, we need to check that making the scale more granular wouldn't make it a float
415
+ if((numberOfSteps * 5) < maxSteps && stepValue/5 % 1 === 0){
416
+ stepValue /=5;
417
+ numberOfSteps = Math.round(graphRange/stepValue);
418
+ }
419
+ else if(stepValue/2 % 1 === 0){
420
+ stepValue /=2;
421
+ numberOfSteps = Math.round(graphRange/stepValue);
422
+ }
423
+ //If it would make it a float break out of the loop
424
+ else{
425
+ break;
426
+ }
427
+ }
428
+ //If the scale doesn't have to be an int, make the scale more granular anyway.
429
+ else{
430
+ stepValue /=2;
431
+ numberOfSteps = Math.round(graphRange/stepValue);
432
+ }
433
+
434
+ }
435
+ }
436
+
437
+ if (skipFitting){
438
+ numberOfSteps = minSteps;
439
+ stepValue = graphRange / numberOfSteps;
440
+ }
441
+
442
+ // Drop unnecessary steps
443
+ if(!startFromZero) {
444
+ while(minValue > graphMin + stepValue) {
445
+ numberOfSteps--;
446
+ graphMin += stepValue;
447
+ }
448
+ }
449
+
450
+ while(maxValue < graphMax - stepValue) {
451
+ numberOfSteps--;
452
+ graphMax -= stepValue;
453
+ }
454
+
455
+ return {
456
+ steps : numberOfSteps,
457
+ stepValue : stepValue,
458
+ min : graphMin,
459
+ max : graphMin + (numberOfSteps * stepValue)
460
+ };
461
+
462
+ },
463
+ /* jshint ignore:start */
464
+ // Blows up jshint errors based on the new Function constructor
465
+ //Templating methods
466
+ //Javascript micro templating by John Resig - source at http://ejohn.org/blog/javascript-micro-templating/
467
+ template = helpers.template = function(templateString, valuesObject){
468
+ // If templateString is function rather than string-template - call the function for valuesObject
469
+ if(templateString instanceof Function){
470
+ return templateString(valuesObject);
471
+ }
472
+
473
+ var cache = {};
474
+ function tmpl(str, data){
475
+ // Figure out if we're getting a template, or if we need to
476
+ // load the template - and be sure to cache the result.
477
+ var fn = !/\W/.test(str) ?
478
+ cache[str] = cache[str] :
479
+
480
+ // Generate a reusable function that will serve as a template
481
+ // generator (and which will be cached).
482
+ new Function("obj",
483
+ "var p=[],print=function(){p.push.apply(p,arguments);};" +
484
+
485
+ // Introduce the data as local variables using with(){}
486
+ "with(obj){p.push('" +
487
+
488
+ // Convert the template into pure JavaScript
489
+ str
490
+ .replace(/[\r\t\n]/g, " ")
491
+ .split("<%").join("\t")
492
+ .replace(/((^|%>)[^\t]*)'/g, "$1\r")
493
+ .replace(/\t=(.*?)%>/g, "',$1,'")
494
+ .split("\t").join("');")
495
+ .split("%>").join("p.push('")
496
+ .split("\r").join("\\'") +
497
+ "');}return p.join('');"
498
+ );
499
+
500
+ // Provide some basic currying to the user
501
+ return data ? fn( data ) : fn;
502
+ }
503
+ return tmpl(templateString,valuesObject);
504
+ },
505
+ /* jshint ignore:end */
506
+ generateLabels = helpers.generateLabels = function(templateString,numberOfSteps,graphMin,stepValue){
507
+ var labelsArray = new Array(numberOfSteps);
508
+ if (labelTemplateString){
509
+ each(labelsArray,function(val,index){
510
+ labelsArray[index] = template(templateString,{value: (graphMin + (stepValue*(index+1)))});
511
+ });
512
+ }
513
+ return labelsArray;
514
+ },
515
+ //--Animation methods
516
+ //Easing functions adapted from Robert Penner's easing equations
517
+ //http://www.robertpenner.com/easing/
518
+ easingEffects = helpers.easingEffects = {
519
+ linear: function (t) {
520
+ return t;
521
+ },
522
+ easeInQuad: function (t) {
523
+ return t * t;
524
+ },
525
+ easeOutQuad: function (t) {
526
+ return -1 * t * (t - 2);
527
+ },
528
+ easeInOutQuad: function (t) {
529
+ if ((t /= 1 / 2) < 1) return 1 / 2 * t * t;
530
+ return -1 / 2 * ((--t) * (t - 2) - 1);
531
+ },
532
+ easeInCubic: function (t) {
533
+ return t * t * t;
534
+ },
535
+ easeOutCubic: function (t) {
536
+ return 1 * ((t = t / 1 - 1) * t * t + 1);
537
+ },
538
+ easeInOutCubic: function (t) {
539
+ if ((t /= 1 / 2) < 1) return 1 / 2 * t * t * t;
540
+ return 1 / 2 * ((t -= 2) * t * t + 2);
541
+ },
542
+ easeInQuart: function (t) {
543
+ return t * t * t * t;
544
+ },
545
+ easeOutQuart: function (t) {
546
+ return -1 * ((t = t / 1 - 1) * t * t * t - 1);
547
+ },
548
+ easeInOutQuart: function (t) {
549
+ if ((t /= 1 / 2) < 1) return 1 / 2 * t * t * t * t;
550
+ return -1 / 2 * ((t -= 2) * t * t * t - 2);
551
+ },
552
+ easeInQuint: function (t) {
553
+ return 1 * (t /= 1) * t * t * t * t;
554
+ },
555
+ easeOutQuint: function (t) {
556
+ return 1 * ((t = t / 1 - 1) * t * t * t * t + 1);
557
+ },
558
+ easeInOutQuint: function (t) {
559
+ if ((t /= 1 / 2) < 1) return 1 / 2 * t * t * t * t * t;
560
+ return 1 / 2 * ((t -= 2) * t * t * t * t + 2);
561
+ },
562
+ easeInSine: function (t) {
563
+ return -1 * Math.cos(t / 1 * (Math.PI / 2)) + 1;
564
+ },
565
+ easeOutSine: function (t) {
566
+ return 1 * Math.sin(t / 1 * (Math.PI / 2));
567
+ },
568
+ easeInOutSine: function (t) {
569
+ return -1 / 2 * (Math.cos(Math.PI * t / 1) - 1);
570
+ },
571
+ easeInExpo: function (t) {
572
+ return (t === 0) ? 1 : 1 * Math.pow(2, 10 * (t / 1 - 1));
573
+ },
574
+ easeOutExpo: function (t) {
575
+ return (t === 1) ? 1 : 1 * (-Math.pow(2, -10 * t / 1) + 1);
576
+ },
577
+ easeInOutExpo: function (t) {
578
+ if (t === 0) return 0;
579
+ if (t === 1) return 1;
580
+ if ((t /= 1 / 2) < 1) return 1 / 2 * Math.pow(2, 10 * (t - 1));
581
+ return 1 / 2 * (-Math.pow(2, -10 * --t) + 2);
582
+ },
583
+ easeInCirc: function (t) {
584
+ if (t >= 1) return t;
585
+ return -1 * (Math.sqrt(1 - (t /= 1) * t) - 1);
586
+ },
587
+ easeOutCirc: function (t) {
588
+ return 1 * Math.sqrt(1 - (t = t / 1 - 1) * t);
589
+ },
590
+ easeInOutCirc: function (t) {
591
+ if ((t /= 1 / 2) < 1) return -1 / 2 * (Math.sqrt(1 - t * t) - 1);
592
+ return 1 / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1);
593
+ },
594
+ easeInElastic: function (t) {
595
+ var s = 1.70158;
596
+ var p = 0;
597
+ var a = 1;
598
+ if (t === 0) return 0;
599
+ if ((t /= 1) == 1) return 1;
600
+ if (!p) p = 1 * 0.3;
601
+ if (a < Math.abs(1)) {
602
+ a = 1;
603
+ s = p / 4;
604
+ } else s = p / (2 * Math.PI) * Math.asin(1 / a);
605
+ return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));
606
+ },
607
+ easeOutElastic: function (t) {
608
+ var s = 1.70158;
609
+ var p = 0;
610
+ var a = 1;
611
+ if (t === 0) return 0;
612
+ if ((t /= 1) == 1) return 1;
613
+ if (!p) p = 1 * 0.3;
614
+ if (a < Math.abs(1)) {
615
+ a = 1;
616
+ s = p / 4;
617
+ } else s = p / (2 * Math.PI) * Math.asin(1 / a);
618
+ return a * Math.pow(2, -10 * t) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) + 1;
619
+ },
620
+ easeInOutElastic: function (t) {
621
+ var s = 1.70158;
622
+ var p = 0;
623
+ var a = 1;
624
+ if (t === 0) return 0;
625
+ if ((t /= 1 / 2) == 2) return 1;
626
+ if (!p) p = 1 * (0.3 * 1.5);
627
+ if (a < Math.abs(1)) {
628
+ a = 1;
629
+ s = p / 4;
630
+ } else s = p / (2 * Math.PI) * Math.asin(1 / a);
631
+ if (t < 1) return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));
632
+ return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) * 0.5 + 1;
633
+ },
634
+ easeInBack: function (t) {
635
+ var s = 1.70158;
636
+ return 1 * (t /= 1) * t * ((s + 1) * t - s);
637
+ },
638
+ easeOutBack: function (t) {
639
+ var s = 1.70158;
640
+ return 1 * ((t = t / 1 - 1) * t * ((s + 1) * t + s) + 1);
641
+ },
642
+ easeInOutBack: function (t) {
643
+ var s = 1.70158;
644
+ if ((t /= 1 / 2) < 1) return 1 / 2 * (t * t * (((s *= (1.525)) + 1) * t - s));
645
+ return 1 / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);
646
+ },
647
+ easeInBounce: function (t) {
648
+ return 1 - easingEffects.easeOutBounce(1 - t);
649
+ },
650
+ easeOutBounce: function (t) {
651
+ if ((t /= 1) < (1 / 2.75)) {
652
+ return 1 * (7.5625 * t * t);
653
+ } else if (t < (2 / 2.75)) {
654
+ return 1 * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75);
655
+ } else if (t < (2.5 / 2.75)) {
656
+ return 1 * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375);
657
+ } else {
658
+ return 1 * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375);
659
+ }
660
+ },
661
+ easeInOutBounce: function (t) {
662
+ if (t < 1 / 2) return easingEffects.easeInBounce(t * 2) * 0.5;
663
+ return easingEffects.easeOutBounce(t * 2 - 1) * 0.5 + 1 * 0.5;
664
+ }
665
+ },
666
+ //Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/
667
+ requestAnimFrame = helpers.requestAnimFrame = (function(){
668
+ return window.requestAnimationFrame ||
669
+ window.webkitRequestAnimationFrame ||
670
+ window.mozRequestAnimationFrame ||
671
+ window.oRequestAnimationFrame ||
672
+ window.msRequestAnimationFrame ||
673
+ function(callback) {
674
+ return window.setTimeout(callback, 1000 / 60);
675
+ };
676
+ })(),
677
+ cancelAnimFrame = helpers.cancelAnimFrame = (function(){
678
+ return window.cancelAnimationFrame ||
679
+ window.webkitCancelAnimationFrame ||
680
+ window.mozCancelAnimationFrame ||
681
+ window.oCancelAnimationFrame ||
682
+ window.msCancelAnimationFrame ||
683
+ function(callback) {
684
+ return window.clearTimeout(callback, 1000 / 60);
685
+ };
686
+ })(),
687
+ animationLoop = helpers.animationLoop = function(callback,totalSteps,easingString,onProgress,onComplete,chartInstance){
688
+
689
+ var currentStep = 0,
690
+ easingFunction = easingEffects[easingString] || easingEffects.linear;
691
+
692
+ var animationFrame = function(){
693
+ currentStep++;
694
+ var stepDecimal = currentStep/totalSteps;
695
+ var easeDecimal = easingFunction(stepDecimal);
696
+
697
+ callback.call(chartInstance,easeDecimal,stepDecimal, currentStep);
698
+ onProgress.call(chartInstance,easeDecimal,stepDecimal);
699
+ if (currentStep < totalSteps){
700
+ chartInstance.animationFrame = requestAnimFrame(animationFrame);
701
+ } else{
702
+ onComplete.apply(chartInstance);
703
+ }
704
+ };
705
+ requestAnimFrame(animationFrame);
706
+ },
707
+ //-- DOM methods
708
+ getRelativePosition = helpers.getRelativePosition = function(evt){
709
+ var mouseX, mouseY;
710
+ var e = evt.originalEvent || evt,
711
+ canvas = evt.currentTarget || evt.srcElement,
712
+ boundingRect = canvas.getBoundingClientRect();
713
+
714
+ if (e.touches){
715
+ mouseX = e.touches[0].clientX - boundingRect.left;
716
+ mouseY = e.touches[0].clientY - boundingRect.top;
717
+
718
+ }
719
+ else{
720
+ mouseX = e.clientX - boundingRect.left;
721
+ mouseY = e.clientY - boundingRect.top;
722
+ }
723
+
724
+ return {
725
+ x : mouseX,
726
+ y : mouseY
727
+ };
728
+
729
+ },
730
+ addEvent = helpers.addEvent = function(node,eventType,method){
731
+ if (node.addEventListener){
732
+ node.addEventListener(eventType,method);
733
+ } else if (node.attachEvent){
734
+ node.attachEvent("on"+eventType, method);
735
+ } else {
736
+ node["on"+eventType] = method;
737
+ }
738
+ },
739
+ removeEvent = helpers.removeEvent = function(node, eventType, handler){
740
+ if (node.removeEventListener){
741
+ node.removeEventListener(eventType, handler, false);
742
+ } else if (node.detachEvent){
743
+ node.detachEvent("on"+eventType,handler);
744
+ } else{
745
+ node["on" + eventType] = noop;
746
+ }
747
+ },
748
+ bindEvents = helpers.bindEvents = function(chartInstance, arrayOfEvents, handler){
749
+ // Create the events object if it's not already present
750
+ if (!chartInstance.events) chartInstance.events = {};
751
+
752
+ each(arrayOfEvents,function(eventName){
753
+ chartInstance.events[eventName] = function(){
754
+ handler.apply(chartInstance, arguments);
755
+ };
756
+ addEvent(chartInstance.chart.canvas,eventName,chartInstance.events[eventName]);
757
+ });
758
+ },
759
+ unbindEvents = helpers.unbindEvents = function (chartInstance, arrayOfEvents) {
760
+ each(arrayOfEvents, function(handler,eventName){
761
+ removeEvent(chartInstance.chart.canvas, eventName, handler);
762
+ });
763
+ },
764
+ getMaximumWidth = helpers.getMaximumWidth = function(domNode){
765
+ var container = domNode.parentNode;
766
+ // TODO = check cross browser stuff with this.
767
+ return container.clientWidth;
768
+ },
769
+ getMaximumHeight = helpers.getMaximumHeight = function(domNode){
770
+ var container = domNode.parentNode;
771
+ // TODO = check cross browser stuff with this.
772
+ return container.clientHeight;
773
+ },
774
+ getMaximumSize = helpers.getMaximumSize = helpers.getMaximumWidth, // legacy support
775
+ retinaScale = helpers.retinaScale = function(chart){
776
+ var ctx = chart.ctx,
777
+ width = chart.canvas.width,
778
+ height = chart.canvas.height;
779
+
780
+ if (window.devicePixelRatio) {
781
+ ctx.canvas.style.width = width + "px";
782
+ ctx.canvas.style.height = height + "px";
783
+ ctx.canvas.height = height * window.devicePixelRatio;
784
+ ctx.canvas.width = width * window.devicePixelRatio;
785
+ ctx.scale(window.devicePixelRatio, window.devicePixelRatio);
786
+ }
787
+ },
788
+ //-- Canvas methods
789
+ clear = helpers.clear = function(chart){
790
+ chart.ctx.clearRect(0,0,chart.width,chart.height);
791
+ },
792
+ fontString = helpers.fontString = function(pixelSize,fontStyle,fontFamily){
793
+ return fontStyle + " " + pixelSize+"px " + fontFamily;
794
+ },
795
+ longestText = helpers.longestText = function(ctx,font,arrayOfStrings){
796
+ ctx.font = font;
797
+ var longest = 0;
798
+ each(arrayOfStrings,function(string){
799
+ var textWidth = ctx.measureText(string).width;
800
+ longest = (textWidth > longest) ? textWidth : longest;
801
+ });
802
+ return longest;
803
+ },
804
+ drawRoundedRectangle = helpers.drawRoundedRectangle = function(ctx,x,y,width,height,radius){
805
+ ctx.beginPath();
806
+ ctx.moveTo(x + radius, y);
807
+ ctx.lineTo(x + width - radius, y);
808
+ ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
809
+ ctx.lineTo(x + width, y + height - radius);
810
+ ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
811
+ ctx.lineTo(x + radius, y + height);
812
+ ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
813
+ ctx.lineTo(x, y + radius);
814
+ ctx.quadraticCurveTo(x, y, x + radius, y);
815
+ ctx.closePath();
816
+ };
817
+
818
+
819
+ //Store a reference to each instance - allowing us to globally resize chart instances on window resize.
820
+ //Destroy method on the chart will remove the instance of the chart from this reference.
821
+ Chart.instances = {};
822
+
823
+ Chart.Type = function(data,options,chart){
824
+ this.options = options;
825
+ this.chart = chart;
826
+ this.id = uid();
827
+ //Add the chart instance to the global namespace
828
+ Chart.instances[this.id] = this;
829
+
830
+ // Initialize is always called when a chart type is created
831
+ // By default it is a no op, but it should be extended
832
+ if (options.responsive){
833
+ this.resize();
834
+ }
835
+ this.initialize.call(this,data);
836
+ };
837
+
838
+ //Core methods that'll be a part of every chart type
839
+ extend(Chart.Type.prototype,{
840
+ initialize : function(){return this;},
841
+ clear : function(){
842
+ clear(this.chart);
843
+ return this;
844
+ },
845
+ stop : function(){
846
+ // Stops any current animation loop occuring
847
+ helpers.cancelAnimFrame.call(root, this.animationFrame);
848
+ return this;
849
+ },
850
+ resize : function(callback){
851
+ this.stop();
852
+ var canvas = this.chart.canvas,
853
+ newWidth = getMaximumWidth(this.chart.canvas),
854
+ newHeight = this.options.maintainAspectRatio ? newWidth / this.chart.aspectRatio : getMaximumHeight(this.chart.canvas);
855
+
856
+ canvas.width = this.chart.width = newWidth;
857
+ canvas.height = this.chart.height = newHeight;
858
+
859
+ retinaScale(this.chart);
860
+
861
+ if (typeof callback === "function"){
862
+ callback.apply(this, Array.prototype.slice.call(arguments, 1));
863
+ }
864
+ return this;
865
+ },
866
+ reflow : noop,
867
+ render : function(reflow){
868
+ if (reflow){
869
+ this.reflow();
870
+ }
871
+ if (this.options.animation && !reflow){
872
+ helpers.animationLoop(
873
+ this.draw,
874
+ this.options.animationSteps,
875
+ this.options.animationEasing,
876
+ this.options.onAnimationProgress,
877
+ this.options.onAnimationComplete,
878
+ this
879
+ );
880
+ }
881
+ else{
882
+ this.draw();
883
+ this.options.onAnimationComplete.call(this);
884
+ }
885
+ return this;
886
+ },
887
+ generateLegend : function(){
888
+ return template(this.options.legendTemplate,this);
889
+ },
890
+ destroy : function(){
891
+ this.clear();
892
+ unbindEvents(this, this.events);
893
+ delete Chart.instances[this.id];
894
+ },
895
+ showTooltip : function(ChartElements, forceRedraw){
896
+ // Only redraw the chart if we've actually changed what we're hovering on.
897
+ if (typeof this.activeElements === 'undefined') this.activeElements = [];
898
+
899
+ var isChanged = (function(Elements){
900
+ var changed = false;
901
+
902
+ if (Elements.length !== this.activeElements.length){
903
+ changed = true;
904
+ return changed;
905
+ }
906
+
907
+ each(Elements, function(element, index){
908
+ if (element !== this.activeElements[index]){
909
+ changed = true;
910
+ }
911
+ }, this);
912
+ return changed;
913
+ }).call(this, ChartElements);
914
+
915
+ if (!isChanged && !forceRedraw){
916
+ return;
917
+ }
918
+ else{
919
+ this.activeElements = ChartElements;
920
+ }
921
+ this.draw();
922
+ if (ChartElements.length > 0){
923
+ // If we have multiple datasets, show a MultiTooltip for all of the data points at that index
924
+ if (this.datasets && this.datasets.length > 1) {
925
+ var dataArray,
926
+ dataIndex;
927
+
928
+ for (var i = this.datasets.length - 1; i >= 0; i--) {
929
+ dataArray = this.datasets[i].points || this.datasets[i].bars || this.datasets[i].segments;
930
+ dataIndex = indexOf(dataArray, ChartElements[0]);
931
+ if (dataIndex !== -1){
932
+ break;
933
+ }
934
+ }
935
+ var tooltipLabels = [],
936
+ tooltipColors = [],
937
+ medianPosition = (function(index) {
938
+
939
+ // Get all the points at that particular index
940
+ var Elements = [],
941
+ dataCollection,
942
+ xPositions = [],
943
+ yPositions = [],
944
+ xMax,
945
+ yMax,
946
+ xMin,
947
+ yMin;
948
+ helpers.each(this.datasets, function(dataset){
949
+ dataCollection = dataset.points || dataset.bars || dataset.segments;
950
+ if (dataCollection[dataIndex] && dataCollection[dataIndex].hasValue()){
951
+ Elements.push(dataCollection[dataIndex]);
952
+ }
953
+ });
954
+
955
+ helpers.each(Elements, function(element) {
956
+ xPositions.push(element.x);
957
+ yPositions.push(element.y);
958
+
959
+
960
+ //Include any colour information about the element
961
+ tooltipLabels.push(helpers.template(this.options.multiTooltipTemplate, element));
962
+ tooltipColors.push({
963
+ fill: element._saved.fillColor || element.fillColor,
964
+ stroke: element._saved.strokeColor || element.strokeColor
965
+ });
966
+
967
+ }, this);
968
+
969
+ yMin = min(yPositions);
970
+ yMax = max(yPositions);
971
+
972
+ xMin = min(xPositions);
973
+ xMax = max(xPositions);
974
+
975
+ return {
976
+ x: (xMin > this.chart.width/2) ? xMin : xMax,
977
+ y: (yMin + yMax)/2
978
+ };
979
+ }).call(this, dataIndex);
980
+
981
+ new Chart.MultiTooltip({
982
+ x: medianPosition.x,
983
+ y: medianPosition.y,
984
+ xPadding: this.options.tooltipXPadding,
985
+ yPadding: this.options.tooltipYPadding,
986
+ xOffset: this.options.tooltipXOffset,
987
+ fillColor: this.options.tooltipFillColor,
988
+ textColor: this.options.tooltipFontColor,
989
+ fontFamily: this.options.tooltipFontFamily,
990
+ fontStyle: this.options.tooltipFontStyle,
991
+ fontSize: this.options.tooltipFontSize,
992
+ titleTextColor: this.options.tooltipTitleFontColor,
993
+ titleFontFamily: this.options.tooltipTitleFontFamily,
994
+ titleFontStyle: this.options.tooltipTitleFontStyle,
995
+ titleFontSize: this.options.tooltipTitleFontSize,
996
+ cornerRadius: this.options.tooltipCornerRadius,
997
+ labels: tooltipLabels,
998
+ legendColors: tooltipColors,
999
+ legendColorBackground : this.options.multiTooltipKeyBackground,
1000
+ title: ChartElements[0].label,
1001
+ chart: this.chart,
1002
+ ctx: this.chart.ctx
1003
+ }).draw();
1004
+
1005
+ } else {
1006
+ each(ChartElements, function(Element) {
1007
+ var tooltipPosition = Element.tooltipPosition();
1008
+ new Chart.Tooltip({
1009
+ x: Math.round(tooltipPosition.x),
1010
+ y: Math.round(tooltipPosition.y),
1011
+ xPadding: this.options.tooltipXPadding,
1012
+ yPadding: this.options.tooltipYPadding,
1013
+ fillColor: this.options.tooltipFillColor,
1014
+ textColor: this.options.tooltipFontColor,
1015
+ fontFamily: this.options.tooltipFontFamily,
1016
+ fontStyle: this.options.tooltipFontStyle,
1017
+ fontSize: this.options.tooltipFontSize,
1018
+ caretHeight: this.options.tooltipCaretSize,
1019
+ cornerRadius: this.options.tooltipCornerRadius,
1020
+ text: template(this.options.tooltipTemplate, Element),
1021
+ chart: this.chart
1022
+ }).draw();
1023
+ }, this);
1024
+ }
1025
+ }
1026
+ return this;
1027
+ },
1028
+ toBase64Image : function(){
1029
+ return this.chart.canvas.toDataURL.apply(this.chart.canvas, arguments);
1030
+ }
1031
+ });
1032
+
1033
+ Chart.Type.extend = function(extensions){
1034
+
1035
+ var parent = this;
1036
+
1037
+ var ChartType = function(){
1038
+ return parent.apply(this,arguments);
1039
+ };
1040
+
1041
+ //Copy the prototype object of the this class
1042
+ ChartType.prototype = clone(parent.prototype);
1043
+ //Now overwrite some of the properties in the base class with the new extensions
1044
+ extend(ChartType.prototype, extensions);
1045
+
1046
+ ChartType.extend = Chart.Type.extend;
1047
+
1048
+ if (extensions.name || parent.prototype.name){
1049
+
1050
+ var chartName = extensions.name || parent.prototype.name;
1051
+ //Assign any potential default values of the new chart type
1052
+
1053
+ //If none are defined, we'll use a clone of the chart type this is being extended from.
1054
+ //I.e. if we extend a line chart, we'll use the defaults from the line chart if our new chart
1055
+ //doesn't define some defaults of their own.
1056
+
1057
+ var baseDefaults = (Chart.defaults[parent.prototype.name]) ? clone(Chart.defaults[parent.prototype.name]) : {};
1058
+
1059
+ Chart.defaults[chartName] = extend(baseDefaults,extensions.defaults);
1060
+
1061
+ Chart.types[chartName] = ChartType;
1062
+
1063
+ //Register this new chart type in the Chart prototype
1064
+ Chart.prototype[chartName] = function(data,options){
1065
+ var config = merge(Chart.defaults.global, Chart.defaults[chartName], options || {});
1066
+ return new ChartType(data,config,this);
1067
+ };
1068
+ } else{
1069
+ warn("Name not provided for this chart, so it hasn't been registered");
1070
+ }
1071
+ return parent;
1072
+ };
1073
+
1074
+ Chart.Element = function(configuration){
1075
+ extend(this,configuration);
1076
+ this.initialize.apply(this,arguments);
1077
+ this.save();
1078
+ };
1079
+ extend(Chart.Element.prototype,{
1080
+ initialize : function(){},
1081
+ restore : function(props){
1082
+ if (!props){
1083
+ extend(this,this._saved);
1084
+ } else {
1085
+ each(props,function(key){
1086
+ this[key] = this._saved[key];
1087
+ },this);
1088
+ }
1089
+ return this;
1090
+ },
1091
+ save : function(){
1092
+ this._saved = clone(this);
1093
+ delete this._saved._saved;
1094
+ return this;
1095
+ },
1096
+ update : function(newProps){
1097
+ each(newProps,function(value,key){
1098
+ this._saved[key] = this[key];
1099
+ this[key] = value;
1100
+ },this);
1101
+ return this;
1102
+ },
1103
+ transition : function(props,ease){
1104
+ each(props,function(value,key){
1105
+ this[key] = ((value - this._saved[key]) * ease) + this._saved[key];
1106
+ },this);
1107
+ return this;
1108
+ },
1109
+ tooltipPosition : function(){
1110
+ return {
1111
+ x : this.x,
1112
+ y : this.y
1113
+ };
1114
+ },
1115
+ hasValue: function(){
1116
+ return isNumber(this.value);
1117
+ }
1118
+ });
1119
+
1120
+ Chart.Element.extend = inherits;
1121
+
1122
+
1123
+ Chart.Point = Chart.Element.extend({
1124
+ display: true,
1125
+ inRange: function(chartX,chartY){
1126
+ var hitDetectionRange = this.hitDetectionRadius + this.radius;
1127
+ return ((Math.pow(chartX-this.x, 2)+Math.pow(chartY-this.y, 2)) < Math.pow(hitDetectionRange,2));
1128
+ },
1129
+ draw : function(){
1130
+ if (this.display){
1131
+ var ctx = this.ctx;
1132
+ ctx.beginPath();
1133
+
1134
+ ctx.arc(this.x, this.y, this.radius, 0, Math.PI*2);
1135
+ ctx.closePath();
1136
+
1137
+ ctx.strokeStyle = this.strokeColor;
1138
+ ctx.lineWidth = this.strokeWidth;
1139
+
1140
+ ctx.fillStyle = this.fillColor;
1141
+
1142
+ ctx.fill();
1143
+ ctx.stroke();
1144
+ }
1145
+
1146
+
1147
+ //Quick debug for bezier curve splining
1148
+ //Highlights control points and the line between them.
1149
+ //Handy for dev - stripped in the min version.
1150
+
1151
+ // ctx.save();
1152
+ // ctx.fillStyle = "black";
1153
+ // ctx.strokeStyle = "black"
1154
+ // ctx.beginPath();
1155
+ // ctx.arc(this.controlPoints.inner.x,this.controlPoints.inner.y, 2, 0, Math.PI*2);
1156
+ // ctx.fill();
1157
+
1158
+ // ctx.beginPath();
1159
+ // ctx.arc(this.controlPoints.outer.x,this.controlPoints.outer.y, 2, 0, Math.PI*2);
1160
+ // ctx.fill();
1161
+
1162
+ // ctx.moveTo(this.controlPoints.inner.x,this.controlPoints.inner.y);
1163
+ // ctx.lineTo(this.x, this.y);
1164
+ // ctx.lineTo(this.controlPoints.outer.x,this.controlPoints.outer.y);
1165
+ // ctx.stroke();
1166
+
1167
+ // ctx.restore();
1168
+
1169
+
1170
+
1171
+ }
1172
+ });
1173
+
1174
+ Chart.Arc = Chart.Element.extend({
1175
+ inRange : function(chartX,chartY){
1176
+
1177
+ var pointRelativePosition = helpers.getAngleFromPoint(this, {
1178
+ x: chartX,
1179
+ y: chartY
1180
+ });
1181
+
1182
+ //Check if within the range of the open/close angle
1183
+ var betweenAngles = (pointRelativePosition.angle >= this.startAngle && pointRelativePosition.angle <= this.endAngle),
1184
+ withinRadius = (pointRelativePosition.distance >= this.innerRadius && pointRelativePosition.distance <= this.outerRadius);
1185
+
1186
+ return (betweenAngles && withinRadius);
1187
+ //Ensure within the outside of the arc centre, but inside arc outer
1188
+ },
1189
+ tooltipPosition : function(){
1190
+ var centreAngle = this.startAngle + ((this.endAngle - this.startAngle) / 2),
1191
+ rangeFromCentre = (this.outerRadius - this.innerRadius) / 2 + this.innerRadius;
1192
+ return {
1193
+ x : this.x + (Math.cos(centreAngle) * rangeFromCentre),
1194
+ y : this.y + (Math.sin(centreAngle) * rangeFromCentre)
1195
+ };
1196
+ },
1197
+ draw : function(animationPercent){
1198
+
1199
+ var easingDecimal = animationPercent || 1;
1200
+
1201
+ var ctx = this.ctx;
1202
+
1203
+ ctx.beginPath();
1204
+
1205
+ ctx.arc(this.x, this.y, this.outerRadius, this.startAngle, this.endAngle);
1206
+
1207
+ ctx.arc(this.x, this.y, this.innerRadius, this.endAngle, this.startAngle, true);
1208
+
1209
+ ctx.closePath();
1210
+ ctx.strokeStyle = this.strokeColor;
1211
+ ctx.lineWidth = this.strokeWidth;
1212
+
1213
+ ctx.fillStyle = this.fillColor;
1214
+
1215
+ ctx.fill();
1216
+ ctx.lineJoin = 'bevel';
1217
+
1218
+ if (this.showStroke){
1219
+ ctx.stroke();
1220
+ }
1221
+ }
1222
+ });
1223
+
1224
+ Chart.Rectangle = Chart.Element.extend({
1225
+ draw : function(){
1226
+ var ctx = this.ctx,
1227
+ halfWidth = this.width/2,
1228
+ leftX = this.x - halfWidth,
1229
+ rightX = this.x + halfWidth,
1230
+ top = this.base - (this.base - this.y),
1231
+ halfStroke = this.strokeWidth / 2;
1232
+
1233
+ // Canvas doesn't allow us to stroke inside the width so we can
1234
+ // adjust the sizes to fit if we're setting a stroke on the line
1235
+ if (this.showStroke){
1236
+ leftX += halfStroke;
1237
+ rightX -= halfStroke;
1238
+ top += halfStroke;
1239
+ }
1240
+
1241
+ ctx.beginPath();
1242
+
1243
+ ctx.fillStyle = this.fillColor;
1244
+ ctx.strokeStyle = this.strokeColor;
1245
+ ctx.lineWidth = this.strokeWidth;
1246
+
1247
+ // It'd be nice to keep this class totally generic to any rectangle
1248
+ // and simply specify which border to miss out.
1249
+ ctx.moveTo(leftX, this.base);
1250
+ ctx.lineTo(leftX, top);
1251
+ ctx.lineTo(rightX, top);
1252
+ ctx.lineTo(rightX, this.base);
1253
+ ctx.fill();
1254
+ if (this.showStroke){
1255
+ ctx.stroke();
1256
+ }
1257
+ },
1258
+ height : function(){
1259
+ return this.base - this.y;
1260
+ },
1261
+ inRange : function(chartX,chartY){
1262
+ return (chartX >= this.x - this.width/2 && chartX <= this.x + this.width/2) && (chartY >= this.y && chartY <= this.base);
1263
+ }
1264
+ });
1265
+
1266
+ Chart.Tooltip = Chart.Element.extend({
1267
+ draw : function(){
1268
+
1269
+ var ctx = this.chart.ctx;
1270
+
1271
+ ctx.font = fontString(this.fontSize,this.fontStyle,this.fontFamily);
1272
+
1273
+ this.xAlign = "center";
1274
+ this.yAlign = "above";
1275
+
1276
+ //Distance between the actual element.y position and the start of the tooltip caret
1277
+ var caretPadding = 2;
1278
+
1279
+ var tooltipWidth = ctx.measureText(this.text).width + 2*this.xPadding,
1280
+ tooltipRectHeight = this.fontSize + 2*this.yPadding,
1281
+ tooltipHeight = tooltipRectHeight + this.caretHeight + caretPadding;
1282
+
1283
+ if (this.x + tooltipWidth/2 >this.chart.width){
1284
+ this.xAlign = "left";
1285
+ } else if (this.x - tooltipWidth/2 < 0){
1286
+ this.xAlign = "right";
1287
+ }
1288
+
1289
+ if (this.y - tooltipHeight < 0){
1290
+ this.yAlign = "below";
1291
+ }
1292
+
1293
+
1294
+ var tooltipX = this.x - tooltipWidth/2,
1295
+ tooltipY = this.y - tooltipHeight;
1296
+
1297
+ ctx.fillStyle = this.fillColor;
1298
+
1299
+ switch(this.yAlign)
1300
+ {
1301
+ case "above":
1302
+ //Draw a caret above the x/y
1303
+ ctx.beginPath();
1304
+ ctx.moveTo(this.x,this.y - caretPadding);
1305
+ ctx.lineTo(this.x + this.caretHeight, this.y - (caretPadding + this.caretHeight));
1306
+ ctx.lineTo(this.x - this.caretHeight, this.y - (caretPadding + this.caretHeight));
1307
+ ctx.closePath();
1308
+ ctx.fill();
1309
+ break;
1310
+ case "below":
1311
+ tooltipY = this.y + caretPadding + this.caretHeight;
1312
+ //Draw a caret below the x/y
1313
+ ctx.beginPath();
1314
+ ctx.moveTo(this.x, this.y + caretPadding);
1315
+ ctx.lineTo(this.x + this.caretHeight, this.y + caretPadding + this.caretHeight);
1316
+ ctx.lineTo(this.x - this.caretHeight, this.y + caretPadding + this.caretHeight);
1317
+ ctx.closePath();
1318
+ ctx.fill();
1319
+ break;
1320
+ }
1321
+
1322
+ switch(this.xAlign)
1323
+ {
1324
+ case "left":
1325
+ tooltipX = this.x - tooltipWidth + (this.cornerRadius + this.caretHeight);
1326
+ break;
1327
+ case "right":
1328
+ tooltipX = this.x - (this.cornerRadius + this.caretHeight);
1329
+ break;
1330
+ }
1331
+
1332
+ drawRoundedRectangle(ctx,tooltipX,tooltipY,tooltipWidth,tooltipRectHeight,this.cornerRadius);
1333
+
1334
+ ctx.fill();
1335
+
1336
+ ctx.fillStyle = this.textColor;
1337
+ ctx.textAlign = "center";
1338
+ ctx.textBaseline = "middle";
1339
+ ctx.fillText(this.text, tooltipX + tooltipWidth/2, tooltipY + tooltipRectHeight/2);
1340
+ }
1341
+ });
1342
+
1343
+ Chart.MultiTooltip = Chart.Element.extend({
1344
+ initialize : function(){
1345
+ this.font = fontString(this.fontSize,this.fontStyle,this.fontFamily);
1346
+
1347
+ this.titleFont = fontString(this.titleFontSize,this.titleFontStyle,this.titleFontFamily);
1348
+
1349
+ this.height = (this.labels.length * this.fontSize) + ((this.labels.length-1) * (this.fontSize/2)) + (this.yPadding*2) + this.titleFontSize *1.5;
1350
+
1351
+ this.ctx.font = this.titleFont;
1352
+
1353
+ var titleWidth = this.ctx.measureText(this.title).width,
1354
+ //Label has a legend square as well so account for this.
1355
+ labelWidth = longestText(this.ctx,this.font,this.labels) + this.fontSize + 3,
1356
+ longestTextWidth = max([labelWidth,titleWidth]);
1357
+
1358
+ this.width = longestTextWidth + (this.xPadding*2);
1359
+
1360
+
1361
+ var halfHeight = this.height/2;
1362
+
1363
+ //Check to ensure the height will fit on the canvas
1364
+ //The three is to buffer form the very
1365
+ if (this.y - halfHeight < 0 ){
1366
+ this.y = halfHeight;
1367
+ } else if (this.y + halfHeight > this.chart.height){
1368
+ this.y = this.chart.height - halfHeight;
1369
+ }
1370
+
1371
+ //Decide whether to align left or right based on position on canvas
1372
+ if (this.x > this.chart.width/2){
1373
+ this.x -= this.xOffset + this.width;
1374
+ } else {
1375
+ this.x += this.xOffset;
1376
+ }
1377
+
1378
+
1379
+ },
1380
+ getLineHeight : function(index){
1381
+ var baseLineHeight = this.y - (this.height/2) + this.yPadding,
1382
+ afterTitleIndex = index-1;
1383
+
1384
+ //If the index is zero, we're getting the title
1385
+ if (index === 0){
1386
+ return baseLineHeight + this.titleFontSize/2;
1387
+ } else{
1388
+ return baseLineHeight + ((this.fontSize*1.5*afterTitleIndex) + this.fontSize/2) + this.titleFontSize * 1.5;
1389
+ }
1390
+
1391
+ },
1392
+ draw : function(){
1393
+ drawRoundedRectangle(this.ctx,this.x,this.y - this.height/2,this.width,this.height,this.cornerRadius);
1394
+ var ctx = this.ctx;
1395
+ ctx.fillStyle = this.fillColor;
1396
+ ctx.fill();
1397
+ ctx.closePath();
1398
+
1399
+ ctx.textAlign = "left";
1400
+ ctx.textBaseline = "middle";
1401
+ ctx.fillStyle = this.titleTextColor;
1402
+ ctx.font = this.titleFont;
1403
+
1404
+ ctx.fillText(this.title,this.x + this.xPadding, this.getLineHeight(0));
1405
+
1406
+ ctx.font = this.font;
1407
+ helpers.each(this.labels,function(label,index){
1408
+ ctx.fillStyle = this.textColor;
1409
+ ctx.fillText(label,this.x + this.xPadding + this.fontSize + 3, this.getLineHeight(index + 1));
1410
+
1411
+ //A bit gnarly, but clearing this rectangle breaks when using explorercanvas (clears whole canvas)
1412
+ //ctx.clearRect(this.x + this.xPadding, this.getLineHeight(index + 1) - this.fontSize/2, this.fontSize, this.fontSize);
1413
+ //Instead we'll make a white filled block to put the legendColour palette over.
1414
+
1415
+ ctx.fillStyle = this.legendColorBackground;
1416
+ ctx.fillRect(this.x + this.xPadding, this.getLineHeight(index + 1) - this.fontSize/2, this.fontSize, this.fontSize);
1417
+
1418
+ ctx.fillStyle = this.legendColors[index].fill;
1419
+ ctx.fillRect(this.x + this.xPadding, this.getLineHeight(index + 1) - this.fontSize/2, this.fontSize, this.fontSize);
1420
+
1421
+
1422
+ },this);
1423
+ }
1424
+ });
1425
+
1426
+ Chart.Scale = Chart.Element.extend({
1427
+ initialize : function(){
1428
+ this.fit();
1429
+ },
1430
+ buildYLabels : function(){
1431
+ this.yLabels = [];
1432
+
1433
+ var stepDecimalPlaces = getDecimalPlaces(this.stepValue);
1434
+
1435
+ for (var i=0; i<=this.steps; i++){
1436
+ this.yLabels.push(template(this.templateString,{value:(this.min + (i * this.stepValue)).toFixed(stepDecimalPlaces)}));
1437
+ }
1438
+ this.yLabelWidth = (this.display && this.showLabels) ? longestText(this.ctx,this.font,this.yLabels) : 0;
1439
+ },
1440
+ addXLabel : function(label){
1441
+ this.xLabels.push(label);
1442
+ this.valuesCount++;
1443
+ this.fit();
1444
+ },
1445
+ removeXLabel : function(){
1446
+ this.xLabels.shift();
1447
+ this.valuesCount--;
1448
+ this.fit();
1449
+ },
1450
+ // Fitting loop to rotate x Labels and figure out what fits there, and also calculate how many Y steps to use
1451
+ fit: function(){
1452
+ // First we need the width of the yLabels, assuming the xLabels aren't rotated
1453
+
1454
+ // To do that we need the base line at the top and base of the chart, assuming there is no x label rotation
1455
+ this.startPoint = (this.display) ? this.fontSize : 0;
1456
+ this.endPoint = (this.display) ? this.height - (this.fontSize * 1.5) - 5 : this.height; // -5 to pad labels
1457
+
1458
+ // Apply padding settings to the start and end point.
1459
+ this.startPoint += this.padding;
1460
+ this.endPoint -= this.padding;
1461
+
1462
+ // Cache the starting height, so can determine if we need to recalculate the scale yAxis
1463
+ var cachedHeight = this.endPoint - this.startPoint,
1464
+ cachedYLabelWidth;
1465
+
1466
+ // Build the current yLabels so we have an idea of what size they'll be to start
1467
+ /*
1468
+ * This sets what is returned from calculateScaleRange as static properties of this class:
1469
+ *
1470
+ this.steps;
1471
+ this.stepValue;
1472
+ this.min;
1473
+ this.max;
1474
+ *
1475
+ */
1476
+ this.calculateYRange(cachedHeight);
1477
+
1478
+ // With these properties set we can now build the array of yLabels
1479
+ // and also the width of the largest yLabel
1480
+ this.buildYLabels();
1481
+
1482
+ this.calculateXLabelRotation();
1483
+
1484
+ while((cachedHeight > this.endPoint - this.startPoint)){
1485
+ cachedHeight = this.endPoint - this.startPoint;
1486
+ cachedYLabelWidth = this.yLabelWidth;
1487
+
1488
+ this.calculateYRange(cachedHeight);
1489
+ this.buildYLabels();
1490
+
1491
+ // Only go through the xLabel loop again if the yLabel width has changed
1492
+ if (cachedYLabelWidth < this.yLabelWidth){
1493
+ this.calculateXLabelRotation();
1494
+ }
1495
+ }
1496
+
1497
+ },
1498
+ calculateXLabelRotation : function(){
1499
+ //Get the width of each grid by calculating the difference
1500
+ //between x offsets between 0 and 1.
1501
+
1502
+ this.ctx.font = this.font;
1503
+
1504
+ var firstWidth = this.ctx.measureText(this.xLabels[0]).width,
1505
+ lastWidth = this.ctx.measureText(this.xLabels[this.xLabels.length - 1]).width,
1506
+ firstRotated,
1507
+ lastRotated;
1508
+
1509
+
1510
+ this.xScalePaddingRight = lastWidth/2 + 3;
1511
+ this.xScalePaddingLeft = (firstWidth/2 > this.yLabelWidth + 10) ? firstWidth/2 : this.yLabelWidth + 10;
1512
+
1513
+ this.xLabelRotation = 0;
1514
+ if (this.display){
1515
+ var originalLabelWidth = longestText(this.ctx,this.font,this.xLabels),
1516
+ cosRotation,
1517
+ firstRotatedWidth;
1518
+ this.xLabelWidth = originalLabelWidth;
1519
+ //Allow 3 pixels x2 padding either side for label readability
1520
+ var xGridWidth = Math.floor(this.calculateX(1) - this.calculateX(0)) - 6;
1521
+
1522
+ //Max label rotate should be 90 - also act as a loop counter
1523
+ while ((this.xLabelWidth > xGridWidth && this.xLabelRotation === 0) || (this.xLabelWidth > xGridWidth && this.xLabelRotation <= 90 && this.xLabelRotation > 0)){
1524
+ cosRotation = Math.cos(toRadians(this.xLabelRotation));
1525
+
1526
+ firstRotated = cosRotation * firstWidth;
1527
+ lastRotated = cosRotation * lastWidth;
1528
+
1529
+ // We're right aligning the text now.
1530
+ if (firstRotated + this.fontSize / 2 > this.yLabelWidth + 8){
1531
+ this.xScalePaddingLeft = firstRotated + this.fontSize / 2;
1532
+ }
1533
+ this.xScalePaddingRight = this.fontSize/2;
1534
+
1535
+
1536
+ this.xLabelRotation++;
1537
+ this.xLabelWidth = cosRotation * originalLabelWidth;
1538
+
1539
+ }
1540
+ if (this.xLabelRotation > 0){
1541
+ this.endPoint -= Math.sin(toRadians(this.xLabelRotation))*originalLabelWidth + 3;
1542
+ }
1543
+ }
1544
+ else{
1545
+ this.xLabelWidth = 0;
1546
+ this.xScalePaddingRight = this.padding;
1547
+ this.xScalePaddingLeft = this.padding;
1548
+ }
1549
+
1550
+ },
1551
+ // Needs to be overidden in each Chart type
1552
+ // Otherwise we need to pass all the data into the scale class
1553
+ calculateYRange: noop,
1554
+ drawingArea: function(){
1555
+ return this.startPoint - this.endPoint;
1556
+ },
1557
+ calculateY : function(value){
1558
+ var scalingFactor = this.drawingArea() / (this.min - this.max);
1559
+ return this.endPoint - (scalingFactor * (value - this.min));
1560
+ },
1561
+ calculateX : function(index){
1562
+ var isRotated = (this.xLabelRotation > 0),
1563
+ // innerWidth = (this.offsetGridLines) ? this.width - offsetLeft - this.padding : this.width - (offsetLeft + halfLabelWidth * 2) - this.padding,
1564
+ innerWidth = this.width - (this.xScalePaddingLeft + this.xScalePaddingRight),
1565
+ valueWidth = innerWidth/(this.valuesCount - ((this.offsetGridLines) ? 0 : 1)),
1566
+ valueOffset = (valueWidth * index) + this.xScalePaddingLeft;
1567
+
1568
+ if (this.offsetGridLines){
1569
+ valueOffset += (valueWidth/2);
1570
+ }
1571
+
1572
+ return Math.round(valueOffset);
1573
+ },
1574
+ update : function(newProps){
1575
+ helpers.extend(this, newProps);
1576
+ this.fit();
1577
+ },
1578
+ draw : function(){
1579
+ var ctx = this.ctx,
1580
+ yLabelGap = (this.endPoint - this.startPoint) / this.steps,
1581
+ xStart = Math.round(this.xScalePaddingLeft);
1582
+ if (this.display){
1583
+ ctx.fillStyle = this.textColor;
1584
+ ctx.font = this.font;
1585
+ each(this.yLabels,function(labelString,index){
1586
+ var yLabelCenter = this.endPoint - (yLabelGap * index),
1587
+ linePositionY = Math.round(yLabelCenter);
1588
+
1589
+ ctx.textAlign = "right";
1590
+ ctx.textBaseline = "middle";
1591
+ if (this.showLabels){
1592
+ ctx.fillText(labelString,xStart - 10,yLabelCenter);
1593
+ }
1594
+ ctx.beginPath();
1595
+ if (index > 0){
1596
+ // This is a grid line in the centre, so drop that
1597
+ ctx.lineWidth = this.gridLineWidth;
1598
+ ctx.strokeStyle = this.gridLineColor;
1599
+ } else {
1600
+ // This is the first line on the scale
1601
+ ctx.lineWidth = this.lineWidth;
1602
+ ctx.strokeStyle = this.lineColor;
1603
+ }
1604
+
1605
+ linePositionY += helpers.aliasPixel(ctx.lineWidth);
1606
+
1607
+ ctx.moveTo(xStart, linePositionY);
1608
+ ctx.lineTo(this.width, linePositionY);
1609
+ ctx.stroke();
1610
+ ctx.closePath();
1611
+
1612
+ ctx.lineWidth = this.lineWidth;
1613
+ ctx.strokeStyle = this.lineColor;
1614
+ ctx.beginPath();
1615
+ ctx.moveTo(xStart - 5, linePositionY);
1616
+ ctx.lineTo(xStart, linePositionY);
1617
+ ctx.stroke();
1618
+ ctx.closePath();
1619
+
1620
+ },this);
1621
+
1622
+ if(this.limitXLabels) {
1623
+ var xDrawEvery = Math.round(this.xLabels.length / (this.limitXLabelsTo-1));
1624
+ }
1625
+ else {
1626
+ var xDrawEvery = 1;
1627
+ }
1628
+
1629
+ each(this.xLabels,function(label,index){
1630
+ var xPos = this.calculateX(index) + aliasPixel(this.lineWidth),
1631
+ // Check to see if line/bar here and decide where to place the line
1632
+ linePos = this.calculateX(index - (this.offsetGridLines ? 0.5 : 0)) + aliasPixel(this.lineWidth),
1633
+ isRotated = (this.xLabelRotation > 0);
1634
+
1635
+ ctx.beginPath();
1636
+
1637
+ if (index > 0){
1638
+ // This is a grid line in the centre, so drop that
1639
+ ctx.lineWidth = this.gridLineWidth;
1640
+ ctx.strokeStyle = this.gridLineColor;
1641
+ } else {
1642
+ // This is the first line on the scale
1643
+ ctx.lineWidth = this.lineWidth;
1644
+ ctx.strokeStyle = this.lineColor;
1645
+ }
1646
+ if(index == 0 || (index+1) % xDrawEvery == 0 || index == this.xLabels.length-1)
1647
+ {
1648
+ ctx.moveTo(linePos,this.endPoint);
1649
+ ctx.lineTo(linePos,this.startPoint - 3);
1650
+ ctx.stroke();
1651
+ ctx.closePath();
1652
+ }
1653
+
1654
+ ctx.lineWidth = this.lineWidth;
1655
+ ctx.strokeStyle = this.lineColor;
1656
+
1657
+
1658
+ // Small lines at the bottom of the base grid line
1659
+ ctx.beginPath();
1660
+ ctx.moveTo(linePos,this.endPoint);
1661
+ ctx.lineTo(linePos,this.endPoint + 5);
1662
+ ctx.stroke();
1663
+ ctx.closePath();
1664
+
1665
+ ctx.save();
1666
+ ctx.translate(xPos,(isRotated) ? this.endPoint + 12 : this.endPoint + 8);
1667
+ ctx.rotate(toRadians(this.xLabelRotation)*-1);
1668
+ ctx.font = this.font;
1669
+ ctx.textAlign = (isRotated) ? "right" : "center";
1670
+ ctx.textBaseline = (isRotated) ? "middle" : "top";
1671
+ ctx.fillText(label, 0, 0);
1672
+ ctx.restore();
1673
+ },this);
1674
+
1675
+ }
1676
+ }
1677
+
1678
+ });
1679
+
1680
+ Chart.RadialScale = Chart.Element.extend({
1681
+ initialize: function(){
1682
+ this.size = min([this.height, this.width]);
1683
+ this.drawingArea = (this.display) ? (this.size/2) - (this.fontSize/2 + this.backdropPaddingY) : (this.size/2);
1684
+ },
1685
+ calculateCenterOffset: function(value){
1686
+ // Take into account half font size + the yPadding of the top value
1687
+ var scalingFactor = this.drawingArea / (this.max - this.min);
1688
+
1689
+ return (value - this.min) * scalingFactor;
1690
+ },
1691
+ update : function(){
1692
+ if (!this.lineArc){
1693
+ this.setScaleSize();
1694
+ } else {
1695
+ this.drawingArea = (this.display) ? (this.size/2) - (this.fontSize/2 + this.backdropPaddingY) : (this.size/2);
1696
+ }
1697
+ this.buildYLabels();
1698
+ },
1699
+ buildYLabels: function(){
1700
+ this.yLabels = [];
1701
+
1702
+ var stepDecimalPlaces = getDecimalPlaces(this.stepValue);
1703
+
1704
+ for (var i=0; i<=this.steps; i++){
1705
+ this.yLabels.push(template(this.templateString,{value:(this.min + (i * this.stepValue)).toFixed(stepDecimalPlaces)}));
1706
+ }
1707
+ },
1708
+ getCircumference : function(){
1709
+ return ((Math.PI*2) / this.valuesCount);
1710
+ },
1711
+ setScaleSize: function(){
1712
+ /*
1713
+ * Right, this is really confusing and there is a lot of maths going on here
1714
+ * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9
1715
+ *
1716
+ * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif
1717
+ *
1718
+ * Solution:
1719
+ *
1720
+ * We assume the radius of the polygon is half the size of the canvas at first
1721
+ * at each index we check if the text overlaps.
1722
+ *
1723
+ * Where it does, we store that angle and that index.
1724
+ *
1725
+ * After finding the largest index and angle we calculate how much we need to remove
1726
+ * from the shape radius to move the point inwards by that x.
1727
+ *
1728
+ * We average the left and right distances to get the maximum shape radius that can fit in the box
1729
+ * along with labels.
1730
+ *
1731
+ * Once we have that, we can find the centre point for the chart, by taking the x text protrusion
1732
+ * on each side, removing that from the size, halving it and adding the left x protrusion width.
1733
+ *
1734
+ * This will mean we have a shape fitted to the canvas, as large as it can be with the labels
1735
+ * and position it in the most space efficient manner
1736
+ *
1737
+ * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif
1738
+ */
1739
+
1740
+
1741
+ // Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.
1742
+ // Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points
1743
+ var largestPossibleRadius = min([(this.height/2 - this.pointLabelFontSize - 5), this.width/2]),
1744
+ pointPosition,
1745
+ i,
1746
+ textWidth,
1747
+ halfTextWidth,
1748
+ furthestRight = this.width,
1749
+ furthestRightIndex,
1750
+ furthestRightAngle,
1751
+ furthestLeft = 0,
1752
+ furthestLeftIndex,
1753
+ furthestLeftAngle,
1754
+ xProtrusionLeft,
1755
+ xProtrusionRight,
1756
+ radiusReductionRight,
1757
+ radiusReductionLeft,
1758
+ maxWidthRadius;
1759
+ this.ctx.font = fontString(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);
1760
+ for (i=0;i<this.valuesCount;i++){
1761
+ // 5px to space the text slightly out - similar to what we do in the draw function.
1762
+ pointPosition = this.getPointPosition(i, largestPossibleRadius);
1763
+ textWidth = this.ctx.measureText(template(this.templateString, { value: this.labels[i] })).width + 5;
1764
+ if (i === 0 || i === this.valuesCount/2){
1765
+ // If we're at index zero, or exactly the middle, we're at exactly the top/bottom
1766
+ // of the radar chart, so text will be aligned centrally, so we'll half it and compare
1767
+ // w/left and right text sizes
1768
+ halfTextWidth = textWidth/2;
1769
+ if (pointPosition.x + halfTextWidth > furthestRight) {
1770
+ furthestRight = pointPosition.x + halfTextWidth;
1771
+ furthestRightIndex = i;
1772
+ }
1773
+ if (pointPosition.x - halfTextWidth < furthestLeft) {
1774
+ furthestLeft = pointPosition.x - halfTextWidth;
1775
+ furthestLeftIndex = i;
1776
+ }
1777
+ }
1778
+ else if (i < this.valuesCount/2) {
1779
+ // Less than half the values means we'll left align the text
1780
+ if (pointPosition.x + textWidth > furthestRight) {
1781
+ furthestRight = pointPosition.x + textWidth;
1782
+ furthestRightIndex = i;
1783
+ }
1784
+ }
1785
+ else if (i > this.valuesCount/2){
1786
+ // More than half the values means we'll right align the text
1787
+ if (pointPosition.x - textWidth < furthestLeft) {
1788
+ furthestLeft = pointPosition.x - textWidth;
1789
+ furthestLeftIndex = i;
1790
+ }
1791
+ }
1792
+ }
1793
+
1794
+ xProtrusionLeft = furthestLeft;
1795
+
1796
+ xProtrusionRight = Math.ceil(furthestRight - this.width);
1797
+
1798
+ furthestRightAngle = this.getIndexAngle(furthestRightIndex);
1799
+
1800
+ furthestLeftAngle = this.getIndexAngle(furthestLeftIndex);
1801
+
1802
+ radiusReductionRight = xProtrusionRight / Math.sin(furthestRightAngle + Math.PI/2);
1803
+
1804
+ radiusReductionLeft = xProtrusionLeft / Math.sin(furthestLeftAngle + Math.PI/2);
1805
+
1806
+ // Ensure we actually need to reduce the size of the chart
1807
+ radiusReductionRight = (isNumber(radiusReductionRight)) ? radiusReductionRight : 0;
1808
+ radiusReductionLeft = (isNumber(radiusReductionLeft)) ? radiusReductionLeft : 0;
1809
+
1810
+ this.drawingArea = largestPossibleRadius - (radiusReductionLeft + radiusReductionRight)/2;
1811
+
1812
+ //this.drawingArea = min([maxWidthRadius, (this.height - (2 * (this.pointLabelFontSize + 5)))/2])
1813
+ this.setCenterPoint(radiusReductionLeft, radiusReductionRight);
1814
+
1815
+ },
1816
+ setCenterPoint: function(leftMovement, rightMovement){
1817
+
1818
+ var maxRight = this.width - rightMovement - this.drawingArea,
1819
+ maxLeft = leftMovement + this.drawingArea;
1820
+
1821
+ this.xCenter = (maxLeft + maxRight)/2;
1822
+ // Always vertically in the centre as the text height doesn't change
1823
+ this.yCenter = (this.height/2);
1824
+ },
1825
+
1826
+ getIndexAngle : function(index){
1827
+ var angleMultiplier = (Math.PI * 2) / this.valuesCount;
1828
+ // Start from the top instead of right, so remove a quarter of the circle
1829
+
1830
+ return index * angleMultiplier - (Math.PI/2);
1831
+ },
1832
+ getPointPosition : function(index, distanceFromCenter){
1833
+ var thisAngle = this.getIndexAngle(index);
1834
+ return {
1835
+ x : (Math.cos(thisAngle) * distanceFromCenter) + this.xCenter,
1836
+ y : (Math.sin(thisAngle) * distanceFromCenter) + this.yCenter
1837
+ };
1838
+ },
1839
+ draw: function(){
1840
+ if (this.display){
1841
+ var ctx = this.ctx;
1842
+ each(this.yLabels, function(label, index){
1843
+ // Don't draw a centre value
1844
+ if (index > 0){
1845
+ var yCenterOffset = index * (this.drawingArea/this.steps),
1846
+ yHeight = this.yCenter - yCenterOffset,
1847
+ pointPosition;
1848
+
1849
+ // Draw circular lines around the scale
1850
+ if (this.lineWidth > 0){
1851
+ ctx.strokeStyle = this.lineColor;
1852
+ ctx.lineWidth = this.lineWidth;
1853
+
1854
+ if(this.lineArc){
1855
+ ctx.beginPath();
1856
+ ctx.arc(this.xCenter, this.yCenter, yCenterOffset, 0, Math.PI*2);
1857
+ ctx.closePath();
1858
+ ctx.stroke();
1859
+ } else{
1860
+ ctx.beginPath();
1861
+ for (var i=0;i<this.valuesCount;i++)
1862
+ {
1863
+ pointPosition = this.getPointPosition(i, this.calculateCenterOffset(this.min + (index * this.stepValue)));
1864
+ if (i === 0){
1865
+ ctx.moveTo(pointPosition.x, pointPosition.y);
1866
+ } else {
1867
+ ctx.lineTo(pointPosition.x, pointPosition.y);
1868
+ }
1869
+ }
1870
+ ctx.closePath();
1871
+ ctx.stroke();
1872
+ }
1873
+ }
1874
+ if(this.showLabels){
1875
+ ctx.font = fontString(this.fontSize,this.fontStyle,this.fontFamily);
1876
+ if (this.showLabelBackdrop){
1877
+ var labelWidth = ctx.measureText(label).width;
1878
+ ctx.fillStyle = this.backdropColor;
1879
+ ctx.fillRect(
1880
+ this.xCenter - labelWidth/2 - this.backdropPaddingX,
1881
+ yHeight - this.fontSize/2 - this.backdropPaddingY,
1882
+ labelWidth + this.backdropPaddingX*2,
1883
+ this.fontSize + this.backdropPaddingY*2
1884
+ );
1885
+ }
1886
+ ctx.textAlign = 'center';
1887
+ ctx.textBaseline = "middle";
1888
+ ctx.fillStyle = this.fontColor;
1889
+ ctx.fillText(label, this.xCenter, yHeight);
1890
+ }
1891
+ }
1892
+ }, this);
1893
+
1894
+ if (!this.lineArc){
1895
+ ctx.lineWidth = this.angleLineWidth;
1896
+ ctx.strokeStyle = this.angleLineColor;
1897
+ for (var i = this.valuesCount - 1; i >= 0; i--) {
1898
+ if (this.angleLineWidth > 0){
1899
+ var outerPosition = this.getPointPosition(i, this.calculateCenterOffset(this.max));
1900
+ ctx.beginPath();
1901
+ ctx.moveTo(this.xCenter, this.yCenter);
1902
+ ctx.lineTo(outerPosition.x, outerPosition.y);
1903
+ ctx.stroke();
1904
+ ctx.closePath();
1905
+ }
1906
+ // Extra 3px out for some label spacing
1907
+ var pointLabelPosition = this.getPointPosition(i, this.calculateCenterOffset(this.max) + 5);
1908
+ ctx.font = fontString(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);
1909
+ ctx.fillStyle = this.pointLabelFontColor;
1910
+
1911
+ var labelsCount = this.labels.length,
1912
+ halfLabelsCount = this.labels.length/2,
1913
+ quarterLabelsCount = halfLabelsCount/2,
1914
+ upperHalf = (i < quarterLabelsCount || i > labelsCount - quarterLabelsCount),
1915
+ exactQuarter = (i === quarterLabelsCount || i === labelsCount - quarterLabelsCount);
1916
+ if (i === 0){
1917
+ ctx.textAlign = 'center';
1918
+ } else if(i === halfLabelsCount){
1919
+ ctx.textAlign = 'center';
1920
+ } else if (i < halfLabelsCount){
1921
+ ctx.textAlign = 'left';
1922
+ } else {
1923
+ ctx.textAlign = 'right';
1924
+ }
1925
+
1926
+ // Set the correct text baseline based on outer positioning
1927
+ if (exactQuarter){
1928
+ ctx.textBaseline = 'middle';
1929
+ } else if (upperHalf){
1930
+ ctx.textBaseline = 'bottom';
1931
+ } else {
1932
+ ctx.textBaseline = 'top';
1933
+ }
1934
+
1935
+ ctx.fillText(this.labels[i], pointLabelPosition.x, pointLabelPosition.y);
1936
+ }
1937
+ }
1938
+ }
1939
+ }
1940
+ });
1941
+
1942
+ // Attach global event to resize each chart instance when the browser resizes
1943
+ helpers.addEvent(window, "resize", (function(){
1944
+ // Basic debounce of resize function so it doesn't hurt performance when resizing browser.
1945
+ var timeout;
1946
+ return function(){
1947
+ clearTimeout(timeout);
1948
+ timeout = setTimeout(function(){
1949
+ each(Chart.instances,function(instance){
1950
+ // If the responsive flag is set in the chart instance config
1951
+ // Cascade the resize event down to the chart.
1952
+ if (instance.options.responsive){
1953
+ instance.resize(instance.render, true);
1954
+ }
1955
+ });
1956
+ }, 50);
1957
+ };
1958
+ })());
1959
+
1960
+
1961
+ if (amd) {
1962
+ define(function(){
1963
+ return Chart;
1964
+ });
1965
+ } else if (typeof module === 'object' && module.exports) {
1966
+ module.exports = Chart;
1967
+ }
1968
+
1969
+ root.Chart = Chart;
1970
+
1971
+ Chart.noConflict = function(){
1972
+ root.Chart = previous;
1973
+ return Chart;
1974
+ };
1975
+
1976
+ }).call(this);
1977
+
1978
+ (function(){
1979
+ "use strict";
1980
+
1981
+ var root = this,
1982
+ Chart = root.Chart,
1983
+ helpers = Chart.helpers;
1984
+
1985
+
1986
+ var defaultConfig = {
1987
+ //Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value
1988
+ scaleBeginAtZero : true,
1989
+
1990
+ //Boolean - Whether grid lines are shown across the chart
1991
+ scaleShowGridLines : true,
1992
+
1993
+ //String - Colour of the grid lines
1994
+ scaleGridLineColor : "rgba(0,0,0,.05)",
1995
+
1996
+ //Number - Width of the grid lines
1997
+ scaleGridLineWidth : 1,
1998
+
1999
+ //Boolean - If there is a stroke on each bar
2000
+ barShowStroke : true,
2001
+
2002
+ //Number - Pixel width of the bar stroke
2003
+ barStrokeWidth : 2,
2004
+
2005
+ //Number - Spacing between each of the X value sets
2006
+ barValueSpacing : 5,
2007
+
2008
+ //Number - Spacing between data sets within X values
2009
+ barDatasetSpacing : 1,
2010
+
2011
+ //String - A legend template
2012
+ legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].fillColor%>\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>"
2013
+
2014
+ };
2015
+
2016
+
2017
+ Chart.Type.extend({
2018
+ name: "Bar",
2019
+ defaults : defaultConfig,
2020
+ initialize: function(data){
2021
+
2022
+ //Expose options as a scope variable here so we can access it in the ScaleClass
2023
+ var options = this.options;
2024
+
2025
+ this.ScaleClass = Chart.Scale.extend({
2026
+ offsetGridLines : true,
2027
+ calculateBarX : function(datasetCount, datasetIndex, barIndex){
2028
+ //Reusable method for calculating the xPosition of a given bar based on datasetIndex & width of the bar
2029
+ var xWidth = this.calculateBaseWidth(),
2030
+ xAbsolute = this.calculateX(barIndex) - (xWidth/2),
2031
+ barWidth = this.calculateBarWidth(datasetCount);
2032
+
2033
+ return xAbsolute + (barWidth * datasetIndex) + (datasetIndex * options.barDatasetSpacing) + barWidth/2;
2034
+ },
2035
+ calculateBaseWidth : function(){
2036
+ return (this.calculateX(1) - this.calculateX(0)) - (2*options.barValueSpacing);
2037
+ },
2038
+ calculateBarWidth : function(datasetCount){
2039
+ //The padding between datasets is to the right of each bar, providing that there are more than 1 dataset
2040
+ var baseWidth = this.calculateBaseWidth() - ((datasetCount - 1) * options.barDatasetSpacing);
2041
+
2042
+ return (baseWidth / datasetCount);
2043
+ }
2044
+ });
2045
+
2046
+ this.datasets = [];
2047
+
2048
+ //Set up tooltip events on the chart
2049
+ if (this.options.showTooltips){
2050
+ helpers.bindEvents(this, this.options.tooltipEvents, function(evt){
2051
+ var activeBars = (evt.type !== 'mouseout') ? this.getBarsAtEvent(evt) : [];
2052
+
2053
+ this.eachBars(function(bar){
2054
+ bar.restore(['fillColor', 'strokeColor']);
2055
+ });
2056
+ helpers.each(activeBars, function(activeBar){
2057
+ activeBar.fillColor = activeBar.highlightFill;
2058
+ activeBar.strokeColor = activeBar.highlightStroke;
2059
+ });
2060
+ this.showTooltip(activeBars);
2061
+ });
2062
+ }
2063
+
2064
+ //Declare the extension of the default point, to cater for the options passed in to the constructor
2065
+ this.BarClass = Chart.Rectangle.extend({
2066
+ strokeWidth : this.options.barStrokeWidth,
2067
+ showStroke : this.options.barShowStroke,
2068
+ ctx : this.chart.ctx
2069
+ });
2070
+
2071
+ //Iterate through each of the datasets, and build this into a property of the chart
2072
+ helpers.each(data.datasets,function(dataset,datasetIndex){
2073
+
2074
+ var datasetObject = {
2075
+ label : dataset.label || null,
2076
+ fillColor : dataset.fillColor,
2077
+ strokeColor : dataset.strokeColor,
2078
+ bars : []
2079
+ };
2080
+
2081
+ this.datasets.push(datasetObject);
2082
+
2083
+ helpers.each(dataset.data,function(dataPoint,index){
2084
+ //Add a new point for each piece of data, passing any required data to draw.
2085
+ datasetObject.bars.push(new this.BarClass({
2086
+ value : dataPoint,
2087
+ label : data.labels[index],
2088
+ datasetLabel: dataset.label,
2089
+ strokeColor : dataset.strokeColor,
2090
+ fillColor : dataset.fillColor,
2091
+ highlightFill : dataset.highlightFill || dataset.fillColor,
2092
+ highlightStroke : dataset.highlightStroke || dataset.strokeColor
2093
+ }));
2094
+ },this);
2095
+
2096
+ },this);
2097
+
2098
+ this.buildScale(data.labels);
2099
+
2100
+ this.BarClass.prototype.base = this.scale.endPoint;
2101
+
2102
+ this.eachBars(function(bar, index, datasetIndex){
2103
+ helpers.extend(bar, {
2104
+ width : this.scale.calculateBarWidth(this.datasets.length),
2105
+ x: this.scale.calculateBarX(this.datasets.length, datasetIndex, index),
2106
+ y: this.scale.endPoint
2107
+ });
2108
+ bar.save();
2109
+ }, this);
2110
+
2111
+ this.render();
2112
+ },
2113
+ update : function(){
2114
+ this.scale.update();
2115
+ // Reset any highlight colours before updating.
2116
+ helpers.each(this.activeElements, function(activeElement){
2117
+ activeElement.restore(['fillColor', 'strokeColor']);
2118
+ });
2119
+
2120
+ this.eachBars(function(bar){
2121
+ bar.save();
2122
+ });
2123
+ this.render();
2124
+ },
2125
+ eachBars : function(callback){
2126
+ helpers.each(this.datasets,function(dataset, datasetIndex){
2127
+ helpers.each(dataset.bars, callback, this, datasetIndex);
2128
+ },this);
2129
+ },
2130
+ getBarsAtEvent : function(e){
2131
+ var barsArray = [],
2132
+ eventPosition = helpers.getRelativePosition(e),
2133
+ datasetIterator = function(dataset){
2134
+ barsArray.push(dataset.bars[barIndex]);
2135
+ },
2136
+ barIndex;
2137
+
2138
+ for (var datasetIndex = 0; datasetIndex < this.datasets.length; datasetIndex++) {
2139
+ for (barIndex = 0; barIndex < this.datasets[datasetIndex].bars.length; barIndex++) {
2140
+ if (this.datasets[datasetIndex].bars[barIndex].inRange(eventPosition.x,eventPosition.y)){
2141
+ helpers.each(this.datasets, datasetIterator);
2142
+ return barsArray;
2143
+ }
2144
+ }
2145
+ }
2146
+
2147
+ return barsArray;
2148
+ },
2149
+ buildScale : function(labels){
2150
+ var self = this;
2151
+
2152
+ var dataTotal = function(){
2153
+ var values = [];
2154
+ self.eachBars(function(bar){
2155
+ values.push(bar.value);
2156
+ });
2157
+ return values;
2158
+ };
2159
+
2160
+ var scaleOptions = {
2161
+ templateString : this.options.scaleLabel,
2162
+ height : this.chart.height,
2163
+ width : this.chart.width,
2164
+ ctx : this.chart.ctx,
2165
+ textColor : this.options.scaleFontColor,
2166
+ fontSize : this.options.scaleFontSize,
2167
+ fontStyle : this.options.scaleFontStyle,
2168
+ fontFamily : this.options.scaleFontFamily,
2169
+ valuesCount : labels.length,
2170
+ beginAtZero : this.options.scaleBeginAtZero,
2171
+ integersOnly : this.options.scaleIntegersOnly,
2172
+ calculateYRange: function(currentHeight){
2173
+ var updatedRanges = helpers.calculateScaleRange(
2174
+ dataTotal(),
2175
+ currentHeight,
2176
+ this.fontSize,
2177
+ this.beginAtZero,
2178
+ this.integersOnly
2179
+ );
2180
+ helpers.extend(this, updatedRanges);
2181
+ },
2182
+ xLabels : labels,
2183
+ limitXLabels: this.options.scaleLimitXLabels,
2184
+ limitXLabelsTo: this.options.scaleLimitXLabelsTo,
2185
+ font : helpers.fontString(this.options.scaleFontSize, this.options.scaleFontStyle, this.options.scaleFontFamily),
2186
+ lineWidth : this.options.scaleLineWidth,
2187
+ lineColor : this.options.scaleLineColor,
2188
+ gridLineWidth : (this.options.scaleShowGridLines) ? this.options.scaleGridLineWidth : 0,
2189
+ gridLineColor : (this.options.scaleShowGridLines) ? this.options.scaleGridLineColor : "rgba(0,0,0,0)",
2190
+ padding : (this.options.showScale) ? 0 : (this.options.barShowStroke) ? this.options.barStrokeWidth : 0,
2191
+ showLabels : this.options.scaleShowLabels,
2192
+ display : this.options.showScale
2193
+ };
2194
+
2195
+ if (this.options.scaleOverride){
2196
+ helpers.extend(scaleOptions, {
2197
+ calculateYRange: helpers.noop,
2198
+ steps: this.options.scaleSteps,
2199
+ stepValue: this.options.scaleStepWidth,
2200
+ min: this.options.scaleStartValue,
2201
+ max: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)
2202
+ });
2203
+ }
2204
+
2205
+ this.scale = new this.ScaleClass(scaleOptions);
2206
+ },
2207
+ addData : function(valuesArray,label){
2208
+ //Map the values array for each of the datasets
2209
+ helpers.each(valuesArray,function(value,datasetIndex){
2210
+ //Add a new point for each piece of data, passing any required data to draw.
2211
+ this.datasets[datasetIndex].bars.push(new this.BarClass({
2212
+ value : value,
2213
+ label : label,
2214
+ x: this.scale.calculateBarX(this.datasets.length, datasetIndex, this.scale.valuesCount+1),
2215
+ y: this.scale.endPoint,
2216
+ width : this.scale.calculateBarWidth(this.datasets.length),
2217
+ base : this.scale.endPoint,
2218
+ strokeColor : this.datasets[datasetIndex].strokeColor,
2219
+ fillColor : this.datasets[datasetIndex].fillColor
2220
+ }));
2221
+ },this);
2222
+
2223
+ this.scale.addXLabel(label);
2224
+ //Then re-render the chart.
2225
+ this.update();
2226
+ },
2227
+ removeData : function(){
2228
+ this.scale.removeXLabel();
2229
+ //Then re-render the chart.
2230
+ helpers.each(this.datasets,function(dataset){
2231
+ dataset.bars.shift();
2232
+ },this);
2233
+ this.update();
2234
+ },
2235
+ reflow : function(){
2236
+ helpers.extend(this.BarClass.prototype,{
2237
+ y: this.scale.endPoint,
2238
+ base : this.scale.endPoint
2239
+ });
2240
+ var newScaleProps = helpers.extend({
2241
+ height : this.chart.height,
2242
+ width : this.chart.width
2243
+ });
2244
+ this.scale.update(newScaleProps);
2245
+ },
2246
+ draw : function(ease){
2247
+ var easingDecimal = ease || 1;
2248
+ this.clear();
2249
+
2250
+ var ctx = this.chart.ctx;
2251
+
2252
+ this.scale.draw(easingDecimal);
2253
+
2254
+ //Draw all the bars for each dataset
2255
+ helpers.each(this.datasets,function(dataset,datasetIndex){
2256
+ helpers.each(dataset.bars,function(bar,index){
2257
+ if (bar.hasValue()){
2258
+ bar.base = this.scale.endPoint;
2259
+ //Transition then draw
2260
+ bar.transition({
2261
+ x : this.scale.calculateBarX(this.datasets.length, datasetIndex, index),
2262
+ y : this.scale.calculateY(bar.value),
2263
+ width : this.scale.calculateBarWidth(this.datasets.length)
2264
+ }, easingDecimal).draw();
2265
+ }
2266
+ },this);
2267
+
2268
+ },this);
2269
+ }
2270
+ });
2271
+
2272
+
2273
+ }).call(this);
2274
+ (function(){
2275
+ "use strict";
2276
+
2277
+ var root = this,
2278
+ Chart = root.Chart,
2279
+ //Cache a local reference to Chart.helpers
2280
+ helpers = Chart.helpers;
2281
+
2282
+ var defaultConfig = {
2283
+ //Boolean - Whether we should show a stroke on each segment
2284
+ segmentShowStroke : true,
2285
+
2286
+ //String - The colour of each segment stroke
2287
+ segmentStrokeColor : "#fff",
2288
+
2289
+ //Number - The width of each segment stroke
2290
+ segmentStrokeWidth : 2,
2291
+
2292
+ //The percentage of the chart that we cut out of the middle.
2293
+ percentageInnerCutout : 50,
2294
+
2295
+ //Number - Amount of animation steps
2296
+ animationSteps : 100,
2297
+
2298
+ //String - Animation easing effect
2299
+ animationEasing : "easeOutBounce",
2300
+
2301
+ //Boolean - Whether we animate the rotation of the Doughnut
2302
+ animateRotate : true,
2303
+
2304
+ //Boolean - Whether we animate scaling the Doughnut from the centre
2305
+ animateScale : false,
2306
+
2307
+ //String - A legend template
2308
+ legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li><span style=\"background-color:<%=segments[i].fillColor%>\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>"
2309
+
2310
+ };
2311
+
2312
+
2313
+ Chart.Type.extend({
2314
+ //Passing in a name registers this chart in the Chart namespace
2315
+ name: "Doughnut",
2316
+ //Providing a defaults will also register the deafults in the chart namespace
2317
+ defaults : defaultConfig,
2318
+ //Initialize is fired when the chart is initialized - Data is passed in as a parameter
2319
+ //Config is automatically merged by the core of Chart.js, and is available at this.options
2320
+ initialize: function(data){
2321
+
2322
+ //Declare segments as a static property to prevent inheriting across the Chart type prototype
2323
+ this.segments = [];
2324
+ this.outerRadius = (helpers.min([this.chart.width,this.chart.height]) - this.options.segmentStrokeWidth/2)/2;
2325
+
2326
+ this.SegmentArc = Chart.Arc.extend({
2327
+ ctx : this.chart.ctx,
2328
+ x : this.chart.width/2,
2329
+ y : this.chart.height/2
2330
+ });
2331
+
2332
+ //Set up tooltip events on the chart
2333
+ if (this.options.showTooltips){
2334
+ helpers.bindEvents(this, this.options.tooltipEvents, function(evt){
2335
+ var activeSegments = (evt.type !== 'mouseout') ? this.getSegmentsAtEvent(evt) : [];
2336
+
2337
+ helpers.each(this.segments,function(segment){
2338
+ segment.restore(["fillColor"]);
2339
+ });
2340
+ helpers.each(activeSegments,function(activeSegment){
2341
+ activeSegment.fillColor = activeSegment.highlightColor;
2342
+ });
2343
+ this.showTooltip(activeSegments);
2344
+ });
2345
+ }
2346
+ this.calculateTotal(data);
2347
+
2348
+ helpers.each(data,function(datapoint, index){
2349
+ this.addData(datapoint, index, true);
2350
+ },this);
2351
+
2352
+ this.render();
2353
+ },
2354
+ getSegmentsAtEvent : function(e){
2355
+ var segmentsArray = [];
2356
+
2357
+ var location = helpers.getRelativePosition(e);
2358
+
2359
+ helpers.each(this.segments,function(segment){
2360
+ if (segment.inRange(location.x,location.y)) segmentsArray.push(segment);
2361
+ },this);
2362
+ return segmentsArray;
2363
+ },
2364
+ addData : function(segment, atIndex, silent){
2365
+ var index = atIndex || this.segments.length;
2366
+ this.segments.splice(index, 0, new this.SegmentArc({
2367
+ value : segment.value,
2368
+ outerRadius : (this.options.animateScale) ? 0 : this.outerRadius,
2369
+ innerRadius : (this.options.animateScale) ? 0 : (this.outerRadius/100) * this.options.percentageInnerCutout,
2370
+ fillColor : segment.color,
2371
+ highlightColor : segment.highlight || segment.color,
2372
+ showStroke : this.options.segmentShowStroke,
2373
+ strokeWidth : this.options.segmentStrokeWidth,
2374
+ strokeColor : this.options.segmentStrokeColor,
2375
+ startAngle : Math.PI * 1.5,
2376
+ circumference : (this.options.animateRotate) ? 0 : this.calculateCircumference(segment.value),
2377
+ label : segment.label
2378
+ }));
2379
+ if (!silent){
2380
+ this.reflow();
2381
+ this.update();
2382
+ }
2383
+ },
2384
+ calculateCircumference : function(value) {
2385
+ if ( this.total > 0 ) {
2386
+ return (Math.PI*2)*(value / this.total);
2387
+ } else {
2388
+ return 0;
2389
+ }
2390
+ },
2391
+ calculateTotal : function(data){
2392
+ this.total = 0;
2393
+ helpers.each(data,function(segment){
2394
+ this.total += segment.value;
2395
+ },this);
2396
+ },
2397
+ update : function(){
2398
+ this.calculateTotal(this.segments);
2399
+
2400
+ // Reset any highlight colours before updating.
2401
+ helpers.each(this.activeElements, function(activeElement){
2402
+ activeElement.restore(['fillColor']);
2403
+ });
2404
+
2405
+ helpers.each(this.segments,function(segment){
2406
+ segment.save();
2407
+ });
2408
+ this.render();
2409
+ },
2410
+
2411
+ removeData: function(atIndex){
2412
+ var indexToDelete = (helpers.isNumber(atIndex)) ? atIndex : this.segments.length-1;
2413
+ this.segments.splice(indexToDelete, 1);
2414
+ this.reflow();
2415
+ this.update();
2416
+ },
2417
+
2418
+ reflow : function(){
2419
+ helpers.extend(this.SegmentArc.prototype,{
2420
+ x : this.chart.width/2,
2421
+ y : this.chart.height/2
2422
+ });
2423
+ this.outerRadius = (helpers.min([this.chart.width,this.chart.height]) - this.options.segmentStrokeWidth/2)/2;
2424
+ helpers.each(this.segments, function(segment){
2425
+ segment.update({
2426
+ outerRadius : this.outerRadius,
2427
+ innerRadius : (this.outerRadius/100) * this.options.percentageInnerCutout
2428
+ });
2429
+ }, this);
2430
+ },
2431
+ draw : function(easeDecimal){
2432
+ var animDecimal = (easeDecimal) ? easeDecimal : 1;
2433
+ this.clear();
2434
+ helpers.each(this.segments,function(segment,index){
2435
+ segment.transition({
2436
+ circumference : this.calculateCircumference(segment.value),
2437
+ outerRadius : this.outerRadius,
2438
+ innerRadius : (this.outerRadius/100) * this.options.percentageInnerCutout
2439
+ },animDecimal);
2440
+
2441
+ segment.endAngle = segment.startAngle + segment.circumference;
2442
+
2443
+ segment.draw();
2444
+ if (index === 0){
2445
+ segment.startAngle = Math.PI * 1.5;
2446
+ }
2447
+ //Check to see if it's the last segment, if not get the next and update the start angle
2448
+ if (index < this.segments.length-1){
2449
+ this.segments[index+1].startAngle = segment.endAngle;
2450
+ }
2451
+ },this);
2452
+
2453
+ }
2454
+ });
2455
+
2456
+ Chart.types.Doughnut.extend({
2457
+ name : "Pie",
2458
+ defaults : helpers.merge(defaultConfig,{percentageInnerCutout : 0})
2459
+ });
2460
+
2461
+ }).call(this);
2462
+
2463
+ (function(){
2464
+ "use strict";
2465
+
2466
+ var root = this,
2467
+ Chart = root.Chart,
2468
+ helpers = Chart.helpers;
2469
+
2470
+ var defaultConfig = {
2471
+
2472
+ ///Boolean - Whether grid lines are shown across the chart
2473
+ scaleShowGridLines : true,
2474
+
2475
+ //String - Colour of the grid lines
2476
+ scaleGridLineColor : "rgba(0,0,0,.05)",
2477
+
2478
+ //Number - Width of the grid lines
2479
+ scaleGridLineWidth : 1,
2480
+
2481
+ //Boolean - Whether the line is curved between points
2482
+ bezierCurve : true,
2483
+
2484
+ //Number - Tension of the bezier curve between points
2485
+ bezierCurveTension : 0.4,
2486
+
2487
+ //Boolean - Whether to show a dot for each point
2488
+ pointDot : true,
2489
+
2490
+ //Number - Radius of each point dot in pixels
2491
+ pointDotRadius : 4,
2492
+
2493
+ //Number - Pixel width of point dot stroke
2494
+ pointDotStrokeWidth : 1,
2495
+
2496
+ //Number - amount extra to add to the radius to cater for hit detection outside the drawn point
2497
+ pointHitDetectionRadius : 0,
2498
+
2499
+ //Boolean - Whether to show a stroke for datasets
2500
+ datasetStroke : true,
2501
+
2502
+ //Number - Pixel width of dataset stroke
2503
+ datasetStrokeWidth : 2,
2504
+
2505
+ //Boolean - Whether to fill the dataset with a colour
2506
+ datasetFill : true,
2507
+
2508
+ //String - A legend template
2509
+ legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].strokeColor%>\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>"
2510
+
2511
+ };
2512
+
2513
+
2514
+ Chart.Type.extend({
2515
+ name: "Line",
2516
+ defaults : defaultConfig,
2517
+ initialize: function(data){
2518
+ //Declare the extension of the default point, to cater for the options passed in to the constructor
2519
+ this.PointClass = Chart.Point.extend({
2520
+ strokeWidth : this.options.pointDotStrokeWidth,
2521
+ radius : this.options.pointDotRadius,
2522
+ display: this.options.pointDot,
2523
+ hitDetectionRadius : this.options.pointHitDetectionRadius,
2524
+ ctx : this.chart.ctx,
2525
+ inRange : function(mouseX){
2526
+ return (Math.pow(mouseX-this.x, 2) < Math.pow(this.radius + this.hitDetectionRadius,2));
2527
+ }
2528
+ });
2529
+
2530
+ this.datasets = [];
2531
+
2532
+ //Set up tooltip events on the chart
2533
+ if (this.options.showTooltips){
2534
+ helpers.bindEvents(this, this.options.tooltipEvents, function(evt){
2535
+ var activePoints = (evt.type !== 'mouseout') ? this.getPointsAtEvent(evt) : [];
2536
+ this.eachPoints(function(point){
2537
+ point.restore(['fillColor', 'strokeColor']);
2538
+ });
2539
+ helpers.each(activePoints, function(activePoint){
2540
+ activePoint.fillColor = activePoint.highlightFill;
2541
+ activePoint.strokeColor = activePoint.highlightStroke;
2542
+ });
2543
+ this.showTooltip(activePoints);
2544
+ });
2545
+ }
2546
+
2547
+ //Iterate through each of the datasets, and build this into a property of the chart
2548
+ helpers.each(data.datasets,function(dataset){
2549
+
2550
+ var datasetObject = {
2551
+ label : dataset.label || null,
2552
+ fillColor : dataset.fillColor,
2553
+ strokeColor : dataset.strokeColor,
2554
+ pointColor : dataset.pointColor,
2555
+ pointStrokeColor : dataset.pointStrokeColor,
2556
+ points : []
2557
+ };
2558
+
2559
+ this.datasets.push(datasetObject);
2560
+
2561
+
2562
+ helpers.each(dataset.data,function(dataPoint,index){
2563
+ //Add a new point for each piece of data, passing any required data to draw.
2564
+ datasetObject.points.push(new this.PointClass({
2565
+ value : dataPoint,
2566
+ label : data.labels[index],
2567
+ datasetLabel: dataset.label,
2568
+ strokeColor : dataset.pointStrokeColor,
2569
+ fillColor : dataset.pointColor,
2570
+ highlightFill : dataset.pointHighlightFill || dataset.pointColor,
2571
+ highlightStroke : dataset.pointHighlightStroke || dataset.pointStrokeColor
2572
+ }));
2573
+ },this);
2574
+
2575
+ this.buildScale(data.labels);
2576
+
2577
+
2578
+ this.eachPoints(function(point, index){
2579
+ helpers.extend(point, {
2580
+ x: this.scale.calculateX(index),
2581
+ y: this.scale.endPoint
2582
+ });
2583
+ point.save();
2584
+ }, this);
2585
+
2586
+ },this);
2587
+
2588
+
2589
+ this.render();
2590
+ },
2591
+ update : function(){
2592
+ this.scale.update();
2593
+ // Reset any highlight colours before updating.
2594
+ helpers.each(this.activeElements, function(activeElement){
2595
+ activeElement.restore(['fillColor', 'strokeColor']);
2596
+ });
2597
+ this.eachPoints(function(point){
2598
+ point.save();
2599
+ });
2600
+ this.render();
2601
+ },
2602
+ eachPoints : function(callback){
2603
+ helpers.each(this.datasets,function(dataset){
2604
+ helpers.each(dataset.points,callback,this);
2605
+ },this);
2606
+ },
2607
+ getPointsAtEvent : function(e){
2608
+ var pointsArray = [],
2609
+ eventPosition = helpers.getRelativePosition(e);
2610
+ helpers.each(this.datasets,function(dataset){
2611
+ helpers.each(dataset.points,function(point){
2612
+ if (point.inRange(eventPosition.x,eventPosition.y)) pointsArray.push(point);
2613
+ });
2614
+ },this);
2615
+ return pointsArray;
2616
+ },
2617
+ buildScale : function(labels){
2618
+ var self = this;
2619
+
2620
+ var dataTotal = function(){
2621
+ var values = [];
2622
+ self.eachPoints(function(point){
2623
+ values.push(point.value);
2624
+ });
2625
+
2626
+ return values;
2627
+ };
2628
+
2629
+ var scaleOptions = {
2630
+ templateString : this.options.scaleLabel,
2631
+ height : this.chart.height,
2632
+ width : this.chart.width,
2633
+ ctx : this.chart.ctx,
2634
+ textColor : this.options.scaleFontColor,
2635
+ fontSize : this.options.scaleFontSize,
2636
+ fontStyle : this.options.scaleFontStyle,
2637
+ fontFamily : this.options.scaleFontFamily,
2638
+ valuesCount : labels.length,
2639
+ beginAtZero : this.options.scaleBeginAtZero,
2640
+ integersOnly : this.options.scaleIntegersOnly,
2641
+ calculateYRange : function(currentHeight){
2642
+ var updatedRanges = helpers.calculateScaleRange(
2643
+ dataTotal(),
2644
+ currentHeight,
2645
+ this.fontSize,
2646
+ this.beginAtZero,
2647
+ this.integersOnly
2648
+ );
2649
+ helpers.extend(this, updatedRanges);
2650
+ },
2651
+ xLabels : labels,
2652
+ limitXLabels: this.options.scaleLimitXLabels,
2653
+ limitXLabelsTo: this.options.scaleLimitXLabelsTo,
2654
+ font : helpers.fontString(this.options.scaleFontSize, this.options.scaleFontStyle, this.options.scaleFontFamily),
2655
+ lineWidth : this.options.scaleLineWidth,
2656
+ lineColor : this.options.scaleLineColor,
2657
+ gridLineWidth : (this.options.scaleShowGridLines) ? this.options.scaleGridLineWidth : 0,
2658
+ gridLineColor : (this.options.scaleShowGridLines) ? this.options.scaleGridLineColor : "rgba(0,0,0,0)",
2659
+ padding: (this.options.showScale) ? 0 : this.options.pointDotRadius + this.options.pointDotStrokeWidth,
2660
+ showLabels : this.options.scaleShowLabels,
2661
+ display : this.options.showScale
2662
+ };
2663
+
2664
+ if (this.options.scaleOverride){
2665
+ helpers.extend(scaleOptions, {
2666
+ calculateYRange: helpers.noop,
2667
+ steps: this.options.scaleSteps,
2668
+ stepValue: this.options.scaleStepWidth,
2669
+ min: this.options.scaleStartValue,
2670
+ max: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)
2671
+ });
2672
+ }
2673
+
2674
+
2675
+ this.scale = new Chart.Scale(scaleOptions);
2676
+ },
2677
+ addData : function(valuesArray,label){
2678
+ //Map the values array for each of the datasets
2679
+
2680
+ helpers.each(valuesArray,function(value,datasetIndex){
2681
+ //Add a new point for each piece of data, passing any required data to draw.
2682
+ this.datasets[datasetIndex].points.push(new this.PointClass({
2683
+ value : value,
2684
+ label : label,
2685
+ x: this.scale.calculateX(this.scale.valuesCount+1),
2686
+ y: this.scale.endPoint,
2687
+ strokeColor : this.datasets[datasetIndex].pointStrokeColor,
2688
+ fillColor : this.datasets[datasetIndex].pointColor
2689
+ }));
2690
+ },this);
2691
+
2692
+ this.scale.addXLabel(label);
2693
+ //Then re-render the chart.
2694
+ this.update();
2695
+ },
2696
+ removeData : function(){
2697
+ this.scale.removeXLabel();
2698
+ //Then re-render the chart.
2699
+ helpers.each(this.datasets,function(dataset){
2700
+ dataset.points.shift();
2701
+ },this);
2702
+ this.update();
2703
+ },
2704
+ reflow : function(){
2705
+ var newScaleProps = helpers.extend({
2706
+ height : this.chart.height,
2707
+ width : this.chart.width
2708
+ });
2709
+ this.scale.update(newScaleProps);
2710
+ },
2711
+ draw : function(ease){
2712
+ var easingDecimal = ease || 1;
2713
+ this.clear();
2714
+
2715
+ var ctx = this.chart.ctx;
2716
+
2717
+ // Some helper methods for getting the next/prev points
2718
+ var hasValue = function(item){
2719
+ return item.value !== null;
2720
+ },
2721
+ nextPoint = function(point, collection, index){
2722
+ return helpers.findNextWhere(collection, hasValue, index) || point;
2723
+ },
2724
+ previousPoint = function(point, collection, index){
2725
+ return helpers.findPreviousWhere(collection, hasValue, index) || point;
2726
+ };
2727
+
2728
+ this.scale.draw(easingDecimal);
2729
+
2730
+
2731
+ helpers.each(this.datasets,function(dataset){
2732
+ var pointsWithValues = helpers.where(dataset.points, hasValue);
2733
+
2734
+ //Transition each point first so that the line and point drawing isn't out of sync
2735
+ //We can use this extra loop to calculate the control points of this dataset also in this loop
2736
+
2737
+ helpers.each(dataset.points, function(point, index){
2738
+ if (point.hasValue()){
2739
+ point.transition({
2740
+ y : this.scale.calculateY(point.value),
2741
+ x : this.scale.calculateX(index)
2742
+ }, easingDecimal);
2743
+ }
2744
+ },this);
2745
+
2746
+
2747
+ // Control points need to be calculated in a seperate loop, because we need to know the current x/y of the point
2748
+ // This would cause issues when there is no animation, because the y of the next point would be 0, so beziers would be skewed
2749
+ if (this.options.bezierCurve){
2750
+ helpers.each(pointsWithValues, function(point, index){
2751
+ var tension = (index > 0 && index < pointsWithValues.length - 1) ? this.options.bezierCurveTension : 0;
2752
+ point.controlPoints = helpers.splineCurve(
2753
+ previousPoint(point, pointsWithValues, index),
2754
+ point,
2755
+ nextPoint(point, pointsWithValues, index),
2756
+ tension
2757
+ );
2758
+
2759
+ // Prevent the bezier going outside of the bounds of the graph
2760
+
2761
+ // Cap puter bezier handles to the upper/lower scale bounds
2762
+ if (point.controlPoints.outer.y > this.scale.endPoint){
2763
+ point.controlPoints.outer.y = this.scale.endPoint;
2764
+ }
2765
+ else if (point.controlPoints.outer.y < this.scale.startPoint){
2766
+ point.controlPoints.outer.y = this.scale.startPoint;
2767
+ }
2768
+
2769
+ // Cap inner bezier handles to the upper/lower scale bounds
2770
+ if (point.controlPoints.inner.y > this.scale.endPoint){
2771
+ point.controlPoints.inner.y = this.scale.endPoint;
2772
+ }
2773
+ else if (point.controlPoints.inner.y < this.scale.startPoint){
2774
+ point.controlPoints.inner.y = this.scale.startPoint;
2775
+ }
2776
+ },this);
2777
+ }
2778
+
2779
+
2780
+ //Draw the line between all the points
2781
+ ctx.lineWidth = this.options.datasetStrokeWidth;
2782
+ ctx.strokeStyle = dataset.strokeColor;
2783
+ ctx.beginPath();
2784
+
2785
+ helpers.each(pointsWithValues, function(point, index){
2786
+ if (index === 0){
2787
+ ctx.moveTo(point.x, point.y);
2788
+ }
2789
+ else{
2790
+ if(this.options.bezierCurve){
2791
+ var previous = previousPoint(point, pointsWithValues, index);
2792
+
2793
+ ctx.bezierCurveTo(
2794
+ previous.controlPoints.outer.x,
2795
+ previous.controlPoints.outer.y,
2796
+ point.controlPoints.inner.x,
2797
+ point.controlPoints.inner.y,
2798
+ point.x,
2799
+ point.y
2800
+ );
2801
+ }
2802
+ else{
2803
+ ctx.lineTo(point.x,point.y);
2804
+ }
2805
+ }
2806
+ }, this);
2807
+
2808
+ ctx.stroke();
2809
+
2810
+ if (this.options.datasetFill && pointsWithValues.length > 0){
2811
+ //Round off the line by going to the base of the chart, back to the start, then fill.
2812
+ ctx.lineTo(pointsWithValues[pointsWithValues.length - 1].x, this.scale.endPoint);
2813
+ ctx.lineTo(pointsWithValues[0].x, this.scale.endPoint);
2814
+ ctx.fillStyle = dataset.fillColor;
2815
+ ctx.closePath();
2816
+ ctx.fill();
2817
+ }
2818
+
2819
+ //Now draw the points over the line
2820
+ //A little inefficient double looping, but better than the line
2821
+ //lagging behind the point positions
2822
+ helpers.each(pointsWithValues,function(point){
2823
+ point.draw();
2824
+ });
2825
+ },this);
2826
+ }
2827
+ });
2828
+
2829
+
2830
+ }).call(this);
2831
+ (function(){
2832
+ "use strict";
2833
+
2834
+ var root = this,
2835
+ Chart = root.Chart,
2836
+ //Cache a local reference to Chart.helpers
2837
+ helpers = Chart.helpers;
2838
+
2839
+ var defaultConfig = {
2840
+ //Boolean - Show a backdrop to the scale label
2841
+ scaleShowLabelBackdrop : true,
2842
+
2843
+ //String - The colour of the label backdrop
2844
+ scaleBackdropColor : "rgba(255,255,255,0.75)",
2845
+
2846
+ // Boolean - Whether the scale should begin at zero
2847
+ scaleBeginAtZero : true,
2848
+
2849
+ //Number - The backdrop padding above & below the label in pixels
2850
+ scaleBackdropPaddingY : 2,
2851
+
2852
+ //Number - The backdrop padding to the side of the label in pixels
2853
+ scaleBackdropPaddingX : 2,
2854
+
2855
+ //Boolean - Show line for each value in the scale
2856
+ scaleShowLine : true,
2857
+
2858
+ //Boolean - Stroke a line around each segment in the chart
2859
+ segmentShowStroke : true,
2860
+
2861
+ //String - The colour of the stroke on each segement.
2862
+ segmentStrokeColor : "#fff",
2863
+
2864
+ //Number - The width of the stroke value in pixels
2865
+ segmentStrokeWidth : 2,
2866
+
2867
+ //Number - Amount of animation steps
2868
+ animationSteps : 100,
2869
+
2870
+ //String - Animation easing effect.
2871
+ animationEasing : "easeOutBounce",
2872
+
2873
+ //Boolean - Whether to animate the rotation of the chart
2874
+ animateRotate : true,
2875
+
2876
+ //Boolean - Whether to animate scaling the chart from the centre
2877
+ animateScale : false,
2878
+
2879
+ //String - A legend template
2880
+ legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li><span style=\"background-color:<%=segments[i].fillColor%>\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>"
2881
+ };
2882
+
2883
+
2884
+ Chart.Type.extend({
2885
+ //Passing in a name registers this chart in the Chart namespace
2886
+ name: "PolarArea",
2887
+ //Providing a defaults will also register the deafults in the chart namespace
2888
+ defaults : defaultConfig,
2889
+ //Initialize is fired when the chart is initialized - Data is passed in as a parameter
2890
+ //Config is automatically merged by the core of Chart.js, and is available at this.options
2891
+ initialize: function(data){
2892
+ this.segments = [];
2893
+ //Declare segment class as a chart instance specific class, so it can share props for this instance
2894
+ this.SegmentArc = Chart.Arc.extend({
2895
+ showStroke : this.options.segmentShowStroke,
2896
+ strokeWidth : this.options.segmentStrokeWidth,
2897
+ strokeColor : this.options.segmentStrokeColor,
2898
+ ctx : this.chart.ctx,
2899
+ innerRadius : 0,
2900
+ x : this.chart.width/2,
2901
+ y : this.chart.height/2
2902
+ });
2903
+ this.scale = new Chart.RadialScale({
2904
+ display: this.options.showScale,
2905
+ fontStyle: this.options.scaleFontStyle,
2906
+ fontSize: this.options.scaleFontSize,
2907
+ fontFamily: this.options.scaleFontFamily,
2908
+ fontColor: this.options.scaleFontColor,
2909
+ showLabels: this.options.scaleShowLabels,
2910
+ showLabelBackdrop: this.options.scaleShowLabelBackdrop,
2911
+ backdropColor: this.options.scaleBackdropColor,
2912
+ backdropPaddingY : this.options.scaleBackdropPaddingY,
2913
+ backdropPaddingX: this.options.scaleBackdropPaddingX,
2914
+ lineWidth: (this.options.scaleShowLine) ? this.options.scaleLineWidth : 0,
2915
+ lineColor: this.options.scaleLineColor,
2916
+ lineArc: true,
2917
+ width: this.chart.width,
2918
+ height: this.chart.height,
2919
+ xCenter: this.chart.width/2,
2920
+ yCenter: this.chart.height/2,
2921
+ ctx : this.chart.ctx,
2922
+ templateString: this.options.scaleLabel,
2923
+ valuesCount: data.length
2924
+ });
2925
+
2926
+ this.updateScaleRange(data);
2927
+
2928
+ this.scale.update();
2929
+
2930
+ helpers.each(data,function(segment,index){
2931
+ this.addData(segment,index,true);
2932
+ },this);
2933
+
2934
+ //Set up tooltip events on the chart
2935
+ if (this.options.showTooltips){
2936
+ helpers.bindEvents(this, this.options.tooltipEvents, function(evt){
2937
+ var activeSegments = (evt.type !== 'mouseout') ? this.getSegmentsAtEvent(evt) : [];
2938
+ helpers.each(this.segments,function(segment){
2939
+ segment.restore(["fillColor"]);
2940
+ });
2941
+ helpers.each(activeSegments,function(activeSegment){
2942
+ activeSegment.fillColor = activeSegment.highlightColor;
2943
+ });
2944
+ this.showTooltip(activeSegments);
2945
+ });
2946
+ }
2947
+
2948
+ this.render();
2949
+ },
2950
+ getSegmentsAtEvent : function(e){
2951
+ var segmentsArray = [];
2952
+
2953
+ var location = helpers.getRelativePosition(e);
2954
+
2955
+ helpers.each(this.segments,function(segment){
2956
+ if (segment.inRange(location.x,location.y)) segmentsArray.push(segment);
2957
+ },this);
2958
+ return segmentsArray;
2959
+ },
2960
+ addData : function(segment, atIndex, silent){
2961
+ var index = atIndex || this.segments.length;
2962
+
2963
+ this.segments.splice(index, 0, new this.SegmentArc({
2964
+ fillColor: segment.color,
2965
+ highlightColor: segment.highlight || segment.color,
2966
+ label: segment.label,
2967
+ value: segment.value,
2968
+ outerRadius: (this.options.animateScale) ? 0 : this.scale.calculateCenterOffset(segment.value),
2969
+ circumference: (this.options.animateRotate) ? 0 : this.scale.getCircumference(),
2970
+ startAngle: Math.PI * 1.5
2971
+ }));
2972
+ if (!silent){
2973
+ this.reflow();
2974
+ this.update();
2975
+ }
2976
+ },
2977
+ removeData: function(atIndex){
2978
+ var indexToDelete = (helpers.isNumber(atIndex)) ? atIndex : this.segments.length-1;
2979
+ this.segments.splice(indexToDelete, 1);
2980
+ this.reflow();
2981
+ this.update();
2982
+ },
2983
+ calculateTotal: function(data){
2984
+ this.total = 0;
2985
+ helpers.each(data,function(segment){
2986
+ this.total += segment.value;
2987
+ },this);
2988
+ this.scale.valuesCount = this.segments.length;
2989
+ },
2990
+ updateScaleRange: function(datapoints){
2991
+ var valuesArray = [];
2992
+ helpers.each(datapoints,function(segment){
2993
+ valuesArray.push(segment.value);
2994
+ });
2995
+
2996
+ var scaleSizes = (this.options.scaleOverride) ?
2997
+ {
2998
+ steps: this.options.scaleSteps,
2999
+ stepValue: this.options.scaleStepWidth,
3000
+ min: this.options.scaleStartValue,
3001
+ max: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)
3002
+ } :
3003
+ helpers.calculateScaleRange(
3004
+ valuesArray,
3005
+ helpers.min([this.chart.width, this.chart.height])/2,
3006
+ this.options.scaleFontSize,
3007
+ this.options.scaleBeginAtZero,
3008
+ this.options.scaleIntegersOnly
3009
+ );
3010
+
3011
+ helpers.extend(
3012
+ this.scale,
3013
+ scaleSizes,
3014
+ {
3015
+ size: helpers.min([this.chart.width, this.chart.height]),
3016
+ xCenter: this.chart.width/2,
3017
+ yCenter: this.chart.height/2
3018
+ }
3019
+ );
3020
+
3021
+ },
3022
+ update : function(){
3023
+ this.calculateTotal(this.segments);
3024
+
3025
+ helpers.each(this.segments,function(segment){
3026
+ segment.save();
3027
+ });
3028
+ this.render();
3029
+ },
3030
+ reflow : function(){
3031
+ helpers.extend(this.SegmentArc.prototype,{
3032
+ x : this.chart.width/2,
3033
+ y : this.chart.height/2
3034
+ });
3035
+ this.updateScaleRange(this.segments);
3036
+ this.scale.update();
3037
+
3038
+ helpers.extend(this.scale,{
3039
+ xCenter: this.chart.width/2,
3040
+ yCenter: this.chart.height/2
3041
+ });
3042
+
3043
+ helpers.each(this.segments, function(segment){
3044
+ segment.update({
3045
+ outerRadius : this.scale.calculateCenterOffset(segment.value)
3046
+ });
3047
+ }, this);
3048
+
3049
+ },
3050
+ draw : function(ease){
3051
+ var easingDecimal = ease || 1;
3052
+ //Clear & draw the canvas
3053
+ this.clear();
3054
+ helpers.each(this.segments,function(segment, index){
3055
+ segment.transition({
3056
+ circumference : this.scale.getCircumference(),
3057
+ outerRadius : this.scale.calculateCenterOffset(segment.value)
3058
+ },easingDecimal);
3059
+
3060
+ segment.endAngle = segment.startAngle + segment.circumference;
3061
+
3062
+ // If we've removed the first segment we need to set the first one to
3063
+ // start at the top.
3064
+ if (index === 0){
3065
+ segment.startAngle = Math.PI * 1.5;
3066
+ }
3067
+
3068
+ //Check to see if it's the last segment, if not get the next and update the start angle
3069
+ if (index < this.segments.length - 1){
3070
+ this.segments[index+1].startAngle = segment.endAngle;
3071
+ }
3072
+ segment.draw();
3073
+ }, this);
3074
+ this.scale.draw();
3075
+ }
3076
+ });
3077
+
3078
+ }).call(this);
3079
+ (function(){
3080
+ "use strict";
3081
+
3082
+ var root = this,
3083
+ Chart = root.Chart,
3084
+ helpers = Chart.helpers;
3085
+
3086
+
3087
+
3088
+ Chart.Type.extend({
3089
+ name: "Radar",
3090
+ defaults:{
3091
+ //Boolean - Whether to show lines for each scale point
3092
+ scaleShowLine : true,
3093
+
3094
+ //Boolean - Whether we show the angle lines out of the radar
3095
+ angleShowLineOut : true,
3096
+
3097
+ //Boolean - Whether to show labels on the scale
3098
+ scaleShowLabels : false,
3099
+
3100
+ // Boolean - Whether the scale should begin at zero
3101
+ scaleBeginAtZero : true,
3102
+
3103
+ //String - Colour of the angle line
3104
+ angleLineColor : "rgba(0,0,0,.1)",
3105
+
3106
+ //Number - Pixel width of the angle line
3107
+ angleLineWidth : 1,
3108
+
3109
+ //String - Point label font declaration
3110
+ pointLabelFontFamily : "'Arial'",
3111
+
3112
+ //String - Point label font weight
3113
+ pointLabelFontStyle : "normal",
3114
+
3115
+ //Number - Point label font size in pixels
3116
+ pointLabelFontSize : 10,
3117
+
3118
+ //String - Point label font colour
3119
+ pointLabelFontColor : "#666",
3120
+
3121
+ //Boolean - Whether to show a dot for each point
3122
+ pointDot : true,
3123
+
3124
+ //Number - Radius of each point dot in pixels
3125
+ pointDotRadius : 3,
3126
+
3127
+ //Number - Pixel width of point dot stroke
3128
+ pointDotStrokeWidth : 1,
3129
+
3130
+ //Number - amount extra to add to the radius to cater for hit detection outside the drawn point
3131
+ pointHitDetectionRadius : 20,
3132
+
3133
+ //Boolean - Whether to show a stroke for datasets
3134
+ datasetStroke : true,
3135
+
3136
+ //Number - Pixel width of dataset stroke
3137
+ datasetStrokeWidth : 2,
3138
+
3139
+ //Boolean - Whether to fill the dataset with a colour
3140
+ datasetFill : true,
3141
+
3142
+ //String - A legend template
3143
+ legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].strokeColor%>\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>"
3144
+
3145
+ },
3146
+
3147
+ initialize: function(data){
3148
+ this.PointClass = Chart.Point.extend({
3149
+ strokeWidth : this.options.pointDotStrokeWidth,
3150
+ radius : this.options.pointDotRadius,
3151
+ display: this.options.pointDot,
3152
+ hitDetectionRadius : this.options.pointHitDetectionRadius,
3153
+ ctx : this.chart.ctx
3154
+ });
3155
+
3156
+ this.datasets = [];
3157
+
3158
+ this.buildScale(data);
3159
+
3160
+ //Set up tooltip events on the chart
3161
+ if (this.options.showTooltips){
3162
+ helpers.bindEvents(this, this.options.tooltipEvents, function(evt){
3163
+ var activePointsCollection = (evt.type !== 'mouseout') ? this.getPointsAtEvent(evt) : [];
3164
+
3165
+ this.eachPoints(function(point){
3166
+ point.restore(['fillColor', 'strokeColor']);
3167
+ });
3168
+ helpers.each(activePointsCollection, function(activePoint){
3169
+ activePoint.fillColor = activePoint.highlightFill;
3170
+ activePoint.strokeColor = activePoint.highlightStroke;
3171
+ });
3172
+
3173
+ this.showTooltip(activePointsCollection);
3174
+ });
3175
+ }
3176
+
3177
+ //Iterate through each of the datasets, and build this into a property of the chart
3178
+ helpers.each(data.datasets,function(dataset){
3179
+
3180
+ var datasetObject = {
3181
+ label: dataset.label || null,
3182
+ fillColor : dataset.fillColor,
3183
+ strokeColor : dataset.strokeColor,
3184
+ pointColor : dataset.pointColor,
3185
+ pointStrokeColor : dataset.pointStrokeColor,
3186
+ points : []
3187
+ };
3188
+
3189
+ this.datasets.push(datasetObject);
3190
+
3191
+ helpers.each(dataset.data,function(dataPoint,index){
3192
+ //Add a new point for each piece of data, passing any required data to draw.
3193
+ var pointPosition;
3194
+ if (!this.scale.animation){
3195
+ pointPosition = this.scale.getPointPosition(index, this.scale.calculateCenterOffset(dataPoint));
3196
+ }
3197
+ datasetObject.points.push(new this.PointClass({
3198
+ value : dataPoint,
3199
+ label : data.labels[index],
3200
+ datasetLabel: dataset.label,
3201
+ x: (this.options.animation) ? this.scale.xCenter : pointPosition.x,
3202
+ y: (this.options.animation) ? this.scale.yCenter : pointPosition.y,
3203
+ strokeColor : dataset.pointStrokeColor,
3204
+ fillColor : dataset.pointColor,
3205
+ highlightFill : dataset.pointHighlightFill || dataset.pointColor,
3206
+ highlightStroke : dataset.pointHighlightStroke || dataset.pointStrokeColor
3207
+ }));
3208
+ },this);
3209
+
3210
+ },this);
3211
+
3212
+ this.render();
3213
+ },
3214
+ eachPoints : function(callback){
3215
+ helpers.each(this.datasets,function(dataset){
3216
+ helpers.each(dataset.points,callback,this);
3217
+ },this);
3218
+ },
3219
+
3220
+ getPointsAtEvent : function(evt){
3221
+ var mousePosition = helpers.getRelativePosition(evt),
3222
+ fromCenter = helpers.getAngleFromPoint({
3223
+ x: this.scale.xCenter,
3224
+ y: this.scale.yCenter
3225
+ }, mousePosition);
3226
+
3227
+ var anglePerIndex = (Math.PI * 2) /this.scale.valuesCount,
3228
+ pointIndex = Math.round((fromCenter.angle - Math.PI * 1.5) / anglePerIndex),
3229
+ activePointsCollection = [];
3230
+
3231
+ // If we're at the top, make the pointIndex 0 to get the first of the array.
3232
+ if (pointIndex >= this.scale.valuesCount || pointIndex < 0){
3233
+ pointIndex = 0;
3234
+ }
3235
+
3236
+ if (fromCenter.distance <= this.scale.drawingArea){
3237
+ helpers.each(this.datasets, function(dataset){
3238
+ activePointsCollection.push(dataset.points[pointIndex]);
3239
+ });
3240
+ }
3241
+
3242
+ return activePointsCollection;
3243
+ },
3244
+
3245
+ buildScale : function(data){
3246
+ this.scale = new Chart.RadialScale({
3247
+ display: this.options.showScale,
3248
+ fontStyle: this.options.scaleFontStyle,
3249
+ fontSize: this.options.scaleFontSize,
3250
+ fontFamily: this.options.scaleFontFamily,
3251
+ fontColor: this.options.scaleFontColor,
3252
+ showLabels: this.options.scaleShowLabels,
3253
+ showLabelBackdrop: this.options.scaleShowLabelBackdrop,
3254
+ backdropColor: this.options.scaleBackdropColor,
3255
+ backdropPaddingY : this.options.scaleBackdropPaddingY,
3256
+ backdropPaddingX: this.options.scaleBackdropPaddingX,
3257
+ lineWidth: (this.options.scaleShowLine) ? this.options.scaleLineWidth : 0,
3258
+ lineColor: this.options.scaleLineColor,
3259
+ angleLineColor : this.options.angleLineColor,
3260
+ angleLineWidth : (this.options.angleShowLineOut) ? this.options.angleLineWidth : 0,
3261
+ // Point labels at the edge of each line
3262
+ pointLabelFontColor : this.options.pointLabelFontColor,
3263
+ pointLabelFontSize : this.options.pointLabelFontSize,
3264
+ pointLabelFontFamily : this.options.pointLabelFontFamily,
3265
+ pointLabelFontStyle : this.options.pointLabelFontStyle,
3266
+ height : this.chart.height,
3267
+ width: this.chart.width,
3268
+ xCenter: this.chart.width/2,
3269
+ yCenter: this.chart.height/2,
3270
+ ctx : this.chart.ctx,
3271
+ templateString: this.options.scaleLabel,
3272
+ labels: data.labels,
3273
+ valuesCount: data.datasets[0].data.length
3274
+ });
3275
+
3276
+ this.scale.setScaleSize();
3277
+ this.updateScaleRange(data.datasets);
3278
+ this.scale.buildYLabels();
3279
+ },
3280
+ updateScaleRange: function(datasets){
3281
+ var valuesArray = (function(){
3282
+ var totalDataArray = [];
3283
+ helpers.each(datasets,function(dataset){
3284
+ if (dataset.data){
3285
+ totalDataArray = totalDataArray.concat(dataset.data);
3286
+ }
3287
+ else {
3288
+ helpers.each(dataset.points, function(point){
3289
+ totalDataArray.push(point.value);
3290
+ });
3291
+ }
3292
+ });
3293
+ return totalDataArray;
3294
+ })();
3295
+
3296
+
3297
+ var scaleSizes = (this.options.scaleOverride) ?
3298
+ {
3299
+ steps: this.options.scaleSteps,
3300
+ stepValue: this.options.scaleStepWidth,
3301
+ min: this.options.scaleStartValue,
3302
+ max: this.options.scaleStartValue + (this.options.scaleSteps * this.options.scaleStepWidth)
3303
+ } :
3304
+ helpers.calculateScaleRange(
3305
+ valuesArray,
3306
+ helpers.min([this.chart.width, this.chart.height])/2,
3307
+ this.options.scaleFontSize,
3308
+ this.options.scaleBeginAtZero,
3309
+ this.options.scaleIntegersOnly
3310
+ );
3311
+
3312
+ helpers.extend(
3313
+ this.scale,
3314
+ scaleSizes
3315
+ );
3316
+
3317
+ },
3318
+ addData : function(valuesArray,label){
3319
+ //Map the values array for each of the datasets
3320
+ this.scale.valuesCount++;
3321
+ helpers.each(valuesArray,function(value,datasetIndex){
3322
+ var pointPosition = this.scale.getPointPosition(this.scale.valuesCount, this.scale.calculateCenterOffset(value));
3323
+ this.datasets[datasetIndex].points.push(new this.PointClass({
3324
+ value : value,
3325
+ label : label,
3326
+ x: pointPosition.x,
3327
+ y: pointPosition.y,
3328
+ strokeColor : this.datasets[datasetIndex].pointStrokeColor,
3329
+ fillColor : this.datasets[datasetIndex].pointColor
3330
+ }));
3331
+ },this);
3332
+
3333
+ this.scale.labels.push(label);
3334
+
3335
+ this.reflow();
3336
+
3337
+ this.update();
3338
+ },
3339
+ removeData : function(){
3340
+ this.scale.valuesCount--;
3341
+ this.scale.labels.shift();
3342
+ helpers.each(this.datasets,function(dataset){
3343
+ dataset.points.shift();
3344
+ },this);
3345
+ this.reflow();
3346
+ this.update();
3347
+ },
3348
+ update : function(){
3349
+ this.eachPoints(function(point){
3350
+ point.save();
3351
+ });
3352
+ this.reflow();
3353
+ this.render();
3354
+ },
3355
+ reflow: function(){
3356
+ helpers.extend(this.scale, {
3357
+ width : this.chart.width,
3358
+ height: this.chart.height,
3359
+ size : helpers.min([this.chart.width, this.chart.height]),
3360
+ xCenter: this.chart.width/2,
3361
+ yCenter: this.chart.height/2
3362
+ });
3363
+ this.updateScaleRange(this.datasets);
3364
+ this.scale.setScaleSize();
3365
+ this.scale.buildYLabels();
3366
+ },
3367
+ draw : function(ease){
3368
+ var easeDecimal = ease || 1,
3369
+ ctx = this.chart.ctx;
3370
+ this.clear();
3371
+ this.scale.draw();
3372
+
3373
+ helpers.each(this.datasets,function(dataset){
3374
+
3375
+ //Transition each point first so that the line and point drawing isn't out of sync
3376
+ helpers.each(dataset.points,function(point,index){
3377
+ if (point.hasValue()){
3378
+ point.transition(this.scale.getPointPosition(index, this.scale.calculateCenterOffset(point.value)), easeDecimal);
3379
+ }
3380
+ },this);
3381
+
3382
+
3383
+
3384
+ //Draw the line between all the points
3385
+ ctx.lineWidth = this.options.datasetStrokeWidth;
3386
+ ctx.strokeStyle = dataset.strokeColor;
3387
+ ctx.beginPath();
3388
+ helpers.each(dataset.points,function(point,index){
3389
+ if (index === 0){
3390
+ ctx.moveTo(point.x,point.y);
3391
+ }
3392
+ else{
3393
+ ctx.lineTo(point.x,point.y);
3394
+ }
3395
+ },this);
3396
+ ctx.closePath();
3397
+ ctx.stroke();
3398
+
3399
+ ctx.fillStyle = dataset.fillColor;
3400
+ ctx.fill();
3401
+
3402
+ //Now draw the points over the line
3403
+ //A little inefficient double looping, but better than the line
3404
+ //lagging behind the point positions
3405
+ helpers.each(dataset.points,function(point){
3406
+ if (point.hasValue()){
3407
+ point.draw();
3408
+ }
3409
+ });
3410
+
3411
+ },this);
3412
+
3413
+ }
3414
+
3415
+ });
3416
+
3417
+
3418
+
3419
+
3420
+
3421
+ }).call(this);
addons/stats/assets/js/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/stats/includes/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/stats/includes/mycred-stats-functions.php ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_STATS_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * Get Stats Days
6
+ * @since 1.6
7
+ * @version 1.0
8
+ */
9
+ if ( ! function_exists( 'mycred_get_stat_dates' ) ) :
10
+ function mycred_get_stat_dates( $instance = '', $value = 0 ) {
11
+
12
+ $now = current_time( 'timestamp' );
13
+
14
+ $results = array();
15
+ switch ( $instance ) {
16
+
17
+ case 'x_dates' :
18
+
19
+ $from = $value - 1;
20
+ $start = date( 'U', strtotime( '-' . $from . ' days midnight', $now ) );
21
+ for ( $i = 0 ; $i < $value ; $i ++ ) {
22
+ if ( $i == 0 )
23
+ $new_start = $start;
24
+ else
25
+ $new_start = $start + ( 86400 * $i );
26
+
27
+ $results[] = array(
28
+ 'label' => date( 'Y-m-d', $new_start ),
29
+ 'from' => $new_start,
30
+ 'until' => ( $new_start + 86399 )
31
+ );
32
+ }
33
+
34
+ break;
35
+
36
+ case 'today_this' :
37
+
38
+ $start = date( 'U', strtotime( 'today midnight', $now ) );
39
+ $results[] = array(
40
+ 'key' => 'today',
41
+ 'from' => $start,
42
+ 'until' => $now
43
+ );
44
+
45
+ $this_week = mktime( 0, 0, 0, date( "n", $now ), date( "j", $now ) - date( "N", $now ) + 1 );
46
+ $results[] = array(
47
+ 'key' => 'thisweek',
48
+ 'from' => $this_week,
49
+ 'until' => $now
50
+ );
51
+
52
+ $this_month = mktime( 0, 0, 0, date( "n", $now ), 1, date( 'Y', $now ) );
53
+ $results[] = array(
54
+ 'key' => 'thismonth',
55
+ 'from' => $this_month,
56
+ 'until' => $now
57
+ );
58
+
59
+ $this_year = mktime( 0, 0, 0, 1, 1, date( 'Y', $now ) );
60
+ $results[] = array(
61
+ 'key' => 'thisyear',
62
+ 'from' => $this_year,
63
+ 'until' => $now
64
+ );
65
+
66
+ break;
67
+
68
+ }
69
+ return $results;
70
+
71
+ }
72
+ endif;
73
+
74
+ /**
75
+ * Get Type Color
76
+ * @since 1.6
77
+ * @version 1.0
78
+ */
79
+ if ( ! function_exists( 'mycred_get_type_color' ) ) :
80
+ function mycred_get_type_color( $type = NULL ) {
81
+
82
+ //$set = array( 'rgba(221,73,167,1)', 'rgba(106,187,218,1)', 'rgba(111,70,161,1)' );
83
+ //$set = array( 'rgba(213,78,33,1)', 'rgba(46,162,204,1)', 'rgba(34,34,34,1)' );
84
+ $set = array( 'rgba(204,175,11,1)', 'rgba(221,130,59,1)', 'rgba(207,73,68,1)', 'rgba(180,60,56,1)', 'rgba(34,34,34,1)' );
85
+ $types = mycred_get_types();
86
+
87
+ $colors = array();
88
+ $row = 0;
89
+ foreach ( $types as $type_id => $label ) {
90
+ $colors[ $type_id ] = $set[ $row ];
91
+ $row ++;
92
+ }
93
+
94
+ $result = $colors;
95
+ if ( $type !== NULL && array_key_exists( $type, $colors ) )
96
+ $result = $colors[ $type ];
97
+
98
+ return apply_filters( 'mycred_point_type_colors', $result, $set, $type, $types );
99
+
100
+ }
101
+ endif;
102
+
103
+ /**
104
+ * RGB to HEX
105
+ * @since 1.6
106
+ * @version 1.0
107
+ */
108
+ if ( ! function_exists( 'mycred_rgb_to_hex' ) ) :
109
+ function mycred_rgb_to_hex( $rgb = '' ) {
110
+
111
+ if ( ! is_array( $rgb ) ) {
112
+ $rgb = str_replace( array( ' ', 'rgb(', 'rgba(', ')' ), '', $rgb );
113
+ $rgb = explode( ',', $rgb );
114
+ }
115
+
116
+ $hex = "#";
117
+ $hex .= str_pad( dechex( $rgb[0] ), 2, "0", STR_PAD_LEFT );
118
+ $hex .= str_pad( dechex( $rgb[1] ), 2, "0", STR_PAD_LEFT );
119
+ $hex .= str_pad( dechex( $rgb[2] ), 2, "0", STR_PAD_LEFT );
120
+
121
+ return $hex;
122
+ }
123
+ endif;
124
+
125
+ /**
126
+ * HEX to RGB
127
+ * @since 1.6
128
+ * @version 1.0
129
+ */
130
+ if ( ! function_exists( 'mycred_hex_to_rgb' ) ) :
131
+ function mycred_hex_to_rgb( $hex = '', $rgba = true ) {
132
+
133
+ $hex = str_replace( '#', '', $hex );
134
+
135
+ if ( strlen( $hex ) == 3 ) {
136
+ $r = hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) );
137
+ $g = hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) );
138
+ $b = hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) );
139
+ } else {
140
+ $r = hexdec( substr( $hex, 0, 2 ) );
141
+ $g = hexdec( substr( $hex, 2, 2 ) );
142
+ $b = hexdec( substr( $hex, 4, 2 ) );
143
+ }
144
+ $rgb = array( $r, $g, $b );
145
+
146
+ if ( $rgba )
147
+ $rgb = 'rgba(' . implode( ',', $rgb ) . ',1)';
148
+ else
149
+ $rgb = 'rgb(' . implode( ',', $rgb ) . ')';
150
+
151
+ return $rgb;
152
+
153
+ }
154
+ endif;
155
+
156
+ /**
157
+ * Inverse HEX colors
158
+ * @since 1.6
159
+ * @version 1.0
160
+ */
161
+ if ( ! function_exists( 'mycred_inverse_hex_color' ) ) :
162
+ function mycred_inverse_hex_color( $color = '' ) {
163
+
164
+ $color = str_replace( '#', '', $color );
165
+ if ( strlen( $color ) != 6 ) { return '000000'; }
166
+ $rgb = '';
167
+ for ( $x = 0 ; $x < 3 ; $x++ ) {
168
+ $c = 255 - hexdec( substr( $color, ( 2*$x ), 2 ) );
169
+ $c = ( $c < 0 ) ? 0 : dechex( $c );
170
+ $rgb .= ( strlen( $c ) < 2 ) ? '0' . $c : $c;
171
+ }
172
+ return '#' . $rgb;
173
+
174
+ }
175
+ endif;
176
+
177
+ /**
178
+ * Inverse RGB color
179
+ * @since 1.6
180
+ * @version 1.0
181
+ */
182
+ if ( ! function_exists( 'mycred_inverse_rgb_color' ) ) :
183
+ function mycred_inverse_rgb_color( $color = '' ) {
184
+
185
+ $color = mycred_rgb_to_hex( $color );
186
+ $inversed = mycred_inverse_hex_color( $color );
187
+ $inversed = mycred_hex_to_rgb( $inversed );
188
+ return $inversed;
189
+
190
+ }
191
+ endif;
192
+ ?>
addons/stats/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/stats/myCRED-addon-stats.php ADDED
@@ -0,0 +1,336 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Addon: Stats
4
+ * Addon URI: http://mycred.me/add-ons/stats/
5
+ * Version: 1.0
6
+ * Description: Gives you access to your myCRED Staticstics based on your users gains and loses.
7
+ * Author: Gabriel S Merovingi
8
+ * Author URI: http://www.merovingi.com
9
+ */
10
+ if ( ! defined( 'myCRED_VERSION' ) ) exit;
11
+
12
+ define( 'myCRED_STATS', __FILE__ );
13
+ define( 'myCRED_STATS_VERSION', myCRED_VERSION . '.1' );
14
+ define( 'myCRED_STATS_DIR', myCRED_ADDONS_DIR . 'stats/' );
15
+ define( 'myCRED_STATS_WIDGETS_DIR', myCRED_STATS_DIR . 'widgets/' );
16
+
17
+ /**
18
+ * Required Files
19
+ */
20
+ require_once myCRED_STATS_DIR . 'includes/mycred-stats-functions.php';
21
+ require_once myCRED_STATS_DIR . 'abstracts/mycred-abstract-stat-widget.php';
22
+
23
+ /**
24
+ * Core Widgets
25
+ */
26
+ require_once myCRED_STATS_WIDGETS_DIR . 'mycred-stats-widget-circulation.php';
27
+ require_once myCRED_STATS_WIDGETS_DIR . 'mycred-stats-widget-daily-gains.php';
28
+ require_once myCRED_STATS_WIDGETS_DIR . 'mycred-stats-widget-daily-loses.php';
29
+
30
+ do_action( 'mycred_stats_load_widgets' );
31
+
32
+ /**
33
+ * myCRED_Stats_Module class
34
+ * @since 1.6
35
+ * @version 1.0
36
+ */
37
+ if ( ! class_exists( 'myCRED_Stats_Module' ) ) {
38
+ class myCRED_Stats_Module extends myCRED_Module {
39
+
40
+ public $user;
41
+ public $screen;
42
+ public $ctypes;
43
+ public $colors;
44
+
45
+ /**
46
+ * Construct
47
+ */
48
+ function __construct( $type = 'mycred_default' ) {
49
+ parent::__construct( 'myCRED_Stats_Module', array(
50
+ 'module_name' => 'stats',
51
+ 'register' => false,
52
+ ), $type );
53
+
54
+ $this->label = sprintf( '%s %s', mycred_label(), __( 'Statistics', 'mycred' ) );
55
+
56
+ $this->colors = mycred_get_type_color();
57
+ }
58
+
59
+ /**
60
+ * Init
61
+ * @since 1.6
62
+ * @version 1.0
63
+ */
64
+ public function module_init() {
65
+ add_action( 'admin_menu', array( $this, 'add_menu' ) );
66
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_scripts' ) );
67
+ }
68
+
69
+ /**
70
+ * Admin Init
71
+ * @since 1.6
72
+ * @version 1.0
73
+ */
74
+ public function module_admin_init() {
75
+
76
+ }
77
+
78
+ /**
79
+ * Add Menu
80
+ * @since 1.6
81
+ * @version 1.0
82
+ */
83
+ public function add_menu() {
84
+
85
+ $page = add_dashboard_page(
86
+ $this->label,
87
+ $this->label,
88
+ $this->core->edit_creds_cap(),
89
+ 'mycred-stats',
90
+ array( $this, 'admin_page' )
91
+ );
92
+
93
+ add_action( 'admin_print_styles-' . $page, array( $this, 'admin_page_header' ) );
94
+
95
+ }
96
+
97
+ /**
98
+ * Register Scripts
99
+ * @since 1.6
100
+ * @version 1.0
101
+ */
102
+ public function register_scripts() {
103
+
104
+ // Scripts
105
+ wp_register_script(
106
+ 'chart-js',
107
+ plugins_url( 'assets/js/Chart.js', myCRED_STATS ),
108
+ array( 'jquery' ),
109
+ '1.1'
110
+ );
111
+
112
+ // Stylesheets
113
+ wp_register_style(
114
+ 'mycred-stats',
115
+ plugins_url( 'assets/css/stats-page.css', myCRED_STATS ),
116
+ array(),
117
+ myCRED_VERSION
118
+ );
119
+
120
+ }
121
+
122
+ public function get_tabs() {
123
+
124
+ $tabs = array();
125
+ $tabs['overview'] = array(
126
+ 'label' => __( 'Overview', 'mycred' ),
127
+ 'class' => array( $this, 'overview_screen' )
128
+ );
129
+
130
+ foreach ( $this->point_types as $type_id => $label ) {
131
+ $mycred = mycred( $type_id );
132
+ $tabs[ $type_id ] = array(
133
+ 'label' => $mycred->plural(),
134
+ 'class' => array( $this, 'ctype_screen' )
135
+ );
136
+ }
137
+
138
+ return apply_filters( 'mycred_statistics_tabs', $tabs );
139
+
140
+ }
141
+
142
+ /**
143
+ * Admin Page Header
144
+ * @since 1.6
145
+ * @version 1.0
146
+ */
147
+ public function admin_page_header() {
148
+
149
+ wp_enqueue_script( 'chart-js' );
150
+ wp_enqueue_style( 'mycred-stats' );
151
+
152
+ do_action( 'mycred_stats_page_header', $this );
153
+
154
+ }
155
+
156
+ /**
157
+ * Has Entries
158
+ * @since 1.6
159
+ * @version 1.0
160
+ */
161
+ public function has_entries() {
162
+
163
+ global $wpdb;
164
+
165
+ $reply = true;
166
+ $count = $wpdb->get_var( "SELECT COUNT(*) FROM {$this->core->log_table};" );
167
+ if ( $count === NULL || $count < 1 )
168
+ $reply = false;
169
+
170
+ return apply_filters( 'mycred_stats_has_entries', $reply, $this );
171
+
172
+ }
173
+
174
+ /**
175
+ * Admin Page
176
+ * @since 1.6
177
+ * @version 1.0
178
+ */
179
+ public function admin_page() {
180
+ // Security
181
+ if ( ! $this->core->can_edit_creds() )
182
+ wp_die( __( 'Access Denied', 'mycred' ) );
183
+
184
+ $current = 'overview';
185
+ if ( isset( $_GET['view'] ) )
186
+ $current = $_GET['view'];
187
+
188
+ $tabs = $this->get_tabs();
189
+
190
+ ?>
191
+ <div id="mycred-stats" class="wrap">
192
+ <h2><?php echo $this->label; ?><a href="javascript:void(0);" onClick="window.location.href=window.location.href" class="add-new-h2" id="refresh-mycred-stats"><?php _e( 'Refresh', 'mycred' ); ?></a></h2>
193
+ <?php
194
+
195
+ do_action( 'mycred_stats_page_before', $this );
196
+
197
+ // No use loading the widgets if no log entries exists
198
+ if ( $this->has_entries() ) {
199
+
200
+ ?>
201
+ <ul id="section-nav" class="nav-tab-wrapper">
202
+ <?php
203
+
204
+ foreach ( $tabs as $tab_id => $tab ) {
205
+
206
+ $classes = 'nav-tab';
207
+ if ( $current == $tab_id ) $classes .= ' nav-tab-active';
208
+
209
+ if ( $tab_id != 'general' )
210
+ $url = add_query_arg( array( 'page' => $_GET['page'], 'view' => $tab_id ), admin_url( 'admin.php' ) );
211
+ else
212
+ $url = add_query_arg( array( 'page' => $_GET['page'] ), admin_url( 'admin.php' ) );
213
+
214
+ echo '<li class="' . $classes . '"><a href="' . $url . '">' . $tab['label'] . '</a></li>';
215
+
216
+ }
217
+
218
+ ?>
219
+ </ul>
220
+
221
+ <div id="mycred-stats-body" class="clear clearfix">
222
+
223
+ <?php
224
+
225
+ // Render tab
226
+ if ( isset( $tabs[ $current ]['class'] ) && $tabs[ $current ]['class'] != '' ) {
227
+
228
+ $method = $tabs[ $current ]['class'];
229
+ if ( is_array( $method ) ) {
230
+ if ( $method[0] == $this )
231
+ $this->$method[1]( $current );
232
+
233
+ elseif ( class_exists( $method[0] ) ) {
234
+ $class = new $method[0]();
235
+ $class->$method[1]( $current );
236
+ }
237
+ }
238
+ elseif ( ! is_array( $method ) && function_exists( $method ) )
239
+ $method( $current );
240
+
241
+ }
242
+
243
+ }
244
+ else {
245
+
246
+ ?>
247
+ <div id="mycred-log-is-empty">
248
+ <p><?php _e( 'Your log is empty. No statistics can be shown.', 'mycred' ); ?></p>
249
+ </div>
250
+ <?php
251
+
252
+ }
253
+
254
+ ?>
255
+ </div>
256
+ </div>
257
+
258
+ </div>
259
+ <?php
260
+
261
+ do_action( 'mycred_stats_page_after', $this );
262
+
263
+ }
264
+
265
+ /**
266
+ * Overview Screen
267
+ * @since 1.6
268
+ * @version 1.0
269
+ */
270
+ public function overview_screen( $current = '' ) {
271
+
272
+ $widgets = apply_filters( 'mycred_stats_overview_widgets', array(
273
+ 0 => array( 'id' => 'overallcirculation', 'class' => 'myCRED_Stats_Widget_Circulation', 'args' => array( 'ctypes' => 'all' ) ),
274
+ 1 => array( 'id' => 'overallgains', 'class' => 'myCRED_Stats_Widget_Daily_Gains', 'args' => array( 'ctypes' => 'all', 'span' => 10, 'number' => 5 ) ),
275
+ 2 => array( 'id' => 'overallloses', 'class' => 'myCRED_Stats_Widget_Daily_Loses', 'args' => array( 'ctypes' => 'all', 'span' => 10, 'number' => 5 ) )
276
+ ), $this );
277
+
278
+ if ( ! empty( $widgets ) ) {
279
+ foreach ( $widgets as $num => $swidget ) {
280
+
281
+ $widget = $swidget['class'];
282
+ if ( class_exists( $widget ) ) {
283
+ $w = new $widget( $swidget['id'], $swidget['args'] );
284
+
285
+ echo '<div class="mycred-stat-widget">';
286
+
287
+ $w->widget();
288
+
289
+ echo '</div>';
290
+
291
+ }
292
+
293
+ }
294
+ }
295
+
296
+ }
297
+
298
+ /**
299
+ * Point Type Screen
300
+ * @since 1.6
301
+ * @version 1.0
302
+ */
303
+ public function ctype_screen( $current = '' ) {
304
+
305
+ $widgets = apply_filters( 'mycred_stats_' . $current . '_widgets', array(
306
+ 0 => array( 'id' => $current . 'circulation', 'class' => 'myCRED_Stats_Widget_Circulation', 'args' => array( 'ctypes' => $current ) ),
307
+ 1 => array( 'id' => $current . 'gains', 'class' => 'myCRED_Stats_Widget_Daily_Gains', 'args' => array( 'ctypes' => $current, 'span' => 10, 'number' => 5 ) ),
308
+ 2 => array( 'id' => $current . 'loses', 'class' => 'myCRED_Stats_Widget_Daily_Loses', 'args' => array( 'ctypes' => $current, 'span' => 10, 'number' => 5 ) )
309
+ ), $this );
310
+
311
+ if ( ! empty( $widgets ) ) {
312
+ foreach ( $widgets as $num => $swidget ) {
313
+
314
+ $widget = $swidget['class'];
315
+ if ( class_exists( $widget ) ) {
316
+ $w = new $widget( $swidget['id'], $swidget['args'] );
317
+
318
+ echo '<div class="mycred-stat-widget">';
319
+
320
+ $w->widget();
321
+
322
+ echo '</div>';
323
+
324
+ }
325
+
326
+ }
327
+ }
328
+
329
+ }
330
+
331
+ }
332
+
333
+ $mycred_stats = new myCRED_Stats_Module();
334
+ $mycred_stats->load();
335
+ }
336
+ ?>
addons/stats/widgets/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/stats/widgets/mycred-stats-widget-circulation.php ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_STATS_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * Stats Widget:
6
+ * @version 1.0
7
+ */
8
+ if ( ! class_exists( 'myCRED_Stats_Widget_Circulation' ) ) :
9
+ class myCRED_Stats_Widget_Circulation extends myCRED_Statistics_Widget {
10
+
11
+ /**
12
+ * Constructor
13
+ */
14
+ function __construct( $widget_id = '', $args = array() ) {
15
+ if ( $widget_id == '' )
16
+ $widget_id = 'circulation';
17
+
18
+ parent::__construct( $widget_id, $args );
19
+ $this->dates = mycred_get_stat_dates( 'today_this' );
20
+ }
21
+
22
+ /**
23
+ * Get Data
24
+ * @version 1.0
25
+ */
26
+ function get_data() {
27
+
28
+ global $wpdb;
29
+
30
+ if ( $this->args['ctypes'] == 'all' )
31
+ $point_types = $this->ctypes;
32
+ else
33
+ $point_types = array( $this->args['ctypes'] => $this->ctypes[ $this->args['ctypes'] ] );
34
+
35
+ $series = $totals = array();
36
+ $all = 0;
37
+
38
+ foreach ( $point_types as $type_id => $label ) {
39
+
40
+ $mycred = mycred( $type_id );
41
+ $total = $wpdb->get_var( $wpdb->prepare( "SELECT SUM( meta_value ) FROM {$wpdb->usermeta} WHERE meta_key = %s;", $type_id ) );
42
+ if ( $total === NULL ) $total = 0;
43
+
44
+ $totals[] = '<strong>' . sprintf( __( 'Total %s:', 'mycred' ), $this->ctypes[ $type_id ] ) . '</strong> <span style="color:' . $this->colors[ $type_id ] . '">' . $mycred->format_creds( $total ) . '</span>';
45
+ $all = $all + $total;
46
+ $series[] = "{ value: " . $total . ", color: '" . $this->colors[ $type_id ] . "', highlight: '" . $this->colors[ $type_id ] . "', label: '" . esc_attr( $label ) . "' }";
47
+
48
+ }
49
+
50
+ return array(
51
+ 'total' => $all,
52
+ 'totals' => $totals,
53
+ 'series' => $series
54
+ );
55
+
56
+ }
57
+
58
+ /**
59
+ * Get Gains and Loses
60
+ * @version 1.0
61
+ */
62
+ function gains_and_loses() {
63
+
64
+ global $wpdb;
65
+
66
+ if ( $this->args['ctypes'] == 'all' )
67
+ $point_types = $this->ctypes;
68
+ else
69
+ $point_types = array( $this->args['ctypes'] => $this->ctypes[ $this->args['ctypes'] ] );
70
+
71
+ $series = array();
72
+ foreach ( $point_types as $type_id => $label ) {
73
+
74
+ if ( ! array_key_exists( $type_id, $series ) )
75
+ $series[ $type_id ] = array();
76
+
77
+ $values = array();
78
+ foreach ( $this->dates as $date ) {
79
+
80
+ if ( ! array_key_exists( $date['key'], $series[ $type_id ] ) )
81
+ $series[ $type_id ][ $date['key'] ] = array(
82
+ 'gains' => 0,
83
+ 'loses' => 0
84
+ );
85
+
86
+ $query = $wpdb->get_col( $wpdb->prepare( "
87
+ SELECT creds
88
+ FROM {$this->core->log_table}
89
+ WHERE ctype = %s
90
+ AND time BETWEEN %d AND %d;", $type_id, $date['from'], $date['until'] ) );
91
+
92
+ if ( ! empty( $query ) ) {
93
+ foreach ( $query as $entry ) {
94
+ if ( $entry > 0 )
95
+ $series[ $type_id ][ $date['key'] ]['gains'] = $series[ $type_id ][ $date['key'] ]['gains'] + $entry;
96
+ else
97
+ $series[ $type_id ][ $date['key'] ]['loses'] = $series[ $type_id ][ $date['key'] ]['loses'] + $entry;
98
+ }
99
+ }
100
+
101
+ }
102
+
103
+ }
104
+
105
+ return $series;
106
+
107
+ }
108
+
109
+ /**
110
+ * Get Total
111
+ * @version 1.0
112
+ */
113
+ function get_total( $ctype = '', $positive = true ) {
114
+
115
+ global $wpdb;
116
+
117
+ if ( $positive )
118
+ $total = $wpdb->get_var( $wpdb->prepare( "SELECT SUM( creds ) FROM {$this->core->log_table} WHERE ctype = %s AND creds > 0;", $ctype ) );
119
+ else
120
+ $total = $wpdb->get_var( $wpdb->prepare( "SELECT SUM( creds ) FROM {$this->core->log_table} WHERE ctype = %s AND creds < 0;", $ctype ) );
121
+
122
+ if ( $total === NULL )
123
+ $total = 0;
124
+
125
+ return $total;
126
+
127
+ }
128
+
129
+ /**
130
+ *
131
+ * @version 1.0
132
+ */
133
+ function widget() {
134
+
135
+ if ( $this->args['ctypes'] == 'all' )
136
+ $label = __( 'Total amount in circulation', 'mycred' );
137
+ else
138
+ $label = sprintf( __( 'Total amount of %s in circulation', 'mycred' ), $this->ctypes[ $this->args['ctypes'] ] );
139
+
140
+ $circulation = $this->get_data();
141
+ $gains_loses = $this->gains_and_loses();
142
+
143
+ ?>
144
+ <div id="mycred-stats-overview" class="clear clearfix">
145
+ <div id="mycred-stats-<?php echo $this->id; ?>" class="left-column">
146
+ <canvas id="total-circulation-<?php echo $this->id; ?>-chart"></canvas>
147
+ </div>
148
+ <h1><?php echo $label; ?>: <?php echo $this->format_number( $circulation['total'] ); ?></h1>
149
+ <?php
150
+
151
+ if ( $this->args['ctypes'] == 'all' ) :
152
+
153
+ ?>
154
+ <ul id="total-per-point-type"><li><?php echo implode( '</li><li>', $circulation['totals'] ); ?></li></ul>
155
+ <?php
156
+
157
+ else :
158
+
159
+ $circulation = array( 'series' => array() );
160
+ $mycred = mycred( $this->args['ctypes'] );
161
+
162
+ $gains = $this->get_total( $this->args['ctypes'] );
163
+ $loses = $this->get_total( $this->args['ctypes'], false );
164
+
165
+ $total = $gains + abs( $loses );
166
+ $gains_p = number_format( ( ( $gains / $total ) * 100 ), 0 );
167
+ $gains_l = number_format( ( 100 - $gains_p ), 0 );
168
+
169
+ $color = $gain_color = $this->colors[ $this->args['ctypes'] ];
170
+ $circulation['series'][] = "{ value: {$gains_p}, color: '" . $color . "', highlight: '" . $color . "', label: '" . esc_attr__( 'Total gains (%)', 'mycred' ) . "' }";
171
+
172
+
173
+ $color = $lose_color = mycred_inverse_rgb_color( $this->colors[ $this->args['ctypes'] ] );
174
+ $circulation['series'][] = "{ value: {$gains_l}, color: '" . $color . "', highlight: '" . $color . "', label: '" . esc_attr__( 'Total loses (%)', 'mycred' ) . "' }";
175
+
176
+ //
177
+ ?>
178
+ <ul id="total-per-point-type"><li><?php printf( __( 'Total Gained: %s', 'mycred' ), '<span style="color:' . $gain_color . '">' . $mycred->format_creds( $gains ) . '</span>' ); ?></li><li><?php printf( __( 'Total Spent: %s', 'mycred' ), '<span style="color:' . $lose_color . '">' . $mycred->format_creds( $loses ) . '</span>' ); ?></li></ul>
179
+ <?php
180
+
181
+ endif;
182
+
183
+ ?>
184
+ <div class="table">
185
+ <table cellpadding="0" cellspacing="0">
186
+ <thead>
187
+ <tr>
188
+ <th class="rowtitle"></th>
189
+ <th class="doublecell" colspan="2"><?php _e( 'Today', 'mycred' ); ?></th>
190
+ <th class="doublecell" colspan="2"><?php _e( 'This Week', 'mycred' ); ?></th>
191
+ <th class="doublecell" colspan="2"><?php _e( 'This Month', 'mycred' ); ?></th>
192
+ <th class="doublecell" colspan="2"><?php _e( 'This Year', 'mycred' ); ?></th>
193
+ </tr>
194
+ <tr class="subheader">
195
+ <th class="rowtitle"></th>
196
+ <th class="cell"><?php _e( 'Gained', 'mycred' ); ?></th>
197
+ <th class="cell"><?php _e( 'Lost', 'mycred' ); ?></th>
198
+ <th class="cell"><?php _e( 'Gained', 'mycred' ); ?></th>
199
+ <th class="cell"><?php _e( 'Lost', 'mycred' ); ?></th>
200
+ <th class="cell"><?php _e( 'Gained', 'mycred' ); ?></th>
201
+ <th class="cell"><?php _e( 'Lost', 'mycred' ); ?></th>
202
+ <th class="cell"><?php _e( 'Gained', 'mycred' ); ?></th>
203
+ <th class="cell last"><?php _e( 'Lost', 'mycred' ); ?></th>
204
+ </tr>
205
+ </thead>
206
+ <tbody>
207
+ <?php
208
+
209
+ foreach ( $gains_loses as $type_id => $dates ) {
210
+
211
+ $mycred = mycred( $type_id );
212
+
213
+ ?>
214
+ <tr style="color: <?php echo $this->colors[ $type_id ]; ?>;">
215
+ <td class="rowtitle"><?php echo $this->ctypes[ $type_id ]; ?></td>
216
+ <?php
217
+
218
+ $page_id = 'myCRED';
219
+ if ( $type_id != 'mycred_default' )
220
+ $page_id .= '_' . $type_id;
221
+
222
+ $base_url = add_query_arg( array( 'page' => $page_id ), admin_url( 'admin.php' ) );
223
+ foreach ( $dates as $key => $item ) {
224
+ $url = add_query_arg( array( 'show' => $key ), $base_url );
225
+ echo '<td class="cell"><a href="' . $url . '">' . $mycred->format_number( $item['gains'] ) . '</a></td>';
226
+ $url = add_query_arg( array( 'show' => $key, 'num' => 0, 'compare' => urlencode( '<' ) ), $base_url );
227
+ echo '<td class="cell"><a href="' . $url . '">' . $mycred->format_number( $item['loses'] ) . '</a></td>';
228
+ }
229
+
230
+ }
231
+
232
+ ?>
233
+ </tbody>
234
+ </table>
235
+ <?php echo $this->action_buttons(); ?>
236
+ </div>
237
+ <div class="clear clearfix"></div>
238
+ </div>
239
+ <script type="text/javascript">
240
+ jQuery(function($) {
241
+
242
+ var <?php echo $this->id; ?> = $( '#total-circulation-<?php echo $this->id; ?>-chart' ).get(0).getContext( '2d' );
243
+ <?php echo $this->id; ?>.canvas.width = 240;
244
+ <?php echo $this->id; ?>.canvas.height = 240;
245
+
246
+ var <?php echo $this->id; ?>chart = new Chart( <?php echo $this->id; ?> ).Doughnut([
247
+ <?php echo implode( ',', $circulation['series'] ); ?>
248
+ ],{
249
+ segmentStrokeColor : '#F1F1F1',
250
+ segmentStrokeWidth : 3,
251
+ percentageInnerCutout : 60
252
+ });
253
+
254
+ });
255
+ </script>
256
+ <?php
257
+
258
+ }
259
+
260
+ }
261
+ endif;
262
+ ?>
addons/stats/widgets/mycred-stats-widget-daily-gains.php ADDED
@@ -0,0 +1,214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_STATS_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * Stats Widget:
6
+ * @version 1.0
7
+ */
8
+ if ( ! class_exists( 'myCRED_Stats_Widget_Daily_Gains' ) ) :
9
+ class myCRED_Stats_Widget_Daily_Gains extends myCRED_Statistics_Widget {
10
+
11
+ /**
12
+ * Constructor
13
+ */
14
+ function __construct( $widget_id = '', $args = array() ) {
15
+ if ( $widget_id == '' )
16
+ $widget_id = 'dailygains';
17
+
18
+ parent::__construct( $widget_id, $args );
19
+ $this->dates = mycred_get_stat_dates( 'x_dates', $this->args['span'] );
20
+ }
21
+
22
+ /**
23
+ *
24
+ * @version 1.0
25
+ */
26
+ function get_data() {
27
+
28
+ global $wpdb;
29
+
30
+ $ctype_limit = '';
31
+ if ( $this->args['ctypes'] != 'all' )
32
+ $ctype_limit = $wpdb->prepare( "AND ctype = %s", $this->args['ctypes'] );
33
+
34
+ return $wpdb->get_results( $wpdb->prepare( "
35
+ SELECT ref, COUNT(*) AS count, SUM( creds ) AS total, ctype AS type
36
+ FROM {$this->core->log_table}
37
+ WHERE creds > 0
38
+ AND time BETWEEN %d AND %d
39
+ {$ctype_limit}
40
+ GROUP BY ref ORDER BY total DESC LIMIT 0,%d;", strtotime( '-' . $this->args['span'] . ' days midnight', $this->now ), $this->now, $this->args['number'] ) );
41
+
42
+ }
43
+
44
+ /**
45
+ *
46
+ * @version 1.0
47
+ */
48
+ function get_gains() {
49
+
50
+ global $wpdb;
51
+
52
+ if ( $this->args['ctypes'] == 'all' )
53
+ $point_types = $this->ctypes;
54
+ else
55
+ $point_types = array( $this->args['ctypes'] => $this->ctypes[ $this->args['ctypes'] ] );
56
+
57
+ $series = $ctypes = $categories = array();
58
+ $num = 0;
59
+
60
+
61
+ if ( count( $point_types ) > 0 ) {
62
+
63
+ foreach ( $point_types as $type_id => $label ) {
64
+
65
+ $num ++;
66
+
67
+ $count = $wpdb->get_var( "SELECT COUNT( * ) FROM {$this->core->log_table} WHERE ctype = '{$type_id}';" );
68
+ if ( $count === NULL )
69
+ $count = $num;
70
+
71
+ $ctypes[ $count ] = $type_id;
72
+
73
+ }
74
+
75
+ ksort( $ctypes, SORT_NUMERIC );
76
+
77
+ }
78
+
79
+ foreach ( $ctypes as $count => $type_id ) {
80
+
81
+ $values = array();
82
+ foreach ( $this->dates as $date ) {
83
+
84
+ $query = $wpdb->get_var( $wpdb->prepare( "
85
+ SELECT SUM( creds )
86
+ FROM {$this->core->log_table}
87
+ WHERE creds > 0
88
+ AND ctype = %s
89
+ AND time BETWEEN %d AND %d;", $type_id, $date['from'], $date['until'] ) );
90
+
91
+ if ( $query === NULL ) $query = 0;
92
+
93
+ $values[] = abs( $query );
94
+
95
+ if ( ! in_array( $date['label'], $categories ) )
96
+ $categories[] = esc_attr( $date['label'] );
97
+
98
+ }
99
+
100
+ $mycred = mycred( $type_id );
101
+ $series[] = "{ label : '" . esc_attr( $mycred->plural() ) . "', fillColor : '" . str_replace( ',1)', ',0.3)', $this->colors[ $type_id ] ) . "', strokeColor : '" . $this->colors[ $type_id ] . "', pointColor : '" . $this->colors[ $type_id ] . "', data : [" . implode( ', ', $values ) . "] }";
102
+
103
+ }
104
+
105
+ return array(
106
+ 'categories' => $categories,
107
+ 'series' => $series
108
+ );
109
+
110
+ }
111
+
112
+ /**
113
+ *
114
+ * @version 1.0
115
+ */
116
+ function widget() {
117
+
118
+ $label = __( 'Most common ways your users have gained points during this period.', 'mycred' );
119
+ if ( $this->args['ctypes'] != 'all' )
120
+ $label = $this->core->template_tags_general( __( 'Most common ways your users have gained %_plural% during this period.', 'mycred' ) );
121
+
122
+ $ten_day_gain = $this->get_data();
123
+ $earned = $this->get_gains();
124
+
125
+ ?>
126
+ <div id="" class="clear clearfix">
127
+ <h1><?php _e( 'Gains in the last 10 days', 'mycred' ); ?></h1>
128
+ <p><span class="description"><?php echo $label; ?></span></p>
129
+ <?php
130
+
131
+ if ( ! empty( $ten_day_gain ) ) {
132
+
133
+ echo '<div class="mycred-popular-items"><ol>';
134
+ foreach ( $ten_day_gain as $item ) {
135
+
136
+ if ( isset( $refs[ $item->ref ] ) )
137
+ $label = $refs[ $item->ref ];
138
+ else
139
+ $label = ucfirst( str_replace( '_', ' ', $item->ref ) );
140
+
141
+ $page_id = 'myCRED';
142
+ if ( $item->type != 'mycred_default' )
143
+ $page_id .= '_' . $item->type;
144
+
145
+ $base_url = add_query_arg( array( 'page' => $page_id ), admin_url( 'admin.php' ) );
146
+
147
+ $url = add_query_arg( array( 'ref' => $item->ref ), $base_url );
148
+
149
+ ?>
150
+ <li>
151
+ <strong style="color:<?php echo $this->colors[ $item->type ]; ?>;"><?php echo $label; ?></strong>
152
+ <span class="view"><a href="<?php echo $url; ?>"><?php _e( 'View', 'mycred' ); ?></a></span>
153
+ <ul>
154
+ <li><?php echo number_format( $item->total, 0, '.', ' ' ); ?></li>
155
+ <li><?php echo $item->count; ?></li>
156
+ </ul>
157
+ <div class="clear clearfix"></div>
158
+ </li>
159
+ <?php
160
+
161
+ }
162
+
163
+ echo '</ol></div><div class="last-ten-days-chart"><canvas id="daily-gain-' . $this->id . '-chart"></canvas><div id="' . $this->id . '-legend" class="mycred-chart-legend clear clearfix"></div></div>';
164
+
165
+ }
166
+ else {
167
+ echo '<div class="mycred-empty-widget"><p>' . __( 'No data found', 'mycred' ) . '</p></div>';
168
+ }
169
+
170
+ ?>
171
+ <div class="clear clearfix"></div>
172
+ </div>
173
+ <?php
174
+
175
+ if ( ! empty( $ten_day_gain ) ) :
176
+
177
+ ?>
178
+ <script type="text/javascript">
179
+ jQuery(function($) {
180
+
181
+ var <?php echo $this->id; ?> = $( '#daily-gain-<?php echo $this->id; ?>-chart' ).get(0).getContext( '2d' );
182
+
183
+ <?php echo $this->id; ?>.canvas.height = 400;
184
+ var <?php echo $this->id; ?>chart = new Chart( <?php echo $this->id; ?> ).Line({
185
+ labels : [<?php echo "'" . implode( "', '", $earned['categories'] ) . "'"; ?>],
186
+ datasets : [<?php echo implode( ',', $earned['series'] ); ?>]
187
+ },{
188
+ bezierCurve: false,
189
+ responsive: true,
190
+ maintainAspectRatio: false,
191
+ legendTemplate : '<ul>'
192
+ +'<% for (var i=0; i<datasets.length; i++) { %>'
193
+ +'<li>'
194
+ +'<span style=\"background-color:<%=datasets[i].fillColor%>\"></span>'
195
+ +'<% if (datasets[i].label) { %><%= datasets[i].label %><% } %>'
196
+ +'</li>'
197
+ +'<% } %>'
198
+ +'</ul>'
199
+ });
200
+
201
+ var <?php echo $this->id; ?>legend = <?php echo $this->id; ?>chart.generateLegend();
202
+ $( '#<?php echo $this->id; ?>-legend' ).append( <?php echo $this->id; ?>legend );
203
+
204
+ });
205
+ </script>
206
+ <?php
207
+
208
+ endif;
209
+
210
+ }
211
+
212
+ }
213
+ endif;
214
+ ?>
addons/stats/widgets/mycred-stats-widget-daily-loses.php ADDED
@@ -0,0 +1,214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_STATS_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * Stats Widget:
6
+ * @version 1.0
7
+ */
8
+ if ( ! class_exists( 'myCRED_Stats_Widget_Daily_Loses' ) ) :
9
+ class myCRED_Stats_Widget_Daily_Loses extends myCRED_Statistics_Widget {
10
+
11
+ /**
12
+ * Constructor
13
+ */
14
+ function __construct( $widget_id = '', $args = array() ) {
15
+ if ( $widget_id == '' )
16
+ $widget_id = 'dailyloses';
17
+
18
+ parent::__construct( $widget_id, $args );
19
+ $this->dates = mycred_get_stat_dates( 'x_dates', $this->args['span'] );
20
+ }
21
+
22
+ /**
23
+ *
24
+ * @version 1.0
25
+ */
26
+ function get_data() {
27
+
28
+ global $wpdb;
29
+
30
+ $ctype_limit = '';
31
+ if ( $this->args['ctypes'] != 'all' )
32
+ $ctype_limit = $wpdb->prepare( "AND ctype = %s", $this->args['ctypes'] );
33
+
34
+ return $wpdb->get_results( $wpdb->prepare( "
35
+ SELECT ref, COUNT(*) AS count, SUM( creds ) AS total, ctype AS type
36
+ FROM {$this->core->log_table}
37
+ WHERE creds < 0
38
+ AND time BETWEEN %d AND %d
39
+ {$ctype_limit}
40
+ GROUP BY ref ORDER BY total DESC LIMIT 0,%d;", strtotime( '-' . $this->args['span'] . ' days midnight', $this->now ), $this->now, $this->args['number'] ) );
41
+
42
+ }
43
+
44
+ /**
45
+ *
46
+ * @version 1.0
47
+ */
48
+ function get_spending() {
49
+
50
+ global $wpdb;
51
+
52
+ if ( $this->args['ctypes'] == 'all' )
53
+ $point_types = $this->ctypes;
54
+ else
55
+ $point_types = array( $this->args['ctypes'] => $this->ctypes[ $this->args['ctypes'] ] );
56
+
57
+ $series = $ctypes = $categories = array();
58
+ $num = 0;
59
+
60
+
61
+ if ( count( $point_types ) > 0 ) {
62
+
63
+ foreach ( $point_types as $type_id => $label ) {
64
+
65
+ $num ++;
66
+
67
+ $count = $wpdb->get_var( "SELECT COUNT( * ) FROM {$this->core->log_table} WHERE ctype = '{$type_id}';" );
68
+ if ( $count === NULL )
69
+ $count = $num;
70
+
71
+ $ctypes[ $count ] = $type_id;
72
+
73
+ }
74
+
75
+ ksort( $ctypes, SORT_NUMERIC );
76
+
77
+ }
78
+
79
+ foreach ( $ctypes as $count => $type_id ) {
80
+
81
+ $values = array();
82
+ foreach ( $this->dates as $date ) {
83
+
84
+ $query = $wpdb->get_var( $wpdb->prepare( "
85
+ SELECT SUM( creds )
86
+ FROM {$this->core->log_table}
87
+ WHERE creds < 0
88
+ AND ctype = %s
89
+ AND time BETWEEN %d AND %d;", $type_id, $date['from'], $date['until'] ) );
90
+
91
+ if ( $query === NULL ) $query = 0;
92
+
93
+ $values[] = abs( $query );
94
+
95
+ if ( ! in_array( $date['label'], $categories ) )
96
+ $categories[] = esc_attr( $date['label'] );
97
+
98
+ }
99
+
100
+ $mycred = mycred( $type_id );
101
+ $series[] = "{ label : '" . esc_attr( $mycred->plural() ) . "', fillColor : '" . str_replace( ',1)', ',0.3)', $this->colors[ $type_id ] ) . "', strokeColor : '" . $this->colors[ $type_id ] . "', pointColor : '" . $this->colors[ $type_id ] . "', data : [" . implode( ', ', $values ) . "] }";
102
+
103
+ }
104
+
105
+ return array(
106
+ 'categories' => $categories,
107
+ 'series' => $series
108
+ );
109
+
110
+ }
111
+
112
+ /**
113
+ *
114
+ * @version 1.0
115
+ */
116
+ function widget() {
117
+
118
+ $lose_label = __( 'Most common ways your users have lost or spent points during this period.', 'mycred' );
119
+ if ( $this->args['ctypes'] != 'all' )
120
+ $lose_label = $this->core->template_tags_general( __( 'Most common ways your users have lost or spent %_plural% during this period.', 'mycred' ) );
121
+
122
+ $ten_day_lose = $this->get_data();
123
+ $spending = $this->get_spending();
124
+
125
+ ?>
126
+ <div id="" class="clear clearfix">
127
+ <h1><?php _e( 'Loses in the last 10 days', 'mycred' ); ?></h1>
128
+ <p><span class="description"><?php echo $lose_label; ?></span></p>
129
+ <?php
130
+
131
+ if ( ! empty( $ten_day_lose ) ) {
132
+
133
+ echo '<div class="mycred-popular-items"><ol>';
134
+ foreach ( $ten_day_lose as $item ) {
135
+
136
+ if ( isset( $refs[ $item->ref ] ) )
137
+ $label = $refs[ $item->ref ];
138
+ else
139
+ $label = ucfirst( str_replace( '_', ' ', $item->ref ) );
140
+
141
+ $page_id = 'myCRED';
142
+ if ( $item->type != 'mycred_default' )
143
+ $page_id .= '_' . $item->type;
144
+
145
+ $base_url = add_query_arg( array( 'page' => $page_id ), admin_url( 'admin.php' ) );
146
+
147
+ $url = add_query_arg( array( 'ref' => $item->ref ), $base_url );
148
+
149
+ ?>
150
+ <li>
151
+ <strong style="color:<?php echo $this->colors[ $item->type ]; ?>;"><?php echo $label; ?></strong>
152
+ <span class="view"><a href="<?php echo $url; ?>"><?php _e( 'View', 'mycred' ); ?></a></span>
153
+ <ul>
154
+ <li><?php echo number_format( $item->total, 0, '.', ' ' ); ?></li>
155
+ <li><?php echo $item->count; ?></li>
156
+ </ul>
157
+ <div class="clear clearfix"></div>
158
+ </li>
159
+ <?php
160
+
161
+ }
162
+
163
+ echo '</ol></div><div class="last-ten-days-chart"><canvas id="daily-loses-' . $this->id . '-chart"></canvas><div id="' . $this->id . '-legend" class="mycred-chart-legend clear clearfix"></div></div>';
164
+
165
+ }
166
+ else {
167
+ echo '<div class="mycred-empty-widget"><p>' . __( 'No data found', 'mycred' ) . '</p></div>';
168
+ }
169
+
170
+ ?>
171
+ <div class="clear clearfix"></div>
172
+ </div>
173
+ <?php
174
+
175
+ if ( ! empty( $ten_day_lose ) ) :
176
+
177
+ ?>
178
+ <script type="text/javascript">
179
+ jQuery(function($) {
180
+
181
+ var <?php echo $this->id; ?> = $( '#daily-loses-<?php echo $this->id; ?>-chart' ).get(0).getContext( '2d' );
182
+
183
+ <?php echo $this->id; ?>.canvas.height = 400;
184
+ var <?php echo $this->id; ?>chart = new Chart( <?php echo $this->id; ?> ).Line({
185
+ labels : [<?php echo "'" . implode( "', '", $spending['categories'] ) . "'"; ?>],
186
+ datasets : [<?php echo implode( ',', $spending['series'] ); ?>]
187
+ },{
188
+ bezierCurve: false,
189
+ responsive: true,
190
+ maintainAspectRatio: false,
191
+ legendTemplate : '<ul>'
192
+ +'<% for (var i=0; i<datasets.length; i++) { %>'
193
+ +'<li>'
194
+ +'<span style=\"background-color:<%=datasets[i].fillColor%>\"></span>'
195
+ +'<% if (datasets[i].label) { %><%= datasets[i].label %><% } %>'
196
+ +'</li>'
197
+ +'<% } %>'
198
+ +'</ul>'
199
+ });
200
+
201
+ var <?php echo $this->id; ?>legend = <?php echo $this->id; ?>chart.generateLegend();
202
+ $( '#<?php echo $this->id; ?>-legend' ).append( <?php echo $this->id; ?>legend );
203
+
204
+ });
205
+ </script>
206
+ <?php
207
+
208
+ endif;
209
+
210
+ }
211
+
212
+ }
213
+ endif;
214
+ ?>
addons/transfer/assets/css/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/transfer/{css → assets/css}/transfer.css RENAMED
File without changes
addons/transfer/assets/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/transfer/assets/js/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/transfer/{js → assets/js}/transfer.js RENAMED
@@ -28,6 +28,7 @@ jQuery(function($){
28
  },
29
  // On Successful Communication
30
  success : function( data ) {
 
31
  $( '.mycred-click' ).val( label );
32
  $( '.mycred-click' ).removeAttr( 'disabled' );
33
 
28
  },
29
  // On Successful Communication
30
  success : function( data ) {
31
+
32
  $( '.mycred-click' ).val( label );
33
  $( '.mycred-click' ).removeAttr( 'disabled' );
34
 
addons/transfer/includes/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/transfer/includes/mycred-transfer-functions.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * User Can Transfer
6
+ * @see http://mycred.me/functions/mycred_user_can_transfer/
7
+ * @param $user_id (int) requred user id
8
+ * @param $amount (int) optional amount to check against balance
9
+ * @returns true if no limit is set, 'limit' (string) if user is over limit else the amount of creds left
10
+ * @filter 'mycred_user_can_transfer'
11
+ * @filter 'mycred_transfer_limit'
12
+ * @filter 'mycred_transfer_acc_limit'
13
+ * @since 0.1
14
+ * @version 1.3
15
+ */
16
+ if ( ! function_exists( 'mycred_user_can_transfer' ) ) :
17
+ function mycred_user_can_transfer( $user_id = NULL, $amount = NULL, $type = 'mycred_default', $ref = NULL ) {
18
+
19
+ if ( $user_id === NULL ) $user_id = get_current_user_id();
20
+
21
+ if ( $ref === NULL )
22
+ $ref = 'mycred_transactions';
23
+
24
+ // Grab Settings (from main type where the settings are saved)
25
+ $mycred = mycred();
26
+ $pref = $mycred->transfers;
27
+ $zero = $mycred->zero();
28
+
29
+ // Get users balance
30
+ $balance = $mycred->get_users_cred( $user_id, $type );
31
+
32
+ // Get Transfer Max
33
+ $max = apply_filters( 'mycred_transfer_limit', $mycred->number( $pref['limit']['amount'] ), $user_id, $amount, $pref, $mycred );
34
+
35
+ // If an amount is given, deduct this amount to see if the transaction
36
+ // brings us over the account limit
37
+ if ( $amount !== NULL )
38
+ $balance = $mycred->number( $balance-$amount );
39
+
40
+ // Account Limit
41
+ // The lowest amount a user can have on their account. By default, this
42
+ // is zero. But you can override this via the mycred_transfer_acc_limit hook.
43
+ $account_limit = $mycred->number( apply_filters( 'mycred_transfer_acc_limit', $zero, $type ) );
44
+
45
+ // Check if users balance is below the account limit
46
+ if ( $balance < $account_limit ) return 'low';
47
+
48
+ // If there are no limits, return the current balance
49
+ if ( $pref['limit']['limit'] == 'none' ) return $balance;
50
+
51
+ // Else we have a limit to impose
52
+ $now = current_time( 'timestamp' );
53
+ $max = $mycred->number( $pref['limit']['amount'] );
54
+
55
+ // Daily limit
56
+ if ( $pref['limit']['limit'] == 'daily' )
57
+ $total = mycred_get_total_by_time( 'today', 'now', $ref, $user_id, $type );
58
+
59
+ // Weekly limit
60
+ elseif ( $pref['limit']['limit'] == 'weekly' ) {
61
+ $this_week = mktime( 0, 0, 0, date( 'n', $now ), date( 'j', $now ) - date( 'n', $now ) + 1 );
62
+ $total = mycred_get_total_by_time( $this_week, 'now', $ref, $user_id, $type );
63
+ }
64
+
65
+ // Custom limits will need to return the result
66
+ // here and now. Accepted answers are 'limit', 'low' or the amount left on limit.
67
+ else {
68
+ return apply_filters( 'mycred_user_can_transfer', 'limit', $user_id, $amount, $pref, $mycred );
69
+ }
70
+
71
+ // We are adding up point deducations.
72
+ $total = abs( $total );
73
+
74
+ if ( $amount !== NULL ) {
75
+
76
+ $total = $mycred->number( $total + $amount );
77
+
78
+ // Transfer limit reached
79
+ if ( $total > $max ) return 'limit';
80
+
81
+ }
82
+
83
+ else {
84
+
85
+ // Transfer limit reached
86
+ if ( $total >= $max ) return 'limit';
87
+
88
+ }
89
+
90
+ // Return whats remaining of limit
91
+ return $mycred->number( $max - $total );
92
+
93
+ }
94
+ endif;
95
+
96
+ /**
97
+ * Get Users Transfer History
98
+ * @since 1.3.3
99
+ * @version 1.0
100
+ */
101
+ if ( ! function_exists( 'mycred_get_users_transfer_history' ) ) :
102
+ function mycred_get_users_transfer_history( $user_id, $type = 'mycred_default', $key = NULL ) {
103
+
104
+ if ( $key === NULL )
105
+ $key = 'mycred_transactions';
106
+
107
+ if ( $type != 'mycred_default' && $type != '' )
108
+ $key .= '_' . $type;
109
+
110
+ $default = array(
111
+ 'frame' => '',
112
+ 'amount' => 0
113
+ );
114
+ return mycred_apply_defaults( $default, mycred_get_user_meta( $user_id, $key, '', true ) );
115
+
116
+ }
117
+ endif;
118
+
119
+ /**
120
+ * Update Users Transfer History
121
+ * @since 1.3.3
122
+ * @version 1.0
123
+ */
124
+ if ( ! function_exists( 'mycred_update_users_transfer_history' ) ) :
125
+ function mycred_update_users_transfer_history( $user_id, $history, $type = 'mycred_default', $key = NULL ) {
126
+
127
+ if ( $key === NULL )
128
+ $key = 'mycred_transactions';
129
+
130
+ if ( $type != 'mycred_default' && $type != '' )
131
+ $key .= '_' . $type;
132
+
133
+ // Get current history
134
+ $current = mycred_get_users_transfer_history( $user_id, $type, $key );
135
+
136
+ // Reset
137
+ if ( $history === true )
138
+ $new_history = array(
139
+ 'frame' => '',
140
+ 'amount' => 0
141
+ );
142
+
143
+ // Update
144
+ else $new_history = mycred_apply_defaults( $current, $history );
145
+
146
+ mycred_update_user_meta( $user_id, $key, '', $new_history );
147
+
148
+ }
149
+ endif;
150
+
151
+ ?>
addons/transfer/includes/mycred-transfer-shortcodes.php ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * Transfer Shortcode Render
6
+ * @see http://mycred.me/functions/mycred_transfer_render/
7
+ * @attribute $charge_from (int) optional user ID from whom the points to be deducted, defaults to current user
8
+ * @attribute $pay_to (int) optional user ID to whom the transfer is made, if left empty the user will be able to search for a user
9
+ * @attribute $show_balance (bool) set to true to show current users balance, defaults to true
10
+ * @attribute $show_limit (bool) set to true to show current users limit. If limit is set to 'none' and $show_limit is set to true nothing will be returned
11
+ * @since 0.1
12
+ * @version 1.4.2
13
+ */
14
+ if ( ! function_exists( 'mycred_transfer_render' ) ) :
15
+ function mycred_transfer_render( $atts, $content = NULL ) {
16
+
17
+ global $mycred_load_transfer;
18
+
19
+ // Settings
20
+ $mycred = mycred();
21
+ $pref = $mycred->transfers;
22
+
23
+ // Get Attributes
24
+ extract( shortcode_atts( array(
25
+ 'button' => '',
26
+ 'charge_from' => '',
27
+ 'pay_to' => '',
28
+ 'show_balance' => 0,
29
+ 'show_limit' => 0,
30
+ 'ref' => '',
31
+ 'placeholder' => '',
32
+ 'types' => $pref['types'],
33
+ 'excluded' => ''
34
+ ), $atts ) );
35
+
36
+ $output = '';
37
+ $mycred_load_transfer = false;
38
+
39
+ // If we are not logged in
40
+ if ( ! is_user_logged_in() ) {
41
+
42
+ if ( isset( $pref['templates']['login'] ) && ! empty( $pref['templates']['login'] ) )
43
+ $output .= '<p class="mycred-transfer-login">' . $mycred->template_tags_general( $pref['templates']['login'] ) . '</p>';
44
+
45
+ return $output;
46
+
47
+ }
48
+
49
+ if ( $ref == '' )
50
+ $ref = 'transfer';
51
+
52
+ // Who to charge
53
+ $charge_other = false;
54
+ if ( $charge_from == '' ) {
55
+ $charge_other = true;
56
+ $charge_from = get_current_user_id();
57
+ }
58
+
59
+ // Point Types
60
+ if ( ! is_array( $types ) )
61
+ $raw = explode( ',', $types );
62
+ else
63
+ $raw = $types;
64
+
65
+ $clean = array();
66
+ foreach ( $raw as $id ) {
67
+ $clean[] = sanitize_text_field( $id );
68
+ }
69
+ $available_types = array();
70
+
71
+ // Default
72
+ if ( count( $clean ) == 1 && in_array( 'mycred_default', $clean ) ) {
73
+
74
+ // Make sure user is not excluded
75
+ if ( $mycred->exclude_user( $charge_from ) ) return '';
76
+
77
+ $status = mycred_user_can_transfer( $charge_from, NULL, 'mycred_default', $ref );
78
+ $my_balance = $mycred->get_users_cred( $charge_from );
79
+
80
+ // Error. Not enough creds
81
+ if ( $status === 'low' ) {
82
+ if ( isset( $pref['errors']['low'] ) && ! empty( $pref['errors']['low'] ) ) {
83
+ $no_cred = str_replace( '%limit%', $pref['limit']['limit'], $pref['errors']['low'] );
84
+ $no_cred = str_replace( '%Limit%', ucwords( $pref['limit']['limit'] ), $no_cred );
85
+ $no_cred = str_replace( '%left%', $mycred->format_creds( $status ), $no_cred );
86
+ $output .= '<p class="mycred-transfer-low">' . $mycred->template_tags_general( $no_cred ) . '</p>';
87
+ }
88
+ return $output;
89
+ }
90
+
91
+ // Error. Over limit
92
+ if ( $status === 'limit' ) {
93
+ if ( isset( $pref['errors']['over'] ) && ! empty( $pref['errors']['over'] ) ) {
94
+ $no_cred = str_replace( '%limit%', $pref['limit']['limit'], $pref['errors']['over'] );
95
+ $no_cred = str_replace( '%Limit%', ucwords( $pref['limit']['limit'] ), $no_cred );
96
+ $no_cred = str_replace( '%left%', $mycred->format_creds( $status ), $no_cred );
97
+ $output .= '<p class="mycred-transfer-over">' . $mycred->template_tags_general( $no_cred ) . '</p>';
98
+ }
99
+ return $output;
100
+ }
101
+
102
+ $available_types['mycred_default'] = $mycred->plural();
103
+
104
+ }
105
+
106
+ // Multiple
107
+ else {
108
+
109
+ foreach ( $clean as $point_type ) {
110
+
111
+ $points = mycred( $point_type );
112
+ if ( $points->exclude_user( $charge_from ) ) continue;
113
+
114
+ $status = mycred_user_can_transfer( $charge_from, NULL, $point_type, $ref );
115
+ if ( $status === 'low' || $status === 'limit' ) continue;
116
+
117
+ $available_types[ $point_type ] = $points->plural();
118
+ }
119
+
120
+ // User does not have access
121
+ if ( count( $available_types ) == 0 )
122
+ return $excluded;
123
+ }
124
+
125
+ // Flag for scripts & styles
126
+ $mycred_load_transfer = true;
127
+
128
+ // Placeholder
129
+ if ( $pref['autofill'] == 'user_login' )
130
+ $pln = __( 'username', 'mycred' );
131
+
132
+ elseif ( $pref['autofill'] == 'user_email' )
133
+ $pln = __( 'email', 'mycred' );
134
+
135
+ $placeholder = apply_filters( 'mycred_transfer_to_placeholder', __( 'recipients %s', 'mycred' ), $pref, $mycred );
136
+ $placeholder = sprintf( $placeholder, $pln );
137
+
138
+ // Recipient Input field
139
+ $to_input = '<input type="text" name="mycred-transfer-to" value="" class="mycred-autofill" placeholder="' . $placeholder . '" />';
140
+
141
+ // If recipient is set, pre-populate it with the recipients details
142
+ if ( $pay_to != '' ) {
143
+
144
+ $user = get_user_by( 'id', $pay_to );
145
+ if ( $user !== false ) {
146
+ $value = $user->display_name;
147
+ if ( isset( $user->$pref['autofill'] ) )
148
+ $value = $user->$pref['autofill'];
149
+
150
+ $to_input = '<input type="text" name="mycred-transfer-to" value="' . $value . '" readonly="readonly" />';
151
+ }
152
+
153
+ }
154
+
155
+ if ( count( $clean ) == 1 && array_key_exists( 'mycred_default', $clean ) ) {
156
+
157
+ if ( ! empty( $mycred->before ) )
158
+ $before = $mycred->before . ' ';
159
+
160
+ else
161
+ $before = '';
162
+
163
+ if ( ! empty( $mycred->after ) )
164
+ $after = ' ' . $mycred->after;
165
+
166
+ else
167
+ $after = '';
168
+
169
+ }
170
+
171
+ else {
172
+ $before = $after = '';
173
+ }
174
+
175
+ // Select Point type
176
+ if ( count( $available_types ) == 1 )
177
+ $type_input = '<input type="hidden" name="mycred-transfer-type" value="' . $clean[0] . '" />';
178
+
179
+ else {
180
+
181
+ $type_input = '<select name="mycred-transfer-type" id="mycred-transfer-type" class="form-control">';
182
+ foreach ( $available_types as $type => $plural ) {
183
+ $type_input .= '<option value="' . $type . '">' . $plural . '</option>';
184
+ }
185
+ $type_input .= '</select>';
186
+
187
+ }
188
+
189
+ $extras = array();
190
+
191
+ // Show Balance
192
+ if ( (bool) $show_balance === true && ! empty( $pref['templates']['balance'] ) && count( $available_types ) == 1 ) {
193
+ $balance_text = str_replace( '%balance%', $mycred->format_creds( $my_balance ), $pref['templates']['balance'] );
194
+ $extras[] = $mycred->template_tags_general( $balance_text );
195
+ }
196
+
197
+ // Show Limits
198
+ if ( (bool) $show_limit === true && ! empty( $pref['templates']['limit'] ) && $pref['limit']['limit'] != 'none' && count( $available_types ) == 1 ) {
199
+ $limit_text = str_replace( '%_limit%', $pref['limit']['limit'], $pref['templates']['limit'] );
200
+ $limit_text = str_replace( '%limit%', ucwords( $pref['limit']['limit'] ), $limit_text );
201
+ $limit_text = str_replace( '%left%', $mycred->format_creds( $status ), $limit_text );
202
+ $extras[] = $mycred->template_tags_general( $limit_text );
203
+ }
204
+
205
+ if ( $button == '' )
206
+ $button = $pref['templates']['button'];
207
+
208
+ // Main output
209
+ ob_start();
210
+
211
+ ?>
212
+ <div class="mycred-transfer-cred-wrapper"<?php if ( $ref != '' ) echo ' id="transfer-form-' . $ref . '"'; ?>>
213
+ <form method="post" action="">
214
+
215
+ <?php do_action( 'mycred_transfer_form_start', $atts, $pref ); ?>
216
+
217
+ <ol style="list-style-type:none;">
218
+ <li class="mycred-send-to">
219
+ <label><?php _e( 'To:', 'mycred' ); ?></label>
220
+ <div class="transfer-to"><?php echo $to_input; ?></div>
221
+ <?php do_action( 'mycred_transfer_form_to', $atts, $pref ); ?>
222
+
223
+ </li>
224
+ <li class="mycred-send-amount">
225
+ <label><?php _e( 'Amount:', 'mycred' ); ?></label>
226
+ <div class="transfer-amount"><?php echo $before; ?><input type="text" class="short" name="mycred-transfer-amount" value="<?php echo $mycred->zero(); ?>" size="8" /><?php echo $after . ' ' . $type_input; ?></div>
227
+ <input type="button" class="button button-primary button-large mycred-click btn btn-primary btn-lg"<?php if( $pay_to == get_current_user_id() ) echo ' disabled="disabled"'; ?> value="<?php echo $button; ?>" />
228
+ <?php if ( $charge_other ) : ?><input type="hidden" name="mycred-charge-other" value="<?php absint( $charge_from ); ?>" /><?php endif; ?>
229
+ <?php if ( $ref != '' ) : ?><input type="hidden" name="mycred-transfer-ref" value="<?php echo $ref; ?>" /><?php endif; ?>
230
+ <?php do_action( 'mycred_transfer_form_amount', $atts, $pref ); ?>
231
+
232
+ </li>
233
+
234
+ <?php if ( ! empty( $extras ) ) { ?>
235
+
236
+ <li class="mycred-transfer-info">
237
+ <p><?php echo implode( '</p><p>', $extras ); ?></p>
238
+ <?php do_action( 'mycred_transfer_form_extra', $atts, $pref ); ?>
239
+
240
+ </li>
241
+
242
+ <?php } ?>
243
+
244
+ </ol>
245
+
246
+ <?php do_action( 'mycred_transfer_form_end', $atts, $pref ); ?>
247
+
248
+ <div class="clear clearfix"></div>
249
+ </form>
250
+ <div class="clear clearfix clr"></div>
251
+ </div>
252
+ <?php
253
+
254
+ $output = ob_get_contents();
255
+ ob_end_clean();
256
+
257
+ return do_shortcode( apply_filters( 'mycred_transfer_render', $output, $atts, $mycred ) );
258
+
259
+ }
260
+ endif;
261
+
262
+ ?>
addons/transfer/includes/mycred-transfer-widgets.php ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * Widget: myCRED Transfer
6
+ * @since 0.1
7
+ * @version 1.1.2
8
+ */
9
+ if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) :
10
+ class myCRED_Widget_Transfer extends WP_Widget {
11
+
12
+ /**
13
+ * Construct
14
+ */
15
+ function myCRED_Widget_Transfer() {
16
+
17
+ // Basic details about our widget
18
+ $widget_ops = array(
19
+ 'classname' => 'widget-my-cred-transfer',
20
+ 'description' => __( 'Allow transfers between users.', 'mycred' )
21
+ );
22
+
23
+ $this->WP_Widget( 'mycred_widget_transfer', sprintf( __( '(%s) Transfer', 'mycred' ), mycred_label( true ) ), $widget_ops );
24
+ $this->alt_option_name = 'mycred_widget_transfer';
25
+
26
+ }
27
+
28
+ /**
29
+ * Widget Output
30
+ */
31
+ function widget( $args, $instance ) {
32
+
33
+ extract( $args, EXTR_SKIP );
34
+
35
+ // Prep
36
+ $title = $instance['title'];
37
+ $mycred = mycred();
38
+
39
+ if ( ! isset( $mycred->transfers ) )
40
+ return '<p>' . __( 'The myCRED Transfer add-on has not yet been setup!', 'mycred' ) . '</p>';
41
+
42
+ $pref = $mycred->transfers;
43
+
44
+ global $mycred_load_transfer;
45
+
46
+ // Members
47
+ if ( is_user_logged_in() ) {
48
+
49
+ // Excluded users
50
+ $user_id = get_current_user_id();
51
+ if ( $mycred->exclude_user( $user_id ) ) return;
52
+
53
+ echo $before_widget;
54
+
55
+ // Title
56
+ if ( ! empty( $title ) ) {
57
+ echo $before_title;
58
+ echo $mycred->template_tags_general( $title );
59
+ echo $after_title;
60
+ }
61
+
62
+ // Prep shortcode
63
+ $attr = array(
64
+ 'show_balance' => $instance['show_balance'],
65
+ 'show_limit' => $instance['show_limit']
66
+ );
67
+
68
+ if ( isset( $instance['button'] ) && ! empty( $instance['button'] ) )
69
+ $attr['button'] = $instance['button'];
70
+
71
+ echo mycred_transfer_render( $attr, '' );
72
+
73
+ $mycred_load_transfer = true;
74
+ echo $after_widget;
75
+
76
+ }
77
+
78
+ // Visitors
79
+ else {
80
+
81
+ $mycred_load = false;
82
+
83
+ // If login message is set
84
+ if ( ! empty( $pref['templates']['login'] ) ) {
85
+
86
+ echo $before_widget;
87
+ if ( ! empty( $instance['title'] ) ) {
88
+ echo $before_title;
89
+ echo $mycred->template_tags_general( $title );
90
+ echo $after_title;
91
+ }
92
+
93
+ // Show login message
94
+ echo '<p>' . $mycred->template_tags_general( $pref['templates']['login'] ) . '</p>';
95
+ echo $after_widget;
96
+
97
+ }
98
+ return;
99
+
100
+ }
101
+
102
+ }
103
+
104
+ /**
105
+ * Outputs the options form on admin
106
+ */
107
+ function form( $instance ) {
108
+
109
+ // Defaults
110
+ $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : 'Transfer %plural%';
111
+ $show_balance = isset( $instance['show_balance'] ) ? $instance['show_balance'] : 0;
112
+ $show_limit = isset( $instance['show_limit'] ) ? $instance['show_balance'] : 0;
113
+ $button = isset( $instance['button'] ) ? esc_attr( $instance['button'] ) : 'Transfer';
114
+
115
+ ?>
116
+ <!-- Widget Options -->
117
+ <p class="myCRED-widget-field">
118
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
119
+ <input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
120
+ </p>
121
+ <p class="myCRED-widget-field">
122
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_balance' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>" value="1"<?php checked( $show_balance, true ); ?> class="checkbox" />
123
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>"><?php _e( 'Show users balance', 'mycred' ); ?></label>
124
+ </p>
125
+ <p class="myCRED-widget-field">
126
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_limit' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_limit' ) ); ?>" value="1"<?php checked( $show_balance, true ); ?> class="checkbox" />
127
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_limit' ) ); ?>"><?php _e( 'Show users limit', 'mycred' ); ?></label>
128
+ </p>
129
+ <p class="myCRED-widget-field">
130
+ <label for="<?php echo esc_attr( $this->get_field_id( 'button' ) ); ?>"><?php _e( 'Button Label', 'mycred' ); ?>:</label>
131
+ <input id="<?php echo esc_attr( $this->get_field_id( 'button' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'button' ) ); ?>" type="text" value="<?php echo esc_attr( $button ); ?>" class="widefat" />
132
+ </p>
133
+ <?php
134
+
135
+ }
136
+
137
+ /**
138
+ * Processes widget options to be saved
139
+ */
140
+ function update( $new_instance, $old_instance ) {
141
+
142
+ global $mycred;
143
+
144
+ $instance = $old_instance;
145
+ $allowed = $mycred->allowed_html_tags();
146
+
147
+ $instance['title'] = wp_kses( $new_instance['title'], $allowed );
148
+ $instance['show_balance'] = ( isset( $new_instance['show_balance'] ) ) ? $new_instance['show_balance'] : 0;
149
+ $instance['show_limit'] = ( isset( $new_instance['show_limit'] ) ) ? $new_instance['show_balance'] : 0;
150
+ $instance['button'] = sanitize_text_field( $new_instance['button'] );
151
+
152
+ mycred_flush_widget_cache( 'mycred_widget_transfer' );
153
+
154
+ return $instance;
155
+
156
+ }
157
+
158
+ }
159
+ endif;
160
+
161
+ ?>
addons/transfer/myCRED-addon-transfer.php CHANGED
@@ -10,8 +10,13 @@
10
  if ( ! defined( 'myCRED_VERSION' ) ) exit;
11
 
12
  define( 'myCRED_TRANSFER', __FILE__ );
 
13
  define( 'myCRED_TRANSFER_VERSION', myCRED_VERSION . '.1' );
14
 
 
 
 
 
15
  /**
16
  * myCRED_Transfer_Module class
17
  * Manages this add-on by hooking into myCRED where needed. Regsiters our custom shortcode and widget
@@ -19,13 +24,14 @@ define( 'myCRED_TRANSFER_VERSION', myCRED_VERSION . '.1' );
19
  * @since 0.1
20
  * @version 1.3.1
21
  */
22
- if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
23
  class myCRED_Transfer_Module extends myCRED_Module {
24
 
25
  /**
26
  * Construct
27
  */
28
  function __construct() {
 
29
  parent::__construct( 'myCRED_Transfer_Module', array(
30
  'module_name' => 'transfers',
31
  'defaults' => array(
@@ -57,6 +63,7 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
57
 
58
  add_filter( 'mycred_get_email_events', array( $this, 'email_notice_instance' ), 10, 2 );
59
  add_filter( 'mycred_email_before_send', array( $this, 'email_notices' ), 10, 2 );
 
60
  }
61
 
62
  /**
@@ -65,16 +72,18 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
65
  * @version 1.0
66
  */
67
  public function module_init() {
 
68
  // Call Scripts & Styles when needed
69
- add_shortcode( 'mycred_transfer', 'mycred_transfer_render' );
70
- add_action( 'wp_footer', array( $this, 'front_footer' ) );
71
 
72
  // Register Scripts & Styles
73
- add_action( 'mycred_front_enqueue', array( $this, 'front_enqueue' ) );
74
 
75
  // Ajax Calls
76
- add_action( 'wp_ajax_mycred-transfer-creds', array( $this, 'ajax_call_transfer' ) );
77
  add_action( 'wp_ajax_mycred-autocomplete', array( $this, 'ajax_call_autocomplete' ) );
 
78
  }
79
 
80
  /**
@@ -83,7 +92,9 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
83
  * @version 1.0
84
  */
85
  public function module_widgets_init() {
 
86
  register_widget( 'myCRED_Widget_Transfer' );
 
87
  }
88
 
89
  /**
@@ -93,24 +104,25 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
93
  * @version 1.0
94
  */
95
  public function front_enqueue() {
 
96
  // Register script
97
  wp_register_script(
98
  'mycred-transfer-ajax',
99
- plugins_url( 'js/transfer.js', myCRED_TRANSFER ),
100
  array( 'jquery', 'jquery-ui-autocomplete' ),
101
  myCRED_TRANSFER_VERSION . '.2'
102
  );
103
 
104
  // Register style (can be disabled)
105
- if ( apply_filters( 'mycred_remove_transfer_css', false ) === false ) {
106
  wp_register_style(
107
  'mycred-transfer-front',
108
- plugins_url( 'css/transfer.css', myCRED_TRANSFER ),
109
  false,
110
  myCRED_TRANSFER_VERSION . '.2',
111
  'all'
112
  );
113
- }
114
  }
115
 
116
  /**
@@ -120,6 +132,7 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
120
  * @version 1.1
121
  */
122
  public function front_footer() {
 
123
  global $mycred_load_transfer;
124
 
125
  if ( ! isset( $mycred_load_transfer ) || $mycred_load_transfer === false ) return;
@@ -130,7 +143,7 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
130
  $base = array(
131
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
132
  'user_id' => get_current_user_id(),
133
- 'working' => __( 'Processing...', 'mycred' ),
134
  'token' => wp_create_nonce( 'mycred-transfer-creds' ),
135
  'atoken' => wp_create_nonce( 'mycred-autocomplete' ),
136
  'reload' => $this->transfers['reload']
@@ -138,15 +151,15 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
138
 
139
  // Messages
140
  $messages = apply_filters( 'mycred_transfer_messages', array(
141
- 'completed' => __( 'Transaction completed.', 'mycred' ),
142
- 'error_1' => __( 'Security token could not be verified. Please contact your site administrator!', 'mycred' ),
143
- 'error_2' => __( 'Communications error. Please try again later.', 'mycred' ),
144
- 'error_3' => __( 'Recipient not found. Please try again.', 'mycred' ),
145
- 'error_4' => __( 'Transaction declined by recipient.', 'mycred' ),
146
- 'error_5' => __( 'Incorrect amount. Please try again.', 'mycred' ),
147
- 'error_6' => __( 'This myCRED Add-on has not yet been setup! No transfers are allowed until this has been done!', 'mycred' ),
148
- 'error_7' => __( 'Insufficient Funds. Please try a lower amount.', 'mycred' ),
149
- 'error_8' => __( 'Transfer Limit exceeded.', 'mycred' )
150
  ) );
151
 
152
  wp_localize_script(
@@ -154,6 +167,7 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
154
  'myCRED',
155
  array_merge_recursive( $base, $messages )
156
  );
 
157
  }
158
 
159
  /**
@@ -161,7 +175,8 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
161
  * @since 0.1
162
  * @version 1.3
163
  */
164
- public function after_general_settings() {
 
165
  // Settings
166
  $settings = $this->transfers;
167
 
@@ -184,14 +199,14 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
184
  'user_email' => __( 'User Email (user_email)', 'mycred' )
185
  );
186
  $available_autofill = apply_filters( 'mycred_transfer_autofill_by', $autofills, $settings );
187
-
188
- $mycred_types = mycred_get_types();
189
  if ( ! isset( $settings['types'] ) )
190
- $settings['types'] = $this->default_prefs['types']; ?>
191
 
 
192
  <h4><div class="icon icon-active"></div><?php _e( 'Transfers', 'mycred' ); ?></h4>
193
  <div class="body" style="display:none;">
194
- <?php if ( count( $mycred_types ) > 1 ) : ?>
195
 
196
  <label class="subheader"><?php _e( 'Point Types', 'mycred' ); ?></label>
197
  <ol id="myCRED-transfer-logging-send">
@@ -209,14 +224,14 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
209
  <label class="subheader"><?php _e( 'Log template for sending', 'mycred' ); ?></label>
210
  <ol id="myCRED-transfer-logging-send">
211
  <li>
212
- <div class="h2"><input type="text" name="mycred_pref_core[transfers][logs][sending]" id="myCRED-transfer-log-sender" value="<?php echo $settings['logs']['sending']; ?>" class="long" /></div>
213
  <span class="description"><?php echo $this->core->available_template_tags( array( 'general', 'user' ) ); ?></span>
214
  </li>
215
  </ol>
216
  <label class="subheader"><?php _e( 'Log template for receiving', 'mycred' ); ?></label>
217
  <ol id="myCRED-transfer-logging-receive">
218
  <li>
219
- <div class="h2"><input type="text" name="mycred_pref_core[transfers][logs][receiving]" id="myCRED-transfer-log-receiver" value="<?php echo $settings['logs']['receiving']; ?>" class="long" /></div>
220
  <span class="description"><?php echo $this->core->available_template_tags( array( 'general', 'user' ) ); ?></span>
221
  </li>
222
  </ol>
@@ -266,25 +281,25 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
266
  <ol id="myCRED-transfer-form-templates">
267
  <li>
268
  <label for="<?php echo $this->field_id( array( 'templates' => 'login' ) ); ?>"><?php _e( 'Not logged in Template', 'mycred' ); ?></label>
269
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'login' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'login' ) ); ?>" value="<?php echo $settings['templates']['login']; ?>" class="long" /></div>
270
  <span class="description"><?php _e( 'Text to show when users are not logged in. Leave empty to hide. No HTML elements allowed!', 'mycred' ); ?></span>
271
  </li>
272
  <li class="empty">&nbsp;</li>
273
  <li>
274
  <label for="<?php echo $this->field_id( array( 'templates' => 'balance' ) ); ?>"><?php _e( 'Balance Template', 'mycred' ); ?></label>
275
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'balance' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'balance' ) ); ?>" value="<?php echo $settings['templates']['balance']; ?>" class="long" /></div>
276
  <span class="description"><?php _e( 'Template to use when displaying the users balance (if included). No HTML elements allowed!', 'mycred' ); ?></span>
277
  </li>
278
  <li class="empty">&nbsp;</li>
279
  <li>
280
  <label for="<?php echo $this->field_id( array( 'templates' => 'limit' ) ); ?>"><?php _e( 'Limit Template', 'mycred' ); ?></label>
281
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'limit' ) ); ?>" value="<?php echo $settings['templates']['limit']; ?>" class="long" /></div>
282
  <span class="description"><?php _e( 'Template to use when displaying limits (if used). No HTML elements allowed!', 'mycred' ); ?></span>
283
  </li>
284
  <li class="empty">&nbsp;</li>
285
  <li>
286
  <label for="<?php echo $this->field_id( array( 'templates' => 'button' ) ); ?>"><?php _e( 'Button Template', 'mycred' ); ?></label>
287
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'button' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'button' ) ); ?>" value="<?php echo $settings['templates']['button']; ?>" class="medium" /></div>
288
  <span class="description"><?php _e( 'Send Transfer button template. No HTML elements allowed!', 'mycred' ); ?></span>
289
  </li>
290
  </ol>
@@ -292,18 +307,19 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
292
  <ol id="myCRED-transfer-form-errors">
293
  <li>
294
  <label for="<?php echo $this->field_id( array( 'errors' => 'low' ) ); ?>"><?php _e( 'Balance to low to send.', 'mycred' ); ?></label>
295
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'errors' => 'low' ) ); ?>" id="<?php echo $this->field_id( array( 'errors' => 'low' ) ); ?>" value="<?php echo $settings['errors']['low']; ?>" class="long" /></div>
296
  <span class="description"><?php _e( 'Text to show when a users balance is to low for transfers. Leave empty to hide. No HTML elements allowed!', 'mycred' ); ?></span>
297
  </li>
298
  <li class="empty">&nbsp;</li>
299
  <li>
300
  <label for="<?php echo $this->field_id( array( 'errors' => 'over' ) ); ?>"><?php _e( 'Transfer Limit Reached.', 'mycred' ); ?></label>
301
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'errors' => 'over' ) ); ?>" id="<?php echo $this->field_id( array( 'errors' => 'over' ) ); ?>" value="<?php echo $settings['errors']['over']; ?>" class="long" /></div>
302
  <span class="description"><?php _e( 'Text to show when a user has reached their transfer limit (if used). Leave empty to hide. No HTML elements allowed!', 'mycred' ); ?></span>
303
  </li>
304
  </ol>
305
  </div>
306
  <?php
 
307
  }
308
 
309
  /**
@@ -312,42 +328,36 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
312
  * @version 1.2
313
  */
314
  public function sanitize_extra_settings( $new_data, $data, $general ) {
315
- // Types
316
- $new_data['transfers']['types'] = $data['transfers']['types'];
317
-
318
- // Log
319
- $new_data['transfers']['logs']['sending'] = trim( $data['transfers']['logs']['sending'] );
320
- $new_data['transfers']['logs']['receiving'] = trim( $data['transfers']['logs']['receiving'] );
321
 
322
- // Autofill
323
- $new_data['transfers']['autofill'] = sanitize_text_field( $data['transfers']['autofill'] );
324
 
325
- // Reload
326
- $new_data['transfers']['reload'] = ( isset( $data['transfers']['reload'] ) ) ? 1 : 0;
327
 
328
- // Form Templates
329
- $new_data['transfers']['templates']['login'] = sanitize_text_field( $data['transfers']['templates']['login'] );
330
- $new_data['transfers']['templates']['balance'] = trim( $data['transfers']['templates']['balance'] );
331
- $new_data['transfers']['templates']['limit'] = sanitize_text_field( $data['transfers']['templates']['limit'] );
332
- $new_data['transfers']['templates']['button'] = sanitize_text_field( $data['transfers']['templates']['button'] );
333
-
334
- // Error Messages
335
- $new_data['transfers']['errors']['low'] = sanitize_text_field( $data['transfers']['errors']['low'] );
336
- $new_data['transfers']['errors']['over'] = sanitize_text_field( $data['transfers']['errors']['over'] );
337
-
338
- // Limits
339
- $new_data['transfers']['limit']['limit'] = sanitize_text_field( $data['transfers']['limit']['limit'] );
340
- $new_data['transfers']['limit']['amount'] = $data['transfers']['limit']['amount'];
341
 
342
  return $new_data;
 
343
  }
344
 
345
  /**
346
  * AJAX Transfer Creds
347
  * @since 0.1
348
- * @version 1.4.1
349
  */
350
  public function ajax_call_transfer() {
 
351
  // Security
352
  if ( ! check_ajax_referer( 'mycred-transfer-creds', 'token', false ) )
353
  die( json_encode( 'error_1' ) );
@@ -364,6 +374,7 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
364
 
365
  if ( ! isset( $post['mycred-sender'] ) )
366
  $from = get_current_user_id();
 
367
  else {
368
  $from = absint( $post['mycred-sender'] );
369
  $from_user = get_userdata( $from );
@@ -377,9 +388,8 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
377
  $amount = abs( $post['mycred-transfer-amount'] );
378
 
379
  // Type
380
- $mycred_types = mycred_get_types();
381
  $type = '';
382
- if ( isset( $post['mycred-transfer-type'] ) && array_key_exists( $post['mycred-transfer-type'], $mycred_types ) )
383
  $type = sanitize_text_field( $post['mycred-transfer-type'] );
384
 
385
  if ( $type == '' )
@@ -409,16 +419,13 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
409
  if ( $amount == $mycred->zero() ) die( json_encode( 'error_5' ) );
410
 
411
  // Check if user can transfer
412
- $transfer = mycred_user_can_transfer( $from, $amount, $type );
413
-
414
  // Insufficient funds
415
- if ( $transfer == 'low' ) die( json_encode( 'error_7' ) );
416
-
417
  // Transfer limit reached
418
- elseif ( $transfer == 'limit' ) die( json_encode( 'error_8' ) );
419
-
420
- // All good
421
- $after_transfer = $transfer;
422
 
423
  // Generate Transaction ID for our records
424
  $transaction_id = 'TXID' . date_i18n( 'U' ) . $from;
@@ -439,14 +446,6 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
439
  $type
440
  );
441
 
442
- // Update history if limits are imposed
443
- if ( $prefs['limit']['limit'] != 'none' ) {
444
- $history = mycred_get_users_transfer_history( $from, $type );
445
- mycred_update_users_transfer_history( $from, array(
446
- 'amount' => $mycred->number( $amount+$history['amount'] )
447
- ), $type );
448
- }
449
-
450
  // Then add the amount to the receipient
451
  $mycred->add_creds(
452
  $ref,
@@ -463,17 +462,20 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
463
 
464
  // Return the good news
465
  die( json_encode( 'ok' ) );
 
466
  }
467
 
468
  /**
469
  * Get Recipient
470
  * @since 1.3.2
471
- * @version 1.0
472
  */
473
  public function get_recipient( $to = '' ) {
 
474
  if ( empty( $to ) ) return false;
475
 
476
  switch ( $this->transfers['autofill'] ) {
 
477
  case 'user_login' :
478
 
479
  $user = get_user_by( 'login', $to );
@@ -481,6 +483,7 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
481
  $user_id = $user->ID;
482
 
483
  break;
 
484
  case 'user_email' :
485
 
486
  $user = get_user_by( 'email', $to );
@@ -488,15 +491,18 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
488
  $user_id = $user->ID;
489
 
490
  break;
 
491
  default :
492
 
493
- $user_id = apply_filters( 'mycred_transfer_autofill_get', false );
494
- if ( $user === false ) return false;
495
 
496
  break;
 
497
  }
498
 
499
  return $user_id;
 
500
  }
501
 
502
  /**
@@ -505,6 +511,7 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
505
  * @version 1.1
506
  */
507
  public function ajax_call_autocomplete() {
 
508
  // Security
509
  check_ajax_referer( 'mycred-autocomplete' , 'token' );
510
 
@@ -522,19 +529,24 @@ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) {
522
  // Query
523
  $select = $prefs['autofill'];
524
  $blog_users = $wpdb->get_results( $wpdb->prepare( "
525
- SELECT {$select}, ID
526
- FROM {$wpdb->users}
527
- WHERE ID != %d
528
- AND {$select} LIKE %s;", $user_id, '%' . $_REQUEST['string']['term'] . '%' ), 'ARRAY_N' );
529
 
530
  if ( $wpdb->num_rows > 0 ) {
 
531
  foreach ( $blog_users as $hit ) {
 
532
  if ( $this->core->exclude_user( $hit[1] ) ) continue;
533
  $results[] = $hit[0];
 
534
  }
 
535
  }
536
 
537
  die( json_encode( $results ) );
 
538
  }
539
 
540
  /**
@@ -545,10 +557,13 @@ WHERE ID != %d
545
  public function email_notice_instance( $events, $request ) {
546
 
547
  if ( $request['ref'] == 'transfer' ) {
 
548
  if ( $request['amount'] < 0 )
549
  $events[] = 'transfer|negative';
 
550
  elseif ( $request['amount'] > 0 )
551
  $events[] = 'transfer|positive';
 
552
  }
553
 
554
  return $events;
@@ -561,6 +576,7 @@ WHERE ID != %d
561
  * @version 1.1
562
  */
563
  public function email_notices( $data ) {
 
564
  if ( $data['request']['ref'] == 'transfer' ) {
565
  $message = $data['message'];
566
  if ( $data['request']['ref_id'] == get_current_user_id() )
@@ -570,517 +586,14 @@ WHERE ID != %d
570
  }
571
 
572
  return $data;
573
- }
574
- }
575
-
576
- $transfer = new myCRED_Transfer_Module();
577
- $transfer->load();
578
- }
579
-
580
- /**
581
- * Widget: myCRED Transfer
582
- * @since 0.1
583
- * @version 1.1.1
584
- */
585
- if ( ! class_exists( 'myCRED_Widget_Transfer' ) ) {
586
- class myCRED_Widget_Transfer extends WP_Widget {
587
-
588
- /**
589
- * Construct
590
- */
591
- function myCRED_Widget_Transfer() {
592
- // Basic details about our widget
593
- $widget_ops = array(
594
- 'classname' => 'widget-my-cred-transfer',
595
- 'description' => __( 'Allow transfers between users.', 'mycred' )
596
- );
597
- $this->WP_Widget( 'mycred_widget_transfer', sprintf( __( '(%s) Transfer', 'mycred' ), mycred_label( true ) ), $widget_ops );
598
- $this->alt_option_name = 'mycred_widget_transfer';
599
- }
600
-
601
- /**
602
- * Widget Output
603
- */
604
- function widget( $args, $instance ) {
605
- extract( $args, EXTR_SKIP );
606
-
607
- // Prep
608
- $title = $instance['title'];
609
- $mycred = mycred();
610
- if ( ! isset( $mycred->transfers ) )
611
- return '<p>' . __( 'The myCRED Transfer add-on has not yet been setup!', 'mycred' ) . '</p>';
612
-
613
- $pref = $mycred->transfers;
614
-
615
- global $mycred_load_transfer;
616
-
617
- // Members
618
- if ( is_user_logged_in() ) {
619
- // Excluded users
620
- $user_id = get_current_user_id();
621
- if ( $mycred->exclude_user( $user_id ) ) return;
622
-
623
- echo $before_widget;
624
- // Title
625
- if ( ! empty( $title ) ) {
626
- echo $before_title;
627
- echo $mycred->template_tags_general( $title );
628
- echo $after_title;
629
- }
630
-
631
- // Prep shortcode
632
- $attr = array(
633
- 'show_balance' => $instance['show_balance'],
634
- 'show_limit' => $instance['show_limit']
635
- );
636
- echo mycred_transfer_render( $attr, '' );
637
-
638
- $mycred_load_transfer = true;
639
- echo $after_widget;
640
- }
641
- // Visitors
642
- else {
643
- $mycred_load = false;
644
- // If login message is set
645
- if ( ! empty( $pref['templates']['login'] ) ) {
646
- echo $before_widget;
647
- if ( ! empty( $instance['title'] ) ) {
648
- echo $before_title;
649
- echo $mycred->template_tags_general( $title );
650
- echo $after_title;
651
- }
652
-
653
- // Show login message
654
- echo '<p>' . $mycred->template_tags_general( $pref['templates']['login'] ) . '</p>';
655
- echo $after_widget;
656
- }
657
- return;
658
- }
659
- }
660
-
661
- /**
662
- * Outputs the options form on admin
663
- */
664
- function form( $instance ) {
665
- // Defaults
666
- $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : __( 'Transfer %plural%', 'mycred' );
667
- $show_balance = isset( $instance['show_balance'] ) ? $instance['show_balance'] : 0;
668
- $show_limit = isset( $instance['show_limit'] ) ? $instance['show_balance'] : 0; ?>
669
-
670
- <!-- Widget Options -->
671
- <p class="myCRED-widget-field">
672
- <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
673
- <input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
674
- </p>
675
- <p class="myCRED-widget-field">
676
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_balance' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>" value="1"<?php checked( $show_balance, true ); ?> class="checkbox" />
677
- <label for="<?php echo esc_attr( $this->get_field_id( 'show_balance' ) ); ?>"><?php _e( 'Show users balance', 'mycred' ); ?></label>
678
- </p>
679
- <p class="myCRED-widget-field">
680
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_limit' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_limit' ) ); ?>" value="1"<?php checked( $show_balance, true ); ?> class="checkbox" />
681
- <label for="<?php echo esc_attr( $this->get_field_id( 'show_limit' ) ); ?>"><?php _e( 'Show users limit', 'mycred' ); ?></label>
682
- </p>
683
- <?php
684
- }
685
 
686
- /**
687
- * Processes widget options to be saved
688
- */
689
- function update( $new_instance, $old_instance ) {
690
- $instance = $old_instance;
691
- $instance['title'] = trim( $new_instance['title'] );
692
-
693
- $instance['show_balance'] = ( isset( $new_instance['show_balance'] ) ) ? $new_instance['show_balance'] : 0;
694
- $instance['show_limit'] = ( isset( $new_instance['show_limit'] ) ) ? $new_instance['show_balance'] : 0;
695
-
696
- mycred_flush_widget_cache( 'mycred_widget_transfer' );
697
- return $instance;
698
- }
699
- }
700
- }
701
-
702
- /**
703
- * Transfer Shortcode Render
704
- * @see http://mycred.me/functions/mycred_transfer_render/
705
- * @attribute $charge_from (int) optional user ID from whom the points to be deducted, defaults to current user
706
- * @attribute $pay_to (int) optional user ID to whom the transfer is made, if left empty the user will be able to search for a user
707
- * @attribute $show_balance (bool) set to true to show current users balance, defaults to true
708
- * @attribute $show_limit (bool) set to true to show current users limit. If limit is set to 'none' and $show_limit is set to true nothing will be returned
709
- * @since 0.1
710
- * @version 1.4.2
711
- */
712
- if ( ! function_exists( 'mycred_transfer_render' ) ) {
713
- function mycred_transfer_render( $atts, $content = NULL )
714
- {
715
- global $mycred_load_transfer;
716
-
717
- // Settings
718
- $mycred = mycred();
719
- $pref = $mycred->transfers;
720
-
721
- // Get Attributes
722
- extract( shortcode_atts( array(
723
- 'button' => '',
724
- 'charge_from' => '',
725
- 'pay_to' => '',
726
- 'show_balance' => 0,
727
- 'show_limit' => 0,
728
- 'ref' => '',
729
- 'placeholder' => '',
730
- 'types' => $pref['types'],
731
- 'excluded' => ''
732
- ), $atts ) );
733
-
734
- $output = '';
735
- $mycred_load_transfer = false;
736
-
737
- // If we are not logged in
738
- if ( ! is_user_logged_in() ) {
739
- if ( isset( $pref['templates']['login'] ) && ! empty( $pref['templates']['login'] ) )
740
- $output .= '<p class="mycred-transfer-login">' . $mycred->template_tags_general( $pref['templates']['login'] ) . '</p>';
741
-
742
- return $output;
743
- }
744
-
745
- // Who to charge
746
- $charge_other = false;
747
- if ( $charge_from == '' ) {
748
- $charge_other = true;
749
- $charge_from = get_current_user_id();
750
- }
751
-
752
- // Point Types
753
- if ( ! is_array( $types ) )
754
- $raw = explode( ',', $types );
755
- else
756
- $raw = $types;
757
-
758
- $clean = array();
759
- foreach ( $raw as $id ) {
760
- $clean[] = sanitize_text_field( $id );
761
- }
762
- $available_types = array();
763
-
764
- // Default
765
- if ( count( $clean ) == 1 && in_array( 'mycred_default', $clean ) ) {
766
- // Make sure user is not excluded
767
- if ( $mycred->exclude_user( $charge_from ) ) return '';
768
-
769
- $status = mycred_user_can_transfer( $charge_from, NULL, 'mycred_default', $ref );
770
- $my_balance = $mycred->get_users_cred( $charge_from );
771
-
772
- // Error. Not enough creds
773
- if ( $status === 'low' ) {
774
- if ( isset( $pref['errors']['low'] ) && ! empty( $pref['errors']['low'] ) ) {
775
- $no_cred = str_replace( '%limit%', $pref['limit']['limit'], $pref['errors']['low'] );
776
- $no_cred = str_replace( '%Limit%', ucwords( $pref['limit']['limit'] ), $no_cred );
777
- $no_cred = str_replace( '%left%', $mycred->format_creds( $status ), $no_cred );
778
- $output .= '<p class="mycred-transfer-low">' . $mycred->template_tags_general( $no_cred ) . '</p>';
779
- }
780
- return $output;
781
- }
782
-
783
- // Error. Over limit
784
- if ( $status === 'limit' ) {
785
- if ( isset( $pref['errors']['over'] ) && ! empty( $pref['errors']['over'] ) ) {
786
- $no_cred = str_replace( '%limit%', $pref['limit']['limit'], $pref['errors']['over'] );
787
- $no_cred = str_replace( '%Limit%', ucwords( $pref['limit']['limit'] ), $no_cred );
788
- $no_cred = str_replace( '%left%', $mycred->format_creds( $status ), $no_cred );
789
- $output .= '<p class="mycred-transfer-over">' . $mycred->template_tags_general( $no_cred ) . '</p>';
790
- }
791
- return $output;
792
- }
793
-
794
- $available_types['mycred_default'] = $mycred->plural();
795
- }
796
- // Multiple
797
- else {
798
- foreach ( $clean as $point_type ) {
799
-
800
- $points = mycred( $point_type );
801
- if ( $points->exclude_user( $charge_from ) ) continue;
802
-
803
- $status = mycred_user_can_transfer( $charge_from, NULL, $point_type, $ref );
804
- if ( in_array( $status, array( 'low', 'limit' ) ) ) continue;
805
-
806
- $available_types[ $point_type ] = $points->plural();
807
- }
808
-
809
- // User does not have access
810
- if ( count( $available_types ) == 0 )
811
- return $excluded;
812
- }
813
-
814
- // Flag for scripts & styles
815
- $mycred_load_transfer = true;
816
-
817
- // Placeholder
818
- if ( $pref['autofill'] == 'user_login' )
819
- $pln = __( 'username', 'mycred' );
820
- elseif ( $pref['autofill'] == 'user_email' )
821
- $pln = __( 'email', 'mycred' );
822
-
823
- $placeholder = apply_filters( 'mycred_transfer_to_placeholder', __( 'recipients %s', 'mycred' ), $pref, $mycred );
824
- $placeholder = sprintf( $placeholder, $pln );
825
-
826
- // Recipient Input field
827
- $to_input = '<input type="text" name="mycred-transfer-to" value="" class="mycred-autofill" placeholder="' . $placeholder . '" />';
828
-
829
- // If recipient is set, pre-populate it with the recipients details
830
- if ( $pay_to != '' ) {
831
- $user = get_user_by( 'id', $pay_to );
832
- if ( $user !== false ) {
833
- $value = $user->display_name;
834
- if ( isset( $user->$pref['autofill'] ) )
835
- $value = $user->$pref['autofill'];
836
-
837
- $to_input = '<input type="text" name="mycred-transfer-to" value="' . $value . '" readonly="readonly" />';
838
- }
839
- }
840
-
841
- if ( count( $clean ) == 1 && array_key_exists( 'mycred_default', $clean ) ) {
842
- if ( ! empty( $mycred->before ) )
843
- $before = $mycred->before . ' ';
844
- else
845
- $before = '';
846
-
847
- if ( ! empty( $mycred->after ) )
848
- $after = ' ' . $mycred->after;
849
- else
850
- $after = '';
851
- }
852
- else {
853
- $before = $after = '';
854
- }
855
-
856
- // Select Point type
857
- if ( count( $available_types ) == 1 )
858
- $type_input = '<input type="hidden" name="mycred-transfer-type" value="' . $clean[0] . '" />';
859
- else {
860
- $type_input = '<select name="mycred-transfer-type" id="mycred-transfer-type" class="form-control">';
861
- foreach ( $available_types as $type => $plural ) {
862
- $type_input .= '<option value="' . $type . '">' . $plural . '</option>';
863
- }
864
- $type_input .= '</select>';
865
- }
866
-
867
- $extras = array();
868
-
869
- // Show Balance
870
- if ( (bool) $show_balance === true && ! empty( $pref['templates']['balance'] ) && count( $available_types ) == 1 ) {
871
- $balance_text = str_replace( '%balance%', $mycred->format_creds( $my_balance ), $pref['templates']['balance'] );
872
- $extras[] = $mycred->template_tags_general( $balance_text );
873
  }
874
 
875
- // Show Limits
876
- if ( (bool) $show_limit === true && ! empty( $pref['templates']['limit'] ) && $pref['limit']['limit'] != 'none' && count( $available_types ) == 1 ) {
877
- $limit_text = str_replace( '%_limit%', $pref['limit']['limit'], $pref['templates']['limit'] );
878
- $limit_text = str_replace( '%limit%', ucwords( $pref['limit']['limit'] ), $limit_text );
879
- $limit_text = str_replace( '%left%', $mycred->format_creds( $status ), $limit_text );
880
- $extras[] = $mycred->template_tags_general( $limit_text );
881
- }
882
-
883
- if ( $button == '' )
884
- $button = $pref['templates']['button'];
885
-
886
- // Main output
887
- ob_start(); ?>
888
-
889
- <div class="mycred-transfer-cred-wrapper"<?php if ( $ref != '' ) echo ' id="transfer-form-' . $ref . '"'; ?>>
890
- <form method="post" action="">
891
-
892
- <?php do_action( 'mycred_transfer_form_start', $atts, $pref ); ?>
893
-
894
- <ol>
895
- <li class="mycred-send-to">
896
- <label><?php _e( 'To:', 'mycred' ); ?></label>
897
- <div class="transfer-to"><?php echo $to_input; ?></div>
898
- <?php do_action( 'mycred_transfer_form_to', $atts, $pref ); ?>
899
-
900
- </li>
901
- <li class="mycred-send-amount">
902
- <label><?php _e( 'Amount:', 'mycred' ); ?></label>
903
- <div class="transfer-amount"><?php echo $before; ?><input type="text" class="short" name="mycred-transfer-amount" value="<?php echo $mycred->zero(); ?>" size="8" /><?php echo $after . ' ' . $type_input; ?></div>
904
- <input type="button" class="button button-primary button-large mycred-click btn btn-primary btn-lg"<?php if( $pay_to == get_current_user_id() ) echo ' disabled="disabled"'; ?> value="<?php echo $button; ?>" />
905
- <?php if ( $charge_other ) : ?><input type="hidden" name="mycred-charge-other" value="<?php absint( $charge_from ); ?>" /><?php endif; ?>
906
- <?php if ( $ref != '' ) : ?><input type="hidden" name="mycred-transfer-ref" value="<?php echo $ref; ?>" /><?php endif; ?>
907
- <?php do_action( 'mycred_transfer_form_amount', $atts, $pref ); ?>
908
-
909
- </li>
910
-
911
- <?php if ( ! empty( $extras ) ) { ?>
912
-
913
- <li class="mycred-transfer-info">
914
- <p><?php echo implode( '</p><p>', $extras ); ?></p>
915
- <?php do_action( 'mycred_transfer_form_extra', $atts, $pref ); ?>
916
-
917
- </li>
918
-
919
- <?php } ?>
920
-
921
- </ol>
922
-
923
- <?php do_action( 'mycred_transfer_form_end', $atts, $pref ); ?>
924
-
925
- <div class="clear clearfix"></div>
926
- </form>
927
- <div class="clear clearfix clr"></div>
928
- </div>
929
- <?php
930
- $output = ob_get_contents();
931
- ob_end_clean();
932
-
933
- return do_shortcode( apply_filters( 'mycred_transfer_render', $output, $atts, $mycred ) );
934
- }
935
- }
936
-
937
- /**
938
- * User Can Transfer
939
- * @see http://mycred.me/functions/mycred_user_can_transfer/
940
- * @param $user_id (int) requred user id
941
- * @param $amount (int) optional amount to check against balance
942
- * @returns true if no limit is set, 'limit' (string) if user is over limit else the amount of creds left
943
- * @filter 'mycred_user_can_transfer'
944
- * @filter 'mycred_transfer_limit'
945
- * @filter 'mycred_transfer_acc_limit'
946
- * @since 0.1
947
- * @version 1.2
948
- */
949
- if ( ! function_exists( 'mycred_user_can_transfer' ) ) {
950
- function mycred_user_can_transfer( $user_id = NULL, $amount = NULL, $type = 'mycred_default', $ref = 'mycred_transactions' )
951
- {
952
- if ( $user_id === NULL ) $user_id = get_current_user_id();
953
-
954
- if ( $ref == '' )
955
- $ref = 'mycred_transactions';
956
-
957
- // Grab Settings (from main type where the settings are saved)
958
- $mycred = mycred();
959
- $pref = $mycred->transfers;
960
- $zero = $mycred->zero();
961
-
962
- // Get users balance
963
- $balance = $mycred->get_users_cred( $user_id, $type );
964
-
965
- // Get Transfer Max
966
- $max = apply_filters( 'mycred_transfer_limit', $mycred->number( $pref['limit']['amount'] ), $user_id, $amount, $pref, $mycred );
967
-
968
- // If an amount is given, deduct this amount to see if the transaction
969
- // brings us over the account limit
970
- if ( $amount !== NULL )
971
- $balance = $mycred->number( $balance-$amount );
972
-
973
- // Account Limit
974
- // The lowest amount a user can have on their account. By default, this
975
- // is zero. But you can override this via the mycred_transfer_acc_limit hook.
976
- $account_limit = $mycred->number( apply_filters( 'mycred_transfer_acc_limit', $zero, $type ) );
977
-
978
- // Check if users balance is below the account limit
979
- if ( $balance < $account_limit ) return 'low';
980
-
981
- // If there are no limits, return the current balance
982
- if ( $pref['limit']['limit'] == 'none' ) return $balance;
983
-
984
- // Else we have a limit to impose
985
- $today = date_i18n( 'd' );
986
- $this_week = date_i18n( 'W' );
987
- $max = $mycred->number( $pref['limit']['amount'] );
988
-
989
- // Get users "limit log"
990
- $history = mycred_get_users_transfer_history( $user_id, $type, $ref );
991
-
992
- // Get Current amount
993
- $current = $mycred->number( $history['amount'] );
994
-
995
- // Daily limit
996
- if ( $pref['limit']['limit'] == 'daily' ) {
997
- // New day, new limits
998
- if ( $today != $history['frame'] ) {
999
- mycred_update_users_transfer_history( $user_id, array(
1000
- 'frame' => $today,
1001
- 'amount' => $mycred->zero()
1002
- ), $type, $ref );
1003
- $current = $zero;
1004
- }
1005
- }
1006
-
1007
- // Weekly limit
1008
- elseif ( $pref['limit']['limit'] == 'weekly' ) {
1009
- // New week, new limits
1010
- if ( $this_week != $history['frame'] ) {
1011
- mycred_update_users_transfer_history( $user_id, array(
1012
- 'frame' => $this_week,
1013
- 'amount' => $mycred->zero()
1014
- ), $type, $ref );
1015
- $current = $zero;
1016
- }
1017
- }
1018
-
1019
- // Custom limits will need to return the result
1020
- // here and now. Accepted answers are 'limit', 'low' or the amount left on limit.
1021
- else {
1022
- return apply_filters( 'mycred_user_can_transfer', 'limit', $user_id, $amount, $pref, $mycred );
1023
- }
1024
-
1025
- // Transfer limit reached
1026
- if ( $current >= $max ) return 'limit';
1027
-
1028
- // Return whats remaining of limit
1029
- $remaining = $max-$current;
1030
- return $mycred->number( $remaining );
1031
  }
1032
- }
1033
 
1034
- /**
1035
- * Get Users Transfer History
1036
- * @since 1.3.3
1037
- * @version 1.0
1038
- */
1039
- if ( ! function_exists( 'mycred_get_users_transfer_history' ) ) {
1040
- function mycred_get_users_transfer_history( $user_id, $type = 'mycred_default', $key = 'mycred_transactions' )
1041
- {
1042
- if ( $key == '' )
1043
- $key = 'mycred_transactions';
1044
-
1045
- if ( $type != 'mycred_default' && $type != '' )
1046
- $key .= '_' . $type;
1047
-
1048
- $default = array(
1049
- 'frame' => '',
1050
- 'amount' => 0
1051
- );
1052
- return mycred_apply_defaults( $default, mycred_get_user_meta( $user_id, $key, '', true ) );
1053
- }
1054
- }
1055
-
1056
- /**
1057
- * Update Users Transfer History
1058
- * @since 1.3.3
1059
- * @version 1.0
1060
- */
1061
- if ( ! function_exists( 'mycred_update_users_transfer_history' ) ) {
1062
- function mycred_update_users_transfer_history( $user_id, $history, $type = 'mycred_default', $key = 'mycred_transactions' )
1063
- {
1064
- if ( $key == '' )
1065
- $key = 'mycred_transactions';
1066
-
1067
- if ( $type != 'mycred_default' && $type != '' )
1068
- $key .= '_' . $type;
1069
-
1070
- // Get current history
1071
- $current = mycred_get_users_transfer_history( $user_id, $type );
1072
-
1073
- // Reset
1074
- if ( $history === true )
1075
- $new_history = array(
1076
- 'frame' => '',
1077
- 'amount' => 0
1078
- );
1079
 
1080
- // Update
1081
- else $new_history = mycred_apply_defaults( $current, $history );
1082
 
1083
- mycred_update_user_meta( $user_id, $key, '', $new_history );
1084
- }
1085
- }
1086
  ?>
10
  if ( ! defined( 'myCRED_VERSION' ) ) exit;
11
 
12
  define( 'myCRED_TRANSFER', __FILE__ );
13
+ define( 'myCRED_TRANSFER_DIR', myCRED_ADDONS_DIR . 'transfer/' );
14
  define( 'myCRED_TRANSFER_VERSION', myCRED_VERSION . '.1' );
15
 
16
+ require_once myCRED_TRANSFER_DIR . 'includes/mycred-transfer-functions.php';
17
+ require_once myCRED_TRANSFER_DIR . 'includes/mycred-transfer-shortcodes.php';
18
+ require_once myCRED_TRANSFER_DIR . 'includes/mycred-transfer-widgets.php';
19
+
20
  /**
21
  * myCRED_Transfer_Module class
22
  * Manages this add-on by hooking into myCRED where needed. Regsiters our custom shortcode and widget
24
  * @since 0.1
25
  * @version 1.3.1
26
  */
27
+ if ( ! class_exists( 'myCRED_Transfer_Module' ) ) :
28
  class myCRED_Transfer_Module extends myCRED_Module {
29
 
30
  /**
31
  * Construct
32
  */
33
  function __construct() {
34
+
35
  parent::__construct( 'myCRED_Transfer_Module', array(
36
  'module_name' => 'transfers',
37
  'defaults' => array(
63
 
64
  add_filter( 'mycred_get_email_events', array( $this, 'email_notice_instance' ), 10, 2 );
65
  add_filter( 'mycred_email_before_send', array( $this, 'email_notices' ), 10, 2 );
66
+
67
  }
68
 
69
  /**
72
  * @version 1.0
73
  */
74
  public function module_init() {
75
+
76
  // Call Scripts & Styles when needed
77
+ add_shortcode( 'mycred_transfer', 'mycred_transfer_render' );
78
+ add_action( 'wp_footer', array( $this, 'front_footer' ) );
79
 
80
  // Register Scripts & Styles
81
+ add_action( 'mycred_front_enqueue', array( $this, 'front_enqueue' ) );
82
 
83
  // Ajax Calls
84
+ add_action( 'wp_ajax_mycred-transfer-creds', array( $this, 'ajax_call_transfer' ) );
85
  add_action( 'wp_ajax_mycred-autocomplete', array( $this, 'ajax_call_autocomplete' ) );
86
+
87
  }
88
 
89
  /**
92
  * @version 1.0
93
  */
94
  public function module_widgets_init() {
95
+
96
  register_widget( 'myCRED_Widget_Transfer' );
97
+
98
  }
99
 
100
  /**
104
  * @version 1.0
105
  */
106
  public function front_enqueue() {
107
+
108
  // Register script
109
  wp_register_script(
110
  'mycred-transfer-ajax',
111
+ plugins_url( 'assets/js/transfer.js', myCRED_TRANSFER ),
112
  array( 'jquery', 'jquery-ui-autocomplete' ),
113
  myCRED_TRANSFER_VERSION . '.2'
114
  );
115
 
116
  // Register style (can be disabled)
117
+ if ( apply_filters( 'mycred_remove_transfer_css', false ) === false )
118
  wp_register_style(
119
  'mycred-transfer-front',
120
+ plugins_url( 'assets/css/transfer.css', myCRED_TRANSFER ),
121
  false,
122
  myCRED_TRANSFER_VERSION . '.2',
123
  'all'
124
  );
125
+
126
  }
127
 
128
  /**
132
  * @version 1.1
133
  */
134
  public function front_footer() {
135
+
136
  global $mycred_load_transfer;
137
 
138
  if ( ! isset( $mycred_load_transfer ) || $mycred_load_transfer === false ) return;
143
  $base = array(
144
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
145
  'user_id' => get_current_user_id(),
146
+ 'working' => esc_attr__( 'Processing...', 'mycred' ),
147
  'token' => wp_create_nonce( 'mycred-transfer-creds' ),
148
  'atoken' => wp_create_nonce( 'mycred-autocomplete' ),
149
  'reload' => $this->transfers['reload']
151
 
152
  // Messages
153
  $messages = apply_filters( 'mycred_transfer_messages', array(
154
+ 'completed' => esc_attr__( 'Transaction completed.', 'mycred' ),
155
+ 'error_1' => esc_attr__( 'Security token could not be verified. Please contact your site administrator!', 'mycred' ),
156
+ 'error_2' => esc_attr__( 'Communications error. Please try again later.', 'mycred' ),
157
+ 'error_3' => esc_attr__( 'Recipient not found. Please try again.', 'mycred' ),
158
+ 'error_4' => esc_attr__( 'Transaction declined by recipient.', 'mycred' ),
159
+ 'error_5' => esc_attr__( 'Incorrect amount. Please try again.', 'mycred' ),
160
+ 'error_6' => esc_attr__( 'This myCRED Add-on has not yet been setup! No transfers are allowed until this has been done!', 'mycred' ),
161
+ 'error_7' => esc_attr__( 'Insufficient Funds. Please try a lower amount.', 'mycred' ),
162
+ 'error_8' => esc_attr__( 'Transfer Limit exceeded.', 'mycred' )
163
  ) );
164
 
165
  wp_localize_script(
167
  'myCRED',
168
  array_merge_recursive( $base, $messages )
169
  );
170
+
171
  }
172
 
173
  /**
175
  * @since 0.1
176
  * @version 1.3
177
  */
178
+ public function after_general_settings( $mycred ) {
179
+
180
  // Settings
181
  $settings = $this->transfers;
182
 
199
  'user_email' => __( 'User Email (user_email)', 'mycred' )
200
  );
201
  $available_autofill = apply_filters( 'mycred_transfer_autofill_by', $autofills, $settings );
202
+
 
203
  if ( ! isset( $settings['types'] ) )
204
+ $settings['types'] = $this->default_prefs['types'];
205
 
206
+ ?>
207
  <h4><div class="icon icon-active"></div><?php _e( 'Transfers', 'mycred' ); ?></h4>
208
  <div class="body" style="display:none;">
209
+ <?php if ( count( $this->point_types ) > 1 ) : ?>
210
 
211
  <label class="subheader"><?php _e( 'Point Types', 'mycred' ); ?></label>
212
  <ol id="myCRED-transfer-logging-send">
224
  <label class="subheader"><?php _e( 'Log template for sending', 'mycred' ); ?></label>
225
  <ol id="myCRED-transfer-logging-send">
226
  <li>
227
+ <div class="h2"><input type="text" name="mycred_pref_core[transfers][logs][sending]" id="myCRED-transfer-log-sender" value="<?php echo esc_attr( $settings['logs']['sending'] ); ?>" class="long" /></div>
228
  <span class="description"><?php echo $this->core->available_template_tags( array( 'general', 'user' ) ); ?></span>
229
  </li>
230
  </ol>
231
  <label class="subheader"><?php _e( 'Log template for receiving', 'mycred' ); ?></label>
232
  <ol id="myCRED-transfer-logging-receive">
233
  <li>
234
+ <div class="h2"><input type="text" name="mycred_pref_core[transfers][logs][receiving]" id="myCRED-transfer-log-receiver" value="<?php echo esc_attr( $settings['logs']['receiving'] ); ?>" class="long" /></div>
235
  <span class="description"><?php echo $this->core->available_template_tags( array( 'general', 'user' ) ); ?></span>
236
  </li>
237
  </ol>
281
  <ol id="myCRED-transfer-form-templates">
282
  <li>
283
  <label for="<?php echo $this->field_id( array( 'templates' => 'login' ) ); ?>"><?php _e( 'Not logged in Template', 'mycred' ); ?></label>
284
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'login' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'login' ) ); ?>" value="<?php echo esc_attr( $settings['templates']['login'] ); ?>" class="long" /></div>
285
  <span class="description"><?php _e( 'Text to show when users are not logged in. Leave empty to hide. No HTML elements allowed!', 'mycred' ); ?></span>
286
  </li>
287
  <li class="empty">&nbsp;</li>
288
  <li>
289
  <label for="<?php echo $this->field_id( array( 'templates' => 'balance' ) ); ?>"><?php _e( 'Balance Template', 'mycred' ); ?></label>
290
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'balance' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'balance' ) ); ?>" value="<?php echo esc_attr( $settings['templates']['balance'] ); ?>" class="long" /></div>
291
  <span class="description"><?php _e( 'Template to use when displaying the users balance (if included). No HTML elements allowed!', 'mycred' ); ?></span>
292
  </li>
293
  <li class="empty">&nbsp;</li>
294
  <li>
295
  <label for="<?php echo $this->field_id( array( 'templates' => 'limit' ) ); ?>"><?php _e( 'Limit Template', 'mycred' ); ?></label>
296
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'limit' ) ); ?>" value="<?php echo esc_attr( $settings['templates']['limit'] ); ?>" class="long" /></div>
297
  <span class="description"><?php _e( 'Template to use when displaying limits (if used). No HTML elements allowed!', 'mycred' ); ?></span>
298
  </li>
299
  <li class="empty">&nbsp;</li>
300
  <li>
301
  <label for="<?php echo $this->field_id( array( 'templates' => 'button' ) ); ?>"><?php _e( 'Button Template', 'mycred' ); ?></label>
302
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'templates' => 'button' ) ); ?>" id="<?php echo $this->field_id( array( 'templates' => 'button' ) ); ?>" value="<?php echo esc_attr( $settings['templates']['button'] ); ?>" class="medium" /></div>
303
  <span class="description"><?php _e( 'Send Transfer button template. No HTML elements allowed!', 'mycred' ); ?></span>
304
  </li>
305
  </ol>
307
  <ol id="myCRED-transfer-form-errors">
308
  <li>
309
  <label for="<?php echo $this->field_id( array( 'errors' => 'low' ) ); ?>"><?php _e( 'Balance to low to send.', 'mycred' ); ?></label>
310
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'errors' => 'low' ) ); ?>" id="<?php echo $this->field_id( array( 'errors' => 'low' ) ); ?>" value="<?php echo esc_attr( $settings['errors']['low'] ); ?>" class="long" /></div>
311
  <span class="description"><?php _e( 'Text to show when a users balance is to low for transfers. Leave empty to hide. No HTML elements allowed!', 'mycred' ); ?></span>
312
  </li>
313
  <li class="empty">&nbsp;</li>
314
  <li>
315
  <label for="<?php echo $this->field_id( array( 'errors' => 'over' ) ); ?>"><?php _e( 'Transfer Limit Reached.', 'mycred' ); ?></label>
316
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'errors' => 'over' ) ); ?>" id="<?php echo $this->field_id( array( 'errors' => 'over' ) ); ?>" value="<?php echo esc_attr( $settings['errors']['over'] ); ?>" class="long" /></div>
317
  <span class="description"><?php _e( 'Text to show when a user has reached their transfer limit (if used). Leave empty to hide. No HTML elements allowed!', 'mycred' ); ?></span>
318
  </li>
319
  </ol>
320
  </div>
321
  <?php
322
+
323
  }
324
 
325
  /**
328
  * @version 1.2
329
  */
330
  public function sanitize_extra_settings( $new_data, $data, $general ) {
 
 
 
 
 
 
331
 
332
+ global $mycred;
 
333
 
334
+ $allowed = $mycred->allowed_html_tags();
 
335
 
336
+ $new_data['transfers']['types'] = $data['transfers']['types'];
337
+ $new_data['transfers']['logs']['sending'] = wp_kses( $data['transfers']['logs']['sending'], $allowed );
338
+ $new_data['transfers']['logs']['receiving'] = wp_kses( $data['transfers']['logs']['receiving'], $allowed );
339
+ $new_data['transfers']['autofill'] = sanitize_text_field( $data['transfers']['autofill'] );
340
+ $new_data['transfers']['reload'] = ( isset( $data['transfers']['reload'] ) ) ? 1 : 0;
341
+ $new_data['transfers']['templates']['login'] = sanitize_text_field( $data['transfers']['templates']['login'] );
342
+ $new_data['transfers']['templates']['balance'] = wp_kses( $data['transfers']['templates']['balance'], $allowed );
343
+ $new_data['transfers']['templates']['limit'] = sanitize_text_field( $data['transfers']['templates']['limit'] );
344
+ $new_data['transfers']['templates']['button'] = sanitize_text_field( $data['transfers']['templates']['button'] );
345
+ $new_data['transfers']['errors']['low'] = sanitize_text_field( $data['transfers']['errors']['low'] );
346
+ $new_data['transfers']['errors']['over'] = sanitize_text_field( $data['transfers']['errors']['over'] );
347
+ $new_data['transfers']['limit']['limit'] = sanitize_text_field( $data['transfers']['limit']['limit'] );
348
+ $new_data['transfers']['limit']['amount'] = absint( $data['transfers']['limit']['amount'] );
349
 
350
  return $new_data;
351
+
352
  }
353
 
354
  /**
355
  * AJAX Transfer Creds
356
  * @since 0.1
357
+ * @version 1.5
358
  */
359
  public function ajax_call_transfer() {
360
+
361
  // Security
362
  if ( ! check_ajax_referer( 'mycred-transfer-creds', 'token', false ) )
363
  die( json_encode( 'error_1' ) );
374
 
375
  if ( ! isset( $post['mycred-sender'] ) )
376
  $from = get_current_user_id();
377
+
378
  else {
379
  $from = absint( $post['mycred-sender'] );
380
  $from_user = get_userdata( $from );
388
  $amount = abs( $post['mycred-transfer-amount'] );
389
 
390
  // Type
 
391
  $type = '';
392
+ if ( isset( $post['mycred-transfer-type'] ) && array_key_exists( $post['mycred-transfer-type'], $this->point_types ) )
393
  $type = sanitize_text_field( $post['mycred-transfer-type'] );
394
 
395
  if ( $type == '' )
419
  if ( $amount == $mycred->zero() ) die( json_encode( 'error_5' ) );
420
 
421
  // Check if user can transfer
422
+ $transfer = mycred_user_can_transfer( $from, $amount, $type, $ref );
423
+
424
  // Insufficient funds
425
+ if ( $transfer === 'low' ) die( json_encode( 'error_7' ) );
426
+
427
  // Transfer limit reached
428
+ elseif ( $transfer === 'limit' ) die( json_encode( 'error_8' ) );
 
 
 
429
 
430
  // Generate Transaction ID for our records
431
  $transaction_id = 'TXID' . date_i18n( 'U' ) . $from;
446
  $type
447
  );
448
 
 
 
 
 
 
 
 
 
449
  // Then add the amount to the receipient
450
  $mycred->add_creds(
451
  $ref,
462
 
463
  // Return the good news
464
  die( json_encode( 'ok' ) );
465
+
466
  }
467
 
468
  /**
469
  * Get Recipient
470
  * @since 1.3.2
471
+ * @version 1.1
472
  */
473
  public function get_recipient( $to = '' ) {
474
+
475
  if ( empty( $to ) ) return false;
476
 
477
  switch ( $this->transfers['autofill'] ) {
478
+
479
  case 'user_login' :
480
 
481
  $user = get_user_by( 'login', $to );
483
  $user_id = $user->ID;
484
 
485
  break;
486
+
487
  case 'user_email' :
488
 
489
  $user = get_user_by( 'email', $to );
491
  $user_id = $user->ID;
492
 
493
  break;
494
+
495
  default :
496
 
497
+ $user_id = apply_filters( 'mycred_transfer_autofill_get', false, $to );
498
+ if ( $user_id === false ) return false;
499
 
500
  break;
501
+
502
  }
503
 
504
  return $user_id;
505
+
506
  }
507
 
508
  /**
511
  * @version 1.1
512
  */
513
  public function ajax_call_autocomplete() {
514
+
515
  // Security
516
  check_ajax_referer( 'mycred-autocomplete' , 'token' );
517
 
529
  // Query
530
  $select = $prefs['autofill'];
531
  $blog_users = $wpdb->get_results( $wpdb->prepare( "
532
+ SELECT {$select}, ID
533
+ FROM {$wpdb->users}
534
+ WHERE ID != %d
535
+ AND {$select} LIKE %s;", $user_id, '%' . $_REQUEST['string']['term'] . '%' ), 'ARRAY_N' );
536
 
537
  if ( $wpdb->num_rows > 0 ) {
538
+
539
  foreach ( $blog_users as $hit ) {
540
+
541
  if ( $this->core->exclude_user( $hit[1] ) ) continue;
542
  $results[] = $hit[0];
543
+
544
  }
545
+
546
  }
547
 
548
  die( json_encode( $results ) );
549
+
550
  }
551
 
552
  /**
557
  public function email_notice_instance( $events, $request ) {
558
 
559
  if ( $request['ref'] == 'transfer' ) {
560
+
561
  if ( $request['amount'] < 0 )
562
  $events[] = 'transfer|negative';
563
+
564
  elseif ( $request['amount'] > 0 )
565
  $events[] = 'transfer|positive';
566
+
567
  }
568
 
569
  return $events;
576
  * @version 1.1
577
  */
578
  public function email_notices( $data ) {
579
+
580
  if ( $data['request']['ref'] == 'transfer' ) {
581
  $message = $data['message'];
582
  if ( $data['request']['ref_id'] == get_current_user_id() )
586
  }
587
 
588
  return $data;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
589
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
590
  }
591
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
592
  }
 
593
 
594
+ $transfer = new myCRED_Transfer_Module();
595
+ $transfer->load();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
596
 
597
+ endif;
 
598
 
 
 
 
599
  ?>
assets/css/admin.css CHANGED
@@ -1,7 +1,7 @@
1
  /**
2
  * myCRED Admin Styling
3
  * @since 0.1
4
- * @version 1.3
5
  */
6
  #myCRED-wrap table .column-username { width: 190px; }
7
  #myCRED-wrap table .column-creds { width: 80px; }
@@ -21,13 +21,15 @@
21
  /* Specifics */
22
  #myCRED-wrap p.submit { margin-top: 0; padding-top: 0; }
23
  #mycred-social { text-align: right; }
 
24
 
25
  /* General */
26
  #myCRED-wrap .h2 { font-family: "HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif; font-size: 22px; line-height: 29px; font-weight: normal; text-shadow: #fff 0 1px 0; }
27
  body.version-3-8 #myCRED-wrap .h2 { line-height: 15px; font-size: 18px; }
28
  body.version-3-8 #myCRED-wrap .h2.description { line-height: 22px; }
29
- body.version-3-8 #myCRED-wrap .h2 input[type="text"] { font-size: 14px; }
30
- #myCRED-wrap .h2 input[type="text"], #myCRED-wrap .h2 input[type="password"] { line-height: inherit; }
 
31
  #mycred-social-media { display: block; float: right; }
32
  #mycred-social-media a { margin-left: 12px; }
33
 
@@ -38,7 +40,8 @@ body.version-3-8 #myCRED-wrap #accordion { border-top: 1px solid #dedede; border
38
  #myCRED-wrap #accordion>h4 { font-size: 18px; line-height: 48px; font-weight: normal; color: #464646; font-family: "Open Sans", sans-serif; letter-spacing: 1px; width: 100%; text-align: left; }
39
  #myCRED-wrap #accordion>h4:focus { outline: none; }
40
  #myCRED-wrap #accordion>h4:hover { cursor: pointer; }
41
- #myCRED-wrap #accordion .ui-accordion-header { padding: 0; margin: 0; }
 
42
  body #myCRED-wrap #accordion .ui-accordion-header { border-top: 1px solid #dedede; border-bottom: none; }
43
  body.version-3-8 #myCRED-wrap #accordion .ui-accordion-header { border-top: 1px solid #fafafa; border-bottom: 1px solid #dedede; }
44
  #myCRED-wrap #accordion .ui-accordion-header input { vertical-align: middle; margin-right: 24px; }
@@ -85,7 +88,7 @@ body.version-3-8 #myCRED-wrap #accordion .ui-accordion-header { border-top: 1px
85
  #myCRED-wrap #accordion>div { margin: 0; padding: 24px 48px 12px 48px; }
86
  #myCRED-wrap #accordion>div>p { margin-top: 0; }
87
  #myCRED-wrap #accordion .ui-accordion-content { display: none;float: none; clear: both; }
88
- body #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px solid #dedede; border-bottom: none; }
89
  body.version-3-8 #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px solid #fafafa; border-bottom: 1px solid #dedede; }
90
  #myCRED-wrap #accordion .ui-accordion-content .wrapper:after { content: "."; height: 0; visibility: hidden; margin: 0; padding: 0; }
91
 
@@ -106,10 +109,9 @@ body.version-3-8 #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px
106
  #myCRED-wrap ol.inline li:first-child { padding-left: 0; }
107
  #myCRED-wrap ol.inline li.block { float: none; padding: 0; clear: both; }
108
  #myCRED-wrap ol li.empty { display: block; height: 1px; float: none; clear: both; }
109
- #myCRED-wrap ol input.long { width: 50%; }
110
  #myCRED-wrap ol input.short { width: 80px; }
111
- #myCRED-wrap ol input[type="text"],
112
- #myCRED-wrap ol input[type="checkbox"], #myCRED-wrap ol input[type="radio"] { margin-right: 12px; }
113
  #myCRED-wrap ol li.option .h2, #myCRED-wrap ol li.option select, #myCRED-wrap ol li.option textarea { margin-left: 24px; }
114
 
115
  /* Setup */
1
  /**
2
  * myCRED Admin Styling
3
  * @since 0.1
4
+ * @version 1.3.1
5
  */
6
  #myCRED-wrap table .column-username { width: 190px; }
7
  #myCRED-wrap table .column-creds { width: 80px; }
21
  /* Specifics */
22
  #myCRED-wrap p.submit { margin-top: 0; padding-top: 0; }
23
  #mycred-social { text-align: right; }
24
+ body.post-type-buycred_payment a.add-new-h2, body.post-type-buycred_payment .view-switch { display: none; }
25
 
26
  /* General */
27
  #myCRED-wrap .h2 { font-family: "HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif; font-size: 22px; line-height: 29px; font-weight: normal; text-shadow: #fff 0 1px 0; }
28
  body.version-3-8 #myCRED-wrap .h2 { line-height: 15px; font-size: 18px; }
29
  body.version-3-8 #myCRED-wrap .h2.description { line-height: 22px; }
30
+ body.version-3-8 #myCRED-wrap .h2 input[type="text"], body.version-3-8 #myCRED-wrap .h2 input[type="number"] { font-size: 14px; }
31
+ #myCRED-wrap .h2 input[type="text"], #myCRED-wrap .h2 input[type="password"], #myCRED-wrap .h2 input[type="number"] { line-height: inherit; }
32
+ #myCRED-wrap #mycred-update-log-decimals { height: 36px; line-height: 36px; margin-top: 1px; }
33
  #mycred-social-media { display: block; float: right; }
34
  #mycred-social-media a { margin-left: 12px; }
35
 
40
  #myCRED-wrap #accordion>h4 { font-size: 18px; line-height: 48px; font-weight: normal; color: #464646; font-family: "Open Sans", sans-serif; letter-spacing: 1px; width: 100%; text-align: left; }
41
  #myCRED-wrap #accordion>h4:focus { outline: none; }
42
  #myCRED-wrap #accordion>h4:hover { cursor: pointer; }
43
+ #myCRED-wrap #accordion .ui-accordion-header { padding: 0; margin: 0; background-color: transparent; background: none; border-left: none; border-right: none; }
44
+ #myCRED-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon { display: none; }
45
  body #myCRED-wrap #accordion .ui-accordion-header { border-top: 1px solid #dedede; border-bottom: none; }
46
  body.version-3-8 #myCRED-wrap #accordion .ui-accordion-header { border-top: 1px solid #fafafa; border-bottom: 1px solid #dedede; }
47
  #myCRED-wrap #accordion .ui-accordion-header input { vertical-align: middle; margin-right: 24px; }
88
  #myCRED-wrap #accordion>div { margin: 0; padding: 24px 48px 12px 48px; }
89
  #myCRED-wrap #accordion>div>p { margin-top: 0; }
90
  #myCRED-wrap #accordion .ui-accordion-content { display: none;float: none; clear: both; }
91
+ body #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px solid #dedede; border-bottom: none; background-color: transparent; background: none; border-left: none; border-right: none; }
92
  body.version-3-8 #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px solid #fafafa; border-bottom: 1px solid #dedede; }
93
  #myCRED-wrap #accordion .ui-accordion-content .wrapper:after { content: "."; height: 0; visibility: hidden; margin: 0; padding: 0; }
94
 
109
  #myCRED-wrap ol.inline li:first-child { padding-left: 0; }
110
  #myCRED-wrap ol.inline li.block { float: none; padding: 0; clear: both; }
111
  #myCRED-wrap ol li.empty { display: block; height: 1px; float: none; clear: both; }
112
+ #myCRED-wrap ol input.long { width: 85%; }
113
  #myCRED-wrap ol input.short { width: 80px; }
114
+ #myCRED-wrap ol input[type="text"], #myCRED-wrap ol input[type="checkbox"], #myCRED-wrap ol input[type="radio"] { margin-right: 12px; }
 
115
  #myCRED-wrap ol li.option .h2, #myCRED-wrap ol li.option select, #myCRED-wrap ol li.option textarea { margin-left: 24px; }
116
 
117
  /* Setup */
assets/css/inline-edit.css CHANGED
@@ -1,5 +1,5 @@
1
  .mycred-update-balance { background-color:white; z-index: 9999; }.mycred-update-balance>div { padding:12px; }.mycred-update-balance .ui-dialog-titlebar { line-height:24px; border-bottom: 1px solid #dedede; }.mycred-update-balance .ui-dialog-titlebar:hover { cursor:move; }.mycred-update-balance .ui-dialog-titlebar-close { float:right; }body.users-php .ui-widget-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background: repeat-x scroll 50% 50% #AAA; opacity:0.3; overflow:hidden; background: repeat-x scroll 50% 50% #333; z-index: 99; }.mycred-adjustment-form { display:block; float:none; clear:both; padding:0; margin:0; }.mycred-adjustment-form .row { line-height:24px; margin:0; padding:0; float:none; margin: 0 0 4px 0; clear:both; }.mycred-adjustment-form .row.inline { float:left; clear:none; }}.mycred-update-balance .mycred-adjustment-form .row.inline span { font-size:18px; }.mycred-adjustment-form .row label { display:block; margin-bottom:0; }.mycred-adjustment-form .row input[type="text"] { width:90%; }.mycred-adjustment-form .row input[type="button"] { float:right; }input#mycred-update-users-balance-amount { width:25%; }#edit-mycred-balance #mycred-current.done { color:green; }.mycred-adjustment-form .row input.error { border-color:red; }
2
 
3
- .mycred-edit-log-entry { background-color:white; }.mycred-edit-log-entry>div { padding:12px; }.mycred-edit-log-entry .ui-dialog-titlebar { line-height:24px; border-bottom: 1px solid #dedede; }.mycred-edit-log-entry .ui-dialog-titlebar:hover { cursor:move; }.mycred-edit-log-entry .ui-dialog-titlebar-close { float:right; }body .ui-widget-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background: repeat-x scroll 50% 50% #AAA; opacity:0.3; overflow:hidden; background: repeat-x scroll 50% 50% #333; }#edit-mycred-log-entry .mycred-adjustment-form .row label{ font-weight:bold; }#edit-mycred-log-entry .mycred-adjustment-form .row input[type="button"] { float:right; margin-left: 24px; }#edit-mycred-log-entry #mycred-current.done { color:green; }.mycred-adjustment-form .row input.error { border-color:red; }
4
 
5
- .mycred-export-points { background-color:white; }.mycred-export-points>div { padding:12px; }.mycred-export-points .ui-dialog-titlebar { line-height:24px; border-bottom: 1px solid #dedede; }.mycred-export-points .ui-dialog-titlebar:hover { cursor:move; }.mycred-export-points .ui-dialog-titlebar-close { float:right; }
1
  .mycred-update-balance { background-color:white; z-index: 9999; }.mycred-update-balance>div { padding:12px; }.mycred-update-balance .ui-dialog-titlebar { line-height:24px; border-bottom: 1px solid #dedede; }.mycred-update-balance .ui-dialog-titlebar:hover { cursor:move; }.mycred-update-balance .ui-dialog-titlebar-close { float:right; }body.users-php .ui-widget-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background: repeat-x scroll 50% 50% #AAA; opacity:0.3; overflow:hidden; background: repeat-x scroll 50% 50% #333; z-index: 99; }.mycred-adjustment-form { display:block; float:none; clear:both; padding:0; margin:0; }.mycred-adjustment-form .row { line-height:24px; margin:0; padding:0; float:none; margin: 0 0 4px 0; clear:both; }.mycred-adjustment-form .row.inline { float:left; clear:none; }}.mycred-update-balance .mycred-adjustment-form .row.inline span { font-size:18px; }.mycred-adjustment-form .row label { display:block; margin-bottom:0; }.mycred-adjustment-form .row input[type="text"] { width:90%; }.mycred-adjustment-form .row input[type="button"] { float:right; }input#mycred-update-users-balance-amount { width:25%; }#edit-mycred-balance #mycred-current.done { color:green; }.mycred-adjustment-form .row input.error { border-color:red; }
2
 
3
+ .mycred-edit-log-entry { background-color:white; z-index: 99; }.mycred-edit-log-entry>div { padding:12px; }.mycred-edit-log-entry .ui-dialog-titlebar { line-height:24px; border-bottom: 1px solid #dedede; }.mycred-edit-log-entry .ui-dialog-titlebar:hover { cursor:move; }.mycred-edit-log-entry .ui-dialog-titlebar-close { float:right; }body .ui-widget-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background: repeat-x scroll 50% 50% #AAA; opacity:0.3; overflow:hidden; background: repeat-x scroll 50% 50% #333; z-index: 99; }#edit-mycred-log-entry .mycred-adjustment-form .row label{ font-weight:bold; }#edit-mycred-log-entry .mycred-adjustment-form .row input[type="button"] { float:right; margin-left: 24px; }#edit-mycred-log-entry #mycred-current.done { color:green; }.mycred-adjustment-form .row input.error { border-color:red; }
4
 
5
+ .mycred-export-points { background-color:white; z-index: 99; }.mycred-export-points>div { padding:12px; }.mycred-export-points .ui-dialog-titlebar { line-height:24px; border-bottom: 1px solid #dedede; }.mycred-export-points .ui-dialog-titlebar:hover { cursor:move; }.mycred-export-points .ui-dialog-titlebar-close { float:right; }
assets/js/management.js CHANGED
@@ -1,10 +1,30 @@
1
  /**
2
  * myCRED Management Scripts
3
  * @since 1.3
4
- * @version 1.2
5
  */
6
  jQuery(function($) {
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  /**
9
  * Empty Log AJAX Caller
10
  */
@@ -177,7 +197,7 @@ jQuery(function($) {
177
  $( '#mycred-length-counter' ).text( response.data.length );
178
  }
179
  });
180
- }
181
 
182
  /**
183
  * Generate Key Trigger
@@ -199,4 +219,65 @@ jQuery(function($) {
199
  $( '#myCRED-remote-key' ).keyup(function(){
200
  $( '#mycred-length-counter' ).text( $(this).val().length );
201
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  });
1
  /**
2
  * myCRED Management Scripts
3
  * @since 1.3
4
+ * @version 1.3
5
  */
6
  jQuery(function($) {
7
 
8
+ /**
9
+ * Make sure new point type key is
10
+ * correctly formatted. Only lowercase letters and underscores
11
+ * are allowed. Warn user if needed.
12
+ */
13
+ $( '#mycred-new-ctype-key-value' ).on( 'change', function(){
14
+
15
+ var ctype_key = $(this).val();
16
+ var re = /^[a-z_]+$/;
17
+ if ( ! re.test( ctype_key ) ) {
18
+ $(this).css( 'border-color', 'red' );
19
+ $( '#mycred-ctype-warning' ).css( 'color', 'red' );
20
+ }
21
+ else {
22
+ $(this).css( 'border-color', 'green' );
23
+ $( '#mycred-ctype-warning' ).css( 'color', '' );
24
+ }
25
+
26
+ });
27
+
28
  /**
29
  * Empty Log AJAX Caller
30
  */
197
  $( '#mycred-length-counter' ).text( response.data.length );
198
  }
199
  });
200
+ };
201
 
202
  /**
203
  * Generate Key Trigger
219
  $( '#myCRED-remote-key' ).keyup(function(){
220
  $( '#mycred-length-counter' ).text( $(this).val().length );
221
  });
222
+
223
+ /**
224
+ * Adjust Decimals AJAX Caller
225
+ */
226
+ var mycred_adjust_max_decimals = function( button, label, decval ) {
227
+ $.ajax({
228
+ type : "POST",
229
+ data : {
230
+ action : 'mycred-action-max-decimals',
231
+ token : myCREDmanage.token,
232
+ decimals : decval
233
+ },
234
+ dataType : "JSON",
235
+ url : myCREDmanage.ajaxurl,
236
+ beforeSend : function() {
237
+ button.attr( 'value', myCREDmanage.working );
238
+ button.attr( 'disabled', 'disabled' );
239
+ },
240
+ success : function( response ) {
241
+ if ( response.success ) {
242
+ button.val( response.data.label );
243
+ setTimeout(function(){
244
+ window.location.href = response.data.url;
245
+ }, 4000 );
246
+ }
247
+ else {
248
+ button.val( response.data );
249
+ setTimeout(function(){
250
+ button.removeAttr( 'disabled' );
251
+ button.val( label );
252
+ }, 4000 );
253
+ }
254
+ }
255
+ });
256
+ };
257
+
258
+ /**
259
+ * Show / Hide Update Button
260
+ */
261
+ $( '#mycred-adjust-decimal-places' ).change(function(){
262
+ var originaldec = $(this).data( 'org' );
263
+ var newvalue = $(this).val();
264
+
265
+ if ( originaldec != newvalue )
266
+ $( '#mycred-update-log-decimals' ).show();
267
+ else
268
+ $( '#mycred-update-log-decimals' ).hide();
269
+
270
+ });
271
+
272
+ /**
273
+ * Update Log Decimals Trigger
274
+ */
275
+ $( '#mycred-update-log-decimals' ).click(function(){
276
+
277
+ if ( confirm( myCREDmanage.decimals ) ) {
278
+ mycred_adjust_max_decimals( $(this), $(this).val(), $( '#mycred-adjust-decimal-places' ).val() );
279
+ }
280
+
281
+ });
282
+
283
  });
includes/mycred-about.php CHANGED
@@ -51,13 +51,15 @@ function mycred_about_footer() { ?>
51
  <img src="//ssl.gstatic.com/images/icons/gplus-32.png" alt="Google+" style="border:0;width:24px;height:24px;"/></a><div class="fb-like" data-href="https://www.facebook.com/myCRED" data-height="32" data-colorscheme="light" data-layout="standard" data-action="like" data-show-faces="false" data-send="false" style="display:inline;"></div>
52
  </div>
53
  <div id="fb-root"></div>
54
- <script>(function(d, s, id) {
 
55
  var js, fjs = d.getElementsByTagName(s)[0];
56
  if (d.getElementById(id)) return;
57
  js = d.createElement(s); js.id = id;
58
- js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=283161791819752";
59
  fjs.parentNode.insertBefore(js, fjs);
60
- }(document, 'script', 'facebook-jssdk'));</script>
 
61
  <?php
62
  }
63
 
@@ -79,58 +81,31 @@ function mycred_about_page() {
79
  <h3>Version Changes</h3>
80
  <div class="feature-section col two-col">
81
  <div>
82
- <h4>WooCommerce 2.2</h4>
83
- <p>myCRED 1.5.4 now supports the latest version of WooCommerce including refunds. If you use the WooCommerce rewards system awarding points for purchases, these will now be paid out when orders are paid.</p>
84
  </div>
85
  <div class="last-feature">
86
- <h4>My Balance Widget</h4>
87
- <p>The My Balance widget has been updated and you will need to update your widget settings.</p>
88
  </div>
89
  <div>
90
- <h4>BuddyPress 2.1</h4>
91
- <p>myCRED now supports BuddyPress 2.1!</p>
92
  </div>
93
  <div class="last-feature">
94
- <h4>Leaderboard</h4>
95
- <p>The myCRED Leaderboard shortcode has been improved and now will by default exclude users with zero balance. You can disable this via the new "exclude_zero" attribute:</p>
96
- <pre>[mycred_leaderboard exclude_zero="0"]</pre>
97
- </div>
98
- </div>
99
- <h3>Add-on News</h3>
100
- <div class="feature-section col two-col">
101
- <div>
102
- <h4>Badges</h4>
103
- <p>Similar to ranks, badges are based on a users actions and not their balance. You can award badges for any myCRED action taken on your website like sending BuddyPress messages, logging in or even transfers.</p>
104
- </div>
105
- <div class="last-feature">
106
- <h4>Transfer Add-on</h4>
107
- <p>In 1.5 the transfer add-on has been adjusted to make it easier for you to customize it by adding custom fields. No need to replace the transfer script any longer!</p>
108
  </div>
109
  </div>
110
  <h3>Added Support</h3>
111
  <div class="feature-section col two-col">
112
  <div>
113
- <h4><a href="https://wordpress.org/plugins/share-this/" target="_blank">ShareThis</a></h4>
114
- <p>Award points for users sharing your websites content on popular social media sites like Facebook and Twitter! Requires the ShareThis plugin to be installed and setup!</p>
115
- </div>
116
- <div class="last-feature">
117
- <h4>Site Visits</h4>
118
- <p>The new Site Visit hook allows you to award points for users visiting your website on a daily basis.</p>
119
- </div>
120
- </div>
121
- <h3>Improvements</h3>
122
- <div class="feature-section col three-col">
123
- <div>
124
- <h4>Leaderboard</h4>
125
- <p>You can now create leaderboards based on your users actions and not just their balance! Both the mycred_leaderboard shortcode and widget has been updated.</p>
126
- </div>
127
- <div>
128
- <h4>Exchange</h4>
129
- <p>The new myCRED Exchange shortcode allows your users to exchange one point type for another at a rate of your choosing.</p>
130
  </div>
131
  <div class="last-feature">
132
- <h4>Easier to Exclude</h4>
133
- <p>As of 1.5, you can not exclude users from using any point type directly from their profiles in the admin area.</p>
134
  </div>
135
  </div>
136
  <p style="text-align:right;">Want to help further development of <strong>my</strong>CRED? <a href="http://mycred.me/about/support-mycred/" target="_blank">Here is a list</a> of things you can do to help!</p>
@@ -158,15 +133,15 @@ function mycred_about_credit_page() {
158
  <div class="feature-section col two-col">
159
  <div>
160
  <h4>Bug Finders</h4>
161
- <p>Users who have taken the time to report bugs helping me improve this plugin.</p>
162
  <ul>
163
- <li><a href="http://mycred.me/community/jommy99/">John Moore</a></li>
164
- <li><a href="http://mycred.me/community/keisermedia/">Lucas Keiser</a></li>
165
- <li><a href="http://mycred.me/community/lionelbernard/">Siargao</a></li>
166
- <li><a href="http://mycred.me/community/woekerzee/">woekerzee</a></li>
167
- <li><a href="http://mycred.me/community/jmaubert75/">JM AUBERT</a></li>
168
- <li><a href="http://mycred.me/community/NUHISON/">David J</a></li>
169
- <li><a href="http://mycred.me/community/shmoo/">Shmoo</a></li>
170
  </ul>
171
  </div>
172
  <div class="last-feature">
51
  <img src="//ssl.gstatic.com/images/icons/gplus-32.png" alt="Google+" style="border:0;width:24px;height:24px;"/></a><div class="fb-like" data-href="https://www.facebook.com/myCRED" data-height="32" data-colorscheme="light" data-layout="standard" data-action="like" data-show-faces="false" data-send="false" style="display:inline;"></div>
52
  </div>
53
  <div id="fb-root"></div>
54
+ <script>
55
+ (function(d, s, id) {
56
  var js, fjs = d.getElementsByTagName(s)[0];
57
  if (d.getElementById(id)) return;
58
  js = d.createElement(s); js.id = id;
59
+ js.src = "http://connect.facebook.net/en_US/all.js#xfbml=1&appId=283161791819752";
60
  fjs.parentNode.insertBefore(js, fjs);
61
+ }(document, 'script', 'facebook-jssdk'));
62
+ </script>
63
  <?php
64
  }
65
 
81
  <h3>Version Changes</h3>
82
  <div class="feature-section col two-col">
83
  <div>
84
+ <h4>New Statistics Add-on</h4>
85
+ <p>Gain a quick overview of how points a re earned and spent on your website via this new Statistics add-on.</p>
86
  </div>
87
  <div class="last-feature">
88
+ <h4>Hook Limits</h4>
89
+ <p>All built-in hooks now support limits! You can select to have no limits, total limits, daily, weekly or monthly limit.</p>
90
  </div>
91
  <div>
92
+ <h4>Ranks for all types</h4>
93
+ <p>myCRED 1.6 now supports ranks for multiple point types! You are no longer limited to the main point type for ranks.</p>
94
  </div>
95
  <div class="last-feature">
96
+ <h4>Badge Levels</h4>
97
+ <p>The badges add-on now supports Badge levels and manually assigning badges to users via the admin area!</p>
 
 
 
 
 
 
 
 
 
 
 
 
98
  </div>
99
  </div>
100
  <h3>Added Support</h3>
101
  <div class="feature-section col two-col">
102
  <div>
103
+ <h4><a href="https://wordpress.org/plugins/share-this/" target="_blank">AffiliateWP</a></h4>
104
+ <p>Award points for affiliates referring visitors or store sales. You can also select to use points as your affiliate currency!</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  </div>
106
  <div class="last-feature">
107
+ <h4>BuddyPress</h4>
108
+ <p>In 1.6 I have added in support for deducting points from users when they delete their profile updates.</p>
109
  </div>
110
  </div>
111
  <p style="text-align:right;">Want to help further development of <strong>my</strong>CRED? <a href="http://mycred.me/about/support-mycred/" target="_blank">Here is a list</a> of things you can do to help!</p>
133
  <div class="feature-section col two-col">
134
  <div>
135
  <h4>Bug Finders</h4>
136
+ <p>Users who have taken the time to help beta test version 1.6. A big thank you to all.</p>
137
  <ul>
138
+ <li><a href="http://mycred.me/community/mitchcan/">Mitch</a></li>
139
+ <li><a href="http://mycred.me/community/szklarek/">Tomek</a></li>
140
+ <li><a href="http://mycred.me/community/mikebmac/">Michael</a></li>
141
+ <li><a href="http://mycred.me/community/jomjom/">Giorgio</a></li>
142
+ <li><a href="http://mycred.me/community/sebastien/">sebastien</a></li>
143
+ <li><a href="http://mycred.me/community/craftymc/">Luke</a></li>
144
+ <li><a href="http://mycred.me/community/adir25/">adir25</a></li>
145
  </ul>
146
  </div>
147
  <div class="last-feature">
includes/mycred-admin.php CHANGED
@@ -63,7 +63,7 @@ if ( ! class_exists( 'myCRED_Admin' ) ) {
63
  /**
64
  * Profile Actions
65
  * @since 1.5
66
- * @version 1.0.1
67
  */
68
  public function edit_profile_actions() {
69
 
@@ -392,7 +392,9 @@ if ( ! class_exists( 'myCRED_Admin' ) ) {
392
 
393
  // Show total
394
  $total = mycred_query_users_total( $user_id, $column_name );
395
- $balance .= '<small style="display:block;">' . sprintf( __( 'Total: %s', 'mycred' ), $mycred->format_number( $total ) ) . '</small>';
 
 
396
 
397
  $page = 'myCRED';
398
  if ( $column_name != 'mycred_default' )
@@ -535,7 +537,7 @@ ul#profile-nav li a:hover, ul#profile-nav li.nav-tab-active a {text-decoration:
535
  /**
536
  * Edit Profile Screen
537
  * @since 1.5
538
- * @version 1.0
539
  */
540
  public function edit_profile_screen() {
541
  if ( ! isset( $_GET['user_id'] ) ) return;
@@ -619,7 +621,7 @@ div#edit-balance-page.wrap form#your-profile h3 { margin-top: 3em; }
619
  <script type="text/javascript">
620
  jQuery(function($) {
621
  $( 'a#mycred-exclude-this-user' ).click(function(){
622
- if ( ! confirm( '<?php _e( 'Warning! Excluding this user will result in their balance being deleted along with any entries currently in your log! This can not be undone!', 'mycred' ); ?>' ) )
623
  return false;
624
  });
625
  });
@@ -687,7 +689,7 @@ jQuery(function($) {
687
  /**
688
  * Adjust Users Balance
689
  * @since 0.1
690
- * @version 1.2
691
  */
692
  public function adjust_users_balance( $user ) {
693
  if ( ! isset( $_GET['ctype'] ) )
@@ -797,11 +799,12 @@ jQuery(function($) {
797
  );
798
  }
799
 
800
- $tabs = apply_filters( 'mycred_edit_profile_tabs_bp', $tabs );
 
801
 
802
  $output = '';
803
  foreach ( $tabs as $tab )
804
- $output .= '<a class="' . $tab['classes'] . '" href="' . $tab['url'] . '">' . $tab['label'] . '</a>';
805
 
806
  ob_start();
807
 
63
  /**
64
  * Profile Actions
65
  * @since 1.5
66
+ * @version 1.0.2
67
  */
68
  public function edit_profile_actions() {
69
 
392
 
393
  // Show total
394
  $total = mycred_query_users_total( $user_id, $column_name );
395
+ $balance .= '<small style="display:block;">' . sprintf( '<strong>%s</strong>: %s', __( 'Total', 'mycred' ), $mycred->format_number( $total ) ) . '</small>';
396
+
397
+ $balance = apply_filters( 'mycred_users_balance_column', $balance, $user_id, $column_name );
398
 
399
  $page = 'myCRED';
400
  if ( $column_name != 'mycred_default' )
537
  /**
538
  * Edit Profile Screen
539
  * @since 1.5
540
+ * @version 1.0.1
541
  */
542
  public function edit_profile_screen() {
543
  if ( ! isset( $_GET['user_id'] ) ) return;
621
  <script type="text/javascript">
622
  jQuery(function($) {
623
  $( 'a#mycred-exclude-this-user' ).click(function(){
624
+ if ( ! confirm( '<?php esc_attr_e( 'Warning! Excluding this user will result in their balance being deleted along with any entries currently in your log! This can not be undone!', 'mycred' ); ?>' ) )
625
  return false;
626
  });
627
  });
689
  /**
690
  * Adjust Users Balance
691
  * @since 0.1
692
+ * @version 1.2.1
693
  */
694
  public function adjust_users_balance( $user ) {
695
  if ( ! isset( $_GET['ctype'] ) )
799
  );
800
  }
801
 
802
+ $user = get_userdata( $user_id );
803
+ $tabs = apply_filters( 'mycred_edit_profile_tabs_bp', $tabs, $user );
804
 
805
  $output = '';
806
  foreach ( $tabs as $tab )
807
+ $output .= '<a class="' . $tab['classes'] . '" href="' . $tab['url'] . '">' . esc_attr( $tab['label'] ) . '</a>';
808
 
809
  ob_start();
810
 
includes/mycred-depreciated.php DELETED
@@ -1,356 +0,0 @@
1
- <?php
2
- if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
-
4
- // _deprecated_function( __FUNCTION__, '1.5.1', 'get_post()' );
5
-
6
- /**
7
- * Get Settings
8
- * Returns myCRED's general settings.
9
- * @since 0.1
10
- * @version 1.0
11
- */
12
- if ( ! function_exists( 'mycred_get_settings' ) ) :
13
- function mycred_get_settings()
14
- {
15
- _deprecated_function( 'mycred_get_settings()', '1.4', 'mycred()' );
16
-
17
- return mycred();
18
- }
19
- endif;
20
-
21
- /**
22
- * myCRED Query Rankings Class
23
- * @see http://codex.mycred.me/classes/mycred_query_rankings/
24
- * @since 1.1.2
25
- * @version 1.1
26
- */
27
- if ( ! class_exists( 'myCRED_Query_Rankings' ) ) {
28
- class myCRED_Query_Rankings {
29
-
30
- public $args;
31
- public $count = 0;
32
- public $result;
33
-
34
- /**
35
- * Constructor
36
- */
37
- public function __construct( $args = '' ) {
38
- $this->args = shortcode_atts( array(
39
- 'number' => '-1',
40
- 'order' => 'DESC',
41
- 'user_fields' => 'user_login,display_name,user_email,user_nicename,user_url',
42
- 'offset' => 0,
43
- 'zero' => 1,
44
- 'type' => 'mycred_default'
45
- ), $args );
46
- }
47
-
48
- /**
49
- * Have Results
50
- * @returns true or false
51
- * @since 1.1.2
52
- * @version 1.0
53
- */
54
- public function have_results() {
55
- if ( !empty( $this->result ) ) return true;
56
-
57
- return false;
58
- }
59
-
60
- /**
61
- * Get Rankings
62
- * Queries the DB for all users in order of their point balance.
63
- * @since 1.1.2
64
- * @version 1.0.2
65
- */
66
- public function get_rankings() {
67
- global $wpdb;
68
-
69
- // Type can not be empty
70
- if ( !empty( $this->args['type'] ) )
71
- $key = $this->args['type'];
72
- else
73
- $key = 'mycred_default';
74
-
75
- // Order
76
- if ( !empty( $this->args['order'] ) )
77
- $order = $this->args['order'];
78
- else
79
- $order = 'DESC';
80
-
81
- // Number
82
- if ( $this->args['number'] != '-1' )
83
- $limit = 'LIMIT ' . abs( $this->args['offset'] ) . ',' . abs( $this->args['number'] );
84
- else
85
- $limit = '';
86
-
87
- // User fields
88
- if ( empty( $this->args['user_fields'] ) )
89
- $this->args['user_fields'] = 'display_name,user_login';
90
-
91
- $user_fields = trim( $this->args['user_fields'] );
92
- $user_fields = str_replace( ' ', '', $user_fields );
93
- $user_fields = explode( ',', $user_fields );
94
-
95
- // SELECT
96
- $selects = array( "{$wpdb->users}.ID" );
97
- foreach ( $user_fields as $field ) {
98
- if ( $field == 'ID' ) continue;
99
- $selects[] = "{$wpdb->users}." . $field;
100
- }
101
- $selects[] = "{$wpdb->usermeta}.meta_value AS cred";
102
- $select = implode( ', ', $selects );
103
-
104
- // WHERE
105
- $where = '';
106
- if ( $this->args['zero'] )
107
- $where = "WHERE {$wpdb->usermeta}.meta_value > 0 ";
108
-
109
- $SQL = apply_filters( 'mycred_ranking_sql', "
110
- SELECT {$select}
111
- FROM {$wpdb->users}
112
- LEFT JOIN {$wpdb->usermeta}
113
- ON {$wpdb->users}.ID = {$wpdb->usermeta}.user_id
114
- AND {$wpdb->usermeta}.meta_key = %s
115
- {$where}
116
- ORDER BY {$wpdb->usermeta}.meta_value+1 {$order} {$limit};", $this->args, $wpdb );
117
-
118
- $this->result = $wpdb->get_results( $wpdb->prepare( $SQL, $key ), 'ARRAY_A' );
119
- $this->count = $wpdb->num_rows;
120
- }
121
-
122
- /**
123
- * Save
124
- * With the option to reset and bypass any set frequency.
125
- * If a frequency is set to something other then 'always', then that
126
- * setting is enforced.
127
- * @since 1.1.2
128
- * @version 1.0
129
- */
130
- public function save( $reset = false ) {
131
-
132
- }
133
- }
134
- }
135
-
136
- /**
137
- * myCRED_Rankings class
138
- * @see http://codex.mycred.me/classes/mycred_rankings/
139
- * @since 0.1
140
- * @version 2.0
141
- */
142
- if ( !class_exists( 'myCRED_Rankings' ) ) {
143
- class myCRED_Rankings {
144
-
145
- public $core;
146
- public $args;
147
- public $result;
148
-
149
- /**
150
- * Constructor
151
- */
152
- public function __construct( $args = array(), $results = array() ) {
153
- // Get settings
154
- $mycred = mycred();
155
- $this->core = $mycred;
156
- $this->args = $args;
157
- $this->result = $results;
158
- }
159
-
160
- /**
161
- * Have Results
162
- * @returns true or false
163
- * @since 0.1
164
- * @version 1.1
165
- */
166
- public function have_results() {
167
- if ( !empty( $this->result ) ) return true;
168
- return false;
169
- }
170
-
171
- /**
172
- * Users Position
173
- * @param $user_id (int) required user id
174
- * @returns position (int)
175
- * @since 0.1
176
- * @version 1.1
177
- */
178
- public function users_position( $user_id = NULL ) {
179
- if ( $user_id !== NULL ) {
180
- if ( $this->have_results() ) {
181
- foreach ( $this->result as $row_id => $row_data ) {
182
- if ( !isset( $row_data['ID'] ) ) $row_uid = $row_data['user_id'];
183
- else $row_uid = $row_data['ID'];
184
-
185
- if ( $row_uid == (int) $user_id ) return $row_id+1;
186
- }
187
- }
188
- }
189
-
190
- return 0;
191
- }
192
-
193
- /**
194
- * Users Creds
195
- * @param $user_id (int) user id
196
- * @returns position (int) or empty
197
- * @since 0.1
198
- * @version 1.1
199
- */
200
- public function users_creds( $user_id = NULL ) {
201
- if ( $user_id !== NULL ) {
202
- if ( $this->have_results() ) {
203
- foreach ( $this->result as $row_id => $row_data ) {
204
- if ( !isset( $row_data['ID'] ) ) $row_uid = $row_data['user_id'];
205
- else $row_uid = $row_data['ID'];
206
-
207
- if ( $row_uid == (int) $user_id ) return $row_data['creds'];
208
- }
209
- }
210
- }
211
-
212
- return 0;
213
- }
214
-
215
- /**
216
- * Leaderboard
217
- * @since 0.1
218
- * @version 1.0
219
- */
220
- public function leaderboard() {
221
- echo $this->get_leaderboard();
222
- }
223
-
224
- /**
225
- * Get Leaderboard
226
- * @since 0.1
227
- * @version 1.1
228
- */
229
- public function get_leaderboard() {
230
- return '<ol class="myCRED-leaderboard">' . $this->loop( 'li' ) . '</ol>';
231
- }
232
-
233
- /**
234
- * Leaderboard Loop
235
- * @since 1.1.2
236
- * @version 1.0.2
237
- */
238
- public function loop( $wrap = '' ) {
239
- // Default template
240
- if ( empty( $this->args['template'] ) ) $this->args['template'] = '#%ranking% %user_profile_link% %cred_f%';
241
- $output = '';
242
-
243
- // Loop
244
- foreach ( $this->result as $position => $row ) {
245
- // Prep
246
- $class = array();
247
-
248
- // Classes
249
- $class[] = 'item-' . $position;
250
- if ( $position == 0 )
251
- $class[] = 'first-item';
252
-
253
- if ( $position % 2 != 0 )
254
- $class[] = 'alt';
255
-
256
- // Template Tags
257
- if ( !function_exists( 'mycred_get_users_rank' ) )
258
- $layout = str_replace( array( '%rank%', '%ranking%' ), $position+1, $this->args['template'] );
259
- else
260
- $layout = str_replace( '%ranking%', $position+1, $this->args['template'] );
261
-
262
- $layout = $this->core->template_tags_amount( $layout, $row['cred'] );
263
- $layout = $this->core->template_tags_user( $layout, false, $row );
264
-
265
- // Wrapper
266
- if ( !empty( $wrap ) )
267
- $layout = '<' . $wrap . ' class="%classes%">' . $layout . '</' . $wrap . '>';
268
-
269
- $layout = str_replace( '%classes%', apply_filters( 'mycred_ranking_classes', implode( ' ', $class ) ), $layout );
270
- $layout = apply_filters( 'mycred_ranking_row', $layout, $this->args['template'], $row, $position+1 );
271
-
272
- $output .= $layout . "\n";
273
- }
274
-
275
- return $output;
276
- }
277
- }
278
- }
279
-
280
- /**
281
- * Get myCRED Rankings
282
- * Returns the myCRED_Rankings object containing results.
283
- *
284
- * @param $args (array) optional array of arguments for the ranking
285
- * @var number (int) number of results to return
286
- * @var order (string) ASC to return with lowest creds or DESC to return highest creds first
287
- * @var user_fields (string) comma seperated list of table columns to return with each user.
288
- * @var offset (int) optional number to start from when returning records. defaults to zero (first result)
289
- * @var type (string) optional points type
290
- * @var template (string) if this function is called to create a leaderboard this string can contain the template
291
- * for each user
292
- * @uses myCRED_Query_Rankings()
293
- * @uses myCRED_Rankings()
294
- * @returns class object
295
- * @since 0.1
296
- * @version 2.0
297
- */
298
- if ( !function_exists( 'mycred_rankings' ) ) {
299
- function mycred_rankings( $args = array(), $reset = false )
300
- {
301
- $default = array(
302
- 'number' => '-1',
303
- 'order' => 'DESC',
304
- 'user_fields' => 'user_login,display_name,user_email,user_nicename,user_url',
305
- 'offset' => 0,
306
- 'type' => 'mycred_default',
307
- 'template' => '#%ranking% %user_profile_link% %cred_f%'
308
- );
309
- $args = shortcode_atts( $default, $args );
310
- $diff = array_diff( $args, $default );
311
-
312
- global $mycred_rankings;
313
-
314
- $_rankings = get_transient( $args['type'] . '_ranking' );
315
- // Transient is missing or request for reset
316
- if ( false === $_rankings || true === $reset ) {
317
- $ranking = new myCRED_Query_Rankings( array( 'type' => $args['type'] ) );
318
- $ranking->get_rankings();
319
- //$ranking->save( $reset );
320
-
321
- $_rankings = $ranking->result;
322
- }
323
- // Else if arguments are not the default and a new query is required
324
- elseif ( !empty( $diff ) ) {
325
- $ranking = new myCRED_Query_Rankings( $args );
326
- $ranking->get_rankings();
327
-
328
- $_rankings = $ranking->result;
329
- }
330
- $mycred_rankings = new myCRED_Rankings( $args, $_rankings );
331
-
332
- return $mycred_rankings;
333
- }
334
- }
335
-
336
- /**
337
- * Get Users Position
338
- * Returns a given users position in the ranking list.
339
- *
340
- * @param $user_id (int) required user id
341
- * @param $type (string) optional points type
342
- * @returns position (int) or empty if no record could be made
343
- * @since 0.1
344
- * @version 1.1
345
- */
346
- if ( !function_exists( 'mycred_rankings_position' ) ) {
347
- function mycred_rankings_position( $user_id = '', $type = 'mycred_default' )
348
- {
349
- $rankings = mycred_rankings( array( 'type' => $type ) );
350
- return $rankings->users_position( $user_id );
351
- }
352
- }
353
-
354
-
355
-
356
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/mycred-functions.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
5
  * myCRED_Settings class
6
  * @see http://codex.mycred.me/classes/mycred_settings/
7
  * @since 0.1
8
- * @version 1.4.1
9
  */
10
  if ( ! class_exists( 'myCRED_Settings' ) ) :
11
  class myCRED_Settings {
@@ -27,7 +27,7 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
27
  $this->use_master_template = mycred_override_settings();
28
  $this->use_central_logging = mycred_centralize_log();
29
 
30
- if ( $type == '' || $type == NULL ) $type = 'mycred_default';
31
 
32
  // Load Settings
33
  $option_id = 'mycred_pref_core';
@@ -434,7 +434,7 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
434
  * @param $data (object) Log entry data object
435
  * @return (string) parsed string
436
  * @since 0.1
437
- * @version 1.2.1
438
  */
439
  public function template_tags_user( $content = '', $ref_id = NULL, $data = '' ) {
440
  if ( $ref_id === NULL ) return $content;
@@ -491,12 +491,6 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
491
  $content = str_replace( '%balance%', $balance, $content );
492
  $content = str_replace( '%balance_f%', $this->format_creds( $balance ), $content );
493
 
494
- // Ranking
495
- if ( ! function_exists( 'mycred_get_users_rank' ) )
496
- $content = str_replace( array( '%rank%', '%ranking%' ), mycred_rankings_position( $user->ID ), $content );
497
- else
498
- $content = str_replace( '%ranking%', mycred_rankings_position( $user->ID ), $content );
499
-
500
  //$content = str_replace( '', $user->, $content );
501
  unset( $user );
502
 
@@ -633,7 +627,7 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
633
  if ( in_array( 'video', $available ) )
634
  $template_tags[] = array(
635
  'title' => __( 'Video Related', 'mycred' ),
636
- 'url' => 'http://codex.mycred.me/category/template-tags/temp-amount/'
637
  );
638
 
639
  if ( ! empty( $template_tags ) ) {
@@ -668,6 +662,25 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
668
  return strip_tags( $data, apply_filters( 'mycred_allowed_tags', '<a><br><em><strong><span>' ) );
669
  }
670
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
671
  /**
672
  * Edit Creds Cap
673
  * Returns the set edit creds capability.
@@ -808,10 +821,10 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
808
  * @param $user_id (int), required user id
809
  * @returns boolean true on user should be excluded else false
810
  * @since 0.1
811
- * @version 1.0.1
812
  */
813
  public function exclude_user( $user_id = 0 ) {
814
- if ( apply_filters( 'mycred_exclude_user', false, $user_id ) === true ) return true;
815
  if ( $this->exclude_plugin_editors() == true && $this->can_edit_plugin( $user_id ) == true ) return true;
816
  if ( $this->exclude_creds_editors() == true && $this->can_edit_creds( $user_id ) == true ) return true;
817
  if ( $this->in_exclude_list( $user_id ) ) return true;
@@ -855,8 +868,8 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
855
  }
856
 
857
  /**
858
- * Get users creds
859
- * Returns the users creds unformated.
860
  *
861
  * @param $user_id (int), required user id
862
  * @param $type (string), optional cred type to check for
@@ -864,7 +877,7 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
864
  * @since 0.1
865
  * @version 1.4
866
  */
867
- public function get_users_cred( $user_id = NULL, $type = NULL ) {
868
  if ( $user_id === NULL ) return $this->zero();
869
 
870
  $types = mycred_get_types();
@@ -878,9 +891,10 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
878
 
879
  return $this->number( $balance );
880
  }
881
- public function get_users_balance( $user_id = NULL, $type = NULL ) {
882
- return $this->get_users_cred( $user_id, $type );
883
- }
 
884
 
885
  /**
886
  * Update users balance
@@ -893,6 +907,8 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
893
  * @version 1.4
894
  */
895
  public function update_users_balance( $user_id = NULL, $amount = NULL, $type = 'mycred_default' ) {
 
 
896
  if ( $user_id === NULL || $amount === NULL ) return $amount;
897
  if ( empty( $type ) ) $type = $this->get_cred_id();
898
 
@@ -904,7 +920,7 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
904
  }
905
 
906
  // Adjust creds
907
- $current_balance = $this->get_users_cred( $user_id, $type );
908
  $new_balance = $current_balance+$amount;
909
 
910
  // Update creds
@@ -918,7 +934,8 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
918
  do_action( 'mycred_update_user_balance', $user_id, $current_balance, $amount, $type );
919
 
920
  // Return the new balance
921
- return $new_balance;
 
922
  }
923
 
924
  /**
@@ -935,14 +952,17 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
935
  * @param $type (string), optional point name, defaults to 'mycred_default'
936
  * @returns boolean true on success or false on fail
937
  * @since 0.1
938
- * @version 1.4.1
939
  */
940
  public function add_creds( $ref = '', $user_id = '', $amount = '', $entry = '', $ref_id = '', $data = '', $type = 'mycred_default' ) {
941
- // All the reasons we would fail
942
- if ( $ref == '' || $user_id == '' || $amount == '' ) return false;
 
 
 
943
  if ( $this->exclude_user( $user_id ) === true ) return false;
944
 
945
- // Format creds
946
  $amount = $this->number( $amount );
947
  if ( $amount == $this->zero() || $amount == 0 ) return false;
948
 
@@ -954,40 +974,38 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
954
  }
955
 
956
  // Execution Override
957
- // Let others play before awarding points.
958
  // Your functions should return the answer to the question: "Should myCRED adjust the users point balance?"
959
  $execute = apply_filters( 'mycred_add', true, compact( 'ref', 'user_id', 'amount', 'entry', 'ref_id', 'data', 'type' ), $this );
960
 
961
  // Acceptable answers:
962
  // true (boolean) - "Yes" let myCRED add points and log the event
963
  if ( $execute === true ) {
964
- $this->update_users_balance( $user_id, $amount, $type );
965
-
966
- if ( $entry != '' )
967
- $this->add_to_log( $ref, $user_id, $amount, $entry, $ref_id, $data, $type );
968
 
969
- return true;
970
- }
971
- // done (string) - "Already done"
972
- elseif ( $execute === 'done' ) {
973
- return true;
 
 
 
 
 
 
 
 
 
 
 
 
974
  }
 
975
 
976
- return false;
 
977
  }
978
 
979
- /**
980
- * Update Rankings (no longer used)
981
- * Updates the rankings for a given points type.
982
- *
983
- * @param $force (bool), if rankings are updated on a set interval, this option can override
984
- * and force a new setting to be saved.
985
- * @param $type (string), optional points type
986
- * @since 1.1.2
987
- * @version 1.0
988
- */
989
- public function update_rankings( $force = false, $type = 'mycred_default' ) { }
990
-
991
  /**
992
  * Add Log Entry
993
  * Adds a new entry into the log. A reference id, user id and number of credits must be set.
@@ -998,11 +1016,14 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
998
  * @param $ref_id (array), optional array of reference IDs allowing the use of content specific keywords in the log entry
999
  * @param $data (object|array|string|int), optional extra data to save in the log. Note that arrays gets serialized!
1000
  * @returns boolean true on success or false on fail
1001
- * @version 1.0.2
1002
  */
1003
  public function add_to_log( $ref = '', $user_id = '', $amount = '', $entry = '', $ref_id = '', $data = '', $type = 'mycred_default' ) {
1004
- // All the reasons we would fail
1005
- if ( empty( $ref ) || empty( $user_id ) || empty( $amount ) ) return false;
 
 
 
1006
  if ( $amount == $this->zero() || $amount == 0 ) return false;
1007
 
1008
  global $wpdb;
@@ -1041,16 +1062,7 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
1041
  'entry' => $entry,
1042
  'data' => ( is_array( $data ) || is_object( $data ) ) ? serialize( $data ) : $data
1043
  ),
1044
- array(
1045
- '%s',
1046
- '%d',
1047
- '%d',
1048
- $format,
1049
- '%s',
1050
- '%d',
1051
- '%s',
1052
- ( is_numeric( $data ) ) ? '%d' : '%s'
1053
- )
1054
  );
1055
 
1056
  // $wpdb->insert returns false on fail
@@ -1058,6 +1070,7 @@ if ( ! class_exists( 'myCRED_Settings' ) ) :
1058
 
1059
  delete_transient( 'mycred_log_entries' );
1060
  return true;
 
1061
  }
1062
 
1063
  /**
@@ -1344,12 +1357,12 @@ if ( ! function_exists( 'mycred_update_option' ) ) :
1344
  {
1345
  if ( is_multisite() ) {
1346
  if ( mycred_override_settings() )
1347
- update_blog_option( 1, $option_id, $value );
1348
  else
1349
- update_blog_option( $GLOBALS['blog_id'], $option_id, $value );
1350
  }
1351
  else {
1352
- update_option( $option_id, $value );
1353
  }
1354
  }
1355
  endif;
@@ -2283,7 +2296,7 @@ endif;
2283
  * Returns an array of references currently existing in the log
2284
  * for a particular point type. Will return false if empty.
2285
  * @since 1.5
2286
- * @version 1.0.2
2287
  */
2288
  if ( ! function_exists( 'mycred_get_all_references' ) ) :
2289
  function mycred_get_all_references()
@@ -2308,6 +2321,7 @@ if ( ! function_exists( 'mycred_get_all_references' ) ) :
2308
 
2309
  if ( class_exists( 'BuddyPress' ) ) {
2310
  $hooks['new_profile_update'] = __( 'New Profile Update', 'mycred' );
 
2311
  $hooks['upload_avatar'] = __( 'Avatar Upload', 'mycred' );
2312
  $hooks['new_friendship'] = __( 'New Friendship', 'mycred' );
2313
  $hooks['ended_friendship'] = __( 'Ended Friendship', 'mycred' );
@@ -2357,6 +2371,23 @@ if ( ! function_exists( 'mycred_get_all_references' ) ) :
2357
  $hooks['new_topic_post'] = __( 'New Forum Post (SimplePress)', 'mycred' );
2358
  }
2359
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2360
  if ( function_exists( 'vote_poll' ) )
2361
  $hooks['poll_voting'] = __( 'Poll Voting', 'mycred' );
2362
 
@@ -2382,10 +2413,19 @@ if ( ! function_exists( 'mycred_get_all_references' ) ) :
2382
  if ( class_exists( 'myCRED_Coupons_Module' ) )
2383
  $addons['coupon'] = __( 'Coupon Purchase', 'mycred' );
2384
 
2385
- if ( class_exists( 'WC_Gateway_myCRED' ) ) {
2386
- $addons['woocommerce_payment'] = __( 'Store Purchase (WooCommerce)', 'mycred' );
2387
- $addons['marketpress_payment'] = __( 'Store Purchase (MarketPress)', 'mycred' );
2388
- $addons['wpecom_payment'] = __( 'Store Purchase (WP E-Commerce)', 'mycred' );
 
 
 
 
 
 
 
 
 
2389
  $addons = apply_filters( 'mycred_gateway_refs', $addons );
2390
  }
2391
 
@@ -2453,4 +2493,166 @@ if ( ! function_exists( 'isfloat' ) ) :
2453
  return ( $f == (string)(float) $f );
2454
  }
2455
  endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2456
  ?>
5
  * myCRED_Settings class
6
  * @see http://codex.mycred.me/classes/mycred_settings/
7
  * @since 0.1
8
+ * @version 1.5
9
  */
10
  if ( ! class_exists( 'myCRED_Settings' ) ) :
11
  class myCRED_Settings {
27
  $this->use_master_template = mycred_override_settings();
28
  $this->use_central_logging = mycred_centralize_log();
29
 
30
+ if ( $type == '' || $type === NULL ) $type = 'mycred_default';
31
 
32
  // Load Settings
33
  $option_id = 'mycred_pref_core';
434
  * @param $data (object) Log entry data object
435
  * @return (string) parsed string
436
  * @since 0.1
437
+ * @version 1.3
438
  */
439
  public function template_tags_user( $content = '', $ref_id = NULL, $data = '' ) {
440
  if ( $ref_id === NULL ) return $content;
491
  $content = str_replace( '%balance%', $balance, $content );
492
  $content = str_replace( '%balance_f%', $this->format_creds( $balance ), $content );
493
 
 
 
 
 
 
 
494
  //$content = str_replace( '', $user->, $content );
495
  unset( $user );
496
 
627
  if ( in_array( 'video', $available ) )
628
  $template_tags[] = array(
629
  'title' => __( 'Video Related', 'mycred' ),
630
+ 'url' => 'http://codex.mycred.me/category/template-tags/temp-video/'
631
  );
632
 
633
  if ( ! empty( $template_tags ) ) {
662
  return strip_tags( $data, apply_filters( 'mycred_allowed_tags', '<a><br><em><strong><span>' ) );
663
  }
664
 
665
+ /**
666
+ * Allowed HTML Tags
667
+ * Used for settings that support HTML. These settings are
668
+ * sanitized using wp_kses() where these tags are used.
669
+ * @since 1.6
670
+ * @version 1.0
671
+ */
672
+ public function allowed_html_tags() {
673
+ return apply_filters( 'mycred_allowed_html_tags', array(
674
+ 'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ),
675
+ 'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ),
676
+ 'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(),
677
+ 'div' => array( 'class' => array(), 'id' => array() ), 'span' => array( 'class' => array() ),
678
+ 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(),
679
+ 'h1' => array(), 'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(),
680
+ 'img' => array( 'src' => array(), 'class' => array(), 'alt' => array() )
681
+ ), $this );
682
+ }
683
+
684
  /**
685
  * Edit Creds Cap
686
  * Returns the set edit creds capability.
821
  * @param $user_id (int), required user id
822
  * @returns boolean true on user should be excluded else false
823
  * @since 0.1
824
+ * @version 1.0.2
825
  */
826
  public function exclude_user( $user_id = 0 ) {
827
+ if ( apply_filters( 'mycred_exclude_user', false, $user_id, $this ) === true ) return true;
828
  if ( $this->exclude_plugin_editors() == true && $this->can_edit_plugin( $user_id ) == true ) return true;
829
  if ( $this->exclude_creds_editors() == true && $this->can_edit_creds( $user_id ) == true ) return true;
830
  if ( $this->in_exclude_list( $user_id ) ) return true;
868
  }
869
 
870
  /**
871
+ * Get users balance
872
+ * Returns the users balance unformated.
873
  *
874
  * @param $user_id (int), required user id
875
  * @param $type (string), optional cred type to check for
877
  * @since 0.1
878
  * @version 1.4
879
  */
880
+ public function get_users_balance( $user_id = NULL, $type = NULL ) {
881
  if ( $user_id === NULL ) return $this->zero();
882
 
883
  $types = mycred_get_types();
891
 
892
  return $this->number( $balance );
893
  }
894
+ // Replaces
895
+ public function get_users_cred( $user_id = NULL, $type = NULL ) {
896
+ return $this->get_users_balance( $user_id, $type );
897
+ }
898
 
899
  /**
900
  * Update users balance
907
  * @version 1.4
908
  */
909
  public function update_users_balance( $user_id = NULL, $amount = NULL, $type = 'mycred_default' ) {
910
+
911
+ // Minimum Requirements: User id and amount can not be null
912
  if ( $user_id === NULL || $amount === NULL ) return $amount;
913
  if ( empty( $type ) ) $type = $this->get_cred_id();
914
 
920
  }
921
 
922
  // Adjust creds
923
+ $current_balance = $this->get_users_balance( $user_id, $type );
924
  $new_balance = $current_balance+$amount;
925
 
926
  // Update creds
934
  do_action( 'mycred_update_user_balance', $user_id, $current_balance, $amount, $type );
935
 
936
  // Return the new balance
937
+ return $this->number( $new_balance );
938
+
939
  }
940
 
941
  /**
952
  * @param $type (string), optional point name, defaults to 'mycred_default'
953
  * @returns boolean true on success or false on fail
954
  * @since 0.1
955
+ * @version 1.6
956
  */
957
  public function add_creds( $ref = '', $user_id = '', $amount = '', $entry = '', $ref_id = '', $data = '', $type = 'mycred_default' ) {
958
+
959
+ // Minimum Requirements: Reference not empty, User ID not empty and Amount is not empty
960
+ if ( empty( $ref ) || empty( $user_id ) || empty( $amount ) ) return false;
961
+
962
+ // Check exclusion
963
  if ( $this->exclude_user( $user_id ) === true ) return false;
964
 
965
+ // Format amount
966
  $amount = $this->number( $amount );
967
  if ( $amount == $this->zero() || $amount == 0 ) return false;
968
 
974
  }
975
 
976
  // Execution Override
977
+ // Allows us to stop an execution.
978
  // Your functions should return the answer to the question: "Should myCRED adjust the users point balance?"
979
  $execute = apply_filters( 'mycred_add', true, compact( 'ref', 'user_id', 'amount', 'entry', 'ref_id', 'data', 'type' ), $this );
980
 
981
  // Acceptable answers:
982
  // true (boolean) - "Yes" let myCRED add points and log the event
983
  if ( $execute === true ) {
 
 
 
 
984
 
985
+ // Allow the adjustment of the values before we run them
986
+ $run_this = apply_filters( 'mycred_run_this', compact( 'ref', 'user_id', 'amount', 'entry', 'ref_id', 'data', 'type' ), $this );
987
+
988
+ // Add to log
989
+ $this->add_to_log(
990
+ $run_this['ref'],
991
+ $run_this['user_id'],
992
+ $run_this['amount'],
993
+ $run_this['entry'],
994
+ $run_this['ref_id'],
995
+ $run_this['data'],
996
+ $run_this['type']
997
+ );
998
+
999
+ // Update balance
1000
+ $this->update_users_balance( (int) $run_this['user_id'], $run_this['amount'], $run_this['type'] );
1001
+
1002
  }
1003
+ else { $run_this = false; }
1004
 
1005
+ // For all features that need to run once we have done or not done something
1006
+ return apply_filters( 'mycred_add_finished', $execute, $run_this, $this );
1007
  }
1008
 
 
 
 
 
 
 
 
 
 
 
 
 
1009
  /**
1010
  * Add Log Entry
1011
  * Adds a new entry into the log. A reference id, user id and number of credits must be set.
1016
  * @param $ref_id (array), optional array of reference IDs allowing the use of content specific keywords in the log entry
1017
  * @param $data (object|array|string|int), optional extra data to save in the log. Note that arrays gets serialized!
1018
  * @returns boolean true on success or false on fail
1019
+ * @version 1.1
1020
  */
1021
  public function add_to_log( $ref = '', $user_id = '', $amount = '', $entry = '', $ref_id = '', $data = '', $type = 'mycred_default' ) {
1022
+
1023
+ // Minimum Requirements: Reference not empty, User ID not empty and Amount is not empty
1024
+ if ( empty( $ref ) || empty( $user_id ) || empty( $amount ) || empty( $entry ) ) return false;
1025
+
1026
+ // Amount can not be zero!
1027
  if ( $amount == $this->zero() || $amount == 0 ) return false;
1028
 
1029
  global $wpdb;
1062
  'entry' => $entry,
1063
  'data' => ( is_array( $data ) || is_object( $data ) ) ? serialize( $data ) : $data
1064
  ),
1065
+ array( '%s', '%d', '%d', $format, '%s', '%d', '%s', ( is_numeric( $data ) ) ? '%d' : '%s' )
 
 
 
 
 
 
 
 
 
1066
  );
1067
 
1068
  // $wpdb->insert returns false on fail
1070
 
1071
  delete_transient( 'mycred_log_entries' );
1072
  return true;
1073
+
1074
  }
1075
 
1076
  /**
1357
  {
1358
  if ( is_multisite() ) {
1359
  if ( mycred_override_settings() )
1360
+ return update_blog_option( 1, $option_id, $value );
1361
  else
1362
+ return update_blog_option( $GLOBALS['blog_id'], $option_id, $value );
1363
  }
1364
  else {
1365
+ return update_option( $option_id, $value );
1366
  }
1367
  }
1368
  endif;
2296
  * Returns an array of references currently existing in the log
2297
  * for a particular point type. Will return false if empty.
2298
  * @since 1.5
2299
+ * @version 1.2.1
2300
  */
2301
  if ( ! function_exists( 'mycred_get_all_references' ) ) :
2302
  function mycred_get_all_references()
2321
 
2322
  if ( class_exists( 'BuddyPress' ) ) {
2323
  $hooks['new_profile_update'] = __( 'New Profile Update', 'mycred' );
2324
+ $hooks['deleted_profile_update'] = __( 'Profile Update Removal', 'mycred' );
2325
  $hooks['upload_avatar'] = __( 'Avatar Upload', 'mycred' );
2326
  $hooks['new_friendship'] = __( 'New Friendship', 'mycred' );
2327
  $hooks['ended_friendship'] = __( 'Ended Friendship', 'mycred' );
2371
  $hooks['new_topic_post'] = __( 'New Forum Post (SimplePress)', 'mycred' );
2372
  }
2373
 
2374
+ if ( function_exists( 'install_ShareThis' ) ) {
2375
+ $share = mycred_get_share_service_names();
2376
+ $hooks = array_merge_recursive( $share, $hooks );
2377
+ }
2378
+
2379
+ if ( class_exists( 'Affiliate_WP' ) ) {
2380
+ $hooks['affiliate_signup'] = __( 'Affiliate Signup (AffiliateWP)', 'mycred' );
2381
+ $hooks['affiliate_visit_referral'] = __( 'Referred Visit (AffiliateWP)', 'mycred' );
2382
+ $hooks['affiliate_referral'] = __( 'Affiliate Referral (AffiliateWP)', 'mycred' );
2383
+ $hooks['affiliate_referral_refund'] = __( 'Referral Refund (AffiliateWP)', 'mycred' );
2384
+ }
2385
+
2386
+ if ( defined( 'WP_POSTRATINGS_VERSION' ) ) {
2387
+ $hooks['post_rating'] = __( 'Adding a Rating', 'mycred' );
2388
+ $hooks['post_rating_author'] = __( 'Receiving a Rating', 'mycred' );
2389
+ }
2390
+
2391
  if ( function_exists( 'vote_poll' ) )
2392
  $hooks['poll_voting'] = __( 'Poll Voting', 'mycred' );
2393
 
2413
  if ( class_exists( 'myCRED_Coupons_Module' ) )
2414
  $addons['coupon'] = __( 'Coupon Purchase', 'mycred' );
2415
 
2416
+ if ( defined( 'myCRED_GATE' ) ) {
2417
+ if ( class_exists( 'WooCommerce' ) ) {
2418
+ $addons['woocommerce_payment'] = __( 'Store Purchase (WooCommerce)', 'mycred' );
2419
+ $addons['reward'] = __( 'Store Reward (WooCommerce)', 'mycred' );
2420
+ $addons['product_review'] = __( 'Product Review (WooCommerce)', 'mycred' );
2421
+ }
2422
+ if ( class_exists( 'MarketPress' ) ) {
2423
+ $addons['marketpress_payment'] = __( 'Store Purchase (MarketPress)', 'mycred' );
2424
+ $addons['marketpress_reward'] = __( 'Store Reward (MarketPress)', 'mycred' );
2425
+ }
2426
+ if ( class_exists( 'wpsc_merchant' ) )
2427
+ $addons['wpecom_payment'] = __( 'Store Purchase (WP E-Commerce)', 'mycred' );
2428
+
2429
  $addons = apply_filters( 'mycred_gateway_refs', $addons );
2430
  }
2431
 
2493
  return ( $f == (string)(float) $f );
2494
  }
2495
  endif;
2496
+
2497
+ /**
2498
+ * Catch Exchange
2499
+ * Intercepts and executes exchange requests.
2500
+ * @since 1.5
2501
+ * @version 1.1
2502
+ */
2503
+ if ( ! function_exists( 'mycred_catch_exchange_requests' ) ) :
2504
+ function mycred_catch_exchange_requests()
2505
+ {
2506
+ if ( ! isset( $_POST['mycred_exchange']['nonce'] ) || ! wp_verify_nonce( $_POST['mycred_exchange']['nonce'], 'mycred-exchange' ) ) return;
2507
+
2508
+ // Decode token
2509
+ $token = mycred_verify_token( $_POST['mycred_exchange']['token'], 5 );
2510
+ if ( $token === false ) return;
2511
+
2512
+ global $mycred_exchange;
2513
+ list ( $from, $to, $user_id, $rate, $min ) = $token;
2514
+
2515
+ // Check point types
2516
+ $types = mycred_get_types();
2517
+ if ( ! array_key_exists( $from, $types ) || ! array_key_exists( $to, $types ) ) {
2518
+ $mycred_exchange = array(
2519
+ 'success' => false,
2520
+ 'message' => __( 'Point types not found.', 'mycred' )
2521
+ );
2522
+ return;
2523
+ }
2524
+
2525
+ $user_id = get_current_user_id();
2526
+
2527
+ // Check for exclusion
2528
+ $mycred_from = mycred( $from );
2529
+ if ( $mycred_from->exclude_user( $user_id ) ) {
2530
+ $mycred_exchange = array(
2531
+ 'success' => false,
2532
+ 'message' => sprintf( __( 'You are excluded from using %s.', 'mycred' ), $mycred_from->plural() )
2533
+ );
2534
+ return;
2535
+ }
2536
+
2537
+ // Check balance
2538
+ $balance = $mycred_from->get_users_balance( $user_id, $from );
2539
+ if ( $balance < $mycred_from->number( $min ) ) {
2540
+ $mycred_exchange = array(
2541
+ 'success' => false,
2542
+ 'message' => __( 'Your balance is too low to use this feature.', 'mycred' )
2543
+ );
2544
+ return;
2545
+ }
2546
+
2547
+ // Check for exclusion
2548
+ $mycred_to = mycred( $to );
2549
+ if ( $mycred_to->exclude_user( $user_id ) ) {
2550
+ $mycred_exchange = array(
2551
+ 'success' => false,
2552
+ 'message' => sprintf( __( 'You are excluded from using %s.', 'mycred' ), $mycred_to->plural() )
2553
+ );
2554
+ return;
2555
+ }
2556
+
2557
+ // Prep Amount
2558
+ $amount = abs( $_POST['mycred_exchange']['amount'] );
2559
+ $amount = $mycred_from->number( $amount );
2560
+
2561
+ // Make sure we are sending more then minimum
2562
+ if ( $amount < $min ) {
2563
+ $mycred_exchange = array(
2564
+ 'success' => false,
2565
+ 'message' => sprintf( __( 'You must exchange at least %s!', 'mycred' ), $mycred_from->format_creds( $min ) )
2566
+ );
2567
+ return;
2568
+ }
2569
+
2570
+ // Make sure we have enough points
2571
+ if ( $amount > $balance ) {
2572
+ $mycred_exchange = array(
2573
+ 'success' => false,
2574
+ 'message' => __( 'Insufficient Funds. Please try a lower amount.', 'mycred' )
2575
+ );
2576
+ return;
2577
+ }
2578
+
2579
+ // Let others decline
2580
+ $reply = apply_filters( 'mycred_decline_exchange', false, compact( 'from', 'to', 'user_id', 'rate', 'min', 'amount' ) );
2581
+ if ( $reply === false ) {
2582
+
2583
+ $mycred_from->add_creds(
2584
+ 'exchange',
2585
+ $user_id,
2586
+ 0-$amount,
2587
+ sprintf( __( 'Exchange from %s', 'mycred' ), $mycred_from->plural() ),
2588
+ 0,
2589
+ array( 'from' => $from, 'rate' => $rate, 'min' => $min ),
2590
+ $from
2591
+ );
2592
+
2593
+ $exchanged = $mycred_to->number( ( $amount * $rate ) );
2594
+
2595
+ $mycred_to->add_creds(
2596
+ 'exchange',
2597
+ $user_id,
2598
+ $exchanged,
2599
+ sprintf( __( 'Exchange to %s', 'mycred' ), $mycred_to->plural() ),
2600
+ 0,
2601
+ array( 'to' => $to, 'rate' => $rate, 'min' => $min ),
2602
+ $to
2603
+ );
2604
+
2605
+ $mycred_exchange = array(
2606
+ 'success' => true,
2607
+ 'message' => sprintf( __( 'You have successfully exchanged %s into %s.', 'mycred' ), $mycred_from->format_creds( $amount ), $mycred_to->format_creds( $exchanged ) )
2608
+ );
2609
+
2610
+ }
2611
+ else {
2612
+ $mycred_exchange = array(
2613
+ 'success' => false,
2614
+ 'message' => $reply
2615
+ );
2616
+ return;
2617
+ }
2618
+
2619
+ }
2620
+ endif;
2621
+
2622
+ /**
2623
+ * Translate Limit Code
2624
+ * @since 1.6
2625
+ * @version 1.0
2626
+ */
2627
+ if ( ! function_exists( 'mycred_translate_limit_code' ) ) :
2628
+ function mycred_translate_limit_code( $code = '' ) {
2629
+
2630
+ if ( $code == '' ) return '-';
2631
+
2632
+ if ( $code == '0/x' || $code == 0 )
2633
+ return __( 'No limit', 'mycred' );
2634
+
2635
+ $check = explode( '/', $code );
2636
+ if ( count( $check ) == 2 ) {
2637
+ if ( $check[1] == 'd' )
2638
+ $per = __( 'per day', 'mycred' );
2639
+ elseif ( $check[1] == 'w' )
2640
+ $per = __( 'per week', 'mycred' );
2641
+ elseif ( $check[1] == 'm' )
2642
+ $per = __( 'per month', 'mycred' );
2643
+ else
2644
+ $per = __( 'in total', 'mycred' );
2645
+
2646
+ $result = sprintf( _n( 'Maximum once', 'Maximum %d times', $check[0], 'mycred' ), $check[0] ) . ' ' . $per;
2647
+
2648
+ }
2649
+ else {
2650
+ $result = sprintf( _n( 'Maximum once', 'Maximum %d times', $limit, 'mycred' ), $code );
2651
+ }
2652
+
2653
+ return apply_filters( 'mycred_translate_limit_code', $result, $code );
2654
+
2655
+ }
2656
+ endif;
2657
+
2658
  ?>
includes/mycred-install.php CHANGED
@@ -98,15 +98,17 @@ if ( ! class_exists( 'myCRED_Install' ) ) {
98
  /**
99
  * Re-activation
100
  * @since 0.1
101
- * @version 1.3
102
  */
103
  public function reactivate() {
104
- do_action( 'mycred_reactivation' );
 
105
 
106
  if ( isset( $_GET['activate-multi'] ) )
107
  return;
108
 
109
  set_transient( '_mycred_activation_redirect', true, 60 );
 
110
  }
111
 
112
  /**
@@ -491,7 +493,7 @@ if ( ! class_exists( 'myCRED_Setup' ) ) {
491
  <li>
492
  <label><?php _e( 'Decimals', 'mycred' ); ?></label>
493
  <h2><input type="text" name="myCRED-format-dec" id="myCRED-format-dec" value="<?php echo $default_decimals; ?>" size="6" /></h2>
494
- <span class="description"><?php _e( 'Use zero for no decimals.', 'mycred' ); ?></span>
495
  </li>
496
  </ol>
497
  <h2 class="shadow"><?php _e( 'Presentation', 'mycred' ); ?></h2>
@@ -564,7 +566,7 @@ if ( ! class_exists( 'myCRED_Setup' ) ) {
564
  <li class="block">
565
  <label for="myCRED-max"><?php echo $mycred->template_tags_general( __( 'Maximum %plural% payouts', 'mycred' ) ); ?></label>
566
  <div class="h2"><input type="text" name="myCRED-max" id="myCRED-max" value="<?php echo $max; ?>" size="8" /></div>
567
- <div class="description"><?php _e( 'As an added security, you can set the maximum amount a user can gain or loose in a single instance. If used, make sure this is the maximum amount a user would be able to transfer, buy, or spend in your store. Use zero to disable.', 'mycred' ); ?></div>
568
  </li>
569
  </ol>
570
  <h2><?php _e( 'Excludes', 'mycred' ); ?></h2>
98
  /**
99
  * Re-activation
100
  * @since 0.1
101
+ * @version 1.3.1
102
  */
103
  public function reactivate() {
104
+
105
+ do_action( 'mycred_reactivation', $this->ver );
106
 
107
  if ( isset( $_GET['activate-multi'] ) )
108
  return;
109
 
110
  set_transient( '_mycred_activation_redirect', true, 60 );
111
+
112
  }
113
 
114
  /**
493
  <li>
494
  <label><?php _e( 'Decimals', 'mycred' ); ?></label>
495
  <h2><input type="text" name="myCRED-format-dec" id="myCRED-format-dec" value="<?php echo $default_decimals; ?>" size="6" /></h2>
496
+ <span class="description"><?php _e( 'Use zero for no decimals or maximum 20.', 'mycred' ); ?></span>
497
  </li>
498
  </ol>
499
  <h2 class="shadow"><?php _e( 'Presentation', 'mycred' ); ?></h2>
566
  <li class="block">
567
  <label for="myCRED-max"><?php echo $mycred->template_tags_general( __( 'Maximum %plural% payouts', 'mycred' ) ); ?></label>
568
  <div class="h2"><input type="text" name="myCRED-max" id="myCRED-max" value="<?php echo $max; ?>" size="8" /></div>
569
+ <span class="description"><?php _e( 'As an added security, you can set the maximum amount a user can gain or loose in a single instance. If used, make sure this is the maximum amount a user would be able to transfer, buy, or spend in your store. Use zero to disable.', 'mycred' ); ?></span>
570
  </li>
571
  </ol>
572
  <h2><?php _e( 'Excludes', 'mycred' ); ?></h2>
includes/mycred-leaderboard.php DELETED
@@ -1,320 +0,0 @@
1
- <?php
2
- if ( ! defined( 'myCRED_VERSION' ) ) exit;
3
-
4
- /**
5
- * Get myCRED Leaderboard
6
- * Returns the myCRED_Leaderboard object containing results.
7
- *
8
- * @param $args (array) optional array of arguments for the ranking
9
- * @var number (int) number of results to return
10
- * @var order (string) ASC to return with lowest creds or DESC to return highest creds first
11
- * @var user_fields (string) comma seperated list of table columns to return with each user.
12
- * @var offset (int) optional number to start from when returning records. defaults to zero (first result)
13
- * @var type (string) optional points type
14
- * @var template (string) if this function is called to create a leaderboard this string can contain the template
15
- * for each user
16
- * @uses myCRED_Query_Rankings()
17
- * @uses myCRED_Rankings()
18
- * @returns class object
19
- * @since 1.4
20
- * @version 1.0
21
- */
22
- if ( ! function_exists( 'mycred_get_leaderboard' ) ) :
23
- function mycred_get_leaderboard( $args = array(), $reset = false, $raw = false )
24
- {
25
- $default = array(
26
- 'number' => '-1',
27
- 'order' => 'DESC',
28
- 'user_fields' => 'user_login,display_name,user_email,user_nicename,user_url',
29
- 'offset' => 0,
30
- 'type' => 'mycred_default',
31
- 'template' => '#%ranking% %user_profile_link% %cred_f%'
32
- );
33
- $args = shortcode_atts( $default, $args );
34
-
35
- return new myCRED_Query_Leaderboard( $args );
36
- }
37
- endif;
38
-
39
- /**
40
- * Get Users Position
41
- * Returns a given users position in the leaderboard.
42
- *
43
- * @param $user_id (int) required user id
44
- * @param $type (string) optional points type
45
- * @returns position (int) or empty if no record could be made
46
- * @since 1.4
47
- * @version 1.0
48
- */
49
- if ( ! function_exists( 'mycred_leaderboard_position' ) ) :
50
- function mycred_leaderboard_position( $user_id = '', $type = 'mycred_default' )
51
- {
52
- $args = array( 'type' => $type );
53
- $rankings = mycred_get_leaderboard( $args);
54
- $leaderboard = new myCRED_Leaderboard( $args, $rankings->get_results() );
55
- return apply_filters( 'mycred_get_leaderboard_position', $leaderboard->users_position( $user_id ), $user_id, $type );
56
- }
57
- endif;
58
-
59
- /**
60
- * myCRED Query Leaderboard Class
61
- * @see http://codex.mycred.me/classes/mycred_query_leaderboard/
62
- * @since 1.4
63
- * @version 1.0
64
- */
65
- if ( ! class_exists( 'myCRED_Query_Leaderboard' ) ) :
66
- class myCRED_Query_Leaderboard {
67
-
68
- public $args;
69
- public $count = 0;
70
- public $result;
71
-
72
- /**
73
- * Constructor
74
- */
75
- public function __construct( $args = '' ) {
76
- $this->args = shortcode_atts( array(
77
- 'number' => 10,
78
- 'order' => 'DESC',
79
- 'user_fields' => 'user_login,display_name,user_email,user_nicename,user_url',
80
- 'offset' => 0,
81
- 'zero' => 1,
82
- 'type' => 'mycred_default'
83
- ), $args );
84
- }
85
-
86
- /**
87
- * Have Results
88
- * @returns true or false
89
- * @since 1.1.2
90
- * @version 1.0
91
- */
92
- public function have_results() {
93
- if ( ! empty( $this->result ) ) return true;
94
-
95
- return false;
96
- }
97
-
98
- /**
99
- * Get Leaderboard
100
- * Queries the DB for all users in order of their point balance.
101
- * @since 1.1.2
102
- * @version 1.0.2
103
- */
104
- public function get_results() {
105
- global $wpdb;
106
-
107
- // Type can not be empty
108
- if ( ! empty( $this->args['type'] ) )
109
- $key = $this->args['type'];
110
- else
111
- $key = 'mycred_default';
112
-
113
- // Order
114
- if ( ! empty( $this->args['order'] ) )
115
- $order = $this->args['order'];
116
- else
117
- $order = 'DESC';
118
-
119
- // Number
120
- if ( $this->args['number'] != '-1' )
121
- $limit = 'LIMIT ' . abs( $this->args['offset'] ) . ',' . abs( $this->args['number'] );
122
- else
123
- $limit = '';
124
-
125
- // User fields
126
- if ( empty( $this->args['user_fields'] ) )
127
- $this->args['user_fields'] = 'display_name,user_login';
128
-
129
- $user_fields = trim( $this->args['user_fields'] );
130
- $user_fields = str_replace( ' ', '', $user_fields );
131
- $user_fields = explode( ',', $user_fields );
132
-
133
- // SELECT
134
- $selects = array( "{$wpdb->users}.ID" );
135
- foreach ( $user_fields as $field ) {
136
- if ( $field == 'ID' ) continue;
137
- $selects[] = "{$wpdb->users}." . $field;
138
- }
139
- $selects[] = "{$wpdb->usermeta}.meta_value AS cred";
140
- $select = implode( ', ', $selects );
141
-
142
- // WHERE
143
- $where = '';
144
- if ( $this->args['zero'] )
145
- $where = "WHERE {$wpdb->usermeta}.meta_value > 0 ";
146
-
147
- $SQL = apply_filters( 'mycred_ranking_sql', "
148
- SELECT {$select}
149
- FROM {$wpdb->users}
150
- LEFT JOIN {$wpdb->usermeta}
151
- ON {$wpdb->users}.ID = {$wpdb->usermeta}.user_id
152
- AND {$wpdb->usermeta}.meta_key = %s
153
- {$where}
154
- ORDER BY {$wpdb->usermeta}.meta_value+1 {$order} {$limit};", $this->args, $wpdb );
155
-
156
- $this->result = $wpdb->get_results( $wpdb->prepare( $SQL, $key ), 'ARRAY_A' );
157
- $this->count = $wpdb->num_rows;
158
- }
159
-
160
- /**
161
- * Save
162
- * With the option to reset and bypass any set frequency.
163
- * If a frequency is set to something other then 'always', then that
164
- * setting is enforced.
165
- * @since 1.1.2
166
- * @version 1.0
167
- */
168
- public function save( $reset = false ) {
169
- // No longer used
170
- }
171
- }
172
- endif;
173
-
174
- /**
175
- * myCRED_Rankings class
176
- * @see http://codex.mycred.me/classes/mycred_leaderboard/
177
- * @since 1.4
178
- * @version 1.0
179
- */
180
- if ( ! class_exists( 'myCRED_Leaderboard' ) ) :
181
- class myCRED_Leaderboard {
182
-
183
- public $core;
184
- public $args;
185
- public $result;
186
-
187
- /**
188
- * Constructor
189
- */
190
- public function __construct( $args = array(), $results = array() ) {
191
- if ( ! isset( $args['type'] ) || empty( $args['type'] ) )
192
- $args['type'] = 'mycred_default';
193
-
194
- // Get settings
195
- $mycred = mycred( $args['type'] );
196
- $this->core = $mycred;
197
- $this->args = $args;
198
- $this->result = $results;
199
- }
200
-
201
- /**
202
- * Have Results
203
- * @returns true or false
204
- * @since 0.1
205
- * @version 1.1
206
- */
207
- public function have_results() {
208
- if ( ! empty( $this->result ) ) return true;
209
- return false;
210
- }
211
-
212
- /**
213
- * Users Position
214
- * @param $user_id (int) required user id
215
- * @returns position (int)
216
- * @since 0.1
217
- * @version 1.1
218
- */
219
- public function users_position( $user_id = NULL ) {
220
- if ( $user_id !== NULL ) {
221
- if ( $this->have_results() ) {
222
- foreach ( $this->result as $row_id => $row_data ) {
223
- if ( ! isset( $row_data['ID'] ) ) $row_uid = $row_data['user_id'];
224
- else $row_uid = $row_data['ID'];
225
-
226
- if ( $row_uid == (int) $user_id ) return $row_id+1;
227
- }
228
- }
229
- }
230
-
231
- return 0;
232
- }
233
-
234
- /**
235
- * Users Creds
236
- * @param $user_id (int) user id
237
- * @returns position (int) or empty
238
- * @since 0.1
239
- * @version 1.1
240
- */
241
- public function users_creds( $user_id = NULL ) {
242
- if ( $user_id !== NULL ) {
243
- if ( $this->have_results() ) {
244
- foreach ( $this->result as $row_id => $row_data ) {
245
- if ( ! isset( $row_data['ID'] ) ) $row_uid = $row_data['user_id'];
246
- else $row_uid = $row_data['ID'];
247
-
248
- if ( $row_uid == (int) $user_id ) return $row_data['creds'];
249
- }
250
- }
251
- }
252
-
253
- return 0;
254
- }
255
-
256
- /**
257
- * Leaderboard
258
- * @since 0.1
259
- * @version 1.0
260
- */
261
- public function leaderboard() {
262
- echo $this->get_leaderboard();
263
- }
264
-
265
- /**
266
- * Get Leaderboard
267
- * @since 0.1
268
- * @version 1.1
269
- */
270
- public function get_leaderboard() {
271
- return '<ol class="myCRED-leaderboard">' . $this->loop( 'li' ) . '</ol>';
272
- }
273
-
274
- /**
275
- * Leaderboard Loop
276
- * @since 1.1.2
277
- * @version 1.0.2
278
- */
279
- public function loop( $wrap = '' ) {
280
- // Default template
281
- if ( empty( $this->args['template'] ) ) $this->args['template'] = '#%ranking% %user_profile_link% %cred_f%';
282
- $output = '';
283
-
284
- // Loop
285
- foreach ( $this->result as $position => $row ) {
286
- // Prep
287
- $class = array();
288
-
289
- // Classes
290
- $class[] = 'item-' . $position;
291
- if ( $position == 0 )
292
- $class[] = 'first-item';
293
-
294
- if ( $position % 2 != 0 )
295
- $class[] = 'alt';
296
-
297
- // Template Tags
298
- if ( ! function_exists( 'mycred_get_users_rank' ) )
299
- $layout = str_replace( array( '%rank%', '%ranking%' ), $position+1, $this->args['template'] );
300
- else
301
- $layout = str_replace( '%ranking%', $position+1, $this->args['template'] );
302
-
303
- $layout = $this->core->template_tags_amount( $layout, $row['cred'] );
304
- $layout = $this->core->template_tags_user( $layout, false, $row );
305
-
306
- // Wrapper
307
- if ( ! empty( $wrap ) )
308
- $layout = '<' . $wrap . ' class="%classes%">' . $layout . '</' . $wrap . '>';
309
-
310
- $layout = str_replace( '%classes%', apply_filters( 'mycred_ranking_classes', implode( ' ', $class ) ), $layout );
311
- $layout = apply_filters( 'mycred_ranking_row', $layout, $this->args['template'], $row, $position+1 );
312
-
313
- $output .= $layout . "\n";
314
- }
315
-
316
- return $output;
317
- }
318
- }
319
- endif;
320
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/mycred-overview.php CHANGED
@@ -5,13 +5,13 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
5
  * Dashboard Widget: Overview
6
  * @see https://codex.wordpress.org/Example_Dashboard_Widget
7
  * @since 1.3.3
8
- * @version 1.2.1
9
  */
10
  add_action( 'wp_dashboard_setup', array( 'myCRED_Dashboard_Widget_Overview', 'init' ) );
11
  if ( ! class_exists( 'myCRED_Dashboard_Widget_Overview' ) ) {
12
  class myCRED_Dashboard_Widget_Overview {
13
 
14
- const wid = 'mycred_overview';
15
 
16
  /**
17
  * Init Widget
@@ -21,7 +21,7 @@ if ( ! class_exists( 'myCRED_Dashboard_Widget_Overview' ) ) {
21
 
22
  // Add widget
23
  wp_add_dashboard_widget(
24
- self::wid,
25
  sprintf( __( '%s Overview', 'mycred' ), mycred_label() ),
26
  array( 'myCRED_Dashboard_Widget_Overview', 'widget' )
27
  );
5
  * Dashboard Widget: Overview
6
  * @see https://codex.wordpress.org/Example_Dashboard_Widget
7
  * @since 1.3.3
8
+ * @version 1.2.2
9
  */
10
  add_action( 'wp_dashboard_setup', array( 'myCRED_Dashboard_Widget_Overview', 'init' ) );
11
  if ( ! class_exists( 'myCRED_Dashboard_Widget_Overview' ) ) {
12
  class myCRED_Dashboard_Widget_Overview {
13
 
14
+ const mycred_wid = 'mycred_overview';
15
 
16
  /**
17
  * Init Widget
21
 
22
  // Add widget
23
  wp_add_dashboard_widget(
24
+ self::mycred_wid,
25
  sprintf( __( '%s Overview', 'mycred' ), mycred_label() ),
26
  array( 'myCRED_Dashboard_Widget_Overview', 'widget' )
27
  );
includes/mycred-protect.php CHANGED
@@ -4,9 +4,9 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
4
  /**
5
  * myCRED_Protect class
6
  * @since 0.1
7
- * @version 1.2
8
  */
9
- if ( ! class_exists( 'myCRED_Protect' ) && function_exists( 'mcrypt_get_iv_size' ) && ! defined( 'MYCRED_DISABLE_PROTECTION' ) ) :
10
  class myCRED_Protect {
11
 
12
  public $skey;
@@ -30,7 +30,7 @@ if ( ! class_exists( 'myCRED_Protect' ) && function_exists( 'mcrypt_get_iv_size'
30
  * Reset Key
31
  */
32
  public function reset_key() {
33
- $skey = wp_generate_password( 12, true, true );
34
  mycred_update_option( 'mycred_key', $skey );
35
  $this->skey = $skey;
36
  }
@@ -38,39 +38,54 @@ if ( ! class_exists( 'myCRED_Protect' ) && function_exists( 'mcrypt_get_iv_size'
38
  /**
39
  * Encode
40
  */
41
- public function do_encode( $value ) {
42
- if ( ! $value ) { return false; }
43
- $text = $value;
44
- $iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB );
45
- $iv = mcrypt_create_iv( $iv_size, MCRYPT_RAND );
46
- $crypttext = mcrypt_encrypt( MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv );
47
- return trim( $this->do_safe_b64encode( $crypttext ) );
 
 
 
 
 
48
  }
49
 
50
  /**
51
  * Decode
52
  */
53
  public function do_decode( $value ) {
54
- if ( ! $value ) { return false; }
55
- $crypttext = $this->do_safe_b64decode( $value );
56
- $iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB );
57
- $iv = mcrypt_create_iv( $iv_size, MCRYPT_RAND );
58
- $decrypttext = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv );
59
- return trim( $decrypttext );
 
 
 
 
 
60
  }
61
 
62
  /**
63
  * Retrieve
64
  */
65
  protected function do_retrieve( $value ) {
66
- if ( ! $value ) { return false; }
67
- $crypttext = $this->do_safe_b64decode( $value );
68
- $iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB );
69
- $iv = mcrypt_create_iv( $iv_size, MCRYPT_RAND );
70
- $decrypttext = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv );
71
- $string = trim( $decrypttext );
72
- parse_str( $string, $output );
73
- return $output;
 
 
 
 
 
74
  }
75
 
76
  /**
@@ -99,7 +114,7 @@ endif;
99
  /**
100
  * Load myCRED Protect
101
  * @since 0.1
102
- * @version 1.0.1
103
  */
104
  if ( ! function_exists( 'mycred_protect' ) ) :
105
  function mycred_protect()
4
  /**
5
  * myCRED_Protect class
6
  * @since 0.1
7
+ * @version 1.3
8
  */
9
+ if ( ! class_exists( 'myCRED_Protect' ) && ! defined( 'MYCRED_DISABLE_PROTECTION' ) ) :
10
  class myCRED_Protect {
11
 
12
  public $skey;
30
  * Reset Key
31
  */
32
  public function reset_key() {
33
+ $skey = wp_generate_password( 16, true, true );
34
  mycred_update_option( 'mycred_key', $skey );
35
  $this->skey = $skey;
36
  }
38
  /**
39
  * Encode
40
  */
41
+ public function do_encode( $value = NULL ) {
42
+ if ( $value === NULL || empty( $value ) ) return false;
43
+
44
+ if ( function_exists( 'mcrypt_encrypt' ) ) {
45
+ $text = $value;
46
+ $iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB );
47
+ $iv = mcrypt_create_iv( $iv_size, MCRYPT_RAND );
48
+ $crypttext = mcrypt_encrypt( MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv );
49
+ return trim( $this->do_safe_b64encode( $crypttext ) );
50
+ }
51
+
52
+ return $value;
53
  }
54
 
55
  /**
56
  * Decode
57
  */
58
  public function do_decode( $value ) {
59
+ if ( $value === NULL || empty( $value ) ) return false;
60
+
61
+ if ( function_exists( 'mcrypt_decrypt' ) ) {
62
+ $crypttext = $this->do_safe_b64decode( $value );
63
+ $iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB );
64
+ $iv = mcrypt_create_iv( $iv_size, MCRYPT_RAND );
65
+ $decrypttext = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv );
66
+ return trim( $decrypttext );
67
+ }
68
+
69
+ return $value;
70
  }
71
 
72
  /**
73
  * Retrieve
74
  */
75
  protected function do_retrieve( $value ) {
76
+ if ( $value === NULL || empty( $value ) ) return false;
77
+
78
+ if ( function_exists( 'mcrypt_decrypt' ) ) {
79
+ $crypttext = $this->do_safe_b64decode( $value );
80
+ $iv_size = mcrypt_get_iv_size( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB );
81
+ $iv = mcrypt_create_iv( $iv_size, MCRYPT_RAND );
82
+ $decrypttext = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv );
83
+ $string = trim( $decrypttext );
84
+ parse_str( $string, $output );
85
+ return $output;
86
+ }
87
+
88
+ return $value;
89
  }
90
 
91
  /**
114
  /**
115
  * Load myCRED Protect
116
  * @since 0.1
117
+ * @version 1.1
118
  */
119
  if ( ! function_exists( 'mycred_protect' ) ) :
120
  function mycred_protect()
includes/mycred-remote.php CHANGED
@@ -552,7 +552,7 @@ function mycred_remote_settings_page( $mycred_general )
552
  <ol id="myCRED-remote-api-key" class="inline">
553
  <li>
554
  <label><?php _e( 'Key', 'mycred' ); ?></label>
555
- <div class="h2"><input type="text" name="mycred_pref_core[remote][key]" id="myCRED-remote-key" value="<?php echo $settings['key']; ?>" style="width:90%;" placeholder="<?php _e( 'min. 12 characters', 'mycred' ); ?>" /></div>
556
  <span class="description"><?php _e( 'Required for this feature to work!<br />Minimum 12 characters.', 'mycred' ); ?></span>
557
  </li>
558
  <li>
552
  <ol id="myCRED-remote-api-key" class="inline">
553
  <li>
554
  <label><?php _e( 'Key', 'mycred' ); ?></label>
555
+ <div class="h2"><input type="text" name="mycred_pref_core[remote][key]" id="myCRED-remote-key" value="<?php echo $settings['key']; ?>" style="width:90%;" placeholder="<?php _e( '16, 24 or 32 characters', 'mycred' ); ?>" /></div>
556
  <span class="description"><?php _e( 'Required for this feature to work!<br />Minimum 12 characters.', 'mycred' ); ?></span>
557
  </li>
558
  <li>
includes/mycred-shortcodes.php CHANGED
@@ -7,13 +7,13 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
7
  * @see http://codex.mycred.me/shortcodes/mycred_my_balance/
8
  * @contributor Ian Tasker
9
  * @since 1.0.9
10
- * @version 1.2.1
11
  */
12
  if ( ! function_exists( 'mycred_render_shortcode_my_balance' ) ) :
13
- function mycred_render_shortcode_my_balance( $atts )
14
- {
15
  extract( shortcode_atts( array(
16
- 'login' => NULL,
17
  'title' => '',
18
  'title_el' => 'h1',
19
  'balance_el' => 'div',
@@ -24,23 +24,14 @@ if ( ! function_exists( 'mycred_render_shortcode_my_balance' ) ) :
24
  $output = '';
25
 
26
  // Not logged in
27
- if ( ! is_user_logged_in() ) {
28
- if ( $login !== NULL ) {
29
- if ( $wrapper )
30
- $output .= '<div class="mycred-not-logged-in">';
31
-
32
- $output .= $login;
33
 
34
- if ( $wrapper )
35
- $output .= '</div>';
36
-
37
- return $output;
38
- }
39
- return;
40
- }
41
 
42
- $user_id = get_current_user_id();
43
  $mycred = mycred( $type );
 
44
  // Check for exclusion
45
  if ( $mycred->exclude_user( $user_id ) ) return;
46
 
@@ -75,6 +66,7 @@ if ( ! function_exists( 'mycred_render_shortcode_my_balance' ) ) :
75
  $output .= '</div>';
76
 
77
  return $output;
 
78
  }
79
  endif;
80
 
@@ -83,11 +75,11 @@ endif;
83
  * Returns the points history.
84
  * @see http://codex.mycred.me/shortcodes/mycred_history/
85
  * @since 1.0.9
86
- * @version 1.2
87
  */
88
  if ( ! function_exists( 'mycred_render_shortcode_history' ) ) :
89
- function mycred_render_shortcode_history( $atts )
90
- {
91
  extract( shortcode_atts( array(
92
  'user_id' => '',
93
  'number' => '',
@@ -95,12 +87,14 @@ if ( ! function_exists( 'mycred_render_shortcode_history' ) ) :
95
  'ref' => '',
96
  'order' => '',
97
  'show_user' => 0,
 
98
  'login' => '',
99
  'type' => 'mycred_default'
100
  ), $atts ) );
101
 
102
  // If we are not logged in
103
- if ( ! is_user_logged_in() && $login != '' ) return '<p class="mycred-history login">' . $login . '</p>';
 
104
 
105
  if ( $user_id == 'current' )
106
  $user_id = get_current_user_id();
@@ -130,12 +124,14 @@ if ( ! function_exists( 'mycred_render_shortcode_history' ) ) :
130
  if ( $show_user != 1 )
131
  unset( $log->headers['column-username'] );
132
 
133
- ob_start(); ?>
 
 
134
 
135
  <form class="form" role="form" method="get" action="">
136
  <div class="tablenav top">
137
 
138
- <?php if ( $log->have_entries() && $log->max_num_pages > 1 ) $log->navigation( 'top' ); ?>
139
 
140
  </div>
141
 
@@ -143,7 +139,7 @@ if ( ! function_exists( 'mycred_render_shortcode_history' ) ) :
143
 
144
  <div class="tablenav bottom">
145
 
146
- <?php if ( $log->have_entries() && $log->max_num_pages > 1 ) $log->navigation( 'bottom' ); ?>
147
 
148
  </div>
149
  </form>
@@ -155,6 +151,7 @@ if ( ! function_exists( 'mycred_render_shortcode_history' ) ) :
155
  $log->reset_query();
156
 
157
  return $content;
 
158
  }
159
  endif;
160
 
@@ -165,8 +162,8 @@ endif;
165
  * @version 1.4.3
166
  */
167
  if ( ! function_exists( 'mycred_render_shortcode_leaderboard' ) ) :
168
- function mycred_render_shortcode_leaderboard( $atts, $content = '' )
169
- {
170
  extract( shortcode_atts( array(
171
  'number' => '-1',
172
  'order' => 'DESC',
@@ -277,10 +274,7 @@ if ( ! function_exists( 'mycred_render_shortcode_leaderboard' ) ) :
277
  $template = $content;
278
 
279
  // Template Tags
280
- if ( ! function_exists( 'mycred_get_users_rank' ) )
281
- $layout = str_replace( array( '%rank%', '%ranking%', '%position%' ), $position+1, $template );
282
- else
283
- $layout = str_replace( array( '%ranking%', '%position%' ), $position+1, $template );
284
 
285
  $layout = $mycred->template_tags_amount( $layout, $user['cred'] );
286
  $layout = $mycred->template_tags_user( $layout, $user['ID'] );
@@ -334,10 +328,7 @@ if ( ! function_exists( 'mycred_render_shortcode_leaderboard' ) ) :
334
  if ( $current_position !== false ) {
335
 
336
  // Template Tags
337
- if ( ! function_exists( 'mycred_get_users_rank' ) )
338
- $layout = str_replace( array( '%rank%', '%ranking%', '%position%' ), $current_position+1, $template );
339
- else
340
- $layout = str_replace( array( '%ranking%', '%position%' ), $current_position+1, $template );
341
 
342
  $layout = $mycred->template_tags_amount( $layout, $mycred->get_users_cred( $current_user->ID, $type ) );
343
  $layout = $mycred->template_tags_user( $layout, false, $current_user );
@@ -369,6 +360,7 @@ if ( ! function_exists( 'mycred_render_shortcode_leaderboard' ) ) :
369
  }
370
 
371
  return do_shortcode( apply_filters( 'mycred_leaderboard', $output, $atts ) );
 
372
  }
373
  endif;
374
 
@@ -376,11 +368,11 @@ endif;
376
  * myCRED Shortcode: mycred_my_ranking
377
  * @see http://codex.mycred.me/shortcodes/mycred_my_ranking/
378
  * @since 0.1
379
- * @version 1.4.2
380
  */
381
  if ( ! function_exists( 'mycred_render_shortcode_my_ranking' ) ) :
382
- function mycred_render_shortcode_my_ranking( $atts )
383
- {
384
  extract( shortcode_atts( array(
385
  'user_id' => '',
386
  'ctype' => 'mycred_default',
@@ -389,12 +381,11 @@ if ( ! function_exists( 'mycred_render_shortcode_my_ranking' ) ) :
389
  ), $atts ) );
390
 
391
  // If no id is given
392
- if ( $user_id == '' ) {
393
- // Current user must be logged in for this shortcode to work
394
- if ( ! is_user_logged_in() ) return;
395
- // Get current user id
396
  $user_id = get_current_user_id();
397
- }
398
 
399
  // If no type is given
400
  if ( $ctype == '' )
@@ -438,6 +429,7 @@ if ( ! function_exists( 'mycred_render_shortcode_my_ranking' ) ) :
438
  $full_leaderboard = NULL;
439
 
440
  return apply_filters( 'mycred_get_leaderboard_position', $position, $user_id, $ctype );
 
441
  }
442
  endif;
443
 
@@ -449,15 +441,13 @@ endif;
449
  * this shortcode exectutes!
450
  * @see http://codex.mycred.me/shortcodes/mycred_give/
451
  * @since 1.1
452
- * @version 1.2
453
  */
454
  if ( ! function_exists( 'mycred_render_shortcode_give' ) ) :
455
- function mycred_render_shortcode_give( $atts )
456
- {
457
- if ( ! is_user_logged_in() ) return;
458
 
459
  extract( shortcode_atts( array(
460
- 'amount' => NULL,
461
  'user_id' => '',
462
  'log' => '',
463
  'ref' => 'gift',
@@ -465,16 +455,14 @@ if ( ! function_exists( 'mycred_render_shortcode_give' ) ) :
465
  'type' => 'mycred_default'
466
  ), $atts ) );
467
 
468
- if ( $amount === NULL )
469
- return '<strong>' . __( 'error', 'mycred' ) . '</strong> ' . __( 'Amount missing!', 'mycred' );
470
-
471
- if ( $log == '' )
472
- return '<strong>' . __( 'error', 'mycred' ) . '</strong> ' . __( 'Log Template Missing!', 'mycred' );
473
 
474
- $mycred = mycred();
475
 
476
  if ( $user_id == '' )
477
  $user_id = get_current_user_id();
 
478
  else
479
  $user_id = absint( $user_id );
480
 
@@ -494,6 +482,7 @@ if ( ! function_exists( 'mycred_render_shortcode_give' ) ) :
494
  '',
495
  $type
496
  );
 
497
  }
498
  endif;
499
 
@@ -511,8 +500,8 @@ endif;
511
  * @version 1.1
512
  */
513
  if ( ! function_exists( 'mycred_render_shortcode_link' ) ) :
514
- function mycred_render_shortcode_link( $atts, $content = '' )
515
- {
516
  global $mycred_link_points;
517
 
518
  $atts = shortcode_atts( array(
@@ -525,9 +514,10 @@ if ( ! function_exists( 'mycred_render_shortcode_link' ) ) :
525
  'style' => '',
526
  'amount' => 0,
527
  'ctype' => 'mycred_default',
528
- 'hreflang' => '', // for advanced users
529
- 'media' => '', // for advanced users
530
- 'type' => '' // for advanced users
 
531
  ), $atts );
532
 
533
  // HREF is required
@@ -550,7 +540,7 @@ if ( ! function_exists( 'mycred_render_shortcode_link' ) ) :
550
  // Construct anchor attributes
551
  $attr = array();
552
  foreach ( $atts as $attribute => $value ) {
553
- if ( !empty( $value ) && ! in_array( $attribute, array( 'amount', 'ctype' ) ) ) {
554
  $attr[] = $attribute . '="' . $value . '"';
555
  }
556
  }
@@ -564,6 +554,7 @@ if ( ! function_exists( 'mycred_render_shortcode_link' ) ) :
564
 
565
  // Return result
566
  return '<a ' . implode( ' ', $attr ) . '>' . $content . '</a>';
 
567
  }
568
  endif;
569
 
@@ -576,30 +567,18 @@ endif;
576
  * @version 1.1
577
  */
578
  if ( ! function_exists( 'mycred_render_shortcode_send' ) ) :
579
- function mycred_render_shortcode_send( $atts, $content = NULL )
580
- {
581
  if ( ! is_user_logged_in() ) return;
582
 
583
  extract( shortcode_atts( array(
584
- 'amount' => NULL,
585
- 'to' => NULL,
586
  'log' => '',
587
  'ref' => 'gift',
588
  'type' => 'mycred_default'
589
  ), $atts ) );
590
 
591
- // Amount is required
592
- if ( $amount === NULL || empty( $amount ) )
593
- return '<strong>' . __( 'Please set the amount to be sent via this shortcode.', 'mycred' );
594
-
595
- // Recipient is required
596
- if ( $to === NULL || empty( $to ) )
597
- return '<strong>' . __( 'Missing the recipient for this shortcode.', 'mycred' );
598
-
599
- // Log template is required
600
- if ( $log === NULL || empty( $log ) )
601
- return '<strong>' . __( 'Missing the log template for this shortcode.', 'mycred' );
602
-
603
  if ( $to == 'author' ) {
604
  // You can not use this outside the loop
605
  $author = get_the_author_meta( 'ID' );
@@ -613,6 +592,8 @@ if ( ! function_exists( 'mycred_render_shortcode_send' ) ) :
613
 
614
  global $mycred_sending_points;
615
 
 
 
616
  $mycred = mycred( $type );
617
 
618
  // Make sure current user or recipient is not excluded!
@@ -630,39 +611,42 @@ if ( ! function_exists( 'mycred_render_shortcode_send' ) ) :
630
 
631
  $render = '<input type="button" class="mycred-send-points-button button button-primary btn btn-primary" data-to="' . $to . '" data-ref="' . $ref . '" data-log="' . $log . '" data-amount="' . $amount . '" data-type="' . $type . '" value="' . $mycred->template_tags_general( $content ) . '" />';
632
  return apply_filters( 'mycred_send', $render, $atts, $content );
 
633
  }
634
  endif;
635
 
636
  /**
637
  * Load myCRED Send Points Footer
638
  * @since 0.1
639
- * @version 1.2
640
  */
641
  if ( ! function_exists( 'mycred_send_shortcode_footer' ) ) :
642
- add_action( 'wp_footer', 'mycred_send_shortcode_footer' );
643
- function mycred_send_shortcode_footer()
644
- {
645
  global $mycred_sending_points;
646
 
647
- if ( $mycred_sending_points === true ) {
648
- $mycred = mycred();
649
  $base = array(
650
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
651
  'token' => wp_create_nonce( 'mycred-send-points' )
652
  );
653
 
654
  $language = apply_filters( 'mycred_send_language', array(
655
- 'working' => __( 'Processing...', 'mycred' ),
656
- 'done' => __( 'Sent', 'mycred' ),
657
- 'error' => __( 'Error - Try Again', 'mycred' )
658
  ) );
 
659
  wp_localize_script(
660
  'mycred-send-points',
661
  'myCREDsend',
662
  array_merge_recursive( $base, $language )
663
  );
664
  wp_enqueue_script( 'mycred-send-points' );
 
665
  }
 
666
  }
667
  endif;
668
 
@@ -672,11 +656,7 @@ endif;
672
  * @version 1.4
673
  */
674
  if ( ! function_exists( 'mycred_shortcode_send_points_ajax' ) ) :
675
- add_action( 'wp_ajax_mycred-send-points', 'mycred_shortcode_send_points_ajax' );
676
- function mycred_shortcode_send_points_ajax()
677
- {
678
- // We must be logged in
679
- if ( ! is_user_logged_in() ) die();
680
 
681
  // Security
682
  check_ajax_referer( 'mycred-send-points', 'token' );
@@ -712,12 +692,15 @@ if ( ! function_exists( 'mycred_shortcode_send_points_ajax' ) ) :
712
  // Insufficient Funds
713
  if ( $new_balance < $account_limit )
714
  die();
 
715
  // After this transfer our account will reach zero
716
  elseif ( $new_balance == $account_limit )
717
  $reply = 'zero';
 
718
  // Check if this is the last time we can do these kinds of amounts
719
  elseif ( $new_balance-$amount < $account_limit )
720
  $reply = 'minus';
 
721
  // Else everything is fine
722
  else
723
  $reply = 'done';
@@ -746,6 +729,7 @@ if ( ! function_exists( 'mycred_shortcode_send_points_ajax' ) ) :
746
 
747
  // Share the good news
748
  wp_send_json( $reply );
 
749
  }
750
  endif;
751
 
@@ -758,8 +742,8 @@ endif;
758
  * @version 1.1.1
759
  */
760
  if ( ! function_exists( 'mycred_render_shortcode_video' ) ) :
761
- function mycred_render_shortcode_video( $atts )
762
- {
763
  global $mycred_video_points;
764
 
765
  $hooks = mycred_get_option( 'mycred_pref_hooks', false );
@@ -810,8 +794,9 @@ if ( ! function_exists( 'mycred_render_shortcode_video' ) ) :
810
  // Make sure video source ids are unique
811
  $mycred_video_points = array_unique( $mycred_video_points );
812
 
813
- ob_start(); ?>
814
 
 
815
  <div class="mycred-video-wrapper youtube-video">
816
  <iframe id="mycred_vvideo_v<?php echo $video_id; ?>" class="mycred-video mycred-youtube-video" data-vid="<?php echo $video_id; ?>" src="<?php echo $url; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
817
  <script type="text/javascript">
@@ -822,11 +807,13 @@ function mycred_vvideo_v<?php echo $video_id; ?>( state ) {
822
  </script>
823
  </div>
824
  <?php
 
825
  $output = ob_get_contents();
826
  ob_end_clean();
827
-
828
  // Return the shortcode output
829
  return apply_filters( 'mycred_video_output', $output, $atts );
 
830
  }
831
  endif;
832
 
@@ -840,31 +827,32 @@ endif;
840
  * @version 1.2.1
841
  */
842
  if ( ! function_exists( 'mycred_render_shortcode_total' ) ) :
843
- function mycred_render_shortcode_total( $atts, $content = '' )
844
- {
845
  extract( shortcode_atts( array(
846
- 'user_id' => NULL,
847
  'types' => 'mycred_default',
848
  'raw' => 0,
849
  'total' => 0
850
  ), $atts ) );
851
 
852
  // If user ID is not set, get the current users ID
853
- if ( $user_id === NULL ) {
854
- // If user is not logged in bail now
855
- if ( ! is_user_logged_in() ) return $content;
 
856
  $user_id = get_current_user_id();
857
- }
858
 
859
  // Get types
860
  $types_to_addup = array();
861
  $all = false;
862
  $existing_types = mycred_get_types();
863
 
864
- if ( $types == 'all' ) {
865
  $types_to_addup = array_keys( $existing_types );
866
- }
867
  else {
 
868
  $types = explode( ',', $types );
869
  if ( ! empty( $types ) ) {
870
  foreach ( $types as $type_key ) {
@@ -875,6 +863,7 @@ if ( ! function_exists( 'mycred_render_shortcode_total' ) ) :
875
  $types_to_addup[] = $type_key;
876
  }
877
  }
 
878
  }
879
 
880
  // In case we still have no types, we add the default one
@@ -884,6 +873,7 @@ if ( ! function_exists( 'mycred_render_shortcode_total' ) ) :
884
  // Add up all point type balances
885
  $total_balance = 0;
886
  foreach ( $types_to_addup as $type ) {
 
887
  // Get the balance for this type
888
  $mycred = mycred( $type );
889
  if ( $total == 1 )
@@ -892,15 +882,19 @@ if ( ! function_exists( 'mycred_render_shortcode_total' ) ) :
892
  $balance = $mycred->get_users_balance( $user_id, $type );
893
 
894
  $total_balance = $total_balance+$balance;
 
895
  }
896
 
897
  // If results should be formatted
898
  if ( $raw == 0 ) {
 
899
  $mycred = mycred();
900
  $total_balance = $mycred->number( $total_balance );
 
901
  }
902
 
903
  return apply_filters( 'mycred_total_balances_output', $total_balance, $atts );
 
904
  }
905
  endif;
906
 
@@ -913,8 +907,8 @@ endif;
913
  * @version 1.0
914
  */
915
  if ( ! function_exists( 'mycred_render_shortcode_exchange' ) ) :
916
- function mycred_render_shortcode_exchange( $atts, $content = '' )
917
- {
918
  if ( ! is_user_logged_in() ) return $content;
919
 
920
  extract( shortcode_atts( array(
@@ -947,8 +941,9 @@ if ( ! function_exists( 'mycred_render_shortcode_exchange' ) ) :
947
 
948
  $token = mycred_create_token( array( $from, $to, $user_id, $rate, $min ) );
949
 
950
- ob_start(); ?>
951
 
 
952
  <style type="text/css">
953
  #mycred-exchange table tr td { width: 50%; }
954
  #mycred-exchange table tr td label { display: block; font-weight: bold; font-size: 12px; }
@@ -990,135 +985,11 @@ if ( ! function_exists( 'mycred_render_shortcode_exchange' ) ) :
990
  </form>
991
  </div>
992
  <?php
 
993
  $output = ob_get_contents();
994
  ob_end_clean();
995
 
996
  return apply_filters( 'mycred_exchange_output', $output, $atts );
997
- }
998
- endif;
999
-
1000
- /**
1001
- * Run Exchange
1002
- * Intercepts and executes exchange requests.
1003
- * @since 1.5
1004
- * @version 1.0
1005
- */
1006
- add_action( 'mycred_init', 'mycred_run_exchange' );
1007
- if ( ! function_exists( 'mycred_run_exchange' ) ) :
1008
- function mycred_run_exchange()
1009
- {
1010
- if ( ! isset( $_POST['mycred_exchange']['nonce'] ) || ! wp_verify_nonce( $_POST['mycred_exchange']['nonce'], 'mycred-exchange' ) ) return;
1011
-
1012
- // Decode token
1013
- $token = mycred_verify_token( $_POST['mycred_exchange']['token'], 5 );
1014
- if ( $token === false ) return;
1015
-
1016
- global $mycred_exchange;
1017
- list ( $from, $to, $user_id, $rate, $min ) = $token;
1018
-
1019
- // Check point types
1020
- $types = mycred_get_types();
1021
- if ( ! array_key_exists( $from, $types ) || ! array_key_exists( $to, $types ) ) {
1022
- $mycred_exchange = array(
1023
- 'success' => false,
1024
- 'message' => __( 'Point types not found.', 'mycred' )
1025
- );
1026
- return;
1027
- }
1028
-
1029
- $user_id = get_current_user_id();
1030
-
1031
- // Check for exclusion
1032
- $mycred_from = mycred( $from );
1033
- if ( $mycred_from->exclude_user( $user_id ) ) {
1034
- $mycred_exchange = array(
1035
- 'success' => false,
1036
- 'message' => sprintf( __( 'You are excluded from using %s.', 'mycred' ), $mycred_from->plural() )
1037
- );
1038
- return;
1039
- }
1040
-
1041
- // Check balance
1042
- $balance = $mycred_from->get_users_balance( $user_id, $from );
1043
- if ( $balance < $mycred_from->number( $min ) ) {
1044
- $mycred_exchange = array(
1045
- 'success' => false,
1046
- 'message' => __( 'Your balance is too low to use this feature.', 'mycred' )
1047
- );
1048
- return;
1049
- }
1050
-
1051
- // Check for exclusion
1052
- $mycred_to = mycred( $to );
1053
- if ( $mycred_to->exclude_user( $user_id ) ) {
1054
- $mycred_exchange = array(
1055
- 'success' => false,
1056
- 'message' => sprintf( __( 'You are excluded from using %s.', 'mycred' ), $mycred_to->plural() )
1057
- );
1058
- return;
1059
- }
1060
-
1061
- // Prep Amount
1062
- $amount = abs( $_POST['mycred_exchange']['amount'] );
1063
- $amount = $mycred_from->number( $amount );
1064
-
1065
- // Make sure we are sending more then minimum
1066
- if ( $amount < $min ) {
1067
- $mycred_exchange = array(
1068
- 'success' => false,
1069
- 'message' => sprintf( __( 'You must exchange at least %s!', 'mycred' ), $mycred_from->format_creds( $min ) )
1070
- );
1071
- return;
1072
- }
1073
-
1074
- // Make sure we have enough points
1075
- if ( $amount > $balance ) {
1076
- $mycred_exchange = array(
1077
- 'success' => false,
1078
- 'message' => __( 'Insufficient Funds. Please try a lower amount.', 'mycred' )
1079
- );
1080
- return;
1081
- }
1082
-
1083
- // Let others decline
1084
- $reply = apply_filters( 'mycred_decline_exchange', false, compact( 'from', 'to', 'user_id', 'rate', 'min', 'amount' ) );
1085
- if ( $reply === false ) {
1086
-
1087
- $mycred_from->add_creds(
1088
- 'exchange',
1089
- $user_id,
1090
- 0-$amount,
1091
- sprintf( __( 'Exchange from %s', 'mycred' ), $mycred_from->plural() ),
1092
- 0,
1093
- array( 'from' => $from, 'rate' => $rate, 'min' => $min ),
1094
- $from
1095
- );
1096
-
1097
- $exchanged = $mycred_to->number( ( $amount * $rate ) );
1098
-
1099
- $mycred_to->add_creds(
1100
- 'exchange',
1101
- $user_id,
1102
- $exchanged,
1103
- sprintf( __( 'Exchange to %s', 'mycred' ), $mycred_to->plural() ),
1104
- 0,
1105
- array( 'to' => $to, 'rate' => $rate, 'min' => $min ),
1106
- $to
1107
- );
1108
-
1109
- $mycred_exchange = array(
1110
- 'success' => true,
1111
- 'message' => sprintf( __( 'You have successfully exchanged %s into %s.', 'mycred' ), $mycred_from->format_creds( $amount ), $mycred_to->format_creds( $exchanged ) )
1112
- );
1113
-
1114
- }
1115
- else {
1116
- $mycred_exchange = array(
1117
- 'success' => false,
1118
- 'message' => $reply
1119
- );
1120
- return;
1121
- }
1122
 
1123
  }
1124
  endif;
@@ -1156,4 +1027,138 @@ if ( ! function_exists( 'mycred_render_affiliate_id' ) ) :
1156
 
1157
  }
1158
  endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1159
  ?>
7
  * @see http://codex.mycred.me/shortcodes/mycred_my_balance/
8
  * @contributor Ian Tasker
9
  * @since 1.0.9
10
+ * @version 1.2.2
11
  */
12
  if ( ! function_exists( 'mycred_render_shortcode_my_balance' ) ) :
13
+ function mycred_render_shortcode_my_balance( $atts, $content = '' ) {
14
+
15
  extract( shortcode_atts( array(
16
+ 'user_id' => '',
17
  'title' => '',
18
  'title_el' => 'h1',
19
  'balance_el' => 'div',
24
  $output = '';
25
 
26
  // Not logged in
27
+ if ( ! is_user_logged_in() && $user_id == '' )
28
+ return $content;
 
 
 
 
29
 
30
+ if ( $user_id == '' )
31
+ $user_id = get_current_user_id();
 
 
 
 
 
32
 
 
33
  $mycred = mycred( $type );
34
+
35
  // Check for exclusion
36
  if ( $mycred->exclude_user( $user_id ) ) return;
37
 
66
  $output .= '</div>';
67
 
68
  return $output;
69
+
70
  }
71
  endif;
72
 
75
  * Returns the points history.
76
  * @see http://codex.mycred.me/shortcodes/mycred_history/
77
  * @since 1.0.9
78
+ * @version 1.2.2
79
  */
80
  if ( ! function_exists( 'mycred_render_shortcode_history' ) ) :
81
+ function mycred_render_shortcode_history( $atts, $content = '' ) {
82
+
83
  extract( shortcode_atts( array(
84
  'user_id' => '',
85
  'number' => '',
87
  'ref' => '',
88
  'order' => '',
89
  'show_user' => 0,
90
+ 'show_nav' => 1,
91
  'login' => '',
92
  'type' => 'mycred_default'
93
  ), $atts ) );
94
 
95
  // If we are not logged in
96
+ if ( ! is_user_logged_in() && $login != '' )
97
+ return $login . $content;
98
 
99
  if ( $user_id == 'current' )
100
  $user_id = get_current_user_id();
124
  if ( $show_user != 1 )
125
  unset( $log->headers['column-username'] );
126
 
127
+ ob_start();
128
+
129
+ ?>
130
 
131
  <form class="form" role="form" method="get" action="">
132
  <div class="tablenav top">
133
 
134
+ <?php if ( $log->have_entries() && $show_nav == 1 && $log->max_num_pages > 1 ) $log->navigation( 'top' ); ?>
135
 
136
  </div>
137
 
139
 
140
  <div class="tablenav bottom">
141
 
142
+ <?php if ( $log->have_entries() && $show_nav == 1 && $log->max_num_pages > 1 ) $log->navigation( 'bottom' ); ?>
143
 
144
  </div>
145
  </form>
151
  $log->reset_query();
152
 
153
  return $content;
154
+
155
  }
156
  endif;
157
 
162
  * @version 1.4.3
163
  */
164
  if ( ! function_exists( 'mycred_render_shortcode_leaderboard' ) ) :
165
+ function mycred_render_shortcode_leaderboard( $atts, $content = '' ) {
166
+
167
  extract( shortcode_atts( array(
168
  'number' => '-1',
169
  'order' => 'DESC',
274
  $template = $content;
275
 
276
  // Template Tags
277
+ $layout = str_replace( array( '%ranking%', '%position%' ), $position+1, $template );
 
 
 
278
 
279
  $layout = $mycred->template_tags_amount( $layout, $user['cred'] );
280
  $layout = $mycred->template_tags_user( $layout, $user['ID'] );
328
  if ( $current_position !== false ) {
329
 
330
  // Template Tags
331
+ $layout = str_replace( array( '%ranking%', '%position%' ), $current_position+1, $template );
 
 
 
332
 
333
  $layout = $mycred->template_tags_amount( $layout, $mycred->get_users_cred( $current_user->ID, $type ) );
334
  $layout = $mycred->template_tags_user( $layout, false, $current_user );
360
  }
361
 
362
  return do_shortcode( apply_filters( 'mycred_leaderboard', $output, $atts ) );
363
+
364
  }
365
  endif;
366
 
368
  * myCRED Shortcode: mycred_my_ranking
369
  * @see http://codex.mycred.me/shortcodes/mycred_my_ranking/
370
  * @since 0.1
371
+ * @version 1.4.3
372
  */
373
  if ( ! function_exists( 'mycred_render_shortcode_my_ranking' ) ) :
374
+ function mycred_render_shortcode_my_ranking( $atts, $content = '' ) {
375
+
376
  extract( shortcode_atts( array(
377
  'user_id' => '',
378
  'ctype' => 'mycred_default',
381
  ), $atts ) );
382
 
383
  // If no id is given
384
+ if ( ! is_user_logged_in() && $user_id == '' )
385
+ return $content;
386
+
387
+ if ( $user_id == '' )
388
  $user_id = get_current_user_id();
 
389
 
390
  // If no type is given
391
  if ( $ctype == '' )
429
  $full_leaderboard = NULL;
430
 
431
  return apply_filters( 'mycred_get_leaderboard_position', $position, $user_id, $ctype );
432
+
433
  }
434
  endif;
435
 
441
  * this shortcode exectutes!
442
  * @see http://codex.mycred.me/shortcodes/mycred_give/
443
  * @since 1.1
444
+ * @version 1.2.2
445
  */
446
  if ( ! function_exists( 'mycred_render_shortcode_give' ) ) :
447
+ function mycred_render_shortcode_give( $atts, $content = '' ) {
 
 
448
 
449
  extract( shortcode_atts( array(
450
+ 'amount' => '',
451
  'user_id' => '',
452
  'log' => '',
453
  'ref' => 'gift',
455
  'type' => 'mycred_default'
456
  ), $atts ) );
457
 
458
+ if ( ! is_user_logged_in() && $user_id == '' )
459
+ return $content;
 
 
 
460
 
461
+ $mycred = mycred( $type );
462
 
463
  if ( $user_id == '' )
464
  $user_id = get_current_user_id();
465
+
466
  else
467
  $user_id = absint( $user_id );
468
 
482
  '',
483
  $type
484
  );
485
+
486
  }
487
  endif;
488
 
500
  * @version 1.1
501
  */
502
  if ( ! function_exists( 'mycred_render_shortcode_link' ) ) :
503
+ function mycred_render_shortcode_link( $atts, $content = '' ) {
504
+
505
  global $mycred_link_points;
506
 
507
  $atts = shortcode_atts( array(
514
  'style' => '',
515
  'amount' => 0,
516
  'ctype' => 'mycred_default',
517
+ 'hreflang' => '',
518
+ 'media' => '',
519
+ 'type' => '',
520
+ 'onclick' => ''
521
  ), $atts );
522
 
523
  // HREF is required
540
  // Construct anchor attributes
541
  $attr = array();
542
  foreach ( $atts as $attribute => $value ) {
543
+ if ( ! empty( $value ) && ! in_array( $attribute, array( 'amount', 'ctype' ) ) ) {
544
  $attr[] = $attribute . '="' . $value . '"';
545
  }
546
  }
554
 
555
  // Return result
556
  return '<a ' . implode( ' ', $attr ) . '>' . $content . '</a>';
557
+
558
  }
559
  endif;
560
 
567
  * @version 1.1
568
  */
569
  if ( ! function_exists( 'mycred_render_shortcode_send' ) ) :
570
+ function mycred_render_shortcode_send( $atts, $content = '' ) {
571
+
572
  if ( ! is_user_logged_in() ) return;
573
 
574
  extract( shortcode_atts( array(
575
+ 'amount' => 0,
576
+ 'to' => '',
577
  'log' => '',
578
  'ref' => 'gift',
579
  'type' => 'mycred_default'
580
  ), $atts ) );
581
 
 
 
 
 
 
 
 
 
 
 
 
 
582
  if ( $to == 'author' ) {
583
  // You can not use this outside the loop
584
  $author = get_the_author_meta( 'ID' );
592
 
593
  global $mycred_sending_points;
594
 
595
+ $mycred_sending_points = false;
596
+
597
  $mycred = mycred( $type );
598
 
599
  // Make sure current user or recipient is not excluded!
611
 
612
  $render = '<input type="button" class="mycred-send-points-button button button-primary btn btn-primary" data-to="' . $to . '" data-ref="' . $ref . '" data-log="' . $log . '" data-amount="' . $amount . '" data-type="' . $type . '" value="' . $mycred->template_tags_general( $content ) . '" />';
613
  return apply_filters( 'mycred_send', $render, $atts, $content );
614
+
615
  }
616
  endif;
617
 
618
  /**
619
  * Load myCRED Send Points Footer
620
  * @since 0.1
621
+ * @version 1.3
622
  */
623
  if ( ! function_exists( 'mycred_send_shortcode_footer' ) ) :
624
+ function mycred_send_shortcode_footer() {
625
+
 
626
  global $mycred_sending_points;
627
 
628
+ if ( $mycred_sending_points === true || apply_filters( 'mycred_enqueue_send_js', false ) === true ) {
629
+
630
  $base = array(
631
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
632
  'token' => wp_create_nonce( 'mycred-send-points' )
633
  );
634
 
635
  $language = apply_filters( 'mycred_send_language', array(
636
+ 'working' => esc_attr__( 'Processing...', 'mycred' ),
637
+ 'done' => esc_attr__( 'Sent', 'mycred' ),
638
+ 'error' => esc_attr__( 'Error - Try Again', 'mycred' )
639
  ) );
640
+
641
  wp_localize_script(
642
  'mycred-send-points',
643
  'myCREDsend',
644
  array_merge_recursive( $base, $language )
645
  );
646
  wp_enqueue_script( 'mycred-send-points' );
647
+
648
  }
649
+
650
  }
651
  endif;
652
 
656
  * @version 1.4
657
  */
658
  if ( ! function_exists( 'mycred_shortcode_send_points_ajax' ) ) :
659
+ function mycred_shortcode_send_points_ajax() {
 
 
 
 
660
 
661
  // Security
662
  check_ajax_referer( 'mycred-send-points', 'token' );
692
  // Insufficient Funds
693
  if ( $new_balance < $account_limit )
694
  die();
695
+
696
  // After this transfer our account will reach zero
697
  elseif ( $new_balance == $account_limit )
698
  $reply = 'zero';
699
+
700
  // Check if this is the last time we can do these kinds of amounts
701
  elseif ( $new_balance-$amount < $account_limit )
702
  $reply = 'minus';
703
+
704
  // Else everything is fine
705
  else
706
  $reply = 'done';
729
 
730
  // Share the good news
731
  wp_send_json( $reply );
732
+
733
  }
734
  endif;
735
 
742
  * @version 1.1.1
743
  */
744
  if ( ! function_exists( 'mycred_render_shortcode_video' ) ) :
745
+ function mycred_render_shortcode_video( $atts ) {
746
+
747
  global $mycred_video_points;
748
 
749
  $hooks = mycred_get_option( 'mycred_pref_hooks', false );
794
  // Make sure video source ids are unique
795
  $mycred_video_points = array_unique( $mycred_video_points );
796
 
797
+ ob_start();
798
 
799
+ ?>
800
  <div class="mycred-video-wrapper youtube-video">
801
  <iframe id="mycred_vvideo_v<?php echo $video_id; ?>" class="mycred-video mycred-youtube-video" data-vid="<?php echo $video_id; ?>" src="<?php echo $url; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
802
  <script type="text/javascript">
807
  </script>
808
  </div>
809
  <?php
810
+
811
  $output = ob_get_contents();
812
  ob_end_clean();
813
+
814
  // Return the shortcode output
815
  return apply_filters( 'mycred_video_output', $output, $atts );
816
+
817
  }
818
  endif;
819
 
827
  * @version 1.2.1
828
  */
829
  if ( ! function_exists( 'mycred_render_shortcode_total' ) ) :
830
+ function mycred_render_shortcode_total( $atts, $content = '' ) {
831
+
832
  extract( shortcode_atts( array(
833
+ 'user_id' => '',
834
  'types' => 'mycred_default',
835
  'raw' => 0,
836
  'total' => 0
837
  ), $atts ) );
838
 
839
  // If user ID is not set, get the current users ID
840
+ if ( ! is_user_logged_in() && $user_id == '' )
841
+ return $content;
842
+
843
+ if ( $user_id == '' )
844
  $user_id = get_current_user_id();
 
845
 
846
  // Get types
847
  $types_to_addup = array();
848
  $all = false;
849
  $existing_types = mycred_get_types();
850
 
851
+ if ( $types == 'all' )
852
  $types_to_addup = array_keys( $existing_types );
853
+
854
  else {
855
+
856
  $types = explode( ',', $types );
857
  if ( ! empty( $types ) ) {
858
  foreach ( $types as $type_key ) {
863
  $types_to_addup[] = $type_key;
864
  }
865
  }
866
+
867
  }
868
 
869
  // In case we still have no types, we add the default one
873
  // Add up all point type balances
874
  $total_balance = 0;
875
  foreach ( $types_to_addup as $type ) {
876
+
877
  // Get the balance for this type
878
  $mycred = mycred( $type );
879
  if ( $total == 1 )
882
  $balance = $mycred->get_users_balance( $user_id, $type );
883
 
884
  $total_balance = $total_balance+$balance;
885
+
886
  }
887
 
888
  // If results should be formatted
889
  if ( $raw == 0 ) {
890
+
891
  $mycred = mycred();
892
  $total_balance = $mycred->number( $total_balance );
893
+
894
  }
895
 
896
  return apply_filters( 'mycred_total_balances_output', $total_balance, $atts );
897
+
898
  }
899
  endif;
900
 
907
  * @version 1.0
908
  */
909
  if ( ! function_exists( 'mycred_render_shortcode_exchange' ) ) :
910
+ function mycred_render_shortcode_exchange( $atts, $content = '' ) {
911
+
912
  if ( ! is_user_logged_in() ) return $content;
913
 
914
  extract( shortcode_atts( array(
941
 
942
  $token = mycred_create_token( array( $from, $to, $user_id, $rate, $min ) );
943
 
944
+ ob_start();
945
 
946
+ ?>
947
  <style type="text/css">
948
  #mycred-exchange table tr td { width: 50%; }
949
  #mycred-exchange table tr td label { display: block; font-weight: bold; font-size: 12px; }
985
  </form>
986
  </div>
987
  <?php
988
+
989
  $output = ob_get_contents();
990
  ob_end_clean();
991
 
992
  return apply_filters( 'mycred_exchange_output', $output, $atts );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
993
 
994
  }
995
  endif;
1027
 
1028
  }
1029
  endif;
1030
+
1031
+ /**
1032
+ * Hook Table
1033
+ * Renders a table of all the active hooks and how much a user can
1034
+ * earn / lose from each hook.
1035
+ * @since 1.6
1036
+ * @version 1.0
1037
+ */
1038
+ if ( ! function_exists( 'mycred_render_shortcode_hook_table' ) ) :
1039
+ function mycred_render_shortcode_hook_table( $atts ) {
1040
+
1041
+ extract( shortcode_atts( array(
1042
+ 'type' => 'mycred_default',
1043
+ 'gains' => 1,
1044
+ 'user' => '-user-',
1045
+ 'post' => '-post-',
1046
+ 'comment' => '-comment-',
1047
+ 'amount' => '',
1048
+ 'nothing' => __( 'No instances found for this point type', 'mycred' )
1049
+ ), $atts ) );
1050
+
1051
+ $types = mycred_get_types();
1052
+ if ( ! array_key_exists( $type, $types ) ) return __( 'Invalid point type', 'mycred' );
1053
+
1054
+ $mycred = mycred( $type );
1055
+
1056
+ $id = str_replace( '_', '-', $type );
1057
+
1058
+ $prefs_key = 'mycred_pref_hooks';
1059
+ if ( $type != 'mycred_default' )
1060
+ $prefs_key .= '_' . $type;
1061
+
1062
+ $applicable = array();
1063
+
1064
+ $hooks = get_option( $prefs_key, false );
1065
+ if ( isset( $hooks['active'] ) && ! empty( $hooks['active'] ) ) {
1066
+
1067
+ foreach ( $hooks['active'] as $active_hook_id ) {
1068
+
1069
+ $hook_prefs = $hooks['hook_prefs'][ $active_hook_id ];
1070
+
1071
+ // Single Instance
1072
+ if ( isset( $hook_prefs['creds'] ) ) {
1073
+
1074
+ if ( ( $gains == 1 && $hook_prefs['creds'] > 0 ) || ( $gains == 0 && $hook_prefs['creds'] < 0 ) )
1075
+ $applicable[ $active_hook_id ] = $hook_prefs;
1076
+
1077
+ }
1078
+
1079
+ // Multiple Instances
1080
+ else {
1081
+
1082
+ foreach ( $hook_prefs as $instance_id => $instance_prefs ) {
1083
+
1084
+ if ( ( $gains == 1 && $instance_prefs['creds'] > 0 ) || ( $gains == 0 && $instance_prefs['creds'] < 0 ) )
1085
+ $applicable[ $instance_id ] = $instance_prefs;
1086
+
1087
+ }
1088
+
1089
+ }
1090
+
1091
+ }
1092
+
1093
+ }
1094
+
1095
+
1096
+ ob_start();
1097
+
1098
+ if ( ! empty( $applicable ) ) {
1099
+
1100
+ ?>
1101
+ <style type="text/css">
1102
+ table.mycred-hook-table { width: 100%; }
1103
+ table.mycred-hook-table th { font-weight: bold; }
1104
+ .column-instance { width: auto; }
1105
+ .column-amount { width: 20%; }
1106
+ .column-limit { width: 20%; }
1107
+ </style>
1108
+ <table class="mycred-hook-table hook-table-<?php echo $id; ?>">
1109
+ <thead>
1110
+ <tr>
1111
+ <th class="column-instance"><?php _e( 'Instance', 'mycred' ); ?></th>
1112
+ <th class="column-amount"><?php _e( 'Amount', 'mycred' ); ?></th>
1113
+ <th class="column-limit"><?php _e( 'Limit', 'mycred' ); ?></th>
1114
+ </tr>
1115
+ </thead>
1116
+ <tbody>
1117
+ <?php
1118
+
1119
+ foreach ( $applicable as $id => $prefs ) {
1120
+
1121
+ $log = $mycred->template_tags_general( $prefs['log'] );
1122
+
1123
+ $log = strip_tags( $log );
1124
+ $log = str_replace( array( '%user_id%', '%user_name%', '%user_name_en%', '%display_name%', '%user_profile_url%', '%user_profile_link%', '%user_nicename%', '%user_email%', '%user_url%', '%balance%', '%balance_f%' ), $user, $log );
1125
+ $log = str_replace( array( '%post_title%', '%post_url%', '%link_with_title%', '%post_type%' ), $post, $log );
1126
+ $log = str_replace( array( 'comment_id', 'c_post_id', 'c_post_title', 'c_post_url', 'c_link_with_title' ), $comment, $log );
1127
+ $log = str_replace( array( '%cred%', '%cred_f%' ), $amount, $log );
1128
+ $log = apply_filters( 'mycred_hook_table_log', $log, $id, $prefs, $atts );
1129
+
1130
+ $limit = '';
1131
+ if ( isset( $prefs['limit'] ) )
1132
+ $limit = $prefs['limit'];
1133
+
1134
+ $creds = apply_filters( 'mycred_hook_table_creds', $mycred->format_creds( $prefs['creds'] ), $id, $prefs, $atts );
1135
+
1136
+ ?>
1137
+ <tr>
1138
+ <td class="column-instance"><?php echo $log; ?></td>
1139
+ <td class="column-amount"><?php echo $creds; ?></td>
1140
+ <td class="column-limit"><?php echo mycred_translate_limit_code( $limit ); ?></td>
1141
+ </tr>
1142
+ <?php
1143
+
1144
+ }
1145
+
1146
+ ?>
1147
+ </tbody>
1148
+ </table>
1149
+ <?php
1150
+
1151
+ }
1152
+ else {
1153
+ echo '<p>' . $nothing . '</p>';
1154
+ }
1155
+
1156
+ $content = ob_get_contents();
1157
+ ob_end_clean();
1158
+
1159
+ return apply_filters( 'mycred_render_hook_table', $content, $atts );
1160
+
1161
+ }
1162
+ endif;
1163
+
1164
  ?>
includes/mycred-update.php CHANGED
@@ -7,11 +7,11 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
7
  * @since 1.5
8
  * @version 1.0
9
  */
 
10
  if ( ! function_exists( 'mycred_update_to_onefive' ) ) :
11
- add_action( 'mycred_reactivation', 'mycred_update_to_onefive' );
12
- function mycred_update_to_onefive() {
13
 
14
- $version = get_option( 'mycred_version', myCRED_VERSION );
15
 
16
  // Clean up after the 1.4.6 Email Notice bug
17
  if ( version_compare( $version, '1.4.7', '<' ) ) {
@@ -34,6 +34,7 @@ if ( ! function_exists( 'mycred_update_to_onefive' ) ) :
34
 
35
  // 1.5 Update
36
  if ( version_compare( $version, '1.5', '<' ) && class_exists( 'myCRED_buyCRED_Module' ) ) {
 
37
  // Update buyCRED Settings
38
  $type_set = 'mycred_default';
39
  $setup = mycred_get_option( 'mycred_pref_core', false );
@@ -61,13 +62,82 @@ if ( ! function_exists( 'mycred_update_to_onefive' ) ) :
61
  mycred_update_option( 'mycred_pref_buycreds', $buy_cred );
62
  add_option( 'mycred_buycred_reset', 'true' );
63
  }
 
 
 
 
64
  }
65
  else {
66
  delete_option( 'mycred_buycred_reset' );
67
  }
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  // Update complted
70
  update_option( 'mycred_version', myCRED_VERSION );
 
71
  }
72
  endif;
73
 
7
  * @since 1.5
8
  * @version 1.0
9
  */
10
+ add_action( 'mycred_reactivation', 'mycred_update_to_onefive', 5 );
11
  if ( ! function_exists( 'mycred_update_to_onefive' ) ) :
12
+ function mycred_update_to_onefive( $version = NULL ) {
 
13
 
14
+ if ( $version === NULL ) return;
15
 
16
  // Clean up after the 1.4.6 Email Notice bug
17
  if ( version_compare( $version, '1.4.7', '<' ) ) {
34
 
35
  // 1.5 Update
36
  if ( version_compare( $version, '1.5', '<' ) && class_exists( 'myCRED_buyCRED_Module' ) ) {
37
+
38
  // Update buyCRED Settings
39
  $type_set = 'mycred_default';
40
  $setup = mycred_get_option( 'mycred_pref_core', false );
62
  mycred_update_option( 'mycred_pref_buycreds', $buy_cred );
63
  add_option( 'mycred_buycred_reset', 'true' );
64
  }
65
+
66
+ // Update complted
67
+ update_option( 'mycred_version', '1.5.4' );
68
+
69
  }
70
  else {
71
  delete_option( 'mycred_buycred_reset' );
72
  }
73
 
74
+ }
75
+ endif;
76
+
77
+ /**
78
+ * myCRED 1.6 Update
79
+ * Updated existing myCRED installations to 1.6
80
+ * @since 1.6
81
+ * @version 1.0
82
+ */
83
+ add_action( 'mycred_reactivation', 'mycred_update_to_onesix', 10 );
84
+ if ( ! function_exists( 'mycred_update_to_onesix' ) ) :
85
+ function mycred_update_to_onesix( $version = NULL ) {
86
+
87
+ if ( $version === NULL ) return;
88
+
89
+ // 1.6 Update
90
+ if ( version_compare( $version, '1.6', '<' ) ) {
91
+
92
+ global $wpdb;
93
+
94
+ $types = mycred_get_types();
95
+
96
+ // Remove Login hook markers
97
+ if ( count( $types ) == 1 )
98
+ $wpdb->delete(
99
+ $wpdb->usermeta,
100
+ array( 'meta_key' => 'mycred_last_login' ),
101
+ array( '%s' )
102
+ );
103
+
104
+ else {
105
+ foreach ( $types as $type_id => $label ) {
106
+ $wpdb->delete(
107
+ $wpdb->usermeta,
108
+ array( 'meta_key' => 'mycred_last_login_' . $type_id ),
109
+ array( '%s' )
110
+ );
111
+ }
112
+ }
113
+
114
+ // Update email notices to support multiple point types
115
+ if ( class_exists( 'myCRED_Email_Notice_Module' ) ) {
116
+
117
+ $notices = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'mycred_email_notice' AND post_status != 'trash';" );
118
+ if ( ! empty( $notices ) ) {
119
+ foreach ( $notices as $notice_id )
120
+ update_post_meta( (int) $notice_id, 'mycred_email_ctype', 'all' );
121
+ }
122
+
123
+ }
124
+
125
+ // Update ranks to support multiple point types
126
+ if ( class_exists( 'myCRED_Ranks_Module' ) ) {
127
+
128
+ $ranks = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'mycred_rank' AND post_status != 'trash';" );
129
+ if ( ! empty( $ranks ) ) {
130
+ foreach ( $ranks as $rank_id )
131
+ update_post_meta( (int) $rank_id, 'ctype', 'mycred_default' );
132
+ }
133
+
134
+ }
135
+
136
+ }
137
+
138
  // Update complted
139
  update_option( 'mycred_version', myCRED_VERSION );
140
+
141
  }
142
  endif;
143
 
includes/mycred-widgets.php CHANGED
@@ -6,13 +6,14 @@ if ( ! defined( 'myCRED_VERSION' ) ) exit;
6
  * @since 0.1
7
  * @version 1.4
8
  */
9
- if ( ! class_exists( 'myCRED_Widget_Balance' ) ) {
10
  class myCRED_Widget_Balance extends WP_Widget {
11
 
12
  /**
13
  * Construct
14
  */
15
  function myCRED_Widget_Balance() {
 
16
  $name = mycred_label( true );
17
 
18
  // Basic details about our widget
@@ -20,18 +21,22 @@ if ( ! class_exists( 'myCRED_Widget_Balance' ) ) {
20
  'classname' => 'widget-my-cred',
21
  'description' => sprintf( __( 'Show the current users %s balance', 'mycred' ), $name )
22
  );
 
23
  $this->WP_Widget( 'mycred_widget_balance', sprintf( __( '(%s) My Balance', 'mycred' ), $name ), $widget_ops );
24
  $this->alt_option_name = 'mycred_widget_balance';
 
25
  }
26
 
27
  /**
28
  * Widget Output
29
  */
30
  function widget( $args, $instance ) {
 
31
  extract( $args, EXTR_SKIP );
32
 
33
  // If we are logged in
34
  if ( is_user_logged_in() ) {
 
35
  // Current user id
36
  $user_id = get_current_user_id();
37
 
@@ -60,18 +65,12 @@ if ( ! class_exists( 'myCRED_Widget_Balance' ) ) {
60
 
61
  $layout = $mycred->template_tags_amount( $instance['cred_format'], $balance );
62
  $layout = $mycred->template_tags_user( $layout, false, wp_get_current_user() );
63
- if ( function_exists( 'mycred_get_users_rank' ) ) {
64
- $rank_id = mycred_get_users_rank( $user_id, 'ID' );
65
- $layout = str_replace( '%rank%', get_the_title( $rank_id ), $layout );
66
- $layout = str_replace( '%rank_logo%', mycred_get_rank_logo( $rank_id ), $layout );
67
- }
68
- else {
69
- $ranking = str_replace( array( '%rank%', '%rank_logo%', '%ranking%' ), '', $layout );
70
- }
71
  echo '<div class="myCRED-balance">' . $layout . '</div>';
72
 
73
  // If we want to include history
74
  if ( $instance['show_history'] ) {
 
75
  echo '<div class="myCRED-widget-history">';
76
 
77
  // Query Log
@@ -80,38 +79,42 @@ if ( ! class_exists( 'myCRED_Widget_Balance' ) ) {
80
  'number' => $instance['number'],
81
  'ctype' => $instance['type']
82
  ) );
83
-
84
  // Have results
85
  if ( $log->have_entries() ) {
 
86
  // Title
87
  if ( !empty( $instance['history_title'] ) ) {
88
  $history_title = $instance['history_title'];
89
  echo $before_title . $mycred->template_tags_general( $history_title ) . $after_title;
90
  }
91
-
92
  // Organized List
93
  echo '<ol class="myCRED-history">';
94
  $alt = 0;
95
  $date_format = get_option( 'date_format' );
96
  foreach ( $log->results as $entry ) {
 
97
  // Row Layout
98
  $layout = $instance['history_format'];
99
  $layout = str_replace( '%date%', '<span class="date">' . date_i18n( $date_format, $entry->time ) . '</span>', $layout );
100
  $layout = str_replace( '%entry%', $mycred->parse_template_tags( $entry->entry, $entry ), $layout );
101
-
102
  $layout = $mycred->allowed_tags( $layout );
103
  $layout = $mycred->template_tags_general( $layout );
104
  $layout = $mycred->template_tags_amount( $layout, $entry->creds );
105
-
106
  // Alternating rows
107
  $alt = $alt+1;
108
  if ( $alt % 2 == 0 ) $class = 'row alternate';
109
  else $class = 'row';
110
-
111
  // Output list item
112
  echo '<li class="' . $class . '">' . $layout . '</li>';
 
113
  }
114
  echo '</ol>';
 
115
  }
116
  $log->reset_query();
117
 
@@ -120,11 +123,15 @@ if ( ! class_exists( 'myCRED_Widget_Balance' ) ) {
120
 
121
  // End
122
  echo $after_widget;
 
123
  }
 
124
  // Visitor
125
  else {
 
126
  // If we want to show a message, then do so
127
  if ( $instance['show_visitors'] ) {
 
128
  echo $before_widget;
129
 
130
  $mycred = mycred( $instance['type'] );
@@ -142,145 +149,155 @@ if ( ! class_exists( 'myCRED_Widget_Balance' ) ) {
142
 
143
  echo '<div class="myCRED-my-balance-message"><p>' . nl2br( $message ) . '</p></div>';
144
  echo $after_widget;
 
145
  }
 
146
  }
 
147
  }
148
 
149
  /**
150
  * Outputs the options form on admin
151
  */
152
  function form( $instance ) {
153
- // Defaults
154
- $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : __( 'My Balance', 'mycred' );
155
- $type = isset( $instance['type'] ) ? $instance['type'] : 'mycred_default';
156
-
157
- $cred_format = isset( $instance['cred_format'] ) ? esc_attr( $instance['cred_format'] ) : '%cred_f%';
158
 
159
- $show_history = isset( $instance['show_history'] ) ? $instance['show_history'] : 0;
160
- $history_title = isset( $instance['history_title'] ) ? $instance['history_title'] : __( '%plural% History', 'mycred' );
161
- $history_entry = isset( $instance['history_format'] ) ? esc_attr( $instance['history_format'] ) : '%entry% <span class="creds">%cred_f%</span>';
 
 
 
 
162
  $history_length = isset( $instance['number'] ) ? abs( $instance['number'] ) : 5;
 
 
163
 
164
- $show_visitors = isset( $instance['show_visitors'] ) ? $instance['show_visitors'] : 0;
165
- $message = isset( $instance['message'] ) ? esc_attr( $instance['message'] ) : __( '<a href="%login_url_here%">Login</a> to view your balance.', 'mycred' );
166
-
167
- $mycred = mycred( $type );
168
  $mycred_types = mycred_get_types();
169
 
170
  // CSS to help with show/hide
171
  $history_option_class = $visitor_option_class = '';
172
  if ( $show_history )
173
  $history_option_class = ' ex-field';
 
174
  if ( $show_visitors )
175
- $visitor_option_class = ' ex-field'; ?>
176
-
177
- <!-- Widget Admin Styling -->
178
- <style type="text/css">
179
- p.myCRED-widget-field span { display: none; }
180
- p.myCRED-widget-field span.ex-field { display: block; padding: 6px 0; }
181
- p.myCRED-widget-field span textarea { width: 98%; min-height: 80px; }
182
- </style>
183
-
184
- <!-- Widget Options -->
185
- <p class="myCRED-widget-field">
186
- <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
187
- <input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
188
- </p>
189
-
190
- <!-- Point Type -->
191
- <?php if ( count( $mycred_types ) > 1 ) : ?>
192
- <p class="myCRED-widget-field">
193
- <label for="<?php echo esc_attr( $this->get_field_id( 'type' ) ); ?>"><?php _e( 'Point Type', 'mycred' ); ?>:</label>
194
- <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
195
- </p>
196
- <?php else : ?>
197
- <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
198
- <?php endif; ?>
199
-
200
- <!-- Balance layout -->
201
- <p class="myCRED-widget-field">
202
- <label for="<?php echo esc_attr( $this->get_field_id( 'cred_format' ) ); ?>"><?php _e( 'Layout', 'mycred' ); ?>:</label>
203
- <input id="<?php echo esc_attr( $this->get_field_id( 'cred_format' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'cred_format' ) ); ?>" type="text" value="<?php echo esc_attr( $cred_format ); ?>" class="widefat" /><br />
204
- <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
205
- </p>
206
-
207
- <!-- History -->
208
- <p class="myCRED-widget-field">
209
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_history' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_history' ) ); ?>" value="1"<?php checked( $show_history, 1 ); ?> class="checkbox" />
210
- <label for="<?php echo esc_attr( $this->get_field_id( 'show_history' ) ); ?>"><?php _e( 'Include history', 'mycred' ); ?></label><br />
211
- <span class="mycred-hidden<?php echo $history_option_class; ?>">
212
- <label for="<?php echo esc_attr( $this->get_field_id( 'history_title' ) ); ?>"><?php _e( 'History Title', 'mycred' ); ?>:</label>
213
- <input id="<?php echo esc_attr( $this->get_field_id( 'history_title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'history_title' ) ); ?>" type="text" value="<?php echo esc_attr( $history_title ); ?>" class="widefat" />
214
- <label for="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>"><?php _e( 'Number of entires', 'mycred' ); ?>:</label>
215
- <input id="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'number' ) ); ?>" type="text" value="<?php echo $history_length; ?>" size="3" class="align-right" /><br />
216
- <label for="<?php echo esc_attr( $this->get_field_id( 'history_format' ) ); ?>"><?php _e( 'Row layout', 'mycred' ); ?>:</label>
217
- <textarea name="<?php echo esc_attr( $this->get_field_name( 'history_format' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'history_format' ) ); ?>" rows="3"><?php echo esc_attr( $history_entry ); ?></textarea>
218
- <small><?php echo $mycred->available_template_tags( array( 'general', 'widget' ) ); ?></small>
219
- </span>
220
- </p>
221
- <!-- Show to Visitors -->
222
- <p class="myCRED-widget-field">
223
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_visitors' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>" value="1"<?php checked( $show_visitors, 1 ); ?> class="checkbox" />
224
- <label for="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>"><?php _e( 'Show message when not logged in', 'mycred' ); ?></label><br />
225
- <span class="mycred-hidden<?php echo $visitor_option_class; ?>">
226
- <label for="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>"><?php _e( 'Message', 'mycred' ); ?>:</label><br />
227
- <textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'message' ) ); ?>"><?php echo $message; ?></textarea><br />
228
- <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
229
- </span>
230
- </p>
231
- <!-- Widget Admin Scripting -->
232
- <script type="text/javascript">//<![CDATA[
233
- jQuery(function($) {
234
- $(document).ready(function(){
235
- $('#<?php echo esc_attr( $this->get_field_id( 'show_history' ) ); ?>').click(function(){
236
- $(this).next().next().next().toggleClass( 'ex-field' );
237
- });
238
- $('#<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>').click(function(){
239
- $(this).next().next().next().toggleClass( 'ex-field' );
240
- });
241
- });
242
- });//]]>
243
- </script>
 
 
 
244
  <?php
 
245
  }
246
 
247
  /**
248
  * Processes widget options to be saved
249
  */
250
  function update( $new_instance, $old_instance ) {
251
- $instance = $old_instance;
252
-
253
- $instance['title'] = trim( $new_instance['title'] );
254
- $instance['type'] = trim( $new_instance['type'] );
255
 
256
- $instance['cred_format'] = trim( $new_instance['cred_format'] );
257
 
258
- $instance['show_history'] = ( isset( $new_instance['show_history'] ) ) ? 1 : 0;
259
- $instance['history_title'] = trim( $new_instance['history_title'] );
260
- $instance['history_format'] = trim( $new_instance['history_format'] );
261
- $instance['number'] = (int) $new_instance['number'];
262
-
263
- $instance['show_visitors'] = ( isset( $new_instance['show_visitors'] ) ) ? 1 : 0;
264
- $instance['message'] = trim( $new_instance['message'] );
 
 
 
 
 
265
 
266
  mycred_flush_widget_cache( 'mycred_widget_balance' );
267
  return $instance;
 
268
  }
 
269
  }
270
- }
271
 
272
  /**
273
  * Widget: Leaderboard
274
  * @since 0.1
275
  * @version 1.3
276
  */
277
- if ( ! class_exists( 'myCRED_Widget_Leaderboard' ) ) {
278
  class myCRED_Widget_Leaderboard extends WP_Widget {
279
 
280
  /**
281
  * Construct
282
  */
283
  function myCRED_Widget_Leaderboard() {
 
284
  $name = mycred_label( true );
285
 
286
  // Basic details about our widget
@@ -288,6 +305,7 @@ if ( ! class_exists( 'myCRED_Widget_Leaderboard' ) ) {
288
  'classname' => 'widget-mycred-list',
289
  'description' => sprintf( __( 'Show a list of users sorted by their %s balance', 'mycred' ), $name )
290
  );
 
291
  $this->WP_Widget( 'mycred_widget_list', sprintf( __( '(%s) Leaderboard', 'mycred' ), $name ), $widget_ops );
292
  $this->alt_option_name = 'mycred_widget_list';
293
 
@@ -297,6 +315,7 @@ if ( ! class_exists( 'myCRED_Widget_Leaderboard' ) ) {
297
  * Widget Output
298
  */
299
  function widget( $args, $instance ) {
 
300
  extract( $args, EXTR_SKIP );
301
 
302
  // Check if we want to show this to visitors
@@ -344,145 +363,153 @@ if ( ! class_exists( 'myCRED_Widget_Leaderboard' ) ) {
344
  * Outputs the options form on admin
345
  */
346
  function form( $instance ) {
 
347
  // Defaults
348
- $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : __( 'Leaderboard', 'mycred' );
349
- $type = isset( $instance['type'] ) ? $instance['type'] : 'mycred_default';
350
- $based_on = isset( $instance['based_on'] ) ? esc_attr( $instance['based_on'] ) : 'balance';
351
 
352
- $number = isset( $instance['number'] ) ? abs( $instance['number'] ) : 5;
353
  $show_visitors = isset( $instance['show_visitors'] ) ? $instance['show_visitors'] : 0;
354
- $text = isset( $instance['text'] ) ? esc_attr( $instance['text'] ) : '#%position% %user_profile_link% %cred_f%';
355
- $offset = isset( $instance['offset'] ) ? esc_attr( $instance['offset'] ) : 0;
356
- $order = isset( $instance['order'] ) ? esc_attr( $instance['order'] ) : 'DESC';
357
- $current = isset( $instance['current'] ) ? $instance['current'] : 0;
358
-
359
- $mycred = mycred( $type );
360
- $mycred_types = mycred_get_types(); ?>
361
-
362
- <p class="myCRED-widget-field">
363
- <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
364
- <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
365
- </p>
366
-
367
- <?php if ( count( $mycred_types ) > 1 ) : ?>
368
- <p class="myCRED-widget-field">
369
- <label for="<?php echo esc_attr( $this->get_field_id( 'type' ) ); ?>"><?php _e( 'Point Type', 'mycred' ); ?>:</label>
370
- <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
371
- </p>
372
- <?php else : ?>
373
- <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
374
- <?php endif; ?>
375
-
376
- <p class="myCRED-widget-field">
377
- <label for="<?php echo esc_attr( $this->get_field_id( 'based_on' ) ); ?>"><?php _e( 'Based On', 'mycred' ); ?>:</label>
378
- <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'based_on' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'based_on' ) ); ?>" type="text" value="<?php echo esc_attr( $based_on ); ?>" />
379
- <small><?php _e( 'Use "balance" to base the leaderboard on your users current balances or use a specific reference.', 'mycred' ); ?> <a href="http://codex.mycred.me/reference-guide/log-references/" target="_blank"><?php _e( 'Reference Guide', 'mycred' ); ?></a></small>
380
- </p>
381
-
382
- <p class="myCRED-widget-field">
383
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_visitors' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>" value="1"<?php checked( $show_visitors, 1 ); ?> class="checkbox" />
384
- <label for="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>"><?php _e( 'Visible to non-members', 'mycred' ); ?></label>
385
- </p>
386
- <p class="myCRED-widget-field">
387
- <label for="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>"><?php _e( 'Number of users', 'mycred' ); ?>:</label>
388
- <input id="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'number' ) ); ?>" type="text" value="<?php echo $number; ?>" size="3" class="align-right" />
389
- </p>
390
- <p class="myCRED-widget-field">
391
- <label for="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>"><?php _e( 'Row layout', 'mycred' ); ?>:</label>
392
- <textarea class="widefat" name="<?php echo esc_attr( $this->get_field_name( 'text' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>" rows="3"><?php echo esc_attr( $text ); ?></textarea>
393
- <small><?php echo $mycred->available_template_tags( array( 'general', 'widget' ) ); ?></small>
394
- </p>
395
- <p class="myCRED-widget-field">
396
- <label for="<?php echo esc_attr( $this->get_field_id( 'offset' ) ); ?>"><?php _e( 'Offset', 'mycred' ); ?>:</label>
397
- <input id="<?php echo esc_attr( $this->get_field_id( 'offset' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'offset' ) ); ?>" type="text" value="<?php echo $offset; ?>" size="3" class="align-right" /><br />
398
- <small><?php _e( 'Optional offset of order. Use zero to return the first in the list.', 'mycred' ); ?></small>
399
- </p>
400
- <p class="myCRED-widget-field">
401
- <label for="<?php echo esc_attr( $this->get_field_id( 'order' ) ); ?>"><?php _e( 'Order', 'mycred' ); ?>:</label>
402
- <select name="<?php echo esc_attr( $this->get_field_name( 'order' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'order' ) ); ?>">
403
- <?php
 
404
  $options = array(
405
  'ASC' => __( 'Ascending', 'mycred' ),
406
  'DESC' => __( 'Descending', 'mycred' )
407
  );
 
408
  foreach ( $options as $value => $label ) {
409
  echo '<option value="' . $value . '"';
410
  if ( $order == $value ) echo ' selected="selected"';
411
  echo '>' . $label . '</option>';
412
  }
413
- ?>
414
-
415
- </select>
416
- </p>
417
- <p class="myCRED-widget-field">
418
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'current' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'current' ) ); ?>" value="1"<?php checked( $current, 1 ); ?> class="checkbox" />
419
- <label for="<?php echo esc_attr( $this->get_field_id( 'current' ) ); ?>"><?php _e( 'Append current users position', 'mycred' ); ?></label><br />
420
- <small><?php _e( 'If the current user is not in this leaderboard, you can select to append them at the end with their current position.', 'mycred' ); ?></small>
421
- </p>
422
  <?php
 
423
  }
424
 
425
  /**
426
  * Processes widget options to be saved
427
  */
428
  function update( $new_instance, $old_instance ) {
 
 
 
429
  $instance = $old_instance;
430
- $instance['number'] = (int) $new_instance['number'];
431
- $instance['title'] = trim( $new_instance['title'] );
432
- $instance['type'] = sanitize_key( $new_instance['type'] );
433
- $instance['based_on'] = sanitize_key( $new_instance['based_on'] );
434
 
 
 
 
 
435
  $instance['show_visitors'] = ( isset( $new_instance['show_visitors'] ) ) ? $new_instance['show_visitors'] : 0;
436
-
437
- $template = trim( $new_instance['text'] );
438
-
439
- // Remove rank tag if the ranks add-on is disabled
440
- if ( ! function_exists( 'mycred_get_users_rank' ) )
441
- $instance['text'] = str_replace( '%rank%', '%ranking%', $template );
442
- else
443
- $instance['text'] = $template;
444
-
445
- $instance['offset'] = $new_instance['offset'];
446
- $instance['order'] = $new_instance['order'];
447
- $instance['current'] = ( isset( $new_instance['current'] ) ) ? $new_instance['current'] : 0;
448
 
449
  mycred_flush_widget_cache( 'mycred_widget_list' );
 
450
  return $instance;
 
451
  }
 
452
  }
453
- }
454
 
455
  /**
456
  * Widget: myCRED Wallet
457
  * @since 1.4
458
  * @version 1.0
459
  */
460
- if ( ! class_exists( 'myCRED_Widget_Wallet' ) ) {
461
  class myCRED_Widget_Wallet extends WP_Widget {
462
 
463
  /**
464
  * Construct
465
  */
466
  function myCRED_Widget_Wallet() {
 
467
  // Basic details about our widget
468
  $widget_ops = array(
469
  'classname' => 'widget-my-wallet',
470
  'description' => __( 'Shows the current users balances for each point type.', 'mycred' )
471
  );
 
472
  $this->WP_Widget( 'mycred_widget_wallet', sprintf( __( '(%s) Wallet', 'mycred' ), mycred_label( true ) ), $widget_ops );
473
  $this->alt_option_name = 'mycred_widget_wallet';
 
474
  }
475
 
476
  /**
477
  * Widget Output
478
  */
479
  function widget( $args, $instance ) {
 
480
  extract( $args, EXTR_SKIP );
481
 
482
  $mycred = mycred();
483
 
484
  // If we are logged in
485
  if ( is_user_logged_in() ) {
 
486
  // Current user id
487
  $user_id = get_current_user_id();
488
 
@@ -519,6 +546,7 @@ if ( ! class_exists( 'myCRED_Widget_Wallet' ) ) {
519
 
520
  // End
521
  echo $after_widget;
 
522
  }
523
 
524
  // Visitor
@@ -540,70 +568,78 @@ if ( ! class_exists( 'myCRED_Widget_Wallet' ) ) {
540
  echo $after_widget;
541
 
542
  }
 
543
  }
544
 
545
  /**
546
  * Outputs the options form on admin
547
  */
548
  function form( $instance ) {
 
549
  $mycred = mycred();
550
 
551
  // Defaults
552
- $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : __( 'My Wallet', 'mycred' );
553
-
554
- $types = isset( $instance['types'] ) ? $instance['types'] : array();
555
- $row_template = isset( $instance['row'] ) ? $instance['row'] : '%label%: %cred_f%';
556
-
557
  $show_visitors = isset( $instance['show_visitors'] ) ? $instance['show_visitors'] : 0;
558
- $message = isset( $instance['message'] ) ? esc_attr( $instance['message'] ) : __( '<a href="%login_url_here%">Login</a> to view your balance.', 'mycred' ); ?>
559
-
560
- <!-- Widget Options -->
561
- <p class="myCRED-widget-field">
562
- <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
563
- <input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
564
- </p>
565
-
566
- <!-- Point Type -->
567
- <p class="myCRED-widget-field">
568
- <label for="<?php echo esc_attr( $this->get_field_id( 'types' ) ); ?>"><?php _e( 'Point Types', 'mycred' ); ?>:</label><br />
569
- <?php mycred_types_select_from_checkboxes( $this->get_field_name( 'types' ) . '[]', $this->get_field_id( 'types' ), $types ); ?>
570
- </p>
571
-
572
- <!-- Row layout -->
573
- <p class="myCRED-widget-field">
574
- <label for="<?php echo esc_attr( $this->get_field_id( 'row' ) ); ?>"><?php _e( 'Row Layout', 'mycred' ); ?>:</label>
575
- <input id="<?php echo esc_attr( $this->get_field_id( 'row' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'row' ) ); ?>" type="text" value="<?php echo esc_attr( $row_template ); ?>" class="widefat" /><br />
576
- <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
577
- </p>
578
-
579
- <!-- Show to Visitors -->
580
- <p class="myCRED-widget-field">
581
- <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_visitors' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>" value="1"<?php checked( $show_visitors, 1 ); ?> class="checkbox" />
582
- <label for="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>"><?php _e( 'Show message when not logged in', 'mycred' ); ?></label><br />
583
- <label for="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>"><?php _e( 'Message', 'mycred' ); ?>:</label><br />
584
- <textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'message' ) ); ?>"><?php echo $message; ?></textarea><br />
585
- <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
586
- </p>
 
 
587
  <?php
 
588
  }
589
 
590
  /**
591
  * Processes widget options to be saved
592
  */
593
  function update( $new_instance, $old_instance ) {
594
- $instance = $old_instance;
595
 
596
- $instance['title'] = trim( $new_instance['title'] );
597
 
598
- $instance['types'] = (array) $new_instance['types'];
599
- $instance['row'] = trim( $new_instance['row'] );
600
 
 
 
 
601
  $instance['show_visitors'] = ( isset( $new_instance['show_visitors'] ) ) ? 1 : 0;
602
- $instance['message'] = trim( $new_instance['message'] );
603
 
604
  mycred_flush_widget_cache( 'mycred_widget_wallet' );
 
605
  return $instance;
 
606
  }
 
607
  }
608
- }
609
  ?>
6
  * @since 0.1
7
  * @version 1.4
8
  */
9
+ if ( ! class_exists( 'myCRED_Widget_Balance' ) ) :
10
  class myCRED_Widget_Balance extends WP_Widget {
11
 
12
  /**
13
  * Construct
14
  */
15
  function myCRED_Widget_Balance() {
16
+
17
  $name = mycred_label( true );
18
 
19
  // Basic details about our widget
21
  'classname' => 'widget-my-cred',
22
  'description' => sprintf( __( 'Show the current users %s balance', 'mycred' ), $name )
23
  );
24
+
25
  $this->WP_Widget( 'mycred_widget_balance', sprintf( __( '(%s) My Balance', 'mycred' ), $name ), $widget_ops );
26
  $this->alt_option_name = 'mycred_widget_balance';
27
+
28
  }
29
 
30
  /**
31
  * Widget Output
32
  */
33
  function widget( $args, $instance ) {
34
+
35
  extract( $args, EXTR_SKIP );
36
 
37
  // If we are logged in
38
  if ( is_user_logged_in() ) {
39
+
40
  // Current user id
41
  $user_id = get_current_user_id();
42
 
65
 
66
  $layout = $mycred->template_tags_amount( $instance['cred_format'], $balance );
67
  $layout = $mycred->template_tags_user( $layout, false, wp_get_current_user() );
68
+
 
 
 
 
 
 
 
69
  echo '<div class="myCRED-balance">' . $layout . '</div>';
70
 
71
  // If we want to include history
72
  if ( $instance['show_history'] ) {
73
+
74
  echo '<div class="myCRED-widget-history">';
75
 
76
  // Query Log
79
  'number' => $instance['number'],
80
  'ctype' => $instance['type']
81
  ) );
82
+
83
  // Have results
84
  if ( $log->have_entries() ) {
85
+
86
  // Title
87
  if ( !empty( $instance['history_title'] ) ) {
88
  $history_title = $instance['history_title'];
89
  echo $before_title . $mycred->template_tags_general( $history_title ) . $after_title;
90
  }
91
+
92
  // Organized List
93
  echo '<ol class="myCRED-history">';
94
  $alt = 0;
95
  $date_format = get_option( 'date_format' );
96
  foreach ( $log->results as $entry ) {
97
+
98
  // Row Layout
99
  $layout = $instance['history_format'];
100
  $layout = str_replace( '%date%', '<span class="date">' . date_i18n( $date_format, $entry->time ) . '</span>', $layout );
101
  $layout = str_replace( '%entry%', $mycred->parse_template_tags( $entry->entry, $entry ), $layout );
102
+
103
  $layout = $mycred->allowed_tags( $layout );
104
  $layout = $mycred->template_tags_general( $layout );
105
  $layout = $mycred->template_tags_amount( $layout, $entry->creds );
106
+
107
  // Alternating rows
108
  $alt = $alt+1;
109
  if ( $alt % 2 == 0 ) $class = 'row alternate';
110
  else $class = 'row';
111
+
112
  // Output list item
113
  echo '<li class="' . $class . '">' . $layout . '</li>';
114
+
115
  }
116
  echo '</ol>';
117
+
118
  }
119
  $log->reset_query();
120
 
123
 
124
  // End
125
  echo $after_widget;
126
+
127
  }
128
+
129
  // Visitor
130
  else {
131
+
132
  // If we want to show a message, then do so
133
  if ( $instance['show_visitors'] ) {
134
+
135
  echo $before_widget;
136
 
137
  $mycred = mycred( $instance['type'] );
149
 
150
  echo '<div class="myCRED-my-balance-message"><p>' . nl2br( $message ) . '</p></div>';
151
  echo $after_widget;
152
+
153
  }
154
+
155
  }
156
+
157
  }
158
 
159
  /**
160
  * Outputs the options form on admin
161
  */
162
  function form( $instance ) {
 
 
 
 
 
163
 
164
+ // Defaults
165
+ $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : 'My Balance';
166
+ $type = isset( $instance['type'] ) ? $instance['type'] : 'mycred_default';
167
+ $cred_format = isset( $instance['cred_format'] ) ? esc_attr( $instance['cred_format'] ) : '%cred_f%';
168
+ $show_history = isset( $instance['show_history'] ) ? $instance['show_history'] : 0;
169
+ $history_title = isset( $instance['history_title'] ) ? $instance['history_title'] : '%plural% History';
170
+ $history_entry = isset( $instance['history_format'] ) ? esc_attr( $instance['history_format'] ) : '%entry% <span class="creds">%cred_f%</span>';
171
  $history_length = isset( $instance['number'] ) ? abs( $instance['number'] ) : 5;
172
+ $show_visitors = isset( $instance['show_visitors'] ) ? $instance['show_visitors'] : 0;
173
+ $message = isset( $instance['message'] ) ? esc_attr( $instance['message'] ) : '<a href="%login_url_here%">Login</a> to view your balance.';
174
 
175
+ $mycred = mycred( $type );
 
 
 
176
  $mycred_types = mycred_get_types();
177
 
178
  // CSS to help with show/hide
179
  $history_option_class = $visitor_option_class = '';
180
  if ( $show_history )
181
  $history_option_class = ' ex-field';
182
+
183
  if ( $show_visitors )
184
+ $visitor_option_class = ' ex-field';
185
+
186
+ ?>
187
+ <!-- Widget Admin Styling -->
188
+ <style type="text/css">
189
+ p.myCRED-widget-field span { display: none; }
190
+ p.myCRED-widget-field span.ex-field { display: block; padding: 6px 0; }
191
+ p.myCRED-widget-field span textarea { width: 98%; min-height: 80px; }
192
+ </style>
193
+
194
+ <!-- Widget Options -->
195
+ <p class="myCRED-widget-field">
196
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
197
+ <input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
198
+ </p>
199
+
200
+ <!-- Point Type -->
201
+ <?php if ( count( $mycred_types ) > 1 ) : ?>
202
+ <p class="myCRED-widget-field">
203
+ <label for="<?php echo esc_attr( $this->get_field_id( 'type' ) ); ?>"><?php _e( 'Point Type', 'mycred' ); ?>:</label>
204
+ <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
205
+ </p>
206
+ <?php else : ?>
207
+ <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
208
+ <?php endif; ?>
209
+
210
+ <!-- Balance layout -->
211
+ <p class="myCRED-widget-field">
212
+ <label for="<?php echo esc_attr( $this->get_field_id( 'cred_format' ) ); ?>"><?php _e( 'Layout', 'mycred' ); ?>:</label>
213
+ <input id="<?php echo esc_attr( $this->get_field_id( 'cred_format' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'cred_format' ) ); ?>" type="text" value="<?php echo esc_attr( $cred_format ); ?>" class="widefat" /><br />
214
+ <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
215
+ </p>
216
+
217
+ <!-- History -->
218
+ <p class="myCRED-widget-field">
219
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_history' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_history' ) ); ?>" value="1"<?php checked( $show_history, 1 ); ?> class="checkbox" />
220
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_history' ) ); ?>"><?php _e( 'Include history', 'mycred' ); ?></label><br />
221
+ <span class="mycred-hidden<?php echo $history_option_class; ?>">
222
+ <label for="<?php echo esc_attr( $this->get_field_id( 'history_title' ) ); ?>"><?php _e( 'History Title', 'mycred' ); ?>:</label>
223
+ <input id="<?php echo esc_attr( $this->get_field_id( 'history_title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'history_title' ) ); ?>" type="text" value="<?php echo esc_attr( $history_title ); ?>" class="widefat" />
224
+ <label for="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>"><?php _e( 'Number of entires', 'mycred' ); ?>:</label>
225
+ <input id="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'number' ) ); ?>" type="text" value="<?php echo $history_length; ?>" size="3" class="align-right" /><br />
226
+ <label for="<?php echo esc_attr( $this->get_field_id( 'history_format' ) ); ?>"><?php _e( 'Row layout', 'mycred' ); ?>:</label>
227
+ <textarea name="<?php echo esc_attr( $this->get_field_name( 'history_format' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'history_format' ) ); ?>" rows="3"><?php echo esc_attr( $history_entry ); ?></textarea>
228
+ <small><?php echo $mycred->available_template_tags( array( 'general', 'widget' ) ); ?></small>
229
+ </span>
230
+ </p>
231
+ <!-- Show to Visitors -->
232
+ <p class="myCRED-widget-field">
233
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_visitors' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>" value="1"<?php checked( $show_visitors, 1 ); ?> class="checkbox" />
234
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>"><?php _e( 'Show message when not logged in', 'mycred' ); ?></label><br />
235
+ <span class="mycred-hidden<?php echo $visitor_option_class; ?>">
236
+ <label for="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>"><?php _e( 'Message', 'mycred' ); ?>:</label><br />
237
+ <textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'message' ) ); ?>"><?php echo $message; ?></textarea><br />
238
+ <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
239
+ </span>
240
+ </p>
241
+ <!-- Widget Admin Scripting -->
242
+ <script type="text/javascript">//<![CDATA[
243
+ jQuery(function($) {
244
+ $(document).ready(function(){
245
+
246
+ $('#<?php echo esc_attr( $this->get_field_id( 'show_history' ) ); ?>').click(function(){
247
+ $(this).next().next().next().toggleClass( 'ex-field' );
248
+ });
249
+
250
+ $('#<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>').click(function(){
251
+ $(this).next().next().next().toggleClass( 'ex-field' );
252
+ });
253
+ });
254
+ });//]]>
255
+ </script>
256
  <?php
257
+
258
  }
259
 
260
  /**
261
  * Processes widget options to be saved
262
  */
263
  function update( $new_instance, $old_instance ) {
 
 
 
 
264
 
265
+ global $mycred;
266
 
267
+ $instance = $old_instance;
268
+ $allowed = $mycred->allowed_html_tags();
269
+
270
+ $instance['title'] = wp_kses( $new_instance['title'], $allowed );
271
+ $instance['type'] = sanitize_text_field( $new_instance['type'] );
272
+ $instance['cred_format'] = wp_kses( $new_instance['cred_format'], $allowed );
273
+ $instance['show_history'] = ( isset( $new_instance['show_history'] ) ) ? 1 : 0;
274
+ $instance['history_title'] = wp_kses( $new_instance['history_title'], $allowed );
275
+ $instance['history_format'] = wp_kses( $new_instance['history_format'], $allowed );
276
+ $instance['number'] = absint( $new_instance['number'] );
277
+ $instance['show_visitors'] = ( isset( $new_instance['show_visitors'] ) ) ? 1 : 0;
278
+ $instance['message'] = wp_kses( $new_instance['message'], $allowed );
279
 
280
  mycred_flush_widget_cache( 'mycred_widget_balance' );
281
  return $instance;
282
+
283
  }
284
+
285
  }
286
+ endif;
287
 
288
  /**
289
  * Widget: Leaderboard
290
  * @since 0.1
291
  * @version 1.3
292
  */
293
+ if ( ! class_exists( 'myCRED_Widget_Leaderboard' ) ) :
294
  class myCRED_Widget_Leaderboard extends WP_Widget {
295
 
296
  /**
297
  * Construct
298
  */
299
  function myCRED_Widget_Leaderboard() {
300
+
301
  $name = mycred_label( true );
302
 
303
  // Basic details about our widget
305
  'classname' => 'widget-mycred-list',
306
  'description' => sprintf( __( 'Show a list of users sorted by their %s balance', 'mycred' ), $name )
307
  );
308
+
309
  $this->WP_Widget( 'mycred_widget_list', sprintf( __( '(%s) Leaderboard', 'mycred' ), $name ), $widget_ops );
310
  $this->alt_option_name = 'mycred_widget_list';
311
 
315
  * Widget Output
316
  */
317
  function widget( $args, $instance ) {
318
+
319
  extract( $args, EXTR_SKIP );
320
 
321
  // Check if we want to show this to visitors
363
  * Outputs the options form on admin
364
  */
365
  function form( $instance ) {
366
+
367
  // Defaults
368
+ $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : 'Leaderboard';
369
+ $type = isset( $instance['type'] ) ? $instance['type'] : 'mycred_default';
370
+ $based_on = isset( $instance['based_on'] ) ? esc_attr( $instance['based_on'] ) : 'balance';
371
 
372
+ $number = isset( $instance['number'] ) ? absint( $instance['number'] ) : 5;
373
  $show_visitors = isset( $instance['show_visitors'] ) ? $instance['show_visitors'] : 0;
374
+ $text = isset( $instance['text'] ) ? esc_attr( $instance['text'] ) : '#%position% %user_profile_link% %cred_f%';
375
+ $offset = isset( $instance['offset'] ) ? esc_attr( $instance['offset'] ) : 0;
376
+ $order = isset( $instance['order'] ) ? esc_attr( $instance['order'] ) : 'DESC';
377
+ $current = isset( $instance['current'] ) ? $instance['current'] : 0;
378
+
379
+ $mycred = mycred( $type );
380
+ $mycred_types = mycred_get_types();
381
+
382
+ ?>
383
+ <p class="myCRED-widget-field">
384
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
385
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
386
+ </p>
387
+
388
+ <?php if ( count( $mycred_types ) > 1 ) : ?>
389
+ <p class="myCRED-widget-field">
390
+ <label for="<?php echo esc_attr( $this->get_field_id( 'type' ) ); ?>"><?php _e( 'Point Type', 'mycred' ); ?>:</label>
391
+ <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
392
+ </p>
393
+ <?php else : ?>
394
+ <?php mycred_types_select_from_dropdown( $this->get_field_name( 'type' ), $this->get_field_id( 'type' ), $type ); ?>
395
+ <?php endif; ?>
396
+
397
+ <p class="myCRED-widget-field">
398
+ <label for="<?php echo esc_attr( $this->get_field_id( 'based_on' ) ); ?>"><?php _e( 'Based On', 'mycred' ); ?>:</label>
399
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'based_on' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'based_on' ) ); ?>" type="text" value="<?php echo esc_attr( $based_on ); ?>" />
400
+ <small><?php _e( 'Use "balance" to base the leaderboard on your users current balances or use a specific reference.', 'mycred' ); ?> <a href="http://codex.mycred.me/reference-guide/log-references/" target="_blank"><?php _e( 'Reference Guide', 'mycred' ); ?></a></small>
401
+ </p>
402
+
403
+ <p class="myCRED-widget-field">
404
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_visitors' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>" value="1"<?php checked( $show_visitors, 1 ); ?> class="checkbox" />
405
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>"><?php _e( 'Visible to non-members', 'mycred' ); ?></label> </p>
406
+ <p class="myCRED-widget-field">
407
+ <label for="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>"><?php _e( 'Number of users', 'mycred' ); ?>:</label>
408
+ <input id="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'number' ) ); ?>" type="text" value="<?php echo $number; ?>" size="3" class="align-right" />
409
+ </p>
410
+ <p class="myCRED-widget-field">
411
+ <label for="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>"><?php _e( 'Row layout', 'mycred' ); ?>:</label>
412
+ <textarea class="widefat" name="<?php echo esc_attr( $this->get_field_name( 'text' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'text' ) ); ?>" rows="3"><?php echo esc_attr( $text ); ?></textarea>
413
+ <small><?php echo $mycred->available_template_tags( array( 'general', 'balance' ) ); ?></small>
414
+ </p>
415
+ <p class="myCRED-widget-field">
416
+ <label for="<?php echo esc_attr( $this->get_field_id( 'offset' ) ); ?>"><?php _e( 'Offset', 'mycred' ); ?>:</label>
417
+ <input id="<?php echo esc_attr( $this->get_field_id( 'offset' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'offset' ) ); ?>" type="text" value="<?php echo $offset; ?>" size="3" class="align-right" /><br />
418
+ <small><?php _e( 'Optional offset of order. Use zero to return the first in the list.', 'mycred' ); ?></small>
419
+ </p>
420
+ <p class="myCRED-widget-field">
421
+ <label for="<?php echo esc_attr( $this->get_field_id( 'order' ) ); ?>"><?php _e( 'Order', 'mycred' ); ?>:</label>
422
+ <select name="<?php echo esc_attr( $this->get_field_name( 'order' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'order' ) ); ?>">
423
+ <?php
424
+
425
  $options = array(
426
  'ASC' => __( 'Ascending', 'mycred' ),
427
  'DESC' => __( 'Descending', 'mycred' )
428
  );
429
+
430
  foreach ( $options as $value => $label ) {
431
  echo '<option value="' . $value . '"';
432
  if ( $order == $value ) echo ' selected="selected"';
433
  echo '>' . $label . '</option>';
434
  }
435
+
436
+ ?>
437
+ </select>
438
+ </p>
439
+ <p class="myCRED-widget-field">
440
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'current' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'current' ) ); ?>" value="1"<?php checked( $current, 1 ); ?> class="checkbox" />
441
+ <label for="<?php echo esc_attr( $this->get_field_id( 'current' ) ); ?>"><?php _e( 'Append current users position', 'mycred' ); ?></label><br />
442
+ <small><?php _e( 'If the current user is not in this leaderboard, you can select to append them at the end with their current position.', 'mycred' ); ?></small>
443
+ </p>
444
  <?php
445
+
446
  }
447
 
448
  /**
449
  * Processes widget options to be saved
450
  */
451
  function update( $new_instance, $old_instance ) {
452
+
453
+ global $mycred;
454
+
455
  $instance = $old_instance;
456
+ $allowed = $mycred->allowed_html_tags();
 
 
 
457
 
458
+ $instance['number'] = absint( $new_instance['number'] );
459
+ $instance['title'] = wp_kses( $new_instance['title'], $allowed );
460
+ $instance['type'] = sanitize_key( $new_instance['type'] );
461
+ $instance['based_on'] = sanitize_key( $new_instance['based_on'] );
462
  $instance['show_visitors'] = ( isset( $new_instance['show_visitors'] ) ) ? $new_instance['show_visitors'] : 0;
463
+ $instance['text'] = wp_kses( $new_instance['text'], $allowed );
464
+ $instance['offset'] = sanitize_text_field( $new_instance['offset'] );
465
+ $instance['order'] = sanitize_text_field( $new_instance['order'] );
466
+ $instance['current'] = ( isset( $new_instance['current'] ) ) ? absint( $new_instance['current'] ) : 0;
 
 
 
 
 
 
 
 
467
 
468
  mycred_flush_widget_cache( 'mycred_widget_list' );
469
+
470
  return $instance;
471
+
472
  }
473
+
474
  }
475
+ endif;
476
 
477
  /**
478
  * Widget: myCRED Wallet
479
  * @since 1.4
480
  * @version 1.0
481
  */
482
+ if ( ! class_exists( 'myCRED_Widget_Wallet' ) ) :
483
  class myCRED_Widget_Wallet extends WP_Widget {
484
 
485
  /**
486
  * Construct
487
  */
488
  function myCRED_Widget_Wallet() {
489
+
490
  // Basic details about our widget
491
  $widget_ops = array(
492
  'classname' => 'widget-my-wallet',
493
  'description' => __( 'Shows the current users balances for each point type.', 'mycred' )
494
  );
495
+
496
  $this->WP_Widget( 'mycred_widget_wallet', sprintf( __( '(%s) Wallet', 'mycred' ), mycred_label( true ) ), $widget_ops );
497
  $this->alt_option_name = 'mycred_widget_wallet';
498
+
499
  }
500
 
501
  /**
502
  * Widget Output
503
  */
504
  function widget( $args, $instance ) {
505
+
506
  extract( $args, EXTR_SKIP );
507
 
508
  $mycred = mycred();
509
 
510
  // If we are logged in
511
  if ( is_user_logged_in() ) {
512
+
513
  // Current user id
514
  $user_id = get_current_user_id();
515
 
546
 
547
  // End
548
  echo $after_widget;
549
+
550
  }
551
 
552
  // Visitor
568
  echo $after_widget;
569
 
570
  }
571
+
572
  }
573
 
574
  /**
575
  * Outputs the options form on admin
576
  */
577
  function form( $instance ) {
578
+
579
  $mycred = mycred();
580
 
581
  // Defaults
582
+ $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : 'My Wallet';
583
+ $types = isset( $instance['types'] ) ? $instance['types'] : array();
584
+ $row_template = isset( $instance['row'] ) ? $instance['row'] : '%label%: %cred_f%';
 
 
585
  $show_visitors = isset( $instance['show_visitors'] ) ? $instance['show_visitors'] : 0;
586
+ $message = isset( $instance['message'] ) ? esc_attr( $instance['message'] ) : '<a href="%login_url_here%">Login</a> to view your balance.';
587
+
588
+ ?>
589
+
590
+ <!-- Widget Options -->
591
+ <p class="myCRED-widget-field">
592
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title', 'mycred' ); ?>:</label>
593
+ <input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
594
+ </p>
595
+
596
+ <!-- Point Type -->
597
+ <p class="myCRED-widget-field">
598
+ <label for="<?php echo esc_attr( $this->get_field_id( 'types' ) ); ?>"><?php _e( 'Point Types', 'mycred' ); ?>:</label><br />
599
+ <?php mycred_types_select_from_checkboxes( $this->get_field_name( 'types' ) . '[]', $this->get_field_id( 'types' ), $types ); ?>
600
+ </p>
601
+
602
+ <!-- Row layout -->
603
+ <p class="myCRED-widget-field">
604
+ <label for="<?php echo esc_attr( $this->get_field_id( 'row' ) ); ?>"><?php _e( 'Row Layout', 'mycred' ); ?>:</label>
605
+ <input id="<?php echo esc_attr( $this->get_field_id( 'row' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'row' ) ); ?>" type="text" value="<?php echo esc_attr( $row_template ); ?>" class="widefat" /><br />
606
+ <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
607
+ </p>
608
+
609
+ <!-- Show to Visitors -->
610
+ <p class="myCRED-widget-field">
611
+ <input type="checkbox" name="<?php echo esc_attr( $this->get_field_name( 'show_visitors' ) ); ?>" id="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>" value="1"<?php checked( $show_visitors, 1 ); ?> class="checkbox" />
612
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_visitors' ) ); ?>"><?php _e( 'Show message when not logged in', 'mycred' ); ?></label><br />
613
+ <label for="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>"><?php _e( 'Message', 'mycred' ); ?>:</label><br />
614
+ <textarea class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'message' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'message' ) ); ?>"><?php echo $message; ?></textarea><br />
615
+ <small><?php echo $mycred->available_template_tags( array( 'general', 'amount' ) ); ?></small>
616
+ </p>
617
  <?php
618
+
619
  }
620
 
621
  /**
622
  * Processes widget options to be saved
623
  */
624
  function update( $new_instance, $old_instance ) {
 
625
 
626
+ global $mycred;
627
 
628
+ $instance = $old_instance;
629
+ $allowed = $mycred->allowed_html_tags();
630
 
631
+ $instance['title'] = wp_kses( $new_instance['title'], $allowed );
632
+ $instance['types'] = (array) $new_instance['types'];
633
+ $instance['row'] = wp_kses( $new_instance['row'], $allowed );
634
  $instance['show_visitors'] = ( isset( $new_instance['show_visitors'] ) ) ? 1 : 0;
635
+ $instance['message'] = wp_kses( $new_instance['message'], $allowed );
636
 
637
  mycred_flush_widget_cache( 'mycred_widget_wallet' );
638
+
639
  return $instance;
640
+
641
  }
642
+
643
  }
644
+ endif;
645
  ?>
lang/mycred-en_US.mo CHANGED
Binary file
lang/mycred-en_US.po CHANGED
@@ -3,10 +3,10 @@ msgstr ""
3
  "Project-Id-Version: myCRED\n"
4
  "Report-Msgid-Bugs-To: http://mycred.me\n"
5
  "POT-Creation-Date: 2014-03-20 14:26+0100\n"
6
- "PO-Revision-Date: Thu Oct 02 2014 11:36:44 GMT+0200 (CEST)\n"
7
  "Last-Translator: unimatrix0 <gabriel.s@merovingi.com>\n"
8
  "Language-Team: LANGUAGE <support@mycred.me>\n"
9
- "Language: English (USA)\n"
10
  "Plural-Forms: nplurals=2; plural=n != 1\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -24,359 +24,466 @@ msgstr ""
24
  "X-Poedit-SearchPath-1: .\n"
25
  "X-Loco-Target-Locale: en_US"
26
 
27
- #: ../mycred.php:429
28
  msgid "Balance"
29
  msgstr ""
30
 
31
- #: ../mycred.php:454
32
  msgid "%label% History"
33
  msgstr ""
34
 
35
- #: ../mycred.php:547
36
  #, php-format
37
  msgid "About %s"
38
  msgstr ""
39
 
40
- #: ../mycred.php:556
41
  msgid "Awesome People"
42
  msgstr ""
43
 
44
- #: ../mycred.php:641 ../mycred.php:665 ../mycred.php:683 ../addons/badges/myCRED-
45
- #: addon-badges.php:438 ../addons/ranks/myCRED-addon-ranks.php:229 ..
46
- #: addons/ranks/myCRED-addon-ranks.php:918 ../addons/sell-content/myCRED-addon-
47
- #: sell-content.php:370 ../addons/transfer/myCRED-addon-transfer.php:132 ..
48
- #: includes/mycred-shortcodes.php:651
 
49
  msgid "Processing..."
50
  msgstr ""
51
 
52
- #: ../mycred.php:642
53
  msgid ""
54
  "Warning! All entries in your log will be permanently removed! This can not "
55
  "be undone!"
56
  msgstr ""
57
 
58
- #: ../mycred.php:643
59
  msgid ""
60
  "All log entries belonging to deleted users will be permanently deleted! This "
61
  "can not be undone!"
62
  msgstr ""
63
 
64
- #: ../mycred.php:644
65
  msgid "Warning! All user balances will be set to zero! This can not be undone!"
66
  msgstr ""
67
 
68
- #: ../mycred.php:645
69
  msgid "Done!"
70
  msgstr ""
71
 
72
- #: ../mycred.php:646 ../mycred.php:664 ../mycred.php:682
73
  msgid "Close"
74
  msgstr ""
75
 
76
- #: ../mycred.php:647
77
  msgid "Export users %plural%"
78
  msgstr ""
79
 
80
- #: ../mycred.php:663
 
 
 
 
 
 
 
81
  msgid "Edit Users Balance"
82
  msgstr ""
83
 
84
- #: ../mycred.php:681
85
  msgid "Edit Log Entry"
86
  msgstr ""
87
 
88
- #: ../mycred.php:685
89
  msgid "Are you sure you want to delete this log entry? This can not be undone!"
90
  msgstr ""
91
 
92
- #: ../mycred.php:686
93
  msgid "Log entry updated"
94
  msgstr ""
95
 
96
- #: ../mycred.php:740 ../mycred.php:761 ../addons/email-notices/myCRED-addon-email-
97
- #: notices.php:723 ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:
98
  #: 499 ../addons/gateway/event-booking/mycred-eventsmanager.php:537
99
  msgid "Setup"
100
  msgstr ""
101
 
102
- #: ../mycred.php:742 ../addons/gateway/carts/mycred-marketpress.php:367 ..
103
- #: includes/mycred-network.php:151 ../modules/mycred-module-settings.php:20 ..
104
- #: modules/mycred-module-settings.php:21 ../modules/mycred-module-settings.php:22
 
105
  msgid "Settings"
106
  msgstr ""
107
 
108
- #: ../mycred.php:782
109
  msgid ""
110
  "Make sure to backup your database and files before updating, in case "
111
  "anything goes wrong!"
112
  msgstr ""
113
 
114
- #: ../abstracts/mycred-abstract-hook.php:70
115
  msgid "function myCRED_Hook::run() must be over-ridden in a sub-class."
116
  msgstr ""
117
 
118
- #: ../abstracts/mycred-abstract-hook.php:79
119
  msgid "This Hook has no settings"
120
  msgstr ""
121
 
122
- #: ../abstracts/mycred-abstract-hook.php:157 ../modules/mycred-module-hooks.php:
123
- #: 1558
 
124
  msgid "No limit"
125
  msgstr ""
126
 
127
- #: ../abstracts/mycred-abstract-hook.php:158
128
- msgid "Once every 24 hours"
 
 
 
 
129
  msgstr ""
130
 
131
- #: ../abstracts/mycred-abstract-hook.php:159
132
- msgid "Once every 12 hours"
133
  msgstr ""
134
 
135
- #: ../abstracts/mycred-abstract-hook.php:160
 
 
 
 
 
 
 
 
136
  msgid "Once every 7 days"
137
  msgstr ""
138
 
139
- #: ../abstracts/mycred-abstract-hook.php:161
140
  msgid "Once per day (reset at midnight)"
141
  msgstr ""
142
 
143
- #: ../abstracts/mycred-abstract-hook.php:168 ../addons/banking/abstracts/mycred-
144
- #: abstract-service.php:498 ../addons/buy-creds/myCRED-addon-buy-creds.php:629 ..
145
- #: addons/buy-creds/myCRED-addon-buy-creds.php:650 ../addons/buy-
146
- #: creds/abstracts/mycred-abstract-payment-gateway.php:991 ../addons/buy-
147
- #: creds/abstracts/mycred-abstract-payment-gateway.php:1014 ../addons/buy-
148
  #: creds/gateways/zombaio.php:338 ../addons/email-notices/myCRED-addon-email-
149
- #: notices.php:195 ../addons/email-notices/myCRED-addon-email-notices.php:873
150
  msgid "Select"
151
  msgstr ""
152
 
153
- #: ../abstracts/mycred-abstract-module.php:52
154
  msgid "myCRED_Module() Error. A Module ID is required!"
155
  msgstr ""
156
 
157
- #: ../abstracts/mycred-abstract-module.php:343 ../abstracts/mycred-abstract-
158
- #: module.php:351
159
  msgid "Surprise"
160
  msgstr ""
161
 
162
- #: ../abstracts/mycred-abstract-module.php:438 ../includes/mycred-network.php:83
163
  msgid "click to close"
164
  msgstr ""
165
 
166
- #: ../abstracts/mycred-abstract-module.php:439 ../includes/mycred-network.php:84
167
  msgid "click to open"
168
  msgstr ""
169
 
170
- #: ../abstracts/mycred-abstract-module.php:472 ../addons/buy-creds/myCRED-addon-
171
- #: buy-creds.php:847
172
  msgid "Settings Updated"
173
  msgstr ""
174
 
175
- #: ../addons/badges/myCRED-addon-badges.php:38 ../addons/badges/myCRED-addon-
176
- #: badges.php:39 ../addons/badges/myCRED-addon-badges.php:40 ..
177
- #: addons/badges/myCRED-addon-badges.php:234 ../addons/badges/myCRED-addon-
178
- #: badges.php:240 ../addons/badges/myCRED-addon-badges.php:246
 
 
179
  msgid "Badges"
180
  msgstr ""
181
 
182
- #: ../addons/badges/myCRED-addon-badges.php:144
183
- msgid "No users has yet earned this badge."
 
184
  msgstr ""
185
 
186
- #: ../addons/badges/myCRED-addon-badges.php:150
187
  #, php-format
188
  msgid "%d Users earned this badge."
189
  msgstr ""
190
 
191
- #: ../addons/badges/myCRED-addon-badges.php:171
 
 
 
 
192
  #, php-format
193
  msgid "%s connections where removed."
194
  msgstr ""
195
 
196
- #: ../addons/badges/myCRED-addon-badges.php:235
197
  msgid "Badge"
198
  msgstr ""
199
 
200
- #: ../addons/badges/myCRED-addon-badges.php:236 ../addons/email-notices/myCRED-
201
- #: addon-email-notices.php:165 ../addons/ranks/myCRED-addon-ranks.php:247
 
 
202
  msgid "Add New"
203
  msgstr ""
204
 
205
- #: ../addons/badges/myCRED-addon-badges.php:237
206
  msgid "Add New Badge"
207
  msgstr ""
208
 
209
- #: ../addons/badges/myCRED-addon-badges.php:238
210
  msgid "Edit Badge"
211
  msgstr ""
212
 
213
- #: ../addons/badges/myCRED-addon-badges.php:239
214
  msgid "New Badge"
215
  msgstr ""
216
 
217
- #: ../addons/badges/myCRED-addon-badges.php:241
218
  msgid "View Badge"
219
  msgstr ""
220
 
221
- #: ../addons/badges/myCRED-addon-badges.php:242
222
  msgid "Search Badge"
223
  msgstr ""
224
 
225
- #: ../addons/badges/myCRED-addon-badges.php:243
226
  msgid "No badges found"
227
  msgstr ""
228
 
229
- #: ../addons/badges/myCRED-addon-badges.php:244
230
  msgid "No badges found in Trash"
231
  msgstr ""
232
 
233
- #: ../addons/badges/myCRED-addon-badges.php:286 ../addons/badges/myCRED-addon-
234
- #: badges.php:368
235
  msgid "Badge Name"
236
  msgstr ""
237
 
238
- #: ../addons/badges/myCRED-addon-badges.php:287 ../addons/badges/myCRED-addon-
239
- #: badges.php:389
240
  msgid "Badge Images"
241
  msgstr ""
242
 
243
- #: ../addons/badges/myCRED-addon-badges.php:288 ../addons/badges/myCRED-addon-
244
- #: badges.php:380
245
  msgid "Requirements"
246
  msgstr ""
247
 
248
- #: ../addons/badges/myCRED-addon-badges.php:289 ../addons/ranks/myCRED-addon-
249
- #: ranks.php:618 ../modules/mycred-module-settings.php:451
250
  msgid "Users"
251
  msgstr ""
252
 
253
- #: ../addons/badges/myCRED-addon-badges.php:315
254
  msgid "A user must have gained or lost:"
255
  msgstr ""
256
 
257
- #: ../addons/badges/myCRED-addon-badges.php:346 ../addons/badges/myCRED-addon-
258
- #: badges.php:349 ../addons/badges/myCRED-addon-badges.php:353 ..
259
- #: addons/badges/myCRED-addon-badges.php:354 ../addons/badges/myCRED-addon-
260
- #: badges.php:355
261
  msgid "Badge Updated."
262
  msgstr ""
263
 
264
- #: ../addons/badges/myCRED-addon-badges.php:351
265
  msgid "Badge Enabled"
266
  msgstr ""
267
 
268
- #: ../addons/badges/myCRED-addon-badges.php:352
269
  msgid "Badge Saved"
270
  msgstr ""
271
 
272
- #: ../addons/badges/myCRED-addon-badges.php:415
 
 
 
 
273
  msgid "Assign Badge"
274
  msgstr ""
275
 
276
- #: ../addons/badges/myCRED-addon-badges.php:416
277
  msgid "Remove Connections"
278
  msgstr ""
279
 
280
- #: ../addons/badges/myCRED-addon-badges.php:468
281
  msgid "Time(s)"
282
  msgstr ""
283
 
284
- #: ../addons/badges/myCRED-addon-badges.php:469
285
  msgid "In total"
286
  msgstr ""
287
 
288
- #: ../addons/badges/myCRED-addon-badges.php:491 ../addons/badges/myCRED-addon-
289
- #: badges.php:638
 
290
  msgid "Badge Image"
291
  msgstr ""
292
 
293
- #: ../addons/badges/myCRED-addon-badges.php:492 ../addons/badges/myCRED-addon-
294
- #: badges.php:492
295
  msgid "Set badge image"
296
  msgstr ""
297
 
298
- #: ../addons/badges/myCRED-addon-badges.php:495
299
- msgid "To earn this badge, a user must have received:"
300
  msgstr ""
301
 
302
- #: ../addons/badges/myCRED-addon-badges.php:584 ../addons/badges/myCRED-addon-
303
- #: badges.php:604
304
- msgid "no image"
 
305
  msgstr ""
306
 
307
- #: ../addons/badges/myCRED-addon-badges.php:591
308
- msgid "Default Image"
 
 
309
  msgstr ""
310
 
311
- #: ../addons/badges/myCRED-addon-badges.php:592
312
- msgid ""
313
- "Option to show a default image if the user has not yet earned this badge. "
314
- "Leave empty if not used."
315
  msgstr ""
316
 
317
- #: ../addons/badges/myCRED-addon-badges.php:595 ../addons/badges/myCRED-addon-
318
- #: badges.php:615
319
- msgid "image url"
 
 
 
 
 
 
320
  msgstr ""
321
 
322
- #: ../addons/badges/myCRED-addon-badges.php:611
323
  msgid "Main Image"
324
  msgstr ""
325
 
326
- #: ../addons/badges/myCRED-addon-badges.php:612
327
- msgid "Image to show when the user has earned this badge."
 
 
 
 
 
 
 
 
 
 
328
  msgstr ""
329
 
330
- #: ../addons/badges/myCRED-addon-badges.php:640
 
 
 
 
 
331
  msgid "Use as Badge"
332
  msgstr ""
333
 
334
- #: ../addons/badges/myCRED-addon-badges.php:714 ../addons/badges/myCRED-addon-
335
- #: badges.php:742 ../addons/gateway/carts/mycred-woocommerce.php:152 ..
336
- #: modules/mycred-module-buddypress.php:395
337
  msgid "Do not show"
338
  msgstr ""
339
 
340
- #: ../addons/badges/myCRED-addon-badges.php:715 ../modules/mycred-module-
341
- #: buddypress.php:396
342
  msgid "Include in Profile Header"
343
  msgstr ""
344
 
345
- #: ../addons/badges/myCRED-addon-badges.php:716 ../addons/ranks/myCRED-addon-
346
- #: ranks.php:860 ../modules/mycred-module-buddypress.php:397
347
  msgid "Include under the \"Profile\" tab"
348
  msgstr ""
349
 
350
- #: ../addons/badges/myCRED-addon-badges.php:717 ../modules/mycred-module-
351
- #: buddypress.php:398
352
  msgid "Include under the \"Profile\" tab and Profile Header"
353
  msgstr ""
354
 
355
- #: ../addons/badges/myCRED-addon-badges.php:743
 
 
 
 
 
 
356
  msgid "Include in Profile"
357
  msgstr ""
358
 
359
- #: ../addons/badges/myCRED-addon-badges.php:744
360
  msgid "Include in Forum Replies"
361
  msgstr ""
362
 
363
- #: ../addons/badges/myCRED-addon-badges.php:745
364
  msgid "Include in Profile and Forum Replies"
365
  msgstr ""
366
 
367
- #: ../addons/badges/includes/mycred-badge-functions.php:63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
368
  #, php-format
369
- msgctxt "\"Points\" for \"reference\" \"x time(s)\""
370
- msgid "%s for %s %s"
371
  msgstr ""
372
 
373
- #: ../addons/badges/includes/mycred-badge-functions.php:63
374
- msgid "never"
375
- msgid_plural "1 time"
 
 
 
376
  msgstr[0] ""
377
  msgstr[1] ""
378
 
379
- #: ../addons/badges/includes/mycred-badge-functions.php:65
380
  #, php-format
381
  msgctxt "\"x points\" for \"reference\" in total"
382
  msgid "%s for %s in total"
@@ -418,11 +525,11 @@ msgid "Setup mass %_singular% payouts for your users."
418
  msgstr ""
419
 
420
  #: ../addons/banking/myCRED-addon-banking.php:219 ../addons/buy-creds/myCRED-
421
- #: addon-buy-creds.php:837 ../addons/buy-creds/myCRED-addon-buy-creds.php:933 ..
422
- #: includes/mycred-admin.php:554 ../includes/mycred-network.php:125 ..
423
- #: modules/mycred-module-addons.php:277 ../modules/mycred-module-hooks.php:171 ..
424
- #: modules/mycred-module-log.php:326 ../modules/mycred-module-log.php:581 ..
425
- #: modules/mycred-module-settings.php:312
426
  msgid "Access Denied"
427
  msgstr ""
428
 
@@ -444,7 +551,7 @@ msgid "Warning! This add-on requires WP - Cron to work."
444
  msgstr ""
445
 
446
  #: ../addons/banking/myCRED-addon-banking.php:248 ../addons/buy-creds/myCRED-
447
- #: addon-buy-creds.php:871 ../modules/mycred-module-hooks.php:196
448
  msgid "Enable"
449
  msgstr ""
450
 
@@ -516,7 +623,7 @@ msgstr ""
516
 
517
  #: ../addons/banking/services/mycred-bank-service-interest.php:392 ..
518
  #: addons/banking/services/mycred-bank-service-interest.php:409 ..
519
- #: addons/banking/services/mycred-bank-service-payouts.php:249
520
  msgid "Run Count"
521
  msgstr ""
522
 
@@ -555,58 +662,60 @@ msgid "Default Rate"
555
  msgstr ""
556
 
557
  #: ../addons/banking/services/mycred-bank-service-interest.php:427 ..
558
- #: addons/banking/services/mycred-bank-service-payouts.php:267
559
  msgid "Can not be zero."
560
  msgstr ""
561
 
562
  #: ../addons/banking/services/mycred-bank-service-interest.php:430 ..
563
- #: addons/gateway/carts/mycred-wpecommerce.php:364
564
  msgid "Payout"
565
  msgstr ""
566
 
567
  #: ../addons/banking/services/mycred-bank-service-interest.php:435 ..
568
- #: addons/banking/services/mycred-bank-service-payouts.php:282 ../addons/buy-
569
- #: creds/myCRED-addon-buy-creds.php:607 ../addons/buy-creds/myCRED-addon-buy-
570
- #: creds.php:666 ../addons/coupons/myCRED-addon-coupons.php:440 ..
571
- #: addons/gateway/carts/mycred-marketpress.php:391 ..
572
- #: addons/gateway/carts/mycred-marketpress.php:424 ..
573
- #: addons/gateway/carts/mycred-woocommerce.php:104 ..
574
- #: addons/gateway/carts/mycred-woocommerce.php:176 ..
575
- #: addons/gateway/carts/mycred-wpecommerce.php:368 ../modules/mycred-module-
576
- #: hooks.php:886 ../modules/mycred-module-hooks.php:1756 ../modules/mycred-module-
577
- #: hooks.php:2097 ../plugins/mycred-hook-badgeOS.php:124 ../plugins/mycred-hook-
578
  #: badgeOS.php:126 ../plugins/mycred-hook-badgeOS.php:135 ../plugins/mycred-hook-
579
- #: events-manager-light.php:154 ../plugins/mycred-hook-events-manager-light.php:
580
- #: 167 ../plugins/mycred-hook-gd-star-rating.php:109 ../plugins/mycred-hook-gd-
581
- #: star-rating.php:122 ../plugins/mycred-hook-woocommerce.php:296 ..
582
- #: plugins/mycred-hook-wp-favorite-posts.php:135 ../plugins/mycred-hook-wp-
583
- #: favorite-posts.php:148 ../plugins/mycred-hook-wp-polls.php:136
 
 
584
  msgid "Log Template"
585
  msgstr ""
586
 
587
  #: ../addons/banking/services/mycred-bank-service-interest.php:442 ..
588
- #: addons/banking/services/mycred-bank-service-payouts.php:289 ..
589
- #: addons/coupons/myCRED-addon-coupons.php:392
590
  msgid "Minimum Balance"
591
  msgstr ""
592
 
593
  #: ../addons/banking/services/mycred-bank-service-interest.php:446 ..
594
- #: addons/banking/services/mycred-bank-service-payouts.php:293
595
  msgid "Optional minimum balance requirement."
596
  msgstr ""
597
 
598
  #: ../addons/banking/services/mycred-bank-service-interest.php:449 ..
599
- #: addons/banking/services/mycred-bank-service-payouts.php:296
600
  msgid "Exclude"
601
  msgstr ""
602
 
603
  #: ../addons/banking/services/mycred-bank-service-interest.php:452 ..
604
- #: addons/banking/services/mycred-bank-service-payouts.php:299
605
  msgid "Comma separated list of user IDs"
606
  msgstr ""
607
 
608
  #: ../addons/banking/services/mycred-bank-service-interest.php:456 ..
609
- #: addons/banking/services/mycred-bank-service-payouts.php:303
610
  msgid "Roles"
611
  msgstr ""
612
 
@@ -623,8 +732,8 @@ msgid "This user role is excluded from receiving interest on this balance."
623
  msgstr ""
624
 
625
  #: ../addons/banking/services/mycred-bank-service-interest.php:552 ../addons/buy-
626
- #: creds/myCRED-addon-buy-creds.php:759 ../addons/sell-content/myCRED-addon-sell-
627
- #: content.php:113
628
  msgid "Leave empty to use the default value."
629
  msgstr ""
630
 
@@ -652,51 +761,52 @@ msgstr ""
652
  msgid "Daily %_plural%"
653
  msgstr ""
654
 
655
- #: ../addons/banking/services/mycred-bank-service-payouts.php:245 ..
656
- #: includes/mycred-admin.php:403 ../modules/mycred-module-log.php:254 ..
657
  #: modules/mycred-module-log.php:255
658
  msgid "History"
659
  msgstr ""
660
 
661
- #: ../addons/banking/services/mycred-bank-service-payouts.php:254
662
  msgid "Last Run"
663
  msgstr ""
664
 
665
- #: ../addons/banking/services/mycred-bank-service-payouts.php:258
666
  msgid "Total Payouts"
667
  msgstr ""
668
 
669
- #: ../addons/banking/services/mycred-bank-service-payouts.php:262
670
  msgid "Pay Users"
671
  msgstr ""
672
 
673
- #: ../addons/banking/services/mycred-bank-service-payouts.php:265 ../addons/buy-
674
  #: creds/myCRED-addon-buy-creds.php:300 ../addons/buy-creds/myCRED-addon-buy-
675
- #: creds.php:1524 ../addons/buy-creds/myCRED-addon-buy-creds.php:1601 ..
676
- #: addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:568 ..
677
- #: includes/mycred-admin.php:707 ../includes/mycred-admin.php:757 ..
678
- #: includes/mycred-shortcodes.php:959
 
679
  msgid "Amount"
680
  msgstr ""
681
 
682
- #: ../addons/banking/services/mycred-bank-service-payouts.php:270 ..
683
- #: modules/mycred-module-hooks.php:2112
684
  msgid "Interval"
685
  msgstr ""
686
 
687
- #: ../addons/banking/services/mycred-bank-service-payouts.php:275
688
  msgid "Cycles"
689
  msgstr ""
690
 
691
- #: ../addons/banking/services/mycred-bank-service-payouts.php:277
692
  msgid "Set to -1 for unlimited"
693
  msgstr ""
694
 
695
- #: ../addons/banking/services/mycred-bank-service-payouts.php:280
696
  msgid "Important"
697
  msgstr ""
698
 
699
- #: ../addons/banking/services/mycred-bank-service-payouts.php:280
700
  msgid ""
701
  "You can always stop payouts by deactivating this service. Just remember that "
702
  "if you deactivate while there are cycles left, this service will continue on "
@@ -728,7 +838,7 @@ msgid "Edit Pending Payment"
728
  msgstr ""
729
 
730
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:264 ../addons/buy-creds/myCRED-
731
- #: addon-buy-creds.php:1635
732
  msgid "No pending payments found"
733
  msgstr ""
734
 
@@ -737,23 +847,23 @@ msgid "Not found in Trash"
737
  msgstr ""
738
 
739
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:297 ../addons/buy-creds/myCRED-
740
- #: addon-buy-creds.php:989 ../addons/buy-creds/myCRED-addon-buy-creds.php:1599
741
  msgid "Transaction ID"
742
  msgstr ""
743
 
744
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:299 ../addons/buy-creds/myCRED-
745
- #: addon-buy-creds.php:985
746
  msgid "Buyer"
747
  msgstr ""
748
 
749
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:301 ../addons/buy-creds/myCRED-
750
- #: addon-buy-creds.php:1602 ../addons/buy-creds/abstracts/mycred-abstract-payment-
751
- #: gateway.php:569
752
  msgid "Cost"
753
  msgstr ""
754
 
755
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:302 ../addons/buy-creds/myCRED-
756
- #: addon-buy-creds.php:984 ../addons/buy-creds/myCRED-addon-buy-creds.php:1600 ..
757
  #: includes/mycred-overview.php:166 ../includes/mycred-overview.php:173
758
  msgid "Gateway"
759
  msgstr ""
@@ -762,254 +872,254 @@ msgstr ""
762
  msgid "Type"
763
  msgstr ""
764
 
765
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:391
766
  msgid "Pay Out"
767
  msgstr ""
768
 
769
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:422
770
  msgid "buyCRED Purchase Log"
771
  msgstr ""
772
 
773
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:423 ../addons/buy-creds/myCRED-
774
- #: addon-buy-creds.php:656 ../addons/buy-creds/myCRED-addon-buy-creds.php:843
775
  msgid "Purchase Log"
776
  msgstr ""
777
 
778
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:516 ../addons/gateway/event-
779
  #: booking/mycred-eventespresso3.php:26 ../addons/gateway/event-booking/mycred-
780
  #: eventsmanager-pro.php:516 ../addons/gateway/event-booking/mycred-eventsmanager.
781
- #: php:540 ../addons/sell-content/myCRED-addon-sell-content.php:422
782
  msgid "Payments"
783
  msgstr ""
784
 
785
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:546
786
  msgid "Please login to purchase %_plural%"
787
  msgstr ""
788
 
789
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:561
790
  #, php-format
791
  msgid "Gift purchase from %display_name%."
792
  msgstr ""
793
 
794
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:577 ../addons/ranks/myCRED-
795
- #: addon-ranks.php:645
796
  msgid "Minimum %plural%"
797
  msgstr ""
798
 
799
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:581
800
  msgid "Minimum amount of %plural% a user must purchase. Will default to 1."
801
  msgstr ""
802
 
803
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:586 ../addons/transfer/myCRED-
804
- #: addon-transfer.php:195 ../includes/mycred-widgets.php:568 ../modules/mycred-
805
- #: module-settings.php:469
806
  msgid "Point Types"
807
  msgstr ""
808
 
809
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:589
810
  msgid "Select the point types that users can buy. You must select at least one!"
811
  msgstr ""
812
 
813
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:600
814
  msgid "Login Template"
815
  msgstr ""
816
 
817
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:604
818
  msgid "Content to show when a user is not logged in."
819
  msgstr ""
820
 
821
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:614
822
  msgid "Thank You Page"
823
  msgstr ""
824
 
825
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:617 ../addons/buy-creds/myCRED-
826
- #: addon-buy-creds.php:638
827
  msgid "Custom URL"
828
  msgstr ""
829
 
830
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:622 ../addons/buy-creds/myCRED-
831
- #: addon-buy-creds.php:643
832
  msgid "Page"
833
  msgstr ""
834
 
835
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:635
836
  msgid "Cancellation Page"
837
  msgstr ""
838
 
839
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:658
840
  msgid "Show seperate log for %_plural% purchases."
841
  msgstr ""
842
 
843
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:660
844
  msgid "Gifting"
845
  msgstr ""
846
 
847
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:662
848
  #, php-format
849
  msgid "Allow users to buy %_plural% for other users."
850
  msgstr ""
851
 
852
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:663
853
  #, php-format
854
  msgid "Allow users to buy %_plural% for content authors."
855
  msgstr ""
856
 
857
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:671 ../modules/mycred-module-
858
- #: hooks.php:2792
859
  msgid "Available Shortcodes"
860
  msgstr ""
861
 
862
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:753
863
  #, php-format
864
  msgid "%s Exchange Rate"
865
  msgstr ""
866
 
867
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:767
868
  msgid "Save Exchange Rates"
869
  msgstr ""
870
 
871
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:822
872
  msgid "Exchange rate override saved"
873
  msgstr ""
874
 
875
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:825
876
  msgid "Payment completed"
877
  msgstr ""
878
 
879
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:843
880
  #, php-format
881
  msgid "%s Payment Gateways"
882
  msgstr ""
883
 
884
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:843 ../addons/buy-creds/myCRED-
885
- #: addon-buy-creds.php:993
886
  msgid "buyCRED Settings"
887
  msgstr ""
888
 
889
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:864
890
  msgid "Test Mode"
891
  msgstr ""
892
 
893
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:866
894
  msgid "Enabled"
895
  msgstr ""
896
 
897
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:869
898
  msgid "Disabled"
899
  msgstr ""
900
 
901
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:879
902
  msgid "Sandbox Mode"
903
  msgstr ""
904
 
905
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:882
906
  msgid "Enable for test purchases."
907
  msgstr ""
908
 
909
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:899 ../addons/gateway/event-
910
- #: booking/mycred-eventespresso3.php:502 ../modules/mycred-module-settings.php:544
911
  msgid "Update Settings"
912
  msgstr ""
913
 
914
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:900
915
  msgid "More Gateways"
916
  msgstr ""
917
 
918
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:986 ../includes/mycred-log.php:
919
  #: 634
920
  msgid "Date"
921
  msgstr ""
922
 
923
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:988
924
  msgid "Payed"
925
  msgstr ""
926
 
927
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:993
928
  msgid "<strong>buy</strong>CRED Purchase Log"
929
  msgstr ""
930
 
931
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:993 ../addons/gateway/event-
932
  #: booking/mycred-eventespresso3.php:367
933
  msgid "Gateway Settings"
934
  msgstr ""
935
 
936
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1172 ../addons/sell-
937
- #: content/myCRED-addon-sell-content.php:1191
938
  msgid "No purchases found"
939
  msgstr ""
940
 
941
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1242 ../addons/buy-creds/myCRED-
942
- #: addon-buy-creds.php:1355
943
  msgid "This Add-on needs to setup before you can use this shortcode."
944
  msgstr ""
945
 
946
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1261 ../addons/buy-creds/myCRED-
947
- #: addon-buy-creds.php:1374
948
  msgid "No gateways installed."
949
  msgstr ""
950
 
951
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1262 ../addons/buy-creds/myCRED-
952
- #: addon-buy-creds.php:1375
953
  msgid "Gateway does not exist."
954
  msgstr ""
955
 
956
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1310
957
  msgid "Yourself"
958
  msgstr ""
959
 
960
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1376
961
  msgid "No active gateways found."
962
  msgstr ""
963
 
964
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1377
965
  msgid "The selected gateway is not active."
966
  msgstr ""
967
 
968
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1424
969
  #, php-format
970
  msgid "Buy with %gateway%"
971
  msgstr ""
972
 
973
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1430 ../addons/sell-
974
  #: content/myCRED-addon-sell-content.php:44
975
  msgid "Buy Now"
976
  msgstr ""
977
 
978
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1475
979
  msgid "No users found"
980
  msgstr ""
981
 
982
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1485
983
  msgid "To"
984
  msgstr ""
985
 
986
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1502
987
  msgid "Select Amount"
988
  msgstr ""
989
 
990
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1526
991
  msgid "min."
992
  msgstr ""
993
 
994
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1534
995
  msgid "Select Gateway"
996
  msgstr ""
997
 
998
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1575 ../addons/gateway/event-
999
  #: booking/mycred-eventespresso3.php:27 ../addons/gateway/event-booking/mycred-
1000
  #: eventsmanager-pro.php:39 ../addons/gateway/event-booking/mycred-eventsmanager.
1001
  #: php:35
1002
  msgid "Pay Now"
1003
  msgstr ""
1004
 
1005
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1576 ../includes/mycred-install.
1006
- #: php:522
1007
  msgid "Cancel"
1008
  msgstr ""
1009
 
1010
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1603 ../addons/ranks/myCRED-
1011
- #: addon-ranks.php:990 ../modules/mycred-module-log.php:375 ../modules/mycred-
1012
- #: module-settings.php:440 ../modules/mycred-module-settings.php:455
1013
  msgid "Actions"
1014
  msgstr ""
1015
 
@@ -1048,12 +1158,12 @@ msgid "Cancel purchase"
1048
  msgstr ""
1049
 
1050
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:503 ..
1051
- #: includes/mycred-admin.php:701 ../includes/mycred-admin.php:743
1052
  msgid "required"
1053
  msgstr ""
1054
 
1055
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:504 ..
1056
- #: includes/mycred-admin.php:703 ../includes/mycred-admin.php:745
1057
  msgid "optional"
1058
  msgstr ""
1059
 
@@ -1093,21 +1203,21 @@ msgstr ""
1093
  msgid "Choose Country"
1094
  msgstr ""
1095
 
1096
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:562
1097
  #, php-format
1098
  msgid "%s Purchase"
1099
  msgstr ""
1100
 
1101
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:567 ..
1102
  #: addons/gateway/carts/mycred-wpecommerce.php:112
1103
  msgid "Item"
1104
  msgstr ""
1105
 
1106
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:590
1107
  msgid "Debug"
1108
  msgstr ""
1109
 
1110
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:591
1111
  msgid ""
1112
  "Here you can see information that are collected and sent to this gateway. "
1113
  "Debug information is only visible for administrators and are intended for "
@@ -1115,89 +1225,89 @@ msgid ""
1115
  "when you want to take this gateway online."
1116
  msgstr ""
1117
 
1118
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:595
1119
  msgid "Section"
1120
  msgstr ""
1121
 
1122
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:596
1123
  msgid "Result"
1124
  msgstr ""
1125
 
1126
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:601
1127
  msgid "Payment Status"
1128
  msgstr ""
1129
 
1130
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:605
1131
  msgid "Request"
1132
  msgstr ""
1133
 
1134
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:609
1135
  msgid "Gateway Response"
1136
  msgstr ""
1137
 
1138
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:656
1139
  #, php-format
1140
  msgid "Continue to %s"
1141
  msgstr ""
1142
 
1143
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:657 ..
1144
  #: addons/buy-creds/gateways/bitpay.php:226
1145
  msgid "Click here if you are not automatically redirected"
1146
  msgstr ""
1147
 
1148
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:662
1149
  msgid "The following information will be sent to the gateway"
1150
  msgstr ""
1151
 
1152
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1341
1153
  msgid "Outside US"
1154
  msgstr ""
1155
 
1156
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1358
1157
  msgid "January"
1158
  msgstr ""
1159
 
1160
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1359
1161
  msgid "February"
1162
  msgstr ""
1163
 
1164
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1360
1165
  msgid "March"
1166
  msgstr ""
1167
 
1168
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1361
1169
  msgid "April"
1170
  msgstr ""
1171
 
1172
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1362
1173
  msgid "May"
1174
  msgstr ""
1175
 
1176
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1363
1177
  msgid "June"
1178
  msgstr ""
1179
 
1180
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1364
1181
  msgid "July"
1182
  msgstr ""
1183
 
1184
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1365
1185
  msgid "August"
1186
  msgstr ""
1187
 
1188
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1366
1189
  msgid "September"
1190
  msgstr ""
1191
 
1192
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1367
1193
  msgid "October"
1194
  msgstr ""
1195
 
1196
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1368
1197
  msgid "November"
1198
  msgstr ""
1199
 
1200
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1369
1201
  msgid "December"
1202
  msgstr ""
1203
 
@@ -1242,7 +1352,7 @@ msgid "Please setup this gateway before attempting to make a purchase!"
1242
  msgstr ""
1243
 
1244
  #: ../addons/buy-creds/gateways/bitpay.php:212 ../addons/buy-
1245
- #: creds/gateways/bitpay.php:221 ../addons/buy-creds/gateways/netbilling.php:192 .
1246
  #: ./addons/buy-creds/gateways/paypal-standard.php:262 ../addons/buy-
1247
  #: creds/gateways/skrill.php:274 ../addons/buy-creds/gateways/zombaio.php:234
1248
  msgid "Processing payment &hellip;"
@@ -1271,20 +1381,20 @@ msgid "Currency Code"
1271
  msgstr ""
1272
 
1273
  #: ../addons/buy-creds/gateways/bitpay.php:259 ../addons/buy-
1274
- #: creds/gateways/netbilling.php:228 ../addons/buy-creds/gateways/paypal-standard.
1275
- #: php:291 ../addons/buy-creds/gateways/skrill.php:312
1276
  msgid "Item Name"
1277
  msgstr ""
1278
 
1279
  #: ../addons/buy-creds/gateways/bitpay.php:263 ../addons/buy-
1280
- #: creds/gateways/netbilling.php:232 ../addons/buy-creds/gateways/paypal-standard.
1281
- #: php:295 ../addons/buy-creds/gateways/skrill.php:316
1282
  msgid "Description of the item being purchased by the user."
1283
  msgstr ""
1284
 
1285
  #: ../addons/buy-creds/gateways/bitpay.php:266 ../addons/buy-
1286
- #: creds/gateways/netbilling.php:235 ../addons/buy-creds/gateways/paypal-standard.
1287
- #: php:298 ../addons/buy-creds/gateways/skrill.php:319
1288
  msgid "Exchange Rates"
1289
  msgstr ""
1290
 
@@ -1318,50 +1428,50 @@ msgstr ""
1318
  msgid "Yes"
1319
  msgstr ""
1320
 
1321
- #: ../addons/buy-creds/gateways/netbilling.php:209
1322
  msgid "Account ID"
1323
  msgstr ""
1324
 
1325
- #: ../addons/buy-creds/gateways/netbilling.php:215
1326
  msgid "Site Tag"
1327
  msgstr ""
1328
 
1329
- #: ../addons/buy-creds/gateways/netbilling.php:221
1330
  msgid "Order Integrity Key"
1331
  msgstr ""
1332
 
1333
- #: ../addons/buy-creds/gateways/netbilling.php:225
1334
  msgid "Found under Step 12 on the Fraud Defense page."
1335
  msgstr ""
1336
 
1337
- #: ../addons/buy-creds/gateways/netbilling.php:239
1338
  msgid "Postback CGI URL"
1339
  msgstr ""
1340
 
1341
- #: ../addons/buy-creds/gateways/netbilling.php:243
1342
  msgid ""
1343
  "For this gateway to work, you must login to your NETbilling account and edit "
1344
  "your site. Under \"Default payment form settings\" make sure the Postback CGI "
1345
  "URL is set to the above address and \"Return method\" is set to POST."
1346
  msgstr ""
1347
 
1348
- #: ../addons/buy-creds/gateways/netbilling.php:287
1349
  msgid "Incorrect Credit Card number"
1350
  msgstr ""
1351
 
1352
- #: ../addons/buy-creds/gateways/netbilling.php:293
1353
  msgid "The credit card entered is past its expiration date."
1354
  msgstr ""
1355
 
1356
- #: ../addons/buy-creds/gateways/netbilling.php:296
1357
  msgid "The CVV2 number entered is not valid."
1358
  msgstr ""
1359
 
1360
- #: ../addons/buy-creds/gateways/netbilling.php:303
1361
  msgid "The bank routing number entered is not valid."
1362
  msgstr ""
1363
 
1364
- #: ../addons/buy-creds/gateways/netbilling.php:307
1365
  msgid "The bank account number entered is not valid."
1366
  msgstr ""
1367
 
@@ -1384,18 +1494,6 @@ msgstr ""
1384
  msgid "Account Email"
1385
  msgstr ""
1386
 
1387
- #: ../addons/buy-creds/gateways/paypal-standard.php:302
1388
- msgid "IPN Address"
1389
- msgstr ""
1390
-
1391
- #: ../addons/buy-creds/gateways/paypal-standard.php:306
1392
- msgid ""
1393
- "For this gateway to work, you must login to your PayPal account and under "
1394
- "\"Profile\" > \"Selling Tools\" enable \"Instant Payment Notifications\". Make "
1395
- "sure the \"Notification URL\" is set to the above address and that you have "
1396
- "selected \"Receive IPN messages (Enabled)\"."
1397
- msgstr ""
1398
-
1399
  #: ../addons/buy-creds/gateways/skrill.php:257
1400
  msgid "Product:"
1401
  msgstr ""
@@ -1416,75 +1514,52 @@ msgstr ""
1416
  msgid "Secret Word"
1417
  msgstr ""
1418
 
1419
- #: ../addons/buy-creds/gateways/skrill.php:309
1420
- msgid "You can set your secret word under \"Merchant Tools\" in your Skrill Account."
1421
- msgstr ""
1422
-
1423
- #: ../addons/buy-creds/gateways/skrill.php:323
1424
  msgid "Confirmation Email"
1425
  msgstr ""
1426
 
1427
- #: ../addons/buy-creds/gateways/skrill.php:326
1428
  msgid "Ask Skrill to send me a confirmation email for each successful purchase."
1429
  msgstr ""
1430
 
1431
- #: ../addons/buy-creds/gateways/skrill.php:329
1432
  msgid "Checkout Page"
1433
  msgstr ""
1434
 
1435
- #: ../addons/buy-creds/gateways/skrill.php:332 ../addons/gateway/carts/mycred-
1436
- #: woocommerce.php:92 ../addons/ranks/myCRED-addon-ranks.php:788 ..
1437
- #: addons/transfer/myCRED-addon-transfer.php:653 ../includes/mycred-widgets.php:
1438
- #: 186 ../includes/mycred-widgets.php:363 ../includes/mycred-widgets.php:562 ..
1439
- #: modules/mycred-module-hooks.php:2757
1440
  msgid "Title"
1441
  msgstr ""
1442
 
1443
- #: ../addons/buy-creds/gateways/skrill.php:334
1444
  msgid "If left empty, your account email is used as title on the Skill Payment Page."
1445
  msgstr ""
1446
 
1447
- #: ../addons/buy-creds/gateways/skrill.php:337 ../addons/buy-
1448
  #: creds/gateways/zombaio.php:269
1449
  msgid "Logo URL"
1450
  msgstr ""
1451
 
1452
- #: ../addons/buy-creds/gateways/skrill.php:339
1453
  msgid ""
1454
  "The URL to the image you want to use on the top of the gateway. For best "
1455
  "integration results we recommend you use logos with dimensions up to 200px "
1456
  "in width and 50px in height."
1457
  msgstr ""
1458
 
1459
- #: ../addons/buy-creds/gateways/skrill.php:342
1460
  msgid "Confirmation Note"
1461
  msgstr ""
1462
 
1463
- #: ../addons/buy-creds/gateways/skrill.php:344
1464
  msgid ""
1465
  "Optional text to show user once a transaction has been successfully "
1466
  "completed. This text is shown by Skrill."
1467
  msgstr ""
1468
 
1469
- #: ../addons/buy-creds/gateways/skrill.php:347 ../addons/gateway/event-
1470
- #: booking/mycred-eventespresso3.php:455
1471
- msgid "Important!"
1472
- msgstr ""
1473
-
1474
- #: ../addons/buy-creds/gateways/skrill.php:348
1475
- msgid ""
1476
- "By default all Skrill Merchant account accept payments via Bank Transfers. "
1477
- "When a user selects this option, no %_plural% are awarded! You will need to "
1478
- "manually award these once the bank transfer is completed."
1479
- msgstr ""
1480
-
1481
- #: ../addons/buy-creds/gateways/skrill.php:349
1482
- msgid ""
1483
- "By default purchases made using Skrill will result in users having to signup "
1484
- "for a Skrill account (if they do not have one already). You can contact "
1485
- "Skrill Merchant Services and request to disable this feature."
1486
- msgstr ""
1487
-
1488
  #: ../addons/buy-creds/gateways/zombaio.php:143
1489
  #, php-format
1490
  msgid "Duplicate transaction. Received: %s"
@@ -1530,7 +1605,7 @@ msgid ""
1530
  msgstr ""
1531
 
1532
  #: ../addons/coupons/myCRED-addon-coupons.php:86 ../addons/coupons/myCRED-addon-
1533
- #: coupons.php:92 ../addons/coupons/myCRED-addon-coupons.php:438 ..
1534
  #: includes/mycred-overview.php:188 ../includes/mycred-overview.php:195
1535
  msgid "Coupons"
1536
  msgstr ""
@@ -1569,14 +1644,15 @@ msgid "No coupons found in Trash"
1569
  msgstr ""
1570
 
1571
  #: ../addons/coupons/myCRED-addon-coupons.php:98 ../addons/email-notices/myCRED-
1572
- #: addon-email-notices.php:163 ../addons/email-notices/myCRED-addon-email-notices.
1573
- #: php:169 ../addons/email-notices/myCRED-addon-email-notices.php:175 ..
1574
- #: addons/email-notices/myCRED-addon-email-notices.php:272
1575
  msgid "Email Notices"
1576
  msgstr ""
1577
 
1578
  #: ../addons/coupons/myCRED-addon-coupons.php:119 ../addons/coupons/myCRED-addon-
1579
- #: coupons.php:122
 
1580
  msgid "Coupon updated."
1581
  msgstr ""
1582
 
@@ -1596,184 +1672,193 @@ msgstr ""
1596
  msgid "Unique Coupon Code"
1597
  msgstr ""
1598
 
1599
- #: ../addons/coupons/myCRED-addon-coupons.php:156
1600
  msgid "Coupon Code"
1601
  msgstr ""
1602
 
1603
- #: ../addons/coupons/myCRED-addon-coupons.php:157 ../addons/coupons/myCRED-addon-
1604
- #: coupons.php:309
1605
  msgid "Value"
1606
  msgstr ""
1607
 
1608
- #: ../addons/coupons/myCRED-addon-coupons.php:158
1609
- msgid "Usage"
1610
  msgstr ""
1611
 
1612
- #: ../addons/coupons/myCRED-addon-coupons.php:159 ../addons/transfer/myCRED-addon-
1613
- #: transfer.php:243 ../modules/mycred-module-hooks.php:1472 ../modules/mycred-
1614
- #: module-hooks.php:1763
1615
  msgid "Limits"
1616
  msgstr ""
1617
 
1618
- #: ../addons/coupons/myCRED-addon-coupons.php:160
1619
  msgid "Expires"
1620
  msgstr ""
1621
 
1622
- #: ../addons/coupons/myCRED-addon-coupons.php:188
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1623
  msgid "not yet used"
1624
  msgstr ""
1625
 
1626
- #: ../addons/coupons/myCRED-addon-coupons.php:198 ../modules/mycred-module-hooks.
1627
- #: php:2202
1628
  msgid "Total"
1629
  msgstr ""
1630
 
1631
- #: ../addons/coupons/myCRED-addon-coupons.php:198
1632
  msgid "Per User"
1633
  msgstr ""
1634
 
1635
- #: ../addons/coupons/myCRED-addon-coupons.php:206
1636
  msgid "Never"
1637
  msgstr ""
1638
 
1639
- #: ../addons/coupons/myCRED-addon-coupons.php:210
1640
  msgid "Expired"
1641
  msgstr ""
1642
 
1643
- #: ../addons/coupons/myCRED-addon-coupons.php:213
1644
  #, php-format
1645
  msgid "In %s time"
1646
  msgstr ""
1647
 
1648
- #: ../addons/coupons/myCRED-addon-coupons.php:254
1649
  msgid "Coupon Setup"
1650
  msgstr ""
1651
 
1652
- #: ../addons/coupons/myCRED-addon-coupons.php:263
1653
  msgid "Coupon Limits"
1654
  msgstr ""
1655
 
1656
- #: ../addons/coupons/myCRED-addon-coupons.php:272
1657
  msgid "Coupon Requirements"
1658
  msgstr ""
1659
 
1660
- #: ../addons/coupons/myCRED-addon-coupons.php:312
1661
- msgid "The amount of %plural% this coupon is worth."
1662
  msgstr ""
1663
 
1664
- #: ../addons/coupons/myCRED-addon-coupons.php:315 ../addons/gateway/carts/mycred-
1665
- #: marketpress.php:385 ../addons/gateway/carts/mycred-woocommerce.php:120 ..
1666
- #: addons/gateway/carts/mycred-wpecommerce.php:351 ../addons/gateway/event-
1667
- #: booking/mycred-eventespresso3.php:437 ../addons/gateway/event-booking/mycred-
1668
- #: eventsmanager-pro.php:504 ../addons/gateway/event-booking/mycred-eventsmanager.
1669
- #: php:550 ../addons/sell-content/myCRED-addon-sell-content.php:410 ..
1670
- #: includes/mycred-widgets.php:193 ../includes/mycred-widgets.php:369 ..
1671
- #: includes/importers/mycred-cubepoints.php:365
1672
- msgid "Point Type"
1673
  msgstr ""
1674
 
1675
- #: ../addons/coupons/myCRED-addon-coupons.php:316
1676
  msgid "Select the point type that this coupon is applied."
1677
  msgstr ""
1678
 
1679
- #: ../addons/coupons/myCRED-addon-coupons.php:321
1680
  msgid "Expire"
1681
  msgstr ""
1682
 
1683
- #: ../addons/coupons/myCRED-addon-coupons.php:324
1684
  msgid "Optional date when this coupon expires. Expired coupons will be trashed."
1685
  msgstr ""
1686
 
1687
- #: ../addons/coupons/myCRED-addon-coupons.php:353
1688
  msgid "Global Maximum"
1689
  msgstr ""
1690
 
1691
- #: ../addons/coupons/myCRED-addon-coupons.php:356
1692
  msgid ""
1693
  "The maximum number of times this coupon can be used. Note that the coupon "
1694
  "will be automatically trashed once this maximum is reached!"
1695
  msgstr ""
1696
 
1697
- #: ../addons/coupons/myCRED-addon-coupons.php:360
1698
  msgid "User Maximum"
1699
  msgstr ""
1700
 
1701
- #: ../addons/coupons/myCRED-addon-coupons.php:363
1702
  msgid "The maximum number of times this coupon can be used by a user."
1703
  msgstr ""
1704
 
1705
- #: ../addons/coupons/myCRED-addon-coupons.php:395
1706
  msgid ""
1707
  "Optional minimum balance a user must have in order to use this coupon. Use "
1708
  "zero to disable."
1709
  msgstr ""
1710
 
1711
- #: ../addons/coupons/myCRED-addon-coupons.php:399
1712
  msgid "Maximum Balance"
1713
  msgstr ""
1714
 
1715
- #: ../addons/coupons/myCRED-addon-coupons.php:402
1716
  msgid ""
1717
  "Optional maximum balance a user can have in order to use this coupon. Use "
1718
  "zero to disable."
1719
  msgstr ""
1720
 
1721
- #: ../addons/coupons/myCRED-addon-coupons.php:444
1722
  #, php-format
1723
  msgid ""
1724
  "Log entry for successful coupon redemption. Use %coupon% to show the coupon "
1725
  "code."
1726
  msgstr ""
1727
 
1728
- #: ../addons/coupons/myCRED-addon-coupons.php:447
1729
  msgid "Invalid Coupon Message"
1730
  msgstr ""
1731
 
1732
- #: ../addons/coupons/myCRED-addon-coupons.php:451
1733
  msgid "Message to show when users try to use a coupon that does not exists."
1734
  msgstr ""
1735
 
1736
- #: ../addons/coupons/myCRED-addon-coupons.php:454
1737
  msgid "Expired Coupon Message"
1738
  msgstr ""
1739
 
1740
- #: ../addons/coupons/myCRED-addon-coupons.php:458
1741
  msgid "Message to show when users try to use that has expired."
1742
  msgstr ""
1743
 
1744
- #: ../addons/coupons/myCRED-addon-coupons.php:461
1745
  msgid "User Limit Message"
1746
  msgstr ""
1747
 
1748
- #: ../addons/coupons/myCRED-addon-coupons.php:465
1749
  msgid "Message to show when the user limit has been reached for the coupon."
1750
  msgstr ""
1751
 
1752
- #: ../addons/coupons/myCRED-addon-coupons.php:468
1753
  msgid "Minimum Balance Message"
1754
  msgstr ""
1755
 
1756
- #: ../addons/coupons/myCRED-addon-coupons.php:472
1757
  msgid ""
1758
  "Message to show when a user does not meet the minimum balance requirement. "
1759
  "(if used)"
1760
  msgstr ""
1761
 
1762
- #: ../addons/coupons/myCRED-addon-coupons.php:475
1763
  msgid "Maximum Balance Message"
1764
  msgstr ""
1765
 
1766
- #: ../addons/coupons/myCRED-addon-coupons.php:479
1767
  msgid ""
1768
  "Message to show when a user does not meet the maximum balance requirement. "
1769
  "(if used)"
1770
  msgstr ""
1771
 
1772
- #: ../addons/coupons/myCRED-addon-coupons.php:482
1773
  msgid "Success Message"
1774
  msgstr ""
1775
 
1776
- #: ../addons/coupons/myCRED-addon-coupons.php:486
1777
  msgid "Message to show when a coupon was successfully deposited to a users account."
1778
  msgstr ""
1779
 
@@ -1785,394 +1870,421 @@ msgstr ""
1785
  msgid "Apply Coupon"
1786
  msgstr ""
1787
 
1788
- #: ../addons/email-notices/myCRED-addon-email-notices.php:164 ../addons/email-
1789
- #: notices/myCRED-addon-email-notices.php:1120
1790
  msgid "Email Notice"
1791
  msgstr ""
1792
 
1793
- #: ../addons/email-notices/myCRED-addon-email-notices.php:166
1794
  msgid "Add New Notice"
1795
  msgstr ""
1796
 
1797
- #: ../addons/email-notices/myCRED-addon-email-notices.php:167
1798
  msgid "Edit Notice"
1799
  msgstr ""
1800
 
1801
- #: ../addons/email-notices/myCRED-addon-email-notices.php:168
1802
  msgid "New Notice"
1803
  msgstr ""
1804
 
1805
- #: ../addons/email-notices/myCRED-addon-email-notices.php:170
1806
  msgid "View Notice"
1807
  msgstr ""
1808
 
1809
- #: ../addons/email-notices/myCRED-addon-email-notices.php:171
1810
  msgid "Search Email Notices"
1811
  msgstr ""
1812
 
1813
- #: ../addons/email-notices/myCRED-addon-email-notices.php:172
1814
  msgid "No email notices found"
1815
  msgstr ""
1816
 
1817
- #: ../addons/email-notices/myCRED-addon-email-notices.php:173
1818
  msgid "No email notices found in Trash"
1819
  msgstr ""
1820
 
1821
- #: ../addons/email-notices/myCRED-addon-email-notices.php:197 ..
1822
- #: addons/gateway/carts/mycred-wpecommerce.php:338 ../includes/mycred-functions.
1823
- #: php:593
1824
  msgid "General"
1825
  msgstr ""
1826
 
1827
- #: ../addons/email-notices/myCRED-addon-email-notices.php:198
1828
  msgid "users balance changes"
1829
  msgstr ""
1830
 
1831
- #: ../addons/email-notices/myCRED-addon-email-notices.php:199
1832
  msgid "user gains %_plural%"
1833
  msgstr ""
1834
 
1835
- #: ../addons/email-notices/myCRED-addon-email-notices.php:200
1836
  msgid "user lose %_plural%"
1837
  msgstr ""
1838
 
1839
- #: ../addons/email-notices/myCRED-addon-email-notices.php:201
1840
  msgid "users balance reaches zero"
1841
  msgstr ""
1842
 
1843
- #: ../addons/email-notices/myCRED-addon-email-notices.php:202
1844
  msgid "users balance goes minus"
1845
  msgstr ""
1846
 
1847
- #: ../addons/email-notices/myCRED-addon-email-notices.php:208
 
 
 
 
 
 
 
 
1848
  msgid "Sell Content Add-on"
1849
  msgstr ""
1850
 
1851
- #: ../addons/email-notices/myCRED-addon-email-notices.php:209
1852
  msgid "user buys content"
1853
  msgstr ""
1854
 
1855
- #: ../addons/email-notices/myCRED-addon-email-notices.php:210
1856
  msgid "authors content gets sold"
1857
  msgstr ""
1858
 
1859
- #: ../addons/email-notices/myCRED-addon-email-notices.php:217
1860
  msgid "buyCREDs Add-on"
1861
  msgstr ""
1862
 
1863
- #: ../addons/email-notices/myCRED-addon-email-notices.php:218
1864
  msgid "user buys %_plural%"
1865
  msgstr ""
1866
 
1867
- #: ../addons/email-notices/myCRED-addon-email-notices.php:225
1868
  msgid "Transfer Add-on"
1869
  msgstr ""
1870
 
1871
- #: ../addons/email-notices/myCRED-addon-email-notices.php:226
1872
  msgid "user sends %_plural%"
1873
  msgstr ""
1874
 
1875
- #: ../addons/email-notices/myCRED-addon-email-notices.php:227
1876
  msgid "user receives %_plural%"
1877
  msgstr ""
1878
 
1879
- #: ../addons/email-notices/myCRED-addon-email-notices.php:234
1880
  msgid "Ranks Add-on"
1881
  msgstr ""
1882
 
1883
- #: ../addons/email-notices/myCRED-addon-email-notices.php:235
1884
  msgid "user is demoted"
1885
  msgstr ""
1886
 
1887
- #: ../addons/email-notices/myCRED-addon-email-notices.php:236
1888
  msgid "user is promoted"
1889
  msgstr ""
1890
 
1891
- #: ../addons/email-notices/myCRED-addon-email-notices.php:274
1892
  msgid ""
1893
  "Settings that apply to all email notices and can not be overridden for "
1894
  "individual emails."
1895
  msgstr ""
1896
 
1897
- #: ../addons/email-notices/myCRED-addon-email-notices.php:275
1898
  msgid "Email Format"
1899
  msgstr ""
1900
 
1901
- #: ../addons/email-notices/myCRED-addon-email-notices.php:279
1902
  msgid "Plain text emails only."
1903
  msgstr ""
1904
 
1905
- #: ../addons/email-notices/myCRED-addon-email-notices.php:283
1906
  msgid "HTML or Plain text emails."
1907
  msgstr ""
1908
 
1909
- #: ../addons/email-notices/myCRED-addon-email-notices.php:286
1910
  msgid "Filters"
1911
  msgstr ""
1912
 
1913
- #: ../addons/email-notices/myCRED-addon-email-notices.php:290
1914
  msgid ""
1915
  "Allow WordPress and Third Party Plugins to filter the email subject before "
1916
  "an email is sent."
1917
  msgstr ""
1918
 
1919
- #: ../addons/email-notices/myCRED-addon-email-notices.php:294
1920
  msgid ""
1921
  "Allow WordPress and Third Party Plugins to filter the email content before "
1922
  "an email is sent."
1923
  msgstr ""
1924
 
1925
- #: ../addons/email-notices/myCRED-addon-email-notices.php:299 ../addons/email-
1926
- #: notices/myCRED-addon-email-notices.php:305
1927
  msgid "Email Schedule"
1928
  msgstr ""
1929
 
1930
- #: ../addons/email-notices/myCRED-addon-email-notices.php:301
1931
  msgid "WordPress Cron is disabled. Emails will be sent immediately."
1932
  msgstr ""
1933
 
1934
- #: ../addons/email-notices/myCRED-addon-email-notices.php:309
1935
  msgid "Send emails immediately"
1936
  msgstr ""
1937
 
1938
- #: ../addons/email-notices/myCRED-addon-email-notices.php:313
1939
  msgid "Send emails once an hour"
1940
  msgstr ""
1941
 
1942
- #: ../addons/email-notices/myCRED-addon-email-notices.php:317
1943
  msgid "Send emails once a day"
1944
  msgstr ""
1945
 
1946
- #: ../addons/email-notices/myCRED-addon-email-notices.php:320
1947
  msgid "Subscriptions"
1948
  msgstr ""
1949
 
1950
- #: ../addons/email-notices/myCRED-addon-email-notices.php:322
1951
  #, php-format
1952
  msgid ""
1953
  "Use the %s shortcode to allow users to subscribe / unsubscribe to email "
1954
  "updates."
1955
  msgstr ""
1956
 
1957
- #: ../addons/email-notices/myCRED-addon-email-notices.php:327
1958
  msgid "SMTP Override"
1959
  msgstr ""
1960
 
1961
- #: ../addons/email-notices/myCRED-addon-email-notices.php:331
1962
  msgid ""
1963
  "SMTP Debug. Enable if you are experiencing issues with wp_mail() or if you "
1964
  "use a SMTP plugin for emails."
1965
  msgstr ""
1966
 
1967
- #: ../addons/email-notices/myCRED-addon-email-notices.php:334
1968
  msgid ""
1969
  "Default email settings. These settings can be individually overridden when "
1970
  "editing emails."
1971
  msgstr ""
1972
 
1973
- #: ../addons/email-notices/myCRED-addon-email-notices.php:335 ../addons/email-
1974
- #: notices/myCRED-addon-email-notices.php:787
1975
  msgid "Email Settings"
1976
  msgstr ""
1977
 
1978
- #: ../addons/email-notices/myCRED-addon-email-notices.php:338 ../addons/email-
1979
- #: notices/myCRED-addon-email-notices.php:910
1980
  msgid "Senders Name:"
1981
  msgstr ""
1982
 
1983
- #: ../addons/email-notices/myCRED-addon-email-notices.php:342 ../addons/email-
1984
- #: notices/myCRED-addon-email-notices.php:912
1985
  msgid "Senders Email:"
1986
  msgstr ""
1987
 
1988
- #: ../addons/email-notices/myCRED-addon-email-notices.php:346
1989
  msgid "Reply-To:"
1990
  msgstr ""
1991
 
1992
- #: ../addons/email-notices/myCRED-addon-email-notices.php:350
1993
  msgid "Default Email Content"
1994
  msgstr ""
1995
 
1996
- #: ../addons/email-notices/myCRED-addon-email-notices.php:354
1997
  msgid "Default email content."
1998
  msgstr ""
1999
 
2000
- #: ../addons/email-notices/myCRED-addon-email-notices.php:357
2001
  msgid "Default Email Styling"
2002
  msgstr ""
2003
 
2004
- #: ../addons/email-notices/myCRED-addon-email-notices.php:361
2005
  msgid "Ignored if HTML is not allowed in emails."
2006
  msgstr ""
2007
 
2008
- #: ../addons/email-notices/myCRED-addon-email-notices.php:721 ../addons/email-
2009
- #: notices/myCRED-addon-email-notices.php:836
2010
- msgid "Email Subject"
 
2011
  msgstr ""
2012
 
2013
- #: ../addons/email-notices/myCRED-addon-email-notices.php:722
2014
- msgid "Status"
 
2015
  msgstr ""
2016
 
2017
- #: ../addons/email-notices/myCRED-addon-email-notices.php:742
2018
  msgid "Not Active"
2019
  msgstr ""
2020
 
2021
- #: ../addons/email-notices/myCRED-addon-email-notices.php:744
2022
  #, php-format
2023
  msgid "Scheduled:<br /><strong>%1$s</strong>"
2024
  msgstr ""
2025
 
2026
- #: ../addons/email-notices/myCRED-addon-email-notices.php:748
2027
  msgid "Active"
2028
  msgstr ""
2029
 
2030
- #: ../addons/email-notices/myCRED-addon-email-notices.php:750
2031
  #, php-format
2032
  msgid "Active - Last run:<br /><strong>%1$s</strong>"
2033
  msgstr ""
2034
 
2035
- #: ../addons/email-notices/myCRED-addon-email-notices.php:760
2036
  msgid "Email is sent when"
2037
  msgstr ""
2038
 
2039
- #: ../addons/email-notices/myCRED-addon-email-notices.php:762
2040
  msgid "Missing instance for this notice!"
2041
  msgstr ""
2042
 
2043
- #: ../addons/email-notices/myCRED-addon-email-notices.php:771 ../addons/email-
2044
- #: notices/myCRED-addon-email-notices.php:773 ../addons/email-notices/myCRED-
2045
- #: addon-email-notices.php:775
2046
  msgid "Sent To"
2047
  msgstr ""
2048
 
2049
- #: ../addons/email-notices/myCRED-addon-email-notices.php:771 ../addons/email-
2050
- #: notices/myCRED-addon-email-notices.php:900 ../includes/mycred-admin.php:752 ..
2051
- #: includes/mycred-log.php:633 ../modules/mycred-module-log.php:546
2052
  msgid "User"
2053
  msgstr ""
2054
 
2055
- #: ../addons/email-notices/myCRED-addon-email-notices.php:773 ../addons/email-
2056
- #: notices/myCRED-addon-email-notices.php:901
2057
  msgid "Administrator"
2058
  msgstr ""
2059
 
2060
- #: ../addons/email-notices/myCRED-addon-email-notices.php:775
2061
  msgid "Both Administrator and User"
2062
  msgstr ""
2063
 
2064
- #: ../addons/email-notices/myCRED-addon-email-notices.php:796
 
 
 
 
 
2065
  msgid "Available Template Tags"
2066
  msgstr ""
2067
 
2068
- #: ../addons/email-notices/myCRED-addon-email-notices.php:807
2069
  msgid "Email Header"
2070
  msgstr ""
2071
 
2072
- #: ../addons/email-notices/myCRED-addon-email-notices.php:867
2073
  msgid "Send this email notice when..."
2074
  msgstr ""
2075
 
2076
- #: ../addons/email-notices/myCRED-addon-email-notices.php:898
2077
  msgid "Recipient:"
2078
  msgstr ""
2079
 
2080
- #: ../addons/email-notices/myCRED-addon-email-notices.php:902
2081
  msgid "Both"
2082
  msgstr ""
2083
 
2084
- #: ../addons/email-notices/myCRED-addon-email-notices.php:906 ..
2085
- #: addons/gateway/carts/mycred-woocommerce.php:160 ../modules/mycred-module-
2086
- #: settings.php:484 ../modules/mycred-module-settings.php:503 ../modules/mycred-
2087
- #: module-settings.php:526
2088
  msgid "Label"
2089
  msgstr ""
2090
 
2091
- #: ../addons/email-notices/myCRED-addon-email-notices.php:914
2092
  msgid "Reply-To Email:"
2093
  msgstr ""
2094
 
2095
- #: ../addons/email-notices/myCRED-addon-email-notices.php:920
2096
  msgid "Save"
2097
  msgstr ""
2098
 
2099
- #: ../addons/email-notices/myCRED-addon-email-notices.php:932
2100
  msgid "CSS Styling"
2101
  msgstr ""
2102
 
2103
- #: ../addons/email-notices/myCRED-addon-email-notices.php:948
2104
  msgid "Site Related"
2105
  msgstr ""
2106
 
2107
- #: ../addons/email-notices/myCRED-addon-email-notices.php:949
2108
  msgid "Your websites title"
2109
  msgstr ""
2110
 
2111
- #: ../addons/email-notices/myCRED-addon-email-notices.php:950
2112
  msgid "Your websites address"
2113
  msgstr ""
2114
 
2115
- #: ../addons/email-notices/myCRED-addon-email-notices.php:951
2116
  msgid "Your websites tagline (description)"
2117
  msgstr ""
2118
 
2119
- #: ../addons/email-notices/myCRED-addon-email-notices.php:952
2120
  msgid "Your websites admin email"
2121
  msgstr ""
2122
 
2123
- #: ../addons/email-notices/myCRED-addon-email-notices.php:953
2124
  msgid "Total number of blog members"
2125
  msgstr ""
2126
 
2127
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1031 ../addons/email-
2128
- #: notices/myCRED-addon-email-notices.php:1034 ../addons/email-notices/myCRED-
2129
- #: addon-email-notices.php:1040
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2130
  msgid "Email Notice Updated."
2131
  msgstr ""
2132
 
2133
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1036
2134
  msgid "Email Notice Activated"
2135
  msgstr ""
2136
 
2137
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1037
2138
  msgid "Email Notice Saved"
2139
  msgstr ""
2140
 
2141
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1056
2142
  msgid ""
2143
  "Once a notice is \"published\" it becomes active! Select \"Save Draft\" if you "
2144
  "are not yet ready to use this email notice!"
2145
  msgstr ""
2146
 
2147
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1058
2148
  #, php-format
2149
  msgid "This notice will become active on:<br /><strong>%1$s</strong>"
2150
  msgstr ""
2151
 
2152
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1060
2153
  msgid "This email notice is active."
2154
  msgstr ""
2155
 
2156
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1071
2157
  msgid "Settings saved."
2158
  msgstr ""
2159
 
2160
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1119
2161
  msgid "Unsubscribe"
2162
  msgstr ""
2163
 
2164
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1140
2165
  msgid "There are no email notifications yet."
2166
  msgstr ""
2167
 
2168
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1146
2169
- msgid "Save Changes"
2170
- msgstr ""
2171
-
2172
  #: ../addons/gateway/carts/mycred-marketpress.php:147 ../addons/gateway/event-
2173
  #: booking/mycred-eventespresso3.php:277 ../addons/gateway/event-booking/mycred-
2174
  #: eventespresso3.php:301 ../addons/gateway/event-booking/mycred-eventsmanager.
2175
- #: php:412 ../includes/mycred-admin.php:595 ../includes/mycred-admin.php:753
2176
  msgid "Current Balance"
2177
  msgstr ""
2178
 
@@ -2211,48 +2323,48 @@ msgid "Paid"
2211
  msgstr ""
2212
 
2213
  #: ../addons/gateway/carts/mycred-marketpress.php:250 ..
2214
- #: addons/gateway/carts/mycred-woocommerce.php:33 ../includes/mycred-network.php:
2215
  #: 50 ../includes/mycred-network.php:51
2216
  msgid "myCRED"
2217
  msgstr ""
2218
 
2219
- #: ../addons/gateway/carts/mycred-marketpress.php:352
2220
  msgid "%_singular% Balance"
2221
  msgstr ""
2222
 
2223
- #: ../addons/gateway/carts/mycred-marketpress.php:355 ..
2224
  #: addons/gateway/carts/mycred-wpecommerce.php:27
2225
  #, php-format
2226
  msgid "Payment for Order: #%order_id%"
2227
  msgstr ""
2228
 
2229
- #: ../addons/gateway/carts/mycred-marketpress.php:358
2230
  msgid "Product Sale: %post_title%"
2231
  msgstr ""
2232
 
2233
- #: ../addons/gateway/carts/mycred-marketpress.php:359
2234
  msgid "Pay using your account balance."
2235
  msgstr ""
2236
 
2237
- #: ../addons/gateway/carts/mycred-marketpress.php:360
2238
  #, php-format
2239
  msgid ""
2240
  "TOTAL amount has been deducted from your account. Your current balance is: "
2241
  "%balance_f%"
2242
  msgstr ""
2243
 
2244
- #: ../addons/gateway/carts/mycred-marketpress.php:361 ..
2245
- #: addons/gateway/carts/mycred-woocommerce.php:258
2246
  msgid "Insufficient funds."
2247
  msgstr ""
2248
 
2249
- #: ../addons/gateway/carts/mycred-marketpress.php:362
2250
  msgid ""
2251
  "You must be logged in to pay with %_plural%. Please <a "
2252
  "href=\"%login_url_here%\">login</a>."
2253
  msgstr ""
2254
 
2255
- #: ../addons/gateway/carts/mycred-marketpress.php:369
2256
  #, php-format
2257
  msgid ""
2258
  "Let your users pay for items in their shopping cart using their %s Account. "
@@ -2260,106 +2372,106 @@ msgid ""
2260
  "purchase!"
2261
  msgstr ""
2262
 
2263
- #: ../addons/gateway/carts/mycred-marketpress.php:372
2264
  msgid "Method Name"
2265
  msgstr ""
2266
 
2267
- #: ../addons/gateway/carts/mycred-marketpress.php:374
2268
  msgid ""
2269
  "Enter a public name for this payment method that is displayed to users - No "
2270
  "HTML"
2271
  msgstr ""
2272
 
2273
- #: ../addons/gateway/carts/mycred-marketpress.php:379
2274
  msgid "Gateway Logo URL"
2275
  msgstr ""
2276
 
2277
- #: ../addons/gateway/carts/mycred-marketpress.php:400 ..
2278
- #: addons/gateway/carts/mycred-woocommerce.php:136
2279
  #, php-format
2280
  msgid "How much is 1 %_singular% worth in %currency%?"
2281
  msgstr ""
2282
 
2283
- #: ../addons/gateway/carts/mycred-marketpress.php:405 ..
2284
- #: addons/gateway/carts/mycred-woocommerce.php:141 ..
2285
- #: addons/gateway/carts/mycred-wpecommerce.php:357 ../addons/gateway/event-
2286
  #: booking/mycred-eventespresso3.php:450 ../addons/gateway/event-booking/mycred-
2287
  #: eventsmanager-pro.php:540 ../addons/gateway/event-booking/mycred-eventsmanager.
2288
- #: php:578 ../includes/mycred-shortcodes.php:964
2289
  msgid "Exchange Rate"
2290
  msgstr ""
2291
 
2292
- #: ../addons/gateway/carts/mycred-marketpress.php:414 ..
2293
- #: addons/gateway/carts/mycred-woocommerce.php:169 ..
2294
- #: addons/gateway/carts/mycred-wpecommerce.php:361 ../addons/gateway/event-
2295
  #: booking/mycred-eventespresso3.php:462 ../addons/gateway/event-booking/mycred-
2296
  #: eventsmanager-pro.php:531 ../addons/gateway/event-booking/mycred-eventsmanager.
2297
  #: php:569
2298
  msgid "Profit Sharing"
2299
  msgstr ""
2300
 
2301
- #: ../addons/gateway/carts/mycred-marketpress.php:417
2302
  msgid "Percentage"
2303
  msgstr ""
2304
 
2305
- #: ../addons/gateway/carts/mycred-marketpress.php:419 ..
2306
- #: addons/gateway/carts/mycred-woocommerce.php:171 ..
2307
- #: addons/gateway/carts/mycred-wpecommerce.php:365 ../addons/gateway/event-
2308
  #: booking/mycred-eventespresso3.php:464 ../addons/gateway/event-booking/mycred-
2309
  #: eventsmanager-pro.php:534 ../addons/gateway/event-booking/mycred-eventsmanager.
2310
  #: php:572
2311
  msgid "Option to share sales with the product owner. Use zero to disable."
2312
  msgstr ""
2313
 
2314
- #: ../addons/gateway/carts/mycred-marketpress.php:431 ..
2315
- #: addons/gateway/carts/mycred-wpecommerce.php:372 ../addons/gateway/event-
2316
  #: booking/mycred-eventsmanager-pro.php:607 ../addons/gateway/event-
2317
  #: booking/mycred-eventsmanager.php:626
2318
  msgid "Messages"
2319
  msgstr ""
2320
 
2321
- #: ../addons/gateway/carts/mycred-marketpress.php:434 ..
2322
- #: addons/gateway/carts/mycred-wpecommerce.php:383 ../addons/gateway/event-
2323
  #: booking/mycred-eventsmanager-pro.php:617 ../addons/gateway/event-
2324
- #: booking/mycred-eventsmanager.php:636 ../plugins/mycred-hook-buddypress.php:214
2325
  msgid "Insufficient Funds"
2326
  msgstr ""
2327
 
2328
- #: ../addons/gateway/carts/mycred-marketpress.php:436
2329
  msgid "Message to show when the user can not use this gateway."
2330
  msgstr ""
2331
 
2332
- #: ../addons/gateway/carts/mycred-marketpress.php:442 ..
2333
- #: addons/gateway/carts/mycred-wpecommerce.php:379 ../addons/gateway/event-
2334
  #: booking/mycred-eventespresso3.php:490
2335
  msgid "Visitors"
2336
  msgstr ""
2337
 
2338
- #: ../addons/gateway/carts/mycred-marketpress.php:444
2339
  msgid "Message to show to buyers that are not logged in."
2340
  msgstr ""
2341
 
2342
- #: ../addons/gateway/carts/mycred-marketpress.php:450
2343
  msgid "User Instructions"
2344
  msgstr ""
2345
 
2346
- #: ../addons/gateway/carts/mycred-marketpress.php:452
2347
  msgid "Information to show users before payment."
2348
  msgstr ""
2349
 
2350
- #: ../addons/gateway/carts/mycred-marketpress.php:458
2351
  msgid "Confirmation Information"
2352
  msgstr ""
2353
 
2354
- #: ../addons/gateway/carts/mycred-marketpress.php:460
2355
  msgid "Information to display on the order confirmation page. - HTML allowed"
2356
  msgstr ""
2357
 
2358
- #: ../addons/gateway/carts/mycred-marketpress.php:466
2359
  msgid "Order Confirmation Email"
2360
  msgstr ""
2361
 
2362
- #: ../addons/gateway/carts/mycred-marketpress.php:468
2363
  #, php-format
2364
  msgid ""
2365
  "This is the email text to send to those who have made %s checkouts. It "
@@ -2368,82 +2480,82 @@ msgid ""
2368
  "PAYMENTINFO, TOTAL, TRACKINGURL. No HTML allowed."
2369
  msgstr ""
2370
 
2371
- #: ../addons/gateway/carts/mycred-woocommerce.php:34
2372
  msgid "Let users pay using their myCRED balance."
2373
  msgstr ""
2374
 
2375
- #: ../addons/gateway/carts/mycred-woocommerce.php:85
2376
  msgid "Enable/Disable"
2377
  msgstr ""
2378
 
2379
- #: ../addons/gateway/carts/mycred-woocommerce.php:87
2380
  msgid "Enable myCRED Payment"
2381
  msgstr ""
2382
 
2383
- #: ../addons/gateway/carts/mycred-woocommerce.php:89
2384
  msgid ""
2385
  "Users who are not logged in or excluded from using myCRED will not have "
2386
  "access to this gateway!"
2387
  msgstr ""
2388
 
2389
- #: ../addons/gateway/carts/mycred-woocommerce.php:94
2390
  msgid "Title to show for this payment option."
2391
  msgstr ""
2392
 
2393
- #: ../addons/gateway/carts/mycred-woocommerce.php:95
2394
  msgid "Pay with myCRED"
2395
  msgstr ""
2396
 
2397
- #: ../addons/gateway/carts/mycred-woocommerce.php:99
2398
  msgid "Customer Message"
2399
  msgstr ""
2400
 
2401
- #: ../addons/gateway/carts/mycred-woocommerce.php:110 ..
2402
- #: addons/gateway/carts/mycred-woocommerce.php:182
2403
  msgid "Refund Log Template"
2404
  msgstr ""
2405
 
2406
- #: ../addons/gateway/carts/mycred-woocommerce.php:122
2407
  msgid "Select the point type users can use to pay."
2408
  msgstr ""
2409
 
2410
- #: ../addons/gateway/carts/mycred-woocommerce.php:148
2411
  msgid "Show Total"
2412
  msgstr ""
2413
 
2414
- #: ../addons/gateway/carts/mycred-woocommerce.php:150
2415
  msgid "Show the final price in %_plural% ."
2416
  msgstr ""
2417
 
2418
- #: ../addons/gateway/carts/mycred-woocommerce.php:153
2419
  msgid "Show in Cart"
2420
  msgstr ""
2421
 
2422
- #: ../addons/gateway/carts/mycred-woocommerce.php:154
2423
  msgid "Show on Checkout Page"
2424
  msgstr ""
2425
 
2426
- #: ../addons/gateway/carts/mycred-woocommerce.php:155
2427
  msgid "Show in Cart and on Checkout Page"
2428
  msgstr ""
2429
 
2430
- #: ../addons/gateway/carts/mycred-woocommerce.php:162
2431
  msgid "Order Total in %_plural%"
2432
  msgstr ""
2433
 
2434
- #: ../addons/gateway/carts/mycred-woocommerce.php:178
2435
  msgid "Log entry template for profit sharing."
2436
  msgstr ""
2437
 
2438
- #: ../addons/gateway/carts/mycred-woocommerce.php:184
2439
  msgid "Log entry template for refunds of profit shares."
2440
  msgstr ""
2441
 
2442
- #: ../addons/gateway/carts/mycred-woocommerce.php:210
2443
  msgid "myCRED Payment"
2444
  msgstr ""
2445
 
2446
- #: ../addons/gateway/carts/mycred-woocommerce.php:211
2447
  #, php-format
2448
  msgid ""
2449
  "Allows users to pay using their myCRED %_singular% balance. Please note that "
@@ -2451,19 +2563,19 @@ msgid ""
2451
  "this payment gateway on the checkout page."
2452
  msgstr ""
2453
 
2454
- #: ../addons/gateway/carts/mycred-woocommerce.php:232
2455
  msgid "You must be logged in to pay with %_plural%"
2456
  msgstr ""
2457
 
2458
- #: ../addons/gateway/carts/mycred-woocommerce.php:238
2459
  msgid "You can not use this gateway. Please try a different payment option."
2460
  msgstr ""
2461
 
2462
- #: ../addons/gateway/carts/mycred-woocommerce.php:393
2463
  msgid "Your account has successfully been charged."
2464
  msgstr ""
2465
 
2466
- #: ../addons/gateway/carts/mycred-woocommerce.php:691 ..
2467
  #: addons/gateway/carts/mycred-wpecommerce.php:131
2468
  msgid "Your current balance"
2469
  msgstr ""
@@ -2488,30 +2600,30 @@ msgstr ""
2488
  msgid "You can not use this gateway."
2489
  msgstr ""
2490
 
2491
- #: ../addons/gateway/carts/mycred-wpecommerce.php:341
2492
  msgid "Log Template for Payments"
2493
  msgstr ""
2494
 
2495
- #: ../addons/gateway/carts/mycred-wpecommerce.php:358
2496
  #, php-format
2497
  msgid "How much is 1 %s worth in %s"
2498
  msgstr ""
2499
 
2500
- #: ../addons/gateway/carts/mycred-wpecommerce.php:375
2501
  msgid "Instructions"
2502
  msgstr ""
2503
 
2504
- #: ../addons/gateway/carts/mycred-wpecommerce.php:376
2505
  msgid ""
2506
  "Optional instructions to show users when selecting this gateway. Leave empty "
2507
  "to hide."
2508
  msgstr ""
2509
 
2510
- #: ../addons/gateway/carts/mycred-wpecommerce.php:380
2511
  msgid "Message to show visitors who are not logged in."
2512
  msgstr ""
2513
 
2514
- #: ../addons/gateway/carts/mycred-wpecommerce.php:384
2515
  msgid ""
2516
  "Message to show when users does not have enough %plural% to pay using this "
2517
  "gateway."
@@ -2567,8 +2679,8 @@ msgstr ""
2567
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:428 ..
2568
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:593 ..
2569
  #: addons/gateway/event-booking/mycred-eventsmanager.php:619 ../addons/sell-
2570
- #: content/myCRED-addon-sell-content.php:458 ../addons/sell-content/myCRED-addon-
2571
- #: sell-content.php:669
2572
  msgid "Button Label"
2573
  msgstr ""
2574
 
@@ -2581,11 +2693,15 @@ msgstr ""
2581
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:142 ..
2582
  #: addons/gateway/event-booking/mycred-eventsmanager.php:336 ..
2583
  #: addons/gateway/event-booking/mycred-eventsmanager.php:339 ../addons/sell-
2584
- #: content/myCRED-addon-sell-content.php:449 ../addons/sell-content/myCRED-addon-
2585
- #: sell-content.php:665
2586
  msgid "Price"
2587
  msgstr ""
2588
 
 
 
 
 
2589
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:457
2590
  msgid ""
2591
  "You can disable purchases using this gateway by adding a custom Event Meta: "
@@ -2602,12 +2718,12 @@ msgid "Log"
2602
  msgstr ""
2603
 
2604
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:470 ..
2605
- #: includes/mycred-admin.php:716 ../includes/mycred-admin.php:758
2606
  msgid "Log Entry"
2607
  msgstr ""
2608
 
2609
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:477 ../addons/sell-
2610
- #: content/myCRED-addon-sell-content.php:472
2611
  msgid "Templates"
2612
  msgstr ""
2613
 
@@ -2691,8 +2807,8 @@ msgid "Reject"
2691
  msgstr ""
2692
 
2693
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:397 ..
2694
- #: modules/mycred-module-log.php:506 ../modules/mycred-module-settings.php:488 ..
2695
- #: modules/mycred-module-settings.php:507
2696
  msgid "Delete"
2697
  msgstr ""
2698
 
@@ -2804,707 +2920,865 @@ msgid ""
2804
  "zero for no refunds. No refunds are given to \"Rejected\" bookings."
2805
  msgstr ""
2806
 
2807
- #: ../addons/notifications/myCRED-addon-notifications.php:166
2808
  msgid "Notifications"
2809
  msgstr ""
2810
 
2811
- #: ../addons/notifications/myCRED-addon-notifications.php:168
2812
  msgid "Styling"
2813
  msgstr ""
2814
 
2815
- #: ../addons/notifications/myCRED-addon-notifications.php:172
2816
  msgid "Use the included CSS Styling for notifications."
2817
  msgstr ""
2818
 
2819
- #: ../addons/notifications/myCRED-addon-notifications.php:175 ../modules/mycred-
2820
- #: module-buddypress.php:439
 
2821
  msgid "Template"
2822
  msgstr ""
2823
 
2824
- #: ../addons/notifications/myCRED-addon-notifications.php:179
2825
  #, php-format
2826
  msgid "Use %entry% to show the log entry in the notice and %amount% for the amount."
2827
  msgstr ""
2828
 
2829
- #: ../addons/notifications/myCRED-addon-notifications.php:182
 
 
 
 
2830
  msgid "Transient Lifespan"
2831
  msgstr ""
2832
 
2833
- #: ../addons/notifications/myCRED-addon-notifications.php:186
2834
  msgid ""
2835
  "The number of days a users notification is saved before being automatically "
2836
  "deleted."
2837
  msgstr ""
2838
 
2839
- #: ../addons/notifications/myCRED-addon-notifications.php:189
2840
  msgid "Duration"
2841
  msgstr ""
2842
 
2843
- #: ../addons/notifications/myCRED-addon-notifications.php:193
2844
  msgid ""
2845
- "The number of milliseconds a notice should be visible.<br />Use zero to "
2846
- "require that the user closes the notice manually. 1000 milliseconds = 1 "
2847
- "second."
 
 
 
 
 
 
 
2848
  msgstr ""
2849
 
2850
- #: ../addons/ranks/myCRED-addon-ranks.php:230
2851
  msgid "Warning! All ranks will be deleted! This can not be undone!"
2852
  msgstr ""
2853
 
2854
- #: ../addons/ranks/myCRED-addon-ranks.php:231
2855
  msgid "Are you sure you want to re-assign user ranks?"
2856
  msgstr ""
2857
 
2858
- #: ../addons/ranks/myCRED-addon-ranks.php:245 ../addons/ranks/myCRED-addon-ranks.
2859
- #: php:251 ../addons/ranks/myCRED-addon-ranks.php:257 ../addons/ranks/myCRED-
2860
- #: addon-ranks.php:783 ../addons/ranks/myCRED-addon-ranks.php:979
2861
- msgid "Ranks"
2862
  msgstr ""
2863
 
2864
- #: ../addons/ranks/myCRED-addon-ranks.php:246 ../addons/ranks/myCRED-addon-ranks.
2865
- #: php:478 ../addons/ranks/myCRED-addon-ranks.php:497 ../addons/ranks/myCRED-
2866
- #: addon-ranks.php:589
2867
  msgid "Rank"
2868
  msgstr ""
2869
 
2870
- #: ../addons/ranks/myCRED-addon-ranks.php:248
2871
  msgid "Add New Rank"
2872
  msgstr ""
2873
 
2874
- #: ../addons/ranks/myCRED-addon-ranks.php:249
2875
  msgid "Edit Rank"
2876
  msgstr ""
2877
 
2878
- #: ../addons/ranks/myCRED-addon-ranks.php:250
2879
  msgid "New Rank"
2880
  msgstr ""
2881
 
2882
- #: ../addons/ranks/myCRED-addon-ranks.php:252
2883
  msgid "View Rank"
2884
  msgstr ""
2885
 
2886
- #: ../addons/ranks/myCRED-addon-ranks.php:253
2887
  msgid "Search Ranks"
2888
  msgstr ""
2889
 
2890
- #: ../addons/ranks/myCRED-addon-ranks.php:254
2891
  msgid "No ranks found"
2892
  msgstr ""
2893
 
2894
- #: ../addons/ranks/myCRED-addon-ranks.php:255
2895
  msgid "No ranks found in Trash"
2896
  msgstr ""
2897
 
2898
- #: ../addons/ranks/myCRED-addon-ranks.php:343
2899
  #, php-format
2900
  msgid "Completed - Total of %d users effected"
2901
  msgstr ""
2902
 
2903
- #: ../addons/ranks/myCRED-addon-ranks.php:345
2904
- msgid "Log is Empty"
2905
- msgstr ""
2906
-
2907
- #: ../addons/ranks/myCRED-addon-ranks.php:552 ../addons/ranks/myCRED-addon-ranks.
2908
- #: php:555 ../addons/ranks/myCRED-addon-ranks.php:559 ../addons/ranks/myCRED-
2909
- #: addon-ranks.php:560
2910
  msgid "Rank Updated."
2911
  msgstr ""
2912
 
2913
- #: ../addons/ranks/myCRED-addon-ranks.php:557
2914
  msgid "Rank Enabled"
2915
  msgstr ""
2916
 
2917
- #: ../addons/ranks/myCRED-addon-ranks.php:558
2918
  msgid "Rank Saved"
2919
  msgstr ""
2920
 
2921
- #: ../addons/ranks/myCRED-addon-ranks.php:615 ../addons/ranks/myCRED-addon-ranks.
2922
- #: php:668
 
 
 
 
 
2923
  msgid "Rank Title"
2924
  msgstr ""
2925
 
2926
- #: ../addons/ranks/myCRED-addon-ranks.php:616
2927
  msgid "Logo"
2928
  msgstr ""
2929
 
2930
- #: ../addons/ranks/myCRED-addon-ranks.php:617
2931
  msgid "Requirement"
2932
  msgstr ""
2933
 
2934
- #: ../addons/ranks/myCRED-addon-ranks.php:634
2935
  msgid "No Logo Set"
2936
  msgstr ""
2937
 
2938
- #: ../addons/ranks/myCRED-addon-ranks.php:643 ../addons/ranks/myCRED-addon-ranks.
2939
- #: php:648
2940
  msgid "Any Value"
2941
  msgstr ""
2942
 
2943
- #: ../addons/ranks/myCRED-addon-ranks.php:650
2944
  msgid "Maximum %plural%"
2945
  msgstr ""
2946
 
2947
- #: ../addons/ranks/myCRED-addon-ranks.php:681
2948
  msgid "Rank Settings"
2949
  msgstr ""
2950
 
2951
- #: ../addons/ranks/myCRED-addon-ranks.php:703
2952
  msgid "Minimum %plural% to reach this rank"
2953
  msgstr ""
2954
 
2955
- #: ../addons/ranks/myCRED-addon-ranks.php:707
2956
  msgid "Maximum %plural% to be included in this rank"
2957
  msgstr ""
2958
 
2959
- #: ../addons/ranks/myCRED-addon-ranks.php:714
2960
  msgid "All Published Ranks"
2961
  msgstr ""
2962
 
2963
- #: ../addons/ranks/myCRED-addon-ranks.php:720 ../addons/ranks/myCRED-addon-ranks.
2964
- #: php:722
2965
  msgid "Not Set"
2966
  msgstr ""
2967
 
2968
- #: ../addons/ranks/myCRED-addon-ranks.php:727
2969
  msgid "No Ranks found"
2970
  msgstr ""
2971
 
2972
- #: ../addons/ranks/myCRED-addon-ranks.php:785
2973
  msgid "Rank Features"
2974
  msgstr ""
2975
 
2976
- #: ../addons/ranks/myCRED-addon-ranks.php:789
2977
  msgid "%plural% requirement"
2978
  msgstr ""
2979
 
2980
- #: ../addons/ranks/myCRED-addon-ranks.php:790
2981
  msgid "Featured Image (Logo)"
2982
  msgstr ""
2983
 
2984
- #: ../addons/ranks/myCRED-addon-ranks.php:791
2985
  msgid "Content"
2986
  msgstr ""
2987
 
2988
- #: ../addons/ranks/myCRED-addon-ranks.php:792
2989
  msgid "Excerpt"
2990
  msgstr ""
2991
 
2992
- #: ../addons/ranks/myCRED-addon-ranks.php:793
2993
  msgid "Comments"
2994
  msgstr ""
2995
 
2996
- #: ../addons/ranks/myCRED-addon-ranks.php:794
2997
  msgid "Page Attributes"
2998
  msgstr ""
2999
 
3000
- #: ../addons/ranks/myCRED-addon-ranks.php:795
3001
  msgid "Custom Fields"
3002
  msgstr ""
3003
 
3004
- #: ../addons/ranks/myCRED-addon-ranks.php:798
3005
  msgid "Public"
3006
  msgstr ""
3007
 
3008
- #: ../addons/ranks/myCRED-addon-ranks.php:802
3009
  msgid ""
3010
  "If you want to create a template archive for each rank, you must select to "
3011
  "have ranks public. Defaults to disabled."
3012
  msgstr ""
3013
 
3014
- #: ../addons/ranks/myCRED-addon-ranks.php:805
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3015
  msgid "Rank Basis"
3016
  msgstr ""
3017
 
3018
- #: ../addons/ranks/myCRED-addon-ranks.php:808
3019
  msgid "Users are ranked according to their current balance."
3020
  msgstr ""
3021
 
3022
- #: ../addons/ranks/myCRED-addon-ranks.php:811
3023
  msgid ""
3024
  "Users are ranked according to the total amount of %_plural% they have "
3025
  "accumulated."
3026
  msgstr ""
3027
 
3028
- #: ../addons/ranks/myCRED-addon-ranks.php:815 ../addons/ranks/myCRED-addon-ranks.
3029
- #: php:820
3030
  msgid "Calculate Totals"
3031
  msgstr ""
3032
 
3033
- #: ../addons/ranks/myCRED-addon-ranks.php:818
3034
  msgid ""
3035
- "Use this button to calculate or re-calcualte your users totals. If not used, "
3036
  "the users current balance will be used as a starting point."
3037
  msgstr ""
3038
 
3039
- #: ../addons/ranks/myCRED-addon-ranks.php:818
3040
  msgid ""
3041
  "Once a users total has been calculated, they will be assigned to their "
3042
  "appropriate roles. For this reason, it is highly recommended that you first "
3043
  "setup your ranks!"
3044
  msgstr ""
3045
 
3046
- #: ../addons/ranks/myCRED-addon-ranks.php:819
3047
  msgid ""
3048
  "Depending on your log size and number of users this process may take a while."
3049
  " Please do not leave, click \"Update Settings\" or re-fresh this page until "
3050
  "this is completed!"
3051
  msgstr ""
3052
 
3053
- #: ../addons/ranks/myCRED-addon-ranks.php:824
3054
- msgid "Archive URL"
3055
- msgstr ""
3056
-
3057
- #: ../addons/ranks/myCRED-addon-ranks.php:828
3058
- msgid "Ignored if Ranks are not public"
3059
  msgstr ""
3060
 
3061
- #: ../addons/ranks/myCRED-addon-ranks.php:831
3062
- msgid "Display Order"
3063
  msgstr ""
3064
 
3065
- #: ../addons/ranks/myCRED-addon-ranks.php:838
3066
- msgid "Ascending - Lowest rank to highest"
3067
  msgstr ""
3068
 
3069
- #: ../addons/ranks/myCRED-addon-ranks.php:839
3070
- msgid "Descending - Highest rank to lowest"
3071
  msgstr ""
3072
 
3073
- #: ../addons/ranks/myCRED-addon-ranks.php:848
 
 
3074
  msgid ""
3075
- "Select in what order ranks should be displayed in your admin area and/or "
3076
- "front if ranks are \"Public\""
3077
- msgstr ""
3078
-
3079
- #: ../addons/ranks/myCRED-addon-ranks.php:858 ../modules/mycred-module-buddypress.
3080
- #: php:402
3081
- msgid "Do not show."
3082
  msgstr ""
3083
 
3084
- #: ../addons/ranks/myCRED-addon-ranks.php:859
3085
- msgid "Include in Profile Header."
3086
  msgstr ""
3087
 
3088
- #: ../addons/ranks/myCRED-addon-ranks.php:861
3089
- msgid "Include under the \"Profile\" tab and Profile Header."
3090
  msgstr ""
3091
 
3092
- #: ../addons/ranks/myCRED-addon-ranks.php:864
3093
- msgid "Rank in BuddyPress"
3094
  msgstr ""
3095
 
3096
- #: ../addons/ranks/myCRED-addon-ranks.php:932
3097
  msgid "Script Communication Error"
3098
  msgstr ""
3099
 
3100
- #: ../addons/ranks/myCRED-addon-ranks.php:982
3101
- msgid "Rank Post Type"
 
3102
  msgstr ""
3103
 
3104
- #: ../addons/ranks/myCRED-addon-ranks.php:986
3105
  msgid "No. of ranks"
3106
  msgstr ""
3107
 
3108
- #: ../addons/ranks/myCRED-addon-ranks.php:991
3109
  msgid "Remove All Ranks"
3110
  msgstr ""
3111
 
3112
- #: ../addons/ranks/myCRED-addon-ranks.php:991
3113
  msgid "Assign Ranks to Users"
3114
  msgstr ""
3115
 
3116
- #: ../addons/ranks/includes/mycred-rank-functions.php:229
3117
  msgid "mycred_get_users_rank() : Missing required user id"
3118
  msgstr ""
3119
 
3120
- #: ../addons/ranks/includes/mycred-rank-functions.php:238
3121
  msgid "no rank"
3122
  msgstr ""
3123
 
3124
- #: ../addons/ranks/includes/mycred-rank-shortcodes.php:58 ..
3125
- #: addons/ranks/includes/mycred-rank-shortcodes.php:134
3126
  msgid "No users found with this rank"
3127
  msgstr ""
3128
 
3129
- #: ../addons/ranks/includes/mycred-rank-shortcodes.php:63 ../includes/mycred-
3130
- #: shortcodes.php:469 ../includes/mycred-shortcodes.php:472 ../includes/mycred-
3131
- #: shortcodes.php:535 ../includes/mycred-shortcodes.php:593 ../includes/mycred-
3132
- #: shortcodes.php:597 ../includes/mycred-shortcodes.php:601
3133
  msgid "error"
3134
  msgstr ""
3135
 
3136
- #: ../addons/ranks/includes/mycred-rank-shortcodes.php:63
3137
  msgid "Rank ID is required!"
3138
  msgstr ""
3139
 
3140
- #: ../addons/sell-content/myCRED-addon-sell-content.php:73
3141
  msgid "Hours"
3142
  msgstr ""
3143
 
3144
- #: ../addons/sell-content/myCRED-addon-sell-content.php:110
3145
  msgid "Profit Share"
3146
  msgstr ""
3147
 
3148
- #: ../addons/sell-content/myCRED-addon-sell-content.php:118
3149
  msgid "Save Profit Share"
3150
  msgstr ""
3151
 
3152
- #: ../addons/sell-content/myCRED-addon-sell-content.php:164
3153
  msgid "Profit Share override saved"
3154
  msgstr ""
3155
 
3156
- #: ../addons/sell-content/myCRED-addon-sell-content.php:326
3157
  msgid "You can not buy this content."
3158
  msgstr ""
3159
 
3160
- #: ../addons/sell-content/myCRED-addon-sell-content.php:371
3161
  msgid "Error. Try Again"
3162
  msgstr ""
3163
 
3164
- #: ../addons/sell-content/myCRED-addon-sell-content.php:393
3165
  msgid "No Payout. Just charge."
3166
  msgstr ""
3167
 
3168
- #: ../addons/sell-content/myCRED-addon-sell-content.php:394
3169
  msgid "Pay Content Author."
3170
  msgstr ""
3171
 
3172
- #: ../addons/sell-content/myCRED-addon-sell-content.php:400 ../includes/mycred-
3173
  #: overview.php:141 ../includes/mycred-overview.php:148
3174
  msgid "Sell Content"
3175
  msgstr ""
3176
 
3177
- #: ../addons/sell-content/myCRED-addon-sell-content.php:402
3178
  msgid "Post Types"
3179
  msgstr ""
3180
 
3181
- #: ../addons/sell-content/myCRED-addon-sell-content.php:406
3182
  msgid "Comma separated list of post types that can be sold."
3183
  msgstr ""
3184
 
3185
- #: ../addons/sell-content/myCRED-addon-sell-content.php:436
3186
  msgid "Percentage to pay Author"
3187
  msgstr ""
3188
 
3189
- #: ../addons/sell-content/myCRED-addon-sell-content.php:438
3190
  msgid ""
3191
  "Percentage of the price to pay the author. Can not be zero and is ignored if "
3192
  "authors are not paid."
3193
  msgstr ""
3194
 
3195
- #: ../addons/sell-content/myCRED-addon-sell-content.php:446
3196
  msgid "Defaults"
3197
  msgstr ""
3198
 
3199
- #: ../addons/sell-content/myCRED-addon-sell-content.php:454
3200
  msgid "Allow authors to change price."
3201
  msgstr ""
3202
 
3203
- #: ../addons/sell-content/myCRED-addon-sell-content.php:463
3204
  msgid "Allow authors to change button label."
3205
  msgstr ""
3206
 
3207
- #: ../addons/sell-content/myCRED-addon-sell-content.php:467
3208
  msgid "Purchases expire after"
3209
  msgstr ""
3210
 
3211
- #: ../addons/sell-content/myCRED-addon-sell-content.php:469
3212
  msgid "Use zero for permanent sales."
3213
  msgstr ""
3214
 
3215
- #: ../addons/sell-content/myCRED-addon-sell-content.php:475
3216
  msgid "For Visitors"
3217
  msgstr ""
3218
 
3219
- #: ../addons/sell-content/myCRED-addon-sell-content.php:480
3220
  #, php-format
3221
  msgid ""
3222
  "Do <strong>not</strong> use the %buy_button% in this template as a user must "
3223
  "be logged in to buy content!"
3224
  msgstr ""
3225
 
3226
- #: ../addons/sell-content/myCRED-addon-sell-content.php:485
3227
  msgid "For Members"
3228
  msgstr ""
3229
 
3230
- #: ../addons/sell-content/myCRED-addon-sell-content.php:490 ../addons/sell-
3231
- #: content/myCRED-addon-sell-content.php:500
3232
  #, php-format
3233
  msgid "Your template must contain the %buy_button% tag for purchases to work!"
3234
  msgstr ""
3235
 
3236
- #: ../addons/sell-content/myCRED-addon-sell-content.php:495
3237
  msgid "For members that can not afford to buy"
3238
  msgstr ""
3239
 
3240
- #: ../addons/sell-content/myCRED-addon-sell-content.php:504
3241
  msgid "Log template for Purchases"
3242
  msgstr ""
3243
 
3244
- #: ../addons/sell-content/myCRED-addon-sell-content.php:511
3245
  msgid "Log template for Sales"
3246
  msgstr ""
3247
 
3248
- #: ../addons/sell-content/myCRED-addon-sell-content.php:563
3249
  #, php-format
3250
  msgid "%s Sell This"
3251
  msgstr ""
3252
 
3253
- #: ../addons/sell-content/myCRED-addon-sell-content.php:618
3254
  #, php-format
3255
  msgid "%s Sell Content needs to be setup before you can use this feature."
3256
  msgstr ""
3257
 
3258
- #: ../addons/sell-content/myCRED-addon-sell-content.php:621
3259
  msgid "Setup add-on"
3260
  msgstr ""
3261
 
3262
- #: ../addons/sell-content/myCRED-addon-sell-content.php:621
3263
  msgid "Lets do it"
3264
  msgstr ""
3265
 
3266
- #: ../addons/sell-content/myCRED-addon-sell-content.php:659
3267
  #, php-format
3268
  msgid "Enable sale of this %s"
3269
  msgstr ""
3270
 
3271
- #: ../addons/sell-content/myCRED-addon-sell-content.php:673
3272
  msgid "Purchase expires after"
3273
  msgstr ""
3274
 
3275
- #: ../addons/sell-content/myCRED-addon-sell-content.php:999
3276
  msgid "Thank you for your purchase!"
3277
  msgstr ""
3278
 
3279
- #: ../addons/sell-content/myCRED-addon-sell-content.php:1087 ../addons/sell-
3280
- #: content/myCRED-addon-sell-content.php:1173
3281
  msgid "The following content is set for sale:"
3282
  msgstr ""
3283
 
3284
- #: ../addons/sell-content/myCRED-addon-sell-content.php:1233
3285
  msgid "Purchased"
3286
  msgstr ""
3287
 
3288
- #: ../addons/transfer/myCRED-addon-transfer.php:38
3289
- msgid "You do not have enough %plural% to send."
3290
  msgstr ""
3291
 
3292
- #: ../addons/transfer/myCRED-addon-transfer.php:39
3293
- msgid "You have exceeded your %limit% transfer limit."
3294
  msgstr ""
3295
 
3296
- #: ../addons/transfer/myCRED-addon-transfer.php:45 ../includes/mycred-functions.
3297
- #: php:2406
3298
- msgid "Transfer"
3299
  msgstr ""
3300
 
3301
- #: ../addons/transfer/myCRED-addon-transfer.php:140
3302
- msgid "Transaction completed."
3303
  msgstr ""
3304
 
3305
- #: ../addons/transfer/myCRED-addon-transfer.php:141
3306
- msgid "Security token could not be verified. Please contact your site administrator!"
 
 
3307
  msgstr ""
3308
 
3309
- #: ../addons/transfer/myCRED-addon-transfer.php:142
3310
- msgid "Communications error. Please try again later."
 
 
3311
  msgstr ""
3312
 
3313
- #: ../addons/transfer/myCRED-addon-transfer.php:143
3314
- msgid "Recipient not found. Please try again."
 
3315
  msgstr ""
3316
 
3317
- #: ../addons/transfer/myCRED-addon-transfer.php:144
3318
- msgid "Transaction declined by recipient."
 
3319
  msgstr ""
3320
 
3321
- #: ../addons/transfer/myCRED-addon-transfer.php:145
3322
- msgid "Incorrect amount. Please try again."
 
3323
  msgstr ""
3324
 
3325
- #: ../addons/transfer/myCRED-addon-transfer.php:146
3326
- msgid ""
3327
- "This myCRED Add-on has not yet been setup! No transfers are allowed until "
3328
- "this has been done!"
3329
  msgstr ""
3330
 
3331
- #: ../addons/transfer/myCRED-addon-transfer.php:147 ../includes/mycred-shortcodes.
3332
- #: php:1061
3333
- msgid "Insufficient Funds. Please try a lower amount."
3334
  msgstr ""
3335
 
3336
- #: ../addons/transfer/myCRED-addon-transfer.php:148
3337
- msgid "Transfer Limit exceeded."
 
3338
  msgstr ""
3339
 
3340
- #: ../addons/transfer/myCRED-addon-transfer.php:173
3341
- msgid "No limits."
 
3342
  msgstr ""
3343
 
3344
- #: ../addons/transfer/myCRED-addon-transfer.php:174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3345
  msgid "Impose daily limit."
3346
  msgstr ""
3347
 
3348
- #: ../addons/transfer/myCRED-addon-transfer.php:175
3349
  msgid "Impose weekly limit."
3350
  msgstr ""
3351
 
3352
- #: ../addons/transfer/myCRED-addon-transfer.php:182
3353
  msgid "User Login (user_login)"
3354
  msgstr ""
3355
 
3356
- #: ../addons/transfer/myCRED-addon-transfer.php:183
3357
  msgid "User Email (user_email)"
3358
  msgstr ""
3359
 
3360
- #: ../addons/transfer/myCRED-addon-transfer.php:191 ../includes/mycred-overview.
3361
  #: php:120 ../includes/mycred-overview.php:127
3362
  msgid "Transfers"
3363
  msgstr ""
3364
 
3365
- #: ../addons/transfer/myCRED-addon-transfer.php:200
3366
  msgid "Select the point types that users can transfer."
3367
  msgstr ""
3368
 
3369
- #: ../addons/transfer/myCRED-addon-transfer.php:208
3370
  msgid "Log template for sending"
3371
  msgstr ""
3372
 
3373
- #: ../addons/transfer/myCRED-addon-transfer.php:215
3374
  msgid "Log template for receiving"
3375
  msgstr ""
3376
 
3377
- #: ../addons/transfer/myCRED-addon-transfer.php:222
3378
  msgid "Autofill Recipient"
3379
  msgstr ""
3380
 
3381
- #: ../addons/transfer/myCRED-addon-transfer.php:234
3382
  msgid "Select what user details recipients should be autofilled by."
3383
  msgstr ""
3384
 
3385
- #: ../addons/transfer/myCRED-addon-transfer.php:237
3386
  msgid "Reload"
3387
  msgstr ""
3388
 
3389
- #: ../addons/transfer/myCRED-addon-transfer.php:240
3390
  msgid "Reload page on successful transfers."
3391
  msgstr ""
3392
 
3393
- #: ../addons/transfer/myCRED-addon-transfer.php:260
3394
  msgid "Limit Amount"
3395
  msgstr ""
3396
 
3397
- #: ../addons/transfer/myCRED-addon-transfer.php:264
3398
  msgid "Form Templates"
3399
  msgstr ""
3400
 
3401
- #: ../addons/transfer/myCRED-addon-transfer.php:267
3402
  msgid "Not logged in Template"
3403
  msgstr ""
3404
 
3405
- #: ../addons/transfer/myCRED-addon-transfer.php:269
3406
  msgid ""
3407
  "Text to show when users are not logged in. Leave empty to hide. No HTML "
3408
  "elements allowed!"
3409
  msgstr ""
3410
 
3411
- #: ../addons/transfer/myCRED-addon-transfer.php:273
3412
  msgid "Balance Template"
3413
  msgstr ""
3414
 
3415
- #: ../addons/transfer/myCRED-addon-transfer.php:275
3416
  msgid ""
3417
  "Template to use when displaying the users balance (if included). No HTML "
3418
  "elements allowed!"
3419
  msgstr ""
3420
 
3421
- #: ../addons/transfer/myCRED-addon-transfer.php:279
3422
  msgid "Limit Template"
3423
  msgstr ""
3424
 
3425
- #: ../addons/transfer/myCRED-addon-transfer.php:281
3426
  msgid "Template to use when displaying limits (if used). No HTML elements allowed!"
3427
  msgstr ""
3428
 
3429
- #: ../addons/transfer/myCRED-addon-transfer.php:285
3430
  msgid "Button Template"
3431
  msgstr ""
3432
 
3433
- #: ../addons/transfer/myCRED-addon-transfer.php:287
3434
  msgid "Send Transfer button template. No HTML elements allowed!"
3435
  msgstr ""
3436
 
3437
- #: ../addons/transfer/myCRED-addon-transfer.php:290
3438
  msgid "Error Messages"
3439
  msgstr ""
3440
 
3441
- #: ../addons/transfer/myCRED-addon-transfer.php:293
3442
  msgid "Balance to low to send."
3443
  msgstr ""
3444
 
3445
- #: ../addons/transfer/myCRED-addon-transfer.php:295
3446
  msgid ""
3447
  "Text to show when a users balance is to low for transfers. Leave empty to "
3448
  "hide. No HTML elements allowed!"
3449
  msgstr ""
3450
 
3451
- #: ../addons/transfer/myCRED-addon-transfer.php:299
3452
  msgid "Transfer Limit Reached."
3453
  msgstr ""
3454
 
3455
- #: ../addons/transfer/myCRED-addon-transfer.php:301
3456
  msgid ""
3457
  "Text to show when a user has reached their transfer limit (if used). Leave "
3458
  "empty to hide. No HTML elements allowed!"
3459
  msgstr ""
3460
 
3461
- #: ../addons/transfer/myCRED-addon-transfer.php:576
3462
- msgid "Allow transfers between users."
3463
- msgstr ""
3464
-
3465
- #: ../addons/transfer/myCRED-addon-transfer.php:578
3466
- #, php-format
3467
- msgid "(%s) Transfer"
3468
  msgstr ""
3469
 
3470
- #: ../addons/transfer/myCRED-addon-transfer.php:592
3471
- msgid "The myCRED Transfer add-on has not yet been setup!"
3472
  msgstr ""
3473
 
3474
- #: ../addons/transfer/myCRED-addon-transfer.php:647
3475
- msgid "Transfer %plural%"
 
3476
  msgstr ""
3477
 
3478
- #: ../addons/transfer/myCRED-addon-transfer.php:658
3479
- msgid "Show users balance"
3480
  msgstr ""
3481
 
3482
- #: ../addons/transfer/myCRED-addon-transfer.php:662
3483
- msgid "Show users limit"
3484
  msgstr ""
3485
 
3486
- #: ../addons/transfer/myCRED-addon-transfer.php:800
3487
- msgid "username"
3488
  msgstr ""
3489
 
3490
- #: ../addons/transfer/myCRED-addon-transfer.php:802
3491
- msgid "email"
 
3492
  msgstr ""
3493
 
3494
- #: ../addons/transfer/myCRED-addon-transfer.php:804
3495
- #, php-format
3496
- msgid "recipients %s"
3497
  msgstr ""
3498
 
3499
- #: ../addons/transfer/myCRED-addon-transfer.php:877
3500
- msgid "To:"
3501
  msgstr ""
3502
 
3503
- #: ../addons/transfer/myCRED-addon-transfer.php:883
3504
- msgid "Amount:"
3505
  msgstr ""
3506
 
3507
- #: ../includes/mycred-about.php:75
3508
  #, php-format
3509
  msgid "Welcome to %s %s"
3510
  msgstr ""
@@ -3547,88 +3821,83 @@ msgstr ""
3547
  msgid "Excluded"
3548
  msgstr ""
3549
 
3550
- #: ../includes/mycred-admin.php:395
3551
- #, php-format
3552
- msgid "Total: %s"
3553
- msgstr ""
3554
-
3555
- #: ../includes/mycred-admin.php:404
3556
  msgid "Adjust"
3557
  msgstr ""
3558
 
3559
- #: ../includes/mycred-admin.php:442 ../includes/mycred-admin.php:443
3560
  msgid "Edit Balance"
3561
  msgstr ""
3562
 
3563
- #: ../includes/mycred-admin.php:461
3564
  msgid "Profile"
3565
  msgstr ""
3566
 
3567
- #: ../includes/mycred-admin.php:468
3568
  msgid "Extended Profile"
3569
  msgstr ""
3570
 
3571
- #: ../includes/mycred-admin.php:558
3572
  #, php-format
3573
  msgid "This user is excluded from using %s"
3574
  msgstr ""
3575
 
3576
- #: ../includes/mycred-admin.php:581
3577
  msgid "Edit User"
3578
  msgstr ""
3579
 
3580
- #: ../includes/mycred-admin.php:583
3581
  msgctxt "user"
3582
  msgid "Add New"
3583
  msgstr ""
3584
 
3585
- #: ../includes/mycred-admin.php:585
3586
  msgctxt "user"
3587
  msgid "Add Existing"
3588
  msgstr ""
3589
 
3590
- #: ../includes/mycred-admin.php:596
3591
  #, php-format
3592
  msgid "Total %s Accumulated"
3593
  msgstr ""
3594
 
3595
- #: ../includes/mycred-admin.php:597
3596
  #, php-format
3597
  msgid "Total %s Spent"
3598
  msgstr ""
3599
 
3600
- #: ../includes/mycred-admin.php:608
3601
  msgid "View History"
3602
  msgstr ""
3603
 
3604
- #: ../includes/mycred-admin.php:609
3605
  msgid "Exclude User"
3606
  msgstr ""
3607
 
3608
- #: ../includes/mycred-admin.php:613
3609
  msgid "Adjust Balance"
3610
  msgstr ""
3611
 
3612
- #: ../includes/mycred-admin.php:622
3613
  msgid ""
3614
  "Warning! Excluding this user will result in their balance being deleted "
3615
  "along with any entries currently in your log! This can not be undone!"
3616
  msgstr ""
3617
 
3618
- #: ../includes/mycred-admin.php:680
3619
  #, php-format
3620
  msgid "%singular% balance"
3621
  msgstr ""
3622
 
3623
- #: ../includes/mycred-admin.php:720 ../includes/mycred-admin.php:759
3624
  msgid "Update Balance"
3625
  msgstr ""
3626
 
3627
- #: ../includes/mycred-admin.php:751
3628
  msgid "ID"
3629
  msgstr ""
3630
 
3631
- #: ../includes/mycred-admin.php:757
3632
  msgid "A positive or negative value"
3633
  msgstr ""
3634
 
@@ -3644,337 +3913,436 @@ msgstr ""
3644
  msgid "Deleted"
3645
  msgstr ""
3646
 
3647
- #: ../includes/mycred-functions.php:536
3648
  msgid "Deleted Item"
3649
  msgstr ""
3650
 
3651
- #: ../includes/mycred-functions.php:600
3652
  msgid "User Related"
3653
  msgstr ""
3654
 
3655
- #: ../includes/mycred-functions.php:607
3656
  msgid "Post Related"
3657
  msgstr ""
3658
 
3659
- #: ../includes/mycred-functions.php:614
3660
  msgid "Comment Related"
3661
  msgstr ""
3662
 
3663
- #: ../includes/mycred-functions.php:621
3664
  msgid "Widget Related"
3665
  msgstr ""
3666
 
3667
- #: ../includes/mycred-functions.php:628
3668
  msgid "Amount Related"
3669
  msgstr ""
3670
 
3671
- #: ../includes/mycred-functions.php:635
3672
  msgid "Video Related"
3673
  msgstr ""
3674
 
3675
- #: ../includes/mycred-functions.php:646
3676
  msgid "and"
3677
  msgstr ""
3678
 
3679
- #: ../includes/mycred-functions.php:648
3680
  msgid "Available Template Tags:"
3681
  msgstr ""
3682
 
3683
- #: ../includes/mycred-functions.php:1673
3684
  msgid "Entire Log"
3685
  msgstr ""
3686
 
3687
- #: ../includes/mycred-functions.php:1678 ../includes/mycred-functions.php:1679
3688
  msgid "Displayed Rows"
3689
  msgstr ""
3690
 
3691
- #: ../includes/mycred-functions.php:1686
3692
  msgid "Search Results"
3693
  msgstr ""
3694
 
3695
- #: ../includes/mycred-functions.php:1687
3696
  msgid "My Entire Log"
3697
  msgstr ""
3698
 
3699
- #: ../includes/mycred-functions.php:1854
3700
  msgid "ref empty"
3701
  msgstr ""
3702
 
3703
- #: ../includes/mycred-functions.php:1862
3704
  msgid "incorrect user id format"
3705
  msgstr ""
3706
 
3707
- #: ../includes/mycred-functions.php:1875
3708
  msgid "incorrect unix timestamp (from):"
3709
  msgstr ""
3710
 
3711
- #: ../includes/mycred-functions.php:1884
3712
  msgid "incorrect unix timestamp (to):"
3713
  msgstr ""
3714
 
3715
- #: ../includes/mycred-functions.php:2293
3716
  msgid "Website Registration"
3717
  msgstr ""
3718
 
3719
- #: ../includes/mycred-functions.php:2294
3720
  msgid "Website Visit"
3721
  msgstr ""
3722
 
3723
- #: ../includes/mycred-functions.php:2295
3724
  msgid "Viewing Content (Member)"
3725
  msgstr ""
3726
 
3727
- #: ../includes/mycred-functions.php:2296
3728
  msgid "Viewing Content (Author)"
3729
  msgstr ""
3730
 
3731
- #: ../includes/mycred-functions.php:2297
3732
  msgid "Logging in"
3733
  msgstr ""
3734
 
3735
- #: ../includes/mycred-functions.php:2298
3736
  msgid "Publishing Content"
3737
  msgstr ""
3738
 
3739
- #: ../includes/mycred-functions.php:2299 ../modules/mycred-module-hooks.php:1421
3740
  msgid "Approved Comment"
3741
  msgstr ""
3742
 
3743
- #: ../includes/mycred-functions.php:2300
3744
  msgid "Unapproved Comment"
3745
  msgstr ""
3746
 
3747
- #: ../includes/mycred-functions.php:2301
3748
  msgid "SPAM Comment"
3749
  msgstr ""
3750
 
3751
- #: ../includes/mycred-functions.php:2302
3752
  msgid "Deleted Comment"
3753
  msgstr ""
3754
 
3755
- #: ../includes/mycred-functions.php:2303
3756
  msgid "Link Click"
3757
  msgstr ""
3758
 
3759
- #: ../includes/mycred-functions.php:2304
3760
  msgid "Watching Video"
3761
  msgstr ""
3762
 
3763
- #: ../includes/mycred-functions.php:2305
3764
  msgid "Visitor Referral"
3765
  msgstr ""
3766
 
3767
- #: ../includes/mycred-functions.php:2306
3768
  msgid "Signup Referral"
3769
  msgstr ""
3770
 
3771
- #: ../includes/mycred-functions.php:2310
3772
  msgid "New Profile Update"
3773
  msgstr ""
3774
 
3775
- #: ../includes/mycred-functions.php:2311
 
 
 
 
3776
  msgid "Avatar Upload"
3777
  msgstr ""
3778
 
3779
- #: ../includes/mycred-functions.php:2312
3780
  msgid "New Friendship"
3781
  msgstr ""
3782
 
3783
- #: ../includes/mycred-functions.php:2313
3784
  msgid "Ended Friendship"
3785
  msgstr ""
3786
 
3787
- #: ../includes/mycred-functions.php:2314
3788
  msgid "New Profile Comment"
3789
  msgstr ""
3790
 
3791
- #: ../includes/mycred-functions.php:2315
3792
  msgid "Profile Comment Deletion"
3793
  msgstr ""
3794
 
3795
- #: ../includes/mycred-functions.php:2316
3796
  msgid "New Message"
3797
  msgstr ""
3798
 
3799
- #: ../includes/mycred-functions.php:2317
3800
  msgid "Sending Gift"
3801
  msgstr ""
3802
 
3803
- #: ../includes/mycred-functions.php:2318
3804
  msgid "New Group"
3805
  msgstr ""
3806
 
3807
- #: ../includes/mycred-functions.php:2319
3808
  msgid "Deleted Group"
3809
  msgstr ""
3810
 
3811
- #: ../includes/mycred-functions.php:2320
3812
  msgid "New Group Forum Topic"
3813
  msgstr ""
3814
 
3815
- #: ../includes/mycred-functions.php:2321
3816
  msgid "Edit Group Forum Topic"
3817
  msgstr ""
3818
 
3819
- #: ../includes/mycred-functions.php:2322
3820
  msgid "New Group Forum Post"
3821
  msgstr ""
3822
 
3823
- #: ../includes/mycred-functions.php:2323
3824
  msgid "Edit Group Forum Post"
3825
  msgstr ""
3826
 
3827
- #: ../includes/mycred-functions.php:2324
3828
  msgid "Joining Group"
3829
  msgstr ""
3830
 
3831
- #: ../includes/mycred-functions.php:2325
3832
  msgid "Leaving Group"
3833
  msgstr ""
3834
 
3835
- #: ../includes/mycred-functions.php:2326
3836
  msgid "New Group Avatar"
3837
  msgstr ""
3838
 
3839
- #: ../includes/mycred-functions.php:2327
3840
  msgid "New Group Comment"
3841
  msgstr ""
3842
 
3843
- #: ../includes/mycred-functions.php:2331 ../plugins/mycred-hook-buddypress-media.
3844
- #: php:166
3845
  msgid "Photo Upload"
3846
  msgstr ""
3847
 
3848
- #: ../includes/mycred-functions.php:2332 ../plugins/mycred-hook-buddypress-media.
3849
- #: php:176
3850
  msgid "Video Upload"
3851
  msgstr ""
3852
 
3853
- #: ../includes/mycred-functions.php:2333 ../plugins/mycred-hook-buddypress-media.
3854
- #: php:186
3855
  msgid "Music Upload"
3856
  msgstr ""
3857
 
3858
- #: ../includes/mycred-functions.php:2337
3859
  msgid "New Link"
3860
  msgstr ""
3861
 
3862
- #: ../includes/mycred-functions.php:2338
3863
  msgid "Link Voting"
3864
  msgstr ""
3865
 
3866
- #: ../includes/mycred-functions.php:2339
3867
  msgid "Link Update"
3868
  msgstr ""
3869
 
3870
- #: ../includes/mycred-functions.php:2343
3871
  msgid "New Forum (bbPress)"
3872
  msgstr ""
3873
 
3874
- #: ../includes/mycred-functions.php:2344
3875
  msgid "New Forum Topic (bbPress)"
3876
  msgstr ""
3877
 
3878
- #: ../includes/mycred-functions.php:2345
3879
  msgid "Favorited Topic (bbPress)"
3880
  msgstr ""
3881
 
3882
- #: ../includes/mycred-functions.php:2346
3883
  msgid "New Topic Reply (bbPress)"
3884
  msgstr ""
3885
 
3886
- #: ../includes/mycred-functions.php:2350
3887
  msgid "Form Submission (Contact Form 7)"
3888
  msgstr ""
3889
 
3890
- #: ../includes/mycred-functions.php:2353
3891
  msgid "Form Submission (Gravity Form)"
3892
  msgstr ""
3893
 
3894
- #: ../includes/mycred-functions.php:2356
3895
  msgid "New Forum Topic (SimplePress)"
3896
  msgstr ""
3897
 
3898
- #: ../includes/mycred-functions.php:2357
3899
  msgid "New Forum Post (SimplePress)"
3900
  msgstr ""
3901
 
3902
- #: ../includes/mycred-functions.php:2361
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3903
  msgid "Poll Voting"
3904
  msgstr ""
3905
 
3906
- #: ../includes/mycred-functions.php:2364
3907
  msgid "Sending an Invite"
3908
  msgstr ""
3909
 
3910
- #: ../includes/mycred-functions.php:2365
3911
  msgid "Accepting an Invite"
3912
  msgstr ""
3913
 
3914
- #: ../includes/mycred-functions.php:2371
3915
  msgid "Banking Payout"
3916
  msgstr ""
3917
 
3918
- #: ../includes/mycred-functions.php:2374
3919
  msgid "buyCRED Purchase (PayPal Standard)"
3920
  msgstr ""
3921
 
3922
- #: ../includes/mycred-functions.php:2375
3923
  msgid "buyCRED Purchase (Skrill)"
3924
  msgstr ""
3925
 
3926
- #: ../includes/mycred-functions.php:2376
3927
  msgid "buyCRED Purchase (Zombaio)"
3928
  msgstr ""
3929
 
3930
- #: ../includes/mycred-functions.php:2377
3931
  msgid "buyCRED Purchase (NETBilling)"
3932
  msgstr ""
3933
 
3934
- #: ../includes/mycred-functions.php:2378
3935
  msgid "buyCRED Purchase (BitPay)"
3936
  msgstr ""
3937
 
3938
- #: ../includes/mycred-functions.php:2383
3939
  msgid "Coupon Purchase"
3940
  msgstr ""
3941
 
3942
- #: ../includes/mycred-functions.php:2386
3943
  msgid "Store Purchase (WooCommerce)"
3944
  msgstr ""
3945
 
3946
- #: ../includes/mycred-functions.php:2387
 
 
 
 
 
 
 
 
3947
  msgid "Store Purchase (MarketPress)"
3948
  msgstr ""
3949
 
3950
- #: ../includes/mycred-functions.php:2388
 
 
 
 
3951
  msgid "Store Purchase (WP E-Commerce)"
3952
  msgstr ""
3953
 
3954
- #: ../includes/mycred-functions.php:2393
3955
  msgid "Event Payment (Event Espresso)"
3956
  msgstr ""
3957
 
3958
- #: ../includes/mycred-functions.php:2394
3959
  msgid "Event Sale (Event Espresso)"
3960
  msgstr ""
3961
 
3962
- #: ../includes/mycred-functions.php:2398
3963
  msgid "Event Payment (Events Manager)"
3964
  msgstr ""
3965
 
3966
- #: ../includes/mycred-functions.php:2399
3967
  msgid "Event Sale (Events Manager)"
3968
  msgstr ""
3969
 
3970
- #: ../includes/mycred-functions.php:2403
3971
  msgid "Content Purchase / Sale"
3972
  msgstr ""
3973
 
3974
- #: ../includes/mycred-functions.php:2410
3975
  msgid "Manual Adjustment by Admin"
3976
  msgstr ""
3977
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3978
  #: ../includes/mycred-importer.php:11
3979
  #, php-format
3980
  msgid "%s Log Import"
@@ -4032,102 +4400,102 @@ msgid ""
4032
  "requirements for running myCRED. The following errors were given:"
4033
  msgstr ""
4034
 
4035
- #: ../includes/mycred-install.php:254
4036
  msgid "myCRED needs your attention."
4037
  msgstr ""
4038
 
4039
- #: ../includes/mycred-install.php:254
4040
  msgid "Run Setup"
4041
  msgstr ""
4042
 
4043
- #: ../includes/mycred-install.php:266 ../includes/mycred-install.php:267
4044
  msgid "myCRED Setup"
4045
  msgstr ""
4046
 
4047
- #: ../includes/mycred-install.php:396
4048
  #, php-format
4049
  msgid "%s Setup"
4050
  msgstr ""
4051
 
4052
- #: ../includes/mycred-install.php:398
4053
  msgid "Step"
4054
  msgstr ""
4055
 
4056
- #: ../includes/mycred-install.php:422
4057
  msgid ""
4058
  "Click \"Begin Setup\" to install myCRED. You will be able to select your "
4059
  "points format, layout and security settings."
4060
  msgstr ""
4061
 
4062
- #: ../includes/mycred-install.php:423
4063
  msgid "Begin Setup"
4064
  msgstr ""
4065
 
4066
- #: ../includes/mycred-install.php:478
4067
  msgid "Select the format you want to use for your points."
4068
  msgstr ""
4069
 
4070
- #: ../includes/mycred-install.php:479
4071
  msgid "Format"
4072
  msgstr ""
4073
 
4074
- #: ../includes/mycred-install.php:482
4075
  msgid "Separators"
4076
  msgstr ""
4077
 
4078
- #: ../includes/mycred-install.php:492
4079
  msgid "Decimals"
4080
  msgstr ""
4081
 
4082
- #: ../includes/mycred-install.php:494
4083
- msgid "Use zero for no decimals."
4084
  msgstr ""
4085
 
4086
- #: ../includes/mycred-install.php:497 ../modules/mycred-module-settings.php:356
4087
  msgid "Presentation"
4088
  msgstr ""
4089
 
4090
- #: ../includes/mycred-install.php:500 ../modules/mycred-module-settings.php:343
4091
  msgid "Name (Singular)"
4092
  msgstr ""
4093
 
4094
- #: ../includes/mycred-install.php:504 ../modules/mycred-module-settings.php:348
4095
  msgid "Name (Plural)"
4096
  msgstr ""
4097
 
4098
- #: ../includes/mycred-install.php:510 ../modules/mycred-module-settings.php:359
4099
  msgid "Prefix"
4100
  msgstr ""
4101
 
4102
- #: ../includes/mycred-install.php:518 ../modules/mycred-module-settings.php:367
4103
  msgid "Suffix"
4104
  msgstr ""
4105
 
4106
- #: ../includes/mycred-install.php:522
4107
  msgid "Cancel Setup"
4108
  msgstr ""
4109
 
4110
- #: ../includes/mycred-install.php:522 ../includes/mycred-install.php:592
4111
  msgid "Next"
4112
  msgstr ""
4113
 
4114
- #: ../includes/mycred-install.php:554 ../modules/mycred-module-settings.php:375
4115
  msgid "Security"
4116
  msgstr ""
4117
 
4118
- #: ../includes/mycred-install.php:557
4119
  msgid "Edit Settings Capability"
4120
  msgstr ""
4121
 
4122
- #: ../includes/mycred-install.php:561
4123
  msgid "Edit Users %plural% Capability"
4124
  msgstr ""
4125
 
4126
- #: ../includes/mycred-install.php:565 ../modules/mycred-module-settings.php:388
4127
  msgid "Maximum %plural% payouts"
4128
  msgstr ""
4129
 
4130
- #: ../includes/mycred-install.php:567 ../modules/mycred-module-settings.php:390
4131
  msgid ""
4132
  "As an added security, you can set the maximum amount a user can gain or "
4133
  "loose in a single instance. If used, make sure this is the maximum amount a "
@@ -4135,39 +4503,39 @@ msgid ""
4135
  "disable."
4136
  msgstr ""
4137
 
4138
- #: ../includes/mycred-install.php:570 ../modules/mycred-module-settings.php:393
4139
  msgid "Excludes"
4140
  msgstr ""
4141
 
4142
- #: ../includes/mycred-install.php:574 ../modules/mycred-module-settings.php:397
4143
  msgid "Exclude those who can \"Edit Settings\"."
4144
  msgstr ""
4145
 
4146
- #: ../includes/mycred-install.php:578 ../modules/mycred-module-settings.php:401
4147
  msgid "Exclude those who can \"Edit Users %plural%\"."
4148
  msgstr ""
4149
 
4150
- #: ../includes/mycred-install.php:581 ../modules/mycred-module-settings.php:405
4151
  msgid "Exclude the following user IDs:"
4152
  msgstr ""
4153
 
4154
- #: ../includes/mycred-install.php:585 ../modules/mycred-module-settings.php:410
4155
  msgid "User Deletions"
4156
  msgstr ""
4157
 
4158
- #: ../includes/mycred-install.php:589 ../modules/mycred-module-settings.php:413
4159
  msgid "Delete log entries when user is deleted."
4160
  msgstr ""
4161
 
4162
- #: ../includes/mycred-install.php:610
4163
  msgid "Ready"
4164
  msgstr ""
4165
 
4166
- #: ../includes/mycred-install.php:611
4167
  msgid "Almost done! Click the button below to finish this setup."
4168
  msgstr ""
4169
 
4170
- #: ../includes/mycred-install.php:612
4171
  msgid "Install & Run"
4172
  msgstr ""
4173
 
@@ -4212,7 +4580,7 @@ msgstr ""
4212
  msgid "Show all references"
4213
  msgstr ""
4214
 
4215
- #: ../includes/mycred-log.php:525 ../modules/mycred-module-settings.php:557
4216
  msgid "User ID"
4217
  msgstr ""
4218
 
@@ -4220,11 +4588,11 @@ msgstr ""
4220
  msgid "Show in order"
4221
  msgstr ""
4222
 
4223
- #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:405
4224
  msgid "Ascending"
4225
  msgstr ""
4226
 
4227
- #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:406
4228
  msgid "Descending"
4229
  msgstr ""
4230
 
@@ -4246,7 +4614,7 @@ msgstr ""
4246
  msgid "Entry"
4247
  msgstr ""
4248
 
4249
- #: ../includes/mycred-log.php:737 ../modules/mycred-module-log.php:468
4250
  msgid "User Missing"
4251
  msgstr ""
4252
 
@@ -4262,27 +4630,15 @@ msgstr ""
4262
  msgid "search log entries"
4263
  msgstr ""
4264
 
4265
- #: ../includes/mycred-log.php:836 ../modules/mycred-module-buddypress.php:232 ..
4266
- #: modules/mycred-module-buddypress.php:245
4267
  msgid "All"
4268
  msgstr ""
4269
 
4270
- #: ../includes/mycred-log.php:837 ../modules/mycred-module-buddypress.php:233
4271
- msgid "Today"
4272
- msgstr ""
4273
-
4274
- #: ../includes/mycred-log.php:838 ../modules/mycred-module-buddypress.php:234
4275
  msgid "Yesterday"
4276
  msgstr ""
4277
 
4278
- #: ../includes/mycred-log.php:839 ../modules/mycred-module-buddypress.php:235
4279
- msgid "This Week"
4280
- msgstr ""
4281
-
4282
- #: ../includes/mycred-log.php:840 ../modules/mycred-module-buddypress.php:236
4283
- msgid "This Month"
4284
- msgstr ""
4285
-
4286
  #: ../includes/mycred-network.php:59 ../includes/mycred-network.php:60
4287
  msgid "Network Settings"
4288
  msgstr ""
@@ -4344,10 +4700,6 @@ msgstr ""
4344
  msgid "%s Overview"
4345
  msgstr ""
4346
 
4347
- #: ../includes/mycred-overview.php:78
4348
- msgid "Total amount in circulation"
4349
- msgstr ""
4350
-
4351
  #: ../includes/mycred-overview.php:81
4352
  msgid "Awarded"
4353
  msgstr ""
@@ -4381,7 +4733,7 @@ msgid "Key"
4381
  msgstr ""
4382
 
4383
  #: ../includes/mycred-remote.php:555
4384
- msgid "min. 12 characters"
4385
  msgstr ""
4386
 
4387
  #: ../includes/mycred-remote.php:556
@@ -4426,218 +4778,201 @@ msgid ""
4426
  "about your setup!"
4427
  msgstr ""
4428
 
4429
- #: ../includes/mycred-shortcodes.php:178
4430
  msgid "Leaderboard is empty."
4431
  msgstr ""
4432
 
4433
- #: ../includes/mycred-shortcodes.php:469 ../includes/mycred-shortcodes.php:593
4434
- msgid "Amount missing!"
4435
- msgstr ""
4436
-
4437
- #: ../includes/mycred-shortcodes.php:472 ../includes/mycred-shortcodes.php:601
4438
- msgid "Log Template Missing!"
4439
- msgstr ""
4440
-
4441
- #: ../includes/mycred-shortcodes.php:535
4442
  msgid "Anchor missing URL!"
4443
  msgstr ""
4444
 
4445
- #: ../includes/mycred-shortcodes.php:597
4446
- msgid "User ID missing for recipient."
4447
- msgstr ""
4448
-
4449
- #: ../includes/mycred-shortcodes.php:652
4450
  msgid "Sent"
4451
  msgstr ""
4452
 
4453
- #: ../includes/mycred-shortcodes.php:653
4454
  msgid "Error - Try Again"
4455
  msgstr ""
4456
 
4457
- #: ../includes/mycred-shortcodes.php:762
4458
  msgid "A video ID is required for this shortcode"
4459
  msgstr ""
4460
 
4461
- #: ../includes/mycred-shortcodes.php:913 ../includes/mycred-shortcodes.php:1007
4462
- msgid "Point types not found."
4463
- msgstr ""
4464
-
4465
- #: ../includes/mycred-shortcodes.php:919 ../includes/mycred-shortcodes.php:927 ..
4466
- #: includes/mycred-shortcodes.php:1019 ../includes/mycred-shortcodes.php:1039
4467
- #, php-format
4468
- msgid "You are excluded from using %s."
4469
- msgstr ""
4470
-
4471
- #: ../includes/mycred-shortcodes.php:923 ../includes/mycred-shortcodes.php:1029
4472
- msgid "Your balance is too low to use this feature."
4473
- msgstr ""
4474
-
4475
- #: ../includes/mycred-shortcodes.php:944
4476
  #, php-format
4477
  msgid "Convert <span>%s</span> to <span>%s</span>"
4478
  msgstr ""
4479
 
4480
- #: ../includes/mycred-shortcodes.php:953
4481
  #, php-format
4482
  msgid "Your current %s balance"
4483
  msgstr ""
4484
 
4485
- #: ../includes/mycred-shortcodes.php:961
4486
  #, php-format
4487
  msgid "Minimum %s"
4488
  msgstr ""
4489
 
4490
- #: ../includes/mycred-shortcodes.php:965
4491
  #, php-format
4492
  msgid "1 %s = <span class=\"rate\">%s</span> %s"
4493
  msgstr ""
4494
 
4495
- #: ../includes/mycred-shortcodes.php:971
4496
  msgid "Exchange"
4497
  msgstr ""
4498
 
4499
- #: ../includes/mycred-shortcodes.php:1052
4500
- #, php-format
4501
- msgid "You must exchange at least %s!"
4502
- msgstr ""
4503
-
4504
- #: ../includes/mycred-shortcodes.php:1074
4505
- #, php-format
4506
- msgid "Exchange from %s"
4507
- msgstr ""
4508
-
4509
- #: ../includes/mycred-shortcodes.php:1086
4510
- #, php-format
4511
- msgid "Exchange to %s"
4512
  msgstr ""
4513
 
4514
- #: ../includes/mycred-shortcodes.php:1094
4515
- #, php-format
4516
- msgid "You have successfully exchanged %s into %s."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4517
  msgstr ""
4518
 
4519
- #: ../includes/mycred-widgets.php:21
4520
  #, php-format
4521
  msgid "Show the current users %s balance"
4522
  msgstr ""
4523
 
4524
- #: ../includes/mycred-widgets.php:23
4525
  #, php-format
4526
  msgid "(%s) My Balance"
4527
  msgstr ""
4528
 
4529
- #: ../includes/mycred-widgets.php:154
4530
- msgid "My Balance"
4531
- msgstr ""
4532
-
4533
- #: ../includes/mycred-widgets.php:160 ../modules/mycred-module-buddypress.php:446
4534
- msgid "%plural% History"
4535
- msgstr ""
4536
-
4537
- #: ../includes/mycred-widgets.php:165 ../includes/mycred-widgets.php:558
4538
- msgid "<a href=\"%login_url_here%\">Login</a> to view your balance."
4539
- msgstr ""
4540
-
4541
- #: ../includes/mycred-widgets.php:202
4542
  msgid "Layout"
4543
  msgstr ""
4544
 
4545
- #: ../includes/mycred-widgets.php:210
4546
  msgid "Include history"
4547
  msgstr ""
4548
 
4549
- #: ../includes/mycred-widgets.php:212
4550
  msgid "History Title"
4551
  msgstr ""
4552
 
4553
- #: ../includes/mycred-widgets.php:214
4554
  msgid "Number of entires"
4555
  msgstr ""
4556
 
4557
- #: ../includes/mycred-widgets.php:216 ../includes/mycred-widgets.php:391
4558
  msgid "Row layout"
4559
  msgstr ""
4560
 
4561
- #: ../includes/mycred-widgets.php:224 ../includes/mycred-widgets.php:582
4562
  msgid "Show message when not logged in"
4563
  msgstr ""
4564
 
4565
- #: ../includes/mycred-widgets.php:226 ../includes/mycred-widgets.php:583
4566
  msgid "Message"
4567
  msgstr ""
4568
 
4569
- #: ../includes/mycred-widgets.php:289
4570
  #, php-format
4571
  msgid "Show a list of users sorted by their %s balance"
4572
  msgstr ""
4573
 
4574
- #: ../includes/mycred-widgets.php:291
4575
  #, php-format
4576
  msgid "(%s) Leaderboard"
4577
  msgstr ""
4578
 
4579
- #: ../includes/mycred-widgets.php:348
4580
- msgid "Leaderboard"
4581
- msgstr ""
4582
-
4583
- #: ../includes/mycred-widgets.php:377
4584
  msgid "Based On"
4585
  msgstr ""
4586
 
4587
- #: ../includes/mycred-widgets.php:379
4588
  msgid ""
4589
  "Use \"balance\" to base the leaderboard on your users current balances or use "
4590
  "a specific reference."
4591
  msgstr ""
4592
 
4593
- #: ../includes/mycred-widgets.php:379
4594
  msgid "Reference Guide"
4595
  msgstr ""
4596
 
4597
- #: ../includes/mycred-widgets.php:384
4598
  msgid "Visible to non-members"
4599
  msgstr ""
4600
 
4601
- #: ../includes/mycred-widgets.php:387
4602
  msgid "Number of users"
4603
  msgstr ""
4604
 
4605
- #: ../includes/mycred-widgets.php:396
4606
  msgid "Offset"
4607
  msgstr ""
4608
 
4609
- #: ../includes/mycred-widgets.php:398
4610
  msgid "Optional offset of order. Use zero to return the first in the list."
4611
  msgstr ""
4612
 
4613
- #: ../includes/mycred-widgets.php:401
4614
  msgid "Order"
4615
  msgstr ""
4616
 
4617
- #: ../includes/mycred-widgets.php:419
4618
  msgid "Append current users position"
4619
  msgstr ""
4620
 
4621
- #: ../includes/mycred-widgets.php:420
4622
  msgid ""
4623
  "If the current user is not in this leaderboard, you can select to append "
4624
  "them at the end with their current position."
4625
  msgstr ""
4626
 
4627
- #: ../includes/mycred-widgets.php:470
4628
  msgid "Shows the current users balances for each point type."
4629
  msgstr ""
4630
 
4631
- #: ../includes/mycred-widgets.php:472
4632
  #, php-format
4633
  msgid "(%s) Wallet"
4634
  msgstr ""
4635
 
4636
- #: ../includes/mycred-widgets.php:552
4637
- msgid "My Wallet"
4638
- msgstr ""
4639
-
4640
- #: ../includes/mycred-widgets.php:574
4641
  msgid "Row Layout"
4642
  msgstr ""
4643
 
@@ -4667,11 +5002,6 @@ msgid ""
4667
  "imported. <strong>%d</strong> was skipped."
4668
  msgstr ""
4669
 
4670
- #: ../includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
4671
- #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
4672
- msgid "View Log"
4673
- msgstr ""
4674
-
4675
  #: ../includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
4676
  #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
4677
  msgid "Import More"
@@ -4796,116 +5126,122 @@ msgstr ""
4796
  msgid "Add-ons"
4797
  msgstr ""
4798
 
4799
- #: ../modules/mycred-module-addons.php:147
4800
  msgid "Give your users badges based on their interaction with your website."
4801
  msgstr ""
4802
 
4803
- #: ../modules/mycred-module-addons.php:158
4804
  msgid "Setup recurring payouts or offer / charge interest on user account balances."
4805
  msgstr ""
4806
 
4807
- #: ../modules/mycred-module-addons.php:169
4808
  msgid ""
4809
  "The <strong>buy</strong>CRED Add-on allows your users to buy points using "
4810
  "PayPal, Skrill (Moneybookers) or NETbilling. <strong>buy</strong>CRED can "
4811
  "also let your users buy points for other members."
4812
  msgstr ""
4813
 
4814
- #: ../modules/mycred-module-addons.php:180
4815
  msgid ""
4816
  "The coupons add-on allows you to create coupons that users can use to add "
4817
  "points to their accounts."
4818
  msgstr ""
4819
 
4820
- #: ../modules/mycred-module-addons.php:191
4821
  msgid "Create email notices for any type of myCRED instance."
4822
  msgstr ""
4823
 
4824
- #: ../modules/mycred-module-addons.php:202
4825
  msgid ""
4826
  "Let your users pay using their <strong>my</strong>CRED points balance. "
4827
  "Supported Carts: WooCommerce, MarketPress and WP E-Commerce. Supported Event "
4828
  "Bookings: Event Espresso and Events Manager (free & pro)."
4829
  msgstr ""
4830
 
4831
- #: ../modules/mycred-module-addons.php:213
4832
  msgid "Create pop-up notifications for when users gain or loose points."
4833
  msgstr ""
4834
 
4835
- #: ../modules/mycred-module-addons.php:225
4836
  msgid ""
4837
  "Create ranks for users reaching a certain number of %_plural% with the "
4838
  "option to add logos for each rank."
4839
  msgstr ""
4840
 
4841
- #: ../modules/mycred-module-addons.php:236
4842
  msgid ""
4843
  "This add-on allows you to sell posts, pages or any public post types on your "
4844
  "website. You can either sell the entire content or using our shortcode, sell "
4845
  "parts of your content allowing you to offer \"teasers\"."
4846
  msgstr ""
4847
 
4848
- #: ../modules/mycred-module-addons.php:247
 
 
 
 
 
 
4849
  msgid ""
4850
  "Allow your users to send or \"donate\" points to other members by either using "
4851
  "the mycred_transfer shortcode or the myCRED Transfer widget."
4852
  msgstr ""
4853
 
4854
- #: ../modules/mycred-module-addons.php:283
4855
  #, php-format
4856
  msgid "%s Add-ons"
4857
  msgstr ""
4858
 
4859
- #: ../modules/mycred-module-addons.php:289
4860
  msgid "Add-on Activated"
4861
  msgstr ""
4862
 
4863
- #: ../modules/mycred-module-addons.php:292
4864
  msgid "Add-on Deactivated"
4865
  msgstr ""
4866
 
4867
- #: ../modules/mycred-module-addons.php:296
4868
  msgid "Add-ons can expand your current installation with further features."
4869
  msgstr ""
4870
 
4871
- #: ../modules/mycred-module-addons.php:317
4872
  #, php-format
4873
  msgid "You can find more add-ons in our %s."
4874
  msgstr ""
4875
 
4876
- #: ../modules/mycred-module-addons.php:317
4877
  msgid "online store"
4878
  msgstr ""
4879
 
4880
- #: ../modules/mycred-module-addons.php:338
4881
  msgid "Deactivate Add-on"
4882
  msgstr ""
4883
 
4884
- #: ../modules/mycred-module-addons.php:339
4885
  msgid "Deactivate"
4886
  msgstr ""
4887
 
4888
- #: ../modules/mycred-module-addons.php:346
4889
  msgid "Activate Add-on"
4890
  msgstr ""
4891
 
4892
- #: ../modules/mycred-module-addons.php:347
4893
  msgid "Activate"
4894
  msgstr ""
4895
 
4896
- #: ../modules/mycred-module-addons.php:363
4897
  msgid "Version"
4898
  msgstr ""
4899
 
4900
- #: ../modules/mycred-module-addons.php:367
4901
  msgid "By"
4902
  msgstr ""
4903
 
4904
- #: ../modules/mycred-module-addons.php:371
4905
  msgid "About"
4906
  msgstr ""
4907
 
4908
- #: ../modules/mycred-module-addons.php:375
4909
  msgid "Get Pro"
4910
  msgstr ""
4911
 
@@ -4918,74 +5254,69 @@ msgstr ""
4918
  msgid "%s's History"
4919
  msgstr ""
4920
 
4921
- #: ../modules/mycred-module-buddypress.php:124
4922
  msgid "Current balance"
4923
  msgstr ""
4924
 
4925
- #: ../modules/mycred-module-buddypress.php:347
4926
  msgid "Go"
4927
  msgstr ""
4928
 
4929
- #: ../modules/mycred-module-buddypress.php:403
4930
  msgid "Show in Profile"
4931
  msgstr ""
4932
 
4933
- #: ../modules/mycred-module-buddypress.php:418
4934
  #, php-format
4935
  msgid "%singular% Balance"
4936
  msgstr ""
4937
 
4938
- #: ../modules/mycred-module-buddypress.php:434
4939
  #, php-format
4940
  msgid "Members and visitors can other members %_singular% balance."
4941
  msgstr ""
4942
 
4943
- #: ../modules/mycred-module-buddypress.php:442
4944
- msgid "Note that you can also use %rank_logo% to show the feature image of the rank."
4945
  msgstr ""
4946
 
4947
- #: ../modules/mycred-module-buddypress.php:462
4948
  msgid "Members can view each others %_plural% history."
4949
  msgstr ""
4950
 
4951
- #: ../modules/mycred-module-buddypress.php:467
4952
  msgid "Menu Title"
4953
  msgstr ""
4954
 
4955
- #: ../modules/mycred-module-buddypress.php:469
4956
  msgid "Title shown to me"
4957
  msgstr ""
4958
 
4959
- #: ../modules/mycred-module-buddypress.php:474
4960
  #, php-format
4961
  msgid "Title shown to others. Use %s to show the first name."
4962
  msgstr ""
4963
 
4964
- #: ../modules/mycred-module-buddypress.php:479
4965
  msgid "Menu Position"
4966
  msgstr ""
4967
 
4968
- #: ../modules/mycred-module-buddypress.php:481
4969
  msgid "Current menu positions:"
4970
  msgstr ""
4971
 
4972
- #: ../modules/mycred-module-buddypress.php:486
4973
  msgid "History URL slug"
4974
  msgstr ""
4975
 
4976
- #: ../modules/mycred-module-buddypress.php:488
4977
  msgid "Do not use empty spaces!"
4978
  msgstr ""
4979
 
4980
- #: ../modules/mycred-module-buddypress.php:493
4981
  msgid "Number of history entries to show"
4982
  msgstr ""
4983
 
4984
- #: ../modules/mycred-module-hooks.php:25 ../modules/mycred-module-hooks.php:26 ..
4985
- #: modules/mycred-module-hooks.php:27
4986
- msgid "Hooks"
4987
- msgstr ""
4988
-
4989
  #: ../modules/mycred-module-hooks.php:87
4990
  #, php-format
4991
  msgid "%plural% for registrations"
@@ -5098,163 +5429,160 @@ msgid ""
5098
  "depending on their actions around your website."
5099
  msgstr ""
5100
 
5101
- #: ../modules/mycred-module-hooks.php:352 ../modules/mycred-module-hooks.php:446 .
5102
- #: ./modules/mycred-module-hooks.php:597 ../modules/mycred-module-hooks.php:622 ..
5103
- #: modules/mycred-module-hooks.php:684 ../modules/mycred-module-hooks.php:1004 ..
5104
- #: modules/mycred-module-hooks.php:1017 ../modules/mycred-module-hooks.php:1053 .
5105
- #: ./modules/mycred-module-hooks.php:1433 ../modules/mycred-module-hooks.php:1450
5106
- #: ../modules/mycred-module-hooks.php:1467 ../modules/mycred-module-hooks.php:
5107
- #: 2666 ../modules/mycred-module-hooks.php:2695 ../plugins/mycred-hook-badgeOS.
5108
- #: php:298 ../plugins/mycred-hook-bbPress.php:471 ../plugins/mycred-hook-bbPress.
5109
- #: php:484 ../plugins/mycred-hook-bbPress.php:497 ../plugins/mycred-hook-bbPress.
5110
- #: php:515 ../plugins/mycred-hook-bbPress.php:528 ../plugins/mycred-hook-bbPress.
5111
- #: php:547 ../plugins/mycred-hook-bbPress.php:575 ../plugins/mycred-hook-
5112
- #: buddypress-gallery.php:104 ../plugins/mycred-hook-buddypress-links.php:254 ..
5113
- #: plugins/mycred-hook-buddypress-links.php:267 ../plugins/mycred-hook-
5114
- #: buddypress-links.php:280 ../plugins/mycred-hook-buddypress-links.php:291 ..
5115
- #: plugins/mycred-hook-buddypress-links.php:304 ../plugins/mycred-hook-
5116
- #: buddypress-links.php:317 ../plugins/mycred-hook-buddypress-media.php:170 ..
5117
- #: plugins/mycred-hook-buddypress-media.php:180 ../plugins/mycred-hook-
5118
- #: buddypress-media.php:190 ../plugins/mycred-hook-buddypress-media.php:203 ..
5119
- #: plugins/mycred-hook-buddypress-media.php:213 ../plugins/mycred-hook-
5120
- #: buddypress-media.php:223 ../plugins/mycred-hook-buddypress.php:465 ..
5121
- #: plugins/mycred-hook-buddypress.php:478 ../plugins/mycred-hook-buddypress.php:
5122
- #: 491 ../plugins/mycred-hook-buddypress.php:504 ../plugins/mycred-hook-
5123
- #: buddypress.php:517 ../plugins/mycred-hook-buddypress.php:530 ../plugins/mycred-
5124
- #: hook-buddypress.php:543 ../plugins/mycred-hook-buddypress.php:556 ..
5125
- #: plugins/mycred-hook-buddypress.php:1010 ../plugins/mycred-hook-buddypress.php:
5126
- #: 1023 ../plugins/mycred-hook-buddypress.php:1036 ../plugins/mycred-hook-
5127
- #: buddypress.php:1049 ../plugins/mycred-hook-buddypress.php:1062 ..
5128
- #: plugins/mycred-hook-buddypress.php:1075 ../plugins/mycred-hook-buddypress.php:
5129
- #: 1089 ../plugins/mycred-hook-buddypress.php:1102 ../plugins/mycred-hook-
5130
- #: buddypress.php:1115 ../plugins/mycred-hook-buddypress.php:1128 ..
5131
- #: plugins/mycred-hook-contact-form7.php:141 ../plugins/mycred-hook-gravityforms.
5132
- #: php:142 ../plugins/mycred-hook-invite-anyone.php:219 ../plugins/mycred-hook-
5133
- #: invite-anyone.php:240 ../plugins/mycred-hook-jetpack.php:506 ../plugins/mycred-
5134
- #: hook-jetpack.php:519 ../plugins/mycred-hook-sharethis.php:272 ..
5135
- #: plugins/mycred-hook-simplepress.php:330 ../plugins/mycred-hook-simplepress.
5136
- #: php:343 ../plugins/mycred-hook-simplepress.php:356 ../plugins/mycred-hook-
5137
- #: simplepress.php:380
 
 
 
5138
  msgid "Log template"
5139
  msgstr ""
5140
 
5141
- #: ../modules/mycred-module-hooks.php:586
5142
  #, php-format
5143
  msgid "%plural% for viewing Posts"
5144
  msgstr ""
5145
 
5146
- #: ../modules/mycred-module-hooks.php:589 ../modules/mycred-module-hooks.php:600 .
5147
- #: ./modules/mycred-module-hooks.php:614 ../modules/mycred-module-hooks.php:625 ..
5148
- #: modules/mycred-module-hooks.php:676 ../modules/mycred-module-hooks.php:687
5149
  msgid "Member"
5150
  msgstr ""
5151
 
5152
- #: ../modules/mycred-module-hooks.php:593 ../modules/mycred-module-hooks.php:606 .
5153
- #: ./modules/mycred-module-hooks.php:618 ../modules/mycred-module-hooks.php:631 ..
5154
- #: modules/mycred-module-hooks.php:680 ../modules/mycred-module-hooks.php:693 ..
5155
- #: modules/mycred-module-hooks.php:1428 ../modules/mycred-module-hooks.php:1445 .
5156
- #: ./modules/mycred-module-hooks.php:1462
5157
  msgid "Content Author"
5158
  msgstr ""
5159
 
5160
- #: ../modules/mycred-module-hooks.php:611
5161
  #, php-format
5162
  msgid "%plural% for viewing Pages"
5163
  msgstr ""
5164
 
5165
- #: ../modules/mycred-module-hooks.php:673
5166
  #, php-format
5167
  msgid "%plural% for viewing %s"
5168
  msgstr ""
5169
 
5170
- #: ../modules/mycred-module-hooks.php:893 ../modules/mycred-module-hooks.php:2674
5171
- #: ../modules/mycred-module-hooks.php:2703 ../plugins/mycred-hook-invite-anyone.
5172
- #: php:224 ../plugins/mycred-hook-invite-anyone.php:245
5173
- msgid "Limit"
5174
- msgstr ""
5175
-
5176
- #: ../modules/mycred-module-hooks.php:998
5177
  #, php-format
5178
  msgid "%plural% for Posts"
5179
  msgstr ""
5180
 
5181
- #: ../modules/mycred-module-hooks.php:1011
5182
  #, php-format
5183
  msgid "%plural% for Pages"
5184
  msgstr ""
5185
 
5186
- #: ../modules/mycred-module-hooks.php:1047
5187
  #, php-format
5188
  msgid "%plural% for %s"
5189
  msgstr ""
5190
 
5191
- #: ../modules/mycred-module-hooks.php:1419
5192
  msgid ""
5193
  "%plural% are only awarded when your website has been synced with the Disqus "
5194
  "server!"
5195
  msgstr ""
5196
 
5197
- #: ../modules/mycred-module-hooks.php:1424 ../modules/mycred-module-hooks.php:
5198
- #: 1441 ../modules/mycred-module-hooks.php:1458
5199
  msgid "Comment Author"
5200
  msgstr ""
5201
 
5202
- #: ../modules/mycred-module-hooks.php:1438
5203
  msgid "Comment Marked SPAM"
5204
  msgstr ""
5205
 
5206
- #: ../modules/mycred-module-hooks.php:1455
5207
  msgid "Trashed / Unapproved Comments"
5208
  msgstr ""
5209
 
5210
- #: ../modules/mycred-module-hooks.php:1475
5211
  msgid "Limit per post"
5212
  msgstr ""
5213
 
5214
- #: ../modules/mycred-module-hooks.php:1477
5215
  msgid ""
5216
  "The number of comments per post that grants %_plural% to the comment author. "
5217
  "Use zero for unlimited."
5218
  msgstr ""
5219
 
5220
- #: ../modules/mycred-module-hooks.php:1481
5221
  msgid "Limit per day"
5222
  msgstr ""
5223
 
5224
- #: ../modules/mycred-module-hooks.php:1483
5225
  msgid "Number of comments per day that grants %_plural%. Use zero for unlimited."
5226
  msgstr ""
5227
 
5228
- #: ../modules/mycred-module-hooks.php:1488
5229
  msgid ""
5230
  "%plural% is to be awarded even when comment authors reply to their own "
5231
  "comment."
5232
  msgstr ""
5233
 
5234
- #: ../modules/mycred-module-hooks.php:1559
5235
  msgid "Once for each unique URL"
5236
  msgstr ""
5237
 
5238
- #: ../modules/mycred-module-hooks.php:1560
5239
  msgid "Once for each unique link id"
5240
  msgstr ""
5241
 
5242
- #: ../modules/mycred-module-hooks.php:1753
5243
  msgid ""
5244
  "The default amount to award for clicking on links. You can override this in "
5245
  "the shortcode."
5246
  msgstr ""
5247
 
5248
- #: ../modules/mycred-module-hooks.php:1760
5249
  #, php-format
5250
  msgid "Custom tags: %url%, %title% or %id%."
5251
  msgstr ""
5252
 
5253
- #: ../modules/mycred-module-hooks.php:1771 ../modules/mycred-module-hooks.php:2778
5254
  msgid "Note!"
5255
  msgstr ""
5256
 
5257
- #: ../modules/mycred-module-hooks.php:1771
5258
  msgid ""
5259
  "If no ID is set when using the mycred_link shortcode, the shortcode will "
5260
  "generate one automatically based on the value set under href. If you are "
@@ -5262,166 +5590,167 @@ msgid ""
5262
  "by ID."
5263
  msgstr ""
5264
 
5265
- #: ../modules/mycred-module-hooks.php:1773 ../modules/mycred-module-hooks.php:2130
5266
  msgid "Available Shortcode"
5267
  msgstr ""
5268
 
5269
- #: ../modules/mycred-module-hooks.php:2094
5270
  msgid "Amount to award for viewing videos."
5271
  msgstr ""
5272
 
5273
- #: ../modules/mycred-module-hooks.php:2104
5274
  msgid "Award Logic"
5275
  msgstr ""
5276
 
5277
- #: ../modules/mycred-module-hooks.php:2106
5278
  #, php-format
5279
  msgid "Select when %_plural% should be awarded or deducted."
5280
  msgstr ""
5281
 
5282
- #: ../modules/mycred-module-hooks.php:2107
5283
  msgid "Play - As soon as video starts playing."
5284
  msgstr ""
5285
 
5286
- #: ../modules/mycred-module-hooks.php:2108
5287
  msgid "Full - First when the entire video has played."
5288
  msgstr ""
5289
 
5290
- #: ../modules/mycred-module-hooks.php:2109
5291
  msgid "Interval - For each x number of seconds watched."
5292
  msgstr ""
5293
 
5294
- #: ../modules/mycred-module-hooks.php:2114
5295
  msgid "Number of seconds"
5296
  msgstr ""
5297
 
5298
- #: ../modules/mycred-module-hooks.php:2121
5299
  msgid "Leniency"
5300
  msgstr ""
5301
 
5302
- #: ../modules/mycred-module-hooks.php:2123
5303
  msgid ""
5304
  "The maximum percentage a users view of a movie can differ from the actual "
5305
  "length."
5306
  msgstr ""
5307
 
5308
- #: ../modules/mycred-module-hooks.php:2126
5309
  msgid ""
5310
  "Do not set this value to zero! A lot of thing can happen while a user "
5311
  "watches a movie and sometimes a few seconds can drop of the counter due to "
5312
  "buffering or play back errors."
5313
  msgstr ""
5314
 
5315
- #: ../modules/mycred-module-hooks.php:2194
5316
  msgid "Affiliate Program"
5317
  msgstr ""
5318
 
5319
- #: ../modules/mycred-module-hooks.php:2203
5320
  msgid "Per Day"
5321
  msgstr ""
5322
 
5323
- #: ../modules/mycred-module-hooks.php:2331
5324
  msgid "Link"
5325
  msgstr ""
5326
 
5327
- #: ../modules/mycred-module-hooks.php:2335
5328
  msgid "Visitors Referred"
5329
  msgstr ""
5330
 
5331
- #: ../modules/mycred-module-hooks.php:2339
5332
  msgid "Signups Referred"
5333
  msgstr ""
5334
 
5335
- #: ../modules/mycred-module-hooks.php:2660
 
5336
  msgid "Referring Visitors"
5337
  msgstr ""
5338
 
5339
- #: ../modules/mycred-module-hooks.php:2684 ../modules/mycred-module-hooks.php:2713
5340
  msgid "The number of referrals each member can make. Use zero for unlimited."
5341
  msgstr ""
5342
 
5343
- #: ../modules/mycred-module-hooks.php:2688 ../modules/mycred-module-hooks.php:2717
5344
  msgid "Referring Signups"
5345
  msgstr ""
5346
 
5347
- #: ../modules/mycred-module-hooks.php:2692
5348
  msgid "Visitors who have Cookies disabled will not award %_plural%."
5349
  msgstr ""
5350
 
5351
- #: ../modules/mycred-module-hooks.php:2719
5352
  msgid "Registrations are disabled."
5353
  msgstr ""
5354
 
5355
- #: ../modules/mycred-module-hooks.php:2727
5356
  msgid "Referral Links"
5357
  msgstr ""
5358
 
5359
- #: ../modules/mycred-module-hooks.php:2731
5360
  msgid "Assign numeric referral IDs to each user."
5361
  msgstr ""
5362
 
5363
- #: ../modules/mycred-module-hooks.php:2732 ../modules/mycred-module-hooks.php:2738
5364
  msgid "Example"
5365
  msgstr ""
5366
 
5367
- #: ../modules/mycred-module-hooks.php:2737
5368
  msgid "Assign usernames as IDs for each user."
5369
  msgstr ""
5370
 
5371
- #: ../modules/mycred-module-hooks.php:2741
5372
  msgid "IP Limit"
5373
  msgstr ""
5374
 
5375
- #: ../modules/mycred-module-hooks.php:2745
5376
  msgid "The number of times each IP address grants %_plural%. Use zero for unlimited."
5377
  msgstr ""
5378
 
5379
- #: ../modules/mycred-module-hooks.php:2749 ../modules/mycred-module-hooks.php:2782
5380
  msgid "BuddyPress Profile"
5381
  msgstr ""
5382
 
5383
- #: ../modules/mycred-module-hooks.php:2752
5384
  msgid "Insert Link in users Profile"
5385
  msgstr ""
5386
 
5387
- #: ../modules/mycred-module-hooks.php:2753
5388
  msgid ""
5389
  "Option to inser the referral link in users profiles. Links will only be "
5390
  "visible to users viewing their own profiles or administrators."
5391
  msgstr ""
5392
 
5393
- #: ../modules/mycred-module-hooks.php:2759
5394
  msgid "Leave empty to hide."
5395
  msgstr ""
5396
 
5397
- #: ../modules/mycred-module-hooks.php:2762
5398
  msgid "Description"
5399
  msgstr ""
5400
 
5401
- #: ../modules/mycred-module-hooks.php:2763
5402
  msgid "Optional description to insert under the link."
5403
  msgstr ""
5404
 
5405
- #: ../modules/mycred-module-hooks.php:2775
5406
  msgid "Profile Positioning"
5407
  msgstr ""
5408
 
5409
- #: ../modules/mycred-module-hooks.php:2777
5410
  msgid ""
5411
  "You can move around the referral link on your users profile by changing the "
5412
  "position. Increase to move up, decrease to move down."
5413
  msgstr ""
5414
 
5415
- #: ../modules/mycred-module-hooks.php:2778
5416
  msgid "You can not move the referral link above the users \"Base\" profile details!"
5417
  msgstr ""
5418
 
5419
- #: ../modules/mycred-module-hooks.php:2784
5420
  msgid "Requires BuddyPress Extended Profiles to be enabled."
5421
  msgstr ""
5422
 
5423
  #: ../modules/mycred-module-log.php:189 ../modules/mycred-module-log.php:210 ..
5424
- #: modules/mycred-module-settings.php:60 ../modules/mycred-module-settings.php:102
5425
  msgid "Access denied for this action"
5426
  msgstr ""
5427
 
@@ -5437,12 +5766,12 @@ msgstr ""
5437
  msgid "Entry Updated"
5438
  msgstr ""
5439
 
5440
- #: ../modules/mycred-module-log.php:290 ../modules/mycred-module-settings.php:436
5441
  msgid "Entries"
5442
  msgstr ""
5443
 
5444
- #: ../modules/mycred-module-log.php:305 ../modules/mycred-module-log.php:384 ..
5445
- #: modules/mycred-module-log.php:634 ../modules/mycred-module-settings.php:574
5446
  msgid "Export"
5447
  msgstr ""
5448
 
@@ -5450,198 +5779,274 @@ msgstr ""
5450
  msgid "Search results for"
5451
  msgstr ""
5452
 
5453
- #: ../modules/mycred-module-log.php:378
5454
  #, php-format
5455
  msgid "%s Log"
5456
  msgstr ""
5457
 
5458
- #: ../modules/mycred-module-log.php:506
 
 
 
 
 
 
5459
  msgid "Edit"
5460
  msgstr ""
5461
 
5462
- #: ../modules/mycred-module-log.php:547
5463
  msgid "Time"
5464
  msgstr ""
5465
 
5466
- #: ../modules/mycred-module-log.php:551
5467
  msgid "Current Log Entry"
5468
  msgstr ""
5469
 
5470
- #: ../modules/mycred-module-log.php:553
5471
  msgid "The current saved log entry"
5472
  msgstr ""
5473
 
5474
- #: ../modules/mycred-module-log.php:556
5475
  msgid "Adjust Log Entry"
5476
  msgstr ""
5477
 
5478
- #: ../modules/mycred-module-log.php:558
5479
  msgid "The new log entry"
5480
  msgstr ""
5481
 
5482
- #: ../modules/mycred-module-log.php:561
5483
  msgid "Update Log Entry"
5484
  msgstr ""
5485
 
5486
- #: ../modules/mycred-module-log.php:628
5487
  #, php-format
5488
  msgid "My %s History"
5489
  msgstr ""
5490
 
5491
- #: ../modules/mycred-module-settings.php:64 ../modules/mycred-module-settings.php:
5492
- #: 106 ../modules/mycred-module-settings.php:148
5493
  msgid "Missing point type"
5494
  msgstr ""
5495
 
5496
- #: ../modules/mycred-module-settings.php:128
5497
  msgid "Accounts successfully reset"
5498
  msgstr ""
5499
 
5500
- #: ../modules/mycred-module-settings.php:174
5501
  msgid "No users found to export"
5502
  msgstr ""
5503
 
5504
- #: ../modules/mycred-module-settings.php:330
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5505
  #, php-format
5506
  msgid "%s Settings"
5507
  msgstr ""
5508
 
5509
- #: ../modules/mycred-module-settings.php:333
5510
  msgid "Adjust your core or add-on settings."
5511
  msgstr ""
5512
 
5513
- #: ../modules/mycred-module-settings.php:338
5514
  msgid "Core Settings"
5515
  msgstr ""
5516
 
5517
- #: ../modules/mycred-module-settings.php:340
5518
  msgid "Name"
5519
  msgstr ""
5520
 
5521
- #: ../modules/mycred-module-settings.php:345
5522
  #, php-format
5523
  msgid "Accessible though the %singular% template tag."
5524
  msgstr ""
5525
 
5526
- #: ../modules/mycred-module-settings.php:350
5527
  msgid "Accessible though the %plural% template tag."
5528
  msgstr ""
5529
 
5530
- #: ../modules/mycred-module-settings.php:353
5531
- msgid "Tip"
5532
- msgstr ""
5533
-
5534
- #: ../modules/mycred-module-settings.php:353
5535
  msgid ""
5536
  "Adding an underscore at the beginning of template tag for names will return "
5537
  "them in lowercase. i.e. %_singular%"
5538
  msgstr ""
5539
 
5540
- #: ../modules/mycred-module-settings.php:371
5541
  msgid "Separator"
5542
  msgid_plural "Separators"
5543
  msgstr[0] ""
5544
  msgstr[1] ""
5545
 
5546
- #: ../modules/mycred-module-settings.php:378
5547
  msgid "Edit Settings"
5548
  msgstr ""
5549
 
5550
- #: ../modules/mycred-module-settings.php:380 ../modules/mycred-module-settings.
5551
- #: php:385
5552
  msgid "Capability to check for."
5553
  msgstr ""
5554
 
5555
- #: ../modules/mycred-module-settings.php:383
5556
  msgid "Edit Users %plural%"
5557
  msgstr ""
5558
 
5559
- #: ../modules/mycred-module-settings.php:407
5560
  msgid "Comma separated list of user ids to exclude. No spaces allowed!"
5561
  msgstr ""
5562
 
5563
- #: ../modules/mycred-module-settings.php:427
5564
  msgid "Management"
5565
  msgstr ""
5566
 
5567
- #: ../modules/mycred-module-settings.php:429
5568
  msgid "The Log"
5569
  msgstr ""
5570
 
5571
- #: ../modules/mycred-module-settings.php:432
5572
  msgid "Table Name"
5573
  msgstr ""
5574
 
5575
- #: ../modules/mycred-module-settings.php:441
5576
  msgid "Empty Log"
5577
  msgstr ""
5578
 
5579
- #: ../modules/mycred-module-settings.php:447
5580
- msgid "User Meta Key"
5581
- msgstr ""
5582
-
5583
- #: ../modules/mycred-module-settings.php:456
5584
  msgid "Set all to zero"
5585
  msgstr ""
5586
 
5587
- #: ../modules/mycred-module-settings.php:456
5588
  msgid "CSV Export"
5589
  msgstr ""
5590
 
5591
- #: ../modules/mycred-module-settings.php:477
5592
  msgid "Default"
5593
  msgstr ""
5594
 
5595
- #: ../modules/mycred-module-settings.php:480 ../modules/mycred-module-settings.
5596
- #: php:499 ../modules/mycred-module-settings.php:521
5597
  msgid "Meta Key"
5598
  msgstr ""
5599
 
5600
- #: ../modules/mycred-module-settings.php:518
5601
  msgid "Add New Type"
5602
  msgstr ""
5603
 
5604
- #: ../modules/mycred-module-settings.php:523
5605
  msgid "A unique ID for this type."
5606
  msgstr ""
5607
 
5608
- #: ../modules/mycred-module-settings.php:528
5609
  msgid "Menu and page title."
5610
  msgstr ""
5611
 
5612
- #: ../modules/mycred-module-settings.php:531
5613
- msgid "The meta key will define where your users balances are saved."
 
 
5614
  msgstr ""
5615
 
5616
- #: ../modules/mycred-module-settings.php:552
5617
  msgid "Identify users by"
5618
  msgstr ""
5619
 
5620
- #: ../modules/mycred-module-settings.php:558
5621
  msgid "User Email"
5622
  msgstr ""
5623
 
5624
- #: ../modules/mycred-module-settings.php:559
5625
  msgid "User Login"
5626
  msgstr ""
5627
 
5628
- #: ../modules/mycred-module-settings.php:566
5629
  msgid ""
5630
  "Use ID if you intend to use this export as a backup of your current site "
5631
  "while Email is recommended if you want to export to a different site."
5632
  msgstr ""
5633
 
5634
- #: ../modules/mycred-module-settings.php:569
5635
  msgid "Import Log Entry"
5636
  msgstr ""
5637
 
5638
- #: ../modules/mycred-module-settings.php:571
5639
  #, php-format
5640
  msgid ""
5641
  "Optional log entry to use if you intend to import this file in a different "
5642
  "%s installation."
5643
  msgstr ""
5644
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5645
  #: ../plugins/mycred-hook-badgeOS.php:18
5646
  msgid "BadgeOS"
5647
  msgstr ""
@@ -5693,65 +6098,54 @@ msgstr ""
5693
  msgid "Awards %_plural% for bbPress actions."
5694
  msgstr ""
5695
 
5696
- #: ../plugins/mycred-hook-bbPress.php:464
5697
  #, php-format
5698
  msgid "%plural% for New Forum"
5699
  msgstr ""
5700
 
5701
- #: ../plugins/mycred-hook-bbPress.php:477
5702
  #, php-format
5703
  msgid "%plural% for Forum Deletion"
5704
  msgstr ""
5705
 
5706
- #: ../plugins/mycred-hook-bbPress.php:490 ../plugins/mycred-hook-simplepress.php:
5707
- #: 323
5708
  #, php-format
5709
  msgid "%plural% for New Topic"
5710
  msgstr ""
5711
 
5712
- #: ../plugins/mycred-hook-bbPress.php:504
5713
  #, php-format
5714
  msgid "Forum authors can receive %_plural% for creating new topics."
5715
  msgstr ""
5716
 
5717
- #: ../plugins/mycred-hook-bbPress.php:508 ../plugins/mycred-hook-simplepress.php:
5718
- #: 336
5719
  #, php-format
5720
  msgid "%plural% for Topic Deletion"
5721
  msgstr ""
5722
 
5723
- #: ../plugins/mycred-hook-bbPress.php:521
5724
  #, php-format
5725
  msgid "%plural% for Favorited Topic"
5726
  msgstr ""
5727
 
5728
- #: ../plugins/mycred-hook-bbPress.php:534 ../plugins/mycred-hook-bbPress.php:558 .
5729
- #: ./plugins/mycred-hook-buddypress.php:459 ../plugins/mycred-hook-simplepress.
5730
- #: php:367
5731
- msgid "Daily Limit"
5732
- msgstr ""
5733
-
5734
- #: ../plugins/mycred-hook-bbPress.php:536 ../plugins/mycred-hook-bbPress.php:560 .
5735
- #: ./plugins/mycred-hook-simplepress.php:369
5736
- msgid "Use zero for unlimited"
5737
- msgstr ""
5738
-
5739
- #: ../plugins/mycred-hook-bbPress.php:540
5740
  #, php-format
5741
  msgid "%plural% for New Reply"
5742
  msgstr ""
5743
 
5744
- #: ../plugins/mycred-hook-bbPress.php:554
5745
  #, php-format
5746
  msgid "Topic authors can receive %_plural% for replying to their own Topic"
5747
  msgstr ""
5748
 
5749
- #: ../plugins/mycred-hook-bbPress.php:564
5750
  #, php-format
5751
  msgid "Show users %_plural% balance in replies"
5752
  msgstr ""
5753
 
5754
- #: ../plugins/mycred-hook-bbPress.php:568
5755
  #, php-format
5756
  msgid "%plural% for Reply Deletion"
5757
  msgstr ""
@@ -5767,7 +6161,7 @@ msgid ""
5767
  "Gallery."
5768
  msgstr ""
5769
 
5770
- #: ../plugins/mycred-hook-buddypress-gallery.php:97
5771
  #, php-format
5772
  msgid "%plural% for New Gallery"
5773
  msgstr ""
@@ -5781,34 +6175,34 @@ msgstr ""
5781
  msgid "Awards %_plural% for link related actions."
5782
  msgstr ""
5783
 
5784
- #: ../plugins/mycred-hook-buddypress-links.php:247
5785
  #, php-format
5786
  msgid "%plural% for New Links"
5787
  msgstr ""
5788
 
5789
- #: ../plugins/mycred-hook-buddypress-links.php:260
5790
  #, php-format
5791
  msgid "%plural% for Vote on Link"
5792
  msgstr ""
5793
 
5794
- #: ../plugins/mycred-hook-buddypress-links.php:272
5795
  msgid "%plural% per received Vote"
5796
  msgstr ""
5797
 
5798
- #: ../plugins/mycred-hook-buddypress-links.php:275
5799
  msgid "Vote Up"
5800
  msgstr ""
5801
 
5802
- #: ../plugins/mycred-hook-buddypress-links.php:286
5803
  msgid "Vote Down"
5804
  msgstr ""
5805
 
5806
- #: ../plugins/mycred-hook-buddypress-links.php:297
5807
  #, php-format
5808
  msgid "%plural% for Updating Links"
5809
  msgstr ""
5810
 
5811
- #: ../plugins/mycred-hook-buddypress-links.php:310
5812
  #, php-format
5813
  msgid "%plural% for Deleting Links"
5814
  msgstr ""
@@ -5822,23 +6216,23 @@ msgstr ""
5822
  msgid "Award / Deduct %_plural% for users creating albums or uploading new photos."
5823
  msgstr ""
5824
 
5825
- #: ../plugins/mycred-hook-buddypress-media.php:163
5826
  msgid "New Media Upload"
5827
  msgstr ""
5828
 
5829
- #: ../plugins/mycred-hook-buddypress-media.php:196
5830
  msgid "Delete Media"
5831
  msgstr ""
5832
 
5833
- #: ../plugins/mycred-hook-buddypress-media.php:199
5834
  msgid "Delete Photo"
5835
  msgstr ""
5836
 
5837
- #: ../plugins/mycred-hook-buddypress-media.php:209
5838
  msgid "Delete Video"
5839
  msgstr ""
5840
 
5841
- #: ../plugins/mycred-hook-buddypress-media.php:219
5842
  msgid "Delete Music"
5843
  msgstr ""
5844
 
@@ -5862,116 +6256,124 @@ msgid ""
5862
  "zero to disable a specific hook."
5863
  msgstr ""
5864
 
5865
- #: ../plugins/mycred-hook-buddypress.php:453
5866
  #, php-format
5867
  msgid "%plural% for Profile Updates"
5868
  msgstr ""
5869
 
5870
- #: ../plugins/mycred-hook-buddypress.php:461
5871
- msgid "Daily limit. Use zero for unlimited."
 
5872
  msgstr ""
5873
 
5874
- #: ../plugins/mycred-hook-buddypress.php:471
5875
  #, php-format
5876
  msgid "%plural% for New Avatar"
5877
  msgstr ""
5878
 
5879
- #: ../plugins/mycred-hook-buddypress.php:484
5880
  #, php-format
5881
  msgid "%plural% for New Friendships"
5882
  msgstr ""
5883
 
5884
- #: ../plugins/mycred-hook-buddypress.php:497
 
 
 
 
 
 
 
5885
  #, php-format
5886
  msgid "%plural% for Leaving Friendship"
5887
  msgstr ""
5888
 
5889
- #: ../plugins/mycred-hook-buddypress.php:510
5890
  #, php-format
5891
  msgid "%plural% for New Comment"
5892
  msgstr ""
5893
 
5894
- #: ../plugins/mycred-hook-buddypress.php:523
5895
  #, php-format
5896
  msgid "%plural% for Deleting Comment"
5897
  msgstr ""
5898
 
5899
- #: ../plugins/mycred-hook-buddypress.php:536
5900
  #, php-format
5901
  msgid "%plural% for New Messages"
5902
  msgstr ""
5903
 
5904
- #: ../plugins/mycred-hook-buddypress.php:549
5905
  #, php-format
5906
  msgid "%plural% for Sending Gift"
5907
  msgstr ""
5908
 
5909
- #: ../plugins/mycred-hook-buddypress.php:996
5910
  #, php-format
5911
  msgid "%plural% for Creating Groups"
5912
  msgstr ""
5913
 
5914
- #: ../plugins/mycred-hook-buddypress.php:1000
5915
  msgid ""
5916
  "If you use a negative value and the user does not have enough %_plural% the "
5917
  "\"Create Group\" button will be disabled."
5918
  msgstr ""
5919
 
5920
- #: ../plugins/mycred-hook-buddypress.php:1004
5921
  msgid "Number of members before awarding %_plural%"
5922
  msgstr ""
5923
 
5924
- #: ../plugins/mycred-hook-buddypress.php:1006
5925
  msgid "Use zero to award %_plural% when group is created."
5926
  msgstr ""
5927
 
5928
- #: ../plugins/mycred-hook-buddypress.php:1016
5929
  #, php-format
5930
  msgid "%plural% for Deleting Groups"
5931
  msgstr ""
5932
 
5933
- #: ../plugins/mycred-hook-buddypress.php:1029
5934
  #, php-format
5935
  msgid "%plural% for New Forum Topic"
5936
  msgstr ""
5937
 
5938
- #: ../plugins/mycred-hook-buddypress.php:1042
5939
  #, php-format
5940
  msgid "%plural% for Editing Forum Topic"
5941
  msgstr ""
5942
 
5943
- #: ../plugins/mycred-hook-buddypress.php:1055
5944
  #, php-format
5945
  msgid "%plural% for New Forum Post"
5946
  msgstr ""
5947
 
5948
- #: ../plugins/mycred-hook-buddypress.php:1068
5949
  #, php-format
5950
  msgid "%plural% for Editing Forum Post"
5951
  msgstr ""
5952
 
5953
- #: ../plugins/mycred-hook-buddypress.php:1081
5954
  #, php-format
5955
  msgid "%plural% for Joining Groups"
5956
  msgstr ""
5957
 
5958
- #: ../plugins/mycred-hook-buddypress.php:1085
5959
  msgid ""
5960
  "If you use a negative value and the user does not have enough %_plural% the "
5961
  "\"Join Group\" button will be disabled."
5962
  msgstr ""
5963
 
5964
- #: ../plugins/mycred-hook-buddypress.php:1095
5965
  #, php-format
5966
  msgid "%plural% for Leaving Groups"
5967
  msgstr ""
5968
 
5969
- #: ../plugins/mycred-hook-buddypress.php:1108
5970
  #, php-format
5971
  msgid "%plural% for New Group Avatar"
5972
  msgstr ""
5973
 
5974
- #: ../plugins/mycred-hook-buddypress.php:1121
5975
  #, php-format
5976
  msgid "%plural% for New Group Comment"
5977
  msgstr ""
@@ -5985,8 +6387,8 @@ msgstr ""
5985
  msgid "Awards %_plural% for successful form submissions (by logged in users)."
5986
  msgstr ""
5987
 
5988
- #: ../plugins/mycred-hook-contact-form7.php:114 ../plugins/mycred-hook-
5989
- #: gravityforms.php:115
5990
  msgid "No forms found."
5991
  msgstr ""
5992
 
@@ -5999,11 +6401,11 @@ msgstr ""
5999
  msgid "Awards %_plural% for users attending events."
6000
  msgstr ""
6001
 
6002
- #: ../plugins/mycred-hook-events-manager-light.php:148
6003
  msgid "Attending Event"
6004
  msgstr ""
6005
 
6006
- #: ../plugins/mycred-hook-events-manager-light.php:161
6007
  msgid "Cancelling Attendance"
6008
  msgstr ""
6009
 
@@ -6044,31 +6446,21 @@ msgid ""
6044
  "accepted."
6045
  msgstr ""
6046
 
6047
- #: ../plugins/mycred-hook-invite-anyone.php:212
6048
  #, php-format
6049
  msgid "%plural% for Sending An Invite"
6050
  msgstr ""
6051
 
6052
- #: ../plugins/mycred-hook-invite-anyone.php:228
6053
- msgid "Maximum number of invites that grants %_plural%. Use zero for unlimited."
6054
- msgstr ""
6055
-
6056
- #: ../plugins/mycred-hook-invite-anyone.php:232
6057
  #, php-format
6058
  msgid "%plural% for Accepting An Invite"
6059
  msgstr ""
6060
 
6061
- #: ../plugins/mycred-hook-invite-anyone.php:236
6062
  #, php-format
6063
  msgid "%plural% for each invited user that accepts an invitation."
6064
  msgstr ""
6065
 
6066
- #: ../plugins/mycred-hook-invite-anyone.php:249
6067
- msgid ""
6068
- "Maximum number of accepted invitations that grants %_plural%. Use zero for "
6069
- "unlimited."
6070
- msgstr ""
6071
-
6072
  #: ../plugins/mycred-hook-jetpack.php:18
6073
  msgid "Jetpack Subscriptions"
6074
  msgstr ""
@@ -6088,6 +6480,11 @@ msgstr ""
6088
  msgid "Comment Subscriptions"
6089
  msgstr ""
6090
 
 
 
 
 
 
6091
  #: ../plugins/mycred-hook-sharethis.php:18
6092
  #, php-format
6093
  msgid "%plural% for Sharing"
@@ -6100,47 +6497,39 @@ msgid ""
6100
  "social media sites."
6101
  msgstr ""
6102
 
6103
- #: ../plugins/mycred-hook-sharethis.php:229
6104
  msgid "Your ShareThis public key is not set."
6105
  msgstr ""
6106
 
6107
- #: ../plugins/mycred-hook-sharethis.php:234
6108
  msgid "No ShareThis services detected. Please check your installation."
6109
  msgstr ""
6110
 
6111
- #: ../plugins/mycred-hook-simplepress.php:18
6112
- msgid "Simple:Press"
6113
- msgstr ""
6114
-
6115
  #: ../plugins/mycred-hook-simplepress.php:19
6116
  #, php-format
6117
  msgid "Awards %_plural% for Simple:Press actions."
6118
  msgstr ""
6119
 
6120
- #: ../plugins/mycred-hook-simplepress.php:349
6121
  #, php-format
6122
  msgid "%plural% for New Topic Post"
6123
  msgstr ""
6124
 
6125
- #: ../plugins/mycred-hook-simplepress.php:363
6126
  #, php-format
6127
  msgid "Topic authors can receive %_plural% for posting on their own Topic"
6128
  msgstr ""
6129
 
6130
- #: ../plugins/mycred-hook-simplepress.php:373
6131
  #, php-format
6132
  msgid "%plural% for Topic Post Deletion"
6133
  msgstr ""
6134
 
6135
- #: ../plugins/mycred-hook-woocommerce.php:65
6136
- msgid "Reward with %plural%"
6137
- msgstr ""
6138
-
6139
- #: ../plugins/mycred-hook-woocommerce.php:195
6140
  msgid "WooCommerce Product Reviews"
6141
  msgstr ""
6142
 
6143
- #: ../plugins/mycred-hook-woocommerce.php:196
6144
  #, php-format
6145
  msgid "Awards %_plural% for users leaving reviews on your WooCommerce products."
6146
  msgstr ""
@@ -6154,14 +6543,22 @@ msgstr ""
6154
  msgid "Awards %_plural% for users adding posts to their favorites."
6155
  msgstr ""
6156
 
6157
- #: ../plugins/mycred-hook-wp-favorite-posts.php:129
6158
  msgid "Adding Content to Favorites"
6159
  msgstr ""
6160
 
6161
- #: ../plugins/mycred-hook-wp-favorite-posts.php:142
 
 
 
 
6162
  msgid "Removing Content from Favorites"
6163
  msgstr ""
6164
 
 
 
 
 
6165
  #: ../plugins/mycred-hook-wp-polls.php:18
6166
  msgid "WP-Polls"
6167
  msgstr ""
@@ -6170,3 +6567,23 @@ msgstr ""
6170
  #, php-format
6171
  msgid "Awards %_plural% for users voting in polls."
6172
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  "Project-Id-Version: myCRED\n"
4
  "Report-Msgid-Bugs-To: http://mycred.me\n"
5
  "POT-Creation-Date: 2014-03-20 14:26+0100\n"
6
+ "PO-Revision-Date: Mon Feb 02 2015 11:27:01 GMT+0100 (CET)\n"
7
  "Last-Translator: unimatrix0 <gabriel.s@merovingi.com>\n"
8
  "Language-Team: LANGUAGE <support@mycred.me>\n"
9
+ "Language: English\n"
10
  "Plural-Forms: nplurals=2; plural=n != 1\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
24
  "X-Poedit-SearchPath-1: .\n"
25
  "X-Loco-Target-Locale: en_US"
26
 
27
+ #: ../mycred.php:449
28
  msgid "Balance"
29
  msgstr ""
30
 
31
+ #: ../mycred.php:474
32
  msgid "%label% History"
33
  msgstr ""
34
 
35
+ #: ../mycred.php:567
36
  #, php-format
37
  msgid "About %s"
38
  msgstr ""
39
 
40
+ #: ../mycred.php:576
41
  msgid "Awesome People"
42
  msgstr ""
43
 
44
+ #: ../mycred.php:661 ../mycred.php:686 ../mycred.php:704 ../addons/badges/myCRED-
45
+ #: addon-badges.php:595 ../addons/gateway/event-booking/mycred-eventsmanager.php:
46
+ #: 478 ../addons/ranks/myCRED-addon-ranks.php:421 ../addons/ranks/myCRED-addon-
47
+ #: ranks.php:1514 ../addons/sell-content/myCRED-addon-sell-content.php:371 ..
48
+ #: addons/transfer/myCRED-addon-transfer.php:146 ../includes/mycred-shortcodes.
49
+ #: php:636
50
  msgid "Processing..."
51
  msgstr ""
52
 
53
+ #: ../mycred.php:662
54
  msgid ""
55
  "Warning! All entries in your log will be permanently removed! This can not "
56
  "be undone!"
57
  msgstr ""
58
 
59
+ #: ../mycred.php:663
60
  msgid ""
61
  "All log entries belonging to deleted users will be permanently deleted! This "
62
  "can not be undone!"
63
  msgstr ""
64
 
65
+ #: ../mycred.php:664
66
  msgid "Warning! All user balances will be set to zero! This can not be undone!"
67
  msgstr ""
68
 
69
+ #: ../mycred.php:665
70
  msgid "Done!"
71
  msgstr ""
72
 
73
+ #: ../mycred.php:666 ../mycred.php:685 ../mycred.php:703
74
  msgid "Close"
75
  msgstr ""
76
 
77
+ #: ../mycred.php:667
78
  msgid "Export users %plural%"
79
  msgstr ""
80
 
81
+ #: ../mycred.php:668
82
+ msgid ""
83
+ "In order to adjust the number of decimal places you want to use we must "
84
+ "update your log. It is highly recommended that you backup your current log "
85
+ "before continuing!"
86
+ msgstr ""
87
+
88
+ #: ../mycred.php:684
89
  msgid "Edit Users Balance"
90
  msgstr ""
91
 
92
+ #: ../mycred.php:702
93
  msgid "Edit Log Entry"
94
  msgstr ""
95
 
96
+ #: ../mycred.php:706
97
  msgid "Are you sure you want to delete this log entry? This can not be undone!"
98
  msgstr ""
99
 
100
+ #: ../mycred.php:707
101
  msgid "Log entry updated"
102
  msgstr ""
103
 
104
+ #: ../mycred.php:761 ../mycred.php:782 ../addons/email-notices/myCRED-addon-email-
105
+ #: notices.php:808 ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:
106
  #: 499 ../addons/gateway/event-booking/mycred-eventsmanager.php:537
107
  msgid "Setup"
108
  msgstr ""
109
 
110
+ #: ../mycred.php:763 ../addons/gateway/carts/mycred-marketpress.php:371 ..
111
+ #: addons/stats/abstracts/mycred-abstract-stat-widget.php:108 ../includes/mycred-
112
+ #: network.php:151 ../modules/mycred-module-settings.php:20 ../modules/mycred-
113
+ #: module-settings.php:21 ../modules/mycred-module-settings.php:22
114
  msgid "Settings"
115
  msgstr ""
116
 
117
+ #: ../mycred.php:803
118
  msgid ""
119
  "Make sure to backup your database and files before updating, in case "
120
  "anything goes wrong!"
121
  msgstr ""
122
 
123
+ #: ../abstracts/mycred-abstract-hook.php:74
124
  msgid "function myCRED_Hook::run() must be over-ridden in a sub-class."
125
  msgstr ""
126
 
127
+ #: ../abstracts/mycred-abstract-hook.php:83
128
  msgid "This Hook has no settings"
129
  msgstr ""
130
 
131
+ #: ../abstracts/mycred-abstract-hook.php:223 ../abstracts/mycred-abstract-hook.
132
+ #: php:290 ../includes/mycred-functions.php:2633 ../modules/mycred-module-hooks.
133
+ #: php:1649
134
  msgid "No limit"
135
  msgstr ""
136
 
137
+ #: ../abstracts/mycred-abstract-hook.php:224
138
+ msgid "/ Day"
139
+ msgstr ""
140
+
141
+ #: ../abstracts/mycred-abstract-hook.php:225
142
+ msgid "/ Week"
143
  msgstr ""
144
 
145
+ #: ../abstracts/mycred-abstract-hook.php:226
146
+ msgid "/ Month"
147
  msgstr ""
148
 
149
+ #: ../abstracts/mycred-abstract-hook.php:227
150
+ msgid "in Total"
151
+ msgstr ""
152
+
153
+ #: ../abstracts/mycred-abstract-hook.php:291
154
+ msgid "Once every 24 hours"
155
+ msgstr ""
156
+
157
+ #: ../abstracts/mycred-abstract-hook.php:292
158
  msgid "Once every 7 days"
159
  msgstr ""
160
 
161
+ #: ../abstracts/mycred-abstract-hook.php:293
162
  msgid "Once per day (reset at midnight)"
163
  msgstr ""
164
 
165
+ #: ../abstracts/mycred-abstract-hook.php:300 ../addons/banking/abstracts/mycred-
166
+ #: abstract-service.php:498 ../addons/buy-creds/myCRED-addon-buy-creds.php:628 ..
167
+ #: addons/buy-creds/myCRED-addon-buy-creds.php:649 ../addons/buy-
168
+ #: creds/abstracts/mycred-abstract-payment-gateway.php:1023 ../addons/buy-
169
+ #: creds/abstracts/mycred-abstract-payment-gateway.php:1046 ../addons/buy-
170
  #: creds/gateways/zombaio.php:338 ../addons/email-notices/myCRED-addon-email-
171
+ #: notices.php:198 ../addons/email-notices/myCRED-addon-email-notices.php:989
172
  msgid "Select"
173
  msgstr ""
174
 
175
+ #: ../abstracts/mycred-abstract-module.php:56
176
  msgid "myCRED_Module() Error. A Module ID is required!"
177
  msgstr ""
178
 
179
+ #: ../abstracts/mycred-abstract-module.php:351 ../abstracts/mycred-abstract-
180
+ #: module.php:359
181
  msgid "Surprise"
182
  msgstr ""
183
 
184
+ #: ../abstracts/mycred-abstract-module.php:446 ../includes/mycred-network.php:83
185
  msgid "click to close"
186
  msgstr ""
187
 
188
+ #: ../abstracts/mycred-abstract-module.php:447 ../includes/mycred-network.php:84
189
  msgid "click to open"
190
  msgstr ""
191
 
192
+ #: ../abstracts/mycred-abstract-module.php:480 ../addons/buy-creds/myCRED-addon-
193
+ #: buy-creds.php:846
194
  msgid "Settings Updated"
195
  msgstr ""
196
 
197
+ #: ../addons/badges/myCRED-addon-badges.php:48 ../addons/badges/myCRED-addon-
198
+ #: badges.php:49 ../addons/badges/myCRED-addon-badges.php:50 ..
199
+ #: addons/badges/myCRED-addon-badges.php:144 ../addons/badges/myCRED-addon-
200
+ #: badges.php:145 ../addons/badges/myCRED-addon-badges.php:373 ..
201
+ #: addons/badges/myCRED-addon-badges.php:379 ../addons/badges/myCRED-addon-
202
+ #: badges.php:385
203
  msgid "Badges"
204
  msgstr ""
205
 
206
+ #: ../addons/badges/myCRED-addon-badges.php:169
207
+ #, php-format
208
+ msgid "Badges (%d)"
209
  msgstr ""
210
 
211
+ #: ../addons/badges/myCRED-addon-badges.php:256
212
  #, php-format
213
  msgid "%d Users earned this badge."
214
  msgstr ""
215
 
216
+ #: ../addons/badges/myCRED-addon-badges.php:260
217
+ msgid "No users has yet earned this badge."
218
+ msgstr ""
219
+
220
+ #: ../addons/badges/myCRED-addon-badges.php:282
221
  #, php-format
222
  msgid "%s connections where removed."
223
  msgstr ""
224
 
225
+ #: ../addons/badges/myCRED-addon-badges.php:374
226
  msgid "Badge"
227
  msgstr ""
228
 
229
+ #: ../addons/badges/myCRED-addon-badges.php:375 ../addons/buy-creds/myCRED-addon-
230
+ #: buy-creds.php:259 ../addons/buy-creds/myCRED-addon-buy-creds.php:260 ..
231
+ #: addons/email-notices/myCRED-addon-email-notices.php:167 ..
232
+ #: addons/ranks/myCRED-addon-ranks.php:445
233
  msgid "Add New"
234
  msgstr ""
235
 
236
+ #: ../addons/badges/myCRED-addon-badges.php:376
237
  msgid "Add New Badge"
238
  msgstr ""
239
 
240
+ #: ../addons/badges/myCRED-addon-badges.php:377
241
  msgid "Edit Badge"
242
  msgstr ""
243
 
244
+ #: ../addons/badges/myCRED-addon-badges.php:378
245
  msgid "New Badge"
246
  msgstr ""
247
 
248
+ #: ../addons/badges/myCRED-addon-badges.php:380
249
  msgid "View Badge"
250
  msgstr ""
251
 
252
+ #: ../addons/badges/myCRED-addon-badges.php:381
253
  msgid "Search Badge"
254
  msgstr ""
255
 
256
+ #: ../addons/badges/myCRED-addon-badges.php:382
257
  msgid "No badges found"
258
  msgstr ""
259
 
260
+ #: ../addons/badges/myCRED-addon-badges.php:383
261
  msgid "No badges found in Trash"
262
  msgstr ""
263
 
264
+ #: ../addons/badges/myCRED-addon-badges.php:429 ../addons/badges/myCRED-addon-
265
+ #: badges.php:531
266
  msgid "Badge Name"
267
  msgstr ""
268
 
269
+ #: ../addons/badges/myCRED-addon-badges.php:430
 
270
  msgid "Badge Images"
271
  msgstr ""
272
 
273
+ #: ../addons/badges/myCRED-addon-badges.php:431
 
274
  msgid "Requirements"
275
  msgstr ""
276
 
277
+ #: ../addons/badges/myCRED-addon-badges.php:432 ../addons/ranks/myCRED-addon-
278
+ #: ranks.php:1038 ../modules/mycred-module-settings.php:600
279
  msgid "Users"
280
  msgstr ""
281
 
282
+ #: ../addons/badges/myCRED-addon-badges.php:471
283
  msgid "A user must have gained or lost:"
284
  msgstr ""
285
 
286
+ #: ../addons/badges/myCRED-addon-badges.php:507 ../addons/badges/myCRED-addon-
287
+ #: badges.php:510 ../addons/badges/myCRED-addon-badges.php:514 ..
288
+ #: addons/badges/myCRED-addon-badges.php:515 ../addons/badges/myCRED-addon-
289
+ #: badges.php:516
290
  msgid "Badge Updated."
291
  msgstr ""
292
 
293
+ #: ../addons/badges/myCRED-addon-badges.php:512
294
  msgid "Badge Enabled"
295
  msgstr ""
296
 
297
+ #: ../addons/badges/myCRED-addon-badges.php:513
298
  msgid "Badge Saved"
299
  msgstr ""
300
 
301
+ #: ../addons/badges/myCRED-addon-badges.php:545
302
+ msgid "Badge Setup"
303
+ msgstr ""
304
+
305
+ #: ../addons/badges/myCRED-addon-badges.php:572
306
  msgid "Assign Badge"
307
  msgstr ""
308
 
309
+ #: ../addons/badges/myCRED-addon-badges.php:573
310
  msgid "Remove Connections"
311
  msgstr ""
312
 
313
+ #: ../addons/badges/myCRED-addon-badges.php:628
314
  msgid "Time(s)"
315
  msgstr ""
316
 
317
+ #: ../addons/badges/myCRED-addon-badges.php:629
318
  msgid "In total"
319
  msgstr ""
320
 
321
+ #: ../addons/badges/myCRED-addon-badges.php:661 ../addons/badges/myCRED-addon-
322
+ #: badges.php:761 ../addons/badges/myCRED-addon-badges.php:821 ..
323
+ #: addons/badges/myCRED-addon-badges.php:836
324
  msgid "Badge Image"
325
  msgstr ""
326
 
327
+ #: ../addons/badges/myCRED-addon-badges.php:662 ../addons/badges/myCRED-addon-
328
+ #: badges.php:662
329
  msgid "Set badge image"
330
  msgstr ""
331
 
332
+ #: ../addons/badges/myCRED-addon-badges.php:672
333
+ msgid "Default Image"
334
  msgstr ""
335
 
336
+ #: ../addons/badges/myCRED-addon-badges.php:673 ../addons/badges/myCRED-addon-
337
+ #: badges.php:731 ../addons/badges/myCRED-addon-badges.php:762 ..
338
+ #: addons/badges/myCRED-addon-badges.php:821
339
+ msgid "image url"
340
  msgstr ""
341
 
342
+ #: ../addons/badges/myCRED-addon-badges.php:674 ../addons/badges/myCRED-addon-
343
+ #: badges.php:732 ../addons/badges/myCRED-addon-badges.php:763 ..
344
+ #: addons/badges/myCRED-addon-badges.php:821
345
+ msgid "Add Image"
346
  msgstr ""
347
 
348
+ #: ../addons/badges/myCRED-addon-badges.php:675
349
+ msgid "Optional image to show when a user has not yet earned this badge."
 
 
350
  msgstr ""
351
 
352
+ #: ../addons/badges/myCRED-addon-badges.php:694 ../addons/badges/myCRED-addon-
353
+ #: badges.php:746
354
+ #, php-format
355
+ msgid "Level %d"
356
+ msgstr ""
357
+
358
+ #: ../addons/badges/myCRED-addon-badges.php:699 ../addons/badges/myCRED-addon-
359
+ #: badges.php:751 ../addons/badges/myCRED-addon-badges.php:821
360
+ msgid "for"
361
  msgstr ""
362
 
363
+ #: ../addons/badges/myCRED-addon-badges.php:730
364
  msgid "Main Image"
365
  msgstr ""
366
 
367
+ #: ../addons/badges/myCRED-addon-badges.php:764 ../addons/badges/myCRED-addon-
368
+ #: badges.php:821
369
+ msgid "Leave empty if you do not want to assign a custom image for this level."
370
+ msgstr ""
371
+
372
+ #: ../addons/badges/myCRED-addon-badges.php:764 ../addons/badges/myCRED-addon-
373
+ #: badges.php:821
374
+ msgid "Remove this level"
375
+ msgstr ""
376
+
377
+ #: ../addons/badges/myCRED-addon-badges.php:778
378
+ msgid "Add Level"
379
  msgstr ""
380
 
381
+ #: ../addons/badges/myCRED-addon-badges.php:821 ../addons/badges/myCRED-addon-
382
+ #: badges.php:1141
383
+ msgid "Level"
384
+ msgstr ""
385
+
386
+ #: ../addons/badges/myCRED-addon-badges.php:838
387
  msgid "Use as Badge"
388
  msgstr ""
389
 
390
+ #: ../addons/badges/myCRED-addon-badges.php:960 ../addons/badges/myCRED-addon-
391
+ #: badges.php:991 ../addons/gateway/carts/mycred-woocommerce.php:153 ..
392
+ #: modules/mycred-module-buddypress.php:384
393
  msgid "Do not show"
394
  msgstr ""
395
 
396
+ #: ../addons/badges/myCRED-addon-badges.php:961 ../modules/mycred-module-
397
+ #: buddypress.php:385
398
  msgid "Include in Profile Header"
399
  msgstr ""
400
 
401
+ #: ../addons/badges/myCRED-addon-badges.php:962 ../addons/ranks/myCRED-addon-
402
+ #: ranks.php:1396 ../modules/mycred-module-buddypress.php:386
403
  msgid "Include under the \"Profile\" tab"
404
  msgstr ""
405
 
406
+ #: ../addons/badges/myCRED-addon-badges.php:963 ../modules/mycred-module-
407
+ #: buddypress.php:387
408
  msgid "Include under the \"Profile\" tab and Profile Header"
409
  msgstr ""
410
 
411
+ #: ../addons/badges/myCRED-addon-badges.php:976 ../addons/badges/myCRED-addon-
412
+ #: badges.php:1007
413
+ msgid "Show all badges, including badges users have not yet earned."
414
+ msgstr ""
415
+
416
+ #: ../addons/badges/myCRED-addon-badges.php:992 ../addons/ranks/myCRED-addon-
417
+ #: ranks.php:1442
418
  msgid "Include in Profile"
419
  msgstr ""
420
 
421
+ #: ../addons/badges/myCRED-addon-badges.php:993
422
  msgid "Include in Forum Replies"
423
  msgstr ""
424
 
425
+ #: ../addons/badges/myCRED-addon-badges.php:994
426
  msgid "Include in Profile and Forum Replies"
427
  msgstr ""
428
 
429
+ #: ../addons/badges/myCRED-addon-badges.php:1098
430
+ msgid "User Badges"
431
+ msgstr ""
432
+
433
+ #: ../addons/badges/myCRED-addon-badges.php:1103
434
+ msgid ""
435
+ "Here you can view the badges this user has earned and if needed, manually "
436
+ "give or take away a badge from a user."
437
+ msgstr ""
438
+
439
+ #: ../addons/badges/myCRED-addon-badges.php:1112
440
+ msgid "Not earned"
441
+ msgstr ""
442
+
443
+ #: ../addons/badges/myCRED-addon-badges.php:1118 ../addons/badges/myCRED-addon-
444
+ #: badges.php:1155
445
+ msgid "Earned"
446
+ msgstr ""
447
+
448
+ #: ../addons/badges/myCRED-addon-badges.php:1130
449
+ msgid "No image"
450
+ msgstr ""
451
+
452
+ #: ../addons/badges/myCRED-addon-badges.php:1137
453
+ msgid "Select a level"
454
+ msgstr ""
455
+
456
+ #: ../addons/badges/myCRED-addon-badges.php:1152 ../addons/email-notices/myCRED-
457
+ #: addon-email-notices.php:807
458
+ msgid "Status"
459
+ msgstr ""
460
+
461
+ #: ../addons/badges/myCRED-addon-badges.php:1169 ../addons/email-notices/myCRED-
462
+ #: addon-email-notices.php:1290
463
+ msgid "Save Changes"
464
+ msgstr ""
465
+
466
+ #: ../addons/badges/includes/mycred-badge-functions.php:65
467
+ #, php-format
468
+ msgid "Level %s"
469
+ msgstr ""
470
+
471
+ #: ../addons/badges/includes/mycred-badge-functions.php:68
472
  #, php-format
473
+ msgctxt "\"Points\" for \"reference\" \"x time(s)\" - Level"
474
+ msgid "%s for %s %s - %s"
475
  msgstr ""
476
 
477
+ #: ../addons/badges/includes/mycred-badge-functions.php:68 ..
478
+ #: addons/coupons/myCRED-addon-coupons.php:202 ../addons/coupons/myCRED-addon-
479
+ #: coupons.php:469
480
+ #, php-format
481
+ msgid "1 time"
482
+ msgid_plural "%d times"
483
  msgstr[0] ""
484
  msgstr[1] ""
485
 
486
+ #: ../addons/badges/includes/mycred-badge-functions.php:70
487
  #, php-format
488
  msgctxt "\"x points\" for \"reference\" in total"
489
  msgid "%s for %s in total"
525
  msgstr ""
526
 
527
  #: ../addons/banking/myCRED-addon-banking.php:219 ../addons/buy-creds/myCRED-
528
+ #: addon-buy-creds.php:836 ../addons/buy-creds/myCRED-addon-buy-creds.php:932 ..
529
+ #: addons/stats/myCRED-addon-stats.php:182 ../includes/mycred-admin.php:556 ..
530
+ #: includes/mycred-network.php:125 ../modules/mycred-module-addons.php:292 ..
531
+ #: modules/mycred-module-hooks.php:171 ../modules/mycred-module-log.php:326 ..
532
+ #: modules/mycred-module-log.php:597 ../modules/mycred-module-settings.php:457
533
  msgid "Access Denied"
534
  msgstr ""
535
 
551
  msgstr ""
552
 
553
  #: ../addons/banking/myCRED-addon-banking.php:248 ../addons/buy-creds/myCRED-
554
+ #: addon-buy-creds.php:870 ../modules/mycred-module-hooks.php:196
555
  msgid "Enable"
556
  msgstr ""
557
 
623
 
624
  #: ../addons/banking/services/mycred-bank-service-interest.php:392 ..
625
  #: addons/banking/services/mycred-bank-service-interest.php:409 ..
626
+ #: addons/banking/services/mycred-bank-service-payouts.php:250
627
  msgid "Run Count"
628
  msgstr ""
629
 
662
  msgstr ""
663
 
664
  #: ../addons/banking/services/mycred-bank-service-interest.php:427 ..
665
+ #: addons/banking/services/mycred-bank-service-payouts.php:268
666
  msgid "Can not be zero."
667
  msgstr ""
668
 
669
  #: ../addons/banking/services/mycred-bank-service-interest.php:430 ..
670
+ #: addons/gateway/carts/mycred-wpecommerce.php:367
671
  msgid "Payout"
672
  msgstr ""
673
 
674
  #: ../addons/banking/services/mycred-bank-service-interest.php:435 ..
675
+ #: addons/banking/services/mycred-bank-service-payouts.php:283 ../addons/buy-
676
+ #: creds/myCRED-addon-buy-creds.php:606 ../addons/buy-creds/myCRED-addon-buy-
677
+ #: creds.php:665 ../addons/coupons/myCRED-addon-coupons.php:502 ..
678
+ #: addons/gateway/carts/mycred-marketpress.php:395 ..
679
+ #: addons/gateway/carts/mycred-marketpress.php:428 ..
680
+ #: addons/gateway/carts/mycred-woocommerce.php:105 ..
681
+ #: addons/gateway/carts/mycred-woocommerce.php:177 ..
682
+ #: addons/gateway/carts/mycred-wpecommerce.php:371 ../modules/mycred-module-
683
+ #: hooks.php:891 ../modules/mycred-module-hooks.php:1847 ../modules/mycred-module-
684
+ #: hooks.php:2187 ../plugins/mycred-hook-badgeOS.php:124 ../plugins/mycred-hook-
685
  #: badgeOS.php:126 ../plugins/mycred-hook-badgeOS.php:135 ../plugins/mycred-hook-
686
+ #: events-manager-light.php:196 ../plugins/mycred-hook-events-manager-light.php:
687
+ #: 209 ../plugins/mycred-hook-gd-star-rating.php:109 ../plugins/mycred-hook-gd-
688
+ #: star-rating.php:122 ../plugins/mycred-hook-woocommerce.php:304 ..
689
+ #: plugins/mycred-hook-wp-favorite-posts.php:217 ../plugins/mycred-hook-wp-
690
+ #: favorite-posts.php:235 ../plugins/mycred-hook-wp-favorite-posts.php:249 ..
691
+ #: plugins/mycred-hook-wp-favorite-posts.php:262 ../plugins/mycred-hook-wp-polls.
692
+ #: php:136
693
  msgid "Log Template"
694
  msgstr ""
695
 
696
  #: ../addons/banking/services/mycred-bank-service-interest.php:442 ..
697
+ #: addons/banking/services/mycred-bank-service-payouts.php:290 ..
698
+ #: addons/coupons/myCRED-addon-coupons.php:438
699
  msgid "Minimum Balance"
700
  msgstr ""
701
 
702
  #: ../addons/banking/services/mycred-bank-service-interest.php:446 ..
703
+ #: addons/banking/services/mycred-bank-service-payouts.php:294
704
  msgid "Optional minimum balance requirement."
705
  msgstr ""
706
 
707
  #: ../addons/banking/services/mycred-bank-service-interest.php:449 ..
708
+ #: addons/banking/services/mycred-bank-service-payouts.php:297
709
  msgid "Exclude"
710
  msgstr ""
711
 
712
  #: ../addons/banking/services/mycred-bank-service-interest.php:452 ..
713
+ #: addons/banking/services/mycred-bank-service-payouts.php:300
714
  msgid "Comma separated list of user IDs"
715
  msgstr ""
716
 
717
  #: ../addons/banking/services/mycred-bank-service-interest.php:456 ..
718
+ #: addons/banking/services/mycred-bank-service-payouts.php:304
719
  msgid "Roles"
720
  msgstr ""
721
 
732
  msgstr ""
733
 
734
  #: ../addons/banking/services/mycred-bank-service-interest.php:552 ../addons/buy-
735
+ #: creds/myCRED-addon-buy-creds.php:758 ../addons/sell-content/myCRED-addon-sell-
736
+ #: content.php:114
737
  msgid "Leave empty to use the default value."
738
  msgstr ""
739
 
761
  msgid "Daily %_plural%"
762
  msgstr ""
763
 
764
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:246 ..
765
+ #: includes/mycred-admin.php:405 ../modules/mycred-module-log.php:254 ..
766
  #: modules/mycred-module-log.php:255
767
  msgid "History"
768
  msgstr ""
769
 
770
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:255
771
  msgid "Last Run"
772
  msgstr ""
773
 
774
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:259
775
  msgid "Total Payouts"
776
  msgstr ""
777
 
778
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:263
779
  msgid "Pay Users"
780
  msgstr ""
781
 
782
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:266 ../addons/buy-
783
  #: creds/myCRED-addon-buy-creds.php:300 ../addons/buy-creds/myCRED-addon-buy-
784
+ #: creds.php:1523 ../addons/buy-creds/myCRED-addon-buy-creds.php:1600 ..
785
+ #: addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:593 ..
786
+ #: includes/mycred-admin.php:709 ../includes/mycred-admin.php:759 ..
787
+ #: includes/mycred-shortcodes.php:971 ../includes/mycred-shortcodes.php:1112 ..
788
+ #: plugins/mycred-hook-affiliatewp.php:256
789
  msgid "Amount"
790
  msgstr ""
791
 
792
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:271 ..
793
+ #: modules/mycred-module-hooks.php:2202
794
  msgid "Interval"
795
  msgstr ""
796
 
797
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:276
798
  msgid "Cycles"
799
  msgstr ""
800
 
801
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:278
802
  msgid "Set to -1 for unlimited"
803
  msgstr ""
804
 
805
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:281
806
  msgid "Important"
807
  msgstr ""
808
 
809
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:281
810
  msgid ""
811
  "You can always stop payouts by deactivating this service. Just remember that "
812
  "if you deactivate while there are cycles left, this service will continue on "
838
  msgstr ""
839
 
840
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:264 ../addons/buy-creds/myCRED-
841
+ #: addon-buy-creds.php:1634
842
  msgid "No pending payments found"
843
  msgstr ""
844
 
847
  msgstr ""
848
 
849
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:297 ../addons/buy-creds/myCRED-
850
+ #: addon-buy-creds.php:988 ../addons/buy-creds/myCRED-addon-buy-creds.php:1598
851
  msgid "Transaction ID"
852
  msgstr ""
853
 
854
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:299 ../addons/buy-creds/myCRED-
855
+ #: addon-buy-creds.php:984
856
  msgid "Buyer"
857
  msgstr ""
858
 
859
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:301 ../addons/buy-creds/myCRED-
860
+ #: addon-buy-creds.php:1601 ../addons/buy-creds/abstracts/mycred-abstract-payment-
861
+ #: gateway.php:594
862
  msgid "Cost"
863
  msgstr ""
864
 
865
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:302 ../addons/buy-creds/myCRED-
866
+ #: addon-buy-creds.php:983 ../addons/buy-creds/myCRED-addon-buy-creds.php:1599 ..
867
  #: includes/mycred-overview.php:166 ../includes/mycred-overview.php:173
868
  msgid "Gateway"
869
  msgstr ""
872
  msgid "Type"
873
  msgstr ""
874
 
875
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:390
876
  msgid "Pay Out"
877
  msgstr ""
878
 
879
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:421
880
  msgid "buyCRED Purchase Log"
881
  msgstr ""
882
 
883
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:422 ../addons/buy-creds/myCRED-
884
+ #: addon-buy-creds.php:655 ../addons/buy-creds/myCRED-addon-buy-creds.php:842
885
  msgid "Purchase Log"
886
  msgstr ""
887
 
888
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:515 ../addons/gateway/event-
889
  #: booking/mycred-eventespresso3.php:26 ../addons/gateway/event-booking/mycred-
890
  #: eventsmanager-pro.php:516 ../addons/gateway/event-booking/mycred-eventsmanager.
891
+ #: php:540 ../addons/sell-content/myCRED-addon-sell-content.php:423
892
  msgid "Payments"
893
  msgstr ""
894
 
895
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:545
896
  msgid "Please login to purchase %_plural%"
897
  msgstr ""
898
 
899
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:560
900
  #, php-format
901
  msgid "Gift purchase from %display_name%."
902
  msgstr ""
903
 
904
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:576 ../addons/ranks/myCRED-
905
+ #: addon-ranks.php:1079
906
  msgid "Minimum %plural%"
907
  msgstr ""
908
 
909
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:580
910
  msgid "Minimum amount of %plural% a user must purchase. Will default to 1."
911
  msgstr ""
912
 
913
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:585 ../addons/transfer/myCRED-
914
+ #: addon-transfer.php:211 ../includes/mycred-widgets.php:598 ../modules/mycred-
915
+ #: module-settings.php:617
916
  msgid "Point Types"
917
  msgstr ""
918
 
919
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:588
920
  msgid "Select the point types that users can buy. You must select at least one!"
921
  msgstr ""
922
 
923
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:599
924
  msgid "Login Template"
925
  msgstr ""
926
 
927
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:603
928
  msgid "Content to show when a user is not logged in."
929
  msgstr ""
930
 
931
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:613
932
  msgid "Thank You Page"
933
  msgstr ""
934
 
935
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:616 ../addons/buy-creds/myCRED-
936
+ #: addon-buy-creds.php:637
937
  msgid "Custom URL"
938
  msgstr ""
939
 
940
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:621 ../addons/buy-creds/myCRED-
941
+ #: addon-buy-creds.php:642
942
  msgid "Page"
943
  msgstr ""
944
 
945
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:634
946
  msgid "Cancellation Page"
947
  msgstr ""
948
 
949
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:657
950
  msgid "Show seperate log for %_plural% purchases."
951
  msgstr ""
952
 
953
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:659
954
  msgid "Gifting"
955
  msgstr ""
956
 
957
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:661
958
  #, php-format
959
  msgid "Allow users to buy %_plural% for other users."
960
  msgstr ""
961
 
962
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:662
963
  #, php-format
964
  msgid "Allow users to buy %_plural% for content authors."
965
  msgstr ""
966
 
967
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:670 ../modules/mycred-module-
968
+ #: hooks.php:2912
969
  msgid "Available Shortcodes"
970
  msgstr ""
971
 
972
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:752
973
  #, php-format
974
  msgid "%s Exchange Rate"
975
  msgstr ""
976
 
977
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:766
978
  msgid "Save Exchange Rates"
979
  msgstr ""
980
 
981
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:821
982
  msgid "Exchange rate override saved"
983
  msgstr ""
984
 
985
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:824
986
  msgid "Payment completed"
987
  msgstr ""
988
 
989
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:842
990
  #, php-format
991
  msgid "%s Payment Gateways"
992
  msgstr ""
993
 
994
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:842 ../addons/buy-creds/myCRED-
995
+ #: addon-buy-creds.php:992
996
  msgid "buyCRED Settings"
997
  msgstr ""
998
 
999
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:863
1000
  msgid "Test Mode"
1001
  msgstr ""
1002
 
1003
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:865
1004
  msgid "Enabled"
1005
  msgstr ""
1006
 
1007
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:868
1008
  msgid "Disabled"
1009
  msgstr ""
1010
 
1011
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:878
1012
  msgid "Sandbox Mode"
1013
  msgstr ""
1014
 
1015
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:881
1016
  msgid "Enable for test purchases."
1017
  msgstr ""
1018
 
1019
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:898 ../addons/gateway/event-
1020
+ #: booking/mycred-eventespresso3.php:502 ../modules/mycred-module-settings.php:692
1021
  msgid "Update Settings"
1022
  msgstr ""
1023
 
1024
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:899
1025
  msgid "More Gateways"
1026
  msgstr ""
1027
 
1028
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:985 ../includes/mycred-log.php:
1029
  #: 634
1030
  msgid "Date"
1031
  msgstr ""
1032
 
1033
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:987
1034
  msgid "Payed"
1035
  msgstr ""
1036
 
1037
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:992
1038
  msgid "<strong>buy</strong>CRED Purchase Log"
1039
  msgstr ""
1040
 
1041
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:992 ../addons/gateway/event-
1042
  #: booking/mycred-eventespresso3.php:367
1043
  msgid "Gateway Settings"
1044
  msgstr ""
1045
 
1046
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1171 ../addons/sell-
1047
+ #: content/myCRED-addon-sell-content.php:1209
1048
  msgid "No purchases found"
1049
  msgstr ""
1050
 
1051
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1241 ../addons/buy-creds/myCRED-
1052
+ #: addon-buy-creds.php:1354
1053
  msgid "This Add-on needs to setup before you can use this shortcode."
1054
  msgstr ""
1055
 
1056
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1260 ../addons/buy-creds/myCRED-
1057
+ #: addon-buy-creds.php:1373
1058
  msgid "No gateways installed."
1059
  msgstr ""
1060
 
1061
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1261 ../addons/buy-creds/myCRED-
1062
+ #: addon-buy-creds.php:1374
1063
  msgid "Gateway does not exist."
1064
  msgstr ""
1065
 
1066
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1309
1067
  msgid "Yourself"
1068
  msgstr ""
1069
 
1070
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1375
1071
  msgid "No active gateways found."
1072
  msgstr ""
1073
 
1074
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1376
1075
  msgid "The selected gateway is not active."
1076
  msgstr ""
1077
 
1078
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1423
1079
  #, php-format
1080
  msgid "Buy with %gateway%"
1081
  msgstr ""
1082
 
1083
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1429 ../addons/sell-
1084
  #: content/myCRED-addon-sell-content.php:44
1085
  msgid "Buy Now"
1086
  msgstr ""
1087
 
1088
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1474
1089
  msgid "No users found"
1090
  msgstr ""
1091
 
1092
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1484
1093
  msgid "To"
1094
  msgstr ""
1095
 
1096
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1501
1097
  msgid "Select Amount"
1098
  msgstr ""
1099
 
1100
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1525
1101
  msgid "min."
1102
  msgstr ""
1103
 
1104
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1533
1105
  msgid "Select Gateway"
1106
  msgstr ""
1107
 
1108
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1574 ../addons/gateway/event-
1109
  #: booking/mycred-eventespresso3.php:27 ../addons/gateway/event-booking/mycred-
1110
  #: eventsmanager-pro.php:39 ../addons/gateway/event-booking/mycred-eventsmanager.
1111
  #: php:35
1112
  msgid "Pay Now"
1113
  msgstr ""
1114
 
1115
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1575 ../includes/mycred-install.
1116
+ #: php:524
1117
  msgid "Cancel"
1118
  msgstr ""
1119
 
1120
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1602 ../addons/ranks/myCRED-
1121
+ #: addon-ranks.php:1601 ../modules/mycred-module-log.php:375 ../modules/mycred-
1122
+ #: module-settings.php:589 ../modules/mycred-module-settings.php:604
1123
  msgid "Actions"
1124
  msgstr ""
1125
 
1158
  msgstr ""
1159
 
1160
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:503 ..
1161
+ #: includes/mycred-admin.php:703 ../includes/mycred-admin.php:745
1162
  msgid "required"
1163
  msgstr ""
1164
 
1165
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:504 ..
1166
+ #: includes/mycred-admin.php:705 ../includes/mycred-admin.php:747
1167
  msgid "optional"
1168
  msgstr ""
1169
 
1203
  msgid "Choose Country"
1204
  msgstr ""
1205
 
1206
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:587
1207
  #, php-format
1208
  msgid "%s Purchase"
1209
  msgstr ""
1210
 
1211
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:592 ..
1212
  #: addons/gateway/carts/mycred-wpecommerce.php:112
1213
  msgid "Item"
1214
  msgstr ""
1215
 
1216
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:615
1217
  msgid "Debug"
1218
  msgstr ""
1219
 
1220
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:616
1221
  msgid ""
1222
  "Here you can see information that are collected and sent to this gateway. "
1223
  "Debug information is only visible for administrators and are intended for "
1225
  "when you want to take this gateway online."
1226
  msgstr ""
1227
 
1228
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:620
1229
  msgid "Section"
1230
  msgstr ""
1231
 
1232
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:621
1233
  msgid "Result"
1234
  msgstr ""
1235
 
1236
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:626
1237
  msgid "Payment Status"
1238
  msgstr ""
1239
 
1240
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:630
1241
  msgid "Request"
1242
  msgstr ""
1243
 
1244
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:634
1245
  msgid "Gateway Response"
1246
  msgstr ""
1247
 
1248
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:681
1249
  #, php-format
1250
  msgid "Continue to %s"
1251
  msgstr ""
1252
 
1253
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:682 ..
1254
  #: addons/buy-creds/gateways/bitpay.php:226
1255
  msgid "Click here if you are not automatically redirected"
1256
  msgstr ""
1257
 
1258
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:687
1259
  msgid "The following information will be sent to the gateway"
1260
  msgstr ""
1261
 
1262
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1373
1263
  msgid "Outside US"
1264
  msgstr ""
1265
 
1266
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1390
1267
  msgid "January"
1268
  msgstr ""
1269
 
1270
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1391
1271
  msgid "February"
1272
  msgstr ""
1273
 
1274
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1392
1275
  msgid "March"
1276
  msgstr ""
1277
 
1278
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1393
1279
  msgid "April"
1280
  msgstr ""
1281
 
1282
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1394
1283
  msgid "May"
1284
  msgstr ""
1285
 
1286
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1395
1287
  msgid "June"
1288
  msgstr ""
1289
 
1290
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1396
1291
  msgid "July"
1292
  msgstr ""
1293
 
1294
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1397
1295
  msgid "August"
1296
  msgstr ""
1297
 
1298
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1398
1299
  msgid "September"
1300
  msgstr ""
1301
 
1302
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1399
1303
  msgid "October"
1304
  msgstr ""
1305
 
1306
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1400
1307
  msgid "November"
1308
  msgstr ""
1309
 
1310
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1401
1311
  msgid "December"
1312
  msgstr ""
1313
 
1352
  msgstr ""
1353
 
1354
  #: ../addons/buy-creds/gateways/bitpay.php:212 ../addons/buy-
1355
+ #: creds/gateways/bitpay.php:221 ../addons/buy-creds/gateways/netbilling.php:193 .
1356
  #: ./addons/buy-creds/gateways/paypal-standard.php:262 ../addons/buy-
1357
  #: creds/gateways/skrill.php:274 ../addons/buy-creds/gateways/zombaio.php:234
1358
  msgid "Processing payment &hellip;"
1381
  msgstr ""
1382
 
1383
  #: ../addons/buy-creds/gateways/bitpay.php:259 ../addons/buy-
1384
+ #: creds/gateways/netbilling.php:229 ../addons/buy-creds/gateways/paypal-standard.
1385
+ #: php:291 ../addons/buy-creds/gateways/skrill.php:311
1386
  msgid "Item Name"
1387
  msgstr ""
1388
 
1389
  #: ../addons/buy-creds/gateways/bitpay.php:263 ../addons/buy-
1390
+ #: creds/gateways/netbilling.php:233 ../addons/buy-creds/gateways/paypal-standard.
1391
+ #: php:295 ../addons/buy-creds/gateways/skrill.php:315
1392
  msgid "Description of the item being purchased by the user."
1393
  msgstr ""
1394
 
1395
  #: ../addons/buy-creds/gateways/bitpay.php:266 ../addons/buy-
1396
+ #: creds/gateways/netbilling.php:236 ../addons/buy-creds/gateways/paypal-standard.
1397
+ #: php:298 ../addons/buy-creds/gateways/skrill.php:318
1398
  msgid "Exchange Rates"
1399
  msgstr ""
1400
 
1428
  msgid "Yes"
1429
  msgstr ""
1430
 
1431
+ #: ../addons/buy-creds/gateways/netbilling.php:210
1432
  msgid "Account ID"
1433
  msgstr ""
1434
 
1435
+ #: ../addons/buy-creds/gateways/netbilling.php:216
1436
  msgid "Site Tag"
1437
  msgstr ""
1438
 
1439
+ #: ../addons/buy-creds/gateways/netbilling.php:222
1440
  msgid "Order Integrity Key"
1441
  msgstr ""
1442
 
1443
+ #: ../addons/buy-creds/gateways/netbilling.php:226
1444
  msgid "Found under Step 12 on the Fraud Defense page."
1445
  msgstr ""
1446
 
1447
+ #: ../addons/buy-creds/gateways/netbilling.php:240
1448
  msgid "Postback CGI URL"
1449
  msgstr ""
1450
 
1451
+ #: ../addons/buy-creds/gateways/netbilling.php:244
1452
  msgid ""
1453
  "For this gateway to work, you must login to your NETbilling account and edit "
1454
  "your site. Under \"Default payment form settings\" make sure the Postback CGI "
1455
  "URL is set to the above address and \"Return method\" is set to POST."
1456
  msgstr ""
1457
 
1458
+ #: ../addons/buy-creds/gateways/netbilling.php:288
1459
  msgid "Incorrect Credit Card number"
1460
  msgstr ""
1461
 
1462
+ #: ../addons/buy-creds/gateways/netbilling.php:294
1463
  msgid "The credit card entered is past its expiration date."
1464
  msgstr ""
1465
 
1466
+ #: ../addons/buy-creds/gateways/netbilling.php:297
1467
  msgid "The CVV2 number entered is not valid."
1468
  msgstr ""
1469
 
1470
+ #: ../addons/buy-creds/gateways/netbilling.php:304
1471
  msgid "The bank routing number entered is not valid."
1472
  msgstr ""
1473
 
1474
+ #: ../addons/buy-creds/gateways/netbilling.php:308
1475
  msgid "The bank account number entered is not valid."
1476
  msgstr ""
1477
 
1494
  msgid "Account Email"
1495
  msgstr ""
1496
 
 
 
 
 
 
 
 
 
 
 
 
 
1497
  #: ../addons/buy-creds/gateways/skrill.php:257
1498
  msgid "Product:"
1499
  msgstr ""
1514
  msgid "Secret Word"
1515
  msgstr ""
1516
 
1517
+ #: ../addons/buy-creds/gateways/skrill.php:322
 
 
 
 
1518
  msgid "Confirmation Email"
1519
  msgstr ""
1520
 
1521
+ #: ../addons/buy-creds/gateways/skrill.php:325
1522
  msgid "Ask Skrill to send me a confirmation email for each successful purchase."
1523
  msgstr ""
1524
 
1525
+ #: ../addons/buy-creds/gateways/skrill.php:328
1526
  msgid "Checkout Page"
1527
  msgstr ""
1528
 
1529
+ #: ../addons/buy-creds/gateways/skrill.php:331 ../addons/gateway/carts/mycred-
1530
+ #: woocommerce.php:93 ../addons/ranks/myCRED-addon-ranks.php:1307 ..
1531
+ #: addons/transfer/includes/mycred-transfer-widgets.php:118 ../includes/mycred-
1532
+ #: widgets.php:196 ../includes/mycred-widgets.php:384 ../includes/mycred-widgets.
1533
+ #: php:592 ../modules/mycred-module-hooks.php:2876
1534
  msgid "Title"
1535
  msgstr ""
1536
 
1537
+ #: ../addons/buy-creds/gateways/skrill.php:333
1538
  msgid "If left empty, your account email is used as title on the Skill Payment Page."
1539
  msgstr ""
1540
 
1541
+ #: ../addons/buy-creds/gateways/skrill.php:336 ../addons/buy-
1542
  #: creds/gateways/zombaio.php:269
1543
  msgid "Logo URL"
1544
  msgstr ""
1545
 
1546
+ #: ../addons/buy-creds/gateways/skrill.php:338
1547
  msgid ""
1548
  "The URL to the image you want to use on the top of the gateway. For best "
1549
  "integration results we recommend you use logos with dimensions up to 200px "
1550
  "in width and 50px in height."
1551
  msgstr ""
1552
 
1553
+ #: ../addons/buy-creds/gateways/skrill.php:341
1554
  msgid "Confirmation Note"
1555
  msgstr ""
1556
 
1557
+ #: ../addons/buy-creds/gateways/skrill.php:343
1558
  msgid ""
1559
  "Optional text to show user once a transaction has been successfully "
1560
  "completed. This text is shown by Skrill."
1561
  msgstr ""
1562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1563
  #: ../addons/buy-creds/gateways/zombaio.php:143
1564
  #, php-format
1565
  msgid "Duplicate transaction. Received: %s"
1605
  msgstr ""
1606
 
1607
  #: ../addons/coupons/myCRED-addon-coupons.php:86 ../addons/coupons/myCRED-addon-
1608
+ #: coupons.php:92 ../addons/coupons/myCRED-addon-coupons.php:500 ..
1609
  #: includes/mycred-overview.php:188 ../includes/mycred-overview.php:195
1610
  msgid "Coupons"
1611
  msgstr ""
1644
  msgstr ""
1645
 
1646
  #: ../addons/coupons/myCRED-addon-coupons.php:98 ../addons/email-notices/myCRED-
1647
+ #: addon-email-notices.php:165 ../addons/email-notices/myCRED-addon-email-notices.
1648
+ #: php:171 ../addons/email-notices/myCRED-addon-email-notices.php:177 ..
1649
+ #: addons/email-notices/myCRED-addon-email-notices.php:283
1650
  msgid "Email Notices"
1651
  msgstr ""
1652
 
1653
  #: ../addons/coupons/myCRED-addon-coupons.php:119 ../addons/coupons/myCRED-addon-
1654
+ #: coupons.php:120 ../addons/coupons/myCRED-addon-coupons.php:121 ..
1655
+ #: addons/coupons/myCRED-addon-coupons.php:122
1656
  msgid "Coupon updated."
1657
  msgstr ""
1658
 
1672
  msgid "Unique Coupon Code"
1673
  msgstr ""
1674
 
1675
+ #: ../addons/coupons/myCRED-addon-coupons.php:158
1676
  msgid "Coupon Code"
1677
  msgstr ""
1678
 
1679
+ #: ../addons/coupons/myCRED-addon-coupons.php:159 ../addons/coupons/myCRED-addon-
1680
+ #: coupons.php:347
1681
  msgid "Value"
1682
  msgstr ""
1683
 
1684
+ #: ../addons/coupons/myCRED-addon-coupons.php:160
1685
+ msgid "Used"
1686
  msgstr ""
1687
 
1688
+ #: ../addons/coupons/myCRED-addon-coupons.php:161 ../addons/transfer/myCRED-addon-
1689
+ #: transfer.php:259 ../modules/mycred-module-hooks.php:1563 ../modules/mycred-
1690
+ #: module-hooks.php:1854
1691
  msgid "Limits"
1692
  msgstr ""
1693
 
1694
+ #: ../addons/coupons/myCRED-addon-coupons.php:162
1695
  msgid "Expires"
1696
  msgstr ""
1697
 
1698
+ #: ../addons/coupons/myCRED-addon-coupons.php:165 ../addons/coupons/myCRED-addon-
1699
+ #: coupons.php:354 ../addons/email-notices/myCRED-addon-email-notices.php:811 ..
1700
+ #: addons/email-notices/myCRED-addon-email-notices.php:1028 ..
1701
+ #: addons/gateway/carts/mycred-marketpress.php:389 ..
1702
+ #: addons/gateway/carts/mycred-woocommerce.php:121 ..
1703
+ #: addons/gateway/carts/mycred-wpecommerce.php:354 ../addons/gateway/event-
1704
+ #: booking/mycred-eventespresso3.php:437 ../addons/gateway/event-booking/mycred-
1705
+ #: eventsmanager-pro.php:504 ../addons/gateway/event-booking/mycred-eventsmanager.
1706
+ #: php:550 ../addons/ranks/myCRED-addon-ranks.php:1041 ../addons/ranks/myCRED-
1707
+ #: addon-ranks.php:1191 ../addons/sell-content/myCRED-addon-sell-content.php:411 .
1708
+ #: ./includes/mycred-widgets.php:203 ../includes/mycred-widgets.php:390 ..
1709
+ #: includes/importers/mycred-cubepoints.php:365
1710
+ msgid "Point Type"
1711
+ msgstr ""
1712
+
1713
+ #: ../addons/coupons/myCRED-addon-coupons.php:193 ../addons/coupons/myCRED-addon-
1714
+ #: coupons.php:461
1715
  msgid "not yet used"
1716
  msgstr ""
1717
 
1718
+ #: ../addons/coupons/myCRED-addon-coupons.php:211 ../includes/mycred-admin.php:
1719
+ #: 395 ../modules/mycred-module-hooks.php:2292
1720
  msgid "Total"
1721
  msgstr ""
1722
 
1723
+ #: ../addons/coupons/myCRED-addon-coupons.php:211
1724
  msgid "Per User"
1725
  msgstr ""
1726
 
1727
+ #: ../addons/coupons/myCRED-addon-coupons.php:219
1728
  msgid "Never"
1729
  msgstr ""
1730
 
1731
+ #: ../addons/coupons/myCRED-addon-coupons.php:223
1732
  msgid "Expired"
1733
  msgstr ""
1734
 
1735
+ #: ../addons/coupons/myCRED-addon-coupons.php:226
1736
  #, php-format
1737
  msgid "In %s time"
1738
  msgstr ""
1739
 
1740
+ #: ../addons/coupons/myCRED-addon-coupons.php:279
1741
  msgid "Coupon Setup"
1742
  msgstr ""
1743
 
1744
+ #: ../addons/coupons/myCRED-addon-coupons.php:288
1745
  msgid "Coupon Limits"
1746
  msgstr ""
1747
 
1748
+ #: ../addons/coupons/myCRED-addon-coupons.php:297
1749
  msgid "Coupon Requirements"
1750
  msgstr ""
1751
 
1752
+ #: ../addons/coupons/myCRED-addon-coupons.php:307
1753
+ msgid "Usage"
1754
  msgstr ""
1755
 
1756
+ #: ../addons/coupons/myCRED-addon-coupons.php:350
1757
+ msgid "The amount of %plural% this coupon is worth."
 
 
 
 
 
 
 
1758
  msgstr ""
1759
 
1760
+ #: ../addons/coupons/myCRED-addon-coupons.php:359
1761
  msgid "Select the point type that this coupon is applied."
1762
  msgstr ""
1763
 
1764
+ #: ../addons/coupons/myCRED-addon-coupons.php:369
1765
  msgid "Expire"
1766
  msgstr ""
1767
 
1768
+ #: ../addons/coupons/myCRED-addon-coupons.php:372
1769
  msgid "Optional date when this coupon expires. Expired coupons will be trashed."
1770
  msgstr ""
1771
 
1772
+ #: ../addons/coupons/myCRED-addon-coupons.php:401
1773
  msgid "Global Maximum"
1774
  msgstr ""
1775
 
1776
+ #: ../addons/coupons/myCRED-addon-coupons.php:404
1777
  msgid ""
1778
  "The maximum number of times this coupon can be used. Note that the coupon "
1779
  "will be automatically trashed once this maximum is reached!"
1780
  msgstr ""
1781
 
1782
+ #: ../addons/coupons/myCRED-addon-coupons.php:408
1783
  msgid "User Maximum"
1784
  msgstr ""
1785
 
1786
+ #: ../addons/coupons/myCRED-addon-coupons.php:411
1787
  msgid "The maximum number of times this coupon can be used by a user."
1788
  msgstr ""
1789
 
1790
+ #: ../addons/coupons/myCRED-addon-coupons.php:440
1791
  msgid ""
1792
  "Optional minimum balance a user must have in order to use this coupon. Use "
1793
  "zero to disable."
1794
  msgstr ""
1795
 
1796
+ #: ../addons/coupons/myCRED-addon-coupons.php:443
1797
  msgid "Maximum Balance"
1798
  msgstr ""
1799
 
1800
+ #: ../addons/coupons/myCRED-addon-coupons.php:445
1801
  msgid ""
1802
  "Optional maximum balance a user can have in order to use this coupon. Use "
1803
  "zero to disable."
1804
  msgstr ""
1805
 
1806
+ #: ../addons/coupons/myCRED-addon-coupons.php:506
1807
  #, php-format
1808
  msgid ""
1809
  "Log entry for successful coupon redemption. Use %coupon% to show the coupon "
1810
  "code."
1811
  msgstr ""
1812
 
1813
+ #: ../addons/coupons/myCRED-addon-coupons.php:509
1814
  msgid "Invalid Coupon Message"
1815
  msgstr ""
1816
 
1817
+ #: ../addons/coupons/myCRED-addon-coupons.php:513
1818
  msgid "Message to show when users try to use a coupon that does not exists."
1819
  msgstr ""
1820
 
1821
+ #: ../addons/coupons/myCRED-addon-coupons.php:516
1822
  msgid "Expired Coupon Message"
1823
  msgstr ""
1824
 
1825
+ #: ../addons/coupons/myCRED-addon-coupons.php:520
1826
  msgid "Message to show when users try to use that has expired."
1827
  msgstr ""
1828
 
1829
+ #: ../addons/coupons/myCRED-addon-coupons.php:523
1830
  msgid "User Limit Message"
1831
  msgstr ""
1832
 
1833
+ #: ../addons/coupons/myCRED-addon-coupons.php:527
1834
  msgid "Message to show when the user limit has been reached for the coupon."
1835
  msgstr ""
1836
 
1837
+ #: ../addons/coupons/myCRED-addon-coupons.php:530
1838
  msgid "Minimum Balance Message"
1839
  msgstr ""
1840
 
1841
+ #: ../addons/coupons/myCRED-addon-coupons.php:534
1842
  msgid ""
1843
  "Message to show when a user does not meet the minimum balance requirement. "
1844
  "(if used)"
1845
  msgstr ""
1846
 
1847
+ #: ../addons/coupons/myCRED-addon-coupons.php:537
1848
  msgid "Maximum Balance Message"
1849
  msgstr ""
1850
 
1851
+ #: ../addons/coupons/myCRED-addon-coupons.php:541
1852
  msgid ""
1853
  "Message to show when a user does not meet the maximum balance requirement. "
1854
  "(if used)"
1855
  msgstr ""
1856
 
1857
+ #: ../addons/coupons/myCRED-addon-coupons.php:544
1858
  msgid "Success Message"
1859
  msgstr ""
1860
 
1861
+ #: ../addons/coupons/myCRED-addon-coupons.php:548
1862
  msgid "Message to show when a coupon was successfully deposited to a users account."
1863
  msgstr ""
1864
 
1870
  msgid "Apply Coupon"
1871
  msgstr ""
1872
 
1873
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:166 ../addons/email-
1874
+ #: notices/myCRED-addon-email-notices.php:1264
1875
  msgid "Email Notice"
1876
  msgstr ""
1877
 
1878
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:168
1879
  msgid "Add New Notice"
1880
  msgstr ""
1881
 
1882
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:169
1883
  msgid "Edit Notice"
1884
  msgstr ""
1885
 
1886
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:170
1887
  msgid "New Notice"
1888
  msgstr ""
1889
 
1890
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:172
1891
  msgid "View Notice"
1892
  msgstr ""
1893
 
1894
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:173
1895
  msgid "Search Email Notices"
1896
  msgstr ""
1897
 
1898
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:174
1899
  msgid "No email notices found"
1900
  msgstr ""
1901
 
1902
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:175
1903
  msgid "No email notices found in Trash"
1904
  msgstr ""
1905
 
1906
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:200 ..
1907
+ #: addons/gateway/carts/mycred-wpecommerce.php:341 ../includes/mycred-functions.
1908
+ #: php:587
1909
  msgid "General"
1910
  msgstr ""
1911
 
1912
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:201
1913
  msgid "users balance changes"
1914
  msgstr ""
1915
 
1916
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:202
1917
  msgid "user gains %_plural%"
1918
  msgstr ""
1919
 
1920
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:203
1921
  msgid "user lose %_plural%"
1922
  msgstr ""
1923
 
1924
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:204
1925
  msgid "users balance reaches zero"
1926
  msgstr ""
1927
 
1928
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:205
1929
  msgid "users balance goes minus"
1930
  msgstr ""
1931
 
1932
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:211
1933
+ msgid "Badge Add-on"
1934
+ msgstr ""
1935
+
1936
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:212
1937
+ msgid "user gains a badge"
1938
+ msgstr ""
1939
+
1940
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:219
1941
  msgid "Sell Content Add-on"
1942
  msgstr ""
1943
 
1944
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:220
1945
  msgid "user buys content"
1946
  msgstr ""
1947
 
1948
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:221
1949
  msgid "authors content gets sold"
1950
  msgstr ""
1951
 
1952
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:228
1953
  msgid "buyCREDs Add-on"
1954
  msgstr ""
1955
 
1956
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:229
1957
  msgid "user buys %_plural%"
1958
  msgstr ""
1959
 
1960
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:236
1961
  msgid "Transfer Add-on"
1962
  msgstr ""
1963
 
1964
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:237
1965
  msgid "user sends %_plural%"
1966
  msgstr ""
1967
 
1968
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:238
1969
  msgid "user receives %_plural%"
1970
  msgstr ""
1971
 
1972
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:245
1973
  msgid "Ranks Add-on"
1974
  msgstr ""
1975
 
1976
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:246
1977
  msgid "user is demoted"
1978
  msgstr ""
1979
 
1980
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:247
1981
  msgid "user is promoted"
1982
  msgstr ""
1983
 
1984
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:285
1985
  msgid ""
1986
  "Settings that apply to all email notices and can not be overridden for "
1987
  "individual emails."
1988
  msgstr ""
1989
 
1990
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:286
1991
  msgid "Email Format"
1992
  msgstr ""
1993
 
1994
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:290
1995
  msgid "Plain text emails only."
1996
  msgstr ""
1997
 
1998
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:294
1999
  msgid "HTML or Plain text emails."
2000
  msgstr ""
2001
 
2002
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:297
2003
  msgid "Filters"
2004
  msgstr ""
2005
 
2006
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:301
2007
  msgid ""
2008
  "Allow WordPress and Third Party Plugins to filter the email subject before "
2009
  "an email is sent."
2010
  msgstr ""
2011
 
2012
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:305
2013
  msgid ""
2014
  "Allow WordPress and Third Party Plugins to filter the email content before "
2015
  "an email is sent."
2016
  msgstr ""
2017
 
2018
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:310 ../addons/email-
2019
+ #: notices/myCRED-addon-email-notices.php:316
2020
  msgid "Email Schedule"
2021
  msgstr ""
2022
 
2023
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:312
2024
  msgid "WordPress Cron is disabled. Emails will be sent immediately."
2025
  msgstr ""
2026
 
2027
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:320
2028
  msgid "Send emails immediately"
2029
  msgstr ""
2030
 
2031
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:324
2032
  msgid "Send emails once an hour"
2033
  msgstr ""
2034
 
2035
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:328
2036
  msgid "Send emails once a day"
2037
  msgstr ""
2038
 
2039
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:331
2040
  msgid "Subscriptions"
2041
  msgstr ""
2042
 
2043
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:333
2044
  #, php-format
2045
  msgid ""
2046
  "Use the %s shortcode to allow users to subscribe / unsubscribe to email "
2047
  "updates."
2048
  msgstr ""
2049
 
2050
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:338
2051
  msgid "SMTP Override"
2052
  msgstr ""
2053
 
2054
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:342
2055
  msgid ""
2056
  "SMTP Debug. Enable if you are experiencing issues with wp_mail() or if you "
2057
  "use a SMTP plugin for emails."
2058
  msgstr ""
2059
 
2060
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:345
2061
  msgid ""
2062
  "Default email settings. These settings can be individually overridden when "
2063
  "editing emails."
2064
  msgstr ""
2065
 
2066
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:346 ../addons/email-
2067
+ #: notices/myCRED-addon-email-notices.php:897
2068
  msgid "Email Settings"
2069
  msgstr ""
2070
 
2071
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:349 ../addons/email-
2072
+ #: notices/myCRED-addon-email-notices.php:1050
2073
  msgid "Senders Name:"
2074
  msgstr ""
2075
 
2076
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:353 ../addons/email-
2077
+ #: notices/myCRED-addon-email-notices.php:1052
2078
  msgid "Senders Email:"
2079
  msgstr ""
2080
 
2081
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:357
2082
  msgid "Reply-To:"
2083
  msgstr ""
2084
 
2085
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:361
2086
  msgid "Default Email Content"
2087
  msgstr ""
2088
 
2089
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:365
2090
  msgid "Default email content."
2091
  msgstr ""
2092
 
2093
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:368
2094
  msgid "Default Email Styling"
2095
  msgstr ""
2096
 
2097
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:372
2098
  msgid "Ignored if HTML is not allowed in emails."
2099
  msgstr ""
2100
 
2101
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:716
2102
+ #, php-format
2103
+ msgctxt "Badge Title - Level 1,2,3.."
2104
+ msgid "%s - Level %d"
2105
  msgstr ""
2106
 
2107
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:806 ../addons/email-
2108
+ #: notices/myCRED-addon-email-notices.php:946
2109
+ msgid "Email Subject"
2110
  msgstr ""
2111
 
2112
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:832
2113
  msgid "Not Active"
2114
  msgstr ""
2115
 
2116
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:835
2117
  #, php-format
2118
  msgid "Scheduled:<br /><strong>%1$s</strong>"
2119
  msgstr ""
2120
 
2121
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:840
2122
  msgid "Active"
2123
  msgstr ""
2124
 
2125
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:842
2126
  #, php-format
2127
  msgid "Active - Last run:<br /><strong>%1$s</strong>"
2128
  msgstr ""
2129
 
2130
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:852
2131
  msgid "Email is sent when"
2132
  msgstr ""
2133
 
2134
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:854
2135
  msgid "Missing instance for this notice!"
2136
  msgstr ""
2137
 
2138
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:863 ../addons/email-
2139
+ #: notices/myCRED-addon-email-notices.php:865 ../addons/email-notices/myCRED-
2140
+ #: addon-email-notices.php:867
2141
  msgid "Sent To"
2142
  msgstr ""
2143
 
2144
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:863 ../addons/email-
2145
+ #: notices/myCRED-addon-email-notices.php:1016 ../includes/mycred-admin.php:754 ..
2146
+ #: includes/mycred-log.php:633 ../modules/mycred-module-log.php:562
2147
  msgid "User"
2148
  msgstr ""
2149
 
2150
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:865 ../addons/email-
2151
+ #: notices/myCRED-addon-email-notices.php:1017
2152
  msgid "Administrator"
2153
  msgstr ""
2154
 
2155
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:867
2156
  msgid "Both Administrator and User"
2157
  msgstr ""
2158
 
2159
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:877 ../addons/email-
2160
+ #: notices/myCRED-addon-email-notices.php:1034
2161
+ msgid "All types"
2162
+ msgstr ""
2163
+
2164
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:906
2165
  msgid "Available Template Tags"
2166
  msgstr ""
2167
 
2168
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:917
2169
  msgid "Email Header"
2170
  msgstr ""
2171
 
2172
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:983
2173
  msgid "Send this email notice when..."
2174
  msgstr ""
2175
 
2176
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1014
2177
  msgid "Recipient:"
2178
  msgstr ""
2179
 
2180
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1018
2181
  msgid "Both"
2182
  msgstr ""
2183
 
2184
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1022 ..
2185
+ #: addons/gateway/carts/mycred-woocommerce.php:161 ../modules/mycred-module-
2186
+ #: settings.php:632 ../modules/mycred-module-settings.php:651 ../modules/mycred-
2187
+ #: module-settings.php:674
2188
  msgid "Label"
2189
  msgstr ""
2190
 
2191
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1054
2192
  msgid "Reply-To Email:"
2193
  msgstr ""
2194
 
2195
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1060
2196
  msgid "Save"
2197
  msgstr ""
2198
 
2199
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1072
2200
  msgid "CSS Styling"
2201
  msgstr ""
2202
 
2203
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1088
2204
  msgid "Site Related"
2205
  msgstr ""
2206
 
2207
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1089
2208
  msgid "Your websites title"
2209
  msgstr ""
2210
 
2211
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1090
2212
  msgid "Your websites address"
2213
  msgstr ""
2214
 
2215
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1091
2216
  msgid "Your websites tagline (description)"
2217
  msgstr ""
2218
 
2219
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1092
2220
  msgid "Your websites admin email"
2221
  msgstr ""
2222
 
2223
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1093
2224
  msgid "Total number of blog members"
2225
  msgstr ""
2226
 
2227
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1097
2228
+ msgid "The users new balance"
2229
+ msgstr ""
2230
+
2231
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1098
2232
+ msgid "The users old balance"
2233
+ msgstr ""
2234
+
2235
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1099
2236
+ msgid "The amount of points gained or lost in this instance"
2237
+ msgstr ""
2238
+
2239
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1100
2240
+ msgid "The log entry"
2241
+ msgstr ""
2242
+
2243
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1175 ../addons/email-
2244
+ #: notices/myCRED-addon-email-notices.php:1178 ../addons/email-notices/myCRED-
2245
+ #: addon-email-notices.php:1184
2246
  msgid "Email Notice Updated."
2247
  msgstr ""
2248
 
2249
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1180
2250
  msgid "Email Notice Activated"
2251
  msgstr ""
2252
 
2253
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1181
2254
  msgid "Email Notice Saved"
2255
  msgstr ""
2256
 
2257
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1200
2258
  msgid ""
2259
  "Once a notice is \"published\" it becomes active! Select \"Save Draft\" if you "
2260
  "are not yet ready to use this email notice!"
2261
  msgstr ""
2262
 
2263
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1202
2264
  #, php-format
2265
  msgid "This notice will become active on:<br /><strong>%1$s</strong>"
2266
  msgstr ""
2267
 
2268
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1204
2269
  msgid "This email notice is active."
2270
  msgstr ""
2271
 
2272
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1215
2273
  msgid "Settings saved."
2274
  msgstr ""
2275
 
2276
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1263
2277
  msgid "Unsubscribe"
2278
  msgstr ""
2279
 
2280
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1284
2281
  msgid "There are no email notifications yet."
2282
  msgstr ""
2283
 
 
 
 
 
2284
  #: ../addons/gateway/carts/mycred-marketpress.php:147 ../addons/gateway/event-
2285
  #: booking/mycred-eventespresso3.php:277 ../addons/gateway/event-booking/mycred-
2286
  #: eventespresso3.php:301 ../addons/gateway/event-booking/mycred-eventsmanager.
2287
+ #: php:412 ../includes/mycred-admin.php:597 ../includes/mycred-admin.php:755
2288
  msgid "Current Balance"
2289
  msgstr ""
2290
 
2323
  msgstr ""
2324
 
2325
  #: ../addons/gateway/carts/mycred-marketpress.php:250 ..
2326
+ #: addons/gateway/carts/mycred-woocommerce.php:34 ../includes/mycred-network.php:
2327
  #: 50 ../includes/mycred-network.php:51
2328
  msgid "myCRED"
2329
  msgstr ""
2330
 
2331
+ #: ../addons/gateway/carts/mycred-marketpress.php:356
2332
  msgid "%_singular% Balance"
2333
  msgstr ""
2334
 
2335
+ #: ../addons/gateway/carts/mycred-marketpress.php:359 ..
2336
  #: addons/gateway/carts/mycred-wpecommerce.php:27
2337
  #, php-format
2338
  msgid "Payment for Order: #%order_id%"
2339
  msgstr ""
2340
 
2341
+ #: ../addons/gateway/carts/mycred-marketpress.php:362
2342
  msgid "Product Sale: %post_title%"
2343
  msgstr ""
2344
 
2345
+ #: ../addons/gateway/carts/mycred-marketpress.php:363
2346
  msgid "Pay using your account balance."
2347
  msgstr ""
2348
 
2349
+ #: ../addons/gateway/carts/mycred-marketpress.php:364
2350
  #, php-format
2351
  msgid ""
2352
  "TOTAL amount has been deducted from your account. Your current balance is: "
2353
  "%balance_f%"
2354
  msgstr ""
2355
 
2356
+ #: ../addons/gateway/carts/mycred-marketpress.php:365 ..
2357
+ #: addons/gateway/carts/mycred-woocommerce.php:259
2358
  msgid "Insufficient funds."
2359
  msgstr ""
2360
 
2361
+ #: ../addons/gateway/carts/mycred-marketpress.php:366
2362
  msgid ""
2363
  "You must be logged in to pay with %_plural%. Please <a "
2364
  "href=\"%login_url_here%\">login</a>."
2365
  msgstr ""
2366
 
2367
+ #: ../addons/gateway/carts/mycred-marketpress.php:373
2368
  #, php-format
2369
  msgid ""
2370
  "Let your users pay for items in their shopping cart using their %s Account. "
2372
  "purchase!"
2373
  msgstr ""
2374
 
2375
+ #: ../addons/gateway/carts/mycred-marketpress.php:376
2376
  msgid "Method Name"
2377
  msgstr ""
2378
 
2379
+ #: ../addons/gateway/carts/mycred-marketpress.php:378
2380
  msgid ""
2381
  "Enter a public name for this payment method that is displayed to users - No "
2382
  "HTML"
2383
  msgstr ""
2384
 
2385
+ #: ../addons/gateway/carts/mycred-marketpress.php:383
2386
  msgid "Gateway Logo URL"
2387
  msgstr ""
2388
 
2389
+ #: ../addons/gateway/carts/mycred-marketpress.php:404 ..
2390
+ #: addons/gateway/carts/mycred-woocommerce.php:137
2391
  #, php-format
2392
  msgid "How much is 1 %_singular% worth in %currency%?"
2393
  msgstr ""
2394
 
2395
+ #: ../addons/gateway/carts/mycred-marketpress.php:409 ..
2396
+ #: addons/gateway/carts/mycred-woocommerce.php:142 ..
2397
+ #: addons/gateway/carts/mycred-wpecommerce.php:360 ../addons/gateway/event-
2398
  #: booking/mycred-eventespresso3.php:450 ../addons/gateway/event-booking/mycred-
2399
  #: eventsmanager-pro.php:540 ../addons/gateway/event-booking/mycred-eventsmanager.
2400
+ #: php:578 ../includes/mycred-shortcodes.php:976
2401
  msgid "Exchange Rate"
2402
  msgstr ""
2403
 
2404
+ #: ../addons/gateway/carts/mycred-marketpress.php:418 ..
2405
+ #: addons/gateway/carts/mycred-woocommerce.php:170 ..
2406
+ #: addons/gateway/carts/mycred-wpecommerce.php:364 ../addons/gateway/event-
2407
  #: booking/mycred-eventespresso3.php:462 ../addons/gateway/event-booking/mycred-
2408
  #: eventsmanager-pro.php:531 ../addons/gateway/event-booking/mycred-eventsmanager.
2409
  #: php:569
2410
  msgid "Profit Sharing"
2411
  msgstr ""
2412
 
2413
+ #: ../addons/gateway/carts/mycred-marketpress.php:421
2414
  msgid "Percentage"
2415
  msgstr ""
2416
 
2417
+ #: ../addons/gateway/carts/mycred-marketpress.php:423 ..
2418
+ #: addons/gateway/carts/mycred-woocommerce.php:172 ..
2419
+ #: addons/gateway/carts/mycred-wpecommerce.php:368 ../addons/gateway/event-
2420
  #: booking/mycred-eventespresso3.php:464 ../addons/gateway/event-booking/mycred-
2421
  #: eventsmanager-pro.php:534 ../addons/gateway/event-booking/mycred-eventsmanager.
2422
  #: php:572
2423
  msgid "Option to share sales with the product owner. Use zero to disable."
2424
  msgstr ""
2425
 
2426
+ #: ../addons/gateway/carts/mycred-marketpress.php:435 ..
2427
+ #: addons/gateway/carts/mycred-wpecommerce.php:375 ../addons/gateway/event-
2428
  #: booking/mycred-eventsmanager-pro.php:607 ../addons/gateway/event-
2429
  #: booking/mycred-eventsmanager.php:626
2430
  msgid "Messages"
2431
  msgstr ""
2432
 
2433
+ #: ../addons/gateway/carts/mycred-marketpress.php:438 ..
2434
+ #: addons/gateway/carts/mycred-wpecommerce.php:386 ../addons/gateway/event-
2435
  #: booking/mycred-eventsmanager-pro.php:617 ../addons/gateway/event-
2436
+ #: booking/mycred-eventsmanager.php:636 ../plugins/mycred-hook-buddypress.php:247
2437
  msgid "Insufficient Funds"
2438
  msgstr ""
2439
 
2440
+ #: ../addons/gateway/carts/mycred-marketpress.php:440
2441
  msgid "Message to show when the user can not use this gateway."
2442
  msgstr ""
2443
 
2444
+ #: ../addons/gateway/carts/mycred-marketpress.php:446 ..
2445
+ #: addons/gateway/carts/mycred-wpecommerce.php:382 ../addons/gateway/event-
2446
  #: booking/mycred-eventespresso3.php:490
2447
  msgid "Visitors"
2448
  msgstr ""
2449
 
2450
+ #: ../addons/gateway/carts/mycred-marketpress.php:448
2451
  msgid "Message to show to buyers that are not logged in."
2452
  msgstr ""
2453
 
2454
+ #: ../addons/gateway/carts/mycred-marketpress.php:454
2455
  msgid "User Instructions"
2456
  msgstr ""
2457
 
2458
+ #: ../addons/gateway/carts/mycred-marketpress.php:456
2459
  msgid "Information to show users before payment."
2460
  msgstr ""
2461
 
2462
+ #: ../addons/gateway/carts/mycred-marketpress.php:462
2463
  msgid "Confirmation Information"
2464
  msgstr ""
2465
 
2466
+ #: ../addons/gateway/carts/mycred-marketpress.php:464
2467
  msgid "Information to display on the order confirmation page. - HTML allowed"
2468
  msgstr ""
2469
 
2470
+ #: ../addons/gateway/carts/mycred-marketpress.php:470
2471
  msgid "Order Confirmation Email"
2472
  msgstr ""
2473
 
2474
+ #: ../addons/gateway/carts/mycred-marketpress.php:472
2475
  #, php-format
2476
  msgid ""
2477
  "This is the email text to send to those who have made %s checkouts. It "
2480
  "PAYMENTINFO, TOTAL, TRACKINGURL. No HTML allowed."
2481
  msgstr ""
2482
 
2483
+ #: ../addons/gateway/carts/mycred-woocommerce.php:35
2484
  msgid "Let users pay using their myCRED balance."
2485
  msgstr ""
2486
 
2487
+ #: ../addons/gateway/carts/mycred-woocommerce.php:86
2488
  msgid "Enable/Disable"
2489
  msgstr ""
2490
 
2491
+ #: ../addons/gateway/carts/mycred-woocommerce.php:88
2492
  msgid "Enable myCRED Payment"
2493
  msgstr ""
2494
 
2495
+ #: ../addons/gateway/carts/mycred-woocommerce.php:90
2496
  msgid ""
2497
  "Users who are not logged in or excluded from using myCRED will not have "
2498
  "access to this gateway!"
2499
  msgstr ""
2500
 
2501
+ #: ../addons/gateway/carts/mycred-woocommerce.php:95
2502
  msgid "Title to show for this payment option."
2503
  msgstr ""
2504
 
2505
+ #: ../addons/gateway/carts/mycred-woocommerce.php:96
2506
  msgid "Pay with myCRED"
2507
  msgstr ""
2508
 
2509
+ #: ../addons/gateway/carts/mycred-woocommerce.php:100
2510
  msgid "Customer Message"
2511
  msgstr ""
2512
 
2513
+ #: ../addons/gateway/carts/mycred-woocommerce.php:111 ..
2514
+ #: addons/gateway/carts/mycred-woocommerce.php:183
2515
  msgid "Refund Log Template"
2516
  msgstr ""
2517
 
2518
+ #: ../addons/gateway/carts/mycred-woocommerce.php:123
2519
  msgid "Select the point type users can use to pay."
2520
  msgstr ""
2521
 
2522
+ #: ../addons/gateway/carts/mycred-woocommerce.php:149
2523
  msgid "Show Total"
2524
  msgstr ""
2525
 
2526
+ #: ../addons/gateway/carts/mycred-woocommerce.php:151
2527
  msgid "Show the final price in %_plural% ."
2528
  msgstr ""
2529
 
2530
+ #: ../addons/gateway/carts/mycred-woocommerce.php:154
2531
  msgid "Show in Cart"
2532
  msgstr ""
2533
 
2534
+ #: ../addons/gateway/carts/mycred-woocommerce.php:155
2535
  msgid "Show on Checkout Page"
2536
  msgstr ""
2537
 
2538
+ #: ../addons/gateway/carts/mycred-woocommerce.php:156
2539
  msgid "Show in Cart and on Checkout Page"
2540
  msgstr ""
2541
 
2542
+ #: ../addons/gateway/carts/mycred-woocommerce.php:163
2543
  msgid "Order Total in %_plural%"
2544
  msgstr ""
2545
 
2546
+ #: ../addons/gateway/carts/mycred-woocommerce.php:179
2547
  msgid "Log entry template for profit sharing."
2548
  msgstr ""
2549
 
2550
+ #: ../addons/gateway/carts/mycred-woocommerce.php:185
2551
  msgid "Log entry template for refunds of profit shares."
2552
  msgstr ""
2553
 
2554
+ #: ../addons/gateway/carts/mycred-woocommerce.php:211
2555
  msgid "myCRED Payment"
2556
  msgstr ""
2557
 
2558
+ #: ../addons/gateway/carts/mycred-woocommerce.php:212
2559
  #, php-format
2560
  msgid ""
2561
  "Allows users to pay using their myCRED %_singular% balance. Please note that "
2563
  "this payment gateway on the checkout page."
2564
  msgstr ""
2565
 
2566
+ #: ../addons/gateway/carts/mycred-woocommerce.php:233
2567
  msgid "You must be logged in to pay with %_plural%"
2568
  msgstr ""
2569
 
2570
+ #: ../addons/gateway/carts/mycred-woocommerce.php:239
2571
  msgid "You can not use this gateway. Please try a different payment option."
2572
  msgstr ""
2573
 
2574
+ #: ../addons/gateway/carts/mycred-woocommerce.php:396
2575
  msgid "Your account has successfully been charged."
2576
  msgstr ""
2577
 
2578
+ #: ../addons/gateway/carts/mycred-woocommerce.php:708 ..
2579
  #: addons/gateway/carts/mycred-wpecommerce.php:131
2580
  msgid "Your current balance"
2581
  msgstr ""
2600
  msgid "You can not use this gateway."
2601
  msgstr ""
2602
 
2603
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:344
2604
  msgid "Log Template for Payments"
2605
  msgstr ""
2606
 
2607
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:361
2608
  #, php-format
2609
  msgid "How much is 1 %s worth in %s"
2610
  msgstr ""
2611
 
2612
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:378
2613
  msgid "Instructions"
2614
  msgstr ""
2615
 
2616
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:379
2617
  msgid ""
2618
  "Optional instructions to show users when selecting this gateway. Leave empty "
2619
  "to hide."
2620
  msgstr ""
2621
 
2622
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:383
2623
  msgid "Message to show visitors who are not logged in."
2624
  msgstr ""
2625
 
2626
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:387
2627
  msgid ""
2628
  "Message to show when users does not have enough %plural% to pay using this "
2629
  "gateway."
2679
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:428 ..
2680
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:593 ..
2681
  #: addons/gateway/event-booking/mycred-eventsmanager.php:619 ../addons/sell-
2682
+ #: content/myCRED-addon-sell-content.php:459 ../addons/sell-content/myCRED-addon-
2683
+ #: sell-content.php:686 ../addons/transfer/includes/mycred-transfer-widgets.php:130
2684
  msgid "Button Label"
2685
  msgstr ""
2686
 
2693
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:142 ..
2694
  #: addons/gateway/event-booking/mycred-eventsmanager.php:336 ..
2695
  #: addons/gateway/event-booking/mycred-eventsmanager.php:339 ../addons/sell-
2696
+ #: content/myCRED-addon-sell-content.php:450 ../addons/sell-content/myCRED-addon-
2697
+ #: sell-content.php:682
2698
  msgid "Price"
2699
  msgstr ""
2700
 
2701
+ #: ../addons/gateway/event-booking/mycred-eventespresso3.php:455
2702
+ msgid "Important!"
2703
+ msgstr ""
2704
+
2705
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:457
2706
  msgid ""
2707
  "You can disable purchases using this gateway by adding a custom Event Meta: "
2718
  msgstr ""
2719
 
2720
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:470 ..
2721
+ #: includes/mycred-admin.php:718 ../includes/mycred-admin.php:760
2722
  msgid "Log Entry"
2723
  msgstr ""
2724
 
2725
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:477 ../addons/sell-
2726
+ #: content/myCRED-addon-sell-content.php:473
2727
  msgid "Templates"
2728
  msgstr ""
2729
 
2807
  msgstr ""
2808
 
2809
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:397 ..
2810
+ #: modules/mycred-module-log.php:522 ../modules/mycred-module-settings.php:636 ..
2811
+ #: modules/mycred-module-settings.php:655
2812
  msgid "Delete"
2813
  msgstr ""
2814
 
2920
  "zero for no refunds. No refunds are given to \"Rejected\" bookings."
2921
  msgstr ""
2922
 
2923
+ #: ../addons/notifications/myCRED-addon-notifications.php:193
2924
  msgid "Notifications"
2925
  msgstr ""
2926
 
2927
+ #: ../addons/notifications/myCRED-addon-notifications.php:195
2928
  msgid "Styling"
2929
  msgstr ""
2930
 
2931
+ #: ../addons/notifications/myCRED-addon-notifications.php:198
2932
  msgid "Use the included CSS Styling for notifications."
2933
  msgstr ""
2934
 
2935
+ #: ../addons/notifications/myCRED-addon-notifications.php:201 ..
2936
+ #: addons/ranks/myCRED-addon-ranks.php:1417 ../addons/ranks/myCRED-addon-ranks.
2937
+ #: php:1463 ../modules/mycred-module-buddypress.php:428
2938
  msgid "Template"
2939
  msgstr ""
2940
 
2941
+ #: ../addons/notifications/myCRED-addon-notifications.php:205
2942
  #, php-format
2943
  msgid "Use %entry% to show the log entry in the notice and %amount% for the amount."
2944
  msgstr ""
2945
 
2946
+ #: ../addons/notifications/myCRED-addon-notifications.php:205
2947
+ msgid "Restore to default"
2948
+ msgstr ""
2949
+
2950
+ #: ../addons/notifications/myCRED-addon-notifications.php:208
2951
  msgid "Transient Lifespan"
2952
  msgstr ""
2953
 
2954
+ #: ../addons/notifications/myCRED-addon-notifications.php:212
2955
  msgid ""
2956
  "The number of days a users notification is saved before being automatically "
2957
  "deleted."
2958
  msgstr ""
2959
 
2960
+ #: ../addons/notifications/myCRED-addon-notifications.php:215
2961
  msgid "Duration"
2962
  msgstr ""
2963
 
2964
+ #: ../addons/notifications/myCRED-addon-notifications.php:219
2965
  msgid ""
2966
+ "Number of seconds before a notice is automatically removed after being shown "
2967
+ "to user. Use zero to disable."
2968
+ msgstr ""
2969
+
2970
+ #: ../addons/ranks/myCRED-addon-ranks.php:211 ../addons/ranks/myCRED-addon-ranks.
2971
+ #: php:212 ../addons/ranks/myCRED-addon-ranks.php:440 ../addons/ranks/myCRED-
2972
+ #: addon-ranks.php:449 ../addons/ranks/myCRED-addon-ranks.php:455 ..
2973
+ #: addons/ranks/myCRED-addon-ranks.php:831 ../addons/ranks/myCRED-addon-ranks.
2974
+ #: php:1299 ../addons/ranks/myCRED-addon-ranks.php:1590
2975
+ msgid "Ranks"
2976
  msgstr ""
2977
 
2978
+ #: ../addons/ranks/myCRED-addon-ranks.php:422
2979
  msgid "Warning! All ranks will be deleted! This can not be undone!"
2980
  msgstr ""
2981
 
2982
+ #: ../addons/ranks/myCRED-addon-ranks.php:423
2983
  msgid "Are you sure you want to re-assign user ranks?"
2984
  msgstr ""
2985
 
2986
+ #: ../addons/ranks/myCRED-addon-ranks.php:438
2987
+ #, php-format
2988
+ msgid "Ranks for %s"
 
2989
  msgstr ""
2990
 
2991
+ #: ../addons/ranks/myCRED-addon-ranks.php:444 ../addons/ranks/myCRED-addon-ranks.
2992
+ #: php:831
 
2993
  msgid "Rank"
2994
  msgstr ""
2995
 
2996
+ #: ../addons/ranks/myCRED-addon-ranks.php:446
2997
  msgid "Add New Rank"
2998
  msgstr ""
2999
 
3000
+ #: ../addons/ranks/myCRED-addon-ranks.php:447
3001
  msgid "Edit Rank"
3002
  msgstr ""
3003
 
3004
+ #: ../addons/ranks/myCRED-addon-ranks.php:448
3005
  msgid "New Rank"
3006
  msgstr ""
3007
 
3008
+ #: ../addons/ranks/myCRED-addon-ranks.php:450
3009
  msgid "View Rank"
3010
  msgstr ""
3011
 
3012
+ #: ../addons/ranks/myCRED-addon-ranks.php:451
3013
  msgid "Search Ranks"
3014
  msgstr ""
3015
 
3016
+ #: ../addons/ranks/myCRED-addon-ranks.php:452
3017
  msgid "No ranks found"
3018
  msgstr ""
3019
 
3020
+ #: ../addons/ranks/myCRED-addon-ranks.php:453
3021
  msgid "No ranks found in Trash"
3022
  msgstr ""
3023
 
3024
+ #: ../addons/ranks/myCRED-addon-ranks.php:537
3025
  #, php-format
3026
  msgid "Completed - Total of %d users effected"
3027
  msgstr ""
3028
 
3029
+ #: ../addons/ranks/myCRED-addon-ranks.php:975 ../addons/ranks/myCRED-addon-ranks.
3030
+ #: php:976 ../addons/ranks/myCRED-addon-ranks.php:977 ../addons/ranks/myCRED-
3031
+ #: addon-ranks.php:978 ../addons/ranks/myCRED-addon-ranks.php:979 ..
3032
+ #: addons/ranks/myCRED-addon-ranks.php:980 ../addons/ranks/myCRED-addon-ranks.
3033
+ #: php:983 ../addons/ranks/myCRED-addon-ranks.php:984
 
 
3034
  msgid "Rank Updated."
3035
  msgstr ""
3036
 
3037
+ #: ../addons/ranks/myCRED-addon-ranks.php:981
3038
  msgid "Rank Enabled"
3039
  msgstr ""
3040
 
3041
+ #: ../addons/ranks/myCRED-addon-ranks.php:982
3042
  msgid "Rank Saved"
3043
  msgstr ""
3044
 
3045
+ #: ../addons/ranks/myCRED-addon-ranks.php:1019
3046
+ #, php-format
3047
+ msgid "<strong>Rank:</strong> %s"
3048
+ msgstr ""
3049
+
3050
+ #: ../addons/ranks/myCRED-addon-ranks.php:1035 ../addons/ranks/myCRED-addon-ranks.
3051
+ #: php:1116
3052
  msgid "Rank Title"
3053
  msgstr ""
3054
 
3055
+ #: ../addons/ranks/myCRED-addon-ranks.php:1036
3056
  msgid "Logo"
3057
  msgstr ""
3058
 
3059
+ #: ../addons/ranks/myCRED-addon-ranks.php:1037
3060
  msgid "Requirement"
3061
  msgstr ""
3062
 
3063
+ #: ../addons/ranks/myCRED-addon-ranks.php:1062
3064
  msgid "No Logo Set"
3065
  msgstr ""
3066
 
3067
+ #: ../addons/ranks/myCRED-addon-ranks.php:1077 ../addons/ranks/myCRED-addon-ranks.
3068
+ #: php:1082
3069
  msgid "Any Value"
3070
  msgstr ""
3071
 
3072
+ #: ../addons/ranks/myCRED-addon-ranks.php:1084
3073
  msgid "Maximum %plural%"
3074
  msgstr ""
3075
 
3076
+ #: ../addons/ranks/myCRED-addon-ranks.php:1129
3077
  msgid "Rank Settings"
3078
  msgstr ""
3079
 
3080
+ #: ../addons/ranks/myCRED-addon-ranks.php:1182
3081
  msgid "Minimum %plural% to reach this rank"
3082
  msgstr ""
3083
 
3084
+ #: ../addons/ranks/myCRED-addon-ranks.php:1186
3085
  msgid "Maximum %plural% to be included in this rank"
3086
  msgstr ""
3087
 
3088
+ #: ../addons/ranks/myCRED-addon-ranks.php:1204
3089
  msgid "All Published Ranks"
3090
  msgstr ""
3091
 
3092
+ #: ../addons/ranks/myCRED-addon-ranks.php:1214 ../addons/ranks/myCRED-addon-ranks.
3093
+ #: php:1216
3094
  msgid "Not Set"
3095
  msgstr ""
3096
 
3097
+ #: ../addons/ranks/myCRED-addon-ranks.php:1222
3098
  msgid "No Ranks found"
3099
  msgstr ""
3100
 
3101
+ #: ../addons/ranks/myCRED-addon-ranks.php:1304
3102
  msgid "Rank Features"
3103
  msgstr ""
3104
 
3105
+ #: ../addons/ranks/myCRED-addon-ranks.php:1308
3106
  msgid "%plural% requirement"
3107
  msgstr ""
3108
 
3109
+ #: ../addons/ranks/myCRED-addon-ranks.php:1309
3110
  msgid "Featured Image (Logo)"
3111
  msgstr ""
3112
 
3113
+ #: ../addons/ranks/myCRED-addon-ranks.php:1311
3114
  msgid "Content"
3115
  msgstr ""
3116
 
3117
+ #: ../addons/ranks/myCRED-addon-ranks.php:1313
3118
  msgid "Excerpt"
3119
  msgstr ""
3120
 
3121
+ #: ../addons/ranks/myCRED-addon-ranks.php:1315
3122
  msgid "Comments"
3123
  msgstr ""
3124
 
3125
+ #: ../addons/ranks/myCRED-addon-ranks.php:1317
3126
  msgid "Page Attributes"
3127
  msgstr ""
3128
 
3129
+ #: ../addons/ranks/myCRED-addon-ranks.php:1319
3130
  msgid "Custom Fields"
3131
  msgstr ""
3132
 
3133
+ #: ../addons/ranks/myCRED-addon-ranks.php:1323
3134
  msgid "Public"
3135
  msgstr ""
3136
 
3137
+ #: ../addons/ranks/myCRED-addon-ranks.php:1327
3138
  msgid ""
3139
  "If you want to create a template archive for each rank, you must select to "
3140
  "have ranks public. Defaults to disabled."
3141
  msgstr ""
3142
 
3143
+ #: ../addons/ranks/myCRED-addon-ranks.php:1330
3144
+ msgid "Archive URL"
3145
+ msgstr ""
3146
+
3147
+ #: ../addons/ranks/myCRED-addon-ranks.php:1334
3148
+ msgid "Ignored if Ranks are not public"
3149
+ msgstr ""
3150
+
3151
+ #: ../addons/ranks/myCRED-addon-ranks.php:1337
3152
+ msgid "Display Order"
3153
+ msgstr ""
3154
+
3155
+ #: ../addons/ranks/myCRED-addon-ranks.php:1345
3156
+ msgid "Ascending - Lowest rank to highest"
3157
+ msgstr ""
3158
+
3159
+ #: ../addons/ranks/myCRED-addon-ranks.php:1346
3160
+ msgid "Descending - Highest rank to lowest"
3161
+ msgstr ""
3162
+
3163
+ #: ../addons/ranks/myCRED-addon-ranks.php:1357
3164
+ msgid ""
3165
+ "Select in what order ranks should be displayed in your admin area and/or "
3166
+ "front if ranks are \"Public\""
3167
+ msgstr ""
3168
+
3169
+ #: ../addons/ranks/myCRED-addon-ranks.php:1363
3170
  msgid "Rank Basis"
3171
  msgstr ""
3172
 
3173
+ #: ../addons/ranks/myCRED-addon-ranks.php:1366
3174
  msgid "Users are ranked according to their current balance."
3175
  msgstr ""
3176
 
3177
+ #: ../addons/ranks/myCRED-addon-ranks.php:1369
3178
  msgid ""
3179
  "Users are ranked according to the total amount of %_plural% they have "
3180
  "accumulated."
3181
  msgstr ""
3182
 
3183
+ #: ../addons/ranks/myCRED-addon-ranks.php:1373 ../addons/ranks/myCRED-addon-ranks.
3184
+ #: php:1378
3185
  msgid "Calculate Totals"
3186
  msgstr ""
3187
 
3188
+ #: ../addons/ranks/myCRED-addon-ranks.php:1376
3189
  msgid ""
3190
+ "Use this button to calculate or recalculate your users totals. If not used, "
3191
  "the users current balance will be used as a starting point."
3192
  msgstr ""
3193
 
3194
+ #: ../addons/ranks/myCRED-addon-ranks.php:1376
3195
  msgid ""
3196
  "Once a users total has been calculated, they will be assigned to their "
3197
  "appropriate roles. For this reason, it is highly recommended that you first "
3198
  "setup your ranks!"
3199
  msgstr ""
3200
 
3201
+ #: ../addons/ranks/myCRED-addon-ranks.php:1377
3202
  msgid ""
3203
  "Depending on your log size and number of users this process may take a while."
3204
  " Please do not leave, click \"Update Settings\" or re-fresh this page until "
3205
  "this is completed!"
3206
  msgstr ""
3207
 
3208
+ #: ../addons/ranks/myCRED-addon-ranks.php:1394 ../addons/ranks/myCRED-addon-ranks.
3209
+ #: php:1440 ../modules/mycred-module-buddypress.php:391
3210
+ msgid "Do not show."
 
 
 
3211
  msgstr ""
3212
 
3213
+ #: ../addons/ranks/myCRED-addon-ranks.php:1395
3214
+ msgid "Include in Profile Header."
3215
  msgstr ""
3216
 
3217
+ #: ../addons/ranks/myCRED-addon-ranks.php:1397
3218
+ msgid "Include under the \"Profile\" tab and Profile Header."
3219
  msgstr ""
3220
 
3221
+ #: ../addons/ranks/myCRED-addon-ranks.php:1402
3222
+ msgid "Rank in BuddyPress"
3223
  msgstr ""
3224
 
3225
+ #: ../addons/ranks/myCRED-addon-ranks.php:1419 ../addons/ranks/myCRED-addon-ranks.
3226
+ #: php:1465
3227
+ #, php-format
3228
  msgid ""
3229
+ "Template to use when showing a users Rank in BuddyPress. Use %rank_title% "
3230
+ "for the title and %rank_logo% to show the rank logo. HTML is allowed."
 
 
 
 
 
3231
  msgstr ""
3232
 
3233
+ #: ../addons/ranks/myCRED-addon-ranks.php:1441
3234
+ msgid "Include in Topic Replies"
3235
  msgstr ""
3236
 
3237
+ #: ../addons/ranks/myCRED-addon-ranks.php:1443
3238
+ msgid "Include in Topic Replies and Profile"
3239
  msgstr ""
3240
 
3241
+ #: ../addons/ranks/myCRED-addon-ranks.php:1448
3242
+ msgid "Rank in bbPress"
3243
  msgstr ""
3244
 
3245
+ #: ../addons/ranks/myCRED-addon-ranks.php:1528
3246
  msgid "Script Communication Error"
3247
  msgstr ""
3248
 
3249
+ #: ../addons/ranks/myCRED-addon-ranks.php:1593 ../modules/mycred-module-settings.
3250
+ #: php:596
3251
+ msgid "User Meta Key"
3252
  msgstr ""
3253
 
3254
+ #: ../addons/ranks/myCRED-addon-ranks.php:1597
3255
  msgid "No. of ranks"
3256
  msgstr ""
3257
 
3258
+ #: ../addons/ranks/myCRED-addon-ranks.php:1602
3259
  msgid "Remove All Ranks"
3260
  msgstr ""
3261
 
3262
+ #: ../addons/ranks/myCRED-addon-ranks.php:1602
3263
  msgid "Assign Ranks to Users"
3264
  msgstr ""
3265
 
3266
+ #: ../addons/ranks/includes/mycred-rank-functions.php:257
3267
  msgid "mycred_get_users_rank() : Missing required user id"
3268
  msgstr ""
3269
 
3270
+ #: ../addons/ranks/includes/mycred-rank-functions.php:270
3271
  msgid "no rank"
3272
  msgstr ""
3273
 
3274
+ #: ../addons/ranks/includes/mycred-rank-shortcodes.php:115 ..
3275
+ #: addons/ranks/includes/mycred-rank-shortcodes.php:202
3276
  msgid "No users found with this rank"
3277
  msgstr ""
3278
 
3279
+ #: ../addons/ranks/includes/mycred-rank-shortcodes.php:122 ../includes/mycred-
3280
+ #: shortcodes.php:525
 
 
3281
  msgid "error"
3282
  msgstr ""
3283
 
3284
+ #: ../addons/ranks/includes/mycred-rank-shortcodes.php:122
3285
  msgid "Rank ID is required!"
3286
  msgstr ""
3287
 
3288
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:74
3289
  msgid "Hours"
3290
  msgstr ""
3291
 
3292
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:111
3293
  msgid "Profit Share"
3294
  msgstr ""
3295
 
3296
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:119
3297
  msgid "Save Profit Share"
3298
  msgstr ""
3299
 
3300
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:165
3301
  msgid "Profit Share override saved"
3302
  msgstr ""
3303
 
3304
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:327
3305
  msgid "You can not buy this content."
3306
  msgstr ""
3307
 
3308
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:372
3309
  msgid "Error. Try Again"
3310
  msgstr ""
3311
 
3312
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:394
3313
  msgid "No Payout. Just charge."
3314
  msgstr ""
3315
 
3316
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:395
3317
  msgid "Pay Content Author."
3318
  msgstr ""
3319
 
3320
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:401 ../includes/mycred-
3321
  #: overview.php:141 ../includes/mycred-overview.php:148
3322
  msgid "Sell Content"
3323
  msgstr ""
3324
 
3325
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:403
3326
  msgid "Post Types"
3327
  msgstr ""
3328
 
3329
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:407
3330
  msgid "Comma separated list of post types that can be sold."
3331
  msgstr ""
3332
 
3333
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:437
3334
  msgid "Percentage to pay Author"
3335
  msgstr ""
3336
 
3337
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:439
3338
  msgid ""
3339
  "Percentage of the price to pay the author. Can not be zero and is ignored if "
3340
  "authors are not paid."
3341
  msgstr ""
3342
 
3343
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:447
3344
  msgid "Defaults"
3345
  msgstr ""
3346
 
3347
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:455
3348
  msgid "Allow authors to change price."
3349
  msgstr ""
3350
 
3351
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:464
3352
  msgid "Allow authors to change button label."
3353
  msgstr ""
3354
 
3355
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:468
3356
  msgid "Purchases expire after"
3357
  msgstr ""
3358
 
3359
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:470
3360
  msgid "Use zero for permanent sales."
3361
  msgstr ""
3362
 
3363
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:476
3364
  msgid "For Visitors"
3365
  msgstr ""
3366
 
3367
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:486
3368
  #, php-format
3369
  msgid ""
3370
  "Do <strong>not</strong> use the %buy_button% in this template as a user must "
3371
  "be logged in to buy content!"
3372
  msgstr ""
3373
 
3374
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:491
3375
  msgid "For Members"
3376
  msgstr ""
3377
 
3378
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:501 ../addons/sell-
3379
+ #: content/myCRED-addon-sell-content.php:516
3380
  #, php-format
3381
  msgid "Your template must contain the %buy_button% tag for purchases to work!"
3382
  msgstr ""
3383
 
3384
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:506
3385
  msgid "For members that can not afford to buy"
3386
  msgstr ""
3387
 
3388
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:520
3389
  msgid "Log template for Purchases"
3390
  msgstr ""
3391
 
3392
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:527
3393
  msgid "Log template for Sales"
3394
  msgstr ""
3395
 
3396
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:580
3397
  #, php-format
3398
  msgid "%s Sell This"
3399
  msgstr ""
3400
 
3401
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:635
3402
  #, php-format
3403
  msgid "%s Sell Content needs to be setup before you can use this feature."
3404
  msgstr ""
3405
 
3406
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:638
3407
  msgid "Setup add-on"
3408
  msgstr ""
3409
 
3410
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:638
3411
  msgid "Lets do it"
3412
  msgstr ""
3413
 
3414
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:676
3415
  #, php-format
3416
  msgid "Enable sale of this %s"
3417
  msgstr ""
3418
 
3419
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:690
3420
  msgid "Purchase expires after"
3421
  msgstr ""
3422
 
3423
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:1016
3424
  msgid "Thank you for your purchase!"
3425
  msgstr ""
3426
 
3427
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:1104 ../addons/sell-
3428
+ #: content/myCRED-addon-sell-content.php:1190
3429
  msgid "The following content is set for sale:"
3430
  msgstr ""
3431
 
3432
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:1253
3433
  msgid "Purchased"
3434
  msgstr ""
3435
 
3436
+ #: ../addons/stats/myCRED-addon-stats.php:54
3437
+ msgid "Statistics"
3438
  msgstr ""
3439
 
3440
+ #: ../addons/stats/myCRED-addon-stats.php:126
3441
+ msgid "Overview"
3442
  msgstr ""
3443
 
3444
+ #: ../addons/stats/myCRED-addon-stats.php:192
3445
+ msgid "Refresh"
 
3446
  msgstr ""
3447
 
3448
+ #: ../addons/stats/myCRED-addon-stats.php:248
3449
+ msgid "Your log is empty. No statistics can be shown."
3450
  msgstr ""
3451
 
3452
+ #: ../addons/stats/abstracts/mycred-abstract-stat-widget.php:102 ..
3453
+ #: includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
3454
+ #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
3455
+ msgid "View Log"
3456
  msgstr ""
3457
 
3458
+ #: ../addons/stats/abstracts/mycred-abstract-stat-widget.php:105 ..
3459
+ #: modules/mycred-module-hooks.php:25 ../modules/mycred-module-hooks.php:26 ..
3460
+ #: modules/mycred-module-hooks.php:27
3461
+ msgid "Hooks"
3462
  msgstr ""
3463
 
3464
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:44
3465
+ #, php-format
3466
+ msgid "Total %s:"
3467
  msgstr ""
3468
 
3469
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:136 ..
3470
+ #: includes/mycred-overview.php:78
3471
+ msgid "Total amount in circulation"
3472
  msgstr ""
3473
 
3474
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:138
3475
+ #, php-format
3476
+ msgid "Total amount of %s in circulation"
3477
  msgstr ""
3478
 
3479
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:170
3480
+ msgid "Total gains (%)"
 
 
3481
  msgstr ""
3482
 
3483
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:174
3484
+ msgid "Total loses (%)"
 
3485
  msgstr ""
3486
 
3487
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:178
3488
+ #, php-format
3489
+ msgid "Total Gained: %s"
3490
  msgstr ""
3491
 
3492
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:178
3493
+ #, php-format
3494
+ msgid "Total Spent: %s"
3495
  msgstr ""
3496
 
3497
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:189 ..
3498
+ #: includes/mycred-log.php:837 ../modules/mycred-module-buddypress.php:222
3499
+ msgid "Today"
3500
+ msgstr ""
3501
+
3502
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:190 ..
3503
+ #: includes/mycred-log.php:839 ../modules/mycred-module-buddypress.php:224
3504
+ msgid "This Week"
3505
+ msgstr ""
3506
+
3507
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:191 ..
3508
+ #: includes/mycred-log.php:840 ../modules/mycred-module-buddypress.php:225
3509
+ msgid "This Month"
3510
+ msgstr ""
3511
+
3512
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:192
3513
+ msgid "This Year"
3514
+ msgstr ""
3515
+
3516
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:196 ..
3517
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:198 ..
3518
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:200 ..
3519
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:202
3520
+ msgid "Gained"
3521
+ msgstr ""
3522
+
3523
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:197 ..
3524
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:199 ..
3525
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:201 ..
3526
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:203
3527
+ msgid "Lost"
3528
+ msgstr ""
3529
+
3530
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:118
3531
+ msgid "Most common ways your users have gained points during this period."
3532
+ msgstr ""
3533
+
3534
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:120
3535
+ #, php-format
3536
+ msgid "Most common ways your users have gained %_plural% during this period."
3537
+ msgstr ""
3538
+
3539
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:127
3540
+ msgid "Gains in the last 10 days"
3541
+ msgstr ""
3542
+
3543
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:152 ..
3544
+ #: addons/stats/widgets/mycred-stats-widget-daily-loses.php:152
3545
+ msgid "View"
3546
+ msgstr ""
3547
+
3548
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:167 ..
3549
+ #: addons/stats/widgets/mycred-stats-widget-daily-loses.php:167
3550
+ msgid "No data found"
3551
+ msgstr ""
3552
+
3553
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-loses.php:118
3554
+ msgid "Most common ways your users have lost or spent points during this period."
3555
+ msgstr ""
3556
+
3557
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-loses.php:120
3558
+ #, php-format
3559
+ msgid "Most common ways your users have lost or spent %_plural% during this period."
3560
+ msgstr ""
3561
+
3562
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-loses.php:127
3563
+ msgid "Loses in the last 10 days"
3564
+ msgstr ""
3565
+
3566
+ #: ../addons/transfer/myCRED-addon-transfer.php:44
3567
+ msgid "You do not have enough %plural% to send."
3568
+ msgstr ""
3569
+
3570
+ #: ../addons/transfer/myCRED-addon-transfer.php:45
3571
+ msgid "You have exceeded your %limit% transfer limit."
3572
+ msgstr ""
3573
+
3574
+ #: ../addons/transfer/myCRED-addon-transfer.php:51 ../includes/mycred-functions.
3575
+ #: php:2446
3576
+ msgid "Transfer"
3577
+ msgstr ""
3578
+
3579
+ #: ../addons/transfer/myCRED-addon-transfer.php:154
3580
+ msgid "Transaction completed."
3581
+ msgstr ""
3582
+
3583
+ #: ../addons/transfer/myCRED-addon-transfer.php:155
3584
+ msgid "Security token could not be verified. Please contact your site administrator!"
3585
+ msgstr ""
3586
+
3587
+ #: ../addons/transfer/myCRED-addon-transfer.php:156
3588
+ msgid "Communications error. Please try again later."
3589
+ msgstr ""
3590
+
3591
+ #: ../addons/transfer/myCRED-addon-transfer.php:157
3592
+ msgid "Recipient not found. Please try again."
3593
+ msgstr ""
3594
+
3595
+ #: ../addons/transfer/myCRED-addon-transfer.php:158
3596
+ msgid "Transaction declined by recipient."
3597
+ msgstr ""
3598
+
3599
+ #: ../addons/transfer/myCRED-addon-transfer.php:159
3600
+ msgid "Incorrect amount. Please try again."
3601
+ msgstr ""
3602
+
3603
+ #: ../addons/transfer/myCRED-addon-transfer.php:160
3604
+ msgid ""
3605
+ "This myCRED Add-on has not yet been setup! No transfers are allowed until "
3606
+ "this has been done!"
3607
+ msgstr ""
3608
+
3609
+ #: ../addons/transfer/myCRED-addon-transfer.php:161 ../includes/mycred-functions.
3610
+ #: php:2574
3611
+ msgid "Insufficient Funds. Please try a lower amount."
3612
+ msgstr ""
3613
+
3614
+ #: ../addons/transfer/myCRED-addon-transfer.php:162
3615
+ msgid "Transfer Limit exceeded."
3616
+ msgstr ""
3617
+
3618
+ #: ../addons/transfer/myCRED-addon-transfer.php:189
3619
+ msgid "No limits."
3620
+ msgstr ""
3621
+
3622
+ #: ../addons/transfer/myCRED-addon-transfer.php:190
3623
  msgid "Impose daily limit."
3624
  msgstr ""
3625
 
3626
+ #: ../addons/transfer/myCRED-addon-transfer.php:191
3627
  msgid "Impose weekly limit."
3628
  msgstr ""
3629
 
3630
+ #: ../addons/transfer/myCRED-addon-transfer.php:198
3631
  msgid "User Login (user_login)"
3632
  msgstr ""
3633
 
3634
+ #: ../addons/transfer/myCRED-addon-transfer.php:199
3635
  msgid "User Email (user_email)"
3636
  msgstr ""
3637
 
3638
+ #: ../addons/transfer/myCRED-addon-transfer.php:207 ../includes/mycred-overview.
3639
  #: php:120 ../includes/mycred-overview.php:127
3640
  msgid "Transfers"
3641
  msgstr ""
3642
 
3643
+ #: ../addons/transfer/myCRED-addon-transfer.php:216
3644
  msgid "Select the point types that users can transfer."
3645
  msgstr ""
3646
 
3647
+ #: ../addons/transfer/myCRED-addon-transfer.php:224
3648
  msgid "Log template for sending"
3649
  msgstr ""
3650
 
3651
+ #: ../addons/transfer/myCRED-addon-transfer.php:231
3652
  msgid "Log template for receiving"
3653
  msgstr ""
3654
 
3655
+ #: ../addons/transfer/myCRED-addon-transfer.php:238
3656
  msgid "Autofill Recipient"
3657
  msgstr ""
3658
 
3659
+ #: ../addons/transfer/myCRED-addon-transfer.php:250
3660
  msgid "Select what user details recipients should be autofilled by."
3661
  msgstr ""
3662
 
3663
+ #: ../addons/transfer/myCRED-addon-transfer.php:253
3664
  msgid "Reload"
3665
  msgstr ""
3666
 
3667
+ #: ../addons/transfer/myCRED-addon-transfer.php:256
3668
  msgid "Reload page on successful transfers."
3669
  msgstr ""
3670
 
3671
+ #: ../addons/transfer/myCRED-addon-transfer.php:276
3672
  msgid "Limit Amount"
3673
  msgstr ""
3674
 
3675
+ #: ../addons/transfer/myCRED-addon-transfer.php:280
3676
  msgid "Form Templates"
3677
  msgstr ""
3678
 
3679
+ #: ../addons/transfer/myCRED-addon-transfer.php:283
3680
  msgid "Not logged in Template"
3681
  msgstr ""
3682
 
3683
+ #: ../addons/transfer/myCRED-addon-transfer.php:285
3684
  msgid ""
3685
  "Text to show when users are not logged in. Leave empty to hide. No HTML "
3686
  "elements allowed!"
3687
  msgstr ""
3688
 
3689
+ #: ../addons/transfer/myCRED-addon-transfer.php:289
3690
  msgid "Balance Template"
3691
  msgstr ""
3692
 
3693
+ #: ../addons/transfer/myCRED-addon-transfer.php:291
3694
  msgid ""
3695
  "Template to use when displaying the users balance (if included). No HTML "
3696
  "elements allowed!"
3697
  msgstr ""
3698
 
3699
+ #: ../addons/transfer/myCRED-addon-transfer.php:295
3700
  msgid "Limit Template"
3701
  msgstr ""
3702
 
3703
+ #: ../addons/transfer/myCRED-addon-transfer.php:297
3704
  msgid "Template to use when displaying limits (if used). No HTML elements allowed!"
3705
  msgstr ""
3706
 
3707
+ #: ../addons/transfer/myCRED-addon-transfer.php:301
3708
  msgid "Button Template"
3709
  msgstr ""
3710
 
3711
+ #: ../addons/transfer/myCRED-addon-transfer.php:303
3712
  msgid "Send Transfer button template. No HTML elements allowed!"
3713
  msgstr ""
3714
 
3715
+ #: ../addons/transfer/myCRED-addon-transfer.php:306
3716
  msgid "Error Messages"
3717
  msgstr ""
3718
 
3719
+ #: ../addons/transfer/myCRED-addon-transfer.php:309
3720
  msgid "Balance to low to send."
3721
  msgstr ""
3722
 
3723
+ #: ../addons/transfer/myCRED-addon-transfer.php:311
3724
  msgid ""
3725
  "Text to show when a users balance is to low for transfers. Leave empty to "
3726
  "hide. No HTML elements allowed!"
3727
  msgstr ""
3728
 
3729
+ #: ../addons/transfer/myCRED-addon-transfer.php:315
3730
  msgid "Transfer Limit Reached."
3731
  msgstr ""
3732
 
3733
+ #: ../addons/transfer/myCRED-addon-transfer.php:317
3734
  msgid ""
3735
  "Text to show when a user has reached their transfer limit (if used). Leave "
3736
  "empty to hide. No HTML elements allowed!"
3737
  msgstr ""
3738
 
3739
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:130
3740
+ msgid "username"
 
 
 
 
 
3741
  msgstr ""
3742
 
3743
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:133
3744
+ msgid "email"
3745
  msgstr ""
3746
 
3747
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:135
3748
+ #, php-format
3749
+ msgid "recipients %s"
3750
  msgstr ""
3751
 
3752
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:219
3753
+ msgid "To:"
3754
  msgstr ""
3755
 
3756
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:225
3757
+ msgid "Amount:"
3758
  msgstr ""
3759
 
3760
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:20
3761
+ msgid "Allow transfers between users."
3762
  msgstr ""
3763
 
3764
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:23
3765
+ #, php-format
3766
+ msgid "(%s) Transfer"
3767
  msgstr ""
3768
 
3769
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:40
3770
+ msgid "The myCRED Transfer add-on has not yet been setup!"
 
3771
  msgstr ""
3772
 
3773
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:123
3774
+ msgid "Show users balance"
3775
  msgstr ""
3776
 
3777
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:127
3778
+ msgid "Show users limit"
3779
  msgstr ""
3780
 
3781
+ #: ../includes/mycred-about.php:77
3782
  #, php-format
3783
  msgid "Welcome to %s %s"
3784
  msgstr ""
3821
  msgid "Excluded"
3822
  msgstr ""
3823
 
3824
+ #: ../includes/mycred-admin.php:406
 
 
 
 
 
3825
  msgid "Adjust"
3826
  msgstr ""
3827
 
3828
+ #: ../includes/mycred-admin.php:444 ../includes/mycred-admin.php:445
3829
  msgid "Edit Balance"
3830
  msgstr ""
3831
 
3832
+ #: ../includes/mycred-admin.php:463
3833
  msgid "Profile"
3834
  msgstr ""
3835
 
3836
+ #: ../includes/mycred-admin.php:470
3837
  msgid "Extended Profile"
3838
  msgstr ""
3839
 
3840
+ #: ../includes/mycred-admin.php:560
3841
  #, php-format
3842
  msgid "This user is excluded from using %s"
3843
  msgstr ""
3844
 
3845
+ #: ../includes/mycred-admin.php:583
3846
  msgid "Edit User"
3847
  msgstr ""
3848
 
3849
+ #: ../includes/mycred-admin.php:585
3850
  msgctxt "user"
3851
  msgid "Add New"
3852
  msgstr ""
3853
 
3854
+ #: ../includes/mycred-admin.php:587
3855
  msgctxt "user"
3856
  msgid "Add Existing"
3857
  msgstr ""
3858
 
3859
+ #: ../includes/mycred-admin.php:598
3860
  #, php-format
3861
  msgid "Total %s Accumulated"
3862
  msgstr ""
3863
 
3864
+ #: ../includes/mycred-admin.php:599
3865
  #, php-format
3866
  msgid "Total %s Spent"
3867
  msgstr ""
3868
 
3869
+ #: ../includes/mycred-admin.php:610
3870
  msgid "View History"
3871
  msgstr ""
3872
 
3873
+ #: ../includes/mycred-admin.php:611
3874
  msgid "Exclude User"
3875
  msgstr ""
3876
 
3877
+ #: ../includes/mycred-admin.php:615
3878
  msgid "Adjust Balance"
3879
  msgstr ""
3880
 
3881
+ #: ../includes/mycred-admin.php:624
3882
  msgid ""
3883
  "Warning! Excluding this user will result in their balance being deleted "
3884
  "along with any entries currently in your log! This can not be undone!"
3885
  msgstr ""
3886
 
3887
+ #: ../includes/mycred-admin.php:682
3888
  #, php-format
3889
  msgid "%singular% balance"
3890
  msgstr ""
3891
 
3892
+ #: ../includes/mycred-admin.php:722 ../includes/mycred-admin.php:761
3893
  msgid "Update Balance"
3894
  msgstr ""
3895
 
3896
+ #: ../includes/mycred-admin.php:753
3897
  msgid "ID"
3898
  msgstr ""
3899
 
3900
+ #: ../includes/mycred-admin.php:759
3901
  msgid "A positive or negative value"
3902
  msgstr ""
3903
 
3913
  msgid "Deleted"
3914
  msgstr ""
3915
 
3916
+ #: ../includes/mycred-functions.php:530
3917
  msgid "Deleted Item"
3918
  msgstr ""
3919
 
3920
+ #: ../includes/mycred-functions.php:594
3921
  msgid "User Related"
3922
  msgstr ""
3923
 
3924
+ #: ../includes/mycred-functions.php:601
3925
  msgid "Post Related"
3926
  msgstr ""
3927
 
3928
+ #: ../includes/mycred-functions.php:608
3929
  msgid "Comment Related"
3930
  msgstr ""
3931
 
3932
+ #: ../includes/mycred-functions.php:615
3933
  msgid "Widget Related"
3934
  msgstr ""
3935
 
3936
+ #: ../includes/mycred-functions.php:622
3937
  msgid "Amount Related"
3938
  msgstr ""
3939
 
3940
+ #: ../includes/mycred-functions.php:629
3941
  msgid "Video Related"
3942
  msgstr ""
3943
 
3944
+ #: ../includes/mycred-functions.php:640
3945
  msgid "and"
3946
  msgstr ""
3947
 
3948
+ #: ../includes/mycred-functions.php:642
3949
  msgid "Available Template Tags:"
3950
  msgstr ""
3951
 
3952
+ #: ../includes/mycred-functions.php:1686
3953
  msgid "Entire Log"
3954
  msgstr ""
3955
 
3956
+ #: ../includes/mycred-functions.php:1691 ../includes/mycred-functions.php:1692
3957
  msgid "Displayed Rows"
3958
  msgstr ""
3959
 
3960
+ #: ../includes/mycred-functions.php:1699
3961
  msgid "Search Results"
3962
  msgstr ""
3963
 
3964
+ #: ../includes/mycred-functions.php:1700
3965
  msgid "My Entire Log"
3966
  msgstr ""
3967
 
3968
+ #: ../includes/mycred-functions.php:1867
3969
  msgid "ref empty"
3970
  msgstr ""
3971
 
3972
+ #: ../includes/mycred-functions.php:1875
3973
  msgid "incorrect user id format"
3974
  msgstr ""
3975
 
3976
+ #: ../includes/mycred-functions.php:1888
3977
  msgid "incorrect unix timestamp (from):"
3978
  msgstr ""
3979
 
3980
+ #: ../includes/mycred-functions.php:1897
3981
  msgid "incorrect unix timestamp (to):"
3982
  msgstr ""
3983
 
3984
+ #: ../includes/mycred-functions.php:2306
3985
  msgid "Website Registration"
3986
  msgstr ""
3987
 
3988
+ #: ../includes/mycred-functions.php:2307
3989
  msgid "Website Visit"
3990
  msgstr ""
3991
 
3992
+ #: ../includes/mycred-functions.php:2308
3993
  msgid "Viewing Content (Member)"
3994
  msgstr ""
3995
 
3996
+ #: ../includes/mycred-functions.php:2309
3997
  msgid "Viewing Content (Author)"
3998
  msgstr ""
3999
 
4000
+ #: ../includes/mycred-functions.php:2310
4001
  msgid "Logging in"
4002
  msgstr ""
4003
 
4004
+ #: ../includes/mycred-functions.php:2311
4005
  msgid "Publishing Content"
4006
  msgstr ""
4007
 
4008
+ #: ../includes/mycred-functions.php:2312 ../modules/mycred-module-hooks.php:1512
4009
  msgid "Approved Comment"
4010
  msgstr ""
4011
 
4012
+ #: ../includes/mycred-functions.php:2313
4013
  msgid "Unapproved Comment"
4014
  msgstr ""
4015
 
4016
+ #: ../includes/mycred-functions.php:2314
4017
  msgid "SPAM Comment"
4018
  msgstr ""
4019
 
4020
+ #: ../includes/mycred-functions.php:2315
4021
  msgid "Deleted Comment"
4022
  msgstr ""
4023
 
4024
+ #: ../includes/mycred-functions.php:2316
4025
  msgid "Link Click"
4026
  msgstr ""
4027
 
4028
+ #: ../includes/mycred-functions.php:2317
4029
  msgid "Watching Video"
4030
  msgstr ""
4031
 
4032
+ #: ../includes/mycred-functions.php:2318
4033
  msgid "Visitor Referral"
4034
  msgstr ""
4035
 
4036
+ #: ../includes/mycred-functions.php:2319
4037
  msgid "Signup Referral"
4038
  msgstr ""
4039
 
4040
+ #: ../includes/mycred-functions.php:2323
4041
  msgid "New Profile Update"
4042
  msgstr ""
4043
 
4044
+ #: ../includes/mycred-functions.php:2324
4045
+ msgid "Profile Update Removal"
4046
+ msgstr ""
4047
+
4048
+ #: ../includes/mycred-functions.php:2325
4049
  msgid "Avatar Upload"
4050
  msgstr ""
4051
 
4052
+ #: ../includes/mycred-functions.php:2326
4053
  msgid "New Friendship"
4054
  msgstr ""
4055
 
4056
+ #: ../includes/mycred-functions.php:2327
4057
  msgid "Ended Friendship"
4058
  msgstr ""
4059
 
4060
+ #: ../includes/mycred-functions.php:2328
4061
  msgid "New Profile Comment"
4062
  msgstr ""
4063
 
4064
+ #: ../includes/mycred-functions.php:2329
4065
  msgid "Profile Comment Deletion"
4066
  msgstr ""
4067
 
4068
+ #: ../includes/mycred-functions.php:2330
4069
  msgid "New Message"
4070
  msgstr ""
4071
 
4072
+ #: ../includes/mycred-functions.php:2331
4073
  msgid "Sending Gift"
4074
  msgstr ""
4075
 
4076
+ #: ../includes/mycred-functions.php:2332
4077
  msgid "New Group"
4078
  msgstr ""
4079
 
4080
+ #: ../includes/mycred-functions.php:2333
4081
  msgid "Deleted Group"
4082
  msgstr ""
4083
 
4084
+ #: ../includes/mycred-functions.php:2334
4085
  msgid "New Group Forum Topic"
4086
  msgstr ""
4087
 
4088
+ #: ../includes/mycred-functions.php:2335
4089
  msgid "Edit Group Forum Topic"
4090
  msgstr ""
4091
 
4092
+ #: ../includes/mycred-functions.php:2336
4093
  msgid "New Group Forum Post"
4094
  msgstr ""
4095
 
4096
+ #: ../includes/mycred-functions.php:2337
4097
  msgid "Edit Group Forum Post"
4098
  msgstr ""
4099
 
4100
+ #: ../includes/mycred-functions.php:2338
4101
  msgid "Joining Group"
4102
  msgstr ""
4103
 
4104
+ #: ../includes/mycred-functions.php:2339
4105
  msgid "Leaving Group"
4106
  msgstr ""
4107
 
4108
+ #: ../includes/mycred-functions.php:2340
4109
  msgid "New Group Avatar"
4110
  msgstr ""
4111
 
4112
+ #: ../includes/mycred-functions.php:2341
4113
  msgid "New Group Comment"
4114
  msgstr ""
4115
 
4116
+ #: ../includes/mycred-functions.php:2345 ../plugins/mycred-hook-buddypress-media.
4117
+ #: php:205
4118
  msgid "Photo Upload"
4119
  msgstr ""
4120
 
4121
+ #: ../includes/mycred-functions.php:2346 ../plugins/mycred-hook-buddypress-media.
4122
+ #: php:219
4123
  msgid "Video Upload"
4124
  msgstr ""
4125
 
4126
+ #: ../includes/mycred-functions.php:2347 ../plugins/mycred-hook-buddypress-media.
4127
+ #: php:233
4128
  msgid "Music Upload"
4129
  msgstr ""
4130
 
4131
+ #: ../includes/mycred-functions.php:2351
4132
  msgid "New Link"
4133
  msgstr ""
4134
 
4135
+ #: ../includes/mycred-functions.php:2352
4136
  msgid "Link Voting"
4137
  msgstr ""
4138
 
4139
+ #: ../includes/mycred-functions.php:2353
4140
  msgid "Link Update"
4141
  msgstr ""
4142
 
4143
+ #: ../includes/mycred-functions.php:2357
4144
  msgid "New Forum (bbPress)"
4145
  msgstr ""
4146
 
4147
+ #: ../includes/mycred-functions.php:2358
4148
  msgid "New Forum Topic (bbPress)"
4149
  msgstr ""
4150
 
4151
+ #: ../includes/mycred-functions.php:2359
4152
  msgid "Favorited Topic (bbPress)"
4153
  msgstr ""
4154
 
4155
+ #: ../includes/mycred-functions.php:2360
4156
  msgid "New Topic Reply (bbPress)"
4157
  msgstr ""
4158
 
4159
+ #: ../includes/mycred-functions.php:2364
4160
  msgid "Form Submission (Contact Form 7)"
4161
  msgstr ""
4162
 
4163
+ #: ../includes/mycred-functions.php:2367
4164
  msgid "Form Submission (Gravity Form)"
4165
  msgstr ""
4166
 
4167
+ #: ../includes/mycred-functions.php:2370
4168
  msgid "New Forum Topic (SimplePress)"
4169
  msgstr ""
4170
 
4171
+ #: ../includes/mycred-functions.php:2371
4172
  msgid "New Forum Post (SimplePress)"
4173
  msgstr ""
4174
 
4175
+ #: ../includes/mycred-functions.php:2380
4176
+ msgid "Affiliate Signup (AffiliateWP)"
4177
+ msgstr ""
4178
+
4179
+ #: ../includes/mycred-functions.php:2381
4180
+ msgid "Referred Visit (AffiliateWP)"
4181
+ msgstr ""
4182
+
4183
+ #: ../includes/mycred-functions.php:2382
4184
+ msgid "Affiliate Referral (AffiliateWP)"
4185
+ msgstr ""
4186
+
4187
+ #: ../includes/mycred-functions.php:2383
4188
+ msgid "Referral Refund (AffiliateWP)"
4189
+ msgstr ""
4190
+
4191
+ #: ../includes/mycred-functions.php:2387 ../plugins/mycred-hook-wp-postratings.
4192
+ #: php:150
4193
+ msgid "Adding a Rating"
4194
+ msgstr ""
4195
+
4196
+ #: ../includes/mycred-functions.php:2388 ../plugins/mycred-hook-wp-postratings.
4197
+ #: php:169
4198
+ msgid "Receiving a Rating"
4199
+ msgstr ""
4200
+
4201
+ #: ../includes/mycred-functions.php:2392
4202
  msgid "Poll Voting"
4203
  msgstr ""
4204
 
4205
+ #: ../includes/mycred-functions.php:2395
4206
  msgid "Sending an Invite"
4207
  msgstr ""
4208
 
4209
+ #: ../includes/mycred-functions.php:2396
4210
  msgid "Accepting an Invite"
4211
  msgstr ""
4212
 
4213
+ #: ../includes/mycred-functions.php:2402
4214
  msgid "Banking Payout"
4215
  msgstr ""
4216
 
4217
+ #: ../includes/mycred-functions.php:2405
4218
  msgid "buyCRED Purchase (PayPal Standard)"
4219
  msgstr ""
4220
 
4221
+ #: ../includes/mycred-functions.php:2406
4222
  msgid "buyCRED Purchase (Skrill)"
4223
  msgstr ""
4224
 
4225
+ #: ../includes/mycred-functions.php:2407
4226
  msgid "buyCRED Purchase (Zombaio)"
4227
  msgstr ""
4228
 
4229
+ #: ../includes/mycred-functions.php:2408
4230
  msgid "buyCRED Purchase (NETBilling)"
4231
  msgstr ""
4232
 
4233
+ #: ../includes/mycred-functions.php:2409
4234
  msgid "buyCRED Purchase (BitPay)"
4235
  msgstr ""
4236
 
4237
+ #: ../includes/mycred-functions.php:2414
4238
  msgid "Coupon Purchase"
4239
  msgstr ""
4240
 
4241
+ #: ../includes/mycred-functions.php:2418
4242
  msgid "Store Purchase (WooCommerce)"
4243
  msgstr ""
4244
 
4245
+ #: ../includes/mycred-functions.php:2419
4246
+ msgid "Store Reward (WooCommerce)"
4247
+ msgstr ""
4248
+
4249
+ #: ../includes/mycred-functions.php:2420
4250
+ msgid "Product Review (WooCommerce)"
4251
+ msgstr ""
4252
+
4253
+ #: ../includes/mycred-functions.php:2423
4254
  msgid "Store Purchase (MarketPress)"
4255
  msgstr ""
4256
 
4257
+ #: ../includes/mycred-functions.php:2424
4258
+ msgid "Store Reward (MarketPress)"
4259
+ msgstr ""
4260
+
4261
+ #: ../includes/mycred-functions.php:2427
4262
  msgid "Store Purchase (WP E-Commerce)"
4263
  msgstr ""
4264
 
4265
+ #: ../includes/mycred-functions.php:2433
4266
  msgid "Event Payment (Event Espresso)"
4267
  msgstr ""
4268
 
4269
+ #: ../includes/mycred-functions.php:2434
4270
  msgid "Event Sale (Event Espresso)"
4271
  msgstr ""
4272
 
4273
+ #: ../includes/mycred-functions.php:2438
4274
  msgid "Event Payment (Events Manager)"
4275
  msgstr ""
4276
 
4277
+ #: ../includes/mycred-functions.php:2439
4278
  msgid "Event Sale (Events Manager)"
4279
  msgstr ""
4280
 
4281
+ #: ../includes/mycred-functions.php:2443
4282
  msgid "Content Purchase / Sale"
4283
  msgstr ""
4284
 
4285
+ #: ../includes/mycred-functions.php:2450
4286
  msgid "Manual Adjustment by Admin"
4287
  msgstr ""
4288
 
4289
+ #: ../includes/mycred-functions.php:2520 ../includes/mycred-shortcodes.php:924
4290
+ msgid "Point types not found."
4291
+ msgstr ""
4292
+
4293
+ #: ../includes/mycred-functions.php:2532 ../includes/mycred-functions.php:2552 ..
4294
+ #: includes/mycred-shortcodes.php:930 ../includes/mycred-shortcodes.php:938
4295
+ #, php-format
4296
+ msgid "You are excluded from using %s."
4297
+ msgstr ""
4298
+
4299
+ #: ../includes/mycred-functions.php:2542 ../includes/mycred-shortcodes.php:934
4300
+ msgid "Your balance is too low to use this feature."
4301
+ msgstr ""
4302
+
4303
+ #: ../includes/mycred-functions.php:2565
4304
+ #, php-format
4305
+ msgid "You must exchange at least %s!"
4306
+ msgstr ""
4307
+
4308
+ #: ../includes/mycred-functions.php:2587
4309
+ #, php-format
4310
+ msgid "Exchange from %s"
4311
+ msgstr ""
4312
+
4313
+ #: ../includes/mycred-functions.php:2599
4314
+ #, php-format
4315
+ msgid "Exchange to %s"
4316
+ msgstr ""
4317
+
4318
+ #: ../includes/mycred-functions.php:2607
4319
+ #, php-format
4320
+ msgid "You have successfully exchanged %s into %s."
4321
+ msgstr ""
4322
+
4323
+ #: ../includes/mycred-functions.php:2638
4324
+ msgid "per day"
4325
+ msgstr ""
4326
+
4327
+ #: ../includes/mycred-functions.php:2640
4328
+ msgid "per week"
4329
+ msgstr ""
4330
+
4331
+ #: ../includes/mycred-functions.php:2642
4332
+ msgid "per month"
4333
+ msgstr ""
4334
+
4335
+ #: ../includes/mycred-functions.php:2644
4336
+ msgid "in total"
4337
+ msgstr ""
4338
+
4339
+ #: ../includes/mycred-functions.php:2646 ../includes/mycred-functions.php:2650
4340
+ #, php-format
4341
+ msgid "Maximum once"
4342
+ msgid_plural "Maximum %d times"
4343
+ msgstr[0] ""
4344
+ msgstr[1] ""
4345
+
4346
  #: ../includes/mycred-importer.php:11
4347
  #, php-format
4348
  msgid "%s Log Import"
4400
  "requirements for running myCRED. The following errors were given:"
4401
  msgstr ""
4402
 
4403
+ #: ../includes/mycred-install.php:256
4404
  msgid "myCRED needs your attention."
4405
  msgstr ""
4406
 
4407
+ #: ../includes/mycred-install.php:256
4408
  msgid "Run Setup"
4409
  msgstr ""
4410
 
4411
+ #: ../includes/mycred-install.php:268 ../includes/mycred-install.php:269
4412
  msgid "myCRED Setup"
4413
  msgstr ""
4414
 
4415
+ #: ../includes/mycred-install.php:398
4416
  #, php-format
4417
  msgid "%s Setup"
4418
  msgstr ""
4419
 
4420
+ #: ../includes/mycred-install.php:400
4421
  msgid "Step"
4422
  msgstr ""
4423
 
4424
+ #: ../includes/mycred-install.php:424
4425
  msgid ""
4426
  "Click \"Begin Setup\" to install myCRED. You will be able to select your "
4427
  "points format, layout and security settings."
4428
  msgstr ""
4429
 
4430
+ #: ../includes/mycred-install.php:425
4431
  msgid "Begin Setup"
4432
  msgstr ""
4433
 
4434
+ #: ../includes/mycred-install.php:480
4435
  msgid "Select the format you want to use for your points."
4436
  msgstr ""
4437
 
4438
+ #: ../includes/mycred-install.php:481
4439
  msgid "Format"
4440
  msgstr ""
4441
 
4442
+ #: ../includes/mycred-install.php:484
4443
  msgid "Separators"
4444
  msgstr ""
4445
 
4446
+ #: ../includes/mycred-install.php:494 ../modules/mycred-module-settings.php:501
4447
  msgid "Decimals"
4448
  msgstr ""
4449
 
4450
+ #: ../includes/mycred-install.php:496
4451
+ msgid "Use zero for no decimals or maximum 20."
4452
  msgstr ""
4453
 
4454
+ #: ../includes/mycred-install.php:499 ../modules/mycred-module-settings.php:505
4455
  msgid "Presentation"
4456
  msgstr ""
4457
 
4458
+ #: ../includes/mycred-install.php:502 ../modules/mycred-module-settings.php:488
4459
  msgid "Name (Singular)"
4460
  msgstr ""
4461
 
4462
+ #: ../includes/mycred-install.php:506 ../modules/mycred-module-settings.php:493
4463
  msgid "Name (Plural)"
4464
  msgstr ""
4465
 
4466
+ #: ../includes/mycred-install.php:512 ../modules/mycred-module-settings.php:508
4467
  msgid "Prefix"
4468
  msgstr ""
4469
 
4470
+ #: ../includes/mycred-install.php:520 ../modules/mycred-module-settings.php:516
4471
  msgid "Suffix"
4472
  msgstr ""
4473
 
4474
+ #: ../includes/mycred-install.php:524
4475
  msgid "Cancel Setup"
4476
  msgstr ""
4477
 
4478
+ #: ../includes/mycred-install.php:524 ../includes/mycred-install.php:594
4479
  msgid "Next"
4480
  msgstr ""
4481
 
4482
+ #: ../includes/mycred-install.php:556 ../modules/mycred-module-settings.php:524
4483
  msgid "Security"
4484
  msgstr ""
4485
 
4486
+ #: ../includes/mycred-install.php:559
4487
  msgid "Edit Settings Capability"
4488
  msgstr ""
4489
 
4490
+ #: ../includes/mycred-install.php:563
4491
  msgid "Edit Users %plural% Capability"
4492
  msgstr ""
4493
 
4494
+ #: ../includes/mycred-install.php:567 ../modules/mycred-module-settings.php:537
4495
  msgid "Maximum %plural% payouts"
4496
  msgstr ""
4497
 
4498
+ #: ../includes/mycred-install.php:569 ../modules/mycred-module-settings.php:539
4499
  msgid ""
4500
  "As an added security, you can set the maximum amount a user can gain or "
4501
  "loose in a single instance. If used, make sure this is the maximum amount a "
4503
  "disable."
4504
  msgstr ""
4505
 
4506
+ #: ../includes/mycred-install.php:572 ../modules/mycred-module-settings.php:542
4507
  msgid "Excludes"
4508
  msgstr ""
4509
 
4510
+ #: ../includes/mycred-install.php:576 ../modules/mycred-module-settings.php:546
4511
  msgid "Exclude those who can \"Edit Settings\"."
4512
  msgstr ""
4513
 
4514
+ #: ../includes/mycred-install.php:580 ../modules/mycred-module-settings.php:550
4515
  msgid "Exclude those who can \"Edit Users %plural%\"."
4516
  msgstr ""
4517
 
4518
+ #: ../includes/mycred-install.php:583 ../modules/mycred-module-settings.php:554
4519
  msgid "Exclude the following user IDs:"
4520
  msgstr ""
4521
 
4522
+ #: ../includes/mycred-install.php:587 ../modules/mycred-module-settings.php:559
4523
  msgid "User Deletions"
4524
  msgstr ""
4525
 
4526
+ #: ../includes/mycred-install.php:591 ../modules/mycred-module-settings.php:562
4527
  msgid "Delete log entries when user is deleted."
4528
  msgstr ""
4529
 
4530
+ #: ../includes/mycred-install.php:612
4531
  msgid "Ready"
4532
  msgstr ""
4533
 
4534
+ #: ../includes/mycred-install.php:613
4535
  msgid "Almost done! Click the button below to finish this setup."
4536
  msgstr ""
4537
 
4538
+ #: ../includes/mycred-install.php:614
4539
  msgid "Install & Run"
4540
  msgstr ""
4541
 
4580
  msgid "Show all references"
4581
  msgstr ""
4582
 
4583
+ #: ../includes/mycred-log.php:525 ../modules/mycred-module-settings.php:705
4584
  msgid "User ID"
4585
  msgstr ""
4586
 
4588
  msgid "Show in order"
4589
  msgstr ""
4590
 
4591
+ #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:426
4592
  msgid "Ascending"
4593
  msgstr ""
4594
 
4595
+ #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:427
4596
  msgid "Descending"
4597
  msgstr ""
4598
 
4614
  msgid "Entry"
4615
  msgstr ""
4616
 
4617
+ #: ../includes/mycred-log.php:737 ../modules/mycred-module-log.php:484
4618
  msgid "User Missing"
4619
  msgstr ""
4620
 
4630
  msgid "search log entries"
4631
  msgstr ""
4632
 
4633
+ #: ../includes/mycred-log.php:836 ../modules/mycred-module-buddypress.php:221 ..
4634
+ #: modules/mycred-module-buddypress.php:234
4635
  msgid "All"
4636
  msgstr ""
4637
 
4638
+ #: ../includes/mycred-log.php:838 ../modules/mycred-module-buddypress.php:223
 
 
 
 
4639
  msgid "Yesterday"
4640
  msgstr ""
4641
 
 
 
 
 
 
 
 
 
4642
  #: ../includes/mycred-network.php:59 ../includes/mycred-network.php:60
4643
  msgid "Network Settings"
4644
  msgstr ""
4700
  msgid "%s Overview"
4701
  msgstr ""
4702
 
 
 
 
 
4703
  #: ../includes/mycred-overview.php:81
4704
  msgid "Awarded"
4705
  msgstr ""
4733
  msgstr ""
4734
 
4735
  #: ../includes/mycred-remote.php:555
4736
+ msgid "16, 24 or 32 characters"
4737
  msgstr ""
4738
 
4739
  #: ../includes/mycred-remote.php:556
4778
  "about your setup!"
4779
  msgstr ""
4780
 
4781
+ #: ../includes/mycred-shortcodes.php:175
4782
  msgid "Leaderboard is empty."
4783
  msgstr ""
4784
 
4785
+ #: ../includes/mycred-shortcodes.php:525
 
 
 
 
 
 
 
 
4786
  msgid "Anchor missing URL!"
4787
  msgstr ""
4788
 
4789
+ #: ../includes/mycred-shortcodes.php:637
 
 
 
 
4790
  msgid "Sent"
4791
  msgstr ""
4792
 
4793
+ #: ../includes/mycred-shortcodes.php:638
4794
  msgid "Error - Try Again"
4795
  msgstr ""
4796
 
4797
+ #: ../includes/mycred-shortcodes.php:763
4798
  msgid "A video ID is required for this shortcode"
4799
  msgstr ""
4800
 
4801
+ #: ../includes/mycred-shortcodes.php:956
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4802
  #, php-format
4803
  msgid "Convert <span>%s</span> to <span>%s</span>"
4804
  msgstr ""
4805
 
4806
+ #: ../includes/mycred-shortcodes.php:965
4807
  #, php-format
4808
  msgid "Your current %s balance"
4809
  msgstr ""
4810
 
4811
+ #: ../includes/mycred-shortcodes.php:973
4812
  #, php-format
4813
  msgid "Minimum %s"
4814
  msgstr ""
4815
 
4816
+ #: ../includes/mycred-shortcodes.php:977
4817
  #, php-format
4818
  msgid "1 %s = <span class=\"rate\">%s</span> %s"
4819
  msgstr ""
4820
 
4821
+ #: ../includes/mycred-shortcodes.php:983
4822
  msgid "Exchange"
4823
  msgstr ""
4824
 
4825
+ #: ../includes/mycred-shortcodes.php:1048
4826
+ msgid "No instances found for this point type"
 
 
 
 
 
 
 
 
 
 
 
4827
  msgstr ""
4828
 
4829
+ #: ../includes/mycred-shortcodes.php:1052
4830
+ msgid "Invalid point type"
4831
+ msgstr ""
4832
+
4833
+ #: ../includes/mycred-shortcodes.php:1111
4834
+ msgid "Instance"
4835
+ msgstr ""
4836
+
4837
+ #: ../includes/mycred-shortcodes.php:1113 ../modules/mycred-module-hooks.php:600 .
4838
+ #: ./modules/mycred-module-hooks.php:607 ../modules/mycred-module-hooks.php:631 ..
4839
+ #: modules/mycred-module-hooks.php:638 ../modules/mycred-module-hooks.php:706 ..
4840
+ #: modules/mycred-module-hooks.php:713 ../modules/mycred-module-hooks.php:898 ..
4841
+ #: modules/mycred-module-hooks.php:1029 ../modules/mycred-module-hooks.php:1046 .
4842
+ #: ./modules/mycred-module-hooks.php:1093 ../modules/mycred-module-hooks.php:2793
4843
+ #: ../modules/mycred-module-hooks.php:2822 ../plugins/mycred-hook-affiliatewp.php:
4844
+ #: 237 ../plugins/mycred-hook-bbPress.php:413 ../plugins/mycred-hook-bbPress.php:
4845
+ #: 443 ../plugins/mycred-hook-bbPress.php:478 ../plugins/mycred-hook-bbPress.php:
4846
+ #: 495 ../plugins/mycred-hook-buddypress-gallery.php:102 ../plugins/mycred-hook-
4847
+ #: buddypress-links.php:250 ../plugins/mycred-hook-buddypress-links.php:267 ..
4848
+ #: plugins/mycred-hook-buddypress-links.php:284 ../plugins/mycred-hook-
4849
+ #: buddypress-links.php:294 ../plugins/mycred-hook-buddypress-links.php:303 ..
4850
+ #: plugins/mycred-hook-buddypress-links.php:320 ../plugins/mycred-hook-
4851
+ #: buddypress-media.php:209 ../plugins/mycred-hook-buddypress-media.php:223 ..
4852
+ #: plugins/mycred-hook-buddypress-media.php:237 ../plugins/mycred-hook-
4853
+ #: buddypress.php:490 ../plugins/mycred-hook-buddypress.php:507 ../plugins/mycred-
4854
+ #: hook-buddypress.php:524 ../plugins/mycred-hook-buddypress.php:541 ..
4855
+ #: plugins/mycred-hook-buddypress.php:574 ../plugins/mycred-hook-buddypress.php:
4856
+ #: 604 ../plugins/mycred-hook-buddypress.php:621 ../plugins/mycred-hook-
4857
+ #: buddypress.php:1193 ../plugins/mycred-hook-buddypress.php:1210 ..
4858
+ #: plugins/mycred-hook-buddypress.php:1227 ../plugins/mycred-hook-buddypress.php:
4859
+ #: 1244 ../plugins/mycred-hook-buddypress.php:1262 ../plugins/mycred-hook-
4860
+ #: buddypress.php:1292 ../plugins/mycred-hook-buddypress.php:1309 ..
4861
+ #: plugins/mycred-hook-contact-form7.php:147 ../plugins/mycred-hook-events-
4862
+ #: manager-light.php:192 ../plugins/mycred-hook-gravityforms.php:148 ..
4863
+ #: plugins/mycred-hook-invite-anyone.php:202 ../plugins/mycred-hook-invite-
4864
+ #: anyone.php:205 ../plugins/mycred-hook-invite-anyone.php:223 ../plugins/mycred-
4865
+ #: hook-invite-anyone.php:226 ../plugins/mycred-hook-sharethis.php:278 ..
4866
+ #: plugins/mycred-hook-simplepress.php:284 ../plugins/mycred-hook-simplepress.
4867
+ #: php:314 ../plugins/mycred-hook-woocommerce.php:300 ../plugins/mycred-hook-wp-
4868
+ #: favorite-posts.php:213 ../plugins/mycred-hook-wp-favorite-posts.php:231 ..
4869
+ #: plugins/mycred-hook-wp-postratings.php:156 ../plugins/mycred-hook-wp-
4870
+ #: postratings.php:175
4871
+ msgid "Limit"
4872
  msgstr ""
4873
 
4874
+ #: ../includes/mycred-widgets.php:22
4875
  #, php-format
4876
  msgid "Show the current users %s balance"
4877
  msgstr ""
4878
 
4879
+ #: ../includes/mycred-widgets.php:25
4880
  #, php-format
4881
  msgid "(%s) My Balance"
4882
  msgstr ""
4883
 
4884
+ #: ../includes/mycred-widgets.php:212
 
 
 
 
 
 
 
 
 
 
 
 
4885
  msgid "Layout"
4886
  msgstr ""
4887
 
4888
+ #: ../includes/mycred-widgets.php:220
4889
  msgid "Include history"
4890
  msgstr ""
4891
 
4892
+ #: ../includes/mycred-widgets.php:222
4893
  msgid "History Title"
4894
  msgstr ""
4895
 
4896
+ #: ../includes/mycred-widgets.php:224
4897
  msgid "Number of entires"
4898
  msgstr ""
4899
 
4900
+ #: ../includes/mycred-widgets.php:226 ../includes/mycred-widgets.php:411
4901
  msgid "Row layout"
4902
  msgstr ""
4903
 
4904
+ #: ../includes/mycred-widgets.php:234 ../includes/mycred-widgets.php:612
4905
  msgid "Show message when not logged in"
4906
  msgstr ""
4907
 
4908
+ #: ../includes/mycred-widgets.php:236 ../includes/mycred-widgets.php:613
4909
  msgid "Message"
4910
  msgstr ""
4911
 
4912
+ #: ../includes/mycred-widgets.php:306
4913
  #, php-format
4914
  msgid "Show a list of users sorted by their %s balance"
4915
  msgstr ""
4916
 
4917
+ #: ../includes/mycred-widgets.php:309
4918
  #, php-format
4919
  msgid "(%s) Leaderboard"
4920
  msgstr ""
4921
 
4922
+ #: ../includes/mycred-widgets.php:398
 
 
 
 
4923
  msgid "Based On"
4924
  msgstr ""
4925
 
4926
+ #: ../includes/mycred-widgets.php:400
4927
  msgid ""
4928
  "Use \"balance\" to base the leaderboard on your users current balances or use "
4929
  "a specific reference."
4930
  msgstr ""
4931
 
4932
+ #: ../includes/mycred-widgets.php:400
4933
  msgid "Reference Guide"
4934
  msgstr ""
4935
 
4936
+ #: ../includes/mycred-widgets.php:405
4937
  msgid "Visible to non-members"
4938
  msgstr ""
4939
 
4940
+ #: ../includes/mycred-widgets.php:407
4941
  msgid "Number of users"
4942
  msgstr ""
4943
 
4944
+ #: ../includes/mycred-widgets.php:416
4945
  msgid "Offset"
4946
  msgstr ""
4947
 
4948
+ #: ../includes/mycred-widgets.php:418
4949
  msgid "Optional offset of order. Use zero to return the first in the list."
4950
  msgstr ""
4951
 
4952
+ #: ../includes/mycred-widgets.php:421
4953
  msgid "Order"
4954
  msgstr ""
4955
 
4956
+ #: ../includes/mycred-widgets.php:441
4957
  msgid "Append current users position"
4958
  msgstr ""
4959
 
4960
+ #: ../includes/mycred-widgets.php:442
4961
  msgid ""
4962
  "If the current user is not in this leaderboard, you can select to append "
4963
  "them at the end with their current position."
4964
  msgstr ""
4965
 
4966
+ #: ../includes/mycred-widgets.php:493
4967
  msgid "Shows the current users balances for each point type."
4968
  msgstr ""
4969
 
4970
+ #: ../includes/mycred-widgets.php:496
4971
  #, php-format
4972
  msgid "(%s) Wallet"
4973
  msgstr ""
4974
 
4975
+ #: ../includes/mycred-widgets.php:604
 
 
 
 
4976
  msgid "Row Layout"
4977
  msgstr ""
4978
 
5002
  "imported. <strong>%d</strong> was skipped."
5003
  msgstr ""
5004
 
 
 
 
 
 
5005
  #: ../includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
5006
  #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
5007
  msgid "Import More"
5126
  msgid "Add-ons"
5127
  msgstr ""
5128
 
5129
+ #: ../modules/mycred-module-addons.php:151
5130
  msgid "Give your users badges based on their interaction with your website."
5131
  msgstr ""
5132
 
5133
+ #: ../modules/mycred-module-addons.php:162
5134
  msgid "Setup recurring payouts or offer / charge interest on user account balances."
5135
  msgstr ""
5136
 
5137
+ #: ../modules/mycred-module-addons.php:173
5138
  msgid ""
5139
  "The <strong>buy</strong>CRED Add-on allows your users to buy points using "
5140
  "PayPal, Skrill (Moneybookers) or NETbilling. <strong>buy</strong>CRED can "
5141
  "also let your users buy points for other members."
5142
  msgstr ""
5143
 
5144
+ #: ../modules/mycred-module-addons.php:184
5145
  msgid ""
5146
  "The coupons add-on allows you to create coupons that users can use to add "
5147
  "points to their accounts."
5148
  msgstr ""
5149
 
5150
+ #: ../modules/mycred-module-addons.php:195
5151
  msgid "Create email notices for any type of myCRED instance."
5152
  msgstr ""
5153
 
5154
+ #: ../modules/mycred-module-addons.php:206
5155
  msgid ""
5156
  "Let your users pay using their <strong>my</strong>CRED points balance. "
5157
  "Supported Carts: WooCommerce, MarketPress and WP E-Commerce. Supported Event "
5158
  "Bookings: Event Espresso and Events Manager (free & pro)."
5159
  msgstr ""
5160
 
5161
+ #: ../modules/mycred-module-addons.php:217
5162
  msgid "Create pop-up notifications for when users gain or loose points."
5163
  msgstr ""
5164
 
5165
+ #: ../modules/mycred-module-addons.php:229
5166
  msgid ""
5167
  "Create ranks for users reaching a certain number of %_plural% with the "
5168
  "option to add logos for each rank."
5169
  msgstr ""
5170
 
5171
+ #: ../modules/mycred-module-addons.php:240
5172
  msgid ""
5173
  "This add-on allows you to sell posts, pages or any public post types on your "
5174
  "website. You can either sell the entire content or using our shortcode, sell "
5175
  "parts of your content allowing you to offer \"teasers\"."
5176
  msgstr ""
5177
 
5178
+ #: ../modules/mycred-module-addons.php:251
5179
+ msgid ""
5180
+ "Gives you access to your myCRED Staticstics based on your users gains and "
5181
+ "loses."
5182
+ msgstr ""
5183
+
5184
+ #: ../modules/mycred-module-addons.php:262
5185
  msgid ""
5186
  "Allow your users to send or \"donate\" points to other members by either using "
5187
  "the mycred_transfer shortcode or the myCRED Transfer widget."
5188
  msgstr ""
5189
 
5190
+ #: ../modules/mycred-module-addons.php:297
5191
  #, php-format
5192
  msgid "%s Add-ons"
5193
  msgstr ""
5194
 
5195
+ #: ../modules/mycred-module-addons.php:302
5196
  msgid "Add-on Activated"
5197
  msgstr ""
5198
 
5199
+ #: ../modules/mycred-module-addons.php:305
5200
  msgid "Add-on Deactivated"
5201
  msgstr ""
5202
 
5203
+ #: ../modules/mycred-module-addons.php:309
5204
  msgid "Add-ons can expand your current installation with further features."
5205
  msgstr ""
5206
 
5207
+ #: ../modules/mycred-module-addons.php:330
5208
  #, php-format
5209
  msgid "You can find more add-ons in our %s."
5210
  msgstr ""
5211
 
5212
+ #: ../modules/mycred-module-addons.php:330
5213
  msgid "online store"
5214
  msgstr ""
5215
 
5216
+ #: ../modules/mycred-module-addons.php:351
5217
  msgid "Deactivate Add-on"
5218
  msgstr ""
5219
 
5220
+ #: ../modules/mycred-module-addons.php:352
5221
  msgid "Deactivate"
5222
  msgstr ""
5223
 
5224
+ #: ../modules/mycred-module-addons.php:359
5225
  msgid "Activate Add-on"
5226
  msgstr ""
5227
 
5228
+ #: ../modules/mycred-module-addons.php:360
5229
  msgid "Activate"
5230
  msgstr ""
5231
 
5232
+ #: ../modules/mycred-module-addons.php:376
5233
  msgid "Version"
5234
  msgstr ""
5235
 
5236
+ #: ../modules/mycred-module-addons.php:380
5237
  msgid "By"
5238
  msgstr ""
5239
 
5240
+ #: ../modules/mycred-module-addons.php:384
5241
  msgid "About"
5242
  msgstr ""
5243
 
5244
+ #: ../modules/mycred-module-addons.php:388
5245
  msgid "Get Pro"
5246
  msgstr ""
5247
 
5254
  msgid "%s's History"
5255
  msgstr ""
5256
 
5257
+ #: ../modules/mycred-module-buddypress.php:121
5258
  msgid "Current balance"
5259
  msgstr ""
5260
 
5261
+ #: ../modules/mycred-module-buddypress.php:336
5262
  msgid "Go"
5263
  msgstr ""
5264
 
5265
+ #: ../modules/mycred-module-buddypress.php:392
5266
  msgid "Show in Profile"
5267
  msgstr ""
5268
 
5269
+ #: ../modules/mycred-module-buddypress.php:407
5270
  #, php-format
5271
  msgid "%singular% Balance"
5272
  msgstr ""
5273
 
5274
+ #: ../modules/mycred-module-buddypress.php:423
5275
  #, php-format
5276
  msgid "Members and visitors can other members %_singular% balance."
5277
  msgstr ""
5278
 
5279
+ #: ../modules/mycred-module-buddypress.php:433
5280
+ msgid "%plural% History"
5281
  msgstr ""
5282
 
5283
+ #: ../modules/mycred-module-buddypress.php:449
5284
  msgid "Members can view each others %_plural% history."
5285
  msgstr ""
5286
 
5287
+ #: ../modules/mycred-module-buddypress.php:454
5288
  msgid "Menu Title"
5289
  msgstr ""
5290
 
5291
+ #: ../modules/mycred-module-buddypress.php:456
5292
  msgid "Title shown to me"
5293
  msgstr ""
5294
 
5295
+ #: ../modules/mycred-module-buddypress.php:461
5296
  #, php-format
5297
  msgid "Title shown to others. Use %s to show the first name."
5298
  msgstr ""
5299
 
5300
+ #: ../modules/mycred-module-buddypress.php:466
5301
  msgid "Menu Position"
5302
  msgstr ""
5303
 
5304
+ #: ../modules/mycred-module-buddypress.php:468
5305
  msgid "Current menu positions:"
5306
  msgstr ""
5307
 
5308
+ #: ../modules/mycred-module-buddypress.php:473
5309
  msgid "History URL slug"
5310
  msgstr ""
5311
 
5312
+ #: ../modules/mycred-module-buddypress.php:475
5313
  msgid "Do not use empty spaces!"
5314
  msgstr ""
5315
 
5316
+ #: ../modules/mycred-module-buddypress.php:480
5317
  msgid "Number of history entries to show"
5318
  msgstr ""
5319
 
 
 
 
 
 
5320
  #: ../modules/mycred-module-hooks.php:87
5321
  #, php-format
5322
  msgid "%plural% for registrations"
5429
  "depending on their actions around your website."
5430
  msgstr ""
5431
 
5432
+ #: ../modules/mycred-module-hooks.php:362 ../modules/mycred-module-hooks.php:459 .
5433
+ #: ./modules/mycred-module-hooks.php:611 ../modules/mycred-module-hooks.php:642 ..
5434
+ #: modules/mycred-module-hooks.php:717 ../modules/mycred-module-hooks.php:1033 ..
5435
+ #: modules/mycred-module-hooks.php:1050 ../modules/mycred-module-hooks.php:1097 .
5436
+ #: ./modules/mycred-module-hooks.php:1524 ../modules/mycred-module-hooks.php:1541
5437
+ #: ../modules/mycred-module-hooks.php:1558 ../modules/mycred-module-hooks.php:
5438
+ #: 2785 ../modules/mycred-module-hooks.php:2814 ../plugins/mycred-hook-
5439
+ #: affiliatewp.php:225 ../plugins/mycred-hook-affiliatewp.php:242 ..
5440
+ #: plugins/mycred-hook-badgeOS.php:298 ../plugins/mycred-hook-bbPress.php:418 ..
5441
+ #: plugins/mycred-hook-bbPress.php:431 ../plugins/mycred-hook-bbPress.php:448 ..
5442
+ #: plugins/mycred-hook-bbPress.php:466 ../plugins/mycred-hook-bbPress.php:483 ..
5443
+ #: plugins/mycred-hook-bbPress.php:500 ../plugins/mycred-hook-bbPress.php:522 ..
5444
+ #: plugins/mycred-hook-buddypress-gallery.php:107 ../plugins/mycred-hook-
5445
+ #: buddypress-links.php:255 ../plugins/mycred-hook-buddypress-links.php:272 ..
5446
+ #: plugins/mycred-hook-buddypress-links.php:289 ../plugins/mycred-hook-
5447
+ #: buddypress-links.php:308 ../plugins/mycred-hook-buddypress-links.php:325 ..
5448
+ #: plugins/mycred-hook-buddypress-links.php:338 ../plugins/mycred-hook-
5449
+ #: buddypress-media.php:213 ../plugins/mycred-hook-buddypress-media.php:227 ..
5450
+ #: plugins/mycred-hook-buddypress-media.php:241 ../plugins/mycred-hook-
5451
+ #: buddypress-media.php:254 ../plugins/mycred-hook-buddypress-media.php:264 ..
5452
+ #: plugins/mycred-hook-buddypress-media.php:274 ../plugins/mycred-hook-
5453
+ #: buddypress.php:495 ../plugins/mycred-hook-buddypress.php:512 ../plugins/mycred-
5454
+ #: hook-buddypress.php:529 ../plugins/mycred-hook-buddypress.php:549 ..
5455
+ #: plugins/mycred-hook-buddypress.php:562 ../plugins/mycred-hook-buddypress.php:
5456
+ #: 579 ../plugins/mycred-hook-buddypress.php:592 ../plugins/mycred-hook-
5457
+ #: buddypress.php:609 ../plugins/mycred-hook-buddypress.php:626 ../plugins/mycred-
5458
+ #: hook-buddypress.php:1168 ../plugins/mycred-hook-buddypress.php:1181 ..
5459
+ #: plugins/mycred-hook-buddypress.php:1198 ../plugins/mycred-hook-buddypress.php:
5460
+ #: 1215 ../plugins/mycred-hook-buddypress.php:1232 ../plugins/mycred-hook-
5461
+ #: buddypress.php:1249 ../plugins/mycred-hook-buddypress.php:1267 ..
5462
+ #: plugins/mycred-hook-buddypress.php:1280 ../plugins/mycred-hook-buddypress.php:
5463
+ #: 1297 ../plugins/mycred-hook-buddypress.php:1314 ../plugins/mycred-hook-contact-
5464
+ #: form7.php:152 ../plugins/mycred-hook-gravityforms.php:153 ../plugins/mycred-
5465
+ #: hook-invite-anyone.php:197 ../plugins/mycred-hook-invite-anyone.php:218 ..
5466
+ #: plugins/mycred-hook-jetpack.php:506 ../plugins/mycred-hook-jetpack.php:519 ..
5467
+ #: plugins/mycred-hook-sharethis.php:283 ../plugins/mycred-hook-simplepress.php:
5468
+ #: 289 ../plugins/mycred-hook-simplepress.php:302 ../plugins/mycred-hook-
5469
+ #: simplepress.php:319 ../plugins/mycred-hook-simplepress.php:337 ..
5470
+ #: plugins/mycred-hook-wp-postratings.php:164 ../plugins/mycred-hook-wp-
5471
+ #: postratings.php:183
5472
  msgid "Log template"
5473
  msgstr ""
5474
 
5475
+ #: ../modules/mycred-module-hooks.php:594
5476
  #, php-format
5477
  msgid "%plural% for viewing Posts"
5478
  msgstr ""
5479
 
5480
+ #: ../modules/mycred-module-hooks.php:597 ../modules/mycred-module-hooks.php:614 .
5481
+ #: ./modules/mycred-module-hooks.php:628 ../modules/mycred-module-hooks.php:645 ..
5482
+ #: modules/mycred-module-hooks.php:703 ../modules/mycred-module-hooks.php:720
5483
  msgid "Member"
5484
  msgstr ""
5485
 
5486
+ #: ../modules/mycred-module-hooks.php:604 ../modules/mycred-module-hooks.php:620 .
5487
+ #: ./modules/mycred-module-hooks.php:635 ../modules/mycred-module-hooks.php:651 ..
5488
+ #: modules/mycred-module-hooks.php:710 ../modules/mycred-module-hooks.php:726 ..
5489
+ #: modules/mycred-module-hooks.php:1519 ../modules/mycred-module-hooks.php:1536 .
5490
+ #: ./modules/mycred-module-hooks.php:1553
5491
  msgid "Content Author"
5492
  msgstr ""
5493
 
5494
+ #: ../modules/mycred-module-hooks.php:625
5495
  #, php-format
5496
  msgid "%plural% for viewing Pages"
5497
  msgstr ""
5498
 
5499
+ #: ../modules/mycred-module-hooks.php:700
5500
  #, php-format
5501
  msgid "%plural% for viewing %s"
5502
  msgstr ""
5503
 
5504
+ #: ../modules/mycred-module-hooks.php:1023
 
 
 
 
 
 
5505
  #, php-format
5506
  msgid "%plural% for Posts"
5507
  msgstr ""
5508
 
5509
+ #: ../modules/mycred-module-hooks.php:1040
5510
  #, php-format
5511
  msgid "%plural% for Pages"
5512
  msgstr ""
5513
 
5514
+ #: ../modules/mycred-module-hooks.php:1087
5515
  #, php-format
5516
  msgid "%plural% for %s"
5517
  msgstr ""
5518
 
5519
+ #: ../modules/mycred-module-hooks.php:1510
5520
  msgid ""
5521
  "%plural% are only awarded when your website has been synced with the Disqus "
5522
  "server!"
5523
  msgstr ""
5524
 
5525
+ #: ../modules/mycred-module-hooks.php:1515 ../modules/mycred-module-hooks.php:
5526
+ #: 1532 ../modules/mycred-module-hooks.php:1549
5527
  msgid "Comment Author"
5528
  msgstr ""
5529
 
5530
+ #: ../modules/mycred-module-hooks.php:1529
5531
  msgid "Comment Marked SPAM"
5532
  msgstr ""
5533
 
5534
+ #: ../modules/mycred-module-hooks.php:1546
5535
  msgid "Trashed / Unapproved Comments"
5536
  msgstr ""
5537
 
5538
+ #: ../modules/mycred-module-hooks.php:1566
5539
  msgid "Limit per post"
5540
  msgstr ""
5541
 
5542
+ #: ../modules/mycred-module-hooks.php:1568
5543
  msgid ""
5544
  "The number of comments per post that grants %_plural% to the comment author. "
5545
  "Use zero for unlimited."
5546
  msgstr ""
5547
 
5548
+ #: ../modules/mycred-module-hooks.php:1572
5549
  msgid "Limit per day"
5550
  msgstr ""
5551
 
5552
+ #: ../modules/mycred-module-hooks.php:1574
5553
  msgid "Number of comments per day that grants %_plural%. Use zero for unlimited."
5554
  msgstr ""
5555
 
5556
+ #: ../modules/mycred-module-hooks.php:1579
5557
  msgid ""
5558
  "%plural% is to be awarded even when comment authors reply to their own "
5559
  "comment."
5560
  msgstr ""
5561
 
5562
+ #: ../modules/mycred-module-hooks.php:1650
5563
  msgid "Once for each unique URL"
5564
  msgstr ""
5565
 
5566
+ #: ../modules/mycred-module-hooks.php:1651
5567
  msgid "Once for each unique link id"
5568
  msgstr ""
5569
 
5570
+ #: ../modules/mycred-module-hooks.php:1844
5571
  msgid ""
5572
  "The default amount to award for clicking on links. You can override this in "
5573
  "the shortcode."
5574
  msgstr ""
5575
 
5576
+ #: ../modules/mycred-module-hooks.php:1851
5577
  #, php-format
5578
  msgid "Custom tags: %url%, %title% or %id%."
5579
  msgstr ""
5580
 
5581
+ #: ../modules/mycred-module-hooks.php:1862 ../modules/mycred-module-hooks.php:2898
5582
  msgid "Note!"
5583
  msgstr ""
5584
 
5585
+ #: ../modules/mycred-module-hooks.php:1862
5586
  msgid ""
5587
  "If no ID is set when using the mycred_link shortcode, the shortcode will "
5588
  "generate one automatically based on the value set under href. If you are "
5590
  "by ID."
5591
  msgstr ""
5592
 
5593
+ #: ../modules/mycred-module-hooks.php:1864 ../modules/mycred-module-hooks.php:2220
5594
  msgid "Available Shortcode"
5595
  msgstr ""
5596
 
5597
+ #: ../modules/mycred-module-hooks.php:2184
5598
  msgid "Amount to award for viewing videos."
5599
  msgstr ""
5600
 
5601
+ #: ../modules/mycred-module-hooks.php:2194
5602
  msgid "Award Logic"
5603
  msgstr ""
5604
 
5605
+ #: ../modules/mycred-module-hooks.php:2196
5606
  #, php-format
5607
  msgid "Select when %_plural% should be awarded or deducted."
5608
  msgstr ""
5609
 
5610
+ #: ../modules/mycred-module-hooks.php:2197
5611
  msgid "Play - As soon as video starts playing."
5612
  msgstr ""
5613
 
5614
+ #: ../modules/mycred-module-hooks.php:2198
5615
  msgid "Full - First when the entire video has played."
5616
  msgstr ""
5617
 
5618
+ #: ../modules/mycred-module-hooks.php:2199
5619
  msgid "Interval - For each x number of seconds watched."
5620
  msgstr ""
5621
 
5622
+ #: ../modules/mycred-module-hooks.php:2204
5623
  msgid "Number of seconds"
5624
  msgstr ""
5625
 
5626
+ #: ../modules/mycred-module-hooks.php:2211
5627
  msgid "Leniency"
5628
  msgstr ""
5629
 
5630
+ #: ../modules/mycred-module-hooks.php:2213
5631
  msgid ""
5632
  "The maximum percentage a users view of a movie can differ from the actual "
5633
  "length."
5634
  msgstr ""
5635
 
5636
+ #: ../modules/mycred-module-hooks.php:2216
5637
  msgid ""
5638
  "Do not set this value to zero! A lot of thing can happen while a user "
5639
  "watches a movie and sometimes a few seconds can drop of the counter due to "
5640
  "buffering or play back errors."
5641
  msgstr ""
5642
 
5643
+ #: ../modules/mycred-module-hooks.php:2284
5644
  msgid "Affiliate Program"
5645
  msgstr ""
5646
 
5647
+ #: ../modules/mycred-module-hooks.php:2293
5648
  msgid "Per Day"
5649
  msgstr ""
5650
 
5651
+ #: ../modules/mycred-module-hooks.php:2443
5652
  msgid "Link"
5653
  msgstr ""
5654
 
5655
+ #: ../modules/mycred-module-hooks.php:2447
5656
  msgid "Visitors Referred"
5657
  msgstr ""
5658
 
5659
+ #: ../modules/mycred-module-hooks.php:2451
5660
  msgid "Signups Referred"
5661
  msgstr ""
5662
 
5663
+ #: ../modules/mycred-module-hooks.php:2779 ../plugins/mycred-hook-affiliatewp.php:
5664
+ #: 231
5665
  msgid "Referring Visitors"
5666
  msgstr ""
5667
 
5668
+ #: ../modules/mycred-module-hooks.php:2803 ../modules/mycred-module-hooks.php:2832
5669
  msgid "The number of referrals each member can make. Use zero for unlimited."
5670
  msgstr ""
5671
 
5672
+ #: ../modules/mycred-module-hooks.php:2807 ../modules/mycred-module-hooks.php:2836
5673
  msgid "Referring Signups"
5674
  msgstr ""
5675
 
5676
+ #: ../modules/mycred-module-hooks.php:2811
5677
  msgid "Visitors who have Cookies disabled will not award %_plural%."
5678
  msgstr ""
5679
 
5680
+ #: ../modules/mycred-module-hooks.php:2838
5681
  msgid "Registrations are disabled."
5682
  msgstr ""
5683
 
5684
+ #: ../modules/mycred-module-hooks.php:2846
5685
  msgid "Referral Links"
5686
  msgstr ""
5687
 
5688
+ #: ../modules/mycred-module-hooks.php:2850
5689
  msgid "Assign numeric referral IDs to each user."
5690
  msgstr ""
5691
 
5692
+ #: ../modules/mycred-module-hooks.php:2851 ../modules/mycred-module-hooks.php:2857
5693
  msgid "Example"
5694
  msgstr ""
5695
 
5696
+ #: ../modules/mycred-module-hooks.php:2856
5697
  msgid "Assign usernames as IDs for each user."
5698
  msgstr ""
5699
 
5700
+ #: ../modules/mycred-module-hooks.php:2860
5701
  msgid "IP Limit"
5702
  msgstr ""
5703
 
5704
+ #: ../modules/mycred-module-hooks.php:2864
5705
  msgid "The number of times each IP address grants %_plural%. Use zero for unlimited."
5706
  msgstr ""
5707
 
5708
+ #: ../modules/mycred-module-hooks.php:2868 ../modules/mycred-module-hooks.php:2902
5709
  msgid "BuddyPress Profile"
5710
  msgstr ""
5711
 
5712
+ #: ../modules/mycred-module-hooks.php:2871
5713
  msgid "Insert Link in users Profile"
5714
  msgstr ""
5715
 
5716
+ #: ../modules/mycred-module-hooks.php:2872
5717
  msgid ""
5718
  "Option to inser the referral link in users profiles. Links will only be "
5719
  "visible to users viewing their own profiles or administrators."
5720
  msgstr ""
5721
 
5722
+ #: ../modules/mycred-module-hooks.php:2878
5723
  msgid "Leave empty to hide."
5724
  msgstr ""
5725
 
5726
+ #: ../modules/mycred-module-hooks.php:2881
5727
  msgid "Description"
5728
  msgstr ""
5729
 
5730
+ #: ../modules/mycred-module-hooks.php:2882
5731
  msgid "Optional description to insert under the link."
5732
  msgstr ""
5733
 
5734
+ #: ../modules/mycred-module-hooks.php:2895
5735
  msgid "Profile Positioning"
5736
  msgstr ""
5737
 
5738
+ #: ../modules/mycred-module-hooks.php:2897
5739
  msgid ""
5740
  "You can move around the referral link on your users profile by changing the "
5741
  "position. Increase to move up, decrease to move down."
5742
  msgstr ""
5743
 
5744
+ #: ../modules/mycred-module-hooks.php:2898
5745
  msgid "You can not move the referral link above the users \"Base\" profile details!"
5746
  msgstr ""
5747
 
5748
+ #: ../modules/mycred-module-hooks.php:2904
5749
  msgid "Requires BuddyPress Extended Profiles to be enabled."
5750
  msgstr ""
5751
 
5752
  #: ../modules/mycred-module-log.php:189 ../modules/mycred-module-log.php:210 ..
5753
+ #: modules/mycred-module-settings.php:61 ../modules/mycred-module-settings.php:102
5754
  msgid "Access denied for this action"
5755
  msgstr ""
5756
 
5766
  msgid "Entry Updated"
5767
  msgstr ""
5768
 
5769
+ #: ../modules/mycred-module-log.php:290 ../modules/mycred-module-settings.php:585
5770
  msgid "Entries"
5771
  msgstr ""
5772
 
5773
+ #: ../modules/mycred-module-log.php:305 ../modules/mycred-module-log.php:400 ..
5774
+ #: modules/mycred-module-log.php:650 ../modules/mycred-module-settings.php:722
5775
  msgid "Export"
5776
  msgstr ""
5777
 
5779
  msgid "Search results for"
5780
  msgstr ""
5781
 
5782
+ #: ../modules/mycred-module-log.php:379
5783
  #, php-format
5784
  msgid "%s Log"
5785
  msgstr ""
5786
 
5787
+ #: ../modules/mycred-module-log.php:390
5788
+ msgid ""
5789
+ "Warning. The required Mcrypt PHP Library is not installed on this server! "
5790
+ "Certain hooks and shortcodes will not work correctly!"
5791
+ msgstr ""
5792
+
5793
+ #: ../modules/mycred-module-log.php:522
5794
  msgid "Edit"
5795
  msgstr ""
5796
 
5797
+ #: ../modules/mycred-module-log.php:563
5798
  msgid "Time"
5799
  msgstr ""
5800
 
5801
+ #: ../modules/mycred-module-log.php:567
5802
  msgid "Current Log Entry"
5803
  msgstr ""
5804
 
5805
+ #: ../modules/mycred-module-log.php:569
5806
  msgid "The current saved log entry"
5807
  msgstr ""
5808
 
5809
+ #: ../modules/mycred-module-log.php:572
5810
  msgid "Adjust Log Entry"
5811
  msgstr ""
5812
 
5813
+ #: ../modules/mycred-module-log.php:574
5814
  msgid "The new log entry"
5815
  msgstr ""
5816
 
5817
+ #: ../modules/mycred-module-log.php:577
5818
  msgid "Update Log Entry"
5819
  msgstr ""
5820
 
5821
+ #: ../modules/mycred-module-log.php:644
5822
  #, php-format
5823
  msgid "My %s History"
5824
  msgstr ""
5825
 
5826
+ #: ../modules/mycred-module-settings.php:65 ../modules/mycred-module-settings.php:
5827
+ #: 106 ../modules/mycred-module-settings.php:158
5828
  msgid "Missing point type"
5829
  msgstr ""
5830
 
5831
+ #: ../modules/mycred-module-settings.php:137
5832
  msgid "Accounts successfully reset"
5833
  msgstr ""
5834
 
5835
+ #: ../modules/mycred-module-settings.php:184
5836
  msgid "No users found to export"
5837
  msgstr ""
5838
 
5839
+ #: ../modules/mycred-module-settings.php:234
5840
+ msgid "Invalid decimal value."
5841
+ msgstr ""
5842
+
5843
+ #: ../modules/mycred-module-settings.php:281
5844
+ msgid "Log Updated"
5845
+ msgstr ""
5846
+
5847
+ #: ../modules/mycred-module-settings.php:397
5848
+ msgid "Update Database"
5849
+ msgstr ""
5850
+
5851
+ #: ../modules/mycred-module-settings.php:398
5852
+ msgid "Zero for no decimals or maximum 20."
5853
+ msgstr ""
5854
+
5855
+ #: ../modules/mycred-module-settings.php:401 ../modules/mycred-module-settings.
5856
+ #: php:498
5857
+ msgid "Tip"
5858
+ msgstr ""
5859
+
5860
+ #: ../modules/mycred-module-settings.php:401
5861
+ msgid ""
5862
+ "As this is your main point type, the value you select here will be the "
5863
+ "largest number of decimals your installation will support."
5864
+ msgstr ""
5865
+
5866
+ #: ../modules/mycred-module-settings.php:414 ../modules/mycred-module-settings.
5867
+ #: php:427
5868
+ msgid "No decimals"
5869
+ msgstr ""
5870
+
5871
+ #: ../modules/mycred-module-settings.php:439
5872
+ #, php-format
5873
+ msgid "<a href=\"%s\">Click here</a> to change your default point types setup."
5874
+ msgstr ""
5875
+
5876
+ #: ../modules/mycred-module-settings.php:475
5877
  #, php-format
5878
  msgid "%s Settings"
5879
  msgstr ""
5880
 
5881
+ #: ../modules/mycred-module-settings.php:478
5882
  msgid "Adjust your core or add-on settings."
5883
  msgstr ""
5884
 
5885
+ #: ../modules/mycred-module-settings.php:483
5886
  msgid "Core Settings"
5887
  msgstr ""
5888
 
5889
+ #: ../modules/mycred-module-settings.php:485
5890
  msgid "Name"
5891
  msgstr ""
5892
 
5893
+ #: ../modules/mycred-module-settings.php:490
5894
  #, php-format
5895
  msgid "Accessible though the %singular% template tag."
5896
  msgstr ""
5897
 
5898
+ #: ../modules/mycred-module-settings.php:495
5899
  msgid "Accessible though the %plural% template tag."
5900
  msgstr ""
5901
 
5902
+ #: ../modules/mycred-module-settings.php:498
 
 
 
 
5903
  msgid ""
5904
  "Adding an underscore at the beginning of template tag for names will return "
5905
  "them in lowercase. i.e. %_singular%"
5906
  msgstr ""
5907
 
5908
+ #: ../modules/mycred-module-settings.php:520
5909
  msgid "Separator"
5910
  msgid_plural "Separators"
5911
  msgstr[0] ""
5912
  msgstr[1] ""
5913
 
5914
+ #: ../modules/mycred-module-settings.php:527
5915
  msgid "Edit Settings"
5916
  msgstr ""
5917
 
5918
+ #: ../modules/mycred-module-settings.php:529 ../modules/mycred-module-settings.
5919
+ #: php:534
5920
  msgid "Capability to check for."
5921
  msgstr ""
5922
 
5923
+ #: ../modules/mycred-module-settings.php:532
5924
  msgid "Edit Users %plural%"
5925
  msgstr ""
5926
 
5927
+ #: ../modules/mycred-module-settings.php:556
5928
  msgid "Comma separated list of user ids to exclude. No spaces allowed!"
5929
  msgstr ""
5930
 
5931
+ #: ../modules/mycred-module-settings.php:576
5932
  msgid "Management"
5933
  msgstr ""
5934
 
5935
+ #: ../modules/mycred-module-settings.php:578
5936
  msgid "The Log"
5937
  msgstr ""
5938
 
5939
+ #: ../modules/mycred-module-settings.php:581
5940
  msgid "Table Name"
5941
  msgstr ""
5942
 
5943
+ #: ../modules/mycred-module-settings.php:590
5944
  msgid "Empty Log"
5945
  msgstr ""
5946
 
5947
+ #: ../modules/mycred-module-settings.php:605
 
 
 
 
5948
  msgid "Set all to zero"
5949
  msgstr ""
5950
 
5951
+ #: ../modules/mycred-module-settings.php:605
5952
  msgid "CSV Export"
5953
  msgstr ""
5954
 
5955
+ #: ../modules/mycred-module-settings.php:625
5956
  msgid "Default"
5957
  msgstr ""
5958
 
5959
+ #: ../modules/mycred-module-settings.php:628 ../modules/mycred-module-settings.
5960
+ #: php:647 ../modules/mycred-module-settings.php:669
5961
  msgid "Meta Key"
5962
  msgstr ""
5963
 
5964
+ #: ../modules/mycred-module-settings.php:666
5965
  msgid "Add New Type"
5966
  msgstr ""
5967
 
5968
+ #: ../modules/mycred-module-settings.php:671
5969
  msgid "A unique ID for this type."
5970
  msgstr ""
5971
 
5972
+ #: ../modules/mycred-module-settings.php:676
5973
  msgid "Menu and page title."
5974
  msgstr ""
5975
 
5976
+ #: ../modules/mycred-module-settings.php:679
5977
+ msgid ""
5978
+ "The meta key must be lowercase and only contain letters or underscores. All "
5979
+ "other characters will be deleted!"
5980
  msgstr ""
5981
 
5982
+ #: ../modules/mycred-module-settings.php:700
5983
  msgid "Identify users by"
5984
  msgstr ""
5985
 
5986
+ #: ../modules/mycred-module-settings.php:706
5987
  msgid "User Email"
5988
  msgstr ""
5989
 
5990
+ #: ../modules/mycred-module-settings.php:707
5991
  msgid "User Login"
5992
  msgstr ""
5993
 
5994
+ #: ../modules/mycred-module-settings.php:714
5995
  msgid ""
5996
  "Use ID if you intend to use this export as a backup of your current site "
5997
  "while Email is recommended if you want to export to a different site."
5998
  msgstr ""
5999
 
6000
+ #: ../modules/mycred-module-settings.php:717
6001
  msgid "Import Log Entry"
6002
  msgstr ""
6003
 
6004
+ #: ../modules/mycred-module-settings.php:719
6005
  #, php-format
6006
  msgid ""
6007
  "Optional log entry to use if you intend to import this file in a different "
6008
  "%s installation."
6009
  msgstr ""
6010
 
6011
+ #: ../plugins/mycred-hook-affiliatewp.php:18
6012
+ msgid "AffiliateWP"
6013
+ msgstr ""
6014
+
6015
+ #: ../plugins/mycred-hook-affiliatewp.php:19
6016
+ #, php-format
6017
+ msgid ""
6018
+ "Awards %_plural% for affiliate signups, referring visitors and store sale "
6019
+ "referrals."
6020
+ msgstr ""
6021
+
6022
+ #: ../plugins/mycred-hook-affiliatewp.php:218
6023
+ msgid "Affiliate Signup"
6024
+ msgstr ""
6025
+
6026
+ #: ../plugins/mycred-hook-affiliatewp.php:248
6027
+ msgid "Referring Sales"
6028
+ msgstr ""
6029
+
6030
+ #: ../plugins/mycred-hook-affiliatewp.php:251
6031
+ msgid "Pay a set amount for all referrals."
6032
+ msgstr ""
6033
+
6034
+ #: ../plugins/mycred-hook-affiliatewp.php:252
6035
+ msgid "AffiliateWP will use %plural% as currency so pay the referral amount."
6036
+ msgstr ""
6037
+
6038
+ #: ../plugins/mycred-hook-affiliatewp.php:253
6039
+ msgid "Apply an exchange rate against the referral amount."
6040
+ msgstr ""
6041
+
6042
+ #: ../plugins/mycred-hook-affiliatewp.php:261
6043
+ msgid "Log template - Payout"
6044
+ msgstr ""
6045
+
6046
+ #: ../plugins/mycred-hook-affiliatewp.php:266
6047
+ msgid "Log template - Refund"
6048
+ msgstr ""
6049
+
6050
  #: ../plugins/mycred-hook-badgeOS.php:18
6051
  msgid "BadgeOS"
6052
  msgstr ""
6098
  msgid "Awards %_plural% for bbPress actions."
6099
  msgstr ""
6100
 
6101
+ #: ../plugins/mycred-hook-bbPress.php:407
6102
  #, php-format
6103
  msgid "%plural% for New Forum"
6104
  msgstr ""
6105
 
6106
+ #: ../plugins/mycred-hook-bbPress.php:424
6107
  #, php-format
6108
  msgid "%plural% for Forum Deletion"
6109
  msgstr ""
6110
 
6111
+ #: ../plugins/mycred-hook-bbPress.php:437 ../plugins/mycred-hook-simplepress.php:
6112
+ #: 278
6113
  #, php-format
6114
  msgid "%plural% for New Topic"
6115
  msgstr ""
6116
 
6117
+ #: ../plugins/mycred-hook-bbPress.php:455
6118
  #, php-format
6119
  msgid "Forum authors can receive %_plural% for creating new topics."
6120
  msgstr ""
6121
 
6122
+ #: ../plugins/mycred-hook-bbPress.php:459 ../plugins/mycred-hook-simplepress.php:
6123
+ #: 295
6124
  #, php-format
6125
  msgid "%plural% for Topic Deletion"
6126
  msgstr ""
6127
 
6128
+ #: ../plugins/mycred-hook-bbPress.php:472
6129
  #, php-format
6130
  msgid "%plural% for Favorited Topic"
6131
  msgstr ""
6132
 
6133
+ #: ../plugins/mycred-hook-bbPress.php:489
 
 
 
 
 
 
 
 
 
 
 
6134
  #, php-format
6135
  msgid "%plural% for New Reply"
6136
  msgstr ""
6137
 
6138
+ #: ../plugins/mycred-hook-bbPress.php:507
6139
  #, php-format
6140
  msgid "Topic authors can receive %_plural% for replying to their own Topic"
6141
  msgstr ""
6142
 
6143
+ #: ../plugins/mycred-hook-bbPress.php:511
6144
  #, php-format
6145
  msgid "Show users %_plural% balance in replies"
6146
  msgstr ""
6147
 
6148
+ #: ../plugins/mycred-hook-bbPress.php:515
6149
  #, php-format
6150
  msgid "%plural% for Reply Deletion"
6151
  msgstr ""
6161
  "Gallery."
6162
  msgstr ""
6163
 
6164
+ #: ../plugins/mycred-hook-buddypress-gallery.php:96
6165
  #, php-format
6166
  msgid "%plural% for New Gallery"
6167
  msgstr ""
6175
  msgid "Awards %_plural% for link related actions."
6176
  msgstr ""
6177
 
6178
+ #: ../plugins/mycred-hook-buddypress-links.php:244
6179
  #, php-format
6180
  msgid "%plural% for New Links"
6181
  msgstr ""
6182
 
6183
+ #: ../plugins/mycred-hook-buddypress-links.php:261
6184
  #, php-format
6185
  msgid "%plural% for Vote on Link"
6186
  msgstr ""
6187
 
6188
+ #: ../plugins/mycred-hook-buddypress-links.php:277
6189
  msgid "%plural% per received Vote"
6190
  msgstr ""
6191
 
6192
+ #: ../plugins/mycred-hook-buddypress-links.php:280
6193
  msgid "Vote Up"
6194
  msgstr ""
6195
 
6196
+ #: ../plugins/mycred-hook-buddypress-links.php:299
6197
  msgid "Vote Down"
6198
  msgstr ""
6199
 
6200
+ #: ../plugins/mycred-hook-buddypress-links.php:314
6201
  #, php-format
6202
  msgid "%plural% for Updating Links"
6203
  msgstr ""
6204
 
6205
+ #: ../plugins/mycred-hook-buddypress-links.php:331
6206
  #, php-format
6207
  msgid "%plural% for Deleting Links"
6208
  msgstr ""
6216
  msgid "Award / Deduct %_plural% for users creating albums or uploading new photos."
6217
  msgstr ""
6218
 
6219
+ #: ../plugins/mycred-hook-buddypress-media.php:202
6220
  msgid "New Media Upload"
6221
  msgstr ""
6222
 
6223
+ #: ../plugins/mycred-hook-buddypress-media.php:247
6224
  msgid "Delete Media"
6225
  msgstr ""
6226
 
6227
+ #: ../plugins/mycred-hook-buddypress-media.php:250
6228
  msgid "Delete Photo"
6229
  msgstr ""
6230
 
6231
+ #: ../plugins/mycred-hook-buddypress-media.php:260
6232
  msgid "Delete Video"
6233
  msgstr ""
6234
 
6235
+ #: ../plugins/mycred-hook-buddypress-media.php:270
6236
  msgid "Delete Music"
6237
  msgstr ""
6238
 
6256
  "zero to disable a specific hook."
6257
  msgstr ""
6258
 
6259
+ #: ../plugins/mycred-hook-buddypress.php:484
6260
  #, php-format
6261
  msgid "%plural% for Profile Updates"
6262
  msgstr ""
6263
 
6264
+ #: ../plugins/mycred-hook-buddypress.php:501
6265
+ #, php-format
6266
+ msgid "%plural% for Removing Profile Update"
6267
  msgstr ""
6268
 
6269
+ #: ../plugins/mycred-hook-buddypress.php:518
6270
  #, php-format
6271
  msgid "%plural% for New Avatar"
6272
  msgstr ""
6273
 
6274
+ #: ../plugins/mycred-hook-buddypress.php:535
6275
  #, php-format
6276
  msgid "%plural% for New Friendships"
6277
  msgstr ""
6278
 
6279
+ #: ../plugins/mycred-hook-buddypress.php:545
6280
+ #, php-format
6281
+ msgid ""
6282
+ "Users with zero balance can not add friends. Requires that you deduct "
6283
+ "%_plural% for adding a new friend."
6284
+ msgstr ""
6285
+
6286
+ #: ../plugins/mycred-hook-buddypress.php:555
6287
  #, php-format
6288
  msgid "%plural% for Leaving Friendship"
6289
  msgstr ""
6290
 
6291
+ #: ../plugins/mycred-hook-buddypress.php:568
6292
  #, php-format
6293
  msgid "%plural% for New Comment"
6294
  msgstr ""
6295
 
6296
+ #: ../plugins/mycred-hook-buddypress.php:585
6297
  #, php-format
6298
  msgid "%plural% for Deleting Comment"
6299
  msgstr ""
6300
 
6301
+ #: ../plugins/mycred-hook-buddypress.php:598
6302
  #, php-format
6303
  msgid "%plural% for New Messages"
6304
  msgstr ""
6305
 
6306
+ #: ../plugins/mycred-hook-buddypress.php:615
6307
  #, php-format
6308
  msgid "%plural% for Sending Gift"
6309
  msgstr ""
6310
 
6311
+ #: ../plugins/mycred-hook-buddypress.php:1154
6312
  #, php-format
6313
  msgid "%plural% for Creating Groups"
6314
  msgstr ""
6315
 
6316
+ #: ../plugins/mycred-hook-buddypress.php:1158
6317
  msgid ""
6318
  "If you use a negative value and the user does not have enough %_plural% the "
6319
  "\"Create Group\" button will be disabled."
6320
  msgstr ""
6321
 
6322
+ #: ../plugins/mycred-hook-buddypress.php:1162
6323
  msgid "Number of members before awarding %_plural%"
6324
  msgstr ""
6325
 
6326
+ #: ../plugins/mycred-hook-buddypress.php:1164
6327
  msgid "Use zero to award %_plural% when group is created."
6328
  msgstr ""
6329
 
6330
+ #: ../plugins/mycred-hook-buddypress.php:1174
6331
  #, php-format
6332
  msgid "%plural% for Deleting Groups"
6333
  msgstr ""
6334
 
6335
+ #: ../plugins/mycred-hook-buddypress.php:1187
6336
  #, php-format
6337
  msgid "%plural% for New Forum Topic"
6338
  msgstr ""
6339
 
6340
+ #: ../plugins/mycred-hook-buddypress.php:1204
6341
  #, php-format
6342
  msgid "%plural% for Editing Forum Topic"
6343
  msgstr ""
6344
 
6345
+ #: ../plugins/mycred-hook-buddypress.php:1221
6346
  #, php-format
6347
  msgid "%plural% for New Forum Post"
6348
  msgstr ""
6349
 
6350
+ #: ../plugins/mycred-hook-buddypress.php:1238
6351
  #, php-format
6352
  msgid "%plural% for Editing Forum Post"
6353
  msgstr ""
6354
 
6355
+ #: ../plugins/mycred-hook-buddypress.php:1255
6356
  #, php-format
6357
  msgid "%plural% for Joining Groups"
6358
  msgstr ""
6359
 
6360
+ #: ../plugins/mycred-hook-buddypress.php:1259
6361
  msgid ""
6362
  "If you use a negative value and the user does not have enough %_plural% the "
6363
  "\"Join Group\" button will be disabled."
6364
  msgstr ""
6365
 
6366
+ #: ../plugins/mycred-hook-buddypress.php:1273
6367
  #, php-format
6368
  msgid "%plural% for Leaving Groups"
6369
  msgstr ""
6370
 
6371
+ #: ../plugins/mycred-hook-buddypress.php:1286
6372
  #, php-format
6373
  msgid "%plural% for New Group Avatar"
6374
  msgstr ""
6375
 
6376
+ #: ../plugins/mycred-hook-buddypress.php:1303
6377
  #, php-format
6378
  msgid "%plural% for New Group Comment"
6379
  msgstr ""
6387
  msgid "Awards %_plural% for successful form submissions (by logged in users)."
6388
  msgstr ""
6389
 
6390
+ #: ../plugins/mycred-hook-contact-form7.php:117 ../plugins/mycred-hook-
6391
+ #: gravityforms.php:118
6392
  msgid "No forms found."
6393
  msgstr ""
6394
 
6401
  msgid "Awards %_plural% for users attending events."
6402
  msgstr ""
6403
 
6404
+ #: ../plugins/mycred-hook-events-manager-light.php:186
6405
  msgid "Attending Event"
6406
  msgstr ""
6407
 
6408
+ #: ../plugins/mycred-hook-events-manager-light.php:203
6409
  msgid "Cancelling Attendance"
6410
  msgstr ""
6411
 
6446
  "accepted."
6447
  msgstr ""
6448
 
6449
+ #: ../plugins/mycred-hook-invite-anyone.php:190
6450
  #, php-format
6451
  msgid "%plural% for Sending An Invite"
6452
  msgstr ""
6453
 
6454
+ #: ../plugins/mycred-hook-invite-anyone.php:210
 
 
 
 
6455
  #, php-format
6456
  msgid "%plural% for Accepting An Invite"
6457
  msgstr ""
6458
 
6459
+ #: ../plugins/mycred-hook-invite-anyone.php:214
6460
  #, php-format
6461
  msgid "%plural% for each invited user that accepts an invitation."
6462
  msgstr ""
6463
 
 
 
 
 
 
 
6464
  #: ../plugins/mycred-hook-jetpack.php:18
6465
  msgid "Jetpack Subscriptions"
6466
  msgstr ""
6480
  msgid "Comment Subscriptions"
6481
  msgstr ""
6482
 
6483
+ #: ../plugins/mycred-hook-marketpress.php:63 ../plugins/mycred-hook-woocommerce.
6484
+ #: php:63
6485
+ msgid "Reward with %plural%"
6486
+ msgstr ""
6487
+
6488
  #: ../plugins/mycred-hook-sharethis.php:18
6489
  #, php-format
6490
  msgid "%plural% for Sharing"
6497
  "social media sites."
6498
  msgstr ""
6499
 
6500
+ #: ../plugins/mycred-hook-sharethis.php:232
6501
  msgid "Your ShareThis public key is not set."
6502
  msgstr ""
6503
 
6504
+ #: ../plugins/mycred-hook-sharethis.php:237
6505
  msgid "No ShareThis services detected. Please check your installation."
6506
  msgstr ""
6507
 
 
 
 
 
6508
  #: ../plugins/mycred-hook-simplepress.php:19
6509
  #, php-format
6510
  msgid "Awards %_plural% for Simple:Press actions."
6511
  msgstr ""
6512
 
6513
+ #: ../plugins/mycred-hook-simplepress.php:308
6514
  #, php-format
6515
  msgid "%plural% for New Topic Post"
6516
  msgstr ""
6517
 
6518
+ #: ../plugins/mycred-hook-simplepress.php:326
6519
  #, php-format
6520
  msgid "Topic authors can receive %_plural% for posting on their own Topic"
6521
  msgstr ""
6522
 
6523
+ #: ../plugins/mycred-hook-simplepress.php:330
6524
  #, php-format
6525
  msgid "%plural% for Topic Post Deletion"
6526
  msgstr ""
6527
 
6528
+ #: ../plugins/mycred-hook-woocommerce.php:193
 
 
 
 
6529
  msgid "WooCommerce Product Reviews"
6530
  msgstr ""
6531
 
6532
+ #: ../plugins/mycred-hook-woocommerce.php:194
6533
  #, php-format
6534
  msgid "Awards %_plural% for users leaving reviews on your WooCommerce products."
6535
  msgstr ""
6543
  msgid "Awards %_plural% for users adding posts to their favorites."
6544
  msgstr ""
6545
 
6546
+ #: ../plugins/mycred-hook-wp-favorite-posts.php:207
6547
  msgid "Adding Content to Favorites"
6548
  msgstr ""
6549
 
6550
+ #: ../plugins/mycred-hook-wp-favorite-posts.php:225
6551
+ msgid "Authors Content added to favorites"
6552
+ msgstr ""
6553
+
6554
+ #: ../plugins/mycred-hook-wp-favorite-posts.php:243
6555
  msgid "Removing Content from Favorites"
6556
  msgstr ""
6557
 
6558
+ #: ../plugins/mycred-hook-wp-favorite-posts.php:256
6559
+ msgid "Removing Content from Favorites (Author)"
6560
+ msgstr ""
6561
+
6562
  #: ../plugins/mycred-hook-wp-polls.php:18
6563
  msgid "WP-Polls"
6564
  msgstr ""
6567
  #, php-format
6568
  msgid "Awards %_plural% for users voting in polls."
6569
  msgstr ""
6570
+
6571
+ #: ../plugins/mycred-hook-wp-postratings.php:18
6572
+ msgid "Post Ratings"
6573
+ msgstr ""
6574
+
6575
+ #: ../plugins/mycred-hook-wp-postratings.php:19
6576
+ #, php-format
6577
+ msgid ""
6578
+ "Awards %_plural% for post ratings. Supports awarding %_plural% both to post "
6579
+ "author and the user rating."
6580
+ msgstr ""
6581
+
6582
+ #: ../plugins/mycred-hook-wp-postratings.php:76
6583
+ msgid "Based on rating"
6584
+ msgstr ""
6585
+
6586
+ #: ../plugins/mycred-hook-wp-postratings.php:160 ../plugins/mycred-hook-wp-
6587
+ #: postratings.php:179
6588
+ msgid "Use the Rating Value instead of the amount set here."
6589
+ msgstr ""
lang/mycred-es_ES.mo CHANGED
Binary file
lang/mycred-es_ES.po CHANGED
@@ -3,10 +3,10 @@ msgstr ""
3
  "Project-Id-Version: myCRED\n"
4
  "Report-Msgid-Bugs-To: http://mycred.me\n"
5
  "POT-Creation-Date: 2014-03-20 14:26+0100\n"
6
- "PO-Revision-Date: Wed Oct 08 2014 14:08:08 GMT-0400 (Eastern Standard Time)\n"
7
- "Last-Translator: TestName <babakrowshan@gmail.com>\n"
8
  "Language-Team: LANGUAGE <support@mycred.me>\n"
9
- "Language: Spanish\n"
10
  "Plural-Forms: nplurals=2; plural=n != 1\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -24,93 +24,33 @@ msgstr ""
24
  "X-Poedit-SearchPath-1: .\n"
25
  "X-Loco-Target-Locale: es_ES"
26
 
27
- #: ../addons/badges/myCRED-addon-badges.php:495
28
- msgid "To earn this badge, a user must have received:"
29
- msgstr "Para ganar esta insignia, el usuario deberia haber recibido:"
30
-
31
- #: ../addons/badges/includes/mycred-badge-functions.php:63
32
- #, php-format
33
- msgctxt "\"Points\" for \"reference\" \"x time(s)\""
34
- msgid "%s for %s %s"
35
- msgstr "%s para %s %s (veces)"
36
-
37
- #: ../addons/badges/includes/mycred-badge-functions.php:63
38
- msgid "never"
39
- msgid_plural "1 time"
40
- msgstr[0] "nunca"
41
- msgstr[1] "una vez"
42
-
43
- #: ../addons/badges/includes/mycred-badge-functions.php:65
44
- #, php-format
45
- msgctxt "\"x points\" for \"reference\" in total"
46
- msgid "%s for %s in total"
47
- msgstr "%s para %s en total"
48
-
49
- #: ../addons/gateway/carts/mycred-woocommerce.php:110 ..
50
- #: addons/gateway/carts/mycred-woocommerce.php:182
51
- msgid "Refund Log Template"
52
- msgstr "Plantilla de Registro de Reembolsos"
53
-
54
- #: ../addons/gateway/carts/mycred-woocommerce.php:184
55
- msgid "Log entry template for refunds of profit shares."
56
- msgstr "Plantilla de entrada de registro para reembolsos de reparto de ganancias."
57
-
58
- #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:41
59
- msgid "%plural% Cost"
60
- msgstr "%plural% Coste"
61
-
62
- #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:193
63
- msgid "Your Balance"
64
- msgstr "Su Saldo"
65
-
66
- #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:600
67
- msgid "Cart & Checkout Cost"
68
- msgstr "Coste de Carrito y Página de pago"
69
-
70
- #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:603
71
- msgid "Label for cost in %plural%"
72
- msgstr "Etiqueta para coste en %plural%"
73
-
74
- #: ../includes/mycred-log.php:434
75
- #, php-format
76
- msgctxt "mycred"
77
- msgid "%1$s of %2$s"
78
- msgstr "%1$s de %2$s"
79
-
80
- #: ../modules/mycred-module-hooks.php:2335
81
- msgid "Visitors Referred"
82
- msgstr "Visitantes Referidos"
83
-
84
- #: ../modules/mycred-module-hooks.php:2339
85
- msgid "Signups Referred"
86
- msgstr "Inscripciones Referidos"
87
-
88
- #: ../mycred.php:429
89
  msgid "Balance"
90
  msgstr "Saldo"
91
 
92
- #: ../mycred.php:454
93
  msgid "%label% History"
94
  msgstr "%lavel% Historial"
95
 
96
- #: ../mycred.php:547
97
  #, php-format
98
  msgid "About %s"
99
  msgstr "Sobre"
100
 
101
- #: ../mycred.php:556
102
  msgid "Awesome People"
103
  msgstr "Gente genial"
104
 
105
- #: ../mycred.php:641 ../mycred.php:665 ../mycred.php:683 ../addons/badges/myCRED-
106
- #: addon-badges.php:438 ../addons/ranks/myCRED-addon-ranks.php:229 ..
107
- #: addons/ranks/myCRED-addon-ranks.php:918 ../addons/sell-content/myCRED-addon-
108
- #: sell-content.php:370 ../addons/transfer/myCRED-addon-transfer.php:132 ..
109
- #: includes/mycred-shortcodes.php:651
 
110
  msgid "Processing..."
111
  msgstr "Procesando..."
112
 
113
- #: ../mycred.php:642
114
  msgid ""
115
  "Warning! All entries in your log will be permanently removed! This can not "
116
  "be undone!"
@@ -118,7 +58,7 @@ msgstr ""
118
  "¡Aviso! Todas las entradas en su registro seran permanentemente borrado! "
119
  "¡Esto no se puede deshacer!"
120
 
121
- #: ../mycred.php:643
122
  msgid ""
123
  "All log entries belonging to deleted users will be permanently deleted! This "
124
  "can not be undone!"
@@ -126,55 +66,63 @@ msgstr ""
126
  "¡Todas las entradas de registro perteneciendo al usuario seran "
127
  "permanentemente borradas! ¡Esto no se puede deshacer!"
128
 
129
- #: ../mycred.php:644
130
  msgid "Warning! All user balances will be set to zero! This can not be undone!"
131
  msgstr ""
132
  "¡Aviso! ¡Todo los saldos del usuario seran puesto a cero! ¡Esto no se puede "
133
  "deshacer!"
134
 
135
- #: ../mycred.php:645
136
  msgid "Done!"
137
  msgstr "¡Realizado!"
138
 
139
- #: ../mycred.php:646 ../mycred.php:664 ../mycred.php:682
140
  msgid "Close"
141
  msgstr "Cerrar"
142
 
143
- #: ../mycred.php:647
144
  msgid "Export users %plural%"
145
  msgstr "Exportar usuarios %plural%"
146
 
147
- #: ../mycred.php:663
 
 
 
 
 
 
 
148
  msgid "Edit Users Balance"
149
  msgstr "Editar saldo del usuario"
150
 
151
- #: ../mycred.php:681
152
  msgid "Edit Log Entry"
153
  msgstr "Edidar entrada de registro"
154
 
155
- #: ../mycred.php:685
156
  msgid "Are you sure you want to delete this log entry? This can not be undone!"
157
  msgstr ""
158
  "¿Esta seguro que quiere borrar esta entrada de registro? ¡Esto no se puede "
159
  "deshacer!"
160
 
161
- #: ../mycred.php:686
162
  msgid "Log entry updated"
163
  msgstr "Entrada de registro actualizado"
164
 
165
- #: ../mycred.php:740 ../mycred.php:761 ../addons/email-notices/myCRED-addon-email-
166
- #: notices.php:723 ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:
167
  #: 499 ../addons/gateway/event-booking/mycred-eventsmanager.php:537
168
  msgid "Setup"
169
  msgstr "Configurar"
170
 
171
- #: ../mycred.php:742 ../addons/gateway/carts/mycred-marketpress.php:367 ..
172
- #: includes/mycred-network.php:151 ../modules/mycred-module-settings.php:20 ..
173
- #: modules/mycred-module-settings.php:21 ../modules/mycred-module-settings.php:22
 
174
  msgid "Settings"
175
  msgstr "Configuraciones"
176
 
177
- #: ../mycred.php:782
178
  msgid ""
179
  "Make sure to backup your database and files before updating, in case "
180
  "anything goes wrong!"
@@ -182,257 +130,375 @@ msgstr ""
182
  "Antes de actualizar, asegura crear copias de seguridad de su base de datos y "
183
  "archivo, por si acaso!"
184
 
185
- #: ../abstracts/mycred-abstract-hook.php:70
186
  msgid "function myCRED_Hook::run() must be over-ridden in a sub-class."
187
  msgstr "Historia"
188
 
189
- #: ../abstracts/mycred-abstract-hook.php:79
190
  msgid "This Hook has no settings"
191
  msgstr "Este gancho no ha sido configurado"
192
 
193
- #: ../abstracts/mycred-abstract-hook.php:157 ../modules/mycred-module-hooks.php:
194
- #: 1558
 
195
  msgid "No limit"
196
  msgstr "Sin Limite"
197
 
198
- #: ../abstracts/mycred-abstract-hook.php:158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  msgid "Once every 24 hours"
200
  msgstr "Una vez cada 24 horas"
201
 
202
- #: ../abstracts/mycred-abstract-hook.php:159
203
- msgid "Once every 12 hours"
204
- msgstr "Una vez cada 12 horas"
205
-
206
- #: ../abstracts/mycred-abstract-hook.php:160
207
  msgid "Once every 7 days"
208
  msgstr "Una vez cada 7 dias"
209
 
210
- #: ../abstracts/mycred-abstract-hook.php:161
211
  msgid "Once per day (reset at midnight)"
212
  msgstr "Una vez al dia (reinicializado al medianoche)"
213
 
214
- #: ../abstracts/mycred-abstract-hook.php:168 ../addons/banking/abstracts/mycred-
215
- #: abstract-service.php:498 ../addons/buy-creds/myCRED-addon-buy-creds.php:629 ..
216
- #: addons/buy-creds/myCRED-addon-buy-creds.php:650 ../addons/buy-
217
- #: creds/abstracts/mycred-abstract-payment-gateway.php:991 ../addons/buy-
218
- #: creds/abstracts/mycred-abstract-payment-gateway.php:1014 ../addons/buy-
219
  #: creds/gateways/zombaio.php:338 ../addons/email-notices/myCRED-addon-email-
220
- #: notices.php:195 ../addons/email-notices/myCRED-addon-email-notices.php:873
221
  msgid "Select"
222
  msgstr "Seleccionar"
223
 
224
- #: ../abstracts/mycred-abstract-module.php:52
225
  msgid "myCRED_Module() Error. A Module ID is required!"
226
  msgstr "Error de myCRED_Module(). ¡Se requiere una ID de Modulo!"
227
 
228
- #: ../abstracts/mycred-abstract-module.php:343 ../abstracts/mycred-abstract-
229
- #: module.php:351
230
  msgid "Surprise"
231
  msgstr "Sorpresa"
232
 
233
- #: ../abstracts/mycred-abstract-module.php:438 ../includes/mycred-network.php:83
234
  msgid "click to close"
235
  msgstr "haga clic para cerrar"
236
 
237
- #: ../abstracts/mycred-abstract-module.php:439 ../includes/mycred-network.php:84
238
  msgid "click to open"
239
  msgstr "haga clic para abrir"
240
 
241
- #: ../abstracts/mycred-abstract-module.php:472 ../addons/buy-creds/myCRED-addon-
242
- #: buy-creds.php:847
243
  msgid "Settings Updated"
244
  msgstr "Configuraciones Actualizadas"
245
 
246
- #: ../addons/badges/myCRED-addon-badges.php:38 ../addons/badges/myCRED-addon-
247
- #: badges.php:39 ../addons/badges/myCRED-addon-badges.php:40 ..
248
- #: addons/badges/myCRED-addon-badges.php:234 ../addons/badges/myCRED-addon-
249
- #: badges.php:240 ../addons/badges/myCRED-addon-badges.php:246
 
 
250
  msgid "Badges"
251
  msgstr "Insignias"
252
 
253
- #: ../addons/badges/myCRED-addon-badges.php:144
254
- msgid "No users has yet earned this badge."
255
- msgstr "Ningun usuario ha ganado esta insignia."
 
256
 
257
- #: ../addons/badges/myCRED-addon-badges.php:150
258
  #, php-format
259
  msgid "%d Users earned this badge."
260
  msgstr "%d Usuarios que han ganado esta insignia."
261
 
262
- #: ../addons/badges/myCRED-addon-badges.php:171
 
 
 
 
263
  #, php-format
264
  msgid "%s connections where removed."
265
  msgstr "%s conexiones han sido quitados."
266
 
267
- #: ../addons/badges/myCRED-addon-badges.php:235
268
  msgid "Badge"
269
  msgstr "Insignia"
270
 
271
- #: ../addons/badges/myCRED-addon-badges.php:236 ../addons/email-notices/myCRED-
272
- #: addon-email-notices.php:165 ../addons/ranks/myCRED-addon-ranks.php:247
 
 
273
  msgid "Add New"
274
  msgstr "Añade Nuevo"
275
 
276
- #: ../addons/badges/myCRED-addon-badges.php:237
277
  msgid "Add New Badge"
278
  msgstr "Añadir Nueva Insignia"
279
 
280
- #: ../addons/badges/myCRED-addon-badges.php:238
281
  msgid "Edit Badge"
282
  msgstr "Editar Insignia"
283
 
284
- #: ../addons/badges/myCRED-addon-badges.php:239
285
  msgid "New Badge"
286
  msgstr "Nueva Insignia"
287
 
288
- #: ../addons/badges/myCRED-addon-badges.php:241
289
  msgid "View Badge"
290
  msgstr "Ver Insignia"
291
 
292
- #: ../addons/badges/myCRED-addon-badges.php:242
293
  msgid "Search Badge"
294
  msgstr "Buscar Insignia"
295
 
296
- #: ../addons/badges/myCRED-addon-badges.php:243
297
  msgid "No badges found"
298
  msgstr "Ninguna Insignia Encontrada"
299
 
300
- #: ../addons/badges/myCRED-addon-badges.php:244
301
  msgid "No badges found in Trash"
302
  msgstr "Ninguna Insignia Encontrada en la Papelera"
303
 
304
- #: ../addons/badges/myCRED-addon-badges.php:286 ../addons/badges/myCRED-addon-
305
- #: badges.php:368
306
  msgid "Badge Name"
307
  msgstr "Nombre de Insignia"
308
 
309
- #: ../addons/badges/myCRED-addon-badges.php:287 ../addons/badges/myCRED-addon-
310
- #: badges.php:389
311
  msgid "Badge Images"
312
  msgstr "Imagen de la Insignia"
313
 
314
- #: ../addons/badges/myCRED-addon-badges.php:288 ../addons/badges/myCRED-addon-
315
- #: badges.php:380
316
  msgid "Requirements"
317
  msgstr "Requisitos"
318
 
319
- #: ../addons/badges/myCRED-addon-badges.php:289 ../addons/ranks/myCRED-addon-
320
- #: ranks.php:618 ../modules/mycred-module-settings.php:451
321
  msgid "Users"
322
  msgstr "Usuarios"
323
 
324
- #: ../addons/badges/myCRED-addon-badges.php:315
325
  msgid "A user must have gained or lost:"
326
  msgstr "Un usuario deberia ganado o perdido:"
327
 
328
- #: ../addons/badges/myCRED-addon-badges.php:346 ../addons/badges/myCRED-addon-
329
- #: badges.php:349 ../addons/badges/myCRED-addon-badges.php:353 ..
330
- #: addons/badges/myCRED-addon-badges.php:354 ../addons/badges/myCRED-addon-
331
- #: badges.php:355
332
  msgid "Badge Updated."
333
  msgstr "Insignia Actualizada"
334
 
335
- #: ../addons/badges/myCRED-addon-badges.php:351
336
  msgid "Badge Enabled"
337
  msgstr "Insignia Habilitado"
338
 
339
- #: ../addons/badges/myCRED-addon-badges.php:352
340
  msgid "Badge Saved"
341
  msgstr "Insignia Guardada"
342
 
343
- #: ../addons/badges/myCRED-addon-badges.php:415
 
 
 
 
344
  msgid "Assign Badge"
345
  msgstr "Asignar Insignia"
346
 
347
- #: ../addons/badges/myCRED-addon-badges.php:416
348
  msgid "Remove Connections"
349
  msgstr "Quitar Conexiones"
350
 
351
- #: ../addons/badges/myCRED-addon-badges.php:468
352
  msgid "Time(s)"
353
  msgstr "Tiempo(s)"
354
 
355
- #: ../addons/badges/myCRED-addon-badges.php:469
356
  msgid "In total"
357
  msgstr "En Total"
358
 
359
- #: ../addons/badges/myCRED-addon-badges.php:491 ../addons/badges/myCRED-addon-
360
- #: badges.php:638
 
361
  msgid "Badge Image"
362
  msgstr "Imagen de la Insignia"
363
 
364
- #: ../addons/badges/myCRED-addon-badges.php:492 ../addons/badges/myCRED-addon-
365
- #: badges.php:492
366
  msgid "Set badge image"
367
  msgstr "Configurar la imagen para la insignia"
368
 
369
- #: ../addons/badges/myCRED-addon-badges.php:584 ../addons/badges/myCRED-addon-
370
- #: badges.php:604
371
- msgid "no image"
372
- msgstr "ningun imagen"
373
-
374
- #: ../addons/badges/myCRED-addon-badges.php:591
375
  msgid "Default Image"
376
  msgstr "Imagen Predefinida"
377
 
378
- #: ../addons/badges/myCRED-addon-badges.php:592
379
- msgid ""
380
- "Option to show a default image if the user has not yet earned this badge. "
381
- "Leave empty if not used."
382
- msgstr ""
383
- "Opción para mostrar una imagen predefinida si el usuario todavia no ha "
384
- "ganado esta insignia. Dejar vacio si no se va a utilizar."
385
-
386
- #: ../addons/badges/myCRED-addon-badges.php:595 ../addons/badges/myCRED-addon-
387
- #: badges.php:615
388
  msgid "image url"
389
  msgstr "enlace de la imagen"
390
 
391
- #: ../addons/badges/myCRED-addon-badges.php:611
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  msgid "Main Image"
393
  msgstr "Imagen Principal"
394
 
395
- #: ../addons/badges/myCRED-addon-badges.php:612
396
- msgid "Image to show when the user has earned this badge."
397
- msgstr "Mostrar esta imagen cuando el usuario ha ganado esta insignia."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
398
 
399
- #: ../addons/badges/myCRED-addon-badges.php:640
400
  msgid "Use as Badge"
401
  msgstr "Utiliza como Insignia"
402
 
403
- #: ../addons/badges/myCRED-addon-badges.php:714 ../addons/badges/myCRED-addon-
404
- #: badges.php:742 ../addons/gateway/carts/mycred-woocommerce.php:152 ..
405
- #: modules/mycred-module-buddypress.php:395
406
  msgid "Do not show"
407
  msgstr "No Mostrar"
408
 
409
- #: ../addons/badges/myCRED-addon-badges.php:715 ../modules/mycred-module-
410
- #: buddypress.php:396
411
  msgid "Include in Profile Header"
412
  msgstr "Incluir en el Encabezado del Perfil"
413
 
414
- #: ../addons/badges/myCRED-addon-badges.php:716 ../addons/ranks/myCRED-addon-
415
- #: ranks.php:860 ../modules/mycred-module-buddypress.php:397
416
  msgid "Include under the \"Profile\" tab"
417
  msgstr "Incluir debajo de la pestaña del \"Perfil\""
418
 
419
- #: ../addons/badges/myCRED-addon-badges.php:717 ../modules/mycred-module-
420
- #: buddypress.php:398
421
  msgid "Include under the \"Profile\" tab and Profile Header"
422
  msgstr "Incluir bajo la pestanã \"Perfil\" y Encabezado de Perfil"
423
 
424
- #: ../addons/badges/myCRED-addon-badges.php:743
 
 
 
 
 
 
425
  msgid "Include in Profile"
426
  msgstr "Incluir en el Perfil"
427
 
428
- #: ../addons/badges/myCRED-addon-badges.php:744
429
  msgid "Include in Forum Replies"
430
  msgstr "Incluir en Respuesta de Fórum"
431
 
432
- #: ../addons/badges/myCRED-addon-badges.php:745
433
  msgid "Include in Profile and Forum Replies"
434
  msgstr "Incluir en Perfil y Respuestas de Fórum"
435
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
436
  #: ../addons/banking/myCRED-addon-banking.php:44 ../addons/banking/myCRED-addon-
437
  #: banking.php:45 ../addons/banking/myCRED-addon-banking.php:46
438
  msgid "Banking"
@@ -474,11 +540,11 @@ msgid "Setup mass %_singular% payouts for your users."
474
  msgstr "Configurar pago en masa &_singular% para tus usuarios."
475
 
476
  #: ../addons/banking/myCRED-addon-banking.php:219 ../addons/buy-creds/myCRED-
477
- #: addon-buy-creds.php:837 ../addons/buy-creds/myCRED-addon-buy-creds.php:933 ..
478
- #: includes/mycred-admin.php:554 ../includes/mycred-network.php:125 ..
479
- #: modules/mycred-module-addons.php:277 ../modules/mycred-module-hooks.php:171 ..
480
- #: modules/mycred-module-log.php:326 ../modules/mycred-module-log.php:581 ..
481
- #: modules/mycred-module-settings.php:312
482
  msgid "Access Denied"
483
  msgstr "Acceso Denegado"
484
 
@@ -500,7 +566,7 @@ msgid "Warning! This add-on requires WP - Cron to work."
500
  msgstr "¡Aviso! Esta extensión requiere WP - Cron para funcionar."
501
 
502
  #: ../addons/banking/myCRED-addon-banking.php:248 ../addons/buy-creds/myCRED-
503
- #: addon-buy-creds.php:871 ../modules/mycred-module-hooks.php:196
504
  msgid "Enable"
505
  msgstr "Habilitar"
506
 
@@ -575,7 +641,7 @@ msgstr "Historial de Desembolso"
575
 
576
  #: ../addons/banking/services/mycred-bank-service-interest.php:392 ..
577
  #: addons/banking/services/mycred-bank-service-interest.php:409 ..
578
- #: addons/banking/services/mycred-bank-service-payouts.php:249
579
  msgid "Run Count"
580
  msgstr "Cuenta de Ejecución"
581
 
@@ -614,59 +680,61 @@ msgid "Default Rate"
614
  msgstr "Tasa de Incumplimiento"
615
 
616
  #: ../addons/banking/services/mycred-bank-service-interest.php:427 ..
617
- #: addons/banking/services/mycred-bank-service-payouts.php:267
618
  msgid "Can not be zero."
619
  msgstr "No puede ser cero."
620
 
621
  #: ../addons/banking/services/mycred-bank-service-interest.php:430 ..
622
- #: addons/gateway/carts/mycred-wpecommerce.php:364
623
  msgid "Payout"
624
  msgstr "Desembolso"
625
 
626
  #. can also be "Plantilla de Bitácora"
627
  #: ../addons/banking/services/mycred-bank-service-interest.php:435 ..
628
- #: addons/banking/services/mycred-bank-service-payouts.php:282 ../addons/buy-
629
- #: creds/myCRED-addon-buy-creds.php:607 ../addons/buy-creds/myCRED-addon-buy-
630
- #: creds.php:666 ../addons/coupons/myCRED-addon-coupons.php:440 ..
631
- #: addons/gateway/carts/mycred-marketpress.php:391 ..
632
- #: addons/gateway/carts/mycred-marketpress.php:424 ..
633
- #: addons/gateway/carts/mycred-woocommerce.php:104 ..
634
- #: addons/gateway/carts/mycred-woocommerce.php:176 ..
635
- #: addons/gateway/carts/mycred-wpecommerce.php:368 ../modules/mycred-module-
636
- #: hooks.php:886 ../modules/mycred-module-hooks.php:1756 ../modules/mycred-module-
637
- #: hooks.php:2097 ../plugins/mycred-hook-badgeOS.php:124 ../plugins/mycred-hook-
638
  #: badgeOS.php:126 ../plugins/mycred-hook-badgeOS.php:135 ../plugins/mycred-hook-
639
- #: events-manager-light.php:154 ../plugins/mycred-hook-events-manager-light.php:
640
- #: 167 ../plugins/mycred-hook-gd-star-rating.php:109 ../plugins/mycred-hook-gd-
641
- #: star-rating.php:122 ../plugins/mycred-hook-woocommerce.php:296 ..
642
- #: plugins/mycred-hook-wp-favorite-posts.php:135 ../plugins/mycred-hook-wp-
643
- #: favorite-posts.php:148 ../plugins/mycred-hook-wp-polls.php:136
 
 
644
  msgid "Log Template"
645
  msgstr "Plantilla de Registro"
646
 
647
  #: ../addons/banking/services/mycred-bank-service-interest.php:442 ..
648
- #: addons/banking/services/mycred-bank-service-payouts.php:289 ..
649
- #: addons/coupons/myCRED-addon-coupons.php:392
650
  msgid "Minimum Balance"
651
  msgstr "Saldo Minimo"
652
 
653
  #: ../addons/banking/services/mycred-bank-service-interest.php:446 ..
654
- #: addons/banking/services/mycred-bank-service-payouts.php:293
655
  msgid "Optional minimum balance requirement."
656
  msgstr "Requerimiento opcional de saldo minimo."
657
 
658
  #: ../addons/banking/services/mycred-bank-service-interest.php:449 ..
659
- #: addons/banking/services/mycred-bank-service-payouts.php:296
660
  msgid "Exclude"
661
  msgstr "Excluir"
662
 
663
  #: ../addons/banking/services/mycred-bank-service-interest.php:452 ..
664
- #: addons/banking/services/mycred-bank-service-payouts.php:299
665
  msgid "Comma separated list of user IDs"
666
  msgstr "Lista del IDs de usuarios delimitado por comas"
667
 
668
  #: ../addons/banking/services/mycred-bank-service-interest.php:456 ..
669
- #: addons/banking/services/mycred-bank-service-payouts.php:303
670
  msgid "Roles"
671
  msgstr "Papeles"
672
 
@@ -683,8 +751,8 @@ msgid "This user role is excluded from receiving interest on this balance."
683
  msgstr "Este papel de usuario esta excluido de recibir interés sobre este saldo."
684
 
685
  #: ../addons/banking/services/mycred-bank-service-interest.php:552 ../addons/buy-
686
- #: creds/myCRED-addon-buy-creds.php:759 ../addons/sell-content/myCRED-addon-sell-
687
- #: content.php:113
688
  msgid "Leave empty to use the default value."
689
  msgstr "Dejar vacio si va a utilizar el valor predefinido."
690
 
@@ -712,51 +780,52 @@ msgstr "Usuario permitido la concesión de interés."
712
  msgid "Daily %_plural%"
713
  msgstr "%_plural% diarios"
714
 
715
- #: ../addons/banking/services/mycred-bank-service-payouts.php:245 ..
716
- #: includes/mycred-admin.php:403 ../modules/mycred-module-log.php:254 ..
717
  #: modules/mycred-module-log.php:255
718
  msgid "History"
719
  msgstr "Historial"
720
 
721
- #: ../addons/banking/services/mycred-bank-service-payouts.php:254
722
  msgid "Last Run"
723
  msgstr "Ultima Ejecución"
724
 
725
- #: ../addons/banking/services/mycred-bank-service-payouts.php:258
726
  msgid "Total Payouts"
727
  msgstr "Total Desembolsos"
728
 
729
- #: ../addons/banking/services/mycred-bank-service-payouts.php:262
730
  msgid "Pay Users"
731
  msgstr "Pagar a los Usuarios"
732
 
733
- #: ../addons/banking/services/mycred-bank-service-payouts.php:265 ../addons/buy-
734
  #: creds/myCRED-addon-buy-creds.php:300 ../addons/buy-creds/myCRED-addon-buy-
735
- #: creds.php:1524 ../addons/buy-creds/myCRED-addon-buy-creds.php:1601 ..
736
- #: addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:568 ..
737
- #: includes/mycred-admin.php:707 ../includes/mycred-admin.php:757 ..
738
- #: includes/mycred-shortcodes.php:959
 
739
  msgid "Amount"
740
  msgstr "Cantidad"
741
 
742
- #: ../addons/banking/services/mycred-bank-service-payouts.php:270 ..
743
- #: modules/mycred-module-hooks.php:2112
744
  msgid "Interval"
745
  msgstr "Interval"
746
 
747
- #: ../addons/banking/services/mycred-bank-service-payouts.php:275
748
  msgid "Cycles"
749
  msgstr "Ciclos"
750
 
751
- #: ../addons/banking/services/mycred-bank-service-payouts.php:277
752
  msgid "Set to -1 for unlimited"
753
  msgstr "Ajusta a -1 para ilimitado"
754
 
755
- #: ../addons/banking/services/mycred-bank-service-payouts.php:280
756
  msgid "Important"
757
  msgstr "Importante"
758
 
759
- #: ../addons/banking/services/mycred-bank-service-payouts.php:280
760
  msgid ""
761
  "You can always stop payouts by deactivating this service. Just remember that "
762
  "if you deactivate while there are cycles left, this service will continue on "
@@ -792,7 +861,7 @@ msgid "Edit Pending Payment"
792
  msgstr "Editar Pago Pendiente"
793
 
794
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:264 ../addons/buy-creds/myCRED-
795
- #: addon-buy-creds.php:1635
796
  msgid "No pending payments found"
797
  msgstr "Ningun pago pendiente encontrado"
798
 
@@ -801,23 +870,23 @@ msgid "Not found in Trash"
801
  msgstr "No ha sido encontrado en la Papelera"
802
 
803
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:297 ../addons/buy-creds/myCRED-
804
- #: addon-buy-creds.php:989 ../addons/buy-creds/myCRED-addon-buy-creds.php:1599
805
  msgid "Transaction ID"
806
  msgstr "Identificación de la Transacción"
807
 
808
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:299 ../addons/buy-creds/myCRED-
809
- #: addon-buy-creds.php:985
810
  msgid "Buyer"
811
  msgstr "Comprador"
812
 
813
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:301 ../addons/buy-creds/myCRED-
814
- #: addon-buy-creds.php:1602 ../addons/buy-creds/abstracts/mycred-abstract-payment-
815
- #: gateway.php:569
816
  msgid "Cost"
817
  msgstr "Coste"
818
 
819
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:302 ../addons/buy-creds/myCRED-
820
- #: addon-buy-creds.php:984 ../addons/buy-creds/myCRED-addon-buy-creds.php:1600 ..
821
  #: includes/mycred-overview.php:166 ../includes/mycred-overview.php:173
822
  msgid "Gateway"
823
  msgstr "Pasarela"
@@ -826,261 +895,261 @@ msgstr "Pasarela"
826
  msgid "Type"
827
  msgstr "Clase"
828
 
829
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:391
830
  msgid "Pay Out"
831
  msgstr "Desembolso"
832
 
833
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:422
834
  msgid "buyCRED Purchase Log"
835
  msgstr "compraCRED Registro de Compras"
836
 
837
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:423 ../addons/buy-creds/myCRED-
838
- #: addon-buy-creds.php:656 ../addons/buy-creds/myCRED-addon-buy-creds.php:843
839
  msgid "Purchase Log"
840
  msgstr "Registro de Compras"
841
 
842
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:516 ../addons/gateway/event-
843
  #: booking/mycred-eventespresso3.php:26 ../addons/gateway/event-booking/mycred-
844
  #: eventsmanager-pro.php:516 ../addons/gateway/event-booking/mycred-eventsmanager.
845
- #: php:540 ../addons/sell-content/myCRED-addon-sell-content.php:422
846
  msgid "Payments"
847
  msgstr "Pagos"
848
 
849
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:546
850
  msgid "Please login to purchase %_plural%"
851
  msgstr "Identifícate antes de comprar %_plural%"
852
 
853
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:561
854
  #, php-format
855
  msgid "Gift purchase from %display_name%."
856
  msgstr "Regalo comprado de parte de %display_name%."
857
 
858
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:577 ../addons/ranks/myCRED-
859
- #: addon-ranks.php:645
860
  msgid "Minimum %plural%"
861
  msgstr "Minimo %_plural%"
862
 
863
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:581
864
  msgid "Minimum amount of %plural% a user must purchase. Will default to 1."
865
  msgstr ""
866
  "La mínima cantidad de %plural% que el usuario debe comprar. Sera predefinido "
867
  "a 1."
868
 
869
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:586 ../addons/transfer/myCRED-
870
- #: addon-transfer.php:195 ../includes/mycred-widgets.php:568 ../modules/mycred-
871
- #: module-settings.php:469
872
  msgid "Point Types"
873
  msgstr "Clase de Puntos"
874
 
875
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:589
876
  msgid "Select the point types that users can buy. You must select at least one!"
877
  msgstr ""
878
  "Elige el clase de punto que el usuario puede comprar. Debes eligir al menos "
879
  "uno!"
880
 
881
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:600
882
  msgid "Login Template"
883
  msgstr "Plantilla de Ingreso"
884
 
885
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:604
886
  msgid "Content to show when a user is not logged in."
887
  msgstr "Mostrar este contenido cuando un usuario no ha sido ingresado."
888
 
889
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:614
890
  msgid "Thank You Page"
891
  msgstr "Página de Agradecimiento"
892
 
893
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:617 ../addons/buy-creds/myCRED-
894
- #: addon-buy-creds.php:638
895
  msgid "Custom URL"
896
  msgstr "URL Personalizada"
897
 
898
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:622 ../addons/buy-creds/myCRED-
899
- #: addon-buy-creds.php:643
900
  msgid "Page"
901
  msgstr "Página"
902
 
903
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:635
904
  msgid "Cancellation Page"
905
  msgstr "Página de Cancelación"
906
 
907
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:658
908
  msgid "Show seperate log for %_plural% purchases."
909
  msgstr "Mostrar registro distinto para compras de %_plural%."
910
 
911
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:660
912
  msgid "Gifting"
913
  msgstr "Regalar"
914
 
915
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:662
916
  #, php-format
917
  msgid "Allow users to buy %_plural% for other users."
918
  msgstr "Prmita que usuarios compren %_plural% para otros usuarios."
919
 
920
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:663
921
  #, php-format
922
  msgid "Allow users to buy %_plural% for content authors."
923
  msgstr "Prmita que usuarios compren %_plural% para autores de contenido."
924
 
925
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:671 ../modules/mycred-module-
926
- #: hooks.php:2792
927
  msgid "Available Shortcodes"
928
  msgstr "Códigos cortos Disponibles"
929
 
930
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:753
931
  #, php-format
932
  msgid "%s Exchange Rate"
933
  msgstr "Tipo de Cambio %s"
934
 
935
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:767
936
  msgid "Save Exchange Rates"
937
  msgstr "Guardar Tipo de Cambio"
938
 
939
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:822
940
  msgid "Exchange rate override saved"
941
  msgstr "Anulación de de tipo de cambio guardado"
942
 
943
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:825
944
  msgid "Payment completed"
945
  msgstr "Pago finalizado"
946
 
947
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:843
948
  #, php-format
949
  msgid "%s Payment Gateways"
950
  msgstr "%s Pasarelas de Pago"
951
 
952
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:843 ../addons/buy-creds/myCRED-
953
- #: addon-buy-creds.php:993
954
  msgid "buyCRED Settings"
955
  msgstr "Configuraciones de compraCRED"
956
 
957
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:864
958
  msgid "Test Mode"
959
  msgstr "Modo de Prueba"
960
 
961
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:866
962
  msgid "Enabled"
963
  msgstr "Habilitado"
964
 
965
  #. also, "Inhabilitar"
966
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:869
967
  msgid "Disabled"
968
  msgstr "Desactivado"
969
 
970
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:879
971
  msgid "Sandbox Mode"
972
  msgstr "Modo Entorno Aislado"
973
 
974
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:882
975
  msgid "Enable for test purchases."
976
  msgstr "Habilitar para compras de prueba."
977
 
978
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:899 ../addons/gateway/event-
979
- #: booking/mycred-eventespresso3.php:502 ../modules/mycred-module-settings.php:544
980
  msgid "Update Settings"
981
  msgstr "Actualizar Configuraciones"
982
 
983
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:900
984
  msgid "More Gateways"
985
  msgstr "Mas Pasarelas"
986
 
987
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:986 ../includes/mycred-log.php:
988
  #: 634
989
  msgid "Date"
990
  msgstr "Fecha"
991
 
992
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:988
993
  msgid "Payed"
994
  msgstr "Pagado"
995
 
996
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:993
997
  msgid "<strong>buy</strong>CRED Purchase Log"
998
  msgstr "Registro de Compras de <strong>compra</strong>CRED"
999
 
1000
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:993 ../addons/gateway/event-
1001
  #: booking/mycred-eventespresso3.php:367
1002
  msgid "Gateway Settings"
1003
  msgstr "Configuraciones de la Pasarela de Pago"
1004
 
1005
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1172 ../addons/sell-
1006
- #: content/myCRED-addon-sell-content.php:1191
1007
  msgid "No purchases found"
1008
  msgstr "No se encontro ninguna compra"
1009
 
1010
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1242 ../addons/buy-creds/myCRED-
1011
- #: addon-buy-creds.php:1355
1012
  msgid "This Add-on needs to setup before you can use this shortcode."
1013
  msgstr ""
1014
  "Esta extensión (add-on) debe ser configurado antes de poder usar este código "
1015
  "corto (shortcode)."
1016
 
1017
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1261 ../addons/buy-creds/myCRED-
1018
- #: addon-buy-creds.php:1374
1019
  msgid "No gateways installed."
1020
  msgstr "Ningun pasarela de pago instalado."
1021
 
1022
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1262 ../addons/buy-creds/myCRED-
1023
- #: addon-buy-creds.php:1375
1024
  msgid "Gateway does not exist."
1025
  msgstr "Puerta de enlace no existe."
1026
 
1027
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1310
1028
  msgid "Yourself"
1029
  msgstr "Tu mismo"
1030
 
1031
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1376
1032
  msgid "No active gateways found."
1033
  msgstr "No se encuentra ningun puerta de enlace activo."
1034
 
1035
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1377
1036
  msgid "The selected gateway is not active."
1037
  msgstr "La puerta de enlace seleccionada no esta activo."
1038
 
1039
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1424
1040
  #, php-format
1041
  msgid "Buy with %gateway%"
1042
  msgstr "Compra con %gateway%"
1043
 
1044
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1430 ../addons/sell-
1045
  #: content/myCRED-addon-sell-content.php:44
1046
  msgid "Buy Now"
1047
  msgstr "Compra Ahora"
1048
 
1049
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1475
1050
  msgid "No users found"
1051
  msgstr "Ningun Usuario Encontrado"
1052
 
1053
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1485
1054
  msgid "To"
1055
  msgstr "A"
1056
 
1057
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1502
1058
  msgid "Select Amount"
1059
  msgstr "Selecciona la Cantidad"
1060
 
1061
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1526
1062
  msgid "min."
1063
  msgstr "min."
1064
 
1065
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1534
1066
  msgid "Select Gateway"
1067
  msgstr "Selecciona la Pasarela de Pago"
1068
 
1069
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1575 ../addons/gateway/event-
1070
  #: booking/mycred-eventespresso3.php:27 ../addons/gateway/event-booking/mycred-
1071
  #: eventsmanager-pro.php:39 ../addons/gateway/event-booking/mycred-eventsmanager.
1072
  #: php:35
1073
  msgid "Pay Now"
1074
  msgstr "Pagar Ahora"
1075
 
1076
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1576 ../includes/mycred-install.
1077
- #: php:522
1078
  msgid "Cancel"
1079
  msgstr "Cancelar"
1080
 
1081
- #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1603 ../addons/ranks/myCRED-
1082
- #: addon-ranks.php:990 ../modules/mycred-module-log.php:375 ../modules/mycred-
1083
- #: module-settings.php:440 ../modules/mycred-module-settings.php:455
1084
  msgid "Actions"
1085
  msgstr "Acciones"
1086
 
@@ -1120,12 +1189,12 @@ msgid "Cancel purchase"
1120
  msgstr "Cancelar la compra"
1121
 
1122
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:503 ..
1123
- #: includes/mycred-admin.php:701 ../includes/mycred-admin.php:743
1124
  msgid "required"
1125
  msgstr "necesario"
1126
 
1127
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:504 ..
1128
- #: includes/mycred-admin.php:703 ../includes/mycred-admin.php:745
1129
  msgid "optional"
1130
  msgstr "opcional"
1131
 
@@ -1165,21 +1234,21 @@ msgstr "País"
1165
  msgid "Choose Country"
1166
  msgstr "Eliga el País"
1167
 
1168
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:562
1169
  #, php-format
1170
  msgid "%s Purchase"
1171
  msgstr "Compra %s"
1172
 
1173
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:567 ..
1174
  #: addons/gateway/carts/mycred-wpecommerce.php:112
1175
  msgid "Item"
1176
  msgstr "Articulo"
1177
 
1178
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:590
1179
  msgid "Debug"
1180
  msgstr "Depurar"
1181
 
1182
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:591
1183
  msgid ""
1184
  "Here you can see information that are collected and sent to this gateway. "
1185
  "Debug information is only visible for administrators and are intended for "
@@ -1192,89 +1261,89 @@ msgstr ""
1192
  "puerta de enlace. Por favor, desactivar \"Modo Entorno Aislado\" cuando se "
1193
  "quiere activar este portal y ponerlo online."
1194
 
1195
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:595
1196
  msgid "Section"
1197
  msgstr "Sección"
1198
 
1199
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:596
1200
  msgid "Result"
1201
  msgstr "Resultado"
1202
 
1203
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:601
1204
  msgid "Payment Status"
1205
  msgstr "Estado de Pago"
1206
 
1207
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:605
1208
  msgid "Request"
1209
  msgstr "Solicitud"
1210
 
1211
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:609
1212
  msgid "Gateway Response"
1213
  msgstr "Respuesta de la Pasarela de Pago"
1214
 
1215
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:656
1216
  #, php-format
1217
  msgid "Continue to %s"
1218
  msgstr "Continuar a %s"
1219
 
1220
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:657 ..
1221
  #: addons/buy-creds/gateways/bitpay.php:226
1222
  msgid "Click here if you are not automatically redirected"
1223
  msgstr "Haga clic aqui si no se encuentra redirigida automáticamente"
1224
 
1225
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:662
1226
  msgid "The following information will be sent to the gateway"
1227
  msgstr "La información siguiente sera transmitido a la pasarela de pago"
1228
 
1229
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1341
1230
  msgid "Outside US"
1231
  msgstr "Fuera de los EEUU"
1232
 
1233
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1358
1234
  msgid "January"
1235
  msgstr "Enero"
1236
 
1237
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1359
1238
  msgid "February"
1239
  msgstr "Febrero"
1240
 
1241
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1360
1242
  msgid "March"
1243
  msgstr "Marzo"
1244
 
1245
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1361
1246
  msgid "April"
1247
  msgstr "Abril"
1248
 
1249
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1362
1250
  msgid "May"
1251
  msgstr "Mayo"
1252
 
1253
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1363
1254
  msgid "June"
1255
  msgstr "Junio"
1256
 
1257
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1364
1258
  msgid "July"
1259
  msgstr "Julio"
1260
 
1261
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1365
1262
  msgid "August"
1263
  msgstr "Agosto"
1264
 
1265
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1366
1266
  msgid "September"
1267
  msgstr "Septiembre"
1268
 
1269
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1367
1270
  msgid "October"
1271
  msgstr "Octubre"
1272
 
1273
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1368
1274
  msgid "November"
1275
  msgstr "Noviembre"
1276
 
1277
- #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1369
1278
  msgid "December"
1279
  msgstr "Diciembre"
1280
 
@@ -1321,7 +1390,7 @@ msgstr ""
1321
  "compra!"
1322
 
1323
  #: ../addons/buy-creds/gateways/bitpay.php:212 ../addons/buy-
1324
- #: creds/gateways/bitpay.php:221 ../addons/buy-creds/gateways/netbilling.php:192 .
1325
  #: ./addons/buy-creds/gateways/paypal-standard.php:262 ../addons/buy-
1326
  #: creds/gateways/skrill.php:274 ../addons/buy-creds/gateways/zombaio.php:234
1327
  msgid "Processing payment &hellip;"
@@ -1352,20 +1421,20 @@ msgid "Currency Code"
1352
  msgstr "Código de Moneda"
1353
 
1354
  #: ../addons/buy-creds/gateways/bitpay.php:259 ../addons/buy-
1355
- #: creds/gateways/netbilling.php:228 ../addons/buy-creds/gateways/paypal-standard.
1356
- #: php:291 ../addons/buy-creds/gateways/skrill.php:312
1357
  msgid "Item Name"
1358
  msgstr "Nombre de Artículo"
1359
 
1360
  #: ../addons/buy-creds/gateways/bitpay.php:263 ../addons/buy-
1361
- #: creds/gateways/netbilling.php:232 ../addons/buy-creds/gateways/paypal-standard.
1362
- #: php:295 ../addons/buy-creds/gateways/skrill.php:316
1363
  msgid "Description of the item being purchased by the user."
1364
  msgstr "Descripción del artículo que el usuario esta comprando."
1365
 
1366
  #: ../addons/buy-creds/gateways/bitpay.php:266 ../addons/buy-
1367
- #: creds/gateways/netbilling.php:235 ../addons/buy-creds/gateways/paypal-standard.
1368
- #: php:298 ../addons/buy-creds/gateways/skrill.php:319
1369
  msgid "Exchange Rates"
1370
  msgstr "Tipo de Cambio"
1371
 
@@ -1399,27 +1468,27 @@ msgstr "No"
1399
  msgid "Yes"
1400
  msgstr "Sí"
1401
 
1402
- #: ../addons/buy-creds/gateways/netbilling.php:209
1403
  msgid "Account ID"
1404
  msgstr "ID de la Cuenta"
1405
 
1406
- #: ../addons/buy-creds/gateways/netbilling.php:215
1407
  msgid "Site Tag"
1408
  msgstr "Etiqueta (tag) del Sitio"
1409
 
1410
- #: ../addons/buy-creds/gateways/netbilling.php:221
1411
  msgid "Order Integrity Key"
1412
  msgstr "Clave de Integridad del Pedido"
1413
 
1414
- #: ../addons/buy-creds/gateways/netbilling.php:225
1415
  msgid "Found under Step 12 on the Fraud Defense page."
1416
  msgstr "Se encuentra en Paso 12 de la página sobre Defensa contra Fraude."
1417
 
1418
- #: ../addons/buy-creds/gateways/netbilling.php:239
1419
  msgid "Postback CGI URL"
1420
  msgstr "Devolución de la URL CGI"
1421
 
1422
- #: ../addons/buy-creds/gateways/netbilling.php:243
1423
  msgid ""
1424
  "For this gateway to work, you must login to your NETbilling account and edit "
1425
  "your site. Under \"Default payment form settings\" make sure the Postback CGI "
@@ -1430,23 +1499,23 @@ msgstr ""
1430
  "Predefinido\" asegúrese de que la devolución de la URL CGI esta ajustada a la "
1431
  "dirección indicada arriba y \"Método de Retorno\" está ajustado a POST."
1432
 
1433
- #: ../addons/buy-creds/gateways/netbilling.php:287
1434
  msgid "Incorrect Credit Card number"
1435
  msgstr "Número de Tarjeta de Crédito Incorrecta"
1436
 
1437
- #: ../addons/buy-creds/gateways/netbilling.php:293
1438
  msgid "The credit card entered is past its expiration date."
1439
  msgstr "La tarjeta de crédito ha pasado su fecha de vencimiento."
1440
 
1441
- #: ../addons/buy-creds/gateways/netbilling.php:296
1442
  msgid "The CVV2 number entered is not valid."
1443
  msgstr "El numero CVV2 teclado no es valido."
1444
 
1445
- #: ../addons/buy-creds/gateways/netbilling.php:303
1446
  msgid "The bank routing number entered is not valid."
1447
  msgstr "El número de ruta bancaria introducido no es valido."
1448
 
1449
- #: ../addons/buy-creds/gateways/netbilling.php:307
1450
  msgid "The bank account number entered is not valid."
1451
  msgstr "La cuenta bancaria introducida no es valida."
1452
 
@@ -1469,22 +1538,6 @@ msgstr "Volver a"
1469
  msgid "Account Email"
1470
  msgstr "Cuenta de Correo Electrónico"
1471
 
1472
- #: ../addons/buy-creds/gateways/paypal-standard.php:302
1473
- msgid "IPN Address"
1474
- msgstr "Dirección IPN"
1475
-
1476
- #: ../addons/buy-creds/gateways/paypal-standard.php:306
1477
- msgid ""
1478
- "For this gateway to work, you must login to your PayPal account and under "
1479
- "\"Profile\" > \"Selling Tools\" enable \"Instant Payment Notifications\". Make "
1480
- "sure the \"Notification URL\" is set to the above address and that you have "
1481
- "selected \"Receive IPN messages (Enabled)\"."
1482
- msgstr ""
1483
- "Para que esta pasarela de pago funcione, debes ingresar en tu cuenta de "
1484
- "Paypal y en \"Perfil\" > \"Instrumentos de Venta\" activar \"Notificación de "
1485
- "Pagos Instantaneos\". Asegura que la \"URL de Notifición\" esta ajustado a la "
1486
- "dirección de arriba y que has seleccionado \"(Activar) Recibir mensajes IPN\"."
1487
-
1488
  #: ../addons/buy-creds/gateways/skrill.php:257
1489
  msgid "Product:"
1490
  msgstr "Producto:"
@@ -1505,46 +1558,40 @@ msgstr "Correo electrónico de la Cuenta Comerciante"
1505
  msgid "Secret Word"
1506
  msgstr "Palabra Secreta"
1507
 
1508
- #: ../addons/buy-creds/gateways/skrill.php:309
1509
- msgid "You can set your secret word under \"Merchant Tools\" in your Skrill Account."
1510
- msgstr ""
1511
- "Puedes configurar tu palabra clave o palabra secreta en \"Herramientas del "
1512
- "Vendedor\" en tu cuenta de Skrill."
1513
-
1514
- #: ../addons/buy-creds/gateways/skrill.php:323
1515
  msgid "Confirmation Email"
1516
  msgstr "Correo electrónico de confirmación"
1517
 
1518
- #: ../addons/buy-creds/gateways/skrill.php:326
1519
  msgid "Ask Skrill to send me a confirmation email for each successful purchase."
1520
  msgstr ""
1521
  "Pide a Skrill que me mande un email de confirmación para cada compra "
1522
  "finalizada con éxito."
1523
 
1524
- #: ../addons/buy-creds/gateways/skrill.php:329
1525
  msgid "Checkout Page"
1526
  msgstr "Página de Pago"
1527
 
1528
- #: ../addons/buy-creds/gateways/skrill.php:332 ../addons/gateway/carts/mycred-
1529
- #: woocommerce.php:92 ../addons/ranks/myCRED-addon-ranks.php:788 ..
1530
- #: addons/transfer/myCRED-addon-transfer.php:653 ../includes/mycred-widgets.php:
1531
- #: 186 ../includes/mycred-widgets.php:363 ../includes/mycred-widgets.php:562 ..
1532
- #: modules/mycred-module-hooks.php:2757
1533
  msgid "Title"
1534
  msgstr "Titulo"
1535
 
1536
- #: ../addons/buy-creds/gateways/skrill.php:334
1537
  msgid "If left empty, your account email is used as title on the Skill Payment Page."
1538
  msgstr ""
1539
  "Si se deja vacío, el correo electrónico de su cuenta sera utilizada como "
1540
  "título en la Página de Pagos Skrill. "
1541
 
1542
- #: ../addons/buy-creds/gateways/skrill.php:337 ../addons/buy-
1543
  #: creds/gateways/zombaio.php:269
1544
  msgid "Logo URL"
1545
  msgstr "URL del Logotipo"
1546
 
1547
- #: ../addons/buy-creds/gateways/skrill.php:339
1548
  msgid ""
1549
  "The URL to the image you want to use on the top of the gateway. For best "
1550
  "integration results we recommend you use logos with dimensions up to 200px "
@@ -1554,11 +1601,11 @@ msgstr ""
1554
  "Para obtener la mejor integración recomendamos que uses logotipos con "
1555
  "dimensiones de hasta 200 píxeles de ancho y 50 px de altura."
1556
 
1557
- #: ../addons/buy-creds/gateways/skrill.php:342
1558
  msgid "Confirmation Note"
1559
  msgstr "Nota de Confirmación"
1560
 
1561
- #: ../addons/buy-creds/gateways/skrill.php:344
1562
  msgid ""
1563
  "Optional text to show user once a transaction has been successfully "
1564
  "completed. This text is shown by Skrill."
@@ -1566,33 +1613,6 @@ msgstr ""
1566
  "Texto opcional a mostrar al usuario cuando la transacción haya sido "
1567
  "completado con éxito. Este texto sera mostrado por Skrill."
1568
 
1569
- #: ../addons/buy-creds/gateways/skrill.php:347 ../addons/gateway/event-
1570
- #: booking/mycred-eventespresso3.php:455
1571
- msgid "Important!"
1572
- msgstr "¡Importante!"
1573
-
1574
- #: ../addons/buy-creds/gateways/skrill.php:348
1575
- msgid ""
1576
- "By default all Skrill Merchant account accept payments via Bank Transfers. "
1577
- "When a user selects this option, no %_plural% are awarded! You will need to "
1578
- "manually award these once the bank transfer is completed."
1579
- msgstr ""
1580
- "Por defecto todas las cuentas Mercantiles de Skrill acceptan pagos a través "
1581
- "de transferencias bancarias. ¡Cuando un usuario elige esta opción, no se "
1582
- "concede %_plural%! Tendras que concederlos manualmente una vez que se haya "
1583
- "realizado la transferencia bancaria."
1584
-
1585
- #: ../addons/buy-creds/gateways/skrill.php:349
1586
- msgid ""
1587
- "By default purchases made using Skrill will result in users having to signup "
1588
- "for a Skrill account (if they do not have one already). You can contact "
1589
- "Skrill Merchant Services and request to disable this feature."
1590
- msgstr ""
1591
- "En forma predeterminada las compras hechas a través de Skrill precisan que "
1592
- "el usuario registre una cuenta de Skrill (si ya no la tiene). Puedes "
1593
- "contactar a los Servicios Mercantiles de Skrill y pedir que desactiven esta "
1594
- "caracteristica del proceso."
1595
-
1596
  #: ../addons/buy-creds/gateways/zombaio.php:143
1597
  #, php-format
1598
  msgid "Duplicate transaction. Received: %s"
@@ -1642,7 +1662,7 @@ msgstr ""
1642
  "clic sobre validar."
1643
 
1644
  #: ../addons/coupons/myCRED-addon-coupons.php:86 ../addons/coupons/myCRED-addon-
1645
- #: coupons.php:92 ../addons/coupons/myCRED-addon-coupons.php:438 ..
1646
  #: includes/mycred-overview.php:188 ../includes/mycred-overview.php:195
1647
  msgid "Coupons"
1648
  msgstr "Cupones"
@@ -1681,14 +1701,15 @@ msgid "No coupons found in Trash"
1681
  msgstr "Ningun Cupón Encontrado en la Papelera"
1682
 
1683
  #: ../addons/coupons/myCRED-addon-coupons.php:98 ../addons/email-notices/myCRED-
1684
- #: addon-email-notices.php:163 ../addons/email-notices/myCRED-addon-email-notices.
1685
- #: php:169 ../addons/email-notices/myCRED-addon-email-notices.php:175 ..
1686
- #: addons/email-notices/myCRED-addon-email-notices.php:272
1687
  msgid "Email Notices"
1688
  msgstr "Avisos por Correo Electrónico"
1689
 
1690
  #: ../addons/coupons/myCRED-addon-coupons.php:119 ../addons/coupons/myCRED-addon-
1691
- #: coupons.php:122
 
1692
  msgid "Coupon updated."
1693
  msgstr "Cupón Actualizado"
1694
 
@@ -1708,101 +1729,110 @@ msgstr "Cupón Borrador Guardado."
1708
  msgid "Unique Coupon Code"
1709
  msgstr "Unico Código de Cupón"
1710
 
1711
- #: ../addons/coupons/myCRED-addon-coupons.php:156
1712
  msgid "Coupon Code"
1713
  msgstr "Código de Cupón"
1714
 
1715
- #: ../addons/coupons/myCRED-addon-coupons.php:157 ../addons/coupons/myCRED-addon-
1716
- #: coupons.php:309
1717
  msgid "Value"
1718
  msgstr "Valor"
1719
 
1720
- #: ../addons/coupons/myCRED-addon-coupons.php:158
1721
- msgid "Usage"
1722
- msgstr "Utilización"
1723
 
1724
- #: ../addons/coupons/myCRED-addon-coupons.php:159 ../addons/transfer/myCRED-addon-
1725
- #: transfer.php:243 ../modules/mycred-module-hooks.php:1472 ../modules/mycred-
1726
- #: module-hooks.php:1763
1727
  msgid "Limits"
1728
  msgstr "imites"
1729
 
1730
- #: ../addons/coupons/myCRED-addon-coupons.php:160
1731
  msgid "Expires"
1732
  msgstr "Expire"
1733
 
1734
- #: ../addons/coupons/myCRED-addon-coupons.php:188
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1735
  msgid "not yet used"
1736
  msgstr "todavia no utilizado"
1737
 
1738
- #: ../addons/coupons/myCRED-addon-coupons.php:198 ../modules/mycred-module-hooks.
1739
- #: php:2202
1740
  msgid "Total"
1741
  msgstr "Total"
1742
 
1743
- #: ../addons/coupons/myCRED-addon-coupons.php:198
1744
  msgid "Per User"
1745
  msgstr "Por Usuario"
1746
 
1747
- #: ../addons/coupons/myCRED-addon-coupons.php:206
1748
  msgid "Never"
1749
  msgstr "Nunca"
1750
 
1751
- #: ../addons/coupons/myCRED-addon-coupons.php:210
1752
  msgid "Expired"
1753
  msgstr "Caducado"
1754
 
1755
- #: ../addons/coupons/myCRED-addon-coupons.php:213
1756
  #, php-format
1757
  msgid "In %s time"
1758
  msgstr "En %s tiempo"
1759
 
1760
- #: ../addons/coupons/myCRED-addon-coupons.php:254
1761
  msgid "Coupon Setup"
1762
  msgstr "Configuración de Cupón"
1763
 
1764
- #: ../addons/coupons/myCRED-addon-coupons.php:263
1765
  msgid "Coupon Limits"
1766
  msgstr "Limites de Cupón"
1767
 
1768
- #: ../addons/coupons/myCRED-addon-coupons.php:272
1769
  msgid "Coupon Requirements"
1770
  msgstr "Requisitos de Cupón"
1771
 
1772
- #: ../addons/coupons/myCRED-addon-coupons.php:312
 
 
 
 
1773
  msgid "The amount of %plural% this coupon is worth."
1774
  msgstr "La cantidad de %plural% que vale este cupón."
1775
 
1776
- #: ../addons/coupons/myCRED-addon-coupons.php:315 ../addons/gateway/carts/mycred-
1777
- #: marketpress.php:385 ../addons/gateway/carts/mycred-woocommerce.php:120 ..
1778
- #: addons/gateway/carts/mycred-wpecommerce.php:351 ../addons/gateway/event-
1779
- #: booking/mycred-eventespresso3.php:437 ../addons/gateway/event-booking/mycred-
1780
- #: eventsmanager-pro.php:504 ../addons/gateway/event-booking/mycred-eventsmanager.
1781
- #: php:550 ../addons/sell-content/myCRED-addon-sell-content.php:410 ..
1782
- #: includes/mycred-widgets.php:193 ../includes/mycred-widgets.php:369 ..
1783
- #: includes/importers/mycred-cubepoints.php:365
1784
- msgid "Point Type"
1785
- msgstr "Clase de Puntos"
1786
-
1787
- #: ../addons/coupons/myCRED-addon-coupons.php:316
1788
  msgid "Select the point type that this coupon is applied."
1789
  msgstr "Elige el clase de puntos al cual este cupón se aplica."
1790
 
1791
- #: ../addons/coupons/myCRED-addon-coupons.php:321
1792
  msgid "Expire"
1793
  msgstr "Caducar"
1794
 
1795
- #: ../addons/coupons/myCRED-addon-coupons.php:324
1796
  msgid "Optional date when this coupon expires. Expired coupons will be trashed."
1797
  msgstr ""
1798
  "La fecha opcional cuando este cupón caduca. Cupones caducados seran "
1799
  "destrozado."
1800
 
1801
- #: ../addons/coupons/myCRED-addon-coupons.php:353
1802
  msgid "Global Maximum"
1803
  msgstr "Máximo Global"
1804
 
1805
- #: ../addons/coupons/myCRED-addon-coupons.php:356
1806
  msgid ""
1807
  "The maximum number of times this coupon can be used. Note that the coupon "
1808
  "will be automatically trashed once this maximum is reached!"
@@ -1812,15 +1842,15 @@ msgstr ""
1812
  "alcanza este máximo!"
1813
 
1814
  #. not clear if this is referring to the maximum number of users or to the maximum "points" a user can have or accrue?
1815
- #: ../addons/coupons/myCRED-addon-coupons.php:360
1816
  msgid "User Maximum"
1817
  msgstr "Máximo Usuario"
1818
 
1819
- #: ../addons/coupons/myCRED-addon-coupons.php:363
1820
  msgid "The maximum number of times this coupon can be used by a user."
1821
  msgstr "El máximo numero de veces que se puede utilizadar este cupón por un usuario."
1822
 
1823
- #: ../addons/coupons/myCRED-addon-coupons.php:395
1824
  msgid ""
1825
  "Optional minimum balance a user must have in order to use this coupon. Use "
1826
  "zero to disable."
@@ -1828,11 +1858,11 @@ msgstr ""
1828
  "Mínimo saldo opcional que el usuario debe tener para utilizar este cupón. "
1829
  "Utilice cero para inhabilitar."
1830
 
1831
- #: ../addons/coupons/myCRED-addon-coupons.php:399
1832
  msgid "Maximum Balance"
1833
  msgstr "Saldo Máximo"
1834
 
1835
- #: ../addons/coupons/myCRED-addon-coupons.php:402
1836
  msgid ""
1837
  "Optional maximum balance a user can have in order to use this coupon. Use "
1838
  "zero to disable."
@@ -1840,7 +1870,7 @@ msgstr ""
1840
  "Saldo máximo opcional que un usuario puede tener para usar este cupón. Ponga "
1841
  "cero para desactivar."
1842
 
1843
- #: ../addons/coupons/myCRED-addon-coupons.php:444
1844
  #, php-format
1845
  msgid ""
1846
  "Log entry for successful coupon redemption. Use %coupon% to show the coupon "
@@ -1849,35 +1879,35 @@ msgstr ""
1849
  "Entrada del registro al exitoso canje del cupón. Utilice %coupon% para "
1850
  "mostrar el código del cupón."
1851
 
1852
- #: ../addons/coupons/myCRED-addon-coupons.php:447
1853
  msgid "Invalid Coupon Message"
1854
  msgstr "Mensaje Cupón Invalido"
1855
 
1856
- #: ../addons/coupons/myCRED-addon-coupons.php:451
1857
  msgid "Message to show when users try to use a coupon that does not exists."
1858
  msgstr "Mostrar mensaje cuando los usuarios intenten usar un cupón que no existe."
1859
 
1860
- #: ../addons/coupons/myCRED-addon-coupons.php:454
1861
  msgid "Expired Coupon Message"
1862
  msgstr "Mensaje de Cupón Caducado"
1863
 
1864
- #: ../addons/coupons/myCRED-addon-coupons.php:458
1865
  msgid "Message to show when users try to use that has expired."
1866
  msgstr "Mostrar mensaje cuando los usuarios intenten usar lo que ha caducado."
1867
 
1868
- #: ../addons/coupons/myCRED-addon-coupons.php:461
1869
  msgid "User Limit Message"
1870
  msgstr "Mensaje de Límite de Usuario"
1871
 
1872
- #: ../addons/coupons/myCRED-addon-coupons.php:465
1873
  msgid "Message to show when the user limit has been reached for the coupon."
1874
  msgstr "Mostrar mensaje cuando el cupón alcanza su límite de usuarios."
1875
 
1876
- #: ../addons/coupons/myCRED-addon-coupons.php:468
1877
  msgid "Minimum Balance Message"
1878
  msgstr "Mensaje de Saldo Mínimo"
1879
 
1880
- #: ../addons/coupons/myCRED-addon-coupons.php:472
1881
  msgid ""
1882
  "Message to show when a user does not meet the minimum balance requirement. "
1883
  "(if used)"
@@ -1885,11 +1915,11 @@ msgstr ""
1885
  "Mostrar mensaje cuando el usuario no cumple con el saldo mínimo requerido. "
1886
  "(si se utiliza)"
1887
 
1888
- #: ../addons/coupons/myCRED-addon-coupons.php:475
1889
  msgid "Maximum Balance Message"
1890
  msgstr "Mensaje Saldo Máximo"
1891
 
1892
- #: ../addons/coupons/myCRED-addon-coupons.php:479
1893
  msgid ""
1894
  "Message to show when a user does not meet the maximum balance requirement. "
1895
  "(if used)"
@@ -1897,11 +1927,11 @@ msgstr ""
1897
  "Mostrar mensaje cuando un usuario no alcanza el saldo máximo requerido. (si "
1898
  "se utiliza)"
1899
 
1900
- #: ../addons/coupons/myCRED-addon-coupons.php:482
1901
  msgid "Success Message"
1902
  msgstr "Mensaje de éxito"
1903
 
1904
- #: ../addons/coupons/myCRED-addon-coupons.php:486
1905
  msgid "Message to show when a coupon was successfully deposited to a users account."
1906
  msgstr "Monstrar mensaje cuando un cupón se deposita con éxito en una cuenta usuaria."
1907
 
@@ -1913,112 +1943,120 @@ msgstr "Canje de cupones"
1913
  msgid "Apply Coupon"
1914
  msgstr "Aplica el Cupón"
1915
 
1916
- #: ../addons/email-notices/myCRED-addon-email-notices.php:164 ../addons/email-
1917
- #: notices/myCRED-addon-email-notices.php:1120
1918
  msgid "Email Notice"
1919
  msgstr "Aviso por Correo Electrónico"
1920
 
1921
- #: ../addons/email-notices/myCRED-addon-email-notices.php:166
1922
  msgid "Add New Notice"
1923
  msgstr "Añade Nueva Notificación"
1924
 
1925
- #: ../addons/email-notices/myCRED-addon-email-notices.php:167
1926
  msgid "Edit Notice"
1927
  msgstr "Editar Aviso"
1928
 
1929
- #: ../addons/email-notices/myCRED-addon-email-notices.php:168
1930
  msgid "New Notice"
1931
  msgstr "Nuevo Aviso"
1932
 
1933
- #: ../addons/email-notices/myCRED-addon-email-notices.php:170
1934
  msgid "View Notice"
1935
  msgstr "Ver Aviso"
1936
 
1937
- #: ../addons/email-notices/myCRED-addon-email-notices.php:171
1938
  msgid "Search Email Notices"
1939
  msgstr "Búsqueda de Avisos por Correo Electrónico"
1940
 
1941
- #: ../addons/email-notices/myCRED-addon-email-notices.php:172
1942
  msgid "No email notices found"
1943
  msgstr "Ningun aviso por correo electrónico encontrado"
1944
 
1945
- #: ../addons/email-notices/myCRED-addon-email-notices.php:173
1946
  msgid "No email notices found in Trash"
1947
  msgstr "Ningun aviso por correo electrónico encontrado en la papelera"
1948
 
1949
- #: ../addons/email-notices/myCRED-addon-email-notices.php:197 ..
1950
- #: addons/gateway/carts/mycred-wpecommerce.php:338 ../includes/mycred-functions.
1951
- #: php:593
1952
  msgid "General"
1953
  msgstr "General"
1954
 
1955
  #. can also be users as in plural, I've assumed it is user singular with a missing apostrophe
1956
- #: ../addons/email-notices/myCRED-addon-email-notices.php:198
1957
  msgid "users balance changes"
1958
  msgstr "el saldo de usuario cambia"
1959
 
1960
- #: ../addons/email-notices/myCRED-addon-email-notices.php:199
1961
  msgid "user gains %_plural%"
1962
  msgstr "usuario gana %_plural%"
1963
 
1964
- #: ../addons/email-notices/myCRED-addon-email-notices.php:200
1965
  msgid "user lose %_plural%"
1966
  msgstr "usuario pierde %_plural%"
1967
 
1968
- #: ../addons/email-notices/myCRED-addon-email-notices.php:201
1969
  msgid "users balance reaches zero"
1970
  msgstr "saldo de usuario llega a cero"
1971
 
1972
  #. can also be users as in plural, I've assumed it is user singular with a missing apostrophe
1973
- #: ../addons/email-notices/myCRED-addon-email-notices.php:202
1974
  msgid "users balance goes minus"
1975
  msgstr "el saldo de usuario cae a negativo"
1976
 
1977
- #: ../addons/email-notices/myCRED-addon-email-notices.php:208
 
 
 
 
 
 
 
 
1978
  msgid "Sell Content Add-on"
1979
  msgstr "Extensión para Vender Contenido"
1980
 
1981
- #: ../addons/email-notices/myCRED-addon-email-notices.php:209
1982
  msgid "user buys content"
1983
  msgstr "usuario compra contenido"
1984
 
1985
- #: ../addons/email-notices/myCRED-addon-email-notices.php:210
1986
  msgid "authors content gets sold"
1987
  msgstr "el contenido del autor sera vendido"
1988
 
1989
- #: ../addons/email-notices/myCRED-addon-email-notices.php:217
1990
  msgid "buyCREDs Add-on"
1991
  msgstr "Extensión de compraCREDs"
1992
 
1993
- #: ../addons/email-notices/myCRED-addon-email-notices.php:218
1994
  msgid "user buys %_plural%"
1995
  msgstr "usuario compra %_plural%"
1996
 
1997
- #: ../addons/email-notices/myCRED-addon-email-notices.php:225
1998
  msgid "Transfer Add-on"
1999
  msgstr "Extensión de Transferencias"
2000
 
2001
- #: ../addons/email-notices/myCRED-addon-email-notices.php:226
2002
  msgid "user sends %_plural%"
2003
  msgstr "usuario manda %_plural%"
2004
 
2005
- #: ../addons/email-notices/myCRED-addon-email-notices.php:227
2006
  msgid "user receives %_plural%"
2007
  msgstr "usuario recibe %_plural%"
2008
 
2009
- #: ../addons/email-notices/myCRED-addon-email-notices.php:234
2010
  msgid "Ranks Add-on"
2011
  msgstr "Extensión de Rangos"
2012
 
2013
- #: ../addons/email-notices/myCRED-addon-email-notices.php:235
2014
  msgid "user is demoted"
2015
  msgstr "se ha degrado al usuario"
2016
 
2017
- #: ../addons/email-notices/myCRED-addon-email-notices.php:236
2018
  msgid "user is promoted"
2019
  msgstr "se ha promovido al usuario"
2020
 
2021
- #: ../addons/email-notices/myCRED-addon-email-notices.php:274
2022
  msgid ""
2023
  "Settings that apply to all email notices and can not be overridden for "
2024
  "individual emails."
@@ -2026,23 +2064,23 @@ msgstr ""
2026
  "Ajustes que se aplica a todos los correos electrónicos y que no seran "
2027
  "anulados para correos electronicos especificos."
2028
 
2029
- #: ../addons/email-notices/myCRED-addon-email-notices.php:275
2030
  msgid "Email Format"
2031
  msgstr "Formato de Correo Electrónico"
2032
 
2033
- #: ../addons/email-notices/myCRED-addon-email-notices.php:279
2034
  msgid "Plain text emails only."
2035
  msgstr "Correo electrónico usando texto sin formato."
2036
 
2037
- #: ../addons/email-notices/myCRED-addon-email-notices.php:283
2038
  msgid "HTML or Plain text emails."
2039
  msgstr "Correo electrónico usando HTML o texto sin formato."
2040
 
2041
- #: ../addons/email-notices/myCRED-addon-email-notices.php:286
2042
  msgid "Filters"
2043
  msgstr "Filtros"
2044
 
2045
- #: ../addons/email-notices/myCRED-addon-email-notices.php:290
2046
  msgid ""
2047
  "Allow WordPress and Third Party Plugins to filter the email subject before "
2048
  "an email is sent."
@@ -2050,7 +2088,7 @@ msgstr ""
2050
  "Permite a Wordpress y a los Plugins de terceros a filtrar el asunto del "
2051
  "correo electrónico antes de enviarlo."
2052
 
2053
- #: ../addons/email-notices/myCRED-addon-email-notices.php:294
2054
  msgid ""
2055
  "Allow WordPress and Third Party Plugins to filter the email content before "
2056
  "an email is sent."
@@ -2058,32 +2096,32 @@ msgstr ""
2058
  "Permite a Wordpress y a los Plugins de terceros a filtrar el contenido del "
2059
  "correo electrónico antes de enviarlo."
2060
 
2061
- #: ../addons/email-notices/myCRED-addon-email-notices.php:299 ../addons/email-
2062
- #: notices/myCRED-addon-email-notices.php:305
2063
  msgid "Email Schedule"
2064
  msgstr "Itinerario de Emails"
2065
 
2066
- #: ../addons/email-notices/myCRED-addon-email-notices.php:301
2067
  msgid "WordPress Cron is disabled. Emails will be sent immediately."
2068
  msgstr "WordPress Cron esta desactivado. Los emails seran mandados inmediatamente."
2069
 
2070
- #: ../addons/email-notices/myCRED-addon-email-notices.php:309
2071
  msgid "Send emails immediately"
2072
  msgstr "Mandar emails inmediatamente"
2073
 
2074
- #: ../addons/email-notices/myCRED-addon-email-notices.php:313
2075
  msgid "Send emails once an hour"
2076
  msgstr "Mandar emails una vez a la hora"
2077
 
2078
- #: ../addons/email-notices/myCRED-addon-email-notices.php:317
2079
  msgid "Send emails once a day"
2080
  msgstr "Mandar emails una vez al dia"
2081
 
2082
- #: ../addons/email-notices/myCRED-addon-email-notices.php:320
2083
  msgid "Subscriptions"
2084
  msgstr "Suscripciones"
2085
 
2086
- #: ../addons/email-notices/myCRED-addon-email-notices.php:322
2087
  #, php-format
2088
  msgid ""
2089
  "Use the %s shortcode to allow users to subscribe / unsubscribe to email "
@@ -2092,11 +2130,11 @@ msgstr ""
2092
  "Utilize el %s codigo corto para permitir que los usuarios suscriben o darsen "
2093
  "de baja a informes vía correo electrónico."
2094
 
2095
- #: ../addons/email-notices/myCRED-addon-email-notices.php:327
2096
  msgid "SMTP Override"
2097
  msgstr "Invalidar SMTP"
2098
 
2099
- #: ../addons/email-notices/myCRED-addon-email-notices.php:331
2100
  msgid ""
2101
  "SMTP Debug. Enable if you are experiencing issues with wp_mail() or if you "
2102
  "use a SMTP plugin for emails."
@@ -2104,7 +2142,7 @@ msgstr ""
2104
  "Depurar SMTP. Habilitar si hay erores con wp_mail() o si utiliza un plugin "
2105
  "SMTP para email."
2106
 
2107
- #: ../addons/email-notices/myCRED-addon-email-notices.php:334
2108
  msgid ""
2109
  "Default email settings. These settings can be individually overridden when "
2110
  "editing emails."
@@ -2112,175 +2150,198 @@ msgstr ""
2112
  "Configuraciones predeterminadas para correos electrónicos. Estos ajustes "
2113
  "pueden ser anulado individualmente cuando se edita correos electrónicos."
2114
 
2115
- #: ../addons/email-notices/myCRED-addon-email-notices.php:335 ../addons/email-
2116
- #: notices/myCRED-addon-email-notices.php:787
2117
  msgid "Email Settings"
2118
  msgstr "Configuraciones de Correo Electrónico"
2119
 
2120
- #: ../addons/email-notices/myCRED-addon-email-notices.php:338 ../addons/email-
2121
- #: notices/myCRED-addon-email-notices.php:910
2122
  msgid "Senders Name:"
2123
  msgstr "Nombre del Remitente"
2124
 
2125
- #: ../addons/email-notices/myCRED-addon-email-notices.php:342 ../addons/email-
2126
- #: notices/myCRED-addon-email-notices.php:912
2127
  msgid "Senders Email:"
2128
  msgstr "Correo Electrónico del Remitente:"
2129
 
2130
- #: ../addons/email-notices/myCRED-addon-email-notices.php:346
2131
  msgid "Reply-To:"
2132
  msgstr "Responder-A:"
2133
 
2134
- #: ../addons/email-notices/myCRED-addon-email-notices.php:350
2135
  msgid "Default Email Content"
2136
  msgstr "Contenido de Correo Electrónico Predefinido"
2137
 
2138
- #: ../addons/email-notices/myCRED-addon-email-notices.php:354
2139
  msgid "Default email content."
2140
  msgstr "Contenido de correo electrónico predefinido."
2141
 
2142
- #: ../addons/email-notices/myCRED-addon-email-notices.php:357
2143
  msgid "Default Email Styling"
2144
  msgstr "Estilo de Correo Electrónico Predefinido"
2145
 
2146
- #: ../addons/email-notices/myCRED-addon-email-notices.php:361
2147
  msgid "Ignored if HTML is not allowed in emails."
2148
  msgstr "Sera ignorado si no se permite HTML en los correos electrónicos."
2149
 
2150
- #: ../addons/email-notices/myCRED-addon-email-notices.php:721 ../addons/email-
2151
- #: notices/myCRED-addon-email-notices.php:836
 
 
 
 
 
 
2152
  msgid "Email Subject"
2153
  msgstr "Asunto del Correo Electrónico"
2154
 
2155
- #: ../addons/email-notices/myCRED-addon-email-notices.php:722
2156
- msgid "Status"
2157
- msgstr "Estatus"
2158
-
2159
- #: ../addons/email-notices/myCRED-addon-email-notices.php:742
2160
  msgid "Not Active"
2161
  msgstr "No esta Activo"
2162
 
2163
- #: ../addons/email-notices/myCRED-addon-email-notices.php:744
2164
  #, php-format
2165
  msgid "Scheduled:<br /><strong>%1$s</strong>"
2166
  msgstr "Programada:<br /><strong>%1$s</strong>"
2167
 
2168
- #: ../addons/email-notices/myCRED-addon-email-notices.php:748
2169
  msgid "Active"
2170
  msgstr "Activo"
2171
 
2172
- #: ../addons/email-notices/myCRED-addon-email-notices.php:750
2173
  #, php-format
2174
  msgid "Active - Last run:<br /><strong>%1$s</strong>"
2175
  msgstr "Activo - Ultima ejecución:<br /><strong>%1$s</strong>"
2176
 
2177
- #: ../addons/email-notices/myCRED-addon-email-notices.php:760
2178
  msgid "Email is sent when"
2179
  msgstr "el Correo Electrónico se envia cuando"
2180
 
2181
- #: ../addons/email-notices/myCRED-addon-email-notices.php:762
2182
  msgid "Missing instance for this notice!"
2183
  msgstr "¡Falta una instancia para este aviso!"
2184
 
2185
- #: ../addons/email-notices/myCRED-addon-email-notices.php:771 ../addons/email-
2186
- #: notices/myCRED-addon-email-notices.php:773 ../addons/email-notices/myCRED-
2187
- #: addon-email-notices.php:775
2188
  msgid "Sent To"
2189
  msgstr "Enviado A:"
2190
 
2191
- #: ../addons/email-notices/myCRED-addon-email-notices.php:771 ../addons/email-
2192
- #: notices/myCRED-addon-email-notices.php:900 ../includes/mycred-admin.php:752 ..
2193
- #: includes/mycred-log.php:633 ../modules/mycred-module-log.php:546
2194
  msgid "User"
2195
  msgstr "Usuario"
2196
 
2197
- #: ../addons/email-notices/myCRED-addon-email-notices.php:773 ../addons/email-
2198
- #: notices/myCRED-addon-email-notices.php:901
2199
  msgid "Administrator"
2200
  msgstr "Administrador"
2201
 
2202
- #: ../addons/email-notices/myCRED-addon-email-notices.php:775
2203
  msgid "Both Administrator and User"
2204
  msgstr "Tanto Administrador como Usuario"
2205
 
2206
- #: ../addons/email-notices/myCRED-addon-email-notices.php:796
 
 
 
 
 
2207
  msgid "Available Template Tags"
2208
  msgstr "Etiquetas (tags) de Plantilla Disponibles"
2209
 
2210
- #: ../addons/email-notices/myCRED-addon-email-notices.php:807
2211
  msgid "Email Header"
2212
  msgstr "Encabezado del Correo Electrónico"
2213
 
2214
- #: ../addons/email-notices/myCRED-addon-email-notices.php:867
2215
  msgid "Send this email notice when..."
2216
  msgstr "Envia este aviso por correo electrónico cuando..."
2217
 
2218
- #: ../addons/email-notices/myCRED-addon-email-notices.php:898
2219
  msgid "Recipient:"
2220
  msgstr "Destinatario:"
2221
 
2222
- #: ../addons/email-notices/myCRED-addon-email-notices.php:902
2223
  msgid "Both"
2224
  msgstr "Ambos"
2225
 
2226
- #: ../addons/email-notices/myCRED-addon-email-notices.php:906 ..
2227
- #: addons/gateway/carts/mycred-woocommerce.php:160 ../modules/mycred-module-
2228
- #: settings.php:484 ../modules/mycred-module-settings.php:503 ../modules/mycred-
2229
- #: module-settings.php:526
2230
  msgid "Label"
2231
  msgstr "Etiqueta"
2232
 
2233
- #: ../addons/email-notices/myCRED-addon-email-notices.php:914
2234
  msgid "Reply-To Email:"
2235
  msgstr "Responder-A Correo Electrónico:"
2236
 
2237
- #: ../addons/email-notices/myCRED-addon-email-notices.php:920
2238
  msgid "Save"
2239
  msgstr "Guardar"
2240
 
2241
- #: ../addons/email-notices/myCRED-addon-email-notices.php:932
2242
  msgid "CSS Styling"
2243
  msgstr "Estilo CSS"
2244
 
2245
- #: ../addons/email-notices/myCRED-addon-email-notices.php:948
2246
  msgid "Site Related"
2247
  msgstr "Relacionado al Sitio"
2248
 
2249
- #: ../addons/email-notices/myCRED-addon-email-notices.php:949
2250
  msgid "Your websites title"
2251
  msgstr "Titulo de tu pagina web"
2252
 
2253
- #: ../addons/email-notices/myCRED-addon-email-notices.php:950
2254
  msgid "Your websites address"
2255
  msgstr "Dirección de tu pagina web"
2256
 
2257
- #: ../addons/email-notices/myCRED-addon-email-notices.php:951
2258
  msgid "Your websites tagline (description)"
2259
  msgstr "La descripción de tu sitio web (lema o eslogan)"
2260
 
2261
- #: ../addons/email-notices/myCRED-addon-email-notices.php:952
2262
  msgid "Your websites admin email"
2263
  msgstr "El correo electrónico de admin para tu pagina web"
2264
 
2265
- #: ../addons/email-notices/myCRED-addon-email-notices.php:953
2266
  msgid "Total number of blog members"
2267
  msgstr "Número total de miembros del blog"
2268
 
2269
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1031 ../addons/email-
2270
- #: notices/myCRED-addon-email-notices.php:1034 ../addons/email-notices/myCRED-
2271
- #: addon-email-notices.php:1040
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2272
  msgid "Email Notice Updated."
2273
  msgstr "Aviso atraves de correo electrónico Actualizado."
2274
 
2275
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1036
2276
  msgid "Email Notice Activated"
2277
  msgstr "Notificación atraves de Correo Electrónico Activado"
2278
 
2279
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1037
2280
  msgid "Email Notice Saved"
2281
  msgstr "Aviso por Correo Electrónico Guardado"
2282
 
2283
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1056
2284
  msgid ""
2285
  "Once a notice is \"published\" it becomes active! Select \"Save Draft\" if you "
2286
  "are not yet ready to use this email notice!"
@@ -2288,35 +2349,31 @@ msgstr ""
2288
  "¡Una vez que un aviso sea \"publicado\" se activa! ¡Elige \"Guardar Borrador\" "
2289
  "si aun no estás listo para utilizar este aviso por email!"
2290
 
2291
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1058
2292
  #, php-format
2293
  msgid "This notice will become active on:<br /><strong>%1$s</strong>"
2294
  msgstr "Este aviso se activará en:<br /><strong>%1$s</strong>"
2295
 
2296
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1060
2297
  msgid "This email notice is active."
2298
  msgstr "Esta notificación de correo electrónico esta activada."
2299
 
2300
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1071
2301
  msgid "Settings saved."
2302
  msgstr "Configuraciones Guardadas"
2303
 
2304
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1119
2305
  msgid "Unsubscribe"
2306
  msgstr "Cancelar la Suscripción"
2307
 
2308
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1140
2309
  msgid "There are no email notifications yet."
2310
  msgstr "Todavía no hay notificaciones de email."
2311
 
2312
- #: ../addons/email-notices/myCRED-addon-email-notices.php:1146
2313
- msgid "Save Changes"
2314
- msgstr "Guardar Cambios"
2315
-
2316
  #: ../addons/gateway/carts/mycred-marketpress.php:147 ../addons/gateway/event-
2317
  #: booking/mycred-eventespresso3.php:277 ../addons/gateway/event-booking/mycred-
2318
  #: eventespresso3.php:301 ../addons/gateway/event-booking/mycred-eventsmanager.
2319
- #: php:412 ../includes/mycred-admin.php:595 ../includes/mycred-admin.php:753
2320
  msgid "Current Balance"
2321
  msgstr "Saldo Actual"
2322
 
@@ -2357,42 +2414,42 @@ msgid "Paid"
2357
  msgstr "Pagado"
2358
 
2359
  #: ../addons/gateway/carts/mycred-marketpress.php:250 ..
2360
- #: addons/gateway/carts/mycred-woocommerce.php:33 ../includes/mycred-network.php:
2361
  #: 50 ../includes/mycred-network.php:51
2362
  msgid "myCRED"
2363
  msgstr "myCRED"
2364
 
2365
- #: ../addons/gateway/carts/mycred-marketpress.php:352
2366
  msgid "%_singular% Balance"
2367
  msgstr "%_singular% Saldo"
2368
 
2369
- #: ../addons/gateway/carts/mycred-marketpress.php:355 ..
2370
  #: addons/gateway/carts/mycred-wpecommerce.php:27
2371
  #, php-format
2372
  msgid "Payment for Order: #%order_id%"
2373
  msgstr "Pago por el Pedido"
2374
 
2375
- #: ../addons/gateway/carts/mycred-marketpress.php:358
2376
  msgid "Product Sale: %post_title%"
2377
  msgstr "Venta de Producto: "
2378
 
2379
- #: ../addons/gateway/carts/mycred-marketpress.php:359
2380
  msgid "Pay using your account balance."
2381
  msgstr "Paga usando el saldo de su cuenta."
2382
 
2383
- #: ../addons/gateway/carts/mycred-marketpress.php:360
2384
  #, php-format
2385
  msgid ""
2386
  "TOTAL amount has been deducted from your account. Your current balance is: "
2387
  "%balance_f%"
2388
  msgstr "Cantidad TOTAL ha sido restado de su cuenta. Su saldo actual es:% balance_f%"
2389
 
2390
- #: ../addons/gateway/carts/mycred-marketpress.php:361 ..
2391
- #: addons/gateway/carts/mycred-woocommerce.php:258
2392
  msgid "Insufficient funds."
2393
  msgstr "Fondos Insuficientes."
2394
 
2395
- #: ../addons/gateway/carts/mycred-marketpress.php:362
2396
  msgid ""
2397
  "You must be logged in to pay with %_plural%. Please <a "
2398
  "href=\"%login_url_here%\">login</a>."
@@ -2400,7 +2457,7 @@ msgstr ""
2400
  "Debes haber iniciado sesión para pagar con %_plural%. Por favor <a "
2401
  "href=\"%login_url_here%\">identifícate</a>."
2402
 
2403
- #: ../addons/gateway/carts/mycred-marketpress.php:369
2404
  #, php-format
2405
  msgid ""
2406
  "Let your users pay for items in their shopping cart using their %s Account. "
@@ -2411,11 +2468,11 @@ msgstr ""
2411
  "usando su %s Cuenta. ¡Nota! Esta pasarela de pago requiere que sus usuarios "
2412
  "esten ingresado para realizar una compra. "
2413
 
2414
- #: ../addons/gateway/carts/mycred-marketpress.php:372
2415
  msgid "Method Name"
2416
  msgstr "Nombre del Método"
2417
 
2418
- #: ../addons/gateway/carts/mycred-marketpress.php:374
2419
  msgid ""
2420
  "Enter a public name for this payment method that is displayed to users - No "
2421
  "HTML"
@@ -2423,41 +2480,41 @@ msgstr ""
2423
  "Introduzca el nombre público para este método de pago que se va a mostrar a "
2424
  "los usuarios - sin HTML"
2425
 
2426
- #: ../addons/gateway/carts/mycred-marketpress.php:379
2427
  msgid "Gateway Logo URL"
2428
  msgstr "URL del Logotipo de la Pasarela de Pago"
2429
 
2430
- #: ../addons/gateway/carts/mycred-marketpress.php:400 ..
2431
- #: addons/gateway/carts/mycred-woocommerce.php:136
2432
  #, php-format
2433
  msgid "How much is 1 %_singular% worth in %currency%?"
2434
  msgstr "¿Cuanto vale un 1 %_singular% en %currency%?"
2435
 
2436
- #: ../addons/gateway/carts/mycred-marketpress.php:405 ..
2437
- #: addons/gateway/carts/mycred-woocommerce.php:141 ..
2438
- #: addons/gateway/carts/mycred-wpecommerce.php:357 ../addons/gateway/event-
2439
  #: booking/mycred-eventespresso3.php:450 ../addons/gateway/event-booking/mycred-
2440
  #: eventsmanager-pro.php:540 ../addons/gateway/event-booking/mycred-eventsmanager.
2441
- #: php:578 ../includes/mycred-shortcodes.php:964
2442
  msgid "Exchange Rate"
2443
  msgstr "Tipo de Cambio"
2444
 
2445
- #: ../addons/gateway/carts/mycred-marketpress.php:414 ..
2446
- #: addons/gateway/carts/mycred-woocommerce.php:169 ..
2447
- #: addons/gateway/carts/mycred-wpecommerce.php:361 ../addons/gateway/event-
2448
  #: booking/mycred-eventespresso3.php:462 ../addons/gateway/event-booking/mycred-
2449
  #: eventsmanager-pro.php:531 ../addons/gateway/event-booking/mycred-eventsmanager.
2450
  #: php:569
2451
  msgid "Profit Sharing"
2452
  msgstr "Reparto de Ganancias"
2453
 
2454
- #: ../addons/gateway/carts/mycred-marketpress.php:417
2455
  msgid "Percentage"
2456
  msgstr "Porcentaje"
2457
 
2458
- #: ../addons/gateway/carts/mycred-marketpress.php:419 ..
2459
- #: addons/gateway/carts/mycred-woocommerce.php:171 ..
2460
- #: addons/gateway/carts/mycred-wpecommerce.php:365 ../addons/gateway/event-
2461
  #: booking/mycred-eventespresso3.php:464 ../addons/gateway/event-booking/mycred-
2462
  #: eventsmanager-pro.php:534 ../addons/gateway/event-booking/mycred-eventsmanager.
2463
  #: php:572
@@ -2466,57 +2523,57 @@ msgstr ""
2466
  "Opción de compartir las ventas con el dueño del producto. Utilice cero para "
2467
  "inhabilitar."
2468
 
2469
- #: ../addons/gateway/carts/mycred-marketpress.php:431 ..
2470
- #: addons/gateway/carts/mycred-wpecommerce.php:372 ../addons/gateway/event-
2471
  #: booking/mycred-eventsmanager-pro.php:607 ../addons/gateway/event-
2472
  #: booking/mycred-eventsmanager.php:626
2473
  msgid "Messages"
2474
  msgstr "Mensajes"
2475
 
2476
- #: ../addons/gateway/carts/mycred-marketpress.php:434 ..
2477
- #: addons/gateway/carts/mycred-wpecommerce.php:383 ../addons/gateway/event-
2478
  #: booking/mycred-eventsmanager-pro.php:617 ../addons/gateway/event-
2479
- #: booking/mycred-eventsmanager.php:636 ../plugins/mycred-hook-buddypress.php:214
2480
  msgid "Insufficient Funds"
2481
  msgstr "Fondos Insuficientes"
2482
 
2483
- #: ../addons/gateway/carts/mycred-marketpress.php:436
2484
  msgid "Message to show when the user can not use this gateway."
2485
  msgstr "Monstrar mensaje cuando el usuario no puede usar esta pasarela de pago."
2486
 
2487
- #: ../addons/gateway/carts/mycred-marketpress.php:442 ..
2488
- #: addons/gateway/carts/mycred-wpecommerce.php:379 ../addons/gateway/event-
2489
  #: booking/mycred-eventespresso3.php:490
2490
  msgid "Visitors"
2491
  msgstr "Visitantes"
2492
 
2493
- #: ../addons/gateway/carts/mycred-marketpress.php:444
2494
  msgid "Message to show to buyers that are not logged in."
2495
  msgstr "Monstrar mensaje a los compradores que no han iniciado la sesión."
2496
 
2497
- #: ../addons/gateway/carts/mycred-marketpress.php:450
2498
  msgid "User Instructions"
2499
  msgstr "Instrucciones del Usuario"
2500
 
2501
- #: ../addons/gateway/carts/mycred-marketpress.php:452
2502
  msgid "Information to show users before payment."
2503
  msgstr "Mostrar esta información a los usuarios antes del pago."
2504
 
2505
- #: ../addons/gateway/carts/mycred-marketpress.php:458
2506
  msgid "Confirmation Information"
2507
  msgstr "Informe de Confirmación"
2508
 
2509
- #: ../addons/gateway/carts/mycred-marketpress.php:460
2510
  msgid "Information to display on the order confirmation page. - HTML allowed"
2511
  msgstr ""
2512
  "Información que se mostrará en la página de confirmación del pedido - se "
2513
  "permite HTML."
2514
 
2515
- #: ../addons/gateway/carts/mycred-marketpress.php:466
2516
  msgid "Order Confirmation Email"
2517
  msgstr "Email de Confirmación del Pedido"
2518
 
2519
- #: ../addons/gateway/carts/mycred-marketpress.php:468
2520
  #, php-format
2521
  msgid ""
2522
  "This is the email text to send to those who have made %s checkouts. It "
@@ -2530,19 +2587,19 @@ msgstr ""
2530
  "pedido: ORDERID, ORDERINFO, SHIPPINGINFO, PAYMENTINFO, TOTAL, TRACKINGURL. "
2531
  "No se permite el uso de HTML."
2532
 
2533
- #: ../addons/gateway/carts/mycred-woocommerce.php:34
2534
  msgid "Let users pay using their myCRED balance."
2535
  msgstr "Permite que los usuarios paguen mediante su saldo myCRED."
2536
 
2537
- #: ../addons/gateway/carts/mycred-woocommerce.php:85
2538
  msgid "Enable/Disable"
2539
  msgstr "Activar/Desactivar"
2540
 
2541
- #: ../addons/gateway/carts/mycred-woocommerce.php:87
2542
  msgid "Enable myCRED Payment"
2543
  msgstr "Activar Pago myCRED"
2544
 
2545
- #: ../addons/gateway/carts/mycred-woocommerce.php:89
2546
  msgid ""
2547
  "Users who are not logged in or excluded from using myCRED will not have "
2548
  "access to this gateway!"
@@ -2550,56 +2607,65 @@ msgstr ""
2550
  "¡Los usuarios que no estan ingresado o los que han sido excluido de utilizar "
2551
  "myCRED no tendran acceso a esta pasarela de pago!"
2552
 
2553
- #: ../addons/gateway/carts/mycred-woocommerce.php:94
2554
  msgid "Title to show for this payment option."
2555
  msgstr "Mostrar este titulo para esta opción de pago."
2556
 
2557
- #: ../addons/gateway/carts/mycred-woocommerce.php:95
2558
  msgid "Pay with myCRED"
2559
  msgstr "Paga con myCRED"
2560
 
2561
  #. not sure if it is "message to customers" or "message from customers"? current translation is "message to customers"
2562
- #: ../addons/gateway/carts/mycred-woocommerce.php:99
2563
  msgid "Customer Message"
2564
  msgstr "Mensaje a los Clientes"
2565
 
2566
- #: ../addons/gateway/carts/mycred-woocommerce.php:122
 
 
 
 
 
2567
  msgid "Select the point type users can use to pay."
2568
  msgstr "Elige el clase de punto que los usuarios pueden utilizar para realizar pagos."
2569
 
2570
- #: ../addons/gateway/carts/mycred-woocommerce.php:148
2571
  msgid "Show Total"
2572
  msgstr "Mostrar Total"
2573
 
2574
- #: ../addons/gateway/carts/mycred-woocommerce.php:150
2575
  msgid "Show the final price in %_plural% ."
2576
  msgstr "Mostrar el precio final en %_plural%."
2577
 
2578
- #: ../addons/gateway/carts/mycred-woocommerce.php:153
2579
  msgid "Show in Cart"
2580
  msgstr "Mostrar en Carrito"
2581
 
2582
- #: ../addons/gateway/carts/mycred-woocommerce.php:154
2583
  msgid "Show on Checkout Page"
2584
  msgstr "Mostrar en la página de pago"
2585
 
2586
- #: ../addons/gateway/carts/mycred-woocommerce.php:155
2587
  msgid "Show in Cart and on Checkout Page"
2588
  msgstr "Mostrar en el Carrito y en la página de pago"
2589
 
2590
- #: ../addons/gateway/carts/mycred-woocommerce.php:162
2591
  msgid "Order Total in %_plural%"
2592
  msgstr "Total del Pedido en %_plural%"
2593
 
2594
- #: ../addons/gateway/carts/mycred-woocommerce.php:178
2595
  msgid "Log entry template for profit sharing."
2596
  msgstr "Plantilla para entradas de registro para el reparto de ganancias."
2597
 
2598
- #: ../addons/gateway/carts/mycred-woocommerce.php:210
 
 
 
 
2599
  msgid "myCRED Payment"
2600
  msgstr "Pago myCRED"
2601
 
2602
- #: ../addons/gateway/carts/mycred-woocommerce.php:211
2603
  #, php-format
2604
  msgid ""
2605
  "Allows users to pay using their myCRED %_singular% balance. Please note that "
@@ -2610,21 +2676,21 @@ msgstr ""
2610
  "ten en cuenta que los usuarios con fondos insuficientes y los usuarios que "
2611
  "no han iniciado sesión no verán esta pasarela de pago en la página de pago."
2612
 
2613
- #: ../addons/gateway/carts/mycred-woocommerce.php:232
2614
  msgid "You must be logged in to pay with %_plural%"
2615
  msgstr "Debes haber iniciado sesión para pagar con %_plural%"
2616
 
2617
- #: ../addons/gateway/carts/mycred-woocommerce.php:238
2618
  msgid "You can not use this gateway. Please try a different payment option."
2619
  msgstr ""
2620
  "No puede usar esta pasarela de pago. Por favor prueba una opción de pago "
2621
  "diferente."
2622
 
2623
- #: ../addons/gateway/carts/mycred-woocommerce.php:393
2624
  msgid "Your account has successfully been charged."
2625
  msgstr "Su cuenta ha sido cambiado con éxito."
2626
 
2627
- #: ../addons/gateway/carts/mycred-woocommerce.php:691 ..
2628
  #: addons/gateway/carts/mycred-wpecommerce.php:131
2629
  msgid "Your current balance"
2630
  msgstr "Tu saldo actual"
@@ -2649,20 +2715,20 @@ msgstr "Restar la cantidad de su saldo."
2649
  msgid "You can not use this gateway."
2650
  msgstr "No puedes usar esta pasarela de pago."
2651
 
2652
- #: ../addons/gateway/carts/mycred-wpecommerce.php:341
2653
  msgid "Log Template for Payments"
2654
  msgstr "Plantilla de Registro para Pagos"
2655
 
2656
- #: ../addons/gateway/carts/mycred-wpecommerce.php:358
2657
  #, php-format
2658
  msgid "How much is 1 %s worth in %s"
2659
  msgstr "Cuanto vale 1 %s en %s"
2660
 
2661
- #: ../addons/gateway/carts/mycred-wpecommerce.php:375
2662
  msgid "Instructions"
2663
  msgstr "Instrucciones"
2664
 
2665
- #: ../addons/gateway/carts/mycred-wpecommerce.php:376
2666
  msgid ""
2667
  "Optional instructions to show users when selecting this gateway. Leave empty "
2668
  "to hide."
@@ -2670,11 +2736,11 @@ msgstr ""
2670
  "Instrucciones opcionales para mostrar a los usuarios cuando se selecciona "
2671
  "esta pasarela. Deje el campo vacío para ocultarlo."
2672
 
2673
- #: ../addons/gateway/carts/mycred-wpecommerce.php:380
2674
  msgid "Message to show visitors who are not logged in."
2675
  msgstr "Muestra mensaje a los visitantes que no han iniciado sesión."
2676
 
2677
- #: ../addons/gateway/carts/mycred-wpecommerce.php:384
2678
  msgid ""
2679
  "Message to show when users does not have enough %plural% to pay using this "
2680
  "gateway."
@@ -2733,8 +2799,8 @@ msgstr "El titulo a mostrar en la factura y en los registros."
2733
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:428 ..
2734
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:593 ..
2735
  #: addons/gateway/event-booking/mycred-eventsmanager.php:619 ../addons/sell-
2736
- #: content/myCRED-addon-sell-content.php:458 ../addons/sell-content/myCRED-addon-
2737
- #: sell-content.php:669
2738
  msgid "Button Label"
2739
  msgstr "Eqiqueta Asignada al Botón"
2740
 
@@ -2747,11 +2813,15 @@ msgstr "Botón de Pago"
2747
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:142 ..
2748
  #: addons/gateway/event-booking/mycred-eventsmanager.php:336 ..
2749
  #: addons/gateway/event-booking/mycred-eventsmanager.php:339 ../addons/sell-
2750
- #: content/myCRED-addon-sell-content.php:449 ../addons/sell-content/myCRED-addon-
2751
- #: sell-content.php:665
2752
  msgid "Price"
2753
  msgstr "Precio"
2754
 
 
 
 
 
2755
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:457
2756
  msgid ""
2757
  "You can disable purchases using this gateway by adding a custom Event Meta: "
@@ -2770,12 +2840,12 @@ msgid "Log"
2770
  msgstr "Registro"
2771
 
2772
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:470 ..
2773
- #: includes/mycred-admin.php:716 ../includes/mycred-admin.php:758
2774
  msgid "Log Entry"
2775
  msgstr "Entrada de Registro"
2776
 
2777
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:477 ../addons/sell-
2778
- #: content/myCRED-addon-sell-content.php:472
2779
  msgid "Templates"
2780
  msgstr "Plantillas"
2781
 
@@ -2828,6 +2898,10 @@ msgstr "Paga utilizando tu saldo de %_plural%"
2828
  msgid "Pay"
2829
  msgstr "Pagar"
2830
 
 
 
 
 
2831
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:44 ..
2832
  #: addons/gateway/event-booking/mycred-eventsmanager.php:39
2833
  msgid "Thank you for your payment!"
@@ -2848,6 +2922,10 @@ msgstr "Clase de Billete"
2848
  msgid "Spaces"
2849
  msgstr "Espacios"
2850
 
 
 
 
 
2851
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:258
2852
  msgid "You can not pay using this gateway."
2853
  msgstr "No puede usar esta pasarela de pago."
@@ -2857,8 +2935,8 @@ msgid "Reject"
2857
  msgstr "Rechazar"
2858
 
2859
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:397 ..
2860
- #: modules/mycred-module-log.php:506 ../modules/mycred-module-settings.php:488 ..
2861
- #: modules/mycred-module-settings.php:507
2862
  msgid "Delete"
2863
  msgstr "Borrar"
2864
 
@@ -2938,9 +3016,17 @@ msgstr "Mostrar en la encima del formulario de pago. No se permite HTML."
2938
  msgid "The button label for payments. No HTML allowed!"
2939
  msgstr "La etiqueta para el botón de pagos. ¡No se permite HTML!"
2940
 
2941
- #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:610 ..
2942
- #: addons/gateway/event-booking/mycred-eventsmanager.php:629
2943
- msgid "Successful Payments"
 
 
 
 
 
 
 
 
2944
  msgstr "Compras Finalizadas con Exito"
2945
 
2946
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:613 ..
@@ -2972,35 +3058,40 @@ msgstr ""
2972
  "reserva. Utilice cero para no ofrecer reembolso ninguno. No se reembolsa "
2973
  "reservas \"Rechazadas\""
2974
 
2975
- #: ../addons/notifications/myCRED-addon-notifications.php:166
2976
  msgid "Notifications"
2977
  msgstr "Notificaciones"
2978
 
2979
- #: ../addons/notifications/myCRED-addon-notifications.php:168
2980
  msgid "Styling"
2981
  msgstr "Diseño/Estilo"
2982
 
2983
- #: ../addons/notifications/myCRED-addon-notifications.php:172
2984
  msgid "Use the included CSS Styling for notifications."
2985
  msgstr "Utilice el Estilo CSS incluido para notificaciones."
2986
 
2987
- #: ../addons/notifications/myCRED-addon-notifications.php:175 ../modules/mycred-
2988
- #: module-buddypress.php:439
 
2989
  msgid "Template"
2990
  msgstr "Plantilla"
2991
 
2992
- #: ../addons/notifications/myCRED-addon-notifications.php:179
2993
  #, php-format
2994
  msgid "Use %entry% to show the log entry in the notice and %amount% for the amount."
2995
  msgstr ""
2996
  "Utiliza %entry% para mostrar la entrada de registro en el aviso y %amount% "
2997
  "para la cantidad."
2998
 
2999
- #: ../addons/notifications/myCRED-addon-notifications.php:182
 
 
 
 
3000
  msgid "Transient Lifespan"
3001
  msgstr "Duración de Transitorio"
3002
 
3003
- #: ../addons/notifications/myCRED-addon-notifications.php:186
3004
  msgid ""
3005
  "The number of days a users notification is saved before being automatically "
3006
  "deleted."
@@ -3008,180 +3099,185 @@ msgstr ""
3008
  "Cuantos dias una notificación del usuario se guarda antes de automáticamente "
3009
  "borrarse."
3010
 
3011
- #: ../addons/notifications/myCRED-addon-notifications.php:189
3012
  msgid "Duration"
3013
  msgstr "Duracion"
3014
 
3015
- #: ../addons/notifications/myCRED-addon-notifications.php:193
3016
  msgid ""
3017
- "The number of milliseconds a notice should be visible.<br />Use zero to "
3018
- "require that the user closes the notice manually. 1000 milliseconds = 1 "
3019
- "second."
3020
  msgstr ""
3021
- "Los numeros de milisegundos durante que el aviso debe ser visible.<br "
3022
- "/>Utilice cero para exigir que el usuario ciere el aviso manualmente. 1000 "
3023
- "milisegundos = 1 segundo."
3024
 
3025
- #: ../addons/ranks/myCRED-addon-ranks.php:230
 
 
 
 
 
 
 
 
3026
  msgid "Warning! All ranks will be deleted! This can not be undone!"
3027
  msgstr "¡Advertencia! ¡Todos los rangos seran borrados! ¡No se puede deshacer esto!"
3028
 
3029
- #: ../addons/ranks/myCRED-addon-ranks.php:231
3030
  msgid "Are you sure you want to re-assign user ranks?"
3031
  msgstr "Esta seguro que quieres reasignar rangos de los usuarios?"
3032
 
3033
- #: ../addons/ranks/myCRED-addon-ranks.php:245 ../addons/ranks/myCRED-addon-ranks.
3034
- #: php:251 ../addons/ranks/myCRED-addon-ranks.php:257 ../addons/ranks/myCRED-
3035
- #: addon-ranks.php:783 ../addons/ranks/myCRED-addon-ranks.php:979
3036
- msgid "Ranks"
3037
- msgstr "Rangos"
3038
 
3039
- #: ../addons/ranks/myCRED-addon-ranks.php:246 ../addons/ranks/myCRED-addon-ranks.
3040
- #: php:478 ../addons/ranks/myCRED-addon-ranks.php:497 ../addons/ranks/myCRED-
3041
- #: addon-ranks.php:589
3042
  msgid "Rank"
3043
  msgstr "Rango"
3044
 
3045
- #: ../addons/ranks/myCRED-addon-ranks.php:248
3046
  msgid "Add New Rank"
3047
  msgstr "Añadir Nuevo Rango"
3048
 
3049
- #: ../addons/ranks/myCRED-addon-ranks.php:249
3050
  msgid "Edit Rank"
3051
  msgstr "Editar Rango"
3052
 
3053
- #: ../addons/ranks/myCRED-addon-ranks.php:250
3054
  msgid "New Rank"
3055
  msgstr "Nuevo Rango"
3056
 
3057
- #: ../addons/ranks/myCRED-addon-ranks.php:252
3058
  msgid "View Rank"
3059
  msgstr "Ver Rango"
3060
 
3061
- #: ../addons/ranks/myCRED-addon-ranks.php:253
3062
  msgid "Search Ranks"
3063
  msgstr "Búsqueda de Rangos"
3064
 
3065
- #: ../addons/ranks/myCRED-addon-ranks.php:254
3066
  msgid "No ranks found"
3067
  msgstr "Ningun rango encontrado"
3068
 
3069
- #: ../addons/ranks/myCRED-addon-ranks.php:255
3070
  msgid "No ranks found in Trash"
3071
  msgstr "Ningun rango encontrao el la papelera"
3072
 
3073
- #: ../addons/ranks/myCRED-addon-ranks.php:343
3074
  #, php-format
3075
  msgid "Completed - Total of %d users effected"
3076
  msgstr "Completado - Un total %d usuarios afectados"
3077
 
3078
- #: ../addons/ranks/myCRED-addon-ranks.php:345
3079
- msgid "Log is Empty"
3080
- msgstr "Registro esta Vacío"
3081
-
3082
- #: ../addons/ranks/myCRED-addon-ranks.php:552 ../addons/ranks/myCRED-addon-ranks.
3083
- #: php:555 ../addons/ranks/myCRED-addon-ranks.php:559 ../addons/ranks/myCRED-
3084
- #: addon-ranks.php:560
3085
  msgid "Rank Updated."
3086
  msgstr "Rango Actualizado."
3087
 
3088
- #: ../addons/ranks/myCRED-addon-ranks.php:557
3089
  msgid "Rank Enabled"
3090
  msgstr "Rango Habilitado"
3091
 
3092
- #: ../addons/ranks/myCRED-addon-ranks.php:558
3093
  msgid "Rank Saved"
3094
  msgstr "Rango Guardado"
3095
 
3096
- #: ../addons/ranks/myCRED-addon-ranks.php:615 ../addons/ranks/myCRED-addon-ranks.
3097
- #: php:668
 
 
 
 
 
3098
  msgid "Rank Title"
3099
  msgstr "Titulo de Rango"
3100
 
3101
- #: ../addons/ranks/myCRED-addon-ranks.php:616
3102
  msgid "Logo"
3103
  msgstr "Logotipo"
3104
 
3105
- #: ../addons/ranks/myCRED-addon-ranks.php:617
3106
  msgid "Requirement"
3107
  msgstr "Requisito"
3108
 
3109
- #: ../addons/ranks/myCRED-addon-ranks.php:634
3110
  msgid "No Logo Set"
3111
  msgstr "No hay Logotipo Configurado"
3112
 
3113
- #: ../addons/ranks/myCRED-addon-ranks.php:643 ../addons/ranks/myCRED-addon-ranks.
3114
- #: php:648
3115
  msgid "Any Value"
3116
  msgstr "Cualquier Valor"
3117
 
3118
- #: ../addons/ranks/myCRED-addon-ranks.php:650
3119
  msgid "Maximum %plural%"
3120
  msgstr "Maximo %plural%"
3121
 
3122
- #: ../addons/ranks/myCRED-addon-ranks.php:681
3123
  msgid "Rank Settings"
3124
  msgstr "Configuración de Rango"
3125
 
3126
- #: ../addons/ranks/myCRED-addon-ranks.php:703
3127
  msgid "Minimum %plural% to reach this rank"
3128
  msgstr "Minimo %plural% para llegar a este rango"
3129
 
3130
- #: ../addons/ranks/myCRED-addon-ranks.php:707
3131
  msgid "Maximum %plural% to be included in this rank"
3132
  msgstr "Maximo %plural% para ser incluido en este rango"
3133
 
3134
- #: ../addons/ranks/myCRED-addon-ranks.php:714
3135
  msgid "All Published Ranks"
3136
  msgstr "Todos los Rangos Publicados"
3137
 
3138
- #: ../addons/ranks/myCRED-addon-ranks.php:720 ../addons/ranks/myCRED-addon-ranks.
3139
- #: php:722
3140
  msgid "Not Set"
3141
  msgstr "No Configurado"
3142
 
3143
- #: ../addons/ranks/myCRED-addon-ranks.php:727
3144
  msgid "No Ranks found"
3145
  msgstr "Ningun rango encontrado"
3146
 
3147
- #: ../addons/ranks/myCRED-addon-ranks.php:785
3148
  msgid "Rank Features"
3149
  msgstr "Caracteristicas de los Rangos"
3150
 
3151
- #: ../addons/ranks/myCRED-addon-ranks.php:789
3152
  msgid "%plural% requirement"
3153
  msgstr "%plural% requisito"
3154
 
3155
- #: ../addons/ranks/myCRED-addon-ranks.php:790
3156
  msgid "Featured Image (Logo)"
3157
  msgstr "Imagen Principal (Logotipo)"
3158
 
3159
- #: ../addons/ranks/myCRED-addon-ranks.php:791
3160
  msgid "Content"
3161
  msgstr "Contenido"
3162
 
3163
- #: ../addons/ranks/myCRED-addon-ranks.php:792
3164
  msgid "Excerpt"
3165
  msgstr "Extracto"
3166
 
3167
- #: ../addons/ranks/myCRED-addon-ranks.php:793
3168
  msgid "Comments"
3169
  msgstr "Comentario"
3170
 
3171
- #: ../addons/ranks/myCRED-addon-ranks.php:794
3172
  msgid "Page Attributes"
3173
  msgstr "Atributos de Página"
3174
 
3175
- #: ../addons/ranks/myCRED-addon-ranks.php:795
3176
  msgid "Custom Fields"
3177
  msgstr "Campo Personalizado"
3178
 
3179
- #: ../addons/ranks/myCRED-addon-ranks.php:798
3180
  msgid "Public"
3181
  msgstr "Público"
3182
 
3183
  #. This is not clear, especially the second sentence (fragment)!
3184
- #: ../addons/ranks/myCRED-addon-ranks.php:802
3185
  msgid ""
3186
  "If you want to create a template archive for each rank, you must select to "
3187
  "have ranks public. Defaults to disabled."
@@ -3189,15 +3285,44 @@ msgstr ""
3189
  "Si desea crear un archivo de plantilla para cada rango, debe seleccionar que "
3190
  "los rangos sean público. Los valores predeterminados desactivado."
3191
 
3192
- #: ../addons/ranks/myCRED-addon-ranks.php:805
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3193
  msgid "Rank Basis"
3194
  msgstr "Base de Rango"
3195
 
3196
- #: ../addons/ranks/myCRED-addon-ranks.php:808
3197
  msgid "Users are ranked according to their current balance."
3198
  msgstr "Los usuarios se clasifican según su saldo actual."
3199
 
3200
- #: ../addons/ranks/myCRED-addon-ranks.php:811
3201
  msgid ""
3202
  "Users are ranked according to the total amount of %_plural% they have "
3203
  "accumulated."
@@ -3205,21 +3330,18 @@ msgstr ""
3205
  "Los usuarios se clasifican según la cantidad total de %_plural% que han "
3206
  "acumulado."
3207
 
3208
- #: ../addons/ranks/myCRED-addon-ranks.php:815 ../addons/ranks/myCRED-addon-ranks.
3209
- #: php:820
3210
  msgid "Calculate Totals"
3211
  msgstr "Calcular Totales"
3212
 
3213
- #: ../addons/ranks/myCRED-addon-ranks.php:818
3214
  msgid ""
3215
- "Use this button to calculate or re-calcualte your users totals. If not used, "
3216
  "the users current balance will be used as a starting point."
3217
  msgstr ""
3218
- "Utilice este botón para calcular y volver a calcular las sumas de tus "
3219
- "usuarios. Si no se utiliza, los saldos actuales de los usuarios se "
3220
- "utilizaran como punto de partida."
3221
 
3222
- #: ../addons/ranks/myCRED-addon-ranks.php:818
3223
  msgid ""
3224
  "Once a users total has been calculated, they will be assigned to their "
3225
  "appropriate roles. For this reason, it is highly recommended that you first "
@@ -3229,7 +3351,7 @@ msgstr ""
3229
  "corespondientes seran asignados. ¡Por esta razón, se recomienda altamente "
3230
  "que primero configures los rangos!"
3231
 
3232
- #: ../addons/ranks/myCRED-addon-ranks.php:819
3233
  msgid ""
3234
  "Depending on your log size and number of users this process may take a while."
3235
  " Please do not leave, click \"Update Settings\" or re-fresh this page until "
@@ -3240,146 +3362,136 @@ msgstr ""
3240
  "\"Actualizar Configuraciones\" o refrescar la pagina hasta que se haya "
3241
  "completado!"
3242
 
3243
- #: ../addons/ranks/myCRED-addon-ranks.php:824
3244
- msgid "Archive URL"
3245
- msgstr "URL del Archivo"
3246
-
3247
- #: ../addons/ranks/myCRED-addon-ranks.php:828
3248
- msgid "Ignored if Ranks are not public"
3249
- msgstr "Sera Ingnorado si los Rangos no son Pulicos"
3250
-
3251
- #. not sure if this is order, as in ordering pizza or order as in rank, organization
3252
- #: ../addons/ranks/myCRED-addon-ranks.php:831
3253
- msgid "Display Order"
3254
- msgstr "Orden de Visualización"
3255
-
3256
- #: ../addons/ranks/myCRED-addon-ranks.php:838
3257
- msgid "Ascending - Lowest rank to highest"
3258
- msgstr "Ascendente - Rango más bajo a lo más alto"
3259
-
3260
- #: ../addons/ranks/myCRED-addon-ranks.php:839
3261
- msgid "Descending - Highest rank to lowest"
3262
- msgstr "Descendiente - Rango más alto al más bajo"
3263
-
3264
- #: ../addons/ranks/myCRED-addon-ranks.php:848
3265
- msgid ""
3266
- "Select in what order ranks should be displayed in your admin area and/or "
3267
- "front if ranks are \"Public\""
3268
- msgstr ""
3269
- "Elige en que orden se debe mostrar los rangos en tu area de administrador "
3270
- "y/o en el frente si los rangos son \"Público\""
3271
-
3272
- #: ../addons/ranks/myCRED-addon-ranks.php:858 ../modules/mycred-module-buddypress.
3273
- #: php:402
3274
  msgid "Do not show."
3275
  msgstr "No mostrar."
3276
 
3277
- #: ../addons/ranks/myCRED-addon-ranks.php:859
3278
  msgid "Include in Profile Header."
3279
  msgstr "Incluir en Encabezado del Perfil"
3280
 
3281
- #: ../addons/ranks/myCRED-addon-ranks.php:861
3282
  msgid "Include under the \"Profile\" tab and Profile Header."
3283
  msgstr "Incluir bajo la pestanã \"Perfil\" y Encabezado de Perfil."
3284
 
3285
- #: ../addons/ranks/myCRED-addon-ranks.php:864
3286
  msgid "Rank in BuddyPress"
3287
  msgstr "Rango en BuddyPress"
3288
 
3289
- #: ../addons/ranks/myCRED-addon-ranks.php:932
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3290
  msgid "Script Communication Error"
3291
  msgstr "Error del Script de Comunicación"
3292
 
3293
- #: ../addons/ranks/myCRED-addon-ranks.php:982
3294
- msgid "Rank Post Type"
3295
- msgstr "Clasificar Post Types"
 
3296
 
3297
- #: ../addons/ranks/myCRED-addon-ranks.php:986
3298
  msgid "No. of ranks"
3299
  msgstr "Numero de Rangos"
3300
 
3301
- #: ../addons/ranks/myCRED-addon-ranks.php:991
3302
  msgid "Remove All Ranks"
3303
  msgstr "Quitar todos los Rangos"
3304
 
3305
- #: ../addons/ranks/myCRED-addon-ranks.php:991
3306
  msgid "Assign Ranks to Users"
3307
  msgstr "Asignar Rango a los Usuarios"
3308
 
3309
- #: ../addons/ranks/includes/mycred-rank-functions.php:229
3310
  msgid "mycred_get_users_rank() : Missing required user id"
3311
  msgstr "mycred_get_users_rank() : Falta el requisito id del usuario"
3312
 
3313
- #: ../addons/ranks/includes/mycred-rank-functions.php:238
3314
  msgid "no rank"
3315
  msgstr "ningun rango"
3316
 
3317
- #: ../addons/ranks/includes/mycred-rank-shortcodes.php:58 ..
3318
- #: addons/ranks/includes/mycred-rank-shortcodes.php:134
3319
  msgid "No users found with this rank"
3320
  msgstr "Ningun usuario encontrado con este rango"
3321
 
3322
- #: ../addons/ranks/includes/mycred-rank-shortcodes.php:63 ../includes/mycred-
3323
- #: shortcodes.php:469 ../includes/mycred-shortcodes.php:472 ../includes/mycred-
3324
- #: shortcodes.php:535 ../includes/mycred-shortcodes.php:593 ../includes/mycred-
3325
- #: shortcodes.php:597 ../includes/mycred-shortcodes.php:601
3326
  msgid "error"
3327
  msgstr "error"
3328
 
3329
- #: ../addons/ranks/includes/mycred-rank-shortcodes.php:63
3330
  msgid "Rank ID is required!"
3331
  msgstr "¡ID de Rango obligatorio!"
3332
 
3333
- #: ../addons/sell-content/myCRED-addon-sell-content.php:73
3334
  msgid "Hours"
3335
  msgstr "Horas"
3336
 
3337
- #: ../addons/sell-content/myCRED-addon-sell-content.php:110
3338
  msgid "Profit Share"
3339
  msgstr "Reparto de Utilidades"
3340
 
3341
- #: ../addons/sell-content/myCRED-addon-sell-content.php:118
3342
  msgid "Save Profit Share"
3343
  msgstr "Guardar Reparto de Utilidades"
3344
 
3345
- #: ../addons/sell-content/myCRED-addon-sell-content.php:164
3346
  msgid "Profit Share override saved"
3347
  msgstr "Anulación de reparto de utilidades guardado"
3348
 
3349
- #: ../addons/sell-content/myCRED-addon-sell-content.php:326
3350
  msgid "You can not buy this content."
3351
  msgstr "No puedes comprar este contenido."
3352
 
3353
- #: ../addons/sell-content/myCRED-addon-sell-content.php:371
3354
  msgid "Error. Try Again"
3355
  msgstr "Error. Inténtelo de nuevo"
3356
 
3357
- #: ../addons/sell-content/myCRED-addon-sell-content.php:393
3358
  msgid "No Payout. Just charge."
3359
  msgstr "No Desembolsar. Solo cobrar."
3360
 
3361
- #: ../addons/sell-content/myCRED-addon-sell-content.php:394
3362
  msgid "Pay Content Author."
3363
  msgstr "Pagar al Autor del Contenido"
3364
 
3365
- #: ../addons/sell-content/myCRED-addon-sell-content.php:400 ../includes/mycred-
3366
  #: overview.php:141 ../includes/mycred-overview.php:148
3367
  msgid "Sell Content"
3368
  msgstr "Vender Contenido"
3369
 
3370
- #: ../addons/sell-content/myCRED-addon-sell-content.php:402
3371
  msgid "Post Types"
3372
  msgstr "Post Types"
3373
 
3374
- #: ../addons/sell-content/myCRED-addon-sell-content.php:406
3375
  msgid "Comma separated list of post types that can be sold."
3376
  msgstr "Lista separada por comas de post types que se puede vender."
3377
 
3378
- #: ../addons/sell-content/myCRED-addon-sell-content.php:436
3379
  msgid "Percentage to pay Author"
3380
  msgstr "Porcentaje que pagar al Autor"
3381
 
3382
- #: ../addons/sell-content/myCRED-addon-sell-content.php:438
3383
  msgid ""
3384
  "Percentage of the price to pay the author. Can not be zero and is ignored if "
3385
  "authors are not paid."
@@ -3388,31 +3500,31 @@ msgstr ""
3388
  "si no se les paga a los autores."
3389
 
3390
  #. also, "por defecto" and "predeterminados"
3391
- #: ../addons/sell-content/myCRED-addon-sell-content.php:446
3392
  msgid "Defaults"
3393
  msgstr "Predefinidos"
3394
 
3395
- #: ../addons/sell-content/myCRED-addon-sell-content.php:454
3396
  msgid "Allow authors to change price."
3397
  msgstr "Permitir que los Autores cambien el precio."
3398
 
3399
- #: ../addons/sell-content/myCRED-addon-sell-content.php:463
3400
  msgid "Allow authors to change button label."
3401
  msgstr "Permitir que los Autores cambien la etiqueta asignada al botón."
3402
 
3403
- #: ../addons/sell-content/myCRED-addon-sell-content.php:467
3404
  msgid "Purchases expire after"
3405
  msgstr "Compras caducan despues de"
3406
 
3407
- #: ../addons/sell-content/myCRED-addon-sell-content.php:469
3408
  msgid "Use zero for permanent sales."
3409
  msgstr "Usa cero para ventas permanentes."
3410
 
3411
- #: ../addons/sell-content/myCRED-addon-sell-content.php:475
3412
  msgid "For Visitors"
3413
  msgstr "Para Visitantes"
3414
 
3415
- #: ../addons/sell-content/myCRED-addon-sell-content.php:480
3416
  #, php-format
3417
  msgid ""
3418
  "Do <strong>not</strong> use the %buy_button% in this template as a user must "
@@ -3421,112 +3533,242 @@ msgstr ""
3421
  "<strong>¡No utilice</strong> el %buy_button% en esta plantilla porque el "
3422
  "usuario debe haber inciciado sesión para poder comprar contenidos!"
3423
 
3424
- #: ../addons/sell-content/myCRED-addon-sell-content.php:485
3425
  msgid "For Members"
3426
  msgstr "Para Miembros"
3427
 
3428
- #: ../addons/sell-content/myCRED-addon-sell-content.php:490 ../addons/sell-
3429
- #: content/myCRED-addon-sell-content.php:500
3430
  #, php-format
3431
  msgid "Your template must contain the %buy_button% tag for purchases to work!"
3432
  msgstr ""
3433
  "¡Tu plantilla debe contener la etiqueta %buy_button% para que se pueda "
3434
  "realizar compras!"
3435
 
3436
- #: ../addons/sell-content/myCRED-addon-sell-content.php:495
3437
  msgid "For members that can not afford to buy"
3438
  msgstr "Para los miembros que no tienen al alcance comprar"
3439
 
3440
- #: ../addons/sell-content/myCRED-addon-sell-content.php:504
3441
  msgid "Log template for Purchases"
3442
  msgstr "Plantilla de registros para Compras"
3443
 
3444
- #: ../addons/sell-content/myCRED-addon-sell-content.php:511
3445
  msgid "Log template for Sales"
3446
  msgstr "Plantilla de registros para Ventas"
3447
 
3448
- #: ../addons/sell-content/myCRED-addon-sell-content.php:563
3449
  #, php-format
3450
  msgid "%s Sell This"
3451
  msgstr "%s Vende Esto"
3452
 
3453
- #: ../addons/sell-content/myCRED-addon-sell-content.php:618
3454
  #, php-format
3455
  msgid "%s Sell Content needs to be setup before you can use this feature."
3456
  msgstr ""
3457
  "%s Vender Contenidos necesita haberse configurado antes de poder utilizar "
3458
  "esta característica técnica."
3459
 
3460
- #: ../addons/sell-content/myCRED-addon-sell-content.php:621
3461
  msgid "Setup add-on"
3462
  msgstr "Configurar Extensión"
3463
 
3464
- #: ../addons/sell-content/myCRED-addon-sell-content.php:621
3465
  msgid "Lets do it"
3466
  msgstr "Vamos a hacerlo."
3467
 
3468
- #: ../addons/sell-content/myCRED-addon-sell-content.php:659
3469
  #, php-format
3470
  msgid "Enable sale of this %s"
3471
  msgstr "Habilitar la venta de esto %s"
3472
 
3473
- #: ../addons/sell-content/myCRED-addon-sell-content.php:673
3474
  msgid "Purchase expires after"
3475
  msgstr "Compra caduca despues de"
3476
 
3477
- #: ../addons/sell-content/myCRED-addon-sell-content.php:999
3478
  msgid "Thank you for your purchase!"
3479
  msgstr "¡Gracias por su compra!"
3480
 
3481
- #: ../addons/sell-content/myCRED-addon-sell-content.php:1087 ../addons/sell-
3482
- #: content/myCRED-addon-sell-content.php:1173
3483
  msgid "The following content is set for sale:"
3484
  msgstr "El siguiente contenido esta listo para la venta:"
3485
 
3486
- #: ../addons/sell-content/myCRED-addon-sell-content.php:1233
3487
  msgid "Purchased"
3488
  msgstr "Comprado"
3489
 
3490
- #: ../addons/transfer/myCRED-addon-transfer.php:38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3491
  msgid "You do not have enough %plural% to send."
3492
  msgstr "No tienes bastante %plural% para mandar."
3493
 
3494
- #: ../addons/transfer/myCRED-addon-transfer.php:39
3495
  msgid "You have exceeded your %limit% transfer limit."
3496
  msgstr "Has excedido tu limite de transferencia de %limit%."
3497
 
3498
- #: ../addons/transfer/myCRED-addon-transfer.php:45 ../includes/mycred-functions.
3499
- #: php:2406
3500
  msgid "Transfer"
3501
  msgstr "Transferir"
3502
 
3503
- #: ../addons/transfer/myCRED-addon-transfer.php:140
3504
  msgid "Transaction completed."
3505
  msgstr "Transacción Finalizada"
3506
 
3507
- #: ../addons/transfer/myCRED-addon-transfer.php:141
3508
  msgid "Security token could not be verified. Please contact your site administrator!"
3509
  msgstr ""
3510
  "No se pudo verificar el 'token' (código) de seguridad. ¡Por favor, póngase "
3511
  "en contacto con el administrador del sitio!"
3512
 
3513
- #: ../addons/transfer/myCRED-addon-transfer.php:142
3514
  msgid "Communications error. Please try again later."
3515
  msgstr "Error en comunicación. Por favor inténtelo de nuevo más tarde."
3516
 
3517
- #: ../addons/transfer/myCRED-addon-transfer.php:143
3518
  msgid "Recipient not found. Please try again."
3519
  msgstr "El recipiente no fuel encontrado. Por favor Inténtelo de nuevo."
3520
 
3521
- #: ../addons/transfer/myCRED-addon-transfer.php:144
3522
  msgid "Transaction declined by recipient."
3523
  msgstr "Transacción rechazada por el destinatario"
3524
 
3525
- #: ../addons/transfer/myCRED-addon-transfer.php:145
3526
  msgid "Incorrect amount. Please try again."
3527
  msgstr "Cantidad incorecta. Por favor inténtelo de nuevo."
3528
 
3529
- #: ../addons/transfer/myCRED-addon-transfer.php:146
3530
  msgid ""
3531
  "This myCRED Add-on has not yet been setup! No transfers are allowed until "
3532
  "this has been done!"
@@ -3534,83 +3776,83 @@ msgstr ""
3534
  "¡Esta Extensión de myCRED todavía no ha sido configurado! No se permite "
3535
  "transferencias hasta que se haga esto."
3536
 
3537
- #: ../addons/transfer/myCRED-addon-transfer.php:147 ../includes/mycred-shortcodes.
3538
- #: php:1061
3539
  msgid "Insufficient Funds. Please try a lower amount."
3540
  msgstr "Fondos Insuficientes. Por favor intenta con una cantidad menor."
3541
 
3542
- #: ../addons/transfer/myCRED-addon-transfer.php:148
3543
  msgid "Transfer Limit exceeded."
3544
  msgstr "Límite de transferencia excedida."
3545
 
3546
- #: ../addons/transfer/myCRED-addon-transfer.php:173
3547
  msgid "No limits."
3548
  msgstr "Sin limite."
3549
 
3550
- #: ../addons/transfer/myCRED-addon-transfer.php:174
3551
  msgid "Impose daily limit."
3552
  msgstr "Imponer limite diario."
3553
 
3554
- #: ../addons/transfer/myCRED-addon-transfer.php:175
3555
  msgid "Impose weekly limit."
3556
  msgstr "Imponer limite semanal."
3557
 
3558
- #: ../addons/transfer/myCRED-addon-transfer.php:182
3559
  msgid "User Login (user_login)"
3560
  msgstr "Ingreso Usuario (user_login)"
3561
 
3562
- #: ../addons/transfer/myCRED-addon-transfer.php:183
3563
  msgid "User Email (user_email)"
3564
  msgstr "Correo Electrónico del Usuario (user_email)"
3565
 
3566
- #: ../addons/transfer/myCRED-addon-transfer.php:191 ../includes/mycred-overview.
3567
  #: php:120 ../includes/mycred-overview.php:127
3568
  msgid "Transfers"
3569
  msgstr "Transferencias"
3570
 
3571
- #: ../addons/transfer/myCRED-addon-transfer.php:200
3572
  msgid "Select the point types that users can transfer."
3573
  msgstr "Elige el clase de punto que el usuario puede transferir."
3574
 
3575
- #: ../addons/transfer/myCRED-addon-transfer.php:208
3576
  msgid "Log template for sending"
3577
  msgstr "Plantilla de registros para transmitir"
3578
 
3579
- #: ../addons/transfer/myCRED-addon-transfer.php:215
3580
  msgid "Log template for receiving"
3581
  msgstr "Plantilla de registros para recibir"
3582
 
3583
- #: ../addons/transfer/myCRED-addon-transfer.php:222
3584
  msgid "Autofill Recipient"
3585
  msgstr "Destinatario del Relleno Automático"
3586
 
3587
- #: ../addons/transfer/myCRED-addon-transfer.php:234
3588
  msgid "Select what user details recipients should be autofilled by."
3589
  msgstr ""
3590
  "Selecciona cuales detalles del usuario al destinatario deben ser rellenados "
3591
  "automáticamente."
3592
 
3593
- #: ../addons/transfer/myCRED-addon-transfer.php:237
3594
  msgid "Reload"
3595
  msgstr "Recargar"
3596
 
3597
- #: ../addons/transfer/myCRED-addon-transfer.php:240
3598
  msgid "Reload page on successful transfers."
3599
  msgstr "Actualizar la pagina despues de transferencias finalizadas."
3600
 
3601
- #: ../addons/transfer/myCRED-addon-transfer.php:260
3602
  msgid "Limit Amount"
3603
  msgstr "Limitar la Cantidad"
3604
 
3605
- #: ../addons/transfer/myCRED-addon-transfer.php:264
3606
  msgid "Form Templates"
3607
  msgstr "Plantillas de Formulario"
3608
 
3609
- #: ../addons/transfer/myCRED-addon-transfer.php:267
3610
  msgid "Not logged in Template"
3611
  msgstr "Plantilla de no estar ingresado"
3612
 
3613
- #: ../addons/transfer/myCRED-addon-transfer.php:269
3614
  msgid ""
3615
  "Text to show when users are not logged in. Leave empty to hide. No HTML "
3616
  "elements allowed!"
@@ -3618,11 +3860,11 @@ msgstr ""
3618
  "Mostrar este texto cuango los usuarios no han iniciado la sesión. ¡No se "
3619
  "permite ningun elemento de HTML!"
3620
 
3621
- #: ../addons/transfer/myCRED-addon-transfer.php:273
3622
  msgid "Balance Template"
3623
  msgstr "Plantilla de Saldo"
3624
 
3625
- #: ../addons/transfer/myCRED-addon-transfer.php:275
3626
  msgid ""
3627
  "Template to use when displaying the users balance (if included). No HTML "
3628
  "elements allowed!"
@@ -3630,34 +3872,34 @@ msgstr ""
3630
  "Utilizar esta plantilla cuando mostrando el saldo del usuario (si esta "
3631
  "incluido). ¡No se permite elementos de HTML!"
3632
 
3633
- #: ../addons/transfer/myCRED-addon-transfer.php:279
3634
  msgid "Limit Template"
3635
  msgstr "Limitar Plantilla"
3636
 
3637
- #: ../addons/transfer/myCRED-addon-transfer.php:281
3638
  msgid "Template to use when displaying limits (if used). No HTML elements allowed!"
3639
  msgstr ""
3640
  "Utilizar esta plantilla cuando mostrando límites (si se utiliza). ¡No se "
3641
  "permite elementos de HTML!"
3642
 
3643
- #: ../addons/transfer/myCRED-addon-transfer.php:285
3644
  msgid "Button Template"
3645
  msgstr "Plantilla del Botón"
3646
 
3647
- #: ../addons/transfer/myCRED-addon-transfer.php:287
3648
  msgid "Send Transfer button template. No HTML elements allowed!"
3649
  msgstr "Plantilla del botón Enviar Transferencia ¡No se permite elementos de HTML!"
3650
 
3651
- #: ../addons/transfer/myCRED-addon-transfer.php:290
3652
  msgid "Error Messages"
3653
  msgstr "Mensajes de Error"
3654
 
3655
  #. English needs to be corrected: "Balance too low to send."
3656
- #: ../addons/transfer/myCRED-addon-transfer.php:293
3657
  msgid "Balance to low to send."
3658
  msgstr "Saldo insuficiente - no se puede enviar."
3659
 
3660
- #: ../addons/transfer/myCRED-addon-transfer.php:295
3661
  msgid ""
3662
  "Text to show when a users balance is to low for transfers. Leave empty to "
3663
  "hide. No HTML elements allowed!"
@@ -3666,11 +3908,11 @@ msgstr ""
3666
  "efectuar transferencias. Deje el campo vacío para ocultarlo. ¡No se permite "
3667
  "ningun elemento de HTML!"
3668
 
3669
- #: ../addons/transfer/myCRED-addon-transfer.php:299
3670
  msgid "Transfer Limit Reached."
3671
  msgstr "Límite de Transferencia Alcanzado."
3672
 
3673
- #: ../addons/transfer/myCRED-addon-transfer.php:301
3674
  msgid ""
3675
  "Text to show when a user has reached their transfer limit (if used). Leave "
3676
  "empty to hide. No HTML elements allowed!"
@@ -3679,54 +3921,50 @@ msgstr ""
3679
  "transferencia (si se utiliza). Deje el campo vacío para ocultarlo. ¡No se "
3680
  "permite ningun elemento de HTML!"
3681
 
3682
- #: ../addons/transfer/myCRED-addon-transfer.php:576
3683
- msgid "Allow transfers between users."
3684
- msgstr "Permitir transferencias entre usuarios."
3685
-
3686
- #: ../addons/transfer/myCRED-addon-transfer.php:578
3687
- #, php-format
3688
- msgid "(%s) Transfer"
3689
- msgstr "(%s) Transfererir"
3690
-
3691
- #: ../addons/transfer/myCRED-addon-transfer.php:592
3692
- msgid "The myCRED Transfer add-on has not yet been setup!"
3693
- msgstr "¡Esta Extensión de myCRED todavía no ha sido configurado!"
3694
-
3695
- #: ../addons/transfer/myCRED-addon-transfer.php:647
3696
- msgid "Transfer %plural%"
3697
- msgstr "Transferir %plural%"
3698
-
3699
- #: ../addons/transfer/myCRED-addon-transfer.php:658
3700
- msgid "Show users balance"
3701
- msgstr "Mostrar el saldo de usuarios"
3702
-
3703
- #: ../addons/transfer/myCRED-addon-transfer.php:662
3704
- msgid "Show users limit"
3705
- msgstr "Mostrar los límites de usuarios"
3706
-
3707
- #: ../addons/transfer/myCRED-addon-transfer.php:800
3708
  msgid "username"
3709
  msgstr "nombre de usuario"
3710
 
3711
- #: ../addons/transfer/myCRED-addon-transfer.php:802
3712
  msgid "email"
3713
  msgstr "correo electrónico"
3714
 
3715
  #. is this recipients plural or recipient's with an apostrophe missing?
3716
- #: ../addons/transfer/myCRED-addon-transfer.php:804
3717
  #, php-format
3718
  msgid "recipients %s"
3719
  msgstr "destinatarios %s"
3720
 
3721
- #: ../addons/transfer/myCRED-addon-transfer.php:877
3722
  msgid "To:"
3723
  msgstr "A:"
3724
 
3725
- #: ../addons/transfer/myCRED-addon-transfer.php:883
3726
  msgid "Amount:"
3727
  msgstr "Cantidad:"
3728
 
3729
- #: ../includes/mycred-about.php:75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3730
  #, php-format
3731
  msgid "Welcome to %s %s"
3732
  msgstr "Bienvenido a %s %s"
@@ -3772,69 +4010,64 @@ msgstr "No se pudo actualizar el saldo de este usuario."
3772
  msgid "Excluded"
3773
  msgstr "Excluido"
3774
 
3775
- #: ../includes/mycred-admin.php:395
3776
- #, php-format
3777
- msgid "Total: %s"
3778
- msgstr "Total: %s"
3779
-
3780
- #: ../includes/mycred-admin.php:404
3781
  msgid "Adjust"
3782
  msgstr "Modificar"
3783
 
3784
- #: ../includes/mycred-admin.php:442 ../includes/mycred-admin.php:443
3785
  msgid "Edit Balance"
3786
  msgstr "Editar Saldo"
3787
 
3788
- #: ../includes/mycred-admin.php:461
3789
  msgid "Profile"
3790
  msgstr "Perfil"
3791
 
3792
- #: ../includes/mycred-admin.php:468
3793
  msgid "Extended Profile"
3794
  msgstr "Perfil Extendido"
3795
 
3796
- #: ../includes/mycred-admin.php:558
3797
  #, php-format
3798
  msgid "This user is excluded from using %s"
3799
  msgstr "Este usuario esta excluido de poder utilizar %s"
3800
 
3801
- #: ../includes/mycred-admin.php:581
3802
  msgid "Edit User"
3803
  msgstr "Editar Usuario"
3804
 
3805
- #: ../includes/mycred-admin.php:583
3806
  msgctxt "user"
3807
  msgid "Add New"
3808
  msgstr "Añadir Nuevo"
3809
 
3810
- #: ../includes/mycred-admin.php:585
3811
  msgctxt "user"
3812
  msgid "Add Existing"
3813
  msgstr "Añadir Existente"
3814
 
3815
- #: ../includes/mycred-admin.php:596
3816
  #, php-format
3817
  msgid "Total %s Accumulated"
3818
  msgstr "Total %s Acumulado"
3819
 
3820
- #: ../includes/mycred-admin.php:597
3821
  #, php-format
3822
  msgid "Total %s Spent"
3823
  msgstr "Total %s Gastado"
3824
 
3825
- #: ../includes/mycred-admin.php:608
3826
  msgid "View History"
3827
  msgstr "Ver Historial"
3828
 
3829
- #: ../includes/mycred-admin.php:609
3830
  msgid "Exclude User"
3831
  msgstr "Excluir Usuario"
3832
 
3833
- #: ../includes/mycred-admin.php:613
3834
  msgid "Adjust Balance"
3835
  msgstr "Ajustar Saldo"
3836
 
3837
- #: ../includes/mycred-admin.php:622
3838
  msgid ""
3839
  "Warning! Excluding this user will result in their balance being deleted "
3840
  "along with any entries currently in your log! This can not be undone!"
@@ -3842,20 +4075,20 @@ msgstr ""
3842
  "¡Aviso! ¡Excluir este usuario resultara en la eliminación de su saldo ademas "
3843
  "de cualquier entradas actuales en tu registro! ¡Esto no se puede deshacer!"
3844
 
3845
- #: ../includes/mycred-admin.php:680
3846
  #, php-format
3847
  msgid "%singular% balance"
3848
  msgstr "%singular% saldo"
3849
 
3850
- #: ../includes/mycred-admin.php:720 ../includes/mycred-admin.php:759
3851
  msgid "Update Balance"
3852
  msgstr "Actualizar Saldo"
3853
 
3854
- #: ../includes/mycred-admin.php:751
3855
  msgid "ID"
3856
  msgstr "ID"
3857
 
3858
- #: ../includes/mycred-admin.php:757
3859
  msgid "A positive or negative value"
3860
  msgstr "Un valor positivo o negativo"
3861
 
@@ -3871,337 +4104,436 @@ msgstr "Puntos"
3871
  msgid "Deleted"
3872
  msgstr "Borrado"
3873
 
3874
- #: ../includes/mycred-functions.php:536
3875
  msgid "Deleted Item"
3876
  msgstr "Artículo Borrado"
3877
 
3878
- #: ../includes/mycred-functions.php:600
3879
  msgid "User Related"
3880
  msgstr "Relacionado al Usuario"
3881
 
3882
- #: ../includes/mycred-functions.php:607
3883
  msgid "Post Related"
3884
  msgstr "Relacionado a la Entrada"
3885
 
3886
- #: ../includes/mycred-functions.php:614
3887
  msgid "Comment Related"
3888
  msgstr "Relacionado al Comentario"
3889
 
3890
- #: ../includes/mycred-functions.php:621
3891
  msgid "Widget Related"
3892
  msgstr "Relacionado al Widget"
3893
 
3894
- #: ../includes/mycred-functions.php:628
3895
  msgid "Amount Related"
3896
  msgstr "Cantidad Relacionada"
3897
 
3898
- #: ../includes/mycred-functions.php:635
3899
  msgid "Video Related"
3900
  msgstr "Relacionado al Video"
3901
 
3902
- #: ../includes/mycred-functions.php:646
3903
  msgid "and"
3904
  msgstr "y"
3905
 
3906
- #: ../includes/mycred-functions.php:648
3907
  msgid "Available Template Tags:"
3908
  msgstr "Etiquetas de Plantilla Disponibles:"
3909
 
3910
- #: ../includes/mycred-functions.php:1673
3911
  msgid "Entire Log"
3912
  msgstr "Todo el Registro"
3913
 
3914
- #: ../includes/mycred-functions.php:1678 ../includes/mycred-functions.php:1679
3915
  msgid "Displayed Rows"
3916
  msgstr "Filas Mostradas"
3917
 
3918
- #: ../includes/mycred-functions.php:1686
3919
  msgid "Search Results"
3920
  msgstr "Resultados de la Búsqueda"
3921
 
3922
- #: ../includes/mycred-functions.php:1687
3923
  msgid "My Entire Log"
3924
  msgstr "Mi Registro Entero"
3925
 
3926
- #: ../includes/mycred-functions.php:1854
3927
  msgid "ref empty"
3928
  msgstr "ref vacío"
3929
 
3930
- #: ../includes/mycred-functions.php:1862
3931
  msgid "incorrect user id format"
3932
  msgstr "Formato incorrecto para id del usuario"
3933
 
3934
- #: ../includes/mycred-functions.php:1875
3935
  msgid "incorrect unix timestamp (from):"
3936
  msgstr "erroneo marca de tiempo de unix (desde):"
3937
 
3938
- #: ../includes/mycred-functions.php:1884
3939
  msgid "incorrect unix timestamp (to):"
3940
  msgstr "erroneo marca de tiempo de unix (a):"
3941
 
3942
- #: ../includes/mycred-functions.php:2293
3943
  msgid "Website Registration"
3944
  msgstr "Inscripción del Sitio Web"
3945
 
3946
- #: ../includes/mycred-functions.php:2294
3947
  msgid "Website Visit"
3948
  msgstr "Visita de Sitio Web"
3949
 
3950
- #: ../includes/mycred-functions.php:2295
3951
  msgid "Viewing Content (Member)"
3952
  msgstr "Viendo Contenido (Miembro)"
3953
 
3954
- #: ../includes/mycred-functions.php:2296
3955
  msgid "Viewing Content (Author)"
3956
  msgstr "Viendo Contenido (Autor)"
3957
 
3958
- #: ../includes/mycred-functions.php:2297
3959
  msgid "Logging in"
3960
  msgstr "Accediendo"
3961
 
3962
- #: ../includes/mycred-functions.php:2298
3963
  msgid "Publishing Content"
3964
  msgstr "Publicando Contenido"
3965
 
3966
- #: ../includes/mycred-functions.php:2299 ../modules/mycred-module-hooks.php:1421
3967
  msgid "Approved Comment"
3968
  msgstr "Comentario Aprobado"
3969
 
3970
- #: ../includes/mycred-functions.php:2300
3971
  msgid "Unapproved Comment"
3972
  msgstr "Comentario no Aprobado"
3973
 
3974
- #: ../includes/mycred-functions.php:2301
3975
  msgid "SPAM Comment"
3976
  msgstr "Comentario SPAM"
3977
 
3978
- #: ../includes/mycred-functions.php:2302
3979
  msgid "Deleted Comment"
3980
  msgstr "Comentario Borrado"
3981
 
3982
- #: ../includes/mycred-functions.php:2303
3983
  msgid "Link Click"
3984
  msgstr "Click al Enlace"
3985
 
3986
- #: ../includes/mycred-functions.php:2304
3987
  msgid "Watching Video"
3988
  msgstr "Mirando Video"
3989
 
3990
- #: ../includes/mycred-functions.php:2305
3991
  msgid "Visitor Referral"
3992
  msgstr "Referencia de Visitante"
3993
 
3994
- #: ../includes/mycred-functions.php:2306
3995
  msgid "Signup Referral"
3996
  msgstr "Referencia de Inscripción "
3997
 
3998
- #: ../includes/mycred-functions.php:2310
3999
  msgid "New Profile Update"
4000
  msgstr "Nuevo Perfil Actualizado"
4001
 
4002
- #: ../includes/mycred-functions.php:2311
 
 
 
 
4003
  msgid "Avatar Upload"
4004
  msgstr "Subir Avatar"
4005
 
4006
- #: ../includes/mycred-functions.php:2312
4007
  msgid "New Friendship"
4008
  msgstr "Nueva Amistad"
4009
 
4010
- #: ../includes/mycred-functions.php:2313
4011
  msgid "Ended Friendship"
4012
  msgstr "Amistad Terminada"
4013
 
4014
- #: ../includes/mycred-functions.php:2314
4015
  msgid "New Profile Comment"
4016
  msgstr "Nuevo Comentario de Perfil"
4017
 
4018
- #: ../includes/mycred-functions.php:2315
4019
  msgid "Profile Comment Deletion"
4020
  msgstr "Borrar Comentario del Perfil"
4021
 
4022
- #: ../includes/mycred-functions.php:2316
4023
  msgid "New Message"
4024
  msgstr "Nuevo Mensaje"
4025
 
4026
- #: ../includes/mycred-functions.php:2317
4027
  msgid "Sending Gift"
4028
  msgstr "Mandando Regalo"
4029
 
4030
- #: ../includes/mycred-functions.php:2318
4031
  msgid "New Group"
4032
  msgstr "Nuevo Grupo"
4033
 
4034
- #: ../includes/mycred-functions.php:2319
4035
  msgid "Deleted Group"
4036
  msgstr "Grupo Borrado"
4037
 
4038
- #: ../includes/mycred-functions.php:2320
4039
  msgid "New Group Forum Topic"
4040
  msgstr "Nuevo Tema del Fórum de Grupo"
4041
 
4042
- #: ../includes/mycred-functions.php:2321
4043
  msgid "Edit Group Forum Topic"
4044
  msgstr "Editar el Tema del Fórum de Grupo"
4045
 
4046
- #: ../includes/mycred-functions.php:2322
4047
  msgid "New Group Forum Post"
4048
  msgstr "Nueva Entrada del Fórum de Grupo"
4049
 
4050
- #: ../includes/mycred-functions.php:2323
4051
  msgid "Edit Group Forum Post"
4052
  msgstr "Editar Entrada del Fórum de Grupo"
4053
 
4054
- #: ../includes/mycred-functions.php:2324
4055
  msgid "Joining Group"
4056
  msgstr "Agregar al Grupo"
4057
 
4058
- #: ../includes/mycred-functions.php:2325
4059
  msgid "Leaving Group"
4060
  msgstr "Dejando el Grupo"
4061
 
4062
- #: ../includes/mycred-functions.php:2326
4063
  msgid "New Group Avatar"
4064
  msgstr "Nuevo Avatar del Grupo"
4065
 
4066
- #: ../includes/mycred-functions.php:2327
4067
  msgid "New Group Comment"
4068
  msgstr "Nuevo Comentario al Grupo\n"
4069
 
4070
- #: ../includes/mycred-functions.php:2331 ../plugins/mycred-hook-buddypress-media.
4071
- #: php:166
4072
  msgid "Photo Upload"
4073
  msgstr "Subir Foto"
4074
 
4075
- #: ../includes/mycred-functions.php:2332 ../plugins/mycred-hook-buddypress-media.
4076
- #: php:176
4077
  msgid "Video Upload"
4078
  msgstr "Subir Video"
4079
 
4080
- #: ../includes/mycred-functions.php:2333 ../plugins/mycred-hook-buddypress-media.
4081
- #: php:186
4082
  msgid "Music Upload"
4083
  msgstr "Subir Música"
4084
 
4085
- #: ../includes/mycred-functions.php:2337
4086
  msgid "New Link"
4087
  msgstr "Nuevo Enlace"
4088
 
4089
- #: ../includes/mycred-functions.php:2338
4090
  msgid "Link Voting"
4091
  msgstr "Votar sobre Enlace"
4092
 
4093
- #: ../includes/mycred-functions.php:2339
4094
  msgid "Link Update"
4095
  msgstr "Enlace Actualizado"
4096
 
4097
- #: ../includes/mycred-functions.php:2343
4098
  msgid "New Forum (bbPress)"
4099
  msgstr "Nuevo Fórum (bbPress)"
4100
 
4101
- #: ../includes/mycred-functions.php:2344
4102
  msgid "New Forum Topic (bbPress)"
4103
  msgstr "Nuevo Tema de Fórum (bbPress)"
4104
 
4105
- #: ../includes/mycred-functions.php:2345
4106
  msgid "Favorited Topic (bbPress)"
4107
  msgstr "Tema Favorito (bbPress)"
4108
 
4109
- #: ../includes/mycred-functions.php:2346
4110
  msgid "New Topic Reply (bbPress)"
4111
  msgstr "Nueva Respuesta a Tema (bbPress)"
4112
 
4113
- #: ../includes/mycred-functions.php:2350
4114
  msgid "Form Submission (Contact Form 7)"
4115
  msgstr "Sumisión de Formulario (Contact Form 7)"
4116
 
4117
- #: ../includes/mycred-functions.php:2353
4118
  msgid "Form Submission (Gravity Form)"
4119
  msgstr "Sumisión de Formulario (Gravity Form)"
4120
 
4121
- #: ../includes/mycred-functions.php:2356
4122
  msgid "New Forum Topic (SimplePress)"
4123
  msgstr "Nuevo Tema de Fórum (SimplePress)"
4124
 
4125
- #: ../includes/mycred-functions.php:2357
4126
  msgid "New Forum Post (SimplePress)"
4127
  msgstr "Nueva Entrada de Fórum (SimplePress)"
4128
 
4129
- #: ../includes/mycred-functions.php:2361
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4130
  msgid "Poll Voting"
4131
  msgstr "Votación"
4132
 
4133
- #: ../includes/mycred-functions.php:2364
4134
  msgid "Sending an Invite"
4135
  msgstr "Mandando una Invitación"
4136
 
4137
- #: ../includes/mycred-functions.php:2365
4138
  msgid "Accepting an Invite"
4139
  msgstr "Aceptando una Invitación"
4140
 
4141
- #: ../includes/mycred-functions.php:2371
4142
  msgid "Banking Payout"
4143
  msgstr "Desembolso Bancario"
4144
 
4145
- #: ../includes/mycred-functions.php:2374
4146
  msgid "buyCRED Purchase (PayPal Standard)"
4147
  msgstr "Compra buyCRED (PayPal Standard)"
4148
 
4149
- #: ../includes/mycred-functions.php:2375
4150
  msgid "buyCRED Purchase (Skrill)"
4151
  msgstr "Compra buyCRED (Skrill)"
4152
 
4153
- #: ../includes/mycred-functions.php:2376
4154
  msgid "buyCRED Purchase (Zombaio)"
4155
  msgstr "Compra buyCRED (Zombaio)"
4156
 
4157
- #: ../includes/mycred-functions.php:2377
4158
  msgid "buyCRED Purchase (NETBilling)"
4159
  msgstr "Compra buyCRED (NETBilling)"
4160
 
4161
- #: ../includes/mycred-functions.php:2378
4162
  msgid "buyCRED Purchase (BitPay)"
4163
  msgstr "Compra buyCRED (BitPay)"
4164
 
4165
- #: ../includes/mycred-functions.php:2383
4166
  msgid "Coupon Purchase"
4167
  msgstr "Compra Cupón"
4168
 
4169
- #: ../includes/mycred-functions.php:2386
4170
  msgid "Store Purchase (WooCommerce)"
4171
  msgstr "Compra de Tienda (WooCommerce)"
4172
 
4173
- #: ../includes/mycred-functions.php:2387
 
 
 
 
 
 
 
 
4174
  msgid "Store Purchase (MarketPress)"
4175
  msgstr "Compra de Tienda (MarketPress)"
4176
 
4177
- #: ../includes/mycred-functions.php:2388
 
 
 
 
4178
  msgid "Store Purchase (WP E-Commerce)"
4179
  msgstr "Compra de Tienda (WP E-Commerce)"
4180
 
4181
- #: ../includes/mycred-functions.php:2393
4182
  msgid "Event Payment (Event Espresso)"
4183
  msgstr "Pago por Evento (Event Espresso)"
4184
 
4185
- #: ../includes/mycred-functions.php:2394
4186
  msgid "Event Sale (Event Espresso)"
4187
  msgstr "Venta de Evento (Event Espresso)"
4188
 
4189
- #: ../includes/mycred-functions.php:2398
4190
  msgid "Event Payment (Events Manager)"
4191
  msgstr "Pago por Evento (Events Manager)"
4192
 
4193
- #: ../includes/mycred-functions.php:2399
4194
  msgid "Event Sale (Events Manager)"
4195
  msgstr "Venta de Evento (Events Manager)"
4196
 
4197
- #: ../includes/mycred-functions.php:2403
4198
  msgid "Content Purchase / Sale"
4199
  msgstr "Compra / Venta de Contenido"
4200
 
4201
- #: ../includes/mycred-functions.php:2410
4202
  msgid "Manual Adjustment by Admin"
4203
  msgstr "Ajuste Manual por Admin"
4204
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4205
  #: ../includes/mycred-importer.php:11
4206
  #, php-format
4207
  msgid "%s Log Import"
@@ -4264,28 +4596,28 @@ msgstr ""
4264
  "Lo sentimos, pero tu instalación de WordPress no alcanza a los requisitos "
4265
  "mínimos de mycred. Se produce los siguientes errores:"
4266
 
4267
- #: ../includes/mycred-install.php:254
4268
  msgid "myCRED needs your attention."
4269
  msgstr "myCRED precisa tu atención."
4270
 
4271
- #: ../includes/mycred-install.php:254
4272
  msgid "Run Setup"
4273
  msgstr "Ejecutar Configuración"
4274
 
4275
- #: ../includes/mycred-install.php:266 ../includes/mycred-install.php:267
4276
  msgid "myCRED Setup"
4277
  msgstr "Instalación de myCRED"
4278
 
4279
- #: ../includes/mycred-install.php:396
4280
  #, php-format
4281
  msgid "%s Setup"
4282
  msgstr "Configurar %s"
4283
 
4284
- #: ../includes/mycred-install.php:398
4285
  msgid "Step"
4286
  msgstr "Paso"
4287
 
4288
- #: ../includes/mycred-install.php:422
4289
  msgid ""
4290
  "Click \"Begin Setup\" to install myCRED. You will be able to select your "
4291
  "points format, layout and security settings."
@@ -4293,76 +4625,76 @@ msgstr ""
4293
  "Haga clic en \"Empezar la Instalación\" para instalar myCRED. Podras ajustar "
4294
  "el formato de puntos, disposiciones y configuraciones de seguridad."
4295
 
4296
- #: ../includes/mycred-install.php:423
4297
  msgid "Begin Setup"
4298
  msgstr "Empezar la Instalación"
4299
 
4300
- #: ../includes/mycred-install.php:478
4301
  msgid "Select the format you want to use for your points."
4302
  msgstr "Elige el formato que quieres usar para tus puntos."
4303
 
4304
- #: ../includes/mycred-install.php:479
4305
  msgid "Format"
4306
  msgstr "Formato"
4307
 
4308
- #: ../includes/mycred-install.php:482
4309
  msgid "Separators"
4310
  msgstr "Separadores"
4311
 
4312
- #: ../includes/mycred-install.php:492
4313
  msgid "Decimals"
4314
  msgstr "Decimales"
4315
 
4316
- #: ../includes/mycred-install.php:494
4317
- msgid "Use zero for no decimals."
4318
- msgstr "Usa cero para no tener decimales."
4319
 
4320
- #: ../includes/mycred-install.php:497 ../modules/mycred-module-settings.php:356
4321
  msgid "Presentation"
4322
  msgstr "Presentación"
4323
 
4324
- #: ../includes/mycred-install.php:500 ../modules/mycred-module-settings.php:343
4325
  msgid "Name (Singular)"
4326
  msgstr "Nombre (singular)"
4327
 
4328
- #: ../includes/mycred-install.php:504 ../modules/mycred-module-settings.php:348
4329
  msgid "Name (Plural)"
4330
  msgstr "Nombre (plural)"
4331
 
4332
- #: ../includes/mycred-install.php:510 ../modules/mycred-module-settings.php:359
4333
  msgid "Prefix"
4334
  msgstr "Prefijo"
4335
 
4336
- #: ../includes/mycred-install.php:518 ../modules/mycred-module-settings.php:367
4337
  msgid "Suffix"
4338
  msgstr "Sufijo"
4339
 
4340
- #: ../includes/mycred-install.php:522
4341
  msgid "Cancel Setup"
4342
  msgstr "Cancelar la Instalación"
4343
 
4344
- #: ../includes/mycred-install.php:522 ../includes/mycred-install.php:592
4345
  msgid "Next"
4346
  msgstr "Siguiente"
4347
 
4348
- #: ../includes/mycred-install.php:554 ../modules/mycred-module-settings.php:375
4349
  msgid "Security"
4350
  msgstr "Seguridad"
4351
 
4352
- #: ../includes/mycred-install.php:557
4353
  msgid "Edit Settings Capability"
4354
  msgstr "Editar la capacidad de las configuraciones"
4355
 
4356
  #. is this user's or users (plural)?
4357
- #: ../includes/mycred-install.php:561
4358
  msgid "Edit Users %plural% Capability"
4359
  msgstr "Editar la Capacidad de %plural% del Usuario"
4360
 
4361
- #: ../includes/mycred-install.php:565 ../modules/mycred-module-settings.php:388
4362
  msgid "Maximum %plural% payouts"
4363
  msgstr "Desembolso %plural% Máximo"
4364
 
4365
- #: ../includes/mycred-install.php:567 ../modules/mycred-module-settings.php:390
4366
  msgid ""
4367
  "As an added security, you can set the maximum amount a user can gain or "
4368
  "loose in a single instance. If used, make sure this is the maximum amount a "
@@ -4374,41 +4706,41 @@ msgstr ""
4374
  "que es tambien la máxima cantidad que el usuario puede transferir, comprar, "
4375
  "o gastar en tu tienda. Ponga zero para desactivar."
4376
 
4377
- #: ../includes/mycred-install.php:570 ../modules/mycred-module-settings.php:393
4378
  msgid "Excludes"
4379
  msgstr "Excluye"
4380
 
4381
- #: ../includes/mycred-install.php:574 ../modules/mycred-module-settings.php:397
4382
  msgid "Exclude those who can \"Edit Settings\"."
4383
  msgstr "Excluir a los que puedan \"Editar las Configuraciones\"."
4384
 
4385
- #: ../includes/mycred-install.php:578 ../modules/mycred-module-settings.php:401
4386
  msgid "Exclude those who can \"Edit Users %plural%\"."
4387
  msgstr "Excluir a los que pueden \"Editar los %plural% de Usuarios\"."
4388
 
4389
- #: ../includes/mycred-install.php:581 ../modules/mycred-module-settings.php:405
4390
  msgid "Exclude the following user IDs:"
4391
  msgstr "Excluir a los siguientes IDs de usuarios"
4392
 
4393
- #: ../includes/mycred-install.php:585 ../modules/mycred-module-settings.php:410
4394
  msgid "User Deletions"
4395
  msgstr "Eliminación de Usuarios"
4396
 
4397
- #: ../includes/mycred-install.php:589 ../modules/mycred-module-settings.php:413
4398
  msgid "Delete log entries when user is deleted."
4399
  msgstr "Elimina las entradas de registro cuando se elimina el usuario."
4400
 
4401
- #: ../includes/mycred-install.php:610
4402
  msgid "Ready"
4403
  msgstr "Listo"
4404
 
4405
- #: ../includes/mycred-install.php:611
4406
  msgid "Almost done! Click the button below to finish this setup."
4407
  msgstr ""
4408
  "¡Casi terminado! Haga clic al botón de abajo para finalizar esta "
4409
  "configuración."
4410
 
4411
- #: ../includes/mycred-install.php:612
4412
  msgid "Install & Run"
4413
  msgstr "Instalar e ejecutar"
4414
 
@@ -4434,6 +4766,12 @@ msgstr "Ir a la página anterior"
4434
  msgid "Current page"
4435
  msgstr "Página corriente"
4436
 
 
 
 
 
 
 
4437
  #: ../includes/mycred-log.php:438
4438
  msgid "Go to the next page"
4439
  msgstr "Ir a la página siguiente"
@@ -4446,7 +4784,7 @@ msgstr "Ir a la última página"
4446
  msgid "Show all references"
4447
  msgstr "Muestra todas las referencias"
4448
 
4449
- #: ../includes/mycred-log.php:525 ../modules/mycred-module-settings.php:557
4450
  msgid "User ID"
4451
  msgstr "ID del Usuario"
4452
 
@@ -4454,11 +4792,11 @@ msgstr "ID del Usuario"
4454
  msgid "Show in order"
4455
  msgstr "Mostrar en Orden"
4456
 
4457
- #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:405
4458
  msgid "Ascending"
4459
  msgstr "Ascendente"
4460
 
4461
- #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:406
4462
  msgid "Descending"
4463
  msgstr "Descendente"
4464
 
@@ -4483,7 +4821,7 @@ msgstr "No hay opciones para exportar."
4483
  msgid "Entry"
4484
  msgstr "Entrada"
4485
 
4486
- #: ../includes/mycred-log.php:737 ../modules/mycred-module-log.php:468
4487
  msgid "User Missing"
4488
  msgstr "Usuario Ausente"
4489
 
@@ -4500,27 +4838,15 @@ msgstr "Busqueda de Registro"
4500
  msgid "search log entries"
4501
  msgstr "Búsqueda de las entradas de registro"
4502
 
4503
- #: ../includes/mycred-log.php:836 ../modules/mycred-module-buddypress.php:232 ..
4504
- #: modules/mycred-module-buddypress.php:245
4505
  msgid "All"
4506
  msgstr "Todo"
4507
 
4508
- #: ../includes/mycred-log.php:837 ../modules/mycred-module-buddypress.php:233
4509
- msgid "Today"
4510
- msgstr "Hoy"
4511
-
4512
- #: ../includes/mycred-log.php:838 ../modules/mycred-module-buddypress.php:234
4513
  msgid "Yesterday"
4514
  msgstr "Ayer"
4515
 
4516
- #: ../includes/mycred-log.php:839 ../modules/mycred-module-buddypress.php:235
4517
- msgid "This Week"
4518
- msgstr "Esta Semana"
4519
-
4520
- #: ../includes/mycred-log.php:840 ../modules/mycred-module-buddypress.php:236
4521
- msgid "This Month"
4522
- msgstr "Este Mes"
4523
-
4524
  #: ../includes/mycred-network.php:59 ../includes/mycred-network.php:60
4525
  msgid "Network Settings"
4526
  msgstr "Configuración de la Red"
@@ -4586,10 +4912,6 @@ msgstr "Guardar las Configuraciones de la Eed"
4586
  msgid "%s Overview"
4587
  msgstr "Descripción de %s"
4588
 
4589
- #: ../includes/mycred-overview.php:78
4590
- msgid "Total amount in circulation"
4591
- msgstr "Suma total en circulación"
4592
-
4593
  #. also, "Otorgado"
4594
  #: ../includes/mycred-overview.php:81
4595
  msgid "Awarded"
@@ -4628,8 +4950,8 @@ msgid "Key"
4628
  msgstr "Clave"
4629
 
4630
  #: ../includes/mycred-remote.php:555
4631
- msgid "min. 12 characters"
4632
- msgstr "min. 12 Símbolos"
4633
 
4634
  #: ../includes/mycred-remote.php:556
4635
  msgid "Required for this feature to work!<br />Minimum 12 characters."
@@ -4681,166 +5003,153 @@ msgstr ""
4681
  "Recuerda a desactivarlo cuando no está en uso para prevenir que llamadas "
4682
  "maliciosas conozcan detalles de tu configuración!"
4683
 
4684
- #: ../includes/mycred-shortcodes.php:178
4685
  msgid "Leaderboard is empty."
4686
  msgstr "La Tabla de Clasificación esta vacía"
4687
 
4688
- #: ../includes/mycred-shortcodes.php:469 ../includes/mycred-shortcodes.php:593
4689
- msgid "Amount missing!"
4690
- msgstr "¡Falta la cantidad!"
4691
-
4692
- #: ../includes/mycred-shortcodes.php:472 ../includes/mycred-shortcodes.php:601
4693
- msgid "Log Template Missing!"
4694
- msgstr "¡Plantilla de Registro No Encontrado!"
4695
-
4696
- #: ../includes/mycred-shortcodes.php:535
4697
  msgid "Anchor missing URL!"
4698
  msgstr "¡La Ancla falta el URL!"
4699
 
4700
- #: ../includes/mycred-shortcodes.php:597
4701
- msgid "User ID missing for recipient."
4702
- msgstr "ID del Usuario falta para el destinatario"
4703
-
4704
- #: ../includes/mycred-shortcodes.php:652
4705
  msgid "Sent"
4706
  msgstr "Enviado"
4707
 
4708
- #: ../includes/mycred-shortcodes.php:653
4709
  msgid "Error - Try Again"
4710
  msgstr "Error - Inténtelo de nuevo."
4711
 
4712
- #: ../includes/mycred-shortcodes.php:762
4713
  msgid "A video ID is required for this shortcode"
4714
  msgstr "Este código corto (shortcode) precisa un ID del video."
4715
 
4716
- #: ../includes/mycred-shortcodes.php:913 ../includes/mycred-shortcodes.php:1007
4717
- msgid "Point types not found."
4718
- msgstr "Clase de puntos no encontrado."
4719
-
4720
- #: ../includes/mycred-shortcodes.php:919 ../includes/mycred-shortcodes.php:927 ..
4721
- #: includes/mycred-shortcodes.php:1019 ../includes/mycred-shortcodes.php:1039
4722
- #, php-format
4723
- msgid "You are excluded from using %s."
4724
- msgstr "Esta exluido del uso de %s."
4725
-
4726
- #: ../includes/mycred-shortcodes.php:923 ../includes/mycred-shortcodes.php:1029
4727
- msgid "Your balance is too low to use this feature."
4728
- msgstr "Tu saldo esta demasiado bajo para usar esta característica."
4729
-
4730
- #: ../includes/mycred-shortcodes.php:944
4731
  #, php-format
4732
  msgid "Convert <span>%s</span> to <span>%s</span>"
4733
  msgstr "Convertir <span>%s</span> a <span>%s</span>"
4734
 
4735
- #: ../includes/mycred-shortcodes.php:953
4736
  #, php-format
4737
  msgid "Your current %s balance"
4738
  msgstr "Tu Saldo Actual %s"
4739
 
4740
- #: ../includes/mycred-shortcodes.php:961
4741
  #, php-format
4742
  msgid "Minimum %s"
4743
  msgstr "Minimo %s"
4744
 
4745
- #: ../includes/mycred-shortcodes.php:965
4746
  #, php-format
4747
  msgid "1 %s = <span class=\"rate\">%s</span> %s"
4748
  msgstr "1 %s = <span class=\"rate\">%s</span> %s"
4749
 
4750
- #: ../includes/mycred-shortcodes.php:971
4751
  msgid "Exchange"
4752
  msgstr "Intercambio"
4753
 
4754
- #: ../includes/mycred-shortcodes.php:1052
4755
- #, php-format
4756
- msgid "You must exchange at least %s!"
4757
- msgstr "Debes intercambiar por lo menos %s!"
4758
-
4759
- #: ../includes/mycred-shortcodes.php:1074
4760
- #, php-format
4761
- msgid "Exchange from %s"
4762
- msgstr "Intercambiar desde %s"
4763
-
4764
- #: ../includes/mycred-shortcodes.php:1086
4765
- #, php-format
4766
- msgid "Exchange to %s"
4767
- msgstr "Intercambiar a %s"
4768
 
4769
- #: ../includes/mycred-shortcodes.php:1094
4770
- #, php-format
4771
- msgid "You have successfully exchanged %s into %s."
4772
- msgstr "Has intercambiado %s a %s con éxito."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4773
 
4774
- #: ../includes/mycred-widgets.php:21
4775
  #, php-format
4776
  msgid "Show the current users %s balance"
4777
  msgstr "Enseñar el saldo de %s del usuario actual"
4778
 
4779
- #: ../includes/mycred-widgets.php:23
4780
  #, php-format
4781
  msgid "(%s) My Balance"
4782
  msgstr "(%s) Mi Saldo"
4783
 
4784
- #: ../includes/mycred-widgets.php:154
4785
- msgid "My Balance"
4786
- msgstr "Mi Saldo"
4787
-
4788
- #: ../includes/mycred-widgets.php:160 ../modules/mycred-module-buddypress.php:446
4789
- msgid "%plural% History"
4790
- msgstr "Historial de %plural%"
4791
-
4792
- #: ../includes/mycred-widgets.php:165 ../includes/mycred-widgets.php:558
4793
- msgid "<a href=\"%login_url_here%\">Login</a> to view your balance."
4794
- msgstr "<a href=\"%login_url_here%\">Inicia sesión</a> para ver tu saldo."
4795
-
4796
- #: ../includes/mycred-widgets.php:202
4797
  msgid "Layout"
4798
  msgstr "Disposición"
4799
 
4800
- #: ../includes/mycred-widgets.php:210
4801
  msgid "Include history"
4802
  msgstr "Incluir el historial"
4803
 
4804
- #: ../includes/mycred-widgets.php:212
4805
  msgid "History Title"
4806
  msgstr "Titulo de Historial"
4807
 
4808
  #. the English needs to be corrected to "Number of Entries"
4809
- #: ../includes/mycred-widgets.php:214
4810
  msgid "Number of entires"
4811
  msgstr "Numero de Entradas"
4812
 
4813
- #: ../includes/mycred-widgets.php:216 ../includes/mycred-widgets.php:391
4814
  msgid "Row layout"
4815
  msgstr "Disposición de Filas"
4816
 
4817
- #: ../includes/mycred-widgets.php:224 ../includes/mycred-widgets.php:582
4818
  msgid "Show message when not logged in"
4819
  msgstr "Mostrar mensaje cuando no ha iniciado la sesión"
4820
 
4821
- #: ../includes/mycred-widgets.php:226 ../includes/mycred-widgets.php:583
4822
  msgid "Message"
4823
  msgstr "Mensaje"
4824
 
4825
- #: ../includes/mycred-widgets.php:289
4826
  #, php-format
4827
  msgid "Show a list of users sorted by their %s balance"
4828
  msgstr "Mustra una lista de usuarios ordenados por sus %s saldos"
4829
 
4830
- #: ../includes/mycred-widgets.php:291
4831
  #, php-format
4832
  msgid "(%s) Leaderboard"
4833
  msgstr "(%s) Tabla de Clasificación"
4834
 
4835
- #: ../includes/mycred-widgets.php:348
4836
- msgid "Leaderboard"
4837
- msgstr "Tabla de Clasificación"
4838
-
4839
- #: ../includes/mycred-widgets.php:377
4840
  msgid "Based On"
4841
  msgstr "Basado Sobre"
4842
 
4843
- #: ../includes/mycred-widgets.php:379
4844
  msgid ""
4845
  "Use \"balance\" to base the leaderboard on your users current balances or use "
4846
  "a specific reference."
@@ -4848,37 +5157,37 @@ msgstr ""
4848
  "Utiliza \"saldo\" para basar la tabla de clasificación sobre los saldos "
4849
  "actuales de tus usuarios o utiliza una referencia especifica."
4850
 
4851
- #: ../includes/mycred-widgets.php:379
4852
  msgid "Reference Guide"
4853
  msgstr "Guia de Referencia"
4854
 
4855
- #: ../includes/mycred-widgets.php:384
4856
  msgid "Visible to non-members"
4857
  msgstr "Visible al público (no miembros)"
4858
 
4859
- #: ../includes/mycred-widgets.php:387
4860
  msgid "Number of users"
4861
  msgstr "Numero de Usuarios"
4862
 
4863
- #: ../includes/mycred-widgets.php:396
4864
  msgid "Offset"
4865
  msgstr "Offset"
4866
 
4867
- #: ../includes/mycred-widgets.php:398
4868
  msgid "Optional offset of order. Use zero to return the first in the list."
4869
  msgstr ""
4870
  "Opcional desplazamiento (offset) de la orden. Utilice cero para devolver el "
4871
  "primero en la lista."
4872
 
4873
- #: ../includes/mycred-widgets.php:401
4874
  msgid "Order"
4875
  msgstr "Orden"
4876
 
4877
- #: ../includes/mycred-widgets.php:419
4878
  msgid "Append current users position"
4879
  msgstr "Añade la posición actual de usuarios "
4880
 
4881
- #: ../includes/mycred-widgets.php:420
4882
  msgid ""
4883
  "If the current user is not in this leaderboard, you can select to append "
4884
  "them at the end with their current position."
@@ -4886,20 +5195,16 @@ msgstr ""
4886
  "Si el usuario actual no esta en esta tabla de clasificación, puedes elegir a "
4887
  "agregarles al final con su posición actual."
4888
 
4889
- #: ../includes/mycred-widgets.php:470
4890
  msgid "Shows the current users balances for each point type."
4891
  msgstr "Mostrar el saldo actual del usuario para cada clase de punto (\"point type\")."
4892
 
4893
- #: ../includes/mycred-widgets.php:472
4894
  #, php-format
4895
  msgid "(%s) Wallet"
4896
  msgstr "(%s) Cartera"
4897
 
4898
- #: ../includes/mycred-widgets.php:552
4899
- msgid "My Wallet"
4900
- msgstr "Mi Cartera"
4901
-
4902
- #: ../includes/mycred-widgets.php:574
4903
  msgid "Row Layout"
4904
  msgstr "Disposición de Filas"
4905
 
@@ -4931,11 +5236,6 @@ msgstr ""
4931
  "Importación Finalizado - En total, <strong>%d</strong> saldos fueron "
4932
  "importado con éxito. Se saltaron <strong>%d</strong>."
4933
 
4934
- #: ../includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
4935
- #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
4936
- msgid "View Log"
4937
- msgstr "Ver Registro"
4938
-
4939
  #: ../includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
4940
  #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
4941
  msgid "Import More"
@@ -5066,17 +5366,17 @@ msgstr "Importa las entradas de registro desde un fichero CSV."
5066
  msgid "Add-ons"
5067
  msgstr "Extensiones"
5068
 
5069
- #: ../modules/mycred-module-addons.php:147
5070
  msgid "Give your users badges based on their interaction with your website."
5071
  msgstr "Dar insignias a tus usuarios basado en sus interacciones con tu sitio web."
5072
 
5073
- #: ../modules/mycred-module-addons.php:158
5074
  msgid "Setup recurring payouts or offer / charge interest on user account balances."
5075
  msgstr ""
5076
  "Configura los pagos recurrentes u ofrecer / cobrar interés sobre los saldos "
5077
  "de las cuentas de usuarios."
5078
 
5079
- #: ../modules/mycred-module-addons.php:169
5080
  msgid ""
5081
  "The <strong>buy</strong>CRED Add-on allows your users to buy points using "
5082
  "PayPal, Skrill (Moneybookers) or NETbilling. <strong>buy</strong>CRED can "
@@ -5087,7 +5387,7 @@ msgstr ""
5087
  "<strong>compra</strong>CRED tambien permite que tus usuarios compren puntos "
5088
  "para otros miembros."
5089
 
5090
- #: ../modules/mycred-module-addons.php:180
5091
  msgid ""
5092
  "The coupons add-on allows you to create coupons that users can use to add "
5093
  "points to their accounts."
@@ -5095,13 +5395,13 @@ msgstr ""
5095
  "Los cupones de add-on le permite crear cupones que los usuarios pueden "
5096
  "utilizar para agregar puntos a sus cuentas."
5097
 
5098
- #: ../modules/mycred-module-addons.php:191
5099
  msgid "Create email notices for any type of myCRED instance."
5100
  msgstr ""
5101
  "Crea avisos por correo electrónico para cualquier tipo de instancias de "
5102
  "myCRED."
5103
 
5104
- #: ../modules/mycred-module-addons.php:202
5105
  msgid ""
5106
  "Let your users pay using their <strong>my</strong>CRED points balance. "
5107
  "Supported Carts: WooCommerce, MarketPress and WP E-Commerce. Supported Event "
@@ -5112,11 +5412,11 @@ msgstr ""
5112
  "WP E-Commerce. Reservas de Eventos soportados: Event Espresso and Events "
5113
  "Manager (gratis y pro)."
5114
 
5115
- #: ../modules/mycred-module-addons.php:213
5116
  msgid "Create pop-up notifications for when users gain or loose points."
5117
  msgstr "Crear notificaciones pop-up cuando los usuarios ganan o pierden puntos."
5118
 
5119
- #: ../modules/mycred-module-addons.php:225
5120
  msgid ""
5121
  "Create ranks for users reaching a certain number of %_plural% with the "
5122
  "option to add logos for each rank."
@@ -5124,7 +5424,7 @@ msgstr ""
5124
  "Crear rangos para los usuarios que alcanzan a un cierto número de %_plural% "
5125
  "con la opción de añadir logotipos para cada rango."
5126
 
5127
- #: ../modules/mycred-module-addons.php:236
5128
  msgid ""
5129
  "This add-on allows you to sell posts, pages or any public post types on your "
5130
  "website. You can either sell the entire content or using our shortcode, sell "
@@ -5135,7 +5435,13 @@ msgstr ""
5135
  "el código corto (shortcode), vender partes de tu contenido permitiendote "
5136
  "ofrecer \"avances\"."
5137
 
5138
- #: ../modules/mycred-module-addons.php:247
 
 
 
 
 
 
5139
  msgid ""
5140
  "Allow your users to send or \"donate\" points to other members by either using "
5141
  "the mycred_transfer shortcode or the myCRED Transfer widget."
@@ -5144,63 +5450,63 @@ msgstr ""
5144
  "el código corto (shortcode) de mycred_transfer o el widget de Transferencia "
5145
  "myCRED."
5146
 
5147
- #: ../modules/mycred-module-addons.php:283
5148
  #, php-format
5149
  msgid "%s Add-ons"
5150
  msgstr "%s Extensiones (addons)"
5151
 
5152
- #: ../modules/mycred-module-addons.php:289
5153
  msgid "Add-on Activated"
5154
  msgstr "Extensión Activado"
5155
 
5156
- #: ../modules/mycred-module-addons.php:292
5157
  msgid "Add-on Deactivated"
5158
  msgstr "Extensión Desactivado"
5159
 
5160
- #: ../modules/mycred-module-addons.php:296
5161
  msgid "Add-ons can expand your current installation with further features."
5162
  msgstr ""
5163
  "Extensiones pueden ampliar tu instalación actual con más características "
5164
  "técnicas."
5165
 
5166
- #: ../modules/mycred-module-addons.php:317
5167
  #, php-format
5168
  msgid "You can find more add-ons in our %s."
5169
  msgstr "Puedes encontrar más extensiones (add-ons) en nuestro %s."
5170
 
5171
- #: ../modules/mycred-module-addons.php:317
5172
  msgid "online store"
5173
  msgstr "tienda online"
5174
 
5175
- #: ../modules/mycred-module-addons.php:338
5176
  msgid "Deactivate Add-on"
5177
  msgstr "Desactivar Extensión"
5178
 
5179
- #: ../modules/mycred-module-addons.php:339
5180
  msgid "Deactivate"
5181
  msgstr "Desactivar"
5182
 
5183
- #: ../modules/mycred-module-addons.php:346
5184
  msgid "Activate Add-on"
5185
  msgstr "Activar Extensión"
5186
 
5187
- #: ../modules/mycred-module-addons.php:347
5188
  msgid "Activate"
5189
  msgstr "Activar"
5190
 
5191
- #: ../modules/mycred-module-addons.php:363
5192
  msgid "Version"
5193
  msgstr "Version"
5194
 
5195
- #: ../modules/mycred-module-addons.php:367
5196
  msgid "By"
5197
  msgstr "Por"
5198
 
5199
- #: ../modules/mycred-module-addons.php:371
5200
  msgid "About"
5201
  msgstr "Acerca de"
5202
 
5203
- #: ../modules/mycred-module-addons.php:375
5204
  msgid "Get Pro"
5205
  msgstr "Obtenga la versión Pro"
5206
 
@@ -5213,76 +5519,69 @@ msgstr "Mi Historial"
5213
  msgid "%s's History"
5214
  msgstr "La Historial de %s"
5215
 
5216
- #: ../modules/mycred-module-buddypress.php:124
5217
  msgid "Current balance"
5218
  msgstr "Saldo Actual"
5219
 
5220
- #: ../modules/mycred-module-buddypress.php:347
3
  "Project-Id-Version: myCRED\n"
4
  "Report-Msgid-Bugs-To: http://mycred.me\n"
5
  "POT-Creation-Date: 2014-03-20 14:26+0100\n"
6
+ "PO-Revision-Date: Mon Feb 02 2015 11:27:25 GMT+0100 (CET)\n"
7
+ "Last-Translator: unimatrix0 <gabriel.s@merovingi.com>\n"
8
  "Language-Team: LANGUAGE <support@mycred.me>\n"
9
+ "Language: Spanish (Spain)\n"
10
  "Plural-Forms: nplurals=2; plural=n != 1\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
24
  "X-Poedit-SearchPath-1: .\n"
25
  "X-Loco-Target-Locale: es_ES"
26
 
27
+ #: ../mycred.php:449
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  msgid "Balance"
29
  msgstr "Saldo"
30
 
31
+ #: ../mycred.php:474
32
  msgid "%label% History"
33
  msgstr "%lavel% Historial"
34
 
35
+ #: ../mycred.php:567
36
  #, php-format
37
  msgid "About %s"
38
  msgstr "Sobre"
39
 
40
+ #: ../mycred.php:576
41
  msgid "Awesome People"
42
  msgstr "Gente genial"
43
 
44
+ #: ../mycred.php:661 ../mycred.php:686 ../mycred.php:704 ../addons/badges/myCRED-
45
+ #: addon-badges.php:595 ../addons/gateway/event-booking/mycred-eventsmanager.php:
46
+ #: 478 ../addons/ranks/myCRED-addon-ranks.php:421 ../addons/ranks/myCRED-addon-
47
+ #: ranks.php:1514 ../addons/sell-content/myCRED-addon-sell-content.php:371 ..
48
+ #: addons/transfer/myCRED-addon-transfer.php:146 ../includes/mycred-shortcodes.
49
+ #: php:636
50
  msgid "Processing..."
51
  msgstr "Procesando..."
52
 
53
+ #: ../mycred.php:662
54
  msgid ""
55
  "Warning! All entries in your log will be permanently removed! This can not "
56
  "be undone!"
58
  "¡Aviso! Todas las entradas en su registro seran permanentemente borrado! "
59
  "¡Esto no se puede deshacer!"
60
 
61
+ #: ../mycred.php:663
62
  msgid ""
63
  "All log entries belonging to deleted users will be permanently deleted! This "
64
  "can not be undone!"
66
  "¡Todas las entradas de registro perteneciendo al usuario seran "
67
  "permanentemente borradas! ¡Esto no se puede deshacer!"
68
 
69
+ #: ../mycred.php:664
70
  msgid "Warning! All user balances will be set to zero! This can not be undone!"
71
  msgstr ""
72
  "¡Aviso! ¡Todo los saldos del usuario seran puesto a cero! ¡Esto no se puede "
73
  "deshacer!"
74
 
75
+ #: ../mycred.php:665
76
  msgid "Done!"
77
  msgstr "¡Realizado!"
78
 
79
+ #: ../mycred.php:666 ../mycred.php:685 ../mycred.php:703
80
  msgid "Close"
81
  msgstr "Cerrar"
82
 
83
+ #: ../mycred.php:667
84
  msgid "Export users %plural%"
85
  msgstr "Exportar usuarios %plural%"
86
 
87
+ #: ../mycred.php:668
88
+ msgid ""
89
+ "In order to adjust the number of decimal places you want to use we must "
90
+ "update your log. It is highly recommended that you backup your current log "
91
+ "before continuing!"
92
+ msgstr ""
93
+
94
+ #: ../mycred.php:684
95
  msgid "Edit Users Balance"
96
  msgstr "Editar saldo del usuario"
97
 
98
+ #: ../mycred.php:702
99
  msgid "Edit Log Entry"
100
  msgstr "Edidar entrada de registro"
101
 
102
+ #: ../mycred.php:706
103
  msgid "Are you sure you want to delete this log entry? This can not be undone!"
104
  msgstr ""
105
  "¿Esta seguro que quiere borrar esta entrada de registro? ¡Esto no se puede "
106
  "deshacer!"
107
 
108
+ #: ../mycred.php:707
109
  msgid "Log entry updated"
110
  msgstr "Entrada de registro actualizado"
111
 
112
+ #: ../mycred.php:761 ../mycred.php:782 ../addons/email-notices/myCRED-addon-email-
113
+ #: notices.php:808 ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:
114
  #: 499 ../addons/gateway/event-booking/mycred-eventsmanager.php:537
115
  msgid "Setup"
116
  msgstr "Configurar"
117
 
118
+ #: ../mycred.php:763 ../addons/gateway/carts/mycred-marketpress.php:371 ..
119
+ #: addons/stats/abstracts/mycred-abstract-stat-widget.php:108 ../includes/mycred-
120
+ #: network.php:151 ../modules/mycred-module-settings.php:20 ../modules/mycred-
121
+ #: module-settings.php:21 ../modules/mycred-module-settings.php:22
122
  msgid "Settings"
123
  msgstr "Configuraciones"
124
 
125
+ #: ../mycred.php:803
126
  msgid ""
127
  "Make sure to backup your database and files before updating, in case "
128
  "anything goes wrong!"
130
  "Antes de actualizar, asegura crear copias de seguridad de su base de datos y "
131
  "archivo, por si acaso!"
132
 
133
+ #: ../abstracts/mycred-abstract-hook.php:74
134
  msgid "function myCRED_Hook::run() must be over-ridden in a sub-class."
135
  msgstr "Historia"
136
 
137
+ #: ../abstracts/mycred-abstract-hook.php:83
138
  msgid "This Hook has no settings"
139
  msgstr "Este gancho no ha sido configurado"
140
 
141
+ #: ../abstracts/mycred-abstract-hook.php:223 ../abstracts/mycred-abstract-hook.
142
+ #: php:290 ../includes/mycred-functions.php:2633 ../modules/mycred-module-hooks.
143
+ #: php:1649
144
  msgid "No limit"
145
  msgstr "Sin Limite"
146
 
147
+ #: ../abstracts/mycred-abstract-hook.php:224
148
+ msgid "/ Day"
149
+ msgstr ""
150
+
151
+ #: ../abstracts/mycred-abstract-hook.php:225
152
+ msgid "/ Week"
153
+ msgstr ""
154
+
155
+ #: ../abstracts/mycred-abstract-hook.php:226
156
+ msgid "/ Month"
157
+ msgstr ""
158
+
159
+ #: ../abstracts/mycred-abstract-hook.php:227
160
+ msgid "in Total"
161
+ msgstr ""
162
+
163
+ #: ../abstracts/mycred-abstract-hook.php:291
164
  msgid "Once every 24 hours"
165
  msgstr "Una vez cada 24 horas"
166
 
167
+ #: ../abstracts/mycred-abstract-hook.php:292
 
 
 
 
168
  msgid "Once every 7 days"
169
  msgstr "Una vez cada 7 dias"
170
 
171
+ #: ../abstracts/mycred-abstract-hook.php:293
172
  msgid "Once per day (reset at midnight)"
173
  msgstr "Una vez al dia (reinicializado al medianoche)"
174
 
175
+ #: ../abstracts/mycred-abstract-hook.php:300 ../addons/banking/abstracts/mycred-
176
+ #: abstract-service.php:498 ../addons/buy-creds/myCRED-addon-buy-creds.php:628 ..
177
+ #: addons/buy-creds/myCRED-addon-buy-creds.php:649 ../addons/buy-
178
+ #: creds/abstracts/mycred-abstract-payment-gateway.php:1023 ../addons/buy-
179
+ #: creds/abstracts/mycred-abstract-payment-gateway.php:1046 ../addons/buy-
180
  #: creds/gateways/zombaio.php:338 ../addons/email-notices/myCRED-addon-email-
181
+ #: notices.php:198 ../addons/email-notices/myCRED-addon-email-notices.php:989
182
  msgid "Select"
183
  msgstr "Seleccionar"
184
 
185
+ #: ../abstracts/mycred-abstract-module.php:56
186
  msgid "myCRED_Module() Error. A Module ID is required!"
187
  msgstr "Error de myCRED_Module(). ¡Se requiere una ID de Modulo!"
188
 
189
+ #: ../abstracts/mycred-abstract-module.php:351 ../abstracts/mycred-abstract-
190
+ #: module.php:359
191
  msgid "Surprise"
192
  msgstr "Sorpresa"
193
 
194
+ #: ../abstracts/mycred-abstract-module.php:446 ../includes/mycred-network.php:83
195
  msgid "click to close"
196
  msgstr "haga clic para cerrar"
197
 
198
+ #: ../abstracts/mycred-abstract-module.php:447 ../includes/mycred-network.php:84
199
  msgid "click to open"
200
  msgstr "haga clic para abrir"
201
 
202
+ #: ../abstracts/mycred-abstract-module.php:480 ../addons/buy-creds/myCRED-addon-
203
+ #: buy-creds.php:846
204
  msgid "Settings Updated"
205
  msgstr "Configuraciones Actualizadas"
206
 
207
+ #: ../addons/badges/myCRED-addon-badges.php:48 ../addons/badges/myCRED-addon-
208
+ #: badges.php:49 ../addons/badges/myCRED-addon-badges.php:50 ..
209
+ #: addons/badges/myCRED-addon-badges.php:144 ../addons/badges/myCRED-addon-
210
+ #: badges.php:145 ../addons/badges/myCRED-addon-badges.php:373 ..
211
+ #: addons/badges/myCRED-addon-badges.php:379 ../addons/badges/myCRED-addon-
212
+ #: badges.php:385
213
  msgid "Badges"
214
  msgstr "Insignias"
215
 
216
+ #: ../addons/badges/myCRED-addon-badges.php:169
217
+ #, php-format
218
+ msgid "Badges (%d)"
219
+ msgstr ""
220
 
221
+ #: ../addons/badges/myCRED-addon-badges.php:256
222
  #, php-format
223
  msgid "%d Users earned this badge."
224
  msgstr "%d Usuarios que han ganado esta insignia."
225
 
226
+ #: ../addons/badges/myCRED-addon-badges.php:260
227
+ msgid "No users has yet earned this badge."
228
+ msgstr "Ningun usuario ha ganado esta insignia."
229
+
230
+ #: ../addons/badges/myCRED-addon-badges.php:282
231
  #, php-format
232
  msgid "%s connections where removed."
233
  msgstr "%s conexiones han sido quitados."
234
 
235
+ #: ../addons/badges/myCRED-addon-badges.php:374
236
  msgid "Badge"
237
  msgstr "Insignia"
238
 
239
+ #: ../addons/badges/myCRED-addon-badges.php:375 ../addons/buy-creds/myCRED-addon-
240
+ #: buy-creds.php:259 ../addons/buy-creds/myCRED-addon-buy-creds.php:260 ..
241
+ #: addons/email-notices/myCRED-addon-email-notices.php:167 ..
242
+ #: addons/ranks/myCRED-addon-ranks.php:445
243
  msgid "Add New"
244
  msgstr "Añade Nuevo"
245
 
246
+ #: ../addons/badges/myCRED-addon-badges.php:376
247
  msgid "Add New Badge"
248
  msgstr "Añadir Nueva Insignia"
249
 
250
+ #: ../addons/badges/myCRED-addon-badges.php:377
251
  msgid "Edit Badge"
252
  msgstr "Editar Insignia"
253
 
254
+ #: ../addons/badges/myCRED-addon-badges.php:378
255
  msgid "New Badge"
256
  msgstr "Nueva Insignia"
257
 
258
+ #: ../addons/badges/myCRED-addon-badges.php:380
259
  msgid "View Badge"
260
  msgstr "Ver Insignia"
261
 
262
+ #: ../addons/badges/myCRED-addon-badges.php:381
263
  msgid "Search Badge"
264
  msgstr "Buscar Insignia"
265
 
266
+ #: ../addons/badges/myCRED-addon-badges.php:382
267
  msgid "No badges found"
268
  msgstr "Ninguna Insignia Encontrada"
269
 
270
+ #: ../addons/badges/myCRED-addon-badges.php:383
271
  msgid "No badges found in Trash"
272
  msgstr "Ninguna Insignia Encontrada en la Papelera"
273
 
274
+ #: ../addons/badges/myCRED-addon-badges.php:429 ../addons/badges/myCRED-addon-
275
+ #: badges.php:531
276
  msgid "Badge Name"
277
  msgstr "Nombre de Insignia"
278
 
279
+ #: ../addons/badges/myCRED-addon-badges.php:430
 
280
  msgid "Badge Images"
281
  msgstr "Imagen de la Insignia"
282
 
283
+ #: ../addons/badges/myCRED-addon-badges.php:431
 
284
  msgid "Requirements"
285
  msgstr "Requisitos"
286
 
287
+ #: ../addons/badges/myCRED-addon-badges.php:432 ../addons/ranks/myCRED-addon-
288
+ #: ranks.php:1038 ../modules/mycred-module-settings.php:600
289
  msgid "Users"
290
  msgstr "Usuarios"
291
 
292
+ #: ../addons/badges/myCRED-addon-badges.php:471
293
  msgid "A user must have gained or lost:"
294
  msgstr "Un usuario deberia ganado o perdido:"
295
 
296
+ #: ../addons/badges/myCRED-addon-badges.php:507 ../addons/badges/myCRED-addon-
297
+ #: badges.php:510 ../addons/badges/myCRED-addon-badges.php:514 ..
298
+ #: addons/badges/myCRED-addon-badges.php:515 ../addons/badges/myCRED-addon-
299
+ #: badges.php:516
300
  msgid "Badge Updated."
301
  msgstr "Insignia Actualizada"
302
 
303
+ #: ../addons/badges/myCRED-addon-badges.php:512
304
  msgid "Badge Enabled"
305
  msgstr "Insignia Habilitado"
306
 
307
+ #: ../addons/badges/myCRED-addon-badges.php:513
308
  msgid "Badge Saved"
309
  msgstr "Insignia Guardada"
310
 
311
+ #: ../addons/badges/myCRED-addon-badges.php:545
312
+ msgid "Badge Setup"
313
+ msgstr ""
314
+
315
+ #: ../addons/badges/myCRED-addon-badges.php:572
316
  msgid "Assign Badge"
317
  msgstr "Asignar Insignia"
318
 
319
+ #: ../addons/badges/myCRED-addon-badges.php:573
320
  msgid "Remove Connections"
321
  msgstr "Quitar Conexiones"
322
 
323
+ #: ../addons/badges/myCRED-addon-badges.php:628
324
  msgid "Time(s)"
325
  msgstr "Tiempo(s)"
326
 
327
+ #: ../addons/badges/myCRED-addon-badges.php:629
328
  msgid "In total"
329
  msgstr "En Total"
330
 
331
+ #: ../addons/badges/myCRED-addon-badges.php:661 ../addons/badges/myCRED-addon-
332
+ #: badges.php:761 ../addons/badges/myCRED-addon-badges.php:821 ..
333
+ #: addons/badges/myCRED-addon-badges.php:836
334
  msgid "Badge Image"
335
  msgstr "Imagen de la Insignia"
336
 
337
+ #: ../addons/badges/myCRED-addon-badges.php:662 ../addons/badges/myCRED-addon-
338
+ #: badges.php:662
339
  msgid "Set badge image"
340
  msgstr "Configurar la imagen para la insignia"
341
 
342
+ #: ../addons/badges/myCRED-addon-badges.php:672
 
 
 
 
 
343
  msgid "Default Image"
344
  msgstr "Imagen Predefinida"
345
 
346
+ #: ../addons/badges/myCRED-addon-badges.php:673 ../addons/badges/myCRED-addon-
347
+ #: badges.php:731 ../addons/badges/myCRED-addon-badges.php:762 ..
348
+ #: addons/badges/myCRED-addon-badges.php:821
 
 
 
 
 
 
 
349
  msgid "image url"
350
  msgstr "enlace de la imagen"
351
 
352
+ #: ../addons/badges/myCRED-addon-badges.php:674 ../addons/badges/myCRED-addon-
353
+ #: badges.php:732 ../addons/badges/myCRED-addon-badges.php:763 ..
354
+ #: addons/badges/myCRED-addon-badges.php:821
355
+ msgid "Add Image"
356
+ msgstr ""
357
+
358
+ #: ../addons/badges/myCRED-addon-badges.php:675
359
+ msgid "Optional image to show when a user has not yet earned this badge."
360
+ msgstr ""
361
+
362
+ #: ../addons/badges/myCRED-addon-badges.php:694 ../addons/badges/myCRED-addon-
363
+ #: badges.php:746
364
+ #, php-format
365
+ msgid "Level %d"
366
+ msgstr ""
367
+
368
+ #: ../addons/badges/myCRED-addon-badges.php:699 ../addons/badges/myCRED-addon-
369
+ #: badges.php:751 ../addons/badges/myCRED-addon-badges.php:821
370
+ msgid "for"
371
+ msgstr ""
372
+
373
+ #: ../addons/badges/myCRED-addon-badges.php:730
374
  msgid "Main Image"
375
  msgstr "Imagen Principal"
376
 
377
+ #: ../addons/badges/myCRED-addon-badges.php:764 ../addons/badges/myCRED-addon-
378
+ #: badges.php:821
379
+ msgid "Leave empty if you do not want to assign a custom image for this level."
380
+ msgstr ""
381
+
382
+ #: ../addons/badges/myCRED-addon-badges.php:764 ../addons/badges/myCRED-addon-
383
+ #: badges.php:821
384
+ msgid "Remove this level"
385
+ msgstr ""
386
+
387
+ #: ../addons/badges/myCRED-addon-badges.php:778
388
+ msgid "Add Level"
389
+ msgstr ""
390
+
391
+ #: ../addons/badges/myCRED-addon-badges.php:821 ../addons/badges/myCRED-addon-
392
+ #: badges.php:1141
393
+ msgid "Level"
394
+ msgstr ""
395
 
396
+ #: ../addons/badges/myCRED-addon-badges.php:838
397
  msgid "Use as Badge"
398
  msgstr "Utiliza como Insignia"
399
 
400
+ #: ../addons/badges/myCRED-addon-badges.php:960 ../addons/badges/myCRED-addon-
401
+ #: badges.php:991 ../addons/gateway/carts/mycred-woocommerce.php:153 ..
402
+ #: modules/mycred-module-buddypress.php:384
403
  msgid "Do not show"
404
  msgstr "No Mostrar"
405
 
406
+ #: ../addons/badges/myCRED-addon-badges.php:961 ../modules/mycred-module-
407
+ #: buddypress.php:385
408
  msgid "Include in Profile Header"
409
  msgstr "Incluir en el Encabezado del Perfil"
410
 
411
+ #: ../addons/badges/myCRED-addon-badges.php:962 ../addons/ranks/myCRED-addon-
412
+ #: ranks.php:1396 ../modules/mycred-module-buddypress.php:386
413
  msgid "Include under the \"Profile\" tab"
414
  msgstr "Incluir debajo de la pestaña del \"Perfil\""
415
 
416
+ #: ../addons/badges/myCRED-addon-badges.php:963 ../modules/mycred-module-
417
+ #: buddypress.php:387
418
  msgid "Include under the \"Profile\" tab and Profile Header"
419
  msgstr "Incluir bajo la pestanã \"Perfil\" y Encabezado de Perfil"
420
 
421
+ #: ../addons/badges/myCRED-addon-badges.php:976 ../addons/badges/myCRED-addon-
422
+ #: badges.php:1007
423
+ msgid "Show all badges, including badges users have not yet earned."
424
+ msgstr ""
425
+
426
+ #: ../addons/badges/myCRED-addon-badges.php:992 ../addons/ranks/myCRED-addon-
427
+ #: ranks.php:1442
428
  msgid "Include in Profile"
429
  msgstr "Incluir en el Perfil"
430
 
431
+ #: ../addons/badges/myCRED-addon-badges.php:993
432
  msgid "Include in Forum Replies"
433
  msgstr "Incluir en Respuesta de Fórum"
434
 
435
+ #: ../addons/badges/myCRED-addon-badges.php:994
436
  msgid "Include in Profile and Forum Replies"
437
  msgstr "Incluir en Perfil y Respuestas de Fórum"
438
 
439
+ #: ../addons/badges/myCRED-addon-badges.php:1098
440
+ msgid "User Badges"
441
+ msgstr ""
442
+
443
+ #: ../addons/badges/myCRED-addon-badges.php:1103
444
+ msgid ""
445
+ "Here you can view the badges this user has earned and if needed, manually "
446
+ "give or take away a badge from a user."
447
+ msgstr ""
448
+
449
+ #: ../addons/badges/myCRED-addon-badges.php:1112
450
+ msgid "Not earned"
451
+ msgstr ""
452
+
453
+ #: ../addons/badges/myCRED-addon-badges.php:1118 ../addons/badges/myCRED-addon-
454
+ #: badges.php:1155
455
+ msgid "Earned"
456
+ msgstr ""
457
+
458
+ #: ../addons/badges/myCRED-addon-badges.php:1130
459
+ msgid "No image"
460
+ msgstr ""
461
+
462
+ #: ../addons/badges/myCRED-addon-badges.php:1137
463
+ msgid "Select a level"
464
+ msgstr ""
465
+
466
+ #: ../addons/badges/myCRED-addon-badges.php:1152 ../addons/email-notices/myCRED-
467
+ #: addon-email-notices.php:807
468
+ msgid "Status"
469
+ msgstr "Estatus"
470
+
471
+ #: ../addons/badges/myCRED-addon-badges.php:1169 ../addons/email-notices/myCRED-
472
+ #: addon-email-notices.php:1290
473
+ msgid "Save Changes"
474
+ msgstr "Guardar Cambios"
475
+
476
+ #: ../addons/badges/includes/mycred-badge-functions.php:65
477
+ #, php-format
478
+ msgid "Level %s"
479
+ msgstr ""
480
+
481
+ #: ../addons/badges/includes/mycred-badge-functions.php:68
482
+ #, php-format
483
+ msgctxt "\"Points\" for \"reference\" \"x time(s)\" - Level"
484
+ msgid "%s for %s %s - %s"
485
+ msgstr ""
486
+
487
+ #: ../addons/badges/includes/mycred-badge-functions.php:68 ..
488
+ #: addons/coupons/myCRED-addon-coupons.php:202 ../addons/coupons/myCRED-addon-
489
+ #: coupons.php:469
490
+ #, php-format
491
+ msgid "1 time"
492
+ msgid_plural "%d times"
493
+ msgstr[0] ""
494
+ msgstr[1] ""
495
+
496
+ #: ../addons/badges/includes/mycred-badge-functions.php:70
497
+ #, php-format
498
+ msgctxt "\"x points\" for \"reference\" in total"
499
+ msgid "%s for %s in total"
500
+ msgstr "%s para %s en total"
501
+
502
  #: ../addons/banking/myCRED-addon-banking.php:44 ../addons/banking/myCRED-addon-
503
  #: banking.php:45 ../addons/banking/myCRED-addon-banking.php:46
504
  msgid "Banking"
540
  msgstr "Configurar pago en masa &_singular% para tus usuarios."
541
 
542
  #: ../addons/banking/myCRED-addon-banking.php:219 ../addons/buy-creds/myCRED-
543
+ #: addon-buy-creds.php:836 ../addons/buy-creds/myCRED-addon-buy-creds.php:932 ..
544
+ #: addons/stats/myCRED-addon-stats.php:182 ../includes/mycred-admin.php:556 ..
545
+ #: includes/mycred-network.php:125 ../modules/mycred-module-addons.php:292 ..
546
+ #: modules/mycred-module-hooks.php:171 ../modules/mycred-module-log.php:326 ..
547
+ #: modules/mycred-module-log.php:597 ../modules/mycred-module-settings.php:457
548
  msgid "Access Denied"
549
  msgstr "Acceso Denegado"
550
 
566
  msgstr "¡Aviso! Esta extensión requiere WP - Cron para funcionar."
567
 
568
  #: ../addons/banking/myCRED-addon-banking.php:248 ../addons/buy-creds/myCRED-
569
+ #: addon-buy-creds.php:870 ../modules/mycred-module-hooks.php:196
570
  msgid "Enable"
571
  msgstr "Habilitar"
572
 
641
 
642
  #: ../addons/banking/services/mycred-bank-service-interest.php:392 ..
643
  #: addons/banking/services/mycred-bank-service-interest.php:409 ..
644
+ #: addons/banking/services/mycred-bank-service-payouts.php:250
645
  msgid "Run Count"
646
  msgstr "Cuenta de Ejecución"
647
 
680
  msgstr "Tasa de Incumplimiento"
681
 
682
  #: ../addons/banking/services/mycred-bank-service-interest.php:427 ..
683
+ #: addons/banking/services/mycred-bank-service-payouts.php:268
684
  msgid "Can not be zero."
685
  msgstr "No puede ser cero."
686
 
687
  #: ../addons/banking/services/mycred-bank-service-interest.php:430 ..
688
+ #: addons/gateway/carts/mycred-wpecommerce.php:367
689
  msgid "Payout"
690
  msgstr "Desembolso"
691
 
692
  #. can also be "Plantilla de Bitácora"
693
  #: ../addons/banking/services/mycred-bank-service-interest.php:435 ..
694
+ #: addons/banking/services/mycred-bank-service-payouts.php:283 ../addons/buy-
695
+ #: creds/myCRED-addon-buy-creds.php:606 ../addons/buy-creds/myCRED-addon-buy-
696
+ #: creds.php:665 ../addons/coupons/myCRED-addon-coupons.php:502 ..
697
+ #: addons/gateway/carts/mycred-marketpress.php:395 ..
698
+ #: addons/gateway/carts/mycred-marketpress.php:428 ..
699
+ #: addons/gateway/carts/mycred-woocommerce.php:105 ..
700
+ #: addons/gateway/carts/mycred-woocommerce.php:177 ..
701
+ #: addons/gateway/carts/mycred-wpecommerce.php:371 ../modules/mycred-module-
702
+ #: hooks.php:891 ../modules/mycred-module-hooks.php:1847 ../modules/mycred-module-
703
+ #: hooks.php:2187 ../plugins/mycred-hook-badgeOS.php:124 ../plugins/mycred-hook-
704
  #: badgeOS.php:126 ../plugins/mycred-hook-badgeOS.php:135 ../plugins/mycred-hook-
705
+ #: events-manager-light.php:196 ../plugins/mycred-hook-events-manager-light.php:
706
+ #: 209 ../plugins/mycred-hook-gd-star-rating.php:109 ../plugins/mycred-hook-gd-
707
+ #: star-rating.php:122 ../plugins/mycred-hook-woocommerce.php:304 ..
708
+ #: plugins/mycred-hook-wp-favorite-posts.php:217 ../plugins/mycred-hook-wp-
709
+ #: favorite-posts.php:235 ../plugins/mycred-hook-wp-favorite-posts.php:249 ..
710
+ #: plugins/mycred-hook-wp-favorite-posts.php:262 ../plugins/mycred-hook-wp-polls.
711
+ #: php:136
712
  msgid "Log Template"
713
  msgstr "Plantilla de Registro"
714
 
715
  #: ../addons/banking/services/mycred-bank-service-interest.php:442 ..
716
+ #: addons/banking/services/mycred-bank-service-payouts.php:290 ..
717
+ #: addons/coupons/myCRED-addon-coupons.php:438
718
  msgid "Minimum Balance"
719
  msgstr "Saldo Minimo"
720
 
721
  #: ../addons/banking/services/mycred-bank-service-interest.php:446 ..
722
+ #: addons/banking/services/mycred-bank-service-payouts.php:294
723
  msgid "Optional minimum balance requirement."
724
  msgstr "Requerimiento opcional de saldo minimo."
725
 
726
  #: ../addons/banking/services/mycred-bank-service-interest.php:449 ..
727
+ #: addons/banking/services/mycred-bank-service-payouts.php:297
728
  msgid "Exclude"
729
  msgstr "Excluir"
730
 
731
  #: ../addons/banking/services/mycred-bank-service-interest.php:452 ..
732
+ #: addons/banking/services/mycred-bank-service-payouts.php:300
733
  msgid "Comma separated list of user IDs"
734
  msgstr "Lista del IDs de usuarios delimitado por comas"
735
 
736
  #: ../addons/banking/services/mycred-bank-service-interest.php:456 ..
737
+ #: addons/banking/services/mycred-bank-service-payouts.php:304
738
  msgid "Roles"
739
  msgstr "Papeles"
740
 
751
  msgstr "Este papel de usuario esta excluido de recibir interés sobre este saldo."
752
 
753
  #: ../addons/banking/services/mycred-bank-service-interest.php:552 ../addons/buy-
754
+ #: creds/myCRED-addon-buy-creds.php:758 ../addons/sell-content/myCRED-addon-sell-
755
+ #: content.php:114
756
  msgid "Leave empty to use the default value."
757
  msgstr "Dejar vacio si va a utilizar el valor predefinido."
758
 
780
  msgid "Daily %_plural%"
781
  msgstr "%_plural% diarios"
782
 
783
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:246 ..
784
+ #: includes/mycred-admin.php:405 ../modules/mycred-module-log.php:254 ..
785
  #: modules/mycred-module-log.php:255
786
  msgid "History"
787
  msgstr "Historial"
788
 
789
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:255
790
  msgid "Last Run"
791
  msgstr "Ultima Ejecución"
792
 
793
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:259
794
  msgid "Total Payouts"
795
  msgstr "Total Desembolsos"
796
 
797
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:263
798
  msgid "Pay Users"
799
  msgstr "Pagar a los Usuarios"
800
 
801
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:266 ../addons/buy-
802
  #: creds/myCRED-addon-buy-creds.php:300 ../addons/buy-creds/myCRED-addon-buy-
803
+ #: creds.php:1523 ../addons/buy-creds/myCRED-addon-buy-creds.php:1600 ..
804
+ #: addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:593 ..
805
+ #: includes/mycred-admin.php:709 ../includes/mycred-admin.php:759 ..
806
+ #: includes/mycred-shortcodes.php:971 ../includes/mycred-shortcodes.php:1112 ..
807
+ #: plugins/mycred-hook-affiliatewp.php:256
808
  msgid "Amount"
809
  msgstr "Cantidad"
810
 
811
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:271 ..
812
+ #: modules/mycred-module-hooks.php:2202
813
  msgid "Interval"
814
  msgstr "Interval"
815
 
816
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:276
817
  msgid "Cycles"
818
  msgstr "Ciclos"
819
 
820
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:278
821
  msgid "Set to -1 for unlimited"
822
  msgstr "Ajusta a -1 para ilimitado"
823
 
824
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:281
825
  msgid "Important"
826
  msgstr "Importante"
827
 
828
+ #: ../addons/banking/services/mycred-bank-service-payouts.php:281
829
  msgid ""
830
  "You can always stop payouts by deactivating this service. Just remember that "
831
  "if you deactivate while there are cycles left, this service will continue on "
861
  msgstr "Editar Pago Pendiente"
862
 
863
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:264 ../addons/buy-creds/myCRED-
864
+ #: addon-buy-creds.php:1634
865
  msgid "No pending payments found"
866
  msgstr "Ningun pago pendiente encontrado"
867
 
870
  msgstr "No ha sido encontrado en la Papelera"
871
 
872
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:297 ../addons/buy-creds/myCRED-
873
+ #: addon-buy-creds.php:988 ../addons/buy-creds/myCRED-addon-buy-creds.php:1598
874
  msgid "Transaction ID"
875
  msgstr "Identificación de la Transacción"
876
 
877
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:299 ../addons/buy-creds/myCRED-
878
+ #: addon-buy-creds.php:984
879
  msgid "Buyer"
880
  msgstr "Comprador"
881
 
882
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:301 ../addons/buy-creds/myCRED-
883
+ #: addon-buy-creds.php:1601 ../addons/buy-creds/abstracts/mycred-abstract-payment-
884
+ #: gateway.php:594
885
  msgid "Cost"
886
  msgstr "Coste"
887
 
888
  #: ../addons/buy-creds/myCRED-addon-buy-creds.php:302 ../addons/buy-creds/myCRED-
889
+ #: addon-buy-creds.php:983 ../addons/buy-creds/myCRED-addon-buy-creds.php:1599 ..
890
  #: includes/mycred-overview.php:166 ../includes/mycred-overview.php:173
891
  msgid "Gateway"
892
  msgstr "Pasarela"
895
  msgid "Type"
896
  msgstr "Clase"
897
 
898
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:390
899
  msgid "Pay Out"
900
  msgstr "Desembolso"
901
 
902
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:421
903
  msgid "buyCRED Purchase Log"
904
  msgstr "compraCRED Registro de Compras"
905
 
906
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:422 ../addons/buy-creds/myCRED-
907
+ #: addon-buy-creds.php:655 ../addons/buy-creds/myCRED-addon-buy-creds.php:842
908
  msgid "Purchase Log"
909
  msgstr "Registro de Compras"
910
 
911
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:515 ../addons/gateway/event-
912
  #: booking/mycred-eventespresso3.php:26 ../addons/gateway/event-booking/mycred-
913
  #: eventsmanager-pro.php:516 ../addons/gateway/event-booking/mycred-eventsmanager.
914
+ #: php:540 ../addons/sell-content/myCRED-addon-sell-content.php:423
915
  msgid "Payments"
916
  msgstr "Pagos"
917
 
918
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:545
919
  msgid "Please login to purchase %_plural%"
920
  msgstr "Identifícate antes de comprar %_plural%"
921
 
922
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:560
923
  #, php-format
924
  msgid "Gift purchase from %display_name%."
925
  msgstr "Regalo comprado de parte de %display_name%."
926
 
927
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:576 ../addons/ranks/myCRED-
928
+ #: addon-ranks.php:1079
929
  msgid "Minimum %plural%"
930
  msgstr "Minimo %_plural%"
931
 
932
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:580
933
  msgid "Minimum amount of %plural% a user must purchase. Will default to 1."
934
  msgstr ""
935
  "La mínima cantidad de %plural% que el usuario debe comprar. Sera predefinido "
936
  "a 1."
937
 
938
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:585 ../addons/transfer/myCRED-
939
+ #: addon-transfer.php:211 ../includes/mycred-widgets.php:598 ../modules/mycred-
940
+ #: module-settings.php:617
941
  msgid "Point Types"
942
  msgstr "Clase de Puntos"
943
 
944
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:588
945
  msgid "Select the point types that users can buy. You must select at least one!"
946
  msgstr ""
947
  "Elige el clase de punto que el usuario puede comprar. Debes eligir al menos "
948
  "uno!"
949
 
950
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:599
951
  msgid "Login Template"
952
  msgstr "Plantilla de Ingreso"
953
 
954
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:603
955
  msgid "Content to show when a user is not logged in."
956
  msgstr "Mostrar este contenido cuando un usuario no ha sido ingresado."
957
 
958
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:613
959
  msgid "Thank You Page"
960
  msgstr "Página de Agradecimiento"
961
 
962
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:616 ../addons/buy-creds/myCRED-
963
+ #: addon-buy-creds.php:637
964
  msgid "Custom URL"
965
  msgstr "URL Personalizada"
966
 
967
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:621 ../addons/buy-creds/myCRED-
968
+ #: addon-buy-creds.php:642
969
  msgid "Page"
970
  msgstr "Página"
971
 
972
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:634
973
  msgid "Cancellation Page"
974
  msgstr "Página de Cancelación"
975
 
976
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:657
977
  msgid "Show seperate log for %_plural% purchases."
978
  msgstr "Mostrar registro distinto para compras de %_plural%."
979
 
980
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:659
981
  msgid "Gifting"
982
  msgstr "Regalar"
983
 
984
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:661
985
  #, php-format
986
  msgid "Allow users to buy %_plural% for other users."
987
  msgstr "Prmita que usuarios compren %_plural% para otros usuarios."
988
 
989
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:662
990
  #, php-format
991
  msgid "Allow users to buy %_plural% for content authors."
992
  msgstr "Prmita que usuarios compren %_plural% para autores de contenido."
993
 
994
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:670 ../modules/mycred-module-
995
+ #: hooks.php:2912
996
  msgid "Available Shortcodes"
997
  msgstr "Códigos cortos Disponibles"
998
 
999
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:752
1000
  #, php-format
1001
  msgid "%s Exchange Rate"
1002
  msgstr "Tipo de Cambio %s"
1003
 
1004
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:766
1005
  msgid "Save Exchange Rates"
1006
  msgstr "Guardar Tipo de Cambio"
1007
 
1008
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:821
1009
  msgid "Exchange rate override saved"
1010
  msgstr "Anulación de de tipo de cambio guardado"
1011
 
1012
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:824
1013
  msgid "Payment completed"
1014
  msgstr "Pago finalizado"
1015
 
1016
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:842
1017
  #, php-format
1018
  msgid "%s Payment Gateways"
1019
  msgstr "%s Pasarelas de Pago"
1020
 
1021
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:842 ../addons/buy-creds/myCRED-
1022
+ #: addon-buy-creds.php:992
1023
  msgid "buyCRED Settings"
1024
  msgstr "Configuraciones de compraCRED"
1025
 
1026
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:863
1027
  msgid "Test Mode"
1028
  msgstr "Modo de Prueba"
1029
 
1030
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:865
1031
  msgid "Enabled"
1032
  msgstr "Habilitado"
1033
 
1034
  #. also, "Inhabilitar"
1035
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:868
1036
  msgid "Disabled"
1037
  msgstr "Desactivado"
1038
 
1039
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:878
1040
  msgid "Sandbox Mode"
1041
  msgstr "Modo Entorno Aislado"
1042
 
1043
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:881
1044
  msgid "Enable for test purchases."
1045
  msgstr "Habilitar para compras de prueba."
1046
 
1047
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:898 ../addons/gateway/event-
1048
+ #: booking/mycred-eventespresso3.php:502 ../modules/mycred-module-settings.php:692
1049
  msgid "Update Settings"
1050
  msgstr "Actualizar Configuraciones"
1051
 
1052
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:899
1053
  msgid "More Gateways"
1054
  msgstr "Mas Pasarelas"
1055
 
1056
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:985 ../includes/mycred-log.php:
1057
  #: 634
1058
  msgid "Date"
1059
  msgstr "Fecha"
1060
 
1061
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:987
1062
  msgid "Payed"
1063
  msgstr "Pagado"
1064
 
1065
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:992
1066
  msgid "<strong>buy</strong>CRED Purchase Log"
1067
  msgstr "Registro de Compras de <strong>compra</strong>CRED"
1068
 
1069
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:992 ../addons/gateway/event-
1070
  #: booking/mycred-eventespresso3.php:367
1071
  msgid "Gateway Settings"
1072
  msgstr "Configuraciones de la Pasarela de Pago"
1073
 
1074
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1171 ../addons/sell-
1075
+ #: content/myCRED-addon-sell-content.php:1209
1076
  msgid "No purchases found"
1077
  msgstr "No se encontro ninguna compra"
1078
 
1079
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1241 ../addons/buy-creds/myCRED-
1080
+ #: addon-buy-creds.php:1354
1081
  msgid "This Add-on needs to setup before you can use this shortcode."
1082
  msgstr ""
1083
  "Esta extensión (add-on) debe ser configurado antes de poder usar este código "
1084
  "corto (shortcode)."
1085
 
1086
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1260 ../addons/buy-creds/myCRED-
1087
+ #: addon-buy-creds.php:1373
1088
  msgid "No gateways installed."
1089
  msgstr "Ningun pasarela de pago instalado."
1090
 
1091
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1261 ../addons/buy-creds/myCRED-
1092
+ #: addon-buy-creds.php:1374
1093
  msgid "Gateway does not exist."
1094
  msgstr "Puerta de enlace no existe."
1095
 
1096
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1309
1097
  msgid "Yourself"
1098
  msgstr "Tu mismo"
1099
 
1100
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1375
1101
  msgid "No active gateways found."
1102
  msgstr "No se encuentra ningun puerta de enlace activo."
1103
 
1104
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1376
1105
  msgid "The selected gateway is not active."
1106
  msgstr "La puerta de enlace seleccionada no esta activo."
1107
 
1108
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1423
1109
  #, php-format
1110
  msgid "Buy with %gateway%"
1111
  msgstr "Compra con %gateway%"
1112
 
1113
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1429 ../addons/sell-
1114
  #: content/myCRED-addon-sell-content.php:44
1115
  msgid "Buy Now"
1116
  msgstr "Compra Ahora"
1117
 
1118
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1474
1119
  msgid "No users found"
1120
  msgstr "Ningun Usuario Encontrado"
1121
 
1122
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1484
1123
  msgid "To"
1124
  msgstr "A"
1125
 
1126
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1501
1127
  msgid "Select Amount"
1128
  msgstr "Selecciona la Cantidad"
1129
 
1130
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1525
1131
  msgid "min."
1132
  msgstr "min."
1133
 
1134
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1533
1135
  msgid "Select Gateway"
1136
  msgstr "Selecciona la Pasarela de Pago"
1137
 
1138
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1574 ../addons/gateway/event-
1139
  #: booking/mycred-eventespresso3.php:27 ../addons/gateway/event-booking/mycred-
1140
  #: eventsmanager-pro.php:39 ../addons/gateway/event-booking/mycred-eventsmanager.
1141
  #: php:35
1142
  msgid "Pay Now"
1143
  msgstr "Pagar Ahora"
1144
 
1145
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1575 ../includes/mycred-install.
1146
+ #: php:524
1147
  msgid "Cancel"
1148
  msgstr "Cancelar"
1149
 
1150
+ #: ../addons/buy-creds/myCRED-addon-buy-creds.php:1602 ../addons/ranks/myCRED-
1151
+ #: addon-ranks.php:1601 ../modules/mycred-module-log.php:375 ../modules/mycred-
1152
+ #: module-settings.php:589 ../modules/mycred-module-settings.php:604
1153
  msgid "Actions"
1154
  msgstr "Acciones"
1155
 
1189
  msgstr "Cancelar la compra"
1190
 
1191
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:503 ..
1192
+ #: includes/mycred-admin.php:703 ../includes/mycred-admin.php:745
1193
  msgid "required"
1194
  msgstr "necesario"
1195
 
1196
  #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:504 ..
1197
+ #: includes/mycred-admin.php:705 ../includes/mycred-admin.php:747
1198
  msgid "optional"
1199
  msgstr "opcional"
1200
 
1234
  msgid "Choose Country"
1235
  msgstr "Eliga el País"
1236
 
1237
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:587
1238
  #, php-format
1239
  msgid "%s Purchase"
1240
  msgstr "Compra %s"
1241
 
1242
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:592 ..
1243
  #: addons/gateway/carts/mycred-wpecommerce.php:112
1244
  msgid "Item"
1245
  msgstr "Articulo"
1246
 
1247
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:615
1248
  msgid "Debug"
1249
  msgstr "Depurar"
1250
 
1251
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:616
1252
  msgid ""
1253
  "Here you can see information that are collected and sent to this gateway. "
1254
  "Debug information is only visible for administrators and are intended for "
1261
  "puerta de enlace. Por favor, desactivar \"Modo Entorno Aislado\" cuando se "
1262
  "quiere activar este portal y ponerlo online."
1263
 
1264
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:620
1265
  msgid "Section"
1266
  msgstr "Sección"
1267
 
1268
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:621
1269
  msgid "Result"
1270
  msgstr "Resultado"
1271
 
1272
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:626
1273
  msgid "Payment Status"
1274
  msgstr "Estado de Pago"
1275
 
1276
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:630
1277
  msgid "Request"
1278
  msgstr "Solicitud"
1279
 
1280
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:634
1281
  msgid "Gateway Response"
1282
  msgstr "Respuesta de la Pasarela de Pago"
1283
 
1284
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:681
1285
  #, php-format
1286
  msgid "Continue to %s"
1287
  msgstr "Continuar a %s"
1288
 
1289
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:682 ..
1290
  #: addons/buy-creds/gateways/bitpay.php:226
1291
  msgid "Click here if you are not automatically redirected"
1292
  msgstr "Haga clic aqui si no se encuentra redirigida automáticamente"
1293
 
1294
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:687
1295
  msgid "The following information will be sent to the gateway"
1296
  msgstr "La información siguiente sera transmitido a la pasarela de pago"
1297
 
1298
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1373
1299
  msgid "Outside US"
1300
  msgstr "Fuera de los EEUU"
1301
 
1302
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1390
1303
  msgid "January"
1304
  msgstr "Enero"
1305
 
1306
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1391
1307
  msgid "February"
1308
  msgstr "Febrero"
1309
 
1310
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1392
1311
  msgid "March"
1312
  msgstr "Marzo"
1313
 
1314
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1393
1315
  msgid "April"
1316
  msgstr "Abril"
1317
 
1318
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1394
1319
  msgid "May"
1320
  msgstr "Mayo"
1321
 
1322
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1395
1323
  msgid "June"
1324
  msgstr "Junio"
1325
 
1326
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1396
1327
  msgid "July"
1328
  msgstr "Julio"
1329
 
1330
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1397
1331
  msgid "August"
1332
  msgstr "Agosto"
1333
 
1334
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1398
1335
  msgid "September"
1336
  msgstr "Septiembre"
1337
 
1338
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1399
1339
  msgid "October"
1340
  msgstr "Octubre"
1341
 
1342
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1400
1343
  msgid "November"
1344
  msgstr "Noviembre"
1345
 
1346
+ #: ../addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:1401
1347
  msgid "December"
1348
  msgstr "Diciembre"
1349
 
1390
  "compra!"
1391
 
1392
  #: ../addons/buy-creds/gateways/bitpay.php:212 ../addons/buy-
1393
+ #: creds/gateways/bitpay.php:221 ../addons/buy-creds/gateways/netbilling.php:193 .
1394
  #: ./addons/buy-creds/gateways/paypal-standard.php:262 ../addons/buy-
1395
  #: creds/gateways/skrill.php:274 ../addons/buy-creds/gateways/zombaio.php:234
1396
  msgid "Processing payment &hellip;"
1421
  msgstr "Código de Moneda"
1422
 
1423
  #: ../addons/buy-creds/gateways/bitpay.php:259 ../addons/buy-
1424
+ #: creds/gateways/netbilling.php:229 ../addons/buy-creds/gateways/paypal-standard.
1425
+ #: php:291 ../addons/buy-creds/gateways/skrill.php:311
1426
  msgid "Item Name"
1427
  msgstr "Nombre de Artículo"
1428
 
1429
  #: ../addons/buy-creds/gateways/bitpay.php:263 ../addons/buy-
1430
+ #: creds/gateways/netbilling.php:233 ../addons/buy-creds/gateways/paypal-standard.
1431
+ #: php:295 ../addons/buy-creds/gateways/skrill.php:315
1432
  msgid "Description of the item being purchased by the user."
1433
  msgstr "Descripción del artículo que el usuario esta comprando."
1434
 
1435
  #: ../addons/buy-creds/gateways/bitpay.php:266 ../addons/buy-
1436
+ #: creds/gateways/netbilling.php:236 ../addons/buy-creds/gateways/paypal-standard.
1437
+ #: php:298 ../addons/buy-creds/gateways/skrill.php:318
1438
  msgid "Exchange Rates"
1439
  msgstr "Tipo de Cambio"
1440
 
1468
  msgid "Yes"
1469
  msgstr "Sí"
1470
 
1471
+ #: ../addons/buy-creds/gateways/netbilling.php:210
1472
  msgid "Account ID"
1473
  msgstr "ID de la Cuenta"
1474
 
1475
+ #: ../addons/buy-creds/gateways/netbilling.php:216
1476
  msgid "Site Tag"
1477
  msgstr "Etiqueta (tag) del Sitio"
1478
 
1479
+ #: ../addons/buy-creds/gateways/netbilling.php:222
1480
  msgid "Order Integrity Key"
1481
  msgstr "Clave de Integridad del Pedido"
1482
 
1483
+ #: ../addons/buy-creds/gateways/netbilling.php:226
1484
  msgid "Found under Step 12 on the Fraud Defense page."
1485
  msgstr "Se encuentra en Paso 12 de la página sobre Defensa contra Fraude."
1486
 
1487
+ #: ../addons/buy-creds/gateways/netbilling.php:240
1488
  msgid "Postback CGI URL"
1489
  msgstr "Devolución de la URL CGI"
1490
 
1491
+ #: ../addons/buy-creds/gateways/netbilling.php:244
1492
  msgid ""
1493
  "For this gateway to work, you must login to your NETbilling account and edit "
1494
  "your site. Under \"Default payment form settings\" make sure the Postback CGI "
1499
  "Predefinido\" asegúrese de que la devolución de la URL CGI esta ajustada a la "
1500
  "dirección indicada arriba y \"Método de Retorno\" está ajustado a POST."
1501
 
1502
+ #: ../addons/buy-creds/gateways/netbilling.php:288
1503
  msgid "Incorrect Credit Card number"
1504
  msgstr "Número de Tarjeta de Crédito Incorrecta"
1505
 
1506
+ #: ../addons/buy-creds/gateways/netbilling.php:294
1507
  msgid "The credit card entered is past its expiration date."
1508
  msgstr "La tarjeta de crédito ha pasado su fecha de vencimiento."
1509
 
1510
+ #: ../addons/buy-creds/gateways/netbilling.php:297
1511
  msgid "The CVV2 number entered is not valid."
1512
  msgstr "El numero CVV2 teclado no es valido."
1513
 
1514
+ #: ../addons/buy-creds/gateways/netbilling.php:304
1515
  msgid "The bank routing number entered is not valid."
1516
  msgstr "El número de ruta bancaria introducido no es valido."
1517
 
1518
+ #: ../addons/buy-creds/gateways/netbilling.php:308
1519
  msgid "The bank account number entered is not valid."
1520
  msgstr "La cuenta bancaria introducida no es valida."
1521
 
1538
  msgid "Account Email"
1539
  msgstr "Cuenta de Correo Electrónico"
1540
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1541
  #: ../addons/buy-creds/gateways/skrill.php:257
1542
  msgid "Product:"
1543
  msgstr "Producto:"
1558
  msgid "Secret Word"
1559
  msgstr "Palabra Secreta"
1560
 
1561
+ #: ../addons/buy-creds/gateways/skrill.php:322
 
 
 
 
 
 
1562
  msgid "Confirmation Email"
1563
  msgstr "Correo electrónico de confirmación"
1564
 
1565
+ #: ../addons/buy-creds/gateways/skrill.php:325
1566
  msgid "Ask Skrill to send me a confirmation email for each successful purchase."
1567
  msgstr ""
1568
  "Pide a Skrill que me mande un email de confirmación para cada compra "
1569
  "finalizada con éxito."
1570
 
1571
+ #: ../addons/buy-creds/gateways/skrill.php:328
1572
  msgid "Checkout Page"
1573
  msgstr "Página de Pago"
1574
 
1575
+ #: ../addons/buy-creds/gateways/skrill.php:331 ../addons/gateway/carts/mycred-
1576
+ #: woocommerce.php:93 ../addons/ranks/myCRED-addon-ranks.php:1307 ..
1577
+ #: addons/transfer/includes/mycred-transfer-widgets.php:118 ../includes/mycred-
1578
+ #: widgets.php:196 ../includes/mycred-widgets.php:384 ../includes/mycred-widgets.
1579
+ #: php:592 ../modules/mycred-module-hooks.php:2876
1580
  msgid "Title"
1581
  msgstr "Titulo"
1582
 
1583
+ #: ../addons/buy-creds/gateways/skrill.php:333
1584
  msgid "If left empty, your account email is used as title on the Skill Payment Page."
1585
  msgstr ""
1586
  "Si se deja vacío, el correo electrónico de su cuenta sera utilizada como "
1587
  "título en la Página de Pagos Skrill. "
1588
 
1589
+ #: ../addons/buy-creds/gateways/skrill.php:336 ../addons/buy-
1590
  #: creds/gateways/zombaio.php:269
1591
  msgid "Logo URL"
1592
  msgstr "URL del Logotipo"
1593
 
1594
+ #: ../addons/buy-creds/gateways/skrill.php:338
1595
  msgid ""
1596
  "The URL to the image you want to use on the top of the gateway. For best "
1597
  "integration results we recommend you use logos with dimensions up to 200px "
1601
  "Para obtener la mejor integración recomendamos que uses logotipos con "
1602
  "dimensiones de hasta 200 píxeles de ancho y 50 px de altura."
1603
 
1604
+ #: ../addons/buy-creds/gateways/skrill.php:341
1605
  msgid "Confirmation Note"
1606
  msgstr "Nota de Confirmación"
1607
 
1608
+ #: ../addons/buy-creds/gateways/skrill.php:343
1609
  msgid ""
1610
  "Optional text to show user once a transaction has been successfully "
1611
  "completed. This text is shown by Skrill."
1613
  "Texto opcional a mostrar al usuario cuando la transacción haya sido "
1614
  "completado con éxito. Este texto sera mostrado por Skrill."
1615
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1616
  #: ../addons/buy-creds/gateways/zombaio.php:143
1617
  #, php-format
1618
  msgid "Duplicate transaction. Received: %s"
1662
  "clic sobre validar."
1663
 
1664
  #: ../addons/coupons/myCRED-addon-coupons.php:86 ../addons/coupons/myCRED-addon-
1665
+ #: coupons.php:92 ../addons/coupons/myCRED-addon-coupons.php:500 ..
1666
  #: includes/mycred-overview.php:188 ../includes/mycred-overview.php:195
1667
  msgid "Coupons"
1668
  msgstr "Cupones"
1701
  msgstr "Ningun Cupón Encontrado en la Papelera"
1702
 
1703
  #: ../addons/coupons/myCRED-addon-coupons.php:98 ../addons/email-notices/myCRED-
1704
+ #: addon-email-notices.php:165 ../addons/email-notices/myCRED-addon-email-notices.
1705
+ #: php:171 ../addons/email-notices/myCRED-addon-email-notices.php:177 ..
1706
+ #: addons/email-notices/myCRED-addon-email-notices.php:283
1707
  msgid "Email Notices"
1708
  msgstr "Avisos por Correo Electrónico"
1709
 
1710
  #: ../addons/coupons/myCRED-addon-coupons.php:119 ../addons/coupons/myCRED-addon-
1711
+ #: coupons.php:120 ../addons/coupons/myCRED-addon-coupons.php:121 ..
1712
+ #: addons/coupons/myCRED-addon-coupons.php:122
1713
  msgid "Coupon updated."
1714
  msgstr "Cupón Actualizado"
1715
 
1729
  msgid "Unique Coupon Code"
1730
  msgstr "Unico Código de Cupón"
1731
 
1732
+ #: ../addons/coupons/myCRED-addon-coupons.php:158
1733
  msgid "Coupon Code"
1734
  msgstr "Código de Cupón"
1735
 
1736
+ #: ../addons/coupons/myCRED-addon-coupons.php:159 ../addons/coupons/myCRED-addon-
1737
+ #: coupons.php:347
1738
  msgid "Value"
1739
  msgstr "Valor"
1740
 
1741
+ #: ../addons/coupons/myCRED-addon-coupons.php:160
1742
+ msgid "Used"
1743
+ msgstr ""
1744
 
1745
+ #: ../addons/coupons/myCRED-addon-coupons.php:161 ../addons/transfer/myCRED-addon-
1746
+ #: transfer.php:259 ../modules/mycred-module-hooks.php:1563 ../modules/mycred-
1747
+ #: module-hooks.php:1854
1748
  msgid "Limits"
1749
  msgstr "imites"
1750
 
1751
+ #: ../addons/coupons/myCRED-addon-coupons.php:162
1752
  msgid "Expires"
1753
  msgstr "Expire"
1754
 
1755
+ #: ../addons/coupons/myCRED-addon-coupons.php:165 ../addons/coupons/myCRED-addon-
1756
+ #: coupons.php:354 ../addons/email-notices/myCRED-addon-email-notices.php:811 ..
1757
+ #: addons/email-notices/myCRED-addon-email-notices.php:1028 ..
1758
+ #: addons/gateway/carts/mycred-marketpress.php:389 ..
1759
+ #: addons/gateway/carts/mycred-woocommerce.php:121 ..
1760
+ #: addons/gateway/carts/mycred-wpecommerce.php:354 ../addons/gateway/event-
1761
+ #: booking/mycred-eventespresso3.php:437 ../addons/gateway/event-booking/mycred-
1762
+ #: eventsmanager-pro.php:504 ../addons/gateway/event-booking/mycred-eventsmanager.
1763
+ #: php:550 ../addons/ranks/myCRED-addon-ranks.php:1041 ../addons/ranks/myCRED-
1764
+ #: addon-ranks.php:1191 ../addons/sell-content/myCRED-addon-sell-content.php:411 .
1765
+ #: ./includes/mycred-widgets.php:203 ../includes/mycred-widgets.php:390 ..
1766
+ #: includes/importers/mycred-cubepoints.php:365
1767
+ msgid "Point Type"
1768
+ msgstr "Clase de Puntos"
1769
+
1770
+ #: ../addons/coupons/myCRED-addon-coupons.php:193 ../addons/coupons/myCRED-addon-
1771
+ #: coupons.php:461
1772
  msgid "not yet used"
1773
  msgstr "todavia no utilizado"
1774
 
1775
+ #: ../addons/coupons/myCRED-addon-coupons.php:211 ../includes/mycred-admin.php:
1776
+ #: 395 ../modules/mycred-module-hooks.php:2292
1777
  msgid "Total"
1778
  msgstr "Total"
1779
 
1780
+ #: ../addons/coupons/myCRED-addon-coupons.php:211
1781
  msgid "Per User"
1782
  msgstr "Por Usuario"
1783
 
1784
+ #: ../addons/coupons/myCRED-addon-coupons.php:219
1785
  msgid "Never"
1786
  msgstr "Nunca"
1787
 
1788
+ #: ../addons/coupons/myCRED-addon-coupons.php:223
1789
  msgid "Expired"
1790
  msgstr "Caducado"
1791
 
1792
+ #: ../addons/coupons/myCRED-addon-coupons.php:226
1793
  #, php-format
1794
  msgid "In %s time"
1795
  msgstr "En %s tiempo"
1796
 
1797
+ #: ../addons/coupons/myCRED-addon-coupons.php:279
1798
  msgid "Coupon Setup"
1799
  msgstr "Configuración de Cupón"
1800
 
1801
+ #: ../addons/coupons/myCRED-addon-coupons.php:288
1802
  msgid "Coupon Limits"
1803
  msgstr "Limites de Cupón"
1804
 
1805
+ #: ../addons/coupons/myCRED-addon-coupons.php:297
1806
  msgid "Coupon Requirements"
1807
  msgstr "Requisitos de Cupón"
1808
 
1809
+ #: ../addons/coupons/myCRED-addon-coupons.php:307
1810
+ msgid "Usage"
1811
+ msgstr "Utilización"
1812
+
1813
+ #: ../addons/coupons/myCRED-addon-coupons.php:350
1814
  msgid "The amount of %plural% this coupon is worth."
1815
  msgstr "La cantidad de %plural% que vale este cupón."
1816
 
1817
+ #: ../addons/coupons/myCRED-addon-coupons.php:359
 
 
 
 
 
 
 
 
 
 
 
1818
  msgid "Select the point type that this coupon is applied."
1819
  msgstr "Elige el clase de puntos al cual este cupón se aplica."
1820
 
1821
+ #: ../addons/coupons/myCRED-addon-coupons.php:369
1822
  msgid "Expire"
1823
  msgstr "Caducar"
1824
 
1825
+ #: ../addons/coupons/myCRED-addon-coupons.php:372
1826
  msgid "Optional date when this coupon expires. Expired coupons will be trashed."
1827
  msgstr ""
1828
  "La fecha opcional cuando este cupón caduca. Cupones caducados seran "
1829
  "destrozado."
1830
 
1831
+ #: ../addons/coupons/myCRED-addon-coupons.php:401
1832
  msgid "Global Maximum"
1833
  msgstr "Máximo Global"
1834
 
1835
+ #: ../addons/coupons/myCRED-addon-coupons.php:404
1836
  msgid ""
1837
  "The maximum number of times this coupon can be used. Note that the coupon "
1838
  "will be automatically trashed once this maximum is reached!"
1842
  "alcanza este máximo!"
1843
 
1844
  #. not clear if this is referring to the maximum number of users or to the maximum "points" a user can have or accrue?
1845
+ #: ../addons/coupons/myCRED-addon-coupons.php:408
1846
  msgid "User Maximum"
1847
  msgstr "Máximo Usuario"
1848
 
1849
+ #: ../addons/coupons/myCRED-addon-coupons.php:411
1850
  msgid "The maximum number of times this coupon can be used by a user."
1851
  msgstr "El máximo numero de veces que se puede utilizadar este cupón por un usuario."
1852
 
1853
+ #: ../addons/coupons/myCRED-addon-coupons.php:440
1854
  msgid ""
1855
  "Optional minimum balance a user must have in order to use this coupon. Use "
1856
  "zero to disable."
1858
  "Mínimo saldo opcional que el usuario debe tener para utilizar este cupón. "
1859
  "Utilice cero para inhabilitar."
1860
 
1861
+ #: ../addons/coupons/myCRED-addon-coupons.php:443
1862
  msgid "Maximum Balance"
1863
  msgstr "Saldo Máximo"
1864
 
1865
+ #: ../addons/coupons/myCRED-addon-coupons.php:445
1866
  msgid ""
1867
  "Optional maximum balance a user can have in order to use this coupon. Use "
1868
  "zero to disable."
1870
  "Saldo máximo opcional que un usuario puede tener para usar este cupón. Ponga "
1871
  "cero para desactivar."
1872
 
1873
+ #: ../addons/coupons/myCRED-addon-coupons.php:506
1874
  #, php-format
1875
  msgid ""
1876
  "Log entry for successful coupon redemption. Use %coupon% to show the coupon "
1879
  "Entrada del registro al exitoso canje del cupón. Utilice %coupon% para "
1880
  "mostrar el código del cupón."
1881
 
1882
+ #: ../addons/coupons/myCRED-addon-coupons.php:509
1883
  msgid "Invalid Coupon Message"
1884
  msgstr "Mensaje Cupón Invalido"
1885
 
1886
+ #: ../addons/coupons/myCRED-addon-coupons.php:513
1887
  msgid "Message to show when users try to use a coupon that does not exists."
1888
  msgstr "Mostrar mensaje cuando los usuarios intenten usar un cupón que no existe."
1889
 
1890
+ #: ../addons/coupons/myCRED-addon-coupons.php:516
1891
  msgid "Expired Coupon Message"
1892
  msgstr "Mensaje de Cupón Caducado"
1893
 
1894
+ #: ../addons/coupons/myCRED-addon-coupons.php:520
1895
  msgid "Message to show when users try to use that has expired."
1896
  msgstr "Mostrar mensaje cuando los usuarios intenten usar lo que ha caducado."
1897
 
1898
+ #: ../addons/coupons/myCRED-addon-coupons.php:523
1899
  msgid "User Limit Message"
1900
  msgstr "Mensaje de Límite de Usuario"
1901
 
1902
+ #: ../addons/coupons/myCRED-addon-coupons.php:527
1903
  msgid "Message to show when the user limit has been reached for the coupon."
1904
  msgstr "Mostrar mensaje cuando el cupón alcanza su límite de usuarios."
1905
 
1906
+ #: ../addons/coupons/myCRED-addon-coupons.php:530
1907
  msgid "Minimum Balance Message"
1908
  msgstr "Mensaje de Saldo Mínimo"
1909
 
1910
+ #: ../addons/coupons/myCRED-addon-coupons.php:534
1911
  msgid ""
1912
  "Message to show when a user does not meet the minimum balance requirement. "
1913
  "(if used)"
1915
  "Mostrar mensaje cuando el usuario no cumple con el saldo mínimo requerido. "
1916
  "(si se utiliza)"
1917
 
1918
+ #: ../addons/coupons/myCRED-addon-coupons.php:537
1919
  msgid "Maximum Balance Message"
1920
  msgstr "Mensaje Saldo Máximo"
1921
 
1922
+ #: ../addons/coupons/myCRED-addon-coupons.php:541
1923
  msgid ""
1924
  "Message to show when a user does not meet the maximum balance requirement. "
1925
  "(if used)"
1927
  "Mostrar mensaje cuando un usuario no alcanza el saldo máximo requerido. (si "
1928
  "se utiliza)"
1929
 
1930
+ #: ../addons/coupons/myCRED-addon-coupons.php:544
1931
  msgid "Success Message"
1932
  msgstr "Mensaje de éxito"
1933
 
1934
+ #: ../addons/coupons/myCRED-addon-coupons.php:548
1935
  msgid "Message to show when a coupon was successfully deposited to a users account."
1936
  msgstr "Monstrar mensaje cuando un cupón se deposita con éxito en una cuenta usuaria."
1937
 
1943
  msgid "Apply Coupon"
1944
  msgstr "Aplica el Cupón"
1945
 
1946
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:166 ../addons/email-
1947
+ #: notices/myCRED-addon-email-notices.php:1264
1948
  msgid "Email Notice"
1949
  msgstr "Aviso por Correo Electrónico"
1950
 
1951
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:168
1952
  msgid "Add New Notice"
1953
  msgstr "Añade Nueva Notificación"
1954
 
1955
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:169
1956
  msgid "Edit Notice"
1957
  msgstr "Editar Aviso"
1958
 
1959
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:170
1960
  msgid "New Notice"
1961
  msgstr "Nuevo Aviso"
1962
 
1963
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:172
1964
  msgid "View Notice"
1965
  msgstr "Ver Aviso"
1966
 
1967
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:173
1968
  msgid "Search Email Notices"
1969
  msgstr "Búsqueda de Avisos por Correo Electrónico"
1970
 
1971
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:174
1972
  msgid "No email notices found"
1973
  msgstr "Ningun aviso por correo electrónico encontrado"
1974
 
1975
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:175
1976
  msgid "No email notices found in Trash"
1977
  msgstr "Ningun aviso por correo electrónico encontrado en la papelera"
1978
 
1979
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:200 ..
1980
+ #: addons/gateway/carts/mycred-wpecommerce.php:341 ../includes/mycred-functions.
1981
+ #: php:587
1982
  msgid "General"
1983
  msgstr "General"
1984
 
1985
  #. can also be users as in plural, I've assumed it is user singular with a missing apostrophe
1986
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:201
1987
  msgid "users balance changes"
1988
  msgstr "el saldo de usuario cambia"
1989
 
1990
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:202
1991
  msgid "user gains %_plural%"
1992
  msgstr "usuario gana %_plural%"
1993
 
1994
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:203
1995
  msgid "user lose %_plural%"
1996
  msgstr "usuario pierde %_plural%"
1997
 
1998
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:204
1999
  msgid "users balance reaches zero"
2000
  msgstr "saldo de usuario llega a cero"
2001
 
2002
  #. can also be users as in plural, I've assumed it is user singular with a missing apostrophe
2003
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:205
2004
  msgid "users balance goes minus"
2005
  msgstr "el saldo de usuario cae a negativo"
2006
 
2007
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:211
2008
+ msgid "Badge Add-on"
2009
+ msgstr ""
2010
+
2011
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:212
2012
+ msgid "user gains a badge"
2013
+ msgstr ""
2014
+
2015
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:219
2016
  msgid "Sell Content Add-on"
2017
  msgstr "Extensión para Vender Contenido"
2018
 
2019
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:220
2020
  msgid "user buys content"
2021
  msgstr "usuario compra contenido"
2022
 
2023
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:221
2024
  msgid "authors content gets sold"
2025
  msgstr "el contenido del autor sera vendido"
2026
 
2027
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:228
2028
  msgid "buyCREDs Add-on"
2029
  msgstr "Extensión de compraCREDs"
2030
 
2031
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:229
2032
  msgid "user buys %_plural%"
2033
  msgstr "usuario compra %_plural%"
2034
 
2035
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:236
2036
  msgid "Transfer Add-on"
2037
  msgstr "Extensión de Transferencias"
2038
 
2039
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:237
2040
  msgid "user sends %_plural%"
2041
  msgstr "usuario manda %_plural%"
2042
 
2043
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:238
2044
  msgid "user receives %_plural%"
2045
  msgstr "usuario recibe %_plural%"
2046
 
2047
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:245
2048
  msgid "Ranks Add-on"
2049
  msgstr "Extensión de Rangos"
2050
 
2051
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:246
2052
  msgid "user is demoted"
2053
  msgstr "se ha degrado al usuario"
2054
 
2055
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:247
2056
  msgid "user is promoted"
2057
  msgstr "se ha promovido al usuario"
2058
 
2059
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:285
2060
  msgid ""
2061
  "Settings that apply to all email notices and can not be overridden for "
2062
  "individual emails."
2064
  "Ajustes que se aplica a todos los correos electrónicos y que no seran "
2065
  "anulados para correos electronicos especificos."
2066
 
2067
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:286
2068
  msgid "Email Format"
2069
  msgstr "Formato de Correo Electrónico"
2070
 
2071
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:290
2072
  msgid "Plain text emails only."
2073
  msgstr "Correo electrónico usando texto sin formato."
2074
 
2075
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:294
2076
  msgid "HTML or Plain text emails."
2077
  msgstr "Correo electrónico usando HTML o texto sin formato."
2078
 
2079
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:297
2080
  msgid "Filters"
2081
  msgstr "Filtros"
2082
 
2083
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:301
2084
  msgid ""
2085
  "Allow WordPress and Third Party Plugins to filter the email subject before "
2086
  "an email is sent."
2088
  "Permite a Wordpress y a los Plugins de terceros a filtrar el asunto del "
2089
  "correo electrónico antes de enviarlo."
2090
 
2091
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:305
2092
  msgid ""
2093
  "Allow WordPress and Third Party Plugins to filter the email content before "
2094
  "an email is sent."
2096
  "Permite a Wordpress y a los Plugins de terceros a filtrar el contenido del "
2097
  "correo electrónico antes de enviarlo."
2098
 
2099
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:310 ../addons/email-
2100
+ #: notices/myCRED-addon-email-notices.php:316
2101
  msgid "Email Schedule"
2102
  msgstr "Itinerario de Emails"
2103
 
2104
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:312
2105
  msgid "WordPress Cron is disabled. Emails will be sent immediately."
2106
  msgstr "WordPress Cron esta desactivado. Los emails seran mandados inmediatamente."
2107
 
2108
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:320
2109
  msgid "Send emails immediately"
2110
  msgstr "Mandar emails inmediatamente"
2111
 
2112
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:324
2113
  msgid "Send emails once an hour"
2114
  msgstr "Mandar emails una vez a la hora"
2115
 
2116
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:328
2117
  msgid "Send emails once a day"
2118
  msgstr "Mandar emails una vez al dia"
2119
 
2120
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:331
2121
  msgid "Subscriptions"
2122
  msgstr "Suscripciones"
2123
 
2124
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:333
2125
  #, php-format
2126
  msgid ""
2127
  "Use the %s shortcode to allow users to subscribe / unsubscribe to email "
2130
  "Utilize el %s codigo corto para permitir que los usuarios suscriben o darsen "
2131
  "de baja a informes vía correo electrónico."
2132
 
2133
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:338
2134
  msgid "SMTP Override"
2135
  msgstr "Invalidar SMTP"
2136
 
2137
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:342
2138
  msgid ""
2139
  "SMTP Debug. Enable if you are experiencing issues with wp_mail() or if you "
2140
  "use a SMTP plugin for emails."
2142
  "Depurar SMTP. Habilitar si hay erores con wp_mail() o si utiliza un plugin "
2143
  "SMTP para email."
2144
 
2145
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:345
2146
  msgid ""
2147
  "Default email settings. These settings can be individually overridden when "
2148
  "editing emails."
2150
  "Configuraciones predeterminadas para correos electrónicos. Estos ajustes "
2151
  "pueden ser anulado individualmente cuando se edita correos electrónicos."
2152
 
2153
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:346 ../addons/email-
2154
+ #: notices/myCRED-addon-email-notices.php:897
2155
  msgid "Email Settings"
2156
  msgstr "Configuraciones de Correo Electrónico"
2157
 
2158
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:349 ../addons/email-
2159
+ #: notices/myCRED-addon-email-notices.php:1050
2160
  msgid "Senders Name:"
2161
  msgstr "Nombre del Remitente"
2162
 
2163
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:353 ../addons/email-
2164
+ #: notices/myCRED-addon-email-notices.php:1052
2165
  msgid "Senders Email:"
2166
  msgstr "Correo Electrónico del Remitente:"
2167
 
2168
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:357
2169
  msgid "Reply-To:"
2170
  msgstr "Responder-A:"
2171
 
2172
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:361
2173
  msgid "Default Email Content"
2174
  msgstr "Contenido de Correo Electrónico Predefinido"
2175
 
2176
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:365
2177
  msgid "Default email content."
2178
  msgstr "Contenido de correo electrónico predefinido."
2179
 
2180
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:368
2181
  msgid "Default Email Styling"
2182
  msgstr "Estilo de Correo Electrónico Predefinido"
2183
 
2184
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:372
2185
  msgid "Ignored if HTML is not allowed in emails."
2186
  msgstr "Sera ignorado si no se permite HTML en los correos electrónicos."
2187
 
2188
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:716
2189
+ #, php-format
2190
+ msgctxt "Badge Title - Level 1,2,3.."
2191
+ msgid "%s - Level %d"
2192
+ msgstr ""
2193
+
2194
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:806 ../addons/email-
2195
+ #: notices/myCRED-addon-email-notices.php:946
2196
  msgid "Email Subject"
2197
  msgstr "Asunto del Correo Electrónico"
2198
 
2199
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:832
 
 
 
 
2200
  msgid "Not Active"
2201
  msgstr "No esta Activo"
2202
 
2203
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:835
2204
  #, php-format
2205
  msgid "Scheduled:<br /><strong>%1$s</strong>"
2206
  msgstr "Programada:<br /><strong>%1$s</strong>"
2207
 
2208
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:840
2209
  msgid "Active"
2210
  msgstr "Activo"
2211
 
2212
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:842
2213
  #, php-format
2214
  msgid "Active - Last run:<br /><strong>%1$s</strong>"
2215
  msgstr "Activo - Ultima ejecución:<br /><strong>%1$s</strong>"
2216
 
2217
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:852
2218
  msgid "Email is sent when"
2219
  msgstr "el Correo Electrónico se envia cuando"
2220
 
2221
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:854
2222
  msgid "Missing instance for this notice!"
2223
  msgstr "¡Falta una instancia para este aviso!"
2224
 
2225
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:863 ../addons/email-
2226
+ #: notices/myCRED-addon-email-notices.php:865 ../addons/email-notices/myCRED-
2227
+ #: addon-email-notices.php:867
2228
  msgid "Sent To"
2229
  msgstr "Enviado A:"
2230
 
2231
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:863 ../addons/email-
2232
+ #: notices/myCRED-addon-email-notices.php:1016 ../includes/mycred-admin.php:754 ..
2233
+ #: includes/mycred-log.php:633 ../modules/mycred-module-log.php:562
2234
  msgid "User"
2235
  msgstr "Usuario"
2236
 
2237
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:865 ../addons/email-
2238
+ #: notices/myCRED-addon-email-notices.php:1017
2239
  msgid "Administrator"
2240
  msgstr "Administrador"
2241
 
2242
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:867
2243
  msgid "Both Administrator and User"
2244
  msgstr "Tanto Administrador como Usuario"
2245
 
2246
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:877 ../addons/email-
2247
+ #: notices/myCRED-addon-email-notices.php:1034
2248
+ msgid "All types"
2249
+ msgstr ""
2250
+
2251
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:906
2252
  msgid "Available Template Tags"
2253
  msgstr "Etiquetas (tags) de Plantilla Disponibles"
2254
 
2255
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:917
2256
  msgid "Email Header"
2257
  msgstr "Encabezado del Correo Electrónico"
2258
 
2259
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:983
2260
  msgid "Send this email notice when..."
2261
  msgstr "Envia este aviso por correo electrónico cuando..."
2262
 
2263
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1014
2264
  msgid "Recipient:"
2265
  msgstr "Destinatario:"
2266
 
2267
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1018
2268
  msgid "Both"
2269
  msgstr "Ambos"
2270
 
2271
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1022 ..
2272
+ #: addons/gateway/carts/mycred-woocommerce.php:161 ../modules/mycred-module-
2273
+ #: settings.php:632 ../modules/mycred-module-settings.php:651 ../modules/mycred-
2274
+ #: module-settings.php:674
2275
  msgid "Label"
2276
  msgstr "Etiqueta"
2277
 
2278
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1054
2279
  msgid "Reply-To Email:"
2280
  msgstr "Responder-A Correo Electrónico:"
2281
 
2282
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1060
2283
  msgid "Save"
2284
  msgstr "Guardar"
2285
 
2286
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1072
2287
  msgid "CSS Styling"
2288
  msgstr "Estilo CSS"
2289
 
2290
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1088
2291
  msgid "Site Related"
2292
  msgstr "Relacionado al Sitio"
2293
 
2294
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1089
2295
  msgid "Your websites title"
2296
  msgstr "Titulo de tu pagina web"
2297
 
2298
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1090
2299
  msgid "Your websites address"
2300
  msgstr "Dirección de tu pagina web"
2301
 
2302
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1091
2303
  msgid "Your websites tagline (description)"
2304
  msgstr "La descripción de tu sitio web (lema o eslogan)"
2305
 
2306
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1092
2307
  msgid "Your websites admin email"
2308
  msgstr "El correo electrónico de admin para tu pagina web"
2309
 
2310
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1093
2311
  msgid "Total number of blog members"
2312
  msgstr "Número total de miembros del blog"
2313
 
2314
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1097
2315
+ msgid "The users new balance"
2316
+ msgstr ""
2317
+
2318
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1098
2319
+ msgid "The users old balance"
2320
+ msgstr ""
2321
+
2322
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1099
2323
+ msgid "The amount of points gained or lost in this instance"
2324
+ msgstr ""
2325
+
2326
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1100
2327
+ msgid "The log entry"
2328
+ msgstr ""
2329
+
2330
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1175 ../addons/email-
2331
+ #: notices/myCRED-addon-email-notices.php:1178 ../addons/email-notices/myCRED-
2332
+ #: addon-email-notices.php:1184
2333
  msgid "Email Notice Updated."
2334
  msgstr "Aviso atraves de correo electrónico Actualizado."
2335
 
2336
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1180
2337
  msgid "Email Notice Activated"
2338
  msgstr "Notificación atraves de Correo Electrónico Activado"
2339
 
2340
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1181
2341
  msgid "Email Notice Saved"
2342
  msgstr "Aviso por Correo Electrónico Guardado"
2343
 
2344
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1200
2345
  msgid ""
2346
  "Once a notice is \"published\" it becomes active! Select \"Save Draft\" if you "
2347
  "are not yet ready to use this email notice!"
2349
  "¡Una vez que un aviso sea \"publicado\" se activa! ¡Elige \"Guardar Borrador\" "
2350
  "si aun no estás listo para utilizar este aviso por email!"
2351
 
2352
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1202
2353
  #, php-format
2354
  msgid "This notice will become active on:<br /><strong>%1$s</strong>"
2355
  msgstr "Este aviso se activará en:<br /><strong>%1$s</strong>"
2356
 
2357
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1204
2358
  msgid "This email notice is active."
2359
  msgstr "Esta notificación de correo electrónico esta activada."
2360
 
2361
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1215
2362
  msgid "Settings saved."
2363
  msgstr "Configuraciones Guardadas"
2364
 
2365
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1263
2366
  msgid "Unsubscribe"
2367
  msgstr "Cancelar la Suscripción"
2368
 
2369
+ #: ../addons/email-notices/myCRED-addon-email-notices.php:1284
2370
  msgid "There are no email notifications yet."
2371
  msgstr "Todavía no hay notificaciones de email."
2372
 
 
 
 
 
2373
  #: ../addons/gateway/carts/mycred-marketpress.php:147 ../addons/gateway/event-
2374
  #: booking/mycred-eventespresso3.php:277 ../addons/gateway/event-booking/mycred-
2375
  #: eventespresso3.php:301 ../addons/gateway/event-booking/mycred-eventsmanager.
2376
+ #: php:412 ../includes/mycred-admin.php:597 ../includes/mycred-admin.php:755
2377
  msgid "Current Balance"
2378
  msgstr "Saldo Actual"
2379
 
2414
  msgstr "Pagado"
2415
 
2416
  #: ../addons/gateway/carts/mycred-marketpress.php:250 ..
2417
+ #: addons/gateway/carts/mycred-woocommerce.php:34 ../includes/mycred-network.php:
2418
  #: 50 ../includes/mycred-network.php:51
2419
  msgid "myCRED"
2420
  msgstr "myCRED"
2421
 
2422
+ #: ../addons/gateway/carts/mycred-marketpress.php:356
2423
  msgid "%_singular% Balance"
2424
  msgstr "%_singular% Saldo"
2425
 
2426
+ #: ../addons/gateway/carts/mycred-marketpress.php:359 ..
2427
  #: addons/gateway/carts/mycred-wpecommerce.php:27
2428
  #, php-format
2429
  msgid "Payment for Order: #%order_id%"
2430
  msgstr "Pago por el Pedido"
2431
 
2432
+ #: ../addons/gateway/carts/mycred-marketpress.php:362
2433
  msgid "Product Sale: %post_title%"
2434
  msgstr "Venta de Producto: "
2435
 
2436
+ #: ../addons/gateway/carts/mycred-marketpress.php:363
2437
  msgid "Pay using your account balance."
2438
  msgstr "Paga usando el saldo de su cuenta."
2439
 
2440
+ #: ../addons/gateway/carts/mycred-marketpress.php:364
2441
  #, php-format
2442
  msgid ""
2443
  "TOTAL amount has been deducted from your account. Your current balance is: "
2444
  "%balance_f%"
2445
  msgstr "Cantidad TOTAL ha sido restado de su cuenta. Su saldo actual es:% balance_f%"
2446
 
2447
+ #: ../addons/gateway/carts/mycred-marketpress.php:365 ..
2448
+ #: addons/gateway/carts/mycred-woocommerce.php:259
2449
  msgid "Insufficient funds."
2450
  msgstr "Fondos Insuficientes."
2451
 
2452
+ #: ../addons/gateway/carts/mycred-marketpress.php:366
2453
  msgid ""
2454
  "You must be logged in to pay with %_plural%. Please <a "
2455
  "href=\"%login_url_here%\">login</a>."
2457
  "Debes haber iniciado sesión para pagar con %_plural%. Por favor <a "
2458
  "href=\"%login_url_here%\">identifícate</a>."
2459
 
2460
+ #: ../addons/gateway/carts/mycred-marketpress.php:373
2461
  #, php-format
2462
  msgid ""
2463
  "Let your users pay for items in their shopping cart using their %s Account. "
2468
  "usando su %s Cuenta. ¡Nota! Esta pasarela de pago requiere que sus usuarios "
2469
  "esten ingresado para realizar una compra. "
2470
 
2471
+ #: ../addons/gateway/carts/mycred-marketpress.php:376
2472
  msgid "Method Name"
2473
  msgstr "Nombre del Método"
2474
 
2475
+ #: ../addons/gateway/carts/mycred-marketpress.php:378
2476
  msgid ""
2477
  "Enter a public name for this payment method that is displayed to users - No "
2478
  "HTML"
2480
  "Introduzca el nombre público para este método de pago que se va a mostrar a "
2481
  "los usuarios - sin HTML"
2482
 
2483
+ #: ../addons/gateway/carts/mycred-marketpress.php:383
2484
  msgid "Gateway Logo URL"
2485
  msgstr "URL del Logotipo de la Pasarela de Pago"
2486
 
2487
+ #: ../addons/gateway/carts/mycred-marketpress.php:404 ..
2488
+ #: addons/gateway/carts/mycred-woocommerce.php:137
2489
  #, php-format
2490
  msgid "How much is 1 %_singular% worth in %currency%?"
2491
  msgstr "¿Cuanto vale un 1 %_singular% en %currency%?"
2492
 
2493
+ #: ../addons/gateway/carts/mycred-marketpress.php:409 ..
2494
+ #: addons/gateway/carts/mycred-woocommerce.php:142 ..
2495
+ #: addons/gateway/carts/mycred-wpecommerce.php:360 ../addons/gateway/event-
2496
  #: booking/mycred-eventespresso3.php:450 ../addons/gateway/event-booking/mycred-
2497
  #: eventsmanager-pro.php:540 ../addons/gateway/event-booking/mycred-eventsmanager.
2498
+ #: php:578 ../includes/mycred-shortcodes.php:976
2499
  msgid "Exchange Rate"
2500
  msgstr "Tipo de Cambio"
2501
 
2502
+ #: ../addons/gateway/carts/mycred-marketpress.php:418 ..
2503
+ #: addons/gateway/carts/mycred-woocommerce.php:170 ..
2504
+ #: addons/gateway/carts/mycred-wpecommerce.php:364 ../addons/gateway/event-
2505
  #: booking/mycred-eventespresso3.php:462 ../addons/gateway/event-booking/mycred-
2506
  #: eventsmanager-pro.php:531 ../addons/gateway/event-booking/mycred-eventsmanager.
2507
  #: php:569
2508
  msgid "Profit Sharing"
2509
  msgstr "Reparto de Ganancias"
2510
 
2511
+ #: ../addons/gateway/carts/mycred-marketpress.php:421
2512
  msgid "Percentage"
2513
  msgstr "Porcentaje"
2514
 
2515
+ #: ../addons/gateway/carts/mycred-marketpress.php:423 ..
2516
+ #: addons/gateway/carts/mycred-woocommerce.php:172 ..
2517
+ #: addons/gateway/carts/mycred-wpecommerce.php:368 ../addons/gateway/event-
2518
  #: booking/mycred-eventespresso3.php:464 ../addons/gateway/event-booking/mycred-
2519
  #: eventsmanager-pro.php:534 ../addons/gateway/event-booking/mycred-eventsmanager.
2520
  #: php:572
2523
  "Opción de compartir las ventas con el dueño del producto. Utilice cero para "
2524
  "inhabilitar."
2525
 
2526
+ #: ../addons/gateway/carts/mycred-marketpress.php:435 ..
2527
+ #: addons/gateway/carts/mycred-wpecommerce.php:375 ../addons/gateway/event-
2528
  #: booking/mycred-eventsmanager-pro.php:607 ../addons/gateway/event-
2529
  #: booking/mycred-eventsmanager.php:626
2530
  msgid "Messages"
2531
  msgstr "Mensajes"
2532
 
2533
+ #: ../addons/gateway/carts/mycred-marketpress.php:438 ..
2534
+ #: addons/gateway/carts/mycred-wpecommerce.php:386 ../addons/gateway/event-
2535
  #: booking/mycred-eventsmanager-pro.php:617 ../addons/gateway/event-
2536
+ #: booking/mycred-eventsmanager.php:636 ../plugins/mycred-hook-buddypress.php:247
2537
  msgid "Insufficient Funds"
2538
  msgstr "Fondos Insuficientes"
2539
 
2540
+ #: ../addons/gateway/carts/mycred-marketpress.php:440
2541
  msgid "Message to show when the user can not use this gateway."
2542
  msgstr "Monstrar mensaje cuando el usuario no puede usar esta pasarela de pago."
2543
 
2544
+ #: ../addons/gateway/carts/mycred-marketpress.php:446 ..
2545
+ #: addons/gateway/carts/mycred-wpecommerce.php:382 ../addons/gateway/event-
2546
  #: booking/mycred-eventespresso3.php:490
2547
  msgid "Visitors"
2548
  msgstr "Visitantes"
2549
 
2550
+ #: ../addons/gateway/carts/mycred-marketpress.php:448
2551
  msgid "Message to show to buyers that are not logged in."
2552
  msgstr "Monstrar mensaje a los compradores que no han iniciado la sesión."
2553
 
2554
+ #: ../addons/gateway/carts/mycred-marketpress.php:454
2555
  msgid "User Instructions"
2556
  msgstr "Instrucciones del Usuario"
2557
 
2558
+ #: ../addons/gateway/carts/mycred-marketpress.php:456
2559
  msgid "Information to show users before payment."
2560
  msgstr "Mostrar esta información a los usuarios antes del pago."
2561
 
2562
+ #: ../addons/gateway/carts/mycred-marketpress.php:462
2563
  msgid "Confirmation Information"
2564
  msgstr "Informe de Confirmación"
2565
 
2566
+ #: ../addons/gateway/carts/mycred-marketpress.php:464
2567
  msgid "Information to display on the order confirmation page. - HTML allowed"
2568
  msgstr ""
2569
  "Información que se mostrará en la página de confirmación del pedido - se "
2570
  "permite HTML."
2571
 
2572
+ #: ../addons/gateway/carts/mycred-marketpress.php:470
2573
  msgid "Order Confirmation Email"
2574
  msgstr "Email de Confirmación del Pedido"
2575
 
2576
+ #: ../addons/gateway/carts/mycred-marketpress.php:472
2577
  #, php-format
2578
  msgid ""
2579
  "This is the email text to send to those who have made %s checkouts. It "
2587
  "pedido: ORDERID, ORDERINFO, SHIPPINGINFO, PAYMENTINFO, TOTAL, TRACKINGURL. "
2588
  "No se permite el uso de HTML."
2589
 
2590
+ #: ../addons/gateway/carts/mycred-woocommerce.php:35
2591
  msgid "Let users pay using their myCRED balance."
2592
  msgstr "Permite que los usuarios paguen mediante su saldo myCRED."
2593
 
2594
+ #: ../addons/gateway/carts/mycred-woocommerce.php:86
2595
  msgid "Enable/Disable"
2596
  msgstr "Activar/Desactivar"
2597
 
2598
+ #: ../addons/gateway/carts/mycred-woocommerce.php:88
2599
  msgid "Enable myCRED Payment"
2600
  msgstr "Activar Pago myCRED"
2601
 
2602
+ #: ../addons/gateway/carts/mycred-woocommerce.php:90
2603
  msgid ""
2604
  "Users who are not logged in or excluded from using myCRED will not have "
2605
  "access to this gateway!"
2607
  "¡Los usuarios que no estan ingresado o los que han sido excluido de utilizar "
2608
  "myCRED no tendran acceso a esta pasarela de pago!"
2609
 
2610
+ #: ../addons/gateway/carts/mycred-woocommerce.php:95
2611
  msgid "Title to show for this payment option."
2612
  msgstr "Mostrar este titulo para esta opción de pago."
2613
 
2614
+ #: ../addons/gateway/carts/mycred-woocommerce.php:96
2615
  msgid "Pay with myCRED"
2616
  msgstr "Paga con myCRED"
2617
 
2618
  #. not sure if it is "message to customers" or "message from customers"? current translation is "message to customers"
2619
+ #: ../addons/gateway/carts/mycred-woocommerce.php:100
2620
  msgid "Customer Message"
2621
  msgstr "Mensaje a los Clientes"
2622
 
2623
+ #: ../addons/gateway/carts/mycred-woocommerce.php:111 ..
2624
+ #: addons/gateway/carts/mycred-woocommerce.php:183
2625
+ msgid "Refund Log Template"
2626
+ msgstr "Plantilla de Registro de Reembolsos"
2627
+
2628
+ #: ../addons/gateway/carts/mycred-woocommerce.php:123
2629
  msgid "Select the point type users can use to pay."
2630
  msgstr "Elige el clase de punto que los usuarios pueden utilizar para realizar pagos."
2631
 
2632
+ #: ../addons/gateway/carts/mycred-woocommerce.php:149
2633
  msgid "Show Total"
2634
  msgstr "Mostrar Total"
2635
 
2636
+ #: ../addons/gateway/carts/mycred-woocommerce.php:151
2637
  msgid "Show the final price in %_plural% ."
2638
  msgstr "Mostrar el precio final en %_plural%."
2639
 
2640
+ #: ../addons/gateway/carts/mycred-woocommerce.php:154
2641
  msgid "Show in Cart"
2642
  msgstr "Mostrar en Carrito"
2643
 
2644
+ #: ../addons/gateway/carts/mycred-woocommerce.php:155
2645
  msgid "Show on Checkout Page"
2646
  msgstr "Mostrar en la página de pago"
2647
 
2648
+ #: ../addons/gateway/carts/mycred-woocommerce.php:156
2649
  msgid "Show in Cart and on Checkout Page"
2650
  msgstr "Mostrar en el Carrito y en la página de pago"
2651
 
2652
+ #: ../addons/gateway/carts/mycred-woocommerce.php:163
2653
  msgid "Order Total in %_plural%"
2654
  msgstr "Total del Pedido en %_plural%"
2655
 
2656
+ #: ../addons/gateway/carts/mycred-woocommerce.php:179
2657
  msgid "Log entry template for profit sharing."
2658
  msgstr "Plantilla para entradas de registro para el reparto de ganancias."
2659
 
2660
+ #: ../addons/gateway/carts/mycred-woocommerce.php:185
2661
+ msgid "Log entry template for refunds of profit shares."
2662
+ msgstr "Plantilla de entrada de registro para reembolsos de reparto de ganancias."
2663
+
2664
+ #: ../addons/gateway/carts/mycred-woocommerce.php:211
2665
  msgid "myCRED Payment"
2666
  msgstr "Pago myCRED"
2667
 
2668
+ #: ../addons/gateway/carts/mycred-woocommerce.php:212
2669
  #, php-format
2670
  msgid ""
2671
  "Allows users to pay using their myCRED %_singular% balance. Please note that "
2676
  "ten en cuenta que los usuarios con fondos insuficientes y los usuarios que "
2677
  "no han iniciado sesión no verán esta pasarela de pago en la página de pago."
2678
 
2679
+ #: ../addons/gateway/carts/mycred-woocommerce.php:233
2680
  msgid "You must be logged in to pay with %_plural%"
2681
  msgstr "Debes haber iniciado sesión para pagar con %_plural%"
2682
 
2683
+ #: ../addons/gateway/carts/mycred-woocommerce.php:239
2684
  msgid "You can not use this gateway. Please try a different payment option."
2685
  msgstr ""
2686
  "No puede usar esta pasarela de pago. Por favor prueba una opción de pago "
2687
  "diferente."
2688
 
2689
+ #: ../addons/gateway/carts/mycred-woocommerce.php:396
2690
  msgid "Your account has successfully been charged."
2691
  msgstr "Su cuenta ha sido cambiado con éxito."
2692
 
2693
+ #: ../addons/gateway/carts/mycred-woocommerce.php:708 ..
2694
  #: addons/gateway/carts/mycred-wpecommerce.php:131
2695
  msgid "Your current balance"
2696
  msgstr "Tu saldo actual"
2715
  msgid "You can not use this gateway."
2716
  msgstr "No puedes usar esta pasarela de pago."
2717
 
2718
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:344
2719
  msgid "Log Template for Payments"
2720
  msgstr "Plantilla de Registro para Pagos"
2721
 
2722
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:361
2723
  #, php-format
2724
  msgid "How much is 1 %s worth in %s"
2725
  msgstr "Cuanto vale 1 %s en %s"
2726
 
2727
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:378
2728
  msgid "Instructions"
2729
  msgstr "Instrucciones"
2730
 
2731
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:379
2732
  msgid ""
2733
  "Optional instructions to show users when selecting this gateway. Leave empty "
2734
  "to hide."
2736
  "Instrucciones opcionales para mostrar a los usuarios cuando se selecciona "
2737
  "esta pasarela. Deje el campo vacío para ocultarlo."
2738
 
2739
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:383
2740
  msgid "Message to show visitors who are not logged in."
2741
  msgstr "Muestra mensaje a los visitantes que no han iniciado sesión."
2742
 
2743
+ #: ../addons/gateway/carts/mycred-wpecommerce.php:387
2744
  msgid ""
2745
  "Message to show when users does not have enough %plural% to pay using this "
2746
  "gateway."
2799
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:428 ..
2800
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:593 ..
2801
  #: addons/gateway/event-booking/mycred-eventsmanager.php:619 ../addons/sell-
2802
+ #: content/myCRED-addon-sell-content.php:459 ../addons/sell-content/myCRED-addon-
2803
+ #: sell-content.php:686 ../addons/transfer/includes/mycred-transfer-widgets.php:130
2804
  msgid "Button Label"
2805
  msgstr "Eqiqueta Asignada al Botón"
2806
 
2813
  #: addons/gateway/event-booking/mycred-eventsmanager-pro.php:142 ..
2814
  #: addons/gateway/event-booking/mycred-eventsmanager.php:336 ..
2815
  #: addons/gateway/event-booking/mycred-eventsmanager.php:339 ../addons/sell-
2816
+ #: content/myCRED-addon-sell-content.php:450 ../addons/sell-content/myCRED-addon-
2817
+ #: sell-content.php:682
2818
  msgid "Price"
2819
  msgstr "Precio"
2820
 
2821
+ #: ../addons/gateway/event-booking/mycred-eventespresso3.php:455
2822
+ msgid "Important!"
2823
+ msgstr "¡Importante!"
2824
+
2825
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:457
2826
  msgid ""
2827
  "You can disable purchases using this gateway by adding a custom Event Meta: "
2840
  msgstr "Registro"
2841
 
2842
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:470 ..
2843
+ #: includes/mycred-admin.php:718 ../includes/mycred-admin.php:760
2844
  msgid "Log Entry"
2845
  msgstr "Entrada de Registro"
2846
 
2847
  #: ../addons/gateway/event-booking/mycred-eventespresso3.php:477 ../addons/sell-
2848
+ #: content/myCRED-addon-sell-content.php:473
2849
  msgid "Templates"
2850
  msgstr "Plantillas"
2851
 
2898
  msgid "Pay"
2899
  msgstr "Pagar"
2900
 
2901
+ #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:41
2902
+ msgid "%plural% Cost"
2903
+ msgstr "%plural% Coste"
2904
+
2905
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:44 ..
2906
  #: addons/gateway/event-booking/mycred-eventsmanager.php:39
2907
  msgid "Thank you for your payment!"
2922
  msgid "Spaces"
2923
  msgstr "Espacios"
2924
 
2925
+ #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:193
2926
+ msgid "Your Balance"
2927
+ msgstr "Su Saldo"
2928
+
2929
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:258
2930
  msgid "You can not pay using this gateway."
2931
  msgstr "No puede usar esta pasarela de pago."
2935
  msgstr "Rechazar"
2936
 
2937
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:397 ..
2938
+ #: modules/mycred-module-log.php:522 ../modules/mycred-module-settings.php:636 ..
2939
+ #: modules/mycred-module-settings.php:655
2940
  msgid "Delete"
2941
  msgstr "Borrar"
2942
 
3016
  msgid "The button label for payments. No HTML allowed!"
3017
  msgstr "La etiqueta para el botón de pagos. ¡No se permite HTML!"
3018
 
3019
+ #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:600
3020
+ msgid "Cart & Checkout Cost"
3021
+ msgstr "Coste de Carrito y Página de pago"
3022
+
3023
+ #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:603
3024
+ msgid "Label for cost in %plural%"
3025
+ msgstr "Etiqueta para coste en %plural%"
3026
+
3027
+ #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:610 ..
3028
+ #: addons/gateway/event-booking/mycred-eventsmanager.php:629
3029
+ msgid "Successful Payments"
3030
  msgstr "Compras Finalizadas con Exito"
3031
 
3032
  #: ../addons/gateway/event-booking/mycred-eventsmanager-pro.php:613 ..
3058
  "reserva. Utilice cero para no ofrecer reembolso ninguno. No se reembolsa "
3059
  "reservas \"Rechazadas\""
3060
 
3061
+ #: ../addons/notifications/myCRED-addon-notifications.php:193
3062
  msgid "Notifications"
3063
  msgstr "Notificaciones"
3064
 
3065
+ #: ../addons/notifications/myCRED-addon-notifications.php:195
3066
  msgid "Styling"
3067
  msgstr "Diseño/Estilo"
3068
 
3069
+ #: ../addons/notifications/myCRED-addon-notifications.php:198
3070
  msgid "Use the included CSS Styling for notifications."
3071
  msgstr "Utilice el Estilo CSS incluido para notificaciones."
3072
 
3073
+ #: ../addons/notifications/myCRED-addon-notifications.php:201 ..
3074
+ #: addons/ranks/myCRED-addon-ranks.php:1417 ../addons/ranks/myCRED-addon-ranks.
3075
+ #: php:1463 ../modules/mycred-module-buddypress.php:428
3076
  msgid "Template"
3077
  msgstr "Plantilla"
3078
 
3079
+ #: ../addons/notifications/myCRED-addon-notifications.php:205
3080
  #, php-format
3081
  msgid "Use %entry% to show the log entry in the notice and %amount% for the amount."
3082
  msgstr ""
3083
  "Utiliza %entry% para mostrar la entrada de registro en el aviso y %amount% "
3084
  "para la cantidad."
3085
 
3086
+ #: ../addons/notifications/myCRED-addon-notifications.php:205
3087
+ msgid "Restore to default"
3088
+ msgstr ""
3089
+
3090
+ #: ../addons/notifications/myCRED-addon-notifications.php:208
3091
  msgid "Transient Lifespan"
3092
  msgstr "Duración de Transitorio"
3093
 
3094
+ #: ../addons/notifications/myCRED-addon-notifications.php:212
3095
  msgid ""
3096
  "The number of days a users notification is saved before being automatically "
3097
  "deleted."
3099
  "Cuantos dias una notificación del usuario se guarda antes de automáticamente "
3100
  "borrarse."
3101
 
3102
+ #: ../addons/notifications/myCRED-addon-notifications.php:215
3103
  msgid "Duration"
3104
  msgstr "Duracion"
3105
 
3106
+ #: ../addons/notifications/myCRED-addon-notifications.php:219
3107
  msgid ""
3108
+ "Number of seconds before a notice is automatically removed after being shown "
3109
+ "to user. Use zero to disable."
 
3110
  msgstr ""
 
 
 
3111
 
3112
+ #: ../addons/ranks/myCRED-addon-ranks.php:211 ../addons/ranks/myCRED-addon-ranks.
3113
+ #: php:212 ../addons/ranks/myCRED-addon-ranks.php:440 ../addons/ranks/myCRED-
3114
+ #: addon-ranks.php:449 ../addons/ranks/myCRED-addon-ranks.php:455 ..
3115
+ #: addons/ranks/myCRED-addon-ranks.php:831 ../addons/ranks/myCRED-addon-ranks.
3116
+ #: php:1299 ../addons/ranks/myCRED-addon-ranks.php:1590
3117
+ msgid "Ranks"
3118
+ msgstr "Rangos"
3119
+
3120
+ #: ../addons/ranks/myCRED-addon-ranks.php:422
3121
  msgid "Warning! All ranks will be deleted! This can not be undone!"
3122
  msgstr "¡Advertencia! ¡Todos los rangos seran borrados! ¡No se puede deshacer esto!"
3123
 
3124
+ #: ../addons/ranks/myCRED-addon-ranks.php:423
3125
  msgid "Are you sure you want to re-assign user ranks?"
3126
  msgstr "Esta seguro que quieres reasignar rangos de los usuarios?"
3127
 
3128
+ #: ../addons/ranks/myCRED-addon-ranks.php:438
3129
+ #, php-format
3130
+ msgid "Ranks for %s"
3131
+ msgstr ""
 
3132
 
3133
+ #: ../addons/ranks/myCRED-addon-ranks.php:444 ../addons/ranks/myCRED-addon-ranks.
3134
+ #: php:831
 
3135
  msgid "Rank"
3136
  msgstr "Rango"
3137
 
3138
+ #: ../addons/ranks/myCRED-addon-ranks.php:446
3139
  msgid "Add New Rank"
3140
  msgstr "Añadir Nuevo Rango"
3141
 
3142
+ #: ../addons/ranks/myCRED-addon-ranks.php:447
3143
  msgid "Edit Rank"
3144
  msgstr "Editar Rango"
3145
 
3146
+ #: ../addons/ranks/myCRED-addon-ranks.php:448
3147
  msgid "New Rank"
3148
  msgstr "Nuevo Rango"
3149
 
3150
+ #: ../addons/ranks/myCRED-addon-ranks.php:450
3151
  msgid "View Rank"
3152
  msgstr "Ver Rango"
3153
 
3154
+ #: ../addons/ranks/myCRED-addon-ranks.php:451
3155
  msgid "Search Ranks"
3156
  msgstr "Búsqueda de Rangos"
3157
 
3158
+ #: ../addons/ranks/myCRED-addon-ranks.php:452
3159
  msgid "No ranks found"
3160
  msgstr "Ningun rango encontrado"
3161
 
3162
+ #: ../addons/ranks/myCRED-addon-ranks.php:453
3163
  msgid "No ranks found in Trash"
3164
  msgstr "Ningun rango encontrao el la papelera"
3165
 
3166
+ #: ../addons/ranks/myCRED-addon-ranks.php:537
3167
  #, php-format
3168
  msgid "Completed - Total of %d users effected"
3169
  msgstr "Completado - Un total %d usuarios afectados"
3170
 
3171
+ #: ../addons/ranks/myCRED-addon-ranks.php:975 ../addons/ranks/myCRED-addon-ranks.
3172
+ #: php:976 ../addons/ranks/myCRED-addon-ranks.php:977 ../addons/ranks/myCRED-
3173
+ #: addon-ranks.php:978 ../addons/ranks/myCRED-addon-ranks.php:979 ..
3174
+ #: addons/ranks/myCRED-addon-ranks.php:980 ../addons/ranks/myCRED-addon-ranks.
3175
+ #: php:983 ../addons/ranks/myCRED-addon-ranks.php:984
 
 
3176
  msgid "Rank Updated."
3177
  msgstr "Rango Actualizado."
3178
 
3179
+ #: ../addons/ranks/myCRED-addon-ranks.php:981
3180
  msgid "Rank Enabled"
3181
  msgstr "Rango Habilitado"
3182
 
3183
+ #: ../addons/ranks/myCRED-addon-ranks.php:982
3184
  msgid "Rank Saved"
3185
  msgstr "Rango Guardado"
3186
 
3187
+ #: ../addons/ranks/myCRED-addon-ranks.php:1019
3188
+ #, php-format
3189
+ msgid "<strong>Rank:</strong> %s"
3190
+ msgstr ""
3191
+
3192
+ #: ../addons/ranks/myCRED-addon-ranks.php:1035 ../addons/ranks/myCRED-addon-ranks.
3193
+ #: php:1116
3194
  msgid "Rank Title"
3195
  msgstr "Titulo de Rango"
3196
 
3197
+ #: ../addons/ranks/myCRED-addon-ranks.php:1036
3198
  msgid "Logo"
3199
  msgstr "Logotipo"
3200
 
3201
+ #: ../addons/ranks/myCRED-addon-ranks.php:1037
3202
  msgid "Requirement"
3203
  msgstr "Requisito"
3204
 
3205
+ #: ../addons/ranks/myCRED-addon-ranks.php:1062
3206
  msgid "No Logo Set"
3207
  msgstr "No hay Logotipo Configurado"
3208
 
3209
+ #: ../addons/ranks/myCRED-addon-ranks.php:1077 ../addons/ranks/myCRED-addon-ranks.
3210
+ #: php:1082
3211
  msgid "Any Value"
3212
  msgstr "Cualquier Valor"
3213
 
3214
+ #: ../addons/ranks/myCRED-addon-ranks.php:1084
3215
  msgid "Maximum %plural%"
3216
  msgstr "Maximo %plural%"
3217
 
3218
+ #: ../addons/ranks/myCRED-addon-ranks.php:1129
3219
  msgid "Rank Settings"
3220
  msgstr "Configuración de Rango"
3221
 
3222
+ #: ../addons/ranks/myCRED-addon-ranks.php:1182
3223
  msgid "Minimum %plural% to reach this rank"
3224
  msgstr "Minimo %plural% para llegar a este rango"
3225
 
3226
+ #: ../addons/ranks/myCRED-addon-ranks.php:1186
3227
  msgid "Maximum %plural% to be included in this rank"
3228
  msgstr "Maximo %plural% para ser incluido en este rango"
3229
 
3230
+ #: ../addons/ranks/myCRED-addon-ranks.php:1204
3231
  msgid "All Published Ranks"
3232
  msgstr "Todos los Rangos Publicados"
3233
 
3234
+ #: ../addons/ranks/myCRED-addon-ranks.php:1214 ../addons/ranks/myCRED-addon-ranks.
3235
+ #: php:1216
3236
  msgid "Not Set"
3237
  msgstr "No Configurado"
3238
 
3239
+ #: ../addons/ranks/myCRED-addon-ranks.php:1222
3240
  msgid "No Ranks found"
3241
  msgstr "Ningun rango encontrado"
3242
 
3243
+ #: ../addons/ranks/myCRED-addon-ranks.php:1304
3244
  msgid "Rank Features"
3245
  msgstr "Caracteristicas de los Rangos"
3246
 
3247
+ #: ../addons/ranks/myCRED-addon-ranks.php:1308
3248
  msgid "%plural% requirement"
3249
  msgstr "%plural% requisito"
3250
 
3251
+ #: ../addons/ranks/myCRED-addon-ranks.php:1309
3252
  msgid "Featured Image (Logo)"
3253
  msgstr "Imagen Principal (Logotipo)"
3254
 
3255
+ #: ../addons/ranks/myCRED-addon-ranks.php:1311
3256
  msgid "Content"
3257
  msgstr "Contenido"
3258
 
3259
+ #: ../addons/ranks/myCRED-addon-ranks.php:1313
3260
  msgid "Excerpt"
3261
  msgstr "Extracto"
3262
 
3263
+ #: ../addons/ranks/myCRED-addon-ranks.php:1315
3264
  msgid "Comments"
3265
  msgstr "Comentario"
3266
 
3267
+ #: ../addons/ranks/myCRED-addon-ranks.php:1317
3268
  msgid "Page Attributes"
3269
  msgstr "Atributos de Página"
3270
 
3271
+ #: ../addons/ranks/myCRED-addon-ranks.php:1319
3272
  msgid "Custom Fields"
3273
  msgstr "Campo Personalizado"
3274
 
3275
+ #: ../addons/ranks/myCRED-addon-ranks.php:1323
3276
  msgid "Public"
3277
  msgstr "Público"
3278
 
3279
  #. This is not clear, especially the second sentence (fragment)!
3280
+ #: ../addons/ranks/myCRED-addon-ranks.php:1327
3281
  msgid ""
3282
  "If you want to create a template archive for each rank, you must select to "
3283
  "have ranks public. Defaults to disabled."
3285
  "Si desea crear un archivo de plantilla para cada rango, debe seleccionar que "
3286
  "los rangos sean público. Los valores predeterminados desactivado."
3287
 
3288
+ #: ../addons/ranks/myCRED-addon-ranks.php:1330
3289
+ msgid "Archive URL"
3290
+ msgstr "URL del Archivo"
3291
+
3292
+ #: ../addons/ranks/myCRED-addon-ranks.php:1334
3293
+ msgid "Ignored if Ranks are not public"
3294
+ msgstr "Sera Ingnorado si los Rangos no son Pulicos"
3295
+
3296
+ #. not sure if this is order, as in ordering pizza or order as in rank, organization
3297
+ #: ../addons/ranks/myCRED-addon-ranks.php:1337
3298
+ msgid "Display Order"
3299
+ msgstr "Orden de Visualización"
3300
+
3301
+ #: ../addons/ranks/myCRED-addon-ranks.php:1345
3302
+ msgid "Ascending - Lowest rank to highest"
3303
+ msgstr "Ascendente - Rango más bajo a lo más alto"
3304
+
3305
+ #: ../addons/ranks/myCRED-addon-ranks.php:1346
3306
+ msgid "Descending - Highest rank to lowest"
3307
+ msgstr "Descendiente - Rango más alto al más bajo"
3308
+
3309
+ #: ../addons/ranks/myCRED-addon-ranks.php:1357
3310
+ msgid ""
3311
+ "Select in what order ranks should be displayed in your admin area and/or "
3312
+ "front if ranks are \"Public\""
3313
+ msgstr ""
3314
+ "Elige en que orden se debe mostrar los rangos en tu area de administrador "
3315
+ "y/o en el frente si los rangos son \"Público\""
3316
+
3317
+ #: ../addons/ranks/myCRED-addon-ranks.php:1363
3318
  msgid "Rank Basis"
3319
  msgstr "Base de Rango"
3320
 
3321
+ #: ../addons/ranks/myCRED-addon-ranks.php:1366
3322
  msgid "Users are ranked according to their current balance."
3323
  msgstr "Los usuarios se clasifican según su saldo actual."
3324
 
3325
+ #: ../addons/ranks/myCRED-addon-ranks.php:1369
3326
  msgid ""
3327
  "Users are ranked according to the total amount of %_plural% they have "
3328
  "accumulated."
3330
  "Los usuarios se clasifican según la cantidad total de %_plural% que han "
3331
  "acumulado."
3332
 
3333
+ #: ../addons/ranks/myCRED-addon-ranks.php:1373 ../addons/ranks/myCRED-addon-ranks.
3334
+ #: php:1378
3335
  msgid "Calculate Totals"
3336
  msgstr "Calcular Totales"
3337
 
3338
+ #: ../addons/ranks/myCRED-addon-ranks.php:1376
3339
  msgid ""
3340
+ "Use this button to calculate or recalculate your users totals. If not used, "
3341
  "the users current balance will be used as a starting point."
3342
  msgstr ""
 
 
 
3343
 
3344
+ #: ../addons/ranks/myCRED-addon-ranks.php:1376
3345
  msgid ""
3346
  "Once a users total has been calculated, they will be assigned to their "
3347
  "appropriate roles. For this reason, it is highly recommended that you first "
3351
  "corespondientes seran asignados. ¡Por esta razón, se recomienda altamente "
3352
  "que primero configures los rangos!"
3353
 
3354
+ #: ../addons/ranks/myCRED-addon-ranks.php:1377
3355
  msgid ""
3356
  "Depending on your log size and number of users this process may take a while."
3357
  " Please do not leave, click \"Update Settings\" or re-fresh this page until "
3362
  "\"Actualizar Configuraciones\" o refrescar la pagina hasta que se haya "
3363
  "completado!"
3364
 
3365
+ #: ../addons/ranks/myCRED-addon-ranks.php:1394 ../addons/ranks/myCRED-addon-ranks.
3366
+ #: php:1440 ../modules/mycred-module-buddypress.php:391
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3367
  msgid "Do not show."
3368
  msgstr "No mostrar."
3369
 
3370
+ #: ../addons/ranks/myCRED-addon-ranks.php:1395
3371
  msgid "Include in Profile Header."
3372
  msgstr "Incluir en Encabezado del Perfil"
3373
 
3374
+ #: ../addons/ranks/myCRED-addon-ranks.php:1397
3375
  msgid "Include under the \"Profile\" tab and Profile Header."
3376
  msgstr "Incluir bajo la pestanã \"Perfil\" y Encabezado de Perfil."
3377
 
3378
+ #: ../addons/ranks/myCRED-addon-ranks.php:1402
3379
  msgid "Rank in BuddyPress"
3380
  msgstr "Rango en BuddyPress"
3381
 
3382
+ #: ../addons/ranks/myCRED-addon-ranks.php:1419 ../addons/ranks/myCRED-addon-ranks.
3383
+ #: php:1465
3384
+ #, php-format
3385
+ msgid ""
3386
+ "Template to use when showing a users Rank in BuddyPress. Use %rank_title% "
3387
+ "for the title and %rank_logo% to show the rank logo. HTML is allowed."
3388
+ msgstr ""
3389
+
3390
+ #: ../addons/ranks/myCRED-addon-ranks.php:1441
3391
+ msgid "Include in Topic Replies"
3392
+ msgstr ""
3393
+
3394
+ #: ../addons/ranks/myCRED-addon-ranks.php:1443
3395
+ msgid "Include in Topic Replies and Profile"
3396
+ msgstr ""
3397
+
3398
+ #: ../addons/ranks/myCRED-addon-ranks.php:1448
3399
+ msgid "Rank in bbPress"
3400
+ msgstr ""
3401
+
3402
+ #: ../addons/ranks/myCRED-addon-ranks.php:1528
3403
  msgid "Script Communication Error"
3404
  msgstr "Error del Script de Comunicación"
3405
 
3406
+ #: ../addons/ranks/myCRED-addon-ranks.php:1593 ../modules/mycred-module-settings.
3407
+ #: php:596
3408
+ msgid "User Meta Key"
3409
+ msgstr "Clave Meta del Usuario"
3410
 
3411
+ #: ../addons/ranks/myCRED-addon-ranks.php:1597
3412
  msgid "No. of ranks"
3413
  msgstr "Numero de Rangos"
3414
 
3415
+ #: ../addons/ranks/myCRED-addon-ranks.php:1602
3416
  msgid "Remove All Ranks"
3417
  msgstr "Quitar todos los Rangos"
3418
 
3419
+ #: ../addons/ranks/myCRED-addon-ranks.php:1602
3420
  msgid "Assign Ranks to Users"
3421
  msgstr "Asignar Rango a los Usuarios"
3422
 
3423
+ #: ../addons/ranks/includes/mycred-rank-functions.php:257
3424
  msgid "mycred_get_users_rank() : Missing required user id"
3425
  msgstr "mycred_get_users_rank() : Falta el requisito id del usuario"
3426
 
3427
+ #: ../addons/ranks/includes/mycred-rank-functions.php:270
3428
  msgid "no rank"
3429
  msgstr "ningun rango"
3430
 
3431
+ #: ../addons/ranks/includes/mycred-rank-shortcodes.php:115 ..
3432
+ #: addons/ranks/includes/mycred-rank-shortcodes.php:202
3433
  msgid "No users found with this rank"
3434
  msgstr "Ningun usuario encontrado con este rango"
3435
 
3436
+ #: ../addons/ranks/includes/mycred-rank-shortcodes.php:122 ../includes/mycred-
3437
+ #: shortcodes.php:525
 
 
3438
  msgid "error"
3439
  msgstr "error"
3440
 
3441
+ #: ../addons/ranks/includes/mycred-rank-shortcodes.php:122
3442
  msgid "Rank ID is required!"
3443
  msgstr "¡ID de Rango obligatorio!"
3444
 
3445
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:74
3446
  msgid "Hours"
3447
  msgstr "Horas"
3448
 
3449
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:111
3450
  msgid "Profit Share"
3451
  msgstr "Reparto de Utilidades"
3452
 
3453
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:119
3454
  msgid "Save Profit Share"
3455
  msgstr "Guardar Reparto de Utilidades"
3456
 
3457
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:165
3458
  msgid "Profit Share override saved"
3459
  msgstr "Anulación de reparto de utilidades guardado"
3460
 
3461
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:327
3462
  msgid "You can not buy this content."
3463
  msgstr "No puedes comprar este contenido."
3464
 
3465
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:372
3466
  msgid "Error. Try Again"
3467
  msgstr "Error. Inténtelo de nuevo"
3468
 
3469
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:394
3470
  msgid "No Payout. Just charge."
3471
  msgstr "No Desembolsar. Solo cobrar."
3472
 
3473
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:395
3474
  msgid "Pay Content Author."
3475
  msgstr "Pagar al Autor del Contenido"
3476
 
3477
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:401 ../includes/mycred-
3478
  #: overview.php:141 ../includes/mycred-overview.php:148
3479
  msgid "Sell Content"
3480
  msgstr "Vender Contenido"
3481
 
3482
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:403
3483
  msgid "Post Types"
3484
  msgstr "Post Types"
3485
 
3486
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:407
3487
  msgid "Comma separated list of post types that can be sold."
3488
  msgstr "Lista separada por comas de post types que se puede vender."
3489
 
3490
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:437
3491
  msgid "Percentage to pay Author"
3492
  msgstr "Porcentaje que pagar al Autor"
3493
 
3494
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:439
3495
  msgid ""
3496
  "Percentage of the price to pay the author. Can not be zero and is ignored if "
3497
  "authors are not paid."
3500
  "si no se les paga a los autores."
3501
 
3502
  #. also, "por defecto" and "predeterminados"
3503
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:447
3504
  msgid "Defaults"
3505
  msgstr "Predefinidos"
3506
 
3507
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:455
3508
  msgid "Allow authors to change price."
3509
  msgstr "Permitir que los Autores cambien el precio."
3510
 
3511
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:464
3512
  msgid "Allow authors to change button label."
3513
  msgstr "Permitir que los Autores cambien la etiqueta asignada al botón."
3514
 
3515
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:468
3516
  msgid "Purchases expire after"
3517
  msgstr "Compras caducan despues de"
3518
 
3519
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:470
3520
  msgid "Use zero for permanent sales."
3521
  msgstr "Usa cero para ventas permanentes."
3522
 
3523
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:476
3524
  msgid "For Visitors"
3525
  msgstr "Para Visitantes"
3526
 
3527
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:486
3528
  #, php-format
3529
  msgid ""
3530
  "Do <strong>not</strong> use the %buy_button% in this template as a user must "
3533
  "<strong>¡No utilice</strong> el %buy_button% en esta plantilla porque el "
3534
  "usuario debe haber inciciado sesión para poder comprar contenidos!"
3535
 
3536
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:491
3537
  msgid "For Members"
3538
  msgstr "Para Miembros"
3539
 
3540
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:501 ../addons/sell-
3541
+ #: content/myCRED-addon-sell-content.php:516
3542
  #, php-format
3543
  msgid "Your template must contain the %buy_button% tag for purchases to work!"
3544
  msgstr ""
3545
  "¡Tu plantilla debe contener la etiqueta %buy_button% para que se pueda "
3546
  "realizar compras!"
3547
 
3548
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:506
3549
  msgid "For members that can not afford to buy"
3550
  msgstr "Para los miembros que no tienen al alcance comprar"
3551
 
3552
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:520
3553
  msgid "Log template for Purchases"
3554
  msgstr "Plantilla de registros para Compras"
3555
 
3556
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:527
3557
  msgid "Log template for Sales"
3558
  msgstr "Plantilla de registros para Ventas"
3559
 
3560
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:580
3561
  #, php-format
3562
  msgid "%s Sell This"
3563
  msgstr "%s Vende Esto"
3564
 
3565
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:635
3566
  #, php-format
3567
  msgid "%s Sell Content needs to be setup before you can use this feature."
3568
  msgstr ""
3569
  "%s Vender Contenidos necesita haberse configurado antes de poder utilizar "
3570
  "esta característica técnica."
3571
 
3572
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:638
3573
  msgid "Setup add-on"
3574
  msgstr "Configurar Extensión"
3575
 
3576
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:638
3577
  msgid "Lets do it"
3578
  msgstr "Vamos a hacerlo."
3579
 
3580
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:676
3581
  #, php-format
3582
  msgid "Enable sale of this %s"
3583
  msgstr "Habilitar la venta de esto %s"
3584
 
3585
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:690
3586
  msgid "Purchase expires after"
3587
  msgstr "Compra caduca despues de"
3588
 
3589
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:1016
3590
  msgid "Thank you for your purchase!"
3591
  msgstr "¡Gracias por su compra!"
3592
 
3593
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:1104 ../addons/sell-
3594
+ #: content/myCRED-addon-sell-content.php:1190
3595
  msgid "The following content is set for sale:"
3596
  msgstr "El siguiente contenido esta listo para la venta:"
3597
 
3598
+ #: ../addons/sell-content/myCRED-addon-sell-content.php:1253
3599
  msgid "Purchased"
3600
  msgstr "Comprado"
3601
 
3602
+ #: ../addons/stats/myCRED-addon-stats.php:54
3603
+ msgid "Statistics"
3604
+ msgstr ""
3605
+
3606
+ #: ../addons/stats/myCRED-addon-stats.php:126
3607
+ msgid "Overview"
3608
+ msgstr ""
3609
+
3610
+ #: ../addons/stats/myCRED-addon-stats.php:192
3611
+ msgid "Refresh"
3612
+ msgstr ""
3613
+
3614
+ #: ../addons/stats/myCRED-addon-stats.php:248
3615
+ msgid "Your log is empty. No statistics can be shown."
3616
+ msgstr ""
3617
+
3618
+ #: ../addons/stats/abstracts/mycred-abstract-stat-widget.php:102 ..
3619
+ #: includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
3620
+ #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
3621
+ msgid "View Log"
3622
+ msgstr "Ver Registro"
3623
+
3624
+ #: ../addons/stats/abstracts/mycred-abstract-stat-widget.php:105 ..
3625
+ #: modules/mycred-module-hooks.php:25 ../modules/mycred-module-hooks.php:26 ..
3626
+ #: modules/mycred-module-hooks.php:27
3627
+ msgid "Hooks"
3628
+ msgstr "Ganchos"
3629
+
3630
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:44
3631
+ #, php-format
3632
+ msgid "Total %s:"
3633
+ msgstr ""
3634
+
3635
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:136 ..
3636
+ #: includes/mycred-overview.php:78
3637
+ msgid "Total amount in circulation"
3638
+ msgstr "Suma total en circulación"
3639
+
3640
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:138
3641
+ #, php-format
3642
+ msgid "Total amount of %s in circulation"
3643
+ msgstr ""
3644
+
3645
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:170
3646
+ msgid "Total gains (%)"
3647
+ msgstr ""
3648
+
3649
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:174
3650
+ msgid "Total loses (%)"
3651
+ msgstr ""
3652
+
3653
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:178
3654
+ #, php-format
3655
+ msgid "Total Gained: %s"
3656
+ msgstr ""
3657
+
3658
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:178
3659
+ #, php-format
3660
+ msgid "Total Spent: %s"
3661
+ msgstr ""
3662
+
3663
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:189 ..
3664
+ #: includes/mycred-log.php:837 ../modules/mycred-module-buddypress.php:222
3665
+ msgid "Today"
3666
+ msgstr "Hoy"
3667
+
3668
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:190 ..
3669
+ #: includes/mycred-log.php:839 ../modules/mycred-module-buddypress.php:224
3670
+ msgid "This Week"
3671
+ msgstr "Esta Semana"
3672
+
3673
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:191 ..
3674
+ #: includes/mycred-log.php:840 ../modules/mycred-module-buddypress.php:225
3675
+ msgid "This Month"
3676
+ msgstr "Este Mes"
3677
+
3678
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:192
3679
+ msgid "This Year"
3680
+ msgstr ""
3681
+
3682
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:196 ..
3683
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:198 ..
3684
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:200 ..
3685
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:202
3686
+ msgid "Gained"
3687
+ msgstr ""
3688
+
3689
+ #: ../addons/stats/widgets/mycred-stats-widget-circulation.php:197 ..
3690
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:199 ..
3691
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:201 ..
3692
+ #: addons/stats/widgets/mycred-stats-widget-circulation.php:203
3693
+ msgid "Lost"
3694
+ msgstr ""
3695
+
3696
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:118
3697
+ msgid "Most common ways your users have gained points during this period."
3698
+ msgstr ""
3699
+
3700
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:120
3701
+ #, php-format
3702
+ msgid "Most common ways your users have gained %_plural% during this period."
3703
+ msgstr ""
3704
+
3705
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:127
3706
+ msgid "Gains in the last 10 days"
3707
+ msgstr ""
3708
+
3709
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:152 ..
3710
+ #: addons/stats/widgets/mycred-stats-widget-daily-loses.php:152
3711
+ msgid "View"
3712
+ msgstr ""
3713
+
3714
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-gains.php:167 ..
3715
+ #: addons/stats/widgets/mycred-stats-widget-daily-loses.php:167
3716
+ msgid "No data found"
3717
+ msgstr ""
3718
+
3719
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-loses.php:118
3720
+ msgid "Most common ways your users have lost or spent points during this period."
3721
+ msgstr ""
3722
+
3723
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-loses.php:120
3724
+ #, php-format
3725
+ msgid "Most common ways your users have lost or spent %_plural% during this period."
3726
+ msgstr ""
3727
+
3728
+ #: ../addons/stats/widgets/mycred-stats-widget-daily-loses.php:127
3729
+ msgid "Loses in the last 10 days"
3730
+ msgstr ""
3731
+
3732
+ #: ../addons/transfer/myCRED-addon-transfer.php:44
3733
  msgid "You do not have enough %plural% to send."
3734
  msgstr "No tienes bastante %plural% para mandar."
3735
 
3736
+ #: ../addons/transfer/myCRED-addon-transfer.php:45
3737
  msgid "You have exceeded your %limit% transfer limit."
3738
  msgstr "Has excedido tu limite de transferencia de %limit%."
3739
 
3740
+ #: ../addons/transfer/myCRED-addon-transfer.php:51 ../includes/mycred-functions.
3741
+ #: php:2446
3742
  msgid "Transfer"
3743
  msgstr "Transferir"
3744
 
3745
+ #: ../addons/transfer/myCRED-addon-transfer.php:154
3746
  msgid "Transaction completed."
3747
  msgstr "Transacción Finalizada"
3748
 
3749
+ #: ../addons/transfer/myCRED-addon-transfer.php:155
3750
  msgid "Security token could not be verified. Please contact your site administrator!"
3751
  msgstr ""
3752
  "No se pudo verificar el 'token' (código) de seguridad. ¡Por favor, póngase "
3753
  "en contacto con el administrador del sitio!"
3754
 
3755
+ #: ../addons/transfer/myCRED-addon-transfer.php:156
3756
  msgid "Communications error. Please try again later."
3757
  msgstr "Error en comunicación. Por favor inténtelo de nuevo más tarde."
3758
 
3759
+ #: ../addons/transfer/myCRED-addon-transfer.php:157
3760
  msgid "Recipient not found. Please try again."
3761
  msgstr "El recipiente no fuel encontrado. Por favor Inténtelo de nuevo."
3762
 
3763
+ #: ../addons/transfer/myCRED-addon-transfer.php:158
3764
  msgid "Transaction declined by recipient."
3765
  msgstr "Transacción rechazada por el destinatario"
3766
 
3767
+ #: ../addons/transfer/myCRED-addon-transfer.php:159
3768
  msgid "Incorrect amount. Please try again."
3769
  msgstr "Cantidad incorecta. Por favor inténtelo de nuevo."
3770
 
3771
+ #: ../addons/transfer/myCRED-addon-transfer.php:160
3772
  msgid ""
3773
  "This myCRED Add-on has not yet been setup! No transfers are allowed until "
3774
  "this has been done!"
3776
  "¡Esta Extensión de myCRED todavía no ha sido configurado! No se permite "
3777
  "transferencias hasta que se haga esto."
3778
 
3779
+ #: ../addons/transfer/myCRED-addon-transfer.php:161 ../includes/mycred-functions.
3780
+ #: php:2574
3781
  msgid "Insufficient Funds. Please try a lower amount."
3782
  msgstr "Fondos Insuficientes. Por favor intenta con una cantidad menor."
3783
 
3784
+ #: ../addons/transfer/myCRED-addon-transfer.php:162
3785
  msgid "Transfer Limit exceeded."
3786
  msgstr "Límite de transferencia excedida."
3787
 
3788
+ #: ../addons/transfer/myCRED-addon-transfer.php:189
3789
  msgid "No limits."
3790
  msgstr "Sin limite."
3791
 
3792
+ #: ../addons/transfer/myCRED-addon-transfer.php:190
3793
  msgid "Impose daily limit."
3794
  msgstr "Imponer limite diario."
3795
 
3796
+ #: ../addons/transfer/myCRED-addon-transfer.php:191
3797
  msgid "Impose weekly limit."
3798
  msgstr "Imponer limite semanal."
3799
 
3800
+ #: ../addons/transfer/myCRED-addon-transfer.php:198
3801
  msgid "User Login (user_login)"
3802
  msgstr "Ingreso Usuario (user_login)"
3803
 
3804
+ #: ../addons/transfer/myCRED-addon-transfer.php:199
3805
  msgid "User Email (user_email)"
3806
  msgstr "Correo Electrónico del Usuario (user_email)"
3807
 
3808
+ #: ../addons/transfer/myCRED-addon-transfer.php:207 ../includes/mycred-overview.
3809
  #: php:120 ../includes/mycred-overview.php:127
3810
  msgid "Transfers"
3811
  msgstr "Transferencias"
3812
 
3813
+ #: ../addons/transfer/myCRED-addon-transfer.php:216
3814
  msgid "Select the point types that users can transfer."
3815
  msgstr "Elige el clase de punto que el usuario puede transferir."
3816
 
3817
+ #: ../addons/transfer/myCRED-addon-transfer.php:224
3818
  msgid "Log template for sending"
3819
  msgstr "Plantilla de registros para transmitir"
3820
 
3821
+ #: ../addons/transfer/myCRED-addon-transfer.php:231
3822
  msgid "Log template for receiving"
3823
  msgstr "Plantilla de registros para recibir"
3824
 
3825
+ #: ../addons/transfer/myCRED-addon-transfer.php:238
3826
  msgid "Autofill Recipient"
3827
  msgstr "Destinatario del Relleno Automático"
3828
 
3829
+ #: ../addons/transfer/myCRED-addon-transfer.php:250
3830
  msgid "Select what user details recipients should be autofilled by."
3831
  msgstr ""
3832
  "Selecciona cuales detalles del usuario al destinatario deben ser rellenados "
3833
  "automáticamente."
3834
 
3835
+ #: ../addons/transfer/myCRED-addon-transfer.php:253
3836
  msgid "Reload"
3837
  msgstr "Recargar"
3838
 
3839
+ #: ../addons/transfer/myCRED-addon-transfer.php:256
3840
  msgid "Reload page on successful transfers."
3841
  msgstr "Actualizar la pagina despues de transferencias finalizadas."
3842
 
3843
+ #: ../addons/transfer/myCRED-addon-transfer.php:276
3844
  msgid "Limit Amount"
3845
  msgstr "Limitar la Cantidad"
3846
 
3847
+ #: ../addons/transfer/myCRED-addon-transfer.php:280
3848
  msgid "Form Templates"
3849
  msgstr "Plantillas de Formulario"
3850
 
3851
+ #: ../addons/transfer/myCRED-addon-transfer.php:283
3852
  msgid "Not logged in Template"
3853
  msgstr "Plantilla de no estar ingresado"
3854
 
3855
+ #: ../addons/transfer/myCRED-addon-transfer.php:285
3856
  msgid ""
3857
  "Text to show when users are not logged in. Leave empty to hide. No HTML "
3858
  "elements allowed!"
3860
  "Mostrar este texto cuango los usuarios no han iniciado la sesión. ¡No se "
3861
  "permite ningun elemento de HTML!"
3862
 
3863
+ #: ../addons/transfer/myCRED-addon-transfer.php:289
3864
  msgid "Balance Template"
3865
  msgstr "Plantilla de Saldo"
3866
 
3867
+ #: ../addons/transfer/myCRED-addon-transfer.php:291
3868
  msgid ""
3869
  "Template to use when displaying the users balance (if included). No HTML "
3870
  "elements allowed!"
3872
  "Utilizar esta plantilla cuando mostrando el saldo del usuario (si esta "
3873
  "incluido). ¡No se permite elementos de HTML!"
3874
 
3875
+ #: ../addons/transfer/myCRED-addon-transfer.php:295
3876
  msgid "Limit Template"
3877
  msgstr "Limitar Plantilla"
3878
 
3879
+ #: ../addons/transfer/myCRED-addon-transfer.php:297
3880
  msgid "Template to use when displaying limits (if used). No HTML elements allowed!"
3881
  msgstr ""
3882
  "Utilizar esta plantilla cuando mostrando límites (si se utiliza). ¡No se "
3883
  "permite elementos de HTML!"
3884
 
3885
+ #: ../addons/transfer/myCRED-addon-transfer.php:301
3886
  msgid "Button Template"
3887
  msgstr "Plantilla del Botón"
3888
 
3889
+ #: ../addons/transfer/myCRED-addon-transfer.php:303
3890
  msgid "Send Transfer button template. No HTML elements allowed!"
3891
  msgstr "Plantilla del botón Enviar Transferencia ¡No se permite elementos de HTML!"
3892
 
3893
+ #: ../addons/transfer/myCRED-addon-transfer.php:306
3894
  msgid "Error Messages"
3895
  msgstr "Mensajes de Error"
3896
 
3897
  #. English needs to be corrected: "Balance too low to send."
3898
+ #: ../addons/transfer/myCRED-addon-transfer.php:309
3899
  msgid "Balance to low to send."
3900
  msgstr "Saldo insuficiente - no se puede enviar."
3901
 
3902
+ #: ../addons/transfer/myCRED-addon-transfer.php:311
3903
  msgid ""
3904
  "Text to show when a users balance is to low for transfers. Leave empty to "
3905
  "hide. No HTML elements allowed!"
3908
  "efectuar transferencias. Deje el campo vacío para ocultarlo. ¡No se permite "
3909
  "ningun elemento de HTML!"
3910
 
3911
+ #: ../addons/transfer/myCRED-addon-transfer.php:315
3912
  msgid "Transfer Limit Reached."
3913
  msgstr "Límite de Transferencia Alcanzado."
3914
 
3915
+ #: ../addons/transfer/myCRED-addon-transfer.php:317
3916
  msgid ""
3917
  "Text to show when a user has reached their transfer limit (if used). Leave "
3918
  "empty to hide. No HTML elements allowed!"
3921
  "transferencia (si se utiliza). Deje el campo vacío para ocultarlo. ¡No se "
3922
  "permite ningun elemento de HTML!"
3923
 
3924
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3925
  msgid "username"
3926
  msgstr "nombre de usuario"
3927
 
3928
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:133
3929
  msgid "email"
3930
  msgstr "correo electrónico"
3931
 
3932
  #. is this recipients plural or recipient's with an apostrophe missing?
3933
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:135
3934
  #, php-format
3935
  msgid "recipients %s"
3936
  msgstr "destinatarios %s"
3937
 
3938
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:219
3939
  msgid "To:"
3940
  msgstr "A:"
3941
 
3942
+ #: ../addons/transfer/includes/mycred-transfer-shortcodes.php:225
3943
  msgid "Amount:"
3944
  msgstr "Cantidad:"
3945
 
3946
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:20
3947
+ msgid "Allow transfers between users."
3948
+ msgstr "Permitir transferencias entre usuarios."
3949
+
3950
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:23
3951
+ #, php-format
3952
+ msgid "(%s) Transfer"
3953
+ msgstr "(%s) Transfererir"
3954
+
3955
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:40
3956
+ msgid "The myCRED Transfer add-on has not yet been setup!"
3957
+ msgstr "¡Esta Extensión de myCRED todavía no ha sido configurado!"
3958
+
3959
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:123
3960
+ msgid "Show users balance"
3961
+ msgstr "Mostrar el saldo de usuarios"
3962
+
3963
+ #: ../addons/transfer/includes/mycred-transfer-widgets.php:127
3964
+ msgid "Show users limit"
3965
+ msgstr "Mostrar los límites de usuarios"
3966
+
3967
+ #: ../includes/mycred-about.php:77
3968
  #, php-format
3969
  msgid "Welcome to %s %s"
3970
  msgstr "Bienvenido a %s %s"
4010
  msgid "Excluded"
4011
  msgstr "Excluido"
4012
 
4013
+ #: ../includes/mycred-admin.php:406
 
 
 
 
 
4014
  msgid "Adjust"
4015
  msgstr "Modificar"
4016
 
4017
+ #: ../includes/mycred-admin.php:444 ../includes/mycred-admin.php:445
4018
  msgid "Edit Balance"
4019
  msgstr "Editar Saldo"
4020
 
4021
+ #: ../includes/mycred-admin.php:463
4022
  msgid "Profile"
4023
  msgstr "Perfil"
4024
 
4025
+ #: ../includes/mycred-admin.php:470
4026
  msgid "Extended Profile"
4027
  msgstr "Perfil Extendido"
4028
 
4029
+ #: ../includes/mycred-admin.php:560
4030
  #, php-format
4031
  msgid "This user is excluded from using %s"
4032
  msgstr "Este usuario esta excluido de poder utilizar %s"
4033
 
4034
+ #: ../includes/mycred-admin.php:583
4035
  msgid "Edit User"
4036
  msgstr "Editar Usuario"
4037
 
4038
+ #: ../includes/mycred-admin.php:585
4039
  msgctxt "user"
4040
  msgid "Add New"
4041
  msgstr "Añadir Nuevo"
4042
 
4043
+ #: ../includes/mycred-admin.php:587
4044
  msgctxt "user"
4045
  msgid "Add Existing"
4046
  msgstr "Añadir Existente"
4047
 
4048
+ #: ../includes/mycred-admin.php:598
4049
  #, php-format
4050
  msgid "Total %s Accumulated"
4051
  msgstr "Total %s Acumulado"
4052
 
4053
+ #: ../includes/mycred-admin.php:599
4054
  #, php-format
4055
  msgid "Total %s Spent"
4056
  msgstr "Total %s Gastado"
4057
 
4058
+ #: ../includes/mycred-admin.php:610
4059
  msgid "View History"
4060
  msgstr "Ver Historial"
4061
 
4062
+ #: ../includes/mycred-admin.php:611
4063
  msgid "Exclude User"
4064
  msgstr "Excluir Usuario"
4065
 
4066
+ #: ../includes/mycred-admin.php:615
4067
  msgid "Adjust Balance"
4068
  msgstr "Ajustar Saldo"
4069
 
4070
+ #: ../includes/mycred-admin.php:624
4071
  msgid ""
4072
  "Warning! Excluding this user will result in their balance being deleted "
4073
  "along with any entries currently in your log! This can not be undone!"
4075
  "¡Aviso! ¡Excluir este usuario resultara en la eliminación de su saldo ademas "
4076
  "de cualquier entradas actuales en tu registro! ¡Esto no se puede deshacer!"
4077
 
4078
+ #: ../includes/mycred-admin.php:682
4079
  #, php-format
4080
  msgid "%singular% balance"
4081
  msgstr "%singular% saldo"
4082
 
4083
+ #: ../includes/mycred-admin.php:722 ../includes/mycred-admin.php:761
4084
  msgid "Update Balance"
4085
  msgstr "Actualizar Saldo"
4086
 
4087
+ #: ../includes/mycred-admin.php:753
4088
  msgid "ID"
4089
  msgstr "ID"
4090
 
4091
+ #: ../includes/mycred-admin.php:759
4092
  msgid "A positive or negative value"
4093
  msgstr "Un valor positivo o negativo"
4094
 
4104
  msgid "Deleted"
4105
  msgstr "Borrado"
4106
 
4107
+ #: ../includes/mycred-functions.php:530
4108
  msgid "Deleted Item"
4109
  msgstr "Artículo Borrado"
4110
 
4111
+ #: ../includes/mycred-functions.php:594
4112
  msgid "User Related"
4113
  msgstr "Relacionado al Usuario"
4114
 
4115
+ #: ../includes/mycred-functions.php:601
4116
  msgid "Post Related"
4117
  msgstr "Relacionado a la Entrada"
4118
 
4119
+ #: ../includes/mycred-functions.php:608
4120
  msgid "Comment Related"
4121
  msgstr "Relacionado al Comentario"
4122
 
4123
+ #: ../includes/mycred-functions.php:615
4124
  msgid "Widget Related"
4125
  msgstr "Relacionado al Widget"
4126
 
4127
+ #: ../includes/mycred-functions.php:622
4128
  msgid "Amount Related"
4129
  msgstr "Cantidad Relacionada"
4130
 
4131
+ #: ../includes/mycred-functions.php:629
4132
  msgid "Video Related"
4133
  msgstr "Relacionado al Video"
4134
 
4135
+ #: ../includes/mycred-functions.php:640
4136
  msgid "and"
4137
  msgstr "y"
4138
 
4139
+ #: ../includes/mycred-functions.php:642
4140
  msgid "Available Template Tags:"
4141
  msgstr "Etiquetas de Plantilla Disponibles:"
4142
 
4143
+ #: ../includes/mycred-functions.php:1686
4144
  msgid "Entire Log"
4145
  msgstr "Todo el Registro"
4146
 
4147
+ #: ../includes/mycred-functions.php:1691 ../includes/mycred-functions.php:1692
4148
  msgid "Displayed Rows"
4149
  msgstr "Filas Mostradas"
4150
 
4151
+ #: ../includes/mycred-functions.php:1699
4152
  msgid "Search Results"
4153
  msgstr "Resultados de la Búsqueda"
4154
 
4155
+ #: ../includes/mycred-functions.php:1700
4156
  msgid "My Entire Log"
4157
  msgstr "Mi Registro Entero"
4158
 
4159
+ #: ../includes/mycred-functions.php:1867
4160
  msgid "ref empty"
4161
  msgstr "ref vacío"
4162
 
4163
+ #: ../includes/mycred-functions.php:1875
4164
  msgid "incorrect user id format"
4165
  msgstr "Formato incorrecto para id del usuario"
4166
 
4167
+ #: ../includes/mycred-functions.php:1888
4168
  msgid "incorrect unix timestamp (from):"
4169
  msgstr "erroneo marca de tiempo de unix (desde):"
4170
 
4171
+ #: ../includes/mycred-functions.php:1897
4172
  msgid "incorrect unix timestamp (to):"
4173
  msgstr "erroneo marca de tiempo de unix (a):"
4174
 
4175
+ #: ../includes/mycred-functions.php:2306
4176
  msgid "Website Registration"
4177
  msgstr "Inscripción del Sitio Web"
4178
 
4179
+ #: ../includes/mycred-functions.php:2307
4180
  msgid "Website Visit"
4181
  msgstr "Visita de Sitio Web"
4182
 
4183
+ #: ../includes/mycred-functions.php:2308
4184
  msgid "Viewing Content (Member)"
4185
  msgstr "Viendo Contenido (Miembro)"
4186
 
4187
+ #: ../includes/mycred-functions.php:2309
4188
  msgid "Viewing Content (Author)"
4189
  msgstr "Viendo Contenido (Autor)"
4190
 
4191
+ #: ../includes/mycred-functions.php:2310
4192
  msgid "Logging in"
4193
  msgstr "Accediendo"
4194
 
4195
+ #: ../includes/mycred-functions.php:2311
4196
  msgid "Publishing Content"
4197
  msgstr "Publicando Contenido"
4198
 
4199
+ #: ../includes/mycred-functions.php:2312 ../modules/mycred-module-hooks.php:1512
4200
  msgid "Approved Comment"
4201
  msgstr "Comentario Aprobado"
4202
 
4203
+ #: ../includes/mycred-functions.php:2313
4204
  msgid "Unapproved Comment"
4205
  msgstr "Comentario no Aprobado"
4206
 
4207
+ #: ../includes/mycred-functions.php:2314
4208
  msgid "SPAM Comment"
4209
  msgstr "Comentario SPAM"
4210
 
4211
+ #: ../includes/mycred-functions.php:2315
4212
  msgid "Deleted Comment"
4213
  msgstr "Comentario Borrado"
4214
 
4215
+ #: ../includes/mycred-functions.php:2316
4216
  msgid "Link Click"
4217
  msgstr "Click al Enlace"
4218
 
4219
+ #: ../includes/mycred-functions.php:2317
4220
  msgid "Watching Video"
4221
  msgstr "Mirando Video"
4222
 
4223
+ #: ../includes/mycred-functions.php:2318
4224
  msgid "Visitor Referral"
4225
  msgstr "Referencia de Visitante"
4226
 
4227
+ #: ../includes/mycred-functions.php:2319
4228
  msgid "Signup Referral"
4229
  msgstr "Referencia de Inscripción "
4230
 
4231
+ #: ../includes/mycred-functions.php:2323
4232
  msgid "New Profile Update"
4233
  msgstr "Nuevo Perfil Actualizado"
4234
 
4235
+ #: ../includes/mycred-functions.php:2324
4236
+ msgid "Profile Update Removal"
4237
+ msgstr ""
4238
+
4239
+ #: ../includes/mycred-functions.php:2325
4240
  msgid "Avatar Upload"
4241
  msgstr "Subir Avatar"
4242
 
4243
+ #: ../includes/mycred-functions.php:2326
4244
  msgid "New Friendship"
4245
  msgstr "Nueva Amistad"
4246
 
4247
+ #: ../includes/mycred-functions.php:2327
4248
  msgid "Ended Friendship"
4249
  msgstr "Amistad Terminada"
4250
 
4251
+ #: ../includes/mycred-functions.php:2328
4252
  msgid "New Profile Comment"
4253
  msgstr "Nuevo Comentario de Perfil"
4254
 
4255
+ #: ../includes/mycred-functions.php:2329
4256
  msgid "Profile Comment Deletion"
4257
  msgstr "Borrar Comentario del Perfil"
4258
 
4259
+ #: ../includes/mycred-functions.php:2330
4260
  msgid "New Message"
4261
  msgstr "Nuevo Mensaje"
4262
 
4263
+ #: ../includes/mycred-functions.php:2331
4264
  msgid "Sending Gift"
4265
  msgstr "Mandando Regalo"
4266
 
4267
+ #: ../includes/mycred-functions.php:2332
4268
  msgid "New Group"
4269
  msgstr "Nuevo Grupo"
4270
 
4271
+ #: ../includes/mycred-functions.php:2333
4272
  msgid "Deleted Group"
4273
  msgstr "Grupo Borrado"
4274
 
4275
+ #: ../includes/mycred-functions.php:2334
4276
  msgid "New Group Forum Topic"
4277
  msgstr "Nuevo Tema del Fórum de Grupo"
4278
 
4279
+ #: ../includes/mycred-functions.php:2335
4280
  msgid "Edit Group Forum Topic"
4281
  msgstr "Editar el Tema del Fórum de Grupo"
4282
 
4283
+ #: ../includes/mycred-functions.php:2336
4284
  msgid "New Group Forum Post"
4285
  msgstr "Nueva Entrada del Fórum de Grupo"
4286
 
4287
+ #: ../includes/mycred-functions.php:2337
4288
  msgid "Edit Group Forum Post"
4289
  msgstr "Editar Entrada del Fórum de Grupo"
4290
 
4291
+ #: ../includes/mycred-functions.php:2338
4292
  msgid "Joining Group"
4293
  msgstr "Agregar al Grupo"
4294
 
4295
+ #: ../includes/mycred-functions.php:2339
4296
  msgid "Leaving Group"
4297
  msgstr "Dejando el Grupo"
4298
 
4299
+ #: ../includes/mycred-functions.php:2340
4300
  msgid "New Group Avatar"
4301
  msgstr "Nuevo Avatar del Grupo"
4302
 
4303
+ #: ../includes/mycred-functions.php:2341
4304
  msgid "New Group Comment"
4305
  msgstr "Nuevo Comentario al Grupo\n"
4306
 
4307
+ #: ../includes/mycred-functions.php:2345 ../plugins/mycred-hook-buddypress-media.
4308
+ #: php:205
4309
  msgid "Photo Upload"
4310
  msgstr "Subir Foto"
4311
 
4312
+ #: ../includes/mycred-functions.php:2346 ../plugins/mycred-hook-buddypress-media.
4313
+ #: php:219
4314
  msgid "Video Upload"
4315
  msgstr "Subir Video"
4316
 
4317
+ #: ../includes/mycred-functions.php:2347 ../plugins/mycred-hook-buddypress-media.
4318
+ #: php:233
4319
  msgid "Music Upload"
4320
  msgstr "Subir Música"
4321
 
4322
+ #: ../includes/mycred-functions.php:2351
4323
  msgid "New Link"
4324
  msgstr "Nuevo Enlace"
4325
 
4326
+ #: ../includes/mycred-functions.php:2352
4327
  msgid "Link Voting"
4328
  msgstr "Votar sobre Enlace"
4329
 
4330
+ #: ../includes/mycred-functions.php:2353
4331
  msgid "Link Update"
4332
  msgstr "Enlace Actualizado"
4333
 
4334
+ #: ../includes/mycred-functions.php:2357
4335
  msgid "New Forum (bbPress)"
4336
  msgstr "Nuevo Fórum (bbPress)"
4337
 
4338
+ #: ../includes/mycred-functions.php:2358
4339
  msgid "New Forum Topic (bbPress)"
4340
  msgstr "Nuevo Tema de Fórum (bbPress)"
4341
 
4342
+ #: ../includes/mycred-functions.php:2359
4343
  msgid "Favorited Topic (bbPress)"
4344
  msgstr "Tema Favorito (bbPress)"
4345
 
4346
+ #: ../includes/mycred-functions.php:2360
4347
  msgid "New Topic Reply (bbPress)"
4348
  msgstr "Nueva Respuesta a Tema (bbPress)"
4349
 
4350
+ #: ../includes/mycred-functions.php:2364
4351
  msgid "Form Submission (Contact Form 7)"
4352
  msgstr "Sumisión de Formulario (Contact Form 7)"
4353
 
4354
+ #: ../includes/mycred-functions.php:2367
4355
  msgid "Form Submission (Gravity Form)"
4356
  msgstr "Sumisión de Formulario (Gravity Form)"
4357
 
4358
+ #: ../includes/mycred-functions.php:2370
4359
  msgid "New Forum Topic (SimplePress)"
4360
  msgstr "Nuevo Tema de Fórum (SimplePress)"
4361
 
4362
+ #: ../includes/mycred-functions.php:2371
4363
  msgid "New Forum Post (SimplePress)"
4364
  msgstr "Nueva Entrada de Fórum (SimplePress)"
4365
 
4366
+ #: ../includes/mycred-functions.php:2380
4367
+ msgid "Affiliate Signup (AffiliateWP)"
4368
+ msgstr ""
4369
+
4370
+ #: ../includes/mycred-functions.php:2381
4371
+ msgid "Referred Visit (AffiliateWP)"
4372
+ msgstr ""
4373
+
4374
+ #: ../includes/mycred-functions.php:2382
4375
+ msgid "Affiliate Referral (AffiliateWP)"
4376
+ msgstr ""
4377
+
4378
+ #: ../includes/mycred-functions.php:2383
4379
+ msgid "Referral Refund (AffiliateWP)"
4380
+ msgstr ""
4381
+
4382
+ #: ../includes/mycred-functions.php:2387 ../plugins/mycred-hook-wp-postratings.
4383
+ #: php:150
4384
+ msgid "Adding a Rating"
4385
+ msgstr ""
4386
+
4387
+ #: ../includes/mycred-functions.php:2388 ../plugins/mycred-hook-wp-postratings.
4388
+ #: php:169
4389
+ msgid "Receiving a Rating"
4390
+ msgstr ""
4391
+
4392
+ #: ../includes/mycred-functions.php:2392
4393
  msgid "Poll Voting"
4394
  msgstr "Votación"
4395
 
4396
+ #: ../includes/mycred-functions.php:2395
4397
  msgid "Sending an Invite"
4398
  msgstr "Mandando una Invitación"
4399
 
4400
+ #: ../includes/mycred-functions.php:2396
4401
  msgid "Accepting an Invite"
4402
  msgstr "Aceptando una Invitación"
4403
 
4404
+ #: ../includes/mycred-functions.php:2402
4405
  msgid "Banking Payout"
4406
  msgstr "Desembolso Bancario"
4407
 
4408
+ #: ../includes/mycred-functions.php:2405
4409
  msgid "buyCRED Purchase (PayPal Standard)"
4410
  msgstr "Compra buyCRED (PayPal Standard)"
4411
 
4412
+ #: ../includes/mycred-functions.php:2406
4413
  msgid "buyCRED Purchase (Skrill)"
4414
  msgstr "Compra buyCRED (Skrill)"
4415
 
4416
+ #: ../includes/mycred-functions.php:2407
4417
  msgid "buyCRED Purchase (Zombaio)"
4418
  msgstr "Compra buyCRED (Zombaio)"
4419
 
4420
+ #: ../includes/mycred-functions.php:2408
4421
  msgid "buyCRED Purchase (NETBilling)"
4422
  msgstr "Compra buyCRED (NETBilling)"
4423
 
4424
+ #: ../includes/mycred-functions.php:2409
4425
  msgid "buyCRED Purchase (BitPay)"
4426
  msgstr "Compra buyCRED (BitPay)"
4427
 
4428
+ #: ../includes/mycred-functions.php:2414
4429
  msgid "Coupon Purchase"
4430
  msgstr "Compra Cupón"
4431
 
4432
+ #: ../includes/mycred-functions.php:2418
4433
  msgid "Store Purchase (WooCommerce)"
4434
  msgstr "Compra de Tienda (WooCommerce)"
4435
 
4436
+ #: ../includes/mycred-functions.php:2419
4437
+ msgid "Store Reward (WooCommerce)"
4438
+ msgstr ""
4439
+
4440
+ #: ../includes/mycred-functions.php:2420
4441
+ msgid "Product Review (WooCommerce)"
4442
+ msgstr ""
4443
+
4444
+ #: ../includes/mycred-functions.php:2423
4445
  msgid "Store Purchase (MarketPress)"
4446
  msgstr "Compra de Tienda (MarketPress)"
4447
 
4448
+ #: ../includes/mycred-functions.php:2424
4449
+ msgid "Store Reward (MarketPress)"
4450
+ msgstr ""
4451
+
4452
+ #: ../includes/mycred-functions.php:2427
4453
  msgid "Store Purchase (WP E-Commerce)"
4454
  msgstr "Compra de Tienda (WP E-Commerce)"
4455
 
4456
+ #: ../includes/mycred-functions.php:2433
4457
  msgid "Event Payment (Event Espresso)"
4458
  msgstr "Pago por Evento (Event Espresso)"
4459
 
4460
+ #: ../includes/mycred-functions.php:2434
4461
  msgid "Event Sale (Event Espresso)"
4462
  msgstr "Venta de Evento (Event Espresso)"
4463
 
4464
+ #: ../includes/mycred-functions.php:2438
4465
  msgid "Event Payment (Events Manager)"
4466
  msgstr "Pago por Evento (Events Manager)"
4467
 
4468
+ #: ../includes/mycred-functions.php:2439
4469
  msgid "Event Sale (Events Manager)"
4470
  msgstr "Venta de Evento (Events Manager)"
4471
 
4472
+ #: ../includes/mycred-functions.php:2443
4473
  msgid "Content Purchase / Sale"
4474
  msgstr "Compra / Venta de Contenido"
4475
 
4476
+ #: ../includes/mycred-functions.php:2450
4477
  msgid "Manual Adjustment by Admin"
4478
  msgstr "Ajuste Manual por Admin"
4479
 
4480
+ #: ../includes/mycred-functions.php:2520 ../includes/mycred-shortcodes.php:924
4481
+ msgid "Point types not found."
4482
+ msgstr "Clase de puntos no encontrado."
4483
+
4484
+ #: ../includes/mycred-functions.php:2532 ../includes/mycred-functions.php:2552 ..
4485
+ #: includes/mycred-shortcodes.php:930 ../includes/mycred-shortcodes.php:938
4486
+ #, php-format
4487
+ msgid "You are excluded from using %s."
4488
+ msgstr "Esta exluido del uso de %s."
4489
+
4490
+ #: ../includes/mycred-functions.php:2542 ../includes/mycred-shortcodes.php:934
4491
+ msgid "Your balance is too low to use this feature."
4492
+ msgstr "Tu saldo esta demasiado bajo para usar esta característica."
4493
+
4494
+ #: ../includes/mycred-functions.php:2565
4495
+ #, php-format
4496
+ msgid "You must exchange at least %s!"
4497
+ msgstr "Debes intercambiar por lo menos %s!"
4498
+
4499
+ #: ../includes/mycred-functions.php:2587
4500
+ #, php-format
4501
+ msgid "Exchange from %s"
4502
+ msgstr "Intercambiar desde %s"
4503
+
4504
+ #: ../includes/mycred-functions.php:2599
4505
+ #, php-format
4506
+ msgid "Exchange to %s"
4507
+ msgstr "Intercambiar a %s"
4508
+
4509
+ #: ../includes/mycred-functions.php:2607
4510
+ #, php-format
4511
+ msgid "You have successfully exchanged %s into %s."
4512
+ msgstr "Has intercambiado %s a %s con éxito."
4513
+
4514
+ #: ../includes/mycred-functions.php:2638
4515
+ msgid "per day"
4516
+ msgstr ""
4517
+
4518
+ #: ../includes/mycred-functions.php:2640
4519
+ msgid "per week"
4520
+ msgstr ""
4521
+
4522
+ #: ../includes/mycred-functions.php:2642
4523
+ msgid "per month"
4524
+ msgstr ""
4525
+
4526
+ #: ../includes/mycred-functions.php:2644
4527
+ msgid "in total"
4528
+ msgstr ""
4529
+
4530
+ #: ../includes/mycred-functions.php:2646 ../includes/mycred-functions.php:2650
4531
+ #, php-format
4532
+ msgid "Maximum once"
4533
+ msgid_plural "Maximum %d times"
4534
+ msgstr[0] ""
4535
+ msgstr[1] ""
4536
+
4537
  #: ../includes/mycred-importer.php:11
4538
  #, php-format
4539
  msgid "%s Log Import"
4596
  "Lo sentimos, pero tu instalación de WordPress no alcanza a los requisitos "
4597
  "mínimos de mycred. Se produce los siguientes errores:"
4598
 
4599
+ #: ../includes/mycred-install.php:256
4600
  msgid "myCRED needs your attention."
4601
  msgstr "myCRED precisa tu atención."
4602
 
4603
+ #: ../includes/mycred-install.php:256
4604
  msgid "Run Setup"
4605
  msgstr "Ejecutar Configuración"
4606
 
4607
+ #: ../includes/mycred-install.php:268 ../includes/mycred-install.php:269
4608
  msgid "myCRED Setup"
4609
  msgstr "Instalación de myCRED"
4610
 
4611
+ #: ../includes/mycred-install.php:398
4612
  #, php-format
4613
  msgid "%s Setup"
4614
  msgstr "Configurar %s"
4615
 
4616
+ #: ../includes/mycred-install.php:400
4617
  msgid "Step"
4618
  msgstr "Paso"
4619
 
4620
+ #: ../includes/mycred-install.php:424
4621
  msgid ""
4622
  "Click \"Begin Setup\" to install myCRED. You will be able to select your "
4623
  "points format, layout and security settings."
4625
  "Haga clic en \"Empezar la Instalación\" para instalar myCRED. Podras ajustar "
4626
  "el formato de puntos, disposiciones y configuraciones de seguridad."
4627
 
4628
+ #: ../includes/mycred-install.php:425
4629
  msgid "Begin Setup"
4630
  msgstr "Empezar la Instalación"
4631
 
4632
+ #: ../includes/mycred-install.php:480
4633
  msgid "Select the format you want to use for your points."
4634
  msgstr "Elige el formato que quieres usar para tus puntos."
4635
 
4636
+ #: ../includes/mycred-install.php:481
4637
  msgid "Format"
4638
  msgstr "Formato"
4639
 
4640
+ #: ../includes/mycred-install.php:484
4641
  msgid "Separators"
4642
  msgstr "Separadores"
4643
 
4644
+ #: ../includes/mycred-install.php:494 ../modules/mycred-module-settings.php:501
4645
  msgid "Decimals"
4646
  msgstr "Decimales"
4647
 
4648
+ #: ../includes/mycred-install.php:496
4649
+ msgid "Use zero for no decimals or maximum 20."
4650
+ msgstr ""
4651
 
4652
+ #: ../includes/mycred-install.php:499 ../modules/mycred-module-settings.php:505
4653
  msgid "Presentation"
4654
  msgstr "Presentación"
4655
 
4656
+ #: ../includes/mycred-install.php:502 ../modules/mycred-module-settings.php:488
4657
  msgid "Name (Singular)"
4658
  msgstr "Nombre (singular)"
4659
 
4660
+ #: ../includes/mycred-install.php:506 ../modules/mycred-module-settings.php:493
4661
  msgid "Name (Plural)"
4662
  msgstr "Nombre (plural)"
4663
 
4664
+ #: ../includes/mycred-install.php:512 ../modules/mycred-module-settings.php:508
4665
  msgid "Prefix"
4666
  msgstr "Prefijo"
4667
 
4668
+ #: ../includes/mycred-install.php:520 ../modules/mycred-module-settings.php:516
4669
  msgid "Suffix"
4670
  msgstr "Sufijo"
4671
 
4672
+ #: ../includes/mycred-install.php:524
4673
  msgid "Cancel Setup"
4674
  msgstr "Cancelar la Instalación"
4675
 
4676
+ #: ../includes/mycred-install.php:524 ../includes/mycred-install.php:594
4677
  msgid "Next"
4678
  msgstr "Siguiente"
4679
 
4680
+ #: ../includes/mycred-install.php:556 ../modules/mycred-module-settings.php:524
4681
  msgid "Security"
4682
  msgstr "Seguridad"
4683
 
4684
+ #: ../includes/mycred-install.php:559
4685
  msgid "Edit Settings Capability"
4686
  msgstr "Editar la capacidad de las configuraciones"
4687
 
4688
  #. is this user's or users (plural)?
4689
+ #: ../includes/mycred-install.php:563
4690
  msgid "Edit Users %plural% Capability"
4691
  msgstr "Editar la Capacidad de %plural% del Usuario"
4692
 
4693
+ #: ../includes/mycred-install.php:567 ../modules/mycred-module-settings.php:537
4694
  msgid "Maximum %plural% payouts"
4695
  msgstr "Desembolso %plural% Máximo"
4696
 
4697
+ #: ../includes/mycred-install.php:569 ../modules/mycred-module-settings.php:539
4698
  msgid ""
4699
  "As an added security, you can set the maximum amount a user can gain or "
4700
  "loose in a single instance. If used, make sure this is the maximum amount a "
4706
  "que es tambien la máxima cantidad que el usuario puede transferir, comprar, "
4707
  "o gastar en tu tienda. Ponga zero para desactivar."
4708
 
4709
+ #: ../includes/mycred-install.php:572 ../modules/mycred-module-settings.php:542
4710
  msgid "Excludes"
4711
  msgstr "Excluye"
4712
 
4713
+ #: ../includes/mycred-install.php:576 ../modules/mycred-module-settings.php:546
4714
  msgid "Exclude those who can \"Edit Settings\"."
4715
  msgstr "Excluir a los que puedan \"Editar las Configuraciones\"."
4716
 
4717
+ #: ../includes/mycred-install.php:580 ../modules/mycred-module-settings.php:550
4718
  msgid "Exclude those who can \"Edit Users %plural%\"."
4719
  msgstr "Excluir a los que pueden \"Editar los %plural% de Usuarios\"."
4720
 
4721
+ #: ../includes/mycred-install.php:583 ../modules/mycred-module-settings.php:554
4722
  msgid "Exclude the following user IDs:"
4723
  msgstr "Excluir a los siguientes IDs de usuarios"
4724
 
4725
+ #: ../includes/mycred-install.php:587 ../modules/mycred-module-settings.php:559
4726
  msgid "User Deletions"
4727
  msgstr "Eliminación de Usuarios"
4728
 
4729
+ #: ../includes/mycred-install.php:591 ../modules/mycred-module-settings.php:562
4730
  msgid "Delete log entries when user is deleted."
4731
  msgstr "Elimina las entradas de registro cuando se elimina el usuario."
4732
 
4733
+ #: ../includes/mycred-install.php:612
4734
  msgid "Ready"
4735
  msgstr "Listo"
4736
 
4737
+ #: ../includes/mycred-install.php:613
4738
  msgid "Almost done! Click the button below to finish this setup."
4739
  msgstr ""
4740
  "¡Casi terminado! Haga clic al botón de abajo para finalizar esta "
4741
  "configuración."
4742
 
4743
+ #: ../includes/mycred-install.php:614
4744
  msgid "Install & Run"
4745
  msgstr "Instalar e ejecutar"
4746
 
4766
  msgid "Current page"
4767
  msgstr "Página corriente"
4768
 
4769
+ #: ../includes/mycred-log.php:434
4770
+ #, php-format
4771
+ msgctxt "mycred"
4772
+ msgid "%1$s of %2$s"
4773
+ msgstr "%1$s de %2$s"
4774
+
4775
  #: ../includes/mycred-log.php:438
4776
  msgid "Go to the next page"
4777
  msgstr "Ir a la página siguiente"
4784
  msgid "Show all references"
4785
  msgstr "Muestra todas las referencias"
4786
 
4787
+ #: ../includes/mycred-log.php:525 ../modules/mycred-module-settings.php:705
4788
  msgid "User ID"
4789
  msgstr "ID del Usuario"
4790
 
4792
  msgid "Show in order"
4793
  msgstr "Mostrar en Orden"
4794
 
4795
+ #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:426
4796
  msgid "Ascending"
4797
  msgstr "Ascendente"
4798
 
4799
+ #: ../includes/mycred-log.php:532 ../includes/mycred-widgets.php:427
4800
  msgid "Descending"
4801
  msgstr "Descendente"
4802
 
4821
  msgid "Entry"
4822
  msgstr "Entrada"
4823
 
4824
+ #: ../includes/mycred-log.php:737 ../modules/mycred-module-log.php:484
4825
  msgid "User Missing"
4826
  msgstr "Usuario Ausente"
4827
 
4838
  msgid "search log entries"
4839
  msgstr "Búsqueda de las entradas de registro"
4840
 
4841
+ #: ../includes/mycred-log.php:836 ../modules/mycred-module-buddypress.php:221 ..
4842
+ #: modules/mycred-module-buddypress.php:234
4843
  msgid "All"
4844
  msgstr "Todo"
4845
 
4846
+ #: ../includes/mycred-log.php:838 ../modules/mycred-module-buddypress.php:223
 
 
 
 
4847
  msgid "Yesterday"
4848
  msgstr "Ayer"
4849
 
 
 
 
 
 
 
 
 
4850
  #: ../includes/mycred-network.php:59 ../includes/mycred-network.php:60
4851
  msgid "Network Settings"
4852
  msgstr "Configuración de la Red"
4912
  msgid "%s Overview"
4913
  msgstr "Descripción de %s"
4914
 
 
 
 
 
4915
  #. also, "Otorgado"
4916
  #: ../includes/mycred-overview.php:81
4917
  msgid "Awarded"
4950
  msgstr "Clave"
4951
 
4952
  #: ../includes/mycred-remote.php:555
4953
+ msgid "16, 24 or 32 characters"
4954
+ msgstr ""
4955
 
4956
  #: ../includes/mycred-remote.php:556
4957
  msgid "Required for this feature to work!<br />Minimum 12 characters."
5003
  "Recuerda a desactivarlo cuando no está en uso para prevenir que llamadas "
5004
  "maliciosas conozcan detalles de tu configuración!"
5005
 
5006
+ #: ../includes/mycred-shortcodes.php:175
5007
  msgid "Leaderboard is empty."
5008
  msgstr "La Tabla de Clasificación esta vacía"
5009
 
5010
+ #: ../includes/mycred-shortcodes.php:525
 
 
 
 
 
 
 
 
5011
  msgid "Anchor missing URL!"
5012
  msgstr "¡La Ancla falta el URL!"
5013
 
5014
+ #: ../includes/mycred-shortcodes.php:637
 
 
 
 
5015
  msgid "Sent"
5016
  msgstr "Enviado"
5017
 
5018
+ #: ../includes/mycred-shortcodes.php:638
5019
  msgid "Error - Try Again"
5020
  msgstr "Error - Inténtelo de nuevo."
5021
 
5022
+ #: ../includes/mycred-shortcodes.php:763
5023
  msgid "A video ID is required for this shortcode"
5024
  msgstr "Este código corto (shortcode) precisa un ID del video."
5025
 
5026
+ #: ../includes/mycred-shortcodes.php:956
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5027
  #, php-format
5028
  msgid "Convert <span>%s</span> to <span>%s</span>"
5029
  msgstr "Convertir <span>%s</span> a <span>%s</span>"
5030
 
5031
+ #: ../includes/mycred-shortcodes.php:965
5032
  #, php-format
5033
  msgid "Your current %s balance"
5034
  msgstr "Tu Saldo Actual %s"
5035
 
5036
+ #: ../includes/mycred-shortcodes.php:973
5037
  #, php-format
5038
  msgid "Minimum %s"
5039
  msgstr "Minimo %s"
5040
 
5041
+ #: ../includes/mycred-shortcodes.php:977
5042
  #, php-format
5043
  msgid "1 %s = <span class=\"rate\">%s</span> %s"
5044
  msgstr "1 %s = <span class=\"rate\">%s</span> %s"
5045
 
5046
+ #: ../includes/mycred-shortcodes.php:983
5047
  msgid "Exchange"
5048
  msgstr "Intercambio"
5049
 
5050
+ #: ../includes/mycred-shortcodes.php:1048
5051
+ msgid "No instances found for this point type"
5052
+ msgstr ""
 
 
 
 
 
 
 
 
 
 
 
5053
 
5054
+ #: ../includes/mycred-shortcodes.php:1052
5055
+ msgid "Invalid point type"
5056
+ msgstr ""
5057
+
5058
+ #: ../includes/mycred-shortcodes.php:1111
5059
+ msgid "Instance"
5060
+ msgstr ""
5061
+
5062
+ #: ../includes/mycred-shortcodes.php:1113 ../modules/mycred-module-hooks.php:600 .
5063
+ #: ./modules/mycred-module-hooks.php:607 ../modules/mycred-module-hooks.php:631 ..
5064
+ #: modules/mycred-module-hooks.php:638 ../modules/mycred-module-hooks.php:706 ..
5065
+ #: modules/mycred-module-hooks.php:713 ../modules/mycred-module-hooks.php:898 ..
5066
+ #: modules/mycred-module-hooks.php:1029 ../modules/mycred-module-hooks.php:1046 .
5067
+ #: ./modules/mycred-module-hooks.php:1093 ../modules/mycred-module-hooks.php:2793
5068
+ #: ../modules/mycred-module-hooks.php:2822 ../plugins/mycred-hook-affiliatewp.php:
5069
+ #: 237 ../plugins/mycred-hook-bbPress.php:413 ../plugins/mycred-hook-bbPress.php:
5070
+ #: 443 ../plugins/mycred-hook-bbPress.php:478 ../plugins/mycred-hook-bbPress.php:
5071
+ #: 495 ../plugins/mycred-hook-buddypress-gallery.php:102 ../plugins/mycred-hook-
5072
+ #: buddypress-links.php:250 ../plugins/mycred-hook-buddypress-links.php:267 ..
5073
+ #: plugins/mycred-hook-buddypress-links.php:284 ../plugins/mycred-hook-
5074
+ #: buddypress-links.php:294 ../plugins/mycred-hook-buddypress-links.php:303 ..
5075
+ #: plugins/mycred-hook-buddypress-links.php:320 ../plugins/mycred-hook-
5076
+ #: buddypress-media.php:209 ../plugins/mycred-hook-buddypress-media.php:223 ..
5077
+ #: plugins/mycred-hook-buddypress-media.php:237 ../plugins/mycred-hook-
5078
+ #: buddypress.php:490 ../plugins/mycred-hook-buddypress.php:507 ../plugins/mycred-
5079
+ #: hook-buddypress.php:524 ../plugins/mycred-hook-buddypress.php:541 ..
5080
+ #: plugins/mycred-hook-buddypress.php:574 ../plugins/mycred-hook-buddypress.php:
5081
+ #: 604 ../plugins/mycred-hook-buddypress.php:621 ../plugins/mycred-hook-
5082
+ #: buddypress.php:1193 ../plugins/mycred-hook-buddypress.php:1210 ..
5083
+ #: plugins/mycred-hook-buddypress.php:1227 ../plugins/mycred-hook-buddypress.php:
5084
+ #: 1244 ../plugins/mycred-hook-buddypress.php:1262 ../plugins/mycred-hook-
5085
+ #: buddypress.php:1292 ../plugins/mycred-hook-buddypress.php:1309 ..
5086
+ #: plugins/mycred-hook-contact-form7.php:147 ../plugins/mycred-hook-events-
5087
+ #: manager-light.php:192 ../plugins/mycred-hook-gravityforms.php:148 ..
5088
+ #: plugins/mycred-hook-invite-anyone.php:202 ../plugins/mycred-hook-invite-
5089
+ #: anyone.php:205 ../plugins/mycred-hook-invite-anyone.php:223 ../plugins/mycred-
5090
+ #: hook-invite-anyone.php:226 ../plugins/mycred-hook-sharethis.php:278 ..
5091
+ #: plugins/mycred-hook-simplepress.php:284 ../plugins/mycred-hook-simplepress.
5092
+ #: php:314 ../plugins/mycred-hook-woocommerce.php:300 ../plugins/mycred-hook-wp-
5093
+ #: favorite-posts.php:213 ../plugins/mycred-hook-wp-favorite-posts.php:231 ..
5094
+ #: plugins/mycred-hook-wp-postratings.php:156 ../plugins/mycred-hook-wp-
5095
+ #: postratings.php:175
5096
+ msgid "Limit"
5097
+ msgstr "Límite"
5098
 
5099
+ #: ../includes/mycred-widgets.php:22
5100
  #, php-format
5101
  msgid "Show the current users %s balance"
5102
  msgstr "Enseñar el saldo de %s del usuario actual"
5103
 
5104
+ #: ../includes/mycred-widgets.php:25
5105
  #, php-format
5106
  msgid "(%s) My Balance"
5107
  msgstr "(%s) Mi Saldo"
5108
 
5109
+ #: ../includes/mycred-widgets.php:212
 
 
 
 
 
 
 
 
 
 
 
 
5110
  msgid "Layout"
5111
  msgstr "Disposición"
5112
 
5113
+ #: ../includes/mycred-widgets.php:220
5114
  msgid "Include history"
5115
  msgstr "Incluir el historial"
5116
 
5117
+ #: ../includes/mycred-widgets.php:222
5118
  msgid "History Title"
5119
  msgstr "Titulo de Historial"
5120
 
5121
  #. the English needs to be corrected to "Number of Entries"
5122
+ #: ../includes/mycred-widgets.php:224
5123
  msgid "Number of entires"
5124
  msgstr "Numero de Entradas"
5125
 
5126
+ #: ../includes/mycred-widgets.php:226 ../includes/mycred-widgets.php:411
5127
  msgid "Row layout"
5128
  msgstr "Disposición de Filas"
5129
 
5130
+ #: ../includes/mycred-widgets.php:234 ../includes/mycred-widgets.php:612
5131
  msgid "Show message when not logged in"
5132
  msgstr "Mostrar mensaje cuando no ha iniciado la sesión"
5133
 
5134
+ #: ../includes/mycred-widgets.php:236 ../includes/mycred-widgets.php:613
5135
  msgid "Message"
5136
  msgstr "Mensaje"
5137
 
5138
+ #: ../includes/mycred-widgets.php:306
5139
  #, php-format
5140
  msgid "Show a list of users sorted by their %s balance"
5141
  msgstr "Mustra una lista de usuarios ordenados por sus %s saldos"
5142
 
5143
+ #: ../includes/mycred-widgets.php:309
5144
  #, php-format
5145
  msgid "(%s) Leaderboard"
5146
  msgstr "(%s) Tabla de Clasificación"
5147
 
5148
+ #: ../includes/mycred-widgets.php:398
 
 
 
 
5149
  msgid "Based On"
5150
  msgstr "Basado Sobre"
5151
 
5152
+ #: ../includes/mycred-widgets.php:400
5153
  msgid ""
5154
  "Use \"balance\" to base the leaderboard on your users current balances or use "
5155
  "a specific reference."
5157
  "Utiliza \"saldo\" para basar la tabla de clasificación sobre los saldos "
5158
  "actuales de tus usuarios o utiliza una referencia especifica."
5159
 
5160
+ #: ../includes/mycred-widgets.php:400
5161
  msgid "Reference Guide"
5162
  msgstr "Guia de Referencia"
5163
 
5164
+ #: ../includes/mycred-widgets.php:405
5165
  msgid "Visible to non-members"
5166
  msgstr "Visible al público (no miembros)"
5167
 
5168
+ #: ../includes/mycred-widgets.php:407
5169
  msgid "Number of users"
5170
  msgstr "Numero de Usuarios"
5171
 
5172
+ #: ../includes/mycred-widgets.php:416
5173
  msgid "Offset"
5174
  msgstr "Offset"
5175
 
5176
+ #: ../includes/mycred-widgets.php:418
5177
  msgid "Optional offset of order. Use zero to return the first in the list."
5178
  msgstr ""
5179
  "Opcional desplazamiento (offset) de la orden. Utilice cero para devolver el "
5180
  "primero en la lista."
5181
 
5182
+ #: ../includes/mycred-widgets.php:421
5183
  msgid "Order"
5184
  msgstr "Orden"
5185
 
5186
+ #: ../includes/mycred-widgets.php:441
5187
  msgid "Append current users position"
5188
  msgstr "Añade la posición actual de usuarios "
5189
 
5190
+ #: ../includes/mycred-widgets.php:442
5191
  msgid ""
5192
  "If the current user is not in this leaderboard, you can select to append "
5193
  "them at the end with their current position."
5195
  "Si el usuario actual no esta en esta tabla de clasificación, puedes elegir a "
5196
  "agregarles al final con su posición actual."
5197
 
5198
+ #: ../includes/mycred-widgets.php:493
5199
  msgid "Shows the current users balances for each point type."
5200
  msgstr "Mostrar el saldo actual del usuario para cada clase de punto (\"point type\")."
5201
 
5202
+ #: ../includes/mycred-widgets.php:496
5203
  #, php-format
5204
  msgid "(%s) Wallet"
5205
  msgstr "(%s) Cartera"
5206
 
5207
+ #: ../includes/mycred-widgets.php:604
 
 
 
 
5208
  msgid "Row Layout"
5209
  msgstr "Disposición de Filas"
5210
 
5236
  "Importación Finalizado - En total, <strong>%d</strong> saldos fueron "
5237
  "importado con éxito. Se saltaron <strong>%d</strong>."
5238
 
 
 
 
 
 
5239
  #: ../includes/importers/mycred-balances.php:181 ../includes/importers/mycred-
5240
  #: cubepoints.php:293 ../includes/importers/mycred-log-entries.php:148
5241
  msgid "Import More"
5366
  msgid "Add-ons"
5367
  msgstr "Extensiones"
5368
 
5369
+ #: ../modules/mycred-module-addons.php:151
5370
  msgid "Give your users badges based on their interaction with your website."
5371
  msgstr "Dar insignias a tus usuarios basado en sus interacciones con tu sitio web."
5372
 
5373
+ #: ../modules/mycred-module-addons.php:162
5374
  msgid "Setup recurring payouts or offer / charge interest on user account balances."
5375
  msgstr ""
5376
  "Configura los pagos recurrentes u ofrecer / cobrar interés sobre los saldos "
5377
  "de las cuentas de usuarios."
5378
 
5379
+ #: ../modules/mycred-module-addons.php:173
5380
  msgid ""
5381
  "The <strong>buy</strong>CRED Add-on allows your users to buy points using "
5382
  "PayPal, Skrill (Moneybookers) or NETbilling. <strong>buy</strong>CRED can "
5387
  "<strong>compra</strong>CRED tambien permite que tus usuarios compren puntos "
5388
  "para otros miembros."
5389
 
5390
+ #: ../modules/mycred-module-addons.php:184
5391
  msgid ""
5392
  "The coupons add-on allows you to create coupons that users can use to add "
5393
  "points to their accounts."
5395
  "Los cupones de add-on le permite crear cupones que los usuarios pueden "
5396
  "utilizar para agregar puntos a sus cuentas."
5397
 
5398
+ #: ../modules/mycred-module-addons.php:195
5399
  msgid "Create email notices for any type of myCRED instance."
5400
  msgstr ""
5401
  "Crea avisos por correo electrónico para cualquier tipo de instancias de "
5402
  "myCRED."
5403
 
5404
+ #: ../modules/mycred-module-addons.php:206
5405
  msgid ""
5406
  "Let your users pay using their <strong>my</strong>CRED points balance. "
5407
  "Supported Carts: WooCommerce, MarketPress and WP E-Commerce. Supported Event "
5412
  "WP E-Commerce. Reservas de Eventos soportados: Event Espresso and Events "
5413
  "Manager (gratis y pro)."
5414
 
5415
+ #: ../modules/mycred-module-addons.php:217
5416
  msgid "Create pop-up notifications for when users gain or loose points."
5417
  msgstr "Crear notificaciones pop-up cuando los usuarios ganan o pierden puntos."
5418
 
5419
+ #: ../modules/mycred-module-addons.php:229
5420
  msgid ""
5421
  "Create ranks for users reaching a certain number of %_plural% with the "
5422
  "option to add logos for each rank."
5424
  "Crear rangos para los usuarios que alcanzan a un cierto número de %_plural% "
5425
  "con la opción de añadir logotipos para cada rango."
5426
 
5427
+ #: ../modules/mycred-module-addons.php:240
5428
  msgid ""
5429
  "This add-on allows you to sell posts, pages or any public post types on your "
5430
  "website. You can either sell the entire content or using our shortcode, sell "
5435
  "el código corto (shortcode), vender partes de tu contenido permitiendote "
5436
  "ofrecer \"avances\"."
5437
 
5438
+ #: ../modules/mycred-module-addons.php:251
5439
+ msgid ""
5440
+ "Gives you access to your myCRED Staticstics based on your users gains and "
5441
+ "loses."
5442
+ msgstr ""
5443
+
5444
+ #: ../modules/mycred-module-addons.php:262
5445
  msgid ""
5446
  "Allow your users to send or \"donate\" points to other members by either using "
5447
  "the mycred_transfer shortcode or the myCRED Transfer widget."
5450
  "el código corto (shortcode) de mycred_transfer o el widget de Transferencia "
5451
  "myCRED."
5452
 
5453
+ #: ../modules/mycred-module-addons.php:297
5454
  #, php-format
5455
  msgid "%s Add-ons"
5456
  msgstr "%s Extensiones (addons)"
5457
 
5458
+ #: ../modules/mycred-module-addons.php:302
5459
  msgid "Add-on Activated"
5460
  msgstr "Extensión Activado"
5461
 
5462
+ #: ../modules/mycred-module-addons.php:305
5463
  msgid "Add-on Deactivated"
5464
  msgstr "Extensión Desactivado"
5465
 
5466
+ #: ../modules/mycred-module-addons.php:309
5467
  msgid "Add-ons can expand your current installation with further features."
5468
  msgstr ""
5469
  "Extensiones pueden ampliar tu instalación actual con más características "
5470
  "técnicas."
5471
 
5472
+ #: ../modules/mycred-module-addons.php:330
5473
  #, php-format
5474
  msgid "You can find more add-ons in our %s."
5475
  msgstr "Puedes encontrar más extensiones (add-ons) en nuestro %s."
5476
 
5477
+ #: ../modules/mycred-module-addons.php:330
5478
  msgid "online store"
5479
  msgstr "tienda online"
5480
 
5481
+ #: ../modules/mycred-module-addons.php:351
5482
  msgid "Deactivate Add-on"
5483
  msgstr "Desactivar Extensión"
5484
 
5485
+ #: ../modules/mycred-module-addons.php:352
5486
  msgid "Deactivate"
5487
  msgstr "Desactivar"
5488
 
5489
+ #: ../modules/mycred-module-addons.php:359
5490
  msgid "Activate Add-on"
5491
  msgstr "Activar Extensión"
5492
 
5493
+ #: ../modules/mycred-module-addons.php:360
5494
  msgid "Activate"
5495
  msgstr "Activar"
5496
 
5497
+ #: ../modules/mycred-module-addons.php:376
5498
  msgid "Version"
5499
  msgstr "Version"
5500
 
5501
+ #: ../modules/mycred-module-addons.php:380
5502
  msgid "By"
5503
  msgstr "Por"
5504
 
5505
+ #: ../modules/mycred-module-addons.php:384
5506
  msgid "About"
5507
  msgstr "Acerca de"
5508
 
5509
+ #: ../modules/mycred-module-addons.php:388
5510
  msgid "Get Pro"
5511
  msgstr "Obtenga la versión Pro"
5512
 
5519
  msgid "%s's History"
5520
  msgstr "La Historial de %s"
5521
 
5522
+ #: ../modules/mycred-module-buddypress.php:121
5523
  msgid "Current balance"
5524
  msgstr "Saldo Actual"
5525
 
5526
+ #: ../modules/mycred-mod