myCRED - Version 1.3

Version Description

Performance improvement, new Remote API, updated styling and bug fixes.

=

Download this release

Release Info

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

Code changes from version 1.2.3 to 1.3

Files changed (68) hide show
  1. abstracts/mycred-abstract-hook.php +1 -1
  2. abstracts/mycred-abstract-module.php +31 -25
  3. addons/banking/myCRED-addon-banking.php +36 -12
  4. addons/banking/services/mycred-bank-service-interest.php +21 -10
  5. addons/banking/services/mycred-bank-service-payouts.php +16 -4
  6. addons/buddypress/hooks/bp-profile.php +21 -3
  7. addons/buddypress/myCRED-addon-buddypress.php +19 -14
  8. addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php +3 -4
  9. addons/buy-creds/myCRED-addon-buy-creds.php +40 -29
  10. addons/email-notices/myCRED-addon-email-notices.php +2 -2
  11. addons/gateway/carts/mycred-marketpress.php +86 -45
  12. addons/gateway/carts/mycred-woocommerce.php +60 -5
  13. addons/gateway/carts/mycred-wpecommerce.php +399 -0
  14. addons/gateway/event-booking/mycred-eventespresso3.php +29 -4
  15. addons/gateway/event-booking/mycred-eventsmanager-pro.php +600 -0
  16. addons/gateway/event-booking/mycred-eventsmanager.php +29 -4
  17. addons/gateway/membership/index.php +3 -0
  18. addons/gateway/myCRED-addon-gateway.php +39 -6
  19. addons/import/myCRED-addon-import.php +9 -8
  20. addons/notifications/myCRED-addon-notifications.php +41 -32
  21. addons/ranks/myCRED-addon-ranks.php +13 -14
  22. addons/sell-content/myCRED-addon-sell-content.php +16 -7
  23. addons/transfer/myCRED-addon-transfer.php +11 -11
  24. assets/css/admin.css +35 -16
  25. assets/css/inline-edit.css +1 -1
  26. assets/css/zocial/zocial-regular-webfont.eot +0 -0
  27. assets/css/zocial/zocial-regular-webfont.svg +0 -151
  28. assets/css/zocial/zocial-regular-webfont.ttf +0 -0
  29. assets/css/zocial/zocial-regular-webfont.woff +0 -0
  30. assets/css/zocial/zocial.css +0 -473
  31. assets/images/admin-icons.png +0 -0
  32. assets/images/gateway-icons.png +0 -0
  33. assets/js/links.js +10 -23
  34. assets/js/management.js +183 -0
  35. assets/js/widget.js +0 -5
  36. assets/libs/index.php +3 -0
  37. assets/libs/parsecsv.lib.php +695 -0
  38. includes/mycred-admin.php +5 -4
  39. includes/mycred-functions.php +243 -45
  40. includes/mycred-install.php +40 -95
  41. includes/mycred-log.php +476 -0
  42. includes/mycred-network.php +97 -53
  43. includes/mycred-protect.php +4 -4
  44. includes/mycred-rankings.php +12 -14
  45. includes/mycred-remote.php +632 -0
  46. includes/mycred-shortcodes.php +182 -11
  47. includes/mycred-widgets.php +2 -0
  48. lang/mycred-en_US.mo +0 -0
  49. lang/mycred.pot +1960 -1810
  50. modules/mycred-module-addons.php +21 -16
  51. modules/mycred-module-general.php +274 -14
  52. modules/mycred-module-help.php +0 -205
  53. modules/mycred-module-hooks.php +150 -193
  54. modules/mycred-module-log.php +48 -539
  55. modules/mycred-module-plugins.php +0 -1572
  56. modules/mycred-module-subscriptions.php +0 -508
  57. mycred.php +480 -640
  58. plugins/index.php +3 -0
  59. plugins/mycred-hook-badgeOS.php +287 -0
  60. plugins/mycred-hook-bbPress.php +529 -0
  61. plugins/mycred-hook-contact-form7.php +147 -0
  62. plugins/mycred-hook-events-manager-light.php +171 -0
  63. plugins/mycred-hook-gd-star-rating.php +130 -0
  64. plugins/mycred-hook-invite-anyone.php +180 -0
  65. plugins/mycred-hook-jetpack.php +520 -0
  66. plugins/mycred-hook-wp-favorite-posts.php +155 -0
  67. plugins/mycred-hook-wp-polls.php +144 -0
  68. readme.txt +67 -43
abstracts/mycred-abstract-hook.php CHANGED
@@ -44,7 +44,7 @@ if ( !class_exists( 'myCRED_Hook' ) ) {
44
 
45
  // Apply default settings if needed
46
  if ( !empty( $this->defaults ) )
47
- $this->prefs = wp_parse_args( $this->prefs, $this->defaults );
48
  }
49
 
50
  /**
44
 
45
  // Apply default settings if needed
46
  if ( !empty( $this->defaults ) )
47
+ $this->prefs = mycred_apply_defaults( $this->defaults, $this->prefs );
48
  }
49
 
50
  /**
abstracts/mycred-abstract-module.php CHANGED
@@ -4,7 +4,7 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
4
  * myCRED_Module class
5
  * @see http://mycred.me/classes/mycred_module/
6
  * @since 0.1
7
- * @version 1.2
8
  */
9
  if ( !class_exists( 'myCRED_Module' ) ) {
10
  abstract class myCRED_Module {
@@ -74,7 +74,7 @@ if ( !class_exists( 'myCRED_Module' ) ) {
74
  $this->menu_pos = $args['menu_pos'];
75
 
76
  $this->set_settings( $args['defaults'] );
77
- unset( $args );
78
  }
79
 
80
  /**
@@ -110,10 +110,15 @@ if ( !class_exists( 'myCRED_Module' ) ) {
110
  }
111
  // Loop and grab
112
  foreach ( $this->option_id as $option_id => $option_name ) {
113
- if ( mycred_overwrite() === false )
 
 
 
 
 
 
114
  $settings = get_option( $option_id );
115
- else
116
- $settings = get_blog_option( 1, $option_id );
117
 
118
  if ( $settings === false && array_key_exists( $option_id, $defaults ) )
119
  $this->$module[$option_name] = $defaults[$option_id];
@@ -133,10 +138,15 @@ if ( !class_exists( 'myCRED_Module' ) ) {
133
  }
134
  // Grab the requested option
135
  else {
136
- if ( mycred_overwrite() === false )
 
 
 
 
 
 
137
  $this->$module = get_option( $this->option_id );
138
- else
139
- $this->$module = get_blog_option( 1, $this->option_id );
140
 
141
  if ( $this->$module === false && !empty( $defaults ) )
142
  $this->$module = $defaults;
@@ -295,7 +305,7 @@ if ( !class_exists( 'myCRED_Module' ) ) {
295
  */
296
  function add_menu() {
297
  // Network Setting for Multisites
298
- if ( ( is_multisite() && mycred_overwrite() === true ) && ( $this->screen_id != 'myCRED' || $GLOBALS['blog_id'] != 1 ) ) return;
299
 
300
  if ( !empty( $this->labels ) && !empty( $this->screen_id ) ) {
301
  // Menu Label
@@ -347,30 +357,26 @@ if ( !class_exists( 'myCRED_Module' ) ) {
347
  * Outputs the "click to open" and "click to close" text to the accordion.
348
  *
349
  * @since 0.1
350
- * @version 1.1
351
  */
352
  function settings_header() {
353
- if ( $this->accordion === true )
 
354
  wp_enqueue_script( 'mycred-admin' );
355
-
356
- wp_enqueue_style( 'mycred-admin' );
357
-
358
- // Load help
359
- $help = new myCRED_Help();
360
- $help_screen = $this->module_name . '_page';
361
- if ( method_exists( $help, $help_screen ) ) {
362
- $screen = get_current_screen();
363
- $help->$help_screen( $screen );
364
  }
365
 
366
- if ( $this->accordion === false ) return;
367
- $click_to_open = __( 'click to open', 'mycred' );
368
- $click_to_close = __( 'click to close', 'mycred' ); ?>
 
 
 
 
369
 
370
  <style type="text/css">
371
  h4:before { float:right; padding-right: 12px; font-size: 14px; font-weight: normal; color: silver; }
372
- h4.ui-accordion-header.ui-state-active:before { content: "<?php echo $click_to_close; ?>"; }
373
- h4.ui-accordion-header:before { content: "<?php echo $click_to_open; ?>"; }
374
  </style>
375
  <?php
376
  }
4
  * myCRED_Module class
5
  * @see http://mycred.me/classes/mycred_module/
6
  * @since 0.1
7
+ * @version 1.3
8
  */
9
  if ( !class_exists( 'myCRED_Module' ) ) {
10
  abstract class myCRED_Module {
74
  $this->menu_pos = $args['menu_pos'];
75
 
76
  $this->set_settings( $args['defaults'] );
77
+ $args = NULL;
78
  }
79
 
80
  /**
110
  }
111
  // Loop and grab
112
  foreach ( $this->option_id as $option_id => $option_name ) {
113
+ if ( is_multisite() ) {
114
+ if ( mycred_override_settings() )
115
+ $settings = get_blog_option( 1, $option_id );
116
+ else
117
+ $settings = get_blog_option( $GLOBALS['blog_id'], $option_id );
118
+ }
119
+ else {
120
  $settings = get_option( $option_id );
121
+ }
 
122
 
123
  if ( $settings === false && array_key_exists( $option_id, $defaults ) )
124
  $this->$module[$option_name] = $defaults[$option_id];
138
  }
139
  // Grab the requested option
140
  else {
141
+ if ( is_multisite() ) {
142
+ if ( mycred_override_settings() )
143
+ $this->$module = get_blog_option( 1, $this->option_id );
144
+ else
145
+ $this->$module = get_blog_option( $GLOBALS['blog_id'], $this->option_id );
146
+ }
147
+ else {
148
  $this->$module = get_option( $this->option_id );
149
+ }
 
150
 
151
  if ( $this->$module === false && !empty( $defaults ) )
152
  $this->$module = $defaults;
305
  */
306
  function add_menu() {
307
  // Network Setting for Multisites
308
+ if ( mycred_override_settings() && $GLOBALS['blog_id'] > 1 && $this->screen_id != 'myCRED' ) return;
309
 
310
  if ( !empty( $this->labels ) && !empty( $this->screen_id ) ) {
311
  // Menu Label
357
  * Outputs the "click to open" and "click to close" text to the accordion.
358
  *
359
  * @since 0.1
360
+ * @version 1.2
361
  */
362
  function settings_header() {
363
+ if ( $this->accordion === true ) {
364
+ wp_dequeue_script( 'bpge_admin_js_acc' );
365
  wp_enqueue_script( 'mycred-admin' );
 
 
 
 
 
 
 
 
 
366
  }
367
 
368
+ wp_enqueue_style( 'mycred-admin' ); ?>
369
+
370
+ <style type="text/css">
371
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(<?php echo apply_filters( 'mycred_icon', plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS ) ); ?>); }
372
+ </style>
373
+ <?php
374
+ if ( $this->accordion === false ) return; ?>
375
 
376
  <style type="text/css">
377
  h4:before { float:right; padding-right: 12px; font-size: 14px; font-weight: normal; color: silver; }
378
+ h4.ui-accordion-header.ui-state-active:before { content: "<?php _e( 'click to close', 'mycred' ); ?>"; }
379
+ h4.ui-accordion-header:before { content: "<?php _e( 'click to open', 'mycred' ); ?>"; }
380
  </style>
381
  <?php
382
  }
addons/banking/myCRED-addon-banking.php CHANGED
@@ -32,7 +32,7 @@ require_once( myCRED_BANK_SERVICES_DIR . 'mycred-bank-service-payouts.php' );
32
  */
33
  if ( !class_exists( 'myCRED_Banking' ) ) {
34
  class myCRED_Banking extends myCRED_Module {
35
-
36
  /**
37
  * Constructor
38
  */
@@ -55,7 +55,7 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
55
  'menu_pos' => 30
56
  ) );
57
  }
58
-
59
  /**
60
  * Load Services
61
  * @since 1.2
@@ -98,7 +98,7 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
98
  }
99
  }
100
  }
101
-
102
  /**
103
  * Get Bank Services
104
  * @since 1.2
@@ -132,7 +132,31 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
132
  $this->services = $services;
133
  return $services;
134
  }
135
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  /**
137
  * Admin Page
138
  * @since 0.1
@@ -141,10 +165,10 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
141
  public function admin_page() {
142
  // Security
143
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied', 'mycred' ) );
144
-
145
  // Get installed
146
  $installed = $this->get( true );
147
-
148
  // Message
149
  if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == true ) {
150
  echo '<div class="updated settings-error"><p>' . __( 'Settings Updated', 'mycred' ) . '</p></div>';
@@ -155,7 +179,7 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
155
  <h2><?php echo apply_filters( 'mycred_label', myCRED_NAME ) . ' ' . __( 'Banking', 'mycred' ); ?></h2>
156
  <p><?php echo $this->core->template_tags_general( __( 'This add-on allows you to setup transaction fees for %_plural% transfers, purchases or payments using the Gateway add-on, along with offering interest on %_plural% balances.', 'mycred' ) ); ?></p>
157
  <?php if ( defined( 'DISABLE_WP_CRON' ) ) : ?>
158
-
159
  <p><strong><?php _e( 'WP-Cron deactivation detected!', 'mycred' ); ?></strong></p>
160
  <p><?php _e( 'Warning! This add-on requires WP - Cron to work.', 'mycred' ); ?></p>
161
  <?php return; endif; ?>
@@ -167,7 +191,7 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
167
  <?php if ( !empty( $installed ) ) {
168
  foreach ( $installed as $key => $data ) { ?>
169
 
170
- <h4 class="<?php if ( $this->is_active( $key ) ) echo 'active'; else echo 'inactive'; ?>"><label><?php echo $this->core->template_tags_general( $data['title'] ); ?></label></h4>
171
  <div class="body" style="display:none;">
172
  <p><?php echo nl2br( $this->core->template_tags_general( $data['description'] ) ); ?></p>
173
  <label class="subheader"><?php _e( 'Enable', 'mycred' ); ?></label>
@@ -183,7 +207,7 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
183
  } ?>
184
 
185
  </div>
186
- <?php submit_button( __( 'Update Changes', 'mycred' ), 'primary large' ); ?>
187
 
188
  </form>
189
  </div>
@@ -212,17 +236,17 @@ if ( !class_exists( 'myCRED_Banking' ) ) {
212
  if ( isset( $data['callback'] ) && isset( $post['service_prefs'][$key] ) ) {
213
  // Old settings
214
  $old_settings = $post['service_prefs'][$key];
215
-
216
  // New settings
217
  $new_settings = $this->call( 'sanitise_preferences', $data['callback'], $old_settings );
218
-
219
  // If something went wrong use the old settings
220
  if ( empty( $new_settings ) || $new_settings === NULL || !is_array( $new_settings ) )
221
  $new_post['service_prefs'][$key] = $old_settings;
222
  // Else we got ourselves new settings
223
  else
224
  $new_post['service_prefs'][$key] = $new_settings;
225
-
226
  // Handle de-activation
227
  if ( isset( $this->active ) && !empty( $this->active ) ) {
228
  foreach ( $this->active as $id ) {
32
  */
33
  if ( !class_exists( 'myCRED_Banking' ) ) {
34
  class myCRED_Banking extends myCRED_Module {
35
+
36
  /**
37
  * Constructor
38
  */
55
  'menu_pos' => 30
56
  ) );
57
  }
58
+
59
  /**
60
  * Load Services
61
  * @since 1.2
98
  }
99
  }
100
  }
101
+
102
  /**
103
  * Get Bank Services
104
  * @since 1.2
132
  $this->services = $services;
133
  return $services;
134
  }
135
+
136
+ /**
137
+ * Page Header
138
+ * @since 1.3
139
+ * @version 1.0
140
+ */
141
+ public function settings_header() {
142
+ wp_dequeue_script( 'bpge_admin_js_acc' );
143
+ wp_enqueue_script( 'mycred-admin' );
144
+ wp_enqueue_style( 'mycred-admin' ); ?>
145
+
146
+ <style type="text/css">
147
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(<?php echo apply_filters( 'mycred_icon', plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS ) ); ?>); }
148
+ #myCRED-wrap #accordion h4 .gate-icon { display: block; width: 48px; height: 48px; margin: 0 0 0 0; padding: 0; float: left; line-height: 48px; }
149
+ #myCRED-wrap #accordion h4 .gate-icon { background-repeat: no-repeat; background-image: url(<?php echo plugins_url( 'assets/images/gateway-icons.png', myCRED_THIS ); ?>); background-position: 0 0; }
150
+ #myCRED-wrap #accordion h4 .gate-icon.inactive { background-position-x: 0; }
151
+ #myCRED-wrap #accordion h4 .gate-icon.active { background-position-x: -48px; }
152
+ #myCRED-wrap #accordion h4 .gate-icon.sandbox { background-position-x: -96px; }
153
+ h4:before { float:right; padding-right: 12px; font-size: 14px; font-weight: normal; color: silver; }
154
+ h4.ui-accordion-header.ui-state-active:before { content: "<?php _e( 'click to close', 'mycred' ); ?>"; }
155
+ h4.ui-accordion-header:before { content: "<?php _e( 'click to open', 'mycred' ); ?>"; }
156
+ </style>
157
+ <?php
158
+ }
159
+
160
  /**
161
  * Admin Page
162
  * @since 0.1
165
  public function admin_page() {
166
  // Security
167
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied', 'mycred' ) );
168
+
169
  // Get installed
170
  $installed = $this->get( true );
171
+
172
  // Message
173
  if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == true ) {
174
  echo '<div class="updated settings-error"><p>' . __( 'Settings Updated', 'mycred' ) . '</p></div>';
179
  <h2><?php echo apply_filters( 'mycred_label', myCRED_NAME ) . ' ' . __( 'Banking', 'mycred' ); ?></h2>
180
  <p><?php echo $this->core->template_tags_general( __( 'This add-on allows you to setup transaction fees for %_plural% transfers, purchases or payments using the Gateway add-on, along with offering interest on %_plural% balances.', 'mycred' ) ); ?></p>
181
  <?php if ( defined( 'DISABLE_WP_CRON' ) ) : ?>
182
+
183
  <p><strong><?php _e( 'WP-Cron deactivation detected!', 'mycred' ); ?></strong></p>
184
  <p><?php _e( 'Warning! This add-on requires WP - Cron to work.', 'mycred' ); ?></p>
185
  <?php return; endif; ?>
191
  <?php if ( !empty( $installed ) ) {
192
  foreach ( $installed as $key => $data ) { ?>
193
 
194
+ <h4><div class="gate-icon <?php if ( $this->is_active( $key ) ) echo 'active'; else echo 'inactive'; ?>"></div><?php echo $this->core->template_tags_general( $data['title'] ); ?></h4>
195
  <div class="body" style="display:none;">
196
  <p><?php echo nl2br( $this->core->template_tags_general( $data['description'] ) ); ?></p>
197
  <label class="subheader"><?php _e( 'Enable', 'mycred' ); ?></label>
207
  } ?>
208
 
209
  </div>
210
+ <?php submit_button( __( 'Update Changes', 'mycred' ), 'primary large', 'submit', false ); ?>
211
 
212
  </form>
213
  </div>
236
  if ( isset( $data['callback'] ) && isset( $post['service_prefs'][$key] ) ) {
237
  // Old settings
238
  $old_settings = $post['service_prefs'][$key];
239
+
240
  // New settings
241
  $new_settings = $this->call( 'sanitise_preferences', $data['callback'], $old_settings );
242
+
243
  // If something went wrong use the old settings
244
  if ( empty( $new_settings ) || $new_settings === NULL || !is_array( $new_settings ) )
245
  $new_post['service_prefs'][$key] = $old_settings;
246
  // Else we got ourselves new settings
247
  else
248
  $new_post['service_prefs'][$key] = $new_settings;
249
+
250
  // Handle de-activation
251
  if ( isset( $this->active ) && !empty( $this->active ) ) {
252
  foreach ( $this->active as $id ) {
addons/banking/services/mycred-bank-service-interest.php CHANGED
@@ -23,7 +23,8 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
23
  ),
24
  'last_payout' => '',
25
  'log' => __( '%plural% interest rate payment', 'mycred' ),
26
- 'min_balance' => 1
 
27
  )
28
  ), $service_prefs );
29
  }
@@ -68,7 +69,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
68
  */
69
  public function process() {
70
  // Unschedule if amount is set to zero
71
- if ( $this->prefs['rate']['amount'] == $this->core->format_number( 0 ) ) {
72
  $timestamp = wp_next_scheduled( 'mycred_banking_interest_compound' );
73
  if ( $timestamp !== false )
74
  wp_clear_scheduled_hook( $timestamp, 'mycred_banking_interest_compound' );
@@ -81,7 +82,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
81
 
82
  $unow = date_i18n( 'U' );
83
  // Cant pay interest on zero
84
- if ( $this->prefs['rate']['amount'] == $this->core->format_number( 0 ) ) return;
85
 
86
  // Should we payout
87
  $payout_now = $this->get_now( $this->prefs['rate']['pay_out'] );
@@ -113,7 +114,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
113
  * @version 1.0
114
  */
115
  public function do_compound() {
116
- if ( $this->prefs['rate']['amount'] == $this->core->format_number( 0 ) ) return;
117
  // Get users
118
  $users = $this->get_users();
119
  $total = count( $users );
@@ -140,12 +141,12 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
140
  * Do Compound Batch
141
  * Compounds interest for each user ID given in batch.
142
  * @since 1.2
143
- * @version 1.2
144
  */
145
  public function do_compound_batch( $batch ) {
146
  if ( !empty( $batch ) && is_array( $batch ) ) {
147
 
148
- set_time_limit( 0 );
149
 
150
  foreach ( $batch as $user_id ) {
151
  $user_id = intval( $user_id );
@@ -214,12 +215,12 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
214
  * Do Payout
215
  * Runs though all user compounded interest and pays.
216
  * @since 1.2
217
- * @version 1.2
218
  */
219
  public function do_interest_batch( $batch ) {
220
  if ( !empty( $batch ) && is_array( $batch ) ) {
221
 
222
- set_time_limit( 0 );
223
 
224
  foreach ( $batch as $user_id ) {
225
  $user_id = intval( $user_id );
@@ -266,7 +267,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
266
  /**
267
  * Preference for Savings
268
  * @since 1.2
269
- * @version 1.0
270
  */
271
  public function preferences() {
272
  $prefs = $this->prefs; ?>
@@ -301,6 +302,13 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
301
  <span class="description"><?php _e( 'Available template tags: General, %timeframe%, %rate%, %base%', 'mycred' ); ?></span>
302
  </li>
303
  </ol>
 
 
 
 
 
 
 
304
  <?php do_action( 'mycred_banking_compound_interest', $this->prefs ); ?>
305
  <?php
306
  }
@@ -308,7 +316,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
308
  /**
309
  * Sanitise Preferences
310
  * @since 1.2
311
- * @version 1.0
312
  */
313
  function sanitise_preferences( $post ) {
314
  $new_settings = $post;
@@ -325,6 +333,9 @@ if ( !class_exists( 'myCRED_Banking_Service_Interest' ) ) {
325
 
326
  $new_settings['log'] = trim( $post['log'] );
327
 
 
 
 
328
  return apply_filters( 'mycred_banking_save_interest', $new_settings, $this->prefs );
329
  }
330
  }
23
  ),
24
  'last_payout' => '',
25
  'log' => __( '%plural% interest rate payment', 'mycred' ),
26
+ 'min_balance' => 1,
27
+ 'run_time' => 60
28
  )
29
  ), $service_prefs );
30
  }
69
  */
70
  public function process() {
71
  // Unschedule if amount is set to zero
72
+ if ( $this->prefs['rate']['amount'] == $this->core->zero() ) {
73
  $timestamp = wp_next_scheduled( 'mycred_banking_interest_compound' );
74
  if ( $timestamp !== false )
75
  wp_clear_scheduled_hook( $timestamp, 'mycred_banking_interest_compound' );
82
 
83
  $unow = date_i18n( 'U' );
84
  // Cant pay interest on zero
85
+ if ( $this->prefs['rate']['amount'] == $this->core->zero() ) return;
86
 
87
  // Should we payout
88
  $payout_now = $this->get_now( $this->prefs['rate']['pay_out'] );
114
  * @version 1.0
115
  */
116
  public function do_compound() {
117
+ if ( $this->prefs['rate']['amount'] == $this->core->zero() ) return;
118
  // Get users
119
  $users = $this->get_users();
120
  $total = count( $users );
141
  * Do Compound Batch
142
  * Compounds interest for each user ID given in batch.
143
  * @since 1.2
144
+ * @version 1.2.1
145
  */
146
  public function do_compound_batch( $batch ) {
147
  if ( !empty( $batch ) && is_array( $batch ) ) {
148
 
149
+ set_time_limit( $this->prefs['run_time'] );
150
 
151
  foreach ( $batch as $user_id ) {
152
  $user_id = intval( $user_id );
215
  * Do Payout
216
  * Runs though all user compounded interest and pays.
217
  * @since 1.2
218
+ * @version 1.2.1
219
  */
220
  public function do_interest_batch( $batch ) {
221
  if ( !empty( $batch ) && is_array( $batch ) ) {
222
 
223
+ set_time_limit( $this->prefs['run_time'] );
224
 
225
  foreach ( $batch as $user_id ) {
226
  $user_id = intval( $user_id );
267
  /**
268
  * Preference for Savings
269
  * @since 1.2
270
+ * @version 1.2
271
  */
272
  public function preferences() {
273
  $prefs = $this->prefs; ?>
302
  <span class="description"><?php _e( 'Available template tags: General, %timeframe%, %rate%, %base%', 'mycred' ); ?></span>
303
  </li>
304
  </ol>
305
+ <label class="subheader" for="<?php echo $this->field_id( 'run_time' ); ?>"><?php _e( 'Run Time', 'mycred' ); ?></label>
306
+ <ol>
307
+ <li>
308
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( 'run_time' ); ?>" id="<?php echo $this->field_id( 'run_time' ); ?>" value="<?php echo $prefs['run_time']; ?>" size="4" /></div>
309
+ <span class="description"><?php _e( 'For large websites, if you are running into time out issues during payouts, you can set the number of seconds a process can run. Use zero for unlimited, but be careful especially if you are on a shared server.', 'mycred' ); ?></span>
310
+ </li>
311
+ </ol>
312
  <?php do_action( 'mycred_banking_compound_interest', $this->prefs ); ?>
313
  <?php
314
  }
316
  /**
317
  * Sanitise Preferences
318
  * @since 1.2
319
+ * @version 1.2
320
  */
321
  function sanitise_preferences( $post ) {
322
  $new_settings = $post;
333
 
334
  $new_settings['log'] = trim( $post['log'] );
335
 
336
+ $post['run_time'] = abs( $post['run_time'] );
337
+ $new_settings['run_time'] = sanitize_text_field( $post['run_time'] );
338
+
339
  return apply_filters( 'mycred_banking_save_interest', $new_settings, $this->prefs );
340
  }
341
  }
addons/banking/services/mycred-bank-service-payouts.php CHANGED
@@ -21,7 +21,8 @@ if ( !class_exists( 'myCRED_Banking_Service_Payouts' ) ) {
21
  'log' => __( 'Daily %_plural%', 'mycred' ),
22
  'excludes' => '',
23
  'cycles' => 0,
24
- 'last_run' => ''
 
25
  )
26
  ), $service_prefs );
27
  }
@@ -139,7 +140,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Payouts' ) ) {
139
  public function do_payout_batch( $batch, $set = NULL, $cycle = NULL ) {
140
  if ( !empty( $batch ) && is_array( $batch ) ) {
141
 
142
- set_time_limit( 0 );
143
 
144
  foreach ( $batch as $user_id ) {
145
  $user_id = intval( $user_id );
@@ -201,7 +202,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Payouts' ) ) {
201
  /**
202
  * Preference for Savings
203
  * @since 1.2
204
- * @version 1.0
205
  */
206
  public function preferences() {
207
  $prefs = $this->prefs;
@@ -254,6 +255,13 @@ if ( !class_exists( 'myCRED_Banking_Service_Payouts' ) ) {
254
  <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
255
  </li>
256
  </ol>
 
 
 
 
 
 
 
257
  <?php do_action( 'mycred_banking_recurring_payouts', $this->prefs ); ?>
258
  <?php
259
  }
@@ -261,7 +269,7 @@ if ( !class_exists( 'myCRED_Banking_Service_Payouts' ) ) {
261
  /**
262
  * Sanitise Preferences
263
  * @since 1.2
264
- * @version 1.0
265
  */
266
  function sanitise_preferences( $post ) {
267
  // Amount
@@ -288,6 +296,10 @@ if ( !class_exists( 'myCRED_Banking_Service_Payouts' ) ) {
288
  // Log
289
  $new_settings['log'] = trim( $post['log'] );
290
 
 
 
 
 
291
  return apply_filters( 'mycred_banking_save_recurring', $new_settings, $this->prefs );
292
  }
293
  }
21
  'log' => __( 'Daily %_plural%', 'mycred' ),
22
  'excludes' => '',
23
  'cycles' => 0,
24
+ 'last_run' => '',
25
+ 'run_time' => 60
26
  )
27
  ), $service_prefs );
28
  }
140
  public function do_payout_batch( $batch, $set = NULL, $cycle = NULL ) {
141
  if ( !empty( $batch ) && is_array( $batch ) ) {
142
 
143
+ set_time_limit( $this->prefs['run_time'] );
144
 
145
  foreach ( $batch as $user_id ) {
146
  $user_id = intval( $user_id );
202
  /**
203
  * Preference for Savings
204
  * @since 1.2
205
+ * @version 1.1
206
  */
207
  public function preferences() {
208
  $prefs = $this->prefs;
255
  <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
256
  </li>
257
  </ol>
258
+ <label class="subheader" for="<?php echo $this->field_id( 'run_time' ); ?>"><?php _e( 'Run Time', 'mycred' ); ?></label>
259
+ <ol>
260
+ <li>
261
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( 'run_time' ); ?>" id="<?php echo $this->field_id( 'run_time' ); ?>" value="<?php echo $prefs['run_time']; ?>" size="4" /></div>
262
+ <span class="description"><?php _e( 'For large websites, if you are running into time out issues during payouts, you can set the number of seconds a process can run. Use zero for unlimited, but be careful especially if you are on a shared server.', 'mycred' ); ?></span>
263
+ </li>
264
+ </ol>
265
  <?php do_action( 'mycred_banking_recurring_payouts', $this->prefs ); ?>
266
  <?php
267
  }
269
  /**
270
  * Sanitise Preferences
271
  * @since 1.2
272
+ * @version 1.1
273
  */
274
  function sanitise_preferences( $post ) {
275
  // Amount
296
  // Log
297
  $new_settings['log'] = trim( $post['log'] );
298
 
299
+ // Run Time
300
+ $post['run_time'] = abs( $post['run_time'] );
301
+ $new_settings['run_time'] = sanitize_text_field( $post['run_time'] );
302
+
303
  return apply_filters( 'mycred_banking_save_recurring', $new_settings, $this->prefs );
304
  }
305
  }
addons/buddypress/hooks/bp-profile.php CHANGED
@@ -5,7 +5,7 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
5
  *
6
  * Creds for profile updates
7
  * @since 0.1
8
- * @version 1.0
9
  */
10
  if ( !class_exists( 'myCRED_BuddyPress_Profile' ) ) {
11
  class myCRED_BuddyPress_Profile extends myCRED_Hook {
@@ -19,7 +19,8 @@ if ( !class_exists( 'myCRED_BuddyPress_Profile' ) ) {
19
  'defaults' => array(
20
  'update' => array(
21
  'creds' => 1,
22
- 'log' => '%plural% for updating profile'
 
23
  ),
24
  'avatar' => array(
25
  'creds' => 1,
@@ -87,12 +88,24 @@ if ( !class_exists( 'myCRED_BuddyPress_Profile' ) ) {
87
  /**
88
  * New Profile Update
89
  * @since 0.1
90
- * @version 1.0
91
  */
92
  public function new_update( $content, $user_id, $activity_id ) {
93
  // Check if user is excluded
94
  if ( $this->core->exclude_user( $user_id ) ) return;
95
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  // Make sure this is unique event
97
  if ( $this->core->has_entry( 'new_profile_update', $activity_id, $user_id ) ) return;
98
 
@@ -313,6 +326,11 @@ if ( !class_exists( 'myCRED_BuddyPress_Profile' ) ) {
313
  <li>
314
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'update', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'update', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['update']['creds'] ); ?>" size="8" /></div>
315
  </li>
 
 
 
 
 
316
  <li class="empty">&nbsp;</li>
317
  <li>
318
  <label for="<?php echo $this->field_id( array( 'update', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
5
  *
6
  * Creds for profile updates
7
  * @since 0.1
8
+ * @version 1.1
9
  */
10
  if ( !class_exists( 'myCRED_BuddyPress_Profile' ) ) {
11
  class myCRED_BuddyPress_Profile extends myCRED_Hook {
19
  'defaults' => array(
20
  'update' => array(
21
  'creds' => 1,
22
+ 'log' => '%plural% for updating profile',
23
+ 'daily_limit' => 2
24
  ),
25
  'avatar' => array(
26
  'creds' => 1,
88
  /**
89
  * New Profile Update
90
  * @since 0.1
91
+ * @version 1.1
92
  */
93
  public function new_update( $content, $user_id, $activity_id ) {
94
  // Check if user is excluded
95
  if ( $this->core->exclude_user( $user_id ) ) return;
96
 
97
+ // Limit
98
+ if ( isset( $this->prefs['update']['daily_limit'] ) )
99
+ $max = $this->prefs['update']['daily_limit'];
100
+ else
101
+ $max = 2;
102
+
103
+ if ( $max > 0 ) {
104
+ $max_earning = $this->core->format_number( $max*$this->prefs['update']['creds'] );
105
+ $earned = mycred_get_total_by_time( 'today', 'now', 'new_profile_update', $user_id );
106
+ if ( $earned >= $max_earning ) return;
107
+ }
108
+
109
  // Make sure this is unique event
110
  if ( $this->core->has_entry( 'new_profile_update', $activity_id, $user_id ) ) return;
111
 
326
  <li>
327
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'update', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'update', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['update']['creds'] ); ?>" size="8" /></div>
328
  </li>
329
+ <li>
330
+ <label for="<?php echo $this->field_id( array( 'update', 'limit' ) ); ?>"><?php _e( 'Daily Limit', 'mycred' ); ?></label>
331
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'update', 'daily_limit' ) ); ?>" id="<?php echo $this->field_id( array( 'update', 'daily_limit' ) ); ?>" value="<?php echo abs( $prefs['update']['daily_limit'] ); ?>" size="8" /></div>
332
+ <span class="description"><?php _e( 'Daily limit. User zero for unlimited.', 'mycred' ); ?></span>
333
+ </li>
334
  <li class="empty">&nbsp;</li>
335
  <li>
336
  <label for="<?php echo $this->field_id( array( 'update', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
addons/buddypress/myCRED-addon-buddypress.php CHANGED
@@ -306,26 +306,31 @@ if ( !class_exists( 'myCRED_BuddyPress' ) ) {
306
  </form>
307
  </div>
308
  <?php
309
- unset( $log );
310
  }
311
 
312
  /**
313
  * Register Hooks
314
  * @since 0.1
315
- * @version 1.0
316
  */
317
  public function register_hooks( $installed ) {
318
- $installed['hook_bp_groups'] = array(
319
- 'title' => __( 'BuddyPress: Groups', 'mycred' ),
320
- 'description' => __( 'Awards %_plural% for group related actions. Use minus to deduct %_plural% or zero to disable a specific hook.', 'mycred' ),
321
- 'callback' => array( 'myCRED_BuddyPress_Groups' )
322
- );
323
- $installed['hook_bp_profile'] = array(
324
- 'title' => __( 'BuddyPress: Members', 'mycred' ),
325
- 'description' => __( 'Awards %_plural% for profile related actions.', 'mycred' ),
326
- 'callback' => array( 'myCRED_BuddyPress_Profile' )
327
- );
328
-
 
 
 
 
 
329
  if ( function_exists( 'bp_links_setup_root_component' ) ) {
330
  $installed['hook_bp_links'] = array(
331
  'title' => __( 'BuddyPress: Links', 'mycred' ),
@@ -376,7 +381,7 @@ if ( !class_exists( 'myCRED_BuddyPress' ) ) {
376
  }
377
  }?>
378
 
379
- <h4 style="color:#BBD865;"><?php _e( 'BuddyPress', 'mycred' ); ?></h4>
380
  <div class="body" style="display:none;">
381
  <label class="subheader" for="<?php echo $this->field_id( 'balance_location' ); ?>"><?php echo $this->core->template_tags_general( __( '%singular% Balance', 'mycred' ) ); ?></label>
382
  <ol>
306
  </form>
307
  </div>
308
  <?php
309
+ $log->reset_query();
310
  }
311
 
312
  /**
313
  * Register Hooks
314
  * @since 0.1
315
+ * @version 1.0.1
316
  */
317
  public function register_hooks( $installed ) {
318
+ if ( bp_is_active( 'groups' ) ) {
319
+ $installed['hook_bp_groups'] = array(
320
+ 'title' => __( 'BuddyPress: Groups', 'mycred' ),
321
+ 'description' => __( 'Awards %_plural% for group related actions. Use minus to deduct %_plural% or zero to disable a specific hook.', 'mycred' ),
322
+ 'callback' => array( 'myCRED_BuddyPress_Groups' )
323
+ );
324
+ }
325
+
326
+ if ( bp_is_active( 'xprofile' ) ) {
327
+ $installed['hook_bp_profile'] = array(
328
+ 'title' => __( 'BuddyPress: Members', 'mycred' ),
329
+ 'description' => __( 'Awards %_plural% for profile related actions.', 'mycred' ),
330
+ 'callback' => array( 'myCRED_BuddyPress_Profile' )
331
+ );
332
+ }
333
+
334
  if ( function_exists( 'bp_links_setup_root_component' ) ) {
335
  $installed['hook_bp_links'] = array(
336
  'title' => __( 'BuddyPress: Links', 'mycred' ),
381
  }
382
  }?>
383
 
384
+ <h4><div class="icon icon-hook icon-active"></div><label><?php _e( 'BuddyPress', 'mycred' ); ?></label></h4>
385
  <div class="body" style="display:none;">
386
  <label class="subheader" for="<?php echo $this->field_id( 'balance_location' ); ?>"><?php echo $this->core->template_tags_general( __( '%singular% Balance', 'mycred' ) ); ?></label>
387
  <ol>
addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php CHANGED
@@ -43,9 +43,8 @@ if ( !class_exists( 'myCRED_Payment_Gateway' ) ) {
43
  // Apply defaults (if needed)
44
  if ( empty( $this->prefs ) || $this->prefs === false )
45
  $this->prefs = $this->defaults;
46
-
47
- $this->core = mycred_get_settings();
48
  }
 
49
 
50
  // Decode Log Entries
51
  add_filter( 'mycred_prep_template_tags', array( $this, 'decode_log_entries' ), 10, 2 );
@@ -400,7 +399,7 @@ if ( !class_exists( 'myCRED_Payment_Gateway' ) ) {
400
  *
401
  * @returns (bool) true if transaction id is unique or false
402
  * @since 0.1
403
- * @version 1.0
404
  */
405
  public function transaction_id_is_unique( $transaction_id = '' ) {
406
  if ( empty( $transaction_id ) ) return false;
@@ -408,7 +407,7 @@ if ( !class_exists( 'myCRED_Payment_Gateway' ) ) {
408
  global $wpdb;
409
 
410
  // Make sure this is a new transaction
411
- $sql = "SELECT * FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE ref = %s AND data LIKE %s";
412
 
413
  $gateway = str_replace( '-', '_', $this->id );
414
  $gateway_id = 'buy_creds_with_' . $gateway;
43
  // Apply defaults (if needed)
44
  if ( empty( $this->prefs ) || $this->prefs === false )
45
  $this->prefs = $this->defaults;
 
 
46
  }
47
+ $this->core = mycred_get_settings();
48
 
49
  // Decode Log Entries
50
  add_filter( 'mycred_prep_template_tags', array( $this, 'decode_log_entries' ), 10, 2 );
399
  *
400
  * @returns (bool) true if transaction id is unique or false
401
  * @since 0.1
402
+ * @version 1.0.1
403
  */
404
  public function transaction_id_is_unique( $transaction_id = '' ) {
405
  if ( empty( $transaction_id ) ) return false;
407
  global $wpdb;
408
 
409
  // Make sure this is a new transaction
410
+ $sql = "SELECT * FROM {$this->core->log_table} WHERE ref = %s AND data LIKE %s;";
411
 
412
  $gateway = str_replace( '-', '_', $this->id );
413
  $gateway_id = 'buy_creds_with_' . $gateway;
addons/buy-creds/myCRED-addon-buy-creds.php CHANGED
@@ -159,6 +159,30 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
159
  return $installed;
160
  }
161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  /**
163
  * Add to General Settings
164
  * @since 0.1
@@ -197,7 +221,7 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
197
  $thankyou_use = $buy_creds['thankyou']['use'];
198
  $cancelled_use = $buy_creds['cancelled']['use']; ?>
199
 
200
- <h4 style="color:#BBD865;"><?php _e( 'buyCRED', 'mycred' ); ?></h4>
201
  <div class="body" style="display:none;">
202
  <label class="subheader"><?php echo $this->core->template_tags_general( __( 'Minimum %plural%', 'mycred' ) ); ?></label>
203
  <ol id="mycred-buy-creds-minimum-amount">
@@ -307,7 +331,7 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
307
  /**
308
  * Payment Gateways Page
309
  * @since 0.1
310
- * @version 1.0
311
  */
312
  public function admin_page() {
313
  $installed = $this->get();
@@ -331,17 +355,17 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
331
  if ( !empty( $installed ) ) {
332
  foreach ( $installed as $key => $data ) { ?>
333
 
334
- <h4 class="<?php
335
 
336
  // Mark
337
  if ( $this->is_active( $key ) ) {
338
  if ( isset( $this->gateway_prefs[$key]['sandbox'] ) && $this->gateway_prefs[$key]['sandbox'] == 1 )
339
- echo 'sandbox';
340
  else
341
- echo 'active';
342
  }
343
  else
344
- echo 'inactive'; ?>"><label><?php echo $this->core->template_tags_general( $data['title'] ); ?></label></h4>
345
  <div class="body" style="display:none;">
346
  <label class="subheader"><?php _e( 'Enable', 'mycred' ); ?></label>
347
  <ol id="">
@@ -361,7 +385,7 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
361
  </div>
362
  <?php do_action( 'mycred_after_buycreds_page', $this ); ?>
363
 
364
- <?php submit_button( __( 'Update Gateway Settings', 'mycred' ), 'primary large' ); ?>
365
 
366
  </form>
367
  <?php do_action( 'mycred_bottom_buycreds_page', $this ); ?>
@@ -384,7 +408,7 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
384
  foreach ( $installed as $id => $gdata ) {
385
  $data['gateway_prefs'][$id] = $this->call( 'sanitise_preferences', $installed[$id]['callback'], $data['gateway_prefs'][$id] );
386
  }
387
- update_option( 'gabe_testing', $data );
388
  unset( $installed );
389
  return $data;
390
  }
@@ -402,7 +426,7 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
402
  * Render Shortcode Basic
403
  * This shortcode returns a link element to a specified payment gateway.
404
  * @since 0.1
405
- * @version 1.1
406
  */
407
  public function render_shortcode_basic( $atts, $title = '' ) {
408
  // Make sure the add-on has been setup
@@ -417,6 +441,7 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
417
  'gateway' => '',
418
  'amount' => '',
419
  'gift_to' => false,
 
420
  'login' => $this->core->template_tags_general( $this->core->buy_creds['login'] )
421
  ), $atts ) );
422
 
@@ -478,7 +503,12 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
478
  'amount' => $this->core->number( $amount ),
479
  'token' => wp_create_nonce( 'mycred-buy-creds' )
480
  );
481
- $classes = array( 'mycred-buy-link', $gateway, 'button large', 'custom' );
 
 
 
 
 
482
 
483
  if ( $buy_author || $buy_member )
484
  $args = array_merge_recursive( $args, array( 'gift_to' => $user_id ) );
@@ -489,25 +519,6 @@ if ( !class_exists( 'myCRED_Buy_CREDs' ) ) {
489
  return $element;
490
  }
491
 
492
- /**
493
- * Parse Attributes
494
- * @since 0.1
495
- * @version 1.0
496
- */
497
- public function parse_atts( $atts ) {
498
- $defaults = array(
499
- 'gateway' => '',
500
- 'amount' => '',
501
- 'gift_to' => false
502
- );
503
- $atts = wp_parse_args( $atts, $defaults );
504
- $accepted = array();
505
- foreach ( $atts as $attribute ) {
506
- if ( in_array( $attribute, array( 'gateway', 'amount', 'gift_to', 'select' ) ) ) $accepted[] = $attribute;
507
- }
508
- return $accepted;
509
- }
510
-
511
  /**
512
  * Render Shortcode Form
513
  * Returns an advanced version allowing for further customizations.
159
  return $installed;
160
  }
161
 
162
+ /**
163
+ * Page Header
164
+ * @since 1.3
165
+ * @version 1.0
166
+ */
167
+ public function settings_header() {
168
+ wp_dequeue_script( 'bpge_admin_js_acc' );
169
+ wp_enqueue_script( 'mycred-admin' );
170
+ wp_enqueue_style( 'mycred-admin' ); ?>
171
+
172
+ <style type="text/css">
173
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(<?php echo apply_filters( 'mycred_icon', plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS ) ); ?>); }
174
+ #myCRED-wrap #accordion h4 .gate-icon { display: block; width: 48px; height: 48px; margin: 0 0 0 0; padding: 0; float: left; line-height: 48px; }
175
+ #myCRED-wrap #accordion h4 .gate-icon { background-repeat: no-repeat; background-image: url(<?php echo plugins_url( 'assets/images/gateway-icons.png', myCRED_THIS ); ?>); background-position: 0 0; }
176
+ #myCRED-wrap #accordion h4 .gate-icon.inactive { background-position-x: 0; }
177
+ #myCRED-wrap #accordion h4 .gate-icon.active { background-position-x: -48px; }
178
+ #myCRED-wrap #accordion h4 .gate-icon.sandbox { background-position-x: -96px; }
179
+ h4:before { float:right; padding-right: 12px; font-size: 14px; font-weight: normal; color: silver; }
180
+ h4.ui-accordion-header.ui-state-active:before { content: "<?php _e( 'click to close', 'mycred' ); ?>"; }
181
+ h4.ui-accordion-header:before { content: "<?php _e( 'click to open', 'mycred' ); ?>"; }
182
+ </style>
183
+ <?php
184
+ }
185
+
186
  /**
187
  * Add to General Settings
188
  * @since 0.1
221
  $thankyou_use = $buy_creds['thankyou']['use'];
222
  $cancelled_use = $buy_creds['cancelled']['use']; ?>
223
 
224
+ <h4><div class="icon icon-active"></div><?php _e( 'buyCRED', 'mycred' ); ?></h4>
225
  <div class="body" style="display:none;">
226
  <label class="subheader"><?php echo $this->core->template_tags_general( __( 'Minimum %plural%', 'mycred' ) ); ?></label>
227
  <ol id="mycred-buy-creds-minimum-amount">
331
  /**
332
  * Payment Gateways Page
333
  * @since 0.1
334
+ * @version 1.1
335
  */
336
  public function admin_page() {
337
  $installed = $this->get();
355
  if ( !empty( $installed ) ) {
356
  foreach ( $installed as $key => $data ) { ?>
357
 
358
+ <h4><div class="gate-icon <?php
359
 
360
  // Mark
361
  if ( $this->is_active( $key ) ) {
362
  if ( isset( $this->gateway_prefs[$key]['sandbox'] ) && $this->gateway_prefs[$key]['sandbox'] == 1 )
363
+ echo 'sandbox" title="' . __( 'Test Mode', 'mycred' );
364
  else
365
+ echo 'active" title="' . __( 'Enabled', 'mycred' );
366
  }
367
  else
368
+ echo 'inactive" title="' . __( 'Disabled', 'mycred' ); ?>"></div><?php echo $this->core->template_tags_general( $data['title'] ); ?></h4>
369
  <div class="body" style="display:none;">
370
  <label class="subheader"><?php _e( 'Enable', 'mycred' ); ?></label>
371
  <ol id="">
385
  </div>
386
  <?php do_action( 'mycred_after_buycreds_page', $this ); ?>
387
 
388
+ <?php submit_button( __( 'Update Gateway Settings', 'mycred' ), 'primary large', 'submit', false ); ?>
389
 
390
  </form>
391
  <?php do_action( 'mycred_bottom_buycreds_page', $this ); ?>
408
  foreach ( $installed as $id => $gdata ) {
409
  $data['gateway_prefs'][$id] = $this->call( 'sanitise_preferences', $installed[$id]['callback'], $data['gateway_prefs'][$id] );
410
  }
411
+
412
  unset( $installed );
413
  return $data;
414
  }
426
  * Render Shortcode Basic
427
  * This shortcode returns a link element to a specified payment gateway.
428
  * @since 0.1
429
+ * @version 1.1.1
430
  */
431
  public function render_shortcode_basic( $atts, $title = '' ) {
432
  // Make sure the add-on has been setup
441
  'gateway' => '',
442
  'amount' => '',
443
  'gift_to' => false,
444
+ 'class' => 'mycred-buy-link button large custom',
445
  'login' => $this->core->template_tags_general( $this->core->buy_creds['login'] )
446
  ), $atts ) );
447
 
503
  'amount' => $this->core->number( $amount ),
504
  'token' => wp_create_nonce( 'mycred-buy-creds' )
505
  );
506
+
507
+ // Classes
508
+ $classes = explode( ' ', $class );
509
+ if ( empty( $classes ) )
510
+ $classes = array( 'mycred-buy-link', 'button large', 'custom' );
511
+ $classes[] = $gateway;
512
 
513
  if ( $buy_author || $buy_member )
514
  $args = array_merge_recursive( $args, array( 'gift_to' => $user_id ) );
519
  return $element;
520
  }
521
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  /**
523
  * Render Shortcode Form
524
  * Returns an advanced version allowing for further customizations.
addons/email-notices/myCRED-addon-email-notices.php CHANGED
@@ -262,7 +262,7 @@ if ( !class_exists( 'myCRED_Email_Notices' ) ) {
262
  else
263
  $use_html = 0; ?>
264
 
265
- <h4 style="color:#BBD865;"><?php _e( 'Email Notices', 'mycred' ); ?></h4>
266
  <div class="body" style="display:none;">
267
  <p><?php _e( 'Settings that apply to all email notices and can not be overridden for individual emails.', 'mycred' ); ?></p>
268
  <label class="subheader" for="<?php echo $this->field_id( array( 'use_html' => 'no' ) ); ?>"><?php _e( 'Email Format', 'mycred' ); ?></label>
@@ -811,7 +811,7 @@ if ( !class_exists( 'myCRED_Email_Notices' ) ) {
811
  <?php do_action( 'mycred_email_settings_box', $this ); ?>
812
 
813
  <div class="mycred-save">
814
- <?php submit_button( __( 'Save', 'mycred' ), 'secondary', 'mycred-save-email', '' ); ?>
815
  </div>
816
  <?php
817
  }
262
  else
263
  $use_html = 0; ?>
264
 
265
+ <h4><div class="icon icon-active"></div><?php _e( 'Email Notices', 'mycred' ); ?></h4>
266
  <div class="body" style="display:none;">
267
  <p><?php _e( 'Settings that apply to all email notices and can not be overridden for individual emails.', 'mycred' ); ?></p>
268
  <label class="subheader" for="<?php echo $this->field_id( array( 'use_html' => 'no' ) ); ?>"><?php _e( 'Email Format', 'mycred' ); ?></label>
811
  <?php do_action( 'mycred_email_settings_box', $this ); ?>
812
 
813
  <div class="mycred-save">
814
+ <?php submit_button( __( 'Save', 'mycred' ), 'primary', 'mycred-save-email', false ); ?>
815
  </div>
816
  <?php
817
  }
addons/gateway/carts/mycred-marketpress.php CHANGED
@@ -1,12 +1,12 @@
1
  <?php
2
- if ( !defined( 'WP_PLUGIN_DIR' ) ) exit;
3
  /**
4
  * MarketPress Payment Gateway
5
  * @since 1.1
6
- * @version 1.1
7
  */
8
  if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
9
- add_action( 'plugins_loaded', 'mycred_init_marketpress_gateway' );
10
  function mycred_init_marketpress_gateway()
11
  {
12
  if ( !function_exists( 'is_plugin_active' ) )
@@ -21,7 +21,7 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
21
  include_once( WP_PLUGIN_DIR . '/wordpress-ecommerce' . $file );
22
  else
23
  return;
24
-
25
  class MP_Gateway_myCRED extends MP_Gateway_API {
26
 
27
  var $plugin_name = 'mycred';
@@ -242,6 +242,7 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
242
  $result = $mp->create_order( $order_id, $cart, $shipping_info, $payment_info, $paid );
243
 
244
  $order = get_page_by_title( $result, 'OBJECT', 'mp_order' );
 
245
  // Deduct cost
246
  $this->mycred->add_creds(
247
  'marketpress_payment',
@@ -251,6 +252,36 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
251
  $order->ID,
252
  array( 'ref_type' => 'post' )
253
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  }
255
 
256
  function order_confirmation( $order ) { }
@@ -296,7 +327,7 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
296
  /**
297
  * myCRED Gateway Settings
298
  * @since 1.1
299
- * @version 1.1
300
  */
301
  function gateway_settings_box( $settings ) {
302
  global $mp;
@@ -304,35 +335,21 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
304
  $mycred = mycred_get_settings();
305
 
306
  $name = apply_filters( 'mycred_label', myCRED_NAME );
307
-
308
- if ( empty( $settings['gateways']['mycred']['name'] ) )
309
- $settings['gateways']['mycred']['name'] = strip_tags( $name ) . ' ' . $mycred->template_tags_general( __( '%_singular% Balance', 'mycred' ) );
310
-
311
- if ( !isset( $settings['gateways']['mycred']['logo'] ) )
312
- $settings['gateways']['mycred']['logo'] = $this->method_button_img_url;
313
-
314
- if ( !isset( $settings['gateways']['mycred']['log_template'] ) )
315
- $settings['gateways']['mycred']['log_template'] = 'Payment for Order: #%order_id%';
316
-
317
- if ( !isset( $settings['gateways']['mycred']['exchange'] ) )
318
- $settings['gateways']['mycred']['exchange'] = 1;
319
-
320
- if ( !isset( $settings['gateways']['mycred']['instructions'] ) )
321
- $settings['gateways']['mycred']['instructions'] = 'Pay using your account balance.';
322
-
323
- if ( !isset( $settings['gateways']['mycred']['confirmation'] ) )
324
- $settings['gateways']['mycred']['confirmation'] = 'TOTAL amount has been deducted from your account. Your current balance is: %balance_f%';
325
-
326
- if ( !isset( $settings['gateways']['mycred']['lowfunds'] ) )
327
- $settings['gateways']['mycred']['lowfunds'] = 'Insufficient funds. Please select another form of payment. Your current balance is: %balance_f%';
328
-
329
- if ( !isset( $settings['gateways']['mycred']['visitors'] ) )
330
- $settings['gateways']['mycred']['visitors'] = 'You must be logged in to pay with %_plural%. Please <a href="%login_url_here%">login</a>.';
331
-
332
- if ( !isset( $settings['gateways']['mycred']['email'] ) )
333
- $settings['gateways']['mycred']['email'] = $settings['email']['new_order_txt']; ?>
334
-
335
- <div id="mp_cubepoints_payments" class="postbox mp-pages-msgs">
336
  <h3 class="handle"><span><?php echo $name . ' ' . __( 'Settings', 'mycred' ); ?></span></h3>
337
  <div class="inside">
338
  <span class="description"><?php echo sprintf( __( 'Let your users pay for items in their shopping cart using their %s Account. Note! This gateway requires your users to be logged in when making a purchase!', 'mycred' ), $name ); ?></span>
@@ -371,8 +388,28 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
371
  <p><input value="<?php echo esc_attr( $settings['gateways']['mycred']['exchange'] ); ?>" size="8" name="mp[gateways][mycred][exchange]" id="mycred-exchange-rate" type="text" /></p>
372
  </td>
373
  </tr>
374
- <?php endif; ?>
375
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  <tr>
377
  <th scope="row"><label for="mycred-lowfunds"><?php _e( 'Insufficient Funds', 'mycred' ); ?></label></th>
378
  <td>
@@ -422,7 +459,7 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
422
  /**
423
  * Filter Gateway Settings
424
  * @since 1.1
425
- * @version 1.1
426
  */
427
  function process_gateway_settings( $settings ) {
428
  // Name (no html)
@@ -444,6 +481,9 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
444
  else
445
  $settings['gateways']['mycred']['exchange'] = 1;
446
 
 
 
 
447
  $settings['gateways']['mycred']['lowfunds'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['lowfunds'] ) );
448
  $settings['gateways']['mycred']['visitors'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['visitors'] ) );
449
  $settings['gateways']['mycred']['instructions'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['instructions'] ) );
@@ -455,13 +495,12 @@ if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
455
  return $settings;
456
  }
457
  }
 
458
  }
459
  }
460
 
461
- if ( function_exists( 'mp_register_gateway_plugin' ) ) {
462
- // Register Gateway
463
- mp_register_gateway_plugin( 'MP_Gateway_myCRED', 'mycred', 'myCRED' );
464
- }
465
  /**
466
  * Filter the myCRED Log
467
  * Parses the %order_id% and %order_link% template tags.
@@ -493,12 +532,14 @@ if ( !function_exists( 'mycred_marketpress_parse_log' ) ) {
493
 
494
  return $content;
495
  }
 
496
 
497
- /**
498
- * Parse Email Notice
499
- * @since 1.2.2
500
- * @version 1.0
501
- */
 
502
  add_filter( 'mycred_email_before_send', 'mycred_market_parse_email' );
503
  function mycred_market_parse_email( $email )
504
  {
1
  <?php
2
+ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
  /**
4
  * MarketPress Payment Gateway
5
  * @since 1.1
6
+ * @version 1.1.1
7
  */
8
  if ( !function_exists( 'mycred_init_marketpress_gateway' ) ) {
9
+ add_action( 'after_setup_theme', 'mycred_init_marketpress_gateway', 5 );
10
  function mycred_init_marketpress_gateway()
11
  {
12
  if ( !function_exists( 'is_plugin_active' ) )
21
  include_once( WP_PLUGIN_DIR . '/wordpress-ecommerce' . $file );
22
  else
23
  return;
24
+
25
  class MP_Gateway_myCRED extends MP_Gateway_API {
26
 
27
  var $plugin_name = 'mycred';
242
  $result = $mp->create_order( $order_id, $cart, $shipping_info, $payment_info, $paid );
243
 
244
  $order = get_page_by_title( $result, 'OBJECT', 'mp_order' );
245
+
246
  // Deduct cost
247
  $this->mycred->add_creds(
248
  'marketpress_payment',
252
  $order->ID,
253
  array( 'ref_type' => 'post' )
254
  );
255
+
256
+ // Profit Sharing
257
+ if ( $settings['gateways']['mycred']['profit_share_percent'] > 0 ) {
258
+ foreach ( $cart as $product_id => $variations ) {
259
+ // Get Product
260
+ $product = get_post( (int) $product_id );
261
+
262
+ // Continue if product has just been deleted or owner is buyer
263
+ if ( $product === NULL || $product->post_author == $cui ) continue;
264
+
265
+ foreach ( $variations as $data ) {
266
+ $price = $data['price'];
267
+ $quantity = $data['quantity'];
268
+ $cost = $price*$quantity;
269
+
270
+ // Calculate Share
271
+ $share = ( $settings['gateways']['mycred']['profit_share_percent'] / 100 ) * $cost;
272
+
273
+ // Payout
274
+ $this->mycred->add_creds(
275
+ 'store_sale',
276
+ $product->post_author,
277
+ $share,
278
+ $settings['gateways']['mycred']['profit_share_log'],
279
+ $product->ID,
280
+ array( 'ref_type' => 'post' )
281
+ );
282
+ }
283
+ }
284
+ }
285
  }
286
 
287
  function order_confirmation( $order ) { }
327
  /**
328
  * myCRED Gateway Settings
329
  * @since 1.1
330
+ * @version 1.2
331
  */
332
  function gateway_settings_box( $settings ) {
333
  global $mp;
335
  $mycred = mycred_get_settings();
336
 
337
  $name = apply_filters( 'mycred_label', myCRED_NAME );
338
+ $settings['gateways']['mycred'] = shortcode_atts( array(
339
+ 'name' => strip_tags( $name ) . ' ' . $mycred->template_tags_general( __( '%_singular% Balance', 'mycred' ) ),
340
+ 'logo' => $this->method_button_img_url,
341
+ 'log_template' => __( 'Payment for Order: #%order_id%', 'mycred' ),
342
+ 'exchange' => 1,
343
+ 'profit_share_percent' => 0,
344
+ 'profit_share_log' => __( 'Product Sale: %post_title%', 'mycred' ),
345
+ 'instructions' => __( 'Pay using your account balance.', 'mycred' ),
346
+ 'confirmation' => __( 'TOTAL amount has been deducted from your account. Your current balance is: %balance_f%', 'mycred' ),
347
+ 'lowfunds' => __( 'Insufficient funds. Please select another form of payment. Your current balance is: %balance_f%', 'mycred' ),
348
+ 'visitors' => __( 'You must be logged in to pay with %_plural%. Please <a href="%login_url_here%">login</a>.', 'mycred' ),
349
+ 'email' => $settings['email']['new_order_txt']
350
+ ), ( isset( $settings['gateways']['mycred'] ) ) ? $settings['gateways']['mycred'] : array() ); ?>
351
+
352
+ <div id="mp_mycred_payments" class="postbox mp-pages-msgs">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  <h3 class="handle"><span><?php echo $name . ' ' . __( 'Settings', 'mycred' ); ?></span></h3>
354
  <div class="inside">
355
  <span class="description"><?php echo sprintf( __( 'Let your users pay for items in their shopping cart using their %s Account. Note! This gateway requires your users to be logged in when making a purchase!', 'mycred' ), $name ); ?></span>
388
  <p><input value="<?php echo esc_attr( $settings['gateways']['mycred']['exchange'] ); ?>" size="8" name="mp[gateways][mycred][exchange]" id="mycred-exchange-rate" type="text" /></p>
389
  </td>
390
  </tr>
391
+ <?php endif; ?>
392
 
393
+ <tr>
394
+ <td colspan="2"><h4><?php _e( 'Profit Sharing', 'mycred' ); ?></h4></td>
395
+ </tr>
396
+ <tr>
397
+ <th scope="row"><label for="mycred-profit-sharing"><?php _e( 'Percentage', 'mycred' ); ?></label></th>
398
+ <td>
399
+ <span class="description"><?php _e( 'Option to share sales with the product owner. User zero to disable', 'mycred' ); ?></span>
400
+ <p><input value="<?php echo esc_attr( $settings['gateways']['mycred']['profit_share_percent'] ); ?>" size="8" name="mp[gateways][mycred][profit_share_percent]" id="mycred-profit-sharing" type="text" /> %</p>
401
+ </td>
402
+ </tr>
403
+ <tr>
404
+ <th scope="row"><label for="mycred-profit-sharing-log"><?php _e( 'Log Template', 'mycred' ); ?></label></th>
405
+ <td>
406
+ <span class="description"><?php _e( 'Log entry template for profit sharing. Available template tags: General and Post related', 'mycred' ); ?></span>
407
+ <p><input value="<?php echo esc_attr( $settings['gateways']['mycred']['profit_share_log'] ); ?>" style="width: 100%;" name="mp[gateways][mycred][profit_share_log]" id="mycred-profit-sharing-log" type="text" /></p>
408
+ </td>
409
+ </tr>
410
+ <tr>
411
+ <td colspan="2"><h4><?php _e( 'Messages', 'mycred' ); ?></h4></td>
412
+ </tr>
413
  <tr>
414
  <th scope="row"><label for="mycred-lowfunds"><?php _e( 'Insufficient Funds', 'mycred' ); ?></label></th>
415
  <td>
459
  /**
460
  * Filter Gateway Settings
461
  * @since 1.1
462
+ * @version 1.2
463
  */
464
  function process_gateway_settings( $settings ) {
465
  // Name (no html)
481
  else
482
  $settings['gateways']['mycred']['exchange'] = 1;
483
 
484
+ $settings['gateways']['mycred']['profit_share_percent'] = stripslashes( trim( $settings['gateways']['mycred']['profit_share_percent'] ) );
485
+ $settings['gateways']['mycred']['profit_share_log'] = stripslashes( wp_filter_nohtml_kses( $settings['gateways']['mycred']['profit_share_log'] ) );
486
+
487
  $settings['gateways']['mycred']['lowfunds'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['lowfunds'] ) );
488
  $settings['gateways']['mycred']['visitors'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['visitors'] ) );
489
  $settings['gateways']['mycred']['instructions'] = stripslashes( wp_filter_post_kses( $settings['gateways']['mycred']['instructions'] ) );
495
  return $settings;
496
  }
497
  }
498
+ mp_register_gateway_plugin( 'MP_Gateway_myCRED', 'mycred', 'myCRED' );
499
  }
500
  }
501
 
502
+
503
+
 
 
504
  /**
505
  * Filter the myCRED Log
506
  * Parses the %order_id% and %order_link% template tags.
532
 
533
  return $content;
534
  }
535
+ }
536
 
537
+ /**
538
+ * Parse Email Notice
539
+ * @since 1.2.2
540
+ * @version 1.0
541
+ */
542
+ if ( !function_exists( 'mycred_market_parse_email' ) ) {
543
  add_filter( 'mycred_email_before_send', 'mycred_market_parse_email' );
544
  function mycred_market_parse_email( $email )
545
  {
addons/gateway/carts/mycred-woocommerce.php CHANGED
@@ -6,7 +6,7 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
6
  * Custom Payment Gateway for WooCommerce.
7
  * @see http://docs.woothemes.com/document/payment-gateway-api/
8
  * @since 0.1
9
- * @version 1.0
10
  */
11
  if ( !function_exists( 'mycred_init_woo_gateway' ) ) {
12
  /**
@@ -14,7 +14,7 @@ if ( !function_exists( 'mycred_init_woo_gateway' ) ) {
14
  * @since 0.1
15
  * @version 1.0
16
  */
17
- add_action( 'plugins_loaded', 'mycred_init_woo_gateway' );
18
  function mycred_init_woo_gateway()
19
  {
20
  if ( !class_exists( 'WC_Payment_Gateway' ) ) return;
@@ -60,7 +60,7 @@ if ( !function_exists( 'mycred_init_woo_gateway' ) ) {
60
  /**
61
  * Initialise Gateway Settings Form Fields
62
  * @since 0.1
63
- * @version 1.0
64
  */
65
  function init_form_fields() {
66
  // Fields
@@ -123,6 +123,21 @@ if ( !function_exists( 'mycred_init_woo_gateway' ) ) {
123
  );
124
  }
125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  $this->form_fields = apply_filters( 'mycred_woo_fields', $fields, $this );
127
  }
128
 
@@ -159,7 +174,7 @@ if ( !function_exists( 'mycred_init_woo_gateway' ) ) {
159
  /**
160
  * Process Payment
161
  * @since 0.1
162
- * @version 1.0
163
  */
164
  function process_payment( $order_id ) {
165
  global $woocommerce;
@@ -190,9 +205,49 @@ if ( !function_exists( 'mycred_init_woo_gateway' ) ) {
190
  }
191
 
192
  // Charge
193
- $this->mycred->add_creds( 'woocommerce_payment', $cui, 0-$cost, $this->log_template, $order_id, array( 'ref_type' => 'post' ) );
 
 
 
 
 
 
 
194
  $order->payment_complete();
195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  // Let others play
197
  do_action( 'mycred_paid_for_woo', $order, $cui );
198
 
6
  * Custom Payment Gateway for WooCommerce.
7
  * @see http://docs.woothemes.com/document/payment-gateway-api/
8
  * @since 0.1
9
+ * @version 1.2.1
10
  */
11
  if ( !function_exists( 'mycred_init_woo_gateway' ) ) {
12
  /**
14
  * @since 0.1
15
  * @version 1.0
16
  */
17
+ add_action( 'after_setup_theme', 'mycred_init_woo_gateway' );
18
  function mycred_init_woo_gateway()
19
  {
20
  if ( !class_exists( 'WC_Payment_Gateway' ) ) return;
60
  /**
61
  * Initialise Gateway Settings Form Fields
62
  * @since 0.1
63
+ * @version 1.1
64
  */
65
  function init_form_fields() {
66
  // Fields
123
  );
124
  }
125
 
126
+ // Profit Sharing added in 1.3
127
+ $fields['profit_sharing_percent'] = array(
128
+ 'title' => __( 'Profit Sharing', 'mycred' ),
129
+ 'type' => 'text',
130
+ 'description' => __( 'Option to share a percentage of the sale with the product owner.', 'mycred' ),
131
+ 'default' => 0,
132
+ 'desc_tip' => true
133
+ );
134
+ $fields['profit_sharing_log'] = array(
135
+ 'title' => __( 'Log Template', 'mycred' ),
136
+ 'type' => 'text',
137
+ 'description' => __( 'Log entry template for profit sharing. Available template tags: General and Post related.', 'mycred' ),
138
+ 'default' => __( 'Sale of %post_title%', 'mycred' )
139
+ );
140
+
141
  $this->form_fields = apply_filters( 'mycred_woo_fields', $fields, $this );
142
  }
143
 
174
  /**
175
  * Process Payment
176
  * @since 0.1
177
+ * @version 1.1
178
  */
179
  function process_payment( $order_id ) {
180
  global $woocommerce;
205
  }
206
 
207
  // Charge
208
+ $this->mycred->add_creds(
209
+ 'woocommerce_payment',
210
+ $cui,
211
+ 0-$cost,
212
+ $this->log_template,
213
+ $order_id,
214
+ array( 'ref_type' => 'post' )
215
+ );
216
  $order->payment_complete();
217
 
218
+ // Profit Sharing
219
+ if ( $this->profit_sharing_percent > 0 ) {
220
+ // Get Items
221
+ $items = $order->get_items();
222
+
223
+ // Loop though items
224
+ foreach ( $items as $item ) {
225
+ // Get Product
226
+ $product = get_post( (int) $item['product_id'] );
227
+
228
+ // Continue if product has just been deleted or owner is buyer
229
+ if ( $product === NULL || $product->post_author == $cui ) continue;
230
+
231
+ // Calculate Cost
232
+ $price = $item['line_total'];
233
+ $quantity = $item['qty'];
234
+ $cost = $price*$quantity;
235
+
236
+ // Calculate Share
237
+ $share = ( $this->profit_sharing_percent / 100 ) * $cost;
238
+
239
+ // Payout
240
+ $this->mycred->add_creds(
241
+ 'store_sale',
242
+ $product->post_author,
243
+ $this->mycred->format_number( $share ),
244
+ $this->profit_sharing_log,
245
+ $product->ID,
246
+ array( 'ref_type' => 'post' )
247
+ );
248
+ }
249
+ }
250
+
251
  // Let others play
252
  do_action( 'mycred_paid_for_woo', $order, $cui );
253
 
addons/gateway/carts/mycred-wpecommerce.php ADDED
@@ -0,0 +1,399 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
+ /**
4
+ * WP E-Commerce Payment Gateway
5
+ *
6
+ * Custom Payment Gateway for WP E-Commerce.
7
+ * @see http://getshopped.org/resources/docs/get-involved/writing-a-new-payment-gateway/
8
+ * @since 1.3
9
+ * @version 1.0.1
10
+ */
11
+ if ( !function_exists( 'mycred_init_wpecom_construct_gateway' ) ) {
12
+ /**
13
+ * Construct Gateway
14
+ * @since 1.3
15
+ * @version 1.0
16
+ */
17
+ add_action( 'after_setup_theme', 'mycred_init_wpecom_construct_gateway' );
18
+ function mycred_init_wpecom_construct_gateway()
19
+ {
20
+ if ( !class_exists( 'wpsc_merchant' ) ) return;
21
+
22
+ global $nzshpcrt_gateways, $mycred_wpecom_settings;
23
+
24
+ $name = apply_filters( 'mycred_label', myCRED_NAME );
25
+ $mycred_wpecom_settings = shortcode_atts( array(
26
+ 'log' => __( 'Payment for Order: #%order_id%', 'mycred' ),
27
+ 'share' => 0,
28
+ 'share_log' => __( 'Store sale', 'mycred' ),
29
+ 'rate' => 1,
30
+ 'visitor' => __( 'You must be logged in to use this gateway', 'mycred' ),
31
+ 'low_funds' => __( 'Insufficient Funds.', 'mycred' ),
32
+ 'message' => __( 'Deduct the amount from your balance.', 'mycred' )
33
+ ), (array) get_option( 'mycred_wpecom_settings', '' ) );
34
+
35
+ // Add gateway
36
+ $nzshpcrt_gateways[] = array(
37
+ 'id' => 'mycred',
38
+ 'name' => strip_tags( $name ),
39
+ 'has_recurring_billing' => false,
40
+ 'wp_admin_cannot_cancel' => false,
41
+ 'requirements' => array( 'php_version' => '5.2.4' ),
42
+ 'form' => 'mycred_wpecom_gateway_settings',
43
+ 'submit_function' => 'mycred_wpecom_gateway_settings_save',
44
+ 'payment_type' => 'mycred',
45
+ // this may be legacy, not yet decided
46
+ 'internalname' => 'mycred'
47
+ );
48
+
49
+ class myCRED_WP_E_Commerce_Gateway {
50
+
51
+ public $core = '';
52
+ public $prefs = array();
53
+
54
+ /**
55
+ * Construct
56
+ */
57
+ function __construct() {
58
+ global $mycred_wpecom_settings;
59
+ $this->core = mycred_get_settings();
60
+ $this->prefs = $mycred_wpecom_settings;
61
+
62
+ add_action( 'wpsc_submit_checkout_gateway', array( $this, 'process_gateway' ), 1, 2 );
63
+ add_filter( 'wpsc_gateway_checkout_form_mycred', array( $this, 'checkout_form' ) );
64
+ add_filter( 'mycred_parse_log_entry_wpecom_payment', array( $this, 'parse_template_tags' ), 10, 2 );
65
+ }
66
+
67
+ /**
68
+ * Process Payment
69
+ * @since 1.3
70
+ * @version 1.0
71
+ */
72
+ function process_gateway( $gateway, $purchase_log ) {
73
+ if ( $gateway != 'mycred' ) return;
74
+
75
+ // Prep
76
+ $log_id = $purchase_log->get( 'id' );
77
+
78
+ // Load Gateway
79
+ $merchant_instance = new wpsc_merchant_mycred( $log_id, false, $this->prefs, $this->core );
80
+ $merchant_instance->construct_value_array();
81
+
82
+ // Validate
83
+ $merchant_instance->validate( $purchase_log );
84
+
85
+ // Charge
86
+ do_action_ref_array( 'wpsc_pre_submit_gateway', array( &$merchant_instance ) );
87
+ $merchant_instance->submit();
88
+ }
89
+
90
+ /**
91
+ * Checkout Form
92
+ * @since 1.3
93
+ * @version 1.0
94
+ */
95
+ function checkout_form() {
96
+ $output = '';
97
+ if ( !is_user_logged_in() ) {
98
+ $output .= '<tr><td>' . $this->core->template_tags_general( $this->prefs['visitor'] ) . '</td></tr>';
99
+ return $output;
100
+ }
101
+
102
+ $output .= '<tr><td><table width="100%"><thead><th class="cart-item">' . __( 'Item', 'mycred' ) . '</th><th class="cart-item-qt"></th><th class="cart-item-cost">' . $this->core->plural() . '</th></thead><tbody>';
103
+
104
+ $total = 0;
105
+ while ( wpsc_have_cart_items() ) : wpsc_the_cart_item();
106
+ $price = wpsc_cart_item_price( false );
107
+ if ( $this->prefs['rate'] != 1 ) {
108
+ $price = $this->prefs['rate']*$price;
109
+ }
110
+ $total = $total+$price;
111
+ endwhile;
112
+
113
+ $output .= '<tr><td colspan="2">' . __( 'Total Cost', 'mycred' ) . '</td><td class="cart-item-cost">' . $this->core->format_creds( $total ) . '</td></tr>';
114
+ $balance = $this->core->get_users_cred( get_current_user_id() );
115
+
116
+ if ( $balance < $total )
117
+ $highlight = ' style="color:red;"';
118
+ else
119
+ $highlight = '';
120
+
121
+ $output .= '<tr><td class="cart-item" colspan="2">' . __( 'Your current balance', 'mycred' ) . '</td><td class="cart-item-cost"' . $highlight . '>' . $this->core->format_creds( $balance ) . '</td></tr></tdody></table></tr>';
122
+
123
+ if ( !empty( $this->prefs['message'] ) ) {
124
+ $output .= '<tr><td>' . $this->core->template_tags_general( $this->prefs['message'] ) . '</td></tr>';
125
+ }
126
+
127
+ return apply_filters( 'mycred_wpecom_form', $output );
128
+ }
129
+
130
+ /**
131
+ * Parse Custom Template Tags
132
+ * @since 1.3
133
+ * @version 1.0
134
+ */
135
+ function parse_template_tags( $content, $log_entry ) {
136
+ if ( !empty( $log_entry->data ) )
137
+ $content = str_replace( '%order_id%', $log_entry->data, $content );
138
+ else
139
+ $content = str_replace( '%order_id%', 'missing', $content );
140
+
141
+ return $content;
142
+ }
143
+ }
144
+ new myCRED_WP_E_Commerce_Gateway();
145
+
146
+ class wpsc_merchant_mycred extends wpsc_merchant {
147
+
148
+ var $prefs = array();
149
+ var $core = '';
150
+ var $cost = 0;
151
+ var $transaction_id = '';
152
+
153
+ /**
154
+ * Construct
155
+ */
156
+ function __construct( $purchase_id = NULL, $is_receiving = false, $prefs = NULL, $mycred = NULL ) {
157
+ parent::__construct( $purchase_id, $is_receiving );
158
+ $name = apply_filters( 'mycred_label', myCRED_NAME );
159
+ $this->prefs = $prefs;
160
+ $this->core = $mycred;
161
+ }
162
+
163
+ /**
164
+ * Validate
165
+ * Checks to make sure the current user can use this gateway.
166
+ * @since 1.3
167
+ * @version 1.0
168
+ */
169
+ function validate( $purchase_log ) {
170
+ $error = false;
171
+ $user_id = get_current_user_id();
172
+
173
+ // Get cost
174
+ $cart_total = $this->cart_data['total_price'];
175
+ if ( $this->prefs['rate'] != 1 ) {
176
+ $cart_total = $this->prefs['rate']*$cart_total;
177
+ }
178
+ $cart_total = $this->core->number( $cart_total );
179
+ $this->cost = $cart_total;
180
+
181
+ // User is not logged in
182
+ if ( !is_user_logged_in() ) {
183
+ $error = $this->core->template_tags_general( $this->prefs['visitor'] );
184
+ }
185
+
186
+ // Else if user is excluded
187
+ elseif ( $this->core->exclude_user( $user_id ) ) {
188
+ $error = __( 'You can not use this gateway.', 'mycred' );
189
+ }
190
+
191
+ // Else check balance
192
+ else {
193
+ // Rate
194
+ $balance = $this->core->get_users_cred( $user_id );
195
+ if ( $balance < $this->cost ) {
196
+ $error = $this->core->template_tags_general( $this->prefs['low_funds'] );
197
+ }
198
+ }
199
+
200
+ // Exit on errors
201
+ if ( apply_filters( 'mycred_wpcom_validate', $error ) !== false ) {
202
+ wpsc_delete_customer_meta( 'selected_gateway' );
203
+ $this->set_error_message( $error );
204
+ $purchase_log->delete( $this->purchase_id );
205
+ unset( $_SESSION['WpscGatewayErrorMessage'] );
206
+ $this->return_to_checkout();
207
+ exit;
208
+ }
209
+
210
+ // Prep for payment
211
+ $this->user_id = $user_id;
212
+ $this->transaction_id = 'MYCRED' . $user_id . time();
213
+ }
214
+
215
+ /**
216
+ * Submit
217
+ * Charges the user for the purchase and if profit sharing is enabled
218
+ * each product owner.
219
+ * @since 1.3
220
+ * @version 1.0
221
+ */
222
+ function submit() {
223
+ // Since the wpsc_pre_submit_gateway action could change these values, we need to check
224
+ if ( $this->cost > 0 && $this->user_id != 0 && !empty( $this->transaction_id ) ) {
225
+ // Let other play before we start
226
+ do_action_ref_array( 'mycred_wpecom_charg', array( &$this ) );
227
+
228
+ // Charge
229
+ $this->core->add_creds(
230
+ 'wpecom_payment',
231
+ $this->user_id,
232
+ 0-$this->cost,
233
+ $this->prefs['log'],
234
+ '',
235
+ $this->purchase_id
236
+ );
237
+
238
+ // Update Order
239
+ $this->set_transaction_details( $this->transaction_id, 3 );
240
+ transaction_results( $this->cart_data['session_id'], false );
241
+
242
+ // Payout Share
243
+ if ( $this->prefs['share'] > 0 ) {
244
+ // Loop though items
245
+ foreach ( (array) $this->cart_items as $item ) {
246
+ // Get product
247
+ $product = get_post( (int) $item['product_id'] );
248
+
249
+ // Continue if product has just been deleted or owner is buyer
250
+ if ( $product === NULL || $product->post_author == $this->user_id ) continue;
251
+
252
+ // Calculate Cost
253
+ $price = $item['price'];
254
+ $quantity = $item['quantity'];
255
+ $cost = $price*$quantity;
256
+
257
+ // Calculate Share
258
+ $share = ( $this->prefs['share'] / 100 ) * $cost;
259
+
260
+ // Payout
261
+ $this->core->add_creds(
262
+ 'store_sale',
263
+ $product->post_author,
264
+ $this->core->format_number( $share ),
265
+ $this->prefs['share_log'],
266
+ $product->ID,
267
+ array( 'ref_type' => 'post' )
268
+ );
269
+ }
270
+ }
271
+
272
+ // Let others play before we end
273
+ do_action_ref_array( 'mycred_wpecom_charged', array( &$this ) );
274
+
275
+ // Empty Cart, Redirect & Exit
276
+ wpsc_empty_cart();
277
+ $this->go_to_transaction_results( $this->cart_data['session_id'] );
278
+ exit;
279
+ }
280
+
281
+ // Else save this as pending
282
+ elseif ( !empty( $this->transaction_id ) ) {
283
+ $this->set_transaction_details( $this->transaction_id, 2 );
284
+ }
285
+ }
286
+ }
287
+ }
288
+ }
289
+
290
+ /**
291
+ * Gateway Settings
292
+ * @filter mycred_wpecom_settings
293
+ * @since 1.3
294
+ * @version 1.0
295
+ */
296
+ if ( !function_exists( 'mycred_wpecom_gateway_settings' ) ) {
297
+ function mycred_wpecom_gateway_settings() {
298
+ global $wpdb, $mycred_wpecom_settings;
299
+
300
+ $mycred = mycred_get_settings();
301
+
302
+ // Get current currency
303
+ $currency_data = $wpdb->get_results( "SELECT * FROM `" . WPSC_TABLE_CURRENCY_LIST . "` ORDER BY `country` ASC", ARRAY_A );
304
+ $selected_currency = esc_attr( get_option( 'currency_type' ) );
305
+ foreach ( $currency_data as $currency ) {
306
+ if ( $selected_currency != $currency['id'] ) continue;
307
+ else {
308
+ if ( !empty( $currency['symbol_html'] ) )
309
+ $selected_currency = $currency['symbol_html'];
310
+ else
311
+ $selected_currency = $currency['code'];
312
+
313
+ break;
314
+ }
315
+ }
316
+
317
+ $output = '
318
+ <tr>
319
+ <td colspan="2"><strong>' . __( 'General', 'mycred' ) . '</strong></td>
320
+ </tr>
321
+ <tr>
322
+ <td width="150">' . __( 'Log Template for Payments', 'mycred' ) . '</td>
323
+ <td><input type="text" name="mycred_gateway[log]" value="' . esc_attr( $mycred_wpecom_settings['log'] ) . '" style="width:50%;" /><br /><span class="description">' . __( 'Log entry template for successful payments. Available template tags: General, %order_id%', 'mycred' ) . '</span></td>
324
+ </tr>
325
+ <tr>
326
+ <td width="150">' . __( 'Exchange Rate', 'mycred' ) . '</td>
327
+ <td><input type="text" name="mycred_gateway[rate]" value="' . esc_attr( $mycred_wpecom_settings['rate'] ) . '" style="width:50px;" /><br /><span class="description">' . sprintf( __( 'How much is 1 %s worth in %s', 'mycred' ), $selected_currency, $mycred->plural() ) . '</span></td>
328
+ </tr>
329
+ <tr>
330
+ <td colspan="2"><strong>' . __( 'Profit Sharing', 'mycred' ) . '</strong></td>
331
+ </tr>
332
+ <tr>
333
+ <td width="150">' . __( 'Payout', 'mycred' ) . '</td>
334
+ <td><input type="text" name="mycred_gateway[share]" value="' . esc_attr( $mycred_wpecom_settings['share'] ) . '" style="width:50px;" /> %<br /><span class="description">' . __( 'Option to share a percentage of the sale with the product owner (post author). User zero to disable.', 'mycred' ) . '</span></td>
335
+ </tr>
336
+ <tr>
337
+ <td width="150">' . __( 'Log Template', 'mycred' ) . '</td>
338
+ <td><input type="text" name="mycred_gateway[share_log]" value="' . esc_attr( $mycred_wpecom_settings['share_log'] ) . '" style="width:50%;" /><br /><span class="description">' . __( 'Log entry template for profit sharing. Available template tags: General and Post related', 'mycred' ) . '</span></td>
339
+ </tr>
340
+ <tr>
341
+ <td colspan="2"><strong>' . __( 'Messages', 'mycred' ) . '</strong></td>
342
+ </tr>
343
+ <tr>
344
+ <td width="150">' . __( 'Instructions', 'mycred' ) . '</td>
345
+ <td><input type="text" name="mycred_gateway[message]" value="' . esc_attr( $mycred_wpecom_settings['message'] ) . '" style="width:50%;" /><br /><span class="description">' . __( 'Optional instructions to show users when selecting this gateway. Leave empty to hide.', 'mycred' ) . '</span></td>
346
+ </tr>
347
+ <tr>
348
+ <td width="150">' . __( 'Visitors', 'mycred' ) . '</td>
349
+ <td><input type="text" name="mycred_gateway[visitor]" value="' . esc_attr( $mycred_wpecom_settings['visitor'] ) . '" style="width:50%;" /><br /><span class="description">' . __( 'Message to show visitors who are not logged in.', 'mycred' ) . '</span></td>
350
+ </tr>
351
+ <tr>
352
+ <td width="150">' . __( 'Insufficient Funds', 'mycred' ) . '</td>
353
+ <td><input type="text" name="mycred_gateway[low_funds]" value="' . esc_attr( $mycred_wpecom_settings['low_funds'] ) . '" style="width:50%;" /><br /><span class="description">' . $mycred->template_tags_general( __( 'Message to show when users does not have enough %plural% to pay using this gateway.', 'mycred' ) ) . '</span></td>
354
+ </tr>';
355
+
356
+ return apply_filters( 'mycred_wpecom_settings', $output );
357
+ }
358
+ }
359
+
360
+ /**
361
+ * Save Gateway Settings
362
+ * @filter mycred_wpecom_save_settings
363
+ * @since 1.3
364
+ * @version 1.0
365
+ */
366
+ if ( !function_exists( 'mycred_wpecom_gateway_settings_save' ) ) {
367
+ function mycred_wpecom_gateway_settings_save() {
368
+ if ( isset( $_POST['mycred_gateway'] ) ) {
369
+ $new_settings = apply_filters( 'mycred_wpecom_save_settings', array(
370
+ 'log' => trim( $_POST['mycred_gateway']['log'] ),
371
+ 'share' => abs( $_POST['mycred_gateway']['share'] ),
372
+ 'share_log' => trim( $_POST['mycred_gateway']['share_log'] ),
373
+ 'rate' => trim( $_POST['mycred_gateway']['rate'] ),
374
+ 'visitor' => sanitize_text_field( $_POST['mycred_gateway']['visitor'] ),
375
+ 'low_funds' => sanitize_text_field( $_POST['mycred_gateway']['low_funds'] ),
376
+ 'message' => sanitize_text_field( $_POST['mycred_gateway']['message'] )
377
+ ) );
378
+ update_option( 'mycred_wpecom_settings', $new_settings );
379
+ }
380
+ return true;
381
+ }
382
+ }
383
+
384
+ /**
385
+ * Parse Email Notice
386
+ * @since 1.2.2
387
+ * @version 1.0
388
+ */
389
+ if ( !function_exists( 'mycred_wpecom_parse_email' ) ) {
390
+ add_filter( 'mycred_email_before_send', 'mycred_wpecom_parse_email' );
391
+ function mycred_wpecom_parse_email( $email )
392
+ {
393
+ if ( $email['request']['ref'] == 'wpecom_payment' ) {
394
+ $email['request']['entry'] = str_replace( '%order_id%', $email['request']['data'], $email['request']['entry'] );
395
+ }
396
+ return $email;
397
+ }
398
+ }
399
+ ?>
addons/gateway/event-booking/mycred-eventespresso3.php CHANGED
@@ -3,7 +3,7 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
  /**
4
  * Event Espresso Payment Gateway
5
  * @since 1.2
6
- * @version 1.0
7
  */
8
  if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
9
  class myCRED_Espresso_Gateway {
@@ -25,6 +25,7 @@ if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
25
  'button' => __( 'Pay Now', 'mycred' )
26
  ),
27
  'rate' => 100,
 
28
  'log' => __( 'Payment for Event Registration', 'mycred' ),
29
  'messages' => array(
30
  'solvent' => 'Click "Pay Now" to pay using your %plural%.',
@@ -147,7 +148,7 @@ if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
147
  /**
148
  * Process Payment
149
  * @since 1.2
150
- * @version 1.0
151
  */
152
  public function process_payment( $payment_data ) {
153
  if ( !is_user_logged_in() ) return $payment_data;
@@ -194,6 +195,22 @@ if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
194
  // Let others play
195
  do_action( 'mycred_espresso_processed', $payment_data, $this->prefs, $this->core );
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  return $payment_data;
198
  }
199
 
@@ -367,7 +384,7 @@ if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
367
  * Gateway Settings
368
  * Included first when the gateway is activated.
369
  * @since 1.2
370
- * @version 1.0
371
  */
372
  public function gateway_settings() {
373
  global $org_options;
@@ -419,6 +436,11 @@ if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
419
  <li><?php _e( 'Users must be logged in to use this gateway!', 'mycred' ); ?></li>
420
  </ol>
421
  </li>
 
 
 
 
 
422
  </ul>
423
  <h4><?php _e( 'Log', 'mycred' ); ?></h4>
424
  <ul>
@@ -463,7 +485,7 @@ if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
463
  /**
464
  * Update Settings
465
  * @since 1.2
466
- * @version 1.0
467
  */
468
  public function update_settings() {
469
  // Apply Whitelabeling
@@ -486,6 +508,9 @@ if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
486
  // Exchange Rate
487
  $new_settings['rate'] = sanitize_text_field( $post['rate'] );
488
 
 
 
 
489
  // Log
490
  $new_settings['log'] = sanitize_text_field( $post['log'] );
491
 
3
  /**
4
  * Event Espresso Payment Gateway
5
  * @since 1.2
6
+ * @version 1.0.1
7
  */
8
  if ( !class_exists( 'myCRED_Espresso_Gateway' ) ) {
9
  class myCRED_Espresso_Gateway {
25
  'button' => __( 'Pay Now', 'mycred' )
26
  ),
27
  'rate' => 100,
28
+ 'share' => 0,
29
  'log' => __( 'Payment for Event Registration', 'mycred' ),
30
  'messages' => array(
31
  'solvent' => 'Click "Pay Now" to pay using your %plural%.',
148
  /**
149
  * Process Payment
150
  * @since 1.2
151
+ * @version 1.1
152
  */
153
  public function process_payment( $payment_data ) {
154
  if ( !is_user_logged_in() ) return $payment_data;
195
  // Let others play
196
  do_action( 'mycred_espresso_processed', $payment_data, $this->prefs, $this->core );
197
 
198
+ // Profit sharing
199
+ if ( $this->prefs['share'] != 0 ) {
200
+ $event_post = get_post( (int) $payment_data['event_id'] );
201
+ if ( $event_post !== NULL ) {
202
+ $share = ( $this->prefs['share']/100 ) * $price;
203
+ $this->core->add_creds(
204
+ 'event_sale',
205
+ $event_post->post_author,
206
+ $share,
207
+ $this->prefs['log'],
208
+ $payment_data['event_id'],
209
+ $payment_data['registration_id']
210
+ );
211
+ }
212
+ }
213
+
214
  return $payment_data;
215
  }
216
 
384
  * Gateway Settings
385
  * Included first when the gateway is activated.
386
  * @since 1.2
387
+ * @version 1.1
388
  */
389
  public function gateway_settings() {
390
  global $org_options;
436
  <li><?php _e( 'Users must be logged in to use this gateway!', 'mycred' ); ?></li>
437
  </ol>
438
  </li>
439
+ <li id="mycred-event-profit-sharing">
440
+ <label for="mycred-prefs-profit-share"><?php _e( 'Profit Sharing', 'mycred' ); ?></label>
441
+ <input type="text" name="mycred_prefs[share]" id="mycred-prefs-profit-share" size="5" value="<?php echo $this->prefs['share']; ?>" /> %<br />
442
+ <span class="description"><?php _e( 'Option to share sales with the event owner (post author). Use zero to disable.', 'mycred' ); ?></span>
443
+ </li>
444
  </ul>
445
  <h4><?php _e( 'Log', 'mycred' ); ?></h4>
446
  <ul>
485
  /**
486
  * Update Settings
487
  * @since 1.2
488
+ * @version 1.1
489
  */
490
  public function update_settings() {
491
  // Apply Whitelabeling
508
  // Exchange Rate
509
  $new_settings['rate'] = sanitize_text_field( $post['rate'] );
510
 
511
+ // Profit Share
512
+ $new_settings['share'] = abs( $post['share'] );
513
+
514
  // Log
515
  $new_settings['log'] = sanitize_text_field( $post['log'] );
516
 
addons/gateway/event-booking/mycred-eventsmanager-pro.php ADDED
@@ -0,0 +1,600 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
+ /**
4
+ * Events Manager Pro Gateway
5
+ * @since 1.3
6
+ * @version 1.0.1
7
+ */
8
+ if ( !class_exists( 'EM_Gateway_myCRED' ) ) {
9
+ class EM_Gateway_myCRED extends EM_Gateway {
10
+
11
+ var $gateway = 'mycred';
12
+ var $title = '';
13
+ var $status = 1;
14
+ var $status_txt = '';
15
+ var $button_enabled = true;
16
+ var $supports_multiple_bookings = true;
17
+
18
+ var $registered_timer = 0;
19
+
20
+ /**
21
+ * Construct
22
+ */
23
+ function __construct() {
24
+ // Default settings
25
+ $defaults = array(
26
+ 'setup' => 'off',
27
+ 'rate' => 100,
28
+ 'share' => 0,
29
+ 'log' => array(
30
+ 'purchase' => __( 'Payment for tickets to %link_with_title%', 'mycred' ),
31
+ 'refund' => __( 'Ticket refund for %link_with_title%', 'mycred' )
32
+ ),
33
+ 'refund' => 0,
34
+ 'labels' => array(
35
+ 'header' => __( 'Pay using your %_plural% balance', 'mycred' ),
36
+ 'button' => __( 'Pay Now', 'mycred' ),
37
+ 'link' => __( 'Pay', 'mycred' )
38
+ ),
39
+ 'messages' => array(
40
+ 'success' => __( 'Thank you for your payment!', 'mycred' ),
41
+ 'error' => __( "I'm sorry but you can not pay for these tickets using %_plural%", 'mycred' )
42
+ )
43
+ );
44
+
45
+ // Settings
46
+ $settings = get_option( 'mycred_eventsmanager_gateway_prefs' );
47
+ $this->prefs = mycred_apply_defaults( $defaults, $settings );
48
+
49
+ // Load myCRED
50
+ $this->core = mycred_get_settings();
51
+
52
+ // Apply Whitelabeling
53
+ $this->label = apply_filters( 'mycred_label', myCRED_NAME );
54
+ $this->title = strip_tags( $this->label );
55
+ $this->status_txt = 'Paid using ' . strip_tags( $this->label );
56
+
57
+ parent::__construct();
58
+
59
+ if ( !$this->is_active() ) return;
60
+
61
+ // Currency
62
+ add_filter( 'em_get_currencies', array( $this, 'add_currency' ) );
63
+ if ( $this->single_currency() )
64
+ add_filter( 'em_get_currency_formatted', array( $this, 'format_price' ), 10, 4 );
65
+
66
+ // Adjust Ticket Columns
67
+ add_filter( 'em_booking_form_tickets_cols', array( $this, 'ticket_columns' ), 10, 2 );
68
+ add_action( 'em_booking_form_tickets_col_mycred', array( $this, 'ticket_col' ), 10, 2 );
69
+ add_filter( 'em_bookings_table_cols_col_action', array( $this, 'bookings_table_actions' ), 10, 2 );
70
+
71
+ // Refund
72
+ if ( $this->prefs['refund'] != 0 )
73
+ add_filter( 'em_booking_set_status', array( $this, 'refunds' ), 10, 2 );
74
+ }
75
+
76
+ /**
77
+ * Add Currency
78
+ * Adds "Points" as a form of currency
79
+ * @since 1.3
80
+ * @version 1.0
81
+ */
82
+ public function add_currency( $currencies ) {
83
+ $currencies->names['XMY'] = $this->core->plural();
84
+ if ( empty( $this->core->before ) && !empty( $this->core->after ) ) {
85
+ $currencies->symbols['XMY'] = $this->core->after;
86
+ $currencies->symbols['XMY'] = $this->core->after;
87
+ }
88
+ elseif ( !empty( $this->core->before ) && empty( $this->core->after ) ) {
89
+ $currencies->true_symbols['XMY'] = $this->core->before;
90
+ $currencies->true_symbols['XMY'] = $this->core->after;
91
+ }
92
+
93
+ return $currencies;
94
+ }
95
+
96
+ /**
97
+ * Check if using Single Currency
98
+ * @since 1.3
99
+ * @version 1.0
100
+ */
101
+ public function single_currency() {
102
+ if ( $this->prefs['setup'] == 'single' ) return true;
103
+ return false;
104
+ }
105
+
106
+ /**
107
+ * Format Price
108
+ * @since 1.3
109
+ * @version 1.0
110
+ */
111
+ public function format_price( $formatted_price, $price, $currency, $format ) {
112
+ if ( $currency == 'XMY' )
113
+ return $this->core->format_creds( $price );
114
+ else
115
+ return $formatted_price;
116
+ }
117
+
118
+ /**
119
+ * Adjust Ticket Columns
120
+ * @since 1.3
121
+ * @version 1.0
122
+ */
123
+ public function ticket_columns( $columns, $EM_Event ) {
124
+ if ( !$EM_Event->is_free() ) {
125
+ unset( $columns['price'] );
126
+ unset( $columns['type'] );
127
+ unset( $columns['spaces'] );
128
+
129
+ $columns['type'] = __( 'Ticket Type', 'mycred' );
130
+
131
+ if ( $this->single_currency() ) {
132
+ $columns['mycred'] = __( 'Price', 'mycred' );
133
+ }
134
+ else {
135
+ $columns['price'] = __( 'Price', 'mycred' );
136
+ $columns['mycred'] = $this->core->plural();
137
+ }
138
+ $columns['spaces'] = __( 'Spaces', 'mycred' );
139
+ }
140
+
141
+ $this->booking_cols = count( $columns );
142
+ return $columns;
143
+ }
144
+
145
+ /**
146
+ * Adjust Ticket Column Content
147
+ * @since 1.3
148
+ * @version 1.0
149
+ */
150
+ public function ticket_col( $EM_Ticket, $EM_Event ) {
151
+ $ticket_price = $EM_Ticket->get_price( false );
152
+ if ( $this->single_currency() )
153
+ $price = $ticket_price;
154
+ else
155
+ $price = $this->prefs['rate']*$ticket_price;
156
+
157
+ if ( empty( $ticket_price ) )
158
+ $price = 0; ?>
159
+
160
+ <td class="em-bookings-ticket-table-points"><?php echo $this->core->format_creds( $price ); ?></td>
161
+ <?php
162
+ }
163
+
164
+ /**
165
+ * Shows button, not needed if using the new form display
166
+ * @since 1.3
167
+ * @version 1.0
168
+ */
169
+ function booking_form_button() {
170
+ if ( !is_user_logged_in() ) return;
171
+ $user_id = get_current_user_id();
172
+
173
+ // Check for exclusion
174
+ if ( $this->core->exclude_user( $user_id ) ) return;
175
+
176
+ // Make sure we have points
177
+ if ( $this->core->get_users_cred( $user_id ) <= $this->core->format_number( 0 ) ) return;
178
+
179
+ $button = get_option( 'em_'. $this->gateway . '_button', $this->title );
180
+ ob_start();
181
+ if ( preg_match( '/https?:\/\//', $button ) ) { ?>
182
+ <input type="image" class="em-booking-submit em-gateway-button" id="em-gateway-button-<?php echo $this->gateway; ?>" src="<?php echo $button; ?>" alt="<?php echo $this->title; ?>" />
183
+ <?php } else { ?>
184
+ <input type="submit" class="em-booking-submit em-gateway-button" id="em-gateway-button-<?php echo $this->gateway; ?>" value="<?php echo $button; ?>" />
185
+ <?php }
186
+ return ob_get_clean();
187
+ }
188
+
189
+ /**
190
+ * Add Booking
191
+ * @since 1.3
192
+ * @version 1.0
193
+ */
194
+ function booking_add( $EM_Event, $EM_Booking, $post_validation = false ) {
195
+ parent::booking_add( $EM_Event, $EM_Booking, $post_validation );
196
+ if ( $post_validation && empty( $EM_Booking->booking_id ) ) {
197
+ if ( get_option( 'dbem_multiple_bookings' ) && get_class( $EM_Booking ) == 'EM_Multiple_Booking' ) {
198
+ add_filter( 'em_multiple_booking_save', array( &$this, 'booking_payment' ), 2, 2 );
199
+ } else {
200
+ add_filter( 'em_booking_save', array( &$this, 'booking_payment' ), 2, 2 );
201
+ }
202
+ }
203
+ }
204
+
205
+ /**
206
+ * Booking Payment
207
+ * @since 1.3
208
+ * @version 1.0
209
+ */
210
+ function booking_payment( $result, $EM_Booking ) {
211
+ global $wpdb, $wp_rewrite, $EM_Notices;
212
+ //make sure booking save was successful before we try anything
213
+ if ( $result ) {
214
+ // Event is not free
215
+ if ( $EM_Booking->get_price() > 0 ) {
216
+ $ok = true;
217
+
218
+ // User is excluded from using this gateway
219
+ if ( $this->core->exclude_user( $EM_Booking->person->ID ) ) {
220
+ $EM_Booking->add_error( __( 'You can not pay using this gateway.', 'mycred' ) );
221
+ $ok = false;
222
+ }
223
+ // User can not afford to pay
224
+ elseif ( !$this->can_pay( $EM_Booking ) ) {
225
+ $EM_Booking->add_error( $this->core->template_tags_general( $this->prefs['messages']['error'] ) );
226
+ $ok = false;
227
+ }
228
+ // User has not yet paid (prefered)
229
+ elseif ( !$this->has_paid( $EM_Booking ) ) {
230
+ // Price
231
+ $price = $this->core->number( $EM_Booking->booking_price );
232
+ if ( !$this->single_currency() ) {
233
+ $exchange_rate = $this->prefs['rate'];
234
+ $price = $this->core->number( $exchange_rate*$price );
235
+ }
236
+
237
+ // Charge
238
+ $this->core->add_creds(
239
+ 'ticket_purchase',
240
+ $EM_Booking->person->ID,
241
+ 0-$price,
242
+ $this->prefs['log']['purchase'],
243
+ $EM_Booking->event->post_id,
244
+ array( 'ref_type' => 'post', 'bid' => $EM_Booking->booking_id )
245
+ );
246
+
247
+ // Log transaction with EM
248
+ $transaction_id = time() . $EM_Booking->person->ID;
249
+ $EM_Booking->booking_meta[ $this->gateway ] = array( 'txn_id' => $transaction_id, 'amount' => $price );
250
+ $this->record_transaction( $EM_Booking, $EM_Booking->get_price( false, false, true ), get_option( 'dbem_bookings_currency' ), current_time( 'mysql' ), $transaction_id, 'Completed', '' );
251
+
252
+ // Profit sharing
253
+ if ( $this->prefs['share'] != 0 ) {
254
+ $event_post = get_post( (int) $EM_Booking->event->post_id );
255
+ if ( $event_post !== NULL ) {
256
+ $share = ( $this->prefs['share']/100 ) * $price;
257
+ $this->core->add_creds(
258
+ 'ticket_sale',
259
+ $event_post->post_author,
260
+ $share,
261
+ $this->prefs['log']['purchase'],
262
+ $event_post->ID,
263
+ array( 'ref_type' => 'post', 'bid' => $EM_Booking->booking_id )
264
+ );
265
+ }
266
+ }
267
+ }
268
+ // Something went horribly wrong
269
+ else {
270
+ $ok = false;
271
+ }
272
+
273
+ // Successfull Payment
274
+ if ( $ok ) {
275
+ if ( !get_option( 'em_' . $this->gateway . '_manual_approval', false ) || !get_option( 'dbem_bookings_approval' ) ) {
276
+ $EM_Booking->set_status( 1, false ); //Approve
277
+ } else {
278
+ $EM_Booking->set_status( 0, false ); //Set back to normal "pending"
279
+ }
280
+ }
281
+ // Error in payment - delete booking
282
+ else {
283
+ // Delete any user that got registered for this event
284
+ if ( !is_user_logged_in() && get_option( 'dbem_bookings_anonymous' ) && !get_option( 'dbem_bookings_registration_disable' ) && !empty( $EM_Booking->person_id ) ) {
285
+ $EM_Person = $EM_Booking->get_person();
286
+ if ( strtotime( $EM_Person->data->user_registered ) >= $this->registered_timer ) {
287
+ if ( is_multisite() ) {
288
+ include_once( ABSPATH . '/wp-admin/includes/ms.php' );
289
+ wpmu_delete_user( $EM_Person->ID );
290
+ } else {
291
+ include_once( ABSPATH . '/wp-admin/includes/user.php' );
292
+ wp_delete_user( $EM_Person->ID );
293
+ }
294
+
295
+ // remove email confirmation
296
+ global $EM_Notices;
297
+ $EM_Notices->notices['confirms'] = array();
298
+ }
299
+ }
300
+
301
+ // Delete booking
302
+ $EM_Booking->delete();
303
+ return false;
304
+ }
305
+ }
306
+ }
307
+ return $result;
308
+ }
309
+
310
+ /**
311
+ * Refunds
312
+ * @since 1.3
313
+ * @version 1.0
314
+ */
315
+ public function refunds( $result, $EM_Booking ) {
316
+ // Cancellation = refund
317
+ if ( $EM_Booking->booking_status == 3 && $EM_Booking->previous_status == 1 && $this->prefs['refund'] > 0 ) {
318
+ // Make sure user has paid for this to refund
319
+ if ( $this->has_paid( $EM_Booking ) ) {
320
+ // Price
321
+ if ( $this->single_currency() )
322
+ $price = $this->core->number( $EM_Booking->booking_price );
323
+ else
324
+ $price = $this->core->number( $this->prefs['rate']*$EM_Booking->booking_price );
325
+
326
+ // Refund
327
+ if ( $this->prefs['refund'] != 100 )
328
+ $refund = $price * ( $this->prefs['refund'] / 100 );
329
+ else
330
+ $refund = $price;
331
+
332
+ // Charge
333
+ $this->core->add_creds(
334
+ 'ticket_purchase_refund',
335
+ $EM_Booking->person->ID,
336
+ $refund,
337
+ $this->prefs['log']['refund'],
338
+ $EM_Booking->event->post_id,
339
+ array( 'ref_type' => 'post', 'bid' => $booking_id )
340
+ );
341
+ }
342
+ }
343
+ return $result;
344
+ }
345
+
346
+ /**
347
+ * Customize Booking Table Actions
348
+ * @since 1.3
349
+ * @version 1.0
350
+ */
351
+ function bookings_table_actions( $actions, $EM_Booking ) {
352
+ if ( $EM_Booking->booking_status == 1 && $this->uses_gateway( $EM_Booking ) ) {
353
+ return array(
354
+ 'reject' => '<a class="em-bookings-reject" href="' . em_add_get_params( $url, array(
355
+ 'action' => 'bookings_reject',
356
+ 'booking_id' => $EM_Booking->booking_id
357
+ ) ) . '">' . __( 'Reject', 'mycred' ) . '</a>',
358
+ 'delete' => '<span class="trash"><a class="em-bookings-delete" href="' . em_add_get_params( $url, array(
359
+ 'action' => 'bookings_delete',
360
+ 'booking_id' => $EM_Booking->booking_id
361
+ ) ) . '">' . __( 'Delete', 'mycred' ) . '</a></span>',
362
+ 'edit' => '<a class="em-bookings-edit" href="' . em_add_get_params( $EM_Booking->get_event()->get_bookings_url(), array(
363
+ 'booking_id' => $EM_Booking->booking_id,
364
+ 'em_ajax' => null,
365
+ 'em_obj' => null
366
+ ) ) . '">' . __( 'Edit/View', 'mycred' ) . '</a>'
367
+ );
368
+ }
369
+
370
+ return $actions;
371
+ }
372
+
373
+ /**
374
+ * Can Pay Check
375
+ * Checks if the user can pay for their booking.
376
+ * @since 1.2
377
+ * @version 1.0
378
+ */
379
+ public function can_pay( $EM_Booking ) {
380
+ $EM_Event = $EM_Booking->get_event();
381
+ // You cant pay for free events
382
+ if ( $EM_Event->is_free() ) return false;
383
+
384
+ $balance = $this->core->get_users_cred( $EM_Booking->person->ID );
385
+ if ( $balance <= 0 ) return false;
386
+
387
+ $price = $this->core->number( $EM_Booking->booking_price );
388
+ if ( $price == 0 ) return true;
389
+ if ( !$this->single_currency() ) {
390
+ $exchange_rate = $this->prefs['rate'];
391
+ $price = $this->core->number( $exchange_rate*$price );
392
+ }
393
+
394
+ if ( $balance-$price < 0 ) return false;
395
+
396
+ return true;
397
+ }
398
+
399
+ /**
400
+ * Has Paid
401
+ * Checks if the user has paid for booking
402
+ * @since 1.3
403
+ * @version 1.0
404
+ */
405
+ public function has_paid( $EM_Booking ) {
406
+ if ( $this->core->has_entry( 'ticket_purchase', $EM_Booking->event->post_id, $EM_Booking->person->ID, 's:3:"bid";i:' . $EM_Booking->booking_id . ';' ) ) return true;
407
+ return false;
408
+ }
409
+
410
+ /**
411
+ * Getway Settings
412
+ * @since 1.3
413
+ * @version 1.1
414
+ */
415
+ function mysettings() {
416
+ global $page, $action;
417
+ $gateway_link = admin_url( 'edit.php?post_type=' . EM_POST_TYPE_EVENT . '&page=events-manager-options#bookings' );
418
+
419
+ if ( $this->prefs['setup'] == 'multi' )
420
+ $box = 'display: block;';
421
+ else
422
+ $box = 'display: none;';
423
+
424
+ $exchange_message = sprintf(
425
+ __( 'How many %s is 1 %s worth?', 'mycred' ),
426
+ $this->core->plural(),
427
+ em_get_currency_symbol()
428
+ );
429
+
430
+ do_action( 'mycred_em_before_settings', $this ); ?>
431
+
432
+ <h4><?php _e( 'Setup', 'mycred' ); ?></h4>
433
+ <table class="form-table">
434
+ <tr>
435
+ <th scope="row"><?php _e( 'Payments', 'mycred' ); ?></th>
436
+ <td>
437
+ <input type="radio" name="mycred_gateway[setup]" id="mycred-gateway-setup-off" value="off"<?php checked( $this->prefs['setup'], 'off' ); ?> /> <label for="mycred-gateway-setup-off"><?php echo $this->core->template_tags_general( __( 'Disabled - Users CAN NOT pay for tickets using %plural%.', 'mycred' ) ); ?></label><br />
438
+ <input type="radio" name="mycred_gateway[setup]" id="mycred-gateway-setup-single" value="single"<?php checked( $this->prefs['setup'], 'single' ); ?> /> <label for="mycred-gateway-setup-single"><?php echo $this->core->template_tags_general( __( 'Single - Users can ONLY pay for tickets using %plural%.', 'mycred' ) ); ?></label><br />
439
+ <input type="radio" name="mycred_gateway[setup]" id="mycred-gateway-setup-multi" value="multi"<?php checked( $this->prefs['setup'], 'multi' ); ?> /> <label for="mycred-gateway-setup-multi"><?php echo $this->core->template_tags_general( __( 'Multi - Users can pay for tickets using other gateways or %plural%.', 'mycred' ) ); ?></label>
440
+ </td>
441
+ </tr>
442
+ <tr>
443
+ <th scope="row"><?php _e( 'Refunds', 'mycred' ); ?></th>
444
+ <td>
445
+ <input name="mycred_gateway[refund]" type="text" id="mycred-gateway-log-refund" value="<?php echo $this->prefs['refund']; ?>" size="5" /> %<br />
446
+ <span class="description"><?php _e( 'The percentage of the paid amount to refund if a user cancells their booking. Use zero for no refunds. No refunds are given to "Rejected" bookings!', 'mycred' ); ?></span>
447
+ </td>
448
+ </tr>
449
+ <tr>
450
+ <th scope="row"><?php _e( 'Profit Sharing', 'mycred' ); ?></th>
451
+ <td>
452
+ <input name="mycred_gateway[share]" type="text" id="mycred-gateway-profit-sharing" value="<?php echo $this->prefs['share']; ?>" size="5" /> %<br />
453
+ <span class="description"><?php _e( 'Option to share sales with the event owner (post author). Use zero to disable.', 'mycred' ); ?></span>
454
+ </td>
455
+ </tr>
456
+ </table>
457
+ <table class="form-table" id="mycred-exchange-rate" style="<?php echo $box; ?>">
458
+ <tr>
459
+ <th scope="row"><?php _e( 'Exchange Rate', 'mycred' ); ?></th>
460
+ <td>
461
+ <input name="mycred_gateway[rate]" type="text" id="mycred-gateway-rate" size="6" value="<?php echo $this->prefs['rate']; ?>" /><br />
462
+ <span class="description"><?php echo $exchange_message; ?></span>
463
+ </td>
464
+ </tr>
465
+ </table>
466
+ <h4><?php _e( 'Log Templates', 'mycred' ); ?></h4>
467
+ <table class="form-table">
468
+ <tr>
469
+ <th scope="row"><?php _e( 'Purchases', 'mycred' ); ?></th>
470
+ <td>
471
+ <input name="mycred_gateway[log][purchase]" type="text" id="mycred-gateway-log-purchase" style="width: 95%;" value="<?php echo $this->prefs['log']['purchase']; ?>" size="45" /><br />
472
+ <span class="description"><?php _e( 'Available template tags: General and Post related.', 'mycred' ); ?></span>
473
+ </td>
474
+ </tr>
475
+ <tr>
476
+ <th scope="row"><?php _e( 'Refunds', 'mycred' ); ?></th>
477
+ <td>
478
+ <input name="mycred_gateway[log][refund]" type="text" id="mycred-gateway-log-refund" style="width: 95%;" value="<?php echo $this->prefs['log']['refund']; ?>" size="45" /><br />
479
+ <span class="description"><?php _e( 'Available template tags: General and Post related.', 'mycred' ); ?></span>
480
+ </td>
481
+ </tr>
482
+ </table>
483
+ <script type="text/javascript">
484
+ jQuery(function($){
485
+ $('input[name="mycred_gateway[setup]"]').change(function(){
486
+ if ( $(this).val() == 'multi' ) {
487
+ $('#mycred-exchange-rate').show();
488
+ }
489
+ else {
490
+ $('#mycred-exchange-rate').hide();
491
+ }
492
+ });
493
+ });
494
+ </script>
495
+ <h4><?php _e( 'Labels', 'mycred' ); ?></h4>
496
+ <table class="form-table">
497
+ <tr valign="top">
498
+ <th scope="row"><?php _e( 'Payment Link Label', 'mycred' ); ?></th>
499
+ <td>
500
+ <input name="mycred_gateway[labels][link]" type="text" id="mycred-gateway-labels-link" style="width: 95%" value="<?php echo $this->prefs['labels']['link']; ?>" size="45" /><br />
501
+ <span class="description"><?php _e( 'The payment link shows / hides the payment form under "My Bookings". No HTML allowed.', 'mycred' ); ?></span>
502
+ </td>
503
+ </tr>
504
+ <tr valign="top">
505
+ <th scope="row"><?php _e( 'Payment Header', 'mycred' ); ?></th>
506
+ <td>
507
+ <input name="mycred_gateway[labels][header]" type="text" id="mycred-gateway-labels-header" style="width: 95%" value="<?php echo $this->prefs['labels']['header']; ?>" size="45" /><br />
508
+ <span class="description"><?php _e( 'Shown on top of the payment form. No HTML allowed.', 'mycred' ); ?></span>
509
+ </td>
510
+ </tr>
511
+ <tr valign="top">
512
+ <th scope="row"><?php _e( 'Button Label', 'mycred' ); ?></th>
513
+ <td>
514
+ <input name="mycred_gateway[labels][button]" type="text" id="mycred-gateway-labels-button" style="width: 95%" value="<?php echo $this->prefs['labels']['button']; ?>" size="45" /><br />
515
+ <span class="description"><?php _e( 'The button label for payments. No HTML allowed!', 'mycred' ); ?></span>
516
+ </td>
517
+ </tr>
518
+ </table>
519
+ <h4><?php _e( 'Messages', 'mycred' ); ?></h4>
520
+ <table class='form-table'>
521
+ <tr valign="top">
522
+ <th scope="row"><?php _e( 'Successful Payments', 'mycred' ); ?></th>
523
+ <td>
524
+ <input type="text" name="mycred_gateway[messages][success]" id="mycred-gateway-messages-success" style="width: 95%;" value="<?php echo stripslashes( $this->prefs['messages']['success'] ); ?>" /><br />
525
+ <span class="description"><?php _e( 'No HTML allowed! Available template tags: General', 'mycred' ); ?></span>
526
+ </td>
527
+ </tr>
528
+ <tr valign="top">
529
+ <th scope="row"><?php _e( 'Insufficient Funds', 'mycred' ); ?></th>
530
+ <td>
531
+ <input type="text" name="mycred_gateway[messages][error]" id="mycred-gateway-messages-error" style="width: 95%;" value="<?php echo stripslashes( $this->prefs['messages']['error'] ); ?>" /><br />
532
+ <span class="description"><?php _e( 'No HTML allowed! Available template tags: General', 'mycred' ); ?></span>
533
+ </td>
534
+ </tr>
535
+ </table>
536
+ <?php do_action( 'mycred_em_after_settings', $this );
537
+ }
538
+
539
+ /**
540
+ * Update Getway Settings
541
+ * @since 1.3
542
+ * @version 1.1
543
+ */
544
+ function update() {
545
+ parent::update();
546
+ if ( !isset( $_POST['mycred_gateway'] ) || !is_array( $_POST['mycred_gateway'] ) ) return;
547
+
548
+ // Prep
549
+ $data = $_POST['mycred_gateway'];
550
+ $new_settings = array();
551
+
552
+ // Setup
553
+ $new_settings['setup'] = $data['setup'];
554
+ $new_settings['refund'] = abs( $data['refund'] );
555
+ $new_settings['share'] = abs( $data['share'] );
556
+
557
+ // Logs
558
+ $new_settings['log']['purchase'] = trim( stripslashes( $data['log']['purchase'] ) );
559
+ $new_settings['log']['refund'] = trim( stripslashes( $data['log']['refund'] ) );
560
+
561
+ if ( $new_settings['setup'] == 'multi' )
562
+ $new_settings['rate'] = sanitize_text_field( $data['rate'] );
563
+ else
564
+ $new_settings['rate'] = $this->prefs['rate'];
565
+
566
+ // Override Pricing Options
567
+ if ( $new_settings['setup'] == 'single' ) {
568
+ update_option( 'dbem_bookings_currency_decimal_point', $this->core->format['separators']['decimal'] );
569
+ update_option( 'dbem_bookings_currency_thousands_sep', $this->core->format['separators']['thousand'] );
570
+ update_option( 'dbem_bookings_currency', 'XMY' );
571
+ if ( empty( $this->core->before ) && !empty( $this->core->after ) )
572
+ $format = '@ #';
573
+ elseif ( !empty( $this->core->before ) && empty( $this->core->after ) )
574
+ $format = '# @';
575
+ update_option( 'dbem_bookings_currency_format', $format );
576
+ }
577
+
578
+ // Labels
579
+ $new_settings['labels']['link'] = sanitize_text_field( stripslashes( $data['labels']['link'] ) );
580
+ $new_settings['labels']['header'] = sanitize_text_field( stripslashes( $data['labels']['header'] ) );
581
+ $new_settings['labels']['button'] = sanitize_text_field( stripslashes( $data['labels']['button'] ) );
582
+
583
+ // Messages
584
+ $new_settings['messages']['success'] = sanitize_text_field( stripslashes( $data['messages']['success'] ) );
585
+ $new_settings['messages']['error'] = sanitize_text_field( stripslashes( $data['messages']['error'] ) );
586
+
587
+ // Save Settings
588
+ $current = $this->prefs;
589
+ $this->prefs = mycred_apply_defaults( $current, $new_settings );
590
+ update_option( 'mycred_eventsmanager_gateway_prefs', $this->prefs );
591
+
592
+ // Let others play
593
+ do_action( 'mycred_em_save_settings', $this );
594
+
595
+ //default action is to return true
596
+ return true;
597
+ }
598
+ }
599
+ }
600
+ ?>
addons/gateway/event-booking/mycred-eventsmanager.php CHANGED
@@ -3,7 +3,7 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
  /**
4
  * Events Manager
5
  * @since 1.2
6
- * @version 1.0
7
  */
8
  if ( !class_exists( 'myCRED_Events_Manager_Gateway' ) && defined( 'EM_VERSION' ) ) {
9
  class myCRED_Events_Manager_Gateway {
@@ -21,6 +21,7 @@ if ( !class_exists( 'myCRED_Events_Manager_Gateway' ) && defined( 'EM_VERSION' )
21
  $defaults = array(
22
  'setup' => 'off',
23
  'rate' => 100,
 
24
  'log' => array(
25
  'purchase' => __( 'Payment for tickets to %link_with_title%', 'mycred' ),
26
  'refund' => __( 'Ticket refund for %link_with_title%', 'mycred' )
@@ -179,7 +180,7 @@ if ( !class_exists( 'myCRED_Events_Manager_Gateway' ) && defined( 'EM_VERSION' )
179
  */
180
  public function process_payment() {
181
  // Security
182
- //check_ajax_referer( 'mycred-pay-em-booking', 'token' );
183
 
184
  // Requirements
185
  if ( !isset( $_POST['booking_id'] ) || !is_user_logged_in() ) die( 'ERROR_1' );
@@ -227,6 +228,22 @@ if ( !class_exists( 'myCRED_Events_Manager_Gateway' ) && defined( 'EM_VERSION' )
227
 
228
  // Let others play
229
  do_action( 'mycred_em_booking_paid', $booking, $this );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  }
231
  else {
232
  $message = '';
@@ -454,7 +471,7 @@ jQuery(function($) {
454
  /**
455
  * Gateway Settings
456
  * @since 1.2
457
- * @version 1.0
458
  */
459
  public function settings_page() {
460
  if ( $this->prefs['setup'] == 'multi' )
@@ -490,6 +507,13 @@ jQuery(function($) {
490
  <span class="description"><?php _e( 'The percentage of the paid amount to refund if a booking gets cancelled. Use zero for no refunds. No refunds are given to "Rejected" bookings.', 'mycred' ); ?></span>
491
  </td>
492
  </tr>
 
 
 
 
 
 
 
493
  </table>
494
  <table class="form-table" id="mycred-exchange-rate" style="<?php echo $box; ?>">
495
  <tr>
@@ -580,7 +604,7 @@ jQuery(function($){
580
  /**
581
  * Save Settings
582
  * @since 1.2
583
- * @version 1.0
584
  */
585
  public function save_settings() {
586
  if ( !isset( $_POST['mycred_gateway'] ) || !is_array( $_POST['mycred_gateway'] ) ) return;
@@ -592,6 +616,7 @@ jQuery(function($){
592
  // Setup
593
  $new_settings['setup'] = $data['setup'];
594
  $new_settings['refund'] = abs( $data['refund'] );
 
595
 
596
  // Logs
597
  $new_settings['log']['purchase'] = trim( stripslashes( $data['log']['purchase'] ) );
3
  /**
4
  * Events Manager
5
  * @since 1.2
6
+ * @version 1.0.1
7
  */
8
  if ( !class_exists( 'myCRED_Events_Manager_Gateway' ) && defined( 'EM_VERSION' ) ) {
9
  class myCRED_Events_Manager_Gateway {
21
  $defaults = array(
22
  'setup' => 'off',
23
  'rate' => 100,
24
+ 'share' => 0,
25
  'log' => array(
26
  'purchase' => __( 'Payment for tickets to %link_with_title%', 'mycred' ),
27
  'refund' => __( 'Ticket refund for %link_with_title%', 'mycred' )
180
  */
181
  public function process_payment() {
182
  // Security
183
+ check_ajax_referer( 'mycred-pay-em-booking', 'token' );
184
 
185
  // Requirements
186
  if ( !isset( $_POST['booking_id'] ) || !is_user_logged_in() ) die( 'ERROR_1' );
228
 
229
  // Let others play
230
  do_action( 'mycred_em_booking_paid', $booking, $this );
231
+
232
+ // Profit sharing
233
+ if ( $this->prefs['share'] != 0 ) {
234
+ $event_post = get_post( (int) $booking->event->post_id );
235
+ if ( $event_post !== NULL ) {
236
+ $share = ( $this->prefs['share']/100 ) * $price;
237
+ $this->core->add_creds(
238
+ 'ticket_sale',
239
+ $event_post->post_author,
240
+ $share,
241
+ $this->prefs['log']['purchase'],
242
+ $event_post->ID,
243
+ array( 'ref_type' => 'post', 'bid' => $booking_id )
244
+ );
245
+ }
246
+ }
247
  }
248
  else {
249
  $message = '';
471
  /**
472
  * Gateway Settings
473
  * @since 1.2
474
+ * @version 1.1
475
  */
476
  public function settings_page() {
477
  if ( $this->prefs['setup'] == 'multi' )
507
  <span class="description"><?php _e( 'The percentage of the paid amount to refund if a booking gets cancelled. Use zero for no refunds. No refunds are given to "Rejected" bookings.', 'mycred' ); ?></span>
508
  </td>
509
  </tr>
510
+ <tr>
511
+ <th scope="row"><?php _e( 'Profit Sharing', 'mycred' ); ?></th>
512
+ <td>
513
+ <input name="mycred_gateway[share]" type="text" id="mycred-gateway-profit-sharing" value="<?php echo $this->prefs['share']; ?>" size="5" /> %<br />
514
+ <span class="description"><?php _e( 'Option to share sales with the event owner (post author). Use zero to disable.', 'mycred' ); ?></span>
515
+ </td>
516
+ </tr>
517
  </table>
518
  <table class="form-table" id="mycred-exchange-rate" style="<?php echo $box; ?>">
519
  <tr>
604
  /**
605
  * Save Settings
606
  * @since 1.2
607
+ * @version 1.1
608
  */
609
  public function save_settings() {
610
  if ( !isset( $_POST['mycred_gateway'] ) || !is_array( $_POST['mycred_gateway'] ) ) return;
616
  // Setup
617
  $new_settings['setup'] = $data['setup'];
618
  $new_settings['refund'] = abs( $data['refund'] );
619
+ $new_settings['share'] = abs( $data['share'] );
620
 
621
  // Logs
622
  $new_settings['log']['purchase'] = trim( stripslashes( $data['log']['purchase'] ) );
addons/gateway/membership/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
addons/gateway/myCRED-addon-gateway.php CHANGED
@@ -2,8 +2,8 @@
2
  /**
3
  * Addon: Gateway
4
  * Addon URI: http://mycred.me/add-ons/gateway/
5
- * Version: 1.2
6
- * Description: Let your users pay using their <strong>my</strong>CRED points balance. Supported Carts: WooCommerce, MarketPress. Supported Event Bookings: Event Espresso, Events Manager.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
9
  */
@@ -19,17 +19,50 @@ define( 'myCRED_GATE', __FILE__ );
19
  define( 'myCRED_GATE_DIR', myCRED_ADDONS_DIR . 'gateway/' );
20
  define( 'myCRED_GATE_ASSETS_DIR', myCRED_GATE_DIR . 'assets/' );
21
  define( 'myCRED_GATE_CART_DIR', myCRED_GATE_DIR . 'carts/' );
22
- define( 'myCRED_GATE_EVENT_DIR', myCRED_GATE_DIR . 'event-booking/' );
 
23
 
24
  /**
25
  * Supported Carts
26
  */
27
  require_once( myCRED_GATE_CART_DIR . 'mycred-woocommerce.php' );
28
  require_once( myCRED_GATE_CART_DIR . 'mycred-marketpress.php' );
 
29
 
30
  /**
31
- * Supported Event Management Plugins
32
  */
33
- require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventespresso3.php' );
34
- require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventsmanager.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  ?>
2
  /**
3
  * Addon: Gateway
4
  * Addon URI: http://mycred.me/add-ons/gateway/
5
+ * Version: 1.3
6
+ * Description: Let your users pay using their <strong>my</strong>CRED points balance. Supported Carts: WooCommerce, MarketPress. Supported Event Bookings: Event Espresso, Events Manager. Supported Membership Plugins: WPMU DEV Membership
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
9
  */
19
  define( 'myCRED_GATE_DIR', myCRED_ADDONS_DIR . 'gateway/' );
20
  define( 'myCRED_GATE_ASSETS_DIR', myCRED_GATE_DIR . 'assets/' );
21
  define( 'myCRED_GATE_CART_DIR', myCRED_GATE_DIR . 'carts/' );
22
+ define( 'myCRED_GATE_EVENT_DIR', myCRED_GATE_DIR . 'event-booking/' );
23
+ define( 'myCRED_GATE_MEMBER_DIR', myCRED_GATE_DIR . 'membership/' );
24
 
25
  /**
26
  * Supported Carts
27
  */
28
  require_once( myCRED_GATE_CART_DIR . 'mycred-woocommerce.php' );
29
  require_once( myCRED_GATE_CART_DIR . 'mycred-marketpress.php' );
30
+ require_once( myCRED_GATE_CART_DIR . 'mycred-wpecommerce.php' );
31
 
32
  /**
33
+ * Event Espresso
34
  */
35
+ add_action( 'init', 'mycred_load_event_espresso3' );
36
+ function mycred_load_event_espresso3() {
37
+ if ( !defined( 'EVENT_ESPRESSO_VERSION' ) ) return;
38
+
39
+ require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventespresso3.php' );
40
+ $gateway = new myCRED_Espresso_Gateway();
41
+ $gateway->load();
42
+ }
43
+
44
+ /**
45
+ * Events Manager
46
+ */
47
+ add_action( 'init', 'mycred_load_events_manager' );
48
+ function mycred_load_events_manager() {
49
+ if ( !defined( 'EM_VERSION' ) ) return;
50
+
51
+ // Pro
52
+ if ( defined( 'EMP_VERSION' ) ) {
53
+ require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventsmanager-pro.php' );
54
+ EM_Gateways::register_gateway( 'mycred', 'EM_Gateway_myCRED' );
55
+ }
56
+ // Free
57
+ else {
58
+ require_once( myCRED_GATE_EVENT_DIR . 'mycred-eventsmanager.php' );
59
+ $events = new myCRED_Events_Manager_Gateway();
60
+ $events->load();
61
+ }
62
+ }
63
+
64
+ /**
65
+ * Supported Membership Plugins
66
+ */
67
+
68
  ?>
addons/import/myCRED-addon-import.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Addon: Import
4
  * Addon URI: http://mycred.me/add-ons/import/
5
- * Version: 1.0.1
6
  * Description: With the Import add-on you can import CSV files, CubePoints or existing points under any custom user meta values.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
@@ -282,7 +282,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
282
  /**
283
  * Import CubePoints
284
  * @since 0.1
285
- * @version 1.1
286
  */
287
  public function import_cubepoints() {
288
  $delete = false;
@@ -294,7 +294,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
294
  global $wpdb;
295
 
296
  // DB Query
297
- $SQL = "SELECT * FROM " . $wpdb->prefix . "usermeta WHERE meta_key = %s";
298
  $search = $wpdb->get_results( $wpdb->prepare( $SQL, $meta_key ) );
299
 
300
  // No results
@@ -364,7 +364,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
364
  /**
365
  * Import Custom User Meta
366
  * @since 0.1
367
- * @version 1.0
368
  */
369
  public function import_custom() {
370
  if ( !isset( $_POST['meta_key'] ) || empty( $_POST['meta_key'] ) ) {
@@ -382,7 +382,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
382
  global $wpdb;
383
 
384
  // DB Query
385
- $SQL = "SELECT * FROM " . $wpdb->prefix . "usermeta WHERE meta_key = %s";
386
  $search = $wpdb->get_results( $wpdb->prepare( $SQL, $meta_key ) );
387
 
388
  // No results
@@ -502,7 +502,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
502
  $memory_limit = (int) ( ini_get( 'memory_limit' ) );
503
  $upload_mb = min( $max_upload, $max_post, $memory_limit ); ?>
504
 
505
- <h4 class="active"><label><?php echo $data['title']; ?></label></h4>
506
  <div class="body" style="display:none;">
507
  <form class="add:the-list: validate" method="post" enctype="multipart/form-data">
508
  <input type="hidden" name="selected-import" value="csv" />
@@ -575,7 +575,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
575
  ) );
576
  $cp_users = count( $quick_check ); ?>
577
 
578
- <h4 class="<?php if ( $cp_users > 0 ) echo 'active'; else echo 'inactive'; ?>"><label><?php echo $data['title']; ?></label></h4>
579
  <div class="body" style="display:none;">
580
  <form class="add:the-list: validate" method="post" enctype="multipart/form-data">
581
  <input type="hidden" name="selected-import" value="cubepoints" />
@@ -644,7 +644,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
644
  */
645
  public function custom_form( $data ) { ?>
646
 
647
- <h4 class="active"><label><?php echo $data['title']; ?></label></h4>
648
  <div class="body" style="display:none;">
649
  <form class="add:the-list: validate" method="post" enctype="multipart/form-data">
650
  <input type="hidden" name="selected-import" value="custom" />
@@ -699,6 +699,7 @@ if ( !class_exists( 'myCRED_Import' ) ) {
699
  </form>
700
  </div>
701
  <?php
 
702
  }
703
 
704
  /**
2
  /**
3
  * Addon: Import
4
  * Addon URI: http://mycred.me/add-ons/import/
5
+ * Version: 1.0.2
6
  * Description: With the Import add-on you can import CSV files, CubePoints or existing points under any custom user meta values.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
282
  /**
283
  * Import CubePoints
284
  * @since 0.1
285
+ * @version 1.2
286
  */
287
  public function import_cubepoints() {
288
  $delete = false;
294
  global $wpdb;
295
 
296
  // DB Query
297
+ $SQL = "SELECT * FROM {$wpdb->usermeta} WHERE meta_key = %s;";
298
  $search = $wpdb->get_results( $wpdb->prepare( $SQL, $meta_key ) );
299
 
300
  // No results
364
  /**
365
  * Import Custom User Meta
366
  * @since 0.1
367
+ * @version 1.0.1
368
  */
369
  public function import_custom() {
370
  if ( !isset( $_POST['meta_key'] ) || empty( $_POST['meta_key'] ) ) {
382
  global $wpdb;
383
 
384
  // DB Query
385
+ $SQL = "SELECT * FROM {$pwbd->usermeta} WHERE meta_key = %s;";
386
  $search = $wpdb->get_results( $wpdb->prepare( $SQL, $meta_key ) );
387
 
388
  // No results
502
  $memory_limit = (int) ( ini_get( 'memory_limit' ) );
503
  $upload_mb = min( $max_upload, $max_post, $memory_limit ); ?>
504
 
505
+ <h4><div class="icon icon-active"></div><label><?php echo $data['title']; ?></label></h4>
506
  <div class="body" style="display:none;">
507
  <form class="add:the-list: validate" method="post" enctype="multipart/form-data">
508
  <input type="hidden" name="selected-import" value="csv" />
575
  ) );
576
  $cp_users = count( $quick_check ); ?>
577
 
578
+ <h4><div class="icon icon-<?php if ( $cp_users > 0 ) echo 'active'; else echo 'inactive'; ?>"></div><label><?php echo $data['title']; ?></label></h4>
579
  <div class="body" style="display:none;">
580
  <form class="add:the-list: validate" method="post" enctype="multipart/form-data">
581
  <input type="hidden" name="selected-import" value="cubepoints" />
644
  */
645
  public function custom_form( $data ) { ?>
646
 
647
+ <h4><div class="icon icon-active"></div><label><?php echo $data['title']; ?></label></h4>
648
  <div class="body" style="display:none;">
649
  <form class="add:the-list: validate" method="post" enctype="multipart/form-data">
650
  <input type="hidden" name="selected-import" value="custom" />
699
  </form>
700
  </div>
701
  <?php
702
+ unset( $this );
703
  }
704
 
705
  /**
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.0.1
6
  * Description: Notify your users when their balances changes.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
@@ -41,7 +41,7 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
41
  'register' => false,
42
  'add_to_core' => true
43
  ) );
44
- add_filter( 'mycred_add', array( $this, 'mycred_add' ), 1, 3 );
45
  }
46
 
47
  /**
@@ -60,7 +60,7 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
60
  /**
61
  * Load Notice in Footer
62
  * @since 1.2.3
63
- * @version 1.0
64
  */
65
  public function wp_footer() {
66
  $notices = apply_filters( 'mycred_notifications', array() );
@@ -70,12 +70,13 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
70
  $stay = 'false';
71
  }
72
 
73
- do_action( 'mycred_before_notifications', $notices );
74
- foreach ( $notices as $notice ) {
75
  $notice = $this->core->template_tags_general( $notice );
 
76
  echo '<script type="text/javascript">(function(jQuery){jQuery.noticeAdd({ text: "' . $notice . '",stay: ' . $stay . '});})(jQuery);</script>';
77
  }
78
- do_action( 'mycred_after_notifications', $notices );
79
  }
80
 
81
  /**
@@ -106,9 +107,11 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
106
  /**
107
  * myCRED Add
108
  * @since 1.2.3
109
- * @version 1.0.1
110
  */
111
  public function mycred_add( $reply, $request, $mycred ) {
 
 
112
  $template = $this->notifications['template'];
113
  $template = str_replace( '%entry%', $request['entry'], $template );
114
  $template = str_replace( '%amount%', $request['amount'], $template );
@@ -116,35 +119,16 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
116
  $template = $this->core->parse_template_tags( $template, (object) $request );
117
  $template = apply_filters( 'mycred_notifications_note', $template, $request, $mycred );
118
 
119
- $this->add_notice( array( 'user_id' => $request['user_id'], 'message' => $template ) );
120
- return $reply;
121
- }
122
-
123
- /**
124
- * Add Notice
125
- * @since 1.2.3
126
- * @version 1.0
127
- */
128
- public function add_notice( $notice ) {
129
- // Get transient
130
- $data = get_transient( 'mycred_notice_' . $notice['user_id'] );
131
 
132
- // If none exists create a new array
133
- if ( $data === false || !is_array( $data ) )
134
- $notices = array();
135
- else
136
- $notices = $data;
137
-
138
- // Add new notice
139
- $notices[] = $notice['message'];
140
- // Save as a transient
141
- set_transient( 'mycred_notice_' . $notice['user_id'], $notices, DAY_IN_SECONDS*$this->notifications['life'] );
142
  }
143
 
144
  /**
145
  * Get Notices
146
  * @since 1.2.3
147
- * @version 1.0
148
  */
149
  public function get_notices() {
150
  $user_id = get_current_user_id();
@@ -166,7 +150,7 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
166
  );
167
 
168
  foreach ( $data as $notice ) {
169
- add_filter( 'mycred_notifications', create_function( '$query', '$query[]="' . $notice . '"; return $query;' ) );
170
  }
171
 
172
  delete_transient( 'mycred_notice_' . $user_id );
@@ -180,7 +164,7 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
180
  public function after_general_settings() {
181
  $settings = $this->notifications; ?>
182
 
183
- <h4 style="color:#BBD865;"><?php _e( 'Notifications', 'mycred' ); ?></h4>
184
  <div class="body" style="display:none;">
185
  <label class="subheader"><?php _e( 'Styling', 'mycred' ); ?></label>
186
  <ol>
@@ -230,4 +214,29 @@ if ( !class_exists( 'myCRED_Notifications' ) ) {
230
  $notice = new myCRED_Notifications();
231
  $notice->load();
232
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  ?>
2
  /**
3
  * Addon: Notifications
4
  * Addon URI: http://mycred.me/add-ons/notifications/
5
+ * Version: 1.0.2
6
  * Description: Notify your users when their balances changes.
7
  * Author: Gabriel S Merovingi
8
  * Author URI: http://www.merovingi.com
41
  'register' => false,
42
  'add_to_core' => true
43
  ) );
44
+ add_filter( 'mycred_add', array( $this, 'mycred_add' ), 99, 3 );
45
  }
46
 
47
  /**
60
  /**
61
  * Load Notice in Footer
62
  * @since 1.2.3
63
+ * @version 1.1
64
  */
65
  public function wp_footer() {
66
  $notices = apply_filters( 'mycred_notifications', array() );
70
  $stay = 'false';
71
  }
72
 
73
+ do_action_ref_array( 'mycred_before_notifications', array( &$notices ) );
74
+ foreach ( (array) $notices as $notice ) {
75
  $notice = $this->core->template_tags_general( $notice );
76
+ $notice = str_replace( array( "\r", "\n", "\t" ), '', $notice );
77
  echo '<script type="text/javascript">(function(jQuery){jQuery.noticeAdd({ text: "' . $notice . '",stay: ' . $stay . '});})(jQuery);</script>';
78
  }
79
+ do_action_ref_array( 'mycred_after_notifications', array( &$notices ) );
80
  }
81
 
82
  /**
107
  /**
108
  * myCRED Add
109
  * @since 1.2.3
110
+ * @version 1.1
111
  */
112
  public function mycred_add( $reply, $request, $mycred ) {
113
+ if ( $reply !== true ) return $reply;
114
+
115
  $template = $this->notifications['template'];
116
  $template = str_replace( '%entry%', $request['entry'], $template );
117
  $template = str_replace( '%amount%', $request['amount'], $template );
119
  $template = $this->core->parse_template_tags( $template, (object) $request );
120
  $template = apply_filters( 'mycred_notifications_note', $template, $request, $mycred );
121
 
122
+ if ( ! empty( $template ) )
123
+ mycred_add_new_notice( array( 'user_id' => $request['user_id'], 'message' => $template ), $this->notifications['life'] );
 
 
 
 
 
 
 
 
 
 
124
 
125
+ return $reply;
 
 
 
 
 
 
 
 
 
126
  }
127
 
128
  /**
129
  * Get Notices
130
  * @since 1.2.3
131
+ * @version 1.0.1
132
  */
133
  public function get_notices() {
134
  $user_id = get_current_user_id();
150
  );
151
 
152
  foreach ( $data as $notice ) {
153
+ add_filter( 'mycred_notifications', create_function( '$query', '$query[]=\'' . $notice . '\'; return $query;' ) );
154
  }
155
 
156
  delete_transient( 'mycred_notice_' . $user_id );
164
  public function after_general_settings() {
165
  $settings = $this->notifications; ?>
166
 
167
+ <h4><div class="icon icon-active"></div><?php _e( 'Notifications', 'mycred' ); ?></h4>
168
  <div class="body" style="display:none;">
169
  <label class="subheader"><?php _e( 'Styling', 'mycred' ); ?></label>
170
  <ol>
214
  $notice = new myCRED_Notifications();
215
  $notice->load();
216
  }
217
+
218
+ /**
219
+ * Add Notice
220
+ * @since 1.2.3
221
+ * @version 1.0
222
+ */
223
+ if ( !function_exists( 'mycred_add_new_notice' ) ) {
224
+ function mycred_add_new_notice( $notice = array(), $life = 1 ) {
225
+ if ( !isset( $notice['user_id'] ) || !isset( $notice['message'] ) ) return false;
226
+
227
+ // Get transient
228
+ $data = get_transient( 'mycred_notice_' . $notice['user_id'] );
229
+
230
+ // If none exists create a new array
231
+ if ( $data === false || !is_array( $data ) )
232
+ $notices = array();
233
+ else
234
+ $notices = $data;
235
+
236
+ // Add new notice
237
+ $notices[] = addslashes( $notice['message'] );
238
+ // Save as a transient
239
+ set_transient( 'mycred_notice_' . $notice['user_id'], $notices, 86400*$life );
240
+ }
241
+ }
242
  ?>
addons/ranks/myCRED-addon-ranks.php CHANGED
@@ -129,6 +129,16 @@ if ( !class_exists( 'myCRED_Ranks' ) ) {
129
  add_action( 'save_post', array( $this, 'save_rank_settings' ) );
130
  }
131
 
 
 
 
 
 
 
 
 
 
 
132
  /**
133
  * Enqueue Scripts & Styles
134
  * @since 1.1
@@ -199,20 +209,10 @@ if ( !class_exists( 'myCRED_Ranks' ) ) {
199
  register_post_type( 'mycred_rank', apply_filters( 'mycred_register_ranks', $args ) );
200
  }
201
 
202
- /**
203
- * Exclude Ranks from Publish Content Hook
204
- * @since 1.3
205
- * @version 1.0
206
- */
207
- public function exclude_ranks( $excludes ) {
208
- $excludes[] = 'mycred_rank';
209
- return $excludes;
210
- }
211
-
212
  /**
213
  * AJAX: Calculate Totals
214
  * @since 1.2
215
- * @version 1.0
216
  */
217
  public function calculate_totals() {
218
  // Security
@@ -220,14 +220,13 @@ if ( !class_exists( 'myCRED_Ranks' ) ) {
220
 
221
  global $wpdb;
222
 
223
- $db = $wpdb->prefix . 'myCRED_Log';
224
  $sql = "
225
  SELECT
226
  user_id AS ID,
227
  SUM(CASE WHEN creds > 0 THEN creds ELSE 0 END) as positives_sum,
228
  SUM(CASE WHEN creds < 0 THEN creds ELSE 0 END) as negatives_sum
229
  FROM
230
- $db
231
  GROUP BY
232
  user_id;";
233
  $users = $wpdb->get_results( $sql );
@@ -699,7 +698,7 @@ GROUP BY
699
  else
700
  $box = 'display: block;'; ?>
701
 
702
- <h4 style="color:#BBD865;"><?php _e( 'Ranks', 'mycred' ); ?></h4>
703
  <div class="body" style="display:none;">
704
  <label class="subheader" for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'Rank Features', 'mycred' ); ?></label>
705
  <ol id="myCRED-rank-supports">
129
  add_action( 'save_post', array( $this, 'save_rank_settings' ) );
130
  }
131
 
132
+ /**
133
+ * Exclude Ranks from Publish Content Hook
134
+ * @since 1.3
135
+ * @version 1.0
136
+ */
137
+ public function exclude_ranks( $excludes ) {
138
+ $excludes[] = 'mycred_rank';
139
+ return $excludes;
140
+ }
141
+
142
  /**
143
  * Enqueue Scripts & Styles
144
  * @since 1.1
209
  register_post_type( 'mycred_rank', apply_filters( 'mycred_register_ranks', $args ) );
210
  }
211
 
 
 
 
 
 
 
 
 
 
 
212
  /**
213
  * AJAX: Calculate Totals
214
  * @since 1.2
215
+ * @version 1.0.1
216
  */
217
  public function calculate_totals() {
218
  // Security
220
 
221
  global $wpdb;
222
 
 
223
  $sql = "
224
  SELECT
225
  user_id AS ID,
226
  SUM(CASE WHEN creds > 0 THEN creds ELSE 0 END) as positives_sum,
227
  SUM(CASE WHEN creds < 0 THEN creds ELSE 0 END) as negatives_sum
228
  FROM
229
+ {$this->core->log_table}
230
  GROUP BY
231
  user_id;";
232
  $users = $wpdb->get_results( $sql );
698
  else
699
  $box = 'display: block;'; ?>
700
 
701
+ <h4><div class="icon icon-active"></div><?php _e( 'Ranks', 'mycred' ); ?></h4>
702
  <div class="body" style="display:none;">
703
  <label class="subheader" for="<?php echo $this->field_id( 'public' ); ?>"><?php _e( 'Rank Features', 'mycred' ); ?></label>
704
  <ol id="myCRED-rank-supports">
addons/sell-content/myCRED-addon-sell-content.php CHANGED
@@ -301,7 +301,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
301
  );
302
  $available_payees = apply_filters( 'mycred_sell_content_payees', $payees, $sell_content ); ?>
303
 
304
- <h4 style="color:#BBD865;"><?php _e( 'Sell Content', 'mycred' ); ?></h4>
305
  <div class="body" style="display:none;">
306
  <label class="subheader" for="<?php echo $this->field_id( 'post_types' ); ?>"><?php _e( 'Post Types', 'mycred' ); ?></label>
307
  <ol id="myCRED-buy-postypes">
@@ -623,7 +623,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
623
  * @param $post_id (int) required post id
624
  * @returns (bool) true or false
625
  * @since 0.1
626
- * @version 1.2
627
  */
628
  public function user_paid( $user_id, $post_id ) {
629
  // Admins can view
@@ -636,7 +636,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
636
  $sell_content = $this->sell_content;
637
 
638
  // Search for the latest purchase of this item.
639
- $sql = "SELECT * FROM " . $wpdb->prefix . $this->core->db_name . " WHERE user_id = %d AND ref = %s AND ref_id = %d ORDER BY time DESC LIMIT 0,1";
640
  $purchases = $wpdb->get_results( $wpdb->prepare( $sql, $user_id, 'buy_content', $post_id ) );
641
  update_option( 'mycred_purchase_check', $purchases );
642
  // We have found purchase records
@@ -736,7 +736,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
736
  *
737
  * @returns (string) content
738
  * @since 0.1
739
- * @version 1.0.1
740
  */
741
  public function the_content( $content ) {
742
  global $mycred_content_purchase;
@@ -754,6 +754,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
754
  $template = $sell_content['templates']['visitors'];
755
 
756
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
757
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
758
  return '<div class="mycred-content-forsale">' . $template . '</div>';
759
  }
@@ -763,6 +764,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
763
  $template = $sell_content['templates']['members'];
764
 
765
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
766
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
767
  $template = $this->get_button( $template, $GLOBALS['post'] );
768
  return '
@@ -781,6 +783,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
781
  $template = $sell_content['templates']['cantafford'];
782
 
783
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
784
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
785
  return '<div class="mycred-content-forsale">' . $template . '</div>';
786
  }
@@ -803,7 +806,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
803
  *
804
  * @returns (string) content
805
  * @since 0.1
806
- * @version 1.2
807
  */
808
  public function render_shortcode( $atts, $content ) {
809
  $post_id = $GLOBALS['post']->ID;
@@ -832,6 +835,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
832
  $template = $sell_content['templates']['visitors'];
833
 
834
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
835
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
836
  unset( $content );
837
  return '<div class="mycred-content-forsale">' . $template . '</div>';
@@ -842,6 +846,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
842
  $template = $sell_content['templates']['members'];
843
 
844
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
845
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
846
  $template = $this->get_button( $template, $GLOBALS['post'] );
847
  unset( $content );
@@ -862,6 +867,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
862
  $template = $sell_content['templates']['cantafford'];
863
 
864
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
865
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
866
  unset( $content );
867
  return '<div class="mycred-content-forsale">' . $template . '</div>';
@@ -912,6 +918,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
912
  $template = $sell_content['templates']['visitors'];
913
 
914
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
915
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
916
  unset( $content );
917
  return '<div class="mycred-content-forsale">' . $template . '</div>';
@@ -922,6 +929,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
922
  $template = $sell_content['templates']['members'];
923
 
924
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
925
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
926
 
927
  if ( isset( $prefs['button_label'] ) )
@@ -942,6 +950,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
942
  $template = $sell_content['templates']['cantafford'];
943
 
944
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
 
945
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
946
  unset( $content );
947
  return '<div class="mycred-content-forsale">' . $template . '</div>';
@@ -958,7 +967,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
958
  * Render Sales History Shortcode
959
  * @see http://mycred.me/shortcodes/mycred_sales_history/
960
  * @since 1.0.9
961
- * @version 1.0
962
  */
963
  public function render_sales_history( $atts ) {
964
  extract( shortcode_atts( array(
@@ -992,7 +1001,7 @@ if ( !class_exists( 'myCRED_Sell_Content' ) ) {
992
  }
993
 
994
  // Query
995
- $sql = "SELECT * FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE user_id = %d AND ref = %s ORDER BY time ";
996
  $results = $wpdb->get_results( $wpdb->prepare( $sql, $user_id, 'buy_content' ) );
997
  $rows = array();
998
 
301
  );
302
  $available_payees = apply_filters( 'mycred_sell_content_payees', $payees, $sell_content ); ?>
303
 
304
+ <h4><div class="icon icon-active"></div><?php _e( 'Sell Content', 'mycred' ); ?></h4>
305
  <div class="body" style="display:none;">
306
  <label class="subheader" for="<?php echo $this->field_id( 'post_types' ); ?>"><?php _e( 'Post Types', 'mycred' ); ?></label>
307
  <ol id="myCRED-buy-postypes">
623
  * @param $post_id (int) required post id
624
  * @returns (bool) true or false
625
  * @since 0.1
626
+ * @version 1.2.1
627
  */
628
  public function user_paid( $user_id, $post_id ) {
629
  // Admins can view
636
  $sell_content = $this->sell_content;
637
 
638
  // Search for the latest purchase of this item.
639
+ $sql = "SELECT * FROM {$this->core->log_table} WHERE user_id = %d AND ref = %s AND ref_id = %d ORDER BY time DESC LIMIT 0,1;";
640
  $purchases = $wpdb->get_results( $wpdb->prepare( $sql, $user_id, 'buy_content', $post_id ) );
641
  update_option( 'mycred_purchase_check', $purchases );
642
  // We have found purchase records
736
  *
737
  * @returns (string) content
738
  * @since 0.1
739
+ * @version 1.0.2
740
  */
741
  public function the_content( $content ) {
742
  global $mycred_content_purchase;
754
  $template = $sell_content['templates']['visitors'];
755
 
756
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
757
+ $template = $this->core->template_tags_general( $template );
758
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
759
  return '<div class="mycred-content-forsale">' . $template . '</div>';
760
  }
764
  $template = $sell_content['templates']['members'];
765
 
766
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
767
+ $template = $this->core->template_tags_general( $template );
768
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
769
  $template = $this->get_button( $template, $GLOBALS['post'] );
770
  return '
783
  $template = $sell_content['templates']['cantafford'];
784
 
785
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
786
+ $template = $this->core->template_tags_general( $template );
787
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
788
  return '<div class="mycred-content-forsale">' . $template . '</div>';
789
  }
806
  *
807
  * @returns (string) content
808
  * @since 0.1
809
+ * @version 1.2.1
810
  */
811
  public function render_shortcode( $atts, $content ) {
812
  $post_id = $GLOBALS['post']->ID;
835
  $template = $sell_content['templates']['visitors'];
836
 
837
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
838
+ $template = $this->core->template_tags_general( $template );
839
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
840
  unset( $content );
841
  return '<div class="mycred-content-forsale">' . $template . '</div>';
846
  $template = $sell_content['templates']['members'];
847
 
848
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
849
+ $template = $this->core->template_tags_general( $template );
850
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
851
  $template = $this->get_button( $template, $GLOBALS['post'] );
852
  unset( $content );
867
  $template = $sell_content['templates']['cantafford'];
868
 
869
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
870
+ $template = $this->core->template_tags_general( $template );
871
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
872
  unset( $content );
873
  return '<div class="mycred-content-forsale">' . $template . '</div>';
918
  $template = $sell_content['templates']['visitors'];
919
 
920
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
921
+ $template = $this->core->template_tags_general( $template );
922
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
923
  unset( $content );
924
  return '<div class="mycred-content-forsale">' . $template . '</div>';
929
  $template = $sell_content['templates']['members'];
930
 
931
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
932
+ $template = $this->core->template_tags_general( $template );
933
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
934
 
935
  if ( isset( $prefs['button_label'] ) )
950
  $template = $sell_content['templates']['cantafford'];
951
 
952
  $template = str_replace( '%price%', $this->core->format_creds( $prefs['price'] ), $template );
953
+ $template = $this->core->template_tags_general( $template );
954
  $template = $this->core->template_tags_post( $template, $GLOBALS['post'] );
955
  unset( $content );
956
  return '<div class="mycred-content-forsale">' . $template . '</div>';
967
  * Render Sales History Shortcode
968
  * @see http://mycred.me/shortcodes/mycred_sales_history/
969
  * @since 1.0.9
970
+ * @version 1.0.1
971
  */
972
  public function render_sales_history( $atts ) {
973
  extract( shortcode_atts( array(
1001
  }
1002
 
1003
  // Query
1004
+ $sql = "SELECT * FROM {$this->core->log_table} WHERE user_id = %d AND ref = %s ORDER BY time;";
1005
  $results = $wpdb->get_results( $wpdb->prepare( $sql, $user_id, 'buy_content' ) );
1006
  $rows = array();
1007
 
addons/transfer/myCRED-addon-transfer.php CHANGED
@@ -180,7 +180,7 @@ if ( !class_exists( 'myCRED_Transfer_Creds' ) ) {
180
  );
181
  $available_limits = apply_filters( 'mycred_transfer_limits', $limits, $settings ); ?>
182
 
183
- <h4 style="color:#BBD865;"><?php echo $this->core->template_tags_general( __( 'Transfer %plural%', 'mycred' ) ); ?></h4>
184
  <div class="body" style="display:none;">
185
  <label class="subheader"><?php _e( 'Log template for sending', 'mycred' ); ?></label>
186
  <ol id="myCRED-transfer-logging-send">
@@ -329,7 +329,7 @@ if ( !class_exists( 'myCRED_Transfer_Creds' ) ) {
329
 
330
  // Check amount
331
  $amount = $this->core->number( $amount );
332
- if ( $amount == $this->core->number( 0 ) ) die( json_encode( 'error_5' ) );
333
 
334
  // Check funds
335
  if ( mycred_user_can_transfer( $from, $amount ) === 'low' ) die( json_encode( 'error_7' ) );
@@ -349,7 +349,7 @@ if ( !class_exists( 'myCRED_Transfer_Creds' ) ) {
349
  // Add new defaults
350
  $history = array(
351
  'frame' => ( $prefs['limit']['limit'] == 'daily' ) ? $today : $this_week,
352
- 'amount' => $this->core->number( 0 )
353
  );
354
  update_user_meta( $from, 'mycred_transactions', $history );
355
  }
@@ -363,7 +363,7 @@ if ( !class_exists( 'myCRED_Transfer_Creds' ) ) {
363
  if ( $today != $history['frame'] ) {
364
  $history = array(
365
  'frame' => $today,
366
- 'amount' => $this->core->number( 0 )
367
  );
368
  update_user_meta( $from, 'mycred_transactions', $history );
369
  }
@@ -378,7 +378,7 @@ if ( !class_exists( 'myCRED_Transfer_Creds' ) ) {
378
  if ( $this_week != $history['frame'] ) {
379
  $history = array(
380
  'frame' => $this_week,
381
- 'amount' => $this->core->number( 0 )
382
  );
383
  update_user_meta( $from, 'mycred_transactions', $history );
384
  }
@@ -436,7 +436,7 @@ if ( !class_exists( 'myCRED_Transfer_Creds' ) ) {
436
  /**
437
  * AJAX Autocomplete
438
  * @since 0.1
439
- * @version 1.0
440
  */
441
  public function ajax_call_autocomplete() {
442
  $results = array();
@@ -446,7 +446,7 @@ if ( !class_exists( 'myCRED_Transfer_Creds' ) ) {
446
  global $wpdb;
447
 
448
  // prep query
449
- $sql = "SELECT user_login, ID FROM " . $wpdb->prefix . 'users' . " WHERE ID != %d AND user_login LIKE %s";
450
  $search = $_REQUEST['string']['term'];
451
  $me = $_REQUEST['me'];
452
 
@@ -731,7 +731,7 @@ if ( !function_exists( 'mycred_transfer_render' ) ) {
731
  </li>
732
  <li class="mycred-send-amount">
733
  <label>' . __( 'Amount:', 'mycred' ) . '</label>
734
- <div>' . $before . '<input type="text" class="short" name="mycred-transfer-amount" value="' . $mycred->format_number( 0 ) . '" size="8" />' . $after . '</div>
735
  <input type="button" class="button large button-large mycred-click" value="' . $pref['templates']['button'] . '" />
736
  </li>
737
  ';
@@ -817,7 +817,7 @@ if ( !function_exists( 'mycred_user_can_transfer' ) ) {
817
  // Apply defaults if not set
818
  $history = array(
819
  'frame' => '',
820
- 'amount' => $mycred->number( 0 )
821
  );
822
  }
823
 
@@ -827,7 +827,7 @@ if ( !function_exists( 'mycred_user_can_transfer' ) ) {
827
  if ( $today != $history['frame'] ) {
828
  $new_data = array(
829
  'frame' => $today,
830
- 'amount' => $mycred->number( 0 )
831
  );
832
  update_user_meta( $user_id, 'mycred_transactions', $new_data );
833
  $current = $new_data['amount'];
@@ -850,7 +850,7 @@ if ( !function_exists( 'mycred_user_can_transfer' ) ) {
850
  if ( $this_week != $history['frame'] ) {
851
  $new_data = array(
852
  'frame' => $this_week,
853
- 'amount' => $mycred->number( 0 )
854
  );
855
  update_user_meta( $user_id, 'mycred_transactions', $new_data );
856
  $current = $new_data['amount'];
180
  );
181
  $available_limits = apply_filters( 'mycred_transfer_limits', $limits, $settings ); ?>
182
 
183
+ <h4><div class="icon icon-active"></div><?php echo $this->core->template_tags_general( __( 'Transfer %plural%', 'mycred' ) ); ?></h4>
184
  <div class="body" style="display:none;">
185
  <label class="subheader"><?php _e( 'Log template for sending', 'mycred' ); ?></label>
186
  <ol id="myCRED-transfer-logging-send">
329
 
330
  // Check amount
331
  $amount = $this->core->number( $amount );
332
+ if ( $amount == $this->core->zero() ) die( json_encode( 'error_5' ) );
333
 
334
  // Check funds
335
  if ( mycred_user_can_transfer( $from, $amount ) === 'low' ) die( json_encode( 'error_7' ) );
349
  // Add new defaults
350
  $history = array(
351
  'frame' => ( $prefs['limit']['limit'] == 'daily' ) ? $today : $this_week,
352
+ 'amount' => $this->core->zero()
353
  );
354
  update_user_meta( $from, 'mycred_transactions', $history );
355
  }
363
  if ( $today != $history['frame'] ) {
364
  $history = array(
365
  'frame' => $today,
366
+ 'amount' => $this->core->zero()
367
  );
368
  update_user_meta( $from, 'mycred_transactions', $history );
369
  }
378
  if ( $this_week != $history['frame'] ) {
379
  $history = array(
380
  'frame' => $this_week,
381
+ 'amount' => $this->core->zero()
382
  );
383
  update_user_meta( $from, 'mycred_transactions', $history );
384
  }
436
  /**
437
  * AJAX Autocomplete
438
  * @since 0.1
439
+ * @version 1.0.1
440
  */
441
  public function ajax_call_autocomplete() {
442
  $results = array();
446
  global $wpdb;
447
 
448
  // prep query
449
+ $sql = "SELECT user_login, ID FROM {$wpdb->users} WHERE ID != %d AND user_login LIKE %s;";
450
  $search = $_REQUEST['string']['term'];
451
  $me = $_REQUEST['me'];
452
 
731
  </li>
732
  <li class="mycred-send-amount">
733
  <label>' . __( 'Amount:', 'mycred' ) . '</label>
734
+ <div>' . $before . '<input type="text" class="short" name="mycred-transfer-amount" value="' . $mycred->zero() . '" size="8" />' . $after . '</div>
735
  <input type="button" class="button large button-large mycred-click" value="' . $pref['templates']['button'] . '" />
736
  </li>
737
  ';
817
  // Apply defaults if not set
818
  $history = array(
819
  'frame' => '',
820
+ 'amount' => $mycred->zero()
821
  );
822
  }
823
 
827
  if ( $today != $history['frame'] ) {
828
  $new_data = array(
829
  'frame' => $today,
830
+ 'amount' => $mycred->zero()
831
  );
832
  update_user_meta( $user_id, 'mycred_transactions', $new_data );
833
  $current = $new_data['amount'];
850
  if ( $this_week != $history['frame'] ) {
851
  $new_data = array(
852
  'frame' => $this_week,
853
+ 'amount' => $mycred->zero()
854
  );
855
  update_user_meta( $user_id, 'mycred_transactions', $new_data );
856
  $current = $new_data['amount'];
assets/css/admin.css CHANGED
@@ -1,10 +1,8 @@
1
  /**
2
  * myCRED Admin Styling
3
  * @since 0.1
4
- * @version 1.0
5
  */
6
- @import url("zocial/zocial.css");
7
-
8
  #myCRED-wrap table .column-username { width: 190px; }
9
  #myCRED-wrap table .column-creds { width: 80px; }
10
  #myCRED-wrap table .column-time { width: 160px; }
@@ -18,32 +16,53 @@
18
  .tj { text-align: justify; }
19
 
20
  /* Specifics */
21
- #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(../images/cred-icon32.png); background-repeat: no-repeat; background-position: 0 0; }
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
 
28
  /* Accordion */
29
- #myCRED-wrap #accordion { margin: 24px 0; padding: 0; float: none; clear: both; border-top: 1px solid #ededed; border-bottom: 1px solid #ededed; }
30
- #myCRED-wrap #accordion>h4 { font-size: 20px; line-height: 48px; font-weight: normal; color: #AAA; }
 
 
31
  #myCRED-wrap #accordion>h4:focus { outline: none; }
32
  #myCRED-wrap #accordion>h4:hover { cursor: pointer; }
33
- #myCRED-wrap #accordion .ui-accordion-header { padding: 0 0 0 12px; margin: 0; border-top: 1px solid #ededed; }
 
 
34
  #myCRED-wrap #accordion .ui-accordion-header input { vertical-align: middle; margin-right: 24px; }
35
- #myCRED-wrap #accordion .ui-accordion-header:first-child { border-top: none; }
36
- #myCRED-wrap #accordion .ui-state-active { font-weight: bold; letter-spacing: 1px; }
37
- #myCRED-wrap #accordion h4.active { color: #BBD865; }
38
- #myCRED-wrap #accordion h4.sandbox { color: #E3C22F; }
39
- #myCRED-wrap #accordion h4.inactive { color: #B73030; }
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
- #myCRED-wrap #accordion>div { margin: 0; padding: 24px 12px 12px 12px; }
42
  #myCRED-wrap #accordion>div>p { margin-top: 0; }
43
- #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px dashed #ededed; float: none; clear: both; }
 
 
44
  #myCRED-wrap #accordion .ui-accordion-content .wrapper:after { content: "."; height: 0; visibility: hidden; margin: 0; padding: 0; }
45
 
46
- .ui-accordion-content { display: none; }
47
  .ui-accordion-content>div.wrapper { display: block; margin: 0; padding: 0; float: none; clear: both; }
48
  .ui-accordion-content>div.wrapper .clear { height: 0; visibility: hidden; display: block; float: none; clear: both; }
49
  .ui-accordion-content>div.wrapper p { margin: 0; padding: 0; }
@@ -51,7 +70,7 @@
51
  .ui-accordion-content>div.wrapper .links { margin-bottom: 6px; padding-bottom: 4px; }
52
  .ui-accordion-content>form>p { margin: 0 0 24px 0; }
53
 
54
- .ui-accordion-content .subheader { display: block; width: 20%; float: left; margin: 0; font-size: 14px; }
55
  .ui-accordion-content input[type="file"] { line-height: 26px; }
56
 
57
  /* Organized Lists */
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; }
8
  #myCRED-wrap table .column-time { width: 160px; }
16
  .tj { text-align: justify; }
17
 
18
  /* Specifics */
19
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-repeat: no-repeat; background-position: 0 0; }
20
  #myCRED-wrap p.submit { margin-top: 0; padding-top: 0; }
21
  #mycred-social { text-align: right; }
22
 
23
  /* General */
24
  #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; }
25
+ body.mp6 #myCRED-wrap .h2 { line-height: 15px; font-size: 18px; }
26
+ body.mp6 #myCRED-wrap .h2.description { line-height: 22px; }
27
+ body.mp6 #myCRED-wrap .h2 input[type="text"] { font-size: 14px; }
28
+ #myCRED-wrap .h2 input[type="text"] { line-height: inherit; }
29
 
30
  /* Accordion */
31
+ #myCRED-wrap #accordion { margin: 24px 0; padding: 0; float: none; clear: both; }
32
+ body #myCRED-wrap #accordion { border-top: none; border-bottom: 1px solid #dedede; }
33
+ body.mp6 #myCRED-wrap #accordion { border-top: 1px solid #dedede; border-bottom: 1px solid #fafafa; }
34
+ #myCRED-wrap #accordion>h4 { font-size: 18px; line-height: 48px; font-weight: normal; color: #464646; font-family: "Open Sans", sans-serif; letter-spacing: 1px; }
35
  #myCRED-wrap #accordion>h4:focus { outline: none; }
36
  #myCRED-wrap #accordion>h4:hover { cursor: pointer; }
37
+ #myCRED-wrap #accordion .ui-accordion-header { padding: 0; margin: 0; }
38
+ body #myCRED-wrap #accordion .ui-accordion-header { border-top: 1px solid #dedede; border-bottom: none; }
39
+ body.mp6 #myCRED-wrap #accordion .ui-accordion-header { border-top: 1px solid #fafafa; border-bottom: 1px solid #dedede; }
40
  #myCRED-wrap #accordion .ui-accordion-header input { vertical-align: middle; margin-right: 24px; }
41
+ #myCRED-wrap #accordion .ui-state-active { font-weight: normal; }
42
+
43
+ #myCRED-wrap #accordion h4 label { vertical-align: inherit; }
44
+ #myCRED-wrap #accordion h4 .icon { display: block; width: 48px; height: 48px; margin: 0 0 0 0; padding: 0; float: left; line-height: 48px; }
45
+ #myCRED-wrap #accordion h4 .icon { background-repeat: no-repeat; background-image: url(../images/admin-icons.png); background-position: 0 0; }
46
+
47
+ #myCRED-wrap #accordion h4 .registration { background-position-y: -48px; }
48
+ #myCRED-wrap #accordion h4 .logging_in { background-position-y: -96px; }
49
+ #myCRED-wrap #accordion h4 .publishing_content { background-position-y: -144px; }
50
+ #myCRED-wrap #accordion h4 .comments { background-position-y: -192px; }
51
+ #myCRED-wrap #accordion h4 .link_click { background-position-y: -240px; }
52
+ #myCRED-wrap #accordion h4 .video_view { background-position-y: -288px; }
53
+ #myCRED-wrap #accordion h4 .remote { background-position-y: -336px; }
54
+ #myCRED-wrap #accordion h4 .core { background-position-y: -384px; }
55
+
56
+ #myCRED-wrap #accordion h4 .icon-active { background-position-x: -48px; }
57
+ #myCRED-wrap #accordion h4 .icon-inactive { background-position-x: 0; }
58
 
59
+ #myCRED-wrap #accordion>div { margin: 0; padding: 24px 48px 12px 48px; }
60
  #myCRED-wrap #accordion>div>p { margin-top: 0; }
61
+ #myCRED-wrap #accordion .ui-accordion-content { display: none;float: none; clear: both; }
62
+ body #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px solid #dedede; border-bottom: none; }
63
+ body.mp6 #myCRED-wrap #accordion .ui-accordion-content { border-top: 1px solid #fafafa; border-bottom: 1px solid #dedede; }
64
  #myCRED-wrap #accordion .ui-accordion-content .wrapper:after { content: "."; height: 0; visibility: hidden; margin: 0; padding: 0; }
65
 
 
66
  .ui-accordion-content>div.wrapper { display: block; margin: 0; padding: 0; float: none; clear: both; }
67
  .ui-accordion-content>div.wrapper .clear { height: 0; visibility: hidden; display: block; float: none; clear: both; }
68
  .ui-accordion-content>div.wrapper p { margin: 0; padding: 0; }
70
  .ui-accordion-content>div.wrapper .links { margin-bottom: 6px; padding-bottom: 4px; }
71
  .ui-accordion-content>form>p { margin: 0 0 24px 0; }
72
 
73
+ .ui-accordion-content .subheader { display: block; width: 20%; float: left; margin: 0; font-size: 14px; font-weight: bold; }
74
  .ui-accordion-content input[type="file"] { line-height: 26px; }
75
 
76
  /* Organized Lists */
assets/css/inline-edit.css CHANGED
@@ -1 +1 @@
1
- .mycred-update-balance { background-color:white; }.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; background-color:rgba(51,51,51,0.2); }.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-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; }
1
+ .mycred-update-balance { background-color:white; }.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; }body.users-php.mp6 .ui-widget-overlay { background: repeat-x scroll 50% 50% #333; }.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-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; }
assets/css/zocial/zocial-regular-webfont.eot DELETED
Binary file
assets/css/zocial/zocial-regular-webfont.svg DELETED
@@ -1,151 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata></metadata>
5
- <defs>
6
- <font id="zocialregular" horiz-adv-x="1000" >
7
- <font-face units-per-em="1000" ascent="804" descent="-196" />
8
- <missing-glyph horiz-adv-x="250" />
9
- <glyph unicode=" " horiz-adv-x="250" />
10
- <glyph unicode="&#x09;" horiz-adv-x="250" />
11
- <glyph unicode="&#xa0;" horiz-adv-x="250" />
12
- <glyph unicode="!" d="M5 308q0 215 140.5 355.5t355.5 140.5t355.5 -140.5t140.5 -355.5q0 -182 -103 -313t-280 -171q-9 17 -33.5 52t-34.5 56q64 -26 86 -26q16 0 16 50q0 93 -17 93q-25 0 -97 -55q0 14 -15 12h-5q-26 69 -26 123q0 15 3 30q92 -45 148 -45q31 0 93.5 18t62.5 39 q0 13 -17 13q-26 0 -75 -7t-75 -7q-27 0 -59.5 14t-32.5 38q0 5 1.5 7.5t4.5 3t6 0t8 -1t9 -0.5q9 0 26 -2.5t25 -2.5q31 0 127 36.5t96 56.5q0 12 -18.5 17t-34.5 5q-14 0 -42 -7.5t-61 -18t-44 -13.5q4 20 4 32q0 47 -25 109.5t-58 92.5q-27 24 -72 33q-28 36 -87.5 65.5 t-105.5 29.5q-9 0 -27.5 -3.5t-23.5 -4.5l-22 -31l6 -1q7 0 21.5 2t21.5 2q34 0 78 -14q-28 -14 -49 -19q-2 -1 -13 -2.5t-18.5 -3t-14 -6t-6.5 -11.5q56 6 84 6q38 0 60 -7q-77 -9 -118.5 -53t-41.5 -121q0 -27 4 -50q19 -120 73 -358q33 -154 37 -170l1 -4 q-160 50 -251 185.5t-91 307.5zM288 432q0 -6 3 -12q-1 16 18 28t36 12q8 0 20 -5q-10 13 -29 13q-17 0 -32.5 -9.5t-15.5 -26.5zM321 357q0 13 10.5 23.5t23.5 10.5t23.5 -10.5t10.5 -23.5t-10.5 -23.5t-23.5 -10.5t-23.5 10.5t-10.5 23.5zM361 368q0 -8 9 -8t9 8q0 9 -9 9 t-9 -9zM529 455q8 13 37 13q13 0 33 -10q-10 22 -35 22q-31 0 -35 -25zM552 377q0 12 9 20.5t20 8.5q12 0 20.5 -8.5t8.5 -20.5q0 -11 -8.5 -20t-20.5 -9q-11 0 -20 9t-9 20zM587 387q0 -8 7 -8q8 0 8 8q0 7 -8 7q-7 0 -7 -7z" />
13
- <glyph unicode="&#x22;" horiz-adv-x="1294" d="M0 402q0 105 52.5 188t136.5 131.5t180.5 73.5t194.5 25q29 0 43 -1q115 -6 226 -41q87 -28 166 -74.5t146.5 -109t108 -146.5t40.5 -176q0 -13 -1 -19q-11 -152 -120.5 -256t-268.5 -147q-107 -30 -229 -30h-8q-201 0 -315 53q-6 2 -7 6q0 2 3 2q1 0 3.5 -0.5t3.5 -0.5 q50 -12 89 -12q24 0 47 4.5t43.5 20t20.5 39.5q0 12 -6 24q-9 16 -58.5 33.5t-114 33.5t-75.5 20q-80 26 -139 66q0 1 3.5 9.5t6 14.5t7 12t8.5 6h179q9 0 16.5 -21.5t21 -43.5t35.5 -22q18 0 31 11.5t13 29.5q0 11 -84 199t-106 231q-6 15 -16 15q-8 0 -13 -9l-3 -6 q-8 -15 -52 -114l-107 -238l-7 -15q-95 109 -95 234zM218 236q0 10 54 129l5 3q6 0 32.5 -63.5t26.5 -69.5q0 -4 -5 -4h-108q-5 0 -5 5zM525 113q0 -45 47 -45t47 45v388q0 45 -47 45t-47 -45v-388zM710 113q0 -45 47 -45t47 45v181l92 -185q13 -29 41 -29q32 0 46 29 l91 185v-181q0 -45 47 -45q48 0 48 45v388q0 45 -47 45q-35 0 -47 -29l-138 -302l-133 302q-14 29 -48 29q-46 0 -46 -45v-388z" />
14
- <glyph unicode="#" horiz-adv-x="1009" d="M0 -180v501h501v-501h-501zM509 319v501h500v-501h-500z" />
15
- <glyph unicode="$" horiz-adv-x="974" d="M0 -72l194 891h438q50 0 96.5 -18t84.5 -55.5t52.5 -94.5t-0.5 -135q-29 -136 -128.5 -214t-233.5 -78h-183l-63 -296h-257zM100 -181h257l63 295h184q134 0 233 78t129 214q28 135 -43 219q33 -74 12 -170q-29 -136 -128.5 -214t-233.5 -78h-183l-63 -295h-216zM357 394 h83l42 183h125q2 0 17 -3q-8 29 -31.5 46.5t-55.5 17.5h-125zM482 395q48 2 89.5 37t52.5 84q0 2 1 6t1 6h-114z" />
16
- <glyph unicode="%" horiz-adv-x="957" d="M0 -67v514q0 179 84.5 278t259.5 99h288h260q-5 -5 -52.5 -53t-100 -101t-109 -109.5t-95 -93t-41.5 -36.5q-15 0 -15 16v156h-48q-59 0 -94.5 -6.5t-63 -26t-39 -56.5t-11.5 -96v-262zM67 -184q5 5 52.5 53t100 101t109 109.5t95 93t41.5 36.5q15 0 15 -16v-156h48 q116 0 161.5 35.5t45.5 149.5v262l224 223v-514q0 -179 -84.5 -278t-259.5 -99h-288h-260z" />
17
- <glyph unicode="&#x26;" horiz-adv-x="921" d="M0 221v269q0 26 19 44.5t44 18.5q26 0 44.5 -18.5t18.5 -44.5v-269q0 -26 -18.5 -44.5t-44.5 -18.5t-44.5 18.5t-18.5 44.5zM173 121v418h574v-418q0 -26 -18.5 -44.5t-44.5 -18.5h-448q-26 0 -44.5 18.5t-18.5 44.5zM173 586h574q0 115 -85 189t-202 74t-202 -74 t-85 -189zM274 902q0 8 7 8q3 0 7 -2l49 -89l-15 -8q-48 88 -48 91zM289 95q0 27 19 45t47 18q25 0 44 -19t19 -44v-202q0 -28 -19 -45.5t-47 -17.5q-26 0 -44.5 18.5t-18.5 44.5v202zM294 715q0 16 12 27.5t28 11.5t27.5 -11.5t11.5 -27.5q0 -17 -11.5 -28.5t-28.5 -11.5 q-16 0 -27.5 12t-11.5 28zM502 95q0 27 19.5 45t46.5 18q26 0 44.5 -18.5t18.5 -44.5v-202q0 -28 -19 -45.5t-47 -17.5q-26 0 -44.5 18.5t-18.5 44.5v202zM547 715q0 16 12 27.5t28 11.5t27.5 -11.5t11.5 -27.5q0 -17 -12 -28.5t-28 -11.5t-27.5 12t-11.5 28zM583 819 q2 3 14 28.5t23.5 44t18.5 18.5t7 -9v-2l-48 -89zM794 221v268q0 26 18.5 45t44.5 19t44.5 -19t18.5 -45v-268q0 -26 -18.5 -44.5t-44.5 -18.5t-45 18.5t-18 44.5z" />
18
- <glyph unicode="'" horiz-adv-x="824" d="M0 322q0 107 29 202q28 92 83 159q56 67 135 102q81 36 178 36q128 0 217 -61q90 -59 136 -157q46 -95 46 -196q0 -93 -47 -120t-132 -27h-423q0 -85 30 -148q29 -65 76 -96q50 -33 106 -33q41 0 71 10q31 10 62 33q31 22 56 47t66 69q15 16 47 16q34 0 54 -21 q21 -21 21 -58q0 -32 -23 -78q-21 -43 -70 -85q-46 -41 -116 -68q-71 -27 -161 -27q-209 0 -325 135q-116 136 -116 366zM222 400h392q-7 125 -60 188q-51 62 -136 62q-82 0 -133 -63q-52 -63 -63 -187z" />
19
- <glyph unicode="(" horiz-adv-x="571" d="M0 -73v786q0 44 31.5 75.5t75.5 31.5h357q44 0 75.5 -31.5t31.5 -75.5v-786q0 -44 -31.5 -75.5t-75.5 -31.5h-357q-44 0 -75.5 31.5t-31.5 75.5zM33 34h503v608h-503v-608zM199 731q0 -10 6.5 -16.5t16.5 -6.5h127q10 0 16.5 6.5t6.5 16.5q0 9 -6.5 15.5t-16.5 6.5h-127 q-10 0 -16.5 -6.5t-6.5 -15.5zM242 -72q0 -19 13.5 -32t32.5 -13t32 13t13 32t-13 32t-32 13t-32.5 -13t-13.5 -32z" />
20
- <glyph unicode=")" horiz-adv-x="1106" d="M0 158v478q0 46 14 60t60 14h958q46 0 59.5 -14t13.5 -60v-478q0 -46 -13.5 -59.5t-59.5 -13.5h-406v-37h111v-58h-369v58h111v37h-405q-46 0 -60 13.5t-14 59.5zM37 150h1031v516h-1031v-516z" />
21
- <glyph unicode="*" d="M0 582q0 25 16 45.5t41 26.5l197 47q-63 -72 -63 -168q0 -185 253 -283q28 -11 54 -24.5t54.5 -33.5t46 -46.5t17.5 -55.5q0 -43 -35 -67t-80 -24q-58 0 -121 22.5t-105 60.5l-79 -179q56 -31 144 -61q-10 -2 -31.5 -8.5t-38.5 -10t-32 -3.5q-25 0 -45.5 16t-26.5 41 l-164 687q-2 12 -2 18zM419 536q0 38 35 58.5t76 20.5q49 0 110 -17.5t88 -46.5l61 170q-90 48 -186 63q2 0 45 12t71.5 18t42.5 6q25 0 45.5 -16t26.5 -41l164 -687q2 -12 2 -18q0 -25 -16 -45.5t-41 -26.5l-145 -34q47 70 47 152q0 111 -70.5 182.5t-184.5 109.5 q-171 58 -171 140z" />
22
- <glyph unicode="+" horiz-adv-x="1184" d="M0 -1q0 87 89 155t215 68h54q-42 40 -42 86q0 29 16 58q-10 -1 -29 -1q-104 0 -170 65t-66 160q0 91 82 159t187 68h310l-69 -50h-98q47 -18 73.5 -68t26.5 -111q0 -93 -88 -162q-37 -29 -48 -46t-11 -42q0 -19 27 -48t54 -49q61 -43 84.5 -88t23.5 -113 q0 -90 -82 -156.5t-222 -66.5q-133 0 -225 50t-92 132zM112 32q0 -69 58.5 -117.5t145.5 -48.5q119 0 172.5 44t53.5 117q0 19 -4 32q-3 11 -7 20.5t-12 19t-14 16t-19.5 16.5t-20.5 15t-25 17.5t-26 17.5q-39 12 -77 12q-90 1 -157.5 -47t-67.5 -114zM178 591 q11 -79 60.5 -136t109.5 -58q59 -2 94 52t25 133t-59.5 134t-109.5 57t-95 -51t-25 -131zM733 567v50h200v200h50v-200h201v-50h-201v-201h-50v201h-200z" />
23
- <glyph unicode="," horiz-adv-x="1106" d="M0 673v21l2 2h249l2 -2v-20q0 -8 -10 -8l-26 -1q-33 -1 -33 -20q0 -13 7 -28q50 -122 222 -484l6 -1l111 221q-13 30 -22 49l-76 150l-20 40q-26 51 -34 60.5t-33 13.5q-14 2 -14 7v21l3 2h197l5 -1v-21q0 -8 -10 -8l-15 -2q-13 -2 -19 -5t-5.5 -12t4 -17.5t14.5 -30.5 l73 -150l81 162q16 32 5 43q-6 8 -37 11l-9 1q-4 0 -7 3q-3 1 -3 6v19l3 2q57 1 186 0l2 -2v-20q0 -8 -9 -8q-22 -1 -30.5 -4.5t-16.5 -15.5q-23 -34 -30 -48l-105 -196l-3 -7l128 -262l8 -3l202 481q12 28 -3 41q-13 12 -39 13l-19 1q-3 0 -6 3q-4 2 -4 6v20l3 2h229l2 -2 v-20q0 -7 -9 -9q-46 -2 -66 -19q-20 -16 -34 -49l-250 -567q-10 -23 -22.5 -30.5t-24 1t-22.5 30.5q-38 75 -122 263q-105 -216 -131 -264q-41 -71 -71 -1q-32 75 -130 284.5t-130 286.5q-16 42 -28 52q-11 10 -52 13q-14 2 -14 7z" />
24
- <glyph unicode="-" horiz-adv-x="939" d="M-0.5 707q-0.5 11 6 20.5t13.5 16.5t23.5 15.5t27 13t33 14t34.5 14.5q54 22 97 16t54 -35q25 -67 102.5 -319.5t115.5 -361.5q268 88 326 105q16 6 37.5 4t32.5 -23q23 -47 32.5 -98.5t0.5 -74.5q-19 -15 -59.5 -32t-75.5 -29t-89.5 -29t-73.5 -23q-10 -3 -38 -13 t-53 -18.5t-58 -19t-61 -17.5t-54 -11.5t-44.5 -3.5t-25.5 9q-18 18 -32 52t-29 87t-19 66q-42 125 -113 338.5t-104 312.5q-6 13 -6.5 24z" />
25
- <glyph unicode="." horiz-adv-x="778" d="M3 -129v775h92q0 29 0.5 39t4 31.5t11.5 30t24.5 16.5t40.5 8t40.5 -8t24 -16t11.5 -30.5t4 -31.5v-39h55v39t4 31.5t11.5 30.5t24 16t40.5 8q18 0 31 -4t21.5 -8.5t14.5 -17t8.5 -18.5t4 -24.5t1.5 -24.5v-28h54v28t1.5 24.5t4 24.5t8.5 18.5t14.5 17t21.5 8.5t31 4 q24 0 40.5 -8t24 -16t11.5 -30.5t4 -31.5v-39h92v-775h-776zM68 48v-112h139v112h-139zM68 70h139v119h-139v-119zM68 211h139v130h-139v-130zM68 362h139v112h-139v-112zM139 565q0 -33 37 -33t37 33v130q0 33 -37 33t-37 -33v-130zM228 48v-112h152v112h-152zM228 70h152 v119h-152v-119zM228 211h152v130h-152v-130zM228 362h152v112h-152v-112zM354 565q0 -33 37 -33q38 0 38 33v130q0 33 -38 33q-37 0 -37 -33v-130zM401 48v-112h152v112h-152zM401 70h152v119h-152v-119zM401 211h152v130h-152v-130zM401 362h152v112h-152v-112zM569 565 q0 -33 38 -33q37 0 37 33v130q0 33 -37 33q-38 0 -38 -33v-130zM574 48v-112h140v112h-140zM574 70h140v119h-140v-119zM574 211h140v130h-140v-130zM574 362h140v112h-140v-112z" />
26
- <glyph unicode="/" horiz-adv-x="1309" d="M0 110v181h224v-179q0 -28 20 -48.5t49 -20.5t49.5 20t20.5 49v423q0 117 86.5 199.5t205.5 82.5t205.5 -83t86.5 -201v-92l-134 -40l-89 42v80q0 29 -20 49t-49 20t-49.5 -20t-20.5 -49v-417q0 -120 -86 -204.5t-206 -84.5q-121 0 -207 85.5t-86 207.5zM724 107v183 l89 -42l134 40v-184q0 -29 20 -49.5t49 -20.5t49 20.5t20 49.5v187h224v-181q0 -121 -85.5 -207t-206.5 -86t-207 85t-86 205z" />
27
- <glyph unicode="0" horiz-adv-x="1258" d="M-5 196h119q5 -40 29.5 -64t64.5 -24q48 0 76.5 32.5t28.5 81.5q0 48 -28 79t-75 31q-38 0 -65 -24.5t-51 -24.5q-53 0 -80 2q9 52 28.5 160.5t28.5 164.5h330v-98h-243q-14 -71 -24 -134h3q17 21 50.5 32t65.5 11q113 0 160 -103q24 60 72 94t111 34q49 0 91 -19.5 t66 -41.5t63 -66q3 -3 4.5 -5t4 -4.5l4.5 -4.5q35 40 50 55.5t46 40.5t62 34.5t70 9.5q90 0 145 -60.5t55 -151.5q0 -93 -55 -156t-147 -63q-116 0 -226 131q-7 -7 -39 -38.5t-42.5 -39.5t-37 -25.5t-52 -23t-57.5 -5.5q-63 0 -111 33t-74 92q-62 -128 -203 -128 q-95 0 -156.5 47.5t-61.5 138.5zM510 226q0 -42 25.5 -68t67.5 -26q75 0 155 95q-34 35 -48 48.5t-47.5 33t-63.5 19.5q-39 0 -64 -31t-25 -71zM899 226q27 -29 45.5 -45.5t49 -32.5t61.5 -16q43 0 67.5 27.5t24.5 70.5q0 42 -25.5 70t-67.5 28q-25 0 -49 -11.5t-36.5 -21.5 t-37.5 -36t-32 -33z" />
28
- <glyph unicode="1" horiz-adv-x="774" d="M0 458q0 63 26.5 125t76 115t130 86t178.5 33q159 0 261 -98t102 -231q0 -171 -86.5 -282.5t-223.5 -111.5q-45 0 -84.5 21t-55.5 51l-40 -158q-5 -19 -13 -38.5t-17.5 -37.5t-19 -34t-19 -30t-16.5 -23.5t-13 -16.5l-6 -8q-3 -4 -8 -3t-6 6q0 1 -1.5 14t-3 27.5t-3 37.5 t-1 44.5t3 47.5t7.5 48q11 47 74 313q-8 16 -13 38.5t-5 36.5l-1 15q0 64 32.5 106.5t78.5 42.5q37 0 57.5 -24.5t20.5 -61.5q0 -23 -8.5 -56.5t-22.5 -77t-20 -70.5q-10 -45 17.5 -78t73.5 -33q79 0 130.5 89.5t51.5 216.5q0 97 -63 158.5t-176 61.5q-126 0 -204.5 -81 t-78.5 -194q0 -67 38 -113q13 -15 8 -32q-2 -5 -6 -23t-6 -23q-2 -11 -10 -14.5t-18 0.5q-59 24 -88.5 82.5t-29.5 136.5z" />
29
- <glyph unicode="2" d="M15 438q33 132 125.5 227.5t220.5 132.5t260 4t227.5 -125.5t132.5 -220.5t4 -260t-125.5 -227.5t-220.5 -132.5t-260 -4t-227.5 125.5t-132.5 220.5t-4 260zM243 167l72 -18q7 -1 20 -5t19 -5l-23 -91l55 -14l22 90q6 -2 21 -5.5t23 -5.5l-22 -90l55 -13l22 91 q48 -8 85.5 -7.5t66 20.5t42.5 61q32 90 -51 133q60 13 70 80q13 86 -110 126l23 91l-55 13l-22 -88q-8 2 -23 5.5t-21 5.5l22 88l-55 14l-22 -90q-15 2 -35 8l-76 19l-14 -59l39 -9q28 -7 26 -32l-26 -103q2 0 6 -2q-1 1 -3 1t-3 1l-36 -144q-5 -18 -25 -13l-40 10z M426 190l30 121q1 0 19.5 -4t28 -7t28 -9t28.5 -13t21 -16.5t14.5 -22t-0.5 -27.5q-3 -11 -9 -19t-15 -12t-18.5 -7t-23 -2.5t-23.5 1.5t-24 4t-21.5 4.5t-19.5 4.5t-15 4zM470 366l27 110q3 -1 12.5 -3t16.5 -3.5t18 -5t19 -6.5t18 -8.5t15 -11t11.5 -13.5t6 -16.5 t-1.5 -19.5q-3 -13 -10.5 -21.5t-19 -11.5t-22.5 -4.5t-26.5 1t-24 4t-23 5.5t-16.5 4z" />
30
- <glyph unicode="3" horiz-adv-x="1129" d="M0 597h77l107 -363l72 244l-35 119h77l107 -363l107 363h77h213v-36l-109 -188q58 -20 86 -67q30 -50 30 -114q0 -82 -43 -137t-112 -55q-51 0 -90 33q-39 34 -56 89l60 25q13 -34 35 -54q20 -19 51 -19t52 34q22 34 22 84q0 52 -23 83q-27 34 -83 34h-30v36l103 178 h-124l-7 -12l-152 -511h-7l-110 370l-111 -370h-7zM818 180l18 -50q15 -33 33 -58q42 -58 94 -67q45 -9 88 18q19 12 35 31q20 20 28 36q4 7 11 20l-11 59q-8 -16 -16 -28t-12 -17l-4 -4q-34 -37 -61 -49q-33 -15 -68 -11q-27 2 -60 24q-36 31 -43 43q-13 18 -32 53z M845 375q0 84 33 146q16 30 37.5 48t42.5 20q35 4 70 -26q18 -15 37 -50l44 87l12 -76l-44 -85q-8 16 -19 30t-18 20l-8 6q-31 22 -64 15q-24 -5 -47.5 -30t-34.5 -59q-19 -55 -19 -106q-1 -40 5 -63q-12 22 -19 53t-7 51z" />
31
- <glyph unicode="4" horiz-adv-x="1169" d="M0 377q0 105 76.5 179.5t184.5 74.5q85 0 152.5 -48t94.5 -124l66 64l158 -152l437 446v-405l-267 -206l34 -36l-363 -353l-316 307q-107 2 -182 76t-75 177zM37 377q0 -90 65 -153t157 -63q33 0 65 9l220 -195l585 460l1 302l-578 -596l-90 146q20 43 20 90 q0 89 -65.5 152.5t-157.5 63.5t-157 -63.5t-65 -152.5zM85 375q0 70 49.5 119.5t119.5 49.5t119.5 -49t49.5 -120q0 -70 -49.5 -119.5t-119.5 -49.5t-119.5 49.5t-49.5 119.5z" />
32
- <glyph unicode="5" horiz-adv-x="710" d="M16 619h699l-66 -710l-284 -81l-284 81zM81 679v133h45v-44h40v44h44v-133h-44v44h-40v-44h-45zM146 474l24 -266l1 2h300l-10 -113l-96 -27l-97 28l-6 68h-88l12 -136l179 -51l179 51l25 267h-319l-8 89h335l8 88h-439zM230 767v45h122v-45h-39v-88h-44v88h-39zM371 679 v133h47l27 -46l28 46h47v-133h-43v68l-32 -50v1l-30 47v-66h-44zM543 679v133h44v-88h62v-45h-106z" />
33
- <glyph unicode="6" horiz-adv-x="943" d="M0 -32.5q-3 35.5 7 59.5q39 140 92 239q114 216 313 352v14q-59 -25 -118.5 -65.5t-102 -81t-76 -77.5t-50.5 -60l-17 -23q-2 59 16 115t45 94t54.5 67t46.5 43l19 13q4 2 10.5 5.5t27.5 13.5t43.5 18.5t55 17t64 12t70 2t73.5 -11.5q64 47 128.5 73t97.5 29l33 3 q50 5 77.5 -16.5t31 -55t-0.5 -68t-12 -59.5l-9 -24l-5 5q21 57 20.5 93.5t-17.5 56.5t-36.5 29t-36.5 10l-16 2q-4 0 -11.5 -0.5t-32 -5t-49 -12.5t-60.5 -25t-69 -41q69 -11 123 -42t86 -70.5t54.5 -85t31 -88.5t13 -78t3.5 -56l-1 -22h-557q-3 -42 10.5 -73t34 -45.5 t41 -22.5t35.5 -9l15 -1q4 0 11.5 0.5t26.5 5.5t34.5 14t31 28.5t21.5 46.5h292q-16 -59 -47 -107t-68 -77.5t-78 -51t-78.5 -31.5t-68 -16t-48.5 -7h-19q-78 0 -107 6q-60 -47 -126.5 -73.5t-103.5 -29.5l-36 -3q-46 0 -77.5 23.5t-41.5 56t-13 68zM75.5 -27 q-0.5 -24 2.5 -42.5t8 -28.5l4 -9q4 -3 11 -8t33.5 -13.5t57 -8t82 16.5t107.5 50q-8 2 -21.5 5.5t-50.5 18t-69 31.5t-66.5 47.5t-53.5 64.5q-22 -34 -33 -67t-11.5 -57zM358 397h265q1 36 -11.5 63t-32 39t-38.5 19t-33 8l-14 1q-6 0 -15 -1t-33 -8t-42 -19t-32.5 -39 t-13.5 -63z" />
34
- <glyph unicode="7" horiz-adv-x="900" d="M42 581q2 17 15 32l120 120q14 12 21 -4l97 -182q8 -16 -5 -31l-44 -44q-12 -12 -14 -31q0 -30 31 -77t61 -80l31 -32q14 -14 36 -34.5t72.5 -54t79.5 -33.5q19 0 32 13l52 52q14 14 30 4l175 -103q7 -4 8 -10.5t-4 -11.5l-120 -120q-15 -13 -32 -15q-49 -7 -110.5 13.5 t-114 54.5t-97.5 69t-72 60l-26 25q-10 10 -26.5 27.5t-57.5 69t-71 100.5t-52 111.5t-15 111.5z" />
35
- <glyph unicode="8" d="M0 318q0 136 67 251t182 182t251 67t251 -67t182 -182t67 -251t-67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251zM129 318q0 -65 36 -77q5 -2 17 -4q42 -1 85 40q41 36 58 90q25 77 10 200q-2 12 -2 17q-3 6 0 9q1 3 13 -1q38 -10 78 -29q46 -21 102 -70 q45 -39 87 -89q33 -39 80 -104q41 -57 88 -77q29 -10 47.5 -7t29 20t15 37t4.5 45q0 48 -12 96q-3 12 -8 28q-14 43 -41 84q-52 79 -135.5 124t-177.5 45q-66 0 -125 -22q-80 -28 -140.5 -89t-88.5 -142q-1 -5 -4 -14.5t-5 -13.5q-12 -50 -11 -96z" />
36
- <glyph unicode="9" horiz-adv-x="1220" d="M0 669q-1 5 2.5 9.5t8.5 5.5q11 2 31 6.5t28 6.5q0 17 1 49.5t1 48.5q2 12 13 12q14 0 14 -14q-2 -60 -2 -91q11 2 35 7t35 8q18 4 55 10t56 10q402 69 794 72q6 0 9.5 -4.5t2.5 -10.5q0 -11 -2 -33t-2 -33q42 -3 128 -11q5 0 9 -4.5t3 -9.5q-23 -137 -68 -412t-68 -413 q50 -8 76 -12q8 -1 10.5 -8t-0.5 -13t-10 -6h-3q-13 2 -39 6.5t-39 6.5q-1 -12 -5 -31q-2 -9 -10 -11q-1 -1 -4 -1h-4q-297 75 -600 117q-100 2 -149 2q-55 0 -165 -2v-1q1 -1 1 -2q1 -6 -4 -10.5t-11 -4.5q-11 0 -12 11q0 5 -1.5 15.5t-2.5 16.5h-13q-8 0 -10.5 7t1 13.5 t11.5 6.5h1h7l-6 54q-6 40 -25 194.5t-35.5 251.5t-42.5 191zM30 661q21 -78 43 -201q-3 70 -3 209q-16 -2 -40 -8zM97 570q1 -193 21 -424q3 -40 11 -109q1 -9 2.5 -19t3.5 -22t3 -19q67 -3 192 -13t182 -13q354 -20 483 -35q11 160 32.5 455t29.5 411q-468 -4 -960 -107 q-1 -53 0 -105zM189 407q0 -68 42.5 -111t108.5 -43q69 0 109 43h2q-13 -70 -65 -111q-41 -33 -101 -38q-40 -4 -52 -2v-75q35 0 57 2q107 8 171 68q87 82 87 233q0 94 -47 153.5t-132 59.5q-78 0 -129 -53t-51 -126zM283 413q0 45 22.5 73.5t58.5 28.5h1q43 0 65 -35.5 t21 -90.5q0 -16 -5 -26q-26 -42 -81 -42q-38 0 -60 26t-22 66zM372 -64l96 -10l373 -40q140 -30 209 -48l3 18q-55 9 -165 25q-249 35 -516 55zM564 407q0 -68 43 -111t108 -43q69 0 110 43h1q-13 -70 -64 -111q-42 -33 -102 -38q-40 -4 -52 -2v-75q35 0 57 2q107 8 171 68 q87 80 87 233q0 94 -47 153.5t-131 59.5q-78 0 -129.5 -53t-51.5 -126zM658 413q0 45 23 73.5t58 28.5h1q43 0 65 -35.5t21 -90.5q0 -16 -5 -26q-26 -42 -81 -42q-38 0 -60 26t-22 66zM1015 -111q28 -4 43 -6q20 120 64.5 392t68.5 417q-13 1 -35.5 3t-41.5 3.5t-36 2.5 q-6 -85 -27 -366.5t-31 -435.5q0 -5 -4 -9q-1 0 -1 -1z" />
37
- <glyph unicode=":" horiz-adv-x="834" d="M0 -180l417 1000l417 -1000h-369v135l170 85l-13 55l-157 -79v67l98 52l-14 57l-84 -45v87h-92v-157l-86 59l-16 -64l102 -70v-182h-373z" />
38
- <glyph unicode=";" horiz-adv-x="1123" d="M-1 52v372q0 13 13 13h176v129q0 14 13 14h98v-514q0 -14 -12 -14h-288zM108 135h67q13 0 13 14v206h-67q-13 0 -13 -14v-206zM333 52v372q0 13 13 13h98v-371q0 -14 -12 -14h-99zM333 497v69q0 14 12 14h99v-69q0 -14 -12 -14h-99zM482 52v372q0 13 13 13h288v-504 q0 -13 -13 -13h-288l1 69q0 14 12 14h176v49h-189zM592 135h67q12 0 12 14v206h-67q-12 0 -12 -14v-206zM821 -11q0 14 13 14h176v49h-189v372q0 13 13 13h287v-504q0 -13 -12 -13h-288v69zM930 135h67q13 0 13 14v206h-67q-13 0 -13 -14v-206z" />
39
- <glyph unicode="&#x3c;" d="M0 329q0 73 51.5 125t124.5 52q63 0 114 -43l358 179q0 2 -0.5 5.5t-0.5 5.5q0 73 52 124.5t125 51.5t124.5 -51.5t51.5 -124.5t-51.5 -125t-124.5 -52q-64 0 -114 42l-358 -179q0 -1 0.5 -4.5t0.5 -5.5q0 -1 -0.5 -5t-0.5 -5l358 -179q50 42 114 42q73 0 124.5 -51.5 t51.5 -124.5t-51.5 -125t-124.5 -52q-74 0 -125.5 51.5t-51.5 125.5q0 1 0.5 4.5t0.5 5.5l-358 179q-50 -42 -114 -42q-73 0 -124.5 51.5t-51.5 124.5z" />
40
- <glyph unicode="=" d="M0 319q0 136 67 251t182 182t251 67t251 -67t182 -182t67 -251q0 -101 -38 -192t-107 -160q-60 73 -145.5 114t-182.5 41q-107 0 -199 -49.5t-151 -134.5q-83 71 -130 170t-47 211zM164 463q0 -17 12 -29.5t30 -12.5q6 0 9 1q144 58 298 58t298 -58q1 0 4 -0.5t5 -0.5 q17 0 29.5 12.5t12.5 29.5q0 25 -23 37q-159 63 -326 63q-170 0 -329 -64q-20 -13 -20 -36zM210 314l6 -16q8 -13 23 -13q3 0 9 2q127 55 265 55q139 0 267 -56q4 -2 7 -2q15 0 23 13l5 17q0 13 -10 21q-138 62 -292 62q-153 0 -293 -62q-10 -10 -10 -21zM258 170 q10 -25 31 -16q108 51 224 51q112 0 219 -48q24 -13 35 12q5 13 0 23t-14 15q-106 53 -240 53q-128 0 -244 -55q-19 -10 -11 -35zM319 -147q37 48 91.5 76t116.5 28q114 0 193 -86q-104 -52 -220 -52q-94 0 -181 34z" />
41
- <glyph unicode="&#x3e;" horiz-adv-x="1205" d="M0 323q0 62 49.5 106t112.5 44q62 0 105 -36h5q134 82 335 82l5 4l70 267l242 -36q0 -1 2 -1q1 0 0 1q2 1 11.5 15.5t14.5 18.5q34 32 82 32q49 0 82.5 -32.5t33.5 -81.5t-33.5 -84t-82.5 -35q-57 0 -87 38.5t-30 96.5q-2 -1 -97.5 13t-109.5 17h-3q-2 -2 -16.5 -53.5 t-30 -109t-17.5 -63.5v-3l5 -4q72 0 147.5 -20.5t130.5 -57.5l3 -2q1 1 2 1t2 1q25 18 35.5 25t29.5 13t43 6q68 0 116 -48t48 -117q0 -47 -26.5 -86t-69.5 -60q0 -195 -260 -303q-41 -18 -56 -23q-32 -10 -91 -19t-93 -9q-120 0 -231 35q-2 2 -72 38q-95 51 -152.5 116 t-57.5 156h-5q-33 17 -59 50l-9 12q-15 27 -19 45.5t-4 50.5zM34 311q0 -66 57 -112q5 59 48 116t101 101q-37 26 -82 26q-49 0 -86.5 -40.5t-37.5 -90.5zM136 165q0 -54 31 -104t79.5 -85.5t102.5 -59.5t105 -34q75 -14 146 -14q123 0 233 39.5t185 122.5h-3q30 38 43 68.5 t13 72.5q0 54 -26.5 103t-69.5 84t-92 60.5t-100 38.5q-85 23 -181 23q-74 0 -151.5 -18t-150 -54t-118.5 -99.5t-46 -143.5zM322 238q0 37 22.5 59.5t59.5 22.5t62 -22.5t25 -59.5q0 -36 -25.5 -60t-61.5 -24t-59 24t-23 60zM358 74h44q25 -45 79.5 -68.5t111.5 -23.5 q58 0 110 23.5t84 68.5h41q-25 -62 -93 -96t-142 -34q-72 0 -141.5 34.5t-93.5 95.5zM694 238q0 38 23 60t61 22q34 0 58 -24t24 -58t-24 -59t-58 -25q-37 0 -60.5 23.5t-23.5 60.5zM949 706q0 -35 25 -60t60 -25q36 0 59 24.5t23 60.5q0 34 -24 58t-58 24t-59.5 -24.5 t-25.5 -57.5zM963 425q55 -36 95 -92.5t56 -119.5q59 43 59 96q0 58 -35.5 100t-92.5 42q-45 0 -82 -26z" />
42
- <glyph unicode="?" horiz-adv-x="767" d="M2 27q0 22 12 64q23 87 86.5 158t147.5 103q-79 63 -79 161q0 86 62.5 146t148.5 60t148.5 -60t62.5 -146q0 -97 -77 -160q106 -38 177 -127t71 -198q0 -92 -73 -106q-3 -10 -13 -26q-6 -16 -23.5 -28.5t-48.5 -20.5t-49.5 -12t-56.5 -9t-39 -5q-2 0 -7 -1t-7 -1h-120 q-51 0 -129 16.5t-89 44.5q-17 17 -25 42q-25 5 -42 21q-38 15 -38 84z" />
43
- <glyph unicode="@" horiz-adv-x="772" d="M4 308v103q0 87 86 200t171 160q78 44 187 44q44 0 88.5 -10t85.5 -31t66.5 -58t25.5 -85q0 -13 -2 -24.5t-7 -24t-9 -21t-14 -21t-14 -18.5t-17.5 -19.5t-16.5 -17t-18.5 -17.5t-17.5 -16h53h115q2 -72 2 -108q0 -253 -42 -326q-35 -61 -94.5 -108t-127.5 -70 q-39 -15 -56 -15h-84q-3 0 -48 17q-120 53 -120 174q0 4 0.5 11t0.5 10q-134 69 -180 215q-13 42 -13 56zM150 438q0 -40 9.5 -81t28.5 -79t52.5 -62t76.5 -24q12 0 39.5 15t49.5 15q14 0 51 -10.5t37 -19.5q0 -21 -26 -21q-130 0 -130 -76q0 -58 42 -87.5t103 -29.5 q47 0 92 16.5t73 49.5q42 50 42 164q0 19 -1 55.5t-1 54.5q0 48 5 80h-193q-1 -8 -1 -23q0 -11 1 -34t1 -35q0 -35 -8 -56q-5 -1 -17 -1q-48 0 -80 32.5t-44 74.5t-12 89q0 45 11.5 91t43 84t77.5 38q10 0 21 -3q-4 -22 -4 -34q0 -35 19 -58t53 -23t57 23t23 58q0 41 -31 70 t-70 40t-79 11q-135 0 -223 -85t-88 -219z" />
44
- <glyph unicode="A" horiz-adv-x="860" d="M1 361q-1 -18 -1 -36q0 -68 20 -144q26 -97 83 -184q89 -136 172 -137q30 0 78 21t95 21h4q46 0 91 -20q47 -22 76 -22q49 1 91 41t85 104q31 48 65 121q-50 19 -85 57t-48 85q-10 35 -9 70v24q4 48 33.5 91.5t78.5 70.5q-38 48 -89 75t-103 27q-48 0 -105.5 -21.5 t-85.5 -21.5q-30 0 -90.5 21.5t-101.5 21.5q-58 0 -114.5 -33.5t-95.5 -92.5q-37 -56 -44 -139zM416 619q-3 15 -3 30q0 65 53 129q27 33 69.5 56t82.5 26q2 -15 2 -30q0 -69 -50 -132q-28 -36 -70 -58q-41 -22 -80 -21h-4z" />
45
- <glyph unicode="B" horiz-adv-x="996" d="M0 135v369q0 130 93 223t223 93h221q65 -8 138.5 -57t104.5 -115q1 -2 5 -9.5t5 -10t3.5 -9.5t4 -12.5t3.5 -15.5t4 -22t4 -29q9 -70 26 -85q14 -13 71 -14.5t65 -7.5l14 -11l8 -17l3 -14l-2 -256q-1 -130 -93 -222.5t-222 -92.5h-363q-130 0 -223 92.5t-93 222.5z M259 140q0 -25 18 -42.5t43 -17.5h356q25 0 42.5 17.5t17.5 42.5t-17.5 42.5t-42.5 17.5h-356q-25 0 -43 -17.5t-18 -42.5zM259 502q0 -25 18 -43t43 -18h175q25 0 42.5 18t17.5 43t-17.5 42.5t-42.5 17.5h-175q-25 0 -43 -17.5t-18 -42.5z" />
46
- <glyph unicode="C" d="M0 320q0 98 38 191q37 90 110 163q144 146 351 146q209 0 357 -146q71 -71 107 -162q37 -89 37 -192q0 -104 -36 -192q-36 -89 -107 -159q-74 -72 -166 -111q-94 -38 -192 -38q-97 0 -190 38q-89 37 -162 110t-110 162t-37 190zM90 320q0 -79 32 -155q31 -75 91 -133 q60 -60 133 -89q72 -31 155 -31q81 0 156 31q74 31 136 90q117 114 117 287q0 85 -31 157q-30 76 -88 132q-120 121 -290 121q-171 0 -288 -120q-59 -59 -91 -134q-32 -76 -32 -156zM215 320q0 71 42 113q41 42 105 42q92 0 133 -72l-67 -35q-11 24 -27 31q-15 9 -29 9 q-67 0 -67 -88q0 -39 17 -64q18 -24 50 -24q44 0 62 42l62 -31q-21 -36 -55 -57q-35 -21 -77 -21q-67 0 -108 41t-41 114zM504 320q0 71 42 113t105 42q93 0 132 -72l-66 -35q-11 23 -26 31q-17 9 -30 9q-67 0 -67 -88q0 -41 17 -64q17 -24 50 -24q43 0 61 42l63 -31 q-22 -37 -56 -57q-35 -21 -75 -21q-69 0 -109 41q-41 41 -41 114z" />
47
- <glyph unicode="D" d="M0 320q0 136 67 251t182 182t251 67t251 -67t182 -182t67 -251t-67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251zM83 320q0 -156 105 -275q48 94 152 179t203 107q-15 35 -29 63q-172 -55 -372 -55q-39 0 -58 1q0 -4 -0.5 -10t-0.5 -10zM96 423q22 -2 65 -2 q167 0 317 45q-76 135 -167 225q-79 -40 -135.5 -111t-79.5 -157zM245 -9q113 -88 255 -88q74 0 147 28q-20 171 -78 331q-92 -20 -185.5 -101t-138.5 -170zM398 723q88 -91 163 -227q136 57 205 145q-116 96 -266 96q-51 0 -102 -14zM597 425q15 -32 34 -81q74 7 161 7 q62 0 123 -3q-8 136 -98 242q-65 -97 -220 -165zM656 274q51 -148 69 -304q79 51 129 131t60 173q-73 5 -133 5q-55 0 -125 -5z" />
48
- <glyph unicode="E" horiz-adv-x="837" d="M0 511q0 40 15 58q9 14 26 21q18 9 47 9h94q15 0 26 11t11 26q0 21 -1 44v59q0 25 12 44q15 21 50 31q11 6 53 6h19q59 -2 98 -17q38 -16 45 -62q26 1 48 1q53 0 89 -5q97 -12 129 -24q42 -13 53 -67q10 -55 18 -210q5 -89 5 -147q0 -44 -3 -71q-16 -172 -43 -254 q-14 -42 -28 -68.5t-27.5 -42.5t-36.5 -23t-42.5 -8.5t-58.5 -1.5q-108 0 -145.5 25.5t-37.5 106.5q0 45 9.5 71.5t33 37.5t46.5 13q15 1 40 1h28q4 0 5.5 -1.5t0.5 -5t-2.5 -7.5t-3 -11t-1.5 -13q0 -9 2 -18.5t1 -12t-7 -2.5h-9.5h-10.5t-10 -0.5t-10 -1.5t-8.5 -2.5t-8 -4 t-5.5 -6t-4 -9t-1 -11.5q0 -14 4 -23t7.5 -14t18 -7t22 -2h32.5q57 0 73 13.5t16 63.5q0 76 -18.5 102.5t-56.5 31.5q-88 9 -119 20q-53 20 -53 119q0 2 -2.5 2t-2.5 -2q0 -67 -18 -120l-8 -24q-11 -25 -37 -26h-6q-24 0 -54 8q-127 16 -198 47q-24 11 -37 40 q-17 35 -35.5 128.5t-23.5 133.5q-4 33 -4 51zM6 630v2l183 180q0 1 1 1l-3 -6q-11 -20 -11 -48q0 -22 1 -103q0 -10 -10 -10h-93q-34 0 -59 -11q-5 -3 -9 -5zM574 340q21 3 46 3q45 -1 81 -18q0 85 -61 87h-3q-30 0 -44 -20q-15 -21 -19 -52z" />
49
- <glyph unicode="F" horiz-adv-x="1053" d="M0 260q0 104 73 177t177 73t177 -73t73 -177t-73 -177t-177 -73t-177 73t-73 177zM552 260q0 104 73 177t177 73t177 -73t73 -177t-73 -177t-177 -73t-177 73t-73 177z" />
50
- <glyph unicode="G" horiz-adv-x="646" d="M0 -1q0 87 89 155t215 68h54q-42 40 -42 86q0 29 16 58q-10 -1 -29 -1q-104 0 -170 65t-66 160q0 91 82 159t187 68h310l-69 -50h-98q47 -18 73.5 -68t26.5 -111q0 -93 -88 -162q-37 -29 -48 -46t-11 -42q0 -19 27 -48t54 -49q61 -43 84.5 -88t23.5 -113 q0 -90 -82 -156.5t-222 -66.5q-133 0 -225 50t-92 132zM112 32q0 -69 58.5 -117.5t145.5 -48.5q119 0 172.5 44t53.5 117q0 19 -4 32q-3 11 -7 20.5t-12 19t-14 16t-19.5 16.5t-20.5 15t-25 17.5t-26 17.5q-39 12 -77 12h-4q-87 0 -153 -47q-68 -48 -68 -114zM178 591 q11 -79 60.5 -136t109.5 -58h4q56 0 90 52q27 42 27 99q0 16 -2 34q-10 79 -59.5 134t-109.5 57h-4q-57 0 -91 -51q-27 -41 -27 -98q0 -16 2 -33z" />
51
- <glyph unicode="H" horiz-adv-x="878" d="M0 194q0 -147 101 -257t260 -110q158 0 259 110q101 108 101 257q0 78 -27 146q-40 -25 -85 -34q22 -51 22 -114q0 -76 -36 -142q-37 -66 -99 -101q-62 -36 -135 -36q-75 0 -136 36q-63 37 -98 101q-37 65 -37 142q0 117 80 202q80 83 191 83q51 0 98 -19q4 39 27 86 q-57 21 -125 21q-160 0 -266 -118q-95 -107 -95 -253zM280 -59l56 -4q74 47 124.5 109t72.5 124t31 126q6 41 6 80q0 21 -2 40q-5 55 -12.5 98.5t-15.5 68.5l-9 25q-22 68 -43.5 119t-31.5 67l-11 17q39 -20 63 -48q23 -29 28 -53q4 -20 4 -39v-7q-1 -22 -6 -35l-5 -13 q4 -58 5 -112q0 -52 -5 -102q-9 -100 -30.5 -167t-49.5 -121.5t-57.5 -85.5t-54.5 -51.5t-41 -28.5zM555 578q4 40 23 64l18 25q12 14 39 26.5t48 18.5l21 6q36 8 66.5 35t43.5 51l13 23q41 -57 49 -129q4 -32 3 -57q0 -34 -6 -59l-11 -45q-12 -33 -33.5 -60t-36.5 -37 l-15 -11q-34 -20 -67 -20l-109 53q58 32 101 65t63.5 57.5t33 44.5t14.5 31l2 10q-18 -40 -48.5 -73t-62 -52t-60.5 -32.5t-47 -18.5l-18 -5q-25 44 -25 79q0 5 1 10z" />
52
- <glyph unicode="I" horiz-adv-x="487" d="M-2 -148q102 6 130 27q30 21 30 107v666q0 82 -30 106q-28 23 -130 28v28h489v-28q-102 -4 -131 -28q-30 -24 -30 -106v-666q0 -86 30 -107t131 -27v-28h-489v28z" />
53
- <glyph unicode="J" horiz-adv-x="1234" d="M0 145q0 161 184 347q117 116 236 162q56 23 97 23q45 0 72 -27q26 -26 26 -72q0 -31 -12 -72q-4 -14 3 -17.5t16 -0.5l10 4q96 40 170 40t106 -42q15 -22 15 -52q0 -31 -16 -71q-7 -10 -2.5 -17t8 -9t14.5 -5q62 -19 106 -62t44 -107q0 -59 -41 -120.5t-111.5 -112.5 t-178 -84t-228.5 -33q-131 0 -247.5 38.5t-193.5 115t-77 174.5zM125 97q10 -101 125 -161q92 -49 209 -49q29 0 60 3q153 15 255 97q92 75 92 165q0 9 -1 18q-10 100 -125 160q-93 49 -210 49q-29 0 -59 -3q-101 -10 -183 -51t-126 -101q-38 -53 -38 -109q0 -9 1 -18z M285 35q-13 29 -13 59q0 35 18 70q31 64 104 96q45 20 91 20q27 0 54 -7q76 -20 109 -82q17 -32 17 -66q0 -32 -15 -65q-31 -71 -109 -104q-44 -19 -88 -19q-34 0 -67 11q-73 23 -101 87zM341 54q6 -25 30 -35q13 -6 27 -6q12 0 24 4q28 9 43 33q10 16 10 32q0 7 -3 15 q-6 24 -30 34q-13 5 -26 5q-12 0 -25 -4q-27 -9 -41 -32q-11 -16 -11 -33q0 -7 2 -13zM482 133q3 -9 13 -13q5 -2 9.5 -2t9.5 2q11 4 16 13t2 18t-12 13q-9 3 -19.5 -0.5t-15.5 -12.5q-3 -6 -3 -12v-6zM803 754q-1 5 -1 10q0 13 8 25q10 16 29 21q34 7 68 7q51 0 100 -15 q83 -27 143 -93t78 -153q7 -35 7 -68q0 -51 -16 -98v-1q-6 -18 -23 -27q-11 -5 -22 -5q-7 0 -15 2q-19 6 -27 23q-5 11 -5 21q0 8 2 15v1q11 34 11 70q0 23 -4 48q-13 62 -56 109t-102 66q-35 10 -70 10q-24 0 -49 -5q-5 -1 -10 -1q-14 0 -26 8q-16 11 -20 30zM843 597 q-1 5 -1 10q0 10 6 21q9 14 26 18q19 4 37 4q67 0 115 -53q29 -33 38 -75q3 -17 3 -33q0 -24 -8 -48q-5 -16 -20 -23q-9 -5 -18 -5q-7 0 -13 2q-16 5 -24 20q-4 9 -4 18q0 7 2 13q4 14 4 26q0 28 -21 50q-22 26 -54 26q-10 0 -20 -2q-5 -1 -9 -1q-11 0 -21 7q-14 9 -18 25z " />
54
- <glyph unicode="K" horiz-adv-x="1086" d="M0 -182v1000h257v-371h229q85 123 257 371h286l-328 -477q0 -12 96.5 -143t192.5 -256l96 -124h-343q-47 66 -143 199.5t-143 200.5h-200v-400h-257z" />
55
- <glyph unicode="L" horiz-adv-x="1040" d="M-5 699q0 50 35 82.5t91 32.5q55 0 89 -32q35 -33 35 -86q0 -48 -34 -80q-35 -33 -92 -33h-1q-55 0 -89 33t-34 83zM8 -176v668h222v-668h-222zM353 -176h222v373q0 35 8 54q14 34 42.5 57.5t71.5 23.5q112 0 112 -151v-357h222v383q0 148 -70 224.5t-185 76.5 q-129 0 -201 -111v-2h-1l1 2v95h-222q2 -32 2 -199t-2 -469z" />
56
- <glyph unicode="M" horiz-adv-x="1348" d="M0 276q0 35 2 105q24 8 48 8h18q17 -23 40 -70t31 -61q2 7 8 36.5t10 42.5t11 36.5t15.5 40.5t19.5 31q28 -5 46 -5q6 0 11 1q24 -54 45.5 -163t38.5 -155q-1 0 -4 1l-3 1q-9 0 -26 -5.5t-22 -6.5q-40 101 -62 203q-15 -26 -15 -89t-11 -88l-5 2q-8 0 -22 -2t-21 -2h-18 q-27 48 -57 89q-3 -6 -3 -15t2.5 -26t2.5 -25l-1 -12q-30 -15 -52 -15q-7 0 -10 1q-17 56 -17 142zM355 200q0 27 8 57.5t28 57t47 26.5q10 0 28 -5t23 -6q9 -40 9 -81q0 -28 -6 -55q-12 4 -38 4.5t-37 3.5q-5 -20 -5 -37q0 -21 10 -37t30 -16q9 0 26 5t26 5q17 0 23 -14 q-42 -16 -82 -16q-46 0 -68 30t-22 78zM413 228l8 1q3 0 8 -2t7 -2l7 3q2 14 2 22q0 18 -5 40q-22 -25 -27 -62zM523 174q0 123 78 182q32 -3 60 -23q-1 -17 -8 -67q-5 -39 -5 -65v-14q-20 -2 -29 -2q-8 0 -43 5q-5 -12 -5 -23q0 -22 17 -37.5t39 -15.5q26 0 41 23 q18 -6 21 -17q-22 -21 -63 -21q-37 0 -70 20t-33 55zM579 217q4 -6 14 -6h9q9 19 9 49q0 13 -6 39q-3 -8 -10 -25t-11.5 -30.5t-4.5 -26.5zM678 236q-2 26 23 26q6 0 18 -1t17 -1q3 15 3 31q0 29 -7.5 86.5t-7.5 86.5q0 43 10 72q5 -3 26.5 -5.5t40.5 -24.5q-6 -26 -6 -67 q0 -20 4 -81q2 -35 2 -61q0 -20 -1 -34h6q7 0 9 6t2 12.5t4 6.5q8 0 18.5 -8.5t22.5 -21.5t15 -16q-9 -7 -40.5 -9t-38.5 -4q-1 -12 -1 -36q0 -16 0.5 -33t1.5 -38t1 -33q-8 -1 -23 -2t-22 -2v10v10q0 21 -3 57q-4 44 -4 61q-6 2 -32 3.5t-38 9.5zM893 244q0 20 2 58 q11 -1 20 -5t21 -10.5t18 -9.5l-1 -27q0 -59 9 -116q19 7 31 23t16.5 41.5t5.5 42t2 44.5v11q3 -1 9 -1q20 -2 49 -25q0 -3 0.5 -9.5t0.5 -9.5q0 -15 -4 -30t-7.5 -22t-14.5 -25t-14 -23q-15 -12 -34 -42q-21 -7 -38 -7q-71 0 -71 142zM1093 136q7 6 24 10q0 3 1 9 q4 35 7 56.5t12.5 59t22 59.5t35.5 39.5t53 17.5q34 0 76 -24q17 -37 17 -75q0 -66 -46.5 -119t-112.5 -68q-2 -32 -2 -48q0 -73 18 -117q-8 2 -37 2q-15 0 -22 2q-9 21 -16.5 96t-29.5 100zM1183 161q39 10 65.5 48t26.5 79q0 30 -15 56q-23 -21 -39.5 -55.5t-23 -60 t-14.5 -67.5z" />
57
- <glyph unicode="N" horiz-adv-x="1213" d="M-9 598q10 8 25 12q14 4 25 4h9q10 0 24 -1q22 -1 32 -1q6 0 38 2q16 1 29 0.5t23 -0.5q20 -2 32 -8q6 -3 13 -13t11.5 -19t11.5 -25.5t10 -21.5q38 -82 94 -163q2 -3 7 -11t8.5 -12.5t9 -11.5t10.5 -11t10.5 -8.5t11.5 -5.5t12 0q28 5 31 117q1 19 1 35q0 74 -15 102 q-6 11 -15.5 17.5t-24.5 12t-23 10.5q14 28 49.5 37t96.5 9h25h28t26 -0.5t27 -3l22 -5.5t19.5 -9t12.5 -14q9 -18 11 -42q0 -7 1 -14q0 -20 -3 -52q-4 -42 -4 -52q-3 -23 -3 -46q0 -18 2 -38q4 -44 30 -61q9 1 16.5 4t15.5 11t11 11.5t12.5 16.5t10.5 14q47 62 94 163 l9 22.5t11.5 26.5t12 19.5t15.5 13.5q16 7 38 7h9q20 0 46 -2q32 -2 47 -2q9 0 27.5 1t32.5 1.5t29.5 -0.5t25.5 -6t14 -13q3 -6 3 -13q0 -29 -35 -87q-17 -29 -34.5 -52.5t-45.5 -58t-37 -46.5q-2 -2 -14 -18t-17.5 -24t-11.5 -22.5t-5 -26.5q0 -8 3 -15t9.5 -15t10 -12 t13.5 -13t12 -11q71 -65 112 -117q40 -52 40 -75q0 -33 -51 -41q-26 -4 -53 -4q-21 0 -43 3q-20 2 -37 2q-26 0 -45 -5h-6q-66 11 -139 94q-4 4 -17 20.5t-22 25.5t-23 17t-27 6q-23 -4 -30.5 -29t-9 -59.5t-9.5 -48.5q-13 -24 -79 -24q-28 0 -66 4q-78 8 -141.5 40 t-100.5 67.5t-81 92.5q-104 133 -197 322q-3 6 -11 22.5t-12 25.5t-9.5 23.5t-8 28t-2.5 26.5z" />
58
- <glyph unicode="O" horiz-adv-x="852" d="M2 287q-1 19 -2 40q0 33 4 73q6 66 24 123q2 7 6.5 18.5t21.5 44t37.5 62t54.5 64.5t72 59q40 25 94 39q41 11 84 10q15 0 30 -1q107 0 191 -44t133.5 -116t74.5 -155t25 -169q0 -279 -160 -425q-55 -50 -121 -68t-157 -21h-11q-39 0 -83 12q-50 14 -105 44t-103 88 t-75 136q-3 9 -8 25t-14 64.5t-13 96.5zM224 189q4 -55 8 -79.5t7 -31.5q8 -66 30 -112.5t47.5 -66.5t49.5 -30.5t40 -10.5h16q54 1 91.5 22.5t59.5 66t33.5 100.5t17.5 139q2 81 2 143q0 47 -1 84q-3 86 -9 123l-5 37q-8 37 -15.5 62t-22.5 55t-33 48t-47.5 30.5 t-67.5 12.5q-10 1 -19 1q-30 0 -56 -14q-34 -20 -53.5 -51.5t-33 -63.5t-17.5 -55l-5 -24q-6 -46 -10 -110t-5 -105v-41q-3 -44 -3 -80q0 -26 1 -49z" />
59
- <glyph unicode="P" horiz-adv-x="1049" d="M0 207q10 139 168 173q12 89 42.5 192t71.5 146q48 49 120 75.5t146 26.5q86 0 164 -39t117 -110q19 -36 41.5 -130.5t30.5 -154.5q15 -6 34 -6q30 0 30 29q0 11 -6 33.5t-5 35.5v4h1q27 0 61 -51q34 -52 34 -81q0 -20 -9.5 -35.5t-19 -24.5t-33 -17.5t-32.5 -10.5 l-36 -8q-5 -1 -8 -2v-26q0 -173 -77 -253l25 -25q4 -2 25 -11.5t35.5 -18.5t18.5 -18q-65 -51 -132 -51q-34 0 -75 17q-88 -37 -180 -37q-118 0 -234 61q-36 -8 -55 -19q-7 -4 -26.5 -18t-36.5 -23.5t-28 -9.5q-3 18 -3 37q0 79 53 126q-60 99 -62 257l-7 1h-3 q-30 1 -76 -17q-48 -18 -64 -19q-4 0 -10 2zM232 114q0 -13 7 -27q27 -96 89 -138q43 -29 106 -46.5t117 -17.5q66 0 145.5 28t119.5 72q68 73 68 257q0 226 -92 379q-12 20 -17.5 27.5t-19 15.5t-32.5 8q-50 0 -107 -61q-76 47 -140 47q-59 0 -104.5 -43t-71 -104.5 t-42 -141t-21.5 -141t-5 -114.5zM413 521q0 22 15.5 37.5t36.5 15.5q22 0 37.5 -15.5t15.5 -37.5t-15.5 -37t-37.5 -15q-21 0 -36.5 15t-15.5 37zM469 539q0 -12 12 -12q5 0 8.5 3.5t3.5 8.5t-3.5 9t-8.5 4q-12 0 -12 -13zM563 479l2 2l-1 -3zM568 484l52 52l51 -52 q-22 -7 -50 -7q-29 0 -53 7zM570 462q27 -5 50 -5q22 0 49 5l-49 -49zM675 478v3l1 -2zM702 521q0 22 15.5 37.5t37.5 15.5t37.5 -15.5t15.5 -37.5t-15.5 -37t-37.5 -15t-37.5 15t-15.5 37zM758 539q0 -5 4 -8.5t8 -3.5q5 0 9 3.5t4 8.5q0 13 -13 13q-5 0 -8.5 -4t-3.5 -9z " />
60
- <glyph unicode="Q" horiz-adv-x="869" d="M3 -163v957q121 21 297 21q140 0 235.5 -24t165.5 -77q165 -125 165 -370q0 -260 -161 -395q-148 -126 -451 -126q-143 0 -251 14zM223 -1q19 -4 77 -4h4q153 0 240 85q89 86 89 256q0 154 -81.5 232t-228.5 78q-66 0 -100 -9v-638z" />
61
- <glyph unicode="R" d="M0 -46q0 55 39 94t94 39t94 -39t39 -94q0 -56 -39 -94.5t-94 -38.5t-94 39t-39 94zM0 289v191q179 0 331 -88.5t240.5 -240.5t88.5 -331h-192q0 194 -137 331q-138 138 -331 138zM0 628v192q203 0 388 -79.5t319 -213.5t213.5 -319t79.5 -388h-192q0 164 -64 314 t-172.5 258t-258 172t-313.5 64z" />
62
- <glyph unicode="S" horiz-adv-x="986" d="M0 547q0 113 80 193t193 80q78 0 145 -42q36 7 80 7q195 0 333 -138t138 -332q0 -49 -11 -101q28 -59 28 -121q0 -113 -80 -193t-193 -80q-68 0 -129 32q-45 -8 -86 -8q-194 0 -332 138t-138 333q0 47 9 94q-37 65 -37 138zM221 181q0 -41 30 -85q71 -104 246 -104 q50 0 96.5 11t87.5 34t66 63.5t25 94.5q0 58 -29.5 98t-73.5 58t-95.5 32.5t-95.5 23t-73.5 26t-29.5 44.5q0 33 36.5 49t74.5 16q40 0 66 -12.5t38 -30t21 -35t24.5 -30t39.5 -12.5q27 0 47.5 19t20.5 46t-15 54q-30 55 -95 80t-138 25q-46 0 -89 -9t-83 -29t-64.5 -56.5 t-24.5 -86.5q0 -66 40 -106.5t97 -57t114.5 -28.5t97.5 -33.5t40 -58.5q0 -29 -23 -49t-50.5 -27t-56.5 -7q-38 0 -64.5 10.5t-38.5 27t-22.5 35t-18 35t-22.5 27t-37 10.5q-28 0 -48.5 -17t-20.5 -45z" />
63
- <glyph unicode="T" horiz-adv-x="1230" d="M0 -83q30 -3 60 -3q176 0 314 108q-82 1 -147 50t-89 125q20 -4 47 -4q35 0 67 9q-88 17 -145.5 86.5t-57.5 160.5v3q53 -30 115 -31q-52 34 -82.5 89.5t-30.5 120.5q0 68 35 127q94 -117 229.5 -186.5t290.5 -77.5q-7 33 -7 58q0 104 74 178t179 74q109 0 184 -80 q87 18 160 62q-28 -91 -110 -140q73 9 144 40q-48 -75 -125 -131v-33q0 -101 -29.5 -202.5t-90 -194t-144.5 -164.5t-201.5 -114.5t-252.5 -42.5q-209 0 -387 113z" />
64
- <glyph unicode="U" horiz-adv-x="859" d="M-15 103q0 54 6 162q4 53 38 86.5t87 36.5q100 5 301 5t301 -5q53 -3 87 -36.5t38 -86.5q5 -90 5 -162t-5 -162q-4 -53 -38 -86.5t-87 -36.5q-100 -5 -301 -5t-301 5q-53 3 -87 36.5t-38 86.5q-6 108 -6 162zM52 244h61v-326h59v326h61v55h-181v-55zM117 847h60l38 -152 h4l36 152h60l-46 -148q-23 -73 -23 -75v-158h-59v151q-2 14 -5.5 25.5t-9 26.5t-8.5 25zM233 -38q0 -48 36 -48q32 0 61 35v-31h52v281h-52v-214q-21 -21 -31 -21q-14 0 -14 19v216h-52v-237zM312 537v146q0 34 22 52.5t56 18.5q33 0 53.5 -20t20.5 -53v-145 q0 -36 -20 -56.5t-56 -20.5q-35 0 -55.5 21.5t-20.5 56.5zM366 530q0 -23 22 -23q23 0 23 25v153q0 9 -7 15t-16 6t-15.5 -5.5t-6.5 -14.5v-156zM433 -82h53v21q20 -25 50 -25q47 0 47 62v156q0 71 -51 71q-25 0 -46 -27v123h-53v-381zM486 -29v176q11 11 22 11q22 0 22 -28 v-148q0 -24 -19 -24q-14 0 -25 13zM509 510v237h52v-215q0 -19 14 -19q13 0 31 21v213h52v-281h-52v31q-29 -35 -61 -35q-36 0 -36 48zM623 -3q0 -38 19 -62.5t57 -24.5q78 0 78 87v21h-54q0 -2 0.5 -13.5t-0.5 -16.5t-2.5 -13.5t-6.5 -12t-14 -3.5q-23 0 -23 40v53h100v72 q0 38 -18.5 60t-56.5 22q-36 0 -57.5 -23t-21.5 -59v-127zM677 96v30q0 31 23 31t23 -31v-30h-46z" />
65
- <glyph unicode="V" horiz-adv-x="1146" d="M0 548q55 65 110 116t95.5 77.5t72.5 43t48 21.5l17 4q12 2 24 2q19 0 35 -6q26 -10 42.5 -34.5t29 -55t21.5 -72t15 -77.5t13.5 -79.5t14.5 -70.5q32 -125 51.5 -177.5t41.5 -52.5q24 0 66.5 55.5t93.5 151.5q26 48 26 91q0 13 -2 23q-9 52 -51 65q-11 4 -24 4 q-35 0 -83 -26q22 130 134 209q85 60 174 60q12 0 24 -1q102 -8 139 -90q18 -38 18 -88q0 -29 -6 -61q-18 -102 -69.5 -208t-113 -187.5t-132.5 -155t-123.5 -117t-90.5 -68.5q-42 -24 -78.5 -24t-69.5 21t-56 48t-38 57q-18 38 -97.5 298.5t-96.5 280.5q-1 2 -4 4 t-13.5 4.5t-24 0t-36.5 -14t-50 -32.5z" />
66
- <glyph unicode="W" horiz-adv-x="1233" d="M0 -73l105 371q35 20 85.5 31t83.5 13l34 1q50 0 104 -10q101 -20 144 -61l-104 -370q-36 28 -79.5 45.5t-68.5 20.5l-26 4q-34 3 -65 3q-16 0 -42.5 -1.5t-83.5 -13.5t-87 -33zM126 404l105 371q35 20 86 31.5t84 12.5l33 1q51 0 104 -10q101 -20 144 -61l-104 -371 q-36 28 -79.5 45.5t-68.5 20.5l-26 4q-35 3 -64 3q-16 0 -42.5 -1.5t-84 -13t-87.5 -32.5zM557 -109l104 371q37 -28 80.5 -45.5t68.5 -20.5l25 -4q34 -3 65 -3q16 0 42.5 1.5t84 13t86.5 32.5l-104 -371q-35 -20 -86 -31t-84 -12l-33 -2q-51 0 -104 10q-101 20 -145 61z M677 366l104 370q37 -28 80.5 -45.5t68.5 -20.5l25 -4q34 -3 65 -3q16 0 42.5 1.5t83.5 13t87 32.5l-104 -370q-35 -20 -86 -31.5t-85 -12.5l-33 -2q-52 0 -103 11q-101 19 -145 61z" />
67
- <glyph unicode="X" horiz-adv-x="899" d="M-50 120h219l173 286l-130 229h-219l130 -229zM312 210l346 608h232l-345 -608l222 -392h-232z" />
68
- <glyph unicode="Y" horiz-adv-x="1379" d="M0 694l6 -19q4 -6 7.5 -10t5.5 -5l2 -2l19 -10h111l287 -344q11 -12 11 -25v-192q0 -8 -2.5 -12t-5.5 -5h-3q-112 0 -142 -3q-10 0 -10 -9v-55h516v57q0 3 -2.5 5t-4.5 2h-2h-144q-9 0 -9 15v202q-1 3 1.5 7t5.5 7l3 3q11 11 264 249h133q9 0 18 7l17 19q6 7 6 18v14 q-1 3 -3 4.5t-3 1.5h-2h-436l-7 -6q-1 -6 1.5 -12.5t5.5 -9.5l2 -4l23 -23l18 -7h115l-207 -195l-228 291h41q13 -1 22 4l68 21q1 0 3 1t4.5 5t2.5 9v14q0 3 -2 5t-4 2h-3h-489q-8 -1 -10 -7v-8zM1190 803l185 -7l-83 -567l-61 3zM1203 40l4 110l110 -4l-4 -110z" />
69
- <glyph unicode="Z" horiz-adv-x="870" d="M0 19q0 22 43 51q7 15 16.5 35.5t16 33t6.5 15.5q0 1 2.5 13.5t7 32t9.5 42.5t12.5 52t15.5 54q13 41 31 75t29 47.5t17 18.5q10 8 3 11q-9 6 -22 21.5t-29 60.5q-11 32 -11 70q0 14 2 29q2 16 7 3q3 -8 6 -25q4 -33 26.5 -74.5t60.5 -56.5q1 0 19.5 7t82 19t156.5 19 q1 37 7 76q-7 5 -11 13.5t-5 14.5l-1 6q-8 -14 -20 -13q-8 1 -8 33q0 17 2 43q1 20 18.5 32t32.5 13q2 1 5.5 2.5t13 3.5t17.5 2q14 15 45 19q19 3 35 3q11 0 20 -1l23 -3q11 1 22 1l40 -4q31 -8 47 -17l15 -9h4q27 0 41 -27q10 -17 16 -41q2 -10 3 -20q0 -14 -5 -29h-4 q-5 5 -10 17q-4 -12 -9.5 -21.5t-8.5 -12.5l-4 -4v-6q0 -44 -27 -102q-3 -8 2 -21q7 -16 23 -86q16 -66 15 -95v-3q-1 -31 -14.5 -65.5t-27.5 -48.5q1 -5 0 -10q0 -32 -21 -72q-7 -11 -17.5 -44t-14.5 -53q-5 -26 -5 -42q0 -14 4 -20q1 -1 10 -12.5t14.5 -20.5t4.5 -15 q-1 -9 -16.5 -18.5t-25.5 -9.5q-12 0 -27 7t-20 19q-6 19 -6 38q0 14 3 28q5 19 11 49q6 29 12 87q2 20 2 38q0 31 -7 51q-5 -2 -15 -5.5t-41.5 -9t-65.5 -5.5q-6 -30 -13 -57t-11 -38l-5 -12q-5 -8 -5 -113q0 -41 14 -103q9 -6 13 -14t4 -13v-5q-2 -13 -15.5 -20.5 t-29.5 -7.5t-31 11t-15 28q0 3 2 49q1 28 0 48v23q-4 78 -7 91q-26 97 -27 143q-7 0 -13 5l-53 -56q1 -5 4 -15.5t5 -18.5t2 -11q0 -8 14 -14q12 -5 25.5 -15t12.5 -20q-1 -12 -23 -14h-6q-20 0 -40 9q-2 1 -6.5 11t-9.5 24.5t-9.5 28.5t-8.5 27t-5 15q-5 21 -1 29 q15 41 15 60v4q-1 14 -22.5 32t-39.5 18q-7 0 -16.5 -5t-16 -10.5t-19.5 -16t-16 -13.5q-15 -11 -38 -32t-24 -22q-5 -3 -37 -61t-41 -81q0 -1 -2.5 -9.5t-4.5 -15t-7.5 -16t-11.5 -16t-15.5 -10.5t-21.5 -4q-22 1 -22 19z" />
70
- <glyph unicode="[" horiz-adv-x="999" d="M0 297q0 75 23 155.5t62 144.5q62 104 182.5 163.5t248.5 59.5q130 0 249.5 -81.5t182.5 -201.5q50 -86 50 -214q0 -150 -71 -266t-192 -177t-270 -60q20 36 61 109.5t73.5 130.5t64.5 108l1 2q3 5 12 18.5t12.5 19.5t9.5 17t9.5 21t5.5 21q6 24 6 48q0 80 -48 142 l275 81q-285 0 -428 -1q-7 1 -22 1q-99 0 -165.5 -74t-55.5 -173q-2 9 -2 28q0 44 15 77l-204 201l198 -341q19 -72 79.5 -117.5t134.5 -45.5q17 0 33 3l-66 -276q-115 0 -223 71t-175 176q-66 102 -66 230zM312 316q0 -77 54.5 -131.5t130.5 -54.5t130.5 54.5t54.5 131.5 q0 76 -54 130.5t-131 54.5t-131 -54.5t-54 -130.5z" />
71
- <glyph unicode="\" horiz-adv-x="831" d="M0 -155q0 27 31 27q12 0 21 0.5t28.5 7t32 17.5t23 35t10.5 57v614q0 127 -92 135q-15 1 -21.5 6.5t-7 10t-0.5 15.5q-2 25 23 25q4 0 62 -1.5t137 -3t135 -1.5q115 0 196.5 5.5t121 10.5t52.5 5q31 0 31 -31q0 -3 -6 -25.5t-6 -41.5q0 -16 3.5 -47t3.5 -44 q0 -18 -12 -27.5t-24 -9.5q-20 0 -21 28q0 4 0.5 14t0 14.5t-3 14.5t-7.5 15t-15 13t-24 12.5t-36 10t-50.5 8.5t-67 5t-85.5 2q-80 0 -115.5 -7.5t-43 -20t-7.5 -42.5q0 -29 0.5 -134.5t0.5 -115.5q0 -19 6.5 -26.5t22.5 -7.5h233q38 0 65.5 21.5t30.5 66.5q1 16 5 24 t8.5 9.5t14.5 1.5q14 0 22.5 -11.5t6.5 -33.5q0 -7 -4.5 -46t-4.5 -65q0 -25 4.5 -67t4.5 -57q0 -26 -22.5 -29.5t-29.5 23.5q-4 17 -6.5 24.5t-11.5 24t-20.5 24.5t-33.5 15.5t-51 7.5h-207q-18 0 -26 -11t-8 -38v-265q0 -43 22 -69t85 -26q5 0 50 -0.5t63 0t60 3t65.5 7.5 t52.5 15.5t47 24.5q24 19 34.5 46.5t19.5 80.5q4 19 26 18q28 0 37 -32q3 -11 2 -24q-1 -12 -16.5 -63.5t-15.5 -74.5q0 -6 0.5 -21.5t0.5 -23t-2 -18t-8 -15t-15 -4.5q-2 0 -33.5 7t-103.5 7q-66 0 -322 -1.5t-285 -1.5q-19 0 -25 5.5t-6 18.5z" />
72
- <glyph unicode="]" horiz-adv-x="1040" d="M2 69v576q0 1 3 19l339 -290l-338 -325q-4 14 -4 20zM47 704q7 3 17 3h913q9 0 18 -3l-340 -291l-45 -36l-89 -73l-89 73l-45 36zM48 10l341 327l132 -107l132 107l341 -327q-8 -3 -17 -3h-913q-8 0 -16 3zM698 374l338 290q3 -9 3 -19v-576q0 -9 -3 -20z" />
73
- <glyph unicode="^" horiz-adv-x="1106" d="M0 207v151q0 10 7 17.5t18 7.5h265l-115 -201h-150q-11 0 -18 7t-7 18zM122 -37l66 -38zM132 6.5q-3 10.5 2 19.5l304 528q5 9 15 11.5t19 -2.5l65 -37q10 -5 12.5 -15.5t-2.5 -19.5l-303 -528q-5 -9 -15.5 -11.5t-19.5 2.5l-65 38q-9 4 -12 14.5zM440 182l115 201h67 l94 -201h-276zM518 807q1 9 6 12q10 5 35.5 -31t71.5 -116t62 -105q28 -44 75.5 -130.5t91 -169t43.5 -83.5q11 -19 -2 -36t-31 -24q-18 -8 -24 -9t-30 7q-30 15 -190 393q-5 11 -13.5 30.5t-17 38t-18.5 42t-18.5 44t-17 42t-13.5 39t-8 32.5t-2 24zM846 383h235 q10 0 17.5 -7.5t7.5 -17.5v-151q0 -10 -7.5 -17.5t-17.5 -7.5h-133q-4 16 -8 23l-24 46q-64 121 -70 132zM859 66.5q3 10.5 13 15.5l37 19q10 5 21 1.5t16 -13.5l31 -60q12 -24 -10 -39l-27 -16q-10 -5 -21 -2.5t-17 12.5l-40 62q-6 10 -3 20.5zM935.5 -78q0.5 16 4 21 t12.5 14l24 9q61 12 72 -70q3 -32 -1 -76q-4 12 -44 29.5t-55 38.5q-13 18 -12.5 34z" />
74
- <glyph unicode="_" horiz-adv-x="1084" d="M-1 2v89v54v207h140v-207h805v207h141v-207v-54v-89h-1086z" />
75
- <glyph unicode="`" d="M0 298q0 141 67 260.5t182 189t251 69.5t251 -69.5t182 -189t67 -260.5q0 -4 -0.5 -10t-0.5 -10q-8 208 -152.5 353t-346.5 145t-346.5 -145t-152.5 -353q0 4 -0.5 10t-0.5 10zM183 299q0 136 93 232.5t224 96.5t224 -96.5t93 -232.5q0 -3 -0.5 -10t-0.5 -10 q-8 129 -99 219t-217 90t-217 -90t-99 -219q0 3 -0.5 10t-0.5 10zM349 104q0 33 4.5 59t10.5 43t18.5 29t23 18t28.5 9.5t31 4t35 0.5t35 -0.5t31 -4t28.5 -9.5t23 -18t18.5 -29t10.5 -43t4.5 -59q0 -118 -44.5 -202.5t-106.5 -84.5t-106.5 84.5t-44.5 202.5zM396 384 q0 44 30.5 76t73.5 32t73.5 -32t30.5 -76t-30.5 -76t-73.5 -32t-73.5 32t-30.5 76z" />
76
- <glyph unicode="a" horiz-adv-x="1099" d="M1 44q5 8 16 1q250 -145 544 -145q196 0 387 73q5 2 14.5 6t13.5 6q15 6 23.5 -6t-5.5 -22q-18 -13 -46 -30q-86 -51 -192 -79t-207 -28q-156 0 -295 54.5t-249 153.5q-6 5 -6 10q0 3 2 6zM302 329q0 69 34 118t93 74q54 23 133 33q27 3 88 8v17q0 64 -14 86 q-21 30 -66 30h-8q-33 -3 -57 -21t-31 -50q-4 -20 -20 -23l-115 14q-17 4 -17 18q0 3 1 7q17 89 83.5 132t155.5 48h25q114 0 178 -59q10 -10 18.5 -21.5t13.5 -20.5t9 -26t6 -23.5t3 -28t1 -25.5v-30v-28v-184q0 -26 7.5 -47.5t14.5 -31t23 -30.5q6 -9 6 -16q0 -8 -8 -14 q-83 -72 -90 -78q-12 -9 -29 -2q-14 12 -24.5 23t-15 16t-14.5 19.5t-14 19.5q-56 -61 -110 -76q-34 -10 -84 -10q-77 0 -126.5 47.5t-49.5 134.5zM474 349q0 -39 19.5 -62.5t52.5 -23.5q3 0 8.5 1t7.5 1q42 11 65 54q11 19 16.5 41.5t6 36.5t0.5 46v25q-58 0 -88 -8 q-88 -25 -88 -111zM894 27q2 4 6 8q25 17 48 23q38 10 74 11q10 1 19 -1q45 -4 54 -15q4 -6 4 -18v-7q0 -35 -19 -82.5t-53 -76.5q-5 -4 -9 -4q-2 0 -4 1q-6 3 -3 11q37 87 37 121q0 11 -4 16q-10 12 -56 12q-17 0 -40 -2q-25 -3 -46 -6q-6 0 -8 2t-1 4q0 1 1 3z" />
77
- <glyph unicode="b" horiz-adv-x="1314" d="M-2 438q0 55 38.5 94t93.5 39q47 0 83.5 -29.5t46.5 -74.5l502 -202q32 19 68 19q2 0 6.5 -0.5t7.5 -0.5l110 159q1 73 53 124.5t125 51.5q74 0 126 -52t52 -126t-52 -126t-126 -52l-170 -124q-5 -51 -43 -85.5t-89 -34.5q-48 0 -84 30t-46 75l-502 201q-32 -19 -68 -19 q-55 0 -93.5 39t-38.5 94zM33 438q0 -40 28.5 -68.5t68.5 -28.5q9 0 21 2l-41 16v1q-28 13 -40 42q-6 14 -6 28q0 15 6 30q12 30 40 42q15 7 31 6q13 0 27 -5v1l49 -20q-29 52 -87 52q-40 0 -68.5 -28.5t-28.5 -69.5zM743 105q29 -52 87 -52q40 0 69 28.5t29 69.5 q0 40 -28.5 68.5t-69.5 28.5q-14 0 -21 -2l40 -16q30 -12 43 -42q7 -15 7 -30q0 -14 -6 -29q-12 -31 -42 -43q-15 -6 -30 -6q-14 0 -29 6q-8 3 -24.5 9.5t-24.5 9.5zM1013 440q0 -49 35 -84t84 -35q50 0 85 35t35 84t-35 84t-85 35q-49 0 -84 -35t-35 -84zM1038 441 q0 -40 27.5 -68t67.5 -28q39 0 67 28t28 68q0 39 -28 67t-67 28q-40 0 -67.5 -28t-27.5 -67z" />
78
- <glyph unicode="c" horiz-adv-x="1107" d="M-2 251q0 104 73.5 178t176.5 74l1 -1q0 3 -0.5 7t-0.5 6q0 118 82.5 201t199.5 83q103 0 181 -66t96 -166h17q117 0 199.5 -83t82.5 -201t-82.5 -201t-199.5 -83q-8 0 -12 1v-1h-555h-9h-9h-5v1q-99 5 -167.5 78t-68.5 173z" />
79
- <glyph unicode="d" horiz-adv-x="1013" d="M-12 286l214 163l-214 162l311 203l203 -174l208 174l302 -193l-198 -165l198 -170l-307 -185l-203 156l-203 -156zM201 35v57l94 -55l203 155l1 -1v-355zM206 451l294 -185l296 196l-294 169zM499 -164l1 355l2 1l202 -155l100 60v-63z" />
80
- <glyph unicode="e" horiz-adv-x="1407" d="M0 181q0 31 5 53.5t21.5 46.5t46.5 38.5t83.5 24t128.5 9.5q88 0 148 -13q39 -8 58 -18v-161h-293q0 -21 2 -33.5t9 -30.5t26.5 -27t49.5 -9q85 0 85 61h63h2h56v-89q-27 -13 -56 -19q-68 -15 -150 -15q-92 0 -151 12.5t-87 39t-37.5 56t-9.5 74.5zM198 215h178 q0 18 -1.5 26.5t-8.5 23.5t-27.5 22t-53.5 7q-31 0 -50.5 -7.5t-26.5 -23t-8.5 -24t-1.5 -24.5zM491 33v89h78q-1 -51 -74 -87q-2 -2 -4 -2zM491 33q2 0 4 2q73 36 74 87h-78v39h81q1 12 1 23q0 45 -13 76q-16 39 -69 62v183h107v-203h2q31 44 88 44q43 0 69 -26 q-40 -29 -40 -102q0 -104 76 -122q-1 -31 -5.5 -54t-15.5 -47t-32.5 -36.5t-53.5 -12.5q-64 0 -91 50h-1v-42h-103v79zM491 161v161q53 -23 69 -62q13 -31 13 -76q0 -11 -1 -23h-81zM598 150q0 -77 8.5 -107.5t35.5 -30.5q28 0 37 30.5t9 107.5v5q0 35 -1 51.5t-5 37 t-13.5 28.5t-26.5 8q-16 0 -25.5 -8.5t-13 -29.5t-4.5 -38t-1 -54zM717 218q0 73 40 102q17 -18 26 -53t10 -55.5t0 -63.5v-52q-76 18 -76 122zM725 377q0 69 40 94q34 26 101 26q4 0 49 -3l107 -218v-102q0 -14 2 -39t2 -34h-100l-5 52h-2q-33 -58 -100 -58q-18 0 -26 1v52 q0 43 -0.5 63.5t-9.5 55.5t-26 53q38 29 135 29h24v31q0 29 -8.5 43t-35.5 14q-26 0 -33 -15.5t-7 -44.5h-107zM822 223q0 -62 41 -62q13 0 22.5 4.5t15.5 14t9.5 18t4.5 24t1.5 23.5t0 24t-0.5 20q-4 0 -17 -0.5t-16.5 -1l-14 -2t-14 -3t-10.5 -5t-9.5 -8t-6.5 -11 t-5 -15.5t-1 -20zM889 546h154l100 -232l109 232h143l-189 -359v-190h-141v190l-43 89v91q0 55 -21.5 86.5t-85.5 40.5zM915 494q64 -9 85.5 -40.5t21.5 -86.5v-91z" />
81
- <glyph unicode="f" horiz-adv-x="817" d="M280 283v191h154v96q0 104 67.5 177t163.5 73h153v-191h-153q-15 0 -27 -16.5t-12 -40.5v-98h192v-191h-192v-463h-192v463h-154z" />
82
- <glyph unicode="g" horiz-adv-x="939" d="M0 -27q0 -63 62 -108t150 -45t150.5 45t62.5 108q0 64 -62.5 109t-150.5 45q-1 0 -3 -0.5t-3 -0.5q-24 22 -24 47.5t24 53.5q71 4 120 55t49 121q0 28 -7 50q28 5 44 14v115q-48 -32 -109 -32h-7q-46 31 -101 31q-75 0 -128 -52t-53 -126q0 -47 24 -87t64 -64 q-28 -36 -28 -74q0 -36 26 -75q-46 -21 -73 -55t-27 -75zM121 405q0 33 21.5 56.5t50.5 23.5q30 0 51 -23.5t21 -56.5t-21 -56.5t-51 -23.5q-29 0 -50.5 23.5t-21.5 56.5zM124 -27q0 27 25.5 45.5t62.5 18.5t63 -18.5t26 -45.5q0 -26 -26 -45t-63 -19t-62.5 19t-25.5 45z M455 739q0 34 23.5 57.5t57.5 23.5t58 -23.5t24 -57.5t-24 -58t-58 -24t-57.5 24t-23.5 58zM474 92v479h134v-479h-134zM655 469h55v-284v-1q4 -30 19.5 -51.5t34.5 -31.5t37.5 -16t30.5 -7h13h7q27 0 48 8q23 8 30 16l7 9l2 99q-42 -13 -65 -13q-5 0 -9 1q-23 3 -27 16 l-4 13q0 3 -1 4v238h91v102h-91v93h-123v-93h-55v-102z" />
83
- <glyph unicode="h" horiz-adv-x="866" d="M0 -196v496v496l501 -496zM0 -196l501 496l134 -133l-202 -117l-433 -250v4zM0 796v4l433 -250l202 -117l-134 -133zM501 300l134 133l231 -133l-231 -133z" />
84
- <glyph unicode="i" d="M0 320q0 136 67 251t182 182t251 67t251 -67t182 -182t67 -251t-67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251zM100 320q0 -166 117 -283t283 -117t283 117t117 283t-117 283t-283 117t-283 -117t-117 -283zM283 144q0 -31 21.5 -52.5t52.5 -21.5q33 0 57 24 t24 57v8v261l200 37v-208q-15 5 -28 5q-33 0 -57 -24t-24 -57q0 -31 21 -52.5t52 -21.5t55.5 23t25.5 54v4v8v382l-290 -50v-300q-15 5 -28 5q-34 0 -58 -24t-24 -57z" />
85
- <glyph unicode="j" horiz-adv-x="764" d="M0 -183v1000h764v-817l-571 3v-186h-193zM191 176h399v450h-399v-450z" />
86
- <glyph unicode="k" d="M0 253v67v67t2.5 59t7 61.5t14 53t23.5 55.5t35.5 46.5t50.5 47.5q146 110 356 110h11h5v-777h124v208q7 -11 39 -63.5t51 -79.5q29 -40 63.5 -53t91.5 -13h36v118q-45 0 -63 7t-42 41q-14 18 -37 56.5t-26 43.5l171 238h-148l-136 -189v453q135 -22 238 -100 q29 -22 50.5 -47.5t35.5 -46.5t23.5 -55.5t14 -53t7 -61.5t2.5 -59v-67v-67t-2.5 -59t-7 -61.5t-14 -53t-23.5 -55.5t-35.5 -46.5t-50.5 -47.5q-146 -110 -367 -110t-367 110q-29 22 -50.5 47.5t-35.5 46.5t-23.5 55.5t-14 53t-7 61.5t-2.5 59zM81 104q66 -67 192 -67 q80 0 137.5 41t57.5 118q0 51 -18 84.5t-45 45.5t-58.5 19.5t-58.5 9t-45 11.5t-18 30q0 47 70 46q57 0 87 -29l78 78q-60 60 -170 60q-78 0 -131.5 -41.5t-53.5 -117.5q0 -51 20.5 -83.5t51.5 -44.5t62.5 -17t59.5 -9t37 -14q10 -11 10 -30q0 -46 -72 -46q-77 0 -113 36z " />
87
- <glyph unicode="l" horiz-adv-x="1332" d="M-1 320q0 164 116 280t280 116q124 0 219.5 -63.5t146.5 -180.5q15 -36 129 -300q21 -48 37.5 -73.5t49 -45t79.5 -21.5h7q67 0 111 36q46 38 47 96q0 27 -8 45t-29.5 32t-40.5 21.5t-59 20.5q-125 41 -180 89.5t-55 135.5q0 91 57.5 145.5t156.5 54.5q127 0 191 -115 l-84 -43q-45 62 -112 62q-46 0 -76.5 -28.5t-30.5 -72.5q0 -13 2 -24.5t8.5 -20.5t12 -16t17.5 -14.5t20 -11.5t25 -10.5t26.5 -9.5t31.5 -10t33 -10q108 -36 154.5 -84t46.5 -140q0 -100 -76 -166q-75 -65 -186 -65h-3q-100 0 -161 46.5t-103 140.5l-14 33l-127 288 q-33 77 -104.5 124t-158.5 47q-119 0 -203.5 -84.5t-84.5 -203.5t84.5 -203.5t203.5 -84.5q82 0 150 42.5t105 112.5l51 -118q-55 -68 -135 -106.5t-171 -38.5q-164 0 -280 116t-116 280z" />
88
- <glyph unicode="m" horiz-adv-x="1210" d="M7 -117v897h185l9 -8h825l9 8h174v-900h-171v7h-855v-4h-176zM183 15v-80h855v74l-345 259l-79 -65l-86 70zM183 75l307 229l-307 252v-481zM266 716l348 -298l347 298h-695zM731 299l307 -230v484z" />
89
- <glyph unicode="n" d="M0 496l316 323v-123l301 -277l187 46l-195 -208l391 -438l-444 392l-188 -192l30 169l-255 316z" />
90
- <glyph unicode="o" horiz-adv-x="1083" d="M0 173q-1 63 24.5 116.5t67 89t92 63t101 43t92.5 25.5t68 13l26 3v-123q-57 -4 -104.5 -19.5t-77.5 -36.5t-53 -45.5t-35 -48t-19 -42.5t-8 -31l-2 -12q-3 -15 -3 -30q0 -22 7 -42q12 -34 38 -58t59 -44.5t68 -33t64 -21.5t47 -13l19 -3v-103q-97 10 -175.5 35 t-126.5 56.5t-83 67.5t-51 70.5t-24.5 62t-9.5 44.5zM510 -180v902l142 98v-922zM686 411h5q38 -1 77 -15q42 -16 64 -31l21 -16l-83 -34l313 -78v245l-107 -61q-40 43 -112.5 69t-125.5 31l-52 5v-115z" />
91
- <glyph unicode="p" d="M0 -47v734q0 55 39 94t94 39h734q55 0 94 -39t39 -94v-734q0 -55 -39 -94t-94 -39h-734q-55 0 -94 39t-39 94zM38 -19q0 -51 36 -87t87 -36h678q51 0 87 36t36 87v678q0 51 -36 87t-87 36h-678q-51 0 -87 -36t-36 -87v-678zM239 13v30h49q28 0 44 18.5t18 36.5l1 19v6v29 v377q0 35 -15 54.5t-30 21.5l-15 2h-50v32h349q46 0 80.5 -15t52 -36.5t28 -42.5t13.5 -36l2 -15v-62q0 -31 -9 -55.5t-23.5 -39.5t-32 -26.5t-35.5 -16.5t-32.5 -7.5t-23.5 -2.5l-9 -1h-143v-168q0 -31 17 -48.5t35 -19.5l17 -2h47v-32h-335zM457 338h109q4 0 10 0.5 t21.5 6t27.5 14.5t21.5 28.5t9.5 46.5l-1 61q0 4 -0.5 10t-6 22.5t-14.5 29.5t-29.5 25t-47.5 14h-100v-258z" />
92
- <glyph unicode="q" horiz-adv-x="889" d="M0 366q0 122 59.5 226t161.5 164.5t223 60.5q184 0 314.5 -132t130.5 -319q0 -119 -57 -220.5t-154 -162.5q1 -2 3.5 -6.5t11.5 -16t21 -22t33 -21.5t45 -17v-76q-36 -7 -67 -7q-50 0 -85 18q-56 29 -91 94q-48 -13 -105 -13q-120 0 -222.5 60.5t-162 164t-59.5 225.5z M221 307q0 -116 66.5 -198.5t160.5 -82.5q26 0 52 8q-2 3 -5.5 8.5t-14.5 18.5t-23.5 23.5t-31 19.5t-36.5 10v79v9q10 1 20 1q119 0 203 -90q63 81 63 194v116q0 116 -66.5 198.5t-160.5 82.5t-160.5 -82.5t-66.5 -198.5v-116z" />
93
- <glyph unicode="r" horiz-adv-x="1201" d="M0 320q0 139 72 254.5t191.5 180.5t257.5 65q86 0 162 -25v-302q-64 35 -132 35q-92 0 -162 -49q-45 -33 -80.5 -82.5t-35.5 -95.5q0 -90 57.5 -141t148.5 -51q78 0 151.5 41.5t108.5 108.5q21 37 21 50q1 67 1 143t-0.5 169t-0.5 144q20 -10 119 -77q135 -92 289 -92 q20 0 26.5 -7.5t6.5 -29.5q0 -51 -53 -100.5t-110 -69.5q4 -31 4 -69q0 -139 -72 -254.5t-191.5 -180.5t-257.5 -65t-257.5 65t-191.5 180.5t-72 254.5z" />
94
- <glyph unicode="s" horiz-adv-x="1153" d="M0 141q0 16 3.5 44t9.5 31q6 -3 10.5 -32.5t4.5 -42.5q0 -14 -4.5 -42.5t-10.5 -31.5q-13 7 -13 74zM64 141q0 25 5 74t6 61q0 6 6 6q4 0 6 -6q12 -129 12 -135q0 -24 -5.5 -71t-6.5 -59q-2 -7 -6 -7q-6 0 -6 7q-1 11 -6 58.5t-5 71.5zM145 141q0 24 5 73.5t5 54.5 q0 9 7 9q8 0 8 -9q11 -113 11 -128t-11 -136q0 -8 -8 -8q-7 0 -7 8q0 7 -5 58.5t-5 77.5zM237 141q0 38 1.5 80.5t4 95t3.5 81.5q0 10 9 10q10 0 10 -10q1 -16 5.5 -111.5t4.5 -145.5q0 -26 -5 -77t-5 -58q0 -10 -10 -10q-9 0 -9 10q-9 132 -9 135zM331 141q0 55 3 159.5 t4 128.5q2 12 12 12t12 -12q1 -32 4.5 -133t3.5 -155q0 -25 -3.5 -72t-4.5 -61q-2 -12 -12 -12t-12 12q0 11 -3.5 59t-3.5 74zM426 141q0 40 1 85t2.5 100t2.5 85q2 15 14 15t14 -15q1 -30 2.5 -85t2.5 -100t1 -85q0 -2 -6 -131v1q-2 -15 -14 -15t-14 14q-6 129 -6 131z M521 140q0 3 6 351q2 18 16 18t16 -18q6 -348 6 -351q0 -1 -6 -127q-2 -17 -16 -17t-16 17q-6 126 -6 127zM601 352.5q0 82.5 1 155.5q-1 10 12.5 18t32.5 11.5t34.5 5.5t24.5 2q97 0 169 -72.5t80 -178.5q28 13 55 13q58 0 99.5 -45.5t42 -110.5t-41.5 -110.5t-100 -45.5 h-393q-6 0 -10.5 6t-4.5 13q0 55 -0.5 155.5t-0.5 183z" />
95
- <glyph unicode="t" horiz-adv-x="616" d="M0 410v142q60 20 101 55q41 33 67 86q26 51 35 127h143v-253h237v-157h-237v-256q0 -86 9 -112q9 -24 34 -39q34 -20 76 -20q77 0 151 49v-157q-63 -31 -116 -43q-52 -12 -112 -12q-68 0 -122 17q-55 19 -89 50q-36 31 -52 68q-14 34 -14 105v350h-111z" />
96
- <glyph unicode="u" horiz-adv-x="916" d="M2 455q4 36 15.5 63t25.5 40t28 21t23 9l9 2h8q43 0 77 -36q38 -40 41 -78q3 -16 3 -33v-6q0 -20 -5.5 -53t-28 -57.5t-59.5 -32.5q-13 -3 -26 -3q-23 0 -43 10q-30 15 -45 43t-21 58q-4 17 -4 32q0 11 2 21zM66 -32q-4 18 -4 36q0 28 10 55q16 44 38.5 68t48.5 45l26 21 q2 2 26.5 22.5t53.5 51.5t49 66q18 31 50 53q33 22 72 28q9 1 17 1q31 0 66 -18q44 -23 79 -77q8 -12 23.5 -31.5t66.5 -72t106 -95.5q26 -20 39.5 -49.5t13.5 -57t-4 -52t-9 -39.5l-6 -15q-2 -6 -7.5 -15t-27.5 -29t-50 -31.5t-79 -11.5t-112 20q-36 12 -79 13h-14 q-33 0 -55 -4l-25 -4q-10 -2 -27 -5q-18 -3 -66 -8q-24 -2 -44 -2.5t-36 2.5h-3q-46 0 -80 33q-35 34 -46 68zM208 72q-2 -14 -2 -27q0 -32 12 -61q22 -43 79 -55h127v307l-57 1v-83h-68q-30 0 -53 -20.5t-30 -41.5zM232 666q0 64 31.5 109t76.5 45t76.5 -45t31.5 -109 t-31.5 -109t-76.5 -45t-76.5 45t-31.5 109zM268 23q-2 8 -2 16q0 14 6 31q10 26 39 35h55v-125h-51q-16 0 -27.5 10.5t-15.5 21.5zM455 -15q0 -18 15 -31.5t30 -18.5l15 -5h146v217h-63v-163h-60q-9 1 -14.5 6t-7.5 9l-1 4v145l-60 -1v-162zM508 657q5 48 49 97q37 41 72 41 q6 0 13 -1q43 -10 74 -58q25 -39 25 -77q0 -9 -1 -18q-9 -55 -48 -101q-34 -39 -80 -40q-7 0 -14 1q-56 8 -76 51q-15 32 -16 75q0 14 2 30zM686 367q0 150 108 150q34 0 59.5 -14.5t38 -36t18.5 -40.5t6 -33v-14v-11v-9q0 -7 -1 -22.5t-4 -25.5t-7.5 -24t-13 -23.5 t-19 -18.5t-26.5 -13.5t-35 -4.5h-6q-38 0 -63 11q-27 12 -38 36.5t-14 44t-3 48.5z" />
97
- <glyph unicode="v" horiz-adv-x="1011" d="M0 -21v678q0 66 43 114.5t108 48.5h697q70 0 116.5 -37.5t46.5 -106.5v-59q-74 14 -111 20q-53 7 -54 7q-10 3 -29.5 10t-34 10.5t-32.5 3.5q-62 0 -132 -47q-34 -3 -95.5 -7t-112 -9t-95.5 -14h-1h-1l-1 -1h-1h-1h-1h-1l-1 -1h-1q-72 -14 -87 -26q-18 -15 -20 -71v-39 v-126l-3 -18l526 -13l80 27q-44 -79 -70 -132l-106 -47l-406 -7q-3 -3 -10 -3.5t-11 -4.5q4 -26 7 -39q12 -52 112 -59q206 -13 335 -13q38 0 120 20t127 20q65 0 111 -29v-54q0 -155 -154 -155h-723q-61 0 -97.5 48t-36.5 111zM690 525q0 14 10 24.5t24 10.5t24.5 -10.5 t10.5 -24.5t-10.5 -24t-24.5 -10t-24 10t-10 24z" />
98
- <glyph unicode="w" d="M0 319q0 136 67 251t182 182t251 67t251 -67t182 -182t67 -251t-67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251zM39 319q0 -135 71.5 -247t188.5 -168l-220 603q-40 -89 -40 -188zM114 572h30q48 0 123 6q12 1 17.5 -8t1.5 -19t-16 -11l-53 -5l168 -499l101 302 l-72 197q-24 3 -48 5q-12 1 -16 11t1.5 19t17.5 8l121 -6q49 0 123 6q12 1 17.5 -8t1.5 -19t-16 -11l-52 -5l166 -496l46 154q36 117 36 149q0 64 -39 128q-2 3 -12.5 21t-13.5 23.5t-9 19t-8 23.5t-2 21q0 33 22.5 57.5t55.5 24.5q1 0 3 -0.5t3 -0.5q-131 121 -312 121 q-119 0 -221 -56t-165 -152zM370 -124q62 -18 130 -18q80 0 153 26l-3 6l-142 389zM732 -80q105 61 167 167.5t62 231.5q0 120 -56 221q3 -21 3 -47q0 -63 -35 -165z" />
99
- <glyph unicode="x" horiz-adv-x="1002" d="M0 320q0 -176 109 -312q-9 25 -9 56q0 32 10 68q20 72 61.5 139.5t86 127.5t78.5 96l33 36q-147 91 -234 130q-135 -145 -135 -341zM139 -25q23 68 68.5 139t94 124t94 96.5t74.5 65.5l29 23q13 -9 34 -26t77.5 -68t102.5 -102t90.5 -121t59.5 -131q-70 -73 -164 -114 t-198 -41q-105 0 -198.5 41t-163.5 114zM176 700q139 120 325 120q185 0 324 -120q-35 20 -81 20t-87 -14.5t-77 -31.5t-58 -32l-21 -14h-1q-8 6 -22.5 15.5t-55.5 30.5t-79 33.5t-85 12.5q-1 0 -2 1q-46 0 -80 -21zM632 531q148 91 235 130q135 -145 135 -341 q0 -176 -110 -312q9 26 9 56q1 30 -9 68q-20 72 -62 139.5t-86.5 127.5t-77.5 96z" />
100
- <glyph unicode="y" horiz-adv-x="749" d="M4 231v-13q0 -43 6 -69q5 -18 19 -25.5t29 -2.5l204 63q22 7 31 26q5 10 5 20t-5 19q-9 19 -32 26l-204 82q-14 3 -27.5 -7.5t-16.5 -30.5q-8 -36 -9 -88zM91 708q-5 8 -5 16q0 9 6 18q12 17 38 27q81 31 171 46h5q45 0 49 -38q25 -313 25 -393q0 -33 -27 -40 q-6 -2 -12 -2q-21 0 -37 25q-148 232 -213 341zM160 -57l139 166q19 21 38 21q8 0 16 -3q25 -11 25 -45q0 -5 -1 -10v-221q-2 -14 -17 -22q-9 -5 -18 -5q-8 0 -16 3q-36 6 -85 25.5t-73 37.5q-18 14 -18 30q0 11 10 23zM454 280q-6 12 -6 23q0 17 15 33l130 179q7 8 20 8 q3 0 7 -1q17 -2 29 -18q25 -26 53 -70.5t37 -73.5q3 -8 3 -15q0 -9 -4 -16q-8 -13 -23 -16l-209 -53q-8 -2 -16 -2q-23 0 -36 22zM466 155q-9 -12 -9 -24q0 -16 13 -32l114 -190q7 -9 24 -9h3q19 1 33 15q27 24 55.5 62.5t41.5 69.5q4 11 4 21q0 7 -3 13q-5 14 -19 19 l-205 70q-10 4 -19 4q-21 0 -33 -19z" />
101
- <glyph unicode="z" horiz-adv-x="722" d="M0 46v13v82q0 6 2.5 12t4.5 9l2 2q65 77 195 230.5t195 230.5q-57 -11 -103 -14q-23 -2 -41 -1q-17 0 -31 1q-26 3 -46.5 10t-28.5 13.5t-12 12.5q-1 0 -1 1q-1 2 -2 3q-4 9 -4 24q0 7 1 15q5 49 49 110q2 2 6 6.5t6 7.5q5 5 12 5q6 0 15 -4q18 -10 20 -10 q55 -22 148 -26q22 -1 44 -1q107 0 222 24q9 2 13.5 -1.5t4.5 -8.5v-5q-1 -14 -4 -42.5t-5 -42.5q0 -4 -5 -9l-13 -13l-8 -7q-8 -9 -161 -188q-126 -146 -190 -219q-20 -24 -60 -70q-11 -13 -13 -18.5t-2 -23.5h7q65 0 144 -49q45 -29 86 -51t59 -29l19 -7q45 -12 83 -12 q65 0 110 35q5 -22 5 -45q0 -27 -7 -56q-12 -53 -50 -90q-32 -31 -77 -31q-8 0 -17 1q-64 8 -166 67q-23 13 -72.5 51t-78.5 53q-48 24 -95 31t-117 7h-31q-8 0 -12 17z" />
102
- <glyph unicode="{" horiz-adv-x="1233" d="M-63 548q174 33 208 71q27 30 45 91q18 -23 23 -48.5t1 -39.5l-5 -13q-6 -13 -10.5 -21t-7.5 -13.5t-9.5 -11t-10 -8.5t-16 -11t-20.5 -14q-35 -27 -33.5 -62.5t30.5 -54.5q26 -16 50.5 6t52.5 78q12 25 18.5 66t19.5 73t47 59q20 16 45.5 19t50 1t51.5 0t60 23.5 t67 64.5q5 6 14 15.5t38 29t59 28t74 -1t86 -44.5q-48 21 -90 21t-67.5 -15t-43.5 -33t-26 -33l-7 -15q-15 -37 -28.5 -61.5t-23.5 -38.5t-25 -22.5t-24 -11.5t-32 -8.5t-38 -9.5q-43 -13 -50 -54q-6 -36 22 -53q32 -18 82 14q37 24 59.5 49.5t30.5 44t27.5 39.5t51.5 37 q43 21 82 28.5t83 8t67 3.5q197 32 246 114q48 79 49 130q17 -58 11.5 -104t-26.5 -80.5t-44 -57t-41 -33.5l-18 -11q-77 -40 -128.5 -55.5t-83.5 -21t-62 -21.5q-103 -55 -52 -155q21 -41 61.5 -44.5t77.5 29.5q6 5 14 14t22.5 39t15.5 61q20 -56 15.5 -96.5t-20.5 -63.5 l-15 -22q-36 -38 -60.5 -53.5t-63 -18.5t-89.5 15q-86 21 -119.5 20.5t-61.5 -17.5q-28 -16 -43 -42.5t-2 -48.5q14 -25 34 -27.5t64 21.5q39 23 66 29.5t68 8.5q87 2 139 -38q37 -24 74 -57q-40 24 -79 30.5t-66 -1t-48.5 -18t-31.5 -21.5l-10 -10q-45 -51 -75.5 -72 t-53 -20.5t-58.5 14.5q-10 4 -39.5 17t-41.5 16v110q0 121 -92 186q-59 40 -134 40q-76 0 -134 -39q-20 29 -51 33v75q0 31 -21.5 52.5t-52.5 21.5h-18zM64 -16v162q0 65 19 99q40 71 134 71q69 0 110.5 -43.5t41.5 -109.5v-135h-202v-67q0 -48 50 -48q45 0 50 49h102 q0 -62 -41 -105q-43 -43 -111 -43q-94 0 -134 71q-19 34 -19 99zM167 105h100v56q0 56 -50 56t-50 -56v-56zM429 -94q11 36 11 71q0 11 -3 20q24 -4 34 -5q62 -6 85 -46q2 -3 4.5 -9t7 -23t-0.5 -31q-31 24 -65.5 30t-53.5 -1z" />
103
- <glyph unicode="|" horiz-adv-x="851" d="M2 -56q3 31 12 66q11 45 72 350.5t71 349.5q12 52 24 72.5t39 29.5t87 9h241q59 0 135 -1t116 -1q41 0 50 -45q10 -48 -23 -92q-30 -40 -81 -40h-401l-50 -233l352 -3q44 0 54 -45t-21 -84q-27 -33 -70 -33h-360l-48 -248h432q64 0 76.5 -43.5t-17 -87.5t-67.5 -44h-553 q-30 0 -47.5 17t-21.5 46t-1 60z" />
104
- <glyph unicode="}" horiz-adv-x="868" d="M0 108q0 44 31.5 76t76.5 32q44 0 76 -32t32 -76q0 -46 -34 -78q65 -74 163 -74q69 0 116 41q47 42 47 106q0 39 -25 77q-23 38 -60 64q-34 23 -115 57q-75 30 -122 59q-42 27 -73 64q-30 36 -46 74q-14 39 -14 79q0 101 81 172q82 71 197 71q77 0 155 -33 q66 -28 113 -80q37 -32 37 -80q0 -45 -32 -76.5t-76 -31.5q-45 0 -76.5 31.5t-31.5 76.5q0 21 10 44q-32 16 -88 16q-69 0 -112 -31t-43 -80q0 -43 38 -76q40 -33 128 -71q92 -40 141 -73q51 -34 82 -74q33 -41 48 -85q0 -1 1 -3t1 -3q-75 -62 -75 -158q0 -53 28 -104 q-11 -13 -24 -27q-87 -82 -206 -82t-208 64t-139 194l3 1q-5 15 -5 29zM613 33q0 -52 36 -88.5t88 -36.5t88 36.5t36 88.5q0 51 -36 87.5t-88 36.5t-88 -36.5t-36 -87.5z" />
105
- <glyph unicode="~" horiz-adv-x="664" d="M0 805h100l8 -121h10l5 3q79 133 246 133q130 0 212.5 -98.5t82.5 -253.5q0 -93 -27 -166.5t-72.5 -117.5t-101 -67t-116.5 -23q-69 0 -125.5 28.5t-86.5 79.5l-2 3h-11l-3 -7v-378h-113v761q0 88 -6 224zM119 392q0 -31 6 -55q19 -70 74 -113t126 -43q101 0 162 76.5 t61 204.5q0 119 -61 194t-157 75q-72 0 -128 -45.5t-74 -117.5q-9 -33 -9 -53v-123z" />
106
- <glyph horiz-adv-x="951" />
107
- <glyph horiz-adv-x="973" />
108
- <glyph horiz-adv-x="1314" />
109
- <glyph unicode="&#xa3;" horiz-adv-x="669" d="M2 467q-11 151 126 252q63 47 145 70q78 23 175 11t181 -59q-2 -40 0 -76q6 -119 -10 -153q-9 1 -52 14q-36 11 -66 16q-31 6 -61 8q-70 6 -99 -38q8 -44 38 -66q30 -21 82 -37q49 -14 69 -26q113 -70 139 -219v-80v-5q0 -81 -44.5 -142.5t-118.5 -92.5 q-105 -44 -244.5 -38.5t-239.5 59.5q3 41 0 79q-3 42 -2 81q2 43 12 69q18 -3 48 -11q53 -15 74 -19q165 -36 177 40q3 22 -10.5 40.5t-34.5 29.5q-28 14 -48 22q-29 12 -37 17q-44 23 -59 32q-57 34 -80 68q-54 77 -60 154z" />
110
- <glyph unicode="&#xad;" horiz-adv-x="939" d="M-0.5 707q-0.5 11 6 20.5t13.5 16.5t23.5 15.5t27 13t33 14t34.5 14.5q54 22 97 16t54 -35q25 -67 102.5 -319.5t115.5 -361.5q268 88 326 105q16 6 37.5 4t32.5 -23q23 -47 32.5 -98.5t0.5 -74.5q-19 -15 -59.5 -32t-75.5 -29t-89.5 -29t-73.5 -23q-10 -3 -38 -13 t-53 -18.5t-58 -19t-61 -17.5t-54 -11.5t-44.5 -3.5t-25.5 9q-18 18 -32 52t-29 87t-19 66q-42 125 -113 338.5t-104 312.5q-6 13 -6.5 24z" />
111
- <glyph unicode="&#xc7;" horiz-adv-x="1294" d="M13 314v51q0 38 87 65t211 27t211 -27t87 -65v-51q-1 -38 -88 -64.5t-210 -26.5t-210 26.5t-88 64.5zM300 557v27q2 19 64 32.5t149 13.5t148.5 -13.5t63.5 -32.5h1v-27h-1q-2 -20 -63.5 -33.5t-148.5 -13.5t-149 13.5t-64 33.5zM511 63v59v5q4 56 117 94.5t271 38.5 t270.5 -38.5t116.5 -94.5v-4v-56v-4q-3 -55 -116 -94t-271 -39t-271 38.5t-117 94.5zM739 404v1v38v3q2 29 75.5 49t175.5 20t175.5 -20t75.5 -49v-2v-39v-1q0 -29 -73.5 -50t-177.5 -21t-177.5 21t-73.5 50z" />
112
- <glyph unicode="&#xc9;" horiz-adv-x="1129" d="M0 644q0 20 13 33t33 13h235q16 0 28.5 -9.5t16.5 -25.5l24 -98h674l7 21q10 32 43 32q9 0 13 -2q15 -4 24 -16t9 -27q0 -5 -2 -13l-118 -393q-4 -15 -16 -24t-27 -9h-559q-16 0 -28.5 10t-16.5 25l-108 438h-199q-19 0 -32.5 13t-13.5 32zM372 466l62 -248h489l2 9 l72 239h-625zM414 -18q0 38 27.5 65t65.5 27t65 -27t27 -65t-27 -65t-65 -27t-65.5 27t-27.5 65zM479 388h166v-92h-146zM724 296l1 92h162l-24 -92h-139zM761 -18q0 38 27.5 65t65.5 27t65 -27t27 -65t-27 -65t-65 -27t-65.5 27t-27.5 65z" />
113
- <glyph unicode="&#xd1;" horiz-adv-x="937" d="M5 -90v333l116 129h85v-64h-56l-80 -89v-245h795v245l-80 89h-56v64h85l115 -129v-333h-924zM206 229v79v64v187l151 151h372v-338v-64v-79h-523zM266 290h403v360h-252v-151h-151v-209z" />
114
- <glyph unicode="&#xd6;" horiz-adv-x="696" d="M-10 86q0 63 28 98q23 31 74 45q-16 40 -16 59q0 33 35 70q37 35 69 35q17 0 40 -9q-48 137 -69 208q-24 81 -24 115q0 48 24 75q25 28 67 28q72 0 173 -295l17 -49q6 15 12 33q100 292 180 292q40 0 63 -27q24 -27 24 -70q0 -28 -24 -113q-21 -73 -66 -200 q57 -14 82 -54q27 -43 27 -133q0 -178 -106 -291q-108 -113 -274 -113q-66 0 -127 24q-59 21 -107 66q-51 48 -76 99q-26 54 -26 107zM55 91q0 -25 14 -59q13 -32 39 -67q41 -53 97 -81q57 -28 129 -28q129 0 217 97q87 96 87 243q0 46 -6 71q-5 22 -19 34q-27 23 -106 40 q-79 18 -168 18q-22 0 -28 -6q-7 -3 -7 -20q0 -41 46 -58q50 -21 165 -21h28q16 0 23 -11q8 -8 11 -31q-17 -17 -55 -31q-36 -13 -53 -26q-40 -29 -64 -69q-23 -39 -23 -74q0 -21 10 -51q11 -33 11 -43v-6l-4 -15q-44 3 -64 41q-17 32 -19 82q-3 -1 -12 -1h-11q1 -5 1 -12 q0 -30 -23 -51t-54 -21q-47 0 -95 45q-48 46 -48 90q0 8 3 16q1 7 16 22q25 -31 34 -43q42 -59 76 -59q9 0 17 6q6 6 6 10q0 8 -12 29q-8 15 -37 53q-28 36 -45 50q-15 14 -22 14q-19 0 -37 -22t-18 -55zM145 282q0 -13 16 -45q14 -27 45 -68q31 -40 56 -62q24 -20 36 -20 q7 0 14 7q7 8 7 16q0 12 -18 58q-21 51 -46 92q-22 35 -39 49q-16 15 -31 15q-11 0 -25 -15q-15 -15 -15 -27zM190 714q0 -34 24 -107q22 -71 66 -190q10 6 28 6q1 0 6.5 -0.5t10.5 -0.5q4 0 26 -2l-69 200q-28 80 -44 104q-13 21 -26 21q-9 0 -15 -8q-7 -9 -7 -23zM356 204 q9 -23 19 -50q20 23 40 38q-5 1 -15 2.5t-15 2.5q-20 4 -29 7zM461 408l67 -12q45 124 69 199q25 81 25 96q0 16 -7 25q-4 7 -15 7q-14 0 -31 -27q-19 -29 -43 -101z" />
115
- <glyph unicode="&#xdc;" d="M0 -100v800q0 41 29.5 70.5t70.5 29.5h800q41 0 70.5 -29.5t29.5 -70.5v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-800q-41 0 -70.5 29.5t-29.5 70.5zM200 300q0 -124 88 -212t212 -88t212 88t88 212t-88 212t-212 88t-212 -88t-88 -212zM300 300q0 82 59 141t141 59t141 -59 t59 -141t-59 -141t-141 -59t-141 59t-59 141z" />
116
- <glyph unicode="&#xe0;" horiz-adv-x="617" d="M0 -43q0 76 57 112q29 19 54 29q114 49 122 54q-21 31 -54 68q-51 60 -60 71q-109 132 -94 247q7 55 42 91q13 14 42 32q37 21 45 25q5 2 22.5 9.5t29.5 12.5l47 21l69 30q58 25 86 40q20 11 25 -6q0 -11 -27 -25q-61 -40 -64 -114q-1 -29 5 -57.5t12.5 -47t25.5 -46 t27 -37.5t34.5 -40t31.5 -36q6 -7 29 -32.5t33 -37.5t28 -38t26 -46t15.5 -48.5t7.5 -58.5q0 -38 -13 -68q-12 -32 -28.5 -51.5t-47.5 -39.5q-35 -21 -53 -30q-23 -12 -61 -27q-16 -6 -35.5 -15t-22.5 -10l-89 -39l-36 -18q-32 -16 -50 -21q-85 -21 -133 24t-48 123z" />
117
- <glyph unicode="&#xe1;" horiz-adv-x="1126" d="M0.5 367.5q9.5 158.5 74.5 265.5q49 80 95.5 113.5t138.5 49.5q30 5 57 5.5t50.5 -4t44 -11.5t39 -20t33.5 -25.5t30 -31.5t26.5 -34.5t24 -38.5t21 -39.5t20.5 -40.5q7 -14 14 -30t15 -35.5t13 -30.5q8 48 56.5 188t67.5 145q91 21 145 0q4 -2 9 -8t7 -8 q-1 -18 -6 -38.5t-8.5 -32.5t-13 -36.5t-11.5 -30.5l-160 -439q-7 -34 18.5 -90t67.5 -93t74 -22q10 5 18 21t14 21q18 15 71 15.5t67 -18.5q16 -29 11 -62.5t-31 -66t-59.5 -57t-74 -36.5t-73.5 -5q-29 6 -54 18.5t-41 25.5t-34 36.5t-27.5 38.5t-27 45t-25.5 44 q-4 -2 -6 -4q-24 -58 -81 -106.5t-127 -75t-150 -19.5t-145 54q-85 62 -131 203.5t-36.5 300zM153 380q-13 -108 9 -211t73 -141q28 -21 56 -30.5t51.5 -11.5t49 9.5t43 21t41 35t35.5 39.5t33 46t27.5 43t24.5 42q5 9 8 14q-38 161 -64 223q-73 173 -202 155 q-56 -8 -81 -22t-50 -49q-41 -55 -54 -163z" />
118
- <glyph unicode="&#xe2;" horiz-adv-x="1078" d="M0 386.5q0 121.5 93 209.5q58 55 133.5 75t153 -1.5t137.5 -84.5q44 -46 62.5 -107t15 -115.5t-23.5 -102.5q-19 -41 -3 -93t40 -88.5t50.5 -68.5t26.5 -33l-11 9q-10 10 -21.5 20.5t-31 25.5t-38 27t-42.5 25t-45 18.5t-44.5 7.5t-42.5 -7q-47 -19 -103.5 -20t-117 22 t-102.5 69q-86 91 -86 212.5zM132 406q-9 -69 33.5 -124.5t111.5 -64.5t124 33.5t64 111.5t-33 124t-111 64t-124.5 -33t-64.5 -111zM610 700q21 59 74 87.5t113 8.5q58 -18 86.5 -72t8.5 -116q-24 -72 -114 -104q-31 -11 -55.5 -33.5t-34.5 -38t-23 -40.5q22 94 -24 159 q-55 80 -31 149zM648 205q2 92 63 155t152 63q89 0 152 -61.5t63 -156.5q0 -110 -110 -195q-38 -29 -62 -71t-30.5 -68t-12.5 -67q-4 40 -10 67t-30 69.5t-65 73.5q-111 83 -110 191zM686 677q-11 -27 0.5 -54.5t38.5 -38.5t54 0t38 38q11 28 0 55t-38 38t-54.5 0t-38.5 -38 zM752.5 162.5q18.5 -45.5 65.5 -65.5q46 -19 92 0.5t65 65.5t0 91.5t-65 65.5q-46 19 -92 0t-65 -65q-19 -47 -0.5 -92.5z" />
119
- <glyph unicode="&#xe3;" horiz-adv-x="999" d="M0 -154q0 51 61 106.5t123 88.5l15 -22q-44 -32 -90.5 -82.5t-58.5 -89.5q87 27 265 379q65 131 103 261q-33 107 -33 202q0 115 47 115q23 0 34 -2t20.5 -13t9.5 -34q0 -15 -3 -28l-27 1q-2 26 -17 41q-12 -20 -12 -69q0 -38 9 -94q3 18 8.5 53.5t9.5 53.5l26 -3 q-2 -152 -14 -218q36 -107 86.5 -174t142.5 -119q68 7 116 7q178 0 178 -70q0 -11 -5 -24l-3 1q-5 -42 -67 -42q-104 0 -240 72q-220 -22 -389 -82q-147 -257 -235 -257q-7 0 -14 2t-12.5 4.5t-13.5 7t-12 6.5q-8 8 -8 22zM318 101q134 54 298 85q-103 73 -164 209 q-36 -121 -134 -294zM804 151q90 -35 142 -35q15 0 22 3q0 32 -145 32h-19z" />
120
- <glyph unicode="&#xe4;" horiz-adv-x="875" d="M0 236q0 70 21 133t48.5 103t64.5 74.5t57 48t38 23.5q10 5 29.5 15t30.5 16t28.5 17t34.5 25q42 34 50 113q73 -88 106 -110q25 -17 73.5 -39t73.5 -37q19 -11 36 -23.5t54 -48.5t62.5 -76t46.5 -105t21 -137q0 -186 -127.5 -305t-306.5 -119q-116 0 -216.5 55.5 t-162.5 155.5t-62 221zM190 85q-2 -63 42 -93q31 -21 94 -21q41 0 97.5 29.5t105 58.5t70.5 28q23 -1 77.5 -56t70.5 -56q20 -1 33.5 8.5t31.5 35.5q33 49 33 117q0 29 -15 54.5t-47 25.5q-22 0 -92 -47t-94 -48q-22 0 -61 27.5t-88.5 55.5t-98.5 28q-65 -1 -111.5 -45 t-47.5 -102zM395 -95q-12 -10 0 -20q46 -42 165 -31q23 2 47.5 11.5t37 17.5t16.5 12t4 16q-3 12 -14 3q-41 -32 -124 -32q-75 0 -110 28q-3 2 -8 2t-14 -7zM485 -43q7 -8 28 11q2 1 8 6t8 6.5t8 5t10 4.5t11.5 2t15.5 1q16 0 26 -4.5t12.5 -8t7.5 -12.5q5 -10 7.5 -11.5 t7.5 0.5q12 7 7 20q-9 26 -22 34q-12 9 -43 9q-26 0 -41 -6q-17 -7 -44 -32q-15 -12 -7 -25z" />
121
- <glyph unicode="&#xe5;" horiz-adv-x="979" d="M0 42q11 15 31.5 25.5t49 20t40.5 15.5q19 0 33.5 -4.5t33.5 -15t25 -12.5q47 -21 260 -119q19 -4 35.5 0t39.5 17.5t24 14.5q20 9 76.5 34.5t87.5 39.5q4 2 41.5 21t60.5 24q13 2 27.5 -1t23.5 -7.5t23 -13t18 -10.5t15.5 -6t18.5 -8t11 -11q3 -4 4 -14q-10 -13 -31 -24 t-51 -22t-40 -16q-43 -20 -128.5 -61.5t-128.5 -61.5q-7 -3 -21 -11.5t-23.5 -13t-25.5 -11t-27.5 -7t-29.5 1.5l-264 123q-6 3 -32 14t-51.5 22t-53.5 24t-46.5 23.5t-21.5 16.5q-4 4 -4 13zM0 310q11 15 31.5 25t50 20t41.5 15q19 0 34 -4.5t34.5 -15t25.5 -13.5 q42 -19 126.5 -58t127.5 -59q19 -5 37 -0.5t39 17t25 14.5q68 32 160 72q11 5 31.5 16.5t38.5 19.5t36 11q16 3 31.5 -1t37.5 -17t23 -13q5 -3 15.5 -6.5t18 -8t11.5 -10.5q3 -5 4 -14q-10 -14 -31.5 -25.5t-52.5 -22.5t-41 -16q-48 -23 -135.5 -65t-122.5 -59 q-7 -3 -26 -14t-29 -15t-32.5 -10t-35.5 0q-214 101 -260 122q-6 3 -44 19t-69.5 30t-61.5 29.5t-34 22.5q-4 4 -4 14zM0 577q10 15 31.5 26.5t52.5 22.5t41 16l348 162q30 0 53.5 -7t56.5 -26t40 -22q39 -18 117 -54.5t117 -54.5q4 -2 36.5 -15t54.5 -24t27 -20q3 -4 4 -13 q-9 -13 -26 -22.5t-43.5 -19t-34.5 -13.5q-47 -22 -140 -66.5t-139 -66.5q-6 -3 -20 -11t-23 -12.5t-25 -10.5t-27 -6t-28 1q-245 114 -256 119q-4 2 -63 27.5t-102 46.5t-48 30q-4 4 -4 13z" />
122
- <glyph unicode="&#xe7;" horiz-adv-x="1137" d="M2.5 474q-7.5 215 11.5 270q4 9 9.5 15.5t14 12.5t13.5 9.5t17.5 10t16.5 8.5q136 0 386 2t329 2h40h54t55 -0.5t56.5 -2.5t45 -6t32.5 -10q16 -9 27 -24t16.5 -29.5t7.5 -40t2 -42t-0.5 -50t-0.5 -49.5q0 -207 -23 -327t-96 -213q-70 -88 -164.5 -139.5t-193 -62.5 t-200 11t-186.5 73.5t-151 133t-96 181.5q-15 52 -22.5 267zM234 476q-26 -28 15 -89.5t104 -123.5q2 -2 39.5 -40t53.5 -52t47 -35.5t57 -28.5q11 -3 22.5 -3t19.5 1t19.5 6.5t16 7.5t15.5 11.5t12 10.5t12 11l3 3q9 9 60.5 56t86 80.5t67.5 79t35 75.5q-15 40 -38 56 t-50.5 8.5t-56 -26t-59 -48t-56 -56t-49.5 -51t-37 -32.5q-27 16 -72.5 59.5t-82 82t-73.5 64t-55 14.5q-25 -15 -56 -41z" />
123
- <glyph unicode="&#xe8;" d="M0 326q0 102 40 194q79 186 265 265q92 40 194 40t194 -40q184 -78 265 -265q40 -95 40 -194t-40 -194q-81 -188 -265 -267q-92 -40 -194 -40t-194 40q-186 80 -265 267q-40 92 -40 194zM78 326q0 -141 84 -252q83 -109 217 -155v80q0 60 40 87q-20 1 -47 7q-51 9 -87 32 q-91 55 -91 199q0 75 50 128q-23 59 5 128h20q10 0 25 -5q39 -12 87 -44q61 16 120 16t121 -16q39 26 73 40q32 12 46 10l12 -1q27 -69 5 -128q50 -53 50 -128q0 -112 -55 -169q-30 -32 -79 -50q-41 -15 -91 -19q41 -29 41 -87v-80q129 46 213 157q82 110 82 250 q0 85 -33 164q-32 76 -90 134q-56 56 -134 89q-80 34 -163 34q-82 0 -164 -34q-75 -32 -134 -89q-56 -58 -90 -134q-33 -79 -33 -164z" />
124
- <glyph unicode="&#xe9;" horiz-adv-x="866" d="M0 660q0 60 127 102t306 42q180 0 306.5 -42t126.5 -102q0 -12 -72 -440q-9 -46 -111 -89t-250 -43t-250 43t-110 89q-73 414 -73 440zM107 79v4q0 17 15 17q6 0 12 -5q47 -37 122 -58t126 -23l51 -3q8 0 21.5 0.5t52.5 5t74.5 12.5t78.5 25t73 41l11 5q16 0 16 -17 q0 -2 -1 -4q-22 -121 -30 -161q-11 -49 -96 -81.5t-200 -32.5t-200 32.5t-95 81.5q-19 95 -31 161zM156 675q0 -24 81.5 -41.5t195.5 -17.5q115 0 196.5 17t81.5 41q0 25 -81.5 42.5t-196.5 17.5t-196 -17t-81 -42zM295 322q0 -57 40.5 -97.5t97.5 -40.5t97.5 40.5 t40.5 97.5t-40.5 97.5t-97.5 40.5t-97.5 -40.5t-40.5 -97.5zM364 322q0 -28 20 -48.5t49 -20.5t49 20.5t20 48.5t-20 48.5t-49 20.5t-49 -20.5t-20 -48.5z" />
125
- <glyph unicode="&#xea;" horiz-adv-x="1272" d="M0 95h24q-7 14 -7 34q0 65 45.5 185.5t87.5 183.5q32 49 84 49q45 0 45 -34q0 -52 -72 -199h82q20 62 53 126q34 68 73 91t116 23q29 0 56.5 -14t27.5 -40t-13 -42t-37.5 -22.5t-43.5 -8.5t-46 -2h-9q-15 -22 -28 -58q18 3 37 3q64 0 64 -38q0 -9 -3 -18h19h-19 q-16 -59 -88 -59q-23 0 -50 5q-16 -48 -21 -73q52 10 77 10t43 -11.5t18 -35.5q0 -34 -23.5 -57t-53.5 -31t-64 -8q-65 0 -96 41h-19h19q-20 24 -20 62q0 23 3 45q8 50 28 112h-82q-9 -19 -26 -55.5t-25 -54.5h-1l-7 -14q22 2 34 2q59 0 59 -40q0 -51 -39 -73.5t-93 -22.5 q-65 0 -85 39h-24zM538 173q0 38 15.5 95t33.5 99q19 45 36 74t43 56.5t60.5 41t80.5 13.5q50 0 87 -19.5t37 -64.5q0 -38 -21 -68.5t-57 -30.5q-52 0 -52 33q0 6 3.5 17.5t3.5 18.5q0 13 -22 13q-17 0 -32.5 -14t-29 -43.5t-18 -40.5t-14.5 -39h16h-16q-32 -84 -32 -119 q0 -29 28 -29q25 0 44 24.5t26 52.5q-42 2 -42 35q0 37 28 54t66 17q52 0 65 -35h37h-37q4 -11 4 -26q0 -50 -28.5 -106t-68.5 -87h40h-40q-53 -41 -120 -41q-68 0 -100 41h-17h17q-24 29 -24 78zM867 95h42q-18 26 -18 66q0 79 49 204q19 47 32.5 74t37 55.5t57 41.5 t78.5 13q120 0 120 -115q0 -50 -22 -120h36h-36q-15 -51 -41 -110h38h-38q-37 -77 -73 -109h36h-36q-46 -41 -119 -41q-72 0 -101 41h-42zM1011 204h3q-6 -35 22 -35q23 0 43 38h-2q17 36 45 115.5t28 102.5q0 24 -21 24q-20 0 -33 -16q-18 -26 -52 -119h37h-37 q-25 -67 -33 -110z" />
126
- <glyph unicode="&#xeb;" d="M0 304q0 136 67 251t182 182t251 67t251 -67t182 -182t67 -251t-67 -251t-182 -182t-251 -67t-251 67t-182 182t-67 251zM208 -15q0 -26 26 -26h176q28 0 28 26v48q0 26 -28 26h-29v460h29q28 0 28 26v48q0 26 -28 26h-176q-26 0 -26 -26v-48q0 -26 26 -26h31v-460h-31 q-26 0 -26 -26v-48zM485 -19q0 -24 24 -24h59q22 0 22 24v257q0 103 79 103q42 0 42 -51v-309q0 -24 22 -24h61q21 0 21 24v333q0 122 -110 122q-67 0 -122 -64l-7 36q-4 22 -24 22h-43q-24 0 -24 -25v-424z" />
127
- <glyph unicode="&#xec;" horiz-adv-x="784" d="M0 -196v417l76 -1l-3 -335h501v334h79v-415h-653zM123 23h392v-83h-392v83zM124 88l8 85l393 -38l-8 -85zM145 261l23 82l380 -107l-24 -82zM216 462l44 73l338 -204l-45 -73zM383 667l69 50l230 -321l-70 -50zM635 790l84 14l65 -389l-84 -14z" />
128
- <glyph unicode="&#xed;" horiz-adv-x="917" d="M0 804h161l197 -301q49 -75 102 -170q48 85 109 177l194 294h154l-399 -576v-424h-133v424z" />
129
- <glyph unicode="&#xee;" horiz-adv-x="1200" d="M0 289v34q0 113 84 197t215 84q136 0 247 -112q21 -20 54 -62l96 -126q39 -52 52 -65q74 -74 147 -74q59 0 96 40q33 33 38 85q1 5 1 14q0 22 -6 41q-9 31 -33 57q0 1 -1 1q-38 40 -95 40q-78 0 -147 -74l-85 111h1h-1q-6 8 -10 13q55 60 113 85.5t134 25.5 q124 0 214 -84h1l1 -1q83 -83 83 -215q0 -30 -5 -63q-16 -89 -79 -153q-61 -62 -150 -79q-33 -5 -62 -5q-140 0 -248 109q-23 23 -56 67l-96 124q-39 52 -52 65q-74 74 -149 74q-22 0 -40 -6q-29 -8 -55 -34q-29 -32 -36 -71q-3 -14 -3 -28q0 -57 37 -97l2 -2q39 -40 97 -40 q79 0 147 75l84 -110l9 -12q-57 -61 -115 -87t-130 -26q-131 0 -216 83v1q-63 63 -78 153q-5 25 -5 47z" />
130
- <glyph unicode="&#x2000;" horiz-adv-x="482" />
131
- <glyph unicode="&#x2001;" horiz-adv-x="964" />
132
- <glyph unicode="&#x2002;" horiz-adv-x="482" />
133
- <glyph unicode="&#x2003;" horiz-adv-x="964" />
134
- <glyph unicode="&#x2004;" horiz-adv-x="321" />
135
- <glyph unicode="&#x2005;" horiz-adv-x="241" />
136
- <glyph unicode="&#x2006;" horiz-adv-x="160" />
137
- <glyph unicode="&#x2007;" horiz-adv-x="160" />
138
- <glyph unicode="&#x2008;" horiz-adv-x="120" />
139
- <glyph unicode="&#x2009;" horiz-adv-x="192" />
140
- <glyph unicode="&#x200a;" horiz-adv-x="53" />
141
- <glyph unicode="&#x2010;" horiz-adv-x="939" d="M-0.5 707q-0.5 11 6 20.5t13.5 16.5t23.5 15.5t27 13t33 14t34.5 14.5q54 22 97 16t54 -35q25 -67 102.5 -319.5t115.5 -361.5q268 88 326 105q16 6 37.5 4t32.5 -23q23 -47 32.5 -98.5t0.5 -74.5q-19 -15 -59.5 -32t-75.5 -29t-89.5 -29t-73.5 -23q-10 -3 -38 -13 t-53 -18.5t-58 -19t-61 -17.5t-54 -11.5t-44.5 -3.5t-25.5 9q-18 18 -32 52t-29 87t-19 66q-42 125 -113 338.5t-104 312.5q-6 13 -6.5 24z" />
142
- <glyph unicode="&#x2011;" horiz-adv-x="939" d="M-0.5 707q-0.5 11 6 20.5t13.5 16.5t23.5 15.5t27 13t33 14t34.5 14.5q54 22 97 16t54 -35q25 -67 102.5 -319.5t115.5 -361.5q268 88 326 105q16 6 37.5 4t32.5 -23q23 -47 32.5 -98.5t0.5 -74.5q-19 -15 -59.5 -32t-75.5 -29t-89.5 -29t-73.5 -23q-10 -3 -38 -13 t-53 -18.5t-58 -19t-61 -17.5t-54 -11.5t-44.5 -3.5t-25.5 9q-18 18 -32 52t-29 87t-19 66q-42 125 -113 338.5t-104 312.5q-6 13 -6.5 24z" />
143
- <glyph unicode="&#x2012;" horiz-adv-x="939" d="M-0.5 707q-0.5 11 6 20.5t13.5 16.5t23.5 15.5t27 13t33 14t34.5 14.5q54 22 97 16t54 -35q25 -67 102.5 -319.5t115.5 -361.5q268 88 326 105q16 6 37.5 4t32.5 -23q23 -47 32.5 -98.5t0.5 -74.5q-19 -15 -59.5 -32t-75.5 -29t-89.5 -29t-73.5 -23q-10 -3 -38 -13 t-53 -18.5t-58 -19t-61 -17.5t-54 -11.5t-44.5 -3.5t-25.5 9q-18 18 -32 52t-29 87t-19 66q-42 125 -113 338.5t-104 312.5q-6 13 -6.5 24z" />
144
- <glyph unicode="&#x2013;" horiz-adv-x="499" d="M0 707q0 11 3.5 20.5t7 16.5t12.5 15.5t14.5 13t17.5 14t18 14.5q29 22 52 16t28 -35q14 -67 55 -319.5t61 -361.5q143 88 174 105q8 6 19.5 4t17.5 -23q12 -47 17 -98.5t1 -74.5q-10 -15 -32 -32t-40.5 -29t-47.5 -29t-39 -23q-5 -3 -20 -13t-28.5 -18.5t-31 -19 t-32 -17.5t-28.5 -11.5t-24 -3.5t-14 9q-9 18 -16.5 52t-15.5 87t-10 66q-22 125 -60 338.5t-56 312.5q-3 13 -3 24z" />
145
- <glyph unicode="&#x2014;" d="M0.5 707q-0.5 11 6 20.5t14 16.5t25 15.5t29 13t35.5 14t36 14.5q58 22 103.5 16t57.5 -35q27 -67 109 -319.5t123 -361.5q285 88 347 105q17 6 40 4t34 -23q25 -47 35 -98.5t0 -74.5q-20 -15 -63 -32t-80.5 -29t-95 -29t-78.5 -23q-10 -3 -40 -13t-56.5 -18.5t-61.5 -19 t-65 -17.5t-57.5 -11.5t-47.5 -3.5t-27 9q-19 18 -34 52t-31 87t-20 66q-45 125 -120.5 338.5t-110.5 312.5q-6 13 -6.5 24z" />
146
- <glyph unicode="&#x202f;" horiz-adv-x="192" />
147
- <glyph unicode="&#x205f;" horiz-adv-x="241" />
148
- <glyph unicode="&#xe000;" horiz-adv-x="820" d="M0 0v820h820v-820h-820z" />
149
- <glyph horiz-adv-x="664" />
150
- </font>
151
- </defs></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/zocial/zocial-regular-webfont.ttf DELETED
Binary file
assets/css/zocial/zocial-regular-webfont.woff DELETED
Binary file
assets/css/zocial/zocial.css DELETED
@@ -1,473 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /*!
4
- Zocial Butons
5
- http://zocial.smcllns.com
6
- by Sam Collins (@smcllns)
7
- License: http://opensource.org/licenses/mit-license.php
8
-
9
- You are free to use and modify, as long as you keep this license comment intact or link back to zocial.smcllns.com on your site.
10
- */
11
-
12
-
13
- /* Button structure */
14
-
15
- .zocial,
16
- a.zocial {
17
- border: 1px solid #777;
18
- border-color: rgba(0,0,0,0.2);
19
- border-bottom-color: #333;
20
- border-bottom-color: rgba(0,0,0,0.4);
21
- color: #fff;
22
- -moz-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.4), inset 0 0 0.1em rgba(255,255,255,0.9);
23
- -webkit-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.4), inset 0 0 0.1em rgba(255,255,255,0.9);
24
- box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.4), inset 0 0 0.1em rgba(255,255,255,0.9);
25
- cursor: pointer;
26
- display: inline-block;
27
- font: bold 100%/2.1 "Lucida Grande", Tahoma, sans-serif;
28
- padding: 0 .95em 0 0;
29
- text-align: center;
30
- text-decoration: none;
31
- text-shadow: 0 1px 0 rgba(0,0,0,0.5);
32
- white-space: nowrap;
33
-
34
- -moz-user-select: none;
35
- -webkit-user-select: none;
36
- user-select: none;
37
-
38
- position: relative;
39
-
40
- -moz-border-radius: .3em;
41
- -webkit-border-radius: .3em;
42
- border-radius: .3em;
43
- }
44
-
45
- .zocial:before {
46
- content: "";
47
- border-right: 0.075em solid rgba(0,0,0,0.1);
48
- float: left;
49
- font: 120%/1.65 zocial;
50
- font-style: normal;
51
- font-weight: normal;
52
- margin: 0 0.5em 0 0;
53
- padding: 0 0.5em;
54
- text-align: center;
55
- text-decoration: none;
56
- text-transform: none;
57
-
58
- -moz-box-shadow: 0.075em 0 0 rgba(255,255,255,0.25);
59
- -webkit-box-shadow: 0.075em 0 0 rgba(255,255,255,0.25);
60
- box-shadow: 0.075em 0 0 rgba(255,255,255,0.25);
61
-
62
- -moz-font-smoothing: antialiased;
63
- -webkit-font-smoothing: antialiased;
64
- font-smoothing: antialiased;
65
- }
66
-
67
- .zocial:active {
68
- outline: none; /* outline is visible on :focus */
69
- }
70
-
71
- /* Buttons can be displayed as standalone icons by adding a class of "icon" */
72
-
73
- .zocial.icon {
74
- overflow: hidden;
75
- max-width: 2.4em;
76
- padding-left: 0;
77
- padding-right: 0;
78
- max-height: 2.15em;
79
- white-space: nowrap;
80
- }
81
- .zocial.icon:before {
82
- padding: 0;
83
- width: 2em;
84
- height: 2em;
85
-
86
- box-shadow: none;
87
- border: none;
88
- }
89
-
90
- /* Gradients */
91
-
92
- .zocial {
93
- background-image: -moz-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
94
- background-image: -ms-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
95
- background-image: -o-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
96
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.1)), color-stop(49%, rgba(255,255,255,.05)), color-stop(51%, rgba(0,0,0,.05)), to(rgba(0,0,0,.1)));
97
- background-image: -webkit-linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
98
- background-image: linear-gradient(rgba(255,255,255,.1), rgba(255,255,255,.05) 49%, rgba(0,0,0,.05) 51%, rgba(0,0,0,.1));
99
- }
100
-
101
- .zocial:hover, .zocial:focus {
102
- background-image: -moz-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
103
- background-image: -ms-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
104
- background-image: -o-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
105
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.15)), color-stop(49%, rgba(255,255,255,.15)), color-stop(51%, rgba(0,0,0,.1)), to(rgba(0,0,0,.15)));
106
- background-image: -webkit-linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
107
- background-image: linear-gradient(rgba(255,255,255,.15) 49%, rgba(0,0,0,.1) 51%, rgba(0,0,0,.15));
108
- }
109
-
110
- .zocial:active {
111
- background-image: -moz-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
112
- background-image: -ms-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
113
- background-image: -o-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
114
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.1)), color-stop(30%, rgba(255,255,255,0)), color-stop(50%, transparent), to(rgba(0,0,0,.1)));
115
- background-image: -webkit-linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
116
- background-image: linear-gradient(bottom, rgba(255,255,255,.1), rgba(255,255,255,0) 30%, transparent 50%, rgba(0,0,0,.1));
117
- }
118
-
119
- /* Adjustments for light background buttons */
120
-
121
- .zocial.acrobat,
122
- .zocial.bitcoin,
123
- .zocial.cloudapp,
124
- .zocial.dropbox,
125
- .zocial.email,
126
- .zocial.eventful,
127
- .zocial.github,
128
- .zocial.gmail,
129
- .zocial.instapaper,
130
- .zocial.itunes,
131
- .zocial.ninetyninedesigns,
132
- .zocial.openid,
133
- .zocial.plancast,
134
- .zocial.pocket,
135
- .zocial.posterous,
136
- .zocial.reddit,
137
- .zocial.secondary,
138
- .zocial.stackoverflow,
139
- .zocial.viadeo,
140
- .zocial.weibo,
141
- .zocial.wikipedia {
142
- border: 1px solid #aaa;
143
- border-color: rgba(0,0,0,0.3);
144
- border-bottom-color: #777;
145
- border-bottom-color: rgba(0,0,0,0.5);
146
- -moz-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.7), inset 0 0 0.08em rgba(255,255,255,0.5);
147
- -webkit-box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.7), inset 0 0 0.08em rgba(255,255,255,0.5);
148
- box-shadow: inset 0 0.08em 0 rgba(255,255,255,0.7), inset 0 0 0.08em rgba(255,255,255,0.5);
149
- text-shadow: 0 1px 0 rgba(255,255,255,0.8);
150
- }
151
-
152
- /* :hover adjustments for light background buttons */
153
-
154
- .zocial.acrobat:focus,
155
- .zocial.acrobat:hover,
156
- .zocial.bitcoin:focus,
157
- .zocial.bitcoin:hover,
158
- .zocial.dropbox:focus,
159
- .zocial.dropbox:hover,
160
- .zocial.email:focus,
161
- .zocial.email:hover,
162
- .zocial.eventful:focus,
163
- .zocial.eventful:hover,
164
- .zocial.github:focus,
165
- .zocial.github:hover,
166
- .zocial.gmail:focus,
167
- .zocial.gmail:hover,
168
- .zocial.instapaper:focus,
169
- .zocial.instapaper:hover,
170
- .zocial.itunes:focus,
171
- .zocial.itunes:hover,
172
- .zocial.ninetyninedesigns:focus,
173
- .zocial.ninetyninedesigns:hover,
174
- .zocial.openid:focus,
175
- .zocial.openid:hover,
176
- .zocial.plancast:focus,
177
- .zocial.plancast:hover,
178
- .zocial.pocket:focus,
179
- .zocial.pocket:hover,
180
- .zocial.posterous:focus,
181
- .zocial.posterous:hover,
182
- .zocial.reddit:focus,
183
- .zocial.reddit:hover,
184
- .zocial.secondary:focus,
185
- .zocial.secondary:hover,
186
- .zocial.stackoverflow:focus,
187
- .zocial.stackoverflow:hover,
188
- .zocial.twitter:focus,
189
- .zocial.viadeo:focus,
190
- .zocial.viadeo:hover,
191
- .zocial.weibo:focus,
192
- .zocial.weibo:hover,
193
- .zocial.wikipedia:focus,
194
- .zocial.wikipedia:hover {
195
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0.5)), color-stop(49%, rgba(255,255,255,0.2)), color-stop(51%, rgba(0,0,0,0.05)), to(rgba(0,0,0,0.15)));
196
- background-image: -moz-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
197
- background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
198
- background-image: -o-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
199
- background-image: -ms-linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
200
- background-image: linear-gradient(top, rgba(255,255,255,0.5), rgba(255,255,255,0.2) 49%, rgba(0,0,0,0.05) 51%, rgba(0,0,0,0.15));
201
- }
202
-
203
- /* :active adjustments for light background buttons */
204
-
205
- .zocial.acrobat:active,
206
- .zocial.bitcoin:active,
207
- .zocial.dropbox:active,
208
- .zocial.email:active,
209
- .zocial.eventful:active,
210
- .zocial.github:active,
211
- .zocial.gmail:active,
212
- .zocial.instapaper:active,
213
- .zocial.itunes:active,
214
- .zocial.ninetyninedesigns:active,
215
- .zocial.openid:active,
216
- .zocial.plancast:active,
217
- .zocial.pocket:active,
218
- .zocial.posterous:active,
219
- .zocial.reddit:active,
220
- .zocial.secondary:active,
221
- .zocial.stackoverflow:active,
222
- .zocial.viadeo:active,
223
- .zocial.weibo:active,
224
- .zocial.wikipedia:active {
225
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)), color-stop(30%, rgba(255,255,255,0)), color-stop(50%, rgba(0,0,0,0)), to(rgba(0,0,0,0.1)));
226
- background-image: -moz-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
227
- background-image: -webkit-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
228
- background-image: -o-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
229
- background-image: -ms-linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
230
- background-image: linear-gradient(bottom, rgba(255,255,255,0), rgba(255,255,255,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.1));
231
- }
232
-
233
- /* Button icon and color */
234
- /* Icon characters are stored in unicode private area */
235
- .zocial.acrobat:before {content: "\00E3"; color: #FB0000;}
236
- .zocial.amazon:before {content: "a";}
237
- .zocial.android:before {content: "&";}
238
- .zocial.angellist:before {content: "\00D6";}
239
- .zocial.aol:before {content: "\"";}
240
- .zocial.appnet:before {content: "\00E1";}
241
- .zocial.appstore:before {content: "A";}
242
- .zocial.bitbucket:before {content: "\00E9";}
243
- .zocial.bitcoin:before {content: "2"; color: #f7931a;}
244
- .zocial.blogger:before {content: "B";}
245
- .zocial.buffer:before {content: "\00E5";}
246
- .zocial.call:before {content: "7";}
247
- .zocial.cal:before {content: ".";}
248
- .zocial.cart:before {content: "\00C9";}
249
- .zocial.chrome:before {content: "[";}
250
- .zocial.cloudapp:before {content: "c";}
251
- .zocial.creativecommons:before {content: "C";}
252
- .zocial.delicious:before {content: "#";}
253
- .zocial.digg:before {content: ";";}
254
- .zocial.disqus:before {content: "Q";}
255
- .zocial.dribbble:before {content: "D";}
256
- .zocial.dropbox:before {content: "d"; color: #1f75cc;}
257
- .zocial.drupal:before {content: "\00E4"; color: #fff;}
258
- .zocial.dwolla:before {content: "\00E0";}
259
- .zocial.email:before {content: "]"; color: #312c2a;}
260
- .zocial.eventasaurus:before {content: "v"; color: #9de428;}
261
- .zocial.eventbrite:before {content: "|";}
262
- .zocial.eventful:before {content: "'"; color: #0066CC;}
263
- .zocial.evernote:before {content: "E";}
264
- .zocial.facebook:before {content: "f";}
265
- .zocial.fivehundredpx:before {content: "0"; color: #29b6ff;}
266
- .zocial.flattr:before {content: "%";}
267
- .zocial.flickr:before {content: "F";}
268
- .zocial.forrst:before {content: ":"; color: #50894f;}
269
- .zocial.foursquare:before {content: "4";}
270
- .zocial.github:before {content: "\00E8";}
271
- .zocial.gmail:before {content: "m"; color: #f00;}
272
- .zocial.google:before {content: "G";}
273
- .zocial.googleplay:before {content: "h";}
274
- .zocial.googleplus:before {content: "+";}
275
- .zocial.gowalla:before {content: "@";}
276
- .zocial.grooveshark:before {content: "8";}
277
- .zocial.guest:before {content: "?";}
278
- .zocial.html5:before {content: "5";}
279
- .zocial.ie:before {content: "6";}
280
- .zocial.instagram:before {content: "\00DC";}
281
- .zocial.instapaper:before {content: "I";}
282
- .zocial.intensedebate:before {content: "{";}
283
- .zocial.itunes:before {content: "i"; color: #1a6dd2;}
284
- .zocial.klout:before {content: "K"; }
285
- .zocial.lanyrd:before {content: "-";}
286
- .zocial.lastfm:before {content: "l";}
287
- .zocial.lego:before {content: "\00EA"; color:#fff900;}
288
- .zocial.linkedin:before {content: "L";}
289
- .zocial.lkdto:before {content: "\00EE";}
290
- .zocial.logmein:before {content: "\00EB";}
291
- .zocial.macstore:before {content: "^";}
292
- .zocial.meetup:before {content: "M";}
293
- .zocial.myspace:before {content: "_";}
294
- .zocial.ninetyninedesigns:before {content: "9"; color: #f50;}
295
- .zocial.openid:before {content: "o"; color: #ff921d;}
296
- .zocial.opentable:before {content: "\00C7";}
297
- .zocial.paypal:before {content: "$";}
298
- .zocial.pinboard:before {content: "n";}
299
- .zocial.pinterest:before {content: "1";}
300
- .zocial.plancast:before {content: "P";}
301
- .zocial.plurk:before {content: "j";}
302
- .zocial.pocket:before {content: "\00E7"; color:#ee4056;}
303
- .zocial.podcast:before {content: "`";}
304
- .zocial.posterous:before {content: "~";}
305
- .zocial.print:before {content: "\00D1";}
306
- .zocial.quora:before {content: "q";}
307
- .zocial.reddit:before {content: ">"; color: red;}
308
- .zocial.rss:before {content: "R";}
309
- .zocial.scribd:before {content: "}"; color: #00d5ea;}
310
- .zocial.skype:before {content: "S";}
311
- .zocial.smashing:before {content: "*";}
312
- .zocial.songkick:before {content: "k";}
313
- .zocial.soundcloud:before {content: "s";}
314
- .zocial.spotify:before {content: "=";}
315
- .zocial.stackoverflow:before {content: "\00EC"; color: #ff7a15;}
316
- .zocial.statusnet:before {content: "\00E2"; color: #fff;}
317
- .zocial.steam:before {content: "b";}
318
- .zocial.stripe:before {content: "\00A3";}
319
- .zocial.stumbleupon:before {content: "/";}
320
- .zocial.tumblr:before {content: "t";}
321
- .zocial.twitter:before {content: "T";}
322
- .zocial.viadeo:before {content: "H"; color: #f59b20;}
323
- .zocial.vimeo:before {content: "V";}
324
- .zocial.vk:before {content: "N";}
325
- .zocial.weibo:before {content: "J"; color: #e6162d;}
326
- .zocial.wikipedia:before {content: ",";}
327
- .zocial.windows:before {content: "W";}
328
- .zocial.wordpress:before {content: "w";}
329
- .zocial.xing:before {content: "X"}
330
- .zocial.yahoo:before {content: "Y";}
331
- .zocial.ycombinator:before {content: "\00ED";}
332
- .zocial.yelp:before {content: "y";}
333
- .zocial.youtube:before {content: "U";}
334
-
335
- /* Button background and text color */
336
-
337
- .zocial.acrobat {background-color: #fff; color: #000;}
338
- .zocial.amazon {background-color: #ffad1d; color: #030037; text-shadow: 0 1px 0 rgba(255,255,255,0.5);}
339
- .zocial.android {background-color: #a4c639;}
340
- .zocial.angellist {background-color: #000;}
341
- .zocial.aol {background-color: #f00;}
342
- .zocial.appnet {background-color: #3178bd;}
343
- .zocial.appstore {background-color: #000;}
344
- .zocial.bitbucket {background-color: #205081;}
345
- .zocial.bitcoin {background-color: #efefef; color: #4d4d4d;}
346
- .zocial.blogger {background-color: #ee5a22;}
347
- .zocial.buffer {background-color: #232323;}
348
- .zocial.call {background-color: #008000;}
349
- .zocial.cal {background-color: #d63538;}
350
- .zocial.cart {background-color: #333;}
351
- .zocial.chrome {background-color: #006cd4;}
352
- .zocial.cloudapp {background-color: #fff; color: #312c2a;}
353
- .zocial.creativecommons {background-color: #000;}
354
- .zocial.delicious {background-color: #3271cb;}
355
- .zocial.digg {background-color: #164673;}
356
- .zocial.disqus {background-color: #5d8aad;}
357
- .zocial.dribbble {background-color: #ea4c89;}
358
- .zocial.dropbox {background-color: #fff; color: #312c2a;}
359
- .zocial.drupal {background-color: #0077c0; color: #fff;}
360
- .zocial.dwolla {background-color: #e88c02;}
361
- .zocial.email {background-color: #f0f0eb; color: #312c2a;}
362
- .zocial.eventasaurus {background-color: #192931; color: #fff;}
363
- .zocial.eventbrite {background-color: #ff5616;}
364
- .zocial.eventful {background-color: #fff; color: #47ab15;}
365
- .zocial.evernote {background-color: #6bb130; color: #fff;}
366
- .zocial.facebook {background-color: #4863ae;}
367
- .zocial.fivehundredpx {background-color: #333;}
368
- .zocial.flattr {background-color: #8aba42;}
369
- .zocial.flickr {background-color: #ff0084;}
370
- .zocial.forrst {background-color: #1e360d;}
371
- .zocial.foursquare {background-color: #44a8e0;}
372
- .zocial.github {background-color: #fbfbfb; color: #050505;}
373
- .zocial.gmail {background-color: #efefef; color: #222;}
374
- .zocial.google {background-color: #4e6cf7;}
375
- .zocial.googleplay {background-color: #000;}
376
- .zocial.googleplus {background-color: #dd4b39;}
377
- .zocial.gowalla {background-color: #ff720a;}
378
- .zocial.grooveshark {background-color: #111; color:#eee;}
379
- .zocial.guest {background-color: #1b4d6d;}
380
- .zocial.html5 {background-color: #ff3617;}
381
- .zocial.ie {background-color: #00a1d9;}
382
- .zocial.instapaper {background-color: #eee; color: #222;}
383
- .zocial.instagram {background-color: #3f729b;}
384
- .zocial.intensedebate {background-color: #0099e1;}
385
- .zocial.klout {background-color: #e34a25;}
386
- .zocial.itunes {background-color: #efefeb; color: #312c2a;}
387
- .zocial.lanyrd {background-color: #2e6ac2;}
388
- .zocial.lastfm {background-color: #dc1a23;}
389
- .zocial.lego {background-color: #fb0000;}
390
- .zocial.linkedin {background-color: #0083a8;}
391
- .zocial.lkdto {background-color: #7c786f;}
392
- .zocial.logmein {background-color: #000;}
393
- .zocial.macstore {background-color: #007dcb}
394
- .zocial.meetup {background-color: #ff0026;}
395
- .zocial.myspace {background-color: #000;}
396
- .zocial.ninetyninedesigns {background-color: #fff; color: #072243;}
397
- .zocial.openid {background-color: #f5f5f5; color: #333;}
398
- .zocial.opentable {background-color: #990000;}
399
- .zocial.paypal {background-color: #fff; color: #32689a; text-shadow: 0 1px 0 rgba(255,255,255,0.5);}
400
- .zocial.pinboard {background-color: blue;}
401
- .zocial.pinterest {background-color: #c91618;}
402
- .zocial.plancast {background-color: #e7ebed; color: #333;}
403
- .zocial.plurk {background-color: #cf682f;}
404
- .zocial.pocket {background-color: #fff; color: #777;}
405
- .zocial.podcast {background-color: #9365ce;}
406
- .zocial.posterous {background-color: #ffd959; color: #bc7134;}
407
- .zocial.print {background-color: #f0f0eb; color: #222; text-shadow: 0 1px 0 rgba(255,255,255,0.8);}
408
- .zocial.quora {background-color: #a82400;}
409
- .zocial.reddit {background-color: #fff; color: #222;}
410
- .zocial.rss {background-color: #ff7f25;}
411
- .zocial.scribd {background-color: #231c1a;}
412
- .zocial.skype {background-color: #00a2ed;}
413
- .zocial.smashing {background-color: #ff4f27;}
414
- .zocial.songkick {background-color: #ff0050;}
415
- .zocial.soundcloud {background-color: #ff4500;}
416
- .zocial.spotify {background-color: #60af00;}
417
- .zocial.stackoverflow {background-color: #fff; color: #555;}
418
- .zocial.statusnet {background-color: #829d25;}
419
- .zocial.steam {background-color: #000;}
420
- .zocial.stripe {background-color: #2f7ed6;}
421
- .zocial.stumbleupon {background-color: #eb4924;}
422
- .zocial.tumblr {background-color: #374a61;}
423
- .zocial.twitter {background-color: #46c0fb;}
424
- .zocial.viadeo {background-color: #fff; color: #000;}
425
- .zocial.vimeo {background-color: #00a2cd;}
426
- .zocial.vk {background-color: #45688E;}
427
- .zocial.weibo {background-color: #faf6f1; color: #000;}
428
- .zocial.wikipedia {background-color: #fff; color: #000;}
429
- .zocial.windows {background-color: #0052a4; color: #fff;}
430
- .zocial.wordpress {background-color: #464646;}
431
- .zocial.xing {background-color: #0a5d5e;}
432
- .zocial.yahoo {background-color: #a200c2;}
433
- .zocial.ycombinator {background-color: #ff6600;}
434
- .zocial.yelp {background-color: #e60010;}
435
- .zocial.youtube {background-color: #f00;}
436
-
437
- /*
438
- The Miscellaneous Buttons
439
- These button have no icons and can be general purpose buttons while ensuring consistent button style
440
- Credit to @guillermovs for suggesting
441
- */
442
-
443
- .zocial.primary, .zocial.secondary {margin: 0.1em 0; padding: 0 1em;}
444
- .zocial.primary:before, .zocial.secondary:before {display: none;}
445
- .zocial.primary {background-color: #333;}
446
- .zocial.secondary {background-color: #f0f0eb; color: #222; text-shadow: 0 1px 0 rgba(255,255,255,0.8);}
447
-
448
- /* Any browser-specific adjustments */
449
-
450
- button:-moz-focus-inner {
451
- border: 0;
452
- padding: 0;
453
- }
454
-
455
-
456
-
457
- /* Reference icons from font-files
458
- ** Base 64-encoded version recommended to resolve cross-site font-loading issues
459
- */
460
-
461
- @font-face {
462
- font-family: 'zocial';
463
- src: url('zocial-regular-webfont.eot');
464
- }
465
-
466
- @font-face {
467
- font-family: 'zocial';
468
- src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAIg4ABEAAAAAu3QAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABgAAAABwAAAAcYseDo0dERUYAAAGcAAAAHQAAACAAvAAET1MvMgAAAbwAAABGAAAAYIQKX89jbWFwAAACBAAAAQ0AAAG6bljO42N2dCAAAAMUAAAARgAAAEYIsQhqZnBnbQAAA1wAAAGxAAACZVO0L6dnYXNwAAAFEAAAAAgAAAAIAAAAEGdseWYAAAUYAAB84gAAqygVDf1SaGVhZAAAgfwAAAAzAAAANv4qY31oaGVhAACCMAAAACAAAAAkCPsFH2htdHgAAIJQAAABYgAAAjz3pgDkbG9jYQAAg7QAAAEIAAABIHLfoPBtYXhwAACEvAAAAB8AAAAgAbsDM25hbWUAAITcAAABXAAAAthAoGHFcG9zdAAAhjgAAAE4AAAB9BtmgAFwcmVwAACHcAAAAL0AAAF0tHasGHdlYmYAAIgwAAAABgAAAAbfVFC7AAAAAQAAAADMPaLPAAAAAMmoUQAAAAAAzOGP03jaY2BkYGDgA2IJBhBgYmAEwj4gZgHzGAAKZADBAAAAeNpjYGaexjiBgZWBhamLKYKBgcEbQjPGMRgxqTGgAkZkTkFlUTGDA4PCAwZmlf82DAzMRxiewdQwmzAbAykFBkYA+wIKtAAAeNpjYGBgZoBgGQZGBhDYAuQxgvksDDOAtBKDApDFxNDIsIBhMcNahuMMJxkuMlxjuMPwlOGdApeCiIK+QvwDhv//gWoVMNQ8YHiuwKAgAFPz//H/o/8P/9/1f+H/Bf9n/p/6f8L/3v89D6oflD2IeaCr0At1AwHAyMYAV8jIBCSY0BUAvcTCysbOwcnFzcPLxy8gKCQsIiomLiEpJS0jKyevoKikrKKqpq6hqaWto6unb2BoZGxiamZuYWllbWNrZ+/g6OTs4urm7uHp5e3j6+cfEBgUHBIaFh4RGRUdExsXn5CYxMCQkZmVnZOXm19YUFRcWlJWXllRheqKNAaiQCqY7OxiIAkAAEf0TzwAAAAAEgH+AiEAJgC/ADAAOABDAFMAWQBgAGQAbACtABwAJgDeACwANAA7AFoAZABsAI4AqADAABwA+wB9AEkAdAAhAGoAxQBVAAB42l1Ru05bQRDdDQ8DgcTYIDnaFLOZkMZ7oQUJxNWNYmQ7heUIaTdykYtxAR9AgUQN2q8ZoKGkSJsGIRdIfEI+IRIza4iiNDs7s3POmTNLypGqd+lrz1PnJJDC3QbNNv1OSLWzAPek6+uNjLSDB1psZvTKdfv+Cwab0ZQ7agDlPW8pDxlNO4FatKf+0fwKhvv8H/M7GLQ00/TUOgnpIQTmm3FLg+8ZzbrLD/qC1eFiMDCkmKbiLj+mUv63NOdqy7C1kdG8gzMR+ck0QFNrbQSa/tQh1fNxFEuQy6axNpiYsv4kE8GFyXRVU7XM+NrBXbKz6GCDKs2BB9jDVnkMHg4PJhTStyTKLA0R9mKrxAgRkxwKOeXcyf6kQPlIEsa8SUo744a1BsaR18CgNk+z/zybTW1vHcL4WRzBd78ZSzr4yIbaGBFiO2IpgAlEQkZV+YYaz70sBuRS+89AlIDl8Y9/nQi07thEPJe1dQ4xVgh6ftvc8suKu1a5zotCd2+qaqjSKc37Xs6+xwOeHgvDQWPBm8/7/kqB+jwsrjRoDgRDejd6/6K16oirvBc+sifTv7FaAAAAAAEAAf//AA942py8B3wc13kvOmf6bJmdtr33BuwCW7BYgCgECIAgwQaSYO9dLJJIUSRFVVqiaDWrWVYvsWM7snw9s4BkSY5juVzHTnLt+CWRnWLHyYsdb4pv4iQ3V77m8n5nZinL13m/381jmT1tZmfP+cr/K+cQHMFcm6F+RKWIQ8TNxAXiLuJ+4gniOfQi0eIJomioB6rVlh1KrS0kUVzaJhIDdLE1B+UWhRtWOAgXbkBQlkP8CmfRkLl2KyTbiovjoYBQXEr14Va9t2qk2PbS7RfMMbdT7aWnHjOLT4ntpbN34eLSWfPpSw8+a9YetGo3HjdrN5o1/VJl6fIls+Gy2YD058s68a6xU2rrOyXjMCouHQ0QYzDyqGScQUXjNldbv00y7oCOc1bHtop+TjKuQN+T0PekZDyNivq9laVHzG7jBeg4vFNWlsiZ+bnNKW/TOHNUVvQVTf02+Y0ta4/feOCWC9Cq36G0zp4/2Ww2jSvnZOXzqj2QLS733Y27npRft1263PvgY1AhjFQIbvc19T65FY1n4Qb9gvI6QxSqzSE8+HZ5cdnpcwP4i556TFYWz9x65RHcflY2nnwanv7gs3D7zqZ+XF46fPTk3fdCX1+/WiNihFsjuRLKeqqVei2Z4GpcMlOvNaA6gOtsMgHVURRB1YrVlkkmRMThQjaTLSEY4kLeykC14mU5kXLjgojcmtfj9URRhkSaN4Pb4DbWUxuoeDQ20dDguxKNbrO3BgWPW8Nf1dCs12CQH/0X5P+WIfTbxj2S7F/pYgLUzsHoHXJgfyC4nGJZGy0k+Og7aUkcnLDTlXiwN3SuJKQZD8uFuURPyE16XM7BUMazZiOtDsRp9PIbKEihjMw7bKocjbsDbndAVZRP82GnZvNHVcXukGWHXUlyPM+h2neRv/O3332j8/OcPO0OVHY1RHJqwOXqTbmdYsjHMAghZlZz2FxuSnOU74j4hNQwh6KIFkUGUZTAsZywdU3Qe/6nz0p0BblQjmUlH+NUj+EvdvfyvLDWafMcsb5UccOXEjRBXJtjRKpGzBDzxHbiLPBSy4M5KM4AO2AGYsjrl1G4IP3Wsr7yXWOtp62vlYwhoLqNclvfKBkLUNyhtfUdknEDUK3oISQgy3PQOrRWVlqBehwT3cJGWTGYdBMIjAECe12cXr3+6EmTOOTaKAkL5PFGKLfGwZKzRZSAJa9hQgBSGEX1WrZE4pZRchhVMIUAVUBDMuFCrIvMeGtjCC8s3MfAisu1hFvVKiPIC3ePAYlUcRuQnB3BLe5jn/7y/rB45sYtL96/Adn//KXjt/HfPM0iCjGokvWV8qxw4B77+mGOEehFwRX0KIFPe1gbz1B8z3Fuz58NMGydOcGg6u7db+3e6QzFxB3lvnLS8cB9YqKEHj/2yX0VxCZDu+749E4n+/QfFiN1kiaRQ4j6HA4pGaMDOSQ7HMUer2JH54sugXUd+KnrZN52jrqLpW/t7UX39vZ2bu/tff2tcPit1816uPP/oFK4lyAIEq8b9c+wbhTBEcuIFrQVlxBNcLS1WEu0WUY6j+XMEiXhmk5JBg1rw5k1Q0BFoq/fLcdlFf6jf+PRvy6hf+vY0b/gq0kbq6mvU1XCQYSJLFEm/s76Ht1RbcXgO4wy0AjChayzveQKEgjkootpL9kjZjGaq1YNu7ON9D7zJRwSwcPX9oPcGgi8PfrMzz5LuIs2nZB09I7ukPTsO2+Pfuxnv2E2xkqiHnqHMcrUe6IuvsNA/6LdkVWLuigtusQyFELSYjAUgwJ0RcwuaImaLTAmh8dQhCGGSiU07kB20RUMRaKxbK5c+sAffTxgOAigSWcY02Q2BlLLDcToVuOVCAlUWEQUF1eB0hoDWY9VT6rVBhBqCcreUdSoDdSTX0FvVHbNhV3h3738+bEXEBp78/LXI6GZuNts+N7/2Fi4g3Tx5dgd030b7eTpldTF1OrTa6883/neSZR9/sr9m1bthcqfkuLnqXDyX8jpfpKHJbbWeSX1JWqQ8BBF4sPW/LcKeLFjNGGDxY4VsMqKhYViK4OZlMcXCV8yoNxaNNZwkjVUovFQySEAWfSY6scD6scjGSlg0qzUNnrh04Mnw+sHcZ+SDQdMip5VDJ7FkyPB5Bge4F1MNCBD80ikk4kRkMgi6ZapUbpaCZs8KTdkEK7x3/ociiGa2XPs5jWUq294puF9/nrllh0//K3PdX44SZKLX2f23nDzrPS8M7tquPPzzmvd6sxpxP7l1c7i1wkbzMEC9TT1CNChhwgRKaICFL+K2EjsII4Qf0m0ypgmZ6otGv/qYbjo81XDK7RbCdywCV/2kN250MVqK4jnxEtjYlzScuVhUPPjVUOzt/VkGf4h/ahJrryXaADP8JLhBIr1VpYki4l8lcWK5OSLRo+3vbjCLK3ytvVVZWMFfEiSsRNY7IB5s3EMZlRygp4NJ6qDq9dv2ob1ZU8F5jGYBGm4YhWWjAs7sHbdKRtbtuNpzmmgTu22Q4dNqViXLW0FM5rIeIFP8cwmMnK8lkmwDZCNUcRlVHNMGJkqra5grWeqt/+4PdEYJWGlOFU2G8wnZ/yBdLqW/iw5mg50xgNpcvTVv3v1EEfR/a4+Vybkz2RCgTTji3m9svRWNhhI43ov1H0xJ+nzin1fg7vTtcz3kRMeFOj8C1xXod/o7IZP9Pdnnnzymzy5jd/6i78IpjL+3wsl0wEqAw+TZO/V3w6m0oFfaXqUqqYFctvVReQIZDKBzr/CQyxeWEMNUnVY/2HiuLXuht/ZNmneGAQZVFXLPGCsqonukL7MJHIViLxa0VXJqMFqiEDnI/BZU2HqeX8ZT70oGxjhEIbqh5VJQlGvyjrR1AcVXTQ1U2MA/zW1E8wgB0tg4o1qxeqwunAH/psEraXGM1gvcWw41Bhct2Hf3du2l0rl8ubOtki4XBnMR6LRqN+fd8USmtvr7i9Nz2z/zi23/ABd4erVzfPVGpo4vmfn5GQyNTK8f8+hXcHg5rHl0bjN5vX4/T2S252OlYqFfDB4/xVUu2NsdGyMsHQ5OQw6wUWoRJzIg0ZvOfAcpQHa5nFBZtstL54sFVowuxhRDsRzwaR3yUWcA/IGApZhfgRX2yjCpywBNWrBRAaDwi7jxy2qwXTYiMvxhuYBdYwBGiheVtE8lQEgzrEedKhnbKyn81zPWBz9e0f4pNN2l81pXorBTCCQmaUUPOAXP4Xrx8i923Cn4HT+4m9xZ8Bc7/9BbyC/TniJILGOaMn4JyhsWxcr1ssHQde4fTINusbNtXVHBekhc8l9gJB9kuHv/o4wfPp9gI1dsqo5rR9S/5Uf4q664/VqvfuDQiXqd0rBYKlzw42dj9zYOV4KpWnuf733IvpBKRQqdRKlYHpoKB3MkDTxvi7+Ccx7lBghLhKtAH5PqQEWSBJr4mWW9O3FIsi8RK8LI6SPmq/L+tstlsDCmXUKRZ2VjCa8cdXbbjWruLUZE4rGGDQ1WRAltOYJZPO9DROlLwtgMlarzaZJpwNjiAUojBEUZvks5/GKJC5QGcaUBd5GJgtICpdULAtcyALWMf9/HbsaqjWT071DdxbWDW61FRMuf579BIk+Pp3vvy04sn0vudAUzaaY/7Hyw6c/Q05Drbxy71v77cFcPVzs680sRiOkk4v5yc85cpl8Mvxqn8vniPmvbnCwMDYxPX/jRzJDhEWrs/TLVD+RAV6eIjYQ14hWCs9bATDFDJbhq6vGNNPW11RMbabPVg0VlrtJpSRY7iZYX2M2XNTXVZfGROIFzO/zZd357pLHEtNE7F3ZyHrai0EPFtEsAFa2bAQ9WOPpcehc6tWI1TCwt7wUt0qgCteDqF9ZMdYpINArrXXr8fSvWwPKdf06XFw/DSuxEatJLNRpXlGjqanlWKgHYWn0QlPvlQ1fBET7+jjUZVihZgFkChYvOiXr0aZuU1psMILFzpis+5v6NLaygLFqA8MIG0KWAQS0ySUjyATCbg0wMbpur1hGUbbEgnzJsGoE0O1AiWQZIN8qkHHSnay37hwoSDb16L2fOIYGpvaX61vTnoHgSPkTD9335k1nt5w7TlO85AiKKT6b2X7/hP3AsuFp7cD5abL+jco3v1lBW67kSuEwurRnx5WKcnBk11Q44VeHtOL2FdvvO3hmat/WWdVpV1VsxTAOtBf947rTiDzx4in6hsOVb+BHEAgzBj1PvkXcAMixRWKKD1bXVgEQHhPbb/R6Y1xzZmPKCxx7vGycMIGoXG9UvW4tyWEK9qhAqWUS7MTMCOq2i2AURhHgsEwZGwbQPhCFaUliU8FFql71Az34DlMaUyLCdiMUsxlsO8Bf8j3SFohzldfYG53CnBaQ/CL1Xxmby+lAnH12g2RnowJNUVTzHlLwyLyXO0bdzf+ew+UMqBRFUz8ihZKmiT+3+b32zKZjgXwk9rWY5LDnRfIVN0lqPEKq03Vb5yn0/Yj6VK6q0iTjJpGbJ0lWkT1P/UbMzlPYzFBJhPBwzpEQv8Z1fk6hvwrBOyCKpDV4DkeSshS/+k2vS/as/u3v9c1Mr0YfX1Ow2SiSQNeuXVtFfQr4B+S6lBmlGwOgjhRvCn9GENjFnMhkTGuJzCKnGHf3OgYW7P7nMsgxJBXtXlVQN0yfVG2DlYnBWppTQhG68EicfNOjirKgMh5HeLLDndwqs7S7fMTrSvgSLKXJblEgeWXFDc470GcO4CXWCOraXZSdooheop+oE02QgFPELLEGOHozsYc4AAjtOHEjWJV3EPcQ9xEfRl0Ma5RBA83su1ipVCzqcIaKmDpGQJ1vOnUFN2tYxHPpanVpF0WcBTA1eQ5at4LcNMZOw9BNbHupVCE0Z7G16uCdcPNSSSS2g6Sd3nsb3L9UHzD71h69hPvqVt/c4btx31DT7Ft/w724b8jqmz9xGfqQ/oAplMtqu1UZGIIWvSwZJPD8FBi6U5LRh4qL1cYwcH1laSZAXIY7V62dh3GGEwbMSAYYCcYeKO6RjJWo2Fq9biP+yn3W0INHT+BH7pOMHTAsBMNCkrEfhh06dhIPu2gOW7zpzkuX4Qv0i5IRhjHhMi6dhTuKUCtKxu1wx10fuh9/a6/aNh6Enr4pEDQ8B7Jn30pQCtrWXdjgDu0AOeRvGhfD8BlrGmf3w2caa0CvXK2NUmDlaO7qMoRt7whtFQHIm61y2l2tZ6v1ZL37v4GtaWxV/1p7FXck/zM91E7ESfG+uItv8K64TwnIDoYaoBiHHFB80LrzavPB7p+ZVau2Pd39c2c6k0mXr9c+nUmnM8xD3T/3UFxYK8qSJPUqkYjSK0m84HekHR4PXPwCb7b/4j3jpps85zyX3DftiMcvxeNXL/zf1i1dP8uEge/CRIn4GNEKYtujp7rE0oQAq4urS2lL4aeDWGOkEWj0XKXlwFDAbY5CetmkMAqAKVjkPKydTzIBSwS0j1wxEhLGOHpCMrLQVwDECjRn8BSsXLCp+2Td3jQSEVhtRy9GrW5QPW8ILskXjcVNm2EEVd0YhdVNgA9IP1vH1oIJdRKZdN3bMLvNYYD9f5gbyn/2p5+9vA0+Xzt/4TXyj7ddzg3lfviZn7126vXFUD4XRp86+5ufvHVnrrA+nMuFO3vO/9Znzn2+kHsznM+Hv/D6hddexbKAuva/4He3yf3EBLGW2EX8DtEaxrMDrDrtaOsbK61xzPi0DaDnOJ4amIxiS8Fc7ra1l2Jz4wpodts2GB+D8b0VIwg23Jw5i3NObLTuNqcNgQpHksHBlEz62/qk5Xrq87SNPfCJwH5tOV0KVrCcvGRze4Pj2C85qSyqWngUFxfk12O91eGV60wENTcNmpxzhTO5vrrZHZN1PInZatfBlDGdklmw9OPuJMtVMXry4guo3gjpHaWuOxOz2BwGVYPnGKvpRgmgF8tEyPfdmCRzjunP9TUHy5kBXz0oZAW06l9EGyVPxm4u+/aO9W/qy1IUQyYjo6PZ7adO7bzlFDfurldjY3sDow/vuUhS1cLq9YnQZCRbQfcF0yPRYn+14O/zV76W61ve3zfaT9b+dHD/zJjbc2TZimxPD0UzZC5aUS/s2HXnh7gxKWmfGL57z4VCbU8ymB3NheOxRrEw6NVqsH4I0zbFAm3PEm8SrcJ1v58xBCtWwLazvWzU7GAvrDLXYQTWYUQyMjDpvbAOvZLRwFTqbRurux4e+z+txs4cUY9LevIdwxV6T+9/Z1F09avFFlxjD8QeSLKirDSJJdEVT/abHhn0gbI+HkBGZgQskEBkfBIvTq/cYgpDeHEbimGvYfIv1DAEbkx3ITAWZJ7r8FdkXIjNZGslEpZvQC2herbr/MWg4X3/sok4sMtRRFkYc+CV/S/9wWc/3LtOyjGSqqoiy1I2BIgAMYx9jLeh5aV0Xg6xtkZp3ZE7b77zhYyTIUG9S7bhYfR7Y7ffMPG1+z7zl4XIi2o2FQupHA8IAAXCpWLNU0Y2qVd0jW/uT3sntwR7Jxbv2nfxN26eLLlkJsXYOdp31oROhOvaVupPqQRhB426HvToEqHPlZfGTMtWH5OWRh2EDKXB8lLNCjH0lPVMFa5IP1g2DnVXoPhP37JWQJH0wjuGV35PT7/DLGa8abX49mjonx6GXjt0LuaVAiwKXD+4KIo3nS9Yi/I6lDPdirkshDE2CvMeHR7BizEotwY27MWlHmUp2dec32QKIlIZSNEehWTpVKYBuMTLeRvW1YPXI4udao0sjgbAFbAb5/W4UMWbSWQ5toy8jUqEAShTosdQhMPO/hKpTLyFCMR/adXEW9eIzv/80hdWcgEWHsdGeE/D07e6KcY2LrM5L0ITH2GhyaXNidkQGSBpRKMUo+Wej6C0CvzJ0ZRDUYNayOXLBylV9EiazQngy+X1ROUwqnzgS+DzrIJ4tEPcTnLkducOHuXy24vOyYXcDudWaNoKHaw6LHD+I4DpHlUYW+4CzzpE1e+ySzyLSJZijVOIpjjWbpdku1NmKYbiQWaai32I3Er0ECuJQ6hJtBQsJHM9IAWDnOXaeJ1ANMMBWq4aGWhaZ7rhD5s2O9KIcVh7ZPl1GavGmIpkyaUR+6HmkjA1LO01cYVxxCKMr7zwjz+57nzteUeEB+jkO29/5dl//GezlcbUAs/R2XfeHjlgDWV0rmQwLA9topENv8fouXfe/mr2HwomCdHSIkVjEoLrB0mIpNhsl4Q+D2Uumyv0fMD3iuC9QasVm0aEwV4vxZPHXO6SDZsAxHRI0XuBw4MK6LqJFdCQkcftdpfH2zs0PL95+348llf0TZjxq2ojWw2iYeTmTCeN6YbJNqBcaWCDKVNE9UaSo5J2lExj543X03XeZEUEUgIbCPhvo9bAtAn9DS9QZhllzFiEm/WCZFhzfGVyzfHja/7k5FAosjBVzWblZU6PNur2eIODkSO3c09zp27kyHsUl1Ko9RZVSeNpzs5LNJ0IxpPBeIpz8nGp6E4mFbXH0cN7OD4a95XtKgJqITd3Pvqv5zofRcdTv62VK+Pzp+KJhj+hqYlEpRZNpFqODkKnO48sVeL+IUEIOlRN4pzDko+h0w4XTXqiDuXHm0YjKZKOuJJb5jZLIZb1cEwl0ajmvJ5RzaQ3sLsfAxkvEXGiQLxCtJzYo5zG6KRghQ9wgNSIUe2WgDWAeeGwx1TUnAIoaJECDVA0NYDsauuyZCSBvLKW0Z2VDB8oAZurbfRgp3JSVl6nNE80JuKl8snjAss7nF57IBg2la8GVKIHmnpBbtkdHiw/0srnCZa3yT5zhOnTMN0WXiQzXgGVkGkBQ1VF2QET1niuuzWfObH5/uDEi+j1zr8lOh/tfO34U+lLO+OxvyBn0dXf2a596M1LfQceOnDgIXTh2Ef3zo0/jX6nc/xbqc5LqEo+eWT7ncJX0R+g0tXXHi+Wt9111ysPHdg/M42NHJaQrm0if5/qAaksmX61AWIZ2kC0KDxzNL4QePpkJxGA6RvC09dg2kuMI1voAwxveYFYW7E0iFk4wbT1dGXJr1JJZ1FXqoYfxkYjuGZEhfZiVU7yReuK9JGyzrxrSID5uQr2zGFPtFAxHNDgkIwcnmK53crmMEbKpgFO5bK4mEsI5loUYMAAjB2QcNTF6INin6mm9VDFGJLbxjLQ4WTFGLWkwjsTPx+3pEJJ1AMSA9LBkCPvQdGg4UOWFhU5oBYX/fhKEXoA9AJBy4o/8IFgihNWVG3qOXnR64tEsWukkAVF4QlS2BzpHwA2d/eUNNwx1ICOcAwHBsEeUeMUk5axEwP+J+tJt1dtxF3AgEkw+tV4Nt5Adcu/4a1XvQ08hqtn3ZbbQyK/MNH5m87f9OZ6enKaD6Ee29597FbH4qK/82UereM7L9yW7TlcDobKxVjk7p5R8vjVoQ0bKPK+nh749986/4O8ORhacaVaRfZtW1G6t3fr1q33lUr3raig8sR9W3st3pmjPktVia3EDcQ5YjvRWsCyeh/Tbq3HQHe4vHTcgaOeeroM/5B+vqyjd5e2m1LZuAALsB3hSJOIUcv6fTBPu5r6sGwcOAZ0f1zRnUD9sn4aiN6TMQVTXaRcKDNKjqFRxgOQcwwNRBDrAsIvkWWUACM/AvgmzkbIKKqMUo24yHAYhoI4S2QGWE8URTDuKdFZFsWv30Oxtmz99O8On9s8KctkaqChqrSz0Lt8bE1y/J54vNLgeF5g3CiRlSXa1d+/Mj51YrxXFhC6+kdUMJ93uWhXJhplUUoaXTW/ekRR14aX3ZdOlcbqiGVoWqyPHBnkg6vGp1QPqFwB+bMZUWSVvlR4xYzvoQPfuyL6N2xY5fUO3zQ3JDpJTpNljrKVawB8i5NTfh/TnM0piESClPDZR9ftWJh2ewqjYQkhZFOyweG9w0XNgdhynaLKl/rSNoGyySiWILlwYiSRQGtTAz4RIVL0DWBMW7j2VWol+X2QdYQ6ABMYRR4s7DVzcnBYGFoilvzHE1SiC6TzvMjt4509DnI0EhV7DoVVZ02UPseRzHmX3H/x2PZgwBafX9ZDTsmu8w7pDcnV41Aju+MxMT8JI21HaCdzHn5YfsW0329LHtl/h2k3rqJ+QlVMPDdMmP7rpZqJ4UwvMHrXcHhNpi7iAK0Hd5gu36JDVpYowUYvs/zWNWkUxSJIElEsQ2nXtVg2U8+YOuv9v6Mk1nndjAkL2nLs5R8j6ceXL/+4808/BrTpKBTzst9FAq51ZHKlwd5CvJwvh9NuwUExYrD2qd0Tw+svhBBLOt54/77Ll9Gp5Q6SRPnUwJqLDoalKNqmuvuzlezypmZjEzl/X59DKubXbfeEbtvAqHQFZKgAv385/TUKxyS2EieI+4gniOeJ14mvEn9EEHJmoGHFUUHUu1k3lOFfKl3xcBoLmhU+WZLDfi22CAogawZZiiiVxgEWt8ftwaq+lskC4h8Yxh6vDGj9TJ01JwIsNECctHdAadAM6zWVR9V8QtZtRm8sA8CL3a/4C3H4JqN6GdNTDjP8fzUeefDzS2QW3lPjEohj7DmwB+wiae+zK6tU9Di6wnKILiwwPPJu91YCPMNylLPmRDTJI4rufLfznYP9jVNA4qwdUcjJMxwPC8Zm4rTbQ0lFpFF4HJr8eRPtv8de5Ds9HQ3t2jwxlSOdtfyynCPpOT6+ZffmtYd396ZQsQcxgUamZ9tedPahKapx6r3VC8un8shZLbw/dNPaI7tLyfeHokMhl7bN5+zNyGzBRiPyBUZApEDKyyWHuCxK2ijaQU9RAmvvsVMgIT589c8e4GkkOmCMQxVItLoAVIEQK9gZNys6B3Ko/pWFtRenHyT3fflvc1OC5uMojdJcL5Nrb6GP1L+7YqE4nY8zNLma5JfNf2z3uRsme5szDclWqHVW23IRRRGkJPr7Xxm2/plfGRaiyfNk7DEA1mjz1f/2LGPGY5AppyeoGqEA11veRpKrVs1UBfOCdLVsaKhImN4Cg3WYIW0Bxetghpj/k+4s53WjV9ArnY+86nxhv7hp54J0eIn6yS98929urJusNXu3vDA8Pv0GPJ2/du2aTu8jVwBvq0SQSBL9RJOYIdYRi0SrByuG6apR5tv6sooZ+tG5qhHi20uEoycKOr+yEqA+wbdbWmoUOwBp2WwemINmGpq92QnTK7nehFwOjykkXKCw6YohQE2Q8E/BCt0PtVhF95sBfb2nYlSgoWI6LPV6xchDLS9hoaIPVYyVUFsp4VCovrpirPC0jQ2mFz4r14ZRHf7LWjKLfXfYdSdbdQq3u7Uk1KtxqMcbeOz7o3Al+X5XtxU5ded+x+Kkc9L5V1A4AH8rThRzdn6IHPq6Scek40dO/YtOFHV0fngSj6qhW5z3iFc74kbxW2LnL6HWeVhEX5wSp8TOJK7xzimx3+x8Wey3Gr4LNXPdN4OMHSGKxFGiFceuuJAFaR3dLAgoL1IOiX8f6ypmFA5M59S7OltZiloo1lkxUyGiKSAOJWD6GOJQjEDRkEIgjxHBeHImPJUwPPWmazhkg1PNQBIxGkajbgbjVq0bzamnoXBkdqyKDqOjjx85Mjte6TwLzHK4Mj4LtVVHUOdZKCLi8aPFRTAoofHxo4VFxJFgdi4WoHJkFVQWQYsRjJmX8xPAIQqRI0aBzrYSZ4iWhCnNVm1twb97o5XfaGqZtJXp4JzcggOlTqC8uT6zOAfFwLBZDPAA6reVAaAAU0wChDPGp+HH9s0BfueInlpjBOO1wDCAN9UTiV/P18KaCH4rZ2blwVU1xeVAzNtN3bNC4KBycSsOkWOF223Figs3NQa6kXLVdKzBPFlaam5q2Wf2HX9zeOPuT/gUlnoU1R4FTST7vS996tWXtBLLuyj2rgcevJumXDxje+DZZx6y9dncJ2656bjPztiEGy7ffYs6lT45enrd0Vt2o7ErWH9dOfTG1Oz8gc0zXwfG96OhIeSX/Y6xcedrkpNsDJJO2cmPjtqe8wvVPqffqTH1hq3zat/gAvaP8Viu0K+DXFlNbDZjGvcTjxMvEJ9C3yJao1jK7AIkeB8u3AnW01N47v0U8Risgw1LHhzPWHreDFW2eOxOy1SN41R7sZ8/DgT5ye5InLQj4EsS0+yjD45qYCWcrhqPOtv6ucoStRE3GJQI6/Vp0wUw58I36nOSMQU0uwAm2YJk3ATFs762ftbKGH0Eio9IRgigxRMBYjcMf0IyDkJHA4Y3JOMZ6PBaz/FKxsehVjOHGb9lGQYjF386aBoGQgk78xgsdJLR96Bo2KLvvT3y+n+nTS9AUlpMJONqsQXXD3gBjHgC+/UEWzyR/KXlPwXEZUyvAzK7aQGbiezE5MYNVgppa/y2i9gYvKJ8nk9lRncdv/M+3PGI3IrdcwmbEU+EsLdALvTi5oPyuM1f6tf27nvquRc/iQn1GTAs9Ffgix+9E7h1397b7rmEBz4IA2uN6bmphYNrX/k4btmovEGwTG9hw4u4Rsl66brJ6a0OVBuqV6tWsOf3l7zMAs4QSc4NJB5FA5XGdXcjp4FGF5HpdCiBHMyUTVsVJ4iZeEEDIIKZopHEeYwlM2tRJL3XbdeM13I3N6r4GZl07f1vRN2IL1i6ONhr4Y8DY6NF5vI3memf4RiiyiT6+icn+5vLyC+JFBmOkszKjzUowNB+d8a3Ym+92PlF3hW7NXH+RnJ6zxkmHhBcfKLJLAyle/tXHx7dd6K6eubiX6ymIoH6wv7q5r2rnnts59u9qyrVlaVUj/9kc+hoLO+/smrlg2iwlEn09SXSZeJaJZkq9a2oio310vBMsxdNjm5NzdPIngK5FqZjy/dPrxlCIYo8coal6HwaXlQRHXunymvdXz2hMDYlSaaql3bIcUcwrU2Uhk/3BDZ8beDgTJ9NXLcxM1IY2D9ddXpTK+/iwBhLp/r67u4tl3tHV0z9Vaanb0WljN5LVvpT8MM7X0/dPFasD20ydT95bTX5c/LbRJYACz2KjXOT+WymoM+ZHCObUr77scjJBLCfw0qJzANPcIAJ9ERTd8gtQMGYDE2LFnSj5RqyRL1b48zwPCw6DetbBIurG112eO/atO6O1+5Yc8Mjs5SNTY6m5xBpI89Xn7fLvF/OBD2FLY/ExvYvnD+/sG8s0zq5U7RJkl/ibWQ8JPsZyYXjTPS1DRRBlUGXHSP+vavNRi0Pw3b8g1jsZjjCtVv7sJyYdRJuYN5ZyXCz7dasGzsBZucFGIt7m7U4i5MmmLbelJB+g4kkesDc6JGMNPziYW+7NZzG9ww3BLBjJWPBXjR2w4DdkjEN0sBv5kcs2v3TMFUHVCIE33WgvGQ3S8Zx/Ig0TFJ/U98tv8HWmqPz249ghjqgvK64Z9eu34krdtmQV2Jl2hyFsbmmXpON/kmY3lnF8IO20d2y0bMAzL0dm8YHcLo4zDRmvQjp1kSOG0aeDyYGY7WK/XWaGWAxuRDwhsktJkqv1xpJ1q1Z+VoJ4MmapWCs0FjN1Fn0a5vXnuzZNl+lbbzGB9koWT9DFpLnVmTlTVTveXS55HxczUwWHQ2PuCpwadNIeXuoQDJfRiTPOPrGfd6xks1OZ1aURtfm7tdR7ciWvy73aIVVfU4v1ixBLkSuTF2dHdntdcn1C7RITT1eeDQ3P9cXcQvuuaFhsLdPq7NKX4x32UuOpBst31Tu3TlHeRwgKJP5Ic+rVszxFmontZPoBW0PVG3ua6jDwi5m7HX++rWEr0gfK+t97xoNqW2MY/neJyste8aFPSxGxg4V0hPDArReAuGbT2Lgq7JW8ryZU28qaSzwGjj1olGrY/8BstLysY5n03heobGb7ZZNIKQFmts2RvaWSbLUWw73bypGE5Vppw3Rw/2Zw7W+M6HIhfzQzdk0epqqBzfnyEqokM+S6JiirJjbt+UKKmgetH68b1adKyeTDkfflmDfQLE4OTz4OZdr+Xi8RLlcU2Mpjwdd98H8jZlrVSQaxCmiFcackTQxjoV3Biy8Uy6EAdkslc2Qq64Cgh40uT9uZiEDPMbaK4uJ20pLxilXWZy0U2nqftngPXjKygVo8DT1AVmXusmYwwjH/bBxGUFRigJxHU9kUkB2cZz2BhXSSoczs+HevvT95U9EEU8yFE2Tgiye5kWeItGblzofvfQ2olJ+dNCfTPo7z/tTKf/ncPFz/vvRzZfe5vdPkC5GtGs+edrlpFi7LF4jLr311suVZLKSRDOVVKqStHL+zNwzP1El1oKseJFoaRiCJIS2JSNKAgC+KQ0EgL6nasxxbf1wZWlwzGzYVjUGoWG+cl0oBLQ29vbhRMnlUFwuGet+mdaP3Y0OrW3y+7rlsvJ5LVFiB4dWzmGVm9sBGnl+0/7Dpl93bEpWxkVHIFcbIoZnVq7btHnf/i5o/NVEym6+ZIlsWDTYTam0fBcYFQJQrJk3cGYDJlXs/jVvs9Tkf9STzWTSs49++ztPzqTSqdTMqp279+/bte3xVdtj0WXLZldu3LB61ejZaGTo/KufOTsci91RyI/vzE/aJZc4KSuxHmXUnUgWJudRfNPYruyE3SU7J2U5XlTGPIlkbiqXR+P7d22fffzxmR3bjhzdum16Jf7Cx1uH1s2tHloWjkajw6c/u3nl3OCF88Or59bPFAorkz5O2Jr1+wrRlNs9PzuzaWXSywtb815oSWvufJ7g3l9LO6xmAui7SowQ08RHiJbNzOLkuzmbFcDtU4M2jNunuPZSyG0WQxjCz1ieJM00EictS4+DJVuJg+UOWBMXLdgoORBJZnv6aoPDo+ZqTYHwXuIIMW9GygflluwYMHNH3JYvtyK/zqJYqbbMXML/wwOFNSKOeWc1Fm/igYqI1F8WvAMY/+BPvPkmy3KeLiT6gC+qeqzvDw+4xNe+kVWR01P81FNzO9bdfOfNj6ya1YZ2fuHE1tVXpm55qvqkS121ZXSE3758b1VZd9A2u6zx5q+4pZ4/t/tVTzLUQLTjANl7//bcI1d/vjX0mZe13yA/tONKc+vezjdi/Rx15YZ9f/7k89WXdzHX5ckUzPlp4hLxCPFSN6t4k73dWoELQ6Bhg1iqPGgZjA+a6QgPHgXVqmI1bF7O4Ms5LJDPHD3Hd69I/0hZr7xrrNXMnTL3wwqkQc/eb+rZ+wmhaDwKTWsrIJP9u/dhmHG//EZwsLxsy44P4WVIYxBCGA8OAV+lt+++/wPsY2XbZutdXqpixuny1Pt8ZeYiYJVnjqh4RNChHjZZIEXGDRqzYmFKzGX1GvAOdoAmTPCK4StI/nqjVjUz8fBuGo5FA/AttWwCs6RLkJXwbpcHOVxJe0GwDWczXMBTT+2LFex4f4wUFEPBUjZ7YrVa9rr8ThdNkRRFkyzpYkXWzrAkz4Vd/mYsndkarTMKbw9QlC9y14zPKacZmv08ouzItivhZ8ia29+bGkFkRHShazlF5ASPy+0d9qtuGzxNKiHG4XAONJ7bNtQTfG2+UI+JVHVDb91DIorjRVZQGURSDGdnRcVGBytzdUawawdIcrLu8yNeitrDyS/k4h8mlxCrhTwbbHaq8xcUkjeTmhvrXcJGh1AHONNFTBAtCpkW9hJnkgLOQsYt3SrSJdPbz1guBEbC22uWnBaslE3XyjJk7UZLdXelPf6Hjz/+h+gp8+N5fOn+I7pxOvKymR87SmwivviB7FicDmusAyynVJaGrXTYYbG9NGGmwy5NdHNhN+NcWGOjp72Y3YjzXwlPWyfKOCEWb9ZigfRwKmzQTFEzPDCs17MSwJ2VCWtm1LAbgTRthXWYNIPyEs2nhldgwlyJ88l0j7yk+CJR1RQgw1hNxn89w3UCZ7j+/8xtNUkNWzyVqhXABbI029zafya/lSS3TKzAKa4kOZgIkjZcaCaC/7kc13KfmeNaKzQlZd0psppvStYabaRupIZhjdYQtxKftCKChgpyOochGo77GWHQw4NYPpiXk/hyK75sMw2Sc6bW9YOI8Jv2uz5ZMUpgk/dV9JIZ7TOl93mcfOjHuzWpeDKbGzSXoSS3RpefxbPsBIh35IyV8NQSNm02wV5YlZU3OEKIlg6bUDwpG/EzGO7VLR8NTCjIYksFW3xft/SsKa+B4b2jZHfasSVbRl3R4mZdUISlozk0MIZwUAr/hz4OhIgZSU9mR6kxZMau6rXfe+nFQ4eCuV5PKj06Ort6ZCyZXr/+xmqZ9jZXvHzDHuQbXHWoR2BJxsULnqLNnvV5GRox+L9QHByuSIiiVcUx4HanRpzOPE8j1u4oulyJ+MmhhbyfJJWRsSFF8X/lib84deKja1f4herY3MREMpVKjy9fc3bzRjVbdt96vHMzXb799vF81q02tvj9Kw5LshYK+zSVpjxO59BArXLw8snRPE/emvP5RT/L8gM+b3NlzJ/w98YHbHatHpvoz9ltuYlMkGF6kqA70LXOtfXob6kS4SFmursmCbGtaxXT5DQE0dqS4C3r9LuG7Gu3ZHMDluwGG8teadHmZmPaI5ghXZ8pIjiMfWQMfupxN6yMWwb+cMfJw6FIJHQYtQ+HI8sOdbxPsm73AvnsPMxVKET7fPNXDy8U2BBhYohZ+o9MuTFGbCFuJO4iPkf8KUHUax/cpeIZA1FkFTGYBf7DuwRKqPHrAMzMfdC8mfqvATdMNY3/ELG5NSvtYhSnXpt19Mv7ccI6PMD9Qbqrd/nbvB+3/n99n0Wl1x2LuOXNs+cG873BgIMWBdveJ2MuiRM4++jW+Ye/e+FD7WfvsJ3ZeTYcfebwTmQ7s+tsOHLoEz2ZV5xKdLa3FAzOxWVXdG1PTyI+G2J9TtHhCLlsFJScDmdQtH+EsjECY7exguBmKLQc8TY1kaj2bzyvcBIr2+0cr/IMaaedC8PJpM/PMKJDSiFWkFVlsi8sUDzjEgSOlXiapN2emM3G0Hab+Ngrb99S8gYDpWhe5Cg6V/BEojmbSFPqwvjwxcMTa56pHFrWT7nmV28XhINQss0vqw8KM+FIMjke0zhtNJaIxWfiqt270W9jacEnSRzvg4cLXknmZgWaJGlFoSlOYFmKvIFhnA6J4VzBe7ck49UyUgSGhLe38RxKpLz+0d2qjUG8/QGGsdlFmq7HC7Lk80kcQ1qvLzpCngCJOMGKrayiR6kKoRArfrkbFAdVdNb6XKJkvPtziermuqqm1aVYVhdZseIulAwKg29au0+rA4040pQoimfIbFJG6EebX0ORzptf3ru381vld8rfeIP6Sefhi/+zk3R0fn7H7RPIPtm5ycw3vbae5oD/nIRMFIg9REvE76NUrT3+DvMFluJ+kQIVGXdaaSsisKLUXuRFJJobYbHph1NVZJyJQoHg9EOhVQiFsTyNy0uSK5XNW8lstff5ByARJVflYSRjW7hacUOlZkYjk4160iMx04MN0FXJJmo0fnDxB7zYLN70g4fO3LMSoR+Q5IcPLo/F632x+FWBfP7qQXQ2qSbKH+s8h+568pkbSXJPrIMn1oyZvsOMkD6iHyy7bcRZ4m7iDeJ7xL8SVwkCA0HTEh2lTdQNpUQZgYEOEFvjstghhUset8Ul6Zq15we/PY6gWm4Sy92ewZumq5ZGAFvL4zU51o3vs8bhJqyewazFg0SykcFbsrs+Fvhm04EAT4ZH1sy0WEtogFyBQr2G2bUOwgXGkl4OLAaqUat7AE9i34xIWrwN3A5zSVszzFoyBxuGOBZsfinp8ylyiScdvCjbQwrL+Ioy3vaeYHIel53hQ5wSjFAMing4SkYHpFzQlmIE1lGzM5omJASZLeRKPUM8ZSM5kvEcWxsLIY7RBD7JJDwBl0J58umJQdomCCwlCgdIP+tjKJeNKaosTQI6pmne7aOEMQ4hko8A37K13yftio9FguoTAHCyWhjxnIdyqW555hucjGhW9ZciiYK8a4JU+LCLE1wrsnWXN+5EWnKa9+4WueFAOSEyaODPSgjZ0aHDgTv9JN2XZ5UE73ChQVtwpG5DuXwoSCO8/SJmE6Vlc4imRF7x+HdcHIbGSjbAwQ9y2D1RL2t359YCaHIG+ESQDQBCDp8JF8MU4wnktZFkQBMdTjlAcTTp8EmJggORyMYw7lSPTFKSlkG8kwoON7lYNR7iKUR6KSfliogpxhHhEixNscni6p6kL52ZuMEVk2Z7SNL9VMU2l48E3FNV0If/fu0b9BfIe4lnia1E626sDy88XK1am97o+U1VXDZhz3NlPfGuMSa1jabU1j9caSWaWBcmsFX0PDDjWAJ4sLfvYRPJ9N6N80wnL5v5vZRl8VQstYOJKEJhVwzb1UElMguUPkSarWC84MQ9072Ft8g0gPLevxsfMWFSLVCgSHk1846us9BUL0mwhCjcazkosGEExrNLtNOMTfTY2JgUsGkOVhREKjNI2ji7ze5gQxRywQLw4swIm1ESms/FYNoAC4gOCC6JVVG5TIqCi5c8NKMFYi4hHYpqNJWUk4MC6bM7EOvkNHImn6sGgm6PJgdUdmKWDighp9dF8c6JUGbtXat6ju6iJN7OkAs8TQM9IpxhqilxZn4DJQkiD1/J3KRKq0J2p50JKYhhHbzi4zgtVrB5vYrWIyNW4gJo9BCTVNwUR5IkIm08y4WHwuUpBxmTwsBmEq+Qy2s1b5yH12fsG+m4IpF0ZUr00fz4TPO+L7JxJRzs7svdBDZ0lthIrCZaEbzyfVTXUpnC+YKbyjr5rrEeFjw3X6no6yVjEJbZC/XN8LmeBNmbxZ4HPYLdEX1QNY8LyWQxCjCXbsBb8WJHsIQRScJakZKZ2xGhhhFeWCxmcAJP0oQtJAajHF58mB2aVUghkV+RyQ3kATse//SBysuNe3cwbLancmpvkLIpf0bzFN9T7ZOkgdU9XhazM8O7IqnhjE2IBBLZIM2wPKJQVHXHcxNNzrt8eBqAoh2hrY9+cqHTfrySohzislvWCrF9lUY/N7Er50bFbTdt3DBaTi+k0+nKspQfidrYuNdXujuf70kFsIy3mTHFAMzdLHEI0Np54iJxD3E/8QDxOPE8mrN2ULSqeEI3sO3WMaxnH64unTM3LOnPVaytz3ud7dYdeF/UTc8Ai53GZupTVeMU29Yfq+BNE7vLSH+hrC9/d2mV5btfJeFEYOMmta3fZG4r+m3iBAEvhNwE9J6QjIfwMTOqeczMM7j30V/2Pmrtt8gE2npGMhS8iQlMlBfh88gqWTHqB0Fv3iQbx07B51lF39s0HjohK+MOfkN194Xbbr/z0uUrD1inzSzu7H/4cVx8RjEeeQyGPyrr5aa+oBj5nJnra4hF+FSU1yXN7Yn3mqbmqQ3wMIEUtdAqaeES9orop+Vxp+/wCc9tF2+/8+4rH37wUeucG+OWJ+Huc7Jx9gnT7jGTjCw1GDGPBAH91aj3WRpHpEANacD9OGHIVH34P5CReTgN3laYzMCIhFczHb/dGEMW7/DgcCSPUt6P2OEtT9gTnPA2uDGEH8ZhYcU16t6BruU/oF0/7sb2omMk3/foqoXns2ov71IjDoSCiYSqlpUgQ63x04UwvXwykd+689ZbUioodjtVXwYKDEVKfRL911xwtHjnwMRLuRU7HfagWmnOjQ/vqMZtr0fdnmjU4/Y7GI5jHLtJRNeqnlDYE/R6gv0NFIj2RKM9fp5meCfz7QcT275V7K+vnUl9cRkbtvc66WotrEUVmWYRcjo/u95PqopQldMjvJ0OqYq6rnzgRYQUBe1winsL4eRgz+ybf/2M5pJGygsXX7qI5vDTI9MOzsbPkhRbq3EuhulfTpGa2bHaBi/ltPZOU9fWUfupMmC4IPaxmPvVJaBnMwvZj0GbtaVbxHuiJMODt5hI1pZuj4i3QFFYR/ilLp70ygMWzpE4Np7A0MgydrFMoC7oD31p+jdfebLznY/cpA6R5DNbtn38iYnEx6kvuvvqd/xb5xf336nTmxdeffZ5gbjuG8T+WB7QboRY6J4tJfqrVYxuccDB3KOo0u0lm8DjuLyNhheOmk5YQa1UsDeIt7xBLnz2gN/8DQG8Hd3fNmKmyaddDwFT9QqtuJMgxXCJwEUyk1p7ai38W0R9xjsffuDLv49OI8dL79z9p50/OQQdjcE16I+/ZHT+cPErH34AbXznpc6/dh75/U+gnu/dfX1f+p/B+weJTcSrRMttHhtixRABSoDCdctCscWZm9SthBFuGW7mKGgum5p6c1n3vWss95uxAELCPiS8US3kb7dCPvOwrBmwX5dbcUQbtKZt5q63HmhNS+ZpC1haLCesPO+0/AYFMIZrzGMetSm6AwdZYvggIF+gPrj8lynf2KFJAD92M/nhP7ZhM6rp5cfJjSUae5IqEQpzm5nliF2ceOc7jqCXcFD25ZvXTqZ6voo0e+jlm1eM9Oa/0vkHIf39yMznKrvmK8Nbj2wdns3kaj4l6gvmXZFLs6WF9f3rT59ZX2qEM3Wf2xXxhPJk8uaXC1znH77SXxsevfnlGI+0r5bLyzt/nu856iltGBhanwrLyWA8hoM3mYFgo6LkZisTG+K+YjqcE93xdNyduJ6Xtoz+FpUi+gDRm35m6ziXCMZHnkQG46OIOev9ZaOCzaQITk+j/WZ6mrmhzDw2Cz5GkAdvRwC0TntNjxr227Ac/o9lWTIRiegPzF/yacFkbOuZ+mhtJLkbuZ7jnjx2cvWW2dD87EzfmuELn/77+7+zkTqB9s/RgvzgDiqCEjcuXzF89kE+7j/65HqlZ0e/EF09GD/0+289upmwX/vna1PUemod4SWiRJkYI9YAzjtM3AR2yTPES2S/FXnS5aoRsLcXK/Vtu3D2uxmNuldot2q4c0e19QhuGL6xWjUes7VbVzBRPmYlv5zG6u1CtbUCc9UC0zY9aK0SvsSwUktVl559QcPHst1QNZ5l20tM1KwdqhqM0Nb5Cma0p+i2vr+ytH612XVX1VjPAE++XNa974L5uRQwU2uXfCoRAcYMSEYQJ8ar7cV4X5AvGjFQerGyEVdxpryex2cIFKBcKBt5s8mMqq5V2ovNteMwfERu6yNlowkftYrelPQ0viMFQ1NlI62anv8BuGMb3DG/bQDuWKm09W2ScTM03gKNJ2+5GRqPwP1Hysb2gzApJ6F8i7nBVz9fMS7CmHsu3g5j9rja+p6ycQ98XJRw7EB/tmJcgcEvVvQrkvEENFyuLDlVIgwW7Svw+Dg+y6jUNPqCsrKksuFIEsfp8gUzu8FI4+S2ynCzaQyshZaFpr5NXlyxer15dNwtN8vK4v5dN96FuXSPrN/a1O9RDAXvLb7yKNx371NY6D72CABzwtnEoaIXnoVmdBQU7lPy647G4OjYQXwvo7R8/hAesDoK38I29fXyYiF/8Q6T0TPWVpuYqY+tyH4Mu4HUKtjT1XpSrXqrjSrHhlGyDnBPBcXacFflJLZNR1BSrX/weJvuTmO8z1WtgnlpbTvm4Ck4rRgGJRNqvYoPAWvU4Rl1fDyOZg5Lah7s/hpB1e5mQG+9Bje4WHpF/SB6/GB9Bc0wuNw5hcsjI8Mjry9flqFTy0reYZKzU1OpWLhWc9vE2rqeRDyfSyXzAx6vqDgn61qkXPW763W73aOKjproVGq1cCx1OpNZO4BIyiZ4D6YzqeJAqf/EifokxTDUZH37o9uvF1G58zaabpCpp59+cpZ88WOiN2K7mupLRpH/Xbf6PTT/eCKdiz+WyhdDXv8zgsMuXCXc/tHnZ4IXO2/q9tCTPjL3j99V3X/S+dtoslPO9G9xk16bzOXqKzM9pVQoEo1G3s+ZpW8DXbEckGirjplSsyJe/PunSplyKo1z00ZxrCteT/PdK9InyjjcSBhxDcezhpZbmzGxH9j0+TEfwEyWm/CDzj2R5tgEdv9hSA9U0Di1YVySHQ5VCsT9isPFxbIe3+ZqgBQKdmeyz3PT5m0Ox+G0wipHLj5yLFOYnSi5lJfApnEHS0EytfxwHecLs7b+kY0rtwTvOHbj3r6i01Zz0oFL65Yhfj5TCccO//HHn9ji9xUGIhlS0EhYYa+7e4YO/R2YBxWsmWFiHTHSzSC2DYJ09uMZMC8j5sUU1uvLZuqsMUJgZMoIWiSVL1fnTAp3q9g5jn8nZW4lw0cZBtGvtyEVH21hWqUNyty/kc0E0a+3HUseiicqA4eKR1Nb/IFEVKqf3nsseTger9a7bcmwVD+DHjua3uL34/4z4aPd/rn3205HoC0Rr1UPzaIzmodENi3feSSUBDOV8qFvQJsXmW0PW23eq3+HznSL7s7DmgeMRZgydPr9tkfgDtKuEuS1b11bRd1GVQiGsBPpbq4KR3YvSHeUcVSDMDg7yAuKaJobrdUsEDSqIjVZ+fPPXvrzS19E23/S+dQPfnIeRX70o6+Re6++3Dlv7ZWkmD1UklhFrCXmidPdTAeZa+v+yuI6WQMpud7RbpWx+khBa6PSWonLLFhCQ93yKNilq/H7rDYXb2NZX/euMe9pL66ZXwf3r8Uyu2ysUdvGJvyeqfUgCSPNNWstZIJzPsgqMmUOB1ScCKM4PveIBOmRwdtLGuaWkhGED4eLc6wnSlU5quqB9R5FWDpBK8ulvVSWa3g5lgbLW70RRe0MRd0UsQEVkuSjAoKa/ep9giCziEZkZ46DFtKrnPn23+SdwgpEA3FTHS9P0p98a+NIiD5Fk2+oYJ2Sts6nHc53eLBThUaTol2/R/HwpJ9yKmfH+35YJ0V7ua+iJGLcJM+IFI3YQ9zVb1LvnKJPXc+bP0TVu/ECDLLArsZhINM3jz3vpvHjrXQThMqIzXbTgUbJqsnRUeB3fA5npRuO1ri+ZMbckYSNK3NLBphZwON460Q3tmCes4e3a3ed/g3Ly5g0g0m4H4XBlk+YvdkazvnKJrIcTgrDR51YcesSnc3g++oWEOxueNFEOpkpcqqTEWwu3pnysDZOCEh2koQppnszKH3XLsRyPEK8gydR0kVyKi9GVckueO32XFRykWRQtLEkYrAKsFN0kGI4SQIbDXjWzblhKZBiRyhqc0QYlmJYliU5RhtLsCLcIAo8GYxFsAOCCsCb1hFLi44gQh6K0jRSAKMBHgyWgQKvGKBcJcSAAKHtDtXhUT1hV95PIX+2NOTPrwgyPMVGe2MZ0SU5eTm+0SX6uHSWkVkW3iQmB/CeN1hyGp8sQ/OCEJR9NpvoYkCKYh7tGeKd0vREmETRKZFhYjn7hBaQRBZ5FVYAzaSqoqhGwkOaEtVApUUG7A7+WH6UlRjG6fLIVCmkOW1rnftKzCDjliieZTSbgxSQFg4FSDefV0lSTNnsbspeQNQtXiQ7VSePujbIj0GeDhDjxFNEq4JBoKtqpiZdz9oq4vLQWIV1wkc3mL68rOfeXcpYR99mzD2LS8us0PoyK5HZbvnuJ3CWWw6ESaEHwMcy+fNsJJ4s91dcGH6EzOQtO45KE8YQPnav3G8evPQG4bFHCj2Z6/ZG4333uIiy5oY72qTCdIwzs3cx7WVVrMMaFCbUtJVDCGCjlB3957sv/fexyiM/+6g2vzyGKIVzcCTbh9TO//sRznXgPjvp+oOvqxdWydLEme9NTqDBk0+fPPHsCZRf/cr40XMfP79w91M/uQ2lnjhdJZmgw6PZfb71oxsQevKAoPbEv9n5zModVOcfHjl2+Ik1J0+umTt5squvJ6gxqkDcSfyMaN2KpewFLAz3cu3W7eaOF4DPbizw+qFFxgU72+4qMJy1MLxwqx9nDkDv8IKZ+jkpFBdTt/r57hXpd5V1/t2l7SZg1uuVFr8dj+MJMO22m4lh+ljFmAM8O1PB6efYo3QSA+mTR0CQZkCQZkwg3Ypn8H3xoFA07sapY9vxFtD+8T14hebkxenJWfNk4oyiT+GQy6I/cvRW09ezsBfAxNzaozgUMyzrs009peiDZkIBaEUKB0pLZD1TNY+CNeMwmpXwaW4IGyhxWLWaDWZGnpWrzV0fAzIDn1eHQ6zQjCUdMr2MHistwTQjYfFxHk3UoWT97p0uJyL99C0vDp75+Dpn1MH5HBo+lNemhXqaa8rrZ1zIKbUzDQrxgk2USUHo5WhG8faEv61IPWPM9tSm8pDicwu0JyRQCB/d6xDIsZUTHSKsOp4LIqenL04evotHdsHuB8lti1K9qjTqVNQQrQmaTRLsLO3yR8J/ZFNdxV5JouBl1wb8m1wBLii74pLLE+z8e7GG38ktqo26imJ2p+OIl4263IJI4TNdSeAhF/lVgiVkIkDECaIh1xoCyqj4NDwvwvttBeRtIHy6n4Dw8XgcSaGNnf9C93I26jFB6LzWu21bb+ezaPO996LNvPCLG3nyEpqnqClyHCmdH3S+IJL3UFTn+6nZ2VTnJJo5frzzFoVuRAnBdvUdwd7dRzFPVQkBMEIQbEm8W2qBOIDP+NtrZmzjix9fNmJxwZWN0ATeDUW3jfAQ3gt1sKxvfdfY7Wnjow2M3VuBoCbX791vEg23F7P5XNM8B8fKNYEFxMn4gLvwXk8OlEkZpRtVLwmqxjzExe3BufvZDFViUdeiKKIMYDMF63SPtWcU6vjUij6sBXEQTbQj4cxTdvG2iTrLoD5GE5bbGKbzHcYtLEe5M5O7f5dkbNWdUmjPFntAURy+yMuMLGuybEOTf29zuWz30bRvnGZtaZuHiTo8QZuHzc0iTvCNgKKh17u+/TGb65tiOzPjFkhJYJg0PPnqP0Eh8zvf/CZ5VKGYlS/7ez77m0hNcDzJu9Bt9my6nC8mO3e5bHCvxJUudL7mZlSGsy3zuUCU20YfitkEwTEf63Ek3ViOXLtGkPQI2gsrsbJ7ijBlpTfxFavKmKnlVrmb+URXMJDDHn3G28Y2N04nErxtE9oBoBshzeMUQdk8RKUfJrcNfBv+DGy7fu4f9ROqH6gvTtQBXb9BmI6BpbxlbZgiK0x1Mx2dVHupOVKjncVFmysQTXmrS03zcKXuyYlLLktBuCQjCq+QALXQb2X1D/cnQAg1JACBZWMYPvotv5sN7661TkzHu2sTUbyvC0xYvV9+nabcoM6w/TvcAIoqVGvmYRQB2fRSNfExNByheP+PzU/uDBEjuFqmURuImRu/SjgMW8t4a6NMJcL87/a+PM6N675v3tyDcw4Ag/u+FlgAuxgci71v7pK7y/s+xVukSIqkJIoidVMSrcOyRdmyKDu2JUoy7UbGYFeSJcs25UOJLSW244RNmzZx09QWnER2U9u1UxHse2+wJJW0n376X//oHsBcGAAz7/3u3/eLmzvkdtzXqHkEfOtvWre0/oYHr78J2DcB/9qHr/HgJcHicca9nd6402MRNp7eWBhYNzCwDmSe+OVjj/3yCdpC/whEW3/9I9rCnH377bOUjbp/YeF+ynYpUoq6LRwAnMUdLUXuuHgR7NwwPLxhGEOLXL0K59oyqH9VOMP2EY8Tf0k07kIzC4Npov5CFIDBfYn6blOzUcQdY7iLfeHMYakIVfIZjL7WOHMYSnHizFkhu7BmE9qhr7E05zO7i1Bh4EdQfwIHC9e7m/X1or4L6odQUR9yNxtDu5ACGJoQEHIN1gG3y0394/B5vRte/3QOXv9dUkOi12BYRLlRW7YCLd0nvSqY77r70ceMyP8ZXL4OUDRh0xoJa4vdUsM9NoSdTTQtI0UsxF2c0YoTRxYlKBkoHwYECDI5uUWjFXumfmhdOtqpQFTQnqdSRnGxUY6mIbUxYJRAGsYpsmGx/W9UwFyrRuHgS0qAMf8zSH73W4xC2yWb7F/353s+2/rFYRYUxvsqy30DNmeOj3RxtHhcAtJDGz3Hhk2SiadJu01k+dWcRbI5BQfdU4kWZ3f9m1SEMpMZaImC3uAGcIGkPWoybhJyAp2MQh+AZKkEbcpLqsfJ0qCT5z45TfIk6zZZJa3n0C6GoUB4YqdHNVGMNOwKUvGwg7LR0OzfuI7pM6ly1JrlS+TXvFnFKXA8O8UKnMVlCjADdtP2g6kCac4qOX/Yw3ta+2laYk0AkLSZtXCx7QEaUPz6qJmx4MJOQDBXW4TMBMkDcC70EmuIbcQB4ocEluH6wGImcCvbDuv3UM36/mJjP0pZ7aSbC2OCB1UxjsHZ7tyAF51scyEewotxlD88iEPqEXsTFe2jsrh1Cu5zQ4hfezzN+h4DTk+Bbtst8NkaQQ1lnlClb9gA/IJmoL5nO7I7NmwV8Wgag9NZ97vgKBOkOlfT4yg+FajVd0r1ZK2+Xx42E4BVIinr2nWbNl+v/3CpuK9TMwxGaGi0XZcEroBGwdlU+ZojA42JMuYhANeQpriP1DPlAYEHGd7juA5HRc5WC9Mm8NtwnBSow2D/9NL9+5d+mZnRuqZMLVM4Xs3U0oKlw29hWYsfOgS27kBvuka+Ax97ax02Lh20cqwlaLfb7HwEsJPdxcnJYneumk719KTSVXDv4bm+3A8U8Pnpffuf3n9am+jPfV95CJ5BBNaAzWa3B6FAYYCjVGs9Wqp1oB3G2ULwHSkreHDn5OTOyTvSPT3ojIRRC3cV6vQQEYAaHSPgtvuusNcfLCD5jFQDvIZqyYhYu9R2wizljGRJ6LiR5/YB8OLt+z4rS7e/+OLtPH3lLwSB2fWx/7H/aTjcyDteOrP7pX94CVlcTxmy7ddXt1C/pvJQd0mEE75vwcAIrruMCqA6YzyjFBJKGBllRwuCXXG68R2lqqmEWmU4lUnZQVmtqhJgcoBSqmrVabl8GVTf/RHIv/NO60/efXfntndB669AEqRb/54C5A92g+ALz7/7yitvv/jlNz772dFa9TnQ+hy5743vXvzwv4Bd4Ln+IfipiKs/YI6TUWjhZIguOCu2EIeJE8R54hXiLeJt0mSgB+orX4W2DWIfWb5owK9BC918c16VfHy2ntV0l9CsdxYbX0XfqqHh54Wzn1v+VWu2XtX0s1xzwRJGa7qFbdbXFlH1P29tLrBJfMiLGg6BsGJ9PHxZqn9S0w/Adxk/gKTy+DA0y09/VQxfKtS/oenPwDn6zGm045k7EeTet42ucw/uLIdnjcDZZUYYusW6GbeJzWe7K4MICnMDjjzXNxip/TK00/St3mZ9uDi/aWsP1MVrHfCTFfRN8GkrhqTSp+DuI0XUhX7EnNWfg2e9E0XPz7ua80ufOwK/+O1a/TlRvwAVyUNF/T64/1Kxfp+on3E262cKaOk1eJZXod3xHRTutkD1wCo+rB6gRdjIl3JIiWyVGitXra5hNCl9HLWbPjcFR8HkstvOPol0/fk7oSA4+m/g9gtLJXnYdPqeRx/75Lnnv/rWN5DouE9qPPy1N9A5X4Pqp16HksMFB9Fr5crSOx48gxLZ+ufOQrmyddeehwzwwAWid9PC6wYy1bDdNDgyOjm17sjRe598Tv/a2+j48QPwRC/X9NPPwDe+5y2cmy4hFEEVlXribrZyH2nUR+bJqlZCSWYbyZQRDEUMFVvGypoRSEXQNxWjp01FWZ9UzBlDqSEkYdS2PCm3X4/LrzhnUikZcRrkBMVSMTT/UDNcChXGtOPfnAO6U3SyHLVxCkLaoZyxMoKQTHWjUIwp0n9w2Yb+lNL6K9qWCq4dInt8gfFVW+7oUd5pULaOSChlo0BiDkyT8GcazK2EblH5IBmqZb3pGSC4suFhH9hXFq3AK/n8Mskrkqhw5AnoxZNghk9Hx+jcQXo3Q0bGZB7IUvImi0XyeW2mDqsCXWsAaC/n5GwMT46d333oyW88kc0OD2dfDeW6AoqVN33R6YnLAxutrN1T7lsuS0EotqR3NmpxkoxrKYs5F0qpr7/b6Q1M75dD+S5PMfPDL6qpUM5sMc8ODMySVCzSIUqZaGg6IE92ZEsy4CY8Xurf77UVhVIvKGU7JuVAKOAPBc4PCooUEsM0ABTFCVYZ9Lz/fuvZb35z4+bqkCAMVTfj2DpwX52hijimvNLAdzM6swSo+gAho0Ysu6YDulm3QsPaUajLKFOlSx5UP9yQZFw0bIfGE1dsyLhoWEaFUk4sUUEZ3rVKH3DCGxcAmjMmxSTgPv/IjmeftbsvXboEfN/asf+pb0XcO7/V6gY/xHhWKCbzFfh50phJYRxa/gdBvl293ic0G5NIcvvRR+yEJuEwWhi3ws0oblDhKUR/VBEQqlR9JZqwW6Ad6O4ch3YgfgT1Wwr10GU948K4+xlxgTBCCERhPp4JQVFghXsyol5AZZdwsQeBcTPGMZLRxj6lInSKecvUqC2rD0KDcrCgj7qb+iGk3OOI5SiaLPehSVaQXrP5O/nuCmYlgjORUtxeNM2YHkzloY8iWNyhcZSwqvQh8hkCigJemk9OTGE2hi0rURVBHEEXSsMmqzMU7Z5eumn3HiN+NL9334GD6LBJt5HBHke2RFd3u4kUY4PiNBacj9DGhLMpZuBJuoxJCa7XhVDXer2JtjuAakgVTXIGKdWoUxgisU1ZAKUUhsmF0/l0/e67NwAauN1LdnJ+sWuAovPVZQe60n5vvnIyGwhmMsFAWltaKi3VwLLCeFfXuP/hQpUOJRMWK0X7nCrHQRuSoVWaBps3n6r6hjZtGhreBE0SP7130u9ihOPh0P6lhRXueDKeco6DvaOFwmih9QVfIuHzJpPkb8cL8LRX3gV/04qAk62/A0GEv8TzvLDLCiirlQIf7N261fDteqidVJigoI+PanKr7QphXjMwnslrgHJGO7Zc0BWklkkCmmsMa7HaJSNr4gECqXKMVGZUrruqcpiV5jcP/6C1HOg/ePjhn//8u+BX4FctsSWCXz10+z9Tf0f/8+0PwZ8bajYQFks38W/bvXN2c9ujVMzNBbWAGuYWVCsRxoAH9SQagGG8CupFbGpaoY6xYmQV3QvHor+IUsUxuJaGa9liPW2wJHDOpq4ZGAnmC29LCCOBrmfztnrnJT0Q/j1d918i5/2BLMY8BHqgs4194EUcHyabQuHWyRhcEewyjQ3TgooxN0RrDBU86eEkHJ6OIByeijTPAsnyr3rwSNEVrojJMMYqqgwAqepsD8FipQpXGQmt3tBuF/0FmPnFL1oLWjYU6fpjuzXSlRnsBq2/tlujXTd21JGO1sIv0LFXLoWyXREeMIkfMV2RUDYfonlwT7H150xXm/9gmvwQ+vQMIRA9bY4ahIuns9Y2QZCA6mJMi2QHdbqISA4Qgi8FJ7X5Gg9RwklFpAj54ZXvkeDJ1tHXqfc//CH1JtgHvv0RnoV+YjvxbaJRQXEDO67y1tWhogG0ZzyYkYG0wggvI6qi+a0VM59dWLakYobSNqrpywT4gXbgW73a1WysBkisrt4MhexqEceU7fZmY9SOto5OQ2F7EyK6AtCqoPsHjM6m+crQHA5h2uW6Gd63rXZ4oxS4s75EGjYDwhPK5UcnN0j4mGXyaySV7ZyeXY3WVkj1OXgT+ykUZdaKfUDSyrgPow+Uo7j/rhrjJBdyTkmUGw2n8rRqaHNU9QLdiqpxh1HNKup6TzGC4s8GnvozlmFOc8NKYKIWz8Xdtjz1lafPPrIvkPUrAtM+pjX5FF6fGb1nxfF4ZagSn6wF5/oPzx3sGBzqEUxTs/F/DO8Nr0tMZDTX4Q//+4/MN/vS3jtsUXmW+eAb4HuuOZeWmUisu37MYbyhMLZqVhtz2ymHowACc/2rZ7QRt4k3mZV8HOPVLzBd5HvELGCJxgwaHJUeaPdOWLCSw27hsKXZCKCFqKk5H56hoELBj6A+h2/UmAujPaMwTgJOz4RRfVh0NXEsGk7BD/q/fcaAu4WT2nlJ77T8vl649OYvdnznOxieRBXnoYmlZOud4nyus6Bk5/PosQGXr6OV1PO1BjwK4Za8phacrs7cIl4p+BfrxkweQ72zVN807oKWUSetLRCu9KD7XDQSD2HUDA1HBOtNFPsGR6emjeIH0ahUU4Kk0eJWRaggqKjH6Gk2bjCnGigTqB0O6gUK9+IbGAcq8jzB+xdOf0uzH3NGRgo0NdaZB2I2mb778PFd9w6vyY3lB2ir2S1GlU7zLVtnlh0hwe67MrZ7I0+uP3Hx4olVZxNa9QubL3wWTL1/7+3x1u+6tBQZT/b64n67teOm9ZsPHc8O1jqtqgz9SCtro+I7tuweHdm6LQLCs9sufnBx7eQd47MExiTirp6l36AsUO7K0BdzQ2/skFEvVyc0QwZb22xhyC0Di0yMuou9VuJnhrLAohSxZ4FA0W1e6ENwbqPYjzdDsUgyDpfbg8UkIuB4VVacqteHL6cqaWqkigo7Is6yM1IGXAr6clUBUIzEvSFQNeGVr3x4kVrfenn5utbLQGv9yWqwBWz+GdBup+7n+Q9Pc/SZFUsBNTL5zn/58AutyyDT2v4z8HftXIuBt2SCFpPxndiPoImZC7oFo4nxyL7gcOkDcIIqJwCuSoF+kPv6d8AjrfG3gleh3ho71fr7/I9aS8HZSxdBf7vOkEa8PXF4/h6EXYUwDeoJTffBGZFC74MfegDWpXqHBV6ymsFt5G42FMwcowgCAgFDNEcJQ01hcj4FFd7F4PXq8MHPJhQxVrOulbDXkRykh4ATY2SjXCoNnYI8k4IKRFJwU3EIcEwZY+ACbfWePWu83tr2/rzbBkiKs5RGJ3tl5abP7ZgMSwBc+XiUpJKpjMu5GtQOpj9ZLv3h0MEl1ZCDok7RoUx3IWmx2O0uR7SrwyPT1D5TcWhqoiq16tTDOz/cC216m2gXo3O/GciWGIa4AdfADr3nJcR64lkDqVZXqGYjjAkKbc36RLHRhST9eiNEiZfzBsIS1vZ+qrkwPGVF7fHDaJxtwBdNtGOaLgRngFDQhouNKQygOrUEAahOYQDVMLyaeeybIgCEqgvDJKltPqGNKIsFncj60P+SEsnAgihLGA2CdSplOFuHANTEJTiD4fgsIrxOJ8pNczEnAqLUnBTOZ6VKeSoVm6uSf12dm6teiVbnklMa+ZI2NaVd2aRNfb/bHyZB0G4vgq35iZiTIuVALB4QhCejslS4/RBtCbkVAMxyh2934fo55lajE7RPc1cwISvQUTgZS5FkOJjN2O2Doe6gamLAl0IxuAlMwBOkfAO0JeJ1X+Ogm6ZOQv3uI8rEtnaMRdF0kW8aEb6QpW1daWhkVrCw9ouY2QLZ+JzYxNDwBT/Un6qHbneqmkQF93doIbgZEByO4vYDFFgjUAtQkFadRtMfhmQ0EPXp1ACuKKq0S71OvHfya4A5dhNgZHfGHQ8VYz2xrtqdf7L3oW1eL8m5PAnZZDqxZuihtx769a9/dLL1u6+feHeAFFSni53h5MCI9SSw3fYiT5m9ThksF8CmlUdvu+3FF2+7VhOlwzGYJQ4QBumeZGQpvGg64geMOCK0k9aduAPcZtT8GsXKC0kjTZ1r1yvP02xHBmc7Jd0fR19fkKAgg18fmd+Lph38gpLRfHkNz6ZSSpZxsyVuj8KJ6nDyE798dN3M8PiWydyS45vnzsWcADh2PXLeYT1Qoz/xy9Y//PJV4Pr5A57Wn8W6I7vym/auHktYxz7zpmYa22J3abscoeRjP3/ggTa22f+g7yMjUMYhZotRYg2xj7ideBy4jCjuQrpzYGRnXNUaj6C1zNCK3cdQOuYB44Lcja4FfrgFW/ZPGKaeFwWdkH2nO+zNeZ8D2mB1m7agGlkbudhQMZyC6oCzzYFRy/UUPLAzFYQHRrSFtHFgoojAjNFQ6oV7R3oLPGKVWBjwYoDzarHei8Eu9Bm4d9XMGI8QFxeWe4k/RZBIODe9F+5duxGqk13epr5lB9Qxu0R9P9x4RDISEbv2wum8E96OBzwIuUQQqVihd2xm7Y79R+7A5Li3SK8VlyzdtLl8wqDlK1WqBvYdSvwgHr5231osilvdoKmmFZ0uBwetM9RngIAY0BYjZYQ24tdVikb3O8ciBFN8FNpEQpVfZlF2oaTAdRlZAHCtUqomcQ4bFUcHcYo2WS5xLCsIrHXYBFiatJgBSbPAtNLE8WYzz5m2UAwQTPDPJAjbWEA6SMBx6InbTlKAdJOAIln4xG5nST/J4ocVAPiSIeGmT/B+X+9qsKa3dYIVnhB7KKrPaqtR3Jhnp4Vl72fd2ywcZ97udu9iBOFo8CTPc/u8ybU3B0wm8VtF717OZDpDVX/stljCP6h4ttksFvMOb3rTYSjCgoc3pcn7gd12P6DAFlluXaDAPZJ0z4MvTptEjv7kAevmBzZbuOriPCT3w3kYI7a22dUUqwFPrluszTpRvLHCLI57y6wiqgduWKNofFnNULBHrYstZsix46AbxxWQqiSgzdEm/ZTKRooH82hJiwx/1zuVU8my1N/R4fUKT/7jPwqCJ5qZXTpULvWPV6rROPTFzn/cEYuUtZkrn7tKrPO67Y7uz4UsFkkJhRLRJWBbe57NUk9j/KJNxM3EUeIe4uPES8R3wD6iMYW+2YNQqK7GsNLQZZ3AtdNQup5CIvcRbeFOnJlr3HkKfZc7i4IRSVpwGbPwHLoK5xZxBhaOGlsvorDNN9si6ruFehBqQCiRLbZicX6rCGeaHoUXI1rQtxr0lbch+mloX+8uIgbqnXDtXjiP7xXrR1Cw5yC8sAcL+hERbcJ9Qo84mvVHRP1luLgAt55BRw14mvr34IatqJGPd61DIv+ItGDO5GZQJZ1+121we+ctR9H2nZJ+6Fb4fC+GXnpcml/64IUX0ZR7RG5UliBaj/oZqVGdOIeWBuSF3vFnL76FbcA7T0Gbpm8r3PxN6bXevXseevgJzEF9UX7dFsxUd+3+g8+jN2Nd6M1eXsAKRkE1qcXF0lODB+Ta3S0pRmZwCKCqt2sN6BhDGHHl2Sh0ZBTzDeMcY8rATKkaPYaalEJhOG4x3UsZeSA4mKBXp2JNj0I6yKAqc8q/xEEyPkRJKRmAZ8avjYkZzW4krfr9gkDT2WiSosy5hNWqOuBEYulR2iTmoLLr7nXI4UhK4EOxzhgf2lv1+niGJc2dPXsH4lmOi7g8JknucqdFQOajMfODpMVVu7c2Hsxz4tCmoaFNPpI1BaqaqNKvwxM/NdQvmEnQX2Y6EzGWy4Y8QEhF8xzX47CDhVuimsdCsoLkDCsUlfT4XCz4o3jFC88dTydFiaIco908ZbL7/UHJbm7FZNnv6+xyOsmOwVjIBY+W1YoldXPW0Vftht9CTqsOC6BpEtHfACoSjT5qs4YDWQvQwOoOJ2jdt2nTfZtaKs/bJK9wt9Psk30M8+9eACaa/iQAra7uDmDqSiUFoZpPAcBnw1lb64NPB7JJG7CyDEtxIYdfkQWzpTt1LZbw39r1zm+28TsrdLNRGURp7koNTq0JJGCm20yZC0GD4cmoS7C2NxqY/wu51CCyMXNWpLtyPNSWePu8ME3z7UfMmgPtoqQHoXs0kjjgkOQR3F4RFbhB/bWwxCjeX4bAmpJwzCqdCIapvkRqSNk0tpVSOYMtYzoNnztq143PAIJaiOF2NBvJZQGXpbgYGlUBaMNX4dBlUM2lIdHQsIMqKHI9ELluhHxjcuvSRBmYUgF5cDJ6ak8OLP5M2WWSIm0rOr0HWgcoG01Tlt1/en/yQm4kf/5KbmCabDj8TqffSb40etOyiT4b4tzjChRvEqBVb7H3pO6Rrb7l5QJHAdprLXHWdKDy3A5yNXqR4yN4tiiPN0JMEauQtY99xnGqXcUWS2qa7qGaeihTLGKOBeMB344hlCJebUBf2TH0FbQV6gNFfYWz2ShgDscCAjZcIeozyB614+JevYAAsQQEiGWXRyensUjxjKNeRTi7CdHu6yxOTWNx1WtCSMDx2r9Cv3KpFFvFncjwEvsABk+qhEB7g2L0CBqNSi4NufQYGStFKThgjGb+DXG57U/e/h/Sy4Jdyyxm3lL+0p4pt9vCmy0nu5eiDaWX8vEU6WQtdC4CaPDgqyfee3twfMU09fGf3ny6h4q9/hEsrEd+2kNu3ngeTjMHYFpWkP8eRQKHDNj2FvH87eHhYSpuhkZZpBucvPXD92UvCx5qPTvwF3ffucfpHdpLEIt+2C/gPLERYaJEjBH3G/299T7thnBbFT+gpoDOYIzPfp2oXr1KdBJ8ex3Ux7E9SEOtQmPMab0G78wAbvoe6BOyOOY/QOPOTrPV7oskyga9aWcQmsyEmXQisV6V6lakpQ00ElSlCV0DLM+hq4DT8BQGGYuiwuFYHuXDokwFIxVC+xk1DB8STI7VG6ORc+sfeUzdfNPmQMCaObplo33yrf03fz3y2JtvPBbbsmrK5QR8YNUM9Hrz4KWn1z9yWAAmx5qNETBcP+sJheNTj9wZj29OffLKfx7/+IH1LlWI7t37+MD0qlVU8M47HYGo3cYqGQ/4Jjzku/Wz3mAwiV4Bxzl9dQXZpAqEg8jAcb6JOA792kYNRUtR2Mt4mMb2822F+vBlvQzVaazYGC6j6zSswuuEGADLw9BhsIQiqbwZX6PpGrpuUoxNFfMbdx7D5mnVgYujUUF6BbdFIxgWZbG+Gqk/ebHTXbkGC+NcLErAZTPw32jecC1CtrAI2wcDMOG2BA031LbbrlGhJMv47e+5UKBRfc/mo/h1DGvxrtxEUjna42NZp/g0/Zii8LwHkHZB4Pn4TrcMulj7A5yVoiWLp0egaN7+Y55XgWA9xkmAVGy+mpWmGNufmATnzzk265XtzBCnmByCwq2inI44uMjzgiCZQvZk649WRDjS8/6VW19yUuYow/xHG89QbEq2iWaw1WKWxHkekKJ3Y4DnBPiWZXKfxSKK3xSAzT0bMps41sZM0u14D/kTKI92EB2EkYxfSrfZxKPYxrypgOwiQo+ijueZbbjWkETkuxWiikEx0WCLXisEMUDYVIRWYMAWoHp2DhkUGP8QuXlFjIxjIGXfiHeTR4RkWRBlSHIE0CO1vCpLNm+HSEPBTAOmk+RJhmMFmaxudbkOHhcEwJImnuefvWfYkTZDWT2yPLdKVnLJkRzDWZLhHC8M71V3Bbq2TYb4vHUVa6HIWaDNmqF4AJTNyiLiDTvHw+8jUAxtctHATXIMY6vZaBO8bvNPTbvzVrPcHejkOEvMpfoC5UQI8H3WGbvbBkf421cn6Xeo7xKPEs8TXyKgb040LiJ58arW+Dy6kp+BZu15tOEPNZxirA9dcyIRi45BOzd3ja59g4Y7jhY+9cLnE1DDfopvLrz8Cbz4MmKie6NQf+yy/mkoV14o1h9BaRzJ6HD/tKifhzrgQlF/Du48V0SFBBuAIWjehP+ffgzeOdsZqF3PS6/RVvWBT7DYVtzwHJL//vLw3IrEjlvvvufiAp5jn0LtbSfvhIe/IDVOnL4bqeWX5YUD+4/dcSsSTZ+QXt22fefBQzehlQfkhVXK6jMP4wyiVK+2YSuqiGbEBu8WHAWoqAwOC1RPOki52iIL7cO46O2uC/jrwjgGJNwaRD0WVaRVbCQCVbIBvMlgqspj4C3EdAvHS7seLYky9qhHrmo0ycVw65vWnvVVDcH+MWj2GiwZXB5wQ69EfbJsohkW+pOch49RAW+332L1Rh1ad2U0ysi9/RsyXWu0OM/ZfY6gnLdnOdYfLiZyYiqcndugfq+7C0jmTF6WZ/cNB/dpzpUJVgwAhyDa492z2roxaA5abenOVKVjfSmRSM9VsiZTbiAXN/VZtvQtm+l1hLKhQ0p628TqHxRzzN6O7Pi2tLJv927Amim3aVAlGYEJTShkPJIMDqiazWoVzWZWZH1LFLGzx7Nq2Cey0EbOskpKUmLOYNxuT3T7JdZMWzvikhx2a4mM6LQDKrxquda7ZSKH2jzMYnV3Bxdh5P5Qz0rVlQyxshNIYtnlYdyqlSTT7ojbaneaTVoG2GgvdfjkSDoVoJeFslfee34kumT96CNjXd2D2eyS6Js9PT1X4zGzQAM2TVmiNreFa+NSz1IrqTKRJD7XxvILQiOSJNoZUd2xaFI6A3FEs+VEre+pAopSYia/c//0FEZgJ/N1R75Oinow8nsbCpowkd/D1XmKZJQsM0+jp3pQnHcGHUp2PoAeG3DfjWjsDIXZ2BiHMxCk6BuzGURXNwuHnQyHGmI3QTILcd1zzOICtDRx1AGxfNxlsrgr/f+17zPpDsEUCWqtI0Wwo9NkCvmyrc90gfqwpy955d8GY+sHYzlyV2epQyZzXZ3pJpXLpSK/W78hes0O3wrtixliHfGe4QMvmIxmdESqtLDWMLtNKCxLmFBjOsrnLXQZh3ShNnaiqwOVKq1HNkZ9aVFnxea8xkLrQ/ej1G0BMamjOBTi5R2VmvVRUZ+F1vYqERU2zydXzcIjO6Gq7SzoSegYIzGh+VF7Go+LAl4zOZzhruqU0aOwkO8ZHl+CRMWoDdvghL4WWofzttFZ3NPeJemOYaOmx8Ck5hbh9pLXf9tQe4s8dRhios1C2f51uDBuDQoMQfcyyVzrNxnKdQ5HR3ZOFAoeNRFduayQCQVF28pVx2fnRguJ4c7ckCncM7Eumd6wpVsLRezkMr/Zuv6DRhH6VXum9k/Bv1s6h4c78+GlHZnhVDLpVaPBgC8RT6bSe5YsifhL4a7c0FDOqYqD3dlIJJmORNMdnVDZDO4oa1bbqvseAPaB0vR0SZueNu4f+Rl4/9xQV+41UPAMQY5LXOJCs0Fg8rigC0GQ21DaNVOouy7rThdq29MBFM9Oo65McDUR+5HuBBiKqx6RGjRrw35PHNqBDUF2GG2lqC24zeJJ4rRYjJNiUklxqDdQtkI7ZTdvYpa//MCLlc1HBiaOBkkzdfQoqxxesueuu3ZM3SoLVOIk9dD3ntt6bkO+plFc62Hy9xtafx9yT6579r4Tn948FXEQ7bk7QH6OChN9BKFgZi6XCsU0176Z3OI9M4qC46kKqgquthkGb7jrpPljQ6vmvr2GJFlRyMaDoeBkgA8GS92Oo96NS29uNXcjilHSJAfLzhctlA+6RwG+015TK+Anz+wpqKq7kI6fiAIrglBlOztdTtFmmfzUCmblqVCnudKRzKSyXoq30/EZV8Js4y0MNE2jOD/3/wpfOE1Yr74JP/0dGOMYZbtGiUYKzfOQYQOgQuEFN+bFalMD25oYikKv0tB5QBre1AaWqxVQhoswYOKLLqNHEJQHAaosdcbQmjIAoLcG7wyJ3DVlgMQ7AyQqwrG+8rtXwCu/fQUEydOvnEIQSqdeOf1j+m9B/3+iqb9tffdvf0qee+8cee5H50CvlqxUklqyXAYen+KDfw6fr5XsY3pmZ3voHro6NwueAEkKkSPDyxfIIJoWXGf1FL2DbBAhIg69oS7oP/VD49LgBOrT9DSNW1QxhE9YaNbjBku0kRcNCKjqxGCucUc6LXDyuIXmApSgcLHerek5eADqhRko1JOX9YwHl1QhrIFeT3OR0O/ty7/6I6w1/Hlb3XdJ5xy/Z+qRS28OuP6haSTKY2LddEl3CL+vK5eYOgdNZC4C9UYYPSI6j3jMhKj+XuVMisMXa+fBh80cj9b94Ugsnr/+g/j/MqheJddVQ5jp8/lCdxEJxV65ES1pBs2fZDBnhUCkDQcJRWQbRT0FXbYko0aGwGJgQoE3EkEAkO11r+PvRQ/tJp/nTBGBtsvkHbTbfuXHcNstf6T4wG2DoElOXXmjOlOpzJheeuo/gefde/EKecbhVcSdzjAJX8DwrRN22WEHr3k//zvhl1d+i46ogH/asmVL6wt4GfNZE8zVl6gvku8QdijdgtCeNTrBOa5p4L742eaC6EFE8roIF0kGLdZNmk5yBvJnCHu9nNKEFxaXC3kUDPSKKhhUuKgaeW67grFgdImDl46kagh/vk7X6l657qjVVUm3mGuY59QKJaGIDmIFfBDUaAilm4RbAsEaToKjYCPnjJRTsbKmSmCArEakAEhEpJgzxty2tmcF5VvRs/b4ldwz4LZWNzj34TObwOz9wxt/85uNw/e35sHQ8uGvP9N6ZXj5ANj/DBzDV397NU9+m8oQReJjxBeJV4lvQi1NYFiuRS12TZ8paqUqL0IkcjeAqWFa1Rvw3ReVoeFMqqg5T8WwgwZ4KGqvwMKVzYJr58CO1L96Pfu/Oy3CiVFx1KWoXtuGwMgxuLVauaFtw+RXNTGWCEtql9Pt9mSm9kgsu3tFWnW7nbmax3fglpdGB/q6NI93xGb1dvTUpu7fsJ5lbL7lyze6WC5fPO4XOZ6SknEp7VZNZrrTIZGUYAaqGip0dVHA7hEyUYFnLXzAL9k5Jb5JtIVCHmgZcpzs9Lgk0W622XNuV6dJBmaGdk34RatVYLmXBJPDwcDfHWM5t4ejzTZJca8bioVsaSWSiAkfW7Iy2uXzt/5dt10GcZ8v6187fa8tnd3UOHoUfvYurdLriYZjZb//ph3n8h6XRZVklpI6JKeZVyVoOwfSKWgjR0ysnUqGi4Dhgk5nLt/JQ/M+ZOljWZp32pNxm63zD6xhX0fa5eB43pLXOmI2u90OLkSnl5yADuMfr3A7eeHKr1Wfakfdxz+0nF620i4KnC8w1cZR6qHeh/rTjpFj9i5m8ul21lilmwshH8rSt7UAqIcNflkP5pf1QGMtYPT+BkRU9qoLUMQhiyHgwYRUqoydNF8IrkkOp2gUEf6LtLyMTChoQS2Kkr4OKtzR19fx4U87+v64/rt6/Xczd1y4444Lu69v7iPLaHu99QDaccdi3y15MxUihogAAW1c3IWWMwhljCd9xChnM0Itxtg30kqDYAh1HKrYuw/SKmoOwz3wOARgJ+FzshbwHOOdEU04ZOdi1kCCZ2KWwkSv38H4BihgsSbFMsPmHXHRbrVEQjFZTYopamM8LK/dkZ2JK6ZuJpToN585Xo3bZCdN2hln0GM3S2Zbemmglqg6+llOc5fStWAyGE45nILFzsogJYuMc9Nirn+I3k1FiRFiA7xf9anCNV6wru6kbECoBTFKGnQTKig0BG0HijV80UGgumxUKs9g6DT4zWUW+ZaDjHEl0JcVlJHurVuClUJHIhhUPZKFs4kMf5OyuUKbSGDiFPILnLYmbBJZ+YBNNJXGVkYCxXBcifE06T72+BdG1q72dmr+noIWK7gzVpmhkt7p+3uKnh+DgYMrxkQGCDavJxnKR9y2cMrcBdyM00laSLnD3c22pqO3LrUzYcYOlMDYSLebYz3eQrDfRpK9N5VthUGy+Jd/mnQqtKpo/mFXSGC+OPiHMu+PLerzfrpC+Qk/1OclYpJYTmxCeId2pM9HNFDfXKiXLy/0GR2I3X1lHtq9XuLLcExsgYO1uwzNWqlWt0kNsTiFe5rl1/I9mYlZDLpDIDI5FBNAPJdwfJDOVB6Ni2RKhld3EORBYhAYgAc2koM2JuZLawNYIsMNHQaHVx6QiP7TgF7e2vvMc/2dCc6hhLvKZpOaSnRlCkrh6MlMVV776GF5zaNgr/NAf2/N4d4U6nZYXXno+t21eeM9h5NdVpa2dHUcQdnmitnsqsiJQn5LMpnPb1GA8N82VNPZofxdh7o69k8PA8HkDLq9ZlpQSGgf5B49gs/+RF/NId8yOBU250KebSMrWuu23HNq++G1gTWljnRlbWg1uR3KdJfPX3Fd+efNDiW1BT4k822Z0U/9nIoTvcQwsQRlaErX2JZRs2LDjovH+GYjhCyk/FgJkSbmmebCSAovjqB6nykMgu+VMalJCNpErqIe9kKHo9gIh5DnGFaEbD1s1Jx3eJv6NKr3RQzG5lo9JNWHavUw5oKakF5NpPJdAwigrN4h1ztRB1kepRWzfehOjkh6B7J5UrKeQCWgIalhjhp9ic4SLtXjKgpWmShxD+8Z0m5OTJ4B9R6i9ULN61wbdRBhccMbCtCkYRmk20qxuwbtnVst6xsjyUhBdSmUj7RbBMpMe0lLfM+W8a4GQzGD+8/+h4vnNnA2s0jzYPDhC/sG4uDMppKd++R57UjEFd6T8oEdDz5wcPtx2qXarcBrd3Qne+QlMvWZ0YMPl7hJsxVkplz9ras0Ay13YK2Eps+ePBWDstvIBfRTB+E9CUJPaJa4mdjc7mCKWaHxWWxMo+X1lmZjFm9kmw0rulNWdIN2p3xWeFd2c01MNVO4rLu9mEmG0NdPQ7HdMbl8K3Kqd8/Ci7+k3RKD8VqrOP4cpLGnnAfI80LN/jgofY2OlYN7oMWvGtGzctKwGaJVuMZgRGIonyrXAcoz1aVp2ZRyxaQMPx3x3ORRoku1zNX5275/+ptkZ2io4+hNLvWQ6PDJkWDY9bjbNbere2TrexZL/oTa7eEpc8fqZTHKtJKDkoW28HZedDDox8IIVkvIa5d89n+YvGfFhM/EOCwuW3T5BpfUaTd7plY8MPXmB0f+ODgUdPb1AnAYAMXbPR7QtoFqD9jwgcmUMZOKyFssQthP5ngFmBA4q8AJJorkrF4eGgUey7X58RN4LzRiH/FxgigPklX0PfHUN0RxtRJk4HobDIVOJRBGitQ+Dh2KUVxQoBF6zYidbvFQCsWdKePYRPvgj+zHgWk4QM0dNYsSSLKFv1AieeA4GqKXqdaA7OdVG00BU6bflP1KlvMrYVVu/Y4taT0JijZ39FmUYIrNXMwq8Qw9vsXcEZfFUCdgnAi8xJQdNHV9NcYlHTnr5Tw7M9RP02gb2BIsjHKpz6bokU6GAkK0zBfezLN+OeySfmOm71jH0Bm7U2EFJ+ncSfM+IGhQATEoQ01Dc4Y2WV0uxrHaQUmCFXp6lMvlRU2zTjs0sAQnpczBJw8ZTjOqSFG8F0GnM4JNdTHqGoly8RZ2j5MK+0Mcegnc+rwtScnTMul1CbRgVRTatdFFiYIFHGNILSPQhi4lrw7Tt8J7FCOmiQhxfTbU8wWUDkaJXkK35tsjXiYR0m0xjtCLSTVIoTohJOsR8hlr4BwXF1GM88BGc3mKY012hTZLJg99Fvx6OTeaGc/lTKLLTIP89OQ3vvful88Ef+xdNUQuCw96zaqoCi7STAJh38Qoac9XawNal9W3eXqp7IF22ytVOHg5K0kDmmeFYECLjIk//NXWDftcnfte2A2s/lOD5Iw/y1GkmVZIqKyFbWObg+mwPdFX7ubF9bOa2b5oQ6ykfkbVCIVYRTxtMJM2kujLJxF4GIu8+Rl+MWW74MT86CgIhPr3q4b2HK6i/n2PCP2lgj4s4vLLcYT6YvCToPRtNSrJrzF2kfUP4NrrYWgM6tl8DffoaIjvTESJMWByerJ5bXjcgBupd+MqwyquvXIh2DlcfAW1LI6+oUhcO0KXrOIQXQVBKyLa8EW2DA66J5WPehvwN738zS3vbfnaynR65dfgwpvLk2tWP5x2+LT45qLqd5jsqa6BOwZT0bDN4nMVq8HujmLH/WtWRcK9PXMrVq9atayvJ/pT9Lp0eu7r29/Z/hZcWPF1oK594sih/Ip+H2AFtfqJZeW+CcYSFkWvzUKCib7ysltrYdlOB3pX5I8cfnzt8pnenkg0Gq71zuC8ej+1E44/G5ElKsQgtFhOEpiaRHdD29uNi17dsoD69A3QrMFF4NUy11ww96YRcL7Z1FyYHEWLC5M46IpZpoYv6+OqwSs1jvKRhVrvwCCFzXCzG5PB6JOjUK739PVXr4N6witIoUhMilSQJsQZryIuyDE4izCJonKd8HLRZmfbz635hStTwnutv3yPnz5oZ9nCpzWN980tWRc0i8DFm7/8sy+blMQLx46/8MLPnn9s5bGVK49Z0r3pdC/5dP+aNf2W1pr8unV58AdX/oKWmESGpDDJPCOR5Ml098hI93by0+5Y1O2JRVvfQi9eebino6OnA+s+okJfJTPEDPEIcYF4HRwlDFC8tSiH9ZSm7zQ36/Uijlkt+IwqrZ1r0QXeuVlo870+UGhoS5/XEMajpVn/UnEhh6E1FibwZdWzY8UiiviHUBHt1wp16rK+BA78JSKiplsoGFWlBSN2fdDoljso6jvg2ga81tixAZk0O7YKqAu3fgrVYR1zN+vHCvop+LRB1F9BqM6upv4GKn6oSfLrVo8plApkEblvfVZqyIkYMmYOynBORuJnDGzl+f37DmH21FNwMq3deeuJk/fce99ZnCvbIckLt9/5sccuoN2vSAtP/cEXnn8Zj4HcITgXZw/WanoKNT+YRkZvPf/cZ1986ctfQYeGpGHJaukYGNy3/+Zjt5/69DOfWXj1NbTDJ+tbX4Ev2vkANK2ox55Gn0aWdOcGHFDXkm0+SEQ10IZswhHgGMu1t8YMAwo32mEy1phmRA6gccDFjKPQIQkE+UQZxbSoQBNjMUP1piHGSFRw2wZV1WK4qtM4LzwXg0+HXmm82+I/3FvVWGioYXZXLBLgVje3ORMu5aZWOSLRudlA1dud9LGU3Sorw5SiiFOqT2RKxXihPzoSUhQHxTtWCVEecC5L31xlxEGSIVmJlibyxaWZeIlzSSGfYBLFsN+T5DI9yZI1kaBr6XS6PDYeliQ3mM7I3YqvMJa70xWP273JZCIej+enpwJ7KdavOkipx+mwytFEwrPd5hj5r0Pd0dK5weHxvL8UttKuOJUUhD6my2NS3dG82OFOIn2jTMs2Mq3lUnPJY5lcb9WXyiUHIqzKWf19Lv+aWKDbT0YS0ZjZXrw11NERCHjTy+8uVGre48VJrW823NFxKJaMf151i96tY4t2y/tQJpmJFDFG3GPU+SzYcPOdnikXiw0bRhC2dQnt6p4A6h0bL9Sdl/W0s4k776RmXSrUPRpaycEJoBnTQTN6zzlPExv0mhMlDeg+gw/JhsYhKuzJaX0DwyP/qo2u6ugDCDM0CyTNeI4GANwmxaJOBu0rS6iAV2ovwnuM8ESizhsKeJZ6635/IOD3173eUMgLnO4+1/KMa8B5eKzK0Y6s+0s31OgUvN4uL3gPPsC/VslbcrsB2Ke13oXPs3cNx10ewuDz6adEeL04eMXsUKOqCDEJJNuxSAo6QBTu/6AYOO1BEQMu6jzfhvryX6srcaLqHDvBoPZbBnf7K9q8RAT47HwIPbZjLguUkT+nRNTSoouoDQf+Y5h3xDmPAvCcoYNRtXYEx5nrSS/QrZb89wndYs1/H+h2G1q22fPfX9wriWiLKKG9ioyWZeX63lAQbQmG8JY3L/30N7eh6DSDGggC0d9T9QAOLdMUVPi84HCquAeozkm6y4furYQIy10q9rt0rw9RyaLQKYoBqVRE0qRExBkZAgyXqDIcgP9UVeEU+D9Dgd8sv/IBONu6E/DgY3zrcRWcdrfe6wSrcl+e+NmkumZkzXfBF0FLB3Otm/5q9dNrk2t/surgKlCafm8aPFtsfasI3rK1Ttmu4TtTn4L3ykKU28iXKBNW5zScAwN1a6FuvqyboN5E19RkhnqShh+fMBZQYguHKBUNDjrpi9/rLncNfPt86+hDVLz1k2Xb124BySuXWhvAl/B7ETT9VXILsY44QeBMaR3qlWkr6iHH0wa1D/XDVV+xnRnVx6ESGBdRx62edRtpznHUHbQKtZa+SkcT2uwKdFmziIuB0KdXIBG+GoPqLfCBbHUZ2knLjWAqbaThDBGJ0LE+QgJVwgQMKS2WTOFOBu0jTJ+oVuia0bRYSlQNASytUcXMlx48e8QZ2ZGyLp3uS0QYaPe4QbI2N7EWAJau3jZzehMAqxlxaGBjJPD4LSo+cplLDngDHJUgU73Lx9cItdumHlw7ZGdAJHr0S7c6MveUrEvTkRIjuBQ4LdNLj/BMv7YGrD4TjGwcHpSYQ2rnaXgIy3vDKZutlibTyw5bBkqrwdAmz/8zubP//zn+xedAXFTgn9qfo3Ttc1T+V5+D42Szmw3kGdsqx5MhXmUtJtrUmeg1MUFfLOB30IJdJF0z8v/lp8Cfgfo74zPI/6drAaz2mNpl6d1s8V3oAIFBKW/2OEyOdcuOO0395cn+appTgmE690zs//ZiAJywKlElpGG7pYiElj98738CUBwFnQAAeNpjYGRgYADilbsVfsTz23xlkGd+ARRhOPOw/zKM/n/wvx5rMfMRIJeDgQkkCgCqyw98AHjaY2BkYGA+8l+KgYG1/v/B/99YixmAIiigHwCjBAcjeNpNkj0oxVEUwM+7H5TCGxksb7QppIiISRZsTB4ipWxYJLIrikFZZcAgUoqSzStsRilShpfPPDl+//u/g1e/d77vOefev3xL+GX6+EO3T+J9FbIIBTiFTWgRMa0irj/kiNuO+i5UiPV12M9asmUhXu0msVepuZSs3cO3LPWh7gK9C5lXTezgOyRPxVgnzg7je0j9gR7inG1W0KeZ81F/3Q2+dshqyXcjT/XTDiJryRkTG+rusJP5h7To5tGv0Ze04PPIcXiEjuQMMckeri2dx/Wq+hw9BvTXvuubXyCvIVMT9hxJZzI/qfSNqu5EykNda5x3Dv0AFsmbwF6D1xh7xvciziTzX+u5HWDnUXwbxI7gijNz6TuYLWL05C0qk7u0O+LNsX6E/sndsoNrjntMwS32DDVP6ZzuK/bMwjr2Pnd3j37xT3bSi3eW7cgsnEFTfNdIJs4fYsl30ZjO/Af0yHMSAAB42mNggAHGJUwNTJuYS5i/sfxi7WL9xObG9oD9AkcDxxEuG65T3Kt4CnhT+ObwmwlYCYoIRgjeEOYTdhPhEqkTtRLnES+QKJP4I9kilSWtImMkUyDrJOck1yO/R4FJoUjxlNIx5RSVJ6pGqpPUotR2aazQ1NE8o/lLa5X2FZ0G3Tm69/SW6N3Rn2JwwvCEEZNRkEmYyTzTU2Y8ZsfMfpnfsDhhaWaZZvnBapu1kfUKm2+2MfYK9s8ctjhGOek5nXGJcHniesTNDA5nuN1xD/Iw8tjiec3LxmuNt5X3B59dvg1+QX7n/CcFWATeCSoJ9gpuCDHDAatC9oUyhbqEdoDhlNApAFDhX5J42mNgZGBg6Gf4xyDCAAJMDIxALMYAogxBAgAsNAHyAHjafVJLSsRAFKxkxs+guJzVIH0Bh8QfoitxNm4kOKDgLt9JUBOZRMGNB/AErj2NehAP4AmsfumYOIg06a68qvftBrCGZ/Rg9QcAnvjV2MI6/2psY+NH08M2XgzuY4QPg5dwhk+DlzGydg1ewavlGTzA0Poy+A1De9Xgdzj2Jk5Q4A6PmCPDDCkqKOZy4HJXOEZEPkBMPKWqJB/jlqfCKXKEZOf017svXISx+N1wqU7UUv5injHPB6O8omdIjU/1OW0z3BP5VLhkHVlHpr6SqKvfWvDocmqBu5CsJdmCVatf0T12pgQ3VpfWlMpK+stZbeMxxh72/63C4xkTlTIz3XEiuRWjFbKnwvw1d+0TEjVVJjLX1icReyUWPe9I7kJnvaZNz7+SeAGraaPk0knGyHr6Y3br06uuQN9SRkWJS7JBJ0Pd75SRdIyJVKbkbWjuAIdk632nfTHfaRxvmXjabc7HUkJhDIbhNxRBUBGVYu+9nXMQwS4KVuy9IjMiYBfFO3Dtveh4fYryL/1mMs8kiySY+Mv3Fwb/5b1QggkzFqyUYMNOKQ6clFFOBS4qcVNFNTV48OLDTy111NNAI00000IrbbTTQSdddNNDL330M8AgQwyjoRduBxghyCghwowxzgSTTDHNDLNEmGOeKDEWWGSJZVZYJc4a62ywyRbb7LDLHvsccMgRx5xwyhnnJLggKSYxi0WsvEkJl6S4Ik2Ga7LccMct9zzwxCM5nsnzwqvYxC6l4hCnlEm5VIhLKsUtVVItNXzwKR7xik/85mgsbsvfZzUtrCn1ohHVR6K/GpqmKXWloQwoR5RB5agypAwrx5SRorraq+uOq2w6n0tdJp8zxZGxUDT4Z6zwgiVhBEM/9lZQu3jaRc7LDsFQFIVhR/WmpbdTbSUEE4PzGtpITMSoTTyHsYkhz7Jr5O1YkW2brW+N/pd630jdBwfyjm2v1KPrG8e0a4q7A+kTxrVbkGPO7YCsVU2W2dFoVT+tYGi+sIHRDw5g7xku4CwZHuBWDB/wCsYY8HNGAIw1IwSCjDEBwpAxBSYMRRF3xXgjf2h6q7mACRj/mYLJVpiB6UaowawQ5qDWwhmYZ8ICnEXCEixCYQWWgXAOVsKOtPkAmoBkpAAAAAABULvfUwAA) format('woff'),
469
- url('zocial-regular-webfont.ttf') format('truetype'),
470
- url('zocial-regular-webfont.svg#zocialregular') format('svg');
471
- font-weight: normal;
472
- font-style: normal;
473
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/images/admin-icons.png ADDED
Binary file
assets/images/gateway-icons.png ADDED
Binary file
assets/js/links.js CHANGED
@@ -1,10 +1,10 @@
1
  /**
2
  * myCRED Points for Link Clicks jQuery Scripts
3
  * @since 0.1
4
- * @version 1.1
5
  */
6
  jQuery(function($) {
7
- var mycred_click = function( points, href, id ) {
8
  $.ajax({
9
  type : "POST",
10
  data : {
@@ -12,33 +12,20 @@ jQuery(function($) {
12
  amount : points,
13
  url : href,
14
  eid : id,
15
- token : myCREDgive.token
 
16
  },
17
  dataType : "JSON",
18
- url : myCREDgive.ajaxurl,
19
- // Before we start
20
- beforeSend : function() {},
21
- // On Successful Communication
22
- success : function( data ) {
23
- setTimeout(function(){ window.location.href = href; }, 1000 );
24
- },
25
- // Error (sent to console)
26
- error : function( jqXHR, textStatus, errorThrown ) {
27
- // Debug - uncomment to use
28
- //console.log( jqXHR );
29
- setTimeout(function(){ window.location.href = href; }, 1000 );
30
- }
31
  });
32
  };
33
 
34
  $('.mycred-points-link').click(function(){
35
- if ( $(this).attr( 'id' ) && $(this).attr( 'id' ) != '' ) {
36
- mycred_click( $(this).attr( 'data-amount' ), $(this).attr( 'href' ), $(this).attr( 'id' ) );
37
- return false;
38
- }
39
- else {
40
- mycred_click( $(this).attr( 'data-amount' ), $(this).attr( 'href' ), '' );
41
- return false;
42
  }
 
 
43
  });
44
  });
1
  /**
2
  * myCRED Points for Link Clicks jQuery Scripts
3
  * @since 0.1
4
+ * @version 1.2
5
  */
6
  jQuery(function($) {
7
+ var mycred_click = function( points, href, id, title ) {
8
  $.ajax({
9
  type : "POST",
10
  data : {
12
  amount : points,
13
  url : href,
14
  eid : id,
15
+ token : myCREDgive.token,
16
+ etitle : title
17
  },
18
  dataType : "JSON",
19
+ url : myCREDgive.ajaxurl
 
 
 
 
 
 
 
 
 
 
 
 
20
  });
21
  };
22
 
23
  $('.mycred-points-link').click(function(){
24
+ var id = $(this).attr( 'id' );
25
+ if ( typeof id === 'undefined' && id === false ) {
26
+ id = '';
 
 
 
 
27
  }
28
+
29
+ mycred_click( $(this).attr( 'data-amount' ), $(this).attr( 'href' ), id, $(this).text() );
30
  });
31
  });
assets/js/management.js ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * myCRED Management Scripts
3
+ * @since 1.3
4
+ * @version 1.0
5
+ */
6
+ jQuery(function($) {
7
+
8
+ var mycred_action_empty_log = function( button ) {
9
+ var label = button.val();
10
+ $.ajax({
11
+ type : "POST",
12
+ data : {
13
+ action : 'mycred-action-empty-log',
14
+ token : myCREDmanage.token
15
+ },
16
+ dataType : "JSON",
17
+ url : myCREDmanage.ajaxurl,
18
+ beforeSend : function() {
19
+ button.attr( 'value', myCREDmanage.working );
20
+ button.attr( 'disabled', 'disabled' );
21
+ },
22
+ success : function( data ) {
23
+ console.log( data );
24
+
25
+ if ( data.status == 'OK' ) {
26
+ $( 'input#mycred-manage-table-rows' ).val( data.rows );
27
+ button.val( myCREDmanage.done );
28
+ button.removeClass( 'button-primary' );
29
+ }
30
+ else {
31
+ button.val( label );
32
+ button.removeAttr( 'disabled' );
33
+ alert( data.rows );
34
+ }
35
+ },
36
+ error : function( jqXHR, textStatus, errorThrown ) {
37
+ // Debug
38
+ console.log( textStatus + ':' + errorThrown );
39
+ button.attr( 'value', label );
40
+ button.removeAttr( 'disabled' );
41
+ }
42
+ });
43
+ };
44
+
45
+ $( 'input#mycred-manage-action-empty-log' ).click(function(){
46
+ // Confirm action
47
+ if ( confirm( myCREDmanage.confirm_log ) ) {
48
+ mycred_action_empty_log( $(this) );
49
+ }
50
+ });
51
+
52
+ var mycred_action_reset_balance = function( button ) {
53
+ var label = button.val();
54
+ $.ajax({
55
+ type : "POST",
56
+ data : {
57
+ action : 'mycred-action-reset-accounts',
58
+ token : myCREDmanage.token
59
+ },
60
+ dataType : "JSON",
61
+ url : myCREDmanage.ajaxurl,
62
+ beforeSend : function() {
63
+ button.attr( 'value', myCREDmanage.working );
64
+ button.attr( 'disabled', 'disabled' );
65
+ },
66
+ success : function( data ) {
67
+ console.log( data );
68
+
69
+ if ( data.status == 'OK' ) {
70
+ button.val( myCREDmanage.done );
71
+ button.removeClass( 'button-primary' );
72
+ }
73
+ else {
74
+ button.val( label );
75
+ button.removeAttr( 'disabled' );
76
+ alert( data.rows );
77
+ }
78
+ },
79
+ error : function( jqXHR, textStatus, errorThrown ) {
80
+ // Debug
81
+ console.log( textStatus + ':' + errorThrown );
82
+ button.attr( 'value', label );
83
+ button.removeAttr( 'disabled' );
84
+ }
85
+ });
86
+ };
87
+
88
+ $( 'input#mycred-manage-action-reset-accounts' ).click(function(){
89
+ // Confirm action
90
+ if ( confirm( myCREDmanage.confirm_reset ) ) {
91
+ mycred_action_reset_balance( $(this) );
92
+ }
93
+ });
94
+
95
+ $('#export-points').dialog({ dialogClass: 'mycred-export-points', draggable: false, autoOpen: false, closeText: myCREDmanage.export_close, title: myCREDmanage.export_title, modal: true, width: 500, resizable: false,
96
+ show: { effect: 'slide', direction: 'up', duration: 250 },
97
+ hide: { effect: 'slide', direction: 'up', duration: 250 }
98
+ });
99
+
100
+ $( '#mycred-export-users-points' ).click( function() {
101
+ $( '#export-points' ).dialog( 'open' );
102
+ });
103
+
104
+ var mycred_action_export_balances = function( button ) {
105
+ var label = button.val();
106
+ $.ajax({
107
+ type : "POST",
108
+ data : {
109
+ action : 'mycred-action-export-balances',
110
+ token : myCREDmanage.token,
111
+ identify : $( '#mycred-export-identify-by' ).val(),
112
+ log_temp : $( '#mycred-export-log-template' ).val()
113
+ },
114
+ dataType : "JSON",
115
+ url : myCREDmanage.ajaxurl,
116
+ beforeSend : function() {
117
+ button.attr( 'value', myCREDmanage.working );
118
+ button.attr( 'disabled', 'disabled' );
119
+ },
120
+ success : function( data ) {
121
+ console.log( data );
122
+
123
+ if ( data.status == 'OK' ) {
124
+ button.val( myCREDmanage.exporting );
125
+ setTimeout(function(){
126
+ window.location.href = data.string;
127
+ button.val( myCREDmanage.done );
128
+ }, 2000 );
129
+ setTimeout(function(){
130
+ button.removeAttr( 'disabled' );
131
+ button.val( label );
132
+ }, 4000 );
133
+ }
134
+ else {
135
+ button.val( label );
136
+ button.before( data.string );
137
+ }
138
+ },
139
+ error : function( jqXHR, textStatus, errorThrown ) {
140
+ // Debug
141
+ console.log( textStatus + ':' + errorThrown );
142
+ button.attr( 'value', label );
143
+ button.removeAttr( 'disabled' );
144
+ }
145
+ });
146
+ };
147
+
148
+ $( '#mycred-run-exporter' ).click(function(){
149
+ mycred_action_export_balances( $(this) );
150
+ });
151
+
152
+ var mycred_generate_key = function() {
153
+ $.ajax({
154
+ type : "POST",
155
+ data : {
156
+ action : 'mycred-action-generate-key',
157
+ token : myCREDmanage.token
158
+ },
159
+ dataType : "JSON",
160
+ url : myCREDmanage.ajaxurl,
161
+ success : function( data ) {
162
+ $( '#myCRED-remote-key' ).val( data );
163
+ $( '#mycred-length-counter' ).text( data.length );
164
+ },
165
+ error : function( jqXHR, textStatus, errorThrown ) {
166
+ // Debug
167
+ console.log( textStatus + ':' + errorThrown );
168
+ }
169
+ });
170
+ }
171
+
172
+ $( '#mycred-generate-api-key' ).click(function(){
173
+ mycred_generate_key();
174
+ });
175
+
176
+ $( '#myCRED-remote-key' ).change(function(){
177
+ $( '#mycred-length-counter' ).text( $(this).val().length );
178
+ });
179
+
180
+ $( '#myCRED-remote-key' ).keyup(function(){
181
+ $( '#mycred-length-counter' ).text( $(this).val().length );
182
+ });
183
+ });
assets/js/widget.js DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * myCRED Widgets jQuery Scripts
3
- * @since 0.1
4
- * @version 1.0
5
- */
 
 
 
 
 
assets/libs/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
assets/libs/parsecsv.lib.php ADDED
@@ -0,0 +1,695 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class parseCSV {
4
+
5
+ /*
6
+
7
+ Class: parseCSV v0.3.2
8
+ http://code.google.com/p/parsecsv-for-php/
9
+
10
+
11
+ Fully conforms to the specifications lined out on wikipedia:
12
+ - http://en.wikipedia.org/wiki/Comma-separated_values
13
+
14
+ Based on the concept of Ming Hong Ng's CsvFileParser class:
15
+ - http://minghong.blogspot.com/2006/07/csv-parser-for-php.html
16
+
17
+
18
+
19
+ Copyright (c) 2007 Jim Myhrberg (jim@zydev.info).
20
+
21
+ Permission is hereby granted, free of charge, to any person obtaining a copy
22
+ of this software and associated documentation files (the "Software"), to deal
23
+ in the Software without restriction, including without limitation the rights
24
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25
+ copies of the Software, and to permit persons to whom the Software is
26
+ furnished to do so, subject to the following conditions:
27
+
28
+ The above copyright notice and this permission notice shall be included in
29
+ all copies or substantial portions of the Software.
30
+
31
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
37
+ THE SOFTWARE.
38
+
39
+
40
+
41
+ Code Examples
42
+ ----------------
43
+ # general usage
44
+ $csv = new parseCSV('data.csv');
45
+ print_r($csv->data);
46
+ ----------------
47
+ # tab delimited, and encoding conversion
48
+ $csv = new parseCSV();
49
+ $csv->encoding('UTF-16', 'UTF-8');
50
+ $csv->delimiter = "\t";
51
+ $csv->parse('data.tsv');
52
+ print_r($csv->data);
53
+ ----------------
54
+ # auto-detect delimiter character
55
+ $csv = new parseCSV();
56
+ $csv->auto('data.csv');
57
+ print_r($csv->data);
58
+ ----------------
59
+ # modify data in a csv file
60
+ $csv = new parseCSV();
61
+ $csv->sort_by = 'id';
62
+ $csv->parse('data.csv');
63
+ # "4" is the value of the "id" column of the CSV row
64
+ $csv->data[4] = array('firstname' => 'John', 'lastname' => 'Doe', 'email' => 'john@doe.com');
65
+ $csv->save();
66
+ ----------------
67
+ # add row/entry to end of CSV file
68
+ # - only recommended when you know the extact sctructure of the file
69
+ $csv = new parseCSV();
70
+ $csv->save('data.csv', array('1986', 'Home', 'Nowhere', ''), true);
71
+ ----------------
72
+ # convert 2D array to csv data and send headers
73
+ # to browser to treat output as a file and download it
74
+ $csv = new parseCSV();
75
+ $csv->output (true, 'movies.csv', $array);
76
+ ----------------
77
+
78
+
79
+ */
80
+
81
+
82
+ /**
83
+ * Configuration
84
+ * - set these options with $object->var_name = 'value';
85
+ */
86
+
87
+ # use first line/entry as field names
88
+ var $heading = true;
89
+
90
+ # override field names
91
+ var $fields = array();
92
+
93
+ # sort entries by this field
94
+ var $sort_by = null;
95
+ var $sort_reverse = false;
96
+
97
+ # delimiter (comma) and enclosure (double quote)
98
+ var $delimiter = ',';
99
+ var $enclosure = '"';
100
+
101
+ # basic SQL-like conditions for row matching
102
+ var $conditions = null;
103
+
104
+ # number of rows to ignore from beginning of data
105
+ var $offset = null;
106
+
107
+ # limits the number of returned rows to specified amount
108
+ var $limit = null;
109
+
110
+ # number of rows to analyze when attempting to auto-detect delimiter
111
+ var $auto_depth = 15;
112
+
113
+ # characters to ignore when attempting to auto-detect delimiter
114
+ var $auto_non_chars = "a-zA-Z0-9\n\r";
115
+
116
+ # preferred delimiter characters, only used when all filtering method
117
+ # returns multiple possible delimiters (happens very rarely)
118
+ var $auto_preferred = ",;\t.:|";
119
+
120
+ # character encoding options
121
+ var $convert_encoding = false;
122
+ var $input_encoding = 'ISO-8859-1';
123
+ var $output_encoding = 'ISO-8859-1';
124
+
125
+ # used by unparse(), save(), and output() functions
126
+ var $linefeed = "\r\n";
127
+
128
+ # only used by output() function
129
+ var $output_delimiter = ',';
130
+ var $output_filename = 'data.csv';
131
+
132
+
133
+ /**
134
+ * Internal variables
135
+ */
136
+
137
+ # current file
138
+ var $file;
139
+
140
+ # loaded file contents
141
+ var $file_data;
142
+
143
+ # array of field values in data parsed
144
+ var $titles = array();
145
+
146
+ # two dimentional array of CSV data
147
+ var $data = array();
148
+
149
+
150
+ /**
151
+ * Constructor
152
+ * @param input CSV file or string
153
+ * @return nothing
154
+ */
155
+ function parseCSV ($input = null, $offset = null, $limit = null, $conditions = null) {
156
+ if ( $offset !== null ) $this->offset = $offset;
157
+ if ( $limit !== null ) $this->limit = $limit;
158
+ if ( count($conditions) > 0 ) $this->conditions = $conditions;
159
+ if ( !empty($input) ) $this->parse($input);
160
+ }
161
+
162
+
163
+ // ==============================================
164
+ // ----- [ Main Functions ] ---------------------
165
+ // ==============================================
166
+
167
+ /**
168
+ * Parse CSV file or string
169
+ * @param input CSV file or string
170
+ * @return nothing
171
+ */
172
+ function parse ($input = null, $offset = null, $limit = null, $conditions = null) {
173
+ if ( !empty($input) ) {
174
+ if ( $offset !== null ) $this->offset = $offset;
175
+ if ( $limit !== null ) $this->limit = $limit;
176
+ if ( count($conditions) > 0 ) $this->conditions = $conditions;
177
+ if ( is_readable($input) ) {
178
+ $this->data = $this->parse_file($input);
179
+ } else {
180
+ $this->file_data = &$input;
181
+ $this->data = $this->parse_string();
182
+ }
183
+ if ( $this->data === false ) return false;
184
+ }
185
+ return true;
186
+ }
187
+
188
+ /**
189
+ * Save changes, or new file and/or data
190
+ * @param file file to save to
191
+ * @param data 2D array with data
192
+ * @param append append current data to end of target CSV if exists
193
+ * @param fields field names
194
+ * @return true or false
195
+ */
196
+ function save ($file = null, $data = array(), $append = false, $fields = array()) {
197
+ if ( empty($file) ) $file = &$this->file;
198
+ $mode = ( $append ) ? 'at' : 'wt' ;
199
+ $is_php = ( preg_match('/\.php$/i', $file) ) ? true : false ;
200
+ return $this->_wfile($file, $this->unparse($data, $fields, $append, $is_php), $mode);
201
+ }
202
+
203
+ /**
204
+ * Generate CSV based string for output
205
+ * @param output if true, prints headers and strings to browser
206
+ * @param filename filename sent to browser in headers if output is true
207
+ * @param data 2D array with data
208
+ * @param fields field names
209
+ * @param delimiter delimiter used to separate data
210
+ * @return CSV data using delimiter of choice, or default
211
+ */
212
+ function output ($output = true, $filename = null, $data = array(), $fields = array(), $delimiter = null) {
213
+ if ( empty($filename) ) $filename = $this->output_filename;
214
+ if ( $delimiter === null ) $delimiter = $this->output_delimiter;
215
+ $data = $this->unparse($data, $fields, null, null, $delimiter);
216
+ if ( $output ) {
217
+ header('Content-type: application/csv');
218
+ header('Content-Disposition: inline; filename="'.$filename.'"');
219
+ echo $data;
220
+ }
221
+ return $data;
222
+ }
223
+
224
+ /**
225
+ * Convert character encoding
226
+ * @param input input character encoding, uses default if left blank
227
+ * @param output output character encoding, uses default if left blank
228
+ * @return nothing
229
+ */
230
+ function encoding ($input = null, $output = null) {
231
+ $this->convert_encoding = true;
232
+ if ( $input !== null ) $this->input_encoding = $input;
233
+ if ( $output !== null ) $this->output_encoding = $output;
234
+ }
235
+
236
+ /**
237
+ * Auto-Detect Delimiter: Find delimiter by analyzing a specific number of
238
+ * rows to determine most probable delimiter character
239
+ * @param file local CSV file
240
+ * @param parse true/false parse file directly
241
+ * @param search_depth number of rows to analyze
242
+ * @param preferred preferred delimiter characters
243
+ * @param enclosure enclosure character, default is double quote (").
244
+ * @return delimiter character
245
+ */
246
+ function auto ($file = null, $parse = true, $search_depth = null, $preferred = null, $enclosure = null) {
247
+
248
+ if ( $file === null ) $file = $this->file;
249
+ if ( empty($search_depth) ) $search_depth = $this->auto_depth;
250
+ if ( $enclosure === null ) $enclosure = $this->enclosure;
251
+
252
+ if ( $preferred === null ) $preferred = $this->auto_preferred;
253
+
254
+ if ( empty($this->file_data) ) {
255
+ if ( $this->_check_data($file) ) {
256
+ $data = &$this->file_data;
257
+ } else return false;
258
+ } else {
259
+ $data = &$this->file_data;
260
+ }
261
+
262
+ $chars = array();
263
+ $strlen = strlen($data);
264
+ $enclosed = false;
265
+ $n = 1;
266
+ $to_end = true;
267
+
268
+ // walk specific depth finding posssible delimiter characters
269
+ for ( $i=0; $i < $strlen; $i++ ) {
270
+ $ch = $data{$i};
271
+ $nch = ( isset($data{$i+1}) ) ? $data{$i+1} : false ;
272
+ $pch = ( isset($data{$i-1}) ) ? $data{$i-1} : false ;
273
+
274
+ // open and closing quotes
275
+ if ( $ch == $enclosure && (!$enclosed || $nch != $enclosure) ) {
276
+ $enclosed = ( $enclosed ) ? false : true ;
277
+
278
+ // inline quotes
279
+ } elseif ( $ch == $enclosure && $enclosed ) {
280
+ $i++;
281
+
282
+ // end of row
283
+ } elseif ( ($ch == "\n" && $pch != "\r" || $ch == "\r") && !$enclosed ) {
284
+ if ( $n >= $search_depth ) {
285
+ $strlen = 0;
286
+ $to_end = false;
287
+ } else {
288
+ $n++;
289
+ }
290
+
291
+ // count character
292
+ } elseif (!$enclosed) {
293
+ if ( !preg_match('/['.preg_quote($this->auto_non_chars, '/').']/i', $ch) ) {
294
+ if ( !isset($chars[$ch][$n]) ) {
295
+ $chars[$ch][$n] = 1;
296
+ } else {
297
+ $chars[$ch][$n]++;
298
+ }
299
+ }
300
+ }
301
+ }
302
+
303
+ // filtering
304
+ $depth = ( $to_end ) ? $n-1 : $n ;
305
+ $filtered = array();
306
+ foreach( $chars as $char => $value ) {
307
+ if ( $match = $this->_check_count($char, $value, $depth, $preferred) ) {
308
+ $filtered[$match] = $char;
309
+ }
310
+ }
311
+
312
+ // capture most probable delimiter
313
+ ksort($filtered);
314
+ $delimiter = reset($filtered);
315
+ $this->delimiter = $delimiter;
316
+
317
+ // parse data
318
+ if ( $parse ) $this->data = $this->parse_string();
319
+
320
+ return $delimiter;
321
+
322
+ }
323
+
324
+
325
+ // ==============================================
326
+ // ----- [ Core Functions ] ---------------------
327
+ // ==============================================
328
+
329
+ /**
330
+ * Read file to string and call parse_string()
331
+ * @param file local CSV file
332
+ * @return 2D array with CSV data, or false on failure
333
+ */
334
+ function parse_file ($file = null) {
335
+ if ( $file === null ) $file = $this->file;
336
+ if ( empty($this->file_data) ) $this->load_data($file);
337
+ return ( !empty($this->file_data) ) ? $this->parse_string() : false ;
338
+ }
339
+
340
+ /**
341
+ * Parse CSV strings to arrays
342
+ * @param data CSV string
343
+ * @return 2D array with CSV data, or false on failure
344
+ */
345
+ function parse_string ($data = null) {
346
+ if ( empty($data) ) {
347
+ if ( $this->_check_data() ) {
348
+ $data = &$this->file_data;
349
+ } else return false;
350
+ }
351
+
352
+ $rows = array();
353
+ $row = array();
354
+ $row_count = 0;
355
+ $current = '';
356
+ $head = ( !empty($this->fields) ) ? $this->fields : array() ;
357
+ $col = 0;
358
+ $enclosed = false;
359
+ $was_enclosed = false;
360
+ $strlen = strlen($data);
361
+
362
+ // walk through each character
363
+ for ( $i=0; $i < $strlen; $i++ ) {
364
+ $ch = $data{$i};
365
+ $nch = ( isset($data{$i+1}) ) ? $data{$i+1} : false ;
366
+ $pch = ( isset($data{$i-1}) ) ? $data{$i-1} : false ;
367
+
368
+ // open and closing quotes
369
+ if ( $ch == $this->enclosure && (!$enclosed || $nch != $this->enclosure) ) {
370
+ $enclosed = ( $enclosed ) ? false : true ;
371
+ if ( $enclosed ) $was_enclosed = true;
372
+
373
+ // inline quotes
374
+ } elseif ( $ch == $this->enclosure && $enclosed ) {
375
+ $current .= $ch;
376
+ $i++;
377
+
378
+ // end of field/row
379
+ } elseif ( ($ch == $this->delimiter || ($ch == "\n" && $pch != "\r") || $ch == "\r") && !$enclosed ) {
380
+ if ( !$was_enclosed ) $current = trim($current);
381
+ $key = ( !empty($head[$col]) ) ? $head[$col] : $col ;
382
+ $row[$key] = $current;
383
+ $current = '';
384
+ $col++;
385
+
386
+ // end of row
387
+ if ( $ch == "\n" || $ch == "\r" ) {
388
+ if ( $this->_validate_offset($row_count) && $this->_validate_row_conditions($row, $this->conditions) ) {
389
+ if ( $this->heading && empty($head) ) {
390
+ $head = $row;
391
+ } elseif ( empty($this->fields) || (!empty($this->fields) && (($this->heading && $row_count > 0) || !$this->heading)) ) {
392
+ if ( !empty($this->sort_by) && !empty($row[$this->sort_by]) ) {
393
+ if ( isset($rows[$row[$this->sort_by]]) ) {
394
+ $rows[$row[$this->sort_by].'_0'] = &$rows[$row[$this->sort_by]];
395
+ unset($rows[$row[$this->sort_by]]);
396
+ for ( $sn=1; isset($rows[$row[$this->sort_by].'_'.$sn]); $sn++ ) {}
397
+ $rows[$row[$this->sort_by].'_'.$sn] = $row;
398
+ } else $rows[$row[$this->sort_by]] = $row;
399
+ } else $rows[] = $row;
400
+ }
401
+ }
402
+ $row = array();
403
+ $col = 0;
404
+ $row_count++;
405
+ if ( $this->sort_by === null && $this->limit !== null && count($rows) == $this->limit ) {
406
+ $i = $strlen;
407
+ }
408
+ }
409
+
410
+ // append character to current field
411
+ } else {
412
+ $current .= $ch;
413
+ }
414
+ }
415
+ $this->titles = $head;
416
+ if ( !empty($this->sort_by) ) {
417
+ ( $this->sort_reverse ) ? krsort($rows) : ksort($rows) ;
418
+ if ( $this->offset !== null || $this->limit !== null ) {
419
+ $rows = array_slice($rows, ($this->offset === null ? 0 : $this->offset) , $this->limit, true);
420
+ }
421
+ }
422
+ return $rows;
423
+ }
424
+
425
+ /**
426
+ * Create CSV data from array
427
+ * @param data 2D array with data
428
+ * @param fields field names
429
+ * @param append if true, field names will not be output
430
+ * @param is_php if a php die() call should be put on the first
431
+ * line of the file, this is later ignored when read.
432
+ * @param delimiter field delimiter to use
433
+ * @return CSV data (text string)
434
+ */
435
+ function unparse ( $data = array(), $fields = array(), $append = false , $is_php = false, $delimiter = null) {
436
+ if ( !is_array($data) || empty($data) ) $data = &$this->data;
437
+ if ( !is_array($fields) || empty($fields) ) $fields = &$this->titles;
438
+ if ( $delimiter === null ) $delimiter = $this->delimiter;
439
+
440
+ $string = ( $is_php ) ? "<?php header('Status: 403'); die(' '); ?>".$this->linefeed : '' ;
441
+ $entry = array();
442
+
443
+ // create heading
444
+ if ( $this->heading && !$append ) {
445
+ foreach( $fields as $key => $value ) {
446
+ $entry[] = $this->_enclose_value($value);
447
+ }
448
+ $string .= implode($delimiter, $entry).$this->linefeed;
449
+ $entry = array();
450
+ }
451
+
452
+ // create data
453
+ foreach( $data as $key => $row ) {
454
+ foreach( $row as $field => $value ) {
455
+ $entry[] = $this->_enclose_value($value);
456
+ }
457
+ $string .= implode($delimiter, $entry).$this->linefeed;
458
+ $entry = array();
459
+ }
460
+
461
+ return $string;
462
+ }
463
+
464
+ /**
465
+ * Load local file or string
466
+ * @param input local CSV file
467
+ * @return true or false
468
+ */
469
+ function load_data ($input = null) {
470
+ $data = null;
471
+ $file = null;
472
+ if ( $input === null ) {
473
+ $file = $this->file;
474
+ } elseif ( file_exists($input) ) {
475
+ $file = $input;
476
+ } else {
477
+ $data = $input;
478
+ }
479
+ if ( !empty($data) || $data = $this->_rfile($file) ) {
480
+ if ( $this->file != $file ) $this->file = $file;
481
+ if ( preg_match('/\.php$/i', $file) && preg_match('/<\?.*?\?>(.*)/ims', $data, $strip) ) {
482
+ $data = ltrim($strip[1]);
483
+ }
484
+ if ( $this->convert_encoding ) $data = iconv($this->input_encoding, $this->output_encoding, $data);
485
+ if ( substr($data, -1) != "\n" ) $data .= "\n";
486
+ $this->file_data = &$data;
487
+ return true;
488
+ }
489
+ return false;
490
+ }
491
+
492
+
493
+ // ==============================================
494
+ // ----- [ Internal Functions ] -----------------
495
+ // ==============================================
496
+
497
+ /**
498
+ * Validate a row against specified conditions
499
+ * @param row array with values from a row
500
+ * @param conditions specified conditions that the row must match
501
+ * @return true of false
502
+ */
503
+ function _validate_row_conditions ($row = array(), $conditions = null) {
504
+ if ( !empty($row) ) {
505
+ if ( !empty($conditions) ) {
506
+ $conditions = (strpos($conditions, ' OR ') !== false) ? explode(' OR ', $conditions) : array($conditions) ;
507
+ $or = '';
508
+ foreach( $conditions as $key => $value ) {
509
+ if ( strpos($value, ' AND ') !== false ) {
510
+ $value = explode(' AND ', $value);
511
+ $and = '';
512
+ foreach( $value as $k => $v ) {
513
+ $and .= $this->_validate_row_condition($row, $v);
514
+ }
515
+ $or .= (strpos($and, '0') !== false) ? '0' : '1' ;
516
+ } else {
517
+ $or .= $this->_validate_row_condition($row, $value);
518
+ }
519
+ }
520
+ return (strpos($or, '1') !== false) ? true : false ;
521
+ }
522
+ return true;
523
+ }
524
+ return false;
525
+ }
526
+
527
+ /**
528
+ * Validate a row against a single condition
529
+ * @param row array with values from a row
530
+ * @param condition specified condition that the row must match
531
+ * @return true of false
532
+ */
533
+ function _validate_row_condition ($row, $condition) {
534
+ $operators = array(
535
+ '=', 'equals', 'is',
536
+ '!=', 'is not',
537
+ '<', 'is less than',
538
+ '>', 'is greater than',
539
+ '<=', 'is less than or equals',
540
+ '>=', 'is greater than or equals',
541
+ 'contains',
542
+ 'does not contain',
543
+ );
544
+ $operators_regex = array();
545
+ foreach( $operators as $value ) {
546
+ $operators_regex[] = preg_quote($value, '/');
547
+ }
548
+ $operators_regex = implode('|', $operators_regex);
549
+ if ( preg_match('/^(.+) ('.$operators_regex.') (.+)$/i', trim($condition), $capture) ) {
550
+ $field = $capture[1];
551
+ $op = $capture[2];
552
+ $value = $capture[3];
553
+ if ( preg_match('/^([\'\"]{1})(.*)([\'\"]{1})$/i', $value, $capture) ) {
554
+ if ( $capture[1] == $capture[3] ) {
555
+ $value = $capture[2];
556
+ $value = str_replace("\\n", "\n", $value);
557
+ $value = str_replace("\\r", "\r", $value);
558
+ $value = str_replace("\\t", "\t", $value);
559
+ $value = stripslashes($value);
560
+ }
561
+ }
562
+ if ( array_key_exists($field, $row) ) {
563
+ if ( ($op == '=' || $op == 'equals' || $op == 'is') && $row[$field] == $value ) {
564
+ return '1';
565
+ } elseif ( ($op == '!=' || $op == 'is not') && $row[$field] != $value ) {
566
+ return '1';
567
+ } elseif ( ($op == '<' || $op == 'is less than' ) && $row[$field] < $value ) {
568
+ return '1';
569
+ } elseif ( ($op == '>' || $op == 'is greater than') && $row[$field] > $value ) {
570
+ return '1';
571
+ } elseif ( ($op == '<=' || $op == 'is less than or equals' ) && $row[$field] <= $value ) {
572
+ return '1';
573
+ } elseif ( ($op == '>=' || $op == 'is greater than or equals') && $row[$field] >= $value ) {
574
+ return '1';
575
+ } elseif ( $op == 'contains' && preg_match('/'.preg_quote($value, '/').'/i', $row[$field]) ) {
576
+ return '1';
577
+ } elseif ( $op == 'does not contain' && !preg_match('/'.preg_quote($value, '/').'/i', $row[$field]) ) {
578
+ return '1';
579
+ } else {
580
+ return '0';
581
+ }
582
+ }
583
+ }
584
+ return '1';
585
+ }
586
+
587
+ /**
588
+ * Validates if the row is within the offset or not if sorting is disabled
589
+ * @param current_row the current row number being processed
590
+ * @return true of false
591
+ */
592
+ function _validate_offset ($current_row) {
593
+ if ( $this->sort_by === null && $this->offset !== null && $current_row < $this->offset ) return false;
594
+ return true;
595
+ }
596
+
597
+ /**
598
+ * Enclose values if needed
599
+ * - only used by unparse()
600
+ * @param value string to process
601
+ * @return Processed value
602
+ */
603
+ function _enclose_value ($value = null) {
604
+ if ( $value !== null && $value != '' ) {
605
+ $delimiter = preg_quote($this->delimiter, '/');
606
+ $enclosure = preg_quote($this->enclosure, '/');
607
+ if ( preg_match("/".$delimiter."|".$enclosure."|\n|\r/i", $value) || ($value{0} == ' ' || substr($value, -1) == ' ') ) {
608
+ $value = str_replace($this->enclosure, $this->enclosure.$this->enclosure, $value);
609
+ $value = $this->enclosure.$value.$this->enclosure;
610
+ }
611
+ }
612
+ return $value;
613
+ }
614
+
615
+ /**
616
+ * Check file data
617
+ * @param file local filename
618
+ * @return true or false
619
+ */
620
+ function _check_data ($file = null) {
621
+ if ( empty($this->file_data) ) {
622
+ if ( $file === null ) $file = $this->file;
623
+ return $this->load_data($file);
624
+ }
625
+ return true;
626
+ }
627
+
628
+
629
+ /**
630
+ * Check if passed info might be delimiter
631
+ * - only used by find_delimiter()
632
+ * @return special string used for delimiter selection, or false
633
+ */
634
+ function _check_count ($char, $array, $depth, $preferred) {
635
+ if ( $depth == count($array) ) {
636
+ $first = null;
637
+ $equal = null;
638
+ $almost = false;
639
+ foreach( $array as $key => $value ) {
640
+ if ( $first == null ) {
641
+ $first = $value;
642
+ } elseif ( $value == $first && $equal !== false) {
643
+ $equal = true;
644
+ } elseif ( $value == $first+1 && $equal !== false ) {
645
+ $equal = true;
646
+ $almost = true;
647
+ } else {
648
+ $equal = false;
649
+ }
650
+ }
651
+ if ( $equal ) {
652
+ $match = ( $almost ) ? 2 : 1 ;
653
+ $pref = strpos($preferred, $char);
654
+ $pref = ( $pref !== false ) ? str_pad($pref, 3, '0', STR_PAD_LEFT) : '999' ;
655
+ return $pref.$match.'.'.(99999 - str_pad($first, 5, '0', STR_PAD_LEFT));
656
+ } else return false;
657
+ }
658
+ }
659
+
660
+ /**
661
+ * Read local file
662
+ * @param file local filename
663
+ * @return Data from file, or false on failure
664
+ */
665
+ function _rfile ($file = null) {
666
+ if ( is_readable($file) ) {
667
+ if ( !($fh = fopen($file, 'r')) ) return false;
668
+ $data = fread($fh, filesize($file));
669
+ fclose($fh);
670
+ return $data;
671
+ }
672
+ return false;
673
+ }
674
+
675
+ /**
676
+ * Write to local file
677
+ * @param file local filename
678
+ * @param string data to write to file
679
+ * @param mode fopen() mode
680
+ * @param lock flock() mode
681
+ * @return true or false
682
+ */
683
+ function _wfile ($file, $string = '', $mode = 'wb', $lock = 2) {
684
+ if ( $fp = fopen($file, $mode) ) {
685
+ flock($fp, $lock);
686
+ $re = fwrite($fp, $string);
687
+ $re2 = fclose($fp);
688
+ if ( $re != false && $re2 != false ) return true;
689
+ }
690
+ return false;
691
+ }
692
+
693
+ }
694
+
695
+ ?>
includes/mycred-admin.php CHANGED
@@ -97,8 +97,9 @@ if ( !class_exists( 'myCRED_Admin' ) ) {
97
 
98
  /**
99
  * Admin Header
 
100
  * @since 0.1
101
- * @version 1.1
102
  */
103
  public function admin_header() {
104
  $screen = get_current_screen();
@@ -107,7 +108,7 @@ if ( !class_exists( 'myCRED_Admin' ) ) {
107
  wp_enqueue_style( 'mycred-inline-edit' );
108
  }
109
 
110
- $image = plugins_url( 'assets/images/logo-menu.png', myCRED_THIS );
111
  echo '
112
  <style type="text/css">
113
  #adminmenu .toplevel_page_myCRED div.wp-menu-image { background-image: url(' . $image . '); background-position: 1px -28px; }
@@ -269,9 +270,9 @@ if ( !class_exists( 'myCRED_Admin' ) ) {
269
  <tr>
270
  <th scope="row"><label for="myCRED-manual-add-points"><?php echo $label; ?></label></th>
271
  <td id="myCRED-adjust-users-points">
272
- <?php echo $this->core->plural(); ?>: <input type="text" name="myCRED-manual-add-points" id="myCRED-manual-add-points" value="<?php echo $this->core->number( 0 ); ?>" size="4" /><br /><br />
273
  <label for="myCRED-manual-add-description"><?php _e( 'Log description for adjustment', 'mycred' ); ?> <?php echo $req; ?></label><br />
274
- <input type="text" name="myCRED-manual-add-description" id="myCRED-manual-add-description" value="" class="regular-text" /> <?php submit_button( __( 'Update', 'mycred' ), 'primary medium', 'myCRED_update', '' ); ?>
275
  <?php if ( $mycred_errors ) echo '<p style="color:red;">' . __( 'Description is required!', 'mycred' ) . '</p>'; ?>
276
  </td>
277
  </tr>
97
 
98
  /**
99
  * Admin Header
100
+ * @filter mycred_icon_menu
101
  * @since 0.1
102
+ * @version 1.2
103
  */
104
  public function admin_header() {
105
  $screen = get_current_screen();
108
  wp_enqueue_style( 'mycred-inline-edit' );
109
  }
110
 
111
+ $image = apply_filters( 'mycred_icon_menu', plugins_url( 'assets/images/logo-menu.png', myCRED_THIS ) );
112
  echo '
113
  <style type="text/css">
114
  #adminmenu .toplevel_page_myCRED div.wp-menu-image { background-image: url(' . $image . '); background-position: 1px -28px; }
270
  <tr>
271
  <th scope="row"><label for="myCRED-manual-add-points"><?php echo $label; ?></label></th>
272
  <td id="myCRED-adjust-users-points">
273
+ <?php echo $this->core->plural(); ?>: <input type="text" name="myCRED-manual-add-points" id="myCRED-manual-add-points" value="<?php echo $this->core->zero(); ?>" size="4" /><br /><br />
274
  <label for="myCRED-manual-add-description"><?php _e( 'Log description for adjustment', 'mycred' ); ?> <?php echo $req; ?></label><br />
275
+ <input type="text" name="myCRED-manual-add-description" id="myCRED-manual-add-description" value="" class="regular-text" /> <?php submit_button( __( 'Update', 'mycred' ), 'primary medium', 'myCRED_update', false ); ?>
276
  <?php if ( $mycred_errors ) echo '<p style="color:red;">' . __( 'Description is required!', 'mycred' ) . '</p>'; ?>
277
  </td>
278
  </tr>
includes/mycred-functions.php CHANGED
@@ -1,32 +1,86 @@
1
  <?php
2
  if ( !defined( 'myCRED_VERSION' ) ) exit;
 
3
  /**
4
  * myCRED_Settings class
5
  * @see http://mycred.me/classes/mycred_settings/
6
  * @since 0.1
7
- * @version 1.1
8
  */
9
  if ( !class_exists( 'myCRED_Settings' ) ) {
10
  class myCRED_Settings {
11
 
12
  public $core;
 
13
 
14
  /**
15
  * Construct
16
  */
17
  function __construct() {
18
- if ( mycred_overwrite() === false )
19
- $this->core = get_option( 'mycred_pref_core' );
20
- else
21
- $this->core = get_blog_option( 1, 'mycred_pref_core' );
22
-
 
 
 
 
 
23
  if ( $this->core !== false ) {
24
  foreach ( (array) $this->core as $key => $value ) {
25
  $this->$key = $value;
26
  }
27
  }
28
 
29
- $this->db_name = 'myCRED_log';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  }
31
 
32
  /**
@@ -35,7 +89,10 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
35
  * @version 1.0
36
  */
37
  public function singular() {
38
- return $this->name['singular'];
 
 
 
39
  }
40
 
41
  /**
@@ -44,7 +101,25 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
44
  * @version 1.0
45
  */
46
  public function plural() {
47
- return $this->name['plural'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  }
49
 
50
  /**
@@ -56,18 +131,18 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
56
  * @param $number (int|float) the initial number
57
  * @returns the given number formated either as an integer or float
58
  * @since 0.1
59
- * @version 1.0
60
  */
61
  public function number( $number = '' ) {
62
- if ( empty( $number ) ) return $number;
63
 
64
  if ( !isset( $this->format['decimals'] ) )
65
- $decimals = $this->core['format']['decimals'];
66
  else
67
- $decimals = $this->format['decimals'];
68
 
69
- if ( (int) $decimals > 0 ) {
70
- return (float) number_format( (float) $number, (int) $decimals, '.', '' );
71
  }
72
  else {
73
  return (int) $number;
@@ -84,10 +159,10 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
84
  * @returns the given number formated either as an integer or float
85
  * @filter 'mycred_format_number'
86
  * @since 0.1
87
- * @version 1.0
88
  */
89
  public function format_number( $number = '' ) {
90
- if ( empty( $number ) ) return $number;
91
 
92
  $number = $this->number( $number );
93
  $decimals = $this->format['decimals'];
@@ -518,7 +593,7 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
518
  */
519
  public function edit_creds_cap() {
520
  if ( !isset( $this->caps['creds'] ) || empty( $this->caps['creds'] ) )
521
- $this->caps['creds'] = 'edit_users';
522
 
523
  return $this->caps['creds'];
524
  }
@@ -683,11 +758,11 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
683
  * @version 1.2
684
  */
685
  public function get_users_cred( $user_id = '', $type = '' ) {
686
- if ( empty( $user_id ) ) return 0;
687
 
688
  if ( empty( $type ) ) $type = $this->get_cred_id();
689
  $balance = get_user_meta( $user_id, $type, true );
690
- if ( empty( $balance ) ) $balance = 0;
691
 
692
  // Let others play
693
  $balance = apply_filters( 'mycred_get_users_cred', $balance, $this, $user_id, $type );
@@ -810,7 +885,7 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
810
  * @param $ref_id (array), optional array of reference IDs allowing the use of content specific keywords in the log entry
811
  * @param $data (object|array|string|int), optional extra data to save in the log. Note that arrays gets serialized!
812
  * @returns boolean true on success or false on fail
813
- * @version 1.0
814
  */
815
  public function add_to_log( $ref = '', $user_id = '', $amount = '', $entry = '', $ref_id = '', $data = '', $type = 'mycred_default' ) {
816
  // All the reasons we would fail
@@ -835,7 +910,7 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
835
 
836
  // Insert into DB
837
  $new_entry = $wpdb->insert(
838
- $wpdb->prefix . 'myCRED_log',
839
  array(
840
  'ref' => $ref,
841
  'ref_id' => $ref_id,
@@ -860,6 +935,8 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
860
 
861
  // $wpdb->insert returns false on fail
862
  if ( !$new_entry ) return false;
 
 
863
  return true;
864
  }
865
 
@@ -900,7 +977,7 @@ if ( !class_exists( 'myCRED_Settings' ) ) {
900
  $where = implode( ' AND ', $where );
901
 
902
  if ( !empty( $where ) ) {
903
- $sql = "SELECT * FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE $where";
904
  $wpdb->get_results( $wpdb->prepare( $sql, $prep ) );
905
  if ( $wpdb->num_rows > 0 ) return true;
906
  }
@@ -938,35 +1015,48 @@ if ( !function_exists( 'mycred_get_settings_network' ) ) {
938
  {
939
  if ( !is_multisite() ) return false;
940
 
941
- global $mycred_network;
942
-
943
- if ( !isset( $mycred_network ) ) {
944
- $defaults = array(
945
- 'master' => 0,
946
- 'block' => ''
947
- );
948
- $mycred_network = get_site_option( 'mycred_network', $defaults );
949
- }
950
 
951
- return $mycred_network;
952
  }
953
  }
954
 
955
  /**
956
- * Overwrite
957
- * Checks if master template is used.
958
- * Requires Multisite
959
- *
960
  * @since 0.1
961
  * @version 1.0
962
  */
963
- if ( !function_exists( 'mycred_overwrite' ) ) {
964
- function mycred_overwrite() {
965
  // Not a multisite
966
- if ( !is_multisite() ) return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
967
 
968
  $mycred_network = mycred_get_settings_network();
969
- return (bool) $mycred_network['master'];
 
 
970
  }
971
  }
972
 
@@ -1162,17 +1252,19 @@ if ( !function_exists( 'mycred_count_ref_instances' ) ) {
1162
  {
1163
  if ( empty( $reference ) ) return 999999999;
1164
 
 
 
1165
  global $wpdb;
1166
 
1167
  if ( $user_id !== NULL ) {
1168
  return $wpdb->get_var( $wpdb->prepare(
1169
- "SELECT COUNT(*) FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE ref = %s AND user_id = %d",
1170
  $reference,
1171
  $user_id
1172
  ) );
1173
  }
1174
 
1175
- return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE ref = %s", $reference ) );
1176
  }
1177
  }
1178
 
@@ -1253,9 +1345,8 @@ if ( !function_exists( 'mycred_get_total_by_time' ) ) {
1253
  global $wpdb;
1254
 
1255
  // Construct
1256
- $db = $wpdb->prefix . $mycred->db_name;
1257
  $where = implode( ' AND ', $wheres );
1258
- $sql = "SELECT creds FROM {$db} WHERE {$where} ORDER BY time;";
1259
 
1260
  // Query
1261
  $query = $wpdb->get_results( $wpdb->prepare( $sql, $prep ) );
@@ -1351,4 +1442,111 @@ if ( !function_exists( 'mycred_apply_defaults' ) ) {
1351
  return $return;
1352
  }
1353
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1354
  ?>
1
  <?php
2
  if ( !defined( 'myCRED_VERSION' ) ) exit;
3
+
4
  /**
5
  * myCRED_Settings class
6
  * @see http://mycred.me/classes/mycred_settings/
7
  * @since 0.1
8
+ * @version 1.3
9
  */
10
  if ( !class_exists( 'myCRED_Settings' ) ) {
11
  class myCRED_Settings {
12
 
13
  public $core;
14
+ public $log_table;
15
 
16
  /**
17
  * Construct
18
  */
19
  function __construct() {
20
+ if ( is_multisite() ) {
21
+ if ( mycred_override_settings() )
22
+ $this->core = get_blog_option( 1, 'mycred_pref_core', $this->defaults() );
23
+ else
24
+ $this->core = get_blog_option( $GLOBALS['blog_id'], 'mycred_pref_core', $this->defaults() );
25
+ }
26
+ else {
27
+ $this->core = get_option( 'mycred_pref_core', $this->defaults() );
28
+ }
29
+
30
  if ( $this->core !== false ) {
31
  foreach ( (array) $this->core as $key => $value ) {
32
  $this->$key = $value;
33
  }
34
  }
35
 
36
+ if ( defined( 'MYCRED_LOG_TABLE' ) )
37
+ $this->log_table = MYCRED_LOG_TABLE;
38
+ else {
39
+ global $wpdb;
40
+
41
+ if ( mycred_centralize_log() )
42
+ $this->log_table = $wpdb->base_prefix . 'myCRED_log';
43
+ else
44
+ $this->log_table = $wpdb->prefix . 'myCRED_log';
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Default Settings
50
+ * @since 1.3
51
+ * @version 1.0
52
+ */
53
+ public function defaults() {
54
+ return array(
55
+ 'cred_id' => 'mycred_default',
56
+ 'format' => array(
57
+ 'type' => '',
58
+ 'decimals' => 0,
59
+ 'separators' => array(
60
+ 'decimal' => '.',
61
+ 'thousand' => ','
62
+ )
63
+ ),
64
+ 'name' => array(
65
+ 'singular' => __( 'Point', 'mycred' ),
66
+ 'plural' => __( 'Points', 'mycred' )
67
+ ),
68
+ 'before' => '',
69
+ 'after' => '',
70
+ 'caps' => array(
71
+ 'plugin' => 'manage_options',
72
+ 'creds' => 'export'
73
+ ),
74
+ 'exclude' => array(
75
+ 'plugin_editors' => 0,
76
+ 'cred_editors' => 0,
77
+ 'list' => ''
78
+ ),
79
+ 'frequency' => array(
80
+ 'rate' => 'always',
81
+ 'date' => ''
82
+ )
83
+ );
84
  }
85
 
86
  /**
89
  * @version 1.0
90
  */
91
  public function singular() {
92
+ if ( ! isset( $this->core['name']['singular'] ) )
93
+ return $this->name['singular'];
94
+ else
95
+ return $this->core['name']['singular'];
96
  }
97
 
98
  /**
101
  * @version 1.0
102
  */
103
  public function plural() {
104
+ if ( ! isset( $this->core['name']['plural'] ) )
105
+ return $this->name['plural'];
106
+ else
107
+ return $this->core['name']['plural'];
108
+ }
109
+
110
+ /**
111
+ * Zero
112
+ * Returns zero formated with or without decimals.
113
+ * @since 1.3
114
+ * @version 1.0
115
+ */
116
+ public function zero() {
117
+ if ( !isset( $this->format['decimals'] ) )
118
+ $decimals = $this->core['format']['decimals'];
119
+ else
120
+ $decimals = $this->format['decimals'];
121
+
122
+ return number_format( 0, $decimals );
123
  }
124
 
125
  /**
131
  * @param $number (int|float) the initial number
132
  * @returns the given number formated either as an integer or float
133
  * @since 0.1
134
+ * @version 1.1
135
  */
136
  public function number( $number = '' ) {
137
+ if ( $number === '' ) return $number;
138
 
139
  if ( !isset( $this->format['decimals'] ) )
140
+ $decimals = (int) $this->core['format']['decimals'];
141
  else
142
+ $decimals = (int) $this->format['decimals'];
143
 
144
+ if ( $decimals > 0 ) {
145
+ return (float) number_format( (float) $number, $decimals, '.', '' );
146
  }
147
  else {
148
  return (int) $number;
159
  * @returns the given number formated either as an integer or float
160
  * @filter 'mycred_format_number'
161
  * @since 0.1
162
+ * @version 1.1
163
  */
164
  public function format_number( $number = '' ) {
165
+ if ( $number === '' ) return $number;
166
 
167
  $number = $this->number( $number );
168
  $decimals = $this->format['decimals'];
593
  */
594
  public function edit_creds_cap() {
595
  if ( !isset( $this->caps['creds'] ) || empty( $this->caps['creds'] ) )
596
+ $this->caps['creds'] = 'delete_users';
597
 
598
  return $this->caps['creds'];
599
  }
758
  * @version 1.2
759
  */
760
  public function get_users_cred( $user_id = '', $type = '' ) {
761
+ if ( empty( $user_id ) ) return $this->zero();
762
 
763
  if ( empty( $type ) ) $type = $this->get_cred_id();
764
  $balance = get_user_meta( $user_id, $type, true );
765
+ if ( empty( $balance ) ) $balance = $this->zero();
766
 
767
  // Let others play
768
  $balance = apply_filters( 'mycred_get_users_cred', $balance, $this, $user_id, $type );
885
  * @param $ref_id (array), optional array of reference IDs allowing the use of content specific keywords in the log entry
886
  * @param $data (object|array|string|int), optional extra data to save in the log. Note that arrays gets serialized!
887
  * @returns boolean true on success or false on fail
888
+ * @version 1.0.1
889
  */
890
  public function add_to_log( $ref = '', $user_id = '', $amount = '', $entry = '', $ref_id = '', $data = '', $type = 'mycred_default' ) {
891
  // All the reasons we would fail
910
 
911
  // Insert into DB
912
  $new_entry = $wpdb->insert(
913
+ $this->log_table,
914
  array(
915
  'ref' => $ref,
916
  'ref_id' => $ref_id,
935
 
936
  // $wpdb->insert returns false on fail
937
  if ( !$new_entry ) return false;
938
+
939
+ delete_transient( 'mycred_log_entries' );
940
  return true;
941
  }
942
 
977
  $where = implode( ' AND ', $where );
978
 
979
  if ( !empty( $where ) ) {
980
+ $sql = "SELECT * FROM {$this->log_table} WHERE {$where};";
981
  $wpdb->get_results( $wpdb->prepare( $sql, $prep ) );
982
  if ( $wpdb->num_rows > 0 ) return true;
983
  }
1015
  {
1016
  if ( !is_multisite() ) return false;
1017
 
1018
+ $defaults = array(
1019
+ 'master' => 0,
1020
+ 'central' => 0,
1021
+ 'block' => ''
1022
+ );
1023
+ $settings = get_blog_option( 1, 'mycred_network', $defaults );
 
 
 
1024
 
1025
+ return $settings;
1026
  }
1027
  }
1028
 
1029
  /**
1030
+ * Override Settings
 
 
 
1031
  * @since 0.1
1032
  * @version 1.0
1033
  */
1034
+ if ( !function_exists( 'mycred_override_settings' ) ) {
1035
+ function mycred_override_settings() {
1036
  // Not a multisite
1037
+ if ( ! is_multisite() ) return false;
1038
+
1039
+ $mycred_network = mycred_get_settings_network();
1040
+ if ( $mycred_network['master'] ) return true;
1041
+
1042
+ return false;
1043
+ }
1044
+ }
1045
+
1046
+ /**
1047
+ * Centralize Log
1048
+ * @since 1.3
1049
+ * @version 1.0
1050
+ */
1051
+ if ( !function_exists( 'mycred_centralize_log' ) ) {
1052
+ function mycred_centralize_log() {
1053
+ // Not a multisite
1054
+ if ( ! is_multisite() ) return true;
1055
 
1056
  $mycred_network = mycred_get_settings_network();
1057
+ if ( $mycred_network['central'] ) return true;
1058
+
1059
+ return false;
1060
  }
1061
  }
1062
 
1252
  {
1253
  if ( empty( $reference ) ) return 999999999;
1254
 
1255
+ $mycred = mycred_get_settings();
1256
+
1257
  global $wpdb;
1258
 
1259
  if ( $user_id !== NULL ) {
1260
  return $wpdb->get_var( $wpdb->prepare(
1261
+ "SELECT COUNT(*) FROM {$mycred->log_table} WHERE ref = %s AND user_id = %d;",
1262
  $reference,
1263
  $user_id
1264
  ) );
1265
  }
1266
 
1267
+ return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$mycred->log_table} WHERE ref = %s;", $reference ) );
1268
  }
1269
  }
1270
 
1345
  global $wpdb;
1346
 
1347
  // Construct
 
1348
  $where = implode( ' AND ', $wheres );
1349
+ $sql = "SELECT creds FROM {$mycred->log_table} WHERE {$where} ORDER BY time;";
1350
 
1351
  // Query
1352
  $query = $wpdb->get_results( $wpdb->prepare( $sql, $prep ) );
1442
  return $return;
1443
  }
1444
  }
1445
+
1446
+ /**
1447
+ * Get Remote API Settings
1448
+ * @since 1.3
1449
+ * @version 1.0
1450
+ */
1451
+ if ( !function_exists( 'mycred_get_remote' ) ) {
1452
+ function mycred_get_remote() {
1453
+ $defaults = apply_filters( 'mycred_remote_defaults', array(
1454
+ 'enabled' => 0,
1455
+ 'key' => '',
1456
+ 'uri' => 'api-dev',
1457
+ 'debug' => 0
1458
+ ) );
1459
+ return mycred_apply_defaults( $defaults, get_option( 'mycred_pref_remote', array() ) );
1460
+ }
1461
+ }
1462
+
1463
+ /**
1464
+ * Is myCRED Ready
1465
+ * @since 1.3
1466
+ * @version 1.0
1467
+ */
1468
+ function is_mycred_ready()
1469
+ {
1470
+ global $mycred;
1471
+ $mycred = new myCRED_Settings();
1472
+
1473
+ // By default we start with the main sites setup. If it is not a multisite installation
1474
+ // get_blog_option() will default to get_option() for us.
1475
+ if ( is_multisite() )
1476
+ $setup = get_blog_option( 1, 'mycred_setup_completed' );
1477
+ else
1478
+ $setup = get_option( 'mycred_setup_completed' );
1479
+
1480
+ // If it is a multisite and the master template is not used, check if this site has
1481
+ // been installed
1482
+ if ( is_multisite() && $GLOBALS['blog_id'] > 1 && ! mycred_override_settings() )
1483
+ $setup = get_blog_option( $GLOBALS['blog_id'], 'mycred_setup_completed' );
1484
+
1485
+ // Make sure that if we switch from central log to seperate logs, we install this
1486
+ // log if it does not exists.
1487
+ if ( is_multisite() && $GLOBALS['blog_id'] > 1 && ! mycred_centralize_log() ) {
1488
+ mycred_install_log( $mycred->core['format']['decimals'], $mycred->log_table );
1489
+ }
1490
+
1491
+ // If setup is set, we are ready
1492
+ if ( $setup !== false ) return true;
1493
+
1494
+ // If we have come this far we need to load the setup
1495
+ require_once( myCRED_INCLUDES_DIR . 'mycred-install.php' );
1496
+ $setup = new myCRED_Setup();
1497
+ return $setup->status();
1498
+ }
1499
+
1500
+ /**
1501
+ * Install Log
1502
+ * Installs the log for a site.
1503
+ * Requires Multisite
1504
+ * @since 1.3
1505
+ * @version 1.1
1506
+ */
1507
+ function mycred_install_log( $decimals = 0, $table = NULL )
1508
+ {
1509
+ if ( is_multisite() && get_blog_option( $GLOBALS['blog_id'], 'mycred_version_db', false ) !== false ) return true;
1510
+ elseif ( ! is_multisite() && get_option( 'mycred_version_db', false ) !== false ) return true;
1511
+
1512
+ global $wpdb;
1513
+
1514
+ if ( $table === NULL ) {
1515
+ $mycred = mycred_get_settings();
1516
+ $table = $mycred->log_table;
1517
+ }
1518
+
1519
+ if ( $decimals > 0 ) {
1520
+ if ( $decimals > 4 )
1521
+ $cred_format = "decimal(32,$decimals)";
1522
+ else
1523
+ $cred_format = "decimal(22,$decimals)";
1524
+ }
1525
+ else {
1526
+ $cred_format = 'bigint(22)';
1527
+ }
1528
+
1529
+ // Log structure
1530
+ $sql = "id int(11) NOT NULL AUTO_INCREMENT,
1531
+ ref VARCHAR(256) NOT NULL,
1532
+ ref_id int(11) DEFAULT NULL,
1533
+ user_id int(11) DEFAULT NULL,
1534
+ creds $cred_format DEFAULT NULL,
1535
+ ctype VARCHAR(64) DEFAULT 'mycred_default',
1536
+ time bigint(20) DEFAULT NULL,
1537
+ entry LONGTEXT DEFAULT NULL,
1538
+ data LONGTEXT DEFAULT NULL,
1539
+ PRIMARY KEY (id),
1540
+ UNIQUE KEY id (id)";
1541
+
1542
+ // Insert table
1543
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
1544
+ dbDelta( "CREATE TABLE IF NOT EXISTS {$table} ( " . $sql . " );" );
1545
+ if ( is_multisite() )
1546
+ add_blog_option( $GLOBALS['blog_id'], 'mycred_version_db', '1.0' );
1547
+ else
1548
+ add_option( 'mycred_version_db', '1.0' );
1549
+
1550
+ return true;
1551
+ }
1552
  ?>
includes/mycred-install.php CHANGED
@@ -5,18 +5,21 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
5
  * Used when the plugin is activated/de-activated or deleted. Installs core settings and
6
  * base templates, checks compatibility and uninstalls.
7
  * @since 0.1
8
- * @version 1.0
9
  */
10
  if ( !class_exists( 'myCRED_Install' ) ) {
11
  class myCRED_Install {
12
 
 
13
  public $ver;
14
 
15
  /**
16
  * Construct
17
  */
18
  function __construct() {
19
- $this->ver = get_option( 'mycred_version' );
 
 
20
  }
21
 
22
  /**
@@ -54,60 +57,29 @@ if ( !class_exists( 'myCRED_Install' ) ) {
54
  /**
55
  * First time activation
56
  * @since 0.1
57
- * @version 1.0
58
  */
59
  public function activate() {
60
  // Add general settings
61
- $general = array(
62
- 'cred_id' => 'mycred_default',
63
- 'format' => array(
64
- 'type' => '',
65
- 'decimals' => 0,
66
- 'separators' => array(
67
- 'decimal' => '.',
68
- 'thousand' => ','
69
- )
70
- ),
71
- 'name' => array(
72
- 'singular' => '',
73
- 'plural' => ''
74
- ),
75
- 'before' => '',
76
- 'after' => '',
77
- 'caps' => array(
78
- 'plugin' => 'manage_options',
79
- 'creds' => 'edit_users'
80
- ),
81
- 'exclude' => array(
82
- 'plugin_editors' => false,
83
- 'cred_editors' => false,
84
- 'list' => ''
85
- ),
86
- 'frequency' => array(
87
- 'rate' => 'always',
88
- 'date' => ''
89
- )
90
- );
91
- add_option( 'mycred_pref_core', $general );
92
 
93
  // Add add-ons settings
94
- $addons = array(
95
  'installed' => array(),
96
  'active' => array()
97
- );
98
- add_option( 'mycred_pref_addons', $addons );
99
 
100
  // Add hooks settings
101
- $hooks = array(
102
  'installed' => array(),
103
  'active' => array(),
104
  'hook_prefs' => array()
105
- );
106
- add_option( 'mycred_pref_hooks', $hooks );
107
 
108
  // Add version number making sure we never run this function again
109
  add_option( 'mycred_version', myCRED_VERSION );
110
- add_option( 'mycred_key', wp_generate_password( 12, true, true ), '', 'no' );
 
111
  }
112
 
113
  /**
@@ -134,7 +106,7 @@ if ( !class_exists( 'myCRED_Install' ) ) {
134
  * settings and data once the core is gone.
135
  * @filter 'mycred_uninstall_this'
136
  * @since 0.1
137
- * @version 1.1
138
  */
139
  public function uninstall() {
140
  // Everyone should use this filter to delete everything else they have created before returning the option ids.
@@ -143,7 +115,7 @@ if ( !class_exists( 'myCRED_Install' ) ) {
143
 
144
  // Delete each option
145
  foreach ( $installed as $option_id ) {
146
- delete_option( $option_id );
147
  }
148
 
149
  // Delete flags
@@ -174,8 +146,19 @@ if ( !class_exists( 'myCRED_Install' ) ) {
174
 
175
  // Delete DB
176
  global $wpdb;
177
- $table_name = $wpdb->prefix . 'myCRED_log';
178
- $wpdb->query( "DROP TABLE IF EXISTS " . $table_name . ";" );
 
 
 
 
 
 
 
 
 
 
 
179
 
180
  // Multisite
181
  if ( is_multisite() ) {
@@ -229,6 +212,7 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
229
  public $status;
230
 
231
  public $core;
 
232
 
233
  /**
234
  * Construct
@@ -238,6 +222,7 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
238
  $this->status = false;
239
  $mycred = mycred_get_settings();
240
  $this->core = $mycred->core;
 
241
 
242
  // Setup Step
243
  $this->step = false;
@@ -263,7 +248,6 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
263
  $screen = get_current_screen();
264
  if ( $screen->id == 'plugins_page_myCRED-setup' ) return;
265
 
266
- $image_url = plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS );
267
  echo '
268
  <div class="updated">
269
  <p>' . __( 'myCRED needs your attention.', 'mycred' ) . ' <a href="' . admin_url( 'plugins.php?page=myCRED-setup' ) . '">' . __( 'Run Setup', 'mycred' ) . '</a></p>
@@ -348,7 +332,7 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
348
  $settings['format']['type'] = 'bigint';
349
 
350
  // Install database
351
- $installation = $this->install_database( $settings['format']['decimals'] );
352
 
353
  // Name
354
  $settings['name']['singular'] = sanitize_text_field( $_POST['myCRED-name-singular'] );
@@ -366,7 +350,7 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
366
  elseif ( $step == 3 ) {
367
  // Capabilities
368
  $settings['caps']['plugin'] = ( isset( $_POST['myCRED-cap-plugin'] ) ) ? trim( $_POST['myCRED-cap-plugin'] ) : 'manage_options';
369
- $settings['caps']['creds'] = ( isset( $_POST['myCRED-cap-creds'] ) ) ? trim( $_POST['myCRED-cap-creds'] ) : 'edit_users';
370
 
371
  // Excludes
372
  $settings['exclude']['plugin_editors'] = ( isset( $_POST['myCRED-exclude-plugin-editors'] ) ) ? true : false;
@@ -400,7 +384,12 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
400
  * @version 1.0
401
  */
402
  public function settings_header() {
403
- wp_enqueue_style( 'mycred-setup' );
 
 
 
 
 
404
  }
405
 
406
  /**
@@ -563,7 +552,7 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
563
 
564
  // Capabilities
565
  $edit_plugin = ( isset( $_POST['myCRED-cap-plugin'] ) ) ? sanitize_text_field( $_POST['myCRED-cap-plugin'] ) : 'manage_options';
566
- $edit_creds = ( isset( $_POST['myCRED-cap-creds'] ) ) ? sanitize_text_field( $_POST['myCRED-cap-creds'] ) : 'edit_users';
567
 
568
  // Excludes
569
  $exclude_plugin_editors = ( isset( $_POST['myCRED-exclude-plugin-editors'] ) ) ? 1 : 0;
@@ -620,7 +609,7 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
620
  <li class="empty">&nbsp;</li>
621
  <li>
622
  <label for="myCRED-freq-date"><?php _e( 'Date', 'mycred' ); ?></label>
623
- <div class="h2"><input type="date" name="myCRED-freq-date" id="myCRED-freq-date" value="" class="medium" /></div>
624
  </li>
625
  </ol>
626
 
@@ -649,50 +638,6 @@ if ( !class_exists( 'myCRED_Setup' ) ) {
649
  </form>
650
  <?php
651
  }
652
-
653
- /**
654
- * Install Database
655
- * @since 0.1
656
- * @version 1.1
657
- */
658
- protected function install_database( $decimals = 0 ) {
659
- // If DB is already installed bail pretending that everything is fine
660
- if ( get_option( 'mycred_version_db' ) !== false ) return true;
661
-
662
- // Format
663
- if ( $decimals > 0 ) {
664
- if ( $decimals > 4 )
665
- $cred_format = "decimal(32,$decimals)";
666
- else
667
- $cred_format = "decimal(22,$decimals)";
668
- }
669
- else {
670
- $cred_format = 'bigint(22)';
671
- }
672
-
673
- global $wpdb;
674
-
675
- // Table Name
676
- $table_name = $wpdb->prefix . 'myCRED_log';
677
- // Log structure
678
- $sql = "id int(11) NOT NULL AUTO_INCREMENT,
679
- ref VARCHAR(256) NOT NULL,
680
- ref_id int(11) DEFAULT NULL,
681
- user_id int(11) DEFAULT NULL,
682
- creds $cred_format DEFAULT NULL,
683
- ctype VARCHAR(64) DEFAULT 'mycred_default',
684
- time bigint(20) DEFAULT NULL,
685
- entry LONGTEXT DEFAULT NULL,
686
- data LONGTEXT DEFAULT NULL,
687
- PRIMARY KEY (id),
688
- UNIQUE KEY id (id)";
689
-
690
- // Insert table
691
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
692
- dbDelta( "CREATE TABLE IF NOT EXISTS " . $table_name . " ( " . $sql . " );" );
693
- add_option( 'mycred_version_db', '1.0', '', 'no' );
694
- return true;
695
- }
696
  }
697
  }
698
  ?>
5
  * Used when the plugin is activated/de-activated or deleted. Installs core settings and
6
  * base templates, checks compatibility and uninstalls.
7
  * @since 0.1
8
+ * @version 1.1
9
  */
10
  if ( !class_exists( 'myCRED_Install' ) ) {
11
  class myCRED_Install {
12
 
13
+ public $core;
14
  public $ver;
15
 
16
  /**
17
  * Construct
18
  */
19
  function __construct() {
20
+ $this->core = mycred_get_settings();
21
+ // Get main sites settings
22
+ $this->ver = get_option( 'mycred_version', false );
23
  }
24
 
25
  /**
57
  /**
58
  * First time activation
59
  * @since 0.1
60
+ * @version 1.2
61
  */
62
  public function activate() {
63
  // Add general settings
64
+ add_option( 'mycred_pref_core', $this->core->defaults() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
66
  // Add add-ons settings
67
+ add_option( 'mycred_pref_addons', array(
68
  'installed' => array(),
69
  'active' => array()
70
+ ) );
 
71
 
72
  // Add hooks settings
73
+ add_option( 'mycred_pref_hooks', array(
74
  'installed' => array(),
75
  'active' => array(),
76
  'hook_prefs' => array()
77
+ ) );
 
78
 
79
  // Add version number making sure we never run this function again
80
  add_option( 'mycred_version', myCRED_VERSION );
81
+ $key = wp_generate_password( 12, true, true );
82
+ add_option( 'mycred_key', $key );
83
  }
84
 
85
  /**
106
  * settings and data once the core is gone.
107
  * @filter 'mycred_uninstall_this'
108
  * @since 0.1
109
+ * @version 1.2
110
  */
111
  public function uninstall() {
112
  // Everyone should use this filter to delete everything else they have created before returning the option ids.
115
 
116
  // Delete each option
117
  foreach ( $installed as $option_id ) {
118
+ delete_option( $GLOBALS['blog_id'], $option_id );
119
  }
120
 
121
  // Delete flags
146
 
147
  // Delete DB
148
  global $wpdb;
149
+
150
+ if ( defined( 'MYCRED_LOG_TABLE' ) )
151
+ $table_name = MYCRED_LOG_TABLE;
152
+ else {
153
+ global $wpdb;
154
+
155
+ if ( mycred_centralize_log() )
156
+ $table_name = $wpdb->base_prefix . 'myCRED_log';
157
+ else
158
+ $table_name = $wpdb->prefix . 'myCRED_log';
159
+ }
160
+
161
+ $wpdb->query( "DROP TABLE IF EXISTS {$table_name};" );
162
 
163
  // Multisite
164
  if ( is_multisite() ) {
212
  public $status;
213
 
214
  public $core;
215
+ public $log_table;
216
 
217
  /**
218
  * Construct
222
  $this->status = false;
223
  $mycred = mycred_get_settings();
224
  $this->core = $mycred->core;
225
+ $this->log_table = $mycred->log_table;
226
 
227
  // Setup Step
228
  $this->step = false;
248
  $screen = get_current_screen();
249
  if ( $screen->id == 'plugins_page_myCRED-setup' ) return;
250
 
 
251
  echo '
252
  <div class="updated">
253
  <p>' . __( 'myCRED needs your attention.', 'mycred' ) . ' <a href="' . admin_url( 'plugins.php?page=myCRED-setup' ) . '">' . __( 'Run Setup', 'mycred' ) . '</a></p>
332
  $settings['format']['type'] = 'bigint';
333
 
334
  // Install database
335
+ mycred_install_log( $settings['format']['decimals'], $this->log_table );
336
 
337
  // Name
338
  $settings['name']['singular'] = sanitize_text_field( $_POST['myCRED-name-singular'] );
350
  elseif ( $step == 3 ) {
351
  // Capabilities
352
  $settings['caps']['plugin'] = ( isset( $_POST['myCRED-cap-plugin'] ) ) ? trim( $_POST['myCRED-cap-plugin'] ) : 'manage_options';
353
+ $settings['caps']['creds'] = ( isset( $_POST['myCRED-cap-creds'] ) ) ? trim( $_POST['myCRED-cap-creds'] ) : 'export';
354
 
355
  // Excludes
356
  $settings['exclude']['plugin_editors'] = ( isset( $_POST['myCRED-exclude-plugin-editors'] ) ) ? true : false;
384
  * @version 1.0
385
  */
386
  public function settings_header() {
387
+ wp_enqueue_style( 'mycred-setup' ); ?>
388
+
389
+ <style type="text/css">
390
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(<?php echo plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS ); ?>); }
391
+ </style>
392
+ <?php
393
  }
394
 
395
  /**
552
 
553
  // Capabilities
554
  $edit_plugin = ( isset( $_POST['myCRED-cap-plugin'] ) ) ? sanitize_text_field( $_POST['myCRED-cap-plugin'] ) : 'manage_options';
555
+ $edit_creds = ( isset( $_POST['myCRED-cap-creds'] ) ) ? sanitize_text_field( $_POST['myCRED-cap-creds'] ) : 'export';
556
 
557
  // Excludes
558
  $exclude_plugin_editors = ( isset( $_POST['myCRED-exclude-plugin-editors'] ) ) ? 1 : 0;
609
  <li class="empty">&nbsp;</li>
610
  <li>
611
  <label for="myCRED-freq-date"><?php _e( 'Date', 'mycred' ); ?></label>
612
+ <div class="h2"><input type="date" name="myCRED-freq-date" id="myCRED-freq-date" value="" class="medium" placeholder="YYYY-MM-DD" /></div>
613
  </li>
614
  </ol>
615
 
638
  </form>
639
  <?php
640
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
641
  }
642
  }
643
  ?>
includes/mycred-log.php ADDED
@@ -0,0 +1,476 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * Query Log
6
+ * @see http://mycred.me/classes/mycred_query_log/
7
+ * @since 0.1
8
+ * @version 1.2
9
+ */
10
+ if ( !class_exists( 'myCRED_Query_Log' ) ) {
11
+ class myCRED_Query_Log {
12
+
13
+ public $args;
14
+ public $request;
15
+ public $prep;
16
+ public $results;
17
+ public $num_rows;
18
+ public $headers;
19
+
20
+ /**
21
+ * Construct
22
+ */
23
+ public function __construct( $args = array() ) {
24
+ if ( empty( $args ) ) return false;
25
+
26
+ global $wpdb;
27
+
28
+ $select = $where = $sortby = $limits = '';
29
+ $prep = $wheres = array();
30
+
31
+ // Load General Settings
32
+ $this->core = mycred_get_settings();
33
+ if ( $this->core->format['decimals'] > 0 )
34
+ $format = '%f';
35
+ else
36
+ $format = '%d';
37
+
38
+ // Prep Defaults
39
+ $defaults = array(
40
+ 'user_id' => NULL,
41
+ 'ctype' => $this->core->get_cred_id(),
42
+ 'number' => 25,
43
+ 'time' => NULL,
44
+ 'ref' => NULL,
45
+ 'ref_id' => NULL,
46
+ 'amount' => NULL,
47
+ 's' => NULL,
48
+ 'orderby' => 'time',
49
+ 'order' => 'DESC',
50
+ 'ids' => false,
51
+ 'cache' => NULL
52
+ );
53
+ $this->args = shortcode_atts( $defaults, $args );
54
+
55
+ $data = false;
56
+ if ( $this->args['cache'] !== NULL ) {
57
+ $cache_id = substr( $this->args['cache'], 0, 23 );
58
+ if ( is_multisite() )
59
+ $data = get_site_transient( 'mycred_log_query_' . $cache_id );
60
+ else
61
+ $data = get_transient( 'mycred_log_query_' . $cache_id );
62
+ }
63
+ if ( $data === false ) {
64
+ // Prep return
65
+ if ( $this->args['ids'] === true )
66
+ $select = 'SELECT id';
67
+ else
68
+ $select = 'SELECT *';
69
+
70
+ $wheres[] = 'ctype = %s';
71
+ $prep[] = $this->args['ctype'];
72
+
73
+ // User ID
74
+ if ( $this->args['user_id'] !== NULL ) {
75
+ $wheres[] = 'user_id = %d';
76
+ $prep[] = abs( $this->args['user_id'] );
77
+ }
78
+
79
+ // Reference
80
+ if ( $this->args['ref'] !== NULL ) {
81
+ $wheres[] = 'ref = %s';
82
+ $prep[] = sanitize_text_field( $this->args['ref'] );
83
+ }
84
+
85
+ // Reference ID
86
+ if ( $this->args['ref_id'] !== NULL ) {
87
+ $wheres[] = 'ref_id = %d';
88
+ $prep[] = sanitize_text_field( $this->args['ref_id'] );
89
+ }
90
+
91
+ // Amount
92
+ if ( $this->args['amount'] !== NULL ) {
93
+ // Range
94
+ if ( is_array( $this->args['amount'] ) && array_key_exists( 'start', $this->args['amount'] ) && array_key_exists( 'end', $this->args['amount'] ) ) {
95
+ $wheres[] = 'creds BETWEEN ' . $format . ' AND ' . $format;
96
+ $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount']['start'] ) );
97
+ $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount']['end'] ) );
98
+ }
99
+ // Compare
100
+ elseif ( is_array( $this->args['amount'] ) && array_key_exists( 'num', $this->args['amount'] ) && array_key_exists( 'compare', $this->args['amount'] ) ) {
101
+ $wheres[] = 'creds' . sanitize_text_field( $this->args['amount']['compare'] ) . ' ' . $format;
102
+ $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount']['num'] ) );
103
+ }
104
+ // Specific amount
105
+ else {
106
+ $wheres[] = 'creds = ' . $format;
107
+ $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount'] ) );
108
+ }
109
+ }
110
+
111
+ // Time
112
+ if ( $this->args['time'] !== NULL ) {
113
+ $today = strtotime( date_i18n( 'Y/m/d' ) );
114
+ $todays_date = date_i18n( 'd' );
115
+ $tomorrow = strtotime( date_i18n( 'Y/m/d', date_i18n( 'U' )+86400 ) );
116
+ $now = date_i18n( 'U' );
117
+
118
+ // Show todays entries
119
+ if ( $this->args['time'] == 'today' ) {
120
+ $wheres[] = "time BETWEEN $today AND $now";
121
+ }
122
+ // Show yesterdays entries
123
+ elseif ( $this->args['time'] == 'yesterday' ) {
124
+ $yesterday = strtotime( date_i18n( 'Y/m/d', date_i18n( 'U' )-86400 ) );
125
+ $wheres[] = "time BETWEEN $yesterday AND $today";
126
+ }
127
+ // Show this weeks entries
128
+ elseif ( $this->args['time'] == 'thisweek' ) {
129
+ $start_of_week = get_option( 'start_of_week' );
130
+ $weekday = date_i18n( 'w' );
131
+ // New week started today so show only todays
132
+ if ( $start_of_week == $weekday ) {
133
+ $wheres[] = "time BETWEEN $today AND $now";
134
+ }
135
+ // Show rest of this week
136
+ else {
137
+ $no_days_since_start_of_week = $weekday-$start_of_week;
138
+ $weekstart = $no_days_since_start_of_week*86400;
139
+ $weekstart = $today-$weekstart;
140
+ $wheres[] = "time BETWEEN $weekstart AND $now";
141
+ }
142
+ }
143
+ // Show this months entries
144
+ elseif ( $this->args['time'] == 'thismonth' ) {
145
+ $start_of_month = strtotime( date_i18n( 'Y/m/01' ) );
146
+ $wheres[] = "time BETWEEN $start_of_month AND $now";
147
+ }
148
+ }
149
+
150
+ // Search
151
+ if ( $this->args['s'] !== NULL ) {
152
+ $search_query = sanitize_text_field( $this->args['s'] );
153
+
154
+ if ( is_int( $search_query ) )
155
+ $search_query = (string) $search_query;
156
+
157
+ $wheres[] = "entry LIKE %s OR data LIKE %s OR ref LIKE %s";
158
+ $prep[] = "%$search_query%";
159
+ $prep[] = "%$search_query%";
160
+ $prep[] = "%$search_query%";
161
+
162
+ if ( $this->args['user_id'] !== NULL ) {
163
+ $wheres[] = 'AND user_id = %d';
164
+ $prep[] = $user_id;
165
+ }
166
+ }
167
+
168
+ // Order by
169
+ if ( !empty( $this->args['orderby'] ) ) {
170
+ // Make sure $sortby is valid
171
+ $sortbys = array( 'id', 'ref', 'ref_id', 'user_id', 'creds', 'ctype', 'entry', 'data', 'time' );
172
+ $allowed = apply_filters( 'mycred_allowed_sortby', $sortbys );
173
+ if ( in_array( $this->args['orderby'], $allowed ) ) {
174
+ $sortby = "ORDER BY " . $this->args['orderby'] . " " . $this->args['order'];
175
+ }
176
+ }
177
+
178
+ // Limits
179
+ if ( $this->args['number'] == '-1' )
180
+ $limits = '';
181
+ elseif ( $this->args['number'] > 0 )
182
+ $limits = 'LIMIT 0,' . absint( $this->args['number'] );
183
+
184
+ // Filter
185
+ $select = apply_filters( 'mycred_query_log_select', $select, $this->args, $this->core );
186
+ $sortby = apply_filters( 'mycred_query_log_sortby', $sortby, $this->args, $this->core );
187
+ $limits = apply_filters( 'mycred_query_log_limits', $limits, $this->args, $this->core );
188
+ $wheres = apply_filters( 'mycred_query_log_wheres', $wheres, $this->args, $this->core );
189
+
190
+ $prep = apply_filters( 'mycred_query_log_prep', $prep, $this->args, $this->core );
191
+
192
+ $where = 'WHERE ' . implode( ' AND ', $wheres );
193
+
194
+ // Run
195
+ $this->request = "{$select} FROM {$this->core->log_table} {$where} {$sortby} {$limits};";
196
+ $this->results = $wpdb->get_results( $wpdb->prepare( $this->request, $prep ) );
197
+ $this->prep = $prep;
198
+
199
+ if ( $this->args['cache'] !== NULL ) {
200
+ if ( is_multisite() )
201
+ set_site_transient( 'mycred_log_query_' . $cache_id, $this->results, DAY_IN_SECONDS * 1 );
202
+ else
203
+ set_transient( 'mycred_log_query_' . $cache_id, $this->results, DAY_IN_SECONDS * 1 );
204
+ }
205
+
206
+ // Counts
207
+ $this->num_rows = $wpdb->num_rows;
208
+ }
209
+
210
+ // Return the transient
211
+ else {
212
+ $this->request = 'transient';
213
+ $this->results = $data;
214
+ $this->prep = '';
215
+
216
+ $this->num_rows = count( $data );
217
+ }
218
+
219
+ $this->headers = $this->table_headers();
220
+ }
221
+
222
+ /**
223
+ * Has Entries
224
+ * @returns true or false
225
+ * @since 0.1
226
+ * @version 1.0
227
+ */
228
+ public function have_entries() {
229
+ if ( !empty( $this->results ) ) return true;
230
+ return false;
231
+ }
232
+
233
+ /**
234
+ * Table Headers
235
+ * Returns all table column headers.
236
+ *
237
+ * @filter mycred_log_column_headers
238
+ * @since 0.1
239
+ * @version 1.0
240
+ */
241
+ public function table_headers() {
242
+ return apply_filters( 'mycred_log_column_headers', array(
243
+ 'column-username' => __( 'User', 'mycred' ),
244
+ 'column-time' => __( 'Date', 'mycred' ),
245
+ 'column-creds' => $this->core->plural(),
246
+ 'column-entry' => __( 'Entry', 'mycred' )
247
+ ), $this );
248
+ }
249
+
250
+ /**
251
+ * Display
252
+ * @since 0.1
253
+ * @version 1.0
254
+ */
255
+ public function display() {
256
+ echo $this->get_display();
257
+ }
258
+
259
+ /**
260
+ * Get Display
261
+ * Generates a table for our results.
262
+ *
263
+ * @since 0.1
264
+ * @version 1.0
265
+ */
266
+ public function get_display() {
267
+ $output = '
268
+ <table class="wp-list-table widefat fixed log-entries" cellspacing="0">
269
+ <thead>
270
+ <tr>';
271
+
272
+ // Table header
273
+ foreach ( $this->headers as $col_id => $col_title ) {
274
+ $output .= '<th scope="col" id="' . str_replace( 'column-', '', $col_id ) . '" class="manage-column ' . $col_id . '">' . $col_title . '</th>';
275
+ }
276
+
277
+ $output .= '
278
+ </tr>
279
+ </thead>
280
+ <tfoot>';
281
+
282
+ // Table footer
283
+ foreach ( $this->headers as $col_id => $col_title ) {
284
+ $output .= '<th scope="col" class="manage-column ' . $col_id . '">' . $col_title . '</th>';
285
+ }
286
+
287
+ $output .= '
288
+ </tfoot>
289
+ <tbody id="the-list">';
290
+
291
+ // Loop
292
+ if ( $this->have_entries() ) {
293
+ $alt = 0;
294
+ foreach ( $this->results as $log_entry ) {
295
+ $alt = $alt+1;
296
+ if ( $alt % 2 == 0 )
297
+ $class = ' alt';
298
+ else
299
+ $class = '';
300
+
301
+ $output .= '<tr class="myCRED-log-row' . $class . '">';
302
+ $output .= $this->get_the_entry( $log_entry );
303
+ $output .= '</tr>';
304
+ }
305
+ }
306
+ // No log entry
307
+ else {
308
+ $output .= '<tr><td colspan="' . count( $this->headers ) . '" class="no-entries">' . $this->get_no_entries() . '</td></tr>';
309
+ }
310
+
311
+ $output .= '
312
+ </tbody>
313
+ </table>' . "\n";
314
+
315
+ return $output;
316
+ }
317
+
318
+ /**
319
+ * The Entry
320
+ * @since 0.1
321
+ * @version 1.1
322
+ */
323
+ public function the_entry( $log_entry, $wrap = 'td' ) {
324
+ echo $this->get_the_entry( $log_entry, $wrap );
325
+ }
326
+
327
+ /**
328
+ * Get The Entry
329
+ * Generated a single entry row depending on the columns used / requested.
330
+ * @filter mycred_log_date
331
+ * @since 0.1
332
+ * @version 1.2.1
333
+ */
334
+ public function get_the_entry( $log_entry, $wrap = 'td' ) {
335
+ $date_format = get_option( 'date_format' ) . ' ' . get_option( 'time_format' );
336
+ $entry_data = '';
337
+
338
+ // Run though columns
339
+ foreach ( $this->headers as $column_id => $column_name ) {
340
+ switch ( $column_id ) {
341
+ // Username Column
342
+ case 'column-username':
343
+ $user = get_userdata( $log_entry->user_id );
344
+
345
+ if ( $user === false )
346
+ $content = '<span>' . __( 'User Missing', 'mycred' ) . ' (ID: ' . $log_entry->user_id . ')</span>';
347
+ else
348
+ $content = '<span>' . $user->display_name . '</span>';
349
+
350
+ unset( $user );
351
+ break;
352
+ // Date & Time Column
353
+ case 'column-time' :
354
+ $content = apply_filters( 'mycred_log_date', date_i18n( $date_format, $log_entry->time ), $log_entry->time );
355
+ break;
356
+ // Amount Column
357
+ case 'column-creds' :
358
+ $content = $this->core->format_creds( $log_entry->creds );
359
+ break;
360
+ // Log Entry Column
361
+ case 'column-entry' :
362
+ $content = $this->core->parse_template_tags( $log_entry->entry, $log_entry );
363
+ break;
364
+ }
365
+ $entry_data .= '<' . $wrap . ' class="' . $column_id . '">' . $content . '</' . $wrap . '>';
366
+ }
367
+ return $entry_data;
368
+ }
369
+
370
+ /**
371
+ * No Entries
372
+ * @since 0.1
373
+ * @version 1.0
374
+ */
375
+ public function no_entries() {
376
+ echo $this->get_no_entries();
377
+ }
378
+
379
+ /**
380
+ * Get No Entries
381
+ * @since 0.1
382
+ * @version 1.0
383
+ */
384
+ public function get_no_entries() {
385
+ return __( 'No log entries found', 'mycred' );
386
+ }
387
+
388
+ /**
389
+ * Log Search
390
+ * @since 0.1
391
+ * @version 1.0.1
392
+ */
393
+ public function search() {
394
+ if ( isset( $_GET['s'] ) && !empty( $_GET['s'] ) )
395
+ $serarch_string = $_GET['s'];
396
+ else
397
+ $serarch_string = ''; ?>
398
+
399
+ <p class="search-box">
400
+ <label class="screen-reader-text" for=""><?php _e( 'Search Log', 'mycred' ); ?>:</label>
401
+ <input type="search" name="s" value="<?php echo $serarch_string; ?>" placeholder="<?php _e( 'search log entries', 'mycred' ); ?>" />
402
+ <input type="submit" name="mycred-search-log" id="search-submit" class="button button-medium button-secondary" value="<?php _e( 'Search Log', 'mycred' ); ?>" />
403
+ </p>
404
+ <?php
405
+ }
406
+
407
+ /**
408
+ * Filter by Dates
409
+ * @since 0.1
410
+ * @version 1.0
411
+ */
412
+ public function filter_dates( $url = '' ) {
413
+ $date_sorting = apply_filters( 'mycred_sort_by_time', array(
414
+ '' => __( 'All', 'mycred' ),
415
+ 'today' => __( 'Today', 'mycred' ),
416
+ 'yesterday' => __( 'Yesterday', 'mycred' ),
417
+ 'thisweek' => __( 'This Week', 'mycred' ),
418
+ 'thismonth' => __( 'This Month', 'mycred' )
419
+ ) );
420
+
421
+ if ( !empty( $date_sorting ) ) {
422
+ $total = count( $date_sorting );
423
+ $count = 0;
424
+ echo '<ul class="subsubsub">';
425
+ foreach ( $date_sorting as $sorting_id => $sorting_name ) {
426
+ $count = $count+1;
427
+ echo '<li class="' . $sorting_id . '"><a href="';
428
+
429
+ // Build Query Args
430
+ $url_args = array();
431
+ if ( isset( $_GET['user_id'] ) && !empty( $_GET['user_id'] ) )
432
+ $url_args['user_id'] = $_GET['user_id'];
433
+ if ( isset( $_GET['ref'] ) && !empty( $_GET['ref'] ) )
434
+ $url_args['ref'] = $_GET['ref'];
435
+ if ( isset( $_GET['order'] ) && !empty( $_GET['order'] ) )
436
+ $url_args['order'] = $_GET['order'];
437
+ if ( isset( $_GET['s'] ) && !empty( $_GET['s'] ) )
438
+ $url_args['s'] = $_GET['s'];
439
+ if ( !empty( $sorting_id ) )
440
+ $url_args['show'] = $sorting_id;
441
+
442
+ // Build URL
443
+ if ( !empty( $url_args ) )
444
+ echo add_query_arg( $url_args, $url );
445
+ else
446
+ echo $url;
447
+
448
+ echo '"';
449
+
450
+ if ( isset( $_GET['show'] ) && $_GET['show'] == $sorting_id ) echo ' class="current"';
451
+ elseif ( !isset( $_GET['show'] ) && empty( $sorting_id ) ) echo ' class="current"';
452
+
453
+ echo '>' . $sorting_name . '</a>';
454
+ if ( $count != $total ) echo ' | ';
455
+ echo '</li>';
456
+ }
457
+ echo '</ul>';
458
+ }
459
+ }
460
+
461
+ /**
462
+ * Reset Query
463
+ * @since 1.3
464
+ * @version 1.0
465
+ */
466
+ public function reset_query() {
467
+ $this->args = NULL;
468
+ $this->request = NULL;
469
+ $this->prep = NULL;
470
+ $this->results = NULL;
471
+ $this->num_rows = NULL;
472
+ $this->headers = NULL;
473
+ }
474
+ }
475
+ }
476
+ ?>
includes/mycred-network.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
- if ( !defined( 'myCRED_VERSION' ) || !is_multisite() ) exit;
3
  /**
4
  * myCRED_Network class
5
  * @since 0.1
6
- * @version 1.0
7
  */
8
  if ( !class_exists( 'myCRED_Network' ) ) {
9
  class myCRED_Network {
@@ -25,8 +25,11 @@ if ( !class_exists( 'myCRED_Network' ) ) {
25
  * @version 1.0
26
  */
27
  public function load() {
28
- add_action( 'init', array( $this, 'module_init' ) );
29
- add_action( 'admin_head', array( $this, 'admin_menu_styling' ) );
 
 
 
30
  }
31
 
32
  /**
@@ -34,13 +37,8 @@ if ( !class_exists( 'myCRED_Network' ) ) {
34
  * @since 0.1
35
  * @version 1.0
36
  */
37
- public function module_init() {
38
- // Network Settings Update
39
- if ( isset( $_POST['mycred_network'] ) && isset( $_POST['mycred-token'] ) )
40
- $this->save_network_prefs();
41
-
42
- // Add Menu
43
- add_action( 'network_admin_menu', array( &$this, 'add_menu' ) );
44
  }
45
 
46
  /**
@@ -53,16 +51,16 @@ if ( !class_exists( 'myCRED_Network' ) ) {
53
  __( 'myCRED', 'mycred' ),
54
  __( 'myCRED', 'mycred' ),
55
  'manage_network_options',
56
- 'myCRED',
57
  '',
58
  ''
59
  );
60
  $pages[] = add_submenu_page(
61
- 'myCRED',
62
  __( 'Network Settings', 'mycred' ),
63
  __( 'Network Settings', 'mycred' ),
64
  'manage_network_options',
65
- 'myCRED',
66
  array( $this, 'admin_page_settings' )
67
  );
68
 
@@ -70,20 +68,46 @@ if ( !class_exists( 'myCRED_Network' ) ) {
70
  add_action( 'admin_print_styles-' . $page, array( $this, 'admin_print_styles' ) );
71
  }
72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  /**
74
  * Add Admin Menu Styling
75
  * @since 0.1
76
  * @version 1.0
77
  */
78
  public function admin_menu_styling() {
79
- $image = plugins_url( 'images/logo-menu.png', myCRED_THIS );
80
- echo '
81
  <style type="text/css">
82
- #adminmenu .toplevel_page_myCRED div.wp-menu-image { background-image: url(' . $image . '); background-position: 1px -28px; }
83
- #adminmenu .toplevel_page_myCRED:hover div.wp-menu-image,
84
- #adminmenu .toplevel_page_myCRED.current div.wp-menu-image,
85
- #adminmenu .toplevel_page_myCRED .wp-menu-open div.wp-menu-image { background-position: 1px 0; }
86
- </style>' . "\n";
 
 
 
 
 
87
  }
88
 
89
  /**
@@ -95,14 +119,24 @@ if ( !class_exists( 'myCRED_Network' ) ) {
95
  if ( !wp_style_is( 'mycred-admin', 'registered' ) ) {
96
  wp_register_style(
97
  'mycred-admin',
98
- plugins_url( 'css/admin.css', myCRED_THIS ),
99
  false,
100
  myCRED_VERSION . '.1',
101
  'all'
102
  );
103
  }
104
-
105
  wp_enqueue_style( 'mycred-admin' );
 
 
 
 
 
 
 
 
 
 
 
106
  }
107
 
108
  /**
@@ -116,44 +150,60 @@ if ( !class_exists( 'myCRED_Network' ) ) {
116
 
117
  global $mycred_network;
118
 
119
- $defaults = array(
120
- 'master' => 0,
121
- 'block' => ''
122
- );
123
- $prefs = get_site_option( 'mycred_network', $defaults, false );
124
  $name = apply_filters( 'mycred_label', myCRED_NAME ); ?>
125
 
126
  <div class="wrap" id="myCRED-wrap">
127
  <div id="icon-myCRED" class="icon32"><br /></div>
128
  <h2> <?php echo $name . ' ' . __( 'Network', 'mycred' ); ?></h2>
129
  <?php
 
 
 
 
 
130
 
131
  // Settings Updated
132
- if ( isset( $mycred_network['update'] ) )
133
  echo '<div class="updated"><p>' . __( 'Network Settings Updated', 'mycred' ) . '</p></div>'; ?>
134
 
135
  <p><?php echo sprintf( __( 'Configure network settings for %s.', 'mycred' ), $name ); ?></p>
136
- <form method="post" action="" class="">
137
- <input type="hidden" name="mycred-token" value="<?php echo wp_create_nonce( 'mycred' ); ?>" />
 
138
  <div class="list-items expandable-li" id="accordion">
139
- <h4 style="color:#333;" class="ui-accordion-header ui-helper-reset ui-state-default ui-accordion-icons ui-accordion-header-active ui-state-active ui-corner-top"><?php _e( 'Settings', 'mycred' ); ?></h4>
140
- <div class="body ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active" style="display:block;">
141
  <label class="subheader"><?php _e( 'Master Template', 'mycred' ); ?></label>
142
- <ol id="myCRED-network-">
143
  <li>
144
- <input type="radio" name="mycred_network[master]" id="myCRED-network-overwrite-" <?php checked( $prefs['master'], true ); ?> value="1" />
145
  <label for="myCRED-network-"><?php _e( 'Yes', 'mycred' ); ?></label>
146
  </li>
147
  <li>
148
- <input type="radio" name="mycred_network[master]" id="myCRED-network-overwrite-" <?php checked( $prefs['master'], false ); ?> value="0" />
149
  <label for="myCRED-network-"><?php _e( 'No', 'mycred' ); ?></label>
150
  </li>
151
  <li>
152
- <p class="description"><?php echo sprintf( __( 'If enabled, your main site\'s %s setup will be used for all other sites.', 'mycred' ), $name ); ?></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
  </li>
154
  </ol>
155
  <label class="subheader"><?php _e( 'Site Block', 'mycred' ); ?></label>
156
- <ol id="myCRED-network-">
157
  <li>
158
  <div class="h2"><input type="text" name="mycred_network[block]" id="myCRED-network-block" value="<?php echo $prefs['block']; ?>" class="long" /></div>
159
  <span class="description"><?php echo sprintf( __( 'Comma separated list of blog ids where %s is to be disabled.', 'mycred' ), $name ); ?></span>
@@ -165,7 +215,7 @@ if ( !class_exists( 'myCRED_Network' ) ) {
165
  <?php do_action( 'mycred_after_network_prefs', $this ); ?>
166
 
167
  </div>
168
- <p><?php submit_button( __( 'Save Network Settings', 'mycred' ) ); ?></p>
169
  </form>
170
  <?php do_action( 'mycred_bottom_network_page', $this ); ?>
171
 
@@ -176,25 +226,19 @@ if ( !class_exists( 'myCRED_Network' ) ) {
176
  /**
177
  * Save Network Settings
178
  * @since 0.1
179
- * @version 1.0
180
  */
181
- protected function save_network_prefs() {
182
- if ( !wp_verify_nonce( $_POST['mycred-token'], 'mycred' ) ) return;
183
-
184
- global $mycred_network;
185
-
186
- $new_settings['master'] = ( isset( $_POST['mycred_network']['master'] ) ) ? (bool) $_POST['mycred_network']['master'] : 0;
187
- $new_settings['block'] = sanitize_text_field( $_POST['mycred_network']['block'] );
188
 
189
- $new_settings = apply_filters( 'mycred_save_network_prefs', $new_settings, $_POST['mycred_network'], $this->core );
 
 
 
190
 
191
- // Update Network Settings
192
- update_site_option( 'mycred_network', $new_settings );
193
 
194
- $mycred_network['update'] = true;
195
  }
196
  }
197
- $network = new myCRED_Network();
198
- $network->load();
199
  }
200
  ?>
1
  <?php
2
+ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
  /**
4
  * myCRED_Network class
5
  * @since 0.1
6
+ * @version 1.1
7
  */
8
  if ( !class_exists( 'myCRED_Network' ) ) {
9
  class myCRED_Network {
25
  * @version 1.0
26
  */
27
  public function load() {
28
+ add_action( 'admin_init', array( $this, 'module_admin_init' ) );
29
+ add_action( 'admin_head', array( $this, 'admin_menu_styling' ) );
30
+ add_action( 'network_admin_menu', array( $this, 'add_menu' ) );
31
+
32
+ add_filter( 'site_option_active_sitewide_plugins', array( $this, 'network_check' ) );
33
  }
34
 
35
  /**
37
  * @since 0.1
38
  * @version 1.0
39
  */
40
+ public function module_admin_init() {
41
+ register_setting( 'mycred_network', 'mycred_network', array( $this, 'save_network_prefs' ) );
 
 
 
 
 
42
  }
43
 
44
  /**
51
  __( 'myCRED', 'mycred' ),
52
  __( 'myCRED', 'mycred' ),
53
  'manage_network_options',
54
+ 'myCRED_Network',
55
  '',
56
  ''
57
  );
58
  $pages[] = add_submenu_page(
59
+ 'myCRED_Network',
60
  __( 'Network Settings', 'mycred' ),
61
  __( 'Network Settings', 'mycred' ),
62
  'manage_network_options',
63
+ 'myCRED_Network',
64
  array( $this, 'admin_page_settings' )
65
  );
66
 
68
  add_action( 'admin_print_styles-' . $page, array( $this, 'admin_print_styles' ) );
69
  }
70
 
71
+ /**
72
+ * Network Check
73
+ * Blocks mycred from being used if the plugin is network wide
74
+ * enabled.
75
+ * @since 1.3
76
+ * @version 1.0
77
+ */
78
+ public function network_check( $value ) {
79
+ global $current_blog;
80
+
81
+ $network = mycred_get_settings_network();
82
+ if ( empty( $network['block'] ) ) return $value;
83
+
84
+ $list = explode( ',', $network['block'] );
85
+ if ( in_array( $current_blog->blog_id, $list ) ) {
86
+ unset( $value['mycred/mycred.php'] );
87
+ }
88
+
89
+ return $value;
90
+ }
91
+
92
  /**
93
  * Add Admin Menu Styling
94
  * @since 0.1
95
  * @version 1.0
96
  */
97
  public function admin_menu_styling() {
98
+ $image = plugins_url( 'assets/images/logo-menu.png', myCRED_THIS ); ?>
99
+
100
  <style type="text/css">
101
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(<?php echo apply_filters( 'mycred_icon', plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS ) ); ?>); }
102
+ h4:before { float:right; padding-right: 12px; font-size: 14px; font-weight: normal; color: silver; }
103
+ h4.ui-accordion-header.ui-state-active:before { content: "<?php _e( 'click to close', 'mycred' ); ?>"; }
104
+ h4.ui-accordion-header:before { content: "<?php _e( 'click to open', 'mycred' ); ?>"; }
105
+ #adminmenu .toplevel_page_myCRED_Network div.wp-menu-image { background-image: url(<?php echo $image; ?>); background-position: 1px -28px; }
106
+ #adminmenu .toplevel_page_myCRED_Network:hover div.wp-menu-image,
107
+ #adminmenu .toplevel_page_myCRED_Network.current div.wp-menu-image,
108
+ #adminmenu .toplevel_page_myCRED_Network .wp-menu-open div.wp-menu-image { background-position: 1px 0; }
109
+ </style>
110
+ <?php
111
  }
112
 
113
  /**
119
  if ( !wp_style_is( 'mycred-admin', 'registered' ) ) {
120
  wp_register_style(
121
  'mycred-admin',
122
+ plugins_url( 'assets/css/admin.css', myCRED_THIS ),
123
  false,
124
  myCRED_VERSION . '.1',
125
  'all'
126
  );
127
  }
 
128
  wp_enqueue_style( 'mycred-admin' );
129
+
130
+ if ( !wp_script_is( 'mycred-admin', 'registered' ) ) {
131
+ wp_register_script(
132
+ 'mycred-admin',
133
+ plugins_url( 'assets/js/accordion.js', myCRED_THIS ),
134
+ array( 'jquery', 'jquery-ui-core', 'jquery-ui-accordion' ),
135
+ myCRED_VERSION . '.1'
136
+ );
137
+ wp_localize_script( 'mycred-admin', 'myCRED', apply_filters( 'mycred_localize_admin', array( 'active' => '-1' ) ) );
138
+ }
139
+ wp_enqueue_script( 'mycred-admin' );
140
  }
141
 
142
  /**
150
 
151
  global $mycred_network;
152
 
153
+ $prefs = mycred_get_settings_network();
 
 
 
 
154
  $name = apply_filters( 'mycred_label', myCRED_NAME ); ?>
155
 
156
  <div class="wrap" id="myCRED-wrap">
157
  <div id="icon-myCRED" class="icon32"><br /></div>
158
  <h2> <?php echo $name . ' ' . __( 'Network', 'mycred' ); ?></h2>
159
  <?php
160
+
161
+ // Inform user that myCRED has not yet been setup
162
+ $setup = get_blog_option( 1, 'mycred_version', false );
163
+ if ( $setup !== false )
164
+ echo '<div class="error"><p>' . sprintf( __( 'Note! %s has not yet been setup.', 'mycred' ), $name ) . '</p></div>';
165
 
166
  // Settings Updated
167
+ if ( isset( $_GET['settings-updated'] ) )
168
  echo '<div class="updated"><p>' . __( 'Network Settings Updated', 'mycred' ) . '</p></div>'; ?>
169
 
170
  <p><?php echo sprintf( __( 'Configure network settings for %s.', 'mycred' ), $name ); ?></p>
171
+ <form method="post" action="<?php echo admin_url( 'options.php' ); ?>" class="">
172
+ <?php settings_fields( 'mycred_network' ); ?>
173
+
174
  <div class="list-items expandable-li" id="accordion">
175
+ <h4><div class="icon icon-inactive core"></div><?php _e( 'Settings', 'mycred' ); ?></h4>
176
+ <div class="body" style="display:block;">
177
  <label class="subheader"><?php _e( 'Master Template', 'mycred' ); ?></label>
178
+ <ol id="myCRED-network-settings-enabling">
179
  <li>
180
+ <input type="radio" name="mycred_network[master]" id="myCRED-network-overwrite-enabled" <?php checked( $prefs['master'], 1 ); ?> value="1" />
181
  <label for="myCRED-network-"><?php _e( 'Yes', 'mycred' ); ?></label>
182
  </li>
183
  <li>
184
+ <input type="radio" name="mycred_network[master]" id="myCRED-network-overwrite-disabled" <?php checked( $prefs['master'], 0 ); ?> value="0" />
185
  <label for="myCRED-network-"><?php _e( 'No', 'mycred' ); ?></label>
186
  </li>
187
  <li>
188
+ <p class="description"><?php echo sprintf( __( "If enabled, %s will use your main site's settings for all other sites in your network.", 'mycred' ), $name ); ?></p>
189
+ </li>
190
+ </ol>
191
+ <label class="subheader"><?php _e( 'Central Logging', 'mycred' ); ?></label>
192
+ <ol id="myCRED-network-log-enabling">
193
+ <li>
194
+ <input type="radio" name="mycred_network[central]" id="myCRED-network-overwrite-log-enabled" <?php checked( $prefs['central'], 1 ); ?> value="1" />
195
+ <label for="myCRED-network-"><?php _e( 'Yes', 'mycred' ); ?></label>
196
+ </li>
197
+ <li>
198
+ <input type="radio" name="mycred_network[central]" id="myCRED-network-overwrite-log-disabled" <?php checked( $prefs['central'], 0 ); ?> value="0" />
199
+ <label for="myCRED-network-"><?php _e( 'No', 'mycred' ); ?></label>
200
+ </li>
201
+ <li>
202
+ <p class="description"><?php echo sprintf( __( "If enabled, %s will log all site actions in your main site's log.", 'mycred' ), $name ); ?></p>
203
  </li>
204
  </ol>
205
  <label class="subheader"><?php _e( 'Site Block', 'mycred' ); ?></label>
206
+ <ol id="myCRED-network-site-blocks">
207
  <li>
208
  <div class="h2"><input type="text" name="mycred_network[block]" id="myCRED-network-block" value="<?php echo $prefs['block']; ?>" class="long" /></div>
209
  <span class="description"><?php echo sprintf( __( 'Comma separated list of blog ids where %s is to be disabled.', 'mycred' ), $name ); ?></span>
215
  <?php do_action( 'mycred_after_network_prefs', $this ); ?>
216
 
217
  </div>
218
+ <p><?php submit_button( __( 'Save Network Settings', 'mycred' ), 'primary large', 'submit', false ); ?></p>
219
  </form>
220
  <?php do_action( 'mycred_bottom_network_page', $this ); ?>
221
 
226
  /**
227
  * Save Network Settings
228
  * @since 0.1
229
+ * @version 1.1
230
  */
231
+ public function save_network_prefs( $settings ) {
 
 
 
 
 
 
232
 
233
+ $new_settings = array();
234
+ $new_settings['master'] = ( isset( $settings['master'] ) ) ? $settings['master'] : 0;
235
+ $new_settings['central'] = ( isset( $settings['central'] ) ) ? $settings['central'] : 0;
236
+ $new_settings['block'] = sanitize_text_field( $settings['block'] );
237
 
238
+ $new_settings = apply_filters( 'mycred_save_network_prefs', $new_settings, $settings, $this->core );
 
239
 
240
+ return $new_settings;
241
  }
242
  }
 
 
243
  }
244
  ?>
includes/mycred-protect.php CHANGED
@@ -13,12 +13,12 @@ class myCRED_Protect {
13
  * Construct
14
  */
15
  public function __construct( $new_key = '' ) {
16
- if ( mycred_overwrite() === false )
17
- $skey = get_option( 'mycred_key' );
18
- else
19
  $skey = get_blog_option( 1, 'mycred_key' );
 
 
20
 
21
- if ( $skey === false || ( $new_key === true && function_exists( 'current_user_can' ) && current_user_can( 'update_core' ) ) ) {
22
  $skey = $this->reset_key();
23
  }
24
  $this->skey = $skey;
13
  * Construct
14
  */
15
  public function __construct( $new_key = '' ) {
16
+ if ( mycred_override_settings() )
 
 
17
  $skey = get_blog_option( 1, 'mycred_key' );
18
+ else
19
+ $skey = get_option( 'mycred_key' );
20
 
21
+ if ( $skey === false || ( $new_key === true && function_exists( 'current_user_can' ) && current_user_can( 'manage_options' ) ) ) {
22
  $skey = $this->reset_key();
23
  }
24
  $this->skey = $skey;
includes/mycred-rankings.php CHANGED
@@ -43,7 +43,7 @@ if ( !class_exists( 'myCRED_Query_Rankings' ) ) {
43
  * Get Rankings
44
  * Queries the DB for all users in order of their point balance.
45
  * @since 1.1.2
46
- * @version 1.0
47
  */
48
  public function get_rankings() {
49
  global $wpdb;
@@ -78,22 +78,20 @@ if ( !class_exists( 'myCRED_Query_Rankings' ) ) {
78
 
79
  $prep = array();
80
 
81
- $wp = $wpdb->prefix;
82
-
83
  // SELECT
84
- $selects = array( $wp . 'users.ID' );
85
  foreach ( $user_fields as $field ) {
86
  if ( $field == 'ID' ) continue;
87
- $selects[] = $wp . 'users.' . $field;
88
  }
89
- $selects[] = $wp . 'usermeta.meta_value AS cred';
90
 
91
  $select = implode( ', ', $selects );
92
  $SQL = "SELECT {$select}
93
- FROM {$wp}users
94
- LEFT JOIN {$wp}usermeta
95
- ON {$wp}users.ID = {$wp}usermeta.user_id AND {$wp}usermeta.meta_key = %s
96
- ORDER BY {$wp}usermeta.meta_value+1 {$order} " . $limit;
97
 
98
  $this->result = $wpdb->get_results( $wpdb->prepare( $SQL, $key ), 'ARRAY_A' );
99
  $this->count = $wpdb->num_rows;
@@ -105,7 +103,7 @@ if ( !class_exists( 'myCRED_Query_Rankings' ) ) {
105
  * If a frequency is set to something other then 'always', then that
106
  * setting is enforced.
107
  * @since 1.1.2
108
- * @version 1.1
109
  */
110
  public function save( $reset = false ) {
111
  // Will not save no results
@@ -114,8 +112,7 @@ if ( !class_exists( 'myCRED_Query_Rankings' ) ) {
114
  // Prep
115
  $mycred = mycred_get_settings();
116
  $save = $reset;
117
-
118
- $lifespan = 86400;
119
 
120
  $history = get_option( 'mycred_transients' );
121
  // If history has never been set
@@ -139,13 +136,14 @@ if ( !class_exists( 'myCRED_Query_Rankings' ) ) {
139
  elseif ( $mycred->frequency['rate'] == 'weekly' ) {
140
  $today = date_i18n( 'W' );
141
  if ( $today != $history[ $this->args['type'] ] ) $save = true;
142
- $lifespan = 604800;
143
  }
144
  // Update on specific date
145
  elseif ( $mycred->frequency['rate'] == 'date' ) {
146
  $date = $mycred->frequency['date'];
147
  $today = date_i18n( 'Y-m-d' );
148
  if ( $today == $date ) $save = true;
 
149
  }
150
 
151
  // Save new transient
43
  * Get Rankings
44
  * Queries the DB for all users in order of their point balance.
45
  * @since 1.1.2
46
+ * @version 1.0.1
47
  */
48
  public function get_rankings() {
49
  global $wpdb;
78
 
79
  $prep = array();
80
 
 
 
81
  // SELECT
82
+ $selects = array( "{$wpdb->users}.ID" );
83
  foreach ( $user_fields as $field ) {
84
  if ( $field == 'ID' ) continue;
85
+ $selects[] = "{$wpdb->users}." . $field;
86
  }
87
+ $selects[] = "{$wpdb->usermeta}.meta_value AS cred";
88
 
89
  $select = implode( ', ', $selects );
90
  $SQL = "SELECT {$select}
91
+ FROM {$wpdb->users}
92
+ LEFT JOIN {$wpdb->usermeta}
93
+ ON {$wpdb->users}.ID = {$wpdb->usermeta}.user_id AND {$wpdb->usermeta}.meta_key = %s
94
+ ORDER BY {$wpdb->usermeta}.meta_value+1 {$order} {$limit};";
95
 
96
  $this->result = $wpdb->get_results( $wpdb->prepare( $SQL, $key ), 'ARRAY_A' );
97
  $this->count = $wpdb->num_rows;
103
  * If a frequency is set to something other then 'always', then that
104
  * setting is enforced.
105
  * @since 1.1.2
106
+ * @version 1.0
107
  */
108
  public function save( $reset = false ) {
109
  // Will not save no results
112
  // Prep
113
  $mycred = mycred_get_settings();
114
  $save = $reset;
115
+ $lifespan = 1 * DAY_IN_SECONDS;
 
116
 
117
  $history = get_option( 'mycred_transients' );
118
  // If history has never been set
136
  elseif ( $mycred->frequency['rate'] == 'weekly' ) {
137
  $today = date_i18n( 'W' );
138
  if ( $today != $history[ $this->args['type'] ] ) $save = true;
139
+ $lifespan = 1 * WEEK_IN_SECONDS;
140
  }
141
  // Update on specific date
142
  elseif ( $mycred->frequency['rate'] == 'date' ) {
143
  $date = $mycred->frequency['date'];
144
  $today = date_i18n( 'Y-m-d' );
145
  if ( $today == $date ) $save = true;
146
+ $lifespan = 12 * HOUR_IN_SECONDS;
147
  }
148
 
149
  // Save new transient
includes/mycred-remote.php ADDED
@@ -0,0 +1,632 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
+
4
+ /**
5
+ * myCRED Remote API
6
+ * Allows execution of remote actions such as adding points, removing points,
7
+ * transfering points between two users and balance checks.
8
+ * @see http://mycred.me/classes/mycred_remote/
9
+ * @since 1.3
10
+ * @version 1.0
11
+ */
12
+ if ( !class_exists( 'myCRED_Remote' ) ) {
13
+ class myCRED_Remote {
14
+
15
+ public $method;
16
+ public $uri;
17
+ public $request;
18
+ public $host;
19
+ public $format;
20
+ public $user;
21
+ public $recipient;
22
+ public $reply = 'PROCESSING';
23
+
24
+ public $core;
25
+ public $key;
26
+
27
+ /**
28
+ * Construct
29
+ */
30
+ function __construct( $key = NULL ) {
31
+ $this->handle_magic();
32
+
33
+ $this->core = mycred_get_settings();
34
+ $this->key = $key;
35
+
36
+ $this->method = $_SERVER['REQUEST_METHOD'];
37
+ $this->uri = explode( '/', $_SERVER['REQUEST_URI'] );
38
+ $this->format = '';
39
+
40
+ $this->parse_call();
41
+ $this->get_host_IP();
42
+
43
+ // Let others play
44
+ do_action_ref_array( 'mycred_remote', array( &$this ) );
45
+ }
46
+
47
+ /**
48
+ * Handle Magic Quotes
49
+ * @since 1.3
50
+ * @version 1.0
51
+ */
52
+ public function handle_magic() {
53
+ if ( get_magic_quotes_gpc() ) {
54
+ $process = array( &$_GET, &$_POST, &$_COOKIE, &$_REQUEST );
55
+ while ( list( $key, $val ) = each( $process ) ) {
56
+ foreach ( $val as $k => $v ) {
57
+ unset( $process[ $key ][ $k ] );
58
+ if ( is_array( $v ) ) {
59
+ $process[ $key ][ stripslashes( $k ) ] = $v;
60
+ $process[] = &$process[ $key ][ stripslashes( $k ) ];
61
+ } else {
62
+ $process[ $key ][ stripslashes( $k ) ] = stripslashes( $v );
63
+ }
64
+ }
65
+ }
66
+ unset( $process );
67
+ }
68
+
69
+ // Let others play
70
+ do_action_ref_array( 'mycred_remote_magic', array( &$this ) );
71
+ }
72
+
73
+ /**
74
+ * Set Headers
75
+ * @since 1.3
76
+ * @version 1.0
77
+ */
78
+ public function set_headers() {
79
+ header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', mktime( 0, 0, 0, 1, 1, date( 'Y' ) ) - 604800 ) . ' GMT' );
80
+ header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
81
+ header( 'Cache-Control: no-store, no-cache, must-revalidate' );
82
+ header( 'Pragma: no-cache' );
83
+
84
+ header_remove( 'x-powered-by' );
85
+ header_remove( 'link' );
86
+ header_remove( 'set-cookie' );
87
+
88
+ // Let others play
89
+ do_action( 'mycred_remote_headers', $this );
90
+ }
91
+
92
+ /**
93
+ * Parse Call
94
+ * @since 1.3
95
+ * @version 1.0
96
+ */
97
+ public function parse_call() {
98
+ $parameters = array();
99
+
100
+ if ( isset( $_SERVER['QUERY_STRING'] ) ) {
101
+ parse_str( $_SERVER['QUERY_STRING'], $parameters );
102
+ }
103
+
104
+ $body = file_get_contents( "php://input" );
105
+ $content_type = false;
106
+ if ( isset( $_SERVER['CONTENT_TYPE'] ) ) {
107
+ $content_type = $_SERVER['CONTENT_TYPE'];
108
+ }
109
+
110
+ switch ( $content_type ) {
111
+ case 'application/json':
112
+ $body_params = json_decode( $body );
113
+ if ( $body_params ) {
114
+ foreach ( $body_params as $param_name => $param_value ) {
115
+ $parameters[ $param_name ] = $param_value;
116
+ }
117
+ }
118
+ $this->format = 'json';
119
+ break;
120
+ case 'application/x-www-form-urlencoded; charset=UTF-8' :
121
+ case 'application/x-www-form-urlencoded':
122
+ parse_str( $body, $vars );
123
+ if ( ! empty( $vars ) ) {
124
+ foreach ( $vars as $field => $value ) {
125
+ $parameters[ $field ] = $value;
126
+ }
127
+ }
128
+ $this->format = 'html';
129
+ break;
130
+ default:
131
+ $this->format = 'other';
132
+ break;
133
+ }
134
+
135
+ $this->request = $parameters;
136
+
137
+ if ( isset( $this->request['format'] ) ) {
138
+ $this->format = $this->request['format'];
139
+ }
140
+ elseif ( empty( $this->format ) ) {
141
+ $this->format = 'unknown';
142
+ }
143
+
144
+ // Let others play
145
+ do_action_ref_array( 'mycred_remote_parse', array( &$this ) );
146
+ }
147
+
148
+ /**
149
+ * Get Host IP
150
+ * @since 1.3
151
+ * @version 1.0
152
+ */
153
+ public function get_host_IP() {
154
+ if ( isset( $_SERVER['HTTP_CLIENT_IP'] ) )
155
+ $this->host = $_SERVER['HTTP_CLIENT_IP'];
156
+ elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) )
157
+ $this->host = $_SERVER['HTTP_X_FORWARDED_FOR'];
158
+ elseif ( isset( $_SERVER['HTTP_X_FORWARDED'] ) )
159
+ $this->host = $_SERVER['HTTP_X_FORWARDED'];
160
+ elseif ( isset( $_SERVER['HTTP_FORWARDED_FOR'] ) )
161
+ $this->host = $_SERVER['HTTP_FORWARDED_FOR'];
162
+ elseif ( isset( $_SERVER['HTTP_FORWARDED'] ) )
163
+ $this->host = $_SERVER['HTTP_FORWARDED'];
164
+ elseif ( isset( $_SERVER['REMOTE_ADDR'] ) )
165
+ $this->host = $_SERVER['REMOTE_ADDR'];
166
+ else
167
+ $this->host = 'UNKNOWN';
168
+
169
+ do_action_ref_array( 'mycred_remote_host_IP', array( &$this ) );
170
+ }
171
+
172
+ /**
173
+ * Validate Call
174
+ * @since 1.3
175
+ * @version 1.0
176
+ */
177
+ public function validate_call() {
178
+ // Let others play first
179
+ do_action_ref_array( 'mycred_remote_validate', array( &$this ) );
180
+
181
+ // Key has not been setup
182
+ if ( $this->key === NULL )
183
+ return 'ERROR: 99';
184
+
185
+ // Empty Request
186
+ if ( empty( $this->request ) )
187
+ return 'ERROR: 101';
188
+
189
+ // Missing action
190
+ if ( ! isset( $this->request['action'] ) || empty( $this->request['action'] ) )
191
+ return 'ERROR: 102';
192
+
193
+ // Missing account
194
+ elseif ( ! isset( $this->request['account'] ) || empty( $this->request['account'] ) )
195
+ return 'ERROR: 103';
196
+
197
+ // Missing token
198
+ elseif ( ! isset( $this->request['token'] ) || empty( $this->request['token'] ) )
199
+ return 'ERROR: 104';
200
+
201
+ // Missing Host
202
+ if ( ! isset( $this->request['host'] ) || empty( $this->request['host'] ) )
203
+ return 'ERROR: 105';
204
+
205
+ // Populate User and check if user exists
206
+ $this->user = get_user_by( 'email', $this->request['account'] );
207
+ if ( $this->user === false )
208
+ return 'ERROR: 201';
209
+
210
+ // Check for exclusion
211
+ if ( $this->core->exclude_user( $this->user->ID ) )
212
+ return 'ERROR: 202';
213
+
214
+ // Action specific validations
215
+ switch ( $this->request['action'] ) {
216
+ // Add points
217
+ case 'CREDIT' :
218
+ // Pay (deduct)
219
+ case 'DEBIT' :
220
+
221
+ // Reference is required
222
+ if ( ! isset( $this->request['ref'] ) || empty( $this->request['ref'] ) )
223
+ return 'ERROR: 401';
224
+
225
+ // Entry is required
226
+ if ( ! isset( $this->request['entry'] ) || empty( $this->request['entry'] ) )
227
+ return 'ERROR: 402';
228
+
229
+ // Amount is required
230
+ if ( ! isset( $this->request['amount'] ) || empty( $this->request['amount'] ) )
231
+ return 'ERROR: 403';
232
+
233
+ // Validate Token
234
+ // ( host + acount + amount + api_key )
235
+ $check = md5( $this->request['host'] . $this->request['action'] . $this->request['amount'] . $this->key );
236
+ if ( $this->request['token'] != $check )
237
+ return 'ERROR: 301';
238
+
239
+ break;
240
+ // Get balance
241
+ case 'GET' :
242
+
243
+ // Validate Token
244
+ // ( host + action + api_key )
245
+ $check = md5( $this->request['host'] . $this->request['action'] . $this->key );
246
+ if ( $this->request['token'] != $check )
247
+ return 'ERROR: 301';
248
+
249
+ break;
250
+ // Transfer
251
+ case 'PAY' :
252
+
253
+ // Reference is required
254
+ if ( ! isset( $this->request['ref'] ) || empty( $this->request['ref'] ) )
255
+ return 'ERROR: 501';
256
+
257
+ // Entry is required
258
+ if ( ! isset( $this->request['entry'] ) || empty( $this->request['entry'] ) )
259
+ return 'ERROR: 502';
260
+
261
+ // Amount is required
262
+ if ( ! isset( $this->request['amount'] ) || empty( $this->request['amount'] ) )
263
+ return 'ERROR: 503';
264
+
265
+ // Make sure the recipient is set
266
+ if ( ! isset( $this->request['to'] ) || empty( $this->request['to'] ) )
267
+ return 'ERROR: 504';
268
+
269
+ // Data is required
270
+ if ( ! isset( $this->request['data'] ) || empty( $this->request['data'] ) )
271
+ return 'ERROR: 505';
272
+
273
+ // Validate Token
274
+ // ( host + action + amount + from + to + api_key )
275
+ $check = md5( $this->request['host'] . $this->request['action'] . $this->request['amount'] . $this->request['account'] . $this->request['to'] . $this->key );
276
+ if ( $this->request['token'] != $check )
277
+ return 'ERROR: 301';
278
+
279
+ // Make sure recipient exists
280
+ $this->recipient = get_user_by( 'email', $this->request['to'] );
281
+ if ( $this->recipient === false )
282
+ return 'ERROR: 506';
283
+
284
+ // Can not pay yourself
285
+ if ( $this->recipient->ID == $this->user->ID )
286
+ return 'ERROR: 507';
287
+
288
+ // Check for exclusion
289
+ if ( $this->core->exclude_user( $this->recipient->ID ) )
290
+ return 'ERROR: 508';
291
+
292
+ break;
293
+ // Default
294
+ default :
295
+ // Unsupported action
296
+ return 'ERROR: 302';
297
+ break;
298
+ }
299
+
300
+ return true;
301
+ }
302
+
303
+ /**
304
+ * Process
305
+ * @since 1.3
306
+ * @version 1.0
307
+ */
308
+ public function process() {
309
+ switch ( $this->request['action'] ) {
310
+ // Add points
311
+ case 'CREDIT' :
312
+ // Pay (deduct)
313
+ case 'DEBIT' :
314
+
315
+ $ref_id = $data = $type = '';
316
+
317
+ // Prep Reference ID
318
+ if ( isset( $this->request['ref_id'] ) && ! empty( $this->request['ref_id'] ) )
319
+ $ref_id = abs( $this->request['ref_id'] );
320
+
321
+ // Prep Data
322
+ if ( isset( $this->request['data'] ) && ! empty( $this->request['data'] ) )
323
+ $data = maybe_unserialize( $this->request['data'] );
324
+
325
+ // Prep Points Type
326
+ if ( isset( $this->request['type'] ) && ! empty( $this->request['type'] ) )
327
+ $type = sanitize_text_field( $this->request['type'] );
328
+ else
329
+ $type = $this->core->get_cred_id();
330
+
331
+ // Prep Amount
332
+ $amount = $this->core->format_number( $this->request['amount'] );
333
+ if ( $this->request['action'] == 'DEBIT' )
334
+ $amount = 0-$amount;
335
+ else
336
+ $amount = abs( $amount );
337
+
338
+ // Prevent Duplicate
339
+ if ( ! empty( $data ) || ! empty( $ref_id ) ) {
340
+ if ( $this->core->has_entry( $this->request['ref'], $ref_id, $this->user->ID, $data ) ) {
341
+ $this->reply = 'DUPLICATE';
342
+ return;
343
+ }
344
+ }
345
+
346
+ // Check that user has enough points if we are charging
347
+ if ( $this->request['action'] == 'DEBIT' ) {
348
+ $balance = $this->core->get_users_cred( $this->user->ID, $type );
349
+ $min_balance = apply_filters( 'mycred_transfer_acc_limit', 0 );
350
+ if ( $balance-$amount < $min_balance ) {
351
+ $this->reply = 'DECLINED';
352
+ return;
353
+ }
354
+ }
355
+
356
+ // Add creds
357
+ if ( $this->core->add_creds(
358
+ $this->request['ref'],
359
+ $this->user->ID,
360
+ $amount,
361
+ $this->request['entry'],
362
+ $ref_id,
363
+ $data,
364
+ $type
365
+ ) === true ) {
366
+ $this->reply = 'COMPLETED';
367
+
368
+ // Let others play on success
369
+ do_action( 'mycred_remote_action_' . $this->request['action'], $this );
370
+ }
371
+ else {
372
+ $this->reply = 'FAILED';
373
+ }
374
+
375
+ break;
376
+ // Get balance
377
+ case 'GET' :
378
+
379
+ // Prep Type
380
+ if ( isset( $this->request['type'] ) && ! empty( $this->request['type'] ) )
381
+ $type = sanitize_text_field( $this->request['type'] );
382
+ else
383
+ $type = $this->core->get_cred_id();
384
+
385
+ // Get balance
386
+ $balance = $this->core->get_users_cred( $this->user->ID, $type );
387
+ $this->reply = $this->core->format_number( $balance );
388
+
389
+ // Let other splay
390
+ do_action( 'mycred_remote_action_GET', $this );
391
+
392
+ break;
393
+ // Transfer
394
+ case 'PAY' :
395
+
396
+ // Amount
397
+ $amount = $this->core->format_number( $this->request['amount'] );
398
+
399
+ // Cred Type
400
+ if ( isset( $this->request['type'] ) && ! empty( $this->request['type'] ) )
401
+ $type = sanitize_text_field( $this->request['type'] );
402
+ else
403
+ $type = $this->core->get_cred_id();
404
+
405
+ // Prevent Duplicate
406
+ if ( $this->core->has_entry( $this->request['ref'], $this->recipient->ID, $this->user->ID, $this->request['data'] ) ) {
407
+ $this->reply = 'DUPLICATE';
408
+ return;
409
+ }
410
+
411
+ $balance = $this->core->get_users_cred( $this->user->ID, $type );
412
+ // Check that user has enough points if we are charging
413
+ $min_balance = apply_filters( 'mycred_transfer_acc_limit', 0 );
414
+ if ( $balance-$amount < $min_balance ) {
415
+ $this->reply = 'DECLINED';
416
+ return;
417
+ }
418
+
419
+ // Deduct points first from sender
420
+ if ( $this->core->add_creds(
421
+ $this->request['ref'],
422
+ $this->user->ID,
423
+ 0-$amount,
424
+ $this->request['entry'],
425
+ $this->recipient->ID,
426
+ $this->request['data'],
427
+ $type
428
+ ) === true ) {
429
+ // Once we have successfully deducted, pay the recipient
430
+ if ( $this->core->add_creds(
431
+ $this->request['ref'],
432
+ $this->recipient->ID,
433
+ $amount,
434
+ $this->request['entry'],
435
+ $this->user->ID,
436
+ $this->request['data'],
437
+ $type
438
+ ) === true ) {
439
+ $this->reply = 'COMPLETED';
440
+
441
+ // Let others play
442
+ do_action( 'mycred_remote_action_PAY', $this );
443
+ }
444
+ else {
445
+ $this->reply = 'FAILED';
446
+ }
447
+ }
448
+ else {
449
+ $this->reply = 'FAILED';
450
+ }
451
+
452
+ break;
453
+ // Default
454
+ default :
455
+
456
+ // Let others play
457
+ do_action_ref_array( 'mycred_remote_process', array( &$this ) );
458
+ do_action_ref_array( 'mycred_remote_process_' . $this->request['action'], array( &$this ) );
459
+
460
+ // If reply is still empty we bail
461
+ if ( empty( $this->reply ) )
462
+ $this->reply = 'UNKNOWN';
463
+
464
+ break;
465
+ }
466
+ }
467
+ }
468
+ }
469
+
470
+ /**
471
+ * Remote Init
472
+ * @since 1.3
473
+ * @version 1.0
474
+ */
475
+ add_action( 'init', 'mycred_remote_init' );
476
+ if ( !function_exists( 'mycred_remote_init' ) ) {
477
+ function mycred_remote_init()
478
+ {
479
+ if ( is_admin() && defined( 'DOING_AJAX' ) && DOING_AJAX ) return;
480
+
481
+ $prefs = mycred_get_remote();
482
+ if ( ! $prefs['enabled'] ) return;
483
+
484
+ $uri = explode( '/', $_SERVER['REQUEST_URI'] );
485
+ if ( isset( $uri[1] ) && $uri[1] == $prefs['uri'] ) {
486
+ // Load
487
+ $remote = new myCRED_Remote( $prefs['key'] );
488
+ $remote->set_headers();
489
+
490
+ // Validate Call
491
+ $valid = $remote->validate_call();
492
+
493
+ // Request passed validation
494
+ if ( $valid === true ) {
495
+ // Run request
496
+ $remote->process();
497
+ die( $remote->reply );
498
+ }
499
+
500
+ // Request failed validation
501
+ else {
502
+ $reply = ( ! $prefs['debug'] ) ? '' : $valid;
503
+ die( $reply );
504
+ }
505
+ }
506
+ }
507
+ }
508
+
509
+ /**
510
+ * Remote Enable / Disable Settings
511
+ * @since 1.3
512
+ * @version 1.0
513
+ */
514
+ add_action( 'mycred_management_prefs', 'mycred_remote_activate_row' );
515
+ function mycred_remote_activate_row( $mycred_general )
516
+ {
517
+ $settings = mycred_get_remote();
518
+
519
+ $block = '';
520
+ $disabled_message = '';
521
+ if ( ! get_option( 'permalink_structure' ) ) {
522
+ $block = ' disabled="disabled"';
523
+ $disabled_message = __( 'This feature requires WordPress Permalinks to be setup and enabled!', 'mycred' );
524
+ }
525
+ elseif ( ! $settings['enabled'] )
526
+ $disabled_message = __( 'Click Update Settings to load the Remote API settings.', 'mycred' ); ?>
527
+
528
+ <label class="subheader" for=""><?php _e( 'Allow Remote Access', 'mycred' ); ?></label>
529
+ <ol id="myCRED-actions-cred">
530
+ <li>
531
+ <input type="checkbox" name="mycred_pref_core[allow_remote]" id="myCRED-General-remote"<?php if ( $settings['enabled'] ) echo ' checked="checked"'; echo $block; ?> value="1" /> <?php if ( ! empty( $disabled_message ) ) { ?><span class="description"><?php echo $disabled_message; ?></span><?php } ?></li>
532
+ </ol>
533
+ <?php
534
+ }
535
+
536
+ /**
537
+ * Remote API Settings Page
538
+ * @since 1.3
539
+ * @version 1.0
540
+ */
541
+ add_action( 'mycred_after_management_prefs', 'mycred_remote_settings_page' );
542
+ function mycred_remote_settings_page( $mycred_general )
543
+ {
544
+ $settings = mycred_get_remote();
545
+ if ( ! $settings['enabled'] ) return;
546
+
547
+ $key_length = strlen( $settings['key'] ); ?>
548
+
549
+ <h4><div class="icon icon-<?php if ( empty( $settings['key'] ) ) echo 'inactive'; else echo 'active'; ?> remote"></div><label><?php _e( 'Remote Access', 'mycred' ); ?></label></h4>
550
+ <div class="body" style="display:none;">
551
+ <label class="subheader"><?php _e( 'API Key', 'mycred' ); ?></label>
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>
559
+ <label><?php _e( 'Key Length', 'mycred' ); ?></label>
560
+ <div class="h2" style="line-height: 30px; color:<?php if ( $key_length == 0 ) echo 'gray'; elseif ( $key_length >= 12 ) echo 'green'; ?>">(<span id="mycred-length-counter"><?php echo $key_length; ?></span>)</span></div>
561
+ </li>
562
+ <li>
563
+ <label>&nbsp;</label><br />
564
+ <input type="button" id="mycred-generate-api-key" value="<?php _e( 'Generate New Key', 'mycred' ); ?>" class="button button-large button-primary" />
565
+ </li>
566
+ <li class="block"><p><strong><?php _e( 'Warning!', 'mycred' ); ?></strong> <?php echo $mycred_general->core->template_tags_general( __( 'Keep this key safe! Those you share this key with will be able to remotely deduct / add / transfer %plural%!', 'mycred' ) ); ?></p></li>
567
+ </ol>
568
+ <label class="subheader"><?php _e( 'Incoming URI', 'mycred' ); ?></label>
569
+ <ol id="myCRED-remote-api-uri">
570
+ <li>
571
+ <div class="h2"><?php echo site_url() . '/'; ?> <input type="text" name="mycred_pref_core[remote][uri]" id="myCRED-remote-uri" value="<?php echo $settings['uri']; ?>" /> /</div>
572
+ <span class="description"><?php _e( 'The incoming call address. Remote calls made to any other URL will be ignored.', 'mycred' ); ?></span>
573
+ </li>
574
+ </ol>
575
+ <label class="subheader" for=""><?php _e( 'Debug Mode', 'mycred' ); ?></label>
576
+ <ol id="myCRED-remote-api-debug-mode">
577
+ <li>
578
+ <input type="checkbox" name="mycred_pref_core[remote][debug]" id="myCRED-remote-debug-mode"<?php if ( $settings['debug'] ) echo ' checked="checked"'; ?> value="1" /> <span class="description"><?php _e( 'Remember to disable when not used to prevent mischievous calls from learning about your setup!', 'mycred' ); ?></span></li>
579
+ </ol>
580
+ <?php do_action( 'mycred_after_remote_prefs', $mycred_general ); ?>
581
+
582
+ </div>
583
+ <?php
584
+ }
585
+
586
+ /**
587
+ * Remote API Settings Save
588
+ * @since 1.3
589
+ * @version 1.0
590
+ */
591
+ add_filter( 'mycred_save_core_prefs', 'mycred_remote_save_settings', 10, 3 );
592
+ function mycred_remote_save_settings( $new_data, $post, $mycred_general )
593
+ {
594
+ $current = mycred_get_remote();
595
+ $new_remote = array();
596
+
597
+ // Enabled
598
+ if ( isset( $post['allow_remote'] ) ) {
599
+
600
+ $new_remote['enabled'] = 1;
601
+
602
+ if ( isset( $post['remote']['key'] ) )
603
+ $new_remote['key'] = sanitize_text_field( $post['remote']['key'] );
604
+ else
605
+ $new_remote['key'] = $current['key'];
606
+
607
+ if ( isset( $post['remote']['uri'] ) )
608
+ $new_remote['uri'] = sanitize_text_field( $post['remote']['uri'] );
609
+ else
610
+ $new_remote['uri'] = $current['uri'];
611
+
612
+ if ( isset( $post['remote']['debug'] ) )
613
+ $new_remote['debug'] = 1;
614
+ else
615
+ $new_remote['debug'] = 0;
616
+
617
+ // Let others play
618
+ $new_remote = apply_filters( 'mycred_remote_save_prefs', $new_remote, $current, $post, $mycred_general );
619
+ }
620
+ // Disabled
621
+ else {
622
+ $new_remote['enabled'] = 0;
623
+ $new_remote['key'] = $current['key'];
624
+ $new_remote['uri'] = $current['uri'];
625
+ $new_remote['debug'] = $current['debug'];
626
+ }
627
+
628
+ update_option( 'mycred_pref_remote', $new_remote );
629
+
630
+ return $new_data;
631
+ }
632
+ ?>
includes/mycred-shortcodes.php CHANGED
@@ -4,8 +4,9 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
4
  * myCRED Shortcode: my_balance
5
  * Returns the current users balance.
6
  * @see http://mycred.me/shortcodes/mycred_my_balance/
 
7
  * @since 1.0.9
8
- * @version 1.0
9
  */
10
  if ( !function_exists( 'mycred_render_shortcode_my_balance' ) ) {
11
  function mycred_render_shortcode_my_balance( $atts, $content = NULL )
@@ -15,40 +16,118 @@ if ( !function_exists( 'mycred_render_shortcode_my_balance' ) ) {
15
  'title' => '',
16
  'title_el' => 'h1',
17
  'balance_el' => 'div',
 
18
  'type' => ''
19
  ), $atts ) );
20
 
21
- // Not logged in
22
- if ( !is_user_logged_in() ) {
23
- if ( $login != NULL )
24
- return '<div class="mycred-not-logged-in">' . $login . '</div>';
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  return;
27
  }
28
 
29
  $user_id = get_current_user_id();
30
  $mycred = mycred_get_settings();
 
31
  if ( $mycred->exclude_user( $user_id ) ) return;
32
 
33
- if ( !empty( $type ) )
34
  $mycred->cred_id = $type;
35
 
36
- $output = '<div class="mycred-my-balance-wrapper">';
 
37
 
38
  // Title
39
- if ( !empty( $title ) ) {
40
- $output .= '<' . $title_el . '>' . $title . '</' . $title_el . '>';
 
 
 
 
 
 
41
  }
42
 
43
  // Balance
 
 
 
44
  $balance = $mycred->get_users_cred( $user_id );
45
- $output .= '<' . $balance_el . '>' . $mycred->format_creds( $balance ) . '</' . $balance_el . '>';
46
- $output .= '</div>';
 
 
 
 
 
47
 
48
  return $output;
49
  }
50
  }
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  /**
53
  * myCRED Shortcode: mycred_leaderboard
54
  * @since 0.1
@@ -291,6 +370,98 @@ if ( !function_exists( 'mycred_render_shortcode_send' ) ) {
291
  }
292
  }
293
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  /**
295
  * myCRED Shortcode: mycred_video
296
  * This shortcode allows points to be given to the current user
4
  * myCRED Shortcode: my_balance
5
  * Returns the current users balance.
6
  * @see http://mycred.me/shortcodes/mycred_my_balance/
7
+ * @contributor Ian Tasker
8
  * @since 1.0.9
9
+ * @version 1.1
10
  */
11
  if ( !function_exists( 'mycred_render_shortcode_my_balance' ) ) {
12
  function mycred_render_shortcode_my_balance( $atts, $content = NULL )
16
  'title' => '',
17
  'title_el' => 'h1',
18
  'balance_el' => 'div',
19
+ 'wrapper' => 1,
20
  'type' => ''
21
  ), $atts ) );
22
 
23
+ $output = '';
 
 
 
24
 
25
+ // Not logged in
26
+ if ( ! is_user_logged_in() ) {
27
+ if ( $login !== NULL ) {
28
+ if ( $wrapper )
29
+ $output .= '<div class="mycred-not-logged-in">';
30
+
31
+ $output .= $login;
32
+
33
+ if ( $wrapper )
34
+ $output .= '</div>';
35
+
36
+ return $output;
37
+ }
38
  return;
39
  }
40
 
41
  $user_id = get_current_user_id();
42
  $mycred = mycred_get_settings();
43
+ // Check for exclusion
44
  if ( $mycred->exclude_user( $user_id ) ) return;
45
 
46
+ if ( ! empty( $type ) )
47
  $mycred->cred_id = $type;
48
 
49
+ if ( $wrapper )
50
+ $output .= '<div class="mycred-my-balance-wrapper">';
51
 
52
  // Title
53
+ if ( ! empty( $title ) ) {
54
+ if ( ! empty( $title_el ) )
55
+ $output .= '<' . $title_el . '>';
56
+
57
+ $output .= $title;
58
+
59
+ if ( ! empty( $title_el ) )
60
+ $output .= '</' . $title_el . '>';
61
  }
62
 
63
  // Balance
64
+ if ( ! empty( $balance_el ) )
65
+ $output .= '<' . $balance_el . '>';
66
+
67
  $balance = $mycred->get_users_cred( $user_id );
68
+ $output .= $mycred->format_creds( $balance );
69
+
70
+ if ( ! empty( $balance_el ) )
71
+ $output .= '</' . $balance_el . '>';
72
+
73
+ if ( $wrapper )
74
+ $output .= '</div>';
75
 
76
  return $output;
77
  }
78
  }
79
 
80
+ /**
81
+ * myCRED Shortcode: mycred_history
82
+ * Returns the points history.
83
+ * @see http://mycred.me/shortcodes/mycred_history/
84
+ * @since 1.0.9
85
+ * @version 1.0
86
+ */
87
+ if ( !function_exists( 'mycred_render_shortcode_history' ) ) {
88
+ function mycred_render_shortcode_history( $atts ) {
89
+ extract( shortcode_atts( array(
90
+ 'user_id' => NULL,
91
+ 'number' => NULL,
92
+ 'time' => NULL,
93
+ 'ref' => NULL,
94
+ 'order' => NULL,
95
+ 'show_user' => false,
96
+ 'login' => ''
97
+ ), $atts ) );
98
+
99
+ // If we are not logged in
100
+ if ( !is_user_logged_in() && !empty( $login ) ) return '<p class="mycred-history login">' . $login . '</p>';
101
+
102
+ if ( $user_id === NULL )
103
+ $user_id = get_current_user_id();
104
+
105
+ $args = array();
106
+ $args['user_id'] = $user_id;
107
+
108
+ if ( $number !== NULL )
109
+ $args['number'] = $number;
110
+
111
+ if ( $time !== NULL )
112
+ $args['time'] = $time;
113
+
114
+ if ( $ref !== NULL )
115
+ $args['ref'] = $ref;
116
+
117
+ if ( $order !== NULL )
118
+ $args['order'] = $order;
119
+
120
+ $log = new myCRED_Query_Log( $args );
121
+
122
+ if ( $show_user !== true )
123
+ unset( $log->headers['column-username'] );
124
+
125
+ $result = $log->get_display();
126
+ $log->reset_query();
127
+ return $result;
128
+ }
129
+ }
130
+
131
  /**
132
  * myCRED Shortcode: mycred_leaderboard
133
  * @since 0.1
370
  }
371
  }
372
 
373
+ /**
374
+ * Load myCRED Send Points Footer
375
+ * @since 0.1
376
+ * @version 1.2
377
+ */
378
+ if ( !function_exists( 'mycred_send_shortcode_footer' ) ) {
379
+ add_action( 'wp_footer', 'mycred_send_shortcode_footer' );
380
+ function mycred_send_shortcode_footer() {
381
+ global $mycred_sending_points;
382
+
383
+ if ( $mycred_sending_points === true ) {
384
+ $mycred = mycred_get_settings();
385
+ $base = array(
386
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
387
+ 'token' => wp_create_nonce( 'mycred-send-points' )
388
+ );
389
+
390
+ $language = apply_filters( 'mycred_send_language', array(
391
+ 'working' => __( 'Processing...', 'mycred' ),
392
+ 'done' => __( 'Sent', 'mycred' ),
393
+ 'error' => __( 'Error - Try Again', 'mycred' )
394
+ ) );
395
+ wp_localize_script(
396
+ 'mycred-send-points',
397
+ 'myCREDsend',
398
+ array_merge_recursive( $base, $language )
399
+ );
400
+ wp_enqueue_script( 'mycred-send-points' );
401
+ }
402
+ }
403
+ }
404
+
405
+ /**
406
+ * myCRED Send Points Ajax
407
+ * @since 0.1
408
+ * @version 1.2
409
+ */
410
+ if ( !function_exists( 'mycred_shortcode_send_points_ajax' ) ) {
411
+ add_action( 'wp_ajax_mycred-send-points', 'mycred_shortcode_send_points_ajax' );
412
+ function mycred_shortcode_send_points_ajax() {
413
+ // We must be logged in
414
+ if ( !is_user_logged_in() ) die();
415
+
416
+ // Security
417
+ check_ajax_referer( 'mycred-send-points', 'token' );
418
+
419
+ $mycred = mycred_get_settings();
420
+ $user_id = get_current_user_id();
421
+
422
+ $account_limit = (int) apply_filters( 'mycred_transfer_acc_limit', 0 );
423
+ $balance = $mycred->get_users_cred( $user_id );
424
+ $amount = $mycred->number( $_POST['amount'] );
425
+ $new_balance = $balance-$amount;
426
+
427
+ // Insufficient Funds
428
+ if ( $new_balance < $account_limit )
429
+ die();
430
+ // After this transfer our account will reach zero
431
+ elseif ( $new_balance == $account_limit )
432
+ $reply = 'zero';
433
+ // Check if this is the last time we can do these kinds of amounts
434
+ elseif ( $new_balance-$amount < $account_limit )
435
+ $reply = 'minus';
436
+ // Else everything is fine
437
+ else
438
+ $reply = 'done';
439
+
440
+ // First deduct points
441
+ $mycred->add_creds(
442
+ trim( $_POST['reference'] ),
443
+ $user_id,
444
+ 0-$amount,
445
+ trim( $_POST['log'] ),
446
+ $_POST['recipient'],
447
+ array( 'ref_type' => 'user' )
448
+ );
449
+
450
+ // Then add to recipient
451
+ $mycred->add_creds(
452
+ trim( $_POST['reference'] ),
453
+ $_POST['recipient'],
454
+ $amount,
455
+ trim( $_POST['log'] ),
456
+ $user_id,
457
+ array( 'ref_type' => 'user' )
458
+ );
459
+
460
+ // Share the good news
461
+ die( json_encode( $reply ) );
462
+ }
463
+ }
464
+
465
  /**
466
  * myCRED Shortcode: mycred_video
467
  * This shortcode allows points to be given to the current user
includes/mycred-widgets.php CHANGED
@@ -114,6 +114,8 @@ if ( !class_exists( 'myCRED_Widget_Balance' ) ) {
114
  }
115
  echo '</ol>';
116
  }
 
 
117
  echo '</div>';
118
  }
119
 
114
  }
115
  echo '</ol>';
116
  }
117
+ $log->reset_query();
118
+
119
  echo '</div>';
120
  }
121
 
lang/mycred-en_US.mo CHANGED
Binary file
lang/mycred.pot CHANGED
@@ -4,8 +4,8 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: myCRED\n"
6
  "Report-Msgid-Bugs-To: http://mycred.me\n"
7
- "POT-Creation-Date: 2013-09-07 19:44+0100\n"
8
- "PO-Revision-Date: 2013-09-07 19:44+0100\n"
9
  "Last-Translator: Gabriel Sebastian Merovingi <support@mycred.me>\n"
10
  "Language-Team: LANGUAGE <support@mycred.me>\n"
11
  "MIME-Version: 1.0\n"
@@ -14,146 +14,156 @@ msgstr ""
14
  "X-Generator: Poedit 1.5.7\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Poedit-KeywordsList: _n;_e;__\n"
17
- "X-Poedit-SearchPath-0: /Users/gabriel/Repositories/mycred/trunk\n"
18
  "X-Poedit-SearchPath-1: .\n"
19
 
20
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:98
21
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:105
22
- msgid "Cheatin&#8217; huh?"
23
  msgstr ""
24
 
25
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:115
26
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:624
27
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:476
28
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:419
29
- msgid "Setup"
 
 
30
  msgstr ""
31
 
32
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:119
33
- msgid "Tutorials"
 
 
34
  msgstr ""
35
 
36
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:120
37
- msgid "Codex"
38
  msgstr ""
39
 
40
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:121
41
- msgid "Store"
42
  msgstr ""
43
 
44
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:134
45
- msgid ""
46
- "myCRED is blocked for this site. Please contact your network administrator "
47
- "for further details."
48
  msgstr ""
49
 
50
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:407
51
- msgid "My Balance: "
52
  msgstr ""
53
 
54
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:511
55
  #, php-format
56
  msgid "Edit Users %s balance"
57
  msgstr ""
58
 
59
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:512
60
- msgid "Close"
 
 
 
 
61
  msgstr ""
62
 
63
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:513
64
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:561
65
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:827
66
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:276
67
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:136
68
- msgid "Processing..."
69
  msgstr ""
70
 
71
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:562
72
- msgid "Sent"
73
  msgstr ""
74
 
75
- #: /Users/gabriel/Repositories/mycred/trunk/mycred.php:563
76
- msgid "Error - Try Again"
77
  msgstr ""
78
 
79
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:57
80
  msgid "function myCRED_Hook::run() must be over-ridden in a sub-class."
81
  msgstr ""
82
 
83
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:66
84
  msgid "This Hook has no settings"
85
  msgstr ""
86
 
87
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:133
88
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1074
89
  msgid "No limit"
90
  msgstr ""
91
 
92
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:134
93
  msgid "Once every 24 hours"
94
  msgstr ""
95
 
96
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:135
97
  msgid "Once every 12 hours"
98
  msgstr ""
99
 
100
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:136
101
  msgid "Once every 7 days"
102
  msgstr ""
103
 
104
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:137
105
  msgid "Once per day (reset at midnight)"
106
  msgstr ""
107
 
108
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-hook.php:144
109
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:342
110
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:238
111
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:259
112
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:515
113
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:538
114
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:514
115
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:382
116
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:186
117
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:773
118
  msgid "Select"
119
  msgstr ""
120
 
121
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-module.php:42
122
  msgid "myCRED_Module() Error. A Module ID is required!"
123
  msgstr ""
124
 
125
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-module.php:303
126
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-module.php:311
127
  msgid "Surprise"
128
  msgstr ""
129
 
130
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-module.php:367
131
- msgid "click to open"
 
 
 
 
132
  msgstr ""
133
 
134
- #: /Users/gabriel/Repositories/mycred/trunk/abstracts/mycred-abstract-module.php:368
135
- msgid "click to close"
 
 
 
 
136
  msgstr ""
137
 
138
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:12
139
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:49
140
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:50
141
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:51
142
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:155
143
  msgid "Banking"
144
  msgstr ""
145
 
146
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:13
147
  msgid ""
148
  "This add-on allows you to offer interest on your users points balances or "
149
  "setup recurring payouts."
150
  msgstr ""
151
 
152
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:110
153
  msgid "Compound Interest"
154
  msgstr ""
155
 
156
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:111
157
  msgid ""
158
  "Apply an interest rate on your users %_plural% balances. Interest rate is "
159
  "annual and is compounded daily as long as this service is enabled. Positive "
@@ -161,189 +171,205 @@ msgid ""
161
  "rate will to users loosing %_plural%."
162
  msgstr ""
163
 
164
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:117
165
  msgid "Recurring Payouts"
166
  msgstr ""
167
 
168
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:118
169
  msgid ""
170
  "Give your users %_plural% on a regular basis with the option to set the "
171
  "number of times you want this payout to run (cycles)."
172
  msgstr ""
173
 
174
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:143
175
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:458
176
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:115
177
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:249
178
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:35
179
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:232
180
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:269
181
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:351
182
  msgid "Access Denied"
183
  msgstr ""
184
 
185
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:150
186
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:317
187
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:42
188
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:239
189
  msgid "Settings Updated"
190
  msgstr ""
191
 
192
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:156
193
  msgid ""
194
  "This add-on allows you to setup transaction fees for %_plural% transfers, "
195
  "purchases or payments using the Gateway add-on, along with offering interest "
196
  "on %_plural% balances."
197
  msgstr ""
198
 
199
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:159
200
  msgid "WP-Cron deactivation detected!"
201
  msgstr ""
202
 
203
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:160
204
  msgid "Warning! This add-on requires WP - Cron to work."
205
  msgstr ""
206
 
207
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:173
208
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:346
209
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:257
210
  msgid "Enable"
211
  msgstr ""
212
 
213
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/myCRED-addon-banking.php:186
214
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:270
215
  msgid "Update Changes"
216
  msgstr ""
217
 
218
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:57
219
  msgid "function myCRED_Service::run() must be over-ridden in a sub-class."
220
  msgstr ""
221
 
222
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:66
223
  msgid "This Service has no settings"
224
  msgstr ""
225
 
226
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:143
227
  msgid "Hourly"
228
  msgstr ""
229
 
230
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:147
231
  msgid "Daily"
232
  msgstr ""
233
 
234
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:151
235
  msgid "Weekly"
236
  msgstr ""
237
 
238
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:155
239
  msgid "Monthly"
240
  msgstr ""
241
 
242
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:159
243
  msgid "Quarterly"
244
  msgstr ""
245
 
246
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:163
247
  msgid "Semiannually"
248
  msgstr ""
249
 
250
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/abstracts/mycred-abstract-service.php:167
251
  msgid "Annually"
252
  msgstr ""
253
 
254
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:25
255
  msgid "%plural% interest rate payment"
256
  msgstr ""
257
 
258
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:274
259
  msgid "Interest Rate"
260
  msgstr ""
261
 
262
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:281
263
  msgid "Payed / Charged"
264
  msgstr ""
265
 
266
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:287
267
  msgid ""
268
  "The interest rate can be either positive or negative and is compounded daily."
269
  msgstr ""
270
 
271
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:290
272
  msgid "Minimum Balance"
273
  msgstr ""
274
 
275
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:294
276
  msgid "The minimum requires balance for interest to apply."
277
  msgstr ""
278
 
279
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:297
280
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:250
281
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:216
282
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:271
283
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:359
284
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:87
285
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:519
286
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1228
287
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1505
288
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:878
289
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:880
290
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:889
291
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1168
292
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1288
293
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1301
294
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1439
295
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1452
296
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1548
297
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1561
 
 
 
298
  msgid "Log Template"
299
  msgstr ""
300
 
301
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-interest.php:301
302
  msgid "Available template tags: General, %timeframe%, %rate%, %base%"
303
  msgstr ""
304
 
305
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:21
 
 
 
 
 
 
 
 
 
 
 
 
 
306
  msgid "Daily %_plural%"
307
  msgstr ""
308
 
309
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:212
310
  msgid "Not yet run"
311
  msgstr ""
312
 
313
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:217
314
  msgid "Pay Users"
315
  msgstr ""
316
 
317
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:220
318
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:667
319
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:347
320
  msgid "Amount"
321
  msgstr ""
322
 
323
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:222
324
  msgid "Can not be zero."
325
  msgstr ""
326
 
327
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:226
328
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:239
329
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1520
330
  msgid "Interval"
331
  msgstr ""
332
 
333
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:231
334
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:240
335
  msgid "Cycles"
336
  msgstr ""
337
 
338
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:233
339
  msgid "Set to -1 for unlimited"
340
  msgstr ""
341
 
342
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:236
343
  msgid "Last Run / Activated"
344
  msgstr ""
345
 
346
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:239
347
  msgid ""
348
  "Select how often you want to award %_plural%. Note that when this service is "
349
  "enabled, the first payout will be in the beginning of the next period. So "
@@ -351,625 +377,647 @@ msgid ""
351
  "morning."
352
  msgstr ""
353
 
354
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:240
355
  msgid ""
356
  "Cycles let you choose how many intervals this service should run. Each time "
357
  "a cycle runs, the value will decrease until it hits zero, in which case this "
358
  "service will deactivate itself. Use -1 to run unlimited times."
359
  msgstr ""
360
 
361
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:241
362
  msgid "Important"
363
  msgstr ""
364
 
365
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:241
366
  msgid ""
367
  "You can always stop payouts by deactivating this service. Just remember that "
368
  "if you deactivate while there are cycles left, this service will continue on "
369
  "when it gets re-activated. Set cycles to zero to reset."
370
  msgstr ""
371
 
372
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:243
373
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:587
374
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:107
375
  msgid "Excludes"
376
  msgstr ""
377
 
378
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:247
379
  msgid ""
380
  "Comma separated list of user IDs to exclude from this service. No spaces "
381
  "allowed!"
382
  msgstr ""
383
 
384
- #: /Users/gabriel/Repositories/mycred/trunk/addons/banking/services/mycred-bank-service-payouts.php:254
385
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-galleries.php:81
386
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:435
387
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:448
388
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:461
389
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:474
390
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:487
391
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:500
392
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:514
393
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:527
394
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:540
395
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:553
396
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:175
397
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:188
398
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:201
399
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:214
400
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:320
401
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:333
402
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:372
403
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:385
404
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:398
405
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:411
406
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:428
407
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:523
408
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1509
409
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:639
410
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:660
411
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1552
412
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1565
413
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-subscriptions.php:488
414
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-subscriptions.php:501
415
  msgid "Available template tags: General"
416
  msgstr ""
417
 
418
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:13
419
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:379
420
  msgid "BuddyPress"
421
  msgstr ""
422
 
423
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:14
424
  msgid ""
425
  "The BuddyPress add-on extends <strong>my</strong>CRED to work with "
426
  "BuddyPress allowing you to hook into most BuddyPress related actions."
427
  msgstr ""
428
 
429
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:56
430
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:69
431
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:376
432
  msgid "My History"
433
  msgstr ""
434
 
435
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:57
436
  #, php-format
437
  msgid "%s's History"
438
  msgstr ""
439
 
440
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:219
441
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:227
442
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:983
443
  msgid "All"
444
  msgstr ""
445
 
446
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:220
447
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:984
448
  msgid "Today"
449
  msgstr ""
450
 
451
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:221
452
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:985
453
  msgid "Yesterday"
454
  msgstr ""
455
 
456
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:222
457
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:986
458
  msgid "This Week"
459
  msgstr ""
460
 
461
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:223
462
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:987
463
  msgid "This Month"
464
  msgstr ""
465
 
466
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:319
467
  msgid "BuddyPress: Groups"
468
  msgstr ""
469
 
470
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:320
471
  msgid ""
472
  "Awards %_plural% for group related actions. Use minus to deduct %_plural% or "
473
  "zero to disable a specific hook."
474
  msgstr ""
475
 
476
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:324
477
  msgid "BuddyPress: Members"
478
  msgstr ""
479
 
480
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:325
481
  msgid "Awards %_plural% for profile related actions."
482
  msgstr ""
483
 
484
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:331
485
  msgid "BuddyPress: Links"
486
  msgstr ""
487
 
488
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:332
489
  msgid "Awards %_plural% for link related actions."
490
  msgstr ""
491
 
492
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:339
493
  msgid "BuddyPress: Gallery Actions"
494
  msgstr ""
495
 
496
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:340
497
  msgid ""
498
  "Awards %_plural% for creating a new gallery either using BP Album+ or BP "
499
  "Gallery."
500
  msgstr ""
501
 
502
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:360
503
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:367
504
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:766
505
  msgid "Do not show."
506
  msgstr ""
507
 
508
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:361
509
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:767
510
  msgid "Include in Profile Header."
511
  msgstr ""
512
 
513
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:362
514
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:768
515
  msgid "Include under the \"Profile\" tab"
516
  msgstr ""
517
 
518
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:363
519
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:769
520
  msgid "Include under the \"Profile\" tab and Profile Header."
521
  msgstr ""
522
 
523
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:368
524
  msgid "Show in Profile"
525
  msgstr ""
526
 
527
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:381
528
  msgid "%singular% Balance"
529
  msgstr ""
530
 
531
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:397
532
  msgid "Members can view each others %_singular% balance."
533
  msgstr ""
534
 
535
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:402
536
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:192
537
  msgid "Template"
538
  msgstr ""
539
 
540
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:404
541
  msgid "Available template tags are: %creds%, %number%, %rank%"
542
  msgstr ""
543
 
544
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:405
545
  msgid ""
546
  "Note that you can also use %rank_logo% to show the feature image of the rank."
547
  msgstr ""
548
 
549
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:409
550
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:159
551
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:70
552
  msgid "%plural% History"
553
  msgstr ""
554
 
555
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:425
556
  msgid "Members can view each others %_plural% history."
557
  msgstr ""
558
 
559
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:430
560
  msgid "Menu Title"
561
  msgstr ""
562
 
563
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:432
564
  msgid "Title shown to me"
565
  msgstr ""
566
 
567
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:437
568
  #, php-format
569
  msgid "Title shown to others. Use %s to show the first name."
570
  msgstr ""
571
 
572
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:442
573
  msgid "Menu Position"
574
  msgstr ""
575
 
576
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:444
577
  msgid "Current menu positions:"
578
  msgstr ""
579
 
580
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:449
581
  msgid "History URL slug"
582
  msgstr ""
583
 
584
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:451
585
  msgid "Do not use empty spaces!"
586
  msgstr ""
587
 
588
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/myCRED-addon-buddypress.php:456
589
  msgid "Number of history entries to show"
590
  msgstr ""
591
 
592
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-galleries.php:72
593
  msgid "%plural% for New Gallery"
594
  msgstr ""
595
 
596
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-galleries.php:79
597
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:433
598
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:446
599
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:459
600
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:472
601
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:485
602
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:498
603
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:512
604
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:525
605
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:538
606
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:551
607
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:173
608
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:186
609
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:199
610
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:212
611
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:318
612
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:331
613
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:344
614
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:357
615
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:370
616
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:383
617
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:396
618
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:409
619
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:381
620
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:625
621
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:638
622
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:673
623
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:963
624
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:975
625
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:987
626
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:401
627
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:414
628
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:427
629
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:445
630
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:458
631
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:477
632
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:637
633
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:658
634
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:790
635
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1044
636
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-subscriptions.php:486
637
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-subscriptions.php:499
638
  msgid "Log template"
639
  msgstr ""
640
 
641
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:419
642
  msgid "%plural% for Creating Groups"
643
  msgstr ""
644
 
645
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:423
646
  msgid ""
647
  "If you use a negative value and the user does not have enough %_plural% the "
648
  "\"Create Group\" button will be disabled."
649
  msgstr ""
650
 
651
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:427
652
  msgid "Number of members before awarding %_plural%"
653
  msgstr ""
654
 
655
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:429
656
  msgid "Use zero to award %_plural% when group is created."
657
  msgstr ""
658
 
659
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:439
660
  msgid "%plural% for Deleting Groups"
661
  msgstr ""
662
 
663
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:452
664
  msgid "%plural% for New Forum Topic"
665
  msgstr ""
666
 
667
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:465
668
  msgid "%plural% for Editing Forum Topic"
669
  msgstr ""
670
 
671
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:478
672
  msgid "%plural% for New Forum Post"
673
  msgstr ""
674
 
675
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:491
676
  msgid "%plural% for Editing Forum Post"
677
  msgstr ""
678
 
679
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:504
680
  msgid "%plural% for Joining Groups"
681
  msgstr ""
682
 
683
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:508
684
  msgid ""
685
  "If you use a negative value and the user does not have enough %_plural% the "
686
  "\"Join Group\" button will be disabled."
687
  msgstr ""
688
 
689
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:518
690
  msgid "%plural% for Leaving Groups"
691
  msgstr ""
692
 
693
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:531
694
  msgid "%plural% for New Group Avatar"
695
  msgstr ""
696
 
697
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-groups.php:544
698
  msgid "%plural% for New Group Comment"
699
  msgstr ""
700
 
701
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:166
702
  msgid "%plural% for New Links"
703
  msgstr ""
704
 
705
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:179
706
  msgid "%plural% for Vote on Link"
707
  msgstr ""
708
 
709
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:192
710
  msgid "%plural% for Updating Links"
711
  msgstr ""
712
 
713
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-links.php:205
714
  msgid "%plural% for Deleting Links"
715
  msgstr ""
716
 
717
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:311
718
  msgid "%plural% for Profile Updates"
719
  msgstr ""
720
 
721
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:324
 
 
 
 
 
 
 
 
 
 
722
  msgid "%plural% for New Avatar"
723
  msgstr ""
724
 
725
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:337
726
  msgid "%plural% for New Friendships"
727
  msgstr ""
728
 
729
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:346
730
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:359
731
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:189
732
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:196
733
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:385
734
  msgid "Available template tags: General, User"
735
  msgstr ""
736
 
737
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:350
738
  msgid "%plural% for Leaving Friendship"
739
  msgstr ""
740
 
741
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:363
742
  msgid "%plural% for New Comment"
743
  msgstr ""
744
 
745
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:376
746
  msgid "%plural% for Deleting Comment"
747
  msgstr ""
748
 
749
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:389
750
  msgid "%plural% for New Messages"
751
  msgstr ""
752
 
753
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buddypress/hooks/bp-profile.php:402
754
  msgid "%plural% for Sending Gift"
755
  msgstr ""
756
 
757
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:12
758
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:200
759
  msgid "buyCRED"
760
  msgstr ""
761
 
762
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:13
763
  msgid ""
764
  "The <strong>buy</strong>CRED Add-on allows your users to buy points using "
765
  "PayPal, Skrill (Moneybookers) or NETbilling. <strong>buy</strong>CRED can "
766
  "also let your users buy points for other members."
767
  msgstr ""
768
 
769
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:55
770
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:56
771
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:57
772
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:322
773
  msgid "Payment Gateways"
774
  msgstr ""
775
 
776
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:141
777
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:773
778
  msgid "PayPal Payments Standard"
779
  msgstr ""
780
 
781
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:145
782
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:423
783
  msgid "NETbilling"
784
  msgstr ""
785
 
786
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:149
787
  msgid "Skrill (Moneybookers)"
788
  msgstr ""
789
 
790
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:153
791
  msgid "Zombaio"
792
  msgstr ""
793
 
794
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:175
795
  msgid "Please login to purchase %_plural%"
796
  msgstr ""
797
 
798
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:189
799
  msgid "Gift purchase from %display_name%."
800
  msgstr ""
801
 
802
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:202
803
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:555
804
  msgid "Minimum %plural%"
805
  msgstr ""
806
 
807
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:206
808
  msgid "Minimum amount of %plural% a user must purchase. Will default to 1."
809
  msgstr ""
810
 
811
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:209
812
  msgid "Login Template"
813
  msgstr ""
814
 
815
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:213
816
  msgid "Content to show when a user is not logged in."
817
  msgstr ""
818
 
819
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:220
820
  msgid ""
821
  "Available template tags: General and %gateway% for the payment gateway used."
822
  msgstr ""
823
 
824
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:223
825
  msgid "Thank You Page"
826
  msgstr ""
827
 
828
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:226
829
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:247
830
  msgid "Custom URL"
831
  msgstr ""
832
 
833
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:231
834
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:252
835
  msgid "Page"
836
  msgstr ""
837
 
838
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:244
839
  msgid "Cancellation Page"
840
  msgstr ""
841
 
842
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:265
843
  msgid "Gifting"
844
  msgstr ""
845
 
846
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:267
847
  msgid "Allow users to buy %_plural% for other users."
848
  msgstr ""
849
 
850
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:268
851
  msgid "Allow users to buy %_plural% for content authors."
852
  msgstr ""
853
 
854
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:273
855
  msgid "Available template tags: %singular%, %plural% and %display_name%"
856
  msgstr ""
857
 
858
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:323
859
  msgid ""
860
  "Select the payment gateways you want to offer your users to buy %plural%."
861
  msgstr ""
862
 
863
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:364
 
 
 
 
 
 
 
 
 
 
 
 
864
  msgid "Update Gateway Settings"
865
  msgstr ""
866
 
867
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:411
868
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:521
869
  msgid "This Add-on needs to setup before you can use this shortcode."
870
  msgstr ""
871
 
872
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:428
873
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:538
874
  msgid "No gateways installed."
875
  msgstr ""
876
 
877
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:429
878
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:539
879
  msgid "Gateway does not exist."
880
  msgstr ""
881
 
882
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:465
883
  msgid "Yourself"
884
  msgstr ""
885
 
886
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:540
887
  msgid "No active gateways found."
888
  msgstr ""
889
 
890
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:541
891
  msgid "The selected gateway is not active."
892
  msgstr ""
893
 
894
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:581
895
  msgid "Buy with"
896
  msgstr ""
897
 
898
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:585
899
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:49
900
  msgid "Buy Now"
901
  msgstr ""
902
 
903
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:618
904
  msgid "No users found"
905
  msgstr ""
906
 
907
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:628
908
  msgid "To"
909
  msgstr ""
910
 
911
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:645
912
  msgid "Select Amount"
913
  msgstr ""
914
 
915
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:669
916
  msgid "min."
917
  msgstr ""
918
 
919
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:677
920
  msgid "Select Gateway"
921
  msgstr ""
922
 
923
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:757
924
  msgid "Buy %plural%"
925
  msgstr ""
926
 
927
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:759
928
  msgid "This add-on lets your users buy %_plural% using a payment gateway."
929
  msgstr ""
930
 
931
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:760
932
  msgid "Supported Gateways"
933
  msgstr ""
934
 
935
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:761
936
  msgid ""
937
  "myCRED supports purchases through: PayPal Payments Standard, Skrill "
938
  "(Moneybookers) and NETbilling. Let us know if you want to add other payment "
939
  "gateways."
940
  msgstr ""
941
 
942
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:762
943
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:1057
944
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:493
945
  msgid "Usage"
946
  msgstr ""
947
 
948
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:763
949
  msgid "Purchases can be made using one of the following shortcodes:"
950
  msgstr ""
951
 
952
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:765
953
  msgid ""
954
  "When you want to sell a pre-set amount, sell to a specific user or use a "
955
  "specific gateway.<br />For more information on how to use the shortcode, "
956
  "please visit the"
957
  msgstr ""
958
 
959
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:766
960
  msgid ""
961
  "When you want to give your users the option to select an amount, gateway or "
962
  "recipient.<br />For more information on how to use the shortcode, please "
963
  "visit the"
964
  msgstr ""
965
 
966
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:775
967
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:327
968
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:344
969
  msgid "Currency"
970
  msgstr ""
971
 
972
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:776
973
  msgid ""
974
  "Make sure you select a currency that your PayPal account supports. Otherwise "
975
  "transactions will not be approved until you login to your PayPal account and "
@@ -977,12 +1025,12 @@ msgid ""
977
  "will not be applied to the buyer until you have resolved the issue."
978
  msgstr ""
979
 
980
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:777
981
  msgid "Instant Payment Notifications"
982
  msgstr ""
983
 
984
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:778
985
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:358
986
  msgid ""
987
  "For this gateway to work, you must login to your PayPal account and under "
988
  "\"Profile\" > \"Selling Tools\" enable \"Instant Payment Notifications\". "
@@ -990,1017 +1038,1049 @@ msgid ""
990
  "have selected \"Receive IPN messages (Enabled)\"."
991
  msgstr ""
992
 
993
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:782
994
  msgid "Skrill"
995
  msgstr ""
996
 
997
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:784
998
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:607
999
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:321
1000
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:338
1001
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:290
1002
  msgid "Sandbox Mode"
1003
  msgstr ""
1004
 
1005
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:785
1006
  msgid ""
1007
  "Transactions made while Sandbox mode is active are real transactions! "
1008
  "Remember to use your \"Test Merchant Account\" when Sandbox mode is active!"
1009
  msgstr ""
1010
 
1011
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:786
1012
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:383
1013
  msgid "Checkout Page"
1014
  msgstr ""
1015
 
1016
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:787
1017
  msgid ""
1018
  "By default all Skrill Merchant account accept payments via Bank Transfers. "
1019
  "When a user selects this option, no points are awarded! You will need to "
1020
  "manually award these once the bank transfer is completed."
1021
  msgstr ""
1022
 
1023
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/myCRED-addon-buy-creds.php:788
1024
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:403
1025
  msgid ""
1026
  "By default purchases made using Skrill will result in users having to signup "
1027
  "for a Skrill account (if they do not have one already). You can contact "
1028
  "Skrill Merchant Services and request to disable this feature."
1029
  msgstr ""
1030
 
1031
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:61
1032
  msgid ""
1033
  "function myCRED_Payment_Gateway::process() must be over-ridden in a sub-"
1034
  "class."
1035
  msgstr ""
1036
 
1037
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:70
1038
  msgid ""
1039
  "function myCRED_Payment_Gateway::buy() must be over-ridden in a sub-class."
1040
  msgstr ""
1041
 
1042
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:86
1043
  msgid "This Payment Gateway has no settings"
1044
  msgstr ""
1045
 
1046
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:235
1047
  msgid "Go to "
1048
  msgstr ""
1049
 
1050
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:256
1051
  msgid "Payment Gateway Logo"
1052
  msgstr ""
1053
 
1054
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:269
1055
  msgid "Click here if you are not automatically redirected"
1056
  msgstr ""
1057
 
1058
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:866
1059
  msgid "Outside US"
1060
  msgstr ""
1061
 
1062
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:26
1063
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:23
1064
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:28
1065
  msgid "Purchase of myCRED %plural%"
1066
  msgstr ""
1067
 
1068
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:55
1069
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:318
1070
  msgid "You have tried too many times. Please contact support."
1071
  msgstr ""
1072
 
1073
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:62
1074
  msgid "This payment gateway has not yet been setup! Exiting."
1075
  msgstr ""
1076
 
1077
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:81
1078
  msgid "First name can not be empty"
1079
  msgstr ""
1080
 
1081
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:87
1082
  msgid "Last name can not be empty"
1083
  msgstr ""
1084
 
1085
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:93
1086
  msgid "Street can not be empty"
1087
  msgstr ""
1088
 
1089
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:99
1090
  msgid "City can not be empty"
1091
  msgstr ""
1092
 
1093
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:105
1094
  msgid "Country can not be empty"
1095
  msgstr ""
1096
 
1097
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:113
1098
  msgid "State can not be empty"
1099
  msgstr ""
1100
 
1101
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:121
1102
  msgid "Zip / Post Code can not be empty"
1103
  msgstr ""
1104
 
1105
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:127
1106
  msgid "Email can not be empty"
1107
  msgstr ""
1108
 
1109
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:143
1110
  msgid "Please enter your credit card number"
1111
  msgstr ""
1112
 
1113
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:149
1114
  msgid "Card Expiration Month must be selected"
1115
  msgstr ""
1116
 
1117
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:155
1118
  msgid "Card Expiration Year must be set"
1119
  msgstr ""
1120
 
1121
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:161
1122
  msgid "Please enter the CVV2 code from the back of your card"
1123
  msgstr ""
1124
 
1125
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:170
1126
  msgid "Account Routing number missing"
1127
  msgstr ""
1128
 
1129
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:176
1130
  msgid "Account Number missing"
1131
  msgstr ""
1132
 
1133
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:184
1134
  msgid "Incorrect Credit Card number"
1135
  msgstr ""
1136
 
1137
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:190
1138
  msgid "The credit card entered is past its expiration date."
1139
  msgstr ""
1140
 
1141
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:196
1142
  msgid "The CVV2 number entered is not valid."
1143
  msgstr ""
1144
 
1145
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:202
1146
  msgid "The bank routing number entered is not valid."
1147
  msgstr ""
1148
 
1149
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:205
1150
  msgid "The bank account number entered is not valid."
1151
  msgstr ""
1152
 
1153
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:312
1154
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:333
1155
  msgid "Invalid Address"
1156
  msgstr ""
1157
 
1158
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:315
1159
  msgid "Invalid CVV2"
1160
  msgstr ""
1161
 
1162
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:321
1163
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:324
1164
  msgid "Please contact support."
1165
  msgstr ""
1166
 
1167
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:327
1168
  msgid "Your email address is invalid."
1169
  msgstr ""
1170
 
1171
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:330
1172
  msgid "Your information is invalid. Please correct"
1173
  msgstr ""
1174
 
1175
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:336
1176
  msgid "Your card was declined. Please try again."
1177
  msgstr ""
1178
 
1179
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:340
1180
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:358
1181
  msgid "Duplicate transaction. Please contact support"
1182
  msgstr ""
1183
 
1184
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:343
1185
  msgid "Your transaction was approved"
1186
  msgstr ""
1187
 
1188
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:350
1189
  msgid " error: "
1190
  msgstr ""
1191
 
1192
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:430
1193
  msgid "Debug"
1194
  msgstr ""
1195
 
1196
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:439
1197
  msgid "Error"
1198
  msgstr ""
1199
 
1200
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:440
1201
  msgid "The following error/s were found: "
1202
  msgstr ""
1203
 
1204
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:448
1205
  msgid "Please update and try again."
1206
  msgstr ""
1207
 
1208
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:454
1209
  msgid "Transaction Approved"
1210
  msgstr ""
1211
 
1212
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:455
1213
  msgid "Your have successfully purchased "
1214
  msgstr ""
1215
 
1216
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:456
1217
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:466
1218
  msgid "Click here to continue"
1219
  msgstr ""
1220
 
1221
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:464
1222
  msgid "Transaction Declined"
1223
  msgstr ""
1224
 
1225
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:465
1226
  msgid ""
1227
  "I am sorry but your transaction could not be completed due to the following "
1228
  msgstr ""
1229
 
1230
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:474
1231
  msgid "Transaction Error"
1232
  msgstr ""
1233
 
1234
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:475
1235
  msgid "NETbilling returned the following error: "
1236
  msgstr ""
1237
 
1238
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:476
1239
  msgid "Please try again."
1240
  msgstr ""
1241
 
1242
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:480
1243
  msgid "Purchase of"
1244
  msgstr ""
1245
 
1246
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:480
1247
  msgid "for"
1248
  msgstr ""
1249
 
1250
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:481
1251
  msgid "Fields marked * are required!"
1252
  msgstr ""
1253
 
1254
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:491
1255
  msgid "Billing Details"
1256
  msgstr ""
1257
 
1258
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:560
1259
  msgid "Month"
1260
  msgstr ""
1261
 
1262
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:566
1263
  msgid "Year"
1264
  msgstr ""
1265
 
1266
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:613
1267
  msgid "Account ID"
1268
  msgstr ""
1269
 
1270
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:619
1271
  msgid "Site Tag"
1272
  msgstr ""
1273
 
1274
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:625
1275
  msgid "Dynamic IP Security Code"
1276
  msgstr ""
1277
 
1278
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:631
1279
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:341
1280
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:364
1281
  msgid "Item Name"
1282
  msgstr ""
1283
 
1284
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:637
1285
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:348
1286
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:371
1287
  msgid "%plural% Exchange Rate"
1288
  msgstr ""
1289
 
1290
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:643
1291
  msgid "Allowed Attempts"
1292
  msgstr ""
1293
 
1294
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:647
1295
  msgid "Maximum number of attempts allowed for purchases."
1296
  msgstr ""
1297
 
1298
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:650
1299
  msgid "Advanced"
1300
  msgstr ""
1301
 
1302
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:654
1303
  msgid "Disable AVS (Address Verification System) for credit card transactions."
1304
  msgstr ""
1305
 
1306
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:658
1307
  msgid "Disable CVV2 (Card Verification Value 2) for credit card transactions."
1308
  msgstr ""
1309
 
1310
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:662
1311
  msgid ""
1312
  "Disable all fraud protection other than AVS/CVV2. (This implies "
1313
  "disable_negative_db)"
1314
  msgstr ""
1315
 
1316
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:666
1317
  msgid ""
1318
  "Disable only the negative database component of the fraud protection system."
1319
  msgstr ""
1320
 
1321
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:670
1322
  msgid "Disable automatic sending of both merchant and customer email receipts."
1323
  msgstr ""
1324
 
1325
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/netbilling.php:674
1326
  msgid "Disable immediate rejection of expired cards."
1327
  msgstr ""
1328
 
1329
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:225
1330
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:211
1331
  msgid "Success"
1332
  msgstr ""
1333
 
1334
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:226
1335
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:212
1336
  msgid "Thank you for your purchase"
1337
  msgstr ""
1338
 
1339
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:239
1340
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:225
1341
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:232
1342
  msgid "Please setup this gateway before attempting to make a purchase!"
1343
  msgstr ""
1344
 
1345
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:299
1346
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:266
1347
  msgid "Return to "
1348
  msgstr ""
1349
 
1350
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:304
1351
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:320
1352
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:271
1353
  msgid "Processing payment &hellip;"
1354
  msgstr ""
1355
 
1356
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:332
1357
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:401
1358
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:416
1359
  msgid "Important!"
1360
  msgstr ""
1361
 
1362
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:332
1363
  msgid ""
1364
  "Make sure you select a currency that your PayPal account supports. Otherwise "
1365
  "transactions will not be approved until you login to your PayPal account and "
1366
  "Accept each transaction!"
1367
  msgstr ""
1368
 
1369
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:335
1370
  msgid "Account Email"
1371
  msgstr ""
1372
 
1373
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:345
1374
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:368
1375
  msgid "Description of the item being purchased by the user."
1376
  msgstr ""
1377
 
1378
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:351
1379
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:374
1380
  msgid "Your selected currency"
1381
  msgstr ""
1382
 
1383
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/paypal-standard.php:354
1384
  msgid "IPN Address"
1385
  msgstr ""
1386
 
1387
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:303
1388
  msgid "Product:"
1389
  msgstr ""
1390
 
1391
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:312
1392
  msgid "Gift to:"
1393
  msgstr ""
1394
 
1395
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:313
1396
  msgid "(author)"
1397
  msgstr ""
1398
 
1399
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:341
1400
  msgid "Remember to use your Test Merchant Account when Sandbox mode is active!"
1401
  msgstr ""
1402
 
1403
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:351
1404
  msgid "Merchant Account Email"
1405
  msgstr ""
1406
 
1407
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:357
1408
  msgid "Secret Word"
1409
  msgstr ""
1410
 
1411
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:361
1412
  msgid ""
1413
  "You can set your secret word under \"Merchant Tools\" in your Skrill Account."
1414
  msgstr ""
1415
 
1416
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:377
1417
  msgid "Confirmation Email"
1418
  msgstr ""
1419
 
1420
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:380
1421
  msgid ""
1422
  "Ask Skrill to send me a confirmation email for each successful purchase."
1423
  msgstr ""
1424
 
1425
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:386
1426
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:75
1427
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:696
1428
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:594
1429
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:185
1430
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:360
1431
  msgid "Title"
1432
  msgstr ""
1433
 
1434
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:388
1435
  msgid ""
1436
  "If left empty, your account email is used as title on the Skill Payment Page."
1437
  msgstr ""
1438
 
1439
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:391
1440
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:314
1441
  msgid "Logo URL"
1442
  msgstr ""
1443
 
1444
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:393
1445
  msgid ""
1446
  "The URL to the image you want to use on the top of the gateway. For best "
1447
  "integration results we recommend you use logos with dimensions up to 200px "
1448
  "in width and 50px in height."
1449
  msgstr ""
1450
 
1451
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:396
1452
  msgid "Confirmation Note"
1453
  msgstr ""
1454
 
1455
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:398
1456
  msgid ""
1457
  "Optional text to show user once a transaction has been successfully "
1458
  "completed. This text is shown by Skrill."
1459
  msgstr ""
1460
 
1461
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/skrill.php:402
1462
  msgid ""
1463
  "By default all Skrill Merchant account accept payments via Bank Transfers. "
1464
  "When a user selects this option, no %_plural% are awarded! You will need to "
1465
  "manually award these once the bank transfer is completed."
1466
  msgstr ""
1467
 
1468
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:296
1469
  msgid "Site ID"
1470
  msgstr ""
1471
 
1472
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:302
1473
  msgid "GW Password"
1474
  msgstr ""
1475
 
1476
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:308
1477
  msgid "Pricing ID"
1478
  msgstr ""
1479
 
1480
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:320
1481
  msgid "IP Verification"
1482
  msgstr ""
1483
 
1484
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:323
1485
  msgid "Do not verify that callbacks are coming from Zombaio."
1486
  msgstr ""
1487
 
1488
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:326
1489
  msgid "Language"
1490
  msgstr ""
1491
 
1492
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:333
1493
  msgid "Postback URL (ZScript)"
1494
  msgstr ""
1495
 
1496
- #: /Users/gabriel/Repositories/mycred/trunk/addons/buy-creds/gateways/zombaio.php:337
1497
  msgid ""
1498
  "For this gateway to work, login to ZOA and set the Postback URL to the above "
1499
  "address and click validate."
1500
  msgstr ""
1501
 
1502
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:12
1503
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:155
1504
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:161
1505
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:167
1506
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:265
1507
  msgid "Email Notices"
1508
  msgstr ""
1509
 
1510
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:13
1511
  msgid "Create email notices for any type of myCRED instance."
1512
  msgstr ""
1513
 
1514
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:156
1515
  msgid "Email Notice"
1516
  msgstr ""
1517
 
1518
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:157
1519
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:157
1520
  msgid "Add New"
1521
  msgstr ""
1522
 
1523
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:158
1524
  msgid "Add New Notice"
1525
  msgstr ""
1526
 
1527
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:159
1528
  msgid "Edit Notice"
1529
  msgstr ""
1530
 
1531
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:160
1532
  msgid "New Notice"
1533
  msgstr ""
1534
 
1535
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:162
1536
  msgid "View Notice"
1537
  msgstr ""
1538
 
1539
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:163
1540
  msgid "Search Email Notices"
1541
  msgstr ""
1542
 
1543
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:164
1544
  msgid "No email notices found"
1545
  msgstr ""
1546
 
1547
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:165
1548
  msgid "No email notices found in Trash"
1549
  msgstr ""
1550
 
1551
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:188
1552
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:848
 
1553
  msgid "General"
1554
  msgstr ""
1555
 
1556
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:189
1557
  msgid "users balance changes"
1558
  msgstr ""
1559
 
1560
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:190
1561
  msgid "user gains %_plural%"
1562
  msgstr ""
1563
 
1564
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:191
1565
  msgid "user lose %_plural%"
1566
  msgstr ""
1567
 
1568
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:192
1569
  msgid "users balance reaches zero"
1570
  msgstr ""
1571
 
1572
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:193
1573
  msgid "users balance goes minus"
1574
  msgstr ""
1575
 
1576
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:199
1577
  msgid "Sell Content Add-on"
1578
  msgstr ""
1579
 
1580
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:200
1581
  msgid "user buys content"
1582
  msgstr ""
1583
 
1584
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:201
1585
  msgid "authors content gets sold"
1586
  msgstr ""
1587
 
1588
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:208
1589
  msgid "buyCREDs Add-on"
1590
  msgstr ""
1591
 
1592
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:209
1593
  msgid "user buys %_plural%"
1594
  msgstr ""
1595
 
1596
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:216
1597
  msgid "Transfer Add-on"
1598
  msgstr ""
1599
 
1600
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:217
1601
  msgid "user sends %_plural%"
1602
  msgstr ""
1603
 
1604
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:218
1605
  msgid "user receives %_plural%"
1606
  msgstr ""
1607
 
1608
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:225
1609
  msgid "Ranks Add-on"
1610
  msgstr ""
1611
 
1612
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:226
1613
  msgid "user is demoted"
1614
  msgstr ""
1615
 
1616
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:227
1617
  msgid "user is promoted"
1618
  msgstr ""
1619
 
1620
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:267
1621
  msgid ""
1622
  "Settings that apply to all email notices and can not be overridden for "
1623
  "individual emails."
1624
  msgstr ""
1625
 
1626
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:268
1627
  msgid "Email Format"
1628
  msgstr ""
1629
 
1630
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:272
1631
  msgid "Plain text emails only."
1632
  msgstr ""
1633
 
1634
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:276
1635
  msgid "HTML or Plain text emails."
1636
  msgstr ""
1637
 
1638
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:279
1639
  msgid "Filters"
1640
  msgstr ""
1641
 
1642
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:283
1643
  msgid ""
1644
  "Allow WordPress and Third Party Plugins to filter the email subject before "
1645
  "an email is sent."
1646
  msgstr ""
1647
 
1648
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:287
1649
  msgid ""
1650
  "Allow WordPress and Third Party Plugins to filter the email content before "
1651
  "an email is sent."
1652
  msgstr ""
1653
 
1654
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:290
1655
  msgid ""
1656
  "Default email settings. These settings can be individually overridden when "
1657
  "editing emails."
1658
  msgstr ""
1659
 
1660
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:291
1661
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:687
1662
  msgid "Email Settings"
1663
  msgstr ""
1664
 
1665
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:294
1666
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:804
1667
  msgid "Senders Name:"
1668
  msgstr ""
1669
 
1670
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:298
1671
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:806
1672
  msgid "Senders Email:"
1673
  msgstr ""
1674
 
1675
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:302
1676
  msgid "Reply-To:"
1677
  msgstr ""
1678
 
1679
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:306
1680
  msgid "Default Email Content"
1681
  msgstr ""
1682
 
1683
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:310
1684
  msgid "Default email content."
1685
  msgstr ""
1686
 
1687
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:313
1688
  msgid "Default Email Styling"
1689
  msgstr ""
1690
 
1691
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:317
1692
  msgid "Ignored if HTML is not allowed in emails."
1693
  msgstr ""
1694
 
1695
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:622
1696
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:736
1697
  msgid "Email Subject"
1698
  msgstr ""
1699
 
1700
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:623
1701
  msgid "Status"
1702
  msgstr ""
1703
 
1704
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:643
1705
  msgid "Not Active"
1706
  msgstr ""
1707
 
1708
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:645
1709
  #, php-format
1710
  msgid "Scheduled:<br /><strong>%1$s</strong>"
1711
  msgstr ""
1712
 
1713
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:649
1714
  msgid "Active"
1715
  msgstr ""
1716
 
1717
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:651
1718
  #, php-format
1719
  msgid "Active - Last run:<br /><strong>%1$s</strong>"
1720
  msgstr ""
1721
 
1722
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:660
1723
  msgid "Email is sent when"
1724
  msgstr ""
1725
 
1726
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:662
1727
  msgid "Missing instance for this notice!"
1728
  msgstr ""
1729
 
1730
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:671
1731
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:673
1732
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:675
1733
  msgid "Sent To"
1734
  msgstr ""
1735
 
1736
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:671
1737
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:798
1738
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:343
1739
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:812
1740
  msgid "User"
1741
  msgstr ""
1742
 
1743
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:673
1744
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:799
1745
  msgid "Administrator"
1746
  msgstr ""
1747
 
1748
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:675
1749
  msgid "Both Administrator and User"
1750
  msgstr ""
1751
 
1752
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:696
1753
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:131
1754
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:155
1755
  msgid "Available Template Tags"
1756
  msgstr ""
1757
 
1758
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:707
1759
  msgid "Email Header"
1760
  msgstr ""
1761
 
1762
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:767
1763
  msgid "Send this email notice when..."
1764
  msgstr ""
1765
 
1766
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:796
1767
  msgid "Recipient:"
1768
  msgstr ""
1769
 
1770
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:800
1771
  msgid "Both"
1772
  msgstr ""
1773
 
1774
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:808
1775
  msgid "Reply-To Email:"
1776
  msgstr ""
1777
 
1778
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:814
1779
  msgid "Save"
1780
  msgstr ""
1781
 
1782
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:826
1783
  msgid "CSS Styling"
1784
  msgstr ""
1785
 
1786
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:841
1787
  msgid "Site Related"
1788
  msgstr ""
1789
 
1790
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:842
1791
  msgid "Your websites title"
1792
  msgstr ""
1793
 
1794
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:843
1795
  msgid "Your websites address"
1796
  msgstr ""
1797
 
1798
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:844
1799
  msgid "Your websites tagline (description)"
1800
  msgstr ""
1801
 
1802
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:845
1803
  msgid "Your websites admin email"
1804
  msgstr ""
1805
 
1806
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:846
1807
  msgid "Total number of blog members"
1808
  msgstr ""
1809
 
1810
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:849
1811
  msgid "Points name in singular format"
1812
  msgstr ""
1813
 
1814
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:850
1815
  msgid "Points name in plural"
1816
  msgstr ""
1817
 
1818
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:851
1819
  msgid "Login URL"
1820
  msgstr ""
1821
 
1822
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:854
1823
  msgid "User Related"
1824
  msgstr ""
1825
 
1826
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:855
1827
  msgid "The users ID"
1828
  msgstr ""
1829
 
1830
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:856
1831
  msgid "The users login name (username)"
1832
  msgstr ""
1833
 
1834
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:857
1835
  msgid "The users display name"
1836
  msgstr ""
1837
 
1838
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:858
1839
  msgid "The users profile address"
1840
  msgstr ""
1841
 
1842
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:859
1843
  msgid "Link to the users profile address with their display name as title"
1844
  msgstr ""
1845
 
1846
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:860
1847
  msgid "The users current balance unformated"
1848
  msgstr ""
1849
 
1850
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:861
1851
  msgid "The users current balance formated"
1852
  msgstr ""
1853
 
1854
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:863
1855
  msgid "Post Related"
1856
  msgstr ""
1857
 
1858
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:864
1859
  msgid "Post Title"
1860
  msgstr ""
1861
 
1862
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:865
1863
  msgid "Post URL address"
1864
  msgstr ""
1865
 
1866
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:866
1867
  msgid "Link to post Post title"
1868
  msgstr ""
1869
 
1870
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:867
1871
  msgid "The post type"
1872
  msgstr ""
1873
 
1874
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:943
1875
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:946
1876
  #, php-format
1877
  msgid "Email Notice Updated. View <a href=\"%1$s\">All Notices</a>."
1878
  msgstr ""
1879
 
1880
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:944
1881
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:460
1882
  msgid "Custom field updated"
1883
  msgstr ""
1884
 
1885
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:945
1886
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:461
1887
  msgid "Custom filed updated"
1888
  msgstr ""
1889
 
1890
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:948
1891
  msgid "Email Notice Activated"
1892
  msgstr ""
1893
 
1894
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:949
1895
  msgid "Email Notice Saved"
1896
  msgstr ""
1897
 
1898
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:950
1899
  #, php-format
1900
  msgid ""
1901
  "Email Notice Submitted for approval. View <a href=\"%1$s\">All Notices</a>."
1902
  msgstr ""
1903
 
1904
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:952
1905
  #, php-format
1906
  msgid "Email Notice scheduled for: <strong>%1$s</strong>."
1907
  msgstr ""
1908
 
1909
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:971
1910
  msgid ""
1911
  "Once a notice is \"published\" it becomes active! Select \"Save Draft\" if "
1912
  "you are not yet ready to use this email notice!"
1913
  msgstr ""
1914
 
1915
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:973
1916
  #, php-format
1917
  msgid "This notice will become active on:<br /><strong>%1$s</strong>"
1918
  msgstr ""
1919
 
1920
- #: /Users/gabriel/Repositories/mycred/trunk/addons/email-notices/myCRED-addon-email-notices.php:975
1921
  msgid "This email notice is active."
1922
  msgstr ""
1923
 
1924
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/myCRED-addon-gateway.php:12
1925
  msgid "Gateway"
1926
  msgstr ""
1927
 
1928
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/myCRED-addon-gateway.php:13
1929
  msgid ""
1930
  "Let your users pay using their <strong>my</strong>CRED points balance. "
1931
  "Supported Carts: WooCommerce, MarketPress. Supported Event Bookings: Event "
1932
  "Espresso, Events Manager."
1933
  msgstr ""
1934
 
1935
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:148
1936
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:254
1937
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:278
1938
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:357
1939
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:344
1940
  msgid "Current Balance"
1941
  msgstr ""
1942
 
1943
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:152
1944
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:258
1945
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:282
1946
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:361
 
1947
  msgid "Total Cost"
1948
  msgstr ""
1949
 
1950
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:156
1951
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:262
1952
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:286
1953
  msgid "Balance After Purchase"
1954
  msgstr ""
1955
 
1956
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:180
1957
  msgid "Payment"
1958
  msgstr ""
1959
 
1960
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:183
1961
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:232
1962
  #, php-format
1963
  msgid "<a href=\"%s\">Go Back</a>"
1964
  msgstr ""
1965
 
1966
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:186
1967
  msgid "will be deducted from your account."
1968
  msgstr ""
1969
 
1970
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:222
1971
  #, php-format
1972
  msgid ""
1973
  "Sorry, but you can not use this gateway as your account is excluded. Please "
1974
  "<a href=\"%s\">select a different payment method</a>."
1975
  msgstr ""
1976
 
1977
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:241
1978
  msgid "Paid"
1979
  msgstr ""
1980
 
1981
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:244
1982
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:34
1983
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:53
1984
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:54
1985
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:844
1986
  msgid "myCRED"
1987
  msgstr ""
1988
 
1989
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:314
1990
  msgid "%_singular% Balance"
1991
  msgstr ""
1992
 
1993
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:341
1994
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:139
1995
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:19
1996
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:20
1997
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:21
1998
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:47
1999
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:249
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2000
  msgid "Settings"
2001
  msgstr ""
2002
 
2003
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:343
2004
  #, php-format
2005
  msgid ""
2006
  "Let your users pay for items in their shopping cart using their %s Account. "
@@ -2008,98 +2088,134 @@ msgid ""
2008
  "purchase!"
2009
  msgstr ""
2010
 
2011
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:346
2012
  msgid "Method Name"
2013
  msgstr ""
2014
 
2015
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:348
2016
  msgid ""
2017
  "Enter a public name for this payment method that is displayed to users - No "
2018
  "HTML"
2019
  msgstr ""
2020
 
2021
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:353
2022
  msgid "Gateway Logo URL"
2023
  msgstr ""
2024
 
2025
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:361
2026
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:89
2027
  msgid ""
2028
  "Log entry template for successful payments. Available template tags: "
2029
  "%order_id%, %order_link%"
2030
  msgstr ""
2031
 
2032
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:368
2033
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:95
2034
  msgid "How much is 1 %_singular% worth in %currency%?"
2035
  msgstr ""
2036
 
2037
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:373
2038
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:100
2039
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:411
2040
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:496
2041
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:525
2042
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:594
2043
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:658
 
 
2044
  msgid "Exchange Rate"
2045
  msgstr ""
2046
 
2047
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:382
2048
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:566
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2049
  msgid "Insufficient Funds"
2050
  msgstr ""
2051
 
2052
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:384
2053
  msgid "Message to show when the user can not use this gateway."
2054
  msgstr ""
2055
 
2056
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:386
2057
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:394
2058
  msgid "Available template tags are: General."
2059
  msgstr ""
2060
 
2061
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:390
2062
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:446
 
2063
  msgid "Visitors"
2064
  msgstr ""
2065
 
2066
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:392
2067
  msgid "Message to show to buyers that are not logged in."
2068
  msgstr ""
2069
 
2070
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:398
2071
  msgid "User Instructions"
2072
  msgstr ""
2073
 
2074
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:400
2075
  msgid "Information to show users before payment."
2076
  msgstr ""
2077
 
2078
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:402
2079
  msgid ""
2080
  "Available template tags are: %balance% and %balance_f% for users current "
2081
  "balance."
2082
  msgstr ""
2083
 
2084
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:406
2085
  msgid "Confirmation Information"
2086
  msgstr ""
2087
 
2088
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:408
2089
  msgid "Information to display on the order confirmation page. - HTML allowed"
2090
  msgstr ""
2091
 
2092
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:410
2093
  msgid ""
2094
  "Available template tags: TOTAL - total cart cost, %balance% and %balance_f% "
2095
  "- users current balance."
2096
  msgstr ""
2097
 
2098
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:414
2099
  msgid "Order Confirmation Email"
2100
  msgstr ""
2101
 
2102
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:416
2103
  #, php-format
2104
  msgid ""
2105
  "This is the email text to send to those who have made %s checkouts. It "
@@ -2108,635 +2224,773 @@ msgid ""
2108
  "PAYMENTINFO, TOTAL, TRACKINGURL. No HTML allowed."
2109
  msgstr ""
2110
 
2111
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-marketpress.php:418
2112
  #, php-format
2113
  msgid "Available template tags: %balance% or %balance_f% for users balance."
2114
  msgstr ""
2115
 
2116
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:35
2117
  msgid "Let users pay using their myCRED balance."
2118
  msgstr ""
2119
 
2120
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:68
2121
  msgid "Enable/Disable"
2122
  msgstr ""
2123
 
2124
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:70
2125
  msgid "Enable myCRED Payment"
2126
  msgstr ""
2127
 
2128
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:72
2129
  msgid ""
2130
  "Users who are not logged in or excluded from using myCRED will not have "
2131
  "access to this gateway!"
2132
  msgstr ""
2133
 
2134
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:77
2135
  msgid "Title to show for this payment option."
2136
  msgstr ""
2137
 
2138
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:78
2139
  msgid "Pay with myCRED"
2140
  msgstr ""
2141
 
2142
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:82
2143
  msgid "Customer Message"
2144
  msgstr ""
2145
 
2146
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:84
2147
  msgid "Deduct the amount from your %_plural% balance."
2148
  msgstr ""
2149
 
2150
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:90
2151
- msgid "Payment for Order: #%order_id%"
2152
- msgstr ""
2153
-
2154
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:107
2155
  msgid "Show Total"
2156
  msgstr ""
2157
 
2158
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:109
2159
  msgid "Show the final price in %_plural% ."
2160
  msgstr ""
2161
 
2162
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:111
2163
  msgid "Do not show"
2164
  msgstr ""
2165
 
2166
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:112
2167
  msgid "Show in Cart"
2168
  msgstr ""
2169
 
2170
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:113
2171
  msgid "Show on Checkout Page"
2172
  msgstr ""
2173
 
2174
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:114
2175
  msgid "Show in Cart and on Checkout Page"
2176
  msgstr ""
2177
 
2178
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:119
2179
  msgid "Label"
2180
  msgstr ""
2181
 
2182
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:121
2183
  msgid "Order Total in %_plural%"
2184
  msgstr ""
2185
 
2186
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2187
  msgid "myCRED Payment"
2188
  msgstr ""
2189
 
2190
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:149
2191
  msgid ""
2192
  "Allows users to pay using their myCRED %_singular% balance. Please note that "
2193
  "users with insufficient funds and users who are not logged in will not see "
2194
  "this payment gateway on the checkout page."
2195
  msgstr ""
2196
 
2197
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:170
2198
  msgid "You must be logged in to pay with %_plural%"
2199
  msgstr ""
2200
 
2201
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:176
2202
  msgid "You can not use this gateway. Please try a different payment option."
2203
  msgstr ""
2204
 
2205
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:188
2206
  msgid "Insufficient funds. Please try a different payment option."
2207
  msgstr ""
2208
 
2209
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:212
2210
  msgid "Your account has successfully been charged."
2211
  msgstr ""
2212
 
2213
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/carts/mycred-woocommerce.php:422
 
2214
  msgid "Your current balance"
2215
  msgstr ""
2216
 
2217
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:24
2218
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:479
2219
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:313
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2220
  msgid "Payments"
2221
  msgstr ""
2222
 
2223
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:25
2224
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:31
 
2225
  msgid "Pay Now"
2226
  msgstr ""
2227
 
2228
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:28
2229
  msgid "Payment for Event Registration"
2230
  msgstr ""
2231
 
2232
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:320
2233
  #, php-format
2234
  msgid "Activate %s"
2235
  msgstr ""
2236
 
2237
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:328
2238
  #, php-format
2239
  msgid "Deactivate %s"
2240
  msgstr ""
2241
 
2242
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:344
2243
  msgid "Gateway Settings"
2244
  msgstr ""
2245
 
2246
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:376
2247
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:466
 
2248
  #, php-format
2249
  msgid "How many %s is 1 %s worth?"
2250
  msgstr ""
2251
 
2252
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:382
2253
  msgid "Gateways Settings Successfully Updated"
2254
  msgstr ""
2255
 
2256
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:390
2257
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:532
 
2258
  msgid "Labels"
2259
  msgstr ""
2260
 
2261
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:393
2262
  msgid "Gateway Title"
2263
  msgstr ""
2264
 
2265
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:395
2266
  msgid "Title to show on Payment page"
2267
  msgstr ""
2268
 
2269
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:398
2270
  msgid "Payment Type"
2271
  msgstr ""
2272
 
2273
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:400
2274
  msgid "Title to show on receipts and logs"
2275
  msgstr ""
2276
 
2277
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:403
2278
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:549
2279
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:349
2280
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:541
 
2281
  msgid "Button Label"
2282
  msgstr ""
2283
 
2284
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:405
2285
  msgid "Pay Button"
2286
  msgstr ""
2287
 
2288
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:408
2289
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:290
2290
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:293
2291
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:340
2292
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:537
 
 
2293
  msgid "Price"
2294
  msgstr ""
2295
 
2296
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:418
2297
  msgid ""
2298
  "You can disable purchases using this gateway by adding a custom Event Meta: "
2299
  "<code>mycred_no_sale</code>"
2300
  msgstr ""
2301
 
2302
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:419
2303
  msgid "Users must be logged in to use this gateway!"
2304
  msgstr ""
2305
 
2306
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:423
2307
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:21
2308
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:22
 
 
 
 
 
 
 
 
2309
  msgid "Log"
2310
  msgstr ""
2311
 
2312
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:426
2313
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:549
2314
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:623
2315
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:681
2316
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:348
2317
  msgid "Log Entry"
2318
  msgstr ""
2319
 
2320
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:433
2321
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:888
2322
  msgid "Templates"
2323
  msgstr ""
2324
 
2325
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:436
2326
  msgid "Solvent users"
2327
  msgstr ""
2328
 
2329
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:438
2330
  msgid ""
2331
  "Message to show users on the payment page before they are charged. Leave "
2332
  "empty to hide.<br />Available template tags: General"
2333
  msgstr ""
2334
 
2335
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:441
2336
  msgid "Insolvent users"
2337
  msgstr ""
2338
 
2339
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:443
2340
  msgid ""
2341
  "Message to show users who do not have enough points to pay.<br />Available "
2342
  "template tags: General"
2343
  msgstr ""
2344
 
2345
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:448
2346
  msgid ""
2347
  "Message to show visitors (users not logged in) on the payment page.<br /"
2348
  ">Available template tags: General"
2349
  msgstr ""
2350
 
2351
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventespresso3.php:458
2352
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:154
2353
  msgid "Update Settings"
2354
  msgstr ""
2355
 
2356
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:25
 
2357
  msgid "Payment for tickets to %link_with_title%"
2358
  msgstr ""
2359
 
2360
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:26
 
2361
  msgid "Ticket refund for %link_with_title%"
2362
  msgstr ""
2363
 
2364
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:30
 
2365
  msgid "Pay using your %_plural% balance"
2366
  msgstr ""
2367
 
2368
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:32
 
2369
  msgid "Pay"
2370
  msgstr ""
2371
 
2372
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:35
 
2373
  msgid "Thank you for your payment!"
2374
  msgstr ""
2375
 
2376
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:36
 
2377
  msgid "I'm sorry but you can not pay for these tickets using %_plural%"
2378
  msgstr ""
2379
 
2380
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:287
 
2381
  msgid "Ticket Type"
2382
  msgstr ""
2383
 
2384
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:296
 
2385
  msgid "Spaces"
2386
  msgstr ""
2387
 
2388
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:365
2389
- msgid "Balance After Payment"
2390
  msgstr ""
2391
 
2392
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:472
2393
- msgid "Click to toggle"
2394
  msgstr ""
2395
 
2396
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:472
2397
- #, php-format
2398
- msgid "%s Payments"
 
 
 
2399
  msgstr ""
2400
 
2401
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:481
 
2402
  msgid "Disabled - Users CAN NOT pay for tickets using %plural%."
2403
  msgstr ""
2404
 
2405
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:482
 
2406
  msgid "Single - Users can ONLY pay for tickets using %plural%."
2407
  msgstr ""
2408
 
2409
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:483
 
2410
  msgid "Multi - Users can pay for tickets using other gateways or %plural%."
2411
  msgstr ""
2412
 
2413
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:487
2414
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:513
 
 
2415
  msgid "Refunds"
2416
  msgstr ""
2417
 
2418
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:490
2419
  msgid ""
2420
- "The percentage of the paid amount to refund if a booking gets cancelled. Use "
2421
- "zero for no refunds. No refunds are given to \"Rejected\" bookings."
 
2422
  msgstr ""
2423
 
2424
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:503
 
2425
  msgid "Log Templates"
2426
  msgstr ""
2427
 
2428
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:506
 
2429
  msgid "Purchases"
2430
  msgstr ""
2431
 
2432
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:509
2433
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:516
 
 
2434
  msgid "Available template tags: General and Post related."
2435
  msgstr ""
2436
 
2437
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:535
 
2438
  msgid "Payment Link Label"
2439
  msgstr ""
2440
 
2441
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:538
 
2442
  msgid ""
2443
  "The payment link shows / hides the payment form under \"My Bookings\". No "
2444
  "HTML allowed."
2445
  msgstr ""
2446
 
2447
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:542
 
2448
  msgid "Payment Header"
2449
  msgstr ""
2450
 
2451
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:545
 
2452
  msgid "Shown on top of the payment form. No HTML allowed."
2453
  msgstr ""
2454
 
2455
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:552
 
2456
  msgid "The button label for payments. No HTML allowed!"
2457
  msgstr ""
2458
 
2459
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:556
2460
- msgid "Messages"
2461
- msgstr ""
2462
-
2463
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:559
2464
  msgid "Successful Payments"
2465
  msgstr ""
2466
 
2467
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:562
2468
- #: /Users/gabriel/Repositories/mycred/trunk/addons/gateway/event-booking/mycred-eventsmanager.php:569
 
 
2469
  msgid "No HTML allowed! Available template tags: General"
2470
  msgstr ""
2471
 
2472
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:12
2473
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:40
2474
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:41
2475
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:42
2476
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:466
2477
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:742
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2478
  msgid "Import"
2479
  msgstr ""
2480
 
2481
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:13
2482
  msgid ""
2483
  "With the Import add-on you can import CSV files, CubePoints or existing "
2484
  "points under any custom user meta values."
2485
  msgstr ""
2486
 
2487
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:91
2488
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:748
2489
  msgid "CSV File"
2490
  msgstr ""
2491
 
2492
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:92
2493
  msgid "Import %_plural% from a comma-separated values (CSV) file."
2494
  msgstr ""
2495
 
2496
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:95
2497
  msgid "CubePoints"
2498
  msgstr ""
2499
 
2500
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:96
2501
  msgid "Import CubePoints"
2502
  msgstr ""
2503
 
2504
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:99
2505
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:768
2506
  msgid "Custom User Meta"
2507
  msgstr ""
2508
 
2509
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:100
2510
  msgid "Import %_plural% from pre-existing custom user meta."
2511
  msgstr ""
2512
 
2513
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:217
2514
  msgid "No file selected. Please select your CSV file and try again."
2515
  msgstr ""
2516
 
2517
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:232
2518
  msgid "Failed to load file."
2519
  msgstr ""
2520
 
2521
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:253
2522
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:423
2523
  #, php-format
2524
  msgid ""
2525
  "Zero rows imported! Skipped %d entries. Import completed in %.2f seconds."
2526
  msgstr ""
2527
 
2528
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:262
2529
  msgid ""
2530
  "No valid records found in file. Make sure you have selected the correct way "
2531
  "to identify users in the mycred_user column!"
2532
  msgstr ""
2533
 
2534
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:268
2535
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:351
2536
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:438
2537
  #, php-format
2538
  msgid ""
2539
  "Import successfully completed. A total of %d users were effected and %d "
2540
  "entires were skipped. Import completed in %.2f seconds."
2541
  msgstr ""
2542
 
2543
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:302
2544
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:587
2545
  msgid "No CubePoints found."
2546
  msgstr ""
2547
 
2548
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:336
2549
  #, php-format
2550
  msgid ""
2551
  "Zero CubePoints imported! Skipped %d entries. Import completed in %.2f "
2552
  "seconds."
2553
  msgstr ""
2554
 
2555
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:345
2556
  msgid "No valid CubePoints founds."
2557
  msgstr ""
2558
 
2559
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:371
2560
  msgid "Missing meta key. Not sure what I should be looking for."
2561
  msgstr ""
2562
 
2563
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:390
2564
  #, php-format
2565
  msgid "No rows found for the <strong>%s</strong> meta key."
2566
  msgstr ""
2567
 
2568
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:432
2569
  msgid "No valid records founds."
2570
  msgstr ""
2571
 
2572
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:478
2573
  msgid "Remember to de-activate this add-on once you are done importing!"
2574
  msgstr ""
2575
 
2576
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:510
2577
  msgid "File"
2578
  msgstr ""
2579
 
2580
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:514
2581
  msgid "Maximum allowed upload size is "
2582
  msgstr ""
2583
 
2584
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:514
2585
  msgid ""
2586
  "Required columns: <code>mycred_user</code> and <code>mycred_amount</code>. "
2587
  "Optional columns: <code>mycred_log</code>."
2588
  msgstr ""
2589
 
2590
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:517
2591
  msgid "Identify Users By"
2592
  msgstr ""
2593
 
2594
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:520
2595
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:342
2596
  msgid "ID"
2597
  msgstr ""
2598
 
2599
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:521
2600
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:190
2601
  msgid "Username"
2602
  msgstr ""
2603
 
2604
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:522
2605
  msgid "Email"
2606
  msgstr ""
2607
 
2608
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:529
2609
  msgid "How much is 1 imported value worth?"
2610
  msgstr ""
2611
 
2612
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:534
2613
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:602
2614
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:666
2615
  msgid "Round"
2616
  msgstr ""
2617
 
2618
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:535
2619
  msgid "None"
2620
  msgstr ""
2621
 
2622
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:536
2623
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:604
2624
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:668
2625
  msgid "Round Up"
2626
  msgstr ""
2627
 
2628
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:537
2629
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:605
2630
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:669
2631
  msgid "Round Down"
2632
  msgstr ""
2633
 
2634
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:542
2635
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:610
2636
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:674
2637
  msgid "Precision"
2638
  msgstr ""
2639
 
2640
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:544
2641
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:612
2642
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:676
2643
  msgid ""
2644
  "The optional number of decimal digits to round to. Use zero to round the "
2645
  "nearest whole number."
2646
  msgstr ""
2647
 
2648
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:553
2649
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:627
2650
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:685
2651
  msgid "See the help tab for available template tags. Leave blank to disable."
2652
  msgstr ""
2653
 
2654
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:558
2655
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:632
2656
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:696
2657
  msgid "Run Import"
2658
  msgstr ""
2659
 
2660
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:585
2661
  #, php-format
2662
  msgid "Found %d users with CubePoints."
2663
  msgstr ""
2664
 
2665
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:588
2666
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:652
2667
  msgid "Meta Key"
2668
  msgstr ""
2669
 
2670
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:603
2671
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:667
2672
  msgid "Do not round"
2673
  msgstr ""
2674
 
2675
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:617
2676
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:688
2677
  msgid "After Import"
2678
  msgstr ""
2679
 
2680
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:620
2681
  msgid "Delete users CubePoints balance."
2682
  msgstr ""
2683
 
2684
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:691
2685
  msgid "Delete the old value."
2686
  msgstr ""
2687
 
2688
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:719
2689
  msgid "Failed to get file contents."
2690
  msgstr ""
2691
 
2692
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:724
2693
  msgid "Failed to put file contents."
2694
  msgstr ""
2695
 
2696
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:744
2697
  msgid ""
2698
  "This add-on lets you import %_plural% either though a CSV-file or from your "
2699
  "database. Remember that the import can take time depending on your file size "
2700
  "or the number of users being imported."
2701
  msgstr ""
2702
 
2703
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:750
2704
  msgid "CSV Import"
2705
  msgstr ""
2706
 
2707
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:751
2708
  msgid ""
2709
  "Imports using a comma-separated values file requires the following columns:"
2710
  msgstr ""
2711
 
2712
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:752
2713
  msgid ""
2714
  "Column identifing the user. All rows must identify the user the same way, "
2715
  "either using an ID, Username (user_login) or email. Users that can not be "
2716
  "found will be ignored."
2717
  msgstr ""
2718
 
2719
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:753
2720
  msgid ""
2721
  "Column with the amount to be imported. If set, an exchange rate is applied "
2722
  "to this value before import."
2723
  msgstr ""
2724
 
2725
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:754
2726
  msgid ""
2727
  "Optionally you can also use the <code>mycred_log</code> column to pre-define "
2728
  "the log entry for each import."
2729
  msgstr ""
2730
 
2731
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:758
2732
  msgid "Cubepoints"
2733
  msgstr ""
2734
 
2735
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:760
2736
  msgid "Cubepoints Import"
2737
  msgstr ""
2738
 
2739
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:761
2740
  msgid ""
2741
  "When this page loads, the importer will automatically check if you have been "
2742
  "using Cubepoints. If you have, you can import these with the option to "
@@ -2744,344 +2998,345 @@ msgid ""
2744
  "clean."
2745
  msgstr ""
2746
 
2747
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:762
2748
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:772
2749
  msgid ""
2750
  "Before a value is imported, you can apply an exchange rate. To import "
2751
  "without changing the value, use 1 as the exchange rate."
2752
  msgstr ""
2753
 
2754
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:763
2755
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:773
2756
  msgid ""
2757
  "You can select to add a log entry for each import or leave the template "
2758
  "empty to skip."
2759
  msgstr ""
2760
 
2761
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:764
2762
  msgid ""
2763
  "The Cubepoints importer will automatically disable itself if no Cubepoints "
2764
  "installation exists."
2765
  msgstr ""
2766
 
2767
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:770
2768
  msgid "Custom User Meta Import"
2769
  msgstr ""
2770
 
2771
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:771
2772
  msgid ""
2773
  "You can import any type of points that have previously been saved in your "
2774
  "database. All you need is the meta key under which it has been saved."
2775
  msgstr ""
2776
 
2777
- #: /Users/gabriel/Repositories/mycred/trunk/addons/import/myCRED-addon-import.php:774
2778
  msgid ""
2779
  "Please note that the meta key is case sensitive and can not contain "
2780
  "whitespaces!"
2781
  msgstr ""
2782
 
2783
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:12
2784
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:183
2785
  msgid "Notifications"
2786
  msgstr ""
2787
 
2788
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:13
2789
  msgid "Notify your users when their balances changes."
2790
  msgstr ""
2791
 
2792
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:185
2793
  msgid "Styling"
2794
  msgstr ""
2795
 
2796
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:189
2797
  msgid "Use the included CSS Styling for notifications."
2798
  msgstr ""
2799
 
2800
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:196
2801
  msgid ""
2802
  "Use %entry% to show the log entry in the notice and %amount% for the amount."
2803
  msgstr ""
2804
 
2805
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:199
2806
  msgid "Transient Lifespan"
2807
  msgstr ""
2808
 
2809
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:203
2810
  msgid ""
2811
  "The number of days a users notification is saved before being automatically "
2812
  "deleted."
2813
  msgstr ""
2814
 
2815
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:206
2816
  msgid "Duration"
2817
  msgstr ""
2818
 
2819
- #: /Users/gabriel/Repositories/mycred/trunk/addons/notifications/myCRED-addon-notifications.php:210
2820
  msgid ""
2821
  "The number of milliseconds a notice should be visible.<br />Use zero to "
2822
  "require that the user closes the notice manually. 1000 milliseconds = 1 "
2823
  "second."
2824
  msgstr ""
2825
 
2826
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:12
2827
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:155
2828
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:161
2829
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:167
2830
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:691
2831
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:883
2832
  msgid "Ranks"
2833
  msgstr ""
2834
 
2835
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:13
2836
  msgid ""
2837
  "Create ranks for users reaching a certain number of points with the option "
2838
  "to add logos for each rank."
2839
  msgstr ""
2840
 
2841
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:156
2842
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:386
2843
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:403
2844
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:499
2845
  msgid "Rank"
2846
  msgstr ""
2847
 
2848
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:158
2849
  msgid "Add New Rank"
2850
  msgstr ""
2851
 
2852
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:159
2853
  msgid "Edit Rank"
2854
  msgstr ""
2855
 
2856
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:160
2857
  msgid "New Rank"
2858
  msgstr ""
2859
 
2860
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:162
2861
  msgid "View Rank"
2862
  msgstr ""
2863
 
2864
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:163
2865
  msgid "Search Ranks"
2866
  msgstr ""
2867
 
2868
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:164
2869
  msgid "No ranks found"
2870
  msgstr ""
2871
 
2872
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:165
2873
  msgid "No ranks found in Trash"
2874
  msgstr ""
2875
 
2876
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:232
2877
  #, php-format
2878
  msgid "Completed - Total of %d users effected"
2879
  msgstr ""
2880
 
2881
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:234
2882
  msgid "Log is Empty"
2883
  msgstr ""
2884
 
2885
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:428
2886
  msgid "Newbie"
2887
  msgstr ""
2888
 
2889
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:459
2890
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:462
2891
  #, php-format
2892
  msgid "Rank Updated. View <a href=\"%1$s\">All Ranks</a>."
2893
  msgstr ""
2894
 
2895
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:464
2896
  msgid "Rank Activated"
2897
  msgstr ""
2898
 
2899
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:465
2900
  msgid "Rank Saved"
2901
  msgstr ""
2902
 
2903
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:466
2904
  #, php-format
2905
  msgid "Rank Submitted for approval. View <a href=\"%1$s\">All Ranks</a>."
2906
  msgstr ""
2907
 
2908
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:468
2909
  #, php-format
2910
  msgid "Rank scheduled for: <strong>%1$s</strong>."
2911
  msgstr ""
2912
 
2913
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:525
2914
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:580
2915
  msgid "Rank Title"
2916
  msgstr ""
2917
 
2918
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:526
2919
  msgid "Logo"
2920
  msgstr ""
2921
 
2922
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:527
2923
  msgid "Requirement"
2924
  msgstr ""
2925
 
2926
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:528
 
2927
  msgid "Users"
2928
  msgstr ""
2929
 
2930
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:544
2931
  msgid "No Logo Set"
2932
  msgstr ""
2933
 
2934
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:553
2935
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:558
2936
  msgid "Any Value"
2937
  msgstr ""
2938
 
2939
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:560
2940
  msgid "Maximum %plural%"
2941
  msgstr ""
2942
 
2943
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:593
2944
  msgid "Rank Settings"
2945
  msgstr ""
2946
 
2947
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:615
2948
  msgid "Minimum %plural% to reach this rank"
2949
  msgstr ""
2950
 
2951
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:619
2952
  msgid "Maximum %plural% to be included in this rank"
2953
  msgstr ""
2954
 
2955
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:624
2956
  msgid "All Published Ranks"
2957
  msgstr ""
2958
 
2959
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:631
2960
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:633
2961
  msgid "Not Set"
2962
  msgstr ""
2963
 
2964
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:638
2965
  msgid "No Ranks found"
2966
  msgstr ""
2967
 
2968
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:693
2969
  msgid "Rank Features"
2970
  msgstr ""
2971
 
2972
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:697
2973
  msgid "%plural% requirement"
2974
  msgstr ""
2975
 
2976
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:698
2977
  msgid "Featured Image (Logo)"
2978
  msgstr ""
2979
 
2980
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:699
2981
  msgid "Content"
2982
  msgstr ""
2983
 
2984
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:700
2985
  msgid "Excerpt"
2986
  msgstr ""
2987
 
2988
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:701
2989
  msgid "Comments"
2990
  msgstr ""
2991
 
2992
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:702
2993
  msgid "Page Attributes"
2994
  msgstr ""
2995
 
2996
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:703
2997
  msgid "Custom Fields"
2998
  msgstr ""
2999
 
3000
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:706
3001
  msgid "Public"
3002
  msgstr ""
3003
 
3004
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:710
3005
  msgid ""
3006
  "If you want to create a template archive for each rank, you must select to "
3007
  "have ranks public. Defaults to disabled."
3008
  msgstr ""
3009
 
3010
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:713
3011
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:886
3012
  msgid "Rank Basis"
3013
  msgstr ""
3014
 
3015
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:716
3016
  msgid "Users are ranked according to their current balance."
3017
  msgstr ""
3018
 
3019
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:719
3020
  msgid ""
3021
  "Users are ranked according to the total amount of %_plural% they have "
3022
  "accumulated."
3023
  msgstr ""
3024
 
3025
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:723
3026
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:728
3027
  msgid "Calculate Totals"
3028
  msgstr ""
3029
 
3030
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:726
3031
  msgid ""
3032
  "Use this button to calculate or re-calcualte your users totals. If not used, "
3033
  "the users current balance will be used as a starting point."
3034
  msgstr ""
3035
 
3036
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:726
3037
  msgid ""
3038
  "Once a users total has been calculated, they will be assigned to their "
3039
  "appropriate roles. For this reason, it is highly recommended that you first "
3040
  "setup your ranks!"
3041
  msgstr ""
3042
 
3043
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:727
3044
  msgid ""
3045
  "Depending on your log size and number of users this process may take a "
3046
  "while. Please do not leave, click \"Update Settings\" or re-fresh this page "
3047
  "until this is completed!"
3048
  msgstr ""
3049
 
3050
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:732
3051
  msgid "Archive URL"
3052
  msgstr ""
3053
 
3054
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:736
3055
  msgid "Ignored if Ranks are not public"
3056
  msgstr ""
3057
 
3058
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:739
3059
  msgid "Display Order"
3060
  msgstr ""
3061
 
3062
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:746
3063
  msgid "Ascending - Lowest rank to highest"
3064
  msgstr ""
3065
 
3066
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:747
3067
  msgid "Descending - Highest rank to lowest"
3068
  msgstr ""
3069
 
3070
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:756
3071
  msgid ""
3072
  "Select in what order ranks should be displayed in your admin area and/or "
3073
  "front if ranks are \"Public\""
3074
  msgstr ""
3075
 
3076
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:772
3077
  msgid "Rank in BuddyPress"
3078
  msgstr ""
3079
 
3080
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:840
3081
  msgid "Script Communication Error"
3082
  msgstr ""
3083
 
3084
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:885
3085
  msgid ""
3086
  "You can create ranks according to the amount of points a user has. By "
3087
  "default, ranks are only visible in widgets and shortcodes however it is "
@@ -3089,7 +3344,7 @@ msgid ""
3089
  "specific ones."
3090
  msgstr ""
3091
 
3092
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:887
3093
  msgid ""
3094
  "As of version 1.2, you can select to rank users according to their current "
3095
  "balance or the total amount of %_plural% they have accumulated. This is "
@@ -3097,29 +3352,29 @@ msgid ""
3097
  "%_plural% to pay for items in your store or event tickets."
3098
  msgstr ""
3099
 
3100
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:889
3101
  msgid ""
3102
  "Ranks are just another custom post type which means that you can, if you "
3103
  "select to make Ranks Public, create custom template files for ranks in your "
3104
  "theme folder."
3105
  msgstr ""
3106
 
3107
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:890
3108
  #, php-format
3109
  msgid ""
3110
  "For more information on Templates for Custom Post Types visit the <a href="
3111
  "\"%s\">WordPress Codex</a>."
3112
  msgstr ""
3113
 
3114
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:891
3115
  msgid "Changing URL Slug"
3116
  msgstr ""
3117
 
3118
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:892
3119
  msgid "You can change the URL slug used for ranks to any URL friendly value."
3120
  msgstr ""
3121
 
3122
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/myCRED-addon-ranks.php:893
3123
  msgid ""
3124
  "If you are using a custom permalink structure and you make ranks public or "
3125
  "change the slug, you will need to visit your permalink settings page and "
@@ -3127,1831 +3382,1726 @@ msgid ""
3127
  "a 404 error message when trying to view a rank archive page."
3128
  msgstr ""
3129
 
3130
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/includes/mycred-rank-functions.php:148
3131
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/includes/mycred-rank-functions.php:154
3132
  msgid "No Rank"
3133
  msgstr ""
3134
 
3135
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/includes/mycred-rank-shortcodes.php:57
3136
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/includes/mycred-rank-shortcodes.php:132
3137
  msgid "No users found with this rank"
3138
  msgstr ""
3139
 
3140
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/includes/mycred-rank-shortcodes.php:62
3141
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:144
3142
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:147
3143
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:206
3144
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:255
3145
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:259
3146
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:263
3147
  msgid "error"
3148
  msgstr ""
3149
 
3150
- #: /Users/gabriel/Repositories/mycred/trunk/addons/ranks/includes/mycred-rank-shortcodes.php:62
3151
  msgid "Rank ID is required!"
3152
  msgstr ""
3153
 
3154
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:12
3155
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:304
3156
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:1052
3157
  msgid "Sell Content"
3158
  msgstr ""
3159
 
3160
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:13
3161
  msgid ""
3162
  "This add-on allows you to sell posts, pages or any public post types on your "
3163
  "website. You can either sell the entire content or using our shortcode, sell "
3164
  "parts of your content allowing you to offer \"teasers\"."
3165
  msgstr ""
3166
 
3167
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:42
3168
  msgid "<p>Buy this %post_type% for only %price% %buy_button%</p>"
3169
  msgstr ""
3170
 
3171
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:43
3172
  msgid ""
3173
  "<p><a href=\"%login_url_here%\">Login</a> to buy access to this %post_type%."
3174
  "</p>"
3175
  msgstr ""
3176
 
3177
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:44
3178
  msgid ""
3179
  "<p>You do not have enough %plural% to buy access to this %post_type%.</p>\n"
3180
  "<p><strong>Price</strong>: %price%</p>"
3181
  msgstr ""
3182
 
3183
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:54
3184
  msgid "Purchase of %link_with_title%"
3185
  msgstr ""
3186
 
3187
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:55
3188
  msgid "Sale of %link_with_title%"
3189
  msgstr ""
3190
 
3191
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:72
3192
  msgid "Hours"
3193
  msgstr ""
3194
 
3195
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:214
3196
  msgid "You can not buy this content."
3197
  msgstr ""
3198
 
3199
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:277
3200
  msgid "Error. Try Again"
3201
  msgstr ""
3202
 
3203
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:299
3204
  msgid "No Payout. Just charge."
3205
  msgstr ""
3206
 
3207
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:300
3208
  msgid "Pay Content Author."
3209
  msgstr ""
3210
 
3211
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:306
3212
  msgid "Post Types"
3213
  msgstr ""
3214
 
3215
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:310
3216
  msgid "Comma separated list of post types that can be sold."
3217
  msgstr ""
3218
 
3219
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:327
3220
  msgid "Percentage to pay Author"
3221
  msgstr ""
3222
 
3223
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:329
3224
  msgid ""
3225
  "Percentage of the price to pay the author. Can not be zero and is ignored if "
3226
  "authors are not paid."
3227
  msgstr ""
3228
 
3229
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:337
3230
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:1055
3231
  msgid "Defaults"
3232
  msgstr ""
3233
 
3234
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:345
3235
  msgid "Allow authors to change price."
3236
  msgstr ""
3237
 
3238
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:354
3239
  msgid "Allow authors to change button label."
3240
  msgstr ""
3241
 
3242
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:358
3243
  msgid "Purchases expire after"
3244
  msgstr ""
3245
 
3246
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:360
3247
  msgid "Use zero for permanent sales."
3248
  msgstr ""
3249
 
3250
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:363
3251
  msgid "Sale Template for non members"
3252
  msgstr ""
3253
 
3254
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:367
3255
  msgid ""
3256
  "Do <strong>not</strong> use the %buy_button% in this template as a user must "
3257
  "be logged in to buy content!"
3258
  msgstr ""
3259
 
3260
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:368
3261
  msgid ""
3262
  "Available template tags are: %singular%, %plural%, %post_title%, %post_url%, "
3263
  "%link_with_title%, %price%"
3264
  msgstr ""
3265
 
3266
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:371
3267
  msgid "Sale Template for members"
3268
  msgstr ""
3269
 
3270
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:375
3271
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:383
3272
  msgid "Your template must contain the %buy_button% tag for purchases to work!"
3273
  msgstr ""
3274
 
3275
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:376
3276
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:384
3277
  msgid ""
3278
  "Available template tags are: %singular%, %plural%, %post_title%, %post_url%, "
3279
  "%link_with_title%, %buy_button%, %price%"
3280
  msgstr ""
3281
 
3282
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:379
3283
  msgid "Insufficient funds template"
3284
  msgstr ""
3285
 
3286
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:387
3287
  msgid "Log template for Purchases"
3288
  msgstr ""
3289
 
3290
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:391
3291
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:398
3292
  msgid ""
3293
  "Available template tags are: %singular%, %plural%, %post_title%, %post_url% "
3294
  "or %link_with_title%"
3295
  msgstr ""
3296
 
3297
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:394
3298
  msgid "Log template for Sales"
3299
  msgstr ""
3300
 
3301
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:450
3302
  msgid "Sell This"
3303
  msgstr ""
3304
 
3305
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:499
3306
  msgid " Sell Content needs to be setup before you can use this feature."
3307
  msgstr ""
3308
 
3309
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:502
3310
  msgid "Setup add-on"
3311
  msgstr ""
3312
 
3313
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:502
3314
  msgid "Lets do it"
3315
  msgstr ""
3316
 
3317
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:531
3318
  msgid "Enable sale of this "
3319
  msgstr ""
3320
 
3321
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:545
3322
  msgid "Purchase expires after"
3323
  msgstr ""
3324
 
3325
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:791
3326
  msgid "Thank you for your purchase!"
3327
  msgstr ""
3328
 
3329
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:872
3330
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:952
3331
  msgid "The following content is set for sale:"
3332
  msgstr ""
3333
 
3334
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:970
3335
  msgid "No purchases found"
3336
  msgstr ""
3337
 
3338
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:1007
3339
  msgid "Purchased"
3340
  msgstr ""
3341
 
3342
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:1054
3343
  msgid ""
3344
  "This add-on lets you sell either entire contents or parts of it. You can "
3345
  "select if you want to just charge users or share a percentage of the sale "
3346
  "with the post author."
3347
  msgstr ""
3348
 
3349
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:1056
3350
  msgid ""
3351
  "The default price and button label is applied to all content that is set for "
3352
  "sale. You can select if you want to enforce these settings or let the "
3353
  "content authors set their own."
3354
  msgstr ""
3355
 
3356
- #: /Users/gabriel/Repositories/mycred/trunk/addons/sell-content/myCRED-addon-sell-content.php:1058
3357
  msgid ""
3358
  "You can either sell entire posts via the Sell Content Meta Box or by using "
3359
  "the <code>mycred_sell_this</code> shortcode.<br />For more information on "
3360
  "how to use the shortcode, please visit the"
3361
  msgstr ""
3362
 
3363
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:12
3364
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:50
3365
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:488
3366
  msgid "Transfer"
3367
  msgstr ""
3368
 
3369
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:13
3370
  msgid ""
3371
  "Allow your users to send or \"donate\" points to other members by either "
3372
  "using the mycred_transfer shortcode or the myCRED Transfer widget."
3373
  msgstr ""
3374
 
3375
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:43
3376
  msgid "You do not have enough %plural% to send."
3377
  msgstr ""
3378
 
3379
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:44
3380
  msgid "You have exceeded your %limit% transfer limit."
3381
  msgstr ""
3382
 
3383
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:143
3384
  msgid "Transaction completed."
3385
  msgstr ""
3386
 
3387
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:144
3388
  msgid ""
3389
  "Security token could not be verified. Please contact your site administrator!"
3390
  msgstr ""
3391
 
3392
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:145
3393
  msgid "Communications error. Please try again later."
3394
  msgstr ""
3395
 
3396
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:146
3397
  msgid "Recipient not found. Please try again."
3398
  msgstr ""
3399
 
3400
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:147
3401
  msgid "Transaction declined by recipient."
3402
  msgstr ""
3403
 
3404
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:148
3405
  msgid "Incorrect amount. Please try again."
3406
  msgstr ""
3407
 
3408
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:149
3409
  msgid ""
3410
  "This myCRED Add-on has not yet been setup! No transfers are allowed until "
3411
  "this has been done!"
3412
  msgstr ""
3413
 
3414
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:150
3415
  msgid "Insufficient funds. Please enter a lower amount."
3416
  msgstr ""
3417
 
3418
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:151
3419
  msgid "Transfer Limit exceeded."
3420
  msgstr ""
3421
 
3422
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:152
3423
  msgid ""
3424
  "The request amount will exceed your transfer limit. Please try again with a "
3425
  "lower amount!"
3426
  msgstr ""
3427
 
3428
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:177
3429
  msgid "No limits."
3430
  msgstr ""
3431
 
3432
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:178
3433
  msgid "Impose daily limit."
3434
  msgstr ""
3435
 
3436
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:179
3437
  msgid "Impose weekly limit."
3438
  msgstr ""
3439
 
3440
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:183
3441
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:588
3442
  msgid "Transfer %plural%"
3443
  msgstr ""
3444
 
3445
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:185
3446
  msgid "Log template for sending"
3447
  msgstr ""
3448
 
3449
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:192
3450
  msgid "Log template for receiving"
3451
  msgstr ""
3452
 
3453
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:199
3454
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:992
3455
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1235
3456
  msgid "Limits"
3457
  msgstr ""
3458
 
3459
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:216
3460
  msgid "Maximum Amount"
3461
  msgstr ""
3462
 
3463
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:218
3464
  msgid "This amount is ignored if no limits are imposed."
3465
  msgstr ""
3466
 
3467
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:221
3468
  msgid "Form Templates"
3469
  msgstr ""
3470
 
3471
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:224
3472
  msgid "Not logged in Template"
3473
  msgstr ""
3474
 
3475
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:226
3476
  msgid ""
3477
  "Text to show when users are not logged in. Leave empty to hide. No HTML "
3478
  "elements allowed!"
3479
  msgstr ""
3480
 
3481
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:230
3482
  msgid "Balance Template"
3483
  msgstr ""
3484
 
3485
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:232
3486
  msgid ""
3487
  "Template to use when displaying the users balance (if included). No HTML "
3488
  "elements allowed!"
3489
  msgstr ""
3490
 
3491
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:236
3492
  msgid "Limit Template"
3493
  msgstr ""
3494
 
3495
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:238
3496
  msgid ""
3497
  "Template to use when displaying limits (if used). No HTML elements allowed!"
3498
  msgstr ""
3499
 
3500
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:242
3501
  msgid "Button Template"
3502
  msgstr ""
3503
 
3504
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:244
3505
  msgid "Send Transfer button template. No HTML elements allowed!"
3506
  msgstr ""
3507
 
3508
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:247
3509
  msgid "Error Messages"
3510
  msgstr ""
3511
 
3512
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:250
3513
  msgid "Balance to low to send."
3514
  msgstr ""
3515
 
3516
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:252
3517
  msgid ""
3518
  "Text to show when a users balance is to low for transfers. Leave empty to "
3519
  "hide. No HTML elements allowed!"
3520
  msgstr ""
3521
 
3522
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:256
3523
  msgid "Transfer Limit Reached."
3524
  msgstr ""
3525
 
3526
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:258
3527
  msgid ""
3528
  "Text to show when a user has reached their transfer limit (if used). Leave "
3529
  "empty to hide. No HTML elements allowed!"
3530
  msgstr ""
3531
 
3532
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:490
3533
  msgid ""
3534
  "This add-on lets your users transfer %_plural% to each other. Members who "
3535
  "are set to be excluded can neither send or receive %_plural%."
3536
  msgstr ""
3537
 
3538
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:491
3539
  msgid "Transfer Limit"
3540
  msgstr ""
3541
 
3542
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:492
3543
  msgid ""
3544
  "You can impose a daily-, weekly- or monthly transfer limit for each user. "
3545
  "Note, that this transfer limit is imposed on everyone who are not excluded "
3546
  "from using myCRED."
3547
  msgstr ""
3548
 
3549
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:494
3550
  msgid ""
3551
  "Transfers can be made by either using the <code>mycred_transfer</code> "
3552
  "shortcode or via the myCRED Transfer Widget.<br />For more information on "
3553
  "how to use the shortcode, please visit the"
3554
  msgstr ""
3555
 
3556
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:517
3557
  msgid "Allow transfers between users."
3558
  msgstr ""
3559
 
3560
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:519
3561
  #, php-format
3562
  msgid "%s Transfer"
3563
  msgstr ""
3564
 
3565
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:534
3566
  msgid "The myCRED Transfer add-on has not yet been setup!"
3567
  msgstr ""
3568
 
3569
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:599
3570
  msgid "Show users balance"
3571
  msgstr ""
3572
 
3573
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:603
3574
  msgid "Show users limit"
3575
  msgstr ""
3576
 
3577
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:726
3578
  msgid "To:"
3579
  msgstr ""
3580
 
3581
- #: /Users/gabriel/Repositories/mycred/trunk/addons/transfer/myCRED-addon-transfer.php:730
3582
  msgid "Amount:"
3583
  msgstr ""
3584
 
3585
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:68
3586
  msgid "User is excluded"
3587
  msgstr ""
3588
 
3589
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:73
3590
  msgid "Log Entry can not be empty"
3591
  msgstr ""
3592
 
3593
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:77
3594
  msgid "Amount can not be zero"
3595
  msgstr ""
3596
 
3597
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:173
3598
  msgid "Excluded"
3599
  msgstr ""
3600
 
3601
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:180
3602
  msgid "History"
3603
  msgstr ""
3604
 
3605
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:182
3606
  msgid "Adjust"
3607
  msgstr ""
3608
 
3609
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:233
3610
  #, php-format
3611
  msgid "My current %singular% balance"
3612
  msgstr ""
3613
 
3614
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:256
3615
  msgid "Adjust Your Balance"
3616
  msgstr ""
3617
 
3618
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:258
3619
  msgid "Adjust Users Balance"
3620
  msgstr ""
3621
 
3622
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:265
3623
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:336
3624
  msgid "required"
3625
  msgstr ""
3626
 
3627
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:267
3628
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:338
3629
  msgid "optional"
3630
  msgstr ""
3631
 
3632
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:273
3633
  msgid "Log description for adjustment"
3634
  msgstr ""
3635
 
3636
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:274
3637
  msgid "Update"
3638
  msgstr ""
3639
 
3640
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:275
3641
  msgid "Description is required!"
3642
  msgstr ""
3643
 
3644
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:280
3645
  msgid "Users Current Balance"
3646
  msgstr ""
3647
 
3648
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:347
3649
  msgid "A positive or negative value"
3650
  msgstr ""
3651
 
3652
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-admin.php:349
3653
  msgid "Update Balance"
3654
  msgstr ""
3655
 
3656
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-functions.php:313
 
 
 
 
 
 
 
 
3657
  msgid "Deleted"
3658
  msgstr ""
3659
 
3660
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-functions.php:448
3661
  msgid "Deleted Item"
3662
  msgstr ""
3663
 
3664
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-functions.php:1212
3665
  msgid "ref empty"
3666
  msgstr ""
3667
 
3668
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-functions.php:1220
3669
  msgid "incorrect user id format"
3670
  msgstr ""
3671
 
3672
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-functions.php:1233
3673
  msgid "incorrect unix timestamp (from):"
3674
  msgstr ""
3675
 
3676
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-functions.php:1242
3677
  msgid "incorrect unix timestamp (to):"
3678
  msgstr ""
3679
 
3680
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:35
3681
  msgid "myCRED requires WordPress 3.1 or higher. Version detected:"
3682
  msgstr ""
3683
 
3684
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:40
3685
  msgid "myCRED requires PHP 5.2.0 or higher. Version detected: "
3686
  msgstr ""
3687
 
3688
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:45
3689
  msgid "myCRED requires SQL 5.0 or higher. Version detected: "
3690
  msgstr ""
3691
 
3692
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:50
3693
  msgid ""
3694
  "Sorry but your WordPress installation does not reach the minimum "
3695
  "requirements for running myCRED. The following errors were given:"
3696
  msgstr ""
3697
 
3698
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:269
3699
  msgid "myCRED needs your attention."
3700
  msgstr ""
3701
 
3702
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:269
3703
  msgid "Run Setup"
3704
  msgstr ""
3705
 
3706
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:281
3707
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:282
3708
  msgid "myCRED Setup"
3709
  msgstr ""
3710
 
3711
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:421
3712
  msgid "Step"
3713
  msgstr ""
3714
 
3715
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:444
3716
  msgid ""
3717
  "Click \"Begin Setup\" to install myCRED. You will be able to select your "
3718
  "points format, layout and security settings."
3719
  msgstr ""
3720
 
3721
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:445
3722
  msgid "Begin Setup"
3723
  msgstr ""
3724
 
3725
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:502
3726
  msgid "Select the format you want to use for your points."
3727
  msgstr ""
3728
 
3729
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:503
3730
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:199
3731
  msgid "Format"
3732
  msgstr ""
3733
 
3734
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:506
3735
  msgid "Separators"
3736
  msgstr ""
3737
 
3738
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:516
3739
  msgid "Decimals"
3740
  msgstr ""
3741
 
3742
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:518
3743
  msgid "Use zero for no decimals."
3744
  msgstr ""
3745
 
3746
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:521
3747
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:75
3748
  msgid "Presentation"
3749
  msgstr ""
3750
 
3751
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:524
3752
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:62
3753
  msgid "Name (Singular)"
3754
  msgstr ""
3755
 
3756
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:528
3757
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:67
3758
  msgid "Name (Plural)"
3759
  msgstr ""
3760
 
3761
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:534
3762
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:78
3763
  msgid "Prefix"
3764
  msgstr ""
3765
 
3766
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:542
3767
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:86
3768
  msgid "Suffix"
3769
  msgstr ""
3770
 
3771
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:547
3772
  msgid "Cancel Setup"
3773
  msgstr ""
3774
 
3775
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:547
3776
  msgid "Cancel"
3777
  msgstr ""
3778
 
3779
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:547
3780
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:627
3781
  msgid "Next"
3782
  msgstr ""
3783
 
3784
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:576
3785
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:94
3786
  msgid "Security"
3787
  msgstr ""
3788
 
3789
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:579
3790
  msgid "Edit Settings Capability"
3791
  msgstr ""
3792
 
3793
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:583
3794
  msgid "Edit Users %plural% Capability"
3795
  msgstr ""
3796
 
3797
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:591
3798
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:111
3799
  msgid "Exclude those who can \"Edit Settings\"."
3800
  msgstr ""
3801
 
3802
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:595
3803
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:115
3804
  msgid "Exclude those who can \"Edit Users %plural%\"."
3805
  msgstr ""
3806
 
3807
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:598
3808
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:119
3809
  msgid "Exclude the following user IDs:"
3810
  msgstr ""
3811
 
3812
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:602
3813
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:124
3814
  msgid "Rankings"
3815
  msgstr ""
3816
 
3817
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:606
3818
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:128
3819
  msgid "Update rankings each time a users balance changes."
3820
  msgstr ""
3821
 
3822
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:610
3823
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:132
3824
  msgid "Update rankings once a day."
3825
  msgstr ""
3826
 
3827
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:614
3828
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:136
3829
  msgid "Update rankings once a week."
3830
  msgstr ""
3831
 
3832
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:618
3833
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:140
3834
  msgid "Update rankings on a specific date."
3835
  msgstr ""
3836
 
3837
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:622
3838
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:144
3839
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:813
3840
  msgid "Date"
3841
  msgstr ""
3842
 
3843
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:646
3844
  msgid "Ready"
3845
  msgstr ""
3846
 
3847
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:647
3848
  msgid "Almost done! Click the button below to finish this setup."
3849
  msgstr ""
3850
 
3851
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-install.php:648
3852
  msgid "Install & Run"
3853
  msgstr ""
3854
 
3855
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:62
3856
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3857
  msgid "Network Settings"
3858
  msgstr ""
3859
 
3860
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:128
3861
  msgid "Network"
3862
  msgstr ""
3863
 
3864
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:133
 
 
 
 
 
3865
  msgid "Network Settings Updated"
3866
  msgstr ""
3867
 
3868
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:135
3869
  #, php-format
3870
  msgid "Configure network settings for %s."
3871
  msgstr ""
3872
 
3873
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:141
3874
  msgid "Master Template"
3875
  msgstr ""
3876
 
3877
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:145
 
3878
  msgid "Yes"
3879
  msgstr ""
3880
 
3881
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:149
 
3882
  msgid "No"
3883
  msgstr ""
3884
 
3885
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:152
 
 
 
 
 
 
 
 
 
 
 
3886
  #, php-format
3887
- msgid "If enabled, your main site's %s setup will be used for all other sites."
3888
  msgstr ""
3889
 
3890
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:155
3891
  msgid "Site Block"
3892
  msgstr ""
3893
 
3894
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:159
3895
  #, php-format
3896
  msgid "Comma separated list of blog ids where %s is to be disabled."
3897
  msgstr ""
3898
 
3899
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-network.php:168
3900
  msgid "Save Network Settings"
3901
  msgstr ""
3902
 
3903
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3904
  msgid "Leaderboard is empty."
3905
  msgstr ""
3906
 
3907
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:144
3908
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:255
3909
  msgid "Amount missing!"
3910
  msgstr ""
3911
 
3912
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:147
3913
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:263
3914
  msgid "Log Template Missing!"
3915
  msgstr ""
3916
 
3917
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:206
3918
  msgid "Anchor missing URL!"
3919
  msgstr ""
3920
 
3921
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:259
3922
  msgid "User ID missing for recipient."
3923
  msgstr ""
3924
 
3925
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-shortcodes.php:317
 
 
 
 
 
 
 
 
3926
  msgid "A video ID is required for this shortcode"
3927
  msgstr ""
3928
 
3929
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:19
3930
  #, php-format
3931
  msgid "Show the current users %s balance"
3932
  msgstr ""
3933
 
3934
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:21
3935
  #, php-format
3936
  msgid "%s Balance"
3937
  msgstr ""
3938
 
3939
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:155
3940
  msgid "My Balance"
3941
  msgstr ""
3942
 
3943
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:166
3944
  msgid "<a href=\"%login_url_here%\">Login</a> to view your balance."
3945
  msgstr ""
3946
 
3947
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:190
3948
  msgid "Layout"
3949
  msgstr ""
3950
 
3951
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:192
3952
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:215
3953
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:225
3954
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:374
3955
  msgid "See the help tab for available template tags."
3956
  msgstr ""
3957
 
3958
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:197
3959
  msgid "Include users ranking"
3960
  msgstr ""
3961
 
3962
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:201
3963
  msgid ""
3964
  "This will be appended after the balance. See the help tab for available "
3965
  "template tags."
3966
  msgstr ""
3967
 
3968
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:207
3969
  msgid "Include history"
3970
  msgstr ""
3971
 
3972
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:209
3973
  msgid "History Title"
3974
  msgstr ""
3975
 
3976
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:211
3977
  msgid "Number of entires"
3978
  msgstr ""
3979
 
3980
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:213
3981
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:372
3982
  msgid "Row layout"
3983
  msgstr ""
3984
 
3985
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:221
3986
  msgid "Show message when not logged in"
3987
  msgstr ""
3988
 
3989
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:223
3990
  msgid "Message"
3991
  msgstr ""
3992
 
3993
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:296
3994
  #, php-format
3995
  msgid "Show a list of users sorted by their %s balance"
3996
  msgstr ""
3997
 
3998
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:298
3999
  #, php-format
4000
  msgid "%s List"
4001
  msgstr ""
4002
 
4003
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:352
4004
  msgid "Leaderboard"
4005
  msgstr ""
4006
 
4007
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:365
4008
  msgid "Visible to non-members"
4009
  msgstr ""
4010
 
4011
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:368
4012
  msgid "Number of users"
4013
  msgstr ""
4014
 
4015
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:377
4016
  msgid "Offset"
4017
  msgstr ""
4018
 
4019
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:379
4020
  msgid "Optional offset of order. Use zero to return the first in the list."
4021
  msgstr ""
4022
 
4023
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:382
4024
  msgid "Order"
4025
  msgstr ""
4026
 
4027
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:386
4028
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:197
4029
  msgid "Ascending"
4030
  msgstr ""
4031
 
4032
- #: /Users/gabriel/Repositories/mycred/trunk/includes/mycred-widgets.php:387
4033
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:197
4034
  msgid "Descending"
4035
  msgstr ""
4036
 
4037
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:23
4038
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:24
4039
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:25
4040
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:264
4041
  msgid "Add-ons"
4042
  msgstr ""
4043
 
4044
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:257
4045
  msgid "Add-on Activated"
4046
  msgstr ""
4047
 
4048
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:259
4049
  msgid "Add-on Deactivated"
4050
  msgstr ""
4051
 
4052
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:265
4053
  msgid "Add-ons can expand your current installation with further features."
4054
  msgstr ""
4055
 
4056
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:283
4057
  #, php-format
4058
  msgid "You can find more add-ons in our %s."
4059
  msgstr ""
4060
 
4061
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:283
4062
  msgid "online store"
4063
  msgstr ""
4064
 
4065
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:304
4066
  msgid "Deactivate Add-on"
4067
  msgstr ""
4068
 
4069
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:305
4070
  msgid "Deactivate"
4071
  msgstr ""
4072
 
4073
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:310
4074
  msgid "Activate Add-on"
4075
  msgstr ""
4076
 
4077
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:311
4078
  msgid "Activate"
4079
  msgstr ""
4080
 
4081
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:328
4082
  msgid "Version"
4083
  msgstr ""
4084
 
4085
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:331
4086
  msgid "By"
4087
  msgstr ""
4088
 
4089
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:331
4090
- msgid "View Authors Website"
4091
  msgstr ""
4092
 
4093
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:334
4094
- msgid "View Add-ons Website"
 
4095
  msgstr ""
4096
 
4097
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-addons.php:334
4098
- msgid "Visit Website"
4099
  msgstr ""
4100
 
4101
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:49
4102
- msgid "Facebook"
4103
  msgstr ""
4104
 
4105
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:50
4106
- msgid "Google Plus"
 
 
 
 
4107
  msgstr ""
4108
 
4109
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:51
4110
- msgid "Support Forum"
4111
  msgstr ""
4112
 
4113
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:57
4114
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:198
4115
  msgid "Core Settings"
4116
  msgstr ""
4117
 
4118
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:59
4119
  msgid "Name"
4120
  msgstr ""
4121
 
4122
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:64
4123
  msgid "Accessible though the %singular% template tag."
4124
  msgstr ""
4125
 
4126
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:69
4127
  msgid "Accessible though the %plural% template tag."
4128
  msgstr ""
4129
 
4130
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:72
4131
  msgid "Tip"
4132
  msgstr ""
4133
 
4134
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:72
4135
  msgid ""
4136
  "Adding an underscore at the beginning of template tag for names will return "
4137
  "them in lowercase. i.e. %_singular%"
4138
  msgstr ""
4139
 
4140
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:90
4141
  msgid "Separator"
4142
  msgstr ""
4143
 
4144
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:97
4145
  msgid "Edit Settings"
4146
  msgstr ""
4147
 
4148
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:99
4149
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:104
4150
  msgid "Capability to check for."
4151
  msgstr ""
4152
 
4153
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:102
4154
  msgid "Edit Users %plural%"
4155
  msgstr ""
4156
 
4157
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-general.php:121
4158
  msgid "Comma separated list of user ids to exclude. No spaces allowed!"
4159
  msgstr ""
4160
 
4161
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:52
4162
- msgid "The Log"
4163
  msgstr ""
4164
 
4165
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:54
4166
- msgid ""
4167
- "myCRED logs everything giving you a complete overview of %_plural% awarded "
4168
- "or deducted from your users. The Log page can be filtered by user, date or "
4169
- "reference and we have included a search function for you."
4170
  msgstr ""
4171
 
4172
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:55
4173
- msgid ""
4174
- "You can select how many log entries you want to show under \"Screen Options"
4175
- "\". By default you will be shown 10 entries."
4176
  msgstr ""
4177
 
4178
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:56
4179
- msgid "Filter by Date"
 
4180
  msgstr ""
4181
 
4182
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:57
4183
- msgid ""
4184
- "You can select to show log entries for: Today, Yesterday, This Week or This "
4185
- "Month."
4186
  msgstr ""
4187
 
4188
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:58
4189
- msgid "Filter by Reference"
4190
  msgstr ""
4191
 
4192
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:59
4193
- msgid ""
4194
- "Each time a log entry is made a reference is used to identify where or why "
4195
- "points were awarded or deducted."
4196
  msgstr ""
4197
 
4198
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:60
4199
- msgid "Filter by User"
4200
  msgstr ""
4201
 
4202
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:61
4203
- msgid "Show log entries for a particular username."
4204
  msgstr ""
4205
 
4206
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:73
4207
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:28
4208
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:29
4209
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:30
4210
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:244
4211
- msgid "Hooks"
4212
  msgstr ""
4213
 
4214
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:75
4215
- msgid ""
4216
- "Each instance where users might gain or loose %_plural%, are called hooks. "
4217
- "Hooks can relate to WordPress specific actions or any third party plugin "
4218
- "action that myCRED supports."
4219
  msgstr ""
4220
 
4221
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:76
4222
- msgid ""
4223
- "A hook can relate to a specific instance or several instances. You can "
4224
- "disable specific instances in a hook by awarding zero %_plural%."
4225
  msgstr ""
4226
 
4227
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:80
4228
- msgid "Third Party Plugins"
4229
  msgstr ""
4230
 
4231
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:82
4232
  msgid ""
4233
- "myCRED supports several third party plugins by default. These hooks are only "
4234
- "available / visible if the plugin has been installed and enabled."
4235
  msgstr ""
4236
 
4237
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:83
4238
- msgid "Supported Plugins:"
4239
  msgstr ""
4240
 
4241
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:91
4242
- msgid "Template Tags"
 
 
 
4243
  msgstr ""
4244
 
4245
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:93
4246
- msgid "General:"
4247
  msgstr ""
4248
 
4249
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:94
4250
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:138
4251
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:143
4252
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:160
4253
- msgid "Singular %plural% Name."
4254
  msgstr ""
4255
 
4256
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:95
4257
- msgid "Singular %plural% Name in lowercase."
4258
  msgstr ""
4259
 
4260
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:96
4261
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:139
4262
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:144
4263
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:161
4264
- msgid "Plural %plural% Name."
4265
  msgstr ""
4266
 
4267
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:97
4268
- msgid "Plural %plural% Name in lowercase."
4269
  msgstr ""
4270
 
4271
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:98
4272
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:148
4273
- msgid "The login URL without redirection."
 
4274
  msgstr ""
4275
 
4276
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:99
4277
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:149
4278
- msgid "The login URL with redirection to current page."
4279
  msgstr ""
4280
 
4281
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:100
4282
- msgid "Post:"
 
 
4283
  msgstr ""
4284
 
4285
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:101
4286
- msgid "The posts title."
4287
  msgstr ""
4288
 
4289
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:102
4290
- msgid "The posts URL address."
4291
  msgstr ""
4292
 
4293
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:103
4294
- msgid "The post type."
4295
  msgstr ""
4296
 
4297
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:104
4298
- msgid "The posts permalink with the post title as title."
 
 
4299
  msgstr ""
4300
 
4301
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:105
4302
- msgid "User:"
4303
  msgstr ""
4304
 
4305
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:106
4306
- msgid "The users ID."
 
 
4307
  msgstr ""
4308
 
4309
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:107
4310
- msgid "The users \"username\"."
 
 
4311
  msgstr ""
4312
 
4313
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:108
4314
- msgid "The users \"username\" URL encoded."
 
 
4315
  msgstr ""
4316
 
4317
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:109
4318
- msgid "The users display name."
4319
  msgstr ""
4320
 
4321
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:110
4322
- msgid "The users profile URL."
 
 
 
 
 
 
 
 
 
 
 
4323
  msgstr ""
4324
 
4325
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:111
4326
- msgid "The users profile link with the display name as title."
4327
  msgstr ""
4328
 
4329
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:112
4330
- msgid "Comment:"
4331
  msgstr ""
4332
 
4333
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:113
4334
- msgid "The comment ID."
4335
- msgstr ""
4336
-
4337
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:114
4338
- msgid "The post id where the comment was made."
4339
- msgstr ""
4340
-
4341
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:115
4342
- msgid "The post title where the comment was made."
4343
- msgstr ""
4344
-
4345
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:116
4346
- msgid "The post URL address where the comment was made."
4347
- msgstr ""
4348
-
4349
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:117
4350
- msgid "Link to the post where the comment was made."
4351
- msgstr ""
4352
-
4353
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:129
4354
- msgid "myCRED Balance Template Tags"
4355
- msgstr ""
4356
-
4357
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:132
4358
- msgid "Layout:"
4359
- msgstr ""
4360
-
4361
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:133
4362
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:141
4363
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:158
4364
- msgid "Balance amount in plain format."
4365
- msgstr ""
4366
-
4367
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:134
4368
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:142
4369
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:159
4370
- msgid "Balance amount formatted with prefix and/or suffix."
4371
- msgstr ""
4372
-
4373
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:135
4374
- msgid "Rank Format:"
4375
- msgstr ""
4376
-
4377
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:136
4378
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:157
4379
- msgid "The users ranking. Was \"%rank%\" before version 1.1"
4380
- msgstr ""
4381
-
4382
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:137
4383
- msgid "History Title:"
4384
- msgstr ""
4385
-
4386
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:138
4387
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:139
4388
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:143
4389
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:144
4390
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:160
4391
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:161
4392
- msgid "or"
4393
- msgstr ""
4394
-
4395
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:140
4396
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:156
4397
- msgid "Row Layout:"
4398
- msgstr ""
4399
-
4400
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:145
4401
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:162
4402
- msgid "Log entry date."
4403
- msgstr ""
4404
-
4405
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:146
4406
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:163
4407
- msgid "The log entry."
4408
- msgstr ""
4409
-
4410
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:147
4411
- msgid "Message:"
4412
- msgstr ""
4413
-
4414
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:153
4415
- msgid "myCRED List Template Tags"
4416
- msgstr ""
4417
-
4418
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:164
4419
- msgid "Users display name."
4420
- msgstr ""
4421
-
4422
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:165
4423
- msgid "Users profile URL."
4424
- msgstr ""
4425
-
4426
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:166
4427
- msgid "Users \"username\"."
4428
- msgstr ""
4429
-
4430
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:167
4431
- msgid "Users \"username\" URL encoded."
4432
- msgstr ""
4433
-
4434
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:168
4435
- msgid "Link to users profile with their display name as title."
4436
- msgstr ""
4437
-
4438
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:180
4439
- msgid "Editing %plural%"
4440
- msgstr ""
4441
-
4442
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:182
4443
- msgid ""
4444
- "You can adjust this users %_plural% by giving a positive or negative amount "
4445
- "and a log description. Remember that plugin and point editors will always be "
4446
- "able to adjust their own balance."
4447
- msgstr ""
4448
-
4449
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:183
4450
- msgid ""
4451
- "If the option to edit a users balance is missing the user is set to be "
4452
- "excluded from using myCRED."
4453
- msgstr ""
4454
-
4455
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:195
4456
- msgid "Core"
4457
- msgstr ""
4458
-
4459
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:197
4460
- msgid "On this page, you can edit all myCRED settings."
4461
- msgstr ""
4462
-
4463
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-help.php:199
4464
- msgid ""
4465
- "Here you can name your installation along with setting your layout and "
4466
- "format. You can use any name as long as you set both the singular and plural "
4467
- "format and you can change the name at any time."
4468
- msgstr ""
4469
-
4470
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:89
4471
- msgid "%plural% for registrations"
4472
- msgstr ""
4473
-
4474
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:90
4475
- msgid "Award %_plural% for users joining your website."
4476
- msgstr ""
4477
-
4478
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:96
4479
- msgid "%plural% for logins"
4480
- msgstr ""
4481
-
4482
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:97
4483
- msgid ""
4484
- "Award %_plural% for logging in to your website. You can also set an optional "
4485
- "limit."
4486
- msgstr ""
4487
-
4488
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:103
4489
- msgid "%plural% for publishing content"
4490
- msgstr ""
4491
-
4492
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:104
4493
- msgid ""
4494
- "Award %_plural% for publishing content on your website. If your custom post "
4495
- "type is not shown bellow, make sure it is set to \"Public\"."
4496
- msgstr ""
4497
-
4498
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:110
4499
- msgid "%plural% for comments"
4500
- msgstr ""
4501
-
4502
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:111
4503
- msgid "Award %_plural% for making comments."
4504
- msgstr ""
4505
-
4506
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:117
4507
- msgid "%plural% for clicking on links"
4508
- msgstr ""
4509
-
4510
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:118
4511
- msgid ""
4512
- "Award %_plural% to users who clicks on links generated by the [mycred_link] "
4513
- "shortcode."
4514
- msgstr ""
4515
-
4516
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:124
4517
- msgid "%plural% for viewing Videos"
4518
- msgstr ""
4519
-
4520
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:125
4521
- msgid ""
4522
- "Award %_plural% to users who watches videos embedded using the "
4523
- "[mycred_video] shortcode."
4524
- msgstr ""
4525
-
4526
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:132
4527
- msgid "bbPress"
4528
- msgstr ""
4529
-
4530
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:133
4531
- msgid "Awards %_plural% for bbPress actions."
4532
- msgstr ""
4533
-
4534
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:141
4535
- msgid "Invite Anyone Plugin"
4536
- msgstr ""
4537
-
4538
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:142
4539
- msgid ""
4540
- "Awards %_plural% for sending invitations and/or %_plural% if the invite is "
4541
- "accepted."
4542
- msgstr ""
4543
-
4544
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:150
4545
- msgid "Contact Form 7 Form Submissions"
4546
- msgstr ""
4547
-
4548
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:151
4549
- msgid "Awards %_plural% for successful form submissions (by logged in users)."
4550
- msgstr ""
4551
-
4552
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:159
4553
- msgid "Jetpack Subscriptions"
4554
- msgstr ""
4555
-
4556
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:160
4557
- msgid ""
4558
- "Awards %_plural% for users signing up for site or comment updates using "
4559
- "Jetpack."
4560
- msgstr ""
4561
-
4562
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:168
4563
- msgid "BadgeOS"
4564
- msgstr ""
4565
-
4566
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:169
4567
- msgid ""
4568
- "Default settings for each BadgeOS Achievement type. These settings may be "
4569
- "overridden for individual achievement type."
4570
- msgstr ""
4571
-
4572
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:177
4573
- msgid "WP-Polls"
4574
- msgstr ""
4575
-
4576
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:178
4577
- msgid "Awards %_plural% for users voting in polls."
4578
- msgstr ""
4579
-
4580
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:186
4581
- msgid "WP Favorite Posts"
4582
- msgstr ""
4583
-
4584
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:187
4585
- msgid "Awards %_plural% for users adding posts to their favorites."
4586
- msgstr ""
4587
-
4588
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:195
4589
- msgid "Events Manager"
4590
- msgstr ""
4591
-
4592
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:196
4593
- msgid "Awards %_plural% for users attending events."
4594
- msgstr ""
4595
-
4596
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:204
4597
- msgid "GD Star Rating"
4598
- msgstr ""
4599
-
4600
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:205
4601
- msgid "Awards %_plural% for users rate items using the GD Star Rating plugin."
4602
- msgstr ""
4603
-
4604
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:245
4605
- msgid ""
4606
- "Hooks are instances where %_plural% are awarded or deducted from a user, "
4607
- "depending on their actions around your website."
4608
- msgstr ""
4609
-
4610
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:526
4611
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:642
4612
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:663
4613
- msgid "Limit"
4614
- msgstr ""
4615
-
4616
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:619
4617
- msgid "%plural% for Posts"
4618
- msgstr ""
4619
-
4620
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:629
4621
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:642
4622
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:677
4623
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:403
4624
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:416
4625
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:429
4626
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:447
4627
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:460
4628
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:479
4629
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:792
4630
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1036
4631
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1046
4632
- msgid "Available template tags: General, Post"
4633
- msgstr ""
4634
-
4635
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:632
4636
- msgid "%plural% for Pages"
4637
  msgstr ""
4638
 
4639
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:667
4640
- msgid "%plural% for %s"
 
 
4641
  msgstr ""
4642
 
4643
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:956
4644
- msgid "Approved Comment"
 
 
4645
  msgstr ""
4646
 
4647
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:965
4648
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:977
4649
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:989
4650
  msgid "Available template tags: General, Comment"
4651
  msgstr ""
4652
 
4653
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:968
4654
  msgid "Comment Marked SPAM"
4655
  msgstr ""
4656
 
4657
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:980
4658
  msgid "Trashed / Unapproved Comments"
4659
  msgstr ""
4660
 
4661
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:995
4662
  msgid "Limit per post"
4663
  msgstr ""
4664
 
4665
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:997
4666
  msgid ""
4667
  "The number of comments per post that grants %_plural%. Use zero for "
4668
  "unlimited."
4669
  msgstr ""
4670
 
4671
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1001
4672
  msgid "Limit per day"
4673
  msgstr ""
4674
 
4675
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1003
4676
  msgid ""
4677
  "Number of comments per day that grants %_plural%. Use zero for unlimited."
4678
  msgstr ""
4679
 
4680
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1008
4681
  msgid ""
4682
  "%plural% is to be awarded even when comment authors reply to their own "
4683
  "comment."
4684
  msgstr ""
4685
 
4686
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1075
4687
  msgid "Once for each unique URL"
4688
  msgstr ""
4689
 
4690
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1076
4691
  msgid "Once for each unique link id"
4692
  msgstr ""
4693
 
4694
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1225
4695
  msgid ""
4696
  "The default amount to award for clicking on links. You can override this in "
4697
  "the shortcode."
4698
  msgstr ""
4699
 
4700
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1232
4701
- msgid "Available template tags: General and custom tags: %url% or %id%."
 
4702
  msgstr ""
4703
 
4704
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1243
4705
  msgid "Remember!"
4706
  msgstr ""
4707
 
4708
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1243
4709
  msgid ""
4710
  "If you select to limit by id and you do not include the id attribute in the "
4711
  "shortcode, no %_plural% will be awarded!"
4712
  msgstr ""
4713
 
4714
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1502
4715
  msgid "Amount to award for viewing videos."
4716
  msgstr ""
4717
 
4718
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1512
4719
  msgid "Award Logic"
4720
  msgstr ""
4721
 
4722
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1514
4723
  msgid "Select when %_plural% should be awarded or deducted."
4724
  msgstr ""
4725
 
4726
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1515
4727
  msgid "Play - As soon as video starts playing."
4728
  msgstr ""
4729
 
4730
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1516
4731
  msgid "Full - First when the entire video has played."
4732
  msgstr ""
4733
 
4734
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1517
4735
  msgid "Interval - For each x number of seconds watched."
4736
  msgstr ""
4737
 
4738
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1522
4739
  msgid "Number of seconds"
4740
  msgstr ""
4741
 
4742
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1529
4743
  msgid "Leniency"
4744
  msgstr ""
4745
 
4746
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1531
4747
  msgid ""
4748
  "The maximum percentage a users view of a movie can differ from the actual "
4749
  "length."
4750
  msgstr ""
4751
 
4752
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-hooks.php:1534
4753
  msgid ""
4754
  "Do not set this value to zero! A lot of thing can happen while a user "
4755
  "watches a movie and sometimes a few seconds can drop of the counter due to "
4756
  "buffering or play back errors."
4757
  msgstr ""
4758
 
4759
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:23
4760
  msgid "Activity Log"
4761
  msgstr ""
4762
 
4763
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:96
4764
- msgid "Entries"
4765
- msgstr ""
4766
-
4767
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:177
4768
  msgid "Show all references"
4769
  msgstr ""
4770
 
4771
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:196
4772
  msgid "Show in order"
4773
  msgstr ""
4774
 
4775
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:209
4776
  msgid "Filter"
4777
  msgstr ""
4778
 
4779
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:236
 
 
 
 
 
4780
  msgid "entry"
4781
  msgstr ""
4782
 
4783
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:255
4784
  msgid "Search results for"
4785
  msgstr ""
4786
 
4787
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:815
4788
- msgid "Entry"
4789
  msgstr ""
4790
 
4791
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:915
4792
- msgid "User Missing"
 
 
4793
  msgstr ""
4794
 
4795
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:954
4796
- msgid "No log entries found"
 
 
 
4797
  msgstr ""
4798
 
4799
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:969
4800
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-log.php:971
4801
- msgid "Search Log"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4802
  msgstr ""
4803
 
4804
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:394
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4805
  msgid "%plural% for New Forum"
4806
  msgstr ""
4807
 
4808
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:407
4809
  msgid "%plural% for Forum Deletion"
4810
  msgstr ""
4811
 
4812
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:420
4813
  msgid "%plural% for New Topic"
4814
  msgstr ""
4815
 
4816
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:434
4817
  msgid "Forum authors can receive %_plural% for creating new topics."
4818
  msgstr ""
4819
 
4820
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:438
4821
  msgid "%plural% for Topic Deletion"
4822
  msgstr ""
4823
 
4824
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:451
4825
  msgid "%plural% for Favorited Topic"
4826
  msgstr ""
4827
 
4828
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:464
4829
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:488
4830
- msgid "Daily Limit"
4831
- msgstr ""
4832
-
4833
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:466
4834
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:490
4835
  msgid "Use zero for unlimited"
4836
  msgstr ""
4837
 
4838
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:470
4839
  msgid "%plural% for New Reply"
4840
  msgstr ""
4841
 
4842
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:484
4843
  msgid "Topic authors can receive %_plural% for replying to their own Topic"
4844
  msgstr ""
4845
 
4846
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:494
4847
  msgid "Show users %_plural% balance in replies"
4848
  msgstr ""
4849
 
4850
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:630
4851
- msgid "%plural% for Sending An Invite"
4852
- msgstr ""
4853
-
4854
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:646
4855
- msgid ""
4856
- "Maximum number of invites that grants %_plural%. Use zero for unlimited."
4857
  msgstr ""
4858
 
4859
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:650
4860
- msgid "%plural% for Accepting An Invite"
4861
  msgstr ""
4862
 
4863
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:654
4864
- msgid "%plural% for each invited user that accepts an invitation."
4865
  msgstr ""
4866
 
4867
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:667
4868
- msgid ""
4869
- "Maximum number of accepted invitations that grants %_plural%. Use zero for "
4870
- "unlimited."
4871
  msgstr ""
4872
 
4873
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:762
4874
- msgid "No forms found."
4875
  msgstr ""
4876
 
4877
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:861
4878
- #, php-format
4879
- msgid ""
4880
- "Please setup your <a href=\"%s\">default settings</a> before using this "
4881
- "feature."
4882
  msgstr ""
4883
 
4884
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:872
4885
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:874
4886
- msgid "%plural% to Award"
 
 
4887
  msgstr ""
4888
 
4889
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:876
4890
- msgid "Use zero to disable"
4891
  msgstr ""
4892
 
4893
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:887
4894
- msgid "Deduction Log Template"
4895
  msgstr ""
4896
 
4897
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1023
4898
- #, php-format
4899
- msgid "Default %s for %s"
4900
  msgstr ""
4901
 
4902
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1030
4903
- msgid "Use zero to disable users gaining %_plural%"
4904
  msgstr ""
4905
 
4906
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1034
4907
- msgid "Default Log template"
4908
  msgstr ""
4909
 
4910
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1040
4911
- msgid "Deduct %_plural% if user looses "
4912
  msgstr ""
4913
 
4914
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1172
4915
  msgid ""
4916
- "Available template tags: General. You can also use %poll_id% and "
4917
- "%poll_question%."
4918
  msgstr ""
4919
 
4920
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1282
4921
- msgid "Adding Content to Favorites"
4922
  msgstr ""
4923
 
4924
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1292
4925
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1305
4926
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1443
4927
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1456
4928
- msgid "Available template tags: General and Post Related"
4929
  msgstr ""
4930
 
4931
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1295
4932
- msgid "Removing Content from Favorites"
4933
  msgstr ""
4934
 
4935
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1433
4936
- msgid "Attending Event"
4937
  msgstr ""
4938
 
4939
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1446
4940
- msgid "Cancelling Attendance"
 
 
4941
  msgstr ""
4942
 
4943
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1542
4944
- msgid "Rating"
4945
  msgstr ""
4946
 
4947
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-plugins.php:1555
4948
- msgid "Up / Down Vote"
 
 
4949
  msgstr ""
4950
 
4951
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-subscriptions.php:479
4952
  msgid "Site Subscriptions"
4953
  msgstr ""
4954
 
4955
- #: /Users/gabriel/Repositories/mycred/trunk/modules/mycred-module-subscriptions.php:492
4956
  msgid "Comment Subscriptions"
4957
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  msgstr ""
5
  "Project-Id-Version: myCRED\n"
6
  "Report-Msgid-Bugs-To: http://mycred.me\n"
7
+ "POT-Creation-Date: 2013-10-11 23:27+0100\n"
8
+ "PO-Revision-Date: 2013-10-11 23:29+0100\n"
9
  "Last-Translator: Gabriel Sebastian Merovingi <support@mycred.me>\n"
10
  "Language-Team: LANGUAGE <support@mycred.me>\n"
11
  "MIME-Version: 1.0\n"
14
  "X-Generator: Poedit 1.5.7\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Poedit-KeywordsList: _n;_e;__\n"
17
+ "X-Poedit-SearchPath-0: /Users/gabriel/Repositories/mycred/tags/1.3\n"
18
  "X-Poedit-SearchPath-1: .\n"
19
 
20
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:366
21
+ msgid "My Balance: "
 
22
  msgstr ""
23
 
24
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:463
25
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:486
26
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:837
27
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:276
28
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:136
29
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:391
30
+ msgid "Processing..."
31
  msgstr ""
32
 
33
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:464
34
+ msgid ""
35
+ "Warning! All entries in your log will be permamenly removed! This can not be "
36
+ "undone!"
37
  msgstr ""
38
 
39
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:465
40
+ msgid "Warning! All user balances will be set to zero! This can not be undone!"
41
  msgstr ""
42
 
43
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:466
44
+ msgid "Done!"
45
  msgstr ""
46
 
47
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:467
48
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:485
49
+ msgid "Close"
 
50
  msgstr ""
51
 
52
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:468
53
+ msgid "Export users %plural%"
54
  msgstr ""
55
 
56
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:484
57
  #, php-format
58
  msgid "Edit Users %s balance"
59
  msgstr ""
60
 
61
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:542
62
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:624
63
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:432
64
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:493
65
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:408
66
+ msgid "Setup"
67
  msgstr ""
68
 
69
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:546
70
+ msgid "Tutorials"
 
 
 
 
71
  msgstr ""
72
 
73
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:547
74
+ msgid "Codex"
75
  msgstr ""
76
 
77
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/mycred.php:548
78
+ msgid "Store"
79
  msgstr ""
80
 
81
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:57
82
  msgid "function myCRED_Hook::run() must be over-ridden in a sub-class."
83
  msgstr ""
84
 
85
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:66
86
  msgid "This Hook has no settings"
87
  msgstr ""
88
 
89
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:133
90
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1036
91
  msgid "No limit"
92
  msgstr ""
93
 
94
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:134
95
  msgid "Once every 24 hours"
96
  msgstr ""
97
 
98
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:135
99
  msgid "Once every 12 hours"
100
  msgstr ""
101
 
102
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:136
103
  msgid "Once every 7 days"
104
  msgstr ""
105
 
106
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:137
107
  msgid "Once per day (reset at midnight)"
108
  msgstr ""
109
 
110
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-hook.php:144
111
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:342
112
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:262
113
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:283
114
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:514
115
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:537
116
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:514
117
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:382
118
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:186
119
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:773
120
  msgid "Select"
121
  msgstr ""
122
 
123
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-module.php:42
124
  msgid "myCRED_Module() Error. A Module ID is required!"
125
  msgstr ""
126
 
127
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-module.php:313
128
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-module.php:321
129
  msgid "Surprise"
130
  msgstr ""
131
 
132
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-module.php:378
133
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:154
134
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:180
135
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:103
136
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:202
137
+ msgid "click to close"
138
  msgstr ""
139
 
140
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/abstracts/mycred-abstract-module.php:379
141
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:155
142
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:181
143
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:104
144
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:203
145
+ msgid "click to open"
146
  msgstr ""
147
 
148
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:12
149
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:49
150
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:50
151
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:51
152
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:179
153
  msgid "Banking"
154
  msgstr ""
155
 
156
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:13
157
  msgid ""
158
  "This add-on allows you to offer interest on your users points balances or "
159
  "setup recurring payouts."
160
  msgstr ""
161
 
162
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:110
163
  msgid "Compound Interest"
164
  msgstr ""
165
 
166
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:111
167
  msgid ""
168
  "Apply an interest rate on your users %_plural% balances. Interest rate is "
169
  "annual and is compounded daily as long as this service is enabled. Positive "
171
  "rate will to users loosing %_plural%."
172
  msgstr ""
173
 
174
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:117
175
  msgid "Recurring Payouts"
176
  msgstr ""
177
 
178
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:118
179
  msgid ""
180
  "Give your users %_plural% on a regular basis with the option to set the "
181
  "number of times you want this payout to run (cycles)."
182
  msgstr ""
183
 
184
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:167
185
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:458
186
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:149
187
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:253
188
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:215
189
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:149
190
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:266
191
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:346
192
  msgid "Access Denied"
193
  msgstr ""
194
 
195
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:174
196
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:341
197
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:228
198
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:158
199
  msgid "Settings Updated"
200
  msgstr ""
201
 
202
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:180
203
  msgid ""
204
  "This add-on allows you to setup transaction fees for %_plural% transfers, "
205
  "purchases or payments using the Gateway add-on, along with offering interest "
206
  "on %_plural% balances."
207
  msgstr ""
208
 
209
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:183
210
  msgid "WP-Cron deactivation detected!"
211
  msgstr ""
212
 
213
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:184
214
  msgid "Warning! This add-on requires WP - Cron to work."
215
  msgstr ""
216
 
217
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:197
218
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:370
219
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:172
220
  msgid "Enable"
221
  msgstr ""
222
 
223
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/myCRED-addon-banking.php:210
224
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:185
225
  msgid "Update Changes"
226
  msgstr ""
227
 
228
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:57
229
  msgid "function myCRED_Service::run() must be over-ridden in a sub-class."
230
  msgstr ""
231
 
232
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:66
233
  msgid "This Service has no settings"
234
  msgstr ""
235
 
236
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:143
237
  msgid "Hourly"
238
  msgstr ""
239
 
240
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:147
241
  msgid "Daily"
242
  msgstr ""
243
 
244
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:151
245
  msgid "Weekly"
246
  msgstr ""
247
 
248
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:155
249
  msgid "Monthly"
250
  msgstr ""
251
 
252
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:159
253
  msgid "Quarterly"
254
  msgstr ""
255
 
256
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:163
257
  msgid "Semiannually"
258
  msgstr ""
259
 
260
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/abstracts/mycred-abstract-service.php:167
261
  msgid "Annually"
262
  msgstr ""
263
 
264
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:25
265
  msgid "%plural% interest rate payment"
266
  msgstr ""
267
 
268
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:275
269
  msgid "Interest Rate"
270
  msgstr ""
271
 
272
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:282
273
  msgid "Payed / Charged"
274
  msgstr ""
275
 
276
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:288
277
  msgid ""
278
  "The interest rate can be either positive or negative and is compounded daily."
279
  msgstr ""
280
 
281
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:291
282
  msgid "Minimum Balance"
283
  msgstr ""
284
 
285
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:295
286
  msgid "The minimum requires balance for interest to apply."
287
  msgstr ""
288
 
289
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:298
290
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:251
291
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:240
292
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:295
293
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:371
294
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:404
295
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:87
296
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:135
297
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:337
298
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:440
299
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1193
300
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1463
301
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:110
302
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:112
303
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:121
304
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:146
305
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:159
306
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:105
307
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:118
308
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:130
309
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:143
310
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-polls.php:132
311
  msgid "Log Template"
312
  msgstr ""
313
 
314
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:302
315
  msgid "Available template tags: General, %timeframe%, %rate%, %base%"
316
  msgstr ""
317
 
318
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:305
319
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:258
320
+ msgid "Run Time"
321
+ msgstr ""
322
+
323
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-interest.php:309
324
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:262
325
+ msgid ""
326
+ "For large websites, if you are running into time out issues during payouts, "
327
+ "you can set the number of seconds a process can run. Use zero for unlimited, "
328
+ "but be careful especially if you are on a shared server."
329
+ msgstr ""
330
+
331
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:21
332
  msgid "Daily %_plural%"
333
  msgstr ""
334
 
335
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:213
336
  msgid "Not yet run"
337
  msgstr ""
338
 
339
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:218
340
  msgid "Pay Users"
341
  msgstr ""
342
 
343
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:221
344
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:678
345
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:348
346
  msgid "Amount"
347
  msgstr ""
348
 
349
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:223
350
  msgid "Can not be zero."
351
  msgstr ""
352
 
353
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:227
354
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:240
355
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1478
356
  msgid "Interval"
357
  msgstr ""
358
 
359
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:232
360
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:241
361
  msgid "Cycles"
362
  msgstr ""
363
 
364
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:234
365
  msgid "Set to -1 for unlimited"
366
  msgstr ""
367
 
368
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:237
369
  msgid "Last Run / Activated"
370
  msgstr ""
371
 
372
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:240
373
  msgid ""
374
  "Select how often you want to award %_plural%. Note that when this service is "
375
  "enabled, the first payout will be in the beginning of the next period. So "
377
  "morning."
378
  msgstr ""
379
 
380
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:241
381
  msgid ""
382
  "Cycles let you choose how many intervals this service should run. Each time "
383
  "a cycle runs, the value will decrease until it hits zero, in which case this "
384
  "service will deactivate itself. Use -1 to run unlimited times."
385
  msgstr ""
386
 
387
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:242
388
  msgid "Important"
389
  msgstr ""
390
 
391
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:242
392
  msgid ""
393
  "You can always stop payouts by deactivating this service. Just remember that "
394
  "if you deactivate while there are cycles left, this service will continue on "
395
  "when it gets re-activated. Set cycles to zero to reset."
396
  msgstr ""
397
 
398
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:244
399
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:576
400
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:287
401
  msgid "Excludes"
402
  msgstr ""
403
 
404
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:248
405
  msgid ""
406
  "Comma separated list of user IDs to exclude from this service. No spaces "
407
  "allowed!"
408
  msgstr ""
409
 
410
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/banking/services/mycred-bank-service-payouts.php:255
411
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-galleries.php:81
412
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:435
413
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:448
414
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:461
415
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:474
416
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:487
417
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:500
418
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:514
419
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:527
420
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:540
421
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:553
422
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:175
423
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:188
424
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:201
425
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:214
426
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:338
427
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:351
428
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:390
429
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:403
430
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:416
431
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:429
432
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:450
433
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:444
434
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1467
435
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:109
436
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:122
437
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:144
438
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:165
439
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:499
440
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:512
441
  msgid "Available template tags: General"
442
  msgstr ""
443
 
444
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:13
445
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:384
446
  msgid "BuddyPress"
447
  msgstr ""
448
 
449
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:14
450
  msgid ""
451
  "The BuddyPress add-on extends <strong>my</strong>CRED to work with "
452
  "BuddyPress allowing you to hook into most BuddyPress related actions."
453
  msgstr ""
454
 
455
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:56
456
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:69
457
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:370
458
  msgid "My History"
459
  msgstr ""
460
 
461
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:57
462
  #, php-format
463
  msgid "%s's History"
464
  msgstr ""
465
 
466
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:219
467
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:227
468
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:414
469
  msgid "All"
470
  msgstr ""
471
 
472
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:220
473
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:415
474
  msgid "Today"
475
  msgstr ""
476
 
477
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:221
478
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:416
479
  msgid "Yesterday"
480
  msgstr ""
481
 
482
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:222
483
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:417
484
  msgid "This Week"
485
  msgstr ""
486
 
487
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:223
488
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:418
489
  msgid "This Month"
490
  msgstr ""
491
 
492
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:320
493
  msgid "BuddyPress: Groups"
494
  msgstr ""
495
 
496
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:321
497
  msgid ""
498
  "Awards %_plural% for group related actions. Use minus to deduct %_plural% or "
499
  "zero to disable a specific hook."
500
  msgstr ""
501
 
502
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:328
503
  msgid "BuddyPress: Members"
504
  msgstr ""
505
 
506
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:329
507
  msgid "Awards %_plural% for profile related actions."
508
  msgstr ""
509
 
510
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:336
511
  msgid "BuddyPress: Links"
512
  msgstr ""
513
 
514
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:337
515
  msgid "Awards %_plural% for link related actions."
516
  msgstr ""
517
 
518
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:344
519
  msgid "BuddyPress: Gallery Actions"
520
  msgstr ""
521
 
522
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:345
523
  msgid ""
524
  "Awards %_plural% for creating a new gallery either using BP Album+ or BP "
525
  "Gallery."
526
  msgstr ""
527
 
528
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:365
529
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:372
530
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:776
531
  msgid "Do not show."
532
  msgstr ""
533
 
534
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:366
535
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:777
536
  msgid "Include in Profile Header."
537
  msgstr ""
538
 
539
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:367
540
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:778
541
  msgid "Include under the \"Profile\" tab"
542
  msgstr ""
543
 
544
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:368
545
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:779
546
  msgid "Include under the \"Profile\" tab and Profile Header."
547
  msgstr ""
548
 
549
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:373
550
  msgid "Show in Profile"
551
  msgstr ""
552
 
553
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:386
554
  msgid "%singular% Balance"
555
  msgstr ""
556
 
557
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:402
558
  msgid "Members can view each others %_singular% balance."
559
  msgstr ""
560
 
561
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:407
562
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:176
563
  msgid "Template"
564
  msgstr ""
565
 
566
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:409
567
  msgid "Available template tags are: %creds%, %number%, %rank%"
568
  msgstr ""
569
 
570
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:410
571
  msgid ""
572
  "Note that you can also use %rank_logo% to show the feature image of the rank."
573
  msgstr ""
574
 
575
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:414
576
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:160
577
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:70
578
  msgid "%plural% History"
579
  msgstr ""
580
 
581
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:430
582
  msgid "Members can view each others %_plural% history."
583
  msgstr ""
584
 
585
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:435
586
  msgid "Menu Title"
587
  msgstr ""
588
 
589
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:437
590
  msgid "Title shown to me"
591
  msgstr ""
592
 
593
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:442
594
  #, php-format
595
  msgid "Title shown to others. Use %s to show the first name."
596
  msgstr ""
597
 
598
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:447
599
  msgid "Menu Position"
600
  msgstr ""
601
 
602
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:449
603
  msgid "Current menu positions:"
604
  msgstr ""
605
 
606
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:454
607
  msgid "History URL slug"
608
  msgstr ""
609
 
610
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:456
611
  msgid "Do not use empty spaces!"
612
  msgstr ""
613
 
614
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/myCRED-addon-buddypress.php:461
615
  msgid "Number of history entries to show"
616
  msgstr ""
617
 
618
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-galleries.php:72
619
  msgid "%plural% for New Gallery"
620
  msgstr ""
621
 
622
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-galleries.php:79
623
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:433
624
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:446
625
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:459
626
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:472
627
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:485
628
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:498
629
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:512
630
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:525
631
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:538
632
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:551
633
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:173
634
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:186
635
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:199
636
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:212
637
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:336
638
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:349
639
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:362
640
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:375
641
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:388
642
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:401
643
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:414
644
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:427
645
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:303
646
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:546
647
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:559
648
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:594
649
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:915
650
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:932
651
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:949
652
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:276
653
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:414
654
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:427
655
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:440
656
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:458
657
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:471
658
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:490
659
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-contact-form7.php:136
660
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:142
661
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:163
662
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:497
663
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:510
664
  msgid "Log template"
665
  msgstr ""
666
 
667
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:419
668
  msgid "%plural% for Creating Groups"
669
  msgstr ""
670
 
671
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:423
672
  msgid ""
673
  "If you use a negative value and the user does not have enough %_plural% the "
674
  "\"Create Group\" button will be disabled."
675
  msgstr ""
676
 
677
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:427
678
  msgid "Number of members before awarding %_plural%"
679
  msgstr ""
680
 
681
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:429
682
  msgid "Use zero to award %_plural% when group is created."
683
  msgstr ""
684
 
685
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:439
686
  msgid "%plural% for Deleting Groups"
687
  msgstr ""
688
 
689
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:452
690
  msgid "%plural% for New Forum Topic"
691
  msgstr ""
692
 
693
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:465
694
  msgid "%plural% for Editing Forum Topic"
695
  msgstr ""
696
 
697
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:478
698
  msgid "%plural% for New Forum Post"
699
  msgstr ""
700
 
701
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:491
702
  msgid "%plural% for Editing Forum Post"
703
  msgstr ""
704
 
705
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:504
706
  msgid "%plural% for Joining Groups"
707
  msgstr ""
708
 
709
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:508
710
  msgid ""
711
  "If you use a negative value and the user does not have enough %_plural% the "
712
  "\"Join Group\" button will be disabled."
713
  msgstr ""
714
 
715
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:518
716
  msgid "%plural% for Leaving Groups"
717
  msgstr ""
718
 
719
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:531
720
  msgid "%plural% for New Group Avatar"
721
  msgstr ""
722
 
723
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-groups.php:544
724
  msgid "%plural% for New Group Comment"
725
  msgstr ""
726
 
727
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:166
728
  msgid "%plural% for New Links"
729
  msgstr ""
730
 
731
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:179
732
  msgid "%plural% for Vote on Link"
733
  msgstr ""
734
 
735
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:192
736
  msgid "%plural% for Updating Links"
737
  msgstr ""
738
 
739
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-links.php:205
740
  msgid "%plural% for Deleting Links"
741
  msgstr ""
742
 
743
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:324
744
  msgid "%plural% for Profile Updates"
745
  msgstr ""
746
 
747
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:330
748
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:477
749
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:501
750
+ msgid "Daily Limit"
751
+ msgstr ""
752
+
753
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:332
754
+ msgid "Daily limit. User zero for unlimited."
755
+ msgstr ""
756
+
757
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:342
758
  msgid "%plural% for New Avatar"
759
  msgstr ""
760
 
761
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:355
762
  msgid "%plural% for New Friendships"
763
  msgstr ""
764
 
765
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:364
766
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:377
767
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:189
768
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:196
769
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:307
770
  msgid "Available template tags: General, User"
771
  msgstr ""
772
 
773
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:368
774
  msgid "%plural% for Leaving Friendship"
775
  msgstr ""
776
 
777
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:381
778
  msgid "%plural% for New Comment"
779
  msgstr ""
780
 
781
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:394
782
  msgid "%plural% for Deleting Comment"
783
  msgstr ""
784
 
785
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:407
786
  msgid "%plural% for New Messages"
787
  msgstr ""
788
 
789
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buddypress/hooks/bp-profile.php:420
790
  msgid "%plural% for Sending Gift"
791
  msgstr ""
792
 
793
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:12
794
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:224
795
  msgid "buyCRED"
796
  msgstr ""
797
 
798
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:13
799
  msgid ""
800
  "The <strong>buy</strong>CRED Add-on allows your users to buy points using "
801
  "PayPal, Skrill (Moneybookers) or NETbilling. <strong>buy</strong>CRED can "
802
  "also let your users buy points for other members."
803
  msgstr ""
804
 
805
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:55
806
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:56
807
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:57
808
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:346
809
  msgid "Payment Gateways"
810
  msgstr ""
811
 
812
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:141
813
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:784
814
  msgid "PayPal Payments Standard"
815
  msgstr ""
816
 
817
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:145
818
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:423
819
  msgid "NETbilling"
820
  msgstr ""
821
 
822
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:149
823
  msgid "Skrill (Moneybookers)"
824
  msgstr ""
825
 
826
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:153
827
  msgid "Zombaio"
828
  msgstr ""
829
 
830
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:199
831
  msgid "Please login to purchase %_plural%"
832
  msgstr ""
833
 
834
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:213
835
  msgid "Gift purchase from %display_name%."
836
  msgstr ""
837
 
838
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:226
839
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:565
840
  msgid "Minimum %plural%"
841
  msgstr ""
842
 
843
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:230
844
  msgid "Minimum amount of %plural% a user must purchase. Will default to 1."
845
  msgstr ""
846
 
847
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:233
848
  msgid "Login Template"
849
  msgstr ""
850
 
851
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:237
852
  msgid "Content to show when a user is not logged in."
853
  msgstr ""
854
 
855
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:244
856
  msgid ""
857
  "Available template tags: General and %gateway% for the payment gateway used."
858
  msgstr ""
859
 
860
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:247
861
  msgid "Thank You Page"
862
  msgstr ""
863
 
864
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:250
865
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:271
866
  msgid "Custom URL"
867
  msgstr ""
868
 
869
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:255
870
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:276
871
  msgid "Page"
872
  msgstr ""
873
 
874
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:268
875
  msgid "Cancellation Page"
876
  msgstr ""
877
 
878
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:289
879
  msgid "Gifting"
880
  msgstr ""
881
 
882
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:291
883
  msgid "Allow users to buy %_plural% for other users."
884
  msgstr ""
885
 
886
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:292
887
  msgid "Allow users to buy %_plural% for content authors."
888
  msgstr ""
889
 
890
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:297
891
  msgid "Available template tags: %singular%, %plural% and %display_name%"
892
  msgstr ""
893
 
894
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:347
895
  msgid ""
896
  "Select the payment gateways you want to offer your users to buy %plural%."
897
  msgstr ""
898
 
899
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:363
900
+ msgid "Test Mode"
901
+ msgstr ""
902
+
903
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:365
904
+ msgid "Enabled"
905
+ msgstr ""
906
+
907
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:368
908
+ msgid "Disabled"
909
+ msgstr ""
910
+
911
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:388
912
  msgid "Update Gateway Settings"
913
  msgstr ""
914
 
915
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:435
916
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:532
917
  msgid "This Add-on needs to setup before you can use this shortcode."
918
  msgstr ""
919
 
920
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:453
921
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:549
922
  msgid "No gateways installed."
923
  msgstr ""
924
 
925
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:454
926
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:550
927
  msgid "Gateway does not exist."
928
  msgstr ""
929
 
930
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:490
931
  msgid "Yourself"
932
  msgstr ""
933
 
934
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:551
935
  msgid "No active gateways found."
936
  msgstr ""
937
 
938
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:552
939
  msgid "The selected gateway is not active."
940
  msgstr ""
941
 
942
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:592
943
  msgid "Buy with"
944
  msgstr ""
945
 
946
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:596
947
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:49
948
  msgid "Buy Now"
949
  msgstr ""
950
 
951
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:629
952
  msgid "No users found"
953
  msgstr ""
954
 
955
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:639
956
  msgid "To"
957
  msgstr ""
958
 
959
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:656
960
  msgid "Select Amount"
961
  msgstr ""
962
 
963
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:680
964
  msgid "min."
965
  msgstr ""
966
 
967
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:688
968
  msgid "Select Gateway"
969
  msgstr ""
970
 
971
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:768
972
  msgid "Buy %plural%"
973
  msgstr ""
974
 
975
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:770
976
  msgid "This add-on lets your users buy %_plural% using a payment gateway."
977
  msgstr ""
978
 
979
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:771
980
  msgid "Supported Gateways"
981
  msgstr ""
982
 
983
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:772
984
  msgid ""
985
  "myCRED supports purchases through: PayPal Payments Standard, Skrill "
986
  "(Moneybookers) and NETbilling. Let us know if you want to add other payment "
987
  "gateways."
988
  msgstr ""
989
 
990
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:773
991
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:1066
992
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:497
993
  msgid "Usage"
994
  msgstr ""
995
 
996
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:774
997
  msgid "Purchases can be made using one of the following shortcodes:"
998
  msgstr ""
999
 
1000
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:776
1001
  msgid ""
1002
  "When you want to sell a pre-set amount, sell to a specific user or use a "
1003
  "specific gateway.<br />For more information on how to use the shortcode, "
1004
  "please visit the"
1005
  msgstr ""
1006
 
1007
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:777
1008
  msgid ""
1009
  "When you want to give your users the option to select an amount, gateway or "
1010
  "recipient.<br />For more information on how to use the shortcode, please "
1011
  "visit the"
1012
  msgstr ""
1013
 
1014
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:786
1015
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:327
1016
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:344
1017
  msgid "Currency"
1018
  msgstr ""
1019
 
1020
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:787
1021
  msgid ""
1022
  "Make sure you select a currency that your PayPal account supports. Otherwise "
1023
  "transactions will not be approved until you login to your PayPal account and "
1025
  "will not be applied to the buyer until you have resolved the issue."
1026
  msgstr ""
1027
 
1028
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:788
1029
  msgid "Instant Payment Notifications"
1030
  msgstr ""
1031
 
1032
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:789
1033
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:358
1034
  msgid ""
1035
  "For this gateway to work, you must login to your PayPal account and under "
1036
  "\"Profile\" > \"Selling Tools\" enable \"Instant Payment Notifications\". "
1038
  "have selected \"Receive IPN messages (Enabled)\"."
1039
  msgstr ""
1040
 
1041
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:793
1042
  msgid "Skrill"
1043
  msgstr ""
1044
 
1045
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:795
1046
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:607
1047
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:321
1048
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:338
1049
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:290
1050
  msgid "Sandbox Mode"
1051
  msgstr ""
1052
 
1053
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:796
1054
  msgid ""
1055
  "Transactions made while Sandbox mode is active are real transactions! "
1056
  "Remember to use your \"Test Merchant Account\" when Sandbox mode is active!"
1057
  msgstr ""
1058
 
1059
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:797
1060
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:383
1061
  msgid "Checkout Page"
1062
  msgstr ""
1063
 
1064
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:798
1065
  msgid ""
1066
  "By default all Skrill Merchant account accept payments via Bank Transfers. "
1067
  "When a user selects this option, no points are awarded! You will need to "
1068
  "manually award these once the bank transfer is completed."
1069
  msgstr ""
1070
 
1071
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/myCRED-addon-buy-creds.php:799
1072
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:403
1073
  msgid ""
1074
  "By default purchases made using Skrill will result in users having to signup "
1075
  "for a Skrill account (if they do not have one already). You can contact "
1076
  "Skrill Merchant Services and request to disable this feature."
1077
  msgstr ""
1078
 
1079
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:60
1080
  msgid ""
1081
  "function myCRED_Payment_Gateway::process() must be over-ridden in a sub-"
1082
  "class."
1083
  msgstr ""
1084
 
1085
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:69
1086
  msgid ""
1087
  "function myCRED_Payment_Gateway::buy() must be over-ridden in a sub-class."
1088
  msgstr ""
1089
 
1090
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:85
1091
  msgid "This Payment Gateway has no settings"
1092
  msgstr ""
1093
 
1094
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:234
1095
  msgid "Go to "
1096
  msgstr ""
1097
 
1098
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:255
1099
  msgid "Payment Gateway Logo"
1100
  msgstr ""
1101
 
1102
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:268
1103
  msgid "Click here if you are not automatically redirected"
1104
  msgstr ""
1105
 
1106
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/abstracts/mycred-abstract-payment-gateway.php:865
1107
  msgid "Outside US"
1108
  msgstr ""
1109
 
1110
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:26
1111
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:23
1112
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:28
1113
  msgid "Purchase of myCRED %plural%"
1114
  msgstr ""
1115
 
1116
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:55
1117
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:318
1118
  msgid "You have tried too many times. Please contact support."
1119
  msgstr ""
1120
 
1121
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:62
1122
  msgid "This payment gateway has not yet been setup! Exiting."
1123
  msgstr ""
1124
 
1125
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:81
1126
  msgid "First name can not be empty"
1127
  msgstr ""
1128
 
1129
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:87
1130
  msgid "Last name can not be empty"
1131
  msgstr ""
1132
 
1133
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:93
1134
  msgid "Street can not be empty"
1135
  msgstr ""
1136
 
1137
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:99
1138
  msgid "City can not be empty"
1139
  msgstr ""
1140
 
1141
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:105
1142
  msgid "Country can not be empty"
1143
  msgstr ""
1144
 
1145
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:113
1146
  msgid "State can not be empty"
1147
  msgstr ""
1148
 
1149
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:121
1150
  msgid "Zip / Post Code can not be empty"
1151
  msgstr ""
1152
 
1153
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:127
1154
  msgid "Email can not be empty"
1155
  msgstr ""
1156
 
1157
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:143
1158
  msgid "Please enter your credit card number"
1159
  msgstr ""
1160
 
1161
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:149
1162
  msgid "Card Expiration Month must be selected"
1163
  msgstr ""
1164
 
1165
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:155
1166
  msgid "Card Expiration Year must be set"
1167
  msgstr ""
1168
 
1169
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:161
1170
  msgid "Please enter the CVV2 code from the back of your card"
1171
  msgstr ""
1172
 
1173
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:170
1174
  msgid "Account Routing number missing"
1175
  msgstr ""
1176
 
1177
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:176
1178
  msgid "Account Number missing"
1179
  msgstr ""
1180
 
1181
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:184
1182
  msgid "Incorrect Credit Card number"
1183
  msgstr ""
1184
 
1185
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:190
1186
  msgid "The credit card entered is past its expiration date."
1187
  msgstr ""
1188
 
1189
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:196
1190
  msgid "The CVV2 number entered is not valid."
1191
  msgstr ""
1192
 
1193
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:202
1194
  msgid "The bank routing number entered is not valid."
1195
  msgstr ""
1196
 
1197
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:205
1198
  msgid "The bank account number entered is not valid."
1199
  msgstr ""
1200
 
1201
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:312
1202
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:333
1203
  msgid "Invalid Address"
1204
  msgstr ""
1205
 
1206
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:315
1207
  msgid "Invalid CVV2"
1208
  msgstr ""
1209
 
1210
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:321
1211
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:324
1212
  msgid "Please contact support."
1213
  msgstr ""
1214
 
1215
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:327
1216
  msgid "Your email address is invalid."
1217
  msgstr ""
1218
 
1219
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:330
1220
  msgid "Your information is invalid. Please correct"
1221
  msgstr ""
1222
 
1223
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:336
1224
  msgid "Your card was declined. Please try again."
1225
  msgstr ""
1226
 
1227
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:340
1228
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:358
1229
  msgid "Duplicate transaction. Please contact support"
1230
  msgstr ""
1231
 
1232
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:343
1233
  msgid "Your transaction was approved"
1234
  msgstr ""
1235
 
1236
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:350
1237
  msgid " error: "
1238
  msgstr ""
1239
 
1240
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:430
1241
  msgid "Debug"
1242
  msgstr ""
1243
 
1244
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:439
1245
  msgid "Error"
1246
  msgstr ""
1247
 
1248
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:440
1249
  msgid "The following error/s were found: "
1250
  msgstr ""
1251
 
1252
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:448
1253
  msgid "Please update and try again."
1254
  msgstr ""
1255
 
1256
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:454
1257
  msgid "Transaction Approved"
1258
  msgstr ""
1259
 
1260
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:455
1261
  msgid "Your have successfully purchased "
1262
  msgstr ""
1263
 
1264
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:456
1265
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:466
1266
  msgid "Click here to continue"
1267
  msgstr ""
1268
 
1269
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:464
1270
  msgid "Transaction Declined"
1271
  msgstr ""
1272
 
1273
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:465
1274
  msgid ""
1275
  "I am sorry but your transaction could not be completed due to the following "
1276
  msgstr ""
1277
 
1278
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:474
1279
  msgid "Transaction Error"
1280
  msgstr ""
1281
 
1282
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:475
1283
  msgid "NETbilling returned the following error: "
1284
  msgstr ""
1285
 
1286
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:476
1287
  msgid "Please try again."
1288
  msgstr ""
1289
 
1290
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:480
1291
  msgid "Purchase of"
1292
  msgstr ""
1293
 
1294
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:480
1295
  msgid "for"
1296
  msgstr ""
1297
 
1298
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:481
1299
  msgid "Fields marked * are required!"
1300
  msgstr ""
1301
 
1302
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:491
1303
  msgid "Billing Details"
1304
  msgstr ""
1305
 
1306
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:560
1307
  msgid "Month"
1308
  msgstr ""
1309
 
1310
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:566
1311
  msgid "Year"
1312
  msgstr ""
1313
 
1314
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:613
1315
  msgid "Account ID"
1316
  msgstr ""
1317
 
1318
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:619
1319
  msgid "Site Tag"
1320
  msgstr ""
1321
 
1322
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:625
1323
  msgid "Dynamic IP Security Code"
1324
  msgstr ""
1325
 
1326
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:631
1327
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:341
1328
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:364
1329
  msgid "Item Name"
1330
  msgstr ""
1331
 
1332
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:637
1333
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:348
1334
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:371
1335
  msgid "%plural% Exchange Rate"
1336
  msgstr ""
1337
 
1338
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:643
1339
  msgid "Allowed Attempts"
1340
  msgstr ""
1341
 
1342
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:647
1343
  msgid "Maximum number of attempts allowed for purchases."
1344
  msgstr ""
1345
 
1346
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:650
1347
  msgid "Advanced"
1348
  msgstr ""
1349
 
1350
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:654
1351
  msgid "Disable AVS (Address Verification System) for credit card transactions."
1352
  msgstr ""
1353
 
1354
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:658
1355
  msgid "Disable CVV2 (Card Verification Value 2) for credit card transactions."
1356
  msgstr ""
1357
 
1358
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:662
1359
  msgid ""
1360
  "Disable all fraud protection other than AVS/CVV2. (This implies "
1361
  "disable_negative_db)"
1362
  msgstr ""
1363
 
1364
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:666
1365
  msgid ""
1366
  "Disable only the negative database component of the fraud protection system."
1367
  msgstr ""
1368
 
1369
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:670
1370
  msgid "Disable automatic sending of both merchant and customer email receipts."
1371
  msgstr ""
1372
 
1373
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/netbilling.php:674
1374
  msgid "Disable immediate rejection of expired cards."
1375
  msgstr ""
1376
 
1377
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:225
1378
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:211
1379
  msgid "Success"
1380
  msgstr ""
1381
 
1382
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:226
1383
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:212
1384
  msgid "Thank you for your purchase"
1385
  msgstr ""
1386
 
1387
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:239
1388
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:225
1389
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:232
1390
  msgid "Please setup this gateway before attempting to make a purchase!"
1391
  msgstr ""
1392
 
1393
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:299
1394
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:266
1395
  msgid "Return to "
1396
  msgstr ""
1397
 
1398
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:304
1399
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:320
1400
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:271
1401
  msgid "Processing payment &hellip;"
1402
  msgstr ""
1403
 
1404
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:332
1405
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:401
1406
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:433
1407
  msgid "Important!"
1408
  msgstr ""
1409
 
1410
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:332
1411
  msgid ""
1412
  "Make sure you select a currency that your PayPal account supports. Otherwise "
1413
  "transactions will not be approved until you login to your PayPal account and "
1414
  "Accept each transaction!"
1415
  msgstr ""
1416
 
1417
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:335
1418
  msgid "Account Email"
1419
  msgstr ""
1420
 
1421
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:345
1422
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:368
1423
  msgid "Description of the item being purchased by the user."
1424
  msgstr ""
1425
 
1426
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:351
1427
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:374
1428
  msgid "Your selected currency"
1429
  msgstr ""
1430
 
1431
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/paypal-standard.php:354
1432
  msgid "IPN Address"
1433
  msgstr ""
1434
 
1435
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:303
1436
  msgid "Product:"
1437
  msgstr ""
1438
 
1439
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:312
1440
  msgid "Gift to:"
1441
  msgstr ""
1442
 
1443
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:313
1444
  msgid "(author)"
1445
  msgstr ""
1446
 
1447
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:341
1448
  msgid "Remember to use your Test Merchant Account when Sandbox mode is active!"
1449
  msgstr ""
1450
 
1451
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:351
1452
  msgid "Merchant Account Email"
1453
  msgstr ""
1454
 
1455
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:357
1456
  msgid "Secret Word"
1457
  msgstr ""
1458
 
1459
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:361
1460
  msgid ""
1461
  "You can set your secret word under \"Merchant Tools\" in your Skrill Account."
1462
  msgstr ""
1463
 
1464
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:377
1465
  msgid "Confirmation Email"
1466
  msgstr ""
1467
 
1468
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:380
1469
  msgid ""
1470
  "Ask Skrill to send me a confirmation email for each successful purchase."
1471
  msgstr ""
1472
 
1473
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:386
1474
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:75
1475
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:706
1476
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:597
1477
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:186
1478
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:360
1479
  msgid "Title"
1480
  msgstr ""
1481
 
1482
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:388
1483
  msgid ""
1484
  "If left empty, your account email is used as title on the Skill Payment Page."
1485
  msgstr ""
1486
 
1487
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:391
1488
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:314
1489
  msgid "Logo URL"
1490
  msgstr ""
1491
 
1492
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:393
1493
  msgid ""
1494
  "The URL to the image you want to use on the top of the gateway. For best "
1495
  "integration results we recommend you use logos with dimensions up to 200px "
1496
  "in width and 50px in height."
1497
  msgstr ""
1498
 
1499
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:396
1500
  msgid "Confirmation Note"
1501
  msgstr ""
1502
 
1503
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:398
1504
  msgid ""
1505
  "Optional text to show user once a transaction has been successfully "
1506
  "completed. This text is shown by Skrill."
1507
  msgstr ""
1508
 
1509
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/skrill.php:402
1510
  msgid ""
1511
  "By default all Skrill Merchant account accept payments via Bank Transfers. "
1512
  "When a user selects this option, no %_plural% are awarded! You will need to "
1513
  "manually award these once the bank transfer is completed."
1514
  msgstr ""
1515
 
1516
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:296
1517
  msgid "Site ID"
1518
  msgstr ""
1519
 
1520
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:302
1521
  msgid "GW Password"
1522
  msgstr ""
1523
 
1524
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:308
1525
  msgid "Pricing ID"
1526
  msgstr ""
1527
 
1528
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:320
1529
  msgid "IP Verification"
1530
  msgstr ""
1531
 
1532
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:323
1533
  msgid "Do not verify that callbacks are coming from Zombaio."
1534
  msgstr ""
1535
 
1536
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:326
1537
  msgid "Language"
1538
  msgstr ""
1539
 
1540
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:333
1541
  msgid "Postback URL (ZScript)"
1542
  msgstr ""
1543
 
1544
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/buy-creds/gateways/zombaio.php:337
1545
  msgid ""
1546
  "For this gateway to work, login to ZOA and set the Postback URL to the above "
1547
  "address and click validate."
1548
  msgstr ""
1549
 
1550
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:12
1551
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:155
1552
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:161
1553
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:167
1554
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:265
1555
  msgid "Email Notices"
1556
  msgstr ""
1557
 
1558
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:13
1559
  msgid "Create email notices for any type of myCRED instance."
1560
  msgstr ""
1561
 
1562
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:156
1563
  msgid "Email Notice"
1564
  msgstr ""
1565
 
1566
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:157
1567
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:168
1568
  msgid "Add New"
1569
  msgstr ""
1570
 
1571
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:158
1572
  msgid "Add New Notice"
1573
  msgstr ""
1574
 
1575
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:159
1576
  msgid "Edit Notice"
1577
  msgstr ""
1578
 
1579
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:160
1580
  msgid "New Notice"
1581
  msgstr ""
1582
 
1583
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:162
1584
  msgid "View Notice"
1585
  msgstr ""
1586
 
1587
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:163
1588
  msgid "Search Email Notices"
1589
  msgstr ""
1590
 
1591
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:164
1592
  msgid "No email notices found"
1593
  msgstr ""
1594
 
1595
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:165
1596
  msgid "No email notices found in Trash"
1597
  msgstr ""
1598
 
1599
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:188
1600
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:848
1601
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:319
1602
  msgid "General"
1603
  msgstr ""
1604
 
1605
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:189
1606
  msgid "users balance changes"
1607
  msgstr ""
1608
 
1609
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:190
1610
  msgid "user gains %_plural%"
1611
  msgstr ""
1612
 
1613
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:191
1614
  msgid "user lose %_plural%"
1615
  msgstr ""
1616
 
1617
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:192
1618
  msgid "users balance reaches zero"
1619
  msgstr ""
1620
 
1621
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:193
1622
  msgid "users balance goes minus"
1623
  msgstr ""
1624
 
1625
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:199
1626
  msgid "Sell Content Add-on"
1627
  msgstr ""
1628
 
1629
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:200
1630
  msgid "user buys content"
1631
  msgstr ""
1632
 
1633
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:201
1634
  msgid "authors content gets sold"
1635
  msgstr ""
1636
 
1637
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:208
1638
  msgid "buyCREDs Add-on"
1639
  msgstr ""
1640
 
1641
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:209
1642
  msgid "user buys %_plural%"
1643
  msgstr ""
1644
 
1645
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:216
1646
  msgid "Transfer Add-on"
1647
  msgstr ""
1648
 
1649
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:217
1650
  msgid "user sends %_plural%"
1651
  msgstr ""
1652
 
1653
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:218
1654
  msgid "user receives %_plural%"
1655
  msgstr ""
1656
 
1657
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:225
1658
  msgid "Ranks Add-on"
1659
  msgstr ""
1660
 
1661
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:226
1662
  msgid "user is demoted"
1663
  msgstr ""
1664
 
1665
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:227
1666
  msgid "user is promoted"
1667
  msgstr ""
1668
 
1669
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:267
1670
  msgid ""
1671
  "Settings that apply to all email notices and can not be overridden for "
1672
  "individual emails."
1673
  msgstr ""
1674
 
1675
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:268
1676
  msgid "Email Format"
1677
  msgstr ""
1678
 
1679
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:272
1680
  msgid "Plain text emails only."
1681
  msgstr ""
1682
 
1683
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:276
1684
  msgid "HTML or Plain text emails."
1685
  msgstr ""
1686
 
1687
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:279
1688
  msgid "Filters"
1689
  msgstr ""
1690
 
1691
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:283
1692
  msgid ""
1693
  "Allow WordPress and Third Party Plugins to filter the email subject before "
1694
  "an email is sent."
1695
  msgstr ""
1696
 
1697
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:287
1698
  msgid ""
1699
  "Allow WordPress and Third Party Plugins to filter the email content before "
1700
  "an email is sent."
1701
  msgstr ""
1702
 
1703
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:290
1704
  msgid ""
1705
  "Default email settings. These settings can be individually overridden when "
1706
  "editing emails."
1707
  msgstr ""
1708
 
1709
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:291
1710
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:687
1711
  msgid "Email Settings"
1712
  msgstr ""
1713
 
1714
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:294
1715
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:804
1716
  msgid "Senders Name:"
1717
  msgstr ""
1718
 
1719
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:298
1720
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:806
1721
  msgid "Senders Email:"
1722
  msgstr ""
1723
 
1724
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:302
1725
  msgid "Reply-To:"
1726
  msgstr ""
1727
 
1728
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:306
1729
  msgid "Default Email Content"
1730
  msgstr ""
1731
 
1732
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:310
1733
  msgid "Default email content."
1734
  msgstr ""
1735
 
1736
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:313
1737
  msgid "Default Email Styling"
1738
  msgstr ""
1739
 
1740
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:317
1741
  msgid "Ignored if HTML is not allowed in emails."
1742
  msgstr ""
1743
 
1744
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:622
1745
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:736
1746
  msgid "Email Subject"
1747
  msgstr ""
1748
 
1749
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:623
1750
  msgid "Status"
1751
  msgstr ""
1752
 
1753
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:643
1754
  msgid "Not Active"
1755
  msgstr ""
1756
 
1757
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:645
1758
  #, php-format
1759
  msgid "Scheduled:<br /><strong>%1$s</strong>"
1760
  msgstr ""
1761
 
1762
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:649
1763
  msgid "Active"
1764
  msgstr ""
1765
 
1766
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:651
1767
  #, php-format
1768
  msgid "Active - Last run:<br /><strong>%1$s</strong>"
1769
  msgstr ""
1770
 
1771
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:660
1772
  msgid "Email is sent when"
1773
  msgstr ""
1774
 
1775
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:662
1776
  msgid "Missing instance for this notice!"
1777
  msgstr ""
1778
 
1779
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:671
1780
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:673
1781
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:675
1782
  msgid "Sent To"
1783
  msgstr ""
1784
 
1785
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:671
1786
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:798
1787
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:344
1788
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:243
1789
  msgid "User"
1790
  msgstr ""
1791
 
1792
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:673
1793
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:799
1794
  msgid "Administrator"
1795
  msgstr ""
1796
 
1797
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:675
1798
  msgid "Both Administrator and User"
1799
  msgstr ""
1800
 
1801
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:696
 
 
1802
  msgid "Available Template Tags"
1803
  msgstr ""
1804
 
1805
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:707
1806
  msgid "Email Header"
1807
  msgstr ""
1808
 
1809
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:767
1810
  msgid "Send this email notice when..."
1811
  msgstr ""
1812
 
1813
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:796
1814
  msgid "Recipient:"
1815
  msgstr ""
1816
 
1817
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:800
1818
  msgid "Both"
1819
  msgstr ""
1820
 
1821
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:808
1822
  msgid "Reply-To Email:"
1823
  msgstr ""
1824
 
1825
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:814
1826
  msgid "Save"
1827
  msgstr ""
1828
 
1829
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:826
1830
  msgid "CSS Styling"
1831
  msgstr ""
1832
 
1833
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:841
1834
  msgid "Site Related"
1835
  msgstr ""
1836
 
1837
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:842
1838
  msgid "Your websites title"
1839
  msgstr ""
1840
 
1841
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:843
1842
  msgid "Your websites address"
1843
  msgstr ""
1844
 
1845
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:844
1846
  msgid "Your websites tagline (description)"
1847
  msgstr ""
1848
 
1849
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:845
1850
  msgid "Your websites admin email"
1851
  msgstr ""
1852
 
1853
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:846
1854
  msgid "Total number of blog members"
1855
  msgstr ""
1856
 
1857
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:849
1858
  msgid "Points name in singular format"
1859
  msgstr ""
1860
 
1861
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:850
1862
  msgid "Points name in plural"
1863
  msgstr ""
1864
 
1865
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:851
1866
  msgid "Login URL"
1867
  msgstr ""
1868
 
1869
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:854
1870
  msgid "User Related"
1871
  msgstr ""
1872
 
1873
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:855
1874
  msgid "The users ID"
1875
  msgstr ""
1876
 
1877
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:856
1878
  msgid "The users login name (username)"
1879
  msgstr ""
1880
 
1881
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:857
1882
  msgid "The users display name"
1883
  msgstr ""
1884
 
1885
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:858
1886
  msgid "The users profile address"
1887
  msgstr ""
1888
 
1889
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:859
1890
  msgid "Link to the users profile address with their display name as title"
1891
  msgstr ""
1892
 
1893
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:860
1894
  msgid "The users current balance unformated"
1895
  msgstr ""
1896
 
1897
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:861
1898
  msgid "The users current balance formated"
1899
  msgstr ""
1900
 
1901
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:863
1902
  msgid "Post Related"
1903
  msgstr ""
1904
 
1905
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:864
1906
  msgid "Post Title"
1907
  msgstr ""
1908
 
1909
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:865
1910
  msgid "Post URL address"
1911
  msgstr ""
1912
 
1913
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:866
1914
  msgid "Link to post Post title"
1915
  msgstr ""
1916
 
1917
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:867
1918
  msgid "The post type"
1919
  msgstr ""
1920
 
1921
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:943
1922
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:946
1923
  #, php-format
1924
  msgid "Email Notice Updated. View <a href=\"%1$s\">All Notices</a>."
1925
  msgstr ""
1926
 
1927
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:944
1928
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:470
1929
  msgid "Custom field updated"
1930
  msgstr ""
1931
 
1932
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:945
1933
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:471
1934
  msgid "Custom filed updated"
1935
  msgstr ""
1936
 
1937
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:948
1938
  msgid "Email Notice Activated"
1939
  msgstr ""
1940
 
1941
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:949
1942
  msgid "Email Notice Saved"
1943
  msgstr ""
1944
 
1945
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:950
1946
  #, php-format
1947
  msgid ""
1948
  "Email Notice Submitted for approval. View <a href=\"%1$s\">All Notices</a>."
1949
  msgstr ""
1950
 
1951
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:952
1952
  #, php-format
1953
  msgid "Email Notice scheduled for: <strong>%1$s</strong>."
1954
  msgstr ""
1955
 
1956
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:971
1957
  msgid ""
1958
  "Once a notice is \"published\" it becomes active! Select \"Save Draft\" if "
1959
  "you are not yet ready to use this email notice!"
1960
  msgstr ""
1961
 
1962
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:973
1963
  #, php-format
1964
  msgid "This notice will become active on:<br /><strong>%1$s</strong>"
1965
  msgstr ""
1966
 
1967
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/email-notices/myCRED-addon-email-notices.php:975
1968
  msgid "This email notice is active."
1969
  msgstr ""
1970
 
1971
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/myCRED-addon-gateway.php:12
1972
  msgid "Gateway"
1973
  msgstr ""
1974
 
1975
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/myCRED-addon-gateway.php:13
1976
  msgid ""
1977
  "Let your users pay using their <strong>my</strong>CRED points balance. "
1978
  "Supported Carts: WooCommerce, MarketPress. Supported Event Bookings: Event "
1979
  "Espresso, Events Manager."
1980
  msgstr ""
1981
 
1982
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:143
1983
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:271
1984
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:295
1985
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:374
1986
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:345
1987
  msgid "Current Balance"
1988
  msgstr ""
1989
 
1990
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:147
1991
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:113
1992
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:275
1993
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:299
1994
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:378
1995
  msgid "Total Cost"
1996
  msgstr ""
1997
 
1998
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:151
1999
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:279
2000
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:303
2001
  msgid "Balance After Purchase"
2002
  msgstr ""
2003
 
2004
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:175
2005
  msgid "Payment"
2006
  msgstr ""
2007
 
2008
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:178
2009
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:227
2010
  #, php-format
2011
  msgid "<a href=\"%s\">Go Back</a>"
2012
  msgstr ""
2013
 
2014
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:181
2015
  msgid "will be deducted from your account."
2016
  msgstr ""
2017
 
2018
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:217
2019
  #, php-format
2020
  msgid ""
2021
  "Sorry, but you can not use this gateway as your account is excluded. Please "
2022
  "<a href=\"%s\">select a different payment method</a>."
2023
  msgstr ""
2024
 
2025
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:236
2026
  msgid "Paid"
2027
  msgstr ""
2028
 
2029
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:239
2030
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:34
2031
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:51
2032
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:52
2033
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:76
2034
  msgid "myCRED"
2035
  msgstr ""
2036
 
2037
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:339
2038
  msgid "%_singular% Balance"
2039
  msgstr ""
2040
 
2041
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:341
2042
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:90
2043
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:26
2044
+ msgid "Payment for Order: #%order_id%"
2045
+ msgstr ""
2046
+
2047
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:344
2048
+ msgid "Product Sale: %post_title%"
2049
+ msgstr ""
2050
+
2051
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:345
2052
+ msgid "Pay using your account balance."
2053
+ msgstr ""
2054
+
2055
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:346
2056
+ msgid ""
2057
+ "TOTAL amount has been deducted from your account. Your current balance is: "
2058
+ "%balance_f%"
2059
+ msgstr ""
2060
+
2061
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:347
2062
+ msgid ""
2063
+ "Insufficient funds. Please select another form of payment. Your current "
2064
+ "balance is: %balance_f%"
2065
+ msgstr ""
2066
+
2067
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:348
2068
+ msgid ""
2069
+ "You must be logged in to pay with %_plural%. Please <a href=\"%login_url_here"
2070
+ "%\">login</a>."
2071
+ msgstr ""
2072
+
2073
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:353
2074
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:175
2075
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:19
2076
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:20
2077
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:21
2078
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:224
2079
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:246
2080
  msgid "Settings"
2081
  msgstr ""
2082
 
2083
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:355
2084
  #, php-format
2085
  msgid ""
2086
  "Let your users pay for items in their shopping cart using their %s Account. "
2088
  "purchase!"
2089
  msgstr ""
2090
 
2091
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:358
2092
  msgid "Method Name"
2093
  msgstr ""
2094
 
2095
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:360
2096
  msgid ""
2097
  "Enter a public name for this payment method that is displayed to users - No "
2098
  "HTML"
2099
  msgstr ""
2100
 
2101
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:365
2102
  msgid "Gateway Logo URL"
2103
  msgstr ""
2104
 
2105
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:373
2106
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:89
2107
  msgid ""
2108
  "Log entry template for successful payments. Available template tags: "
2109
  "%order_id%, %order_link%"
2110
  msgstr ""
2111
 
2112
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:380
2113
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:95
2114
  msgid "How much is 1 %_singular% worth in %currency%?"
2115
  msgstr ""
2116
 
2117
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:385
2118
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:100
2119
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:326
2120
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:428
2121
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:459
2122
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:520
2123
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:525
2124
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:594
2125
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:658
2126
  msgid "Exchange Rate"
2127
  msgstr ""
2128
 
2129
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:394
2130
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:128
2131
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:330
2132
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:440
2133
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:450
2134
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:511
2135
+ msgid "Profit Sharing"
2136
+ msgstr ""
2137
+
2138
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:397
2139
+ msgid "Percentage"
2140
+ msgstr ""
2141
+
2142
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:399
2143
+ msgid "Option to share sales with the product owner. User zero to disable"
2144
+ msgstr ""
2145
+
2146
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:406
2147
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:338
2148
+ msgid ""
2149
+ "Log entry template for profit sharing. Available template tags: General and "
2150
+ "Post related"
2151
+ msgstr ""
2152
+
2153
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:411
2154
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:341
2155
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:519
2156
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:580
2157
+ msgid "Messages"
2158
+ msgstr ""
2159
+
2160
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:414
2161
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:352
2162
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:529
2163
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:590
2164
  msgid "Insufficient Funds"
2165
  msgstr ""
2166
 
2167
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:416
2168
  msgid "Message to show when the user can not use this gateway."
2169
  msgstr ""
2170
 
2171
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:418
2172
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:426
2173
  msgid "Available template tags are: General."
2174
  msgstr ""
2175
 
2176
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:422
2177
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:348
2178
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:468
2179
  msgid "Visitors"
2180
  msgstr ""
2181
 
2182
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:424
2183
  msgid "Message to show to buyers that are not logged in."
2184
  msgstr ""
2185
 
2186
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:430
2187
  msgid "User Instructions"
2188
  msgstr ""
2189
 
2190
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:432
2191
  msgid "Information to show users before payment."
2192
  msgstr ""
2193
 
2194
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:434
2195
  msgid ""
2196
  "Available template tags are: %balance% and %balance_f% for users current "
2197
  "balance."
2198
  msgstr ""
2199
 
2200
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:438
2201
  msgid "Confirmation Information"
2202
  msgstr ""
2203
 
2204
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:440
2205
  msgid "Information to display on the order confirmation page. - HTML allowed"
2206
  msgstr ""
2207
 
2208
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:442
2209
  msgid ""
2210
  "Available template tags: TOTAL - total cart cost, %balance% and %balance_f% "
2211
  "- users current balance."
2212
  msgstr ""
2213
 
2214
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:446
2215
  msgid "Order Confirmation Email"
2216
  msgstr ""
2217
 
2218
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:448
2219
  #, php-format
2220
  msgid ""
2221
  "This is the email text to send to those who have made %s checkouts. It "
2224
  "PAYMENTINFO, TOTAL, TRACKINGURL. No HTML allowed."
2225
  msgstr ""
2226
 
2227
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-marketpress.php:450
2228
  #, php-format
2229
  msgid "Available template tags: %balance% or %balance_f% for users balance."
2230
  msgstr ""
2231
 
2232
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:35
2233
  msgid "Let users pay using their myCRED balance."
2234
  msgstr ""
2235
 
2236
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:68
2237
  msgid "Enable/Disable"
2238
  msgstr ""
2239
 
2240
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:70
2241
  msgid "Enable myCRED Payment"
2242
  msgstr ""
2243
 
2244
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:72
2245
  msgid ""
2246
  "Users who are not logged in or excluded from using myCRED will not have "
2247
  "access to this gateway!"
2248
  msgstr ""
2249
 
2250
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:77
2251
  msgid "Title to show for this payment option."
2252
  msgstr ""
2253
 
2254
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:78
2255
  msgid "Pay with myCRED"
2256
  msgstr ""
2257
 
2258
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:82
2259
  msgid "Customer Message"
2260
  msgstr ""
2261
 
2262
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:84
2263
  msgid "Deduct the amount from your %_plural% balance."
2264
  msgstr ""
2265
 
2266
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:107
 
 
 
 
2267
  msgid "Show Total"
2268
  msgstr ""
2269
 
2270
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:109
2271
  msgid "Show the final price in %_plural% ."
2272
  msgstr ""
2273
 
2274
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:111
2275
  msgid "Do not show"
2276
  msgstr ""
2277
 
2278
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:112
2279
  msgid "Show in Cart"
2280
  msgstr ""
2281
 
2282
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:113
2283
  msgid "Show on Checkout Page"
2284
  msgstr ""
2285
 
2286
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:114
2287
  msgid "Show in Cart and on Checkout Page"
2288
  msgstr ""
2289
 
2290
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:119
2291
  msgid "Label"
2292
  msgstr ""
2293
 
2294
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:121
2295
  msgid "Order Total in %_plural%"
2296
  msgstr ""
2297
 
2298
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:130
2299
+ msgid "Option to share a percentage of the sale with the product owner."
2300
+ msgstr ""
2301
+
2302
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:137
2303
+ msgid ""
2304
+ "Log entry template for profit sharing. Available template tags: General and "
2305
+ "Post related."
2306
+ msgstr ""
2307
+
2308
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:138
2309
+ msgid "Sale of %post_title%"
2310
+ msgstr ""
2311
+
2312
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:163
2313
  msgid "myCRED Payment"
2314
  msgstr ""
2315
 
2316
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:164
2317
  msgid ""
2318
  "Allows users to pay using their myCRED %_singular% balance. Please note that "
2319
  "users with insufficient funds and users who are not logged in will not see "
2320
  "this payment gateway on the checkout page."
2321
  msgstr ""
2322
 
2323
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:185
2324
  msgid "You must be logged in to pay with %_plural%"
2325
  msgstr ""
2326
 
2327
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:191
2328
  msgid "You can not use this gateway. Please try a different payment option."
2329
  msgstr ""
2330
 
2331
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:203
2332
  msgid "Insufficient funds. Please try a different payment option."
2333
  msgstr ""
2334
 
2335
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:267
2336
  msgid "Your account has successfully been charged."
2337
  msgstr ""
2338
 
2339
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-woocommerce.php:477
2340
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:121
2341
  msgid "Your current balance"
2342
  msgstr ""
2343
 
2344
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:28
2345
+ msgid "Store sale"
2346
+ msgstr ""
2347
+
2348
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:30
2349
+ msgid "You must be logged in to use this gateway"
2350
+ msgstr ""
2351
+
2352
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:31
2353
+ msgid "Insufficient Funds."
2354
+ msgstr ""
2355
+
2356
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:32
2357
+ msgid "Deduct the amount from your balance."
2358
+ msgstr ""
2359
+
2360
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:102
2361
+ msgid "Item"
2362
+ msgstr ""
2363
+
2364
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:188
2365
+ msgid "You can not use this gateway."
2366
+ msgstr ""
2367
+
2368
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:322
2369
+ msgid "Log Template for Payments"
2370
+ msgstr ""
2371
+
2372
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:323
2373
+ msgid ""
2374
+ "Log entry template for successful payments. Available template tags: "
2375
+ "General, %order_id%"
2376
+ msgstr ""
2377
+
2378
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:327
2379
+ #, php-format
2380
+ msgid "How much is 1 %s worth in %s"
2381
+ msgstr ""
2382
+
2383
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:333
2384
+ msgid "Payout"
2385
+ msgstr ""
2386
+
2387
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:334
2388
+ msgid ""
2389
+ "Option to share a percentage of the sale with the product owner (post "
2390
+ "author). User zero to disable."
2391
+ msgstr ""
2392
+
2393
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:344
2394
+ msgid "Instructions"
2395
+ msgstr ""
2396
+
2397
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:345
2398
+ msgid ""
2399
+ "Optional instructions to show users when selecting this gateway. Leave empty "
2400
+ "to hide."
2401
+ msgstr ""
2402
+
2403
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:349
2404
+ msgid "Message to show visitors who are not logged in."
2405
+ msgstr ""
2406
+
2407
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/carts/mycred-wpecommerce.php:353
2408
+ msgid ""
2409
+ "Message to show when users does not have enough %plural% to pay using this "
2410
+ "gateway."
2411
+ msgstr ""
2412
+
2413
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:24
2414
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:435
2415
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:496
2416
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:313
2417
  msgid "Payments"
2418
  msgstr ""
2419
 
2420
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:25
2421
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:36
2422
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:32
2423
  msgid "Pay Now"
2424
  msgstr ""
2425
 
2426
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:29
2427
  msgid "Payment for Event Registration"
2428
  msgstr ""
2429
 
2430
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:337
2431
  #, php-format
2432
  msgid "Activate %s"
2433
  msgstr ""
2434
 
2435
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:345
2436
  #, php-format
2437
  msgid "Deactivate %s"
2438
  msgstr ""
2439
 
2440
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:361
2441
  msgid "Gateway Settings"
2442
  msgstr ""
2443
 
2444
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:393
2445
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:425
2446
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:483
2447
  #, php-format
2448
  msgid "How many %s is 1 %s worth?"
2449
  msgstr ""
2450
 
2451
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:399
2452
  msgid "Gateways Settings Successfully Updated"
2453
  msgstr ""
2454
 
2455
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:407
2456
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:495
2457
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:556
2458
  msgid "Labels"
2459
  msgstr ""
2460
 
2461
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:410
2462
  msgid "Gateway Title"
2463
  msgstr ""
2464
 
2465
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:412
2466
  msgid "Title to show on Payment page"
2467
  msgstr ""
2468
 
2469
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:415
2470
  msgid "Payment Type"
2471
  msgstr ""
2472
 
2473
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:417
2474
  msgid "Title to show on receipts and logs"
2475
  msgstr ""
2476
 
2477
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:420
2478
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:512
2479
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:573
2480
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:349
2481
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:541
2482
  msgid "Button Label"
2483
  msgstr ""
2484
 
2485
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:422
2486
  msgid "Pay Button"
2487
  msgstr ""
2488
 
2489
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:425
2490
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:132
2491
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:135
2492
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:307
2493
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:310
2494
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:340
2495
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:537
2496
  msgid "Price"
2497
  msgstr ""
2498
 
2499
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:435
2500
  msgid ""
2501
  "You can disable purchases using this gateway by adding a custom Event Meta: "
2502
  "<code>mycred_no_sale</code>"
2503
  msgstr ""
2504
 
2505
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:436
2506
  msgid "Users must be logged in to use this gateway!"
2507
  msgstr ""
2508
 
2509
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:442
2510
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:453
2511
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:514
2512
+ msgid ""
2513
+ "Option to share sales with the event owner (post author). Use zero to "
2514
+ "disable."
2515
+ msgstr ""
2516
+
2517
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:445
2518
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:22
2519
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:23
2520
  msgid "Log"
2521
  msgstr ""
2522
 
2523
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:448
2524
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:549
2525
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:623
2526
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:681
2527
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:349
2528
  msgid "Log Entry"
2529
  msgstr ""
2530
 
2531
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:455
2532
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:898
2533
  msgid "Templates"
2534
  msgstr ""
2535
 
2536
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:458
2537
  msgid "Solvent users"
2538
  msgstr ""
2539
 
2540
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:460
2541
  msgid ""
2542
  "Message to show users on the payment page before they are charged. Leave "
2543
  "empty to hide.<br />Available template tags: General"
2544
  msgstr ""
2545
 
2546
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:463
2547
  msgid "Insolvent users"
2548
  msgstr ""
2549
 
2550
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:465
2551
  msgid ""
2552
  "Message to show users who do not have enough points to pay.<br />Available "
2553
  "template tags: General"
2554
  msgstr ""
2555
 
2556
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:470
2557
  msgid ""
2558
  "Message to show visitors (users not logged in) on the payment page.<br /"
2559
  ">Available template tags: General"
2560
  msgstr ""
2561
 
2562
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventespresso3.php:480
2563
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:380
2564
  msgid "Update Settings"
2565
  msgstr ""
2566
 
2567
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:30
2568
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:26
2569
  msgid "Payment for tickets to %link_with_title%"
2570
  msgstr ""
2571
 
2572
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:31
2573
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:27
2574
  msgid "Ticket refund for %link_with_title%"
2575
  msgstr ""
2576
 
2577
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:35
2578
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:31
2579
  msgid "Pay using your %_plural% balance"
2580
  msgstr ""
2581
 
2582
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:37
2583
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:33
2584
  msgid "Pay"
2585
  msgstr ""
2586
 
2587
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:40
2588
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:36
2589
  msgid "Thank you for your payment!"
2590
  msgstr ""
2591
 
2592
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:41
2593
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:37
2594
  msgid "I'm sorry but you can not pay for these tickets using %_plural%"
2595
  msgstr ""
2596
 
2597
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:129
2598
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:304
2599
  msgid "Ticket Type"
2600
  msgstr ""
2601
 
2602
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:138
2603
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:313
2604
  msgid "Spaces"
2605
  msgstr ""
2606
 
2607
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:220
2608
+ msgid "You can not pay using this gateway."
2609
  msgstr ""
2610
 
2611
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:357
2612
+ msgid "Reject"
2613
  msgstr ""
2614
 
2615
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:361
2616
+ msgid "Delete"
2617
+ msgstr ""
2618
+
2619
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:366
2620
+ msgid "Edit/View"
2621
  msgstr ""
2622
 
2623
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:437
2624
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:498
2625
  msgid "Disabled - Users CAN NOT pay for tickets using %plural%."
2626
  msgstr ""
2627
 
2628
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:438
2629
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:499
2630
  msgid "Single - Users can ONLY pay for tickets using %plural%."
2631
  msgstr ""
2632
 
2633
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:439
2634
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:500
2635
  msgid "Multi - Users can pay for tickets using other gateways or %plural%."
2636
  msgstr ""
2637
 
2638
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:443
2639
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:476
2640
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:504
2641
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:537
2642
  msgid "Refunds"
2643
  msgstr ""
2644
 
2645
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:446
2646
  msgid ""
2647
+ "The percentage of the paid amount to refund if a user cancells their "
2648
+ "booking. Use zero for no refunds. No refunds are given to \"Rejected\" "
2649
+ "bookings!"
2650
  msgstr ""
2651
 
2652
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:466
2653
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:527
2654
  msgid "Log Templates"
2655
  msgstr ""
2656
 
2657
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:469
2658
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:530
2659
  msgid "Purchases"
2660
  msgstr ""
2661
 
2662
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:472
2663
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:479
2664
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:533
2665
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:540
2666
  msgid "Available template tags: General and Post related."
2667
  msgstr ""
2668
 
2669
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:498
2670
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:559
2671
  msgid "Payment Link Label"
2672
  msgstr ""
2673
 
2674
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:501
2675
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:562
2676
  msgid ""
2677
  "The payment link shows / hides the payment form under \"My Bookings\". No "
2678
  "HTML allowed."
2679
  msgstr ""
2680
 
2681
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:505
2682
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:566
2683
  msgid "Payment Header"
2684
  msgstr ""
2685
 
2686
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:508
2687
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:569
2688
  msgid "Shown on top of the payment form. No HTML allowed."
2689
  msgstr ""
2690
 
2691
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:515
2692
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:576
2693
  msgid "The button label for payments. No HTML allowed!"
2694
  msgstr ""
2695
 
2696
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:522
2697
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:583
 
 
 
2698
  msgid "Successful Payments"
2699
  msgstr ""
2700
 
2701
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:525
2702
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager-pro.php:532
2703
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:586
2704
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:593
2705
  msgid "No HTML allowed! Available template tags: General"
2706
  msgstr ""
2707
 
2708
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:382
2709
+ msgid "Balance After Payment"
2710
+ msgstr ""
2711
+
2712
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:489
2713
+ msgid "Click to toggle"
2714
+ msgstr ""
2715
+
2716
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:489
2717
+ #, php-format
2718
+ msgid "%s Payments"
2719
+ msgstr ""
2720
+
2721
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/gateway/event-booking/mycred-eventsmanager.php:507
2722
+ msgid ""
2723
+ "The percentage of the paid amount to refund if a booking gets cancelled. Use "
2724
+ "zero for no refunds. No refunds are given to \"Rejected\" bookings."
2725
+ msgstr ""
2726
+
2727
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:12
2728
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:40
2729
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:41
2730
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:42
2731
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:466
2732
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:743
2733
  msgid "Import"
2734
  msgstr ""
2735
 
2736
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:13
2737
  msgid ""
2738
  "With the Import add-on you can import CSV files, CubePoints or existing "
2739
  "points under any custom user meta values."
2740
  msgstr ""
2741
 
2742
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:91
2743
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:749
2744
  msgid "CSV File"
2745
  msgstr ""
2746
 
2747
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:92
2748
  msgid "Import %_plural% from a comma-separated values (CSV) file."
2749
  msgstr ""
2750
 
2751
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:95
2752
  msgid "CubePoints"
2753
  msgstr ""
2754
 
2755
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:96
2756
  msgid "Import CubePoints"
2757
  msgstr ""
2758
 
2759
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:99
2760
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:769
2761
  msgid "Custom User Meta"
2762
  msgstr ""
2763
 
2764
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:100
2765
  msgid "Import %_plural% from pre-existing custom user meta."
2766
  msgstr ""
2767
 
2768
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:217
2769
  msgid "No file selected. Please select your CSV file and try again."
2770
  msgstr ""
2771
 
2772
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:232
2773
  msgid "Failed to load file."
2774
  msgstr ""
2775
 
2776
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:253
2777
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:423
2778
  #, php-format
2779
  msgid ""
2780
  "Zero rows imported! Skipped %d entries. Import completed in %.2f seconds."
2781
  msgstr ""
2782
 
2783
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:262
2784
  msgid ""
2785
  "No valid records found in file. Make sure you have selected the correct way "
2786
  "to identify users in the mycred_user column!"
2787
  msgstr ""
2788
 
2789
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:268
2790
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:351
2791
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:438
2792
  #, php-format
2793
  msgid ""
2794
  "Import successfully completed. A total of %d users were effected and %d "
2795
  "entires were skipped. Import completed in %.2f seconds."
2796
  msgstr ""
2797
 
2798
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:302
2799
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:587
2800
  msgid "No CubePoints found."
2801
  msgstr ""
2802
 
2803
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:336
2804
  #, php-format
2805
  msgid ""
2806
  "Zero CubePoints imported! Skipped %d entries. Import completed in %.2f "
2807
  "seconds."
2808
  msgstr ""
2809
 
2810
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:345
2811
  msgid "No valid CubePoints founds."
2812
  msgstr ""
2813
 
2814
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:371
2815
  msgid "Missing meta key. Not sure what I should be looking for."
2816
  msgstr ""
2817
 
2818
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:390
2819
  #, php-format
2820
  msgid "No rows found for the <strong>%s</strong> meta key."
2821
  msgstr ""
2822
 
2823
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:432
2824
  msgid "No valid records founds."
2825
  msgstr ""
2826
 
2827
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:478
2828
  msgid "Remember to de-activate this add-on once you are done importing!"
2829
  msgstr ""
2830
 
2831
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:510
2832
  msgid "File"
2833
  msgstr ""
2834
 
2835
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:514
2836
  msgid "Maximum allowed upload size is "
2837
  msgstr ""
2838
 
2839
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:514
2840
  msgid ""
2841
  "Required columns: <code>mycred_user</code> and <code>mycred_amount</code>. "
2842
  "Optional columns: <code>mycred_log</code>."
2843
  msgstr ""
2844
 
2845
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:517
2846
  msgid "Identify Users By"
2847
  msgstr ""
2848
 
2849
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:520
2850
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:343
2851
  msgid "ID"
2852
  msgstr ""
2853
 
2854
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:521
 
2855
  msgid "Username"
2856
  msgstr ""
2857
 
2858
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:522
2859
  msgid "Email"
2860
  msgstr ""
2861
 
2862
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:529
2863
  msgid "How much is 1 imported value worth?"
2864
  msgstr ""
2865
 
2866
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:534
2867
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:602
2868
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:666
2869
  msgid "Round"
2870
  msgstr ""
2871
 
2872
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:535
2873
  msgid "None"
2874
  msgstr ""
2875
 
2876
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:536
2877
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:604
2878
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:668
2879
  msgid "Round Up"
2880
  msgstr ""
2881
 
2882
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:537
2883
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:605
2884
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:669
2885
  msgid "Round Down"
2886
  msgstr ""
2887
 
2888
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:542
2889
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:610
2890
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:674
2891
  msgid "Precision"
2892
  msgstr ""
2893
 
2894
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:544
2895
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:612
2896
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:676
2897
  msgid ""
2898
  "The optional number of decimal digits to round to. Use zero to round the "
2899
  "nearest whole number."
2900
  msgstr ""
2901
 
2902
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:553
2903
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:627
2904
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:685
2905
  msgid "See the help tab for available template tags. Leave blank to disable."
2906
  msgstr ""
2907
 
2908
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:558
2909
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:632
2910
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:696
2911
  msgid "Run Import"
2912
  msgstr ""
2913
 
2914
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:585
2915
  #, php-format
2916
  msgid "Found %d users with CubePoints."
2917
  msgstr ""
2918
 
2919
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:588
2920
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:652
2921
  msgid "Meta Key"
2922
  msgstr ""
2923
 
2924
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:603
2925
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:667
2926
  msgid "Do not round"
2927
  msgstr ""
2928
 
2929
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:617
2930
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:688
2931
  msgid "After Import"
2932
  msgstr ""
2933
 
2934
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:620
2935
  msgid "Delete users CubePoints balance."
2936
  msgstr ""
2937
 
2938
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:691
2939
  msgid "Delete the old value."
2940
  msgstr ""
2941
 
2942
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:720
2943
  msgid "Failed to get file contents."
2944
  msgstr ""
2945
 
2946
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:725
2947
  msgid "Failed to put file contents."
2948
  msgstr ""
2949
 
2950
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:745
2951
  msgid ""
2952
  "This add-on lets you import %_plural% either though a CSV-file or from your "
2953
  "database. Remember that the import can take time depending on your file size "
2954
  "or the number of users being imported."
2955
  msgstr ""
2956
 
2957
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:751
2958
  msgid "CSV Import"
2959
  msgstr ""
2960
 
2961
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:752
2962
  msgid ""
2963
  "Imports using a comma-separated values file requires the following columns:"
2964
  msgstr ""
2965
 
2966
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:753
2967
  msgid ""
2968
  "Column identifing the user. All rows must identify the user the same way, "
2969
  "either using an ID, Username (user_login) or email. Users that can not be "
2970
  "found will be ignored."
2971
  msgstr ""
2972
 
2973
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:754
2974
  msgid ""
2975
  "Column with the amount to be imported. If set, an exchange rate is applied "
2976
  "to this value before import."
2977
  msgstr ""
2978
 
2979
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:755
2980
  msgid ""
2981
  "Optionally you can also use the <code>mycred_log</code> column to pre-define "
2982
  "the log entry for each import."
2983
  msgstr ""
2984
 
2985
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:759
2986
  msgid "Cubepoints"
2987
  msgstr ""
2988
 
2989
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:761
2990
  msgid "Cubepoints Import"
2991
  msgstr ""
2992
 
2993
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:762
2994
  msgid ""
2995
  "When this page loads, the importer will automatically check if you have been "
2996
  "using Cubepoints. If you have, you can import these with the option to "
2998
  "clean."
2999
  msgstr ""
3000
 
3001
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:763
3002
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:773
3003
  msgid ""
3004
  "Before a value is imported, you can apply an exchange rate. To import "
3005
  "without changing the value, use 1 as the exchange rate."
3006
  msgstr ""
3007
 
3008
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:764
3009
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:774
3010
  msgid ""
3011
  "You can select to add a log entry for each import or leave the template "
3012
  "empty to skip."
3013
  msgstr ""
3014
 
3015
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:765
3016
  msgid ""
3017
  "The Cubepoints importer will automatically disable itself if no Cubepoints "
3018
  "installation exists."
3019
  msgstr ""
3020
 
3021
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:771
3022
  msgid "Custom User Meta Import"
3023
  msgstr ""
3024
 
3025
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:772
3026
  msgid ""
3027
  "You can import any type of points that have previously been saved in your "
3028
  "database. All you need is the meta key under which it has been saved."
3029
  msgstr ""
3030
 
3031
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/import/myCRED-addon-import.php:775
3032
  msgid ""
3033
  "Please note that the meta key is case sensitive and can not contain "
3034
  "whitespaces!"
3035
  msgstr ""
3036
 
3037
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:12
3038
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:167
3039
  msgid "Notifications"
3040
  msgstr ""
3041
 
3042
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:13
3043
  msgid "Notify your users when their balances changes."
3044
  msgstr ""
3045
 
3046
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:169
3047
  msgid "Styling"
3048
  msgstr ""
3049
 
3050
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:173
3051
  msgid "Use the included CSS Styling for notifications."
3052
  msgstr ""
3053
 
3054
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:180
3055
  msgid ""
3056
  "Use %entry% to show the log entry in the notice and %amount% for the amount."
3057
  msgstr ""
3058
 
3059
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:183
3060
  msgid "Transient Lifespan"
3061
  msgstr ""
3062
 
3063
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:187
3064
  msgid ""
3065
  "The number of days a users notification is saved before being automatically "
3066
  "deleted."
3067
  msgstr ""
3068
 
3069
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:190
3070
  msgid "Duration"
3071
  msgstr ""
3072
 
3073
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/notifications/myCRED-addon-notifications.php:194
3074
  msgid ""
3075
  "The number of milliseconds a notice should be visible.<br />Use zero to "
3076
  "require that the user closes the notice manually. 1000 milliseconds = 1 "
3077
  "second."
3078
  msgstr ""
3079
 
3080
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:12
3081
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:166
3082
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:172
3083
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:178
3084
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:701
3085
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:893
3086
  msgid "Ranks"
3087
  msgstr ""
3088
 
3089
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:13
3090
  msgid ""
3091
  "Create ranks for users reaching a certain number of points with the option "
3092
  "to add logos for each rank."
3093
  msgstr ""
3094
 
3095
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:167
3096
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:396
3097
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:413
3098
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:509
3099
  msgid "Rank"
3100
  msgstr ""
3101
 
3102
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:169
3103
  msgid "Add New Rank"
3104
  msgstr ""
3105
 
3106
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:170
3107
  msgid "Edit Rank"
3108
  msgstr ""
3109
 
3110
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:171
3111
  msgid "New Rank"
3112
  msgstr ""
3113
 
3114
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:173
3115
  msgid "View Rank"
3116
  msgstr ""
3117
 
3118
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:174
3119
  msgid "Search Ranks"
3120
  msgstr ""
3121
 
3122
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:175
3123
  msgid "No ranks found"
3124
  msgstr ""
3125
 
3126
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:176
3127
  msgid "No ranks found in Trash"
3128
  msgstr ""
3129
 
3130
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:242
3131
  #, php-format
3132
  msgid "Completed - Total of %d users effected"
3133
  msgstr ""
3134
 
3135
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:244
3136
  msgid "Log is Empty"
3137
  msgstr ""
3138
 
3139
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:438
3140
  msgid "Newbie"
3141
  msgstr ""
3142
 
3143
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:469
3144
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:472
3145
  #, php-format
3146
  msgid "Rank Updated. View <a href=\"%1$s\">All Ranks</a>."
3147
  msgstr ""
3148
 
3149
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:474
3150
  msgid "Rank Activated"
3151
  msgstr ""
3152
 
3153
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:475
3154
  msgid "Rank Saved"
3155
  msgstr ""
3156
 
3157
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:476
3158
  #, php-format
3159
  msgid "Rank Submitted for approval. View <a href=\"%1$s\">All Ranks</a>."
3160
  msgstr ""
3161
 
3162
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:478
3163
  #, php-format
3164
  msgid "Rank scheduled for: <strong>%1$s</strong>."
3165
  msgstr ""
3166
 
3167
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:535
3168
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:590
3169
  msgid "Rank Title"
3170
  msgstr ""
3171
 
3172
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:536
3173
  msgid "Logo"
3174
  msgstr ""
3175
 
3176
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:537
3177
  msgid "Requirement"
3178
  msgstr ""
3179
 
3180
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:538
3181
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:365
3182
  msgid "Users"
3183
  msgstr ""
3184
 
3185
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:554
3186
  msgid "No Logo Set"
3187
  msgstr ""
3188
 
3189
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:563
3190
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:568
3191
  msgid "Any Value"
3192
  msgstr ""
3193
 
3194
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:570
3195
  msgid "Maximum %plural%"
3196
  msgstr ""
3197
 
3198
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:603
3199
  msgid "Rank Settings"
3200
  msgstr ""
3201
 
3202
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:625
3203
  msgid "Minimum %plural% to reach this rank"
3204
  msgstr ""
3205
 
3206
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:629
3207
  msgid "Maximum %plural% to be included in this rank"
3208
  msgstr ""
3209
 
3210
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:634
3211
  msgid "All Published Ranks"
3212
  msgstr ""
3213
 
3214
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:641
3215
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:643
3216
  msgid "Not Set"
3217
  msgstr ""
3218
 
3219
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:648
3220
  msgid "No Ranks found"
3221
  msgstr ""
3222
 
3223
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:703
3224
  msgid "Rank Features"
3225
  msgstr ""
3226
 
3227
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:707
3228
  msgid "%plural% requirement"
3229
  msgstr ""
3230
 
3231
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:708
3232
  msgid "Featured Image (Logo)"
3233
  msgstr ""
3234
 
3235
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:709
3236
  msgid "Content"
3237
  msgstr ""
3238
 
3239
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:710
3240
  msgid "Excerpt"
3241
  msgstr ""
3242
 
3243
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:711
3244
  msgid "Comments"
3245
  msgstr ""
3246
 
3247
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:712
3248
  msgid "Page Attributes"
3249
  msgstr ""
3250
 
3251
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:713
3252
  msgid "Custom Fields"
3253
  msgstr ""
3254
 
3255
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:716
3256
  msgid "Public"
3257
  msgstr ""
3258
 
3259
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:720
3260
  msgid ""
3261
  "If you want to create a template archive for each rank, you must select to "
3262
  "have ranks public. Defaults to disabled."
3263
  msgstr ""
3264
 
3265
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:723
3266
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:896
3267
  msgid "Rank Basis"
3268
  msgstr ""
3269
 
3270
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:726
3271
  msgid "Users are ranked according to their current balance."
3272
  msgstr ""
3273
 
3274
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:729
3275
  msgid ""
3276
  "Users are ranked according to the total amount of %_plural% they have "
3277
  "accumulated."
3278
  msgstr ""
3279
 
3280
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:733
3281
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:738
3282
  msgid "Calculate Totals"
3283
  msgstr ""
3284
 
3285
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:736
3286
  msgid ""
3287
  "Use this button to calculate or re-calcualte your users totals. If not used, "
3288
  "the users current balance will be used as a starting point."
3289
  msgstr ""
3290
 
3291
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:736
3292
  msgid ""
3293
  "Once a users total has been calculated, they will be assigned to their "
3294
  "appropriate roles. For this reason, it is highly recommended that you first "
3295
  "setup your ranks!"
3296
  msgstr ""
3297
 
3298
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:737
3299
  msgid ""
3300
  "Depending on your log size and number of users this process may take a "
3301
  "while. Please do not leave, click \"Update Settings\" or re-fresh this page "
3302
  "until this is completed!"
3303
  msgstr ""
3304
 
3305
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:742
3306
  msgid "Archive URL"
3307
  msgstr ""
3308
 
3309
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:746
3310
  msgid "Ignored if Ranks are not public"
3311
  msgstr ""
3312
 
3313
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:749
3314
  msgid "Display Order"
3315
  msgstr ""
3316
 
3317
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:756
3318
  msgid "Ascending - Lowest rank to highest"
3319
  msgstr ""
3320
 
3321
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:757
3322
  msgid "Descending - Highest rank to lowest"
3323
  msgstr ""
3324
 
3325
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:766
3326
  msgid ""
3327
  "Select in what order ranks should be displayed in your admin area and/or "
3328
  "front if ranks are \"Public\""
3329
  msgstr ""
3330
 
3331
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:782
3332
  msgid "Rank in BuddyPress"
3333
  msgstr ""
3334
 
3335
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:850
3336
  msgid "Script Communication Error"
3337
  msgstr ""
3338
 
3339
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:895
3340
  msgid ""
3341
  "You can create ranks according to the amount of points a user has. By "
3342
  "default, ranks are only visible in widgets and shortcodes however it is "
3344
  "specific ones."
3345
  msgstr ""
3346
 
3347
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:897
3348
  msgid ""
3349
  "As of version 1.2, you can select to rank users according to their current "
3350
  "balance or the total amount of %_plural% they have accumulated. This is "
3352
  "%_plural% to pay for items in your store or event tickets."
3353
  msgstr ""
3354
 
3355
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:899
3356
  msgid ""
3357
  "Ranks are just another custom post type which means that you can, if you "
3358
  "select to make Ranks Public, create custom template files for ranks in your "
3359
  "theme folder."
3360
  msgstr ""
3361
 
3362
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:900
3363
  #, php-format
3364
  msgid ""
3365
  "For more information on Templates for Custom Post Types visit the <a href="
3366
  "\"%s\">WordPress Codex</a>."
3367
  msgstr ""
3368
 
3369
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:901
3370
  msgid "Changing URL Slug"
3371
  msgstr ""
3372
 
3373
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:902
3374
  msgid "You can change the URL slug used for ranks to any URL friendly value."
3375
  msgstr ""
3376
 
3377
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/myCRED-addon-ranks.php:903
3378
  msgid ""
3379
  "If you are using a custom permalink structure and you make ranks public or "
3380
  "change the slug, you will need to visit your permalink settings page and "
3382
  "a 404 error message when trying to view a rank archive page."
3383
  msgstr ""
3384
 
3385
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/includes/mycred-rank-functions.php:148
3386
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/includes/mycred-rank-functions.php:154
3387
  msgid "No Rank"
3388
  msgstr ""
3389
 
3390
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/includes/mycred-rank-shortcodes.php:57
3391
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/includes/mycred-rank-shortcodes.php:132
3392
  msgid "No users found with this rank"
3393
  msgstr ""
3394
 
3395
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/includes/mycred-rank-shortcodes.php:62
3396
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:223
3397
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:226
3398
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:285
3399
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:334
3400
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:338
3401
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:342
3402
  msgid "error"
3403
  msgstr ""
3404
 
3405
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/ranks/includes/mycred-rank-shortcodes.php:62
3406
  msgid "Rank ID is required!"
3407
  msgstr ""
3408
 
3409
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:12
3410
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:304
3411
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:1061
3412
  msgid "Sell Content"
3413
  msgstr ""
3414
 
3415
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:13
3416
  msgid ""
3417
  "This add-on allows you to sell posts, pages or any public post types on your "
3418
  "website. You can either sell the entire content or using our shortcode, sell "
3419
  "parts of your content allowing you to offer \"teasers\"."
3420
  msgstr ""
3421
 
3422
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:42
3423
  msgid "<p>Buy this %post_type% for only %price% %buy_button%</p>"
3424
  msgstr ""
3425
 
3426
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:43
3427
  msgid ""
3428
  "<p><a href=\"%login_url_here%\">Login</a> to buy access to this %post_type%."
3429
  "</p>"
3430
  msgstr ""
3431
 
3432
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:44
3433
  msgid ""
3434
  "<p>You do not have enough %plural% to buy access to this %post_type%.</p>\n"
3435
  "<p><strong>Price</strong>: %price%</p>"
3436
  msgstr ""
3437
 
3438
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:54
3439
  msgid "Purchase of %link_with_title%"
3440
  msgstr ""
3441
 
3442
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:55
3443
  msgid "Sale of %link_with_title%"
3444
  msgstr ""
3445
 
3446
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:72
3447
  msgid "Hours"
3448
  msgstr ""
3449
 
3450
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:214
3451
  msgid "You can not buy this content."
3452
  msgstr ""
3453
 
3454
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:277
3455
  msgid "Error. Try Again"
3456
  msgstr ""
3457
 
3458
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:299
3459
  msgid "No Payout. Just charge."
3460
  msgstr ""
3461
 
3462
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:300
3463
  msgid "Pay Content Author."
3464
  msgstr ""
3465
 
3466
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:306
3467
  msgid "Post Types"
3468
  msgstr ""
3469
 
3470
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:310
3471
  msgid "Comma separated list of post types that can be sold."
3472
  msgstr ""
3473
 
3474
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:327
3475
  msgid "Percentage to pay Author"
3476
  msgstr ""
3477
 
3478
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:329
3479
  msgid ""
3480
  "Percentage of the price to pay the author. Can not be zero and is ignored if "
3481
  "authors are not paid."
3482
  msgstr ""
3483
 
3484
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:337
3485
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:1064
3486
  msgid "Defaults"
3487
  msgstr ""
3488
 
3489
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:345
3490
  msgid "Allow authors to change price."
3491
  msgstr ""
3492
 
3493
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:354
3494
  msgid "Allow authors to change button label."
3495
  msgstr ""
3496
 
3497
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:358
3498
  msgid "Purchases expire after"
3499
  msgstr ""
3500
 
3501
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:360
3502
  msgid "Use zero for permanent sales."
3503
  msgstr ""
3504
 
3505
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:363
3506
  msgid "Sale Template for non members"
3507
  msgstr ""
3508
 
3509
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:367
3510
  msgid ""
3511
  "Do <strong>not</strong> use the %buy_button% in this template as a user must "
3512
  "be logged in to buy content!"
3513
  msgstr ""
3514
 
3515
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:368
3516
  msgid ""
3517
  "Available template tags are: %singular%, %plural%, %post_title%, %post_url%, "
3518
  "%link_with_title%, %price%"
3519
  msgstr ""
3520
 
3521
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:371
3522
  msgid "Sale Template for members"
3523
  msgstr ""
3524
 
3525
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:375
3526
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:383
3527
  msgid "Your template must contain the %buy_button% tag for purchases to work!"
3528
  msgstr ""
3529
 
3530
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:376
3531
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:384
3532
  msgid ""
3533
  "Available template tags are: %singular%, %plural%, %post_title%, %post_url%, "
3534
  "%link_with_title%, %buy_button%, %price%"
3535
  msgstr ""
3536
 
3537
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:379
3538
  msgid "Insufficient funds template"
3539
  msgstr ""
3540
 
3541
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:387
3542
  msgid "Log template for Purchases"
3543
  msgstr ""
3544
 
3545
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:391
3546
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:398
3547
  msgid ""
3548
  "Available template tags are: %singular%, %plural%, %post_title%, %post_url% "
3549
  "or %link_with_title%"
3550
  msgstr ""
3551
 
3552
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:394
3553
  msgid "Log template for Sales"
3554
  msgstr ""
3555
 
3556
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:450
3557
  msgid "Sell This"
3558
  msgstr ""
3559
 
3560
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:499
3561
  msgid " Sell Content needs to be setup before you can use this feature."
3562
  msgstr ""
3563
 
3564
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:502
3565
  msgid "Setup add-on"
3566
  msgstr ""
3567
 
3568
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:502
3569
  msgid "Lets do it"
3570
  msgstr ""
3571
 
3572
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:531
3573
  msgid "Enable sale of this "
3574
  msgstr ""
3575
 
3576
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:545
3577
  msgid "Purchase expires after"
3578
  msgstr ""
3579
 
3580
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:794
3581
  msgid "Thank you for your purchase!"
3582
  msgstr ""
3583
 
3584
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:878
3585
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:961
3586
  msgid "The following content is set for sale:"
3587
  msgstr ""
3588
 
3589
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:979
3590
  msgid "No purchases found"
3591
  msgstr ""
3592
 
3593
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:1016
3594
  msgid "Purchased"
3595
  msgstr ""
3596
 
3597
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:1063
3598
  msgid ""
3599
  "This add-on lets you sell either entire contents or parts of it. You can "
3600
  "select if you want to just charge users or share a percentage of the sale "
3601
  "with the post author."
3602
  msgstr ""
3603
 
3604
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:1065
3605
  msgid ""
3606
  "The default price and button label is applied to all content that is set for "
3607
  "sale. You can select if you want to enforce these settings or let the "
3608
  "content authors set their own."
3609
  msgstr ""
3610
 
3611
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/sell-content/myCRED-addon-sell-content.php:1067
3612
  msgid ""
3613
  "You can either sell entire posts via the Sell Content Meta Box or by using "
3614
  "the <code>mycred_sell_this</code> shortcode.<br />For more information on "
3615
  "how to use the shortcode, please visit the"
3616
  msgstr ""
3617
 
3618
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:12
3619
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:50
3620
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:492
3621
  msgid "Transfer"
3622
  msgstr ""
3623
 
3624
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:13
3625
  msgid ""
3626
  "Allow your users to send or \"donate\" points to other members by either "
3627
  "using the mycred_transfer shortcode or the myCRED Transfer widget."
3628
  msgstr ""
3629
 
3630
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:43
3631
  msgid "You do not have enough %plural% to send."
3632
  msgstr ""
3633
 
3634
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:44
3635
  msgid "You have exceeded your %limit% transfer limit."
3636
  msgstr ""
3637
 
3638
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:143
3639
  msgid "Transaction completed."
3640
  msgstr ""
3641
 
3642
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:144
3643
  msgid ""
3644
  "Security token could not be verified. Please contact your site administrator!"
3645
  msgstr ""
3646
 
3647
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:145
3648
  msgid "Communications error. Please try again later."
3649
  msgstr ""
3650
 
3651
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:146
3652
  msgid "Recipient not found. Please try again."
3653
  msgstr ""
3654
 
3655
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:147
3656
  msgid "Transaction declined by recipient."
3657
  msgstr ""
3658
 
3659
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:148
3660
  msgid "Incorrect amount. Please try again."
3661
  msgstr ""
3662
 
3663
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:149
3664
  msgid ""
3665
  "This myCRED Add-on has not yet been setup! No transfers are allowed until "
3666
  "this has been done!"
3667
  msgstr ""
3668
 
3669
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:150
3670
  msgid "Insufficient funds. Please enter a lower amount."
3671
  msgstr ""
3672
 
3673
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:151
3674
  msgid "Transfer Limit exceeded."
3675
  msgstr ""
3676
 
3677
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:152
3678
  msgid ""
3679
  "The request amount will exceed your transfer limit. Please try again with a "
3680
  "lower amount!"
3681
  msgstr ""
3682
 
3683
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:177
3684
  msgid "No limits."
3685
  msgstr ""
3686
 
3687
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:178
3688
  msgid "Impose daily limit."
3689
  msgstr ""
3690
 
3691
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:179
3692
  msgid "Impose weekly limit."
3693
  msgstr ""
3694
 
3695
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:183
3696
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:591
3697
  msgid "Transfer %plural%"
3698
  msgstr ""
3699
 
3700
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:185
3701
  msgid "Log template for sending"
3702
  msgstr ""
3703
 
3704
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:192
3705
  msgid "Log template for receiving"
3706
  msgstr ""
3707
 
3708
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:199
3709
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:954
3710
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1200
3711
  msgid "Limits"
3712
  msgstr ""
3713
 
3714
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:216
3715
  msgid "Maximum Amount"
3716
  msgstr ""
3717
 
3718
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:218
3719
  msgid "This amount is ignored if no limits are imposed."
3720
  msgstr ""
3721
 
3722
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:221
3723
  msgid "Form Templates"
3724
  msgstr ""
3725
 
3726
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:224
3727
  msgid "Not logged in Template"
3728
  msgstr ""
3729
 
3730
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:226
3731
  msgid ""
3732
  "Text to show when users are not logged in. Leave empty to hide. No HTML "
3733
  "elements allowed!"
3734
  msgstr ""
3735
 
3736
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:230
3737
  msgid "Balance Template"
3738
  msgstr ""
3739
 
3740
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:232
3741
  msgid ""
3742
  "Template to use when displaying the users balance (if included). No HTML "
3743
  "elements allowed!"
3744
  msgstr ""
3745
 
3746
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:236
3747
  msgid "Limit Template"
3748
  msgstr ""
3749
 
3750
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:238
3751
  msgid ""
3752
  "Template to use when displaying limits (if used). No HTML elements allowed!"
3753
  msgstr ""
3754
 
3755
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:242
3756
  msgid "Button Template"
3757
  msgstr ""
3758
 
3759
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:244
3760
  msgid "Send Transfer button template. No HTML elements allowed!"
3761
  msgstr ""
3762
 
3763
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:247
3764
  msgid "Error Messages"
3765
  msgstr ""
3766
 
3767
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:250
3768
  msgid "Balance to low to send."
3769
  msgstr ""
3770
 
3771
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:252
3772
  msgid ""
3773
  "Text to show when a users balance is to low for transfers. Leave empty to "
3774
  "hide. No HTML elements allowed!"
3775
  msgstr ""
3776
 
3777
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:256
3778
  msgid "Transfer Limit Reached."
3779
  msgstr ""
3780
 
3781
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:258
3782
  msgid ""
3783
  "Text to show when a user has reached their transfer limit (if used). Leave "
3784
  "empty to hide. No HTML elements allowed!"
3785
  msgstr ""
3786
 
3787
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:494
3788
  msgid ""
3789
  "This add-on lets your users transfer %_plural% to each other. Members who "
3790
  "are set to be excluded can neither send or receive %_plural%."
3791
  msgstr ""
3792
 
3793
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:495
3794
  msgid "Transfer Limit"
3795
  msgstr ""
3796
 
3797
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:496
3798
  msgid ""
3799
  "You can impose a daily-, weekly- or monthly transfer limit for each user. "
3800
  "Note, that this transfer limit is imposed on everyone who are not excluded "
3801
  "from using myCRED."
3802
  msgstr ""
3803
 
3804
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:498
3805
  msgid ""
3806
  "Transfers can be made by either using the <code>mycred_transfer</code> "
3807
  "shortcode or via the myCRED Transfer Widget.<br />For more information on "
3808
  "how to use the shortcode, please visit the"
3809
  msgstr ""
3810
 
3811
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:521
3812
  msgid "Allow transfers between users."
3813
  msgstr ""
3814
 
3815
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:523
3816
  #, php-format
3817
  msgid "%s Transfer"
3818
  msgstr ""
3819
 
3820
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:537
3821
  msgid "The myCRED Transfer add-on has not yet been setup!"
3822
  msgstr ""
3823
 
3824
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:602
3825
  msgid "Show users balance"
3826
  msgstr ""
3827
 
3828
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:606
3829
  msgid "Show users limit"
3830
  msgstr ""
3831
 
3832
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:729
3833
  msgid "To:"
3834
  msgstr ""
3835
 
3836
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/addons/transfer/myCRED-addon-transfer.php:733
3837
  msgid "Amount:"
3838
  msgstr ""
3839
 
3840
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:68
3841
  msgid "User is excluded"
3842
  msgstr ""
3843
 
3844
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:73
3845
  msgid "Log Entry can not be empty"
3846
  msgstr ""
3847
 
3848
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:77
3849
  msgid "Amount can not be zero"
3850
  msgstr ""
3851
 
3852
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:174
3853
  msgid "Excluded"
3854
  msgstr ""
3855
 
3856
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:181
3857
  msgid "History"
3858
  msgstr ""
3859
 
3860
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:183
3861
  msgid "Adjust"
3862
  msgstr ""
3863
 
3864
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:234
3865
  #, php-format
3866
  msgid "My current %singular% balance"
3867
  msgstr ""
3868
 
3869
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:257
3870
  msgid "Adjust Your Balance"
3871
  msgstr ""
3872
 
3873
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:259
3874
  msgid "Adjust Users Balance"
3875
  msgstr ""
3876
 
3877
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:266
3878
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:337
3879
  msgid "required"
3880
  msgstr ""
3881
 
3882
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:268
3883
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:339
3884
  msgid "optional"
3885
  msgstr ""
3886
 
3887
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:274
3888
  msgid "Log description for adjustment"
3889
  msgstr ""
3890
 
3891
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:275
3892
  msgid "Update"
3893
  msgstr ""
3894
 
3895
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:276
3896
  msgid "Description is required!"
3897
  msgstr ""
3898
 
3899
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:281
3900
  msgid "Users Current Balance"
3901
  msgstr ""
3902
 
3903
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:348
3904
  msgid "A positive or negative value"
3905
  msgstr ""
3906
 
3907
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-admin.php:350
3908
  msgid "Update Balance"
3909
  msgstr ""
3910
 
3911
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:65
3912
+ msgid "Point"
3913
+ msgstr ""
3914
+
3915
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:66
3916
+ msgid "Points"
3917
+ msgstr ""
3918
+
3919
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:388
3920
  msgid "Deleted"
3921
  msgstr ""
3922
 
3923
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:523
3924
  msgid "Deleted Item"
3925
  msgstr ""
3926
 
3927
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:1304
3928
  msgid "ref empty"
3929
  msgstr ""
3930
 
3931
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:1312
3932
  msgid "incorrect user id format"
3933
  msgstr ""
3934
 
3935
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:1325
3936
  msgid "incorrect unix timestamp (from):"
3937
  msgstr ""
3938
 
3939
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-functions.php:1334
3940
  msgid "incorrect unix timestamp (to):"
3941
  msgstr ""
3942
 
3943
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:38
3944
  msgid "myCRED requires WordPress 3.1 or higher. Version detected:"
3945
  msgstr ""
3946
 
3947
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:43
3948
  msgid "myCRED requires PHP 5.2.0 or higher. Version detected: "
3949
  msgstr ""
3950
 
3951
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:48
3952
  msgid "myCRED requires SQL 5.0 or higher. Version detected: "
3953
  msgstr ""
3954
 
3955
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:53
3956
  msgid ""
3957
  "Sorry but your WordPress installation does not reach the minimum "
3958
  "requirements for running myCRED. The following errors were given:"
3959
  msgstr ""
3960
 
3961
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:253
3962
  msgid "myCRED needs your attention."
3963
  msgstr ""
3964
 
3965
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:253
3966
  msgid "Run Setup"
3967
  msgstr ""
3968
 
3969
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:265
3970
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:266
3971
  msgid "myCRED Setup"
3972
  msgstr ""
3973
 
3974
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:410
3975
  msgid "Step"
3976
  msgstr ""
3977
 
3978
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:433
3979
  msgid ""
3980
  "Click \"Begin Setup\" to install myCRED. You will be able to select your "
3981
  "points format, layout and security settings."
3982
  msgstr ""
3983
 
3984
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:434
3985
  msgid "Begin Setup"
3986
  msgstr ""
3987
 
3988
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:491
3989
  msgid "Select the format you want to use for your points."
3990
  msgstr ""
3991
 
3992
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:492
3993
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:200
3994
  msgid "Format"
3995
  msgstr ""
3996
 
3997
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:495
3998
  msgid "Separators"
3999
  msgstr ""
4000
 
4001
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:505
4002
  msgid "Decimals"
4003
  msgstr ""
4004
 
4005
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:507
4006
  msgid "Use zero for no decimals."
4007
  msgstr ""
4008
 
4009
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:510
4010
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:255
4011
  msgid "Presentation"
4012
  msgstr ""
4013
 
4014
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:513
4015
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:242
4016
  msgid "Name (Singular)"
4017
  msgstr ""
4018
 
4019
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:517
4020
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:247
4021
  msgid "Name (Plural)"
4022
  msgstr ""
4023
 
4024
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:523
4025
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:258
4026
  msgid "Prefix"
4027
  msgstr ""
4028
 
4029
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:531
4030
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:266
4031
  msgid "Suffix"
4032
  msgstr ""
4033
 
4034
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:536
4035
  msgid "Cancel Setup"
4036
  msgstr ""
4037
 
4038
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:536
4039
  msgid "Cancel"
4040
  msgstr ""
4041
 
4042
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:536
4043
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:616
4044
  msgid "Next"
4045
  msgstr ""
4046
 
4047
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:565
4048
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:274
4049
  msgid "Security"
4050
  msgstr ""
4051
 
4052
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:568
4053
  msgid "Edit Settings Capability"
4054
  msgstr ""
4055
 
4056
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:572
4057
  msgid "Edit Users %plural% Capability"
4058
  msgstr ""
4059
 
4060
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:580
4061
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:291
4062
  msgid "Exclude those who can \"Edit Settings\"."
4063
  msgstr ""
4064
 
4065
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:584
4066
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:295
4067
  msgid "Exclude those who can \"Edit Users %plural%\"."
4068
  msgstr ""
4069
 
4070
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:587
4071
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:299
4072
  msgid "Exclude the following user IDs:"
4073
  msgstr ""
4074
 
4075
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:591
4076
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:304
4077
  msgid "Rankings"
4078
  msgstr ""
4079
 
4080
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:595
4081
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:308
4082
  msgid "Update rankings each time a users balance changes."
4083
  msgstr ""
4084
 
4085
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:599
4086
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:312
4087
  msgid "Update rankings once a day."
4088
  msgstr ""
4089
 
4090
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:603
4091
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:316
4092
  msgid "Update rankings once a week."
4093
  msgstr ""
4094
 
4095
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:607
4096
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:320
4097
  msgid "Update rankings on a specific date."
4098
  msgstr ""
4099
 
4100
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:611
4101
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:244
4102
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:324
4103
  msgid "Date"
4104
  msgstr ""
4105
 
4106
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:635
4107
  msgid "Ready"
4108
  msgstr ""
4109
 
4110
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:636
4111
  msgid "Almost done! Click the button below to finish this setup."
4112
  msgstr ""
4113
 
4114
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-install.php:637
4115
  msgid "Install & Run"
4116
  msgstr ""
4117
 
4118
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:246
4119
+ msgid "Entry"
4120
+ msgstr ""
4121
+
4122
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:346
4123
+ msgid "User Missing"
4124
+ msgstr ""
4125
+
4126
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:385
4127
+ msgid "No log entries found"
4128
+ msgstr ""
4129
+
4130
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:400
4131
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:402
4132
+ msgid "Search Log"
4133
+ msgstr ""
4134
+
4135
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-log.php:401
4136
+ msgid "search log entries"
4137
+ msgstr ""
4138
+
4139
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:60
4140
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:61
4141
  msgid "Network Settings"
4142
  msgstr ""
4143
 
4144
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:158
4145
  msgid "Network"
4146
  msgstr ""
4147
 
4148
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:164
4149
+ #, php-format
4150
+ msgid "Note! %s has not yet been setup."
4151
+ msgstr ""
4152
+
4153
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:168
4154
  msgid "Network Settings Updated"
4155
  msgstr ""
4156
 
4157
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:170
4158
  #, php-format
4159
  msgid "Configure network settings for %s."
4160
  msgstr ""
4161
 
4162
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:177
4163
  msgid "Master Template"
4164
  msgstr ""
4165
 
4166
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:181
4167
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:195
4168
  msgid "Yes"
4169
  msgstr ""
4170
 
4171
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:185
4172
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:199
4173
  msgid "No"
4174
  msgstr ""
4175
 
4176
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:188
4177
+ #, php-format
4178
+ msgid ""
4179
+ "If enabled, %s will use your main site's settings for all other sites in "
4180
+ "your network."
4181
+ msgstr ""
4182
+
4183
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:191
4184
+ msgid "Central Logging"
4185
+ msgstr ""
4186
+
4187
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:202
4188
  #, php-format
4189
+ msgid "If enabled, %s will log all site actions in your main site's log."
4190
  msgstr ""
4191
 
4192
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:205
4193
  msgid "Site Block"
4194
  msgstr ""
4195
 
4196
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:209
4197
  #, php-format
4198
  msgid "Comma separated list of blog ids where %s is to be disabled."
4199
  msgstr ""
4200
 
4201
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-network.php:218
4202
  msgid "Save Network Settings"
4203
  msgstr ""
4204
 
4205
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:523
4206
+ msgid "This feature requires WordPress Permalinks to be setup and enabled!"
4207
+ msgstr ""
4208
+
4209
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:526
4210
+ msgid "Click Update Settings to load the Remote API settings."
4211
+ msgstr ""
4212
+
4213
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:528
4214
+ msgid "Allow Remote Access"
4215
+ msgstr ""
4216
+
4217
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:549
4218
+ msgid "Remote Access"
4219
+ msgstr ""
4220
+
4221
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:551
4222
+ msgid "API Key"
4223
+ msgstr ""
4224
+
4225
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:554
4226
+ msgid "Key"
4227
+ msgstr ""
4228
+
4229
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:555
4230
+ msgid "min. 12 characters"
4231
+ msgstr ""
4232
+
4233
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:556
4234
+ msgid "Required for this feature to work!<br />Minimum 12 characters."
4235
+ msgstr ""
4236
+
4237
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:559
4238
+ msgid "Key Length"
4239
+ msgstr ""
4240
+
4241
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:564
4242
+ msgid "Generate New Key"
4243
+ msgstr ""
4244
+
4245
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:566
4246
+ msgid "Warning!"
4247
+ msgstr ""
4248
+
4249
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:566
4250
+ msgid ""
4251
+ "Keep this key safe! Those you share this key with will be able to remotely "
4252
+ "deduct / add / transfer %plural%!"
4253
+ msgstr ""
4254
+
4255
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:568
4256
+ msgid "Incoming URI"
4257
+ msgstr ""
4258
+
4259
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:572
4260
+ msgid ""
4261
+ "The incoming call address. Remote calls made to any other URL will be "
4262
+ "ignored."
4263
+ msgstr ""
4264
+
4265
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:575
4266
+ msgid "Debug Mode"
4267
+ msgstr ""
4268
+
4269
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-remote.php:578
4270
+ msgid ""
4271
+ "Remember to disable when not used to prevent mischievous calls from learning "
4272
+ "about your setup!"
4273
+ msgstr ""
4274
+
4275
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:146
4276
  msgid "Leaderboard is empty."
4277
  msgstr ""
4278
 
4279
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:223
4280
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:334
4281
  msgid "Amount missing!"
4282
  msgstr ""
4283
 
4284
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:226
4285
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:342
4286
  msgid "Log Template Missing!"
4287
  msgstr ""
4288
 
4289
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:285
4290
  msgid "Anchor missing URL!"
4291
  msgstr ""
4292
 
4293
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:338
4294
  msgid "User ID missing for recipient."
4295
  msgstr ""
4296
 
4297
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:392
4298
+ msgid "Sent"
4299
+ msgstr ""
4300
+
4301
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:393
4302
+ msgid "Error - Try Again"
4303
+ msgstr ""
4304
+
4305
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-shortcodes.php:488
4306
  msgid "A video ID is required for this shortcode"
4307
  msgstr ""
4308
 
4309
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:19
4310
  #, php-format
4311
  msgid "Show the current users %s balance"
4312
  msgstr ""
4313
 
4314
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:21
4315
  #, php-format
4316
  msgid "%s Balance"
4317
  msgstr ""
4318
 
4319
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:156
4320
  msgid "My Balance"
4321
  msgstr ""
4322
 
4323
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:167
4324
  msgid "<a href=\"%login_url_here%\">Login</a> to view your balance."
4325
  msgstr ""
4326
 
4327
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:191
4328
  msgid "Layout"
4329
  msgstr ""
4330
 
4331
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:193
4332
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:216
4333
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:226
4334
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:374
4335
  msgid "See the help tab for available template tags."
4336
  msgstr ""
4337
 
4338
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:198
4339
  msgid "Include users ranking"
4340
  msgstr ""
4341
 
4342
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:202
4343
  msgid ""
4344
  "This will be appended after the balance. See the help tab for available "
4345
  "template tags."
4346
  msgstr ""
4347
 
4348
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:208
4349
  msgid "Include history"
4350
  msgstr ""
4351
 
4352
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:210
4353
  msgid "History Title"
4354
  msgstr ""
4355
 
4356
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:212
4357
  msgid "Number of entires"
4358
  msgstr ""
4359
 
4360
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:214
4361
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:372
4362
  msgid "Row layout"
4363
  msgstr ""
4364
 
4365
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:222
4366
  msgid "Show message when not logged in"
4367
  msgstr ""
4368
 
4369
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:224
4370
  msgid "Message"
4371
  msgstr ""
4372
 
4373
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:297
4374
  #, php-format
4375
  msgid "Show a list of users sorted by their %s balance"
4376
  msgstr ""
4377
 
4378
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:299
4379
  #, php-format
4380
  msgid "%s List"
4381
  msgstr ""
4382
 
4383
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:352
4384
  msgid "Leaderboard"
4385
  msgstr ""
4386
 
4387
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:365
4388
  msgid "Visible to non-members"
4389
  msgstr ""
4390
 
4391
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:368
4392
  msgid "Number of users"
4393
  msgstr ""
4394
 
4395
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:377
4396
  msgid "Offset"
4397
  msgstr ""
4398
 
4399
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:379
4400
  msgid "Optional offset of order. Use zero to return the first in the list."
4401
  msgstr ""
4402
 
4403
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:382
4404
  msgid "Order"
4405
  msgstr ""
4406
 
4407
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:386
4408
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:195
4409
  msgid "Ascending"
4410
  msgstr ""
4411
 
4412
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/includes/mycred-widgets.php:387
4413
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:195
4414
  msgid "Descending"
4415
  msgstr ""
4416
 
4417
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:23
4418
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:24
4419
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:25
4420
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:260
4421
  msgid "Add-ons"
4422
  msgstr ""
4423
 
4424
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:265
4425
  msgid "Add-on Activated"
4426
  msgstr ""
4427
 
4428
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:267
4429
  msgid "Add-on Deactivated"
4430
  msgstr ""
4431
 
4432
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:270
4433
  msgid "Add-ons can expand your current installation with further features."
4434
  msgstr ""
4435
 
4436
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:289
4437
  #, php-format
4438
  msgid "You can find more add-ons in our %s."
4439
  msgstr ""
4440
 
4441
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:289
4442
  msgid "online store"
4443
  msgstr ""
4444
 
4445
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:309
4446
  msgid "Deactivate Add-on"
4447
  msgstr ""
4448
 
4449
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:310
4450
  msgid "Deactivate"
4451
  msgstr ""
4452
 
4453
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:315
4454
  msgid "Activate Add-on"
4455
  msgstr ""
4456
 
4457
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:316
4458
  msgid "Activate"
4459
  msgstr ""
4460
 
4461
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:333
4462
  msgid "Version"
4463
  msgstr ""
4464
 
4465
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:336
4466
  msgid "By"
4467
  msgstr ""
4468
 
4469
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-addons.php:339
4470
+ msgid "Documentation"
4471
  msgstr ""
4472
 
4473
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:56
4474
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:76
4475
+ msgid "Access denied for this action"
4476
  msgstr ""
4477
 
4478
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:93
4479
+ msgid "Accounts successfully reset"
4480
  msgstr ""
4481
 
4482
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:124
4483
+ msgid "No users found to export"
4484
  msgstr ""
4485
 
4486
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:231
4487
+ msgid "Adjust your core or add-on settings. Follow us on:"
4488
+ msgstr ""
4489
+
4490
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:231
4491
+ msgid "Facebook"
4492
  msgstr ""
4493
 
4494
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:231
4495
+ msgid "Google Plus"
4496
  msgstr ""
4497
 
4498
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:237
 
4499
  msgid "Core Settings"
4500
  msgstr ""
4501
 
4502
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:239
4503
  msgid "Name"
4504
  msgstr ""
4505
 
4506
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:244
4507
  msgid "Accessible though the %singular% template tag."
4508
  msgstr ""
4509
 
4510
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:249
4511
  msgid "Accessible though the %plural% template tag."
4512
  msgstr ""
4513
 
4514
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:252
4515
  msgid "Tip"
4516
  msgstr ""
4517
 
4518
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:252
4519
  msgid ""
4520
  "Adding an underscore at the beginning of template tag for names will return "
4521
  "them in lowercase. i.e. %_singular%"
4522
  msgstr ""
4523
 
4524
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:270
4525
  msgid "Separator"
4526
  msgstr ""
4527
 
4528
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:277
4529
  msgid "Edit Settings"
4530
  msgstr ""
4531
 
4532
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:279
4533
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:284
4534
  msgid "Capability to check for."
4535
  msgstr ""
4536
 
4537
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:282
4538
  msgid "Edit Users %plural%"
4539
  msgstr ""
4540
 
4541
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:301
4542
  msgid "Comma separated list of user ids to exclude. No spaces allowed!"
4543
  msgstr ""
4544
 
4545
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:341
4546
+ msgid "Management"
4547
  msgstr ""
4548
 
4549
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:343
4550
+ msgid "The Log"
 
 
 
4551
  msgstr ""
4552
 
4553
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:346
4554
+ msgid "Table Name"
 
 
4555
  msgstr ""
4556
 
4557
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:350
4558
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:92
4559
+ msgid "Entries"
4560
  msgstr ""
4561
 
4562
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:354
4563
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:369
4564
+ msgid "Actions"
 
4565
  msgstr ""
4566
 
4567
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:355
4568
+ msgid "Empty Log"
4569
  msgstr ""
4570
 
4571
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:361
4572
+ msgid "User Meta Key"
 
 
4573
  msgstr ""
4574
 
4575
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:370
4576
+ msgid "Set all to zero"
4577
  msgstr ""
4578
 
4579
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:370
4580
+ msgid "CSV Export"
4581
  msgstr ""
4582
 
4583
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:388
4584
+ msgid "Identify users by"
 
 
 
 
4585
  msgstr ""
4586
 
4587
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:393
4588
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:188
4589
+ msgid "User ID"
 
 
4590
  msgstr ""
4591
 
4592
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:394
4593
+ msgid "User Email"
 
 
4594
  msgstr ""
4595
 
4596
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:395
4597
+ msgid "User Login"
4598
  msgstr ""
4599
 
4600
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:402
4601
  msgid ""
4602
+ "Use ID if you intend to use this export as a backup of your current site "
4603
+ "while Email is recommended if you want to export to a different site."
4604
  msgstr ""
4605
 
4606
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:405
4607
+ msgid "Import Log Entry"
4608
  msgstr ""
4609
 
4610
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:407
4611
+ #, php-format
4612
+ msgid ""
4613
+ "Optional log entry to use if you intend to import this file in a different "
4614
+ "%s installation."
4615
  msgstr ""
4616
 
4617
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-general.php:410
4618
+ msgid "Export"
4619
  msgstr ""
4620
 
4621
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:23
4622
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:24
4623
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:25
4624
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:156
4625
+ msgid "Hooks"
4626
  msgstr ""
4627
 
4628
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:85
4629
+ msgid "%plural% for registrations"
4630
  msgstr ""
4631
 
4632
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:86
4633
+ msgid "Award %_plural% for users joining your website."
 
 
 
4634
  msgstr ""
4635
 
4636
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:92
4637
+ msgid "%plural% for logins"
4638
  msgstr ""
4639
 
4640
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:93
4641
+ msgid ""
4642
+ "Award %_plural% for logging in to your website. You can also set an optional "
4643
+ "limit."
4644
  msgstr ""
4645
 
4646
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:99
4647
+ msgid "%plural% for publishing content"
 
4648
  msgstr ""
4649
 
4650
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:100
4651
+ msgid ""
4652
+ "Award %_plural% for publishing content on your website. If your custom post "
4653
+ "type is not shown bellow, make sure it is set to \"Public\"."
4654
  msgstr ""
4655
 
4656
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:106
4657
+ msgid "%plural% for comments"
4658
  msgstr ""
4659
 
4660
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:107
4661
+ msgid "Award %_plural% for making comments."
4662
  msgstr ""
4663
 
4664
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:113
4665
+ msgid "%plural% for clicking on links"
4666
  msgstr ""
4667
 
4668
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:114
4669
+ msgid ""
4670
+ "Award %_plural% to users who clicks on links generated by the [mycred_link] "
4671
+ "shortcode."
4672
  msgstr ""
4673
 
4674
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:120
4675
+ msgid "%plural% for viewing Videos"
4676
  msgstr ""
4677
 
4678
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:121
4679
+ msgid ""
4680
+ "Award %_plural% to users who watches videos embedded using the "
4681
+ "[mycred_video] shortcode."
4682
  msgstr ""
4683
 
4684
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:160
4685
+ msgid ""
4686
+ "Hooks are instances where %_plural% are awarded or deducted from a user, "
4687
+ "depending on their actions around your website."
4688
  msgstr ""
4689
 
4690
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:447
4691
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:147
4692
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:168
4693
+ msgid "Limit"
4694
  msgstr ""
4695
 
4696
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:540
4697
+ msgid "%plural% for Posts"
4698
  msgstr ""
4699
 
4700
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:550
4701
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:563
4702
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:598
4703
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:268
4704
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:278
4705
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:416
4706
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:429
4707
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:442
4708
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:460
4709
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:473
4710
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:492
4711
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-contact-form7.php:138
4712
+ msgid "Available template tags: General, Post"
4713
  msgstr ""
4714
 
4715
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:553
4716
+ msgid "%plural% for Pages"
4717
  msgstr ""
4718
 
4719
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:588
4720
+ msgid "%plural% for %s"
4721
  msgstr ""
4722
 
4723
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:903
4724
+ msgid "Approved Comment"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4725
  msgstr ""
4726
 
4727
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:906
4728
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:923
4729
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:940
4730
+ msgid "Comment Author"
4731
  msgstr ""
4732
 
4733
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:910
4734
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:927
4735
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:944
4736
+ msgid "Content Author"
4737
  msgstr ""
4738
 
4739
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:917
4740
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:934
4741
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:951
4742
  msgid "Available template tags: General, Comment"
4743
  msgstr ""
4744
 
4745
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:920
4746
  msgid "Comment Marked SPAM"
4747
  msgstr ""
4748
 
4749
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:937
4750
  msgid "Trashed / Unapproved Comments"
4751
  msgstr ""
4752
 
4753
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:957
4754
  msgid "Limit per post"
4755
  msgstr ""
4756
 
4757
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:959
4758
  msgid ""
4759
  "The number of comments per post that grants %_plural%. Use zero for "
4760
  "unlimited."
4761
  msgstr ""
4762
 
4763
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:963
4764
  msgid "Limit per day"
4765
  msgstr ""
4766
 
4767
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:965
4768
  msgid ""
4769
  "Number of comments per day that grants %_plural%. Use zero for unlimited."
4770
  msgstr ""
4771
 
4772
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:970
4773
  msgid ""
4774
  "%plural% is to be awarded even when comment authors reply to their own "
4775
  "comment."
4776
  msgstr ""
4777
 
4778
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1037
4779
  msgid "Once for each unique URL"
4780
  msgstr ""
4781
 
4782
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1038
4783
  msgid "Once for each unique link id"
4784
  msgstr ""
4785
 
4786
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1190
4787
  msgid ""
4788
  "The default amount to award for clicking on links. You can override this in "
4789
  "the shortcode."
4790
  msgstr ""
4791
 
4792
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1197
4793
+ msgid ""
4794
+ "Available template tags: General and custom tags: %url%, %title% or %id%."
4795
  msgstr ""
4796
 
4797
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1208
4798
  msgid "Remember!"
4799
  msgstr ""
4800
 
4801
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1208
4802
  msgid ""
4803
  "If you select to limit by id and you do not include the id attribute in the "
4804
  "shortcode, no %_plural% will be awarded!"
4805
  msgstr ""
4806
 
4807
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1460
4808
  msgid "Amount to award for viewing videos."
4809
  msgstr ""
4810
 
4811
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1470
4812
  msgid "Award Logic"
4813
  msgstr ""
4814
 
4815
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1472
4816
  msgid "Select when %_plural% should be awarded or deducted."
4817
  msgstr ""
4818
 
4819
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1473
4820
  msgid "Play - As soon as video starts playing."
4821
  msgstr ""
4822
 
4823
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1474
4824
  msgid "Full - First when the entire video has played."
4825
  msgstr ""
4826
 
4827
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1475
4828
  msgid "Interval - For each x number of seconds watched."
4829
  msgstr ""
4830
 
4831
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1480
4832
  msgid "Number of seconds"
4833
  msgstr ""
4834
 
4835
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1487
4836
  msgid "Leniency"
4837
  msgstr ""
4838
 
4839
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1489
4840
  msgid ""
4841
  "The maximum percentage a users view of a movie can differ from the actual "
4842
  "length."
4843
  msgstr ""
4844
 
4845
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-hooks.php:1492
4846
  msgid ""
4847
  "Do not set this value to zero! A lot of thing can happen while a user "
4848
  "watches a movie and sometimes a few seconds can drop of the counter due to "
4849
  "buffering or play back errors."
4850
  msgstr ""
4851
 
4852
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:24
4853
  msgid "Activity Log"
4854
  msgstr ""
4855
 
4856
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:175
 
 
 
 
4857
  msgid "Show all references"
4858
  msgstr ""
4859
 
4860
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:194
4861
  msgid "Show in order"
4862
  msgstr ""
4863
 
4864
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:207
4865
  msgid "Filter"
4866
  msgstr ""
4867
 
4868
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:233
4869
+ #, php-format
4870
+ msgid "Showing %d %s"
4871
+ msgstr ""
4872
+
4873
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:233
4874
  msgid "entry"
4875
  msgstr ""
4876
 
4877
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/modules/mycred-module-log.php:252
4878
  msgid "Search results for"
4879
  msgstr ""
4880
 
4881
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:16
4882
+ msgid "BadgeOS"
4883
  msgstr ""
4884
 
4885
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:17
4886
+ msgid ""
4887
+ "Default settings for each BadgeOS Achievement type. These settings may be "
4888
+ "overridden for individual achievement type."
4889
  msgstr ""
4890
 
4891
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:93
4892
+ #, php-format
4893
+ msgid ""
4894
+ "Please setup your <a href=\"%s\">default settings</a> before using this "
4895
+ "feature."
4896
  msgstr ""
4897
 
4898
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:104
4899
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:106
4900
+ msgid "%plural% to Award"
4901
+ msgstr ""
4902
+
4903
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:108
4904
+ msgid "Use zero to disable"
4905
+ msgstr ""
4906
+
4907
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:119
4908
+ msgid "Deduction Log Template"
4909
+ msgstr ""
4910
+
4911
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:255
4912
+ #, php-format
4913
+ msgid "Default %s for %s"
4914
+ msgstr ""
4915
+
4916
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:262
4917
+ msgid "Use zero to disable users gaining %_plural%"
4918
  msgstr ""
4919
 
4920
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:266
4921
+ msgid "Default Log template"
4922
+ msgstr ""
4923
+
4924
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-badgeOS.php:272
4925
+ msgid "Deduct %_plural% if user looses "
4926
+ msgstr ""
4927
+
4928
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:16
4929
+ msgid "bbPress"
4930
+ msgstr ""
4931
+
4932
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:17
4933
+ msgid "Awards %_plural% for bbPress actions."
4934
+ msgstr ""
4935
+
4936
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:407
4937
  msgid "%plural% for New Forum"
4938
  msgstr ""
4939
 
4940
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:420
4941
  msgid "%plural% for Forum Deletion"
4942
  msgstr ""
4943
 
4944
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:433
4945
  msgid "%plural% for New Topic"
4946
  msgstr ""
4947
 
4948
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:447
4949
  msgid "Forum authors can receive %_plural% for creating new topics."
4950
  msgstr ""
4951
 
4952
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:451
4953
  msgid "%plural% for Topic Deletion"
4954
  msgstr ""
4955
 
4956
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:464
4957
  msgid "%plural% for Favorited Topic"
4958
  msgstr ""
4959
 
4960
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:479
4961
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:503
 
 
 
 
 
4962
  msgid "Use zero for unlimited"
4963
  msgstr ""
4964
 
4965
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:483
4966
  msgid "%plural% for New Reply"
4967
  msgstr ""
4968
 
4969
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:497
4970
  msgid "Topic authors can receive %_plural% for replying to their own Topic"
4971
  msgstr ""
4972
 
4973
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-bbPress.php:507
4974
  msgid "Show users %_plural% balance in replies"
4975
  msgstr ""
4976
 
4977
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-contact-form7.php:16
4978
+ msgid "Contact Form 7 Form Submissions"
 
 
 
 
 
4979
  msgstr ""
4980
 
4981
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-contact-form7.php:17
4982
+ msgid "Awards %_plural% for successful form submissions (by logged in users)."
4983
  msgstr ""
4984
 
4985
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-contact-form7.php:108
4986
+ msgid "No forms found."
4987
  msgstr ""
4988
 
4989
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:16
4990
+ msgid "Events Manager"
 
 
4991
  msgstr ""
4992
 
4993
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:17
4994
+ msgid "Awards %_plural% for users attending events."
4995
  msgstr ""
4996
 
4997
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:140
4998
+ msgid "Attending Event"
 
 
 
4999
  msgstr ""
5000
 
5001
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:150
5002
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:163
5003
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:134
5004
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:147
5005
+ msgid "Available template tags: General and Post Related"
5006
  msgstr ""
5007
 
5008
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-events-manager-light.php:153
5009
+ msgid "Cancelling Attendance"
5010
  msgstr ""
5011
 
5012
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:16
5013
+ msgid "GD Star Rating"
5014
  msgstr ""
5015
 
5016
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:17
5017
+ msgid "Awards %_plural% for users rate items using the GD Star Rating plugin."
 
5018
  msgstr ""
5019
 
5020
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:99
5021
+ msgid "Rating"
5022
  msgstr ""
5023
 
5024
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-gd-star-rating.php:112
5025
+ msgid "Up / Down Vote"
5026
  msgstr ""
5027
 
5028
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:16
5029
+ msgid "Invite Anyone Plugin"
5030
  msgstr ""
5031
 
5032
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:17
5033
  msgid ""
5034
+ "Awards %_plural% for sending invitations and/or %_plural% if the invite is "
5035
+ "accepted."
5036
  msgstr ""
5037
 
5038
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:135
5039
+ msgid "%plural% for Sending An Invite"
5040
  msgstr ""
5041
 
5042
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:151
5043
+ msgid ""
5044
+ "Maximum number of invites that grants %_plural%. Use zero for unlimited."
 
 
5045
  msgstr ""
5046
 
5047
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:155
5048
+ msgid "%plural% for Accepting An Invite"
5049
  msgstr ""
5050
 
5051
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:159
5052
+ msgid "%plural% for each invited user that accepts an invitation."
5053
  msgstr ""
5054
 
5055
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-invite-anyone.php:172
5056
+ msgid ""
5057
+ "Maximum number of accepted invitations that grants %_plural%. Use zero for "
5058
+ "unlimited."
5059
  msgstr ""
5060
 
5061
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:16
5062
+ msgid "Jetpack Subscriptions"
5063
  msgstr ""
5064
 
5065
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:17
5066
+ msgid ""
5067
+ "Awards %_plural% for users signing up for site or comment updates using "
5068
+ "Jetpack."
5069
  msgstr ""
5070
 
5071
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:490
5072
  msgid "Site Subscriptions"
5073
  msgstr ""
5074
 
5075
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-jetpack.php:503
5076
  msgid "Comment Subscriptions"
5077
  msgstr ""
5078
+
5079
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:16
5080
+ msgid "WP Favorite Posts"
5081
+ msgstr ""
5082
+
5083
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:17
5084
+ msgid "Awards %_plural% for users adding posts to their favorites."
5085
+ msgstr ""
5086
+
5087
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:124
5088
+ msgid "Adding Content to Favorites"
5089
+ msgstr ""
5090
+
5091
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-favorite-posts.php:137
5092
+ msgid "Removing Content from Favorites"
5093
+ msgstr ""
5094
+
5095
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-polls.php:16
5096
+ msgid "WP-Polls"
5097
+ msgstr ""
5098
+
5099
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-polls.php:17
5100
+ msgid "Awards %_plural% for users voting in polls."
5101
+ msgstr ""
5102
+
5103
+ #: /Users/gabriel/Repositories/mycred/tags/1.3/plugins/mycred-hook-wp-polls.php:136
5104
+ msgid ""
5105
+ "Available template tags: General. You can also use %poll_id% and "
5106
+ "%poll_question%."
5107
+ msgstr ""
modules/mycred-module-addons.php CHANGED
@@ -3,7 +3,7 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
  /**
4
  * myCRED_Addons class
5
  * @since 0.1
6
- * @version 1.0
7
  */
8
  if ( !class_exists( 'myCRED_Addons' ) ) {
9
  class myCRED_Addons extends myCRED_Module {
@@ -85,8 +85,12 @@ if ( !class_exists( 'myCRED_Addons' ) ) {
85
 
86
  if ( !function_exists( 'update_option' ) )
87
  include_once( ABSPATH . 'wp-includes/option.php' );
88
-
89
- update_option( 'mycred_pref_addons', $new_settings );
 
 
 
 
90
  $this->addons = $new_settings;
91
  $this->installed = $installed;
92
  $this->active = $active;
@@ -242,26 +246,27 @@ if ( !class_exists( 'myCRED_Addons' ) ) {
242
  /**
243
  * Admin Page
244
  * @since 0.1
245
- * @version 1.0
246
  */
247
  public function admin_page() {
248
  // Security
249
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied' ) );
250
 
251
  // Get installed
252
- $installed = $this->get( true );
253
 
 
 
 
 
254
  // Message
255
- if ( isset( $_GET['addon_action'] ) && isset( $_GET['token'] ) ) {
256
- if ( $_GET['addon_action'] == 'activate' && wp_verify_nonce( $_GET['token'], 'myCRED-activate-addon' ) )
257
  echo '<div class="updated"><p>' . __( 'Add-on Activated', 'mycred' ) . '</p></div>';
258
- elseif ( $_GET['addon_action'] == 'deactivate' && wp_verify_nonce( $_GET['token'], 'myCRED-deactivate-addon' ) )
259
  echo '<div class="error"><p>' . __( 'Add-on Deactivated', 'mycred' ) . '</p></div>';
260
  } ?>
261
 
262
- <div class="wrap" id="myCRED-wrap">
263
- <div id="icon-myCRED" class="icon32"><br /></div>
264
- <h2><?php echo apply_filters( 'mycred_label', myCRED_NAME ) . ' ' . __( 'Add-ons', 'mycred' ); ?></h2>
265
  <p><?php _e( 'Add-ons can expand your current installation with further features.', 'mycred' ); ?></p>
266
  <div class="list-items expandable-li" id="accordion">
267
  <?php
@@ -269,7 +274,7 @@ if ( !class_exists( 'myCRED_Addons' ) ) {
269
  if ( !empty( $installed ) ) {
270
  foreach ( $installed as $key => $data ) { ?>
271
 
272
- <h4 class="<?php if ( $this->is_active( $key ) ) echo 'active'; else echo 'inactive'; ?>"><label><?php _e( $this->core->template_tags_general( $data['name'] ), 'mycred' ); ?></label></h4>
273
  <div class="body" style="display:none;">
274
  <div class="wrapper">
275
  <?php $this->present_addon( $key ); ?>
@@ -280,8 +285,8 @@ if ( !class_exists( 'myCRED_Addons' ) ) {
280
  }
281
  } ?>
282
 
283
- <p style="text-align:right;"><?php echo sprintf( __( 'You can find more add-ons in our %s.', 'mycred' ), sprintf( '<a href="http://mycred.me/store/" target="_blank">%s</a>', __( 'online store', 'mycred' ) ) ); ?></p>
284
  </div>
 
285
  </div>
286
  <?php
287
  unset( $this );
@@ -317,7 +322,7 @@ if ( !class_exists( 'myCRED_Addons' ) ) {
317
  /**
318
  * Add-on Details
319
  * @since 0.1
320
- * @version 1.0
321
  */
322
  public function addon_links( $key ) {
323
  $data = $this->installed[$key];
@@ -328,10 +333,10 @@ if ( !class_exists( 'myCRED_Addons' ) ) {
328
  $info[] = __( 'Version', 'mycred' ) . ' ' . $data['version'];
329
 
330
  if ( isset( $data['author_uri'] ) && !empty( $data['author_uri'] ) && isset( $data['author'] ) && !empty( $data['author'] ) )
331
- $info[] = __( 'By', 'mycred' ) . ' <a href="' . $data['author_uri'] . '" title="' . __( 'View Authors Website', 'mycred' ) . '">' . $data['author'] . '</a>';
332
 
333
  if ( isset( $data['addon_uri'] ) && !empty( $data['addon_uri'] ) )
334
- $info[] = ' <a href="' . $data['addon_uri'] . '" title="' . __( 'View Add-ons Website', 'mycred' ) . '">' . __( 'Visit Website', 'mycred' ) . '</a>';
335
 
336
  unset( $data );
337
  if ( !empty( $info ) )
3
  /**
4
  * myCRED_Addons class
5
  * @since 0.1
6
+ * @version 1.1
7
  */
8
  if ( !class_exists( 'myCRED_Addons' ) ) {
9
  class myCRED_Addons extends myCRED_Module {
85
 
86
  if ( !function_exists( 'update_option' ) )
87
  include_once( ABSPATH . 'wp-includes/option.php' );
88
+
89
+ if ( mycred_override_settings() )
90
+ update_site_option( 1, 'mycred_pref_addons', $new_settings );
91
+ else
92
+ update_site_option( $GLOBALS['blog_id'], 'mycred_pref_addons', $new_settings );
93
+
94
  $this->addons = $new_settings;
95
  $this->installed = $installed;
96
  $this->active = $active;
246
  /**
247
  * Admin Page
248
  * @since 0.1
249
+ * @version 1.1
250
  */
251
  public function admin_page() {
252
  // Security
253
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied' ) );
254
 
255
  // Get installed
256
+ $installed = $this->get( true ); ?>
257
 
258
+ <div class="wrap" id="myCRED-wrap">
259
+ <div id="icon-myCRED" class="icon32"><br /></div>
260
+ <h2><?php echo apply_filters( 'mycred_label', myCRED_NAME ) . ' ' . __( 'Add-ons', 'mycred' ); ?></h2>
261
+ <?php
262
  // Message
263
+ if ( isset( $_GET['addon_action'] ) ) {
264
+ if ( $_GET['addon_action'] == 'activate' )
265
  echo '<div class="updated"><p>' . __( 'Add-on Activated', 'mycred' ) . '</p></div>';
266
+ elseif ( $_GET['addon_action'] == 'deactivate' )
267
  echo '<div class="error"><p>' . __( 'Add-on Deactivated', 'mycred' ) . '</p></div>';
268
  } ?>
269
 
 
 
 
270
  <p><?php _e( 'Add-ons can expand your current installation with further features.', 'mycred' ); ?></p>
271
  <div class="list-items expandable-li" id="accordion">
272
  <?php
274
  if ( !empty( $installed ) ) {
275
  foreach ( $installed as $key => $data ) { ?>
276
 
277
+ <h4><div class="icon icon-<?php if ( $this->is_active( $key ) ) echo 'active'; else echo 'inactive'; echo ' ' . $key; ?>"></div><label><?php _e( $this->core->template_tags_general( $data['name'] ), 'mycred' ); ?></label></h4>
278
  <div class="body" style="display:none;">
279
  <div class="wrapper">
280
  <?php $this->present_addon( $key ); ?>
285
  }
286
  } ?>
287
 
 
288
  </div>
289
+ <p style="text-align:right;"><?php echo sprintf( __( 'You can find more add-ons in our %s.', 'mycred' ), sprintf( '<a href="http://mycred.me/store/" target="_blank">%s</a>', __( 'online store', 'mycred' ) ) ); ?></p>
290
  </div>
291
  <?php
292
  unset( $this );
322
  /**
323
  * Add-on Details
324
  * @since 0.1
325
+ * @version 1.0.1
326
  */
327
  public function addon_links( $key ) {
328
  $data = $this->installed[$key];
333
  $info[] = __( 'Version', 'mycred' ) . ' ' . $data['version'];
334
 
335
  if ( isset( $data['author_uri'] ) && !empty( $data['author_uri'] ) && isset( $data['author'] ) && !empty( $data['author'] ) )
336
+ $info[] = __( 'By', 'mycred' ) . ' <a href="' . $data['author_uri'] . '" target="_blank">' . $data['author'] . '</a>';
337
 
338
  if ( isset( $data['addon_uri'] ) && !empty( $data['addon_uri'] ) )
339
+ $info[] = ' <a href="' . $data['addon_uri'] . '" target="_blank">' . __( 'Documentation', 'mycred' ) . '</a>';
340
 
341
  unset( $data );
342
  if ( !empty( $info ) )
modules/mycred-module-general.php CHANGED
@@ -3,7 +3,7 @@ if ( !defined( 'myCRED_VERSION' ) ) exit;
3
  /**
4
  * myCRED_General class
5
  * @since 0.1
6
- * @version 1.0
7
  */
8
  if ( !class_exists( 'myCRED_General' ) ) {
9
  class myCRED_General extends myCRED_Module {
@@ -24,12 +24,192 @@ if ( !class_exists( 'myCRED_General' ) ) {
24
  'accordion' => true,
25
  'menu_pos' => 99
26
  ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
28
 
29
  /**
30
  * Admin Page
31
  * @since 0.1
32
- * @version 1.1
33
  */
34
  public function admin_page() {
35
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied', 'mycred' ) );
@@ -37,24 +217,24 @@ if ( !class_exists( 'myCRED_General' ) ) {
37
  // General Settings
38
  $general = $this->general;
39
 
 
 
 
 
 
 
40
  // Updated settings
41
  if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == true ) {
42
  echo '<div class="updated settings-error"><p>' . __( 'Settings Updated', 'mycred' ) . '</p></div>';
43
  } ?>
44
 
45
- <div class="wrap list" id="myCRED-wrap">
46
- <div id="icon-myCRED" class="icon32"><br /></div>
47
- <h2><?php echo apply_filters( 'mycred_label', myCRED_NAME ) . ' ' . __( 'Settings', 'mycred' ); ?> <?php echo myCRED_VERSION; ?></h2>
48
- <div id="mycred-social">
49
- <a href="https://www.facebook.com/myCRED" class="zocial facebook" target="_blank"><?php _e( 'Facebook', 'mycred' ); ?></a>
50
- <a href="https://plus.google.com/b/102981932999764129220/102981932999764129220/posts" class="zocial googleplus" target="_blank"><?php _e( 'Google Plus', 'mycred' ); ?></a>
51
- <a href="http://mycred.me/support/forums/" class="zocial wordpress" target="_blank"><?php _e( 'Support Forum', 'mycred' ); ?></a>
52
- </div>
53
  <form method="post" action="options.php">
54
  <?php settings_fields( 'myCRED-general' ); ?>
55
 
56
  <div class="list-items expandable-li" id="accordion">
57
- <h4 style="color:#333;"><?php _e( 'Core Settings', 'mycred' ); ?></h4>
58
  <div class="body" style="display:none;">
59
  <label class="subheader"><?php _e( 'Name', 'mycred' ); ?></label>
60
  <ol id="myCRED-settings-name" class="inline">
@@ -142,20 +322,96 @@ if ( !class_exists( 'myCRED_General' ) ) {
142
  <li class="empty">&nbsp;</li>
143
  <li>
144
  <label for="<?php echo $this->field_id( array( 'frequency' => 'date' ) ); ?>"><?php _e( 'Date', 'mycred' ); ?></label>
145
- <div class="h2"><input type="date" name="<?php echo $this->field_name( array( 'frequency' => 'date' ) ); ?>" id="<?php echo $this->field_id( array( 'frequency' => 'date' ) ); ?>" value="<?php echo $this->core->frequency['date'] ?>" class="medium" /></div>
146
  </li>
147
  </ol>
148
  <?php do_action( 'mycred_core_prefs', $this ); ?>
149
 
150
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  <?php do_action( 'mycred_after_core_prefs', $this ); ?>
152
 
153
  </div>
154
- <?php submit_button( __( 'Update Settings', 'mycred' ), 'primary large' ); ?>
155
 
156
  </form>
157
  <?php do_action( 'mycred_bottom_settings_page', $this ); ?>
158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  </div>
160
  <?php
161
  }
@@ -178,7 +434,7 @@ if ( !class_exists( 'myCRED_General' ) ) {
178
  * Sanititze Settings
179
  * @filter 'mycred_save_core_prefs'
180
  * @since 0.1
181
- * @version 1.0
182
  */
183
  public function sanitize_settings( $post ) {
184
  $new_data = array();
@@ -206,6 +462,10 @@ if ( !class_exists( 'myCRED_General' ) ) {
206
  'creds' => sanitize_text_field( $post['caps']['creds'] )
207
  );
208
 
 
 
 
 
209
  // Excludes
210
  $new_data['exclude'] = array(
211
  'plugin_editors' => ( isset( $post['exclude']['plugin_editors'] ) ) ? true : false,
3
  /**
4
  * myCRED_General class
5
  * @since 0.1
6
+ * @version 1.1
7
  */
8
  if ( !class_exists( 'myCRED_General' ) ) {
9
  class myCRED_General extends myCRED_Module {
24
  'accordion' => true,
25
  'menu_pos' => 99
26
  ) );
27
+
28
+ if ( get_transient( 'mycred-accounts-reset' ) !== false )
29
+ add_filter( 'mycred_add', array( $this, 'action_remove_reset' ), 10, 3 );
30
+ }
31
+
32
+ /**
33
+ * Admin Init
34
+ * @since 1.3
35
+ * @version 1.0
36
+ */
37
+ public function module_admin_init() {
38
+ if ( isset( $_GET['do'] ) && $_GET['do'] == 'export' )
39
+ $this->load_export();
40
+
41
+ add_action( 'wp_ajax_mycred-action-empty-log', array( $this, 'action_empty_log' ) );
42
+ add_action( 'wp_ajax_mycred-action-reset-accounts', array( $this, 'action_reset_balance' ) );
43
+ add_action( 'wp_ajax_mycred-action-export-balances', array( $this, 'action_export_balances' ) );
44
+ add_action( 'wp_ajax_mycred-action-generate-key', array( $this, 'action_generate_key' ) );
45
+ }
46
+
47
+ /**
48
+ * Empty Log Action
49
+ * @since 1.3
50
+ * @version 1.0
51
+ */
52
+ public function action_empty_log() {
53
+ check_ajax_referer( 'mycred-management-actions', 'token' );
54
+
55
+ if ( !is_user_logged_in() || !$this->core->can_edit_plugin() )
56
+ die( json_encode( array( 'status' => 'ERROR', 'rows' => __( 'Access denied for this action', 'mycred' ) ) ) );
57
+
58
+ global $wpdb;
59
+
60
+ $wpdb->query( "TRUNCATE TABLE {$this->core->log_table};" );
61
+ $total_rows = $wpdb->get_var( "SELECT COUNT(1) FROM {$this->core->log_table};" );
62
+ $wpdb->flush();
63
+
64
+ die( json_encode( array( 'status' => 'OK', 'rows' => $total_rows ) ) );
65
+ }
66
+
67
+ /**
68
+ * Reset All Balances Action
69
+ * @since 1.3
70
+ * @version 1.0
71
+ */
72
+ public function action_reset_balance() {
73
+ check_ajax_referer( 'mycred-management-actions', 'token' );
74
+
75
+ if ( !is_user_logged_in() || !$this->core->can_edit_plugin() )
76
+ die( json_encode( array( 'status' => 'ERROR', 'rows' => __( 'Access denied for this action', 'mycred' ) ) ) );
77
+
78
+ global $wpdb;
79
+
80
+ if ( !isset( $this->core->format['decimals'] ) )
81
+ $decimals = $this->core->core['format']['decimals'];
82
+ else
83
+ $decimals = $this->core->format['decimals'];
84
+
85
+ if ( $decimals > 0 )
86
+ $format = '%f';
87
+ else
88
+ $format = '%d';
89
+
90
+ $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->usermeta} SET meta_value = {$format} WHERE meta_key = %s;", $this->core->zero(), 'mycred_default' ) );
91
+
92
+ set_transient( 'mycred-accounts-reset', time(), (60*60*24) );
93
+ die( json_encode( array( 'status' => 'OK', 'rows' => __( 'Accounts successfully reset', 'mycred' ) ) ) );
94
+ }
95
+
96
+ /**
97
+ * Export User Balances
98
+ * @filter mycred_export_raw
99
+ * @since 1.3
100
+ * @version 1.0
101
+ */
102
+ public function action_export_balances() {
103
+ check_ajax_referer( 'mycred-management-actions', 'token' );
104
+
105
+ global $wpdb;
106
+
107
+ $log = sanitize_text_field( $_POST['log_temp'] );
108
+
109
+ switch ( $_POST['identify'] ) {
110
+ case 'ID' :
111
+ $SQL = "SELECT user_id AS user, meta_value AS balance FROM {$wpdb->usermeta} WHERE meta_key = %s;";
112
+ break;
113
+ case 'email' :
114
+ $SQL = "SELECT user_email AS user, meta_value AS balance FROM {$wpdb->usermeta} LEFT JOIN {$wpdb->users} ON {$wpdb->usermeta}.user_id = {$wpdb->users}.ID WHERE {$wpdb->usermeta}.meta_key = %s;";
115
+ break;
116
+ case 'login' :
117
+ $SQL = "SELECT user_login AS user, meta_value AS balance FROM {$wpdb->usermeta} LEFT JOIN {$wpdb->users} ON {$wpdb->usermeta}.user_id = {$wpdb->users}.ID WHERE {$wpdb->usermeta}.meta_key = %s;";
118
+ break;
119
+ }
120
+
121
+ $query = $wpdb->get_results( $wpdb->prepare( $SQL, 'mycred_default' ) );
122
+
123
+ if ( empty( $query ) )
124
+ die( json_encode( array( 'status' => 'ERROR', 'string' => __( 'No users found to export', 'mycred' ) ) ) );
125
+
126
+ $array = array();
127
+ foreach ( $query as $result ) {
128
+ $data = array(
129
+ 'mycred_user' => $result->user,
130
+ 'mycred_amount' => $this->core->number( $result->balance )
131
+ );
132
+
133
+ if ( ! empty( $log ) )
134
+ $data = array_merge_recursive( $data, array( 'mycred_log' => $log ) );
135
+
136
+ $array[] = $data;
137
+ }
138
+
139
+ set_transient( 'mycred-export-raw', apply_filters( 'mycred_export_raw', $array ), 3000 );
140
+
141
+ die( json_encode( array( 'status' => 'OK', 'string' => admin_url( 'admin.php?page=myCRED_page_settings&do=export' ) ) ) );
142
+ }
143
+
144
+ public function action_generate_key() {
145
+ check_ajax_referer( 'mycred-management-actions', 'token' );
146
+
147
+ die( json_encode( wp_generate_password( 14, true, true ) ) );
148
+ }
149
+
150
+ /**
151
+ * Load Export
152
+ * Creates a CSV export file of the 'mycred-export-raw' transient.
153
+ * @since 1.3
154
+ * @version 1.0
155
+ */
156
+ public function load_export() {
157
+ if ( $this->core->can_edit_plugin( get_current_user_id() ) ) {
158
+
159
+ $export = get_transient( 'mycred-export-raw' );
160
+ if ( $export === false ) return;
161
+
162
+ if ( isset( $export[0]['mycred_log'] ) )
163
+ $headers = array( 'mycred_user', 'mycred_amount', 'mycred_log' );
164
+ else
165
+ $headers = array( 'mycred_user', 'mycred_amount' );
166
+
167
+ require_once( myCRED_ASSETS_DIR . 'libs/parsecsv.lib.php' );
168
+ $csv = new parseCSV();
169
+
170
+ delete_transient( 'mycred-export-raw' );
171
+ $csv->output( true, 'mycred-balance-export.csv', $export, $headers );
172
+ die();
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Remove Reset Block
178
+ * @since 1.3
179
+ * @version 1.0
180
+ */
181
+ public function action_remove_reset( $reply, $request, $mycred ) {
182
+ delete_transient( 'mycred-accounts-reset' );
183
+ return $reply;
184
+ }
185
+
186
+ /**
187
+ * Settings Header
188
+ * Outputs the "click to open" and "click to close" text to the accordion.
189
+ *
190
+ * @since 1.3
191
+ * @version 1.0
192
+ */
193
+ public function settings_header() {
194
+ wp_dequeue_script( 'bpge_admin_js_acc' );
195
+ wp_enqueue_script( 'mycred-manage' );
196
+
197
+ wp_enqueue_style( 'mycred-admin' ); ?>
198
+
199
+ <style type="text/css">
200
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(<?php echo apply_filters( 'mycred_icon', plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS ) ); ?>); }
201
+ h4:before { float:right; padding-right: 12px; font-size: 14px; font-weight: normal; color: silver; }
202
+ h4.ui-accordion-header.ui-state-active:before { content: "<?php _e( 'click to close', 'mycred' ); ?>"; }
203
+ h4.ui-accordion-header:before { content: "<?php _e( 'click to open', 'mycred' ); ?>"; }
204
+ .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; }body.mycred_page_myCRED_page_settings .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; }body.mp6 .ui-widget-overlay { background: repeat-x scroll 50% 50% #333; }#export-points ul { display: block; margin: 0; padding: 0; }#export-points ul li { margin: 0 0 6px 0; padding: 0; list-style-type: none; }#export-points .action input { float: right; }
205
+ </style>
206
+ <?php
207
  }
208
 
209
  /**
210
  * Admin Page
211
  * @since 0.1
212
+ * @version 1.3
213
  */
214
  public function admin_page() {
215
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied', 'mycred' ) );
217
  // General Settings
218
  $general = $this->general;
219
 
220
+ $plugin_name = apply_filters( 'mycred_label', myCRED_NAME ); ?>
221
+
222
+ <div class="wrap list" id="myCRED-wrap">
223
+ <div id="icon-myCRED" class="icon32"><br /></div>
224
+ <h2><?php echo $plugin_name . ' ' . __( 'Settings', 'mycred' ); ?> <?php echo myCRED_VERSION; ?></h2>
225
+ <?php
226
  // Updated settings
227
  if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == true ) {
228
  echo '<div class="updated settings-error"><p>' . __( 'Settings Updated', 'mycred' ) . '</p></div>';
229
  } ?>
230
 
231
+ <p><?php echo __( 'Adjust your core or add-on settings. Follow us on:', 'mycred' ) . ' '; ?><a href="https://www.facebook.com/myCRED" class="facebook" target="_blank"><?php _e( 'Facebook', 'mycred' ); ?></a>, <a href="https://plus.google.com/b/102981932999764129220/102981932999764129220/posts" class="googleplus" target="_blank"><?php _e( 'Google Plus', 'mycred' ); ?></a></p>
232
+ <pre><?php if ( current_user_can( 'export' ) ) echo 'has cap'; else echo 'does not have cap'; ?></pre>
 
 
 
 
 
 
233
  <form method="post" action="options.php">
234
  <?php settings_fields( 'myCRED-general' ); ?>
235
 
236
  <div class="list-items expandable-li" id="accordion">
237
+ <h4><div class="icon icon-inactive core"></div><label><?php _e( 'Core Settings', 'mycred' ); ?></label></h4>
238
  <div class="body" style="display:none;">
239
  <label class="subheader"><?php _e( 'Name', 'mycred' ); ?></label>
240
  <ol id="myCRED-settings-name" class="inline">
322
  <li class="empty">&nbsp;</li>
323
  <li>
324
  <label for="<?php echo $this->field_id( array( 'frequency' => 'date' ) ); ?>"><?php _e( 'Date', 'mycred' ); ?></label>
325
+ <div class="h2"><input type="date" name="<?php echo $this->field_name( array( 'frequency' => 'date' ) ); ?>" id="<?php echo $this->field_id( array( 'frequency' => 'date' ) ); ?>" placeholder="YYYY-MM-DD" value="<?php echo $this->core->frequency['date'] ?>" class="medium" /></div>
326
  </li>
327
  </ol>
328
  <?php do_action( 'mycred_core_prefs', $this ); ?>
329
 
330
  </div>
331
+ <?php
332
+
333
+ global $wpdb;
334
+
335
+ $total_rows = $wpdb->get_var( "SELECT COUNT(1) FROM {$this->core->log_table};" );
336
+
337
+ $reset_block = false;
338
+ if ( get_transient( 'mycred-accounts-reset' ) !== false )
339
+ $reset_block = true; ?>
340
+
341
+ <h4><div class="icon icon-active core"></div><label><?php _e( 'Management', 'mycred' ); ?></label></h4>
342
+ <div class="body" style="display:none;">
343
+ <label class="subheader"><?php _e( 'The Log', 'mycred' ); ?></label>
344
+ <ol id="myCRED-actions-log" class="inline">
345
+ <li>
346
+ <label><?php _e( 'Table Name', 'mycred' ); ?></label>
347
+ <div class="h2"><input type="text" id="mycred-manage-table-name" disabled="disabled" value="<?php echo $this->core->log_table; ?>" class="readonly" /></div>
348
+ </li>
349
+ <li>
350
+ <label><?php _e( 'Entries', 'mycred' ); ?></label>
351
+ <div class="h2"><input type="text" id="mycred-manage-table-rows" disabled="disabled" value="<?php echo $total_rows; ?>" class="readonly short" /></div>
352
+ </li>
353
+ <li>
354
+ <label><?php _e( 'Actions', 'mycred' ); ?></label>
355
+ <div class="h2"><?php if ( ( ! is_multisite() ) || ( is_multisite() && $GLOBALS['blog_id'] == 1 ) ) { ?><input type="button" id="mycred-manage-action-empty-log" value="<?php _e( 'Empty Log', 'mycred' ); ?>" class="button button-large large <?php if ( $total_rows == 0 ) echo '"disabled="disabled'; else echo 'button-primary'; ?>" /><?php } ?></div>
356
+ </li>
357
+ </ol>
358
+ <label class="subheader"><?php echo $this->core->plural(); ?></label>
359
+ <ol id="myCRED-actions-cred" class="inline">
360
+ <li>
361
+ <label><?php _e( 'User Meta Key', 'mycred' ); ?></label>
362
+ <div class="h2"><input type="text" id="" disabled="disabled" value="<?php echo $this->core->cred_id; ?>" class="readonly" /></div>
363
+ </li>
364
+ <li>
365
+ <label><?php _e( 'Users', 'mycred' ); ?></label>
366
+ <div class="h2"><input type="text" id="" disabled="disabled" value="<?php echo $this->core->count_members(); ?>" class="readonly short" /></div>
367
+ </li>
368
+ <li>
369
+ <label><?php _e( 'Actions', 'mycred' ); ?></label>
370
+ <div class="h2"><input type="button" id="mycred-manage-action-reset-accounts" value="<?php _e( 'Set all to zero', 'mycred' ); ?>" class="button button-large large <?php if ( $reset_block ) echo '" disabled="disabled'; else echo 'button-primary'; ?>" /> <input type="button" id="mycred-export-users-points" value="<?php _e( 'CSV Export', 'mycred' ); ?>" class="button button-large large"<?php if ( $reset_block ) echo ' disabled="disabled"'; ?> /></div>
371
+ </li>
372
+ </ol>
373
+ <?php do_action( 'mycred_management_prefs', $this ); ?>
374
+
375
+ </div>
376
+ <?php do_action( 'mycred_after_management_prefs', $this ); ?>
377
  <?php do_action( 'mycred_after_core_prefs', $this ); ?>
378
 
379
  </div>
380
+ <?php submit_button( __( 'Update Settings', 'mycred' ), 'primary large', 'submit', false ); ?>
381
 
382
  </form>
383
  <?php do_action( 'mycred_bottom_settings_page', $this ); ?>
384
 
385
+ <div id="export-points" style="display:none;">
386
+ <ul>
387
+ <li>
388
+ <label><?php _e( 'Identify users by', 'mycred' ); ?>:</label><br />
389
+ <select id="mycred-export-identify-by">
390
+ <?php
391
+
392
+ $identify = apply_filters( 'mycred_export_by', array(
393
+ 'ID' => __( 'User ID', 'mycred' ),
394
+ 'email' => __( 'User Email', 'mycred' ),
395
+ 'login' => __( 'User Login', 'mycred' )
396
+ ) );
397
+
398
+ foreach ( $identify as $id => $label ) {
399
+ echo '<option value="' . $id . '">' . $label . '</option>';
400
+ } ?>
401
+ </select><br />
402
+ <span class="description"><?php _e( 'Use ID if you intend to use this export as a backup of your current site while Email is recommended if you want to export to a different site.', 'mycred' ); ?></span>
403
+ </li>
404
+ <li>
405
+ <label><?php _e( 'Import Log Entry', 'mycred' ); ?>:</label><br />
406
+ <input type="text" id="mycred-export-log-template" value="" class="regular-text" /><br />
407
+ <span class="description"><?php echo sprintf( __( 'Optional log entry to use if you intend to import this file in a different %s installation.', 'mycred' ), $plugin_name ); ?></span>
408
+ </li>
409
+ <li class="action">
410
+ <input type="button" id="mycred-run-exporter" value="<?php _e( 'Export', 'mycred' ); ?>" class="button button-large button-primary" />
411
+ </li>
412
+ </ul>
413
+ <div class="clear"></div>
414
+ </div>
415
  </div>
416
  <?php
417
  }
434
  * Sanititze Settings
435
  * @filter 'mycred_save_core_prefs'
436
  * @since 0.1
437
+ * @version 1.1
438
  */
439
  public function sanitize_settings( $post ) {
440
  $new_data = array();
462
  'creds' => sanitize_text_field( $post['caps']['creds'] )
463
  );
464
 
465
+ // Make sure multisites uses capabilities that exists
466
+ if ( in_array( $new_data['caps']['creds'], array( 'create_users', 'delete_themes', 'edit_plugins', 'edit_themes', 'edit_users' ) ) && is_multisite() )
467
+ $new_data['caps']['creds'] = 'delete_users';
468
+
469
  // Excludes
470
  $new_data['exclude'] = array(
471
  'plugin_editors' => ( isset( $post['exclude']['plugin_editors'] ) ) ? true : false,
modules/mycred-module-help.php DELETED
@@ -1,205 +0,0 @@
1
- <?php
2
- if ( !defined( 'myCRED_VERSION' ) ) exit;
3
- /**
4
- * myCRED_Help class
5
- * Adds contextual help for myCRED pages and features.
6
- * @since 0.1
7
- * @version 1.0.1
8
- */
9
- if ( !class_exists( 'myCRED_Help' ) ) {
10
- class myCRED_Help {
11
-
12
- public $is_admin;
13
- public $core;
14
-
15
- /**
16
- * Construct
17
- */
18
- function __construct() {
19
- $this->core = mycred_get_settings();
20
- }
21
-
22
- /**
23
- * Run Appropriate Help
24
- * @since 0.1
25
- * @version 1.1
26
- */
27
- public function run( $contextual_help, $screen_id, $screen ) {
28
- if ( $screen_id == 'toplevel_page_myCRED' )
29
- $this->log_page( $screen );
30
- elseif ( $screen_id == 'mycred_page_myCRED_page_hooks' )
31
- $this->hooks_page( $screen );
32
- elseif ( $screen_id == 'widgets' )
33
- $this->widgets( $screen );
34
- elseif ( $screen_id == 'user-edit' || $screen_id == 'profile' )
35
- $this->users( $screen );
36
- elseif ( $screen_id == 'mycred_page_myCRED_page_settings' )
37
- $this->settings_page( $screen );
38
-
39
- do_action( 'mycred_help', $screen_id, $screen );
40
-
41
- return $contextual_help;
42
- }
43
-
44
- /**
45
- * Log Page Help
46
- * @since 0.1
47
- * @version 1.0
48
- */
49
- public function log_page( $screen ) {
50
- $screen->add_help_tab( array(
51
- 'id' => 'mycred-log',
52
- 'title' => __( 'The Log', 'mycred' ),
53
- 'content' => '
54
- <p>' . $this->core->template_tags_general( __( 'myCRED logs everything giving you a complete overview of %_plural% awarded or deducted from your users. The Log page can be filtered by user, date or reference and we have included a search function for you.', 'mycred' ) ) . '</p>
55
- <p>' . __( 'You can select how many log entries you want to show under "Screen Options". By default you will be shown 10 entries.', 'mycred' ) . '</p>
56
- <p><strong>' . __( 'Filter by Date', 'mycred' ) . '</strong></p>
57
- <p>' . __( 'You can select to show log entries for: Today, Yesterday, This Week or This Month.', 'mycred' ) . '</p>
58
- <p><strong>' . __( 'Filter by Reference', 'mycred' ) . '</strong></p>
59
- <p>' . __( 'Each time a log entry is made a reference is used to identify where or why points were awarded or deducted.', 'mycred' ) . '</p>
60
- <p><strong>' . __( 'Filter by User', 'mycred' ) . '</strong></p>
61
- <p>' . __( 'Show log entries for a particular username.', 'mycred' ) . '</p>'
62
- ) );
63
- }
64
-
65
- /**
66
- * Hook Page Help
67
- * @since 0.1
68
- * @version 1.0
69
- */
70
- public function hooks_page( $screen ) {
71
- $screen->add_help_tab( array(
72
- 'id' => 'mycred-hooks',
73
- 'title' => __( 'Hooks', 'mycred' ),
74
- 'content' => '
75
- <p>' . $this->core->template_tags_general( __( 'Each instance where users might gain or loose %_plural%, are called hooks. Hooks can relate to WordPress specific actions or any third party plugin action that myCRED supports.', 'mycred' ) ) . '</p>
76
- <p>' . $this->core->template_tags_general( __( 'A hook can relate to a specific instance or several instances. You can disable specific instances in a hook by awarding zero %_plural%.', 'mycred' ) ) . '</p>'
77
- ) );
78
- $screen->add_help_tab( array(
79
- 'id' => 'mycred-hooks-others',
80
- 'title' => __( 'Third Party Plugins', 'mycred' ),
81
- 'content' => '
82
- <p>' . __( 'myCRED supports several third party plugins by default. These hooks are only available / visible if the plugin has been installed and enabled.', 'mycred' ) . '</p>
83
- <p><strong>' . __( 'Supported Plugins:', 'mycred' ) . '</strong></p>
84
- <ul>
85
- <li><a href="http://wordpress.org/extend/plugins/contact-form-7/" target="_blank">Contact Form 7</a></li>
86
- <li><a href="http://wordpress.org/extend/plugins/invite-anyone/" target="_blank">Invite Anyone Plugin</a></li>
87
- </ul>'
88
- ) );
89
- $screen->add_help_tab( array(
90
- 'id' => 'mycred-hooks-template-tags',
91
- 'title' => __( 'Template Tags', 'mycred' ),
92
- 'content' => '
93
- <p><strong>' . __( 'General:', 'mycred' ) . '</strong></p>
94
- <p><code>%singular%</code> ' . $this->core->template_tags_general( __( 'Singular %plural% Name.', 'mycred' ) ) . '<br />
95
- <code>%_singular%</code> ' . $this->core->template_tags_general( __( 'Singular %plural% Name in lowercase.', 'mycred' ) ) . '<br />
96
- <code>%plural%</code> ' . $this->core->template_tags_general( __( 'Plural %plural% Name.', 'mycred' ) ) . '<br />
97
- <code>%_plural%</code> ' . $this->core->template_tags_general( __( 'Plural %plural% Name in lowercase.', 'mycred' ) ) . '<br />
98
- <code>%login_url%</code> ' . __( 'The login URL without redirection.', 'mycred' ) . '<br />
99
- <code>%login_url_here%</code> ' . __( 'The login URL with redirection to current page.', 'mycred' ) . '</p>
100
- <p><strong>' . __( 'Post:', 'mycred' ) . '</strong></p>
101
- <p><code>%post_title%</code> ' . __( 'The posts title.', 'mycred' ) . '<br />
102
- <code>%post_url%</code> ' . __( 'The posts URL address.', 'mycred' ) . '<br />
103
- <code>%post_type%</code> ' . __( 'The post type.', 'mycred' ) . '<br />
104
- <code>%link_with_title%</code> ' . __( 'The posts permalink with the post title as title.', 'mycred' ) . '</p>
105
- <p><strong>' . __( 'User:', 'mycred' ) . '</strong></p>
106
- <p><code>%user_id%</code> ' . __( 'The users ID.', 'mycred' ) . '<br />
107
- <code>%user_name%</code> ' . __( 'The users "username".', 'mycred' ) . '<br />
108
- <code>%user_name_en%</code> ' . __( 'The users "username" URL encoded.', 'mycred' ) . '<br />
109
- <code>%display_name%</code> ' . __( 'The users display name.', 'mycred' ) . '<br />
110
- <code>%user_profile_url%</code> ' . __( 'The users profile URL.', 'mycred' ) . '<br />
111
- <code>%user_profile_link%</code> ' . __( 'The users profile link with the display name as title.', 'mycred' ) . '</p>
112
- <p><strong>' . __( 'Comment:', 'mycred' ) . '</strong></p>
113
- <p><code>%comment_id%</code> ' . __( 'The comment ID.', 'mycred' ) . '<br />
114
- <code>%c_post_id%</code> ' . __( 'The post id where the comment was made.', 'mycred' ) . '<br />
115
- <code>%c_post_title%</code> ' . __( 'The post title where the comment was made.', 'mycred' ) . '<br />
116
- <code>%c_post_url%</code> ' . __( 'The post URL address where the comment was made.', 'mycred' ) . '<br />
117
- <code>%c_link_with_title%</code> ' . __( 'Link to the post where the comment was made.', 'mycred' ) . '</p>'
118
- ) );
119
- }
120
-
121
- /**
122
- * Widgets Help
123
- * @since 0.1
124
- * @version 1.0
125
- */
126
- public function widgets( $screen ) {
127
- $screen->add_help_tab( array(
128
- 'id' => 'mycred-balance',
129
- 'title' => __( 'myCRED Balance Template Tags', 'mycred' ),
130
- 'content' => '
131
- <h3>' . __( 'Available Template Tags', 'mycred' ) . '</h3>
132
- <p><strong>' . __( 'Layout:', 'mycred' ) . '</strong></p>
133
- <p><code>%cred%</code> ' . __( 'Balance amount in plain format.', 'mycred' ) . '<br />
134
- <code>%cred_f%</code> ' . __( 'Balance amount formatted with prefix and/or suffix.', 'mycred' ) . '</p>
135
- <p><strong>' . __( 'Rank Format:', 'mycred' ) . '</strong></p>
136
- <p><code>%ranking%</code> ' . __( 'The users ranking. Was "%rank%" before version 1.1', 'mycred' ) . '</p>
137
- <p><strong>' . __( 'History Title:', 'mycred' ) . '</strong></p>
138
- <p><code>%singular%</code> ' . __( 'or', 'mycred' ) . ' <code>%_singular%</code> ' . $this->core->template_tags_general( __( 'Singular %plural% Name.', 'mycred' ) ) . '<br />
139
- <code>%plural%</code> ' . __( 'or', 'mycred' ) . ' <code>%_plural%</code> ' . $this->core->template_tags_general( __( 'Plural %plural% Name.', 'mycred' ) ) . '</p>
140
- <p><strong>' . __( 'Row Layout:', 'mycred' ) . '</strong></p>
141
- <p><code>%cred%</code> ' . __( 'Balance amount in plain format.', 'mycred' ) . '<br />
142
- <code>%cred_f%</code> ' . __( 'Balance amount formatted with prefix and/or suffix.', 'mycred' ) . '<br />
143
- <code>%singular%</code> ' . __( 'or', 'mycred' ) . ' <code>%_singular%</code> ' . $this->core->template_tags_general(__( 'Singular %plural% Name.', 'mycred' ) ) . '<br />
144
- <code>%plural%</code> ' . __( 'or', 'mycred' ) . ' <code>%_plural%</code> ' . $this->core->template_tags_general(__( 'Plural %plural% Name.', 'mycred' ) ) . '<br />
145
- <code>%date%</code> ' . __( 'Log entry date.', 'mycred' ) . '<br />
146
- <code>%entry%</code> ' . __( 'The log entry.', 'mycred' ) . '</p>
147
- <p><strong>' . __( 'Message:', 'mycred' ) . '</strong></p>
148
- <p><code>%login_url%</code> ' . __( 'The login URL without redirection.', 'mycred' ) . '<br />
149
- <code>%login_url_here%</code> ' . __( 'The login URL with redirection to current page.', 'mycred' ) . '</p>'
150
- ) );
151
- $screen->add_help_tab( array(
152
- 'id' => 'mycred-list',
153
- 'title' => __('myCRED List Template Tags'),
154
- 'content' => '
155
- <h3>' . __( 'Available Template Tags', 'mycred' ) . '</h3>
156
- <p><strong>' . __( 'Row Layout:', 'mycred' ) . '</strong></p>
157
- <p><code>%ranking%</code> ' . __( 'The users ranking. Was "%rank%" before version 1.1', 'mycred' ) . '<br />
158
- <code>%cred%</code> ' . __( 'Balance amount in plain format.', 'mycred' ) . '<br />
159
- <code>%cred_f%</code> ' . __( 'Balance amount formatted with prefix and/or suffix.', 'mycred' ) . '<br />
160
- <code>%singular%</code> ' . __( 'or', 'mycred' ) . ' <code>%_singular%</code> ' . $this->core->template_tags_general( __( 'Singular %plural% Name.', 'mycred' ) ) . '<br />
161
- <code>%plural%</code> ' . __( 'or', 'mycred' ) . ' <code>%_plural%</code> ' . $this->core->template_tags_general( __( 'Plural %plural% Name.', 'mycred' ) ) . '<br />
162
- <code>%date%</code> ' . __( 'Log entry date.', 'mycred' ) . '<br />
163
- <code>%entry%</code> ' . __( 'The log entry.', 'mycred' ) . '<br />
164
- <code>%display_name%</code> ' . __( 'Users display name.', 'mycred' ) . '<br />
165
- <code>%user_profile_url%</code> ' . __( 'Users profile URL.', 'mycred' ) . '<br />
166
- <code>%user_name%</code> ' . __( 'Users "username".', 'mycred' ) . '<br />
167
- <code>%user_name_en%</code> ' . __( 'Users "username" URL encoded.', 'mycred' ) . '<br />
168
- <code>%user_profile_link%</code> ' . __( 'Link to users profile with their display name as title.', 'mycred' ) . '</p>'
169
- ) );
170
- }
171
-
172
- /**
173
- * Edit Users / Profile Help
174
- * @since 0.1
175
- * @version 1.0
176
- */
177
- public function users( $screen ) {
178
- $screen->add_help_tab( array(
179
- 'id' => 'mycred-users',
180
- 'title' => $this->core->template_tags_general( __( 'Editing %plural%', 'mycred' ) ),
181
- 'content' => '
182
- <p>' . $this->core->template_tags_general( __( 'You can adjust this users %_plural% by giving a positive or negative amount and a log description. Remember that plugin and point editors will always be able to adjust their own balance.', 'mycred' ) ) . '</p>
183
- <p>' . __( 'If the option to edit a users balance is missing the user is set to be excluded from using myCRED.', 'mycred' ) . '</p>'
184
- ) );
185
- }
186
-
187
- /**
188
- * myCRED Settings Page Help
189
- * @since 0.1
190
- * @version 1.0
191
- */
192
- public function general_page( $screen ) {
193
- $screen->add_help_tab( array(
194
- 'id' => 'mycred-settings',
195
- 'title' => __( 'Core', 'mycred' ),
196
- 'content' => '
197
- <p>' . $this->core->template_tags_general( __( 'On this page, you can edit all myCRED settings.', 'mycred' ) ) . '</p>
198
- <p><strong>' . __( 'Core Settings', 'mycred' ) . '</strong></p>
199
- <p>' . __( 'Here you can name your installation along with setting your layout and format. You can use any name as long as you set both the singular and plural format and you can change the name at any time.', 'mycred' ) . '</p>'
200
- ) );
201
- }
202
- }
203
- }
204
-
205
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/mycred-module-hooks.php CHANGED
@@ -1,17 +1,12 @@
1
  <?php
2
  if ( !defined( 'myCRED_VERSION' ) ) exit;
3
- // Subscription Related Hooks
4
- include_once( myCRED_MODULES_DIR . 'mycred-module-subscriptions.php' );
5
- // Third-Party Plugin Hooks
6
- require_once( myCRED_MODULES_DIR . 'mycred-module-plugins.php' );
7
  /**
8
  * myCRED_Hooks class
9
  * @since 0.1
10
- * @version 1.1
11
  */
12
  if ( !class_exists( 'myCRED_Hooks' ) ) {
13
  class myCRED_Hooks extends myCRED_Module {
14
-
15
  /**
16
  * Construct
17
  */
@@ -84,6 +79,7 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
84
  * @version 1.1
85
  */
86
  public function get( $save = false ) {
 
87
  // Registrations
88
  $installed['registration'] = array(
89
  'title' => __( '%plural% for registrations', 'mycred' ),
@@ -125,88 +121,6 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
125
  'description' => __( 'Award %_plural% to users who watches videos embedded using the [mycred_video] shortcode.', 'mycred' ),
126
  'callback' => array( 'myCRED_Hook_Video_Views' )
127
  );
128
-
129
- // Prep for bbPress
130
- if ( class_exists( 'bbPress' ) ) {
131
- $installed['hook_bbpress'] = array(
132
- 'title' => __( 'bbPress' ),
133
- 'description' => __( 'Awards %_plural% for bbPress actions.', 'mycred' ),
134
- 'callback' => array( 'myCRED_bbPress' )
135
- );
136
- }
137
-
138
- // Prep for Invite Anyone Plugin
139
- if ( function_exists( 'invite_anyone_init' ) ) {
140
- $installed['invite_anyone'] = array(
141
- 'title' => __( 'Invite Anyone Plugin', 'mycred' ),
142
- 'description' => __( 'Awards %_plural% for sending invitations and/or %_plural% if the invite is accepted.', 'mycred' ),
143
- 'callback' => array( 'myCRED_Invite_Anyone' )
144
- );
145
- }
146
-
147
- // Prep for Contact Form 7
148
- if ( function_exists( 'wpcf7' ) ) {
149
- $installed['contact_form7'] = array(
150
- 'title' => __( 'Contact Form 7 Form Submissions', 'mycred' ),
151
- 'description' => __( 'Awards %_plural% for successful form submissions (by logged in users).', 'mycred' ),
152
- 'callback' => array( 'myCRED_Contact_Form7' )
153
- );
154
- }
155
-
156
- // Prep for Jetpack
157
- if ( class_exists( 'Jetpack' ) ) {
158
- $installed['jetpack'] = array(
159
- 'title' => __( 'Jetpack Subscriptions', 'mycred' ),
160
- 'description' => __( 'Awards %_plural% for users signing up for site or comment updates using Jetpack.', 'mycred' ),
161
- 'callback' => array( 'myCRED_Hook_Jetpack' )
162
- );
163
- }
164
-
165
- // Prep for BadgeOS
166
- if ( class_exists( 'BadgeOS' ) ) {
167
- $installed['badgeos'] = array(
168
- 'title' => __( 'BadgeOS', 'mycred' ),
169
- 'description' => __( 'Default settings for each BadgeOS Achievement type. These settings may be overridden for individual achievement type.', 'mycred' ),
170
- 'callback' => array( 'myCRED_Hook_BadgeOS' )
171
- );
172
- }
173
-
174
- // Prep for WP-Polls
175
- if ( function_exists( 'vote_poll' ) ) {
176
- $installed['wppolls'] = array(
177
- 'title' => __( 'WP-Polls', 'mycred' ),
178
- 'description' => __( 'Awards %_plural% for users voting in polls.', 'mycred' ),
179
- 'callback' => array( 'myCRED_Hook_WPPolls' )
180
- );
181
- }
182
-
183
- // WP Favorite Posts
184
- if ( function_exists( 'wp_favorite_posts' ) ) {
185
- $installed['wpfavorite'] = array(
186
- 'title' => __( 'WP Favorite Posts', 'mycred' ),
187
- 'description' => __( 'Awards %_plural% for users adding posts to their favorites.', 'mycred' ),
188
- 'callback' => array( 'myCRED_Hook_WPFavorite' )
189
- );
190
- }
191
-
192
- // Events Manager
193
- if ( function_exists( 'bp_em_init' ) ) {
194
- $installed['eventsmanager'] = array(
195
- 'title' => __( 'Events Manager', 'mycred' ),
196
- 'description' => __( 'Awards %_plural% for users attending events.', 'mycred' ),
197
- 'callback' => array( 'myCRED_Hook_Events_Manager' )
198
- );
199
- }
200
-
201
- // GD Star
202
- if ( defined( 'STARRATING_DEBUG' ) ) {
203
- $installed['gdstars'] = array(
204
- 'title' => __( 'GD Star Rating', 'mycred' ),
205
- 'description' => __( 'Awards %_plural% for users rate items using the GD Star Rating plugin.', 'mycred' ),
206
- 'callback' => array( 'myCRED_Hook_GD_Star_Rating' )
207
- );
208
- }
209
-
210
  $installed = apply_filters( 'mycred_setup_hooks', $installed );
211
 
212
  if ( $save === true && $this->core->can_edit_plugin() ) {
@@ -215,7 +129,10 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
215
  'installed' => $installed,
216
  'hook_prefs' => $this->hook_prefs
217
  );
218
- update_option( 'mycred_pref_hooks', $new_data );
 
 
 
219
  }
220
 
221
  $this->installed = $installed;
@@ -232,16 +149,14 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
232
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied', 'mycred' ) );
233
 
234
  // Get installed
235
- $installed = $this->get( true );
236
-
237
- // Message
238
- if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == true ) {
239
- echo '<div class="updated settings-error"><p>' . __( 'Settings Updated', 'mycred' ) . '</p></div>';
240
- } ?>
241
 
242
  <div class="wrap" id="myCRED-wrap">
243
  <div id="icon-myCRED" class="icon32"><br /></div>
244
  <h2><?php echo apply_filters( 'mycred_label', myCRED_NAME ) . ' ' . __( 'Hooks', 'mycred' ); ?></h2>
 
 
 
245
  <p><?php echo $this->core->template_tags_general( __( 'Hooks are instances where %_plural% are awarded or deducted from a user, depending on their actions around your website.', 'mycred' ) ); ?></p>
246
  <form method="post" action="options.php">
247
  <?php settings_fields( 'myCRED-hooks' ); ?>
@@ -251,7 +166,7 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
251
  <?php if ( !empty( $installed ) ) {
252
  foreach ( $installed as $key => $data ) { ?>
253
 
254
- <h4 class="<?php if ( $this->is_active( $key ) ) echo 'active'; else echo 'inactive'; ?>"><label><?php echo $this->core->template_tags_general( $data['title'] ); ?></label></h4>
255
  <div class="body" style="display:none;">
256
  <p><?php echo nl2br( $this->core->template_tags_general( $data['description'] ) ); ?></p>
257
  <label class="subheader"><?php _e( 'Enable', 'mycred' ); ?></label>
@@ -267,7 +182,7 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
267
  } ?>
268
 
269
  </div>
270
- <?php submit_button( __( 'Update Changes', 'mycred' ), 'primary large' ); ?>
271
 
272
  </form>
273
  </div>
@@ -278,7 +193,7 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
278
  /**
279
  * Sanititze Settings
280
  * @since 0.1
281
- * @version 1.1
282
  */
283
  public function sanitize_settings( $post ) {
284
  // Loop though all installed hooks
@@ -291,23 +206,31 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
291
 
292
  if ( !empty( $installed ) ) {
293
  foreach ( $installed as $key => $data ) {
294
- if ( isset( $data['callback'] ) && isset( $post['hook_prefs'][$key] ) ) {
295
  // Old settings
296
- $old_settings = $post['hook_prefs'][$key];
297
 
298
  // New settings
299
  $new_settings = $this->call( 'sanitise_preferences', $data['callback'], $old_settings );
300
 
301
  // If something went wrong use the old settings
302
  if ( empty( $new_settings ) || $new_settings === NULL || !is_array( $new_settings ) )
303
- $new_post['hook_prefs'][$key] = $old_settings;
304
  // Else we got ourselves new settings
305
  else
306
- $new_post['hook_prefs'][$key] = $new_settings;
 
 
 
 
 
 
 
307
  }
308
  }
309
  }
310
-
 
311
  return $new_post;
312
  }
313
  }
@@ -320,7 +243,6 @@ if ( !class_exists( 'myCRED_Hooks' ) ) {
320
  */
321
  if ( !class_exists( 'myCRED_Hook_Registration' ) ) {
322
  class myCRED_Hook_Registration extends myCRED_Hook {
323
-
324
  /**
325
  * Construct
326
  */
@@ -397,7 +319,6 @@ if ( !class_exists( 'myCRED_Hook_Registration' ) ) {
397
  */
398
  if ( !class_exists( 'myCRED_Hook_Logging_In' ) ) {
399
  class myCRED_Hook_Logging_In extends myCRED_Hook {
400
-
401
  /**
402
  * Construct
403
  */
@@ -542,7 +463,6 @@ if ( !class_exists( 'myCRED_Hook_Logging_In' ) ) {
542
  */
543
  if ( !class_exists( 'myCRED_Hook_Publishing_Content' ) ) {
544
  class myCRED_Hook_Publishing_Content extends myCRED_Hook {
545
-
546
  /**
547
  * Construct
548
  */
@@ -574,7 +494,7 @@ if ( !class_exists( 'myCRED_Hook_Publishing_Content' ) ) {
574
  /**
575
  * Publish Content Hook
576
  * @since 0.1
577
- * @version 1.0.1
578
  */
579
  public function publishing_content( $new_status, $old_status, $post ) {
580
  $user_id = $post->post_author;
@@ -691,19 +611,6 @@ if ( !class_exists( 'myCRED_Hook_Publishing_Content' ) ) {
691
  protected function include_post_type( $post_type ) {
692
  // Exclude Core
693
  $excludes = array( 'post', 'page' );
694
-
695
- // Prep for bbPress
696
- if ( class_exists( 'bbPress' ) ) {
697
- $excludes[] = bbp_get_forum_post_type();
698
- $excludes[] = bbp_get_topic_post_type();
699
- $excludes[] = bbp_get_reply_post_type();
700
- }
701
-
702
- // Prep for BadgeOS
703
- if ( function_exists( 'badgeos_get_achievement_types_slugs' ) ) {
704
- $excludes = array_merge( $excludes, badgeos_get_achievement_types_slugs() );
705
- }
706
-
707
  if ( in_array( $post_type, apply_filters( 'mycred_post_type_excludes', $excludes ) ) ) return false;
708
  return true;
709
  }
@@ -713,11 +620,10 @@ if ( !class_exists( 'myCRED_Hook_Publishing_Content' ) ) {
713
  /**
714
  * Hook for comments
715
  * @since 0.1
716
- * @version 1.0
717
  */
718
  if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
719
  class myCRED_Hook_Comments extends myCRED_Hook {
720
-
721
  /**
722
  * Construct
723
  */
@@ -732,15 +638,18 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
732
  ),
733
  'approved' => array(
734
  'creds' => 1,
735
- 'log' => '%plural% for Approved Comment'
 
736
  ),
737
  'spam' => array(
738
  'creds' => '-5',
739
- 'log' => '%plural% deduction for Comment marked as SPAM'
 
740
  ),
741
  'trash' => array(
742
  'creds' => '-1',
743
- 'log' => '%plural% deduction for deleted / unapproved Comment'
 
744
  )
745
  )
746
  ), $hook_prefs );
@@ -755,12 +664,11 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
755
  add_action( 'comment_post', array( $this, 'new_comment' ), 10, 2 );
756
  add_action( 'transition_comment_status', array( $this, 'comment_transitions' ), 10, 3 );
757
  }
758
-
759
  /**
760
  * New Comment
761
  * If comments are approved without moderation, we apply the corresponding method
762
  * or else we will wait till the appropriate instance.
763
- *
764
  * @since 0.1
765
  * @version 1.1
766
  */
@@ -772,11 +680,11 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
772
  elseif ( $comment_status == '1' && $this->prefs['approved'] != 0 )
773
  $this->comment_transitions( 'approved', 'unapproved', $comment_id );
774
  }
775
-
776
  /**
777
  * Comment Transitions
778
  * @since 1.1.2
779
- * @version 1.1
780
  */
781
  public function comment_transitions( $new_status, $old_status, $comment ) {
782
  // Passing an integer instead of an object means we need to grab the comment object ourselves
@@ -799,17 +707,19 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
799
  }
800
 
801
  $reference = '';
 
802
 
803
  // Approved comments
804
  if ( $this->prefs['approved']['creds'] != 0 && $new_status == 'approved' ) {
805
  // New approved comment
806
  if ( $old_status == 'unapproved' || $old_status == 'hold' ) {
807
- // Enforce limits
808
- if ( $this->user_exceeds_limit( $comment->user_id, $comment->comment_post_ID ) ) return;
809
-
810
  $reference = 'approved_comment';
811
  $points = $this->prefs['approved']['creds'];
 
812
  $log = $this->prefs['approved']['log'];
 
 
 
813
  }
814
 
815
  // Marked as "Not Spam"
@@ -817,10 +727,14 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
817
  $reference = 'approved_comment';
818
 
819
  // Reverse points
820
- if ( $this->prefs['spam']['creds'] < 0 )
821
  $points = abs( $this->prefs['spam']['creds'] );
822
- else
 
 
823
  $points = $this->prefs['spam']['creds'];
 
 
824
 
825
  $log = $this->prefs['approved']['log'];
826
  }
@@ -829,11 +743,15 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
829
  elseif ( $this->prefs['trash']['creds'] != 0 && $old_status == 'trash' ) {
830
  $reference = 'approved_comment';
831
  // Reverse points
832
- if ( $this->prefs['trash']['creds'] < 0 )
833
  $points = abs( $this->prefs['trash']['creds'] );
834
- else
 
 
835
  $points = $this->prefs['trash']['creds'];
836
-
 
 
837
  $log = $this->prefs['approved']['log'];
838
  }
839
  }
@@ -842,39 +760,67 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
842
  elseif ( $this->prefs['spam'] != 0 && $new_status == 'spam' ) {
843
  $reference = 'spam_comment';
844
  $points = $this->prefs['spam']['creds'];
 
845
  $log = $this->prefs['spam']['log'];
 
846
  }
847
 
848
  // Trashed comments
849
  elseif ( $this->prefs['trash'] != 0 && $new_status == 'trash' ) {
850
  $reference = 'deleted_comment';
851
  $points = $this->prefs['trash']['creds'];
 
852
  $log = $this->prefs['trash']['log'];
 
853
  }
854
 
855
  // Unapproved comments
856
  elseif ( $new_status == 'unapproved' && $old_status == 'approved' ) {
857
  $reference = 'deleted_comment';
858
  // Reverse points
859
- if ( $this->prefs['approved']['creds'] < 0 )
860
  $points = abs( $this->prefs['approved']['creds'] );
861
- else
 
 
862
  $points = $this->prefs['approved']['creds'];
 
 
863
 
864
  $log = $this->prefs['trash']['log'];
 
865
  }
866
 
867
- if ( empty( $reference ) ) return;
868
-
869
  // Execute
870
- $this->core->add_creds(
871
- $reference,
872
- $comment->user_id,
873
- $points,
874
- $log,
875
- $comment->comment_ID,
876
- array( 'ref_type' => 'comment' )
877
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
878
  }
879
 
880
  /**
@@ -954,37 +900,52 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
954
  'per_day' => 0
955
  ); ?>
956
 
957
- <label class="subheader" for="<?php echo $this->field_id( array( 'approved' => 'creds' ) ); ?>"><?php _e( 'Approved Comment', 'mycred' ); ?></label>
958
- <ol>
959
  <li>
 
960
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'approved' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'approved' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['approved']['creds'] ); ?>" size="8" /></div>
961
  </li>
962
- <li class="empty">&nbsp;</li>
963
  <li>
 
 
 
 
 
964
  <label for="<?php echo $this->field_id( array( 'approved' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
965
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'approved' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'approved' => 'log' ) ); ?>" value="<?php echo $prefs['approved']['log']; ?>" class="long" /></div>
966
  <span class="description"><?php _e( 'Available template tags: General, Comment', 'mycred' ); ?></span>
967
  </li>
968
  </ol>
969
- <label class="subheader" for="<?php echo $this->field_id( array( 'spam' => 'creds' ) ); ?>"><?php _e( 'Comment Marked SPAM', 'mycred' ); ?></label>
970
- <ol>
971
  <li>
 
972
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'spam' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'spam' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['spam']['creds'] ); ?>" size="8" /></div>
973
  </li>
974
- <li class="empty">&nbsp;</li>
975
  <li>
 
 
 
 
 
976
  <label for="<?php echo $this->field_id( array( 'spam' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
977
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'spam' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'spam' => 'log' ) ); ?>" value="<?php echo $prefs['spam']['log']; ?>" class="long" /></div>
978
  <span class="description"><?php _e( 'Available template tags: General, Comment', 'mycred' ); ?></span>
979
  </li>
980
  </ol>
981
- <label class="subheader" for="<?php echo $this->field_id( array( 'trash' => 'creds' ) ); ?>"><?php _e( 'Trashed / Unapproved Comments', 'mycred' ); ?></label>
982
- <ol>
983
  <li>
 
984
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'trash' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'trash' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['trash']['creds'] ); ?>" size="8" /></div>
985
  </li>
986
- <li class="empty">&nbsp;</li>
987
  <li>
 
 
 
 
 
988
  <label for="<?php echo $this->field_id( array( 'trash' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
989
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'trash' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'trash' => 'log' ) ); ?>" value="<?php echo $prefs['trash']['log']; ?>" class="long" /></div>
990
  <span class="description"><?php _e( 'Available template tags: General, Comment', 'mycred' ); ?></span>
@@ -1028,6 +989,7 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
1028
  }
1029
  }
1030
  }
 
1031
  /**
1032
  * Hooks for Clicking on Links
1033
  * @since 1.1
@@ -1035,7 +997,6 @@ if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
1035
  */
1036
  if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1037
  class myCRED_Hook_Click_Links extends myCRED_Hook {
1038
-
1039
  /**
1040
  * Construct
1041
  */
@@ -1081,12 +1042,14 @@ if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1081
  /**
1082
  * Parse Custom Tags in Log
1083
  * @since 1.1
1084
- * @version 1.0
1085
  */
1086
  public function parse_custom_tags( $content, $log_entry ) {
1087
  $data = unserialize( $log_entry->data );
1088
  $content = str_replace( '%url%', $data['link_url'], $content );
1089
  $content = str_replace( '%id%', $data['link_id'], $content );
 
 
1090
 
1091
  return $content;
1092
  }
@@ -1147,7 +1110,7 @@ if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1147
  }
1148
  else return false;
1149
 
1150
- $sql = "SELECT id FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE ref = %s AND user_id = %d AND data LIKE %s";
1151
  $wpdb->get_results( $wpdb->prepare( $sql, $action, $user_id, $string ) );
1152
  if ( $wpdb->num_rows > 0 ) return true;
1153
 
@@ -1157,7 +1120,7 @@ if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1157
  /**
1158
  * AJAX Call Handler
1159
  * @since 1.1
1160
- * @version 1.1
1161
  */
1162
  public function ajax_call_link_points() {
1163
  // We must be logged in
@@ -1201,9 +1164,10 @@ if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1201
  $this->prefs['log'],
1202
  $ref,
1203
  array(
1204
- 'ref_type' => 'link',
1205
- 'link_url' => ( isset( $_POST['url'] ) ) ? $_POST['url'] : '',
1206
- 'link_id' => ( isset( $_POST['eid'] ) ) ? $_POST['eid'] : ''
 
1207
  )
1208
  );
1209
 
@@ -1214,7 +1178,7 @@ if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1214
  /**
1215
  * Preference for Link Click Hook
1216
  * @since 1.1
1217
- * @version 1.0
1218
  */
1219
  public function preferences() {
1220
  $prefs = $this->prefs; ?>
@@ -1230,7 +1194,7 @@ if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1230
  <ol>
1231
  <li>
1232
  <div class="h2"><input type="text" name="<?php echo $this->field_name( 'log' ); ?>" id="<?php echo $this->field_id( 'log' ); ?>" value="<?php echo $prefs['log']; ?>" class="long" /></div>
1233
- <span class="description"><?php _e( 'Available template tags: General and custom tags: %url% or %id%.', 'mycred' ); ?></span>
1234
  </li>
1235
  </ol>
1236
  <label class="subheader"><?php _e( 'Limits', 'mycred' ); ?></label>
@@ -1255,7 +1219,6 @@ if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
1255
  */
1256
  if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1257
  class myCRED_Hook_Video_Views extends myCRED_Hook {
1258
-
1259
  /**
1260
  * Construct
1261
  */
@@ -1279,7 +1242,6 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1279
  */
1280
  public function run() {
1281
  add_action( 'mycred_front_enqueue', array( $this, 'register_script' ) );
1282
-
1283
  add_shortcode( 'mycred_video', 'mycred_render_shortcode_video' );
1284
  add_action( 'wp_ajax_mycred-video-points', array( $this, 'ajax_call_video_points' ) );
1285
  }
@@ -1323,32 +1285,32 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1323
 
1324
  // Security
1325
  check_ajax_referer( 'mycred-video-points', 'token' );
1326
-
1327
  $award = false;
1328
  $status = 'silence';
1329
-
1330
  // Check for amount override
1331
  if ( isset( $_POST['amount'] ) && $_POST['amount'] != $this->prefs['creds'] )
1332
  $amount = $this->core->number( $_POST['amount'] );
1333
  else
1334
  $amount = $this->prefs['creds'];
1335
-
1336
  // Check for logic override
1337
  if ( isset( $_POST['logic'] ) || $_POST['logic'] != $this->prefs['logic'] )
1338
  $logic = $_POST['logic'];
1339
  else
1340
  $logic = $this->prefs['logic'];
1341
-
1342
  // Check for interval override
1343
  if ( isset( $_POST['interval'] ) && !empty( $_POST['interval'] ) )
1344
  $interval = abs( $_POST['interval']/1000 );
1345
  else
1346
  $interval = abs( $this->prefs['interval'] );
1347
-
1348
  $video_id = trim( $_POST['video_id'] );
1349
  $state = trim( $_POST['video_state'] );
1350
  $duration = abs( $_POST['video_length'] );
1351
-
1352
  $user_id = abs( $_POST['user_id'] );
1353
  $watched = abs( $_POST['user_watched'] );
1354
  $actions = trim( $_POST['user_actions'] );
@@ -1382,7 +1344,7 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1382
  if ( !preg_match( '/22/', $actions, $matches ) || $watched >= $duration ) {
1383
  if ( $state == 0 && !$this->has_entry( 'watching_video', '', $user_id, $video_id ) ) {
1384
  $award = true;
1385
-
1386
  // Execute
1387
  $this->core->add_creds(
1388
  'watching_video',
@@ -1392,7 +1354,7 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1392
  '',
1393
  $video_id
1394
  );
1395
-
1396
  $status = 'max';
1397
  }
1398
  }
@@ -1402,13 +1364,10 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1402
  // The maximum points a video can earn you
1403
  $num_intervals = floor( $duration / $interval );
1404
  $max = abs( $num_intervals * $amount );
1405
-
1406
  $users_log = $this->get_users_video_log( $video_id, $user_id );
1407
-
1408
  // Film is playing and we just started
1409
  if ( $state == 1 && $users_log === NULL ) {
1410
  $award = true;
1411
-
1412
  // Execute
1413
  $this->core->add_creds(
1414
  'watching_video',
@@ -1435,7 +1394,7 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1435
  $status = 'max';
1436
  }
1437
  }
1438
-
1439
  $data = array(
1440
  'status' => $status,
1441
  'video_id' => $video_id,
@@ -1443,25 +1402,24 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1443
  );
1444
  die( json_encode( $data ) );
1445
  }
1446
-
1447
  /**
1448
  * Get Users Video Log
1449
  * Returns the log for a given video id.
1450
  * @since 1.2
1451
- * @version 1.0
1452
  */
1453
  public function get_users_video_log( $video_id, $user_id ) {
1454
  global $wpdb;
1455
-
1456
- $db = $wpdb->prefix . $this->core->db_name;
1457
- $sql = "SELECT * FROM $db WHERE user_id = %d AND data = %s";
1458
  return $wpdb->get_row( $wpdb->prepare( $sql, $user_id, $video_id ) );
1459
  }
1460
-
1461
  /**
1462
  * Update Points
1463
  * @since 1.2
1464
- * @version 1.0
1465
  */
1466
  public function update_creds( $row_id, $user_id, $amount ) {
1467
  // Prep format
@@ -1469,7 +1427,7 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1469
  $decimals = $this->core->core['format']['decimals'];
1470
  else
1471
  $decimals = $this->core->format['decimals'];
1472
-
1473
  if ( $decimals > 0 )
1474
  $format = '%f';
1475
  else
@@ -1478,16 +1436,15 @@ if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1478
  $amount = $this->core->number( $amount );
1479
 
1480
  global $wpdb;
1481
-
1482
  $wpdb->update(
1483
- $wpdb->prefix . $this->core->db_name,
1484
  array( 'creds' => $amount ),
1485
- array( 'ID' => $row_id ),
1486
  array( $format ),
1487
  array( '%d' )
1488
  );
1489
  }
1490
-
1491
  /**
1492
  * Preference for Viewing Videos
1493
  * @since 1.2
1
  <?php
2
  if ( !defined( 'myCRED_VERSION' ) ) exit;
 
 
 
 
3
  /**
4
  * myCRED_Hooks class
5
  * @since 0.1
6
+ * @version 1.2
7
  */
8
  if ( !class_exists( 'myCRED_Hooks' ) ) {
9
  class myCRED_Hooks extends myCRED_Module {
 
10
  /**
11
  * Construct
12
  */
79
  * @version 1.1
80
  */
81
  public function get( $save = false ) {
82
+ $installed = array();
83
  // Registrations
84
  $installed['registration'] = array(
85
  'title' => __( '%plural% for registrations', 'mycred' ),
121
  'description' => __( 'Award %_plural% to users who watches videos embedded using the [mycred_video] shortcode.', 'mycred' ),
122
  'callback' => array( 'myCRED_Hook_Video_Views' )
123
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  $installed = apply_filters( 'mycred_setup_hooks', $installed );
125
 
126
  if ( $save === true && $this->core->can_edit_plugin() ) {
129
  'installed' => $installed,
130
  'hook_prefs' => $this->hook_prefs
131
  );
132
+ if ( mycred_override_settings() )
133
+ update_site_option( 1, 'mycred_pref_hooks', $new_data );
134
+ else
135
+ update_site_option( $GLOBALS['blog_id'], 'mycred_pref_hooks', $new_data );
136
  }
137
 
138
  $this->installed = $installed;
149
  if ( !$this->core->can_edit_plugin( get_current_user_id() ) ) wp_die( __( 'Access Denied', 'mycred' ) );
150
 
151
  // Get installed
152
+ $installed = $this->get( true ); ?>
 
 
 
 
 
153
 
154
  <div class="wrap" id="myCRED-wrap">
155
  <div id="icon-myCRED" class="icon32"><br /></div>
156
  <h2><?php echo apply_filters( 'mycred_label', myCRED_NAME ) . ' ' . __( 'Hooks', 'mycred' ); ?></h2>
157
+ <?php if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == true )
158
+ echo '<div class="updated settings-error"><p>' . __( 'Settings Updated', 'mycred' ) . '</p></div>'; ?>
159
+
160
  <p><?php echo $this->core->template_tags_general( __( 'Hooks are instances where %_plural% are awarded or deducted from a user, depending on their actions around your website.', 'mycred' ) ); ?></p>
161
  <form method="post" action="options.php">
162
  <?php settings_fields( 'myCRED-hooks' ); ?>
166
  <?php if ( !empty( $installed ) ) {
167
  foreach ( $installed as $key => $data ) { ?>
168
 
169
+ <h4><div class="icon icon-<?php if ( $this->is_active( $key ) ) echo 'active'; else echo 'inactive'; echo ' ' . $key; ?>"></div><label><?php echo $this->core->template_tags_general( $data['title'] ); ?></label></h4>
170
  <div class="body" style="display:none;">
171
  <p><?php echo nl2br( $this->core->template_tags_general( $data['description'] ) ); ?></p>
172
  <label class="subheader"><?php _e( 'Enable', 'mycred' ); ?></label>
182
  } ?>
183
 
184
  </div>
185
+ <?php submit_button( __( 'Update Changes', 'mycred' ), 'primary large', 'submit', false ); ?>
186
 
187
  </form>
188
  </div>
193
  /**
194
  * Sanititze Settings
195
  * @since 0.1
196
+ * @version 1.2
197
  */
198
  public function sanitize_settings( $post ) {
199
  // Loop though all installed hooks
206
 
207
  if ( !empty( $installed ) ) {
208
  foreach ( $installed as $key => $data ) {
209
+ if ( isset( $data['callback'] ) && isset( $post['hook_prefs'][ $key ] ) ) {
210
  // Old settings
211
+ $old_settings = $post['hook_prefs'][ $key ];
212
 
213
  // New settings
214
  $new_settings = $this->call( 'sanitise_preferences', $data['callback'], $old_settings );
215
 
216
  // If something went wrong use the old settings
217
  if ( empty( $new_settings ) || $new_settings === NULL || !is_array( $new_settings ) )
218
+ $new_post['hook_prefs'][ $key ] = $old_settings;
219
  // Else we got ourselves new settings
220
  else
221
+ $new_post['hook_prefs'][ $key ] = $new_settings;
222
+
223
+ // Handle de-activation
224
+ if ( !isset( $this->active ) ) continue;
225
+ if ( in_array( $key, (array) $this->active ) && !in_array( $key, $new_post['active'] ) )
226
+ $this->call( 'deactivate', $data['callback'], $new_post['hook_prefs'][ $key ] );
227
+
228
+ // Next item
229
  }
230
  }
231
  }
232
+
233
+ $installed = NULL;
234
  return $new_post;
235
  }
236
  }
243
  */
244
  if ( !class_exists( 'myCRED_Hook_Registration' ) ) {
245
  class myCRED_Hook_Registration extends myCRED_Hook {
 
246
  /**
247
  * Construct
248
  */
319
  */
320
  if ( !class_exists( 'myCRED_Hook_Logging_In' ) ) {
321
  class myCRED_Hook_Logging_In extends myCRED_Hook {
 
322
  /**
323
  * Construct
324
  */
463
  */
464
  if ( !class_exists( 'myCRED_Hook_Publishing_Content' ) ) {
465
  class myCRED_Hook_Publishing_Content extends myCRED_Hook {
 
466
  /**
467
  * Construct
468
  */
494
  /**
495
  * Publish Content Hook
496
  * @since 0.1
497
+ * @version 1.0
498
  */
499
  public function publishing_content( $new_status, $old_status, $post ) {
500
  $user_id = $post->post_author;
611
  protected function include_post_type( $post_type ) {
612
  // Exclude Core
613
  $excludes = array( 'post', 'page' );
 
 
 
 
 
 
 
 
 
 
 
 
 
614
  if ( in_array( $post_type, apply_filters( 'mycred_post_type_excludes', $excludes ) ) ) return false;
615
  return true;
616
  }
620
  /**
621
  * Hook for comments
622
  * @since 0.1
623
+ * @version 1.1
624
  */
625
  if ( !class_exists( 'myCRED_Hook_Comments' ) ) {
626
  class myCRED_Hook_Comments extends myCRED_Hook {
 
627
  /**
628
  * Construct
629
  */
638
  ),
639
  'approved' => array(
640
  'creds' => 1,
641
+ 'log' => '%plural% for Approved Comment',
642
+ 'author' => 0
643
  ),
644
  'spam' => array(
645
  'creds' => '-5',
646
+ 'log' => '%plural% deduction for Comment marked as SPAM',
647
+ 'author' => 0
648
  ),
649
  'trash' => array(
650
  'creds' => '-1',
651
+ 'log' => '%plural% deduction for deleted / unapproved Comment',
652
+ 'author' => 0
653
  )
654
  )
655
  ), $hook_prefs );
664
  add_action( 'comment_post', array( $this, 'new_comment' ), 10, 2 );
665
  add_action( 'transition_comment_status', array( $this, 'comment_transitions' ), 10, 3 );
666
  }
667
+
668
  /**
669
  * New Comment
670
  * If comments are approved without moderation, we apply the corresponding method
671
  * or else we will wait till the appropriate instance.
 
672
  * @since 0.1
673
  * @version 1.1
674
  */
680
  elseif ( $comment_status == '1' && $this->prefs['approved'] != 0 )
681
  $this->comment_transitions( 'approved', 'unapproved', $comment_id );
682
  }
683
+
684
  /**
685
  * Comment Transitions
686
  * @since 1.1.2
687
+ * @version 1.2.1
688
  */
689
  public function comment_transitions( $new_status, $old_status, $comment ) {
690
  // Passing an integer instead of an object means we need to grab the comment object ourselves
707
  }
708
 
709
  $reference = '';
710
+ $instance = 'approved';
711
 
712
  // Approved comments
713
  if ( $this->prefs['approved']['creds'] != 0 && $new_status == 'approved' ) {
714
  // New approved comment
715
  if ( $old_status == 'unapproved' || $old_status == 'hold' ) {
 
 
 
716
  $reference = 'approved_comment';
717
  $points = $this->prefs['approved']['creds'];
718
+ $points_author = $this->prefs['approved']['author'];
719
  $log = $this->prefs['approved']['log'];
720
+
721
+ if ( $this->user_exceeds_limit( $comment->user_id, $comment->comment_post_ID ) )
722
+ $points = 0;
723
  }
724
 
725
  // Marked as "Not Spam"
727
  $reference = 'approved_comment';
728
 
729
  // Reverse points
730
+ if ( $this->prefs['spam']['creds'] < 0 ) {
731
  $points = abs( $this->prefs['spam']['creds'] );
732
+ $points_author = abs( $this->prefs['spam']['author'] );
733
+ }
734
+ else {
735
  $points = $this->prefs['spam']['creds'];
736
+ $points_author = $this->prefs['spam']['author'];
737
+ }
738
 
739
  $log = $this->prefs['approved']['log'];
740
  }
743
  elseif ( $this->prefs['trash']['creds'] != 0 && $old_status == 'trash' ) {
744
  $reference = 'approved_comment';
745
  // Reverse points
746
+ if ( $this->prefs['trash']['creds'] < 0 ) {
747
  $points = abs( $this->prefs['trash']['creds'] );
748
+ $points_author = abs( $this->prefs['trash']['author'] );
749
+ }
750
+ else {
751
  $points = $this->prefs['trash']['creds'];
752
+ $points_author = $this->prefs['trash']['author'];
753
+ }
754
+
755
  $log = $this->prefs['approved']['log'];
756
  }
757
  }
760
  elseif ( $this->prefs['spam'] != 0 && $new_status == 'spam' ) {
761
  $reference = 'spam_comment';
762
  $points = $this->prefs['spam']['creds'];
763
+ $points_author = $this->prefs['spam']['author'];
764
  $log = $this->prefs['spam']['log'];
765
+ $instance = 'spam';
766
  }
767
 
768
  // Trashed comments
769
  elseif ( $this->prefs['trash'] != 0 && $new_status == 'trash' ) {
770
  $reference = 'deleted_comment';
771
  $points = $this->prefs['trash']['creds'];
772
+ $points_author = $this->prefs['trash']['author'];
773
  $log = $this->prefs['trash']['log'];
774
+ $instance = 'trash';
775
  }
776
 
777
  // Unapproved comments
778
  elseif ( $new_status == 'unapproved' && $old_status == 'approved' ) {
779
  $reference = 'deleted_comment';
780
  // Reverse points
781
+ if ( $this->prefs['approved']['creds'] < 0 ) {
782
  $points = abs( $this->prefs['approved']['creds'] );
783
+ $points_author = abs( $this->prefs['approved']['author'] );
784
+ }
785
+ else {
786
  $points = $this->prefs['approved']['creds'];
787
+ $points_author = $this->prefs['approved']['author'];
788
+ }
789
 
790
  $log = $this->prefs['trash']['log'];
791
+ $instance = 'trash';
792
  }
793
 
 
 
794
  // Execute
795
+ if ( ! empty( $reference ) ) {
796
+ if ( $points != 0 ) {
797
+ $this->core->add_creds(
798
+ $reference,
799
+ $comment->user_id,
800
+ $points,
801
+ $log,
802
+ $comment->comment_ID,
803
+ array( 'ref_type' => 'comment' )
804
+ );
805
+ }
806
+
807
+ // Content Author
808
+ if ( $points_author != 0 ) {
809
+ // Get post author
810
+ $post = get_post( (int) $comment->comment_post_ID );
811
+ // Make sure post still exists and author is not the commenter
812
+ if ( $post !== NULL && $comment->user_id != $post->post_author ) {
813
+ $this->core->add_creds(
814
+ $reference,
815
+ $post->post_author,
816
+ $points_author,
817
+ $log,
818
+ $comment->comment_ID,
819
+ array( 'ref_type' => 'comment' )
820
+ );
821
+ }
822
+ }
823
+ }
824
  }
825
 
826
  /**
900
  'per_day' => 0
901
  ); ?>
902
 
903
+ <label class="subheader"><?php _e( 'Approved Comment', 'mycred' ); ?></label>
904
+ <ol class="inline">
905
  <li>
906
+ <label for="<?php echo $this->field_id( array( 'approved' => 'creds' ) ); ?>"><?php _e( 'Comment Author', 'mycred' ); ?></label>
907
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'approved' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'approved' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['approved']['creds'] ); ?>" size="8" /></div>
908
  </li>
 
909
  <li>
910
+ <label for="<?php echo $this->field_id( array( 'approved' => 'author' ) ); ?>"><?php _e( 'Content Author', 'mycred' ); ?></label>
911
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'approved' => 'author' ) ); ?>" id="<?php echo $this->field_id( array( 'approved' => 'author' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['approved']['author'] ); ?>" size="8" /></div>
912
+ </li>
913
+ <li class="block empty">&nbsp;</li>
914
+ <li class="block">
915
  <label for="<?php echo $this->field_id( array( 'approved' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
916
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'approved' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'approved' => 'log' ) ); ?>" value="<?php echo $prefs['approved']['log']; ?>" class="long" /></div>
917
  <span class="description"><?php _e( 'Available template tags: General, Comment', 'mycred' ); ?></span>
918
  </li>
919
  </ol>
920
+ <label class="subheader"><?php _e( 'Comment Marked SPAM', 'mycred' ); ?></label>
921
+ <ol class="inline">
922
  <li>
923
+ <label for="<?php echo $this->field_id( array( 'spam' => 'creds' ) ); ?>"><?php _e( 'Comment Author', 'mycred' ); ?></label>
924
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'spam' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'spam' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['spam']['creds'] ); ?>" size="8" /></div>
925
  </li>
 
926
  <li>
927
+ <label for="<?php echo $this->field_id( array( 'spam' => 'creds' ) ); ?>"><?php _e( 'Content Author', 'mycred' ); ?></label>
928
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'spam' => 'author' ) ); ?>" id="<?php echo $this->field_id( array( 'spam' => 'author' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['spam']['author'] ); ?>" size="8" /></div>
929
+ </li>
930
+ <li class="block empty">&nbsp;</li>
931
+ <li class="block">
932
  <label for="<?php echo $this->field_id( array( 'spam' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
933
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'spam' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'spam' => 'log' ) ); ?>" value="<?php echo $prefs['spam']['log']; ?>" class="long" /></div>
934
  <span class="description"><?php _e( 'Available template tags: General, Comment', 'mycred' ); ?></span>
935
  </li>
936
  </ol>
937
+ <label class="subheader"><?php _e( 'Trashed / Unapproved Comments', 'mycred' ); ?></label>
938
+ <ol class="inline">
939
  <li>
940
+ <label for="<?php echo $this->field_id( array( 'trash' => 'creds' ) ); ?>"><?php _e( 'Comment Author', 'mycred' ); ?></label>
941
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'trash' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'trash' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['trash']['creds'] ); ?>" size="8" /></div>
942
  </li>
 
943
  <li>
944
+ <label for="<?php echo $this->field_id( array( 'trash' => 'author' ) ); ?>"><?php _e( 'Content Author', 'mycred' ); ?></label>
945
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'trash' => 'author' ) ); ?>" id="<?php echo $this->field_id( array( 'trash' => 'author' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['trash']['author'] ); ?>" size="8" /></div>
946
+ </li>
947
+ <li class="block empty">&nbsp;</li>
948
+ <li class="block">
949
  <label for="<?php echo $this->field_id( array( 'trash' => 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
950
  <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'trash' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'trash' => 'log' ) ); ?>" value="<?php echo $prefs['trash']['log']; ?>" class="long" /></div>
951
  <span class="description"><?php _e( 'Available template tags: General, Comment', 'mycred' ); ?></span>
989
  }
990
  }
991
  }
992
+
993
  /**
994
  * Hooks for Clicking on Links
995
  * @since 1.1
997
  */
998
  if ( !class_exists( 'myCRED_Hook_Click_Links' ) ) {
999
  class myCRED_Hook_Click_Links extends myCRED_Hook {
 
1000
  /**
1001
  * Construct
1002
  */
1042
  /**
1043
  * Parse Custom Tags in Log
1044
  * @since 1.1
1045
+ * @version 1.1
1046
  */
1047
  public function parse_custom_tags( $content, $log_entry ) {
1048
  $data = unserialize( $log_entry->data );
1049
  $content = str_replace( '%url%', $data['link_url'], $content );
1050
  $content = str_replace( '%id%', $data['link_id'], $content );
1051
+ if ( isset( $data['link_title'] ) )
1052
+ $content = str_replace( '%title%', $data['link_title'], $content );
1053
 
1054
  return $content;
1055
  }
1110
  }
1111
  else return false;
1112
 
1113
+ $sql = "SELECT id FROM {$this->core->log_table} WHERE ref = %s AND user_id = %d AND data LIKE %s;";
1114
  $wpdb->get_results( $wpdb->prepare( $sql, $action, $user_id, $string ) );
1115
  if ( $wpdb->num_rows > 0 ) return true;
1116
 
1120
  /**
1121
  * AJAX Call Handler
1122
  * @since 1.1
1123
+ * @version 1.2
1124
  */
1125
  public function ajax_call_link_points() {
1126
  // We must be logged in
1164
  $this->prefs['log'],
1165
  $ref,
1166
  array(
1167
+ 'ref_type' => 'link',
1168
+ 'link_url' => ( isset( $_POST['url'] ) ) ? $_POST['url'] : '',
1169
+ 'link_id' => ( isset( $_POST['eid'] ) ) ? $_POST['eid'] : '',
1170
+ 'link_title' => ( isset( $_POST['etitle'] ) ) ? $_POST['etitle'] : ''
1171
  )
1172
  );
1173
 
1178
  /**
1179
  * Preference for Link Click Hook
1180
  * @since 1.1
1181
+ * @version 1.0.1
1182
  */
1183
  public function preferences() {
1184
  $prefs = $this->prefs; ?>
1194
  <ol>
1195
  <li>
1196
  <div class="h2"><input type="text" name="<?php echo $this->field_name( 'log' ); ?>" id="<?php echo $this->field_id( 'log' ); ?>" value="<?php echo $prefs['log']; ?>" class="long" /></div>
1197
+ <span class="description"><?php _e( 'Available template tags: General and custom tags: %url%, %title% or %id%.', 'mycred' ); ?></span>
1198
  </li>
1199
  </ol>
1200
  <label class="subheader"><?php _e( 'Limits', 'mycred' ); ?></label>
1219
  */
1220
  if ( !class_exists( 'myCRED_Hook_Video_Views' ) ) {
1221
  class myCRED_Hook_Video_Views extends myCRED_Hook {
 
1222
  /**
1223
  * Construct
1224
  */
1242
  */
1243
  public function run() {
1244
  add_action( 'mycred_front_enqueue', array( $this, 'register_script' ) );
 
1245
  add_shortcode( 'mycred_video', 'mycred_render_shortcode_video' );
1246
  add_action( 'wp_ajax_mycred-video-points', array( $this, 'ajax_call_video_points' ) );
1247
  }
1285
 
1286
  // Security
1287
  check_ajax_referer( 'mycred-video-points', 'token' );
1288
+
1289
  $award = false;
1290
  $status = 'silence';
1291
+
1292
  // Check for amount override
1293
  if ( isset( $_POST['amount'] ) && $_POST['amount'] != $this->prefs['creds'] )
1294
  $amount = $this->core->number( $_POST['amount'] );
1295
  else
1296
  $amount = $this->prefs['creds'];
1297
+
1298
  // Check for logic override
1299
  if ( isset( $_POST['logic'] ) || $_POST['logic'] != $this->prefs['logic'] )
1300
  $logic = $_POST['logic'];
1301
  else
1302
  $logic = $this->prefs['logic'];
1303
+
1304
  // Check for interval override
1305
  if ( isset( $_POST['interval'] ) && !empty( $_POST['interval'] ) )
1306
  $interval = abs( $_POST['interval']/1000 );
1307
  else
1308
  $interval = abs( $this->prefs['interval'] );
1309
+
1310
  $video_id = trim( $_POST['video_id'] );
1311
  $state = trim( $_POST['video_state'] );
1312
  $duration = abs( $_POST['video_length'] );
1313
+
1314
  $user_id = abs( $_POST['user_id'] );
1315
  $watched = abs( $_POST['user_watched'] );
1316
  $actions = trim( $_POST['user_actions'] );
1344
  if ( !preg_match( '/22/', $actions, $matches ) || $watched >= $duration ) {
1345
  if ( $state == 0 && !$this->has_entry( 'watching_video', '', $user_id, $video_id ) ) {
1346
  $award = true;
1347
+
1348
  // Execute
1349
  $this->core->add_creds(
1350
  'watching_video',
1354
  '',
1355
  $video_id
1356
  );
1357
+
1358
  $status = 'max';
1359
  }
1360
  }
1364
  // The maximum points a video can earn you
1365
  $num_intervals = floor( $duration / $interval );
1366
  $max = abs( $num_intervals * $amount );
 
1367
  $users_log = $this->get_users_video_log( $video_id, $user_id );
 
1368
  // Film is playing and we just started
1369
  if ( $state == 1 && $users_log === NULL ) {
1370
  $award = true;
 
1371
  // Execute
1372
  $this->core->add_creds(
1373
  'watching_video',
1394
  $status = 'max';
1395
  }
1396
  }
1397
+
1398
  $data = array(
1399
  'status' => $status,
1400
  'video_id' => $video_id,
1402
  );
1403
  die( json_encode( $data ) );
1404
  }
1405
+
1406
  /**
1407
  * Get Users Video Log
1408
  * Returns the log for a given video id.
1409
  * @since 1.2
1410
+ * @version 1.0.1
1411
  */
1412
  public function get_users_video_log( $video_id, $user_id ) {
1413
  global $wpdb;
1414
+
1415
+ $sql = "SELECT * FROM {$this->core->log_table} WHERE user_id = %d AND data = %s;";
 
1416
  return $wpdb->get_row( $wpdb->prepare( $sql, $user_id, $video_id ) );
1417
  }
1418
+
1419
  /**
1420
  * Update Points
1421
  * @since 1.2
1422
+ * @version 1.1
1423
  */
1424
  public function update_creds( $row_id, $user_id, $amount ) {
1425
  // Prep format
1427
  $decimals = $this->core->core['format']['decimals'];
1428
  else
1429
  $decimals = $this->core->format['decimals'];
1430
+
1431
  if ( $decimals > 0 )
1432
  $format = '%f';
1433
  else
1436
  $amount = $this->core->number( $amount );
1437
 
1438
  global $wpdb;
 
1439
  $wpdb->update(
1440
+ $this->core->log_table,
1441
  array( 'creds' => $amount ),
1442
+ array( 'ID' => $row_id ),
1443
  array( $format ),
1444
  array( '%d' )
1445
  );
1446
  }
1447
+
1448
  /**
1449
  * Preference for Viewing Videos
1450
  * @since 1.2
modules/mycred-module-log.php CHANGED
@@ -1,5 +1,6 @@
1
  <?php
2
  if ( !defined( 'myCRED_VERSION' ) ) exit;
 
3
  /**
4
  * myCRED_Log class
5
  * @since 0.1
@@ -38,7 +39,6 @@ if ( !class_exists( 'myCRED_Log' ) ) {
38
  public function module_init() {
39
  add_filter( 'set-screen-option', array( $this, 'set_entries_per_page' ), 10, 3 );
40
  add_action( 'mycred_add_menu', array( $this, 'my_history_menu' ) );
41
- add_shortcode( 'mycred_history', array( $this, 'render_my_history' ) );
42
 
43
  // Handle deletions
44
  add_action( 'before_delete_post', array( $this, 'post_deletions' ) );
@@ -79,16 +79,13 @@ if ( !class_exists( 'myCRED_Log' ) ) {
79
  /**
80
  * Log Header
81
  * @since 0.1
82
- * @version 1.1
83
  */
84
  public function settings_header() {
85
  // Since we are overwriting the myCRED_Module::settings_header() we need to enqueue admin styles
 
86
  wp_enqueue_style( 'mycred-admin' );
87
-
88
  $screen = get_current_screen();
89
-
90
- $help = new myCRED_Help();
91
- $help->log_page( $screen );
92
 
93
  // Prep Per Page
94
  $args = array(
@@ -96,13 +93,15 @@ if ( !class_exists( 'myCRED_Log' ) ) {
96
  'default' => 10,
97
  'option' => 'mycred_entries_per_page'
98
  );
99
- add_screen_option( 'per_page', $args );
100
  $per_page = get_user_meta( get_current_user_id(), $args['option'], true );
101
- if ( empty( $per_page ) || $per_page < 1 )
102
- $per_page = $args['default'];
103
 
104
- $this->per_page = $per_page;
105
- unset( $screen );
 
 
106
  }
107
 
108
  /**
@@ -112,31 +111,32 @@ if ( !class_exists( 'myCRED_Log' ) ) {
112
  * @version 1.1
113
  */
114
  public function count_records() {
115
- global $wpdb;
116
-
117
- return $wpdb->get_var( "SELECT COUNT(*) FROM " . $wpdb->prefix . 'myCRED_log' . ";" );
 
 
 
 
118
  }
119
 
120
  /**
121
  * Get References
122
  * Returns all available references in the database.
123
  * @since 0.1
124
- * @version 1.0
125
  */
126
  protected function get_refs() {
127
  $refs = wp_cache_get( 'mycred_references' );
128
  if ( false === $refs ) {
129
  global $wpdb;
130
-
131
- $sql = "SELECT log.ref FROM " . $wpdb->prefix . 'myCRED_log' . " log WHERE %s <> '' ";
132
- $refs = $wpdb->get_col( $wpdb->prepare( $sql, 'ref' ) );
133
-
134
  if ( $refs ) {
135
  $refs = array_unique( $refs );
136
  wp_cache_set( 'mycred_references', $refs );
137
  }
138
  }
139
-
140
  return $refs;
141
  }
142
 
@@ -157,7 +157,6 @@ if ( !class_exists( 'myCRED_Log' ) ) {
157
  }
158
  wp_cache_set( 'mycred_users', $users );
159
  }
160
-
161
  return $users;
162
  }
163
 
@@ -219,8 +218,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
219
  if ( $location == 'top' ) {
220
  $this->filter_options( $is_profile );
221
  $this->item_count( $amount );
222
- }
223
- else {
224
  $this->item_count( $amount );
225
  }
226
  }
@@ -232,7 +230,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
232
  */
233
  public function item_count( $amount ) { ?>
234
  <div class="tablenav-pages one-page">
235
- <span class="displaying-num"><?php echo $amount; echo ' ' . _n( 'entry', 'entries', $amount, 'mycred' ); ?></span>
236
  </div>
237
  <?php
238
  }
@@ -287,8 +285,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
287
  if ( isset( $_GET['order'] ) && !empty( $_GET['order'] ) )
288
  $args['order'] = $_GET['order'];
289
 
290
- $log = new myCRED_Query_Log( $args );
291
- $this->results = $log->results; ?>
292
 
293
  <div class="wrap" id="myCRED-wrap">
294
  <div id="icon-myCRED" class="icon32"><br /></div>
@@ -336,9 +333,8 @@ if ( !class_exists( 'myCRED_Log' ) ) {
336
  <?php do_action( 'mycred_bottom_log_page', $this ); ?>
337
 
338
  </div>
339
- <?php
340
  unset( $log );
341
- unset( $this );
342
  }
343
 
344
  /**
@@ -367,7 +363,6 @@ if ( !class_exists( 'myCRED_Log' ) ) {
367
  $args['order'] = $_GET['order'];
368
 
369
  $log = new myCRED_Query_Log( $args );
370
- $this->results = $log->results;
371
  unset( $log->headers['column-username'] ); ?>
372
 
373
  <div class="wrap" id="myCRED-wrap">
@@ -378,7 +373,21 @@ if ( !class_exists( 'myCRED_Log' ) ) {
378
  <?php do_action( 'mycred_top_my_log_page', $this ); ?>
379
 
380
  <form method="get" action="">
381
- <?php $log->search(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
 
383
  <input type="hidden" name="page" value="mycred_my_history" />
384
  <?php do_action( 'mycred_above_my_log_table', $this ); ?>
@@ -399,56 +408,10 @@ if ( !class_exists( 'myCRED_Log' ) ) {
399
  <?php do_action( 'mycred_bottom_my_log_page', $this ); ?>
400
 
401
  </div>
402
- <?php
403
  unset( $log );
404
  }
405
 
406
- /**
407
- * My History Shortcode render
408
- * @since 0.1
409
- * @version 1.1
410
- */
411
- public function render_my_history( $atts ) {
412
- extract( shortcode_atts( array(
413
- 'user_id' => NULL,
414
- 'number' => NULL,
415
- 'time' => NULL,
416
- 'ref' => NULL,
417
- 'order' => NULL,
418
- 'show_user' => false,
419
- 'login' => ''
420
- ), $atts ) );
421
-
422
- // If we are not logged in
423
- if ( !is_user_logged_in() && !empty( $login ) ) return '<p class="mycred-history login">' . $login . '</p>';
424
-
425
- if ( $user_id === NULL )
426
- $user_id = get_current_user_id();
427
-
428
- $args = array();
429
- $args['user_id'] = $user_id;
430
-
431
- if ( $number !== NULL )
432
- $args['number'] = $number;
433
-
434
- if ( $time !== NULL )
435
- $args['time'] = $time;
436
-
437
- if ( $ref !== NULL )
438
- $args['ref'] = $ref;
439
-
440
- if ( $order !== NULL )
441
- $args['order'] = $order;
442
-
443
- $log = new myCRED_Query_Log( $args );
444
- $this->results = $log->results;
445
-
446
- if ( $show_user !== true )
447
- unset( $log->headers['column-username'] );
448
-
449
- return $log->get_display();
450
- }
451
-
452
  /**
453
  * Handle Post Deletions
454
  * @since 1.0.9.2
@@ -457,7 +420,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
457
  public function post_deletions( $post_id ) {
458
  global $post_type, $wpdb;
459
  // Check log
460
- $sql = "SELECT * FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE ref_id = %d ";
461
  $records = $wpdb->get_results( $wpdb->prepare( $sql, $post_id ) );
462
  // If we have results
463
  if ( $wpdb->num_rows > 0 ) {
@@ -484,7 +447,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
484
  $new_data['post_type'] = $post->post_type;
485
  // Save
486
  $wpdb->update(
487
- $wpdb->prefix . 'myCRED_log',
488
  array( 'data' => serialize( $new_data ) ),
489
  array( 'id' => $row->id ),
490
  array( '%s' ),
@@ -495,7 +458,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
495
  }
496
  }
497
  }
498
-
499
  /**
500
  * Handle User Deletions
501
  * @since 1.0.9.2
@@ -504,7 +467,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
504
  public function user_deletions( $user_id ) {
505
  global $wpdb;
506
  // Check log
507
- $sql = "SELECT * FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE user_id = %d ";
508
  $records = $wpdb->get_results( $wpdb->prepare( $sql, $user_id ) );
509
  // If we have results
510
  if ( $wpdb->num_rows > 0 ) {
@@ -519,7 +482,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
519
  $new_data['display_name'] = $user->display_name;
520
  // Save
521
  $wpdb->update(
522
- $wpdb->prefix . 'myCRED_log',
523
  array( 'data' => serialize( $new_data ) ),
524
  array( 'id' => $row->id ),
525
  array( '%s' ),
@@ -528,7 +491,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
528
  }
529
  }
530
  }
531
-
532
  /**
533
  * Handle Comment Deletions
534
  * @since 1.0.9.2
@@ -537,7 +500,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
537
  public function comment_deletions( $comment_id ) {
538
  global $wpdb;
539
  // Check log
540
- $sql = "SELECT * FROM " . $wpdb->prefix . 'myCRED_log' . " WHERE ref_id = %d ";
541
  $records = $wpdb->get_results( $wpdb->prepare( $sql, $comment_id ) );
542
  // If we have results
543
  if ( $wpdb->num_rows > 0 ) {
@@ -560,7 +523,7 @@ if ( !class_exists( 'myCRED_Log' ) ) {
560
  $new_data['comment_post_ID'] = $comment->comment_post_ID;
561
  // Save
562
  $wpdb->update(
563
- $wpdb->prefix . 'myCRED_log',
564
  array( 'data' => serialize( $new_data ) ),
565
  array( 'id' => $row->id ),
566
  array( '%s' ),
@@ -573,458 +536,4 @@ if ( !class_exists( 'myCRED_Log' ) ) {
573
  }
574
  }
575
  }
576
- /**
577
- * Query Log
578
- * @see http://mycred.me/classes/mycred_query_log/
579
- * @since 0.1
580
- * @version 1.1
581
- */
582
- if ( !class_exists( 'myCRED_Query_Log' ) ) {
583
- class myCRED_Query_Log {
584
-
585
- public $args;
586
- public $request;
587
- public $prep;
588
- public $result;
589
- public $num_rows;
590
- public $headers;
591
-
592
- /**
593
- * Construct
594
- */
595
- public function __construct( $args = array() ) {
596
- if ( empty( $args ) ) return false;
597
-
598
- global $wpdb;
599
-
600
- $select = $where = $sortby = $limits = '';
601
- $prep = $wheres = array();
602
-
603
- // Load General Settings
604
- $this->core = mycred_get_settings();
605
- if ( $this->core->format['decimals'] > 0 )
606
- $format = '%f';
607
- else
608
- $format = '%d';
609
-
610
- // Prep Defaults
611
- $defaults = array(
612
- 'user_id' => NULL,
613
- 'ctype' => $this->core->get_cred_id(),
614
- 'number' => 25,
615
- 'time' => NULL,
616
- 'ref' => NULL,
617
- 'ref_id' => NULL,
618
- 'amount' => NULL,
619
- 's' => NULL,
620
- 'orderby' => 'time',
621
- 'order' => 'DESC',
622
- 'ids' => false,
623
- 'cache' => NULL
624
- );
625
- $this->args = shortcode_atts( $defaults, $args );
626
-
627
- $data = false;
628
- if ( $this->args['cache'] !== NULL ) {
629
- $cache_id = substr( $this->args['cache'], 0, 23 );
630
- if ( is_multisite() )
631
- $data = get_site_transient( 'mycred_log_query_' . $cache_id );
632
- else
633
- $data = get_transient( 'mycred_log_query_' . $cache_id );
634
- }
635
- if ( $data === false ) {
636
- // Prep return
637
- if ( $this->args['ids'] === true )
638
- $select = 'SELECT id';
639
- else
640
- $select = 'SELECT *';
641
-
642
- $wheres[] = 'ctype = %s';
643
- $prep[] = $this->args['ctype'];
644
-
645
- // User ID
646
- if ( $this->args['user_id'] !== NULL ) {
647
- $wheres[] = 'user_id = %d';
648
- $prep[] = abs( $this->args['user_id'] );
649
- }
650
-
651
- // Reference
652
- if ( $this->args['ref'] !== NULL ) {
653
- $wheres[] = 'ref = %s';
654
- $prep[] = sanitize_text_field( $this->args['ref'] );
655
- }
656
-
657
- // Reference ID
658
- if ( $this->args['ref_id'] !== NULL ) {
659
- $wheres[] = 'ref_id = %d';
660
- $prep[] = sanitize_text_field( $this->args['ref_id'] );
661
- }
662
-
663
- // Amount
664
- if ( $this->args['amount'] !== NULL ) {
665
- // Range
666
- if ( is_array( $this->args['amount'] ) && array_key_exists( 'start', $this->args['amount'] ) && array_key_exists( 'end', $this->args['amount'] ) ) {
667
- $wheres[] = 'creds BETWEEN ' . $format . ' AND ' . $format;
668
- $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount']['start'] ) );
669
- $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount']['end'] ) );
670
- }
671
- // Compare
672
- elseif ( is_array( $this->args['amount'] ) && array_key_exists( 'num', $this->args['amount'] ) && array_key_exists( 'compare', $this->args['amount'] ) ) {
673
- $wheres[] = 'creds' . sanitize_text_field( $this->args['amount']['compare'] ) . ' ' . $format;
674
- $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount']['num'] ) );
675
- }
676
- // Specific amount
677
- else {
678
- $wheres[] = 'creds = ' . $format;
679
- $prep[] = $this->core->format_number( sanitize_text_field( $this->args['amount'] ) );
680
- }
681
- }
682
-
683
- // Time
684
- if ( $this->args['time'] !== NULL ) {
685
- $today = strtotime( date_i18n( 'Y/m/d' ) );
686
- $todays_date = date_i18n( 'd' );
687
- $tomorrow = strtotime( date_i18n( 'Y/m/d', date_i18n( 'U' )+86400 ) );
688
- $now = date_i18n( 'U' );
689
-
690
- // Show todays entries
691
- if ( $this->args['time'] == 'today' ) {
692
- $wheres[] = "time BETWEEN $today AND $now";
693
- }
694
- // Show yesterdays entries
695
- elseif ( $this->args['time'] == 'yesterday' ) {
696
- $yesterday = strtotime( date_i18n( 'Y/m/d', date_i18n( 'U' )-86400 ) );
697
- $wheres[] = "time BETWEEN $yesterday AND $today";
698
- }
699
- // Show this weeks entries
700
- elseif ( $this->args['time'] == 'thisweek' ) {
701
- $start_of_week = get_option( 'start_of_week' );
702
- $weekday = date_i18n( 'w' );
703
- // New week started today so show only todays
704
- if ( $start_of_week == $weekday ) {
705
- $wheres[] = "time BETWEEN $today AND $now";
706
- }
707
- // Show rest of this week
708
- else {
709
- $no_days_since_start_of_week = $weekday-$start_of_week;
710
- $weekstart = $no_days_since_start_of_week*86400;
711
- $weekstart = $today-$weekstart;
712
- $wheres[] = "time BETWEEN $weekstart AND $now";
713
- }
714
- }
715
- // Show this months entries
716
- elseif ( $this->args['time'] == 'thismonth' ) {
717
- $start_of_month = strtotime( date_i18n( 'Y/m/01' ) );
718
- $wheres[] = "time BETWEEN $start_of_month AND $now";
719
- }
720
- }
721
-
722
- // Search
723
- if ( $this->args['s'] !== NULL ) {
724
- $search_query = sanitize_text_field( $this->args['s'] );
725
- if ( is_int( $search_query ) )
726
- $search_query = (string) $search_query;
727
-
728
- if ( $this->args['user_id'] !== NULL ) {
729
- $user_id = $this->args['user_id'];
730
- $wheres[] = "entry LIKE '%$search_query%' OR user_id = $user_id AND data LIKE '%$search_query%' OR user_id = $user_id AND ref LIKE '%$search_query%'";
731
- }
732
- else
733
- $wheres[] = "entry LIKE '%$search_query%' OR data LIKE '%$search_query%' OR ref LIKE '%$search_query%'";
734
- }
735
-
736
- // Order by
737
- if ( !empty( $this->args['orderby'] ) ) {
738
- // Make sure $sortby is valid
739
- $sortbys = array( 'id', 'ref', 'ref_id', 'user_id', 'creds', 'ctype', 'entry', 'data', 'time' );
740
- $allowed = apply_filters( 'mycred_allowed_sortby', $sortbys );
741
- if ( in_array( $this->args['orderby'], $allowed ) ) {
742
- $sortby = "ORDER BY " . $this->args['orderby'] . " " . $this->args['order'];
743
- }
744
- }
745
-
746
- // Limits
747
- if ( $this->args['number'] == '-1' )
748
- $limits = '';
749
- elseif ( $this->args['number'] > 1 )
750
- $limits = 'LIMIT 0,' . absint( $this->args['number'] );
751
-
752
- // Filter
753
- $select = apply_filters( 'mycred_query_log_select', $select, $this->args, $this->core );
754
- $sortby = apply_filters( 'mycred_query_log_sortby', $sortby, $this->args, $this->core );
755
- $limits = apply_filters( 'mycred_query_log_limits', $limits, $this->args, $this->core );
756
- $wheres = apply_filters( 'mycred_query_log_wheres', $wheres, $this->args, $this->core );
757
-
758
- $prep = apply_filters( 'mycred_query_log_prep', $prep, $this->args, $this->core );
759
-
760
- $where = 'WHERE ' . implode( ' AND ', $wheres );
761
-
762
- // Run
763
- $this->request = "$select FROM " . $wpdb->prefix . 'myCRED_log' . " $where $sortby $limits";
764
- $this->results = $wpdb->get_results( $wpdb->prepare( $this->request, $prep ) );
765
- $this->prep = $prep;
766
-
767
- if ( $this->args['cache'] !== NULL ) {
768
- if ( is_multisite() )
769
- set_site_transient( 'mycred_log_query_' . $cache_id, $this->results, DAY_IN_SECONDS * 1 );
770
- else
771
- set_transient( 'mycred_log_query_' . $cache_id, $this->results, DAY_IN_SECONDS * 1 );
772
- }
773
-
774
- // Counts
775
- $this->num_rows = $wpdb->num_rows;
776
- }
777
-
778
- // Return the transient
779
- else {
780
- $this->request = 'transient';
781
- $this->results = $data;
782
- $this->prep = '';
783
-
784
- $this->num_rows = count( $data );
785
- }
786
-
787
- $this->headers = $this->table_headers();
788
- }
789
-
790
- /**
791
- * Has Entries
792
- * @returns true or false
793
- * @since 0.1
794
- * @version 1.0
795
- */
796
- public function have_entries() {
797
- if ( !empty( $this->results ) ) return true;
798
- return false;
799
- }
800
-
801
- /**
802
- * Table Headers
803
- * Returns all table column headers.
804
- *
805
- * @filter mycred_log_column_headers
806
- * @since 0.1
807
- * @version 1.0
808
- */
809
- public function table_headers() {
810
- return apply_filters( 'mycred_log_column_headers', array(
811
- 'column-username' => __( 'User', 'mycred' ),
812
- 'column-time' => __( 'Date', 'mycred' ),
813
- 'column-creds' => $this->core->plural(),
814
- 'column-entry' => __( 'Entry', 'mycred' )
815
- ), $this );
816
- }
817
-
818
- /**
819
- * Display
820
- * @since 0.1
821
- * @version 1.0
822
- */
823
- public function display() {
824
- echo $this->get_display();
825
- }
826
-
827
- /**
828
- * Get Display
829
- * Generates a table for our results.
830
- *
831
- * @since 0.1
832
- * @version 1.0
833
- */
834
- public function get_display() {
835
- $output = '
836
- <table class="wp-list-table widefat fixed log-entries" cellspacing="0">
837
- <thead>
838
- <tr>';
839
-
840
- // Table header
841
- foreach ( $this->headers as $col_id => $col_title ) {
842
- $output .= '<th scope="col" id="' . str_replace( 'column-', '', $col_id ) . '" class="manage-column ' . $col_id . '">' . $col_title . '</th>';
843
- }
844
-
845
- $output .= '
846
- </tr>
847
- </thead>
848
- <tfoot>';
849
-
850
- // Table footer
851
- foreach ( $this->headers as $col_id => $col_title ) {
852
- $output .= '<th scope="col" class="manage-column ' . $col_id . '">' . $col_title . '</th>';
853
- }
854
-
855
- $output .= '
856
- </tfoot>
857
- <tbody id="the-list">';
858
-
859
- // Loop
860
- if ( $this->have_entries() ) {
861
- $alt = 0;
862
- foreach ( $this->results as $log_entry ) {
863
- $alt = $alt+1;
864
- if ( $alt % 2 == 0 )
865
- $class = ' alternate';
866
- else
867
- $class = '';
868
-
869
- $output .= '<tr class="myCRED-log-row' . $class . '">';
870
- $output .= $this->get_the_entry( $log_entry );
871
- $output .= '</tr>';
872
- }
873
- }
874
- // No log entry
875
- else {
876
- $output .= '<tr><td colspan="' . count( $this->headers ) . '" class="no-entries">' . $this->get_no_entries() . '</td></tr>';
877
- }
878
-
879
- $output .= '
880
- </tbody>
881
- </table>' . "\n";
882
-
883
- return $output;
884
- }
885
-
886
- /**
887
- * The Entry
888
- * @since 0.1
889
- * @version 1.1
890
- */
891
- public function the_entry( $log_entry, $wrap = 'td' ) {
892
- echo $this->get_the_entry( $log_entry, $wrap );
893
- }
894
-
895
- /**
896
- * Get The Entry
897
- * Generated a single entry row depending on the columns used / requested.
898
- *
899
- * @since 0.1
900
- * @version 1.2
901
- */
902
- public function get_the_entry( $log_entry, $wrap = 'td' ) {
903
- $date_format = get_option( 'date_format' ) . ' ' . get_option( 'time_format' );
904
- $entry_data = '';
905
-
906
- // Run though columns
907
- foreach ( $this->headers as $column_id => $column_name ) {
908
- switch ( $column_id ) {
909
- // Username Column
910
- case 'column-username':
911
- $user = get_userdata( $log_entry->user_id );
912
-
913
- if ( $user === false )
914
- $content = '<span>' . __( 'User Missing', 'mycred' ) . ' (ID: ' . $log_entry->user_id . ')</span>';
915
- else
916
- $content = '<span>' . $user->display_name . '</span>';
917
-
918
- unset( $user );
919
- break;
920
- // Date & Time Column
921
- case 'column-time' :
922
- $content = date_i18n( $date_format, $log_entry->time );
923
- break;
924
- // Amount Column
925
- case 'column-creds' :
926
- $content = $this->core->format_creds( $log_entry->creds );
927
- break;
928
- // Log Entry Column
929
- case 'column-entry' :
930
- $content = $this->core->parse_template_tags( $log_entry->entry, $log_entry );
931
- break;
932
- }
933
- $entry_data .= '<' . $wrap . ' class="' . $column_id . '">' . $content . '</' . $wrap . '>';
934
- }
935
- return $entry_data;
936
- }
937
-
938
- /**
939
- * No Entries
940
- * @since 0.1
941
- * @version 1.0
942
- */
943
- public function no_entries() {
944
- echo $this->get_no_entries();
945
- }
946
-
947
- /**
948
- * Get No Entries
949
- * @since 0.1
950
- * @version 1.0
951
- */
952
- public function get_no_entries() {
953
- return __( 'No log entries found', 'mycred' );
954
- }
955
-
956
- /**
957
- * Log Search
958
- * @since 0.1
959
- * @version 1.0
960
- */
961
- public function search() {
962
- if ( isset( $_GET['s'] ) && !empty( $_GET['s'] ) )
963
- $serarch_string = $_GET['s'];
964
- else
965
- $serarch_string = ''; ?>
966
-
967
- <p class="search-box">
968
- <label class="screen-reader-text" for=""><?php _e( 'Search Log', 'mycred' ); ?>:</label>
969
- <input type="search" name="s" value="<?php echo $serarch_string; ?>" />
970
- <input type="submit" name="mycred-search-log" id="search-submit" class="button" value="<?php _e( 'Search Log', 'mycred' ); ?>" />
971
- </p>
972
- <?php
973
- }
974
-
975
- /**
976
- * Filter by Dates
977
- * @since 0.1
978
- * @version 1.0
979
- */
980
- public function filter_dates( $url = '' ) {
981
- $date_sorting = apply_filters( 'mycred_sort_by_time', array(
982
- '' => __( 'All', 'mycred' ),
983
- 'today' => __( 'Today', 'mycred' ),
984
- 'yesterday' => __( 'Yesterday', 'mycred' ),
985
- 'thisweek' => __( 'This Week', 'mycred' ),
986
- 'thismonth' => __( 'This Month', 'mycred' )
987
- ) );
988
-
989
- if ( !empty( $date_sorting ) ) {
990
- $total = count( $date_sorting );
991
- $count = 0;
992
- echo '<ul class="subsubsub">';
993
- foreach ( $date_sorting as $sorting_id => $sorting_name ) {
994
- $count = $count+1;
995
- echo '<li class="' . $sorting_id . '"><a href="';
996
-
997
- // Build Query Args
998
- $url_args = array();
999
- if ( isset( $_GET['user_id'] ) && !empty( $_GET['user_id'] ) )
1000
- $url_args['user_id'] = $_GET['user_id'];
1001
- if ( isset( $_GET['ref'] ) && !empty( $_GET['ref'] ) )
1002
- $url_args['ref'] = $_GET['ref'];
1003
- if ( isset( $_GET['order'] ) && !empty( $_GET['order'] ) )
1004
- $url_args['order'] = $_GET['order'];
1005
- if ( isset( $_GET['s'] ) && !empty( $_GET['s'] ) )
1006
- $url_args['s'] = $_GET['s'];
1007
- if ( !empty( $sorting_id ) )
1008
- $url_args['show'] = $sorting_id;
1009
-
1010
- // Build URL
1011
- if ( !empty( $url_args ) )
1012
- echo add_query_arg( $url_args, $url );
1013
- else
1014
- echo $url;
1015
-
1016
- echo '"';
1017
-
1018
- if ( isset( $_GET['show'] ) && $_GET['show'] == $sorting_id ) echo ' class="current"';
1019
- elseif ( !isset( $_GET['show'] ) && empty( $sorting_id ) ) echo ' class="current"';
1020
-
1021
- echo '>' . $sorting_name . '</a>';
1022
- if ( $count != $total ) echo ' | ';
1023
- echo '</li>';
1024
- }
1025
- echo '</ul>';
1026
- }
1027
- }
1028
- }
1029
- }
1030
  ?>
1
  <?php
2
  if ( !defined( 'myCRED_VERSION' ) ) exit;
3
+
4
  /**
5
  * myCRED_Log class
6
  * @since 0.1
39
  public function module_init() {
40
  add_filter( 'set-screen-option', array( $this, 'set_entries_per_page' ), 10, 3 );
41
  add_action( 'mycred_add_menu', array( $this, 'my_history_menu' ) );
 
42
 
43
  // Handle deletions
44
  add_action( 'before_delete_post', array( $this, 'post_deletions' ) );
79
  /**
80
  * Log Header
81
  * @since 0.1
82
+ * @version 1.2
83
  */
84
  public function settings_header() {
85
  // Since we are overwriting the myCRED_Module::settings_header() we need to enqueue admin styles
86
+ wp_dequeue_script( 'bpge_admin_js_acc' );
87
  wp_enqueue_style( 'mycred-admin' );
 
88
  $screen = get_current_screen();
 
 
 
89
 
90
  // Prep Per Page
91
  $args = array(
93
  'default' => 10,
94
  'option' => 'mycred_entries_per_page'
95
  );
96
+ add_screen_option( 'per_page', $args );
97
  $per_page = get_user_meta( get_current_user_id(), $args['option'], true );
98
+ if ( empty( $per_page ) || $per_page < 1 ) $per_page = $args['default'];
99
+ $this->per_page = $per_page; ?>
100
 
101
+ <style type="text/css">
102
+ #icon-myCRED, .icon32-posts-mycred_email_notice, .icon32-posts-mycred_rank { background-image: url(<?php echo apply_filters( 'mycred_icon', plugins_url( 'assets/images/cred-icon32.png', myCRED_THIS ) ); ?>); }
103
+ </style>
104
+ <?php
105
  }
106
 
107
  /**
111
  * @version 1.1
112
  */
113
  public function count_records() {
114
+ $count = get_transient( 'mycred_log_entries' );
115
+ if ( $count === false ) {
116
+ global $wpdb;
117
+ $count = $wpdb->get_var( "SELECT COUNT(*) FROM {$this->core->log_table};" );
118
+ set_transient( 'mycred_log_entries', $count, DAY_IN_SECONDS*1 );
119
+ }
120
+ return $count;
121
  }
122
 
123
  /**
124
  * Get References
125
  * Returns all available references in the database.
126
  * @since 0.1
127
+ * @version 1.0.1
128
  */
129
  protected function get_refs() {
130
  $refs = wp_cache_get( 'mycred_references' );
131
  if ( false === $refs ) {
132
  global $wpdb;
133
+ $sql = "SELECT log.ref FROM {$this->core->log_table} log WHERE %s <> %s;";
134
+ $refs = $wpdb->get_col( $wpdb->prepare( $sql, 'ref', '' ) );
 
 
135
  if ( $refs ) {
136
  $refs = array_unique( $refs );
137
  wp_cache_set( 'mycred_references', $refs );
138
  }
139
  }
 
140
  return $refs;
141
  }
142
 
157
  }
158
  wp_cache_set( 'mycred_users', $users );
159
  }
 
160
  return $users;
161
  }
162
 
218
  if ( $location == 'top' ) {
219
  $this->filter_options( $is_profile );
220
  $this->item_count( $amount );
221
+ } else {
 
222
  $this->item_count( $amount );
223
  }
224
  }
230
  */
231
  public function item_count( $amount ) { ?>
232
  <div class="tablenav-pages one-page">
233
+ <span class="displaying-num"><?php echo sprintf( __( 'Showing %d %s', 'mycred' ), $amount, _n( 'entry', 'entries', $amount, 'mycred' ) ); ?></span>
234
  </div>
235
  <?php
236
  }
285
  if ( isset( $_GET['order'] ) && !empty( $_GET['order'] ) )
286
  $args['order'] = $_GET['order'];
287
 
288
+ $log = new myCRED_Query_Log( $args ); ?>
 
289
 
290
  <div class="wrap" id="myCRED-wrap">
291
  <div id="icon-myCRED" class="icon32"><br /></div>
333
  <?php do_action( 'mycred_bottom_log_page', $this ); ?>
334
 
335
  </div>
336
+ <?php $log->reset_query();
337
  unset( $log );
 
338
  }
339
 
340
  /**
363
  $args['order'] = $_GET['order'];
364
 
365
  $log = new myCRED_Query_Log( $args );
 
366
  unset( $log->headers['column-username'] ); ?>
367
 
368
  <div class="wrap" id="myCRED-wrap">
373
  <?php do_action( 'mycred_top_my_log_page', $this ); ?>
374
 
375
  <form method="get" action="">
376
+ <?php
377
+
378
+ if ( isset( $_GET['s'] ) && !empty( $_GET['s'] ) )
379
+ echo '<input type="hidden" name="s" value="' . $_GET['s'] . '" />';
380
+
381
+ if ( isset( $_GET['ref'] ) && !empty( $_GET['ref'] ) )
382
+ echo '<input type="hidden" name="ref" value="' . $_GET['ref'] . '" />';
383
+
384
+ if ( isset( $_GET['show'] ) && !empty( $_GET['show'] ) )
385
+ echo '<input type="hidden" name="show" value="' . $_GET['show'] . '" />';
386
+
387
+ if ( isset( $_GET['order'] ) && !empty( $_GET['order'] ) )
388
+ echo '<input type="hidden" name="order" value="' . $_GET['order'] . '" />';
389
+
390
+ $log->search(); ?>
391
 
392
  <input type="hidden" name="page" value="mycred_my_history" />
393
  <?php do_action( 'mycred_above_my_log_table', $this ); ?>
408
  <?php do_action( 'mycred_bottom_my_log_page', $this ); ?>
409
 
410
  </div>
411
+ <?php $log->reset_query();
412
  unset( $log );
413
  }
414
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
  /**
416
  * Handle Post Deletions
417
  * @since 1.0.9.2
420
  public function post_deletions( $post_id ) {
421
  global $post_type, $wpdb;
422
  // Check log
423
+ $sql = "SELECT * FROM {$this->core->log_table} WHERE ref_id = %d;";
424
  $records = $wpdb->get_results( $wpdb->prepare( $sql, $post_id ) );
425
  // If we have results
426
  if ( $wpdb->num_rows > 0 ) {
447
  $new_data['post_type'] = $post->post_type;
448
  // Save
449
  $wpdb->update(
450
+ $this->core->log_table,
451
  array( 'data' => serialize( $new_data ) ),
452
  array( 'id' => $row->id ),
453
  array( '%s' ),
458
  }
459
  }
460
  }
461
+
462
  /**
463
  * Handle User Deletions
464
  * @since 1.0.9.2
467
  public function user_deletions( $user_id ) {
468
  global $wpdb;
469
  // Check log
470
+ $sql = "SELECT * FROM {$this->core->log_table} WHERE user_id = %d;";
471
  $records = $wpdb->get_results( $wpdb->prepare( $sql, $user_id ) );
472
  // If we have results
473
  if ( $wpdb->num_rows > 0 ) {
482
  $new_data['display_name'] = $user->display_name;
483
  // Save
484
  $wpdb->update(
485
+ $this->core->log_table,
486
  array( 'data' => serialize( $new_data ) ),
487
  array( 'id' => $row->id ),
488
  array( '%s' ),
491
  }
492
  }
493
  }
494
+
495
  /**
496
  * Handle Comment Deletions
497
  * @since 1.0.9.2
500
  public function comment_deletions( $comment_id ) {
501
  global $wpdb;
502
  // Check log
503
+ $sql = "SELECT * FROM {$this->core->log_table} WHERE ref_id = %d;";
504
  $records = $wpdb->get_results( $wpdb->prepare( $sql, $comment_id ) );
505
  // If we have results
506
  if ( $wpdb->num_rows > 0 ) {
523
  $new_data['comment_post_ID'] = $comment->comment_post_ID;
524
  // Save
525
  $wpdb->update(
526
+ $this->core->log_table,
527
  array( 'data' => serialize( $new_data ) ),
528
  array( 'id' => $row->id ),
529
  array( '%s' ),
536
  }
537
  }
538
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
539
  ?>
modules/mycred-module-plugins.php DELETED
@@ -1,1572 +0,0 @@
1
- <?php
2
- /**
3
- * Third-Party Plugin Hooks
4
- *
5
- * @since 1.1
6
- * @version 1.0
7
- */
8
- if ( !defined( 'myCRED_VERSION' ) ) exit;
9
-
10
- /**
11
- * bbPress
12
- * @since 0.1
13
- * @version 1.2
14
- */
15
- if ( class_exists( 'bbPress' ) ) {
16
- /**
17
- * Insert Points Balance in Profile
18
- * @since 1.1.1
19
- * @version 1.0
20
- */
21
- add_action( 'bbp_template_after_user_profile', 'mycred_bbp_add_balance_in_profile' );
22
- function mycred_bbp_add_balance_in_profile() {
23
- $user_id = bbp_get_displayed_user_id();
24
- $mycred = mycred_get_settings();
25
-
26
- if ( $mycred->exclude_user( $user_id ) ) return;
27
-
28
- $balance = $mycred->get_users_cred( $user_id );
29
- echo '<div class="users-mycred-balance">' . $mycred->plural() . ': ' . $mycred->format_creds( $balance ) . '</div>';
30
- }
31
-
32
- /**
33
- * bbPress Hook
34
- * @since 1.1.1
35
- * @version 1.2
36
- */
37
- if ( !class_exists( 'myCRED_bbPress' ) ) {
38
- class myCRED_bbPress extends myCRED_Hook {
39
-
40
- /**
41
- * Construct
42
- */
43
- function __construct( $hook_prefs ) {
44
- parent::__construct( array(
45
- 'id' => 'hook_bbpress',
46
- 'defaults' => array(
47
- 'new_forum' => array(
48
- 'creds' => 1,
49
- 'log' => '%plural% for new forum'
50
- ),
51
- 'delete_forum' => array(
52
- 'creds' => 0-1,
53
- 'log' => '%singular% deduction for deleted forum'
54
- ),
55
- 'new_topic' => array(
56
- 'creds' => 1,
57
- 'log' => '%plural% for new forum topic',
58
- 'author' => 0
59
- ),
60
- 'delete_topic' => array(
61
- 'creds' => 0-1,
62
- 'log' => '%singular% deduction for deleted topic'
63
- ),
64
- 'fav_topic' => array(
65
- 'creds' => 1,
66
- 'log' => '%plural% for someone favorited your forum topic',
67
- 'limit' => 1
68
- ),
69
- 'new_reply' => array(
70
- 'creds' => 1,
71
- 'log' => '%plural% for new forum reply',
72
- 'author' => 0,
73
- 'limit' => 10,
74
- ),
75
- 'delete_reply' => array(
76
- 'creds' => 0-1,
77
- 'log' => '%singular% deduction for deleted reply'
78
- ),
79
- 'show_points_in_reply' => 0
80
- )
81
- ), $hook_prefs );
82
- }
83
-
84
- /**
85
- * Run
86
- * @since 0.1
87
- * @version 1.2
88
- */
89
- public function run() {
90
- // Insert Points balance in profile
91
- if ( isset( $this->prefs['show_points_in_reply'] ) && $this->prefs['show_points_in_reply'] == 1 )
92
- add_action( 'bbp_theme_after_reply_author_details', array( $this, 'insert_balance' ) );
93
-
94
- // New Forum
95
- if ( $this->prefs['new_forum']['creds'] != 0 )
96
- add_action( 'bbp_new_forum', array( $this, 'new_forum' ), 20 );
97
- // Delete Forum
98
- if ( $this->prefs['delete_forum']['creds'] != 0 )
99
- add_action( 'bbp_delete_forum', array( $this, 'delete_forum' ) );
100
- // New Topic
101
- if ( $this->prefs['new_topic']['creds'] != 0 )
102
- add_action( 'bbp_new_topic', array( $this, 'new_topic' ), 20, 4 );
103
- // Delete Topic
104
- if ( $this->prefs['delete_topic']['creds'] != 0 )
105
- add_action( 'bbp_delete_topic', array( $this, 'delete_topic' ) );
106
- // Fave Topic
107
- if ( $this->prefs['fav_topic']['creds'] != 0 )
108
- add_action( 'bbp_add_user_favorite', array( $this, 'fav_topic' ), 10, 2 );
109
- // New Reply
110
- if ( $this->prefs['new_reply']['creds'] != 0 )
111
- add_action( 'bbp_new_reply', array( $this, 'new_reply' ), 20, 5 );
112
- // Delete Reply
113
- if ( $this->prefs['delete_reply']['creds'] != 0 )
114
- add_action( 'bbp_delete_reply', array( $this, 'delete_reply' ) );
115
- }
116
-
117
- /**
118
- * New Forum
119
- * @since 1.1.1
120
- * @version 1.1
121
- */
122
- public function new_forum( $forum ) {
123
- // Forum id
124
- $forum_id = $forum['forum_id'];
125
-
126
- // Forum author
127
- $forum_author = $forum['forum_author'];
128
-
129
- // Check if user is excluded
130
- if ( $this->core->exclude_user( $forum_author ) ) return;
131
-
132
- // Make sure this is unique event
133
- if ( $this->has_entry( 'new_forum', $forum_id, $forum_author ) ) return;
134
-
135
- // Execute
136
- $this->core->add_creds(
137
- 'new_forum',
138
- $forum_author,
139
- $this->prefs['new_forum']['creds'],
140
- $this->prefs['new_forum']['log'],
141
- $forum_id,
142
- array( 'ref_type' => 'post' )
143
- );
144
- }
145
-
146
- /**
147
- * Delete Forum
148
- * @since 1.2
149
- * @version 1.0
150
- */
151
- public function delete_forum( $forum_id ) {
152
- // Get Author
153
- $forum_author = bbp_get_forum_author_id( $forum_id );
154
-
155
- // If gained, points, deduct
156
- if ( $this->has_entry( 'new_forum', $forum_id, $forum_author ) ) {
157
-
158
- // Execute
159
- $this->core->add_creds(
160
- 'deleted_forum',
161
- $forum_author,
162
- $this->prefs['delete_forum']['creds'],
163
- $this->prefs['delete_forum']['log'],
164
- $forum_id,
165
- array( 'ref_type' => 'post' )
166
- );
167
-
168
- }
169
- }
170
-
171
- /**
172
- * New Topic
173
- * @since 0.1
174
- * @version 1.1
175
- */
176
- public function new_topic( $topic_id, $forum_id, $anonymous_data, $topic_author ) {
177
- // Check if user is excluded
178
- if ( $this->core->exclude_user( $topic_author ) ) return;
179
-
180
- // Check if forum author is allowed to get points for their own topics
181
- if ( (bool) $this->prefs['new_topic']['author'] == false ) {
182
- if ( bbp_get_forum_author_id( $forum_id ) == $topic_author ) return;
183
- }
184
-
185
- // Make sure this is unique event
186
- if ( $this->has_entry( 'new_forum_topic', $topic_id, $topic_author ) ) return;
187
-
188
- // Execute
189
- $this->core->add_creds(
190
- 'new_forum_topic',
191
- $topic_author,
192
- $this->prefs['new_topic']['creds'],
193
- $this->prefs['new_topic']['log'],
194
- $topic_id,
195
- array( 'ref_type' => 'post' )
196
- );
197
- }
198
-
199
- /**
200
- * Delete Topic
201
- * @since 1.2
202
- * @version 1.0
203
- */
204
- public function delete_topic( $topic_id ) {
205
- // Get Author
206
- $topic_author = bbp_get_topic_author_id( $topic_id );
207
-
208
- // If gained, points, deduct
209
- if ( $this->has_entry( 'new_forum_topic', $topic_id, $topic_author ) ) {
210
-
211
- // Execute
212
- $this->core->add_creds(
213
- 'deleted_topic',
214
- $topic_author,
215
- $this->prefs['delete_topic']['creds'],
216
- $this->prefs['delete_topic']['log'],
217
- $topic_id,
218
- array( 'ref_type' => 'post' )
219
- );
220
-
221
- }
222
- }
223
-
224
- /**
225
- * Topic Added to Favorites
226
- * @by Fee (http://wordpress.org/support/profile/wdfee)
227
- * @since 1.1.1
228
- * @version 1.2
229
- */
230
- public function fav_topic( $user_id, $topic_id ) {
231
-
232
- // $user_id is loggedin_user, not author, so get topic author
233
- $topic_author = get_post_field( 'post_author', $topic_id );
234
-
235
- // Enforce Daily Limit
236
- if ( $this->reached_daily_limit( $topic_author, 'fav_topic' ) ) return;
237
-
238
- // Check if user is excluded (required)
239
- if ( $this->core->exclude_user( $topic_author ) || $topic_author == $user_id ) return;
240
-
241
- // Make sure this is a unique event (favorite not from same user)
242
- if ( $this->has_entry( 'topic_favorited', $topic_id, $topic_author, 's:8:"ref_user";i:' . $user_id . ';' ) ) return;
243
-
244
- // Execute
245
- $this->core->add_creds(
246
- 'topic_favorited',
247
- $topic_author,
248
- $this->prefs['fav_topic']['creds'],
249
- $this->prefs['fav_topic']['log'],
250
- $topic_id,
251
- array( 'ref_user' => $user_id, 'ref_type' => 'post' )
252
- );
253
-
254
- // Update Limit
255
- $this->update_daily_limit( $topic_author, 'fav_topic' );
256
- }
257
-
258
- /**
259
- * New Reply
260
- * @since 0.1
261
- * @version 1.2
262
- */
263
- public function new_reply( $reply_id, $topic_id, $forum_id, $anonymous_data, $reply_author ) {
264
- // Check if user is excluded
265
- if ( $this->core->exclude_user( $reply_author ) ) return;
266
-
267
- // Check if topic author gets points for their own replies
268
- if ( (bool) $this->prefs['new_reply']['author'] === false ) {
269
- if ( bbp_get_topic_author_id( $topic_id ) == $reply_author ) return;
270
- }
271
-
272
- // Check daily limit
273
- if ( $this->reached_daily_limit( $reply_author, 'new_reply' ) ) return;
274
-
275
- // Make sure this is unique event
276
- if ( $this->has_entry( 'new_forum_reply', $reply_id, $reply_author ) ) return;
277
-
278
- // Execute
279
- $this->core->add_creds(
280
- 'new_forum_reply',
281
- $reply_author,
282
- $this->prefs['new_reply']['creds'],
283
- $this->prefs['new_reply']['log'],
284
- $reply_id,
285
- array( 'ref_type' => 'post' )
286
- );
287
-
288
- // Update Limit
289
- $this->update_daily_limit( $topic_author, 'new_reply' );
290
- }
291
-
292
- /**
293
- * Delete Reply
294
- * @since 1.2
295
- * @version 1.0
296
- */
297
- public function delete_reply( $reply_id ) {
298
- // Get Author
299
- $reply_author = bbp_get_reply_author_id( $reply_id );
300
-
301
- // If gained, points, deduct
302
- if ( $this->has_entry( 'new_forum_reply', $reply_id, $reply_author ) ) {
303
-
304
- // Execute
305
- $this->core->add_creds(
306
- 'deleted_reply',
307
- $reply_author,
308
- $this->prefs['delete_reply']['creds'],
309
- $this->prefs['delete_reply']['log'],
310
- $reply_id,
311
- array( 'ref_type' => 'post' )
312
- );
313
-
314
- }
315
- }
316
-
317
- /**
318
- * Insert Balance
319
- * @since 0.1
320
- * @version 1.1
321
- */
322
- public function insert_balance() {
323
- $reply_id = bbp_get_reply_id();
324
- if ( bbp_is_reply_anonymous( $reply_id ) ) return;
325
-
326
- $balance = $this->core->get_users_cred( bbp_get_reply_author_id( $reply_id ) );
327
- echo '<div class="mycred-balance">' . $this->core->plural() . ': ' . $this->core->format_creds( $balance ) . '</div>';
328
- }
329
-
330
- /**
331
- * Reched Daily Limit
332
- * Checks if a user has reached their daily limit.
333
- * @since 1.2
334
- * @version 1.0
335
- */
336
- public function reached_daily_limit( $user_id, $id ) {
337
- // No limit used
338
- if ( $this->prefs[$id]['limit'] == 0 ) return false;
339
-
340
- $today = date( 'Y-m-d' );
341
- $current = get_user_meta( $user_id, 'mycred_bbp_limits_' . $id, true );
342
- if ( empty( $current ) || !array_key_exists( $today, (array) $current ) )
343
- $current[$today] = 0;
344
-
345
- if ( $current[ $today ] < $this->prefs[$id]['limit'] ) return false;
346
-
347
- return true;
348
- }
349
-
350
- /**
351
- * Update Daily Limit
352
- * Updates a given users daily limit.
353
- * @since 1.2
354
- * @version 1.0
355
- */
356
- public function update_daily_limit( $user_id, $id ) {
357
- // No limit used
358
- if ( $this->prefs[$id]['limit'] == 0 ) return;
359
-
360
- $today = date( 'Y-m-d' );
361
- $current = get_user_meta( $user_id, 'mycred_bbp_limits_' . $id, true );
362
- if ( empty( $current ) || !array_key_exists( $today, (array) $current ) )
363
- $current[$today] = 0;
364
-
365
- $current[ $today ] = $current[ $today ]+1;
366
-
367
- update_user_meta( $user_id, 'mycred_bbp_limits_' . $id, $current );
368
- }
369
-
370
- /**
371
- * Preferences
372
- * @since 0.1
373
- * @version 1.1
374
- */
375
- public function preferences() {
376
- $prefs = $this->prefs;
377
-
378
- // Update
379
- if ( !isset( $prefs['show_points_in_reply'] ) )
380
- $prefs['show_points_in_reply'] = 0;
381
- if ( !isset( $prefs['new_topic']['author'] ) )
382
- $prefs['new_topic']['author'] = 0;
383
- if ( !isset( $prefs['fav_topic'] ) )
384
- $prefs['fav_topic'] = array( 'creds' => 1, 'log' => '%plural% for someone favorited your forum topic' );
385
- if ( !isset( $prefs['new_reply']['author'] ) )
386
- $prefs['new_reply']['author'] = 0;
387
-
388
- if ( !isset( $prefs['fav_topic']['limit'] ) )
389
- $prefs['fav_topic']['limit'] = 0;
390
- if ( !isset( $prefs['new_reply']['limit'] ) )
391
- $prefs['new_reply']['limit'] = 0; ?>
392
-
393
- <!-- Creds for New Forums -->
394
- <label for="<?php echo $this->field_id( array( 'new_forum', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for New Forum', 'mycred' ) ); ?></label>
395
- <ol id="">
396
- <li>
397
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_forum', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'new_forum', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_forum']['creds'] ); ?>" size="8" /></div>
398
- </li>
399
- <li class="empty">&nbsp;</li>
400
- <li>
401
- <label for="<?php echo $this->field_id( array( 'new_forum', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
402
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_forum', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'new_forum', 'log' ) ); ?>" value="<?php echo $prefs['new_forum']['log']; ?>" class="long" /></div>
403
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
404
- </li>
405
- </ol>
406
- <!-- Creds for Deleting Forums -->
407
- <label for="<?php echo $this->field_id( array( 'delete_forum', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Forum Deletion', 'mycred' ) ); ?></label>
408
- <ol id="">
409
- <li>
410
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_forum', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_forum', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['delete_forum']['creds'] ); ?>" size="8" /></div>
411
- </li>
412
- <li class="empty">&nbsp;</li>
413
- <li>
414
- <label for="<?php echo $this->field_id( array( 'delete_forum', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
415
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_forum', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_forum', 'log' ) ); ?>" value="<?php echo $prefs['delete_forum']['log']; ?>" class="long" /></div>
416
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
417
- </li>
418
- </ol>
419
- <!-- Creds for New Topic -->
420
- <label for="<?php echo $this->field_id( array( 'new_topic', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for New Topic', 'mycred' ) ); ?></label>
421
- <ol id="">
422
- <li>
423
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_topic', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'new_topic', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_topic']['creds'] ); ?>" size="8" /></div>
424
- </li>
425
- <li class="empty">&nbsp;</li>
426
- <li>
427
- <label for="<?php echo $this->field_id( array( 'new_topic', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
428
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_topic', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'new_topic', 'log' ) ); ?>" value="<?php echo $prefs['new_topic']['log']; ?>" class="long" /></div>
429
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
430
- </li>
431
- <li class="empty">&nbsp;</li>
432
- <li>
433
- <input type="checkbox" name="<?php echo $this->field_name( array( 'new_topic' => 'author' ) ); ?>" id="<?php echo $this->field_id( array( 'new_topic' => 'author' ) ); ?>" <?php checked( $prefs['new_topic']['author'], 1 ); ?> value="1" />
434
- <label for="<?php echo $this->field_id( array( 'new_topic' => 'author' ) ); ?>"><?php echo $this->core->template_tags_general( __( 'Forum authors can receive %_plural% for creating new topics.', 'mycred' ) ); ?></label>
435
- </li>
436
- </ol>
437
- <!-- Creds for Deleting Topic -->
438
- <label for="<?php echo $this->field_id( array( 'delete_topic', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Topic Deletion', 'mycred' ) ); ?></label>
439
- <ol id="">
440
- <li>
441
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_topic', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_topic', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['delete_topic']['creds'] ); ?>" size="8" /></div>
442
- </li>
443
- <li class="empty">&nbsp;</li>
444
- <li>
445
- <label for="<?php echo $this->field_id( array( 'delete_topic', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
446
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_topic', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_topic', 'log' ) ); ?>" value="<?php echo $prefs['delete_topic']['log']; ?>" class="long" /></div>
447
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
448
- </li>
449
- </ol>
450
- <!-- Creds for Faved Topic -->
451
- <label for="<?php echo $this->field_id( array( 'fav_topic', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Favorited Topic', 'mycred' ) ); ?></label>
452
- <ol id="">
453
- <li>
454
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'fav_topic', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'fav_topic', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['fav_topic']['creds'] ); ?>" size="8" /></div>
455
- </li>
456
- <li class="empty">&nbsp;</li>
457
- <li>
458
- <label for="<?php echo $this->field_id( array( 'fav_topic', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
459
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'fav_topic', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'fav_topic', 'log' ) ); ?>" value="<?php echo $prefs['fav_topic']['log']; ?>" class="long" /></div>
460
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
461
- </li>
462
- <li class="empty">&nbsp;</li>
463
- <li>
464
- <label for="<?php echo $this->field_id( array( 'fav_topic', 'limit' ) ); ?>"><?php _e( 'Daily Limit', 'mycred' ); ?></label>
465
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'fav_topic', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'fav_topic', 'limit' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['fav_topic']['limit'] ); ?>" size="8" /></div>
466
- <span class="description"><?php _e( 'Use zero for unlimited', 'mycred' ); ?></span>
467
- </li>
468
- </ol>
469
- <!-- Creds for New Reply -->
470
- <label for="<?php echo $this->field_id( array( 'new_reply', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for New Reply', 'mycred' ) ); ?></label>
471
- <ol id="">
472
- <li>
473
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_reply', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_reply']['creds'] ); ?>" size="8" /></div>
474
- </li>
475
- <li class="empty">&nbsp;</li>
476
- <li>
477
- <label for="<?php echo $this->field_id( array( 'new_reply', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
478
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_reply', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply', 'log' ) ); ?>" value="<?php echo $prefs['new_reply']['log']; ?>" class="long" /></div>
479
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
480
- </li>
481
- <li class="empty">&nbsp;</li>
482
- <li>
483
- <input type="checkbox" name="<?php echo $this->field_name( array( 'new_reply' => 'author' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply' => 'author' ) ); ?>" <?php checked( $prefs['new_reply']['author'], 1 ); ?> value="1" />
484
- <label for="<?php echo $this->field_id( array( 'new_reply' => 'author' ) ); ?>"><?php echo $this->core->template_tags_general( __( 'Topic authors can receive %_plural% for replying to their own Topic', 'mycred' ) ); ?></label>
485
- </li>
486
- <li class="empty">&nbsp;</li>
487
- <li>
488
- <label for="<?php echo $this->field_id( array( 'new_reply', 'limit' ) ); ?>"><?php _e( 'Daily Limit', 'mycred' ); ?></label>
489
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_reply', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply', 'limit' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_reply']['limit'] ); ?>" size="8" /></div>
490
- <span class="description"><?php _e( 'Use zero for unlimited', 'mycred' ); ?></span>
491
- </li>
492
- <li class="empty">&nbsp;</li>
493
- <li>
494
- <input type="checkbox" name="<?php echo $this->field_name( 'show_points_in_reply' ); ?>" id="<?php echo $this->field_id( 'show_points_in_reply' ); ?>" <?php checked( $prefs['show_points_in_reply'], 1 ); ?> value="1" /> <label for="<?php echo $this->field_id( 'show_points_in_reply' ); ?>"><?php echo $this->core->template_tags_general( __( 'Show users %_plural% balance in replies', 'mycred' ) ); ?>.</label>
495
- </li>
496
- </ol>
497
- <?php unset( $this );
498
- }
499
-
500
- /**
501
- * Sanitise Preference
502
- * @since 1.1.1
503
- * @version 1.0
504
- */
505
- function sanitise_preferences( $data ) {
506
- $new_data = $data;
507
-
508
- $new_data['new_topic']['author'] = ( isset( $data['new_topic']['author'] ) ) ? $data['new_topic']['author'] : 0;
509
- $new_data['new_reply']['author'] = ( isset( $data['new_reply']['author'] ) ) ? $data['new_reply']['author'] : 0;
510
-
511
- return $new_data;
512
- }
513
- }
514
- }
515
- }
516
-
517
- /**
518
- * Hooks for Invite Anyone Plugin
519
- * @since 0.1
520
- * @version 1.0
521
- */
522
- if ( !class_exists( 'myCRED_Invite_Anyone' ) && function_exists( 'invite_anyone_init' ) ) {
523
- class myCRED_Invite_Anyone extends myCRED_Hook {
524
-
525
- /**
526
- * Construct
527
- */
528
- function __construct( $hook_prefs ) {
529
- parent::__construct( array(
530
- 'id' => 'invite_anyone',
531
- 'defaults' => array(
532
- 'send_invite' => array(
533
- 'creds' => 1,
534
- 'log' => '%plural% for sending an invitation',
535
- 'limit' => 0
536
- ),
537
- 'accept_invite' => array(
538
- 'creds' => 1,
539
- 'log' => '%plural% for accepted invitation',
540
- 'limit' => 0
541
- )
542
- )
543
- ), $hook_prefs );
544
- }
545
-
546
- /**
547
- * Run
548
- * @since 0.1
549
- * @version 1.0
550
- */
551
- public function run() {
552
- if ( $this->prefs['send_invite']['creds'] != 0 ) {
553
- add_action( 'sent_email_invite', array( $this, 'send_invite' ), 10, 3 );
554
- }
555
- if ( $this->prefs['accept_invite']['creds'] != 0 ) {
556
- add_action( 'accepted_email_invite', array( $this, 'accept_invite' ), 10, 2 );
557
- }
558
- }
559
-
560
- /**
561
- * Sending Invites
562
- * @since 0.1
563
- * @version 1.0
564
- */
565
- public function send_invite( $user_id, $email, $group ) {
566
- // Limit Check
567
- if ( $this->prefs['send_invite']['limit'] != 0 ) {
568
- $user_log = get_user_meta( $user_id, 'mycred_invite_anyone', true );
569
- if ( empty( $user_log['sent'] ) ) $user_log['sent'] = 0;
570
- // Return if limit is reached
571
- if ( $user_log['sent'] >= $this->prefs['send_invite']['limit'] ) return;
572
- }
573
-
574
- // Award Points
575
- $this->core->add_creds(
576
- 'sending_an_invite',
577
- $user_id,
578
- $this->prefs['send_invite']['creds'],
579
- $this->prefs['send_invite']['log']
580
- );
581
-
582
- // Update limit
583
- if ( $this->prefs['send_invite']['limit'] != 0 ) {
584
- $user_log['sent'] = $user_log['sent']+1;
585
- update_user_meta( $user_id, 'mycred_invite_anyone', $user_log );
586
- }
587
- }
588
-
589
- /**
590
- * Accepting Invites
591
- * @since 0.1
592
- * @version 1.0
593
- */
594
- public function accept_invite( $invited_user_id, $inviters ) {
595
- // Invite Anyone will pass on an array of user IDs of those who have invited this user which we need to loop though
596
- foreach ( (array) $inviters as $inviter_id ) {
597
- // Limit Check
598
- if ( $this->prefs['accept_invite']['limit'] != 0 ) {
599
- $user_log = get_user_meta( $inviter_id, 'mycred_invite_anyone', true );
600
- if ( empty( $user_log['accepted'] ) ) $user_log['accepted'] = 0;
601
- // Continue to next inviter if limit is reached
602
- if ( $user_log['accepted'] >= $this->prefs['accept_invite']['limit'] ) continue;
603
- }
604
-
605
- // Award Points
606
- $this->core->add_creds(
607
- 'accepting_an_invite',
608
- $inviter_id,
609
- $this->prefs['accept_invite']['creds'],
610
- $this->prefs['accept_invite']['log']
611
- );
612
-
613
- // Update Limit
614
- if ( $this->prefs['accept_invite']['limit'] != 0 ) {
615
- $user_log['accepted'] = $user_log['accepted']+1;
616
- update_user_meta( $inviter_id, 'mycred_invite_anyone', $user_log );
617
- }
618
- }
619
- }
620
-
621
- /**
622
- * Preferences
623
- * @since 0.1
624
- * @version 1.0
625
- */
626
- public function preferences() {
627
- $prefs = $this->prefs; ?>
628
-
629
- <!-- Creds for Sending Invites -->
630
- <label for="<?php echo $this->field_id( array( 'send_invite', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Sending An Invite', 'mycred' ) ); ?></label>
631
- <ol>
632
- <li>
633
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'send_invite', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'send_invite', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['send_invite']['creds'] ); ?>" size="8" /></div>
634
- </li>
635
- <li class="empty">&nbsp;</li>
636
- <li>
637
- <label for="<?php echo $this->field_id( array( 'send_invite', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
638
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'send_invite', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'send_invite', 'log' ) ); ?>" value="<?php echo $prefs['send_invite']['log']; ?>" class="long" /></div>
639
- <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
640
- </li>
641
- </ol>
642
- <label for="<?php echo $this->field_id( array( 'send_invite', 'limit' ) ); ?>" class="subheader"><?php _e( 'Limit', 'mycred' ); ?></label>
643
- <ol>
644
- <li>
645
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'send_invite', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'send_invite', 'limit' ) ); ?>" value="<?php echo $prefs['send_invite']['limit']; ?>" size="8" /></div>
646
- <span class="description"><?php echo $this->core->template_tags_general( __( 'Maximum number of invites that grants %_plural%. Use zero for unlimited.', 'mycred' ) ); ?></span>
647
- </li>
648
- </ol>
649
- <!-- Creds for Accepting Invites -->
650
- <label for="<?php echo $this->field_id( array( 'accept_invite', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Accepting An Invite', 'mycred' ) ); ?></label>
651
- <ol>
652
- <li>
653
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'accept_invite', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'accept_invite', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['accept_invite']['creds'] ); ?>" size="8" /></div>
654
- <span class="description"><?php echo $this->core->template_tags_general( __( '%plural% for each invited user that accepts an invitation.', 'mycred' ) ); ?></span>
655
- </li>
656
- <li class="empty">&nbsp;</li>
657
- <li>
658
- <label for="<?php echo $this->field_id( array( 'accept_invite', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
659
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'accept_invite', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'accept_invite', 'log' ) ); ?>" value="<?php echo $prefs['accept_invite']['log']; ?>" class="long" /></div>
660
- <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
661
- </li>
662
- </ol>
663
- <label for="<?php echo $this->field_id( array( 'accept_invite', 'limit' ) ); ?>" class="subheader"><?php _e( 'Limit', 'mycred' ); ?></label>
664
- <ol>
665
- <li>
666
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'accept_invite', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'accept_invite', 'limit' ) ); ?>" value="<?php echo $prefs['accept_invite']['limit']; ?>" size="8" /></div>
667
- <span class="description"><?php echo $this->core->template_tags_general( __( 'Maximum number of accepted invitations that grants %_plural%. Use zero for unlimited.', 'mycred' ) ); ?></span>
668
- </li>
669
- </ol>
670
- <?php unset( $this );
671
- }
672
- }
673
- }
674
-
675
- /**
676
- * Hook for Contact Form 7 Plugin
677
- * @since 0.1
678
- * @version 1.0
679
- */
680
- if ( !class_exists( 'myCRED_Contact_Form7' ) && function_exists( 'wpcf7' ) ) {
681
- class myCRED_Contact_Form7 extends myCRED_Hook {
682
-
683
- /**
684
- * Construct
685
- */
686
- function __construct( $hook_prefs ) {
687
- parent::__construct( array(
688
- 'id' => 'contact_form7',
689
- 'defaults' => ''
690
- ), $hook_prefs );
691
- }
692
-
693
- /**
694
- * Run
695
- * @since 0.1
696
- * @version 1.0
697
- */
698
- public function run() {
699
- add_action( 'wpcf7_mail_sent', array( $this, 'form_submission' ) );
700
- }
701
-
702
- /**
703
- * Get Forms
704
- * Queries all Contact Form 7 forms.
705
- * @uses WP_Query()
706
- * @since 0.1
707
- * @version 1.1
708
- */
709
- public function get_forms() {
710
- $forms = new WP_Query( array(
711
- 'post_type' => 'wpcf7_contact_form',
712
- 'post_status' => 'any',
713
- 'posts_per_page' => '-1',
714
- 'orderby' => 'ID',
715
- 'order' => 'ASC'
716
- ) );
717
-
718
- $result = array();
719
- if ( $forms->have_posts() ) {
720
- while ( $forms->have_posts() ) : $forms->the_post();
721
- $result[get_the_ID()] = get_the_title();
722
- endwhile;
723
- }
724
- wp_reset_postdata();
725
-
726
- return $result;
727
- }
728
-
729
- /**
730
- * Successful Form Submission
731
- * @since 0.1
732
- * @version 1.0
733
- */
734
- public function form_submission( $cf7_form ) {
735
- // Login is required
736
- if ( !is_user_logged_in() ) return;
737
-
738
- $form_id = $cf7_form->id;
739
- if ( isset( $this->prefs[$form_id] ) && $this->prefs[$form_id]['creds'] != 0 ) {
740
- $this->core->add_creds(
741
- 'contact_form_submission',
742
- get_current_user_id(),
743
- $this->prefs[$form_id]['creds'],
744
- $this->prefs[$form_id]['log'],
745
- $form_id,
746
- array( 'ref_type' => 'post' )
747
- );
748
- }
749
- }
750
-
751
- /**
752
- * Preferences for Commenting Hook
753
- * @since 0.1
754
- * @version 1.0
755
- */
756
- public function preferences() {
757
- $prefs = $this->prefs;
758
- $forms = $this->get_forms();
759
-
760
- // No forms found
761
- if ( empty( $forms ) ) {
762
- echo '<p>' . __( 'No forms found.', 'mycred' ) . '</p>';
763
- return;
764
- }
765
-
766
- // Loop though prefs to make sure we always have a default settings (happens when a new form has been created)
767
- foreach ( $forms as $form_id => $form_title ) {
768
- if ( !isset( $prefs[$form_id] ) ) {
769
- $prefs[$form_id] = array(
770
- 'creds' => 1,
771
- 'log' => ''
772
- );
773
- }
774
- }
775
-
776
- // Set pref if empty
777
- if ( empty( $prefs ) ) $this->prefs = $prefs;
778
-
779
- // Loop for settings
780
- foreach ( $forms as $form_id => $form_title ) { ?>
781
-
782
- <!-- Creds for -->
783
- <label for="<?php echo $this->field_id( array( $form_id, 'creds' ) ); ?>" class="subheader"><?php echo $form_title; ?></label>
784
- <ol>
785
- <li>
786
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $form_id, 'creds' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs[$form_id]['creds'] ); ?>" size="8" /></div>
787
- </li>
788
- <li class="empty">&nbsp;</li>
789
- <li>
790
- <label for="<?php echo $this->field_id( array( $form_id, 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
791
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $form_id, 'log' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'log' ) ); ?>" value="<?php echo $prefs[$form_id]['log']; ?>" class="long" /></div>
792
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
793
- </li>
794
- </ol>
795
- <?php }
796
- unset( $this );
797
- }
798
- }
799
- }
800
-
801
- /**
802
- * Hook for BadgeOS Plugin
803
- * @since 1.0.8
804
- * @version 1.0
805
- */
806
- if ( !class_exists( 'myCRED_Hook_BadgeOS' ) && class_exists( 'BadgeOS' ) ) {
807
- class myCRED_Hook_BadgeOS extends myCRED_Hook {
808
-
809
- /**
810
- * Construct
811
- */
812
- function __construct( $hook_prefs ) {
813
- parent::__construct( array(
814
- 'id' => 'badgeos',
815
- 'defaults' => ''
816
- ), $hook_prefs );
817
- }
818
-
819
- /**
820
- * Run
821
- * @since 1.0.8
822
- * @version 1.0
823
- */
824
- public function run() {
825
- add_action( 'add_meta_boxes', array( $this, 'add_metaboxes' ) );
826
- add_action( 'save_post', array( $this, 'save_achivement_data' ) );
827
-
828
- add_action( 'badgeos_award_achievement', array( $this, 'award_achievent' ), 10, 2 );
829
- add_action( 'badgeos_revoke_achievement', array( $this, 'revoke_achievement' ), 10, 2 );
830
- }
831
-
832
- /**
833
- * Add Metaboxes
834
- * @since 1.0.8
835
- * @version 1.0
836
- */
837
- public function add_metaboxes() {
838
- // Get all Achievement Types
839
- $badge_post_types = badgeos_get_achievement_types_slugs();
840
- foreach ( $badge_post_types as $post_type ) {
841
- // Add Meta Box
842
- add_meta_box(
843
- 'mycred_badgeos_' . $post_type,
844
- __( 'myCRED', 'mycred' ),
845
- array( $this, 'render_meta_box' ),
846
- $post_type,
847
- 'side',
848
- 'core'
849
- );
850
- }
851
- }
852
-
853
- /**
854
- * Render Meta Box
855
- * @since 1.0.8
856
- * @version 1.0
857
- */
858
- public function render_meta_box( $post ) {
859
- // Setup is needed
860
- if ( !isset( $this->prefs[$post->post_type] ) ) {
861
- $message = sprintf( __( 'Please setup your <a href="%s">default settings</a> before using this feature.', 'mycred' ), admin_url( 'admin.php?page=myCRED_page_hooks' ) );
862
- echo '<p>' . $message . '</p>';
863
- }
864
-
865
- // Prep Achievement Data
866
- $prefs = $this->prefs;
867
- $mycred = mycred_get_settings();
868
- $achievement_data = get_post_meta( $post->ID, '_mycred_values', true );
869
- if ( empty( $achievement_data ) )
870
- $achievement_data = $prefs[$post->post_type]; ?>
871
-
872
- <p><strong><?php echo $mycred->template_tags_general( __( '%plural% to Award', 'mycred' ) ); ?></strong></p>
873
- <p>
874
- <label class="screen-reader-text" for="mycred-values-creds"><?php echo $mycred->template_tags_general( __( '%plural% to Award', 'mycred' ) ); ?></label>
875
- <input type="text" name="mycred_values[creds]" id="mycred-values-creds" value="<?php echo $achievement_data['creds']; ?>" size="8" />
876
- <span class="description"><?php _e( 'Use zero to disable', 'mycred' ); ?></span>
877
- </p>
878
- <p><strong><?php _e( 'Log Template', 'mycred' ); ?></strong></p>
879
- <p>
880
- <label class="screen-reader-text" for="mycred-values-log"><?php _e( 'Log Template', 'mycred' ); ?></label>
881
- <input type="text" name="mycred_values[log]" id="mycred-values-log" value="<?php echo $achievement_data['log']; ?>" style="width:99%;" />
882
- </p>
883
- <?php
884
- // If deduction is enabled
885
- if ( $this->prefs[$post->post_type]['deduct'] == 1 ) { ?>
886
-
887
- <p><strong><?php _e( 'Deduction Log Template', 'mycred' ); ?></strong></p>
888
- <p>
889
- <label class="screen-reader-text" for="mycred-values-log"><?php _e( 'Log Template', 'mycred' ); ?></label>
890
- <input type="text" name="mycred_values[deduct_log]" id="mycred-values-deduct-log" value="<?php echo $achievement_data['deduct_log']; ?>" style="width:99%;" />
891
- </p>
892
- <?php
893
- }
894
- }
895
-
896
- /**
897
- * Save Achievement Data
898
- * @since 1.0.8
899
- * @version 1.1
900
- */
901
- public function save_achivement_data( $post_id ) {
902
- // Post Type
903
- $post_type = get_post_type( $post_id );
904
-
905
- // Make sure this is a BadgeOS Object
906
- if ( !in_array( $post_type, badgeos_get_achievement_types_slugs() ) ) return;
907
-
908
- // Make sure preference is set
909
- if ( !isset( $this->prefs[$post_type] ) || !isset( $_POST['mycred_values']['creds'] ) || !isset( $_POST['mycred_values']['log'] ) ) return;
910
-
911
- // Only save if the settings differ, otherwise we default
912
- if ( $_POST['mycred_values']['creds'] == $this->prefs[$post_type]['creds'] &&
913
- $_POST['mycred_values']['log'] == $this->prefs[$post_type]['log'] ) return;
914
-
915
- $data = array();
916
-
917
- // Creds
918
- if ( !empty( $_POST['mycred_values']['creds'] ) && $_POST['mycred_values']['creds'] != $this->prefs[$post_type]['creds'] )
919
- $data['creds'] = $this->core->format_number( $_POST['mycred_values']['creds'] );
920
- else
921
- $data['creds'] = $this->core->format_number( $this->prefs[$post_type]['creds'] );
922
-
923
- // Log template
924
- if ( !empty( $_POST['mycred_values']['log'] ) && $_POST['mycred_values']['log'] != $this->prefs[$post_type]['log'] )
925
- $data['log'] = strip_tags( $_POST['mycred_values']['log'] );
926
- else
927
- $data['log'] = strip_tags( $this->prefs[$post_type]['log'] );
928
-
929
- // If deduction is enabled save log template
930
- if ( $this->prefs[$post_type]['deduct'] == 1 ) {
931
- if ( !empty( $_POST['mycred_values']['deduct_log'] ) && $_POST['mycred_values']['deduct_log'] != $this->prefs[$post_type]['deduct_log'] )
932
- $data['deduct_log'] = strip_tags( $_POST['mycred_values']['deduct_log'] );
933
- else
934
- $data['deduct_log'] = strip_tags( $this->prefs[$post_type]['deduct_log'] );
935
- }
936
-
937
- // Update sales values
938
- update_post_meta( $post_id, '_mycred_values', $data );
939
- }
940
-
941
- /**
942
- * Award Achievement
943
- * Run by BadgeOS when ever needed, we make sure settings are not zero otherwise
944
- * award points whenever this hook fires.
945
- * @since 1.0.8
946
- * @version 1.0
947
- */
948
- public function award_achievent( $user_id, $achievement_id ) {
949
- $post_type = get_post_type( $achievement_id );
950
- // Settings are not set
951
- if ( !isset( $this->prefs[$post_type]['creds'] ) ) return;
952
-
953
- // Get achievemen data
954
- $achievement_data = get_post_meta( $achievement_id, '_mycred_values', true );
955
- if ( empty( $achievement_data ) )
956
- $achievement_data = $this->prefs[$post_type];
957
-
958
- // Make sure its not disabled
959
- if ( $achievement_data['creds'] == 0 ) return;
960
-
961
- // Execute
962
- $post_type_object = get_post_type_object( $post_type );
963
- $this->core->add_creds(
964
- $post_type_object->labels->name,
965
- $user_id,
966
- $achievement_data['creds'],
967
- $achievement_data['log'],
968
- $achievement_id,
969
- array( 'ref_type' => 'post' )
970
- );
971
- }
972
-
973
- /**
974
- * Revoke Achievement
975
- * Run by BadgeOS when a users achievement is revoed.
976
- * @since 1.0.8
977
- * @version 1.1
978
- */
979
- public function revoke_achievement( $user_id, $achievement_id ) {
980
- $post_type = get_post_type( $achievement_id );
981
- // Settings are not set
982
- if ( !isset( $this->prefs[$post_type]['creds'] ) ) return;
983
-
984
- // Get achievemen data
985
- $achievement_data = get_post_meta( $achievement_id, '_mycred_values', true );
986
- if ( empty( $achievement_data ) )
987
- $achievement_data = $this->prefs[$post_type];
988
-
989
- // Make sure its not disabled
990
- if ( $achievement_data['creds'] == 0 ) return;
991
-
992
- // Execute
993
- $post_type_object = get_post_type_object( $post_type );
994
- $this->core->add_creds(
995
- $post_type_object->labels->name,
996
- $user_id,
997
- 0-$achievement_data['creds'],
998
- $achievement_data['deduct_log'],
999
- $achievement_id,
1000
- array( 'ref_type' => 'post' )
1001
- );
1002
- }
1003
-
1004
- /**
1005
- * Preferences for BadgeOS
1006
- * @since 1.0.8
1007
- * @version 1.0
1008
- */
1009
- public function preferences() {
1010
- $prefs = $this->prefs;
1011
- $badge_post_types = badgeos_get_achievement_types_slugs();
1012
- foreach ( $badge_post_types as $post_type ) {
1013
- if ( in_array( $post_type, apply_filters( 'mycred_badgeos_excludes', array( 'step' ) ) ) ) continue;
1014
- if ( !isset( $prefs[$post_type] ) )
1015
- $prefs[$post_type] = array(
1016
- 'creds' => 10,
1017
- 'log' => '',
1018
- 'deduct' => 1,
1019
- 'deduct_log' => '%plural% deduction'
1020
- );
1021
-
1022
- $post_type_object = get_post_type_object( $post_type );
1023
- $title = sprintf( __( 'Default %s for %s', 'mycred' ), $this->core->plural(), $post_type_object->labels->singular_name ); ?>
1024
-
1025
- <!-- Creds for -->
1026
- <label for="<?php echo $this->field_id( array( $post_type, 'creds' ) ); ?>" class="subheader"><?php echo $title; ?></label>
1027
- <ol>
1028
- <li>
1029
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $post_type, 'creds' ) ); ?>" id="<?php echo $this->field_id( array( $post_type, 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs[$post_type]['creds'] ); ?>" size="8" /></div>
1030
- <span class="description"><?php echo $this->core->template_tags_general( __( 'Use zero to disable users gaining %_plural%', 'mycred' ) ); ?></span>
1031
- </li>
1032
- <li class="empty">&nbsp;</li>
1033
- <li>
1034
- <label for="<?php echo $this->field_id( array( $post_type, 'log' ) ); ?>"><?php _e( 'Default Log template', 'mycred' ); ?></label>
1035
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $post_type, 'log' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'log' ) ); ?>" value="<?php echo $prefs[$post_type]['log']; ?>" class="long" /></div>
1036
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
1037
- </li>
1038
- <li>
1039
- <input type="checkbox" name="<?php echo $this->field_name( array( $post_type, 'deduct' ) ); ?>" id="<?php echo $this->field_id( array( $post_type, 'deduct' ) ); ?>" <?php checked( $prefs[$post_type]['deduct'], 1 ); ?> value="1" />
1040
- <label for="<?php echo $this->field_id( array( $post_type, 'deduct' ) ); ?>"><?php echo $this->core->template_tags_general( __( 'Deduct %_plural% if user looses ' . $post_type_object->labels->singular_name, 'mycred' ) ); ?></label>
1041
- </li>
1042
- <li class="empty">&nbsp;</li>
1043
- <li>
1044
- <label for="<?php echo $this->field_id( array( $post_type, 'deduct_log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
1045
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $post_type, 'deduct_log' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'deduct_log' ) ); ?>" value="<?php echo $prefs[$post_type]['deduct_log']; ?>" class="long" /></div>
1046
- <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
1047
- </li>
1048
- </ol>
1049
- <?php
1050
- }
1051
- }
1052
- }
1053
- }
1054
-
1055
- /**
1056
- * Hook for WP-Polls Plugin
1057
- * @since 1.1
1058
- * @version 1.0
1059
- */
1060
- if ( !class_exists( 'myCRED_Hook_WPPolls' ) && function_exists( 'vote_poll' ) ) {
1061
- class myCRED_Hook_WPPolls extends myCRED_Hook {
1062
-
1063
- /**
1064
- * Construct
1065
- */
1066
- function __construct( $hook_prefs ) {
1067
- parent::__construct( array(
1068
- 'id' => 'wppolls',
1069
- 'defaults' => array(
1070
- 'creds' => 1,
1071
- 'log' => '%plural% for voting'
1072
- )
1073
- ), $hook_prefs );
1074
- }
1075
-
1076
- /**
1077
- * Run
1078
- * @since 1.1
1079
- * @version 1.0
1080
- */
1081
- public function run() {
1082
- add_action( 'wp_ajax_polls', array( $this, 'vote_poll' ), 1 );
1083
- add_filter( 'mycred_parse_tags_poll', array( $this, 'parse_custom_tags' ), 10, 2 );
1084
- }
1085
-
1086
- /**
1087
- * Poll Voting
1088
- * @since 1.1
1089
- * @version 1.0
1090
- */
1091
- public function vote_poll() {
1092
- if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'polls' && is_user_logged_in() ) {
1093
- // Get Poll ID
1094
- $poll_id = ( isset( $_REQUEST['poll_id'] ) ? intval( $_REQUEST['poll_id'] ) : 0 );
1095
-
1096
- // Ensure Poll ID Is Valid
1097
- if ( $poll_id != 0 ) {
1098
- // Verify Referer
1099
- if ( check_ajax_referer( 'poll_' . $poll_id . '-nonce', 'poll_' . $poll_id . '_nonce', false ) ) {
1100
- // Which View
1101
- switch ( $_REQUEST['view'] ) {
1102
- case 'process':
1103
- $poll_aid = $_POST["poll_$poll_id"];
1104
- $poll_aid_array = array_unique( array_map( 'intval', explode( ',', $poll_aid ) ) );
1105
- if ( $poll_id > 0 && !empty( $poll_aid_array ) && check_allowtovote() ) {
1106
- $check_voted = check_voted( $poll_id );
1107
- if ( $check_voted == 0 ) {
1108
- $user_id = get_current_user_id();
1109
- // Make sure we are not excluded
1110
- if ( !$this->core->exclude_user( $user_id ) ) {
1111
- $this->core->add_creds(
1112
- 'poll_voting',
1113
- $user_id,
1114
- $this->prefs['creds'],
1115
- $this->prefs['log'],
1116
- $poll_id,
1117
- array( 'ref_type' => 'poll' )
1118
- );
1119
- }
1120
- }
1121
- }
1122
- break;
1123
- }
1124
- }
1125
- }
1126
- }
1127
- }
1128
-
1129
- /**
1130
- * Parse Custom Tags in Log
1131
- * @since 1.1
1132
- * @version 1.0
1133
- */
1134
- public function parse_custom_tags( $content, $log_entry ) {
1135
- $poll_id = $log_entry->ref_id;
1136
- $content = str_replace( '%poll_id%', $poll_id, $content );
1137
- $content = str_replace( '%poll_question%', $this->get_poll_name( $poll_id ), $content );
1138
-
1139
- return $content;
1140
- }
1141
-
1142
- /**
1143
- * Get Poll Name (Question)
1144
- * @since 1.1
1145
- * @version 1.0
1146
- */
1147
- protected function get_poll_name( $poll_id ) {
1148
- global $wpdb;
1149
-
1150
- $sql = "SELECT pollq_question FROM $wpdb->pollsq WHERE pollq_id = %d ";
1151
- return $wpdb->get_var( $wpdb->prepare( $sql, $poll_id ) );
1152
- }
1153
-
1154
- /**
1155
- * Preferences for WP-Polls
1156
- * @since 1.1
1157
- * @version 1.0
1158
- */
1159
- public function preferences() {
1160
- $prefs = $this->prefs; ?>
1161
-
1162
- <label class="subheader"><?php echo $this->core->plural(); ?></label>
1163
- <ol>
1164
- <li>
1165
- <div class="h2"><input type="text" name="<?php echo $this->field_name( 'creds' ); ?>" id="<?php echo $this->field_id( 'creds' ); ?>" value="<?php echo $this->core->format_number( $prefs['creds'] ); ?>" size="8" /></div>
1166
- </li>
1167
- </ol>
1168
- <label class="subheader"><?php _e( 'Log Template', 'mycred' ); ?></label>
1169
- <ol>
1170
- <li>
1171
- <div class="h2"><input type="text" name="<?php echo $this->field_name( 'log' ); ?>" id="<?php echo $this->field_id( 'log' ); ?>" value="<?php echo $prefs['log']; ?>" class="long" /></div>
1172
- <span class="description"><?php _e( 'Available template tags: General. You can also use %poll_id% and %poll_question%.', 'mycred' ); ?></span>
1173
- </li>
1174
- </ol>
1175
- <?php unset( $this );
1176
- }
1177
- }
1178
- }
1179
-
1180
- /**
1181
- * Hook for WP Favorite Posts
1182
- * @since 1.1
1183
- * @version 1.0
1184
- */
1185
- if ( !class_exists( 'myCRED_Hook_WPFavorite' ) && function_exists( 'wp_favorite_posts' ) ) {
1186
- class myCRED_Hook_WPFavorite extends myCRED_Hook {
1187
-
1188
- /**
1189
- * Construct
1190
- */
1191
- function __construct( $hook_prefs ) {
1192
- parent::__construct( array(
1193
- 'id' => 'wpfavorite',
1194
- 'defaults' => array(
1195
- 'add' => array(
1196
- 'creds' => 1,
1197
- 'log' => '%plural% for adding a post as favorite'
1198
- ),
1199
- 'remove' => array(
1200
- 'creds' => 1,
1201
- 'log' => '%plural% deduction for removing a post from favorites'
1202
- )
1203
- )
1204
- ), $hook_prefs );
1205
- }
1206
-
1207
- /**
1208
- * Run
1209
- * @since 1.1
1210
- * @version 1.0
1211
- */
1212
- public function run() {
1213
- if ( $this->prefs['add']['creds'] != 0 )
1214
- add_action( 'wpfp_after_add', array( $this, 'add_favorite' ) );
1215
-
1216
- if ( $this->prefs['remove']['creds'] != 0 )
1217
- add_action( 'wpfp_after_remove', array( $this, 'remove_favorite' ) );
1218
- }
1219
-
1220
- /**
1221
- * Add Favorite
1222
- * @since 1.1
1223
- * @version 1.0
1224
- */
1225
- public function add_favorite( $post_id ) {
1226
- // Must be logged in
1227
- if ( !is_user_logged_in() ) return;
1228
-
1229
- $user_id = get_current_user_id();
1230
- // Check for exclusion
1231
- if ( $this->core->exclude_user( $user_id ) ) return;
1232
-
1233
- // Make sure this is unique event
1234
- if ( $this->core->has_entry( 'add_favorite_post', $post_id, $user_id ) ) return;
1235
-
1236
- // Execute
1237
- $this->core->add_creds(
1238
- 'add_favorite_post',
1239
- $user_id,
1240
- $this->prefs['add']['creds'],
1241
- $this->prefs['add']['log'],
1242
- $post_id,
1243
- array( 'ref_type' => 'post' )
1244
- );
1245
- }
1246
-
1247
- /**
1248
- * Remove Favorite
1249
- * @since 1.1
1250
- * @version 1.0
1251
- */
1252
- public function remove_favorite( $post_id ) {
1253
- // Must be logged in
1254
- if ( !is_user_logged_in() ) return;
1255
-
1256
- $user_id = get_current_user_id();
1257
- // Check for exclusion
1258
- if ( $this->core->exclude_user( $user_id ) ) return;
1259
-
1260
- // Make sure this is unique event
1261
- if ( $this->core->has_entry( 'favorite_post_removed', $post_id, $user_id ) ) return;
1262
-
1263
- // Execute
1264
- $this->core->add_creds(
1265
- 'favorite_post_removed',
1266
- $user_id,
1267
- $this->prefs['remove']['creds'],
1268
- $this->prefs['remove']['log'],
1269
- $post_id,
1270
- array( 'ref_type' => 'post' )
1271
- );
1272
- }
1273
-
1274
- /**
1275
- * Preferences for WP-Polls
1276
- * @since 1.1
1277
- * @version 1.0
1278
- */
1279
- public function preferences() {
1280
- $prefs = $this->prefs; ?>
1281
-
1282
- <label class="subheader" for="<?php echo $this->field_id( array( 'add' => 'creds' ) ); ?>"><?php _e( 'Adding Content to Favorites', 'mycred' ); ?></label>
1283
- <ol>
1284
- <li>
1285
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'add' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['add']['creds'] ); ?>" size="8" /></div>
1286
- </li>
1287
- </ol>
1288
- <label class="subheader" for="<?php echo $this->field_id( array( 'add' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
1289
- <ol>
1290
- <li>
1291
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'add' => 'log' ) ); ?>" value="<?php echo $prefs['add']['log']; ?>" class="long" /></div>
1292
- <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
1293
- </li>
1294
- </ol>
1295
- <label class="subheader" for="<?php echo $this->field_id( array( 'remove' => 'creds' ) ); ?>"><?php _e( 'Removing Content from Favorites', 'mycred' ); ?></label>
1296
- <ol>
1297
- <li>
1298
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'remove' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'remove' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['remove']['creds'] ); ?>" size="8" /></div>
1299
- </li>
1300
- </ol>
1301
- <label class="subheader" for="<?php echo $this->field_id( array( 'remove' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
1302
- <ol>
1303
- <li>
1304
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'remove' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'remove' => 'log' ) ); ?>" value="<?php echo $prefs['remove']['log']; ?>" class="long" /></div>
1305
- <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
1306
- </li>
1307
- </ol>
1308
- <?php unset( $this );
1309
- }
1310
- }
1311
- }
1312
-
1313
- /**
1314
- * Hook for Events Manager
1315
- * @since 1.1
1316
- * @version 1.0
1317
- */
1318
- if ( !class_exists( 'myCRED_Hook_Events_Manager' ) && function_exists( 'bp_em_init' ) ) {
1319
- class myCRED_Hook_Events_Manager extends myCRED_Hook {
1320
-
1321
- /**
1322
- * Construct
1323
- */
1324
- function __construct( $hook_prefs ) {
1325
- parent::__construct( array(
1326
- 'id' => 'eventsmanager',
1327
- 'defaults' => array(
1328
- 'attend' => array(
1329
- 'creds' => 1,
1330
- 'log' => '%plural% for attending an %link_with_title%'
1331
- ),
1332
- 'cancel' => array(
1333
- 'creds' => 1,
1334
- 'log' => '%plural% for cancelled attendance at %link_with_title%'
1335
- )
1336
- )
1337
- ), $hook_prefs );
1338
- }
1339
-
1340
- /**
1341
- * Run
1342
- * @since 1.1
1343
- * @version 1.0
1344
- */
1345
- public function run() {
1346
- if ( $this->prefs['attend']['creds'] != 0 && get_option( 'dbem_bookings_approval' ) != 0 )
1347
- add_filter( 'em_bookings_add', array( $this, 'new_booking' ), 10, 2 );
1348
-
1349
- add_filter( 'em_booking_set_status', array( $this, 'adjust_booking' ), 10, 2 );
1350
- }
1351
-
1352
- /**
1353
- * New Booking
1354
- * When users can make their own bookings.
1355
- * @since 1.1
1356
- * @version 1.1
1357
- */
1358
- public function new_booking( $result, $booking ) {
1359
- $user_id = $booking->person->id;
1360
- // Check for exclusion
1361
- if ( $this->core->exclude_user( $user_id ) ) return $result;
1362
-
1363
- // Successfull Booking
1364
- if ( $result === true ) {
1365
- // Execute
1366
- $this->core->add_creds(
1367
- 'event_booking',
1368
- $user_id,
1369
- $this->prefs['attend']['creds'],
1370
- $this->prefs['attend']['log'],
1371
- $booking->event->post_id,
1372
- array( 'ref_type' => 'post' )
1373
- );
1374
- }
1375
-
1376
- return $result;
1377
- }
1378
-
1379
- /**
1380
- * Adjust Booking
1381
- * Incase an administrator needs to approve bookings first or if booking gets
1382
- * cancelled.
1383
- * @since 1.1
1384
- * @version 1.1
1385
- */
1386
- public function adjust_booking( $result, $booking ) {
1387
- $user_id = $booking->person->id;
1388
- // Check for exclusion
1389
- if ( $this->core->exclude_user( $user_id ) ) return $result;
1390
-
1391
- // If the new status is 'approved', add points
1392
- if ( $booking->booking_status == 1 && $booking->previous_status != 1 ) {
1393
- // If we do not award points for attending an event bail now
1394
- if ( $this->prefs['attend']['creds'] == 0 ) return $result;
1395
-
1396
- // Execute
1397
- $this->core->add_creds(
1398
- 'event_attendance',
1399
- $user_id,
1400
- $this->prefs['attend']['creds'],
1401
- $this->prefs['attend']['log'],
1402
- $booking->event->post_id,
1403
- array( 'ref_type' => 'post' )
1404
- );
1405
- }
1406
- // Else if status got changed from previously 'approved', remove points given
1407
- elseif ( $booking->booking_status != 1 && $booking->previous_status == 1 ) {
1408
- // If we do not deduct points for cancellation bail now
1409
- if ( $this->prefs['cancel']['creds'] == 0 ) return $result;
1410
-
1411
- // Execute
1412
- $this->core->add_creds(
1413
- 'cancelled_event_attendance',
1414
- $user_id,
1415
- $this->prefs['cancel']['creds'],
1416
- $this->prefs['cancel']['log'],
1417
- $booking->event->post_id,
1418
- array( 'ref_type' => 'post' )
1419
- );
1420
- }
1421
-
1422
- return $result;
1423
- }
1424
-
1425
- /**
1426
- * Preferences for Events Manager
1427
- * @since 1.1
1428
- * @version 1.0
1429
- */
1430
- public function preferences() {
1431
- $prefs = $this->prefs; ?>
1432
-
1433
- <label class="subheader" for="<?php echo $this->field_id( array( 'attend' => 'creds' ) ); ?>"><?php _e( 'Attending Event', 'mycred' ); ?></label>
1434
- <ol>
1435
- <li>
1436
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'attend' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'attend' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['attend']['creds'] ); ?>" size="8" /></div>
1437
- </li>
1438
- </ol>
1439
- <label class="subheader" for="<?php echo $this->field_id( array( 'attend' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
1440
- <ol>
1441
- <li>
1442
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'attend' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'attend' => 'log' ) ); ?>" value="<?php echo $prefs['attend']['log']; ?>" class="long" /></div>
1443
- <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
1444
- </li>
1445
- </ol>
1446
- <label class="subheader" for="<?php echo $this->field_id( array( 'cancel' => 'creds' ) ); ?>"><?php _e( 'Cancelling Attendance', 'mycred' ); ?></label>
1447
- <ol>
1448
- <li>
1449
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'cancel' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'cancel' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['cancel']['creds'] ); ?>" size="8" /></div>
1450
- </li>
1451
- </ol>
1452
- <label class="subheader" for="<?php echo $this->field_id( array( 'cancel' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
1453
- <ol>
1454
- <li>
1455
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'cancel' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'cancel' => 'log' ) ); ?>" value="<?php echo $prefs['cancel']['log']; ?>" class="long" /></div>
1456
- <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
1457
- </li>
1458
- </ol>
1459
- <?php unset( $this );
1460
- }
1461
- }
1462
- }
1463
-
1464
- /**
1465
- * Hook for GD Star Rating
1466
- * @since 1.2
1467
- * @version 1.0
1468
- */
1469
- if ( !class_exists( 'myCRED_Hook_GD_Star_Rating' ) && defined( 'STARRATING_DEBUG' ) ) {
1470
- class myCRED_Hook_GD_Star_Rating extends myCRED_Hook {
1471
-
1472
- /**
1473
- * Construct
1474
- */
1475
- function __construct( $hook_prefs ) {
1476
- parent::__construct( array(
1477
- 'id' => 'gdstars',
1478
- 'defaults' => array(
1479
- 'star_rating' => array(
1480
- 'creds' => 1,
1481
- 'log' => '%plural% for rating'
1482
- ),
1483
- 'up_down' => array(
1484
- 'creds' => 1,
1485
- 'log' => '%plural% for rating'
1486
- )
1487
- )
1488
- ), $hook_prefs );
1489
- }
1490
-
1491
- /**
1492
- * Run
1493
- * @since 1.2
1494
- * @version 1.0
1495
- */
1496
- public function run() {
1497
- add_action( 'gdsr_vote', array( $this, 'vote' ), 10, 4 );
1498
- }
1499
-
1500
- /**
1501
- * Vote
1502
- * @since 1.2
1503
- * @version 1.0
1504
- */
1505
- public function vote( $vote_value, $post_id, $vote_tpl, $vote_size ) {
1506
- if ( !is_user_logged_in() ) return;
1507
-
1508
- if ( is_string( $vote_value ) && $this->prefs['up_down']['creds'] == 0 ) return;
1509
- elseif ( !is_string( $vote_value ) && $this->prefs['star_rating']['creds'] == 0 ) return;
1510
-
1511
- if ( is_string( $vote_value ) ) {
1512
- $vote = 'up_down';
1513
- $star = false;
1514
- }
1515
- else {
1516
- $vote = 'star_rating';
1517
- $star = true;
1518
- }
1519
- $user_id = get_current_user_id();
1520
-
1521
- if ( $this->core->has_entry( 'rating', $post_id, $user_id, $vote ) ) return;
1522
-
1523
- // Execute
1524
- $this->core->add_creds(
1525
- 'rating',
1526
- $user_id,
1527
- ( $star ) ? $this->prefs['star_rating']['creds'] : $this->prefs['up_down']['creds'],
1528
- ( $star ) ? $this->prefs['star_rating']['log'] : $this->prefs['up_down']['log'],
1529
- $post_id,
1530
- $vote
1531
- );
1532
- }
1533
-
1534
- /**
1535
- * Preferences for GD Star Rating
1536
- * @since 1.2
1537
- * @version 1.0
1538
- */
1539
- public function preferences() {
1540
- $prefs = $this->prefs; ?>
1541
-
1542
- <label class="subheader" for="<?php echo $this->field_id( array( 'star_rating' => 'creds' ) ); ?>"><?php _e( 'Rating', 'mycred' ); ?></label>
1543
- <ol>
1544
- <li>
1545
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'star_rating' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'star_rating' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['star_rating']['creds'] ); ?>" size="8" /></div>
1546
- </li>
1547
- </ol>
1548
- <label class="subheader" for="<?php echo $this->field_id( array( 'star_rating' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
1549
- <ol>
1550
- <li>
1551
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'star_rating' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'star_rating' => 'log' ) ); ?>" value="<?php echo $prefs['star_rating']['log']; ?>" class="long" /></div>
1552
- <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
1553
- </li>
1554
- </ol>
1555
- <label class="subheader" for="<?php echo $this->field_id( array( 'up_down' => 'creds' ) ); ?>"><?php _e( 'Up / Down Vote', 'mycred' ); ?></label>
1556
- <ol>
1557
- <li>
1558
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'up_down' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'up_down' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['up_down']['creds'] ); ?>" size="8" /></div>
1559
- </li>
1560
- </ol>
1561
- <label class="subheader" for="<?php echo $this->field_id( array( 'up_down' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
1562
- <ol>
1563
- <li>
1564
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'up_down' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'up_down' => 'log' ) ); ?>" value="<?php echo $prefs['up_down']['log']; ?>" class="long" /></div>
1565
- <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
1566
- </li>
1567
- </ol>
1568
- <?php unset( $this );
1569
- }
1570
- }
1571
- }
1572
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/mycred-module-subscriptions.php DELETED
@@ -1,508 +0,0 @@
1
- <?php
2
- /**
3
- * Subscription related Hooks
4
- * Adds support for Jetpack
5
- *
6
- * @since 1.0.5
7
- * @version 1.0
8
- */
9
- if ( !defined( 'myCRED_VERSION' ) ) exit;
10
- /**
11
- * Hooks for Jetpack
12
- * Adds support for Jetpack.
13
- *
14
- * @since 1.0.5
15
- * @version 1.0
16
- */
17
- if ( !class_exists( 'myCRED_Hook_Jetpack' ) && defined( 'JETPACK__PLUGIN_DIR' ) ) {
18
- class myCRED_Hook_Jetpack extends myCRED_Hook {
19
-
20
- /**
21
- * Construct
22
- */
23
- function __construct( $hook_prefs ) {
24
- parent::__construct( array(
25
- 'id' => 'jetpack',
26
- 'defaults' => array(
27
- 'subscribe_site' => array(
28
- 'creds' => 1,
29
- 'log' => '%plural% for site subscription'
30
- ),
31
- 'subscribe_comment' => array(
32
- 'creds' => 1,
33
- 'log' => '%plural% for comment subscription'
34
- )
35
- )
36
- ), $hook_prefs );
37
- }
38
-
39
- /**
40
- * Run
41
- * @since 1.0.5
42
- * @version 1.0
43
- */
44
- public function run() {
45
- // Site Subscriptions
46
- if ( $this->prefs['subscribe_site']['creds'] != 0 ) {
47
- add_filter( 'wp_redirect', array( $this, 'submit_redirect' ), 1 );
48
- }
49
-
50
- // Comment Subscriptions
51
- if ( $this->prefs['subscribe_comment']['creds'] != 0 ) {
52
- add_action( 'comment_post', array( $this, 'comment_subscribe_submit' ), 99, 2 );
53
- }
54
-
55
- add_action( 'mycred_admin_init', array( $this, 'admin_init' ) );
56
- }
57
-
58
- /**
59
- * Admin Init
60
- * Check pending emails if they have confirmed their subscription. If it's confirmed
61
- * and no previous points have been awarded we do that here. Else if the email is marked
62
- * as pending we save it for a later try.
63
- *
64
- * @since 1.0.5
65
- * @version 1.0
66
- */
67
- public function admin_init() {
68
- $types = array();
69
-
70
- if ( $this->prefs['subscribe_site']['creds'] != 0 )
71
- $types[] = 'site';
72
-
73
- if ( $this->prefs['subscribe_comment']['creds'] != 0 )
74
- $types[] = 'comment';
75
-
76
- // Not enabled, bail
77
- if ( empty( $types ) ) return;
78
-
79
- foreach ( $types as $type ) {
80
- // Get list if it exist
81
- if ( false === ( $pending = get_option( 'mycred_jetpack_' . $type . '_pendings' ) ) )
82
- continue;
83
-
84
- // Make sure list is not empty
85
- if ( empty( $pending ) ) {
86
- // Clean up before exit
87
- delete_option( 'mycred_jetpack_' . $type . '_pendings' );
88
- continue;
89
- }
90
-
91
- $new = array();
92
- foreach ( $pending as $id => $email ) {
93
- // Validate
94
- if ( trim( $email ) == '' || !is_email( $email ) ) continue;
95
-
96
- // Make sure user exist
97
- $user = get_user_by( 'email', $email );
98
- if ( $user === false ) continue;
99
-
100
- // Check for exclusion
101
- if ( $this->core->exclude_user( $user->ID ) === true ) continue;
102
-
103
- // Make sure this is a unique event
104
- if ( $this->core->has_entry( 'site_subscription', '', $user->ID ) ) continue;
105
-
106
- // Site Subscriptions
107
- if ( $type == 'site' ) {
108
- // Check subscription status
109
- $subscription = $this->check_jetpack_subscription( $email );
110
- // Active status = award points if not already
111
- if ( $subscription == 'active' ) {
112
- // Execute
113
- $this->core->add_creds(
114
- 'site_subscription',
115
- $user->ID,
116
- $this->prefs['subscribe_site']['creds'],
117
- $this->prefs['subscribe_site']['log']
118
- );
119
- }
120
- // Pending status = save so we try again later
121
- elseif ( $subscription == 'pending' ) {
122
- $new[] = $email;
123
- continue;
124
- }
125
- }
126
- // Comment Subscriptions
127
- else {
128
- $comment = get_comment( $id );
129
- if ( empty( $comment ) ) continue;
130
-
131
- // If no user id exist, check and see if the authors email is used by someone
132
- if ( $comment->user_id == 0 ) {
133
- $user = get_user_by( 'email', $email );
134
- if ( $user === false ) continue;
135
- }
136
- // Make sure the user still exist
137
- else {
138
- $user = get_user_by( 'id', $comment->user_id );
139
- if ( $user === false ) continue;
140
- }
141
-
142
- // Check for exclusion
143
- if ( $this->core->exclude_user( $user->ID ) === true ) continue;
144
-
145
- // Start with making sure this is a unique event
146
- if ( $this->core->has_entry( 'comment_subscription', $id, $comment->user_id ) ) continue;
147
-
148
- $post_ids = array();
149
-
150
- if ( isset( $_REQUEST['subscribe_comments'] ) )
151
- $post_ids[] = $comment->comment_post_ID;
152
-
153
- // Attempt to subscribe again to get results
154
- $subscription = $this->check_jetpack_subscription( $email, array( $comment->comment_post_ID ) );
155
-
156
- // Subscription is active
157
- if ( $subscription == 'active' ) {
158
- // Execute
159
- $this->core->add_creds(
160
- 'comment_subscription',
161
- $user->ID,
162
- $this->prefs['subscribe_comment']['creds'],
163
- $this->prefs['subscribe_comment']['log'],
164
- $id,
165
- array( 'ref_type' => 'comment' )
166
- );
167
- }
168
- // Subscription pending
169
- elseif ( $subscription == 'pending' ) {
170
- $new[$id] = $email;
171
- }
172
- }
173
- }
174
-
175
- // If we still have pending emails save for later
176
- if ( !empty( $new ) )
177
- update_option( 'mycred_jetpack_' . $type . '_pendings', $new );
178
- // Else delete
179
- else
180
- delete_option( 'mycred_jetpack_' . $type . '_pendings' );
181
- }
182
- }
183
-
184
- /**
185
- * Submit Redirect
186
- * Checks if Jetpack signup has been executed by parsing the redirect URL.
187
- * @since 1.0.5
188
- * @version 1.0
189
- */
190
- public function submit_redirect( $location ) {
191
- // Make sure we have what we need
192
- if ( !isset( $_REQUEST['jetpack_subscriptions_widget'] ) || !isset( $_REQUEST['email'] ) || empty( $_REQUEST['email'] ) )
193
- return $location;
194
-
195
- // Make sure Jetpack has executed
196
- if ( !isset( $_GET['subscribe'] ) || $_GET['subscribe'] != 'success' )
197
- return $location;
198
-
199
- // Make sure user exist
200
- $user = get_user_by( 'email', $_REQUEST['email'] );
201
- if ( $user === false )
202
- return $location;
203
-
204
- // Check for exclusion
205
- if ( $this->core->exclude_user( $user->ID ) === true )
206
- return $location;
207
-
208
- // Check that this is a unique event
209
- if ( $this->core->has_entry( 'site_subscription', '', $user->ID ) )
210
- return $location;
211
-
212
- $this->site_subscribe( $_REQUEST['email'], $user->ID );
213
-
214
- return $location;
215
- }
216
-
217
- /**
218
- * Comment Subscribe Submit
219
- * Manage the request to subscribe to comments and/or to the blog
220
- * Based on Jetpack Subscriptions
221
- * @see jetpack/modules/subscriptions.php
222
- * @since 1.0.5
223
- * @version 1.0
224
- */
225
- public function comment_subscribe_submit( $comment_id, $approved ) {
226
- if ( 'spam' === $approved ) {
227
- return;
228
- }
229
-
230
- if ( !isset( $_REQUEST['subscribe_comments'] ) && !isset( $_REQUEST['subscribe_blog'] ) )
231
- return;
232
-
233
- $comment = get_comment( $comment_id );
234
-
235
- // If no user id exist, check and see if the authors email is used by someone
236
- if ( $comment->user_id == 0 ) {
237
- $user = get_user_by( 'email', $comment->comment_author_email );
238
- if ( $user === false ) return;
239
- }
240
- // Make sure the user still exist
241
- else {
242
- $user = get_user_by( 'id', $comment->user_id );
243
- if ( $user === false ) return;
244
- }
245
-
246
- // Check for exclusion
247
- if ( $this->core->exclude_user( $user->ID ) === true ) return;
248
-
249
- // Start with making sure this is a unique event
250
- if ( $this->core->has_entry( 'comment_subscription', $comment_id, $user->ID ) ) return;
251
-
252
- // Handle comment subscription
253
- if ( isset( $_REQUEST['subscribe_comments'] ) )
254
- $this->comment_subscribe( $comment->comment_author_email, $comment->comment_post_ID, $user->ID, $comment_id );
255
-
256
- // Handle site subscription
257
- if ( isset( $_REQUEST['subscribe_blog'] ) )
258
- $this->site_subscribe( $comment->comment_author_email, $user->ID );
259
- }
260
-
261
- /**
262
- * Comment Subscribe
263
- * Awards points for active subscriptions or adds email and comment id to the pending array.
264
- * Note! This methods should only be called once the primary checks have been made, including making sure
265
- * the user exist, is not excluded and that this is a unique event!
266
- * @since 1.0.5
267
- * @version 1.0
268
- */
269
- protected function comment_subscribe( $email = '', $post_ids = '', $user_id = 0, $comment_id = 0 ) {
270
- // Attempt to subscribe again to get results
271
- $subscription = $this->check_jetpack_subscription( $email, $post_ids );
272
-
273
- // Subscription is active
274
- if ( $subscription == 'active' ) {
275
- // Execute
276
- $this->core->add_creds(
277
- 'comment_subscription',
278
- $user_id,
279
- $this->prefs['subscribe_comment']['creds'],
280
- $this->prefs['subscribe_comment']['log'],
281
- $comment_id,
282
- array( 'ref_type' => 'comment' )
283
- );
284
-
285
- // Let others share our success
286
- do_action( 'mycred_jetpack_comment', $user_id, $comment_id );
287
- }
288
- // Subscription pending
289
- elseif ( $subscription == 'pending' ) {
290
- // Add email to pending list if not in it already
291
- if ( !$this->is_pending( $email, $comment_id ) )
292
- $this->add_to_pending( $email, $comment_id );
293
- }
294
- }
295
-
296
- /**
297
- * Site Subscription
298
- * Awards points for active site subscriptions or adds email to the pending array.
299
- * Note! This methods should only be called once the primary checks have been made, including making sure
300
- * the user exist, is not excluded and that this is a unique event!
301
- * @since 1.0.5
302
- * @version 1.0
303
- */
304
- protected function site_subscribe( $email = '', $user_id = 0 ) {
305
- // Attempt to add this email again to check it's status
306
- $subscription = $this->check_jetpack_subscription( $email );
307
-
308
- // Subscription is active
309
- if ( $subscription == 'active' ) {
310
- // Execute
311
- $this->core->add_creds(
312
- 'site_subscription',
313
- $user_id,
314
- $this->prefs['subscribe_site']['creds'],
315
- $this->prefs['subscribe_site']['log']
316
- );
317
-
318
- // Let others share our success
319
- do_action( 'mycred_jetpack_site', $user_id, $GLOBALS['blog_id'] );
320
- }
321
- // Subscription pending
322
- elseif ( $subscription == 'pending' ) {
323
- // Add email to pending list if not in it already
324
- if ( !$this->is_pending( $email ) )
325
- $this->add_to_pending( $email );
326
- }
327
- }
328
-
329
- /**
330
- * Check Jetpack Subscription
331
- * @since 1.0.5
332
- * @version 1.0
333
- */
334
- protected function check_jetpack_subscription( $email = NULL, $post_ids = NULL ) {
335
- if ( $email === NULL ) return 'missing';
336
-
337
- if ( !class_exists( 'Jetpack' ) && defined( 'JETPACK__PLUGIN_DIR' ) )
338
- require_once( JETPACK__PLUGIN_DIR . 'jetpack.php' );
339
- if ( !class_exists( 'Jetpack_Subscriptions' ) && defined( 'JETPACK__PLUGIN_DIR' ) )
340
- require_once( JETPACK__PLUGIN_DIR . 'modules/subscriptions.php' );
341
-
342
- if ( $post_ids === NULL )
343
- $subscribe = Jetpack_Subscriptions::subscribe( $email, 0, false );
344
- else
345
- $subscribe = Jetpack_Subscriptions::subscribe( $email, $post_ids, false );
346
-
347
- if ( is_wp_error( $subscribe ) ) {
348
- $error = $subscribe->get_error_code();
349
- } else {
350
- $error = false;
351
- foreach ( $subscribe as $response ) {
352
- if ( is_wp_error( $response ) ) {
353
- $error = $response->get_error_code();
354
- break;
355
- }
356
- }
357
- }
358
-
359
- if ( $error ) {
360
- switch ( $error ) {
361
- case 'invalid_email':
362
- $return = 'invalid';
363
- break;
364
- case 'active':
365
- $return = 'active';
366
- break;
367
- case 'pending':
368
- $return = 'pending';
369
- break;
370
- default:
371
- $return = '';
372
- break;
373
- }
374
- }
375
- else {
376
- if ( is_array( $subscribe ) && $subscribe[0] === true )
377
- $error = true;
378
- $return = 'pending';
379
- }
380
-
381
- if ( $error )
382
- return $return;
383
-
384
- return 'new';
385
- }
386
-
387
- /**
388
- * Is Pending
389
- * Checks the given email if it's in the pending array.
390
- * @param $email (string) required email to check
391
- * @param $section (string|int) either 'site' for site subscriptions or comment id, defaults to site
392
- * @returns (bool) true or false
393
- * @since 1.0.5
394
- * @version 1.0
395
- */
396
- protected function is_pending( $email = NULL, $section = 'site' ) {
397
- if ( $email === NULL || trim( $email ) === '' ) return;
398
-
399
- if ( $section == 'site' )
400
- $name = $section;
401
- else
402
- $name = 'comment';
403
-
404
- // If pending list does not exist, create it and add our email
405
- if ( false === ( $pending = get_option( 'mycred_jetpack_' . $name . '_pendings' ) ) ) {
406
- if ( $name == 'site' )
407
- $pending = array( $email );
408
- else
409
- $pending = array( $section => $email );
410
-
411
- update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
412
- }
413
-
414
- // Site check
415
- if ( $section == 'site' ) {
416
- if ( in_array( $email, $pending ) )
417
- return true;
418
- }
419
- // Comment check
420
- else {
421
- if ( array_key_exists( $section, $pending ) && $pending[$section] == $email )
422
- return true;
423
- }
424
-
425
- return false;
426
- }
427
-
428
- /**
429
- * Add to Pending
430
- * Adds a given email to the pending array.
431
- * @param $email (string) required email to check
432
- * @param $section (string|int) either 'site' for site subscriptions or comment id, defaults to site
433
- * @since 1.0.5
434
- * @version 1.0
435
- */
436
- protected function add_to_pending( $email = NULL, $section = 'site' ) {
437
- if ( $email === NULL || trim( $email ) === '' ) return;
438
-
439
- if ( $section == 'site' )
440
- $name = $section;
441
- else
442
- $name = 'comment';
443
-
444
- // If pending list does not exist, create it and add our email
445
- if ( false === ( $pending = get_option( 'mycred_jetpack_' . $name . '_pendings' ) ) ) {
446
- if ( $name == 'site' )
447
- $pending = array( $email );
448
- else
449
- $pending = array( $section => $email );
450
-
451
- update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
452
- }
453
-
454
- // Site pending list
455
- if ( $section == 'site' ) {
456
- if ( !in_array( $email, $pending ) ) {
457
- $pending[] = $email;
458
- update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
459
- }
460
- }
461
- // Comment pending list
462
- else {
463
- if ( !array_key_exists( $section, $pending ) ) {
464
- $pending[$section] = $email;
465
- update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
466
- }
467
- }
468
- }
469
-
470
- /**
471
- * Preferences
472
- * @since 1.0.5
473
- * @version 1.0
474
- */
475
- public function preferences() {
476
- $prefs = $this->prefs; ?>
477
-
478
- <!-- Creds for Site Subscription -->
479
- <label for="<?php echo $this->field_id( array( 'subscribe_site', 'creds' ) ); ?>" class="subheader"><?php _e( 'Site Subscriptions', 'mycred' ); ?></label>
480
- <ol>
481
- <li>
482
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_site', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_site', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['subscribe_site']['creds'] ); ?>" size="8" /></div>
483
- </li>
484
- <li class="empty">&nbsp;</li>
485
- <li>
486
- <label for="<?php echo $this->field_id( array( 'subscribe_site', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
487
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_site', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_site', 'log' ) ); ?>" value="<?php echo $prefs['subscribe_site']['log']; ?>" class="long" /></div>
488
- <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
489
- </li>
490
- </ol>
491
- <!-- Creds for Comment Subscription -->
492
- <label for="<?php echo $this->field_id( array( 'subscribe_comment', 'creds' ) ); ?>" class="subheader"><?php _e( 'Comment Subscriptions', 'mycred' ); ?></label>
493
- <ol>
494
- <li>
495
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_comment', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_comment', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['subscribe_comment']['creds'] ); ?>" size="8" /></div>
496
- </li>
497
- <li class="empty">&nbsp;</li>
498
- <li>
499
- <label for="<?php echo $this->field_id( array( 'subscribe_comment', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
500
- <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_comment', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_comment', 'log' ) ); ?>" value="<?php echo $prefs['subscribe_comment']['log']; ?>" class="long" /></div>
501
- <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
502
- </li>
503
- </ol>
504
- <?php unset( $this );
505
- }
506
- }
507
- }
508
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mycred.php CHANGED
@@ -1,21 +1,21 @@
1
  <?php
2
- /*
3
- Plugin Name: myCRED
4
- Plugin URI: http://mycred.me
5
- Description: <strong>my</strong>CRED is an adaptive points management system for WordPress powered websites, giving you full control on how points are gained, used, traded, managed, logged or presented.
6
- Version: 1.2.3
7
- Tags: points, tokens, credit, management, reward, charge
8
- Author: Gabriel S Merovingi
9
- Author URI: http://www.merovingi.com
10
- Author Email: mycred@merovingi.com
11
- Requires at least: WP 3.1
12
- Tested up to: WP 3.6
13
- Text Domain: mycred
14
- Domain Path: /lang
15
- License: GPLv2 or later
16
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
17
- */
18
- define( 'myCRED_VERSION', '1.2.3' );
19
  define( 'myCRED_SLUG', 'mycred' );
20
  define( 'myCRED_NAME', '<strong>my</strong>CRED' );
21
 
@@ -27,11 +27,18 @@ define( 'myCRED_ASSETS_DIR', myCRED_ROOT_DIR . 'assets/' );
27
  define( 'myCRED_INCLUDES_DIR', myCRED_ROOT_DIR . 'includes/' );
28
  define( 'myCRED_LANG_DIR', myCRED_ROOT_DIR . 'lang/' );
29
  define( 'myCRED_MODULES_DIR', myCRED_ROOT_DIR . 'modules/' );
 
 
 
 
 
 
30
 
31
  /**
32
- * myCRED_Core class
33
- * @see http://mycred.me/classes/mycred_core/
34
- * @since 0.1
 
35
  * @version 1.0
36
  */
37
  if ( !class_exists( 'myCRED_Core' ) ) {
@@ -43,670 +50,503 @@ if ( !class_exists( 'myCRED_Core' ) ) {
43
  * Construct
44
  */
45
  function __construct() {
46
- // Core functions
47
- require_once( myCRED_INCLUDES_DIR . 'mycred-functions.php' );
48
- if ( !$this->enabled() ) return;
49
-
50
- // Plugin related
51
  $this->plug = plugin_basename( myCRED_THIS );
52
- add_filter( 'plugin_action_links_' . $this->plug, array( $this, 'plugin_links' ), 99, 4 );
53
-
54
- // Introduce ourselves to WordPress
55
- register_uninstall_hook( myCRED_THIS, array( __CLASS__, 'uninstall_mycred' ) );
56
- register_activation_hook( myCRED_THIS, array( $this, 'activate_mycred' ) );
57
- register_deactivation_hook( myCRED_THIS, array( $this, 'deactivate_mycred' ) );
58
-
59
- // Network Settings
60
- if ( is_multisite() && is_admin() )
61
- require_once( myCRED_INCLUDES_DIR . 'mycred-network.php' );
62
-
63
- // Make sure we are ready
64
- if ( !$this->ready() ) return;
65
-
66
- // Load
67
- $this->load();
68
 
69
- // Plugins Loaded (attempt to run last so others can load before us)
70
- add_action( 'plugins_loaded', array( $this, 'wp_ready' ), 999 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
- // Init
73
- add_action( 'init', array( $this, 'init_mycred' ) );
74
 
75
- // Admin Init
76
- if ( is_admin() )
77
- add_action( 'admin_init', array( $this, 'admin_init_mycred' ) );
78
 
79
- // Widget Init
80
- add_action( 'widgets_init', array( $this, 'widgets_init_mycred' ) );
 
 
 
81
 
82
- // Add key reset to cron
83
- add_action( 'mycred_reset_key', array( $this, 'reset_key' ) );
 
 
 
 
84
 
85
- // myCRED is ready
86
- require_once( myCRED_MODULES_DIR . 'mycred-module-help.php' );
 
 
 
 
 
 
 
 
 
 
87
  do_action( 'mycred_ready' );
88
-
89
- // Clean up
90
- $this->clean_up();
 
91
  }
92
-
93
- /**
94
- * Prevent myCRED from being cloned
95
- * @since 1.1.1
96
- * @version 1.0
97
- */
98
- public function __clone() { _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'mycred' ), '1.1.1' ); }
99
-
100
- /**
101
- * Prevent myCRED from being unserialized
102
- * @since 1.1.1
103
- * @version 1.0
104
- */
105
- public function __wakeup() { _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'mycred' ), '1.1.1' ); }
106
 
107
- /**
108
- * Plugin Links
109
- * @since 0.1
110
- * @version 1.3
111
- */
112
- function plugin_links( $actions, $plugin_file, $plugin_data, $context ) {
113
- // Link to Setup
114
- if ( !$this->ready() ) {
115
- $actions['setup'] = '<a href="' . admin_url( 'plugins.php?page=myCRED-setup' ) . '">' . __( 'Setup', 'mycred' ) . '</a>';
116
- return $actions;
117
- }
118
-
119
- $actions['tutorials'] = '<a href="http://mycred.me/support/tutorials/" target="_blank">' . __( 'Tutorials', 'mycred' ) . '</a>';
120
- $actions['docs'] = '<a href="http://mycred.me/support/codex/" target="_blank">' . __( 'Codex', 'mycred' ) . '</a>';
121
- $actions['store'] = '<a href="http://mycred.me/store/" target="_blank">' . __( 'Store', 'mycred' ) . '</a>';
122
-
123
- return $actions;
124
- }
125
 
126
- /**
127
- * Runs when the plugin is activated
128
- * @since 0.1
129
- * @version 1.1
130
- */
131
- function activate_mycred() {
132
- // Check if blocked
133
- if ( !$this->enabled() )
134
- die( __( 'myCRED is blocked for this site. Please contact your network administrator for further details.', 'mycred' ) );
135
-
136
- // Load Installer
137
- require_once( myCRED_INCLUDES_DIR . 'mycred-install.php' );
138
- $install = new myCRED_Install();
139
-
140
- // Compatibility check
141
- $install->compat();
142
-
143
- // First time activation
144
- if ( $install->ver === false )
145
- $install->activate();
146
- // Re-activation
147
- else
148
- $install->reactivate();
149
-
150
- // Add Cron Schedule
151
- if ( !wp_next_scheduled( 'mycred_reset_key' ) ) {
152
- $frequency = apply_filters( 'mycred_cron_reset_key', 'daily' );
153
- wp_schedule_event( date_i18n( 'U' ), $frequency, 'mycred_reset_key' );
154
- }
155
-
156
- // Delete stray debug options
157
- delete_option( 'mycred_catch_fires' );
158
- }
159
 
160
- /**
161
- * Runs when the plugin is deactivated
162
- * @since 0.1
163
- * @version 1.2
164
- */
165
- function deactivate_mycred() {
166
- // Clear Cron
167
- wp_clear_scheduled_hook( 'mycred_reset_key' );
168
- wp_clear_scheduled_hook( 'mycred_banking_recurring_payout' );
169
- wp_clear_scheduled_hook( 'mycred_banking_interest_compound' );
170
- wp_clear_scheduled_hook( 'mycred_banking_interest_payout' );
171
-
172
- do_action( 'mycred_deactivation' );
173
- }
174
 
175
- /**
176
- * Reset Key
177
- * @since 0.1
178
- * @version 1.0
179
- */
180
- function reset_key() {
181
- require_once( myCRED_INCLUDES_DIR . 'mycred-protect.php' );
182
- $protect = new myCRED_Protect();
183
- $protect->reset_key();
184
- }
 
 
 
 
 
185
 
186
- /**
187
- * Runs when the plugin is deleted
188
- * @since 0.1
189
- * @version 1.0
190
- */
191
- function uninstall_mycred() {
192
- // Load Installer
193
- require_once( myCRED_INCLUDES_DIR . 'mycred-install.php' );
194
- $install = new myCRED_Install();
 
 
195
 
196
- do_action( 'mycred_before_deletion', $install );
197
 
198
- // Run uninstaller
199
- $install->uninstall();
200
 
201
- do_action( 'mycred_after_deletion', $install );
202
- unset( $install );
203
- }
204
 
205
- /**
206
- * Check if Ready
207
- * @since 0.1
208
- * @version 1.0
209
- */
210
- function ready() {
211
- global $mycred;
212
- $mycred = new myCRED_Settings();
213
-
214
- // Multisite Ready Check
215
- if ( is_multisite() ) {
216
- $mycred_network = mycred_get_settings_network();
217
-
218
- // Check if setup is done
219
- if ( $mycred_network['master'] == true && $GLOBALS['blog_id'] != 1 )
220
- $setup = get_blog_option( 1, 'mycred_setup_completed_' . $GLOBALS['blog_id'] );
221
- else
222
- $setup = get_option( 'mycred_setup_completed' );
223
-
224
- if ( $setup !== false ) return true;
225
-
226
- // Install local database if needed
227
- if ( $mycred_network['master'] == true && $GLOBALS['blog_id'] != 1 ) {
228
- return $this->install_log();
229
- }
230
- }
231
-
232
- // Regular Ready Check
233
- if ( !is_multisite() ) {
234
- $setup = get_option( 'mycred_setup_completed' );
235
- if ( $setup !== false ) return true;
236
- }
237
-
238
- // If we have come this far we need to load the setup
239
- require_once( myCRED_INCLUDES_DIR . 'mycred-install.php' );
240
- $setup = new myCRED_Setup();
241
- return $setup->status();
242
  }
 
243
 
244
- /**
245
- * Load
246
- * @since 0.1
247
- * @version 2.0
248
- */
249
- function load() {
250
- // Rankings
251
- require_once( myCRED_INCLUDES_DIR . 'mycred-rankings.php' );
252
-
253
- // Shortcodes
254
- require_once( myCRED_INCLUDES_DIR . 'mycred-shortcodes.php' );
255
-
256
- // Abstract Classes
257
- require_once( myCRED_ABSTRACTS_DIR . 'mycred-abstract-module.php' );
258
- require_once( myCRED_ABSTRACTS_DIR . 'mycred-abstract-hook.php' );
259
-
260
- // Start with Add-ons so they can hook in as early as possible
261
- require_once( myCRED_MODULES_DIR . 'mycred-module-addons.php' );
262
- $addons = new myCRED_Addons();
263
- $addons->load();
264
- }
265
 
266
- /**
267
- * WordPress Ready
268
- * @since 0.1
269
- * @version 3.2
270
- */
271
- function wp_ready() {
272
- load_plugin_textdomain( 'mycred', false, dirname( plugin_basename( __FILE__ ) ) . '/lang/' );
273
-
274
- // Load Modules
275
- $modules = apply_filters( 'mycred_modules', array(
276
- 'general' => array( 'class' => 'myCRED_General' ),
277
- 'hooks' => array( 'class' => 'myCRED_Hooks' ),
278
- 'log' => array( 'class' => 'myCRED_Log' )
279
- ) );
280
-
281
- if ( !empty( $modules ) ) {
282
-
283
- // Include, init and load each module
284
- foreach ( $modules as $id => $data ) {
285
- // If a file is not specified we assume it is our own and load from the default locaiton
286
- if ( !isset( $data['file'] ) )
287
- require_once( myCRED_MODULES_DIR . 'mycred-module-' . $id . '.php' );
288
- // Load the custom file
289
- else
290
- require_once( $data['file'] );
291
-
292
- // Load class
293
- if ( isset( $data['class'] ) ) {
294
- $class = $data['class'];
295
- if ( !class_exists( $class ) ) continue;
296
- $module = new $class();
297
- $module->load();
298
- }
299
- // Load function
300
- elseif ( isset( $data['function'] ) ) {
301
- $function = $data['function'];
302
- if ( !function_exists( $function ) ) continue;
303
- $function( 'load' );
304
- }
305
- }
306
- // Clean up
307
- unset( $modules );
308
- }
309
-
310
- // First Custom Hook
311
- do_action( 'mycred_pre_init' );
312
- }
313
 
314
- /**
315
- * Initialize
316
- * @since 0.1
317
- * @version 2.0
318
- */
319
- function init_mycred() {
320
- // Enqueue scripts & styles
321
- add_action( 'wp_enqueue_scripts', array( $this, 'front_enqueue' ) );
322
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue' ) );
323
-
324
- // Admin Menu
325
- add_action( 'admin_menu', array( $this, 'add_menu' ), 9 );
326
-
327
- // Admin Bar / Tool Bar
328
- add_action( 'admin_bar_menu', array( $this, 'tool_bar' ) );
329
-
330
- // Shortcodes
331
- add_shortcode( 'mycred_leaderboard', 'mycred_render_leaderboard' );
332
- add_shortcode( 'mycred_my_ranking', 'mycred_render_my_ranking' );
333
- add_shortcode( 'mycred_my_balance', 'mycred_render_shortcode_my_balance' );
334
- add_shortcode( 'mycred_give', 'mycred_render_shortcode_give' );
335
- add_shortcode( 'mycred_send', 'mycred_render_shortcode_send' );
336
-
337
- add_action( 'wp_footer', array( $this, 'footer' ) );
338
- add_action( 'wp_ajax_mycred-send-points', array( $this, 'send_points' ) );
339
- // Let others play
340
- do_action( 'mycred_init' );
341
- }
342
 
343
- /**
344
- * Init Admin
345
- * @since 0.1
346
- * @version 2.0
347
- */
348
- function admin_init_mycred() {
349
- // Load admin
350
- require_once( myCRED_INCLUDES_DIR . 'mycred-admin.php' );
351
- $admin = new myCRED_Admin();
352
- $admin->load();
353
-
354
- // Let others play
355
- do_action( 'mycred_admin_init' );
356
- }
357
 
358
- /**
359
- * Runs when widgets initialize
360
- * Grabs the plugin widgets and registers them.
361
- *
362
- * @uses register_widget()
363
- * @since 0.1
364
- * @version 1.0
365
- */
366
- function widgets_init_mycred() {
367
- // Load widgets
368
- require_once( myCRED_INCLUDES_DIR . 'mycred-widgets.php' );
369
 
370
- // Register Widgets
371
- register_widget( 'myCRED_Widget_Balance' );
372
- register_widget( 'myCRED_Widget_List' );
373
 
374
- do_action( 'mycred_widgets_init' );
375
- }
376
 
377
- /**
378
- * Adjust the Tool Bar
379
- * @since 0.1
380
- * @version 1.0
381
- */
382
- function tool_bar( $wp_admin_bar ) {
383
- global $bp;
384
 
385
- if ( isset( $bp ) ) return;
 
386
 
387
- $mycred = mycred_get_settings();
388
- $user_id = get_current_user_id();
389
- if ( $mycred->exclude_user( $user_id ) ) return;
 
390
 
391
- $cred = $mycred->get_users_cred( $user_id );
392
- $creds_formated = $mycred->format_creds( $cred );
 
 
393
 
394
- $wp_admin_bar->add_group( array(
395
- 'parent' => 'my-account',
396
- 'id' => 'mycred-actions',
397
- ) );
 
 
 
398
 
399
- if ( $mycred->can_edit_plugin() )
400
- $url = 'users.php?page=mycred_my_history';
401
- else
402
- $url = 'profile.php?page=mycred_my_history';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403
 
404
- $wp_admin_bar->add_menu( array(
405
- 'parent' => 'mycred-actions',
406
- 'id' => 'user-creds',
407
- 'title' => __( 'My Balance: ', 'mycred' ) . $creds_formated,
408
- 'href' => admin_url( $url )
409
- ) );
410
 
411
- // Let others play
412
- do_action( 'mycred_tool_bar', $mycred );
413
- }
 
 
 
 
 
 
 
 
 
 
 
414
 
415
- /**
416
- * Add myCRED Admin Menu
417
- * @uses add_menu_page()
418
- * @since 0.1
419
- * @version 1.0
420
- */
421
- function add_menu() {
422
- $mycred = mycred_get_settings();
423
- $name = apply_filters( 'mycred_label', myCRED_NAME );
424
- $page = add_menu_page(
425
- $name,
426
- $name,
427
- $mycred->edit_creds_cap(),
428
- 'myCRED',
429
- '',
430
- ''
431
- );
432
- add_action( 'admin_print_styles-' . $page, array( $this, 'admin_print_styles' ) );
433
-
434
- // Let others play
435
- do_action( 'mycred_add_menu', $mycred );
436
- }
437
 
438
- /**
439
- * Enqueue Front
440
- * @filter 'mycred_remove_widget_css'
441
- * @since 0.1
442
- * @version 1.0
443
- */
444
- function front_enqueue() {
445
- global $mycred_sending_points;
446
-
447
- // Widget Scripts
448
- wp_register_script(
449
- 'mycred-widget',
450
- plugins_url( 'assets/js/widget.js', myCRED_THIS ),
451
- array( 'jquery' ),
452
- myCRED_VERSION . '.1'
453
- );
454
-
455
- // Send Points Shortcode
456
- wp_register_script(
457
- 'mycred-send-points',
458
- plugins_url( 'assets/js/send.js', myCRED_THIS ),
459
- array( 'jquery' ),
460
- myCRED_VERSION . '.1',
461
- true
462
- );
463
-
464
- // Enqueue
465
- wp_enqueue_script( 'mycred-widget' );
466
-
467
- // Widget Style (can be disabled)
468
- if ( apply_filters( 'mycred_remove_widget_css', false ) === false ) {
469
- wp_register_style(
470
- 'mycred-widget',
471
- plugins_url( 'assets/css/widget.css', myCRED_THIS ),
472
- false,
473
- myCRED_VERSION . '.1',
474
- 'all'
475
- );
476
- wp_enqueue_style( 'mycred-widget' );
477
- }
478
-
479
- // Let others play
480
- do_action( 'mycred_front_enqueue' );
481
- }
482
 
483
- /**
484
- * Enqueue Admin
485
- * @since 0.1
486
- * @version 1.1
487
- */
488
- function admin_enqueue() {
489
- $mycred = mycred_get_settings();
490
- // General Admin Script
491
- wp_register_script(
492
- 'mycred-admin',
493
- plugins_url( 'assets/js/accordion.js', myCRED_THIS ),
494
- array( 'jquery', 'jquery-ui-core', 'jquery-ui-accordion' ),
495
- myCRED_VERSION . '.1'
496
- );
497
- wp_localize_script( 'mycred-admin', 'myCRED', apply_filters( 'mycred_localize_admin', array( 'active' => '-1' ) ) );
498
-
499
- // Inline Editing Script
500
- wp_register_script(
501
- 'mycred-inline-edit',
502
- plugins_url( 'assets/js/inline-edit.js', myCRED_THIS ),
503
- array( 'jquery', 'jquery-ui-core', 'jquery-ui-dialog', 'jquery-effects-core', 'jquery-effects-slide' ),
504
- myCRED_VERSION . '.1'
505
- );
506
- wp_localize_script(
507
- 'mycred-inline-edit',
508
- 'myCREDedit',
509
- array(
510
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
511
- 'title' => sprintf( __( 'Edit Users %s balance', 'mycred' ),$mycred->plural() ),
512
- 'close' => __( 'Close', 'mycred' ),
513
- 'working' => __( 'Processing...', 'mycred' )
514
- )
515
- );
516
-
517
- // Admin Style
518
- wp_register_style(
519
- 'mycred-admin',
520
- plugins_url( 'assets/css/admin.css', myCRED_THIS ),
521
- false,
522
- myCRED_VERSION . '.1',
523
- 'all'
524
- );
525
- wp_register_style(
526
- 'mycred-inline-edit',
527
- plugins_url( 'assets/css/inline-edit.css', myCRED_THIS ),
528
- false,
529
- myCRED_VERSION . '.1',
530
- 'all'
531
- );
532
-
533
- // Let others play
534
- do_action( 'mycred_admin_enqueue' );
535
- }
536
-
537
- /**
538
- * Enqueue Admin Styling
539
- * @since 0.1
540
- * @version 1.0
541
- */
542
- function admin_print_styles() {
543
- wp_enqueue_style( 'mycred-admin' );
544
- }
545
-
546
- /**
547
- * WP Footer
548
- * @since 1.1
549
- * @version 1.0
550
- */
551
- public function footer() {
552
- global $mycred_sending_points;
553
- if ( $mycred_sending_points === true ) {
554
- $mycred = mycred_get_settings();
555
- $base = array(
556
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
557
- 'token' => wp_create_nonce( 'mycred-send-points' )
558
- );
559
-
560
- $language = apply_filters( 'mycred_send_language', array(
561
- 'working' => __( 'Processing...', 'mycred' ),
562
- 'done' => __( 'Sent', 'mycred' ),
563
- 'error' => __( 'Error - Try Again', 'mycred' )
564
- ) );
565
- wp_localize_script(
566
- 'mycred-send-points',
567
- 'myCREDsend',
568
- array_merge_recursive( $base, $language )
569
- );
570
- wp_enqueue_script( 'mycred-send-points' );
571
- }
572
- }
573
 
574
- /**
575
- * Clear up
576
- * @since 0.1
577
- * @version 1.0
578
- */
579
- private function clean_up() {
580
- unset( $this );
581
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
 
583
- /**
584
- * Enabled
585
- * Check if plugin is enabled.
586
- * Requires Multisite
587
- * @since 0.1
588
- * @version 1.0
589
- */
590
- private function enabled() {
591
- // Not a multisite = enabled
592
- if ( !is_multisite() ) return true;
593
 
594
- $prefs = mycred_get_settings_network();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
595
 
596
- // Disable list is empty = enabled
597
- if ( empty( $prefs['block'] ) ) return true;
 
 
 
 
 
 
 
598
 
599
- // Not in disable list = enabled
600
- $blog_ids = explode( ',', $prefs['block'] );
601
- if ( !in_array( $GLOBALS['blog_id'], $blog_ids ) ) return true;
 
 
 
 
 
 
 
 
 
602
 
603
- // All else = disabled
604
- return false;
605
- }
 
 
 
 
 
 
 
 
 
606
 
607
- /**
608
- * Install Log
609
- * Installs the log for a site.
610
- * Requires Multisite
611
- * @since 0.1
612
- * @version 1.0
613
- */
614
- private function install_log() {
615
- if ( get_blog_option( $GLOBALS['blog_id'], 'mycred_version_db', false ) !== false ) return true;
616
-
617
- global $wpdb;
618
-
619
- $mycred = mycred_get_settings();
620
- $decimals = (int) $mycred->format['decimals'];
621
- if ( $decimals > 0 ) {
622
- if ( $decimals > 4 )
623
- $cred_format = "decimal(32,$decimals)";
624
- else
625
- $cred_format = "decimal(22,$decimals)";
626
- }
627
- else {
628
- $cred_format = 'bigint(22)';
629
- }
630
-
631
- $table_name = $wpdb->prefix . 'myCRED_log';
632
- // Log structure
633
- $sql = "id int(11) NOT NULL AUTO_INCREMENT,
634
- ref VARCHAR(256) NOT NULL,
635
- ref_id int(11) DEFAULT NULL,
636
- user_id int(11) DEFAULT NULL,
637
- creds $cred_format DEFAULT NULL,
638
- ctype VARCHAR(64) DEFAULT 'mycred_default',
639
- time bigint(20) DEFAULT NULL,
640
- entry LONGTEXT DEFAULT NULL,
641
- data LONGTEXT DEFAULT NULL,
642
- PRIMARY KEY (id),
643
- UNIQUE KEY id (id)";
644
-
645
- // Insert table
646
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
647
- dbDelta( "CREATE TABLE IF NOT EXISTS " . $table_name . " ( " . $sql . " ) DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci;" );
648
- add_blog_option( 'mycred_version_db', '1.0', '', 'no' );
649
- return true;
650
- }
651
-
652
- /**
653
- * Send Points Ajax Call Handler
654
- *
655
- * @since 1.1
656
- * @version 1.1
657
- */
658
- public function send_points() {
659
- // We must be logged in
660
- if ( !is_user_logged_in() ) die();
661
 
662
- // Security
663
- check_ajax_referer( 'mycred-send-points', 'token' );
664
-
665
- $mycred = mycred_get_settings();
666
- $user_id = get_current_user_id();
667
-
668
- $account_limit = (int) apply_filters( 'mycred_transfer_acc_limit', 0 );
669
- $balance = $mycred->get_users_cred( $user_id );
670
- $amount = $mycred->number( $_POST['amount'] );
671
- $new_balance = $balance-$amount;
672
-
673
- // Insufficient Funds
674
- if ( $new_balance < $account_limit )
675
- die();
676
- // After this transfer our account will reach zero
677
- elseif ( $new_balance == $account_limit )
678
- $reply = 'zero';
679
- // Check if this is the last time we can do these kinds of amounts
680
- elseif ( $new_balance-$amount < $account_limit )
681
- $reply = 'minus';
682
- // Else everything is fine
683
- else
684
- $reply = 'done';
685
-
686
- // First deduct points
687
- $mycred->add_creds(
688
- trim( $_POST['reference'] ),
689
- $user_id,
690
- 0-$amount,
691
- trim( $_POST['log'] ),
692
- $_POST['recipient'],
693
- array( 'ref_type' => 'user' )
694
- );
695
-
696
- // Then add to recipient
697
- $mycred->add_creds(
698
- trim( $_POST['reference'] ),
699
- $_POST['recipient'],
700
- $amount,
701
- trim( $_POST['log'] ),
702
- $user_id,
703
- array( 'ref_type' => 'user' )
704
- );
705
-
706
- // Share the good news
707
- die( json_encode( $reply ) );
708
- }
709
- }
710
- new myCRED_Core();
711
  }
712
  ?>
1
  <?php
2
+ /**
3
+ * Plugin Name: myCRED
4
+ * Plugin URI: http://mycred.me
5
+ * Description: <strong>my</strong>CRED is an adaptive points management system for WordPress powered websites, giving you full control on how points are gained, used, traded, managed, logged or presented.
6
+ * Version: 1.3
7
+ * Tags: points, tokens, credit, management, reward, charge
8
+ * Author: Gabriel S Merovingi
9
+ * Author URI: http://www.merovingi.com
10
+ * Author Email: info@merovingi.com
11
+ * Requires at least: WP 3.1
12
+ * Tested up to: WP 3.6
13
+ * Text Domain: mycred
14
+ * Domain Path: /lang
15
+ * License: GPLv2 or later
16
+ * License URI: http://www.gnu.org/licenses/gpl-2.0.html
17
+ */
18
+ define( 'myCRED_VERSION', '1.3' );
19
  define( 'myCRED_SLUG', 'mycred' );
20
  define( 'myCRED_NAME', '<strong>my</strong>CRED' );
21
 
27
  define( 'myCRED_INCLUDES_DIR', myCRED_ROOT_DIR . 'includes/' );
28
  define( 'myCRED_LANG_DIR', myCRED_ROOT_DIR . 'lang/' );
29
  define( 'myCRED_MODULES_DIR', myCRED_ROOT_DIR . 'modules/' );
30
+ define( 'myCRED_PLUGINS_DIR', myCRED_ROOT_DIR . 'plugins/' );
31
+
32
+ require_once( myCRED_INCLUDES_DIR . 'mycred-functions.php' );
33
+
34
+ require_once( myCRED_ABSTRACTS_DIR . 'mycred-abstract-hook.php' );
35
+ require_once( myCRED_ABSTRACTS_DIR . 'mycred-abstract-module.php' );
36
 
37
  /**
38
+ * myCRED_Core Class
39
+ * Removed in 1.3 but defined since some customizations
40
+ * use this to check that myCRED exists or is installed.
41
+ * @since 1.3
42
  * @version 1.0
43
  */
44
  if ( !class_exists( 'myCRED_Core' ) ) {
50
  * Construct
51
  */
52
  function __construct() {
 
 
 
 
 
53
  $this->plug = plugin_basename( myCRED_THIS );
54
+ // no longer used
55
+ }
56
+ }
57
+ }
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
+ /**
60
+ * Required
61
+ * @since 1.3
62
+ * @version 1.0
63
+ */
64
+ function mycred_load() {
65
+ require_once( myCRED_INCLUDES_DIR . 'mycred-remote.php' );
66
+ require_once( myCRED_INCLUDES_DIR . 'mycred-log.php' );
67
+ require_once( myCRED_INCLUDES_DIR . 'mycred-network.php' );
68
+
69
+ // Bail now if the setup needs to run
70
+ if ( is_mycred_ready() === false ) return;
71
+
72
+ require_once( myCRED_INCLUDES_DIR . 'mycred-rankings.php' );
73
+ require_once( myCRED_INCLUDES_DIR . 'mycred-shortcodes.php' );
74
+ require_once( myCRED_INCLUDES_DIR . 'mycred-widgets.php' );
75
+
76
+ // Add-ons
77
+ require_once( myCRED_MODULES_DIR . 'mycred-module-addons.php' );
78
+ $addons = new myCRED_Addons();
79
+ $addons->load();
80
+
81
+ do_action( 'mycred_ready' );
82
+
83
+ add_action( 'init', 'mycred_init' );
84
+ add_action( 'widgets_init', 'mycred_widgets_init' );
85
+ add_action( 'admin_init', 'mycred_admin_init' );
86
+ }
87
+ mycred_load();
88
 
 
 
89
 
90
+ /*
91
+ if ( !class_exists( 'myCRED_Core' ) ) {
92
+ final class myCRED_Core {
93
 
94
+ public $plug;
95
+ function __construct() {
96
+ $this->plug = plugin_basename( myCRED_THIS );
97
+
98
+ require_once( myCRED_INCLUDES_DIR . 'mycred-functions.php' );
99
 
100
+ require_once( myCRED_INCLUDES_DIR . 'mycred-remote.php' );
101
+ require_once( myCRED_INCLUDES_DIR . 'mycred-log.php' );
102
+ require_once( myCRED_INCLUDES_DIR . 'mycred-network.php' );
103
+
104
+ // Bail now if the setup needs to run
105
+ if ( is_mycred_ready() === false ) return;
106
 
107
+ require_once( myCRED_ABSTRACTS_DIR . 'mycred-abstract-hook.php' );
108
+ require_once( myCRED_ABSTRACTS_DIR . 'mycred-abstract-module.php' );
109
+
110
+ require_once( myCRED_INCLUDES_DIR . 'mycred-rankings.php' );
111
+ require_once( myCRED_INCLUDES_DIR . 'mycred-shortcodes.php' );
112
+ require_once( myCRED_INCLUDES_DIR . 'mycred-widgets.php' );
113
+
114
+ // Add-ons
115
+ require_once( myCRED_MODULES_DIR . 'mycred-module-addons.php' );
116
+ $addons = new myCRED_Addons();
117
+ $addons->load();
118
+
119
  do_action( 'mycred_ready' );
120
+
121
+ add_action( 'init', 'mycred_init' );
122
+ add_action( 'widgets_init', 'mycred_widgets_init' );
123
+ add_action( 'admin_init', 'mycred_admin_init' );
124
  }
125
+ }
126
+ new myCRED_Core();
127
+ }
128
+ */
 
 
 
 
 
 
 
 
 
 
129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
 
131
+ /**
132
+ * Plugin Activation
133
+ * @since 1.3
134
+ * @version 1.0
135
+ */
136
+ register_activation_hook( myCRED_THIS, 'mycred_plugin_activation' );
137
+ function mycred_plugin_activation()
138
+ {
139
+ // Load Installer
140
+ require_once( myCRED_INCLUDES_DIR . 'mycred-install.php' );
141
+ $install = new myCRED_Install();
142
+
143
+ // Compatibility check
144
+ $install->compat();
145
+
146
+ // First time activation
147
+ if ( $install->ver === false )
148
+ $install->activate();
149
+ // Re-activation
150
+ else
151
+ $install->reactivate();
152
+
153
+ // Add Cron Schedule
154
+ if ( !wp_next_scheduled( 'mycred_reset_key' ) ) {
155
+ $frequency = apply_filters( 'mycred_cron_reset_key', 'daily' );
156
+ wp_schedule_event( date_i18n( 'U' ), $frequency, 'mycred_reset_key' );
157
+ }
 
 
 
 
 
 
158
 
159
+ // Delete stray debug options
160
+ delete_option( 'mycred_catch_fires' );
161
+ }
 
 
 
 
 
 
 
 
 
 
 
162
 
163
+ /**
164
+ * Runs when the plugin is deactivated
165
+ * @since 1.3
166
+ * @version 1.0
167
+ */
168
+ register_deactivation_hook( myCRED_THIS, 'mycred_plugin_deactivation' );
169
+ function mycred_plugin_deactivation() {
170
+ // Clear Cron
171
+ wp_clear_scheduled_hook( 'mycred_reset_key' );
172
+ wp_clear_scheduled_hook( 'mycred_banking_recurring_payout' );
173
+ wp_clear_scheduled_hook( 'mycred_banking_interest_compound' );
174
+ wp_clear_scheduled_hook( 'mycred_banking_interest_payout' );
175
+
176
+ do_action( 'mycred_deactivation' );
177
+ }
178
 
179
+ /**
180
+ * Runs when the plugin is deleted
181
+ * @since 1.3
182
+ * @version 1.0
183
+ */
184
+ register_uninstall_hook( myCRED_THIS, 'mycred_plugin_uninstall' );
185
+ function mycred_plugin_uninstall()
186
+ {
187
+ // Load Installer
188
+ require_once( myCRED_INCLUDES_DIR . 'mycred-install.php' );
189
+ $install = new myCRED_Install();
190
 
191
+ do_action( 'mycred_before_deletion', $install );
192
 
193
+ // Run uninstaller
194
+ $install->uninstall();
195
 
196
+ do_action( 'mycred_after_deletion', $install );
197
+ unset( $install );
198
+ }
199
 
200
+ /**
201
+ * myCRED Plugin Startup
202
+ * @since 1.3
203
+ * @version 1.0
204
+ */
205
+ add_action( 'plugins_loaded', 'mycred_plugin_start_up', 999 );
206
+ function mycred_plugin_start_up()
207
+ {
208
+ global $mycred;
209
+ $mycred = new myCRED_Settings();
210
+
211
+ // Load Translation
212
+ load_plugin_textdomain( 'mycred', false, dirname( plugin_basename( __FILE__ ) ) . '/lang/' );
213
+
214
+ // Adjust the plugin links
215
+ add_filter( 'plugin_action_links_mycred/mycred.php', 'mycred_plugin_links', 10, 4 );
216
+
217
+ // Lets start with Multisite
218
+ if ( is_multisite() ) {
219
+ if ( ! function_exists( 'is_plugin_active_for_network' ) )
220
+ require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
221
+
222
+ if ( is_plugin_active_for_network( 'mycred/mycred.php' ) ) {
223
+ $network = new myCRED_Network();
224
+ $network->load();
 
 
 
 
 
 
 
 
 
 
 
 
225
  }
226
+ }
227
 
228
+ // Load only hooks that we have use of
229
+ if ( defined( 'JETPACK__PLUGIN_DIR' ) )
230
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-jetpack.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
 
232
+ if ( class_exists( 'bbPress' ) )
233
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-bbPress.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
234
 
235
+ if ( function_exists( 'invite_anyone_init' ) )
236
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-invite-anyone.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
 
238
+ if ( function_exists( 'wpcf7' ) )
239
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-contact-form7.php' );
 
 
 
 
 
 
 
 
 
 
 
 
240
 
241
+ if ( class_exists( 'BadgeOS' ) )
242
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-badgeOS.php' );
 
 
 
 
 
 
 
 
 
243
 
244
+ if ( function_exists( 'vote_poll' ) )
245
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-wp-polls.php' );
 
246
 
247
+ if ( function_exists( 'wp_favorite_posts' ) )
248
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-wp-favorite-posts.php' );
249
 
250
+ if ( function_exists( 'bp_em_init' ) )
251
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-events-manager-light.php' );
 
 
 
 
 
252
 
253
+ if ( defined( 'STARRATING_DEBUG' ) )
254
+ require_once( myCRED_PLUGINS_DIR . 'mycred-hook-gd-star-rating.php' );
255
 
256
+ // Load Settings
257
+ require_once( myCRED_MODULES_DIR . 'mycred-module-general.php' );
258
+ $settings = new myCRED_General();
259
+ $settings->load();
260
 
261
+ // Load hooks
262
+ require_once( myCRED_MODULES_DIR . 'mycred-module-hooks.php' );
263
+ $hooks = new myCRED_Hooks();
264
+ $hooks->load();
265
 
266
+ // Load log
267
+ require_once( myCRED_MODULES_DIR . 'mycred-module-log.php' );
268
+ $log = new myCRED_Log();
269
+ $log->load();
270
+
271
+ do_action( 'mycred_pre_init' );
272
+ }
273
 
274
+ /**
275
+ * Init
276
+ * @since 1.3
277
+ * @version 1.0
278
+ */
279
+ function mycred_init()
280
+ {
281
+ // Enqueue scripts & styles
282
+ add_action( 'wp_enqueue_scripts', 'mycred_enqueue_front' );
283
+ add_action( 'admin_enqueue_scripts', 'mycred_enqueue_admin' );
284
+
285
+ // Admin Menu
286
+ add_action( 'admin_menu', 'mycred_admin_menu', 9 );
287
+
288
+ // Admin Bar / Tool Bar
289
+ add_action( 'admin_bar_menu', 'mycred_hook_into_toolbar' );
290
+
291
+ // Shortcodes
292
+ if ( !is_admin() ) {
293
+ add_shortcode( 'mycred_history', 'mycred_render_shortcode_history' );
294
+ add_shortcode( 'mycred_leaderboard', 'mycred_render_leaderboard' );
295
+ add_shortcode( 'mycred_my_ranking', 'mycred_render_my_ranking' );
296
+ add_shortcode( 'mycred_my_balance', 'mycred_render_shortcode_my_balance' );
297
+ add_shortcode( 'mycred_give', 'mycred_render_shortcode_give' );
298
+ add_shortcode( 'mycred_send', 'mycred_render_shortcode_send' );
299
+ }
300
 
301
+ // Let others play
302
+ do_action( 'mycred_init' );
303
+ }
 
 
 
304
 
305
+ /**
306
+ * Widgets Init
307
+ * @since 1.3
308
+ * @version 1.0
309
+ */
310
+ function mycred_widgets_init()
311
+ {
312
+ // Register Widgets
313
+ register_widget( 'myCRED_Widget_Balance' );
314
+ register_widget( 'myCRED_Widget_List' );
315
+
316
+ // Let others play
317
+ do_action( 'mycred_widgets_init' );
318
+ }
319
 
320
+ /**
321
+ * Admin Init
322
+ * @since 1.3
323
+ * @version 1.0
324
+ */
325
+ function mycred_admin_init()
326
+ {
327
+ // Load admin
328
+ require_once( myCRED_INCLUDES_DIR . 'mycred-admin.php' );
329
+ $admin = new myCRED_Admin();
330
+ $admin->load();
331
+
332
+ // Let others play
333
+ do_action( 'mycred_admin_init' );
334
+ }
 
 
 
 
 
 
 
335
 
336
+ /**
337
+ * Adjust the Tool Bar
338
+ * @since 1.3
339
+ * @version 1.0
340
+ */
341
+ function mycred_hook_into_toolbar( $wp_admin_bar )
342
+ {
343
+ global $bp;
344
+ if ( isset( $bp ) ) return;
345
+
346
+ $mycred = mycred_get_settings();
347
+ $user_id = get_current_user_id();
348
+ if ( $mycred->exclude_user( $user_id ) ) return;
349
+
350
+ $cred = $mycred->get_users_cred( $user_id );
351
+ $creds_formated = $mycred->format_creds( $cred );
352
+
353
+ $wp_admin_bar->add_group( array(
354
+ 'parent' => 'my-account',
355
+ 'id' => 'mycred-actions',
356
+ ) );
357
+
358
+ if ( $mycred->can_edit_plugin() )
359
+ $url = 'users.php?page=mycred_my_history';
360
+ else
361
+ $url = 'profile.php?page=mycred_my_history';
362
+
363
+ $wp_admin_bar->add_menu( array(
364
+ 'parent' => 'mycred-actions',
365
+ 'id' => 'user-creds',
366
+ 'title' => __( 'My Balance: ', 'mycred' ) . $creds_formated,
367
+ 'href' => add_query_arg( array( 'page' => 'mycred_my_history' ), get_edit_profile_url( $user_id ) )
368
+ ) );
369
+
370
+ // Let others play
371
+ do_action( 'mycred_tool_bar', $mycred );
372
+ }
 
 
 
 
 
 
 
373
 
374
+ /**
375
+ * Add myCRED Admin Menu
376
+ * @uses add_menu_page()
377
+ * @since 1.3
378
+ * @version 1.0
379
+ */
380
+ function mycred_admin_menu()
381
+ {
382
+ $mycred = mycred_get_settings();
383
+ $name = apply_filters( 'mycred_label', myCRED_NAME );
384
+ $page = add_menu_page(
385
+ $name,
386
+ $name,
387
+ $mycred->edit_creds_cap(),
388
+ 'myCRED',
389
+ '',
390
+ ''
391
+ );
392
+ add_action( 'admin_print_styles-' . $page, 'mycred_admin_page_styles' );
393
+
394
+ // Let others play
395
+ do_action( 'mycred_add_menu', $mycred );
396
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
397
 
398
+ /**
399
+ * Enqueue Front
400
+ * @filter 'mycred_remove_widget_css'
401
+ * @since 1.3
402
+ * @version 1.0
403
+ */
404
+ function mycred_enqueue_front()
405
+ {
406
+ global $mycred_sending_points;
407
+
408
+ // Send Points Shortcode
409
+ wp_register_script(
410
+ 'mycred-send-points',
411
+ plugins_url( 'assets/js/send.js', myCRED_THIS ),
412
+ array( 'jquery' ),
413
+ myCRED_VERSION . '.1',
414
+ true
415
+ );
416
+
417
+ // Widget Style (can be disabled)
418
+ if ( apply_filters( 'mycred_remove_widget_css', false ) === false ) {
419
+ wp_register_style(
420
+ 'mycred-widget',
421
+ plugins_url( 'assets/css/widget.css', myCRED_THIS ),
422
+ false,
423
+ myCRED_VERSION . '.1',
424
+ 'all'
425
+ );
426
+ wp_enqueue_style( 'mycred-widget' );
427
+ }
428
 
429
+ // Let others play
430
+ do_action( 'mycred_front_enqueue' );
431
+ }
 
 
 
 
 
 
 
432
 
433
+ /**
434
+ * Enqueue Admin
435
+ * @since 1.3
436
+ * @version 1.2
437
+ */
438
+ function mycred_enqueue_admin()
439
+ {
440
+ $mycred = mycred_get_settings();
441
+ // General Admin Script
442
+ wp_register_script(
443
+ 'mycred-admin',
444
+ plugins_url( 'assets/js/accordion.js', myCRED_THIS ),
445
+ array( 'jquery', 'jquery-ui-core', 'jquery-ui-accordion' ),
446
+ myCRED_VERSION . '.1'
447
+ );
448
+ wp_localize_script( 'mycred-admin', 'myCRED', apply_filters( 'mycred_localize_admin', array( 'active' => '-1' ) ) );
449
+
450
+ // Management Admin Script
451
+ wp_register_script(
452
+ 'mycred-manage',
453
+ plugins_url( 'assets/js/management.js', myCRED_THIS ),
454
+ array( 'jquery', 'mycred-admin', 'jquery-ui-core', 'jquery-ui-dialog', 'jquery-effects-core', 'jquery-effects-slide' ),
455
+ myCRED_VERSION . '.1'
456
+ );
457
+ wp_localize_script(
458
+ 'mycred-manage',
459
+ 'myCREDmanage',
460
+ array(
461
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
462
+ 'token' => wp_create_nonce( 'mycred-management-actions' ),
463
+ 'working' => __( 'Processing...', 'mycred' ),
464
+ 'confirm_log' => __( 'Warning! All entries in your log will be permamenly removed! This can not be undone!', 'mycred' ),
465
+ 'confirm_reset' => __( 'Warning! All user balances will be set to zero! This can not be undone!', 'mycred' ),
466
+ 'done' => __( 'Done!', 'mycred' ),
467
+ 'export_close' => __( 'Close', 'mycred' ),
468
+ 'export_title' => $mycred->template_tags_general( __( 'Export users %plural%', 'mycred' ) )
469
+ )
470
+ );
471
+
472
+ // Inline Editing Script
473
+ wp_register_script(
474
+ 'mycred-inline-edit',
475
+ plugins_url( 'assets/js/inline-edit.js', myCRED_THIS ),
476
+ array( 'jquery', 'jquery-ui-core', 'jquery-ui-dialog', 'jquery-effects-core', 'jquery-effects-slide' ),
477
+ myCRED_VERSION . '.1'
478
+ );
479
+ wp_localize_script(
480
+ 'mycred-inline-edit',
481
+ 'myCREDedit',
482
+ array(
483
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
484
+ 'title' => sprintf( __( 'Edit Users %s balance', 'mycred' ),$mycred->plural() ),
485
+ 'close' => __( 'Close', 'mycred' ),
486
+ 'working' => __( 'Processing...', 'mycred' )
487
+ )
488
+ );
489
+
490
+ // Admin Style
491
+ wp_register_style(
492
+ 'mycred-admin',
493
+ plugins_url( 'assets/css/admin.css', myCRED_THIS ),
494
+ false,
495
+ myCRED_VERSION . '.1',
496
+ 'all'
497
+ );
498
+ wp_register_style(
499
+ 'mycred-inline-edit',
500
+ plugins_url( 'assets/css/inline-edit.css', myCRED_THIS ),
501
+ false,
502
+ myCRED_VERSION . '.1',
503
+ 'all'
504
+ );
505
+
506
+ // Let others play
507
+ do_action( 'mycred_admin_enqueue' );
508
+ }
509
 
510
+ /**
511
+ * Enqueue Admin Styling
512
+ * @since 1.3
513
+ * @version 1.0
514
+ */
515
+ function mycred_admin_page_styles()
516
+ {
517
+ wp_enqueue_style( 'mycred-admin' );
518
+ }
519
 
520
+ /**
521
+ * Reset Key
522
+ * @since 1.3
523
+ * @version 1.0
524
+ */
525
+ add_action( 'mycred_reset_key', 'mycred_reset_key' );
526
+ function mycred_reset_key()
527
+ {
528
+ require_once( myCRED_INCLUDES_DIR . 'mycred-protect.php' );
529
+ $protect = new myCRED_Protect();
530
+ $protect->reset_key();
531
+ }
532
 
533
+ /**
534
+ * myCRED Plugin Links
535
+ * @since 1.3
536
+ * @version 1.0
537
+ */
538
+ function mycred_plugin_links( $actions, $plugin_file, $plugin_data, $context )
539
+ {
540
+ // Link to Setup
541
+ if ( !is_mycred_ready() ) {
542
+ $actions['setup'] = '<a href="' . admin_url( 'plugins.php?page=myCRED-setup' ) . '">' . __( 'Setup', 'mycred' ) . '</a>';
543
+ return $actions;
544
+ }
545
 
546
+ $actions['tutorials'] = '<a href="http://mycred.me/support/tutorials/" target="_blank">' . __( 'Tutorials', 'mycred' ) . '</a>';
547
+ $actions['docs'] = '<a href="http://mycred.me/support/codex/" target="_blank">' . __( 'Codex', 'mycred' ) . '</a>';
548
+ $actions['store'] = '<a href="http://mycred.me/store/" target="_blank">' . __( 'Store', 'mycred' ) . '</a>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
549
 
550
+ return $actions;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
551
  }
552
  ?>
plugins/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
plugins/mycred-hook-badgeOS.php ADDED
@@ -0,0 +1,287 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * BadgeOS
4
+ * @since 1.0.8
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 1.0.8
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'badgeOS_myCRED_Hook' );
14
+ function badgeOS_myCRED_Hook( $installed ) {
15
+ $installed['badgeos'] = array(
16
+ 'title' => __( 'BadgeOS', 'mycred' ),
17
+ 'description' => __( 'Default settings for each BadgeOS Achievement type. These settings may be overridden for individual achievement type.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Hook_BadgeOS' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * Exclude BadgeOS Post Types
25
+ * @since 1.0.8
26
+ * @version 1.0
27
+ */
28
+ add_filter( 'mycred_post_type_excludes', 'mycred_exclude_post_type_badgeOS' );
29
+ function mycred_exclude_post_type_badgeOS( $excludes ) {
30
+ $excludes = array_merge( $excludes, badgeos_get_achievement_types_slugs() );
31
+ return $excludes;
32
+ }
33
+
34
+ /**
35
+ * BadgeOS Hook
36
+ * @since 1.0.8
37
+ * @version 1.0
38
+ */
39
+ if ( !class_exists( 'myCRED_Hook_BadgeOS' ) ) {
40
+ class myCRED_Hook_BadgeOS extends myCRED_Hook {
41
+ /**
42
+ * Construct
43
+ */
44
+ function __construct( $hook_prefs ) {
45
+ parent::__construct( array(
46
+ 'id' => 'badgeos',
47
+ 'defaults' => ''
48
+ ), $hook_prefs );
49
+ }
50
+
51
+ /**
52
+ * Run
53
+ * @since 1.0.8
54
+ * @version 1.0
55
+ */
56
+ public function run() {
57
+ add_action( 'add_meta_boxes', array( $this, 'add_metaboxes' ) );
58
+ add_action( 'save_post', array( $this, 'save_achivement_data' ) );
59
+
60
+ add_action( 'badgeos_award_achievement', array( $this, 'award_achievent' ), 10, 2 );
61
+ add_action( 'badgeos_revoke_achievement', array( $this, 'revoke_achievement' ), 10, 2 );
62
+ }
63
+
64
+ /**
65
+ * Add Metaboxes
66
+ * @since 1.0.8
67
+ * @version 1.0
68
+ */
69
+ public function add_metaboxes() {
70
+ // Get all Achievement Types
71
+ $badge_post_types = badgeos_get_achievement_types_slugs();
72
+ foreach ( $badge_post_types as $post_type ) {
73
+ // Add Meta Box
74
+ add_meta_box(
75
+ 'mycred_badgeos_' . $post_type,
76
+ __( 'myCRED', 'mycred' ),
77
+ array( $this, 'render_meta_box' ),
78
+ $post_type,
79
+ 'side',
80
+ 'core'
81
+ );
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Render Meta Box
87
+ * @since 1.0.8
88
+ * @version 1.0
89
+ */
90
+ public function render_meta_box( $post ) {
91
+ // Setup is needed
92
+ if ( !isset( $this->prefs[$post->post_type] ) ) {
93
+ $message = sprintf( __( 'Please setup your <a href="%s">default settings</a> before using this feature.', 'mycred' ), admin_url( 'admin.php?page=myCRED_page_hooks' ) );
94
+ echo '<p>' . $message . '</p>';
95
+ }
96
+
97
+ // Prep Achievement Data
98
+ $prefs = $this->prefs;
99
+ $mycred = mycred_get_settings();
100
+ $achievement_data = get_post_meta( $post->ID, '_mycred_values', true );
101
+ if ( empty( $achievement_data ) )
102
+ $achievement_data = $prefs[$post->post_type]; ?>
103
+
104
+ <p><strong><?php echo $mycred->template_tags_general( __( '%plural% to Award', 'mycred' ) ); ?></strong></p>
105
+ <p>
106
+ <label class="screen-reader-text" for="mycred-values-creds"><?php echo $mycred->template_tags_general( __( '%plural% to Award', 'mycred' ) ); ?></label>
107
+ <input type="text" name="mycred_values[creds]" id="mycred-values-creds" value="<?php echo $achievement_data['creds']; ?>" size="8" />
108
+ <span class="description"><?php _e( 'Use zero to disable', 'mycred' ); ?></span>
109
+ </p>
110
+ <p><strong><?php _e( 'Log Template', 'mycred' ); ?></strong></p>
111
+ <p>
112
+ <label class="screen-reader-text" for="mycred-values-log"><?php _e( 'Log Template', 'mycred' ); ?></label>
113
+ <input type="text" name="mycred_values[log]" id="mycred-values-log" value="<?php echo $achievement_data['log']; ?>" style="width:99%;" />
114
+ </p>
115
+ <?php
116
+ // If deduction is enabled
117
+ if ( $this->prefs[$post->post_type]['deduct'] == 1 ) { ?>
118
+
119
+ <p><strong><?php _e( 'Deduction Log Template', 'mycred' ); ?></strong></p>
120
+ <p>
121
+ <label class="screen-reader-text" for="mycred-values-log"><?php _e( 'Log Template', 'mycred' ); ?></label>
122
+ <input type="text" name="mycred_values[deduct_log]" id="mycred-values-deduct-log" value="<?php echo $achievement_data['deduct_log']; ?>" style="width:99%;" />
123
+ </p>
124
+ <?php
125
+ }
126
+ }
127
+
128
+ /**
129
+ * Save Achievement Data
130
+ * @since 1.0.8
131
+ * @version 1.1
132
+ */
133
+ public function save_achivement_data( $post_id ) {
134
+ // Post Type
135
+ $post_type = get_post_type( $post_id );
136
+
137
+ // Make sure this is a BadgeOS Object
138
+ if ( !in_array( $post_type, badgeos_get_achievement_types_slugs() ) ) return;
139
+
140
+ // Make sure preference is set
141
+ if ( !isset( $this->prefs[$post_type] ) || !isset( $_POST['mycred_values']['creds'] ) || !isset( $_POST['mycred_values']['log'] ) ) return;
142
+
143
+ // Only save if the settings differ, otherwise we default
144
+ if ( $_POST['mycred_values']['creds'] == $this->prefs[$post_type]['creds'] &&
145
+ $_POST['mycred_values']['log'] == $this->prefs[$post_type]['log'] ) return;
146
+
147
+ $data = array();
148
+
149
+ // Creds
150
+ if ( !empty( $_POST['mycred_values']['creds'] ) && $_POST['mycred_values']['creds'] != $this->prefs[$post_type]['creds'] )
151
+ $data['creds'] = $this->core->format_number( $_POST['mycred_values']['creds'] );
152
+ else
153
+ $data['creds'] = $this->core->format_number( $this->prefs[$post_type]['creds'] );
154
+
155
+ // Log template
156
+ if ( !empty( $_POST['mycred_values']['log'] ) && $_POST['mycred_values']['log'] != $this->prefs[$post_type]['log'] )
157
+ $data['log'] = strip_tags( $_POST['mycred_values']['log'] );
158
+ else
159
+ $data['log'] = strip_tags( $this->prefs[$post_type]['log'] );
160
+
161
+ // If deduction is enabled save log template
162
+ if ( $this->prefs[$post_type]['deduct'] == 1 ) {
163
+ if ( !empty( $_POST['mycred_values']['deduct_log'] ) && $_POST['mycred_values']['deduct_log'] != $this->prefs[$post_type]['deduct_log'] )
164
+ $data['deduct_log'] = strip_tags( $_POST['mycred_values']['deduct_log'] );
165
+ else
166
+ $data['deduct_log'] = strip_tags( $this->prefs[$post_type]['deduct_log'] );
167
+ }
168
+
169
+ // Update sales values
170
+ update_post_meta( $post_id, '_mycred_values', $data );
171
+ }
172
+
173
+ /**
174
+ * Award Achievement
175
+ * Run by BadgeOS when ever needed, we make sure settings are not zero otherwise
176
+ * award points whenever this hook fires.
177
+ * @since 1.0.8
178
+ * @version 1.0
179
+ */
180
+ public function award_achievent( $user_id, $achievement_id ) {
181
+ $post_type = get_post_type( $achievement_id );
182
+ // Settings are not set
183
+ if ( !isset( $this->prefs[$post_type]['creds'] ) ) return;
184
+
185
+ // Get achievemen data
186
+ $achievement_data = get_post_meta( $achievement_id, '_mycred_values', true );
187
+ if ( empty( $achievement_data ) )
188
+ $achievement_data = $this->prefs[$post_type];
189
+
190
+ // Make sure its not disabled
191
+ if ( $achievement_data['creds'] == 0 ) return;
192
+
193
+ // Execute
194
+ $post_type_object = get_post_type_object( $post_type );
195
+ $this->core->add_creds(
196
+ $post_type_object->labels->name,
197
+ $user_id,
198
+ $achievement_data['creds'],
199
+ $achievement_data['log'],
200
+ $achievement_id,
201
+ array( 'ref_type' => 'post' )
202
+ );
203
+ }
204
+
205
+ /**
206
+ * Revoke Achievement
207
+ * Run by BadgeOS when a users achievement is revoed.
208
+ * @since 1.0.8
209
+ * @version 1.1
210
+ */
211
+ public function revoke_achievement( $user_id, $achievement_id ) {
212
+ $post_type = get_post_type( $achievement_id );
213
+ // Settings are not set
214
+ if ( !isset( $this->prefs[$post_type]['creds'] ) ) return;
215
+
216
+ // Get achievemen data
217
+ $achievement_data = get_post_meta( $achievement_id, '_mycred_values', true );
218
+ if ( empty( $achievement_data ) )
219
+ $achievement_data = $this->prefs[$post_type];
220
+
221
+ // Make sure its not disabled
222
+ if ( $achievement_data['creds'] == 0 ) return;
223
+
224
+ // Execute
225
+ $post_type_object = get_post_type_object( $post_type );
226
+ $this->core->add_creds(
227
+ $post_type_object->labels->name,
228
+ $user_id,
229
+ 0-$achievement_data['creds'],
230
+ $achievement_data['deduct_log'],
231
+ $achievement_id,
232
+ array( 'ref_type' => 'post' )
233
+ );
234
+ }
235
+
236
+ /**
237
+ * Preferences for BadgeOS
238
+ * @since 1.0.8
239
+ * @version 1.0
240
+ */
241
+ public function preferences() {
242
+ $prefs = $this->prefs;
243
+ $badge_post_types = badgeos_get_achievement_types_slugs();
244
+ foreach ( $badge_post_types as $post_type ) {
245
+ if ( in_array( $post_type, apply_filters( 'mycred_badgeos_excludes', array( 'step' ) ) ) ) continue;
246
+ if ( !isset( $prefs[$post_type] ) )
247
+ $prefs[$post_type] = array(
248
+ 'creds' => 10,
249
+ 'log' => '',
250
+ 'deduct' => 1,
251
+ 'deduct_log' => '%plural% deduction'
252
+ );
253
+
254
+ $post_type_object = get_post_type_object( $post_type );
255
+ $title = sprintf( __( 'Default %s for %s', 'mycred' ), $this->core->plural(), $post_type_object->labels->singular_name ); ?>
256
+
257
+ <!-- Creds for -->
258
+ <label for="<?php echo $this->field_id( array( $post_type, 'creds' ) ); ?>" class="subheader"><?php echo $title; ?></label>
259
+ <ol>
260
+ <li>
261
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $post_type, 'creds' ) ); ?>" id="<?php echo $this->field_id( array( $post_type, 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs[$post_type]['creds'] ); ?>" size="8" /></div>
262
+ <span class="description"><?php echo $this->core->template_tags_general( __( 'Use zero to disable users gaining %_plural%', 'mycred' ) ); ?></span>
263
+ </li>
264
+ <li class="empty">&nbsp;</li>
265
+ <li>
266
+ <label for="<?php echo $this->field_id( array( $post_type, 'log' ) ); ?>"><?php _e( 'Default Log template', 'mycred' ); ?></label>
267
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $post_type, 'log' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'log' ) ); ?>" value="<?php echo $prefs[$post_type]['log']; ?>" class="long" /></div>
268
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
269
+ </li>
270
+ <li>
271
+ <input type="checkbox" name="<?php echo $this->field_name( array( $post_type, 'deduct' ) ); ?>" id="<?php echo $this->field_id( array( $post_type, 'deduct' ) ); ?>" <?php checked( $prefs[$post_type]['deduct'], 1 ); ?> value="1" />
272
+ <label for="<?php echo $this->field_id( array( $post_type, 'deduct' ) ); ?>"><?php echo $this->core->template_tags_general( __( 'Deduct %_plural% if user looses ' . $post_type_object->labels->singular_name, 'mycred' ) ); ?></label>
273
+ </li>
274
+ <li class="empty">&nbsp;</li>
275
+ <li>
276
+ <label for="<?php echo $this->field_id( array( $post_type, 'deduct_log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
277
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $post_type, 'deduct_log' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'deduct_log' ) ); ?>" value="<?php echo $prefs[$post_type]['deduct_log']; ?>" class="long" /></div>
278
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
279
+ </li>
280
+ </ol>
281
+ <?php }
282
+ unset( $this );
283
+ }
284
+ }
285
+ }
286
+ }
287
+ ?>
plugins/mycred-hook-bbPress.php ADDED
@@ -0,0 +1,529 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * bbPress
4
+ * @since 0.1
5
+ * @version 1.2
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 0.1
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'bbPress_myCRED_Hook' );
14
+ function bbPress_myCRED_Hook( $installed ) {
15
+ $installed['hook_bbpress'] = array(
16
+ 'title' => __( 'bbPress' ),
17
+ 'description' => __( 'Awards %_plural% for bbPress actions.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_bbPress' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * Exclude bbPress Post Types
25
+ * @since 0.1
26
+ * @version 1.0
27
+ */
28
+ add_filter( 'mycred_post_type_excludes', 'mycred_exclude_post_type_bbPress' );
29
+ function mycred_exclude_post_type_bbPress( $excludes ) {
30
+ $excludes[] = bbp_get_forum_post_type();
31
+ $excludes[] = bbp_get_topic_post_type();
32
+ $excludes[] = bbp_get_reply_post_type();
33
+ return $excludes;
34
+ }
35
+
36
+ /**
37
+ * Insert Points Balance in Profile
38
+ * @since 0.1
39
+ * @version 1.0
40
+ */
41
+ add_action( 'bbp_template_after_user_profile', 'mycred_bbp_add_balance_in_profile' );
42
+ function mycred_bbp_add_balance_in_profile() {
43
+ $user_id = bbp_get_displayed_user_id();
44
+ $mycred = mycred_get_settings();
45
+
46
+ if ( $mycred->exclude_user( $user_id ) ) return;
47
+
48
+ $balance = $mycred->get_users_cred( $user_id );
49
+ echo '<div class="users-mycred-balance">' . $mycred->plural() . ': ' . $mycred->format_creds( $balance ) . '</div>';
50
+ }
51
+
52
+ /**
53
+ * bbPress Hook
54
+ * @since 0.1
55
+ * @version 1.2
56
+ */
57
+ if ( !class_exists( 'myCRED_bbPress' ) ) {
58
+ class myCRED_bbPress extends myCRED_Hook {
59
+ /**
60
+ * Construct
61
+ */
62
+ function __construct( $hook_prefs ) {
63
+ parent::__construct( array(
64
+ 'id' => 'hook_bbpress',
65
+ 'defaults' => array(
66
+ 'new_forum' => array(
67
+ 'creds' => 1,
68
+ 'log' => '%plural% for new forum'
69
+ ),
70
+ 'delete_forum' => array(
71
+ 'creds' => 0-1,
72
+ 'log' => '%singular% deduction for deleted forum'
73
+ ),
74
+ 'new_topic' => array(
75
+ 'creds' => 1,
76
+ 'log' => '%plural% for new forum topic',
77
+ 'author' => 0
78
+ ),
79
+ 'delete_topic' => array(
80
+ 'creds' => 0-1,
81
+ 'log' => '%singular% deduction for deleted topic'
82
+ ),
83
+ 'fav_topic' => array(
84
+ 'creds' => 1,
85
+ 'log' => '%plural% for someone favorited your forum topic',
86
+ 'limit' => 1
87
+ ),
88
+ 'new_reply' => array(
89
+ 'creds' => 1,
90
+ 'log' => '%plural% for new forum reply',
91
+ 'author' => 0,
92
+ 'limit' => 10,
93
+ ),
94
+ 'delete_reply' => array(
95
+ 'creds' => 0-1,
96
+ 'log' => '%singular% deduction for deleted reply'
97
+ ),
98
+ 'show_points_in_reply' => 0
99
+ )
100
+ ), $hook_prefs );
101
+ }
102
+
103
+ /**
104
+ * Run
105
+ * @since 0.1
106
+ * @version 1.2
107
+ */
108
+ public function run() {
109
+ // Insert Points balance in profile
110
+ if ( isset( $this->prefs['show_points_in_reply'] ) && $this->prefs['show_points_in_reply'] == 1 )
111
+ add_action( 'bbp_theme_after_reply_author_details', array( $this, 'insert_balance' ) );
112
+
113
+ // New Forum
114
+ if ( $this->prefs['new_forum']['creds'] != 0 )
115
+ add_action( 'bbp_new_forum', array( $this, 'new_forum' ), 20 );
116
+ // Delete Forum
117
+ if ( $this->prefs['delete_forum']['creds'] != 0 )
118
+ add_action( 'bbp_delete_forum', array( $this, 'delete_forum' ) );
119
+ // New Topic
120
+ if ( $this->prefs['new_topic']['creds'] != 0 )
121
+ add_action( 'bbp_new_topic', array( $this, 'new_topic' ), 20, 4 );
122
+ // Delete Topic
123
+ if ( $this->prefs['delete_topic']['creds'] != 0 )
124
+ add_action( 'bbp_delete_topic', array( $this, 'delete_topic' ) );
125
+ // Fave Topic
126
+ if ( $this->prefs['fav_topic']['creds'] != 0 )
127
+ add_action( 'bbp_add_user_favorite', array( $this, 'fav_topic' ), 10, 2 );
128
+ // New Reply
129
+ if ( $this->prefs['new_reply']['creds'] != 0 )
130
+ add_action( 'bbp_new_reply', array( $this, 'new_reply' ), 20, 5 );
131
+ // Delete Reply
132
+ if ( $this->prefs['delete_reply']['creds'] != 0 )
133
+ add_action( 'bbp_delete_reply', array( $this, 'delete_reply' ) );
134
+ }
135
+
136
+ /**
137
+ * New Forum
138
+ * @since 1.1.1
139
+ * @version 1.1
140
+ */
141
+ public function new_forum( $forum ) {
142
+ // Forum id
143
+ $forum_id = $forum['forum_id'];
144
+
145
+ // Forum author
146
+ $forum_author = $forum['forum_author'];
147
+
148
+ // Check if user is excluded
149
+ if ( $this->core->exclude_user( $forum_author ) ) return;
150
+
151
+ // Make sure this is unique event
152
+ if ( $this->has_entry( 'new_forum', $forum_id, $forum_author ) ) return;
153
+
154
+ // Execute
155
+ $this->core->add_creds(
156
+ 'new_forum',
157
+ $forum_author,
158
+ $this->prefs['new_forum']['creds'],
159
+ $this->prefs['new_forum']['log'],
160
+ $forum_id,
161
+ array( 'ref_type' => 'post' )
162
+ );
163
+ }
164
+
165
+ /**
166
+ * Delete Forum
167
+ * @since 1.2
168
+ * @version 1.0
169
+ */
170
+ public function delete_forum( $forum_id ) {
171
+ // Get Author
172
+ $forum_author = bbp_get_forum_author_id( $forum_id );
173
+
174
+ // If gained, points, deduct
175
+ if ( $this->has_entry( 'new_forum', $forum_id, $forum_author ) ) {
176
+
177
+ // Execute
178
+ $this->core->add_creds(
179
+ 'deleted_forum',
180
+ $forum_author,
181
+ $this->prefs['delete_forum']['creds'],
182
+ $this->prefs['delete_forum']['log'],
183
+ $forum_id,
184
+ array( 'ref_type' => 'post' )
185
+ );
186
+
187
+ }
188
+ }
189
+
190
+ /**
191
+ * New Topic
192
+ * @since 0.1
193
+ * @version 1.1
194
+ */
195
+ public function new_topic( $topic_id, $forum_id, $anonymous_data, $topic_author ) {
196
+ // Check if user is excluded
197
+ if ( $this->core->exclude_user( $topic_author ) ) return;
198
+
199
+ // Check if forum author is allowed to get points for their own topics
200
+ if ( (bool) $this->prefs['new_topic']['author'] == false ) {
201
+ if ( bbp_get_forum_author_id( $forum_id ) == $topic_author ) return;
202
+ }
203
+
204
+ // Make sure this is unique event
205
+ if ( $this->has_entry( 'new_forum_topic', $topic_id, $topic_author ) ) return;
206
+
207
+ // Execute
208
+ $this->core->add_creds(
209
+ 'new_forum_topic',
210
+ $topic_author,
211
+ $this->prefs['new_topic']['creds'],
212
+ $this->prefs['new_topic']['log'],
213
+ $topic_id,
214
+ array( 'ref_type' => 'post' )
215
+ );
216
+ }
217
+
218
+ /**
219
+ * Delete Topic
220
+ * @since 1.2
221
+ * @version 1.0
222
+ */
223
+ public function delete_topic( $topic_id ) {
224
+ // Get Author
225
+ $topic_author = bbp_get_topic_author_id( $topic_id );
226
+
227
+ // If gained, points, deduct
228
+ if ( $this->has_entry( 'new_forum_topic', $topic_id, $topic_author ) ) {
229
+
230
+ // Execute
231
+ $this->core->add_creds(
232
+ 'deleted_topic',
233
+ $topic_author,
234
+ $this->prefs['delete_topic']['creds'],
235
+ $this->prefs['delete_topic']['log'],
236
+ $topic_id,
237
+ array( 'ref_type' => 'post' )
238
+ );
239
+
240
+ }
241
+ }
242
+
243
+ /**
244
+ * Topic Added to Favorites
245
+ * @by Fee (http://wordpress.org/support/profile/wdfee)
246
+ * @since 1.1.1
247
+ * @version 1.2
248
+ */
249
+ public function fav_topic( $user_id, $topic_id ) {
250
+ // $user_id is loggedin_user, not author, so get topic author
251
+ $topic_author = get_post_field( 'post_author', $topic_id );
252
+
253
+ // Enforce Daily Limit
254
+ if ( $this->reached_daily_limit( $topic_author, 'fav_topic' ) ) return;
255
+
256
+ // Check if user is excluded (required)
257
+ if ( $this->core->exclude_user( $topic_author ) || $topic_author == $user_id ) return;
258
+
259
+ // Make sure this is a unique event (favorite not from same user)
260
+ if ( $this->has_entry( 'topic_favorited', $topic_id, $topic_author, 's:8:"ref_user";i:' . $user_id . ';' ) ) return;
261
+
262
+ // Execute
263
+ $this->core->add_creds(
264
+ 'topic_favorited',
265
+ $topic_author,
266
+ $this->prefs['fav_topic']['creds'],
267
+ $this->prefs['fav_topic']['log'],
268
+ $topic_id,
269
+ array( 'ref_user' => $user_id, 'ref_type' => 'post' )
270
+ );
271
+
272
+ // Update Limit
273
+ $this->update_daily_limit( $topic_author, 'fav_topic' );
274
+ }
275
+
276
+ /**
277
+ * New Reply
278
+ * @since 0.1
279
+ * @version 1.2
280
+ */
281
+ public function new_reply( $reply_id, $topic_id, $forum_id, $anonymous_data, $reply_author ) {
282
+ // Check if user is excluded
283
+ if ( $this->core->exclude_user( $reply_author ) ) return;
284
+
285
+ // Check if topic author gets points for their own replies
286
+ if ( (bool) $this->prefs['new_reply']['author'] === false ) {
287
+ if ( bbp_get_topic_author_id( $topic_id ) == $reply_author ) return;
288
+ }
289
+
290
+ // Check daily limit
291
+ if ( $this->reached_daily_limit( $reply_author, 'new_reply' ) ) return;
292
+
293
+ // Make sure this is unique event
294
+ if ( $this->has_entry( 'new_forum_reply', $reply_id, $reply_author ) ) return;
295
+
296
+ // Execute
297
+ $this->core->add_creds(
298
+ 'new_forum_reply',
299
+ $reply_author,
300
+ $this->prefs['new_reply']['creds'],
301
+ $this->prefs['new_reply']['log'],
302
+ $reply_id,
303
+ array( 'ref_type' => 'post' )
304
+ );
305
+
306
+ // Update Limit
307
+ $this->update_daily_limit( $topic_author, 'new_reply' );
308
+ }
309
+
310
+ /**
311
+ * Delete Reply
312
+ * @since 1.2
313
+ * @version 1.0
314
+ */
315
+ public function delete_reply( $reply_id ) {
316
+ // Get Author
317
+ $reply_author = bbp_get_reply_author_id( $reply_id );
318
+
319
+ // If gained, points, deduct
320
+ if ( $this->has_entry( 'new_forum_reply', $reply_id, $reply_author ) ) {
321
+
322
+ // Execute
323
+ $this->core->add_creds(
324
+ 'deleted_reply',
325
+ $reply_author,
326
+ $this->prefs['delete_reply']['creds'],
327
+ $this->prefs['delete_reply']['log'],
328
+ $reply_id,
329
+ array( 'ref_type' => 'post' )
330
+ );
331
+
332
+ }
333
+ }
334
+
335
+ /**
336
+ * Insert Balance
337
+ * @since 0.1
338
+ * @version 1.1
339
+ */
340
+ public function insert_balance() {
341
+ $reply_id = bbp_get_reply_id();
342
+ if ( bbp_is_reply_anonymous( $reply_id ) ) return;
343
+
344
+ $balance = $this->core->get_users_cred( bbp_get_reply_author_id( $reply_id ) );
345
+ echo '<div class="mycred-balance">' . $this->core->plural() . ': ' . $this->core->format_creds( $balance ) . '</div>';
346
+ }
347
+
348
+ /**
349
+ * Reched Daily Limit
350
+ * Checks if a user has reached their daily limit.
351
+ * @since 1.2
352
+ * @version 1.0
353
+ */
354
+ public function reached_daily_limit( $user_id, $id ) {
355
+ // No limit used
356
+ if ( $this->prefs[$id]['limit'] == 0 ) return false;
357
+ $today = date( 'Y-m-d' );
358
+ $current = get_user_meta( $user_id, 'mycred_bbp_limits_' . $id, true );
359
+ if ( empty( $current ) || !array_key_exists( $today, (array) $current ) ) $current[$today] = 0;
360
+ if ( $current[ $today ] < $this->prefs[$id]['limit'] ) return false;
361
+ return true;
362
+ }
363
+
364
+ /**
365
+ * Update Daily Limit
366
+ * Updates a given users daily limit.
367
+ * @since 1.2
368
+ * @version 1.0
369
+ */
370
+ public function update_daily_limit( $user_id, $id ) {
371
+ // No limit used
372
+ if ( $this->prefs[$id]['limit'] == 0 ) return;
373
+
374
+ $today = date( 'Y-m-d' );
375
+ $current = get_user_meta( $user_id, 'mycred_bbp_limits_' . $id, true );
376
+ if ( empty( $current ) || !array_key_exists( $today, (array) $current ) )
377
+ $current[$today] = 0;
378
+
379
+ $current[ $today ] = $current[ $today ]+1;
380
+
381
+ update_user_meta( $user_id, 'mycred_bbp_limits_' . $id, $current );
382
+ }
383
+
384
+ /**
385
+ * Preferences
386
+ * @since 0.1
387
+ * @version 1.1
388
+ */
389
+ public function preferences() {
390
+ $prefs = $this->prefs;
391
+
392
+ // Update
393
+ if ( !isset( $prefs['show_points_in_reply'] ) )
394
+ $prefs['show_points_in_reply'] = 0;
395
+ if ( !isset( $prefs['new_topic']['author'] ) )
396
+ $prefs['new_topic']['author'] = 0;
397
+ if ( !isset( $prefs['fav_topic'] ) )
398
+ $prefs['fav_topic'] = array( 'creds' => 1, 'log' => '%plural% for someone favorited your forum topic' );
399
+ if ( !isset( $prefs['new_reply']['author'] ) )
400
+ $prefs['new_reply']['author'] = 0;
401
+ if ( !isset( $prefs['fav_topic']['limit'] ) )
402
+ $prefs['fav_topic']['limit'] = 0;
403
+ if ( !isset( $prefs['new_reply']['limit'] ) )
404
+ $prefs['new_reply']['limit'] = 0; ?>
405
+
406
+ <!-- Creds for New Forums -->
407
+ <label for="<?php echo $this->field_id( array( 'new_forum', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for New Forum', 'mycred' ) ); ?></label>
408
+ <ol id="">
409
+ <li>
410
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_forum', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'new_forum', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_forum']['creds'] ); ?>" size="8" /></div>
411
+ </li>
412
+ <li class="empty">&nbsp;</li>
413
+ <li>
414
+ <label for="<?php echo $this->field_id( array( 'new_forum', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
415
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_forum', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'new_forum', 'log' ) ); ?>" value="<?php echo $prefs['new_forum']['log']; ?>" class="long" /></div>
416
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
417
+ </li>
418
+ </ol>
419
+ <!-- Creds for Deleting Forums -->
420
+ <label for="<?php echo $this->field_id( array( 'delete_forum', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Forum Deletion', 'mycred' ) ); ?></label>
421
+ <ol id="">
422
+ <li>
423
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_forum', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_forum', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['delete_forum']['creds'] ); ?>" size="8" /></div>
424
+ </li>
425
+ <li class="empty">&nbsp;</li>
426
+ <li>
427
+ <label for="<?php echo $this->field_id( array( 'delete_forum', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
428
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_forum', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_forum', 'log' ) ); ?>" value="<?php echo $prefs['delete_forum']['log']; ?>" class="long" /></div>
429
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
430
+ </li>
431
+ </ol>
432
+ <!-- Creds for New Topic -->
433
+ <label for="<?php echo $this->field_id( array( 'new_topic', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for New Topic', 'mycred' ) ); ?></label>
434
+ <ol id="">
435
+ <li>
436
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_topic', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'new_topic', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_topic']['creds'] ); ?>" size="8" /></div>
437
+ </li>
438
+ <li class="empty">&nbsp;</li>
439
+ <li>
440
+ <label for="<?php echo $this->field_id( array( 'new_topic', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
441
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_topic', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'new_topic', 'log' ) ); ?>" value="<?php echo $prefs['new_topic']['log']; ?>" class="long" /></div>
442
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
443
+ </li>
444
+ <li class="empty">&nbsp;</li>
445
+ <li>
446
+ <input type="checkbox" name="<?php echo $this->field_name( array( 'new_topic' => 'author' ) ); ?>" id="<?php echo $this->field_id( array( 'new_topic' => 'author' ) ); ?>" <?php checked( $prefs['new_topic']['author'], 1 ); ?> value="1" />
447
+ <label for="<?php echo $this->field_id( array( 'new_topic' => 'author' ) ); ?>"><?php echo $this->core->template_tags_general( __( 'Forum authors can receive %_plural% for creating new topics.', 'mycred' ) ); ?></label>
448
+ </li>
449
+ </ol>
450
+ <!-- Creds for Deleting Topic -->
451
+ <label for="<?php echo $this->field_id( array( 'delete_topic', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Topic Deletion', 'mycred' ) ); ?></label>
452
+ <ol id="">
453
+ <li>
454
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_topic', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_topic', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['delete_topic']['creds'] ); ?>" size="8" /></div>
455
+ </li>
456
+ <li class="empty">&nbsp;</li>
457
+ <li>
458
+ <label for="<?php echo $this->field_id( array( 'delete_topic', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
459
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'delete_topic', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'delete_topic', 'log' ) ); ?>" value="<?php echo $prefs['delete_topic']['log']; ?>" class="long" /></div>
460
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
461
+ </li>
462
+ </ol>
463
+ <!-- Creds for Faved Topic -->
464
+ <label for="<?php echo $this->field_id( array( 'fav_topic', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Favorited Topic', 'mycred' ) ); ?></label>
465
+ <ol id="">
466
+ <li>
467
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'fav_topic', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'fav_topic', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['fav_topic']['creds'] ); ?>" size="8" /></div>
468
+ </li>
469
+ <li class="empty">&nbsp;</li>
470
+ <li>
471
+ <label for="<?php echo $this->field_id( array( 'fav_topic', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
472
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'fav_topic', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'fav_topic', 'log' ) ); ?>" value="<?php echo $prefs['fav_topic']['log']; ?>" class="long" /></div>
473
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
474
+ </li>
475
+ <li class="empty">&nbsp;</li>
476
+ <li>
477
+ <label for="<?php echo $this->field_id( array( 'fav_topic', 'limit' ) ); ?>"><?php _e( 'Daily Limit', 'mycred' ); ?></label>
478
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'fav_topic', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'fav_topic', 'limit' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['fav_topic']['limit'] ); ?>" size="8" /></div>
479
+ <span class="description"><?php _e( 'Use zero for unlimited', 'mycred' ); ?></span>
480
+ </li>
481
+ </ol>
482
+ <!-- Creds for New Reply -->
483
+ <label for="<?php echo $this->field_id( array( 'new_reply', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for New Reply', 'mycred' ) ); ?></label>
484
+ <ol id="">
485
+ <li>
486
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_reply', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_reply']['creds'] ); ?>" size="8" /></div>
487
+ </li>
488
+ <li class="empty">&nbsp;</li>
489
+ <li>
490
+ <label for="<?php echo $this->field_id( array( 'new_reply', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
491
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_reply', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply', 'log' ) ); ?>" value="<?php echo $prefs['new_reply']['log']; ?>" class="long" /></div>
492
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
493
+ </li>
494
+ <li class="empty">&nbsp;</li>
495
+ <li>
496
+ <input type="checkbox" name="<?php echo $this->field_name( array( 'new_reply' => 'author' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply' => 'author' ) ); ?>" <?php checked( $prefs['new_reply']['author'], 1 ); ?> value="1" />
497
+ <label for="<?php echo $this->field_id( array( 'new_reply' => 'author' ) ); ?>"><?php echo $this->core->template_tags_general( __( 'Topic authors can receive %_plural% for replying to their own Topic', 'mycred' ) ); ?></label>
498
+ </li>
499
+ <li class="empty">&nbsp;</li>
500
+ <li>
501
+ <label for="<?php echo $this->field_id( array( 'new_reply', 'limit' ) ); ?>"><?php _e( 'Daily Limit', 'mycred' ); ?></label>
502
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'new_reply', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'new_reply', 'limit' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['new_reply']['limit'] ); ?>" size="8" /></div>
503
+ <span class="description"><?php _e( 'Use zero for unlimited', 'mycred' ); ?></span>
504
+ </li>
505
+ <li class="empty">&nbsp;</li>
506
+ <li>
507
+ <input type="checkbox" name="<?php echo $this->field_name( 'show_points_in_reply' ); ?>" id="<?php echo $this->field_id( 'show_points_in_reply' ); ?>" <?php checked( $prefs['show_points_in_reply'], 1 ); ?> value="1" /> <label for="<?php echo $this->field_id( 'show_points_in_reply' ); ?>"><?php echo $this->core->template_tags_general( __( 'Show users %_plural% balance in replies', 'mycred' ) ); ?>.</label>
508
+ </li>
509
+ </ol>
510
+ <?php unset( $this );
511
+ }
512
+
513
+ /**
514
+ * Sanitise Preference
515
+ * @since 1.1.1
516
+ * @version 1.0
517
+ */
518
+ function sanitise_preferences( $data ) {
519
+ $new_data = $data;
520
+
521
+ $new_data['new_topic']['author'] = ( isset( $data['new_topic']['author'] ) ) ? $data['new_topic']['author'] : 0;
522
+ $new_data['new_reply']['author'] = ( isset( $data['new_reply']['author'] ) ) ? $data['new_reply']['author'] : 0;
523
+
524
+ return $new_data;
525
+ }
526
+ }
527
+ }
528
+ }
529
+ ?>
plugins/mycred-hook-contact-form7.php ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Contact Form 7 Plugin
4
+ * @since 0.1
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 0.1
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'contact_form_seven_myCRED_Hook' );
14
+ function contact_form_seven_myCRED_Hook( $installed ) {
15
+ $installed['contact_form7'] = array(
16
+ 'title' => __( 'Contact Form 7 Form Submissions', 'mycred' ),
17
+ 'description' => __( 'Awards %_plural% for successful form submissions (by logged in users).', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Contact_Form7' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * Contact Form 7 Hook
25
+ * @since 0.1
26
+ * @version 1.0
27
+ */
28
+ if ( !class_exists( 'myCRED_Contact_Form7' ) ) {
29
+ class myCRED_Contact_Form7 extends myCRED_Hook {
30
+ /**
31
+ * Construct
32
+ */
33
+ function __construct( $hook_prefs ) {
34
+ parent::__construct( array(
35
+ 'id' => 'contact_form7',
36
+ 'defaults' => ''
37
+ ), $hook_prefs );
38
+ }
39
+
40
+ /**
41
+ * Run
42
+ * @since 0.1
43
+ * @version 1.0
44
+ */
45
+ public function run() {
46
+ add_action( 'wpcf7_mail_sent', array( $this, 'form_submission' ) );
47
+ }
48
+
49
+ /**
50
+ * Get Forms
51
+ * Queries all Contact Form 7 forms.
52
+ * @uses WP_Query()
53
+ * @since 0.1
54
+ * @version 1.1
55
+ */
56
+ public function get_forms() {
57
+ $forms = new WP_Query( array(
58
+ 'post_type' => 'wpcf7_contact_form',
59
+ 'post_status' => 'any',
60
+ 'posts_per_page' => '-1',
61
+ 'orderby' => 'ID',
62
+ 'order' => 'ASC'
63
+ ) );
64
+
65
+ $result = array();
66
+ if ( $forms->have_posts() ) {
67
+ while ( $forms->have_posts() ) : $forms->the_post();
68
+ $result[get_the_ID()] = get_the_title();
69
+ endwhile;
70
+ }
71
+ wp_reset_postdata();
72
+ return $result;
73
+ }
74
+
75
+ /**
76
+ * Successful Form Submission
77
+ * @since 0.1
78
+ * @version 1.0
79
+ */
80
+ public function form_submission( $cf7_form ) {
81
+ // Login is required
82
+ if ( !is_user_logged_in() ) return;
83
+
84
+ $form_id = $cf7_form->id;
85
+ if ( isset( $this->prefs[$form_id] ) && $this->prefs[$form_id]['creds'] != 0 ) {
86
+ $this->core->add_creds(
87
+ 'contact_form_submission',
88
+ get_current_user_id(),
89
+ $this->prefs[$form_id]['creds'],
90
+ $this->prefs[$form_id]['log'],
91
+ $form_id,
92
+ array( 'ref_type' => 'post' )
93
+ );
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Preferences for Commenting Hook
99
+ * @since 0.1
100
+ * @version 1.0
101
+ */
102
+ public function preferences() {
103
+ $prefs = $this->prefs;
104
+ $forms = $this->get_forms();
105
+
106
+ // No forms found
107
+ if ( empty( $forms ) ) {
108
+ echo '<p>' . __( 'No forms found.', 'mycred' ) . '</p>';
109
+ return;
110
+ }
111
+
112
+ // Loop though prefs to make sure we always have a default settings (happens when a new form has been created)
113
+ foreach ( $forms as $form_id => $form_title ) {
114
+ if ( !isset( $prefs[$form_id] ) ) {
115
+ $prefs[$form_id] = array(
116
+ 'creds' => 1,
117
+ 'log' => ''
118
+ );
119
+ }
120
+ }
121
+
122
+ // Set pref if empty
123
+ if ( empty( $prefs ) ) $this->prefs = $prefs;
124
+
125
+ // Loop for settings
126
+ foreach ( $forms as $form_id => $form_title ) { ?>
127
+
128
+ <!-- Creds for -->
129
+ <label for="<?php echo $this->field_id( array( $form_id, 'creds' ) ); ?>" class="subheader"><?php echo $form_title; ?></label>
130
+ <ol>
131
+ <li>
132
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $form_id, 'creds' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs[$form_id]['creds'] ); ?>" size="8" /></div>
133
+ </li>
134
+ <li class="empty">&nbsp;</li>
135
+ <li>
136
+ <label for="<?php echo $this->field_id( array( $form_id, 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
137
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( $form_id, 'log' ) ); ?>" id="<?php echo $this->field_id( array( $form_id, 'log' ) ); ?>" value="<?php echo $prefs[$form_id]['log']; ?>" class="long" /></div>
138
+ <span class="description"><?php _e( 'Available template tags: General, Post', 'mycred' ); ?></span>
139
+ </li>
140
+ </ol>
141
+ <?php }
142
+ unset( $this );
143
+ }
144
+ }
145
+ }
146
+ }
147
+ ?>
plugins/mycred-hook-events-manager-light.php ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Events Manager
4
+ * @since 1.1
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 1.1
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'Events_Manager_myCRED_Hook' );
14
+ function Events_Manager_myCRED_Hook( $installed ) {
15
+ $installed['eventsmanager'] = array(
16
+ 'title' => __( 'Events Manager', 'mycred' ),
17
+ 'description' => __( 'Awards %_plural% for users attending events.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Hook_Events_Manager' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * Events Manager Hook
25
+ * @since 1.1
26
+ * @version 1.0
27
+ */
28
+ if ( !class_exists( 'myCRED_Hook_Events_Manager' ) ) {
29
+ class myCRED_Hook_Events_Manager extends myCRED_Hook {
30
+ /**
31
+ * Construct
32
+ */
33
+ function __construct( $hook_prefs ) {
34
+ parent::__construct( array(
35
+ 'id' => 'eventsmanager',
36
+ 'defaults' => array(
37
+ 'attend' => array(
38
+ 'creds' => 1,
39
+ 'log' => '%plural% for attending an %link_with_title%'
40
+ ),
41
+ 'cancel' => array(
42
+ 'creds' => 1,
43
+ 'log' => '%plural% for cancelled attendance at %link_with_title%'
44
+ )
45
+ )
46
+ ), $hook_prefs );
47
+ }
48
+
49
+ /**
50
+ * Run
51
+ * @since 1.1
52
+ * @version 1.0
53
+ */
54
+ public function run() {
55
+ if ( $this->prefs['attend']['creds'] != 0 && get_option( 'dbem_bookings_approval' ) != 0 )
56
+ add_filter( 'em_bookings_add', array( $this, 'new_booking' ), 10, 2 );
57
+
58
+ add_filter( 'em_booking_set_status', array( $this, 'adjust_booking' ), 10, 2 );
59
+ }
60
+
61
+ /**
62
+ * New Booking
63
+ * When users can make their own bookings.
64
+ * @since 1.1
65
+ * @version 1.1
66
+ */
67
+ public function new_booking( $result, $booking ) {
68
+ $user_id = $booking->person->id;
69
+ // Check for exclusion
70
+ if ( $this->core->exclude_user( $user_id ) ) return $result;
71
+
72
+ // Successfull Booking
73
+ if ( $result === true ) {
74
+ // Execute
75
+ $this->core->add_creds(
76
+ 'event_booking',
77
+ $user_id,
78
+ $this->prefs['attend']['creds'],
79
+ $this->prefs['attend']['log'],
80
+ $booking->event->post_id,
81
+ array( 'ref_type' => 'post' )
82
+ );
83
+ }
84
+ return $result;
85
+ }
86
+
87
+ /**
88
+ * Adjust Booking
89
+ * Incase an administrator needs to approve bookings first or if booking gets
90
+ * cancelled.
91
+ * @since 1.1
92
+ * @version 1.1
93
+ */
94
+ public function adjust_booking( $result, $booking ) {
95
+ $user_id = $booking->person->id;
96
+ // Check for exclusion
97
+ if ( $this->core->exclude_user( $user_id ) ) return $result;
98
+
99
+ // If the new status is 'approved', add points
100
+ if ( $booking->booking_status == 1 && $booking->previous_status != 1 ) {
101
+ // If we do not award points for attending an event bail now
102
+ if ( $this->prefs['attend']['creds'] == 0 ) return $result;
103
+
104
+ // Execute
105
+ $this->core->add_creds(
106
+ 'event_attendance',
107
+ $user_id,
108
+ $this->prefs['attend']['creds'],
109
+ $this->prefs['attend']['log'],
110
+ $booking->event->post_id,
111
+ array( 'ref_type' => 'post' )
112
+ );
113
+ }
114
+ // Else if status got changed from previously 'approved', remove points given
115
+ elseif ( $booking->booking_status != 1 && $booking->previous_status == 1 ) {
116
+ // If we do not deduct points for cancellation bail now
117
+ if ( $this->prefs['cancel']['creds'] == 0 ) return $result;
118
+
119
+ // Execute
120
+ $this->core->add_creds(
121
+ 'cancelled_event_attendance',
122
+ $user_id,
123
+ $this->prefs['cancel']['creds'],
124
+ $this->prefs['cancel']['log'],
125
+ $booking->event->post_id,
126
+ array( 'ref_type' => 'post' )
127
+ );
128
+ }
129
+ return $result;
130
+ }
131
+
132
+ /**
133
+ * Preferences for Events Manager
134
+ * @since 1.1
135
+ * @version 1.0
136
+ */
137
+ public function preferences() {
138
+ $prefs = $this->prefs; ?>
139
+
140
+ <label class="subheader" for="<?php echo $this->field_id( array( 'attend' => 'creds' ) ); ?>"><?php _e( 'Attending Event', 'mycred' ); ?></label>
141
+ <ol>
142
+ <li>
143
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'attend' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'attend' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['attend']['creds'] ); ?>" size="8" /></div>
144
+ </li>
145
+ </ol>
146
+ <label class="subheader" for="<?php echo $this->field_id( array( 'attend' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
147
+ <ol>
148
+ <li>
149
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'attend' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'attend' => 'log' ) ); ?>" value="<?php echo $prefs['attend']['log']; ?>" class="long" /></div>
150
+ <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
151
+ </li>
152
+ </ol>
153
+ <label class="subheader" for="<?php echo $this->field_id( array( 'cancel' => 'creds' ) ); ?>"><?php _e( 'Cancelling Attendance', 'mycred' ); ?></label>
154
+ <ol>
155
+ <li>
156
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'cancel' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'cancel' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['cancel']['creds'] ); ?>" size="8" /></div>
157
+ </li>
158
+ </ol>
159
+ <label class="subheader" for="<?php echo $this->field_id( array( 'cancel' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
160
+ <ol>
161
+ <li>
162
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'cancel' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'cancel' => 'log' ) ); ?>" value="<?php echo $prefs['cancel']['log']; ?>" class="long" /></div>
163
+ <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
164
+ </li>
165
+ </ol>
166
+ <?php unset( $this );
167
+ }
168
+ }
169
+ }
170
+ }
171
+ ?>
plugins/mycred-hook-gd-star-rating.php ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * GD Star Rating
4
+ * @since 1.2
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 1.2
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'GD_Star_myCRED_Hook' );
14
+ function GD_Star_myCRED_Hook( $installed ) {
15
+ $installed['gdstars'] = array(
16
+ 'title' => __( 'GD Star Rating', 'mycred' ),
17
+ 'description' => __( 'Awards %_plural% for users rate items using the GD Star Rating plugin.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Hook_GD_Star_Rating' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * GD Star Rating Hook
25
+ * @since 1.2
26
+ * @version 1.0
27
+ */
28
+ if ( !class_exists( 'myCRED_Hook_GD_Star_Rating' ) ) {
29
+ class myCRED_Hook_GD_Star_Rating extends myCRED_Hook {
30
+ /**
31
+ * Construct
32
+ */
33
+ function __construct( $hook_prefs ) {
34
+ parent::__construct( array(
35
+ 'id' => 'gdstars',
36
+ 'defaults' => array(
37
+ 'star_rating' => array(
38
+ 'creds' => 1,
39
+ 'log' => '%plural% for rating'
40
+ ),
41
+ 'up_down' => array(
42
+ 'creds' => 1,
43
+ 'log' => '%plural% for rating'
44
+ )
45
+ )
46
+ ), $hook_prefs );
47
+ }
48
+
49
+ /**
50
+ * Run
51
+ * @since 1.2
52
+ * @version 1.0
53
+ */
54
+ public function run() {
55
+ add_action( 'gdsr_vote', array( $this, 'vote' ), 10, 4 );
56
+ }
57
+
58
+ /**
59
+ * Vote
60
+ * @since 1.2
61
+ * @version 1.0
62
+ */
63
+ public function vote( $vote_value, $post_id, $vote_tpl, $vote_size ) {
64
+ if ( !is_user_logged_in() ) return;
65
+
66
+ if ( is_string( $vote_value ) && $this->prefs['up_down']['creds'] == 0 ) return;
67
+ elseif ( !is_string( $vote_value ) && $this->prefs['star_rating']['creds'] == 0 ) return;
68
+
69
+ if ( is_string( $vote_value ) ) {
70
+ $vote = 'up_down';
71
+ $star = false;
72
+ } else {
73
+ $vote = 'star_rating';
74
+ $star = true;
75
+ }
76
+ $user_id = get_current_user_id();
77
+
78
+ if ( $this->core->has_entry( 'rating', $post_id, $user_id, $vote ) ) return;
79
+
80
+ // Execute
81
+ $this->core->add_creds(
82
+ 'rating',
83
+ $user_id,
84
+ ( $star ) ? $this->prefs['star_rating']['creds'] : $this->prefs['up_down']['creds'],
85
+ ( $star ) ? $this->prefs['star_rating']['log'] : $this->prefs['up_down']['log'],
86
+ $post_id,
87
+ $vote
88
+ );
89
+ }
90
+
91
+ /**
92
+ * Preferences for GD Star Rating
93
+ * @since 1.2
94
+ * @version 1.0
95
+ */
96
+ public function preferences() {
97
+ $prefs = $this->prefs; ?>
98
+
99
+ <label class="subheader" for="<?php echo $this->field_id( array( 'star_rating' => 'creds' ) ); ?>"><?php _e( 'Rating', 'mycred' ); ?></label>
100
+ <ol>
101
+ <li>
102
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'star_rating' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'star_rating' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['star_rating']['creds'] ); ?>" size="8" /></div>
103
+ </li>
104
+ </ol>
105
+ <label class="subheader" for="<?php echo $this->field_id( array( 'star_rating' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
106
+ <ol>
107
+ <li>
108
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'star_rating' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'star_rating' => 'log' ) ); ?>" value="<?php echo $prefs['star_rating']['log']; ?>" class="long" /></div>
109
+ <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
110
+ </li>
111
+ </ol>
112
+ <label class="subheader" for="<?php echo $this->field_id( array( 'up_down' => 'creds' ) ); ?>"><?php _e( 'Up / Down Vote', 'mycred' ); ?></label>
113
+ <ol>
114
+ <li>
115
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'up_down' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'up_down' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['up_down']['creds'] ); ?>" size="8" /></div>
116
+ </li>
117
+ </ol>
118
+ <label class="subheader" for="<?php echo $this->field_id( array( 'up_down' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
119
+ <ol>
120
+ <li>
121
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'up_down' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'up_down' => 'log' ) ); ?>" value="<?php echo $prefs['up_down']['log']; ?>" class="long" /></div>
122
+ <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
123
+ </li>
124
+ </ol>
125
+ <?php unset( $this );
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ?>
plugins/mycred-hook-invite-anyone.php ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Invite Anyone Plugin
4
+ * @since 0.1
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 0.1
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'invite_anyone_myCRED_Hook' );
14
+ function invite_anyone_myCRED_Hook( $installed ) {
15
+ $installed['invite_anyone'] = array(
16
+ 'title' => __( 'Invite Anyone Plugin', 'mycred' ),
17
+ 'description' => __( 'Awards %_plural% for sending invitations and/or %_plural% if the invite is accepted.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Invite_Anyone' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * Invite Anyone Hook
25
+ * @since 0.1
26
+ * @version 1.0
27
+ */
28
+ if ( !class_exists( 'myCRED_Invite_Anyone' ) ) {
29
+ class myCRED_Invite_Anyone extends myCRED_Hook {
30
+ /**
31
+ * Construct
32
+ */
33
+ function __construct( $hook_prefs ) {
34
+ parent::__construct( array(
35
+ 'id' => 'invite_anyone',
36
+ 'defaults' => array(
37
+ 'send_invite' => array(
38
+ 'creds' => 1,
39
+ 'log' => '%plural% for sending an invitation',
40
+ 'limit' => 0
41
+ ),
42
+ 'accept_invite' => array(
43
+ 'creds' => 1,
44
+ 'log' => '%plural% for accepted invitation',
45
+ 'limit' => 0
46
+ )
47
+ )
48
+ ), $hook_prefs );
49
+ }
50
+
51
+ /**
52
+ * Run
53
+ * @since 0.1
54
+ * @version 1.0
55
+ */
56
+ public function run() {
57
+ if ( $this->prefs['send_invite']['creds'] != 0 ) {
58
+ add_action( 'sent_email_invite', array( $this, 'send_invite' ), 10, 3 );
59
+ }
60
+ if ( $this->prefs['accept_invite']['creds'] != 0 ) {
61
+ add_action( 'accepted_email_invite', array( $this, 'accept_invite' ), 10, 2 );
62
+ }
63
+ }
64
+
65
+ /**
66
+ * Sending Invites
67
+ * @since 0.1
68
+ * @version 1.0
69
+ */
70
+ public function send_invite( $user_id, $email, $group ) {
71
+ // Limit Check
72
+ if ( $this->prefs['send_invite']['limit'] != 0 ) {
73
+ $user_log = get_user_meta( $user_id, 'mycred_invite_anyone', true );
74
+ if ( empty( $user_log['sent'] ) ) $user_log['sent'] = 0;
75
+ // Return if limit is reached
76
+ if ( $user_log['sent'] >= $this->prefs['send_invite']['limit'] ) return;
77
+ }
78
+
79
+ // Award Points
80
+ $this->core->add_creds(
81
+ 'sending_an_invite',
82
+ $user_id,
83
+ $this->prefs['send_invite']['creds'],
84
+ $this->prefs['send_invite']['log']
85
+ );
86
+
87
+ // Update limit
88
+ if ( $this->prefs['send_invite']['limit'] != 0 ) {
89
+ $user_log['sent'] = $user_log['sent']+1;
90
+ update_user_meta( $user_id, 'mycred_invite_anyone', $user_log );
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Accepting Invites
96
+ * @since 0.1
97
+ * @version 1.0
98
+ */
99
+ public function accept_invite( $invited_user_id, $inviters ) {
100
+ // Invite Anyone will pass on an array of user IDs of those who have invited this user which we need to loop though
101
+ foreach ( (array) $inviters as $inviter_id ) {
102
+ // Limit Check
103
+ if ( $this->prefs['accept_invite']['limit'] != 0 ) {
104
+ $user_log = get_user_meta( $inviter_id, 'mycred_invite_anyone', true );
105
+ if ( empty( $user_log['accepted'] ) ) $user_log['accepted'] = 0;
106
+ // Continue to next inviter if limit is reached
107
+ if ( $user_log['accepted'] >= $this->prefs['accept_invite']['limit'] ) continue;
108
+ }
109
+
110
+ // Award Points
111
+ $this->core->add_creds(
112
+ 'accepting_an_invite',
113
+ $inviter_id,
114
+ $this->prefs['accept_invite']['creds'],
115
+ $this->prefs['accept_invite']['log']
116
+ );
117
+
118
+ // Update Limit
119
+ if ( $this->prefs['accept_invite']['limit'] != 0 ) {
120
+ $user_log['accepted'] = $user_log['accepted']+1;
121
+ update_user_meta( $inviter_id, 'mycred_invite_anyone', $user_log );
122
+ }
123
+ }
124
+ }
125
+
126
+ /**
127
+ * Preferences
128
+ * @since 0.1
129
+ * @version 1.0
130
+ */
131
+ public function preferences() {
132
+ $prefs = $this->prefs; ?>
133
+
134
+ <!-- Creds for Sending Invites -->
135
+ <label for="<?php echo $this->field_id( array( 'send_invite', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Sending An Invite', 'mycred' ) ); ?></label>
136
+ <ol>
137
+ <li>
138
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'send_invite', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'send_invite', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['send_invite']['creds'] ); ?>" size="8" /></div>
139
+ </li>
140
+ <li class="empty">&nbsp;</li>
141
+ <li>
142
+ <label for="<?php echo $this->field_id( array( 'send_invite', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
143
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'send_invite', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'send_invite', 'log' ) ); ?>" value="<?php echo $prefs['send_invite']['log']; ?>" class="long" /></div>
144
+ <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
145
+ </li>
146
+ </ol>
147
+ <label for="<?php echo $this->field_id( array( 'send_invite', 'limit' ) ); ?>" class="subheader"><?php _e( 'Limit', 'mycred' ); ?></label>
148
+ <ol>
149
+ <li>
150
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'send_invite', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'send_invite', 'limit' ) ); ?>" value="<?php echo $prefs['send_invite']['limit']; ?>" size="8" /></div>
151
+ <span class="description"><?php echo $this->core->template_tags_general( __( 'Maximum number of invites that grants %_plural%. Use zero for unlimited.', 'mycred' ) ); ?></span>
152
+ </li>
153
+ </ol>
154
+ <!-- Creds for Accepting Invites -->
155
+ <label for="<?php echo $this->field_id( array( 'accept_invite', 'creds' ) ); ?>" class="subheader"><?php echo $this->core->template_tags_general( __( '%plural% for Accepting An Invite', 'mycred' ) ); ?></label>
156
+ <ol>
157
+ <li>
158
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'accept_invite', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'accept_invite', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['accept_invite']['creds'] ); ?>" size="8" /></div>
159
+ <span class="description"><?php echo $this->core->template_tags_general( __( '%plural% for each invited user that accepts an invitation.', 'mycred' ) ); ?></span>
160
+ </li>
161
+ <li class="empty">&nbsp;</li>
162
+ <li>
163
+ <label for="<?php echo $this->field_id( array( 'accept_invite', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
164
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'accept_invite', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'accept_invite', 'log' ) ); ?>" value="<?php echo $prefs['accept_invite']['log']; ?>" class="long" /></div>
165
+ <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
166
+ </li>
167
+ </ol>
168
+ <label for="<?php echo $this->field_id( array( 'accept_invite', 'limit' ) ); ?>" class="subheader"><?php _e( 'Limit', 'mycred' ); ?></label>
169
+ <ol>
170
+ <li>
171
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'accept_invite', 'limit' ) ); ?>" id="<?php echo $this->field_id( array( 'accept_invite', 'limit' ) ); ?>" value="<?php echo $prefs['accept_invite']['limit']; ?>" size="8" /></div>
172
+ <span class="description"><?php echo $this->core->template_tags_general( __( 'Maximum number of accepted invitations that grants %_plural%. Use zero for unlimited.', 'mycred' ) ); ?></span>
173
+ </li>
174
+ </ol>
175
+ <?php unset( $this );
176
+ }
177
+ }
178
+ }
179
+ }
180
+ ?>
plugins/mycred-hook-jetpack.php ADDED
@@ -0,0 +1,520 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Jetpack
4
+ * @since 1.0.5
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 1.0.5
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'jetpack_myCRED_Hook' );
14
+ function jetpack_myCRED_Hook( $installed ) {
15
+ $installed['jetpack'] = array(
16
+ 'title' => __( 'Jetpack Subscriptions', 'mycred' ),
17
+ 'description' => __( 'Awards %_plural% for users signing up for site or comment updates using Jetpack.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Hook_Jetpack' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * Jetpack Hook
25
+ * @since 1.0.5
26
+ * @version 1.0
27
+ */
28
+ if ( !class_exists( 'myCRED_Hook_Jetpack' ) ) {
29
+ class myCRED_Hook_Jetpack extends myCRED_Hook {
30
+
31
+ /**
32
+ * Construct
33
+ */
34
+ function __construct( $hook_prefs ) {
35
+ parent::__construct( array(
36
+ 'id' => 'jetpack',
37
+ 'defaults' => array(
38
+ 'subscribe_site' => array(
39
+ 'creds' => 1,
40
+ 'log' => '%plural% for site subscription'
41
+ ),
42
+ 'subscribe_comment' => array(
43
+ 'creds' => 1,
44
+ 'log' => '%plural% for comment subscription'
45
+ )
46
+ )
47
+ ), $hook_prefs );
48
+ }
49
+
50
+ /**
51
+ * Run
52
+ * @since 1.0.5
53
+ * @version 1.0
54
+ */
55
+ public function run() {
56
+ // Site Subscriptions
57
+ if ( $this->prefs['subscribe_site']['creds'] != 0 ) {
58
+ add_filter( 'wp_redirect', array( $this, 'submit_redirect' ), 1 );
59
+ }
60
+
61
+ // Comment Subscriptions
62
+ if ( $this->prefs['subscribe_comment']['creds'] != 0 ) {
63
+ add_action( 'comment_post', array( $this, 'comment_subscribe_submit' ), 99, 2 );
64
+ }
65
+
66
+ add_action( 'mycred_admin_init', array( $this, 'admin_init' ) );
67
+ }
68
+
69
+ /**
70
+ * Admin Init
71
+ * Check pending emails if they have confirmed their subscription. If it's confirmed
72
+ * and no previous points have been awarded we do that here. Else if the email is marked
73
+ * as pending we save it for a later try.
74
+ *
75
+ * @since 1.0.5
76
+ * @version 1.0
77
+ */
78
+ public function admin_init() {
79
+ $types = array();
80
+
81
+ if ( $this->prefs['subscribe_site']['creds'] != 0 )
82
+ $types[] = 'site';
83
+
84
+ if ( $this->prefs['subscribe_comment']['creds'] != 0 )
85
+ $types[] = 'comment';
86
+
87
+ // Not enabled, bail
88
+ if ( empty( $types ) ) return;
89
+
90
+ foreach ( $types as $type ) {
91
+ // Get list if it exist
92
+ if ( false === ( $pending = get_option( 'mycred_jetpack_' . $type . '_pendings' ) ) )
93
+ continue;
94
+
95
+ // Make sure list is not empty
96
+ if ( empty( $pending ) ) {
97
+ // Clean up before exit
98
+ delete_option( 'mycred_jetpack_' . $type . '_pendings' );
99
+ continue;
100
+ }
101
+
102
+ $new = array();
103
+ foreach ( $pending as $id => $email ) {
104
+ // Validate
105
+ if ( trim( $email ) == '' || !is_email( $email ) ) continue;
106
+
107
+ // Make sure user exist
108
+ $user = get_user_by( 'email', $email );
109
+ if ( $user === false ) continue;
110
+
111
+ // Check for exclusion
112
+ if ( $this->core->exclude_user( $user->ID ) === true ) continue;
113
+
114
+ // Make sure this is a unique event
115
+ if ( $this->core->has_entry( 'site_subscription', '', $user->ID ) ) continue;
116
+
117
+ // Site Subscriptions
118
+ if ( $type == 'site' ) {
119
+ // Check subscription status
120
+ $subscription = $this->check_jetpack_subscription( $email );
121
+ // Active status = award points if not already
122
+ if ( $subscription == 'active' ) {
123
+ // Execute
124
+ $this->core->add_creds(
125
+ 'site_subscription',
126
+ $user->ID,
127
+ $this->prefs['subscribe_site']['creds'],
128
+ $this->prefs['subscribe_site']['log']
129
+ );
130
+ }
131
+ // Pending status = save so we try again later
132
+ elseif ( $subscription == 'pending' ) {
133
+ $new[] = $email;
134
+ continue;
135
+ }
136
+ }
137
+ // Comment Subscriptions
138
+ else {
139
+ $comment = get_comment( $id );
140
+ if ( empty( $comment ) ) continue;
141
+
142
+ // If no user id exist, check and see if the authors email is used by someone
143
+ if ( $comment->user_id == 0 ) {
144
+ $user = get_user_by( 'email', $email );
145
+ if ( $user === false ) continue;
146
+ }
147
+ // Make sure the user still exist
148
+ else {
149
+ $user = get_user_by( 'id', $comment->user_id );
150
+ if ( $user === false ) continue;
151
+ }
152
+
153
+ // Check for exclusion
154
+ if ( $this->core->exclude_user( $user->ID ) === true ) continue;
155
+
156
+ // Start with making sure this is a unique event
157
+ if ( $this->core->has_entry( 'comment_subscription', $id, $comment->user_id ) ) continue;
158
+
159
+ $post_ids = array();
160
+
161
+ if ( isset( $_REQUEST['subscribe_comments'] ) )
162
+ $post_ids[] = $comment->comment_post_ID;
163
+
164
+ // Attempt to subscribe again to get results
165
+ $subscription = $this->check_jetpack_subscription( $email, array( $comment->comment_post_ID ) );
166
+
167
+ // Subscription is active
168
+ if ( $subscription == 'active' ) {
169
+ // Execute
170
+ $this->core->add_creds(
171
+ 'comment_subscription',
172
+ $user->ID,
173
+ $this->prefs['subscribe_comment']['creds'],
174
+ $this->prefs['subscribe_comment']['log'],
175
+ $id,
176
+ array( 'ref_type' => 'comment' )
177
+ );
178
+ }
179
+ // Subscription pending
180
+ elseif ( $subscription == 'pending' ) {
181
+ $new[$id] = $email;
182
+ }
183
+ }
184
+ }
185
+
186
+ // If we still have pending emails save for later
187
+ if ( !empty( $new ) )
188
+ update_option( 'mycred_jetpack_' . $type . '_pendings', $new );
189
+ // Else delete
190
+ else
191
+ delete_option( 'mycred_jetpack_' . $type . '_pendings' );
192
+ }
193
+ }
194
+
195
+ /**
196
+ * Submit Redirect
197
+ * Checks if Jetpack signup has been executed by parsing the redirect URL.
198
+ * @since 1.0.5
199
+ * @version 1.0
200
+ */
201
+ public function submit_redirect( $location ) {
202
+ // Make sure we have what we need
203
+ if ( !isset( $_REQUEST['jetpack_subscriptions_widget'] ) || !isset( $_REQUEST['email'] ) || empty( $_REQUEST['email'] ) )
204
+ return $location;
205
+
206
+ // Make sure Jetpack has executed
207
+ if ( !isset( $_GET['subscribe'] ) || $_GET['subscribe'] != 'success' )
208
+ return $location;
209
+
210
+ // Make sure user exist
211
+ $user = get_user_by( 'email', $_REQUEST['email'] );
212
+ if ( $user === false )
213
+ return $location;
214
+
215
+ // Check for exclusion
216
+ if ( $this->core->exclude_user( $user->ID ) === true )
217
+ return $location;
218
+
219
+ // Check that this is a unique event
220
+ if ( $this->core->has_entry( 'site_subscription', '', $user->ID ) )
221
+ return $location;
222
+
223
+ $this->site_subscribe( $_REQUEST['email'], $user->ID );
224
+
225
+ return $location;
226
+ }
227
+
228
+ /**
229
+ * Comment Subscribe Submit
230
+ * Manage the request to subscribe to comments and/or to the blog
231
+ * Based on Jetpack Subscriptions
232
+ * @see jetpack/modules/subscriptions.php
233
+ * @since 1.0.5
234
+ * @version 1.0
235
+ */
236
+ public function comment_subscribe_submit( $comment_id, $approved ) {
237
+ if ( 'spam' === $approved ) {
238
+ return;
239
+ }
240
+
241
+ if ( !isset( $_REQUEST['subscribe_comments'] ) && !isset( $_REQUEST['subscribe_blog'] ) )
242
+ return;
243
+
244
+ $comment = get_comment( $comment_id );
245
+
246
+ // If no user id exist, check and see if the authors email is used by someone
247
+ if ( $comment->user_id == 0 ) {
248
+ $user = get_user_by( 'email', $comment->comment_author_email );
249
+ if ( $user === false ) return;
250
+ }
251
+ // Make sure the user still exist
252
+ else {
253
+ $user = get_user_by( 'id', $comment->user_id );
254
+ if ( $user === false ) return;
255
+ }
256
+
257
+ // Check for exclusion
258
+ if ( $this->core->exclude_user( $user->ID ) === true ) return;
259
+
260
+ // Start with making sure this is a unique event
261
+ if ( $this->core->has_entry( 'comment_subscription', $comment_id, $user->ID ) ) return;
262
+
263
+ // Handle comment subscription
264
+ if ( isset( $_REQUEST['subscribe_comments'] ) )
265
+ $this->comment_subscribe( $comment->comment_author_email, $comment->comment_post_ID, $user->ID, $comment_id );
266
+
267
+ // Handle site subscription
268
+ if ( isset( $_REQUEST['subscribe_blog'] ) )
269
+ $this->site_subscribe( $comment->comment_author_email, $user->ID );
270
+ }
271
+
272
+ /**
273
+ * Comment Subscribe
274
+ * Awards points for active subscriptions or adds email and comment id to the pending array.
275
+ * Note! This methods should only be called once the primary checks have been made, including making sure
276
+ * the user exist, is not excluded and that this is a unique event!
277
+ * @since 1.0.5
278
+ * @version 1.0
279
+ */
280
+ protected function comment_subscribe( $email = '', $post_ids = '', $user_id = 0, $comment_id = 0 ) {
281
+ // Attempt to subscribe again to get results
282
+ $subscription = $this->check_jetpack_subscription( $email, $post_ids );
283
+
284
+ // Subscription is active
285
+ if ( $subscription == 'active' ) {
286
+ // Execute
287
+ $this->core->add_creds(
288
+ 'comment_subscription',
289
+ $user_id,
290
+ $this->prefs['subscribe_comment']['creds'],
291
+ $this->prefs['subscribe_comment']['log'],
292
+ $comment_id,
293
+ array( 'ref_type' => 'comment' )
294
+ );
295
+
296
+ // Let others share our success
297
+ do_action( 'mycred_jetpack_comment', $user_id, $comment_id );
298
+ }
299
+ // Subscription pending
300
+ elseif ( $subscription == 'pending' ) {
301
+ // Add email to pending list if not in it already
302
+ if ( !$this->is_pending( $email, $comment_id ) )
303
+ $this->add_to_pending( $email, $comment_id );
304
+ }
305
+ }
306
+
307
+ /**
308
+ * Site Subscription
309
+ * Awards points for active site subscriptions or adds email to the pending array.
310
+ * Note! This methods should only be called once the primary checks have been made, including making sure
311
+ * the user exist, is not excluded and that this is a unique event!
312
+ * @since 1.0.5
313
+ * @version 1.0
314
+ */
315
+ protected function site_subscribe( $email = '', $user_id = 0 ) {
316
+ // Attempt to add this email again to check it's status
317
+ $subscription = $this->check_jetpack_subscription( $email );
318
+
319
+ // Subscription is active
320
+ if ( $subscription == 'active' ) {
321
+ // Execute
322
+ $this->core->add_creds(
323
+ 'site_subscription',
324
+ $user_id,
325
+ $this->prefs['subscribe_site']['creds'],
326
+ $this->prefs['subscribe_site']['log']
327
+ );
328
+
329
+ // Let others share our success
330
+ do_action( 'mycred_jetpack_site', $user_id, $GLOBALS['blog_id'] );
331
+ }
332
+ // Subscription pending
333
+ elseif ( $subscription == 'pending' ) {
334
+ // Add email to pending list if not in it already
335
+ if ( !$this->is_pending( $email ) )
336
+ $this->add_to_pending( $email );
337
+ }
338
+ }
339
+
340
+ /**
341
+ * Check Jetpack Subscription
342
+ * @since 1.0.5
343
+ * @version 1.0
344
+ */
345
+ protected function check_jetpack_subscription( $email = NULL, $post_ids = NULL ) {
346
+ if ( $email === NULL ) return 'missing';
347
+
348
+ if ( !class_exists( 'Jetpack' ) && defined( 'JETPACK__PLUGIN_DIR' ) )
349
+ require_once( JETPACK__PLUGIN_DIR . 'jetpack.php' );
350
+ if ( !class_exists( 'Jetpack_Subscriptions' ) && defined( 'JETPACK__PLUGIN_DIR' ) )
351
+ require_once( JETPACK__PLUGIN_DIR . 'modules/subscriptions.php' );
352
+
353
+ if ( $post_ids === NULL )
354
+ $subscribe = Jetpack_Subscriptions::subscribe( $email, 0, false );
355
+ else
356
+ $subscribe = Jetpack_Subscriptions::subscribe( $email, $post_ids, false );
357
+
358
+ if ( is_wp_error( $subscribe ) ) {
359
+ $error = $subscribe->get_error_code();
360
+ } else {
361
+ $error = false;
362
+ foreach ( $subscribe as $response ) {
363
+ if ( is_wp_error( $response ) ) {
364
+ $error = $response->get_error_code();
365
+ break;
366
+ }
367
+ }
368
+ }
369
+
370
+ if ( $error ) {
371
+ switch ( $error ) {
372
+ case 'invalid_email':
373
+ $return = 'invalid';
374
+ break;
375
+ case 'active':
376
+ $return = 'active';
377
+ break;
378
+ case 'pending':
379
+ $return = 'pending';
380
+ break;
381
+ default:
382
+ $return = '';
383
+ break;
384
+ }
385
+ }
386
+ else {
387
+ if ( is_array( $subscribe ) && $subscribe[0] === true )
388
+ $error = true;
389
+ $return = 'pending';
390
+ }
391
+
392
+ if ( $error )
393
+ return $return;
394
+
395
+ return 'new';
396
+ }
397
+
398
+ /**
399
+ * Is Pending
400
+ * Checks the given email if it's in the pending array.
401
+ * @param $email (string) required email to check
402
+ * @param $section (string|int) either 'site' for site subscriptions or comment id, defaults to site
403
+ * @returns (bool) true or false
404
+ * @since 1.0.5
405
+ * @version 1.0
406
+ */
407
+ protected function is_pending( $email = NULL, $section = 'site' ) {
408
+ if ( $email === NULL || trim( $email ) === '' ) return;
409
+
410
+ if ( $section == 'site' )
411
+ $name = $section;
412
+ else
413
+ $name = 'comment';
414
+
415
+ // If pending list does not exist, create it and add our email
416
+ if ( false === ( $pending = get_option( 'mycred_jetpack_' . $name . '_pendings' ) ) ) {
417
+ if ( $name == 'site' )
418
+ $pending = array( $email );
419
+ else
420
+ $pending = array( $section => $email );
421
+
422
+ update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
423
+ }
424
+
425
+ // Site check
426
+ if ( $section == 'site' ) {
427
+ if ( in_array( $email, $pending ) )
428
+ return true;
429
+ }
430
+ // Comment check
431
+ else {
432
+ if ( array_key_exists( $section, $pending ) && $pending[$section] == $email )
433
+ return true;
434
+ }
435
+
436
+ return false;
437
+ }
438
+
439
+ /**
440
+ * Add to Pending
441
+ * Adds a given email to the pending array.
442
+ * @param $email (string) required email to check
443
+ * @param $section (string|int) either 'site' for site subscriptions or comment id, defaults to site
444
+ * @since 1.0.5
445
+ * @version 1.0
446
+ */
447
+ protected function add_to_pending( $email = NULL, $section = 'site' ) {
448
+ if ( $email === NULL || trim( $email ) === '' ) return;
449
+
450
+ if ( $section == 'site' )
451
+ $name = $section;
452
+ else
453
+ $name = 'comment';
454
+
455
+ // If pending list does not exist, create it and add our email
456
+ if ( false === ( $pending = get_option( 'mycred_jetpack_' . $name . '_pendings' ) ) ) {
457
+ if ( $name == 'site' )
458
+ $pending = array( $email );
459
+ else
460
+ $pending = array( $section => $email );
461
+
462
+ update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
463
+ }
464
+
465
+ // Site pending list
466
+ if ( $section == 'site' ) {
467
+ if ( !in_array( $email, $pending ) ) {
468
+ $pending[] = $email;
469
+ update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
470
+ }
471
+ }
472
+ // Comment pending list
473
+ else {
474
+ if ( !array_key_exists( $section, $pending ) ) {
475
+ $pending[$section] = $email;
476
+ update_option( 'mycred_jetpack_' . $name . '_pendings', $pending );
477
+ }
478
+ }
479
+ }
480
+
481
+ /**
482
+ * Preferences
483
+ * @since 1.0.5
484
+ * @version 1.0
485
+ */
486
+ public function preferences() {
487
+ $prefs = $this->prefs; ?>
488
+
489
+ <!-- Creds for Site Subscription -->
490
+ <label for="<?php echo $this->field_id( array( 'subscribe_site', 'creds' ) ); ?>" class="subheader"><?php _e( 'Site Subscriptions', 'mycred' ); ?></label>
491
+ <ol>
492
+ <li>
493
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_site', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_site', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['subscribe_site']['creds'] ); ?>" size="8" /></div>
494
+ </li>
495
+ <li class="empty">&nbsp;</li>
496
+ <li>
497
+ <label for="<?php echo $this->field_id( array( 'subscribe_site', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
498
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_site', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_site', 'log' ) ); ?>" value="<?php echo $prefs['subscribe_site']['log']; ?>" class="long" /></div>
499
+ <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
500
+ </li>
501
+ </ol>
502
+ <!-- Creds for Comment Subscription -->
503
+ <label for="<?php echo $this->field_id( array( 'subscribe_comment', 'creds' ) ); ?>" class="subheader"><?php _e( 'Comment Subscriptions', 'mycred' ); ?></label>
504
+ <ol>
505
+ <li>
506
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_comment', 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_comment', 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['subscribe_comment']['creds'] ); ?>" size="8" /></div>
507
+ </li>
508
+ <li class="empty">&nbsp;</li>
509
+ <li>
510
+ <label for="<?php echo $this->field_id( array( 'subscribe_comment', 'log' ) ); ?>"><?php _e( 'Log template', 'mycred' ); ?></label>
511
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'subscribe_comment', 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'subscribe_comment', 'log' ) ); ?>" value="<?php echo $prefs['subscribe_comment']['log']; ?>" class="long" /></div>
512
+ <span class="description"><?php _e( 'Available template tags: General', 'mycred' ); ?></span>
513
+ </li>
514
+ </ol>
515
+ <?php unset( $this );
516
+ }
517
+ }
518
+ }
519
+ }
520
+ ?>
plugins/mycred-hook-wp-favorite-posts.php ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WP Favorite Posts
4
+ * @since 1.1
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 1.1
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'WP_Favorite_myCRED_Hook' );
14
+ function WP_Favorite_myCRED_Hook( $installed ) {
15
+ $installed['wpfavorite'] = array(
16
+ 'title' => __( 'WP Favorite Posts', 'mycred' ),
17
+ 'description' => __( 'Awards %_plural% for users adding posts to their favorites.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Hook_WPFavorite' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * WP Favorite Hook
25
+ * @since 1.1
26
+ * @version 1.0
27
+ */
28
+ if ( !class_exists( 'myCRED_Hook_WPFavorite' ) ) {
29
+ class myCRED_Hook_WPFavorite extends myCRED_Hook {
30
+ /**
31
+ * Construct
32
+ */
33
+ function __construct( $hook_prefs ) {
34
+ parent::__construct( array(
35
+ 'id' => 'wpfavorite',
36
+ 'defaults' => array(
37
+ 'add' => array(
38
+ 'creds' => 1,
39
+ 'log' => '%plural% for adding a post as favorite'
40
+ ),
41
+ 'remove' => array(
42
+ 'creds' => 1,
43
+ 'log' => '%plural% deduction for removing a post from favorites'
44
+ )
45
+ )
46
+ ), $hook_prefs );
47
+ }
48
+
49
+ /**
50
+ * Run
51
+ * @since 1.1
52
+ * @version 1.0
53
+ */
54
+ public function run() {
55
+ if ( $this->prefs['add']['creds'] != 0 )
56
+ add_action( 'wpfp_after_add', array( $this, 'add_favorite' ) );
57
+
58
+ if ( $this->prefs['remove']['creds'] != 0 )
59
+ add_action( 'wpfp_after_remove', array( $this, 'remove_favorite' ) );
60
+ }
61
+
62
+ /**
63
+ * Add Favorite
64
+ * @since 1.1
65
+ * @version 1.0
66
+ */
67
+ public function add_favorite( $post_id ) {
68
+ // Must be logged in
69
+ if ( !is_user_logged_in() ) return;
70
+
71
+ $user_id = get_current_user_id();
72
+ // Check for exclusion
73
+ if ( $this->core->exclude_user( $user_id ) ) return;
74
+
75
+ // Make sure this is unique event
76
+ if ( $this->core->has_entry( 'add_favorite_post', $post_id, $user_id ) ) return;
77
+
78
+ // Execute
79
+ $this->core->add_creds(
80
+ 'add_favorite_post',
81
+ $user_id,
82
+ $this->prefs['add']['creds'],
83
+ $this->prefs['add']['log'],
84
+ $post_id,
85
+ array( 'ref_type' => 'post' )
86
+ );
87
+ }
88
+
89
+ /**
90
+ * Remove Favorite
91
+ * @since 1.1
92
+ * @version 1.0
93
+ */
94
+ public function remove_favorite( $post_id ) {
95
+ // Must be logged in
96
+ if ( !is_user_logged_in() ) return;
97
+
98
+ $user_id = get_current_user_id();
99
+ // Check for exclusion
100
+ if ( $this->core->exclude_user( $user_id ) ) return;
101
+
102
+ // Make sure this is unique event
103
+ if ( $this->core->has_entry( 'favorite_post_removed', $post_id, $user_id ) ) return;
104
+
105
+ // Execute
106
+ $this->core->add_creds(
107
+ 'favorite_post_removed',
108
+ $user_id,
109
+ $this->prefs['remove']['creds'],
110
+ $this->prefs['remove']['log'],
111
+ $post_id,
112
+ array( 'ref_type' => 'post' )
113
+ );
114
+ }
115
+
116
+ /**
117
+ * Preferences for WP-Polls
118
+ * @since 1.1
119
+ * @version 1.0
120
+ */
121
+ public function preferences() {
122
+ $prefs = $this->prefs; ?>
123
+
124
+ <label class="subheader" for="<?php echo $this->field_id( array( 'add' => 'creds' ) ); ?>"><?php _e( 'Adding Content to Favorites', 'mycred' ); ?></label>
125
+ <ol>
126
+ <li>
127
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'add' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['add']['creds'] ); ?>" size="8" /></div>
128
+ </li>
129
+ </ol>
130
+ <label class="subheader" for="<?php echo $this->field_id( array( 'add' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
131
+ <ol>
132
+ <li>
133
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'add' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'add' => 'log' ) ); ?>" value="<?php echo $prefs['add']['log']; ?>" class="long" /></div>
134
+ <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
135
+ </li>
136
+ </ol>
137
+ <label class="subheader" for="<?php echo $this->field_id( array( 'remove' => 'creds' ) ); ?>"><?php _e( 'Removing Content from Favorites', 'mycred' ); ?></label>
138
+ <ol>
139
+ <li>
140
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'remove' => 'creds' ) ); ?>" id="<?php echo $this->field_id( array( 'remove' => 'creds' ) ); ?>" value="<?php echo $this->core->format_number( $prefs['remove']['creds'] ); ?>" size="8" /></div>
141
+ </li>
142
+ </ol>
143
+ <label class="subheader" for="<?php echo $this->field_id( array( 'remove' => 'log' ) ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
144
+ <ol>
145
+ <li>
146
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( array( 'remove' => 'log' ) ); ?>" id="<?php echo $this->field_id( array( 'remove' => 'log' ) ); ?>" value="<?php echo $prefs['remove']['log']; ?>" class="long" /></div>
147
+ <span class="description"><?php _e( 'Available template tags: General and Post Related', 'mycred' ); ?></span>
148
+ </li>
149
+ </ol>
150
+ <?php unset( $this );
151
+ }
152
+ }
153
+ }
154
+ }
155
+ ?>
plugins/mycred-hook-wp-polls.php ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WP-Polls Plugin
4
+ * @since 1.1
5
+ * @version 1.0
6
+ */
7
+ if ( defined( 'myCRED_VERSION' ) ) {
8
+ /**
9
+ * Register Hook
10
+ * @since 1.1
11
+ * @version 1.0
12
+ */
13
+ add_filter( 'mycred_setup_hooks', 'WP_Polls_myCRED_Hook' );
14
+ function WP_Polls_myCRED_Hook( $installed ) {
15
+ $installed['wppolls'] = array(
16
+ 'title' => __( 'WP-Polls', 'mycred' ),
17
+ 'description' => __( 'Awards %_plural% for users voting in polls.', 'mycred' ),
18
+ 'callback' => array( 'myCRED_Hook_WPPolls' )
19
+ );
20
+ return $installed;
21
+ }
22
+
23
+ /**
24
+ * WP-Polls Hook
25
+ * @since 1.1
26
+ * @version 1.0
27
+ */
28
+ if ( !class_exists( 'myCRED_Hook_WPPolls' ) ) {
29
+ class myCRED_Hook_WPPolls extends myCRED_Hook {
30
+ /**
31
+ * Construct
32
+ */
33
+ function __construct( $hook_prefs ) {
34
+ parent::__construct( array(
35
+ 'id' => 'wppolls',
36
+ 'defaults' => array(
37
+ 'creds' => 1,
38
+ 'log' => '%plural% for voting'
39
+ )
40
+ ), $hook_prefs );
41
+ }
42
+
43
+ /**
44
+ * Run
45
+ * @since 1.1
46
+ * @version 1.0
47
+ */
48
+ public function run() {
49
+ add_action( 'wp_ajax_polls', array( $this, 'vote_poll' ), 1 );
50
+ add_filter( 'mycred_parse_tags_poll', array( $this, 'parse_custom_tags' ), 10, 2 );
51
+ }
52
+
53
+ /**
54
+ * Poll Voting
55
+ * @since 1.1
56
+ * @version 1.0
57
+ */
58
+ public function vote_poll() {
59
+ if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'polls' && is_user_logged_in() ) {
60
+ // Get Poll ID
61
+ $poll_id = ( isset( $_REQUEST['poll_id'] ) ? intval( $_REQUEST['poll_id'] ) : 0 );
62
+ // Ensure Poll ID Is Valid
63
+ if ( $poll_id != 0 ) {
64
+ // Verify Referer
65
+ if ( check_ajax_referer( 'poll_' . $poll_id . '-nonce', 'poll_' . $poll_id . '_nonce', false ) ) {
66
+ // Which View
67
+ switch ( $_REQUEST['view'] ) {
68
+ case 'process':
69
+ $poll_aid = $_POST["poll_$poll_id"];
70
+ $poll_aid_array = array_unique( array_map( 'intval', explode( ',', $poll_aid ) ) );
71
+ if ( $poll_id > 0 && !empty( $poll_aid_array ) && check_allowtovote() ) {
72
+ $check_voted = check_voted( $poll_id );
73
+ if ( $check_voted == 0 ) {
74
+ $user_id = get_current_user_id();
75
+ // Make sure we are not excluded
76
+ if ( !$this->core->exclude_user( $user_id ) ) {
77
+ $this->core->add_creds(
78
+ 'poll_voting',
79
+ $user_id,
80
+ $this->prefs['creds'],
81
+ $this->prefs['log'],
82
+ $poll_id,
83
+ array( 'ref_type' => 'poll' )
84
+ );
85
+ }
86
+ }
87
+ }
88
+ break;
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Parse Custom Tags in Log
97
+ * @since 1.1
98
+ * @version 1.0
99
+ */
100
+ public function parse_custom_tags( $content, $log_entry ) {
101
+ $poll_id = $log_entry->ref_id;
102
+ $content = str_replace( '%poll_id%', $poll_id, $content );
103
+ $content = str_replace( '%poll_question%', $this->get_poll_name( $poll_id ), $content );
104
+ return $content;
105
+ }
106
+
107
+ /**
108
+ * Get Poll Name (Question)
109
+ * @since 1.1
110
+ * @version 1.0
111
+ */
112
+ protected function get_poll_name( $poll_id ) {
113
+ global $wpdb;
114
+ $sql = "SELECT pollq_question FROM $wpdb->pollsq WHERE pollq_id = %d ";
115
+ return $wpdb->get_var( $wpdb->prepare( $sql, $poll_id ) );
116
+ }
117
+
118
+ /**
119
+ * Preferences for WP-Polls
120
+ * @since 1.1
121
+ * @version 1.0
122
+ */
123
+ public function preferences() {
124
+ $prefs = $this->prefs; ?>
125
+
126
+ <label class="subheader"><?php echo $this->core->plural(); ?></label>
127
+ <ol>
128
+ <li>
129
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( 'creds' ); ?>" id="<?php echo $this->field_id( 'creds' ); ?>" value="<?php echo $this->core->format_number( $prefs['creds'] ); ?>" size="8" /></div>
130
+ </li>
131
+ </ol>
132
+ <label class="subheader"><?php _e( 'Log Template', 'mycred' ); ?></label>
133
+ <ol>
134
+ <li>
135
+ <div class="h2"><input type="text" name="<?php echo $this->field_name( 'log' ); ?>" id="<?php echo $this->field_id( 'log' ); ?>" value="<?php echo $prefs['log']; ?>" class="long" /></div>
136
+ <span class="description"><?php _e( 'Available template tags: General. You can also use %poll_id% and %poll_question%.', 'mycred' ); ?></span>
137
+ </li>
138
+ </ol>
139
+ <?php unset( $this );
140
+ }
141
+ }
142
+ }
143
+ }
144
+ ?>
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: designbymerovingi
3
  Tags:points, tokens, credit, management, reward, charge, community, contest, BuddyPress, Jetpack, bbPress
4
  Requires at least: 3.1
5
  Tested up to: 3.6.1
6
- Stable tag: 1.2.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -11,40 +11,31 @@ myCRED is an adaptive points management system that lets you award / charge your
11
 
12
  == Description ==
13
 
14
- **Reward Website Interactions**
15
 
16
- Engage your members by awarding them points for [interacting](http://mycred.me/about/hooks/) with your website and present them with a [leaderboard](http://mycred.me/shortcodes/mycred_leaderboard/).
17
 
18
- **my**CRED supports an ever growing list of [third-party plugins](http://mycred.me/about/supported-plugins/) in order to help you reward more actions.
19
-
20
- **Your online currency**
21
-
22
- Reward returning customers in your [online store](http://mycred.me/add-ons/gateway/) with points or let your members pay for products, [content](http://mycred.me/add-ons/sell-content/) or events using points.
23
-
24
- **my**CRED also supports points [transfers](http://mycred.me/add-ons/transfer/) and [points purchases](http://mycred.me/add-ons/buycred/) using popular online payment gateways.
25
-
26
- **Manage, Edit, Adjust**
27
-
28
- **my**CRED was built to be flexible and supports point systems with or without decimals. All transactions / changes are [logged](http://mycred.me/about/features/the-log/) and you can always [adjust](http://mycred.me/about/features/edit-users-points/) any users point balance directly from your user list in the admin area.
29
-
30
- Don't let **my**CREDs' adaptive nature fool you. It was built to keep things simple, showing you only what your site [supports](http://mycred.me/add-ons/buddypress/).
31
 
32
  **Core Features:**
33
 
34
  * Logging of all events
35
  * Log entry templates and template tags
36
- * Inline Points Management
37
  * Easy to manage Hooks for each instance where users gain/loose points
38
  * Supports any point format
39
- * Rankings
40
  * Custom My Balance Widget
41
  * Custom Leader board Widget
42
  * Minimum CSS Styling
 
 
 
43
 
44
 
45
  **Built-in Add-ons:**
46
 
47
- Your **my**CRED installation comes packed with optional add-ons, adding further features and third-party plugin support.
48
 
49
  * *Email Notices* - Setup email notices for your users and/or admins when a users points balance changes or on specific events, for example when they purchase content set for sale.
50
  * *Transfer* - Allows your users to send points to other members with an option to impose a daily-, weekly- or monthly transfer limit.
@@ -63,13 +54,17 @@ Your **my**CRED installation comes packed with optional add-ons, adding further
63
  **my**CRED supports Multisite installations and offers you the following features:
64
 
65
  * *Master Template* - Force your main sites **my**CRED installation upon all other sites. Each site will have it's own log but have no access to any settings, hooks or add-ons.
 
66
  * *Block List* - Allows you to block specific sites from using **my**CRED.
67
 
 
 
68
  **Supported Third-party Plugins:**
69
 
70
  The following third party plugins are supported by default:
71
 
72
- * [Contact Form 7](http://wordpress.org/extend/plugins/contact-form-7/) - Award users points for submitting forms.
 
73
  * [Invite Anyone Plugin](http://wordpress.org/extend/plugins/invite-anyone/) - Award users for sending invitations and for each time an invited user accepts and signs up.
74
  * [Jetpack](http://wordpress.org/extend/plugins/jetpack/) - Award users for subscribing to comments or your site. Requires users to be logged in or subscribe using the email saved in their profile.
75
  * [BadgeOS](http://wordpress.org/extend/plugins/badgeos/) - Award points for any BadgeOS achievement type.
@@ -101,6 +96,8 @@ The following third party plugins are supported by default:
101
 
102
  For a comprehensive guide on how to install myCRED or how this plugin works, consider visiting our [Online Tutorial](http://mycred.me/support/tutorials/how-to-install-and-setup-mycred/).
103
 
 
 
104
  1. Upload `mycred` to the `/wp-content/plugins/` directory
105
  2. Activate the plugin through the 'Plugins' menu in WordPress
106
  3. Run the myCRED Setup which will allow you to configure your **my**CRED installation
@@ -108,6 +105,26 @@ For a comprehensive guide on how to install myCRED or how this plugin works, con
108
  5. Configure and Enable the hooks you wish to use though the 'Hooks' sub menu in WordPress
109
  6. Configure any other Add-on settings you might be using i.e. BuddyPress though the 'Settings' sub menu in WordPress
110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
 
112
  == Frequently Asked Questions ==
113
 
@@ -143,34 +160,14 @@ Yes but if one of them is bought, all is shown. The mycred_sell_this shortcode w
143
 
144
  == Upgrade Notice ==
145
 
146
- = 1.2.3 =
147
- New Notifications Add-on and added support for Email Notices for users getting promoted / demoted. Bug fixes.
148
-
149
- = 1.2.2 =
150
- Improved performance, better handling of websites with large user base and several bug fixes.
151
-
152
- = 1.2.1 =
153
- See http://mycred.me/download/changelog/
154
-
155
- = 1.2 =
156
- See http://mycred.me/download/changelog/
157
-
158
- = 1.1.2 =
159
- See: http://mycred.me/download/changelog/
160
-
161
- = 1.1.1 =
162
- See: http://mycred.me/download/changelog/
163
-
164
- = 1.1 =
165
- See: http://mycred.me/download/changelog/
166
-
167
- = 1.0.9.3 =
168
- See: http://mycred.me/download/changelog/2/
169
 
170
 
171
  == Other Notes ==
172
 
173
  = Requirements =
 
174
  * PHP version 5.2.4 or greater
175
  * MySQL version 5.0 or greater
176
 
@@ -180,6 +177,33 @@ See: http://mycred.me/download/changelog/2/
180
 
181
  == Changelog ==
182
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  = 1.2.3 =
184
  * Moved .POT file to correct location in /lang
185
  * Cart support for Email notices has incorrect function name.
3
  Tags:points, tokens, credit, management, reward, charge, community, contest, BuddyPress, Jetpack, bbPress
4
  Requires at least: 3.1
5
  Tested up to: 3.6.1
6
+ Stable tag: 1.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
11
 
12
  == Description ==
13
 
14
+ We feel that todays WordPress community lacks a flexible points management system. Existing system often feel restrictive, stale or lack support for popular plugins.
15
 
16
+ So we built an adaptive plugin which gives it’s users full control on how points are awarded, used, traded, managed, logged and presented.
17
 
18
+ **my**CRED is an adaptive points management system for WordPress powered websites, giving you full control on how points are gained, used, traded, managed, logged or presented.
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  **Core Features:**
21
 
22
  * Logging of all events
23
  * Log entry templates and template tags
24
+ * Easy User Points editing
25
  * Easy to manage Hooks for each instance where users gain/loose points
26
  * Supports any point format
27
+ * Ranking
28
  * Custom My Balance Widget
29
  * Custom Leader board Widget
30
  * Minimum CSS Styling
31
+ * Built-in log and balance reset
32
+ * Export of users balances to CSV files
33
+ * Setup points to be used as a virtual currency or store credit
34
 
35
 
36
  **Built-in Add-ons:**
37
 
38
+ Your myCRED installation comes packed with optional add-ons, adding further features and third-party plugin support.
39
 
40
  * *Email Notices* - Setup email notices for your users and/or admins when a users points balance changes or on specific events, for example when they purchase content set for sale.
41
  * *Transfer* - Allows your users to send points to other members with an option to impose a daily-, weekly- or monthly transfer limit.
54
  **my**CRED supports Multisite installations and offers you the following features:
55
 
56
  * *Master Template* - Force your main sites **my**CRED installation upon all other sites. Each site will have it's own log but have no access to any settings, hooks or add-ons.
57
+ * *Centralized Log* - All sites uses your main sites log instead of individual logs for each site.
58
  * *Block List* - Allows you to block specific sites from using **my**CRED.
59
 
60
+ **Important!** The above features requires you to enable **my**CRED network wide!
61
+
62
  **Supported Third-party Plugins:**
63
 
64
  The following third party plugins are supported by default:
65
 
66
+ * [BuddyPress](http://buddypress.org)
67
+ * [Contact Form 7](http://wordpress.org/plugins/contact-form-7/) - Award users points for submitting forms.
68
  * [Invite Anyone Plugin](http://wordpress.org/extend/plugins/invite-anyone/) - Award users for sending invitations and for each time an invited user accepts and signs up.
69
  * [Jetpack](http://wordpress.org/extend/plugins/jetpack/) - Award users for subscribing to comments or your site. Requires users to be logged in or subscribe using the email saved in their profile.
70
  * [BadgeOS](http://wordpress.org/extend/plugins/badgeos/) - Award points for any BadgeOS achievement type.
96
 
97
  For a comprehensive guide on how to install myCRED or how this plugin works, consider visiting our [Online Tutorial](http://mycred.me/support/tutorials/how-to-install-and-setup-mycred/).
98
 
99
+ **Single Site**
100
+
101
  1. Upload `mycred` to the `/wp-content/plugins/` directory
102
  2. Activate the plugin through the 'Plugins' menu in WordPress
103
  3. Run the myCRED Setup which will allow you to configure your **my**CRED installation
105
  5. Configure and Enable the hooks you wish to use though the 'Hooks' sub menu in WordPress
106
  6. Configure any other Add-on settings you might be using i.e. BuddyPress though the 'Settings' sub menu in WordPress
107
 
108
+ **Multisite with one myCRED installation on all sites**
109
+
110
+ 1. Upload `mycred` to the `/wp-content/plugins/` directory
111
+ 2. Enable myCRED Network Wide though your WordPress Network page
112
+ 3. While in your Network area, visit the new myCRED menu and select your setup and save.
113
+ 4. Visit your main sites admin area
114
+ 5. Run the myCRED Setup which will allow you to configure your **my**CRED installation
115
+ 6. Activate the Add-ons you wish to use under the 'myCRED' menu in WordPress
116
+ 7. Configure and Enable the hooks you wish to use though the 'Hooks' sub menu in WordPress
117
+ 8. Configure any other Add-on settings you might be using i.e. BuddyPress though the 'Settings' sub menu in WordPress
118
+
119
+ **Multisite with individual myCRED installation for each site**
120
+
121
+ 1. Upload `mycred` to the `/wp-content/plugins/` directory
122
+ 2. Activate the plugin through the 'Plugins' menu in WordPress
123
+ 3. Run the myCRED Setup which will allow you to configure your **my**CRED installation
124
+ 4. Activate the Add-ons you wish to use under the 'myCRED' menu in WordPress
125
+ 5. Configure and Enable the hooks you wish to use though the 'Hooks' sub menu in WordPress
126
+ 6. Configure any other Add-on settings you might be using i.e. BuddyPress though the 'Settings' sub menu in WordPress
127
+ 7. Repeat the process on each site you want to run myCRED
128
 
129
  == Frequently Asked Questions ==
130
 
160
 
161
  == Upgrade Notice ==
162
 
163
+ = 1.3 =
164
+ Performance improvement, new Remote API, updated styling and bug fixes.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
 
166
 
167
  == Other Notes ==
168
 
169
  = Requirements =
170
+ * WordPress 3.1 or greater
171
  * PHP version 5.2.4 or greater
172
  * MySQL version 5.0 or greater
173
 
177
 
178
  == Changelog ==
179
 
180
+ = 1.3 =
181
+ * Improved myCRED's module management lowering memory usage.
182
+ * Re-designed hooks, add-ons and settings accordion.
183
+ * Moved Log Query to mycred-log.php in the includes/ folder.
184
+ * Removed mycred_modules hook.
185
+ * Improved Hooks management and re-structured hooks in new plugins/ folder.
186
+ * Adjusted styling for MP6 users.
187
+ * Added %title% as new template tag for mycred_link.
188
+ * Added class attribute to mycred_buy shortcode.
189
+ * Added support for profit sharing to Supported Shopping Carts and Event Booking plugins.
190
+ * Added support for WP E-Commerce Shopping cart.
191
+ * Added new constant MYCRED_LOG_TABLE to allow custom table names for the log.
192
+ * Added new Management to settings page allowing to empty the log, reset all user points to zero or export all user balances to a CSV file.
193
+ * Added myCRED Remote API to allow remote actions for sites.
194
+ * Rewritten myCRED Network for Multisite installations.
195
+ * Updated the mycred_my_balance shortcode to allow stripping off html wrappers.
196
+ * Added new mycred_log_date filter allowing to customise the log dates.
197
+ * Added daily limit for points for profile updates (Activities) in Buddypress.
198
+ * Added option to award points to content authors for comments made by others.
199
+ * Fixed Bug #52 - Notifications add-on does not parse post related template tags.
200
+ * Fixed Bug #53 - General template tags are not parsed in sell content templates.
201
+ * Fixed Bug #54 - mycred_link shortcode does not support target attribute.
202
+ * Fixed Bug #55 - Users can transfer points to themselves.
203
+ * Fixed Bug #56 - Incorrect use of ob_start() in myCRED widgets.
204
+ * Fixed Bug #57 - Incorrect capability check on Multisites as edit_users is not available.
205
+
206
+
207
  = 1.2.3 =
208
  * Moved .POT file to correct location in /lang
209
  * Cart support for Email notices has incorrect function name.