WP User Frontend – Membership, Profile, Registration & Post Submission Plugin for WordPress - Version 2.8.5

Version Description

Download this release

Release Info

Developer tareq1988
Plugin Icon 128x128 WP User Frontend – Membership, Profile, Registration & Post Submission Plugin for WordPress
Version 2.8.5
Comparing to
See all releases

Code changes from version 2.8.4 to 2.8.5

admin/class-admin-subscription.php CHANGED
@@ -151,10 +151,16 @@ class WPUF_Admin_Subscription {
151
 
152
  $user_info = get_userdata( $user_id );
153
 
 
 
 
 
154
  $data = array(
155
  'user_id' => $user_id,
156
  'status' => 'completed',
157
- 'cost' => $pack->$meta_value['_billing_amount'][0],
 
 
158
  'post_id' => 0,
159
  'pack_id' => $pack_id,
160
  'payer_first_name' => $user_info->first_name,
151
 
152
  $user_info = get_userdata( $user_id );
153
 
154
+ $cost = $pack->$meta_value['_billing_amount'][0];
155
+ $billing_amount = apply_filters( 'wpuf_payment_amount', $cost );
156
+ $tax_amount = $billing_amount - $cost;
157
+
158
  $data = array(
159
  'user_id' => $user_id,
160
  'status' => 'completed',
161
+ 'subtotal' => $cost,
162
+ 'tax' => $tax_amount,
163
+ 'cost' => $billing_amount,
164
  'post_id' => 0,
165
  'pack_id' => $pack_id,
166
  'payer_first_name' => $user_info->first_name,
admin/form-template.php CHANGED
@@ -131,6 +131,7 @@ class WPUF_Admin_Form_Template {
131
 
132
  // form has been created, lets setup
133
  update_post_meta( $form_id, 'wpuf_form_settings', $template_object->get_form_settings() );
 
134
 
135
  $form_fields = $template_object->get_form_fields();
136
 
131
 
132
  // form has been created, lets setup
133
  update_post_meta( $form_id, 'wpuf_form_settings', $template_object->get_form_settings() );
134
+ update_post_meta( $form_id, 'wpuf_form_version', WPUF_VERSION );
135
 
136
  $form_fields = $template_object->get_form_fields();
137
 
admin/form.php CHANGED
@@ -849,10 +849,11 @@ class WPUF_Admin_Form {
849
  array(
850
  'name' => 'exclude',
851
  'title' => __( 'Selection Terms', 'wpuf' ),
852
- 'type' => 'text',
853
  'section' => 'advanced',
854
  'priority' => 27,
855
  'help_text' => __( 'Enter the term IDs as comma separated (without space) to exclude/include in the form.', 'wpuf' ),
 
856
  ),
857
 
858
  array(
@@ -901,7 +902,7 @@ class WPUF_Admin_Form {
901
  'orderby' => 'name',
902
  'order' => 'ASC',
903
  'exclude_type' => '',
904
- 'exclude' => '',
905
  'woo_attr' => '',
906
  'woo_attr_vis' => '',
907
  'id' => 0,
849
  array(
850
  'name' => 'exclude',
851
  'title' => __( 'Selection Terms', 'wpuf' ),
852
+ 'type' => 'multiselect',
853
  'section' => 'advanced',
854
  'priority' => 27,
855
  'help_text' => __( 'Enter the term IDs as comma separated (without space) to exclude/include in the form.', 'wpuf' ),
856
+ 'options' => wpuf_get_terms( $tax_name ),
857
  ),
858
 
859
  array(
902
  'orderby' => 'name',
903
  'order' => 'ASC',
904
  'exclude_type' => '',
905
+ 'exclude' => array(),
906
  'woo_attr' => '',
907
  'woo_attr_vis' => '',
908
  'id' => 0,
admin/html/whats-new.php CHANGED
@@ -1,5 +1,31 @@
1
  <?php
2
  $changelog = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  array(
4
  'version' => 'Version 2.8.4',
5
  'released' => '2018-03-04',
1
  <?php
2
  $changelog = array(
3
+ array(
4
+ 'version' => 'Version 2.8.5',
5
+ 'released' => '2018-03-12',
6
+ 'changes' => array(
7
+ array(
8
+ 'title' => __( 'Enhanced Login Redirect to redirect users to previous page', 'wpuf' ),
9
+ 'type' => 'New',
10
+ 'description' => __( 'You can choose Previous Page as Login Redirect page settings now to redirect users to the page from which they went for Login. ', 'wpuf' )
11
+ ),
12
+ array(
13
+ 'title' => __( 'Email HTML links not Rendreing properly issue is fixed', 'wpuf' ),
14
+ 'type' => 'Fix',
15
+ 'description' => __( 'For some clients emails were not rendering the HTML links properly, this is now fixed', 'wpuf' ),
16
+ ),
17
+ array(
18
+ 'title' => __( 'Form Builder : Form Field\'s Help text styles not showing properly', 'wpuf' ),
19
+ 'type' => 'Fix',
20
+ 'description' => __( 'Help texts styling is now fixed and much easier to read and understand', 'wpuf' ),
21
+ ),
22
+ array(
23
+ 'title' => __( 'Various other code improvements', 'wpuf' ),
24
+ 'type' => 'Improvement',
25
+ 'description' => __( 'Code structure organization and optimization for better performance', 'wpuf' ),
26
+ )
27
+ )
28
+ ),
29
  array(
30
  'version' => 'Version 2.8.4',
31
  'released' => '2018-03-04',
admin/settings-options.php CHANGED
@@ -53,6 +53,10 @@ function wpuf_settings_fields() {
53
  $pages = wpuf_get_pages();
54
  $users = wpuf_list_users();
55
 
 
 
 
 
56
  $all_currencies = wpuf_get_currencies();
57
 
58
  $currencies = array();
@@ -254,16 +258,26 @@ function wpuf_settings_fields() {
254
  ),
255
  ) ),
256
  'wpuf_my_account' => apply_filters( 'wpuf_options_wpuf_my_account', array(
 
 
 
 
 
 
 
257
  array(
258
  'name' => 'show_subscriptions',
259
  'label' => __( 'Show Subscriptions', 'wpuf' ),
260
  'desc' => __( 'Show Subscriptions tab in "my account" page where <code>[wpuf_account]</code> is located', 'wpuf' ),
261
- 'type' => 'select',
262
- 'default' => 'yes',
263
- 'options' => array(
264
- 'yes' => __( 'Yes', 'wpuf' ),
265
- 'no' => __( 'No', 'wpuf' )
266
- )
 
 
 
267
  ),
268
  ) ),
269
  'wpuf_profile' => apply_filters( 'wpuf_options_profile', array(
@@ -300,7 +314,7 @@ function wpuf_settings_fields() {
300
  'label' => __( 'Redirect After Login', 'wpuf' ),
301
  'desc' => __( 'After successfull login, where the page will redirect to', 'wpuf' ),
302
  'type' => 'select',
303
- 'options' => $pages
304
  ),
305
  array(
306
  'name' => 'wp_default_login_redirect',
53
  $pages = wpuf_get_pages();
54
  $users = wpuf_list_users();
55
 
56
+ $login_redirect_pages = array(
57
+ 'previous_page' => __( 'Previous Page', 'wpuf' )
58
+ ) + $pages;
59
+
60
  $all_currencies = wpuf_get_currencies();
61
 
62
  $currencies = array();
258
  ),
259
  ) ),
260
  'wpuf_my_account' => apply_filters( 'wpuf_options_wpuf_my_account', array(
261
+ array(
262
+ 'name' => 'account_page',
263
+ 'label' => __( 'Account Page', 'wpuf' ),
264
+ 'desc' => __( 'Select the page which contains <code>[wpuf_account]</code> shortcode', 'wpuf' ),
265
+ 'type' => 'select',
266
+ 'options' => $pages
267
+ ),
268
  array(
269
  'name' => 'show_subscriptions',
270
  'label' => __( 'Show Subscriptions', 'wpuf' ),
271
  'desc' => __( 'Show Subscriptions tab in "my account" page where <code>[wpuf_account]</code> is located', 'wpuf' ),
272
+ 'type' => 'checkbox',
273
+ 'default' => 'on',
274
+ ),
275
+ array(
276
+ 'name' => 'show_billing_address',
277
+ 'label' => __( 'Show Billing Address', 'wpuf' ),
278
+ 'desc' => __( 'Show billing address in account page.', 'wpuf' ),
279
+ 'type' => 'checkbox',
280
+ 'default' => 'on',
281
  ),
282
  ) ),
283
  'wpuf_profile' => apply_filters( 'wpuf_options_profile', array(
314
  'label' => __( 'Redirect After Login', 'wpuf' ),
315
  'desc' => __( 'After successfull login, where the page will redirect to', 'wpuf' ),
316
  'type' => 'select',
317
+ 'options' => $login_redirect_pages
318
  ),
319
  array(
320
  'name' => 'wp_default_login_redirect',
admin/transactions.php CHANGED
@@ -4,18 +4,10 @@
4
  <?php
5
  global $wpdb;
6
  $total_income = $wpdb->get_var( "SELECT SUM(cost) FROM {$wpdb->prefix}wpuf_transaction WHERE status = 'completed'" );
7
- $month_income = $wpdb->get_var( "SELECT SUM(cost) FROM {$wpdb->prefix}wpuf_transaction WHERE YEAR(`created`) = YEAR(NOW()) AND MONTH(`created`) = MONTH(NOW()) AND status = 'completed'" );
 
8
  ?>
9
 
10
- <ul>
11
- <li>
12
- <strong><?php _e( 'Total Income:', 'wpuf' ); ?></strong> <?php echo wpuf_format_price( $total_income ); ?><br />
13
- </li>
14
- <li>
15
- <strong><?php _e( 'This Month:', 'wpuf' ); ?></strong> <?php echo wpuf_format_price( $month_income ); ?>
16
- </li>
17
- </ul>
18
-
19
  <form method="post">
20
  <input type="hidden" name="page" value="transactions">
21
  <?php
4
  <?php
5
  global $wpdb;
6
  $total_income = $wpdb->get_var( "SELECT SUM(cost) FROM {$wpdb->prefix}wpuf_transaction WHERE status = 'completed'" );
7
+ //$month_income = $wpdb->get_var( "SELECT SUM(cost) FROM {$wpdb->prefix}wpuf_transaction WHERE YEAR(`created`) = YEAR(NOW()) AND MONTH(`created`) = MONTH(NOW()) AND status = 'completed'" );
8
+ $total_tax = $wpdb->get_var( "SELECT SUM(tax) FROM {$wpdb->prefix}wpuf_transaction WHERE status = 'completed'" );
9
  ?>
10
 
 
 
 
 
 
 
 
 
 
11
  <form method="post">
12
  <input type="hidden" name="page" value="transactions">
13
  <?php
assets/css/admin.css CHANGED
@@ -63,47 +63,6 @@
63
  line-height: 20px;
64
  width: 200px;
65
  }
66
- .tooltip {
67
- position: absolute;
68
- z-index: 9999;
69
- color: #fff;
70
- font-size: 11px;
71
- width: 250px;
72
- background: #333;
73
- -moz-border-radius: 5px;
74
- -webkit-border-radius: 5px;
75
- margin: 20px;
76
- opacity: .8;
77
- }
78
- .tooltip:after {
79
- border-color: transparent transparent #333;
80
- border-style: solid;
81
- border-width: 8px;
82
- content: "";
83
- display: block;
84
- height: 0;
85
- left: 20px;
86
- position: absolute;
87
- top: -16px;
88
- width: 0;
89
- }
90
- .tooltip .tipBody {
91
- padding: 5px 10px;
92
- text-indent: 0;
93
- color: #fff;
94
- text-shadow: 1px 1px 1px #333;
95
- font-size: 12px;
96
- }
97
- .tooltip .buble {
98
- border-right: 60px solid white;
99
- border-top: 50px solid #CCCCCC;
100
- height: 0;
101
- line-height: 0;
102
- position: absolute;
103
- right: -60px;
104
- top: 30px;
105
- width: 0;
106
- }
107
  span.wpuf_help {
108
  height: 16px;
109
  width: 16px;
63
  line-height: 20px;
64
  width: 200px;
65
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  span.wpuf_help {
67
  height: 16px;
68
  width: 16px;
assets/css/frontend-forms.css CHANGED
@@ -1266,3 +1266,29 @@ input[type="text"].wpuf-google-map-search {
1266
  .dokan-dashboard-content.dokan-wpuf-dashboard .wpuf-form-add .wpuf-form li.wpuf-el {
1267
  margin-bottom: 15px;
1268
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1266
  .dokan-dashboard-content.dokan-wpuf-dashboard .wpuf-form-add .wpuf-form li.wpuf-el {
1267
  margin-bottom: 15px;
1268
  }
1269
+ table#wpuf-address-country-state input {
1270
+ width: 100%;
1271
+ padding: 0 10px;
1272
+ border: 1px solid #f5f5f5;
1273
+ color: #6d6d6d;
1274
+ font-size: 14px;
1275
+ line-height: 36px;
1276
+ height: 36px;
1277
+ box-shadow: none;
1278
+ }
1279
+ table#wpuf-address-country-state select {
1280
+ width: 100%;
1281
+ padding: 0 10px;
1282
+ border: 1px solid #f5f5f5;
1283
+ color: #6d6d6d;
1284
+ font-size: 14px;
1285
+ line-height: 36px;
1286
+ height: 36px;
1287
+ box-shadow: none;
1288
+ }
1289
+ table#wpuf-address-country-state input.wpuf-btn {
1290
+ width: inherit;
1291
+ }
1292
+ table#wpuf-address-country-state td {
1293
+ border: none;
1294
+ }
assets/js-templates/form-components.php CHANGED
@@ -94,6 +94,22 @@
94
  <div class="panel-field-opt panel-field-html-help-text" v-html="option_field.text"></div>
95
  </script>
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  <script type="text/x-template" id="tmpl-wpuf-field-option-data">
98
  <div class="panel-field-opt panel-field-opt-text">
99
  <label class="clearfix">
94
  <div class="panel-field-opt panel-field-html-help-text" v-html="option_field.text"></div>
95
  </script>
96
 
97
+ <script type="text/x-template" id="tmpl-wpuf-field-multiselect">
98
+ <div class="panel-field-opt panel-field-opt-select">
99
+ <label v-if="option_field.title">
100
+ {{ option_field.title }} <help-text v-if="option_field.help_text" :text="option_field.help_text"></help-text>
101
+ </label>
102
+
103
+ <select
104
+ :class="['term-list-selector']"
105
+ v-model="value"
106
+ multiple
107
+ >
108
+ <option v-for="(option, key) in option_field.options" :value="key">{{ option }}</option>
109
+ </select>
110
+ </div>
111
+ </script>
112
+
113
  <script type="text/x-template" id="tmpl-wpuf-field-option-data">
114
  <div class="panel-field-opt panel-field-opt-text">
115
  <label class="clearfix">
assets/js/billing-address.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function($){
2
+
3
+ $('#wpuf-ajax-address-form').submit(function (e) {
4
+ e.preventDefault();
5
+ $.post(ajax_object.ajaxurl, {
6
+ action: 'wpuf_address_ajax_action',
7
+ data: $('#wpuf-ajax-address-form').serialize(),
8
+ });
9
+ });
10
+
11
+ $( document.body ).on('change', 'select#wpuf_biiling_country', function() {
12
+ var $this = $(this), $tr = $this.closest('tr');
13
+ var data = {
14
+ action: 'wpuf_get_shop_states',
15
+ country: $(this).val(),
16
+ field_name: $("#wpuf_biiling_state").attr("name"),
17
+ };
18
+ $.post(ajax_object.ajaxurl, data, function (response) {
19
+ if( 'nostates' == response ) {
20
+ var text_field = '<input type="text" name="' + data.field_name + '" value=""/>';
21
+ $this.parent().next().find('select').replaceWith( text_field );
22
+ } else {
23
+ $this.parent().next().find('input,select').show();
24
+ $this.parent().next().find('input,select').replaceWith(response);
25
+ $this.parent().next().find('input,select').prepend("<option value='' selected='selected'>- select -</option>");
26
+ }
27
+ });
28
+ });
29
+
30
+ $(document.body).on('change', 'select#wpuf_biiling_state', function () {
31
+ wpuf_calculate_tax();
32
+ });
33
+
34
+ var ajax_tax_count = 0;
35
+ function wpuf_calculate_tax() {
36
+
37
+ var $wpuf_cc_address = jQuery('#wpuf-address-country-state');
38
+ var $payment_form = jQuery('#wpuf-payment-gateway');
39
+
40
+ var postData = {
41
+ action: 'wpuf_update_billing_address',
42
+ billing_country: $wpuf_cc_address.find('#wpuf_biiling_country').val(),
43
+ billing_state: $wpuf_cc_address.find('#wpuf_biiling_state').val(),
44
+ billing_add_line1: $wpuf_cc_address.find('#wpuf_biiling_add_line_1').val(),
45
+ billing_add_line2: $wpuf_cc_address.find('#wpuf_biiling_add_line_2').val(),
46
+ billing_city: $wpuf_cc_address.find('#wpuf_biiling_city').val(),
47
+ billing_zip: $wpuf_cc_address.find('#wpuf_biiling_zip_code').val(),
48
+ type: $payment_form.find('#wpuf_type').html(),
49
+ id: $payment_form.find('#wpuf_id').html(),
50
+ };
51
+
52
+ var current_ajax_count = ++ajax_tax_count;
53
+ jQuery.ajax({
54
+ type: "POST",
55
+ data: postData,
56
+ dataType: "json",
57
+ url: ajax_object.ajaxurl,
58
+ success: function (tax_response) {
59
+ // Only update tax info if this response is the most recent ajax call. This avoids bug with form autocomplete firing multiple ajax calls at the same time
60
+ if ((current_ajax_count === ajax_tax_count) && tax_response) {
61
+ jQuery('#wpuf_pay_page_tax').html(tax_response.tax);
62
+ jQuery('#wpuf_pay_page_total').html(tax_response.cost);
63
+ var tax_data = new Object();
64
+ tax_data.postdata = postData;
65
+ tax_data.response = tax_response;
66
+ }
67
+ }
68
+ }).fail(function (data) {
69
+ if ( window.console && window.console.log ) {
70
+ console.log( data );
71
+ }
72
+ });
73
+ }
74
+ });
assets/js/wpuf-form-builder-components.js CHANGED
@@ -234,6 +234,47 @@ Vue.component('field-html_help_text', {
234
  ],
235
  });
236
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  /**
238
  * Common settings component for option based fields
239
  * like select, multiselect, checkbox, radio
234
  ],
235
  });
236
 
237
+ Vue.component('field-multiselect', {
238
+ template: '#tmpl-wpuf-field-multiselect',
239
+
240
+ mixins: [
241
+ wpuf_mixins.option_field_mixin
242
+ ],
243
+
244
+ computed: {
245
+ value: {
246
+ get: function () {
247
+ return this.editing_form_field[this.option_field.name];
248
+ },
249
+
250
+ set: function (value) {
251
+ this.$store.commit('update_editing_form_field', {
252
+ editing_field_id: this.editing_form_field.id,
253
+ field_name: this.option_field.name,
254
+ value: value
255
+ });
256
+ }
257
+ }
258
+ },
259
+
260
+ mounted: function () {
261
+ this.bind_selectize();
262
+ },
263
+
264
+ methods: {
265
+ bind_selectize: function () {
266
+ var self = this;
267
+
268
+ $(this.$el).find('.term-list-selector').selectize({}).on('change', function () {
269
+ var data = $(this).val();
270
+
271
+ self.value = data;
272
+ });
273
+ },
274
+ },
275
+
276
+ });
277
+
278
  /**
279
  * Common settings component for option based fields
280
  * like select, multiselect, checkbox, radio
assets/less/admin.less CHANGED
@@ -94,51 +94,6 @@
94
  }
95
  }
96
 
97
- .tooltip {
98
- position: absolute;
99
- z-index: 9999;
100
- color: #fff;
101
- font-size: 11px;
102
- width: 250px;
103
- background: #333;
104
- -moz-border-radius: 5px;
105
- -webkit-border-radius: 5px;
106
- margin: 20px;
107
- opacity: .8;
108
-
109
- &:after {
110
- border-color: transparent transparent #333;
111
- border-style: solid;
112
- border-width: 8px;
113
- content: "";
114
- display: block;
115
- height: 0;
116
- left: 20px;
117
- position: absolute;
118
- top: -16px;
119
- width: 0;
120
- }
121
-
122
- .tipBody {
123
- padding: 5px 10px;
124
- text-indent: 0;
125
- color: #fff;
126
- text-shadow: 1px 1px 1px #333;
127
- font-size: 12px;
128
- }
129
-
130
- .buble {
131
- border-right: 60px solid white;
132
- border-top: 50px solid #CCCCCC;
133
- height: 0;
134
- line-height: 0;
135
- position: absolute;
136
- right: -60px;
137
- top: 30px;
138
- width: 0;
139
- }
140
- }
141
-
142
  span {
143
  &.wpuf_help {
144
  height: 16px;
94
  }
95
  }
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  span {
98
  &.wpuf_help {
99
  height: 16px;
assets/less/frontend-forms.less CHANGED
@@ -1477,3 +1477,34 @@ input[type="text"].wpuf-google-map-search {
1477
  }
1478
  }
1479
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1477
  }
1478
  }
1479
  }
1480
+
1481
+ @color_add: #6d6d6d;
1482
+
1483
+ table#wpuf-address-country-state {
1484
+ input {
1485
+ width: 100%;
1486
+ padding: 0 10px;
1487
+ border: 1px solid #f5f5f5;
1488
+ color: @color_add;
1489
+ font-size: 14px;
1490
+ line-height: 36px;
1491
+ height: 36px;
1492
+ box-shadow: none;
1493
+ }
1494
+ select {
1495
+ width: 100%;
1496
+ padding: 0 10px;
1497
+ border: 1px solid #f5f5f5;
1498
+ color: @color_add;
1499
+ font-size: 14px;
1500
+ line-height: 36px;
1501
+ height: 36px;
1502
+ box-shadow: none;
1503
+ }
1504
+ input.wpuf-btn {
1505
+ width: inherit;
1506
+ }
1507
+ td {
1508
+ border: none;
1509
+ }
1510
+ }
class/frontend-account.php CHANGED
@@ -17,6 +17,7 @@ class WPUF_Frontend_Account {
17
  add_action( 'wpuf_account_content_posts', array( $this, 'posts_section' ), 10, 2 );
18
  add_action( 'wpuf_account_content_subscription', array( $this, 'subscription_section' ), 10, 2 );
19
  add_action( 'wpuf_account_content_edit-profile', array( $this, 'edit_profile_section' ), 10, 2 );
 
20
  add_action( 'wp_ajax_wpuf_account_update_profile', array( $this, 'update_profile' ) );
21
  }
22
 
@@ -172,6 +173,21 @@ class WPUF_Frontend_Account {
172
  );
173
  }
174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  /**
176
  * Update profile via Ajax
177
  *
17
  add_action( 'wpuf_account_content_posts', array( $this, 'posts_section' ), 10, 2 );
18
  add_action( 'wpuf_account_content_subscription', array( $this, 'subscription_section' ), 10, 2 );
19
  add_action( 'wpuf_account_content_edit-profile', array( $this, 'edit_profile_section' ), 10, 2 );
20
+ add_action( 'wpuf_account_content_billing-address', array( $this, 'billing_address_section' ), 10, 2 );
21
  add_action( 'wp_ajax_wpuf_account_update_profile', array( $this, 'update_profile' ) );
22
  }
23
 
173
  );
174
  }
175
 
176
+ /**
177
+ * Display the billing address section
178
+ *
179
+ * @param array $sections
180
+ * @param string $current_section
181
+ *
182
+ * @return void
183
+ */
184
+ public function billing_address_section( $sections, $current_section ) {
185
+ wpuf_load_template(
186
+ "dashboard/billing-address.php",
187
+ array( 'sections' => $sections, 'current_section' => $current_section )
188
+ );
189
+ }
190
+
191
  /**
192
  * Update profile via Ajax
193
  *
class/frontend-form-post.php CHANGED
@@ -260,7 +260,6 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
260
  if ( !isset( $_POST['post_id'] ) ) {
261
 
262
  $has_limit = ( isset( $form_settings['limit_entries'] ) && $form_settings['limit_entries'] == 'true' ) ? true : false;
263
- $is_scheduled = ( isset( $form_settings['schedule_form'] ) && $form_settings['schedule_form'] == 'true' ) ? true : false;
264
 
265
  if ( $has_limit ) {
266
 
@@ -272,20 +271,6 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
272
  }
273
  }
274
 
275
- if ( $is_scheduled ) {
276
-
277
- $start_time = !empty( $form_settings['schedule_start'] ) ? strtotime( $form_settings['schedule_start'] ) : 0;
278
- $end_time = !empty( $form_settings['schedule_end'] ) ? strtotime( $form_settings['schedule_end'] ) : 0;
279
- $current_time = current_time( 'timestamp' );
280
-
281
- // too early?
282
- if ( $current_time < $start_time ) {
283
- $this->send_error( $form_settings['form_pending_message'] );
284
- } elseif ( $current_time > $end_time ) {
285
- $this->send_error( $form_settings['form_expired_message'] );
286
- }
287
- }
288
-
289
  // search if rs captcha is there
290
  if ( $this->search( $post_vars, 'input_type', 'really_simple_captcha' ) ) {
291
  $this->validate_rs_captcha();
260
  if ( !isset( $_POST['post_id'] ) ) {
261
 
262
  $has_limit = ( isset( $form_settings['limit_entries'] ) && $form_settings['limit_entries'] == 'true' ) ? true : false;
 
263
 
264
  if ( $has_limit ) {
265
 
271
  }
272
  }
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  // search if rs captcha is there
275
  if ( $this->search( $post_vars, 'input_type', 'really_simple_captcha' ) ) {
276
  $this->validate_rs_captcha();
class/payment.php CHANGED
@@ -65,6 +65,7 @@ class WPUF_Payment {
65
  global $post;
66
 
67
  $pay_page = intval( wpuf_get_option( 'payment_page', 'wpuf_payment' ) );
 
68
 
69
  if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'wpuf_pay' && $pay_page == 0 ) {
70
  _e('Please select your payment page from admin panel', 'wpuf' );
@@ -125,100 +126,160 @@ class WPUF_Payment {
125
  } else {
126
  ?>
127
  <?php if ( count( $gateways ) ) {
128
- ?>
129
- <form id="wpuf-payment-gateway" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" method="POST">
130
-
131
- <?php if ( $pack_id ) {
132
- $pack = WPUF_Subscription::init()->get_subscription( $pack_id );
133
- $details_meta = WPUF_Subscription::init()->get_details_meta_value();
134
- $currency = wpuf_get_currency( 'symbol' );
135
- if ( is_user_logged_in() ) {
136
- ?>
137
- <input type="hidden" name="user_id" value="<?php echo $current_user->ID; ?>">
138
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
139
 
140
- <div class="wpuf-coupon-info-wrap">
141
- <div class="wpuf-coupon-info">
142
- <div class="wpuf-pack-info">
143
- <h3>
144
- <?php _e( 'Pricing & Plans', 'wpuf' ); ?>
145
-
146
- <a href="<?php echo wpuf_get_subscription_page_url(); ?>"><?php _e( 'Change Pack', 'wpuf' ); ?></a>
147
- </h3>
148
- <div class="wpuf-subscription-error"></div>
149
-
150
- <div class="wpuf-pack-inner">
151
- <?php if ( class_exists( 'WPUF_Coupons' ) ) { ?>
152
- <?php echo WPUF_Coupons::init()->after_apply_coupon( $pack ); ?>
153
- <?php } else { ?>
154
- <div><?php _e( 'Selected Pack ', 'wpuf' ); ?>: <strong><?php echo $pack->post_title; ?></strong></div>
155
- <?php _e( 'Pack Price ', 'wpuf' ); ?>: <strong><?php echo wpuf_format_price( $pack->meta_value['billing_amount'] ); ?></strong>
156
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  </div>
158
  </div>
159
- </div>
160
 
161
- <?php if ( class_exists( 'WPUF_Coupons' ) ) { ?>
162
- <div class="wpuf-copon-wrap" style="display:none;">
163
- <div class="wpuf-coupon-error" style="color: red;"></div>
164
- <input type="text" name="coupon_code" size="20" class="wpuf-coupon-field">
165
- <input type="hidden" name="coupon_id" size="20" class="wpuf-coupon-id-field">
166
- <div>
167
- <a href="#" data-pack_id="<?php echo $pack_id; ?>" class="wpuf-apply-coupon"><?php _e( 'Apply Coupon', 'wpuf' ); ?></a>
168
- <a href="#" data-pack_id="<?php echo $pack_id; ?>" class="wpuf-copon-cancel"><?php _e( 'Cancel', 'wpuf' ); ?></a>
 
169
  </div>
170
- </div>
171
- <a href="#" class="wpuf-copon-show"><?php _e( 'Have a discount code?', 'wpuf' ); ?></a>
172
-
173
- <?php } // coupon ?>
174
- </div>
175
-
176
- <?php } ?>
177
- <?php wp_nonce_field( 'wpuf_payment_gateway' ) ?>
178
-
179
- <?php do_action( 'wpuf_before_payment_gateway' ); ?>
180
-
181
- <p>
182
- <label for="wpuf-payment-method"><?php _e( 'Choose Your Payment Method', 'wpuf' ); ?></label><br />
183
 
184
- <ul class="wpuf-payment-gateways">
185
- <?php foreach ($gateways as $gateway_id => $gateway) { ?>
186
- <li class="wpuf-gateway-<?php echo $gateway_id; ?>">
187
- <label>
188
- <input name="wpuf_payment_method" type="radio" value="<?php echo esc_attr( $gateway_id ); ?>" <?php checked( $selected_gateway, $gateway_id ); ?>>
189
- <?php
190
- echo $gateway['label'];
191
-
192
- if ( !empty( $gateway['icon'] ) ) {
193
- printf(' <img src="%s" alt="image">', $gateway['icon'] );
194
- }
195
- ?>
196
- </label>
197
-
198
- <div class="wpuf-payment-instruction" style="display: none;">
199
- <div class="wpuf-instruction"><?php echo wpuf_get_option( 'gate_instruct_' . $gateway_id, 'wpuf_payment' ); ?></div>
200
 
201
- <?php do_action( 'wpuf_gateway_form_' . $gateway_id, $type, $post_id, $pack_id ); ?>
202
- </div>
203
- </li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
  <?php } ?>
205
- </ul>
206
-
207
- </p>
208
- <?php do_action( 'wpuf_after_payment_gateway' ); ?>
209
- <p>
210
- <input type="hidden" name="type" value="<?php echo $type; ?>" />
211
- <input type="hidden" name="action" value="wpuf_pay" />
212
- <?php if ( $post_id ) { ?>
213
- <input type="hidden" name="post_id" value="<?php echo $post_id; ?>" />
214
  <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
 
216
- <?php if ( $pack_id ) { ?>
217
- <input type="hidden" name="pack_id" value="<?php echo $pack_id; ?>" />
218
- <?php } ?>
219
- <input type="submit" name="wpuf_payment_submit" class="wpuf-btn" value="<?php _e( 'Proceed', 'wpuf' ); ?>"/>
220
- </p>
221
- </form>
 
 
222
  <?php } else { ?>
223
  <?php _e( 'No Payment gateway found', 'wpuf' ); ?>
224
  <?php } ?>
@@ -252,6 +313,7 @@ class WPUF_Payment {
252
  $type = $_POST['type'];
253
  $current_user = wpuf_get_user();
254
  $current_pack = $current_user->subscription()->current_pack();
 
255
 
256
  if ( is_user_logged_in() ) {
257
  $userdata = wp_get_current_user();
@@ -278,9 +340,9 @@ class WPUF_Payment {
278
  $post_count = $current_user->subscription()->has_post_count( $form_settings['post_type'] );
279
 
280
  if ( !is_wp_error ( $current_pack ) && !$post_count ) {
281
- $amount = $form->get_subs_fallback_cost();
282
  } else {
283
- $amount = $form->get_pay_per_post_cost();
284
  }
285
  $item_number = $post->ID;
286
  $item_name = $post->post_title;
@@ -289,8 +351,8 @@ class WPUF_Payment {
289
  case 'pack':
290
  $pack = WPUF_Subscription::init()->get_subscription( $pack_id );
291
  $custom = $pack->meta_value;
292
- $billing_amount = $pack->meta_value['billing_amount'];
293
- $amount = $billing_amount;
294
  $item_name = $pack->post_title;
295
  $item_number = $pack->ID;
296
  break;
@@ -326,6 +388,7 @@ class WPUF_Payment {
326
  */
327
  public static function insert_payment( $data, $transaction_id = 0, $recurring = false ) {
328
  global $wpdb;
 
329
 
330
  //check if it's already there
331
  $sql = $wpdb->prepare( "SELECT transaction_id
@@ -342,6 +405,15 @@ class WPUF_Payment {
342
  unset( $data['profile_id'] );
343
  }
344
 
 
 
 
 
 
 
 
 
 
345
  if ( !$result ) {
346
  $wpdb->insert( $wpdb->prefix . 'wpuf_transaction', $data );
347
  } else {
65
  global $post;
66
 
67
  $pay_page = intval( wpuf_get_option( 'payment_page', 'wpuf_payment' ) );
68
+ $billing_amount = 0;
69
 
70
  if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'wpuf_pay' && $pay_page == 0 ) {
71
  _e('Please select your payment page from admin panel', 'wpuf' );
126
  } else {
127
  ?>
128
  <?php if ( count( $gateways ) ) {
129
+ ?>
130
+ <div class="wpuf-payment-page-wrap">
131
+ <div class="wpuf-bill-addr-wrap" style="width: 40%; display: inline-block;">
132
+ <div class="wpuf-bill-addr-info">
133
+ <h3> <?php _e( 'Billing Address', 'wpuf' ); ?> </h3>
134
+ <div class="wpuf-bill_addr-inner">
135
+ <?php
136
+ $add_form = new WPUF_Ajax_Address_Form( '100' );
137
+ $add_form->wpuf_ajax_address_form();
138
+ ?>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ <div class="wpuf-payment-gateway-wrap" style="width: 40%; vertical-align:top; margin-left: 20px; display: inline-block;">
143
+ <form id="wpuf-payment-gateway" action="" method="POST">
144
+
145
+ <?php if ( $pack_id ) {
146
+ $pack = WPUF_Subscription::init()->get_subscription( $pack_id );
147
+ $details_meta = WPUF_Subscription::init()->get_details_meta_value();
148
+ $currency = wpuf_get_currency( 'symbol' );
149
+ if ( is_user_logged_in() ) {
150
+ ?>
151
+ <input type="hidden" name="user_id" value="<?php echo $current_user->ID; ?>">
152
+ <?php } ?>
153
 
154
+ <div class="wpuf-coupon-info-wrap">
155
+ <div class="wpuf-coupon-info">
156
+ <div class="wpuf-pack-info">
157
+ <h3>
158
+ <?php _e( 'Pricing & Plans', 'wpuf' ); ?>
159
+
160
+ <a href="<?php echo wpuf_get_subscription_page_url(); ?>"><?php _e( 'Change Pack', 'wpuf' ); ?></a>
161
+ </h3>
162
+ <div class="wpuf-subscription-error"></div>
163
+
164
+ <div class="wpuf-pack-inner">
165
+
166
+ <?php if ( class_exists( 'WPUF_Coupons' ) ) { ?>
167
+ <?php echo WPUF_Coupons::init()->after_apply_coupon( $pack ); ?>
168
+ <?php } else {
169
+ $pack_cost = $pack->meta_value['billing_amount'];
170
+ $billing_amount = apply_filters( 'wpuf_payment_amount', $pack->meta_value['billing_amount'] );
171
+ if ( function_exists( 'wpuf_current_tax_rate' ) ) {
172
+ $tax_rate = wpuf_current_tax_rate() . '%';
173
+ }
174
+ ?>
175
+ <div id="wpuf_type" style="display: none"><?php echo 'pack'; ?></div>
176
+ <div id="wpuf_id" style="display: none"><?php echo $pack_id; ?></div>
177
+ <div><?php _e( 'Selected Pack ', 'wpuf' ); ?>: <strong><?php echo $pack->post_title; ?></strong></div>
178
+ <div><?php _e( 'Pack Price ', 'wpuf' ); ?>: <strong><span id="wpuf_pay_page_cost"><?php echo wpuf_format_price( $pack_cost ); ?></strong></span></div>
179
+ <?php
180
+ $is_pro = wpuf()->is_pro();
181
+ if ( $is_pro ) { ?>
182
+ <div><?php _e( 'Tax', 'wpuf' ); ?>: <strong><span id="wpuf_pay_page_tax"><?php echo $tax_rate; ?></strong></span></div>
183
+ <?php } ?>
184
+ <div><?php _e( 'Total', 'wpuf' ); ?>: <strong><span id="wpuf_pay_page_total"><?php echo wpuf_format_price( $billing_amount ); ?></strong></span></div>
185
+ <?php } ?>
186
+ </div>
187
  </div>
188
  </div>
 
189
 
190
+ <?php if ( class_exists( 'WPUF_Coupons' ) ) { ?>
191
+ <div class="wpuf-copon-wrap" style="display:none;">
192
+ <div class="wpuf-coupon-error" style="color: red;"></div>
193
+ <input type="text" name="coupon_code" size="20" class="wpuf-coupon-field">
194
+ <input type="hidden" name="coupon_id" size="20" class="wpuf-coupon-id-field">
195
+ <div>
196
+ <a href="#" data-pack_id="<?php echo $pack_id; ?>" class="wpuf-apply-coupon"><?php _e( 'Apply Coupon', 'wpuf' ); ?></a>
197
+ <a href="#" data-pack_id="<?php echo $pack_id; ?>" class="wpuf-copon-cancel"><?php _e( 'Cancel', 'wpuf' ); ?></a>
198
+ </div>
199
  </div>
200
+ <a href="#" class="wpuf-copon-show"><?php _e( 'Have a discount code?', 'wpuf' ); ?></a>
 
 
 
 
 
 
 
 
 
 
 
 
201
 
202
+ <?php } // coupon ?>
203
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
 
205
+ <?php }
206
+ if ( $post_id ) {
207
+ $form = new WPUF_Form( get_post_meta( $post_id, '_wpuf_form_id', true ) );
208
+ $force_pack = $form->is_enabled_force_pack();
209
+ $pay_per_post = $form->is_enabled_pay_per_post();
210
+ $fallback_enabled = $form->is_enabled_fallback_cost();
211
+ $fallback_cost = (float)$form->get_subs_fallback_cost();
212
+ $pay_per_post_cost = (float)$form->get_pay_per_post_cost();
213
+ $current_user = wpuf_get_user();
214
+ if ( function_exists( 'wpuf_current_tax_rate' ) ) {
215
+ $tax_rate = wpuf_current_tax_rate() . '%';
216
+ }
217
+ $current_pack = $current_user->subscription()->current_pack();
218
+ if ( $force_pack && is_wp_error( $current_pack ) && $fallback_enabled ) {
219
+ $post_cost = $fallback_cost;
220
+ $billing_amount = apply_filters( 'wpuf_payment_amount', $fallback_cost );
221
+ } else {
222
+ $post_cost = $pay_per_post_cost;
223
+ $billing_amount = apply_filters( 'wpuf_payment_amount', $pay_per_post_cost );
224
+ }
225
+
226
+ ?>
227
+ <div id="wpuf_type" style="display: none"><?php echo 'post'; ?></div>
228
+ <div id="wpuf_id" style="display: none"><?php echo $post_id; ?></div>
229
+ <div><?php _e( 'Post cost', 'wpuf' ); ?>: <strong><span id="wpuf_pay_page_cost"><?php echo wpuf_format_price( $post_cost ); ?></strong></span></div>
230
+ <?php
231
+ $is_pro = wpuf()->is_pro();
232
+ if ( $is_pro ) { ?>
233
+ <div><?php _e( 'Tax', 'wpuf' ); ?>: <strong><span id="wpuf_pay_page_tax"><?php echo $tax_rate; ?></strong></span></div>
234
  <?php } ?>
235
+ <div><?php _e( 'Total', 'wpuf' ); ?>: <strong><span id="wpuf_pay_page_total"><?php echo wpuf_format_price( $billing_amount ); ?></strong></span></div>
 
 
 
 
 
 
 
 
236
  <?php } ?>
237
+ <?php wp_nonce_field( 'wpuf_payment_gateway' ) ?>
238
+
239
+ <?php do_action( 'wpuf_before_payment_gateway' ); ?>
240
+
241
+ <p>
242
+ <label for="wpuf-payment-method"><?php _e( 'Choose Your Payment Method', 'wpuf' ); ?></label><br />
243
+
244
+ <ul class="wpuf-payment-gateways">
245
+ <?php foreach ($gateways as $gateway_id => $gateway) { ?>
246
+ <li class="wpuf-gateway-<?php echo $gateway_id; ?>">
247
+ <label>
248
+ <input name="wpuf_payment_method" type="radio" value="<?php echo esc_attr( $gateway_id ); ?>" <?php checked( $selected_gateway, $gateway_id ); ?>>
249
+ <?php
250
+ echo $gateway['label'];
251
+
252
+ if ( !empty( $gateway['icon'] ) ) {
253
+ printf(' <img src="%s" alt="image">', $gateway['icon'] );
254
+ }
255
+ ?>
256
+ </label>
257
+
258
+ <div class="wpuf-payment-instruction" style="display: none;">
259
+ <div class="wpuf-instruction"><?php echo wpuf_get_option( 'gate_instruct_' . $gateway_id, 'wpuf_payment' ); ?></div>
260
+
261
+ <?php do_action( 'wpuf_gateway_form_' . $gateway_id, $type, $post_id, $pack_id ); ?>
262
+ </div>
263
+ </li>
264
+ <?php } ?>
265
+ </ul>
266
+ </p>
267
+ <?php do_action( 'wpuf_after_payment_gateway' ); ?>
268
+ <p>
269
+ <input type="hidden" name="type" value="<?php echo $type; ?>" />
270
+ <input type="hidden" name="action" value="wpuf_pay" />
271
+ <?php if ( $post_id ) { ?>
272
+ <input type="hidden" name="post_id" value="<?php echo $post_id; ?>" />
273
+ <?php } ?>
274
 
275
+ <?php if ( $pack_id ) { ?>
276
+ <input type="hidden" name="pack_id" value="<?php echo $pack_id; ?>" />
277
+ <?php } ?>
278
+ <input type="submit" name="wpuf_payment_submit" class="wpuf-btn" value="<?php _e( 'Proceed', 'wpuf' ); ?>"/>
279
+ </p>
280
+ </form>
281
+ </div>
282
+ </div>
283
  <?php } else { ?>
284
  <?php _e( 'No Payment gateway found', 'wpuf' ); ?>
285
  <?php } ?>
313
  $type = $_POST['type'];
314
  $current_user = wpuf_get_user();
315
  $current_pack = $current_user->subscription()->current_pack();
316
+ $cost = 0 ;
317
 
318
  if ( is_user_logged_in() ) {
319
  $userdata = wp_get_current_user();
340
  $post_count = $current_user->subscription()->has_post_count( $form_settings['post_type'] );
341
 
342
  if ( !is_wp_error ( $current_pack ) && !$post_count ) {
343
+ $amount = $form->get_subs_fallback_cost();
344
  } else {
345
+ $amount = $form->get_pay_per_post_cost();
346
  }
347
  $item_number = $post->ID;
348
  $item_name = $post->post_title;
351
  case 'pack':
352
  $pack = WPUF_Subscription::init()->get_subscription( $pack_id );
353
  $custom = $pack->meta_value;
354
+ $cost = $pack->meta_value['billing_amount'];
355
+ $amount = $cost;
356
  $item_name = $pack->post_title;
357
  $item_number = $pack->ID;
358
  break;
388
  */
389
  public static function insert_payment( $data, $transaction_id = 0, $recurring = false ) {
390
  global $wpdb;
391
+ $user_id = get_current_user();
392
 
393
  //check if it's already there
394
  $sql = $wpdb->prepare( "SELECT transaction_id
405
  unset( $data['profile_id'] );
406
  }
407
 
408
+ if ( empty( $data['tax'] ) ) {
409
+ $data['tax'] = $data['cost'] - $data['subtotal'];
410
+ }
411
+
412
+ if ( metadata_exists( 'user', $user_id, 'wpuf_address_fields') ) {
413
+ $address_fields = get_user_meta( $user_id, 'wpuf_address_fields', true );
414
+ $data['payer_address'] = serialize( $address_fields );
415
+ }
416
+
417
  if ( !$result ) {
418
  $wpdb->insert( $wpdb->prefix . 'wpuf_transaction', $data );
419
  } else {
class/render-form.php CHANGED
@@ -350,6 +350,22 @@ class WPUF_Render_Form {
350
  $form_settings = wpuf_get_form_settings( $form_id );
351
  $label_position = isset( $form_settings['label_position'] ) ? $form_settings['label_position'] : 'left';
352
  $layout = isset( $form_settings['form_layout'] ) ? $form_settings['form_layout'] : 'layout1';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
 
354
  if ( !empty( $layout ) ) {
355
  wp_enqueue_style( 'wpuf-' . $layout );
350
  $form_settings = wpuf_get_form_settings( $form_id );
351
  $label_position = isset( $form_settings['label_position'] ) ? $form_settings['label_position'] : 'left';
352
  $layout = isset( $form_settings['form_layout'] ) ? $form_settings['form_layout'] : 'layout1';
353
+ $is_scheduled = ( isset( $form_settings['schedule_form'] ) && $form_settings['schedule_form'] == 'true' ) ? true : false;
354
+
355
+ if ( $is_scheduled ) {
356
+ $start_time = !empty( $form_settings['schedule_start'] ) ? strtotime( $form_settings['schedule_start'] ) : 0;
357
+ $end_time = !empty( $form_settings['schedule_end'] ) ? strtotime( $form_settings['schedule_end'] ) : 0;
358
+ $current_time = current_time( 'timestamp' );
359
+
360
+ // too early?
361
+ if ( $current_time < $start_time ) {
362
+ echo '<div class="wpuf-message">' . $form_settings['form_pending_message'] . '</div>';
363
+ return;
364
+ } elseif ( $current_time > $end_time ) {
365
+ echo '<div class="wpuf-message">' . $form_settings['form_expired_message'] . '</div>';
366
+ return;
367
+ }
368
+ }
369
 
370
  if ( !empty( $layout ) ) {
371
  wp_enqueue_style( 'wpuf-' . $layout );
class/subscription.php CHANGED
@@ -827,8 +827,16 @@ class WPUF_Subscription {
827
 
828
  function pack_details( $pack, $details_meta, $current_pack_id = '', $coupon_satus = false ) {
829
 
 
 
 
 
830
  $billing_amount = ( $pack->meta_value['billing_amount'] >= 0 && !empty( $pack->meta_value['billing_amount'] ) ) ? $pack->meta_value['billing_amount'] : '0.00';
831
 
 
 
 
 
832
  if ( $billing_amount && $pack->meta_value['recurring_pay'] == 'yes' ) {
833
  $recurring_des = sprintf( __('Every', 'wpuf').' %s %s', $pack->meta_value['billing_cycle_number'], $pack->meta_value['cycle_period'], $pack->meta_value['trial_duration_type'] );
834
  $recurring_des .= !empty( $pack->meta_value['billing_limit'] ) ? __( sprintf( ', '.__('for', 'wpuf').' %s '.__( 'installments', 'wpuf' ), $pack->meta_value['billing_limit'] ), 'wpuf' ) : '';
@@ -911,12 +919,21 @@ class WPUF_Subscription {
911
  $current_pack = $current_user->subscription()->current_pack();
912
  $payment_enabled = $form->is_charging_enabled();
913
 
 
 
 
 
914
  if ( self::has_user_error( $form_settings ) || ( $payment_enabled && $pay_per_post && !$force_pack ) ) {
915
  ?>
916
  <div class="wpuf-info">
917
  <?php
918
  $form = new WPUF_Form( $form_id );
919
  $pay_per_post_cost = (float) $form->get_pay_per_post_cost();
 
 
 
 
 
920
  $text = sprintf( __( 'There is a <strong>%s</strong> charge to add a new post.', 'wpuf' ), wpuf_format_price( $pay_per_post_cost ));
921
 
922
  echo apply_filters( 'wpuf_ppp_notice', $text, $form_id, $form_settings );
@@ -929,7 +946,13 @@ class WPUF_Subscription {
929
  <?php
930
  $form = new WPUF_Form( $form_id );
931
  $fallback_cost = (int )$form->get_subs_fallback_cost();
 
 
 
 
 
932
  $text = sprintf( __( 'Your Subscription pack exhausted. There is a <strong>%s</strong> charge to add a new post.', 'wpuf' ), wpuf_format_price( $fallback_cost ));
 
933
  echo apply_filters( 'wpuf_ppp_notice', $text, $form_id, $form_settings );
934
  ?>
935
  </div>
827
 
828
  function pack_details( $pack, $details_meta, $current_pack_id = '', $coupon_satus = false ) {
829
 
830
+ if ( function_exists( 'wpuf_prices_include_tax' ) ) {
831
+ $price_with_tax = wpuf_prices_include_tax();
832
+ }
833
+
834
  $billing_amount = ( $pack->meta_value['billing_amount'] >= 0 && !empty( $pack->meta_value['billing_amount'] ) ) ? $pack->meta_value['billing_amount'] : '0.00';
835
 
836
+ if ( isset( $price_with_tax ) && $price_with_tax ) {
837
+ $billing_amount = apply_filters( 'wpuf_payment_amount', $billing_amount);
838
+ }
839
+
840
  if ( $billing_amount && $pack->meta_value['recurring_pay'] == 'yes' ) {
841
  $recurring_des = sprintf( __('Every', 'wpuf').' %s %s', $pack->meta_value['billing_cycle_number'], $pack->meta_value['cycle_period'], $pack->meta_value['trial_duration_type'] );
842
  $recurring_des .= !empty( $pack->meta_value['billing_limit'] ) ? __( sprintf( ', '.__('for', 'wpuf').' %s '.__( 'installments', 'wpuf' ), $pack->meta_value['billing_limit'] ), 'wpuf' ) : '';
919
  $current_pack = $current_user->subscription()->current_pack();
920
  $payment_enabled = $form->is_charging_enabled();
921
 
922
+ if ( function_exists( 'wpuf_prices_include_tax' ) ) {
923
+ $price_with_tax = wpuf_prices_include_tax();
924
+ }
925
+
926
  if ( self::has_user_error( $form_settings ) || ( $payment_enabled && $pay_per_post && !$force_pack ) ) {
927
  ?>
928
  <div class="wpuf-info">
929
  <?php
930
  $form = new WPUF_Form( $form_id );
931
  $pay_per_post_cost = (float) $form->get_pay_per_post_cost();
932
+
933
+ if ( isset( $price_with_tax ) && $price_with_tax ) {
934
+ $pay_per_post_cost = apply_filters( 'wpuf_payment_amount', $pay_per_post_cost );
935
+ }
936
+
937
  $text = sprintf( __( 'There is a <strong>%s</strong> charge to add a new post.', 'wpuf' ), wpuf_format_price( $pay_per_post_cost ));
938
 
939
  echo apply_filters( 'wpuf_ppp_notice', $text, $form_id, $form_settings );
946
  <?php
947
  $form = new WPUF_Form( $form_id );
948
  $fallback_cost = (int )$form->get_subs_fallback_cost();
949
+
950
+ if ( isset( $price_with_tax ) && $price_with_tax ) {
951
+ $fallback_cost = apply_filters( 'wpuf_payment_amount', $fallback_cost );
952
+ }
953
+
954
  $text = sprintf( __( 'Your Subscription pack exhausted. There is a <strong>%s</strong> charge to add a new post.', 'wpuf' ), wpuf_format_price( $fallback_cost ));
955
+
956
  echo apply_filters( 'wpuf_ppp_notice', $text, $form_id, $form_settings );
957
  ?>
958
  </div>
class/transactions-list-table.php CHANGED
@@ -41,6 +41,7 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
41
  'status' => __( 'Status', 'wpuf' ),
42
  'user' => __( 'User', 'wpuf' ),
43
  'cost' => __( 'Cost', 'wpuf' ),
 
44
  'post_id' => __( 'Post ID', 'wpuf' ),
45
  'pack_id' => __( 'Pack ID', 'wpuf' ),
46
  'payment_type' => __( 'Gateway', 'wpuf' ),
@@ -138,6 +139,8 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
138
  return ! empty( $user ) ? sprintf( '<a href="%s">%s</a>', admin_url( 'user-edit.php?user_id=' . $item->user_id ), $user->display_name ) : $post_author ;
139
  case 'cost':
140
  return wpuf_format_price( $item->cost );
 
 
141
  case 'post_id':
142
  return ! empty( $item->post_id ) ? sprintf( '<a href="%s">%s</a>', admin_url( 'post.php?post=' . $item->post_id . '&action=edit' ), $item->post_id ) : '-';
143
  case 'pack_id':
@@ -351,6 +354,8 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
351
  $transaction = array(
352
  'user_id' => $info['user_info']['id'],
353
  'status' => 'completed',
 
 
354
  'cost' => $info['price'],
355
  'post_id' => $post_id,
356
  'pack_id' => $pack_id,
@@ -365,6 +370,17 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
365
  do_action( 'wpuf_gateway_bank_order_complete', $transaction, $id );
366
 
367
  WPUF_Payment::insert_payment( $transaction );
 
 
 
 
 
 
 
 
 
 
 
368
  wp_delete_post( $id, true );
369
  }
370
 
@@ -407,6 +423,8 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
407
  $transaction = array(
408
  'user_id' => $info['user_info']['id'],
409
  'status' => 'completed',
 
 
410
  'cost' => $info['price'],
411
  'post_id' => $post_id,
412
  'pack_id' => $pack_id,
41
  'status' => __( 'Status', 'wpuf' ),
42
  'user' => __( 'User', 'wpuf' ),
43
  'cost' => __( 'Cost', 'wpuf' ),
44
+ 'tax' => __( 'Tax', 'wpuf' ),
45
  'post_id' => __( 'Post ID', 'wpuf' ),
46
  'pack_id' => __( 'Pack ID', 'wpuf' ),
47
  'payment_type' => __( 'Gateway', 'wpuf' ),
139
  return ! empty( $user ) ? sprintf( '<a href="%s">%s</a>', admin_url( 'user-edit.php?user_id=' . $item->user_id ), $user->display_name ) : $post_author ;
140
  case 'cost':
141
  return wpuf_format_price( $item->cost );
142
+ case 'tax':
143
+ return wpuf_format_price( $item->tax );
144
  case 'post_id':
145
  return ! empty( $item->post_id ) ? sprintf( '<a href="%s">%s</a>', admin_url( 'post.php?post=' . $item->post_id . '&action=edit' ), $item->post_id ) : '-';
146
  case 'pack_id':
354
  $transaction = array(
355
  'user_id' => $info['user_info']['id'],
356
  'status' => 'completed',
357
+ 'subtotal' => $info['subtotal'],
358
+ 'tax' => $info['tax'],
359
  'cost' => $info['price'],
360
  'post_id' => $post_id,
361
  'pack_id' => $pack_id,
370
  do_action( 'wpuf_gateway_bank_order_complete', $transaction, $id );
371
 
372
  WPUF_Payment::insert_payment( $transaction );
373
+
374
+ $coupon_id = $info['post_data']['coupon_id'];
375
+
376
+ if ( $coupon_id ) {
377
+ $pre_usage = get_post_meta( $coupon_id, '_coupon_used', true );
378
+ $pre_usage = (empty( $pre_usage )) ? 0 : $pre_usage;
379
+ $new_use = $pre_usage + 1;
380
+
381
+ update_post_meta( $coupon_id, '_coupon_used', $new_use );
382
+ }
383
+
384
  wp_delete_post( $id, true );
385
  }
386
 
423
  $transaction = array(
424
  'user_id' => $info['user_info']['id'],
425
  'status' => 'completed',
426
+ 'subtotal' => $info['subtotal'],
427
+ 'tax' => $info['tax'],
428
  'cost' => $info['price'],
429
  'post_id' => $post_id,
430
  'pack_id' => $pack_id,
includes/class-billing-address.php ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* Ajax Address Form Class */
4
+
5
+ class WPUF_Ajax_Address_Form {
6
+
7
+ public function __construct() {
8
+ add_action( 'wp_enqueue_scripts', array( $this, 'register_plugin_scripts' ) );
9
+ add_action( 'wp_ajax_wpuf_address_ajax_action', array( $this, 'ajax_form_action' ), 10, 1 );
10
+ }
11
+
12
+ /**
13
+ * Enqueue scripts
14
+ */
15
+ public function register_plugin_scripts() {
16
+ wp_enqueue_script( 'wpuf-ajax-script', plugins_url( 'assets/js/billing-address.js', dirname( __FILE__ ) ), array('jquery'), false );
17
+ wp_localize_script( 'wpuf-ajax-script', 'ajax_object', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) )) ;
18
+ }
19
+
20
+
21
+ /**
22
+ * Address Form
23
+ */
24
+ public static function wpuf_ajax_address_form() {
25
+ $user_id = get_current_user_id();
26
+
27
+ if ( metadata_exists( 'user', $user_id, 'wpuf_address_fields') ) {
28
+ $address_fields = get_user_meta( $user_id, 'wpuf_address_fields', true );
29
+ $address_fields = $address_fields;
30
+ } else {
31
+ $address_fields = array_fill_keys(
32
+ array( 'add_line_1', 'add_line_2', 'city', 'state', 'zip_code', 'country' ), '' );
33
+ }
34
+ ?>
35
+
36
+ <form class="wpuf-form form-label-above" id="wpuf-ajax-address-form" action="" method="post">
37
+ <table id="wpuf-address-country-state" class="wp-list-table widefat">
38
+ <tr>
39
+ <td style="display:inline-block;float:left;width:100%;margin:0px;padding:5px;">
40
+ <label>Country<span class="required">*</span></label>
41
+ <br>
42
+ <?php
43
+ if ( function_exists( 'wpuf_get_tax_rates' ) ) {
44
+ $rates = wpuf_get_tax_rates();
45
+ }
46
+ $cs = new CountryState();
47
+ $states = array(); $selected = array();
48
+ $base_addr = get_option( 'wpuf_base_country_state', false );
49
+
50
+ $selected['country'] = !( empty( $address_fields['country'] ) ) ? $address_fields['country'] : $base_addr['country'];
51
+
52
+ echo wpuf_select( array(
53
+ 'options' => $cs->countries(),
54
+ 'name' => 'wpuf_biiling_country',
55
+ 'selected' => $selected['country'],
56
+ 'show_option_all' => false,
57
+ 'show_option_none' => false,
58
+ 'id' => 'wpuf_biiling_country',
59
+ 'class' => 'wpuf_biiling_country',
60
+ 'chosen' => false,
61
+ 'placeholder' => __( 'Choose a country', 'wpuf' )
62
+ ) );
63
+ ?>
64
+ </td>
65
+ <td style="display:inline-block;float:left;width:100%;margin:0px;padding:5px;">
66
+ <label>State/Province/Region<span class="required">*</span></label>
67
+ <br>
68
+ <?php
69
+ $states = $cs->getStates( $selected['country'] );
70
+ $selected['state'] = ! ( empty( $address_fields['state'] ) ) ? $address_fields['state'] : $base_addr['state'];
71
+ echo wpuf_select( array(
72
+ 'options' => $states,
73
+ 'name' => 'wpuf_biiling_state',
74
+ 'selected' => $selected['state'],
75
+ 'show_option_all' => false,
76
+ 'show_option_none' => false,
77
+ 'id' => 'wpuf_biiling_state',
78
+ 'class' => 'wpuf_biiling_state',
79
+ 'chosen' => false,
80
+ 'placeholder' => __( 'Choose a state', 'wpuf' )
81
+ ) );
82
+ ?>
83
+ </td>
84
+ <td style="display:inline-block;float:left;width:100%;margin:0px;padding:5px;">
85
+ <div class="wpuf-label"><?php _e( 'Address Line 1 ', 'wpuf' ); ?></div>
86
+ <div class="wpuf-fields">
87
+ <input type="text" class="input" name="wpuf_biiling_add_line_1" id="wpuf_biiling_add_line_1" value="<?php echo $address_fields['add_line_1']; ?>" />
88
+ </div>
89
+ </td>
90
+ <td style="display:inline-block;float:left;width:100%;margin:0px;padding:5px;">
91
+ <div class="wpuf-label"><?php _e( 'Address Line 2 ', 'wpuf' ); ?></div>
92
+ <div class="wpuf-fields">
93
+ <input type="text" class="input" name="wpuf_biiling_add_line_2" id="wpuf_biiling_add_line_2" value="<?php echo $address_fields['add_line_2']; ?>" />
94
+ </div>
95
+ </td>
96
+ <td style="display:inline-block;float:left;width:100%;margin:0px;padding:5px;">
97
+ <div class="wpuf-label"><?php _e( 'City', 'wpuf' ); ?></div>
98
+ <div class="wpuf-fields">
99
+ <input type="text" class="input" name="wpuf_biiling_city" id="wpuf_biiling_city" value="<?php echo $address_fields['add_line_2']; ?>" />
100
+ </div>
101
+ </td>
102
+ <td style="display:inline-block;float:left;width:100%;margin:0px;padding:5px;">
103
+ <div class="wpuf-label"><?php _e( 'Postal Code/ZIP', 'wpuf' ); ?></div>
104
+ <div class="wpuf-fields">
105
+ <input type="text" class="input" name="wpuf_biiling_zip_code" id="wpuf_biiling_zip_code" value="<?php echo $address_fields['add_line_2']; ?>" />
106
+ </div>
107
+ </td>
108
+ <td class="wpuf-submit" style="display:none;">
109
+ <input type="submit" class="wpuf-btn" name="submit" id="wpuf-account-update-billing_address" value="<?php _e( 'Update Billing Address', 'wpuf' ); ?>" />
110
+ </td>
111
+ </tr>
112
+
113
+ </table>
114
+ <div class="clear"></div>
115
+ </form>
116
+
117
+ <?php }
118
+
119
+
120
+ /**
121
+ * Ajax Form action
122
+ */
123
+ public function ajax_form_action() {
124
+ if (isset($_POST)) {
125
+ parse_str($_POST["data"], $_POST);
126
+
127
+ $user_id = get_current_user_id();
128
+
129
+ $address_fields = array();
130
+
131
+ if ( isset( $_POST['wpuf_biiling_add_line_1'] )
132
+ && isset( $_POST['wpuf_biiling_city'] )
133
+ && isset( $_POST['wpuf_biiling_state'] )
134
+ && isset( $_POST['wpuf_biiling_zip_code'] )
135
+ && isset( $_POST['wpuf_biiling_country'] ) ) {
136
+ $address_fields = array(
137
+ 'add_line_1' => $_POST['wpuf_biiling_add_line_1'],
138
+ 'add_line_2' => $_POST['wpuf_biiling_add_line_2'],
139
+ 'city' => $_POST['wpuf_biiling_city'],
140
+ 'state' => $_POST['wpuf_biiling_state'],
141
+ 'zip_code' => $_POST['wpuf_biiling_zip_code'],
142
+ 'country' => $_POST['wpuf_biiling_country']
143
+ );
144
+ update_user_meta( $user_id, 'wpuf_address_fields', $address_fields );
145
+ $msg = '<div class="wpuf-success">' . __( 'Billing address is updated.', 'wpuf' ) . '</div>';
146
+
147
+ echo $msg;
148
+ exit();
149
+ }
150
+ }
151
+ }
152
+
153
+ }
includes/class-installer.php CHANGED
@@ -54,6 +54,8 @@ class WPUF_Installer {
54
  `id` int(11) NOT NULL AUTO_INCREMENT,
55
  `user_id` bigint(20) DEFAULT NULL,
56
  `status` varchar(60) NOT NULL DEFAULT 'pending_payment',
 
 
57
  `cost` varchar(255) DEFAULT '',
58
  `post_id` varchar(20) DEFAULT NULL,
59
  `pack_id` bigint(20) DEFAULT NULL,
54
  `id` int(11) NOT NULL AUTO_INCREMENT,
55
  `user_id` bigint(20) DEFAULT NULL,
56
  `status` varchar(60) NOT NULL DEFAULT 'pending_payment',
57
+ `subtotal` varchar(255) DEFAULT '',
58
+ `tax` varchar(255) DEFAULT '',
59
  `cost` varchar(255) DEFAULT '',
60
  `post_id` varchar(20) DEFAULT NULL,
61
  `pack_id` bigint(20) DEFAULT NULL,
includes/class-upgrades.php CHANGED
@@ -18,6 +18,7 @@ class WPUF_Upgrades {
18
  '2.7.0' => 'upgrades/upgrade-2.7.0.php',
19
  '2.8.0' => 'upgrades/upgrade-2.8.0.php',
20
  '2.8.2' => 'upgrades/upgrade-2.8.2.php',
 
21
  );
22
 
23
  /**
@@ -40,8 +41,8 @@ class WPUF_Upgrades {
40
  if ( ! $this->get_version() ) {
41
  return false;
42
  }
43
-
44
- if ( version_compare( $this->get_version(), WPUF_VERSION, '<' ) && in_array( WPUF_VERSION, self::$upgrades ) ) {
45
  return true;
46
  }
47
 
18
  '2.7.0' => 'upgrades/upgrade-2.7.0.php',
19
  '2.8.0' => 'upgrades/upgrade-2.8.0.php',
20
  '2.8.2' => 'upgrades/upgrade-2.8.2.php',
21
+ '2.8.5' => 'upgrades/upgrade-2.8.5.php',
22
  );
23
 
24
  /**
41
  if ( ! $this->get_version() ) {
42
  return false;
43
  }
44
+ //check if current version is greater then installed version and any update key is available
45
+ if ( version_compare( $this->get_version(), WPUF_VERSION, '<' ) && in_array( WPUF_VERSION, array_keys( self::$upgrades ) ) ) {
46
  return true;
47
  }
48
 
includes/countries-state.php ADDED
@@ -0,0 +1,372 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /* CountryState class */
4
+
5
+ class CountryState {
6
+
7
+ /**
8
+ An array of countries, iso_2_code, iso_3_code, iso_num_code, iso_something code :-), states/counties, international dial code.
9
+ It can be used to quickly generate web forms. You can do a split on the counties/states string.
10
+
11
+ */
12
+ private $sorted_countries = [
13
+ ['Afghanistan', 'AF', 'AFG', '004', 'ISO 3166-2:AF', 'Badakhshan|Badghis|Baghlan|Balkh|Bamian|Farah|Faryab|Ghazni|Ghowr|Helmand|Herat|Jowzjan|Kabol|Kandahar|Kapisa|Konar|Kondoz|Laghman|Lowgar|Nangarhar|Nimruz|Oruzgan|Paktia|Paktika|Parvan|Samangan|Sar-e Pol|Takhar|Vardak|Zabol', '93'],
14
+ ['Aland Islands', 'AX', 'ALA', '248', 'ISO 3166-2:AX', 'Aland Islands', ''],
15
+ ['Albania', 'AL', 'ALB', '008', 'ISO 3166-2:AL', 'Berat|Bulqize|Delvine|Devoll [Bilisht]|Diber [Peshkopi]|Durres|Elbasan|Fier|Gjirokaster|Gramsh|Has [Krume]|Kavaje|Kolonje [Erseke]|Korce|Kruje|Kucove|Kukes|Kurbin|Lezhe|Librazhd|Lushnje|Malesi e Madhe [Koplik]|Mallakaster [Ballsh]|Mat [Burrel]|Mirdite [Rreshen]|Peqin|Permet|Pogradec|Puke|Sarande|Shkoder|Skrapar [Corovode]|Tepelene|Tirane [Tirana]|Tirane [Tirana]|Tropoje [Bajram Curri]|Vlore', '355'],
16
+ ['Algeria', 'DZ', 'DZA', '012', 'ISO 3166-2:DZ', "Adrar|Ain Defla|Ain Temouchent|Alger|Annaba|Batna|Bechar|Bejaia|Biskra|Blida|Bordj Bou Arreridj|Bouira|Boumerdes|Chlef|Constantine|Djelfa|El Bayadh|El Oued|El Tarf|Ghardaia|Guelma|Illizi|Jijel|Khenchela|Laghouat|M'Sila|Mascara|Medea|Mila|Mostaganem|Naama|Oran|Ouargla|Oum el Bouaghi|Relizane|Saida|Setif|Sidi Bel Abbes|Skikda|Souk Ahras|Tamanghasset|Tebessa|Tiaret|Tindouf|Tipaza|Tissemsilt|Tizi Ouzou|Tlemcen", '213'],
17
+ ['American Samoa', 'AS', 'ASM', '016', 'ISO 3166-2:AS', "Eastern|Manu'a|Rose Island|Swains Island|Western", '1 684'],
18
+ ['Andorra', 'AD', 'AND', '020', 'ISO 3166-2:AD', 'Andorra', '376'],
19
+ ['Angola', 'AO', 'AGO', '024', 'ISO 3166-2:AO', 'Andorra la Vella|Bengo|Benguela|Bie|Cabinda|Canillo|Cuando Cubango|Cuanza Norte|Cuanza Sul|Cunene|Encamp|Escaldes-Engordany|Huambo|Huila|La Massana|Luanda|Lunda Norte|Lunda Sul|Malanje|Moxico|Namibe|Ordino|Sant Julia de Loria|Uige|Zaire', '244'],
20
+ ['Anguilla', 'AI', 'AIA', '660', 'ISO 3166-2:AI', 'Anguilla', '1 264'],
21
+ ['Antarctica', 'AQ', 'ATA', '010', 'ISO 3166-2:AQ', 'Antarctica', '672'],
22
+ ['Antigua and Barbuda', 'AG', 'ATG', '028', 'ISO 3166-2:AG', 'Barbuda|Redonda|Saint George|Saint John|Saint Mary|Saint Paul|Saint Peter|Saint Philip', '1 268'],
23
+ ['Argentina', 'AR', 'ARG', '032', 'ISO 3166-2:AR', 'Antartica e Islas del Atlantico Sur|Buenos Aires|Buenos Aires Capital Federal|Catamarca|Chaco|Chubut|Cordoba|Corrientes|Entre Rios|Formosa|Jujuy|La Pampa|La Rioja|Mendoza|Misiones|Neuquen|Rio Negro|Salta|San Juan|San Luis|Santa Cruz|Santa Fe|Santiago del Estero|Tierra del Fuego|Tucuman', '54'],
24
+ ['Armenia', 'AM', 'ARM', '051', 'ISO 3166-2:AM', "Aragatsotn|Ararat|Armavir|Geghark'unik'|Kotayk'|Lorri|Shirak|Syunik'|Tavush|Vayots' Dzor|Yerevan", '374'],
25
+ ['Aruba', 'AW', 'ABW', '533', 'ISO 3166-2:AW', 'Aruba', '297'],
26
+ ['Australia', 'AU', 'AUS', '036', 'ISO 3166-2:AU', 'Australian Capital Territory|New South Wales|Northern Territory|Queensland|South Australia|Tasmania|Victoria|Western Australia', '61'],
27
+ ['Austria', 'AT', 'AUT', '040', 'ISO 3166-2:AT', 'Burgenland|Kaernten|Niederoesterreich|Oberoesterreich|Salzburg|Steiermark|Tirol|Vorarlberg|Wien', '43'],
28
+ ['Azerbaijan', 'AZ', 'AZE', '031', 'ISO 3166-2:AZ', 'Abseron Rayonu|Agcabadi Rayonu|Agdam Rayonu|Agdas Rayonu|Agstafa Rayonu|Agsu Rayonu|Ali Bayramli Sahari|Astara Rayonu|Baki Sahari|Balakan Rayonu|Barda Rayonu|Beylaqan Rayonu|Bilasuvar Rayonu|Cabrayil Rayonu|Calilabad Rayonu|Daskasan Rayonu|Davaci Rayonu|Fuzuli Rayonu|Gadabay Rayonu|Ganca Sahari|Goranboy Rayonu|Goycay Rayonu|Haciqabul Rayonu|Imisli Rayonu|Ismayilli Rayonu|Kalbacar Rayonu|Kurdamir Rayonu|Lacin Rayonu|Lankaran Rayonu|Lankaran Sahari|Lerik Rayonu|Masalli Rayonu|Mingacevir Sahari|Naftalan Sahari|Naxcivan Muxtar Respublikasi|Neftcala Rayonu|Oguz Rayonu|Qabala Rayonu|Qax Rayonu|Qazax Rayonu|Qobustan Rayonu|Quba Rayonu|Qubadli Rayonu|Qusar Rayonu|Saatli Rayonu|Sabirabad Rayonu|Saki Rayonu|Saki Sahari|Salyan Rayonu|Samaxi Rayonu|Samkir Rayonu|Samux Rayonu|Siyazan Rayonu|Sumqayit Sahari|Susa Rayonu|Susa Sahari|Tartar Rayonu|Tovuz Rayonu|Ucar Rayonu|Xacmaz Rayonu|Xankandi Sahari|Xanlar Rayonu|Xizi Rayonu|Xocali Rayonu|Xocavand Rayonu|Yardimli Rayonu|Yevlax Rayonu|Yevlax Sahari|Zangilan Rayonu|Zaqatala Rayonu|Zardab Rayonu', '994'],
29
+ ['Bahamas', 'BS', 'BHS', '044', 'ISO 3166-2:BS', "Acklins and Crooked Islands|Bimini|Cat Island|Exuma|Freeport|Fresh Creek|Governor's Harbour|Green Turtle Cay|Harbour Island|High Rock|Inagua|Kemps Bay|Long Island|Marsh Harbour|Mayaguana|New Providence|Nicholls Town and Berry Islands|Ragged Island|Rock Sound|San Salvador and Rum Cay|Sandy Point", '1 242'],
30
+ ['Bahrain', 'BH', 'BHR', '048', 'ISO 3166-2:BH', "Al Hadd|Al Manamah|Al Mintaqah al Gharbiyah|Al Mintaqah al Wusta|Al Mintaqah ash Shamaliyah|Al Muharraq|Ar Rifa' wa al Mintaqah al Janubiyah|Jidd Hafs|Juzur Hawar|Madinat 'Isa|Madinat Hamad|Sitrah", '973'],
31
+ ['Bangladesh', 'BD', 'BGD', '050', 'ISO 3166-2:BD', "Barguna|Barisal|Bhola|Jhalokati|Patuakhali|Pirojpur|Bandarban|Brahmanbaria|Chandpur|Chittagong|Comilla|Cox's Bazar|Feni|Khagrachari|Lakshmipur|Noakhali|Rangamati|Dhaka|Faridpur|Gazipur|Gopalganj|Jamalpur|Kishoreganj|Madaripur|Manikganj|Munshiganj|Mymensingh|Narayanganj|Narsingdi|Netrokona|Rajbari|Shariatpur|Sherpur|Tangail|Bagerhat|Chuadanga|Jessore|Jhenaidah|Khulna|Kushtia|Magura|Meherpur|Narail|Satkhira|Bogra|Dinajpur|Gaibandha|Jaipurhat|Kurigram|Lalmonirhat|Naogaon|Natore|Nawabganj|Nilphamari|Pabna|Panchagarh|Rajshahi|Rangpur|Sirajganj|Thakurgaon|Habiganj|Maulvi bazar|Sunamganj|Sylhet", '880'],
32
+ ['Barbados', 'BB', 'BRB', '052', 'ISO 3166-2:BB', 'Bridgetown|Christ Church|Saint Andrew|Saint George|Saint James|Saint John|Saint Joseph|Saint Lucy|Saint Michael|Saint Peter|Saint Philip|Saint Thomas', '1 246'],
33
+ ['Belarus', 'BY', 'BLR', '112', 'ISO 3166-2:BY', "Brestskaya [Brest]|Homyel'skaya [Homyel']|Horad Minsk|Hrodzyenskaya [Hrodna]|Mahilyowskaya [Mahilyow]|Minskaya|Vitsyebskaya [Vitsyebsk]", '375'],
34
+ ['Belgium', 'BE', 'BEL', '056', 'ISO 3166-2:BE', 'Antwerpen|Brabant Wallon|Brussels Capitol Region|Hainaut|Liege|Limburg|Luxembourg|Namur|Oost-Vlaanderen|Vlaams Brabant|West-Vlaanderen', '32'],
35
+ ['Belize', 'BZ', 'BLZ', '084', 'ISO 3166-2:BZ', 'Belize|Cayo|Corozal|Orange Walk|Stann Creek|Toledo', '501'],
36
+ ['Benin', 'BJ', 'BEN', '204', 'ISO 3166-2:BJ', 'Alibori|Atakora|Atlantique|Borgou|Collines|Couffo|Donga|Littoral|Mono|Oueme|Plateau|Zou', '229'],
37
+ ['Bermuda', 'BM', 'BMU', '060', 'ISO 3166-2:BM', 'Devonshire|Hamilton|Hamilton|Paget|Pembroke|Saint George|Saint Georges|Sandys|Smiths|Southampton|Warwick', '1 441'],
38
+ ['Bhutan', 'BT', 'BTN', '064', 'ISO 3166-2:BT', 'Bumthang|Chhukha|Chirang|Daga|Geylegphug|Ha|Lhuntshi|Mongar|Paro|Pemagatsel|Punakha|Samchi|Samdrup Jongkhar|Shemgang|Tashigang|Thimphu|Tongsa|Wangdi Phodrang', '975'],
39
+ ['Bolivia Plurinational State of', 'BO', 'BOL', '068', 'ISO 3166-2:BO', 'Beni|Chuquisaca|Cochabamba|La Paz|Oruro|Pando|Potosi|Santa Cruz|Tarija', '591'],
40
+ ['Bonaire Sint Eustatius and Saba', 'BQ', 'BES', '535', 'ISO 3166-2:BQ', 'Bonaire', ''],
41
+ ['Bosnia and Herzegovina', 'BA', 'BIH', '070', 'ISO 3166-2:BA', 'Federation of Bosnia and Herzegovina|Republika Srpska', '387'],
42
+ ['Botswana', 'BW', 'BWA', '072', 'ISO 3166-2:BW', 'Central|Chobe|Francistown|Gaborone|Ghanzi|Kgalagadi|Kgatleng|Kweneng|Lobatse|Ngamiland|North-East|Selebi-Pikwe|South-East|Southern', '267'],
43
+ ['Bouvet Island', 'BV', 'BVT', '074', 'ISO 3166-2:BV', 'Bouvet Island', ''],
44
+ ['Brazil', 'BR', 'BRA', '076', 'ISO 3166-2:BR', 'Acre|Alagoas|Amapa|Amazonas|Bahia|Ceara|Distrito Federal|Espirito Santo|Goias|Maranhao|Mato Grosso|Mato Grosso do Sul|Minas Gerais|Para|Paraiba|Parana|Pernambuco|Piaui|Rio de Janeiro|Rio Grande do Norte|Rio Grande do Sul|Rondonia|Roraima|Santa Catarina|Sao Paulo|Sergipe|Tocantins', '55'],
45
+ ['British Indian Ocean Territory', 'IO', 'IOT', '086', 'ISO 3166-2:IO', 'British Indian Ocean Territory', '-'],
46
+ ['Brunei Darussalam', 'BN', 'BRN', '096', 'ISO 3166-2:BN', 'Belait|Brunei and Muara|Temburong|Tutong', '673'],
47
+ ['Bulgaria', 'BG', 'BGR', '100', 'ISO 3166-2:BG', 'Blagoevgrad|Burgas|Dobrich|Gabrovo|Khaskovo|Kurdzhali|Kyustendil|Lovech|Montana|Pazardzhik|Pernik|Pleven|Plovdiv|Razgrad|Ruse|Shumen|Silistra|Sliven|Smolyan|Sofiya|Sofiya-Grad|Stara Zagora|Turgovishte|Varna|Veliko Turnovo|Vidin|Vratsa|Yambol', '359'],
48
+ ['Burkina Faso', 'BF', 'BFA', '854', 'ISO 3166-2:BF', 'Bale|Bam|Banwa|Bazega|Bougouriba|Boulgou|Boulkiemde|Comoe|Ganzourgou|Gnagna|Gourma|Houet|Ioba|Kadiogo|Kenedougou|Komandjari|Kompienga|Kossi|Koupelogo|Kouritenga|Kourweogo|Leraba|Loroum|Mouhoun|Nahouri|Namentenga|Naumbiel|Nayala|Oubritenga|Oudalan|Passore|Poni|Samentenga|Sanguie|Seno|Sissili|Soum|Sourou|Tapoa|Tuy|Yagha|Yatenga|Ziro|Zondomo|Zoundweogo', '226'],
49
+ ['Burundi', 'BI', 'BDI', '108', 'ISO 3166-2:BI', 'Bubanza|Bujumbura|Bururi|Cankuzo|Cibitoke|Gitega|Karuzi|Kayanza|Kirundo|Makamba|Muramvya|Muyinga|Mwaro|Ngozi|Rutana|Ruyigi', '257'],
50
+ ['Cambodia', 'KH', 'KHM', '116', 'ISO 3166-2:KH', 'Banteay Mean Cheay|Batdambang|Kampong Cham|Kampong Chhnang|Kampong Spoe|Kampong Thum|Kampot|Kandal|Kaoh Kong|Keb|Kracheh|Mondol Kiri|Otdar Mean Cheay|Pailin|Phnum Penh|Pouthisat|Preah Seihanu [Sihanoukville]|Preah Vihear|Prey Veng|Rotanah Kiri|Siem Reab|Stoeng Treng|Svay Rieng|Takev', '855'],
51
+ ['Cameroon', 'CM', 'CMR', '120', 'ISO 3166-2:CM', 'Adamaoua|Centre|Est|Extreme-Nord|Littoral|Nord|Nord-Ouest|Ouest|Sud|Sud-Ouest', '237'],
52
+ ['Canada', 'CA', 'CAN', '124', 'ISO 3166-2:CA', 'Alberta|British Columbia|Manitoba|New Brunswick|Newfoundland|Northwest Territories|Nova Scotia|Nunavut|Ontario|Prince Edward Island|Quebec|Saskatchewan|Yukon', '1'],
53
+ ['Cape Verde', 'CV', 'CPV', '132', 'ISO 3166-2:CV', 'Boa Vista|Brava|Maio|Mosteiros|Paul|Porto Novo|Praia|Ribeira Grande|Sal|Santa Catarina|Santa Cruz|Sao Domingos|Sao Filipe|Sao Nicolau|Sao Vicente|Tarrafal', '238'],
54
+ ['Cayman Islands', 'KY', 'CYM', '136', 'ISO 3166-2:KY', 'Creek|Eastern|Midland|South Town|Spot Bay|Stake Bay|West End|Western', '1 345'],
55
+ ['Central African Republic', 'CF', 'CAF', '140', 'ISO 3166-2:CF', 'Bamingui-Bangoran|Bangui|Basse-Kotto|Gribingui|Haut-Mbomou|Haute-Kotto|Haute-Sangha|Kemo-Gribingui|Lobaye|Mbomou|Nana-Mambere|Ombella-Mpoko|Ouaka|Ouham|Ouham-Pende|Sangha|Vakaga', '236'],
56
+ ['Chad', 'TD', 'TCD', '148', 'ISO 3166-2:TD', 'Batha|Biltine|Borkou-Ennedi-Tibesti|Chari-Baguirmi|Guera|Kanem|Lac|Logone Occidental|Logone Oriental|Mayo-Kebbi|Moyen-Chari|Ouaddai|Salamat|Tandjile', '235'],
57
+ ['Chile', 'CL', 'CHL', '152', 'ISO 3166-2:CL', "Aisen del General Carlos Ibanez del Campo|Antofagasta|Araucania|Atacama|Bio-Bio|Coquimbo|Libertador General Bernardo O'Higgins|Los Lagos|Magallanes y de la Antartica Chilena|Maule|Region Metropolitana [Santiago]|Tarapaca|Valparaiso", '56'],
58
+ ['China', 'CN', 'CHN', '156', 'ISO 3166-2:CN', 'Anhui|Beijing|Chongqing|Fujian|Gansu|Guangdong|Guangxi|Guizhou|Hainan|Hebei|Heilongjiang|Henan|Hubei|Hunan|Jiangsu|Jiangxi|Jilin|Liaoning|Nei Mongol|Ningxia|Qinghai|Shaanxi|Shandong|Shanghai|Shanxi|Sichuan|Tianjin|Xinjiang|Xizang [Tibet]|Yunnan|Zhejiang', '86'],
59
+ ['Christmas Island', 'CX', 'CXR', '162', 'ISO 3166-2:CX', 'Christmas Island', '61'],
60
+ ['Cocos [Keeling, ] Islands', 'CC', 'CCK', '166', 'ISO 3166-2:CC', 'Direction Island|Home Island|Horsburgh Island|North Keeling Island|South Island|West Island', '61'],
61
+ ['Colombia', 'CO', 'COL', '170', 'ISO 3166-2:CO', 'Amazonas|Antioquia|Arauca|Atlantico|Bolivar|Boyaca|Caldas|Caqueta|Casanare|Cauca|Cesar|Choco|Cordoba|Cundinamarca|Distrito Capital de Santa Fe de Bogota|Guainia|Guaviare|Huila|La Guajira|Magdalena|Meta|Narino|Norte de Santander|Putumayo|Quindio|Risaralda|San Andres y Providencia|Santander|Sucre|Tolima|Valle del Cauca|Vaupes|Vichada', '57'],
62
+ ['Comoros', 'KM', 'COM', '174', 'ISO 3166-2:KM', 'Anjouan [Nzwani]|Domoni|Fomboni|Grande Comore [Njazidja]|Moheli [Mwali]|Moroni|Moutsamoudou', '269'],
63
+ ['Congo', 'CG', 'COG', '178', 'ISO 3166-2:CG', 'Bouenza|Brazzaville|Cuvette|Kouilou|Lekoumou|Likouala|Niari|Plateaux|Pool|Sangha', '242'],
64
+ ['Congo the Democratic Republic of the', 'CD', 'COD', '180', 'ISO 3166-2:CD', 'Bandundu|Bas-Congo|Equateur|Kasai-Occidental|Kasai-Oriental|Katanga|Kinshasa|Maniema|Nord-Kivu|Orientale|Sud-Kivu', '243'],
65
+ ['Cook Islands', 'CK', 'COK', '184', 'ISO 3166-2:CK', 'Aitutaki|Atiu|Avarua|Mangaia|Manihiki|Manuae|Mauke|Mitiaro|Nassau Island|Palmerston|Penrhyn|Pukapuka|Rakahanga|Rarotonga|Suwarrow|Takutea', '682'],
66
+ ['Costa Rica', 'CR', 'CRI', '188', 'ISO 3166-2:CR', 'Alajuela|Cartago|Guanacaste|Heredia|Limon|Puntarenas|San Jose', '506'],
67
+ ["Cote d'Ivoire", 'CI', 'CIV', '384', 'ISO 3166-2:CI', "Abengourou|Abidjan|Aboisso|Adiake'|Adzope|Agboville|Agnibilekrou|Ale'pe'|Bangolo|Beoumi|Biankouma|Bocanda|Bondoukou|Bongouanou|Bouafle|Bouake|Bouna|Boundiali|Dabakala|Dabon|Daloa|Danane|Daoukro|Dimbokro|Divo|Duekoue|Ferkessedougou|Gagnoa|Grand Bassam|Grand-Lahou|Guiglo|Issia|Jacqueville|Katiola|Korhogo|Lakota|Man|Mankono|Mbahiakro|Odienne|Oume|Sakassou|San-Pedro|Sassandra|Seguela|Sinfra|Soubre|Tabou|Tanda|Tiassale|Tiebissou|Tingrela|Touba|Toulepleu|Toumodi|Vavoua|Yamoussoukro|Zuenoula", '225'],
68
+ ['Croatia', 'HR', 'HRV', '191', 'ISO 3166-2:HR', 'Bjelovarsko-Bilogorska Zupanija|Brodsko-Posavska Zupanija|Dubrovacko-Neretvanska Zupanija|Istarska Zupanija|Karlovacka Zupanija|Koprivnicko-Krizevacka Zupanija|Krapinsko-Zagorska Zupanija|Licko-Senjska Zupanija|Medimurska Zupanija|Osjecko-Baranjska Zupanija|Pozesko-Slavonska Zupanija|Primorsko-Goranska Zupanija|Sibensko-Kninska Zupanija|Sisacko-Moslavacka Zupanija|Splitsko-Dalmatinska Zupanija|Varazdinska Zupanija|Viroviticko-Podravska Zupanija|Vukovarsko-Srijemska Zupanija|Zadarska Zupanija|Zagreb|Zagrebacka Zupanija', '385'],
69
+ ['Cuba', 'CU', 'CUB', '192', 'ISO 3166-2:CU', 'Camaguey|Ciego de Avila|Cienfuegos|Ciudad de La Habana|Granma|Guantanamo|Holguin|Isla de la Juventud|La Habana|Las Tunas|Matanzas|Pinar del Rio|Sancti Spiritus|Santiago de Cuba|Villa Clara', '53'],
70
+ ['Curacao', 'CW', 'CUW', '531', 'ISO 3166-2:CW', 'Curacao', ''],
71
+ ['Cyprus', 'CY', 'CYP', '196', 'ISO 3166-2:CY', 'Famagusta|Kyrenia|Larnaca|Limassol|Nicosia|Paphos', '357'],
72
+ ['Czech Republic', 'CZ', 'CZE', '203', 'ISO 3166-2:CZ', 'Brnensky|Budejovicky|Jihlavsky|Karlovarsky|Kralovehradecky|Liberecky|Olomoucky|Ostravsky|Pardubicky|Plzensky|Praha|Stredocesky|Ustecky|Zlinsky', '420'],
73
+ ['Denmark', 'DK', 'DNK', '208', 'ISO 3166-2:DK', 'Arhus|Bornholm|Fredericksberg|Frederiksborg|Fyn|Kobenhavn|Kobenhavns|Nordjylland|Ribe|Ringkobing|Roskilde|Sonderjylland|Storstrom|Vejle|Vestsjalland|Viborg', '45'],
74
+ ['Djibouti', 'DJ', 'DJI', '262', 'ISO 3166-2:DJ', "'Ali Sabih|Dikhil|Djibouti|Obock|Tadjoura", '253'],
75
+ ['Dominica', 'DM', 'DMA', '212', 'ISO 3166-2:DM', 'Saint Andrew|Saint David|Saint George|Saint John|Saint Joseph|Saint Luke|Saint Mark|Saint Patrick|Saint Paul|Saint Peter', '1 767'],
76
+ ['Dominican Republic', 'DO', 'DOM', '214', 'ISO 3166-2:DO', 'Azua|Baoruco|Barahona|Dajabon|Distrito Nacional|Duarte|El Seibo|Elias Pina|Espaillat|Hato Mayor|Independencia|La Altagracia|La Romana|La Vega|Maria Trinidad Sanchez|Monsenor Nouel|Monte Cristi|Monte Plata|Pedernales|Peravia|Puerto Plata|Salcedo|Samana|San Cristobal|San Juan|San Pedro de Macoris|Sanchez Ramirez|Santiago|Santiago Rodriguez|Valverde', '1 809'],
77
+ ['Ecuador', 'EC', 'ECU', '218', 'ISO 3166-2:EC', 'Azuay|Bolivar|Canar|Carchi|Chimborazo|Cotopaxi|El Oro|Esmeraldas|Galapagos|Guayas|Imbabura|Loja|Los Rios|Manabi|Morona-Santiago|Napo|Orellana|Pastaza|Pichincha|Sucumbios|Tungurahua|Zamora-Chinchipe', '593'],
78
+ ['Egypt', 'EG', 'EGY', '818', 'ISO 3166-2:EG', "Ad Daqahliyah|Al Bahr al Ahmar|Al Buhayrah|Al Fayyum|Al Gharbiyah|Al Iskandariyah|Al Isma'iliyah|Al Jizah|Al Minufiyah|Al Minya|Al Qahirah|Al Qalyubiyah|Al Wadi al Jadid|As Suways|Ash Sharqiyah|Aswan|Asyut|Bani Suwayf|Bur Sa'id|Dumyat|Janub Sina'|Kafr ash Shaykh|Matruh|Qina|Shamal Sina'|Suhaj", '20'],
79
+ ['El Salvador', 'SV', 'SLV', '222', 'ISO 3166-2:SV', 'Ahuachapan|Cabanas|Chalatenango|Cuscatlan|La Libertad|La Paz|La Union|Morazan|San Miguel|San Salvador|San Vicente|Santa Ana|Sonsonate|Usulutan', '503'],
80
+ ['Equatorial Guinea', 'GQ', 'GNQ', '226', 'ISO 3166-2:GQ', 'Annobon|Bioko Norte|Bioko Sur|Centro Sur|Kie-Ntem|Litoral|Wele-Nzas', '240'],
81
+ ['Eritrea', 'ER', 'ERI', '232', 'ISO 3166-2:ER', 'Akale Guzay|Barka|Denkel|Hamasen|Sahil|Semhar|Senhit|Seraye', '291'],
82
+ ['Estonia', 'EE', 'EST', '233', 'ISO 3166-2:EE', 'Harjumaa [Tallinn]|Hiiumaa [Kardla]|Ida-Virumaa [Johvi]|Jarvamaa [Paide]|Jogevamaa [Jogeva]|Laane-Virumaa [Rakvere]|Laanemaa [Haapsalu]|Parnumaa [Parnu]|Polvamaa [Polva]|Raplamaa [Rapla]|Saaremaa [Kuessaare]|Tartumaa [Tartu]|Valgamaa [Valga]|Viljandimaa [Viljandi]|Vorumaa [Voru]', '372'],
83
+ ['Ethiopia', 'ET', 'ETH', '231', 'ISO 3166-2:ET', 'Adis Abeba [Addis Ababa]|Afar|Amara|Dire Dawa|Gambela Hizboch|Hareri Hizb|Oromiya|Sumale|Tigray|YeDebub Biheroch Bihereseboch na Hizboch', '251'],
84
+ ['Falkland Islands [Malvinas, ]', 'FK', 'FLK', '238', 'ISO 3166-2:FK', 'Falkland Islands [Islas Malvinas]', '500'],
85
+ ['Faroe Islands', 'FO', 'FRO', '234', 'ISO 3166-2:FO', 'Bordoy|Eysturoy|Mykines|Sandoy|Skuvoy|Streymoy|Suduroy|Tvoroyri|Vagar', '298'],
86
+ ['Fiji', 'FJ', 'FJI', '242', 'ISO 3166-2:FJ', 'Central|Eastern|Northern|Rotuma|Western', '679'],
87
+ ['Finland', 'FI', 'FIN', '246', 'ISO 3166-2:FI', 'Aland|Etela-Suomen Laani|Ita-Suomen Laani|Lansi-Suomen Laani|Lappi|Oulun Laani', '358'],
88
+ ['France', 'FR', 'FRA', '250', 'ISO 3166-2:FR', "Alsace|Aquitaine|Auvergne|Basse-Normandie|Bourgogne|Bretagne|Centre|Champagne-Ardenne|Corse|Franche-Comte|Haute-Normandie|Ile-de-France|Languedoc-Roussillon|Limousin|Lorraine|Midi-Pyrenees|Nord-Pas-de-Calais|Pays de la Loire|Picardie|Poitou-Charentes|Provence-Alpes-Cote d'Azur|Rhone-Alpes", '33'],
89
+ ['French Guiana', 'GF', 'GUF', '254', 'ISO 3166-2:GF', 'French Guiana', ''],
90
+ ['French Polynesia', 'PF', 'PYF', '258', 'ISO 3166-2:PF', 'Archipel des Marquises|Archipel des Tuamotu|Archipel des Tubuai|Iles du Vent|Iles Sous-le-Vent', '689'],
91
+ ['French Southern Territories', 'TF', 'ATF', '260', 'ISO 3166-2:TF', 'Adelie Land|Ile Crozet|Iles Kerguelen|Iles Saint-Paul et Amsterdam', ''],
92
+ ['Gabon', 'GA', 'GAB', '266', 'ISO 3166-2:GA', 'Estuaire|Haut-Ogooue|Moyen-Ogooue|Ngounie|Nyanga|Ogooue-Ivindo|Ogooue-Lolo|Ogooue-Maritime|Woleu-Ntem', '241'],
93
+ ['Gambia', 'GM', 'GMB', '270', 'ISO 3166-2:GM', 'Banjul|Central River|Lower River|North Bank|Upper River|Western', '220'],
94
+ ['Georgia', 'GE', 'GEO', '268', 'ISO 3166-2:GE', "Abashis|Abkhazia or Ap'khazet'is Avtonomiuri Respublika [Sokhumi]|Adigenis|Ajaria or Acharis Avtonomiuri Respublika [Bat'umi]|Akhalgoris|Akhalk'alak'is|Akhalts'ikhis|Akhmetis|Ambrolauris|Aspindzis|Baghdat'is|Bolnisis|Borjomis|Ch'khorotsqus|Ch'okhatauris|Chiat'ura|Dedop'listsqaros|Dmanisis|Dushet'is|Gardabanis|Gori|Goris|Gurjaanis|Javis|K'arelis|K'ut'aisi|Kaspis|Kharagaulis|Khashuris|Khobis|Khonis|Lagodekhis|Lanch'khut'is|Lentekhis|Marneulis|Martvilis|Mestiis|Mts'khet'is|Ninotsmindis|Onis|Ozurget'is|P'ot'i|Qazbegis|Qvarlis|Rust'avi|Sach'kheris|Sagarejos|Samtrediis|Senakis|Sighnaghis|T'bilisi|T'elavis|T'erjolis|T'et'ritsqaros|T'ianet'is|Tqibuli|Ts'ageris|Tsalenjikhis|Tsalkis|Tsqaltubo|Vanis|Zestap'onis|Zugdidi|Zugdidis", '995'],
95
+ ['Germany', 'DE', 'DEU', '276', 'ISO 3166-2:DE', 'Brandenburg|Berlin|Baden-W\xfcrttemberg|Bayern [Bavaria]|Bremen|Hessen|Hamburg|Mecklenburg-Vorpommern|Niedersachsen [Lower Saxony]|Nordrhein-Westfalen|Rheinland-Pfalz [Palatinate]|Schleswig-Holstein|Saarland|Sachsen [Saxony]|Sachsen-Anhalt [Saxony-Anhalt]|Th\xfcringen [Thuringia]', '49'],
96
+ ['Ghana', 'GH', 'GHA', '288', 'ISO 3166-2:GH', 'Ashanti|Brong-Ahafo|Central|Eastern|Greater Accra|Northern|Upper East|Upper West|Volta|Western', '233'],
97
+ ['Gibraltar', 'GI', 'GIB', '292', 'ISO 3166-2:GI', 'Gibraltar', '350'],
98
+ ['Greece', 'GR', 'GRC', '300', 'ISO 3166-2:GR', 'Achaea|Aetolia-Acarnania|Arcadia|Argolis|Arta|Athens|Boeotia|Chalcidice|Chania|Chios|Corfu|Corinthia|Cyclades|Dodecanese|Drama|East Attica|Elis|Euboea|Evros|Evrytania|Florina|Grevena|Heraklion|Imathia|Ioannina|Karditsa|Kastoria|Kavala|Kefalonia and Ithaka|Kilkis|Kozani|Laconia|Larissa|Lasithi|Lefkada|Lesbos|Magnesia|Messenia|Pella|Phocis|Phthiotis|Pieria|Piraeus|Preveza|Rethymno|Rhodope|Samos|Serres|Thesprotia|Thessaloniki|Trikala|West Attica|Xanthi|Zakynthos', '30'],
99
+ ['Greenland', 'GL', 'GRL', '304', 'ISO 3166-2:GL', 'Avannaa [Nordgronland]|Kitaa [Vestgronland]|Tunu [Ostgronland]', '299'],
100
+ ['Grenada', 'GD', 'GRD', '308', 'ISO 3166-2:GD', 'Carriacou and Petit Martinique|Saint Andrew|Saint David|Saint George|Saint John|Saint Mark|Saint Patrick', '1 473'],
101
+ ['Guadeloupe', 'GP', 'GLP', '312', 'ISO 3166-2:GP', 'Basse-Terre|Grande-Terre|Iles de la Petite Terre|Iles des Saintes|Marie-Galante', ''],
102
+ ['Guam', 'GU', 'GUM', '316', 'ISO 3166-2:GU', 'Guam', '1 671'],
103
+ ['Guatemala', 'GT', 'GTM', '320', 'ISO 3166-2:GT', 'Alta Verapaz|Baja Verapaz|Chimaltenango|Chiquimula|El Progreso|Escuintla|Guatemala|Huehuetenango|Izabal|Jalapa|Jutiapa|Peten|Quetzaltenango|Quiche|Retalhuleu|Sacatepequez|San Marcos|Santa Rosa|Solola|Suchitepequez|Totonicapan|Zacapa', '502'],
104
+ ['Guernsey', 'GG', 'GGY', '831', 'ISO 3166-2:GG', 'Castel|Forest|St. Andrew|St. Martin|St. Peter Port|St. Pierre du Bois|St. Sampson|St. Saviour|Torteval|Vale', ''],
105
+ ['Guinea', 'GN', 'GIN', '324', 'ISO 3166-2:GN', 'Beyla|Boffa|Boke|Conakry|Coyah|Dabola|Dalaba|Dinguiraye|Dubreka|Faranah|Forecariah|Fria|Gaoual|Gueckedou|Kankan|Kerouane|Kindia|Kissidougou|Koubia|Koundara|Kouroussa|Labe|Lelouma|Lola|Macenta|Mali|Mamou|Mandiana|Nzerekore|Pita|Siguiri|Telimele|Tougue|Yomou', '224'],
106
+ ['Guinea-Bissau', 'GW', 'GNB', '624', 'ISO 3166-2:GW', 'Bafata|Biombo|Bissau|Bolama-Bijagos|Cacheu|Gabu|Oio|Quinara|Tombali', '245'],
107
+ ['Guyana', 'GY', 'GUY', '328', 'ISO 3166-2:GY', 'Barima-Waini|Cuyuni-Mazaruni|Demerara-Mahaica|East Berbice-Corentyne|Essequibo Islands-West Demerara|Mahaica-Berbice|Pomeroon-Supenaam|Potaro-Siparuni|Upper Demerara-Berbice|Upper Takutu-Upper Essequibo', '592'],
108
+ ['Haiti', 'HT', 'HTI', '332', 'ISO 3166-2:HT', "Artibonite|Centre|Grand'Anse|Nord|Nord-Est|Nord-Ouest|Ouest|Sud|Sud-Est", '509'],
109
+ ['Heard Island and McDonald Islands', 'HM', 'HMD', '334', 'ISO 3166-2:HM', 'Heard Island and McDonald Islands', ''],
110
+ ['Holy See, Vatican City State', 'VA', 'VAT', '336', 'ISO 3166-2:VA', 'Holy See [Vatican City]', '39'],
111
+ ['Honduras', 'HN', 'HND', '340', 'ISO 3166-2:HN', 'Atlantida|Choluteca|Colon|Comayagua|Copan|Cortes|El Paraiso|Francisco Morazan|Gracias a Dios|Intibuca|Islas de la Bahia|La Paz|Lempira|Ocotepeque|Olancho|Santa Barbara|Valle|Yoro', '504'],
112
+ ['Hong Kong', 'HK', 'HKG', '344', 'ISO 3166-2:HK', 'Hong Kong', '852'],
113
+ ['Hungary', 'HU', 'HUN', '348', 'ISO 3166-2:HU', 'Bacs-Kiskun|Baranya|Bekes|Bekescsaba|Borsod-Abauj-Zemplen|Budapest|Csongrad|Debrecen|Dunaujvaros|Eger|Fejer|Gyor|Gyor-Moson-Sopron|Hajdu-Bihar|Heves|Hodmezovasarhely|Jasz-Nagykun-Szolnok|Kaposvar|Kecskemet|Komarom-Esztergom|Miskolc|Nagykanizsa|Nograd|Nyiregyhaza|Pecs|Pest|Somogy|Sopron|Szabolcs-Szatmar-Bereg|Szeged|Szekesfehervar|Szolnok|Szombathely|Tatabanya|Tolna|Vas|Veszprem|Veszprem|Zala|Zalaegerszeg', '36'],
114
+ ['Iceland', 'IS', 'ISL', '352', 'ISO 3166-2:IS', 'Akranes|Akureyri|Arnessysla|Austur-Bardhastrandarsysla|Austur-Hunavatnssysla|Austur-Skaftafellssysla|Borgarfjardharsysla|Dalasysla|Eyjafjardharsysla|Gullbringusysla|Hafnarfjordhur|Husavik|Isafjordhur|Keflavik|Kjosarsysla|Kopavogur|Myrasysla|Neskaupstadhur|Nordhur-Isafjardharsysla|Nordhur-Mulasys-la|Nordhur-Thingeyjarsysla|Olafsfjordhur|Rangarvallasysla|Reykjavik|Saudharkrokur|Seydhisfjordhur|Siglufjordhur|Skagafjardharsysla|Snaefellsnes-og Hnappadalssysla|Strandasysla|Sudhur-Mulasysla|Sudhur-Thingeyjarsysla|Vesttmannaeyjar|Vestur-Bardhastrandarsysla|Vestur-Hunavatnssysla|Vestur-Isafjardharsysla|Vestur-Skaftafellssysla', '354'],
115
+ ['India', 'IN', 'IND', '356', 'ISO 3166-2:IN', 'Andaman and Nicobar Islands|Andhra Pradesh|Arunachal Pradesh|Assam|Bihar|Chandigarh|Chhattisgarh|Dadra and Nagar Haveli|Daman and Diu|Delhi|Goa|Gujarat|Haryana|Himachal Pradesh|Jammu and Kashmir|Jharkhand|Karnataka|Kerala|Lakshadweep|Madhya Pradesh|Maharashtra|Manipur|Meghalaya|Mizoram|Nagaland|Orissa|Pondicherry|Punjab|Rajasthan|Sikkim|Tamil Nadu|Tripura|Uttar Pradesh|Uttaranchal|West Bengal', '91'],
116
+ ['Indonesia', 'ID', 'IDN', '360', 'ISO 3166-2:ID', 'Aceh|Bali|Banten|Bengkulu|East Timor|Gorontalo|Irian Jaya|Jakarta Raya|Jambi|Jawa Barat|Jawa Tengah|Jawa Timur|Kalimantan Barat|Kalimantan Selatan|Kalimantan Tengah|Kalimantan Timur|Kepulauan Bangka Belitung|Lampung|Maluku|Maluku Utara|Nusa Tenggara Barat|Nusa Tenggara Timur|Riau|Sulawesi Selatan|Sulawesi Tengah|Sulawesi Tenggara|Sulawesi Utara|Sumatera Barat|Sumatera Selatan|Sumatera Utara|Yogyakarta', '62'],
117
+ ['Iran Islamic Republic of', 'IR', 'IRN', '364', 'ISO 3166-2:IR', 'Ardabil|Azarbayjan-e Gharbi|Azarbayjan-e Sharqi|Bushehr|Chahar Mahall va Bakhtiari|Esfahan|Fars|Gilan|Golestan|Hamadan|Hormozgan|Ilam|Kerman|Kermanshah|Khorasan|Khuzestan|Kohgiluyeh va Buyer Ahmad|Kordestan|Lorestan|Markazi|Mazandaran|Qazvin|Qom|Semnan|Sistan va Baluchestan|Tehran|Yazd|Zanjan', '98'],
118
+ ['Iraq', 'IQ', 'IRQ', '368', 'ISO 3166-2:IQ', "Al Anbar|Al Basrah|Al Muthanna|Al Qadisiyah|An Najaf|Arbil|As Sulaymaniyah|At Ta'mim|Babil|Baghdad|Dahuk|Dhi Qar|Diyala|Karbala'|Maysan|Ninawa|Salah ad Din|Wasit", '964'],
119
+ ['Ireland', 'IE', 'IRL', '372', 'ISO 3166-2:IE', 'Co. Carlow|Co. Cavan|Co. Clare|Co. Cork|Co. Donegal|Co. Dublin|Co. Galway|Co. Kerry|Co. Kildare|Co. Kilkenny|Co. Laois|Co. Leitrim|Co. Limerick|Co. Longford|Co. Louth|Co. Mayo|Co. Meath|Co. Monaghan|Co. Offaly|Co. Roscommon|Co. Sligo|Co. Tipperary|Co. Waterford|Co. Westmeath|Co. Wexford|Co. Wicklow', '353'],
120
+ ['Isle of Man', 'IM', 'IMN', '833', 'ISO 3166-2:IM', 'Isle of Man', '44'],
121
+ ['Israel', 'IL', 'ISR', '376', 'ISO 3166-2:IL', 'Central|Haifa|Jerusalem|Northern|Southern|Tel Aviv', '972'],
122
+ ['Italy', 'IT', 'ITA', '380', 'ISO 3166-2:IT', "Agrigento|Alessandria|Ancona|Aosta|Ascoli Piceno|L'Aquila|Arezzo|Asti|Avellino|Bari|Bergamo|Biella|Belluno|Benevento|Bologna|Brindisi|Brescia|Barletta-Andria-Trani|Bolzano-Bozen|Cagliari|Campobasso|Caserta|Chieti|Carbonia-Inglesias|Caltanissetta|Cuneo|Como|Cremona|Cosenza|Catania|Catanzaro|Enna|Forl\xec-Cesena|Ferrara|Foggia|Firenze|Fermo|Frosinone|Genova|Gorizia|Grosseto|Imperia|Isernia|Crotone|Lecco|Lecce|Livorno|Lodi|Latina|Lucca|Monza e Brianza|Macerata|Messina|Milano|Mantova|Modena|Massa-Carrara|Matera|Napoli|Novara|Nuoro|Ogliastra|Oristano|Olbia-Tempio|Palermo|Piacenza|Padova|Pescara|Perugia|Pisa|Pordenone|Prato|Parma|Pistoia|Pesaro e Urbino|Pavia|Potenza|Ravenna|Reggio Calabria|Reggio Elilia|Ragusa|Rieti|Roma|Rimini|Rovigo|Salerno|Siena|Sondrio|La Spezia|Siracusa|Sassari|Savona|Taranto|Teramo|Trento|Torino|Trapani|Terni|Trieste|Treviso|Udine|Varese|Verbano-Cusio-Ossola|Vercelli|Venezia|Vicenza|Verona|Medio Campidano|Viterbo|Vibo Valentia", '39'],
123
+ ['Jamaica', 'JM', 'JAM', '388', 'ISO 3166-2:JM', 'Clarendon|Hanover|Kingston|Manchester|Portland|Saint Andrew|Saint Ann|Saint Catherine|Saint Elizabeth|Saint James|Saint Mary|Saint Thomas|Trelawny|Westmoreland', '1 876'],
124
+ ['Japan', 'JP', 'JPN', '392', 'ISO 3166-2:JP', 'Aichi|Akita|Aomori|Chiba|Ehime|Fukui|Fukuoka|Fukushima|Gifu|Gunma|Hiroshima|Hokkaido|Hyogo|Ibaragi|Ishikawa|Iwate|Kagawa|Kagoshima|Kanagawa|Kochi|Kumamoto|Kyoto|Mie|Miyagi|Miyazaki|Nagano|Nagasaki|Nara|Niigata|Oita|Okayama|Okinawa|Osaka|Saga|Saitama|Shiga|Shimane|Shizuoka|Tochigi|Tokushima|Tokyo|Tottori|Toyama|Wakayama|Yamagata|Yamaguchi|Yamanashi', '81'],
125
+ ['Jersey', 'JE', 'JEY', '832', 'ISO 3166-2:JE', 'Jersey', '-'],
126
+ ['Jordan', 'JO', 'JOR', '400', 'ISO 3166-2:JO', "'Amman|Ajlun|Al 'Aqabah|Al Balqa'|Al Karak|Al Mafraq|At Tafilah|Az Zarqa'|Irbid|Jarash|Ma'an|Madaba", '962'],
127
+ ['Kazakhstan', 'KZ', 'KAZ', '398', 'ISO 3166-2:KZ', 'Almaty|Aqmola|Aqtobe|Astana|Atyrau|Batys Qazaqstan|Bayqongyr|Mangghystau|Ongtustik Qazaqstan|Pavlodar|Qaraghandy|Qostanay|Qyzylorda|Shyghys Qazaqstan|Soltustik Qazaqstan|Zhambyl', '7'],
128
+ ['Kenya', 'KE', 'KEN', '404', 'ISO 3166-2:KE', 'Central|Coast|Eastern|Nairobi Area|North Eastern|Nyanza|Rift Valley|Western', '254'],
129
+ ['Kiribati', 'KI', 'KIR', '296', 'ISO 3166-2:KI', 'Abaiang|Abemama|Aranuka|Arorae|Banaba|Banaba|Beru|Butaritari|Central Gilberts|Gilbert Islands|Kanton|Kiritimati|Kuria|Line Islands|Line Islands|Maiana|Makin|Marakei|Nikunau|Nonouti|Northern Gilberts|Onotoa|Phoenix Islands|Southern Gilberts|Tabiteuea|Tabuaeran|Tamana|Tarawa|Tarawa|Teraina', '686'],
130
+ ["Korea, Democratic People's Republic of", 'KP', 'PRK', '408', 'ISO 3166-2:KP', "Chagang-do [Chagang Province]|Hamgyong-bukto [North Hamgyong Province]|Hamgyong-namdo [South Hamgyong Province]|Hwanghae-bukto [North Hwanghae Province]|Hwanghae-namdo [South Hwanghae Province]|Kaesong-si [Kaesong City]|Kangwon-do [Kangwon Province]|Namp'o-si [Namp'o City]|P'yongan-bukto [North P'yongan Province]|P'yongan-namdo [South P'yongan Province]|P'yongyang-si [P'yongyang City]|Yanggang-do [Yanggang Province]", '850'],
131
+ ['Korea, Republic of', 'KR', 'KOR', '410', 'ISO 3166-2:KR', "Ch'ungch'ong-bukto|Ch'ungch'ong-namdo|Cheju-do|Cholla-bukto|Cholla-namdo|Inch'on-gwangyoksi|Kangwon-do|Kwangju-gwangyoksi|Kyonggi-do|Kyongsang-bukto|Kyongsang-namdo|Pusan-gwangyoksi|Soul-t'ukpyolsi|Taegu-gwangyoksi|Taejon-gwangyoksi|Ulsan-gwangyoksi", '82'],
132
+ ['Kuwait', 'KW', 'KWT', '414', 'ISO 3166-2:KW', "Al 'Asimah|Al Ahmadi|Al Farwaniyah|Al Jahra'|Hawalli", '965'],
133
+ ['Kyrgyzstan', 'KG', 'KGZ', '417', 'ISO 3166-2:KG', 'Batken Oblasty|Bishkek Shaary|Chuy Oblasty [Bishkek]|Jalal-Abad Oblasty|Naryn Oblasty|Osh Oblasty|Talas Oblasty|Ysyk-Kol Oblasty [Karakol]', '996'],
134
+ ["Lao People's Democratic Republic", 'LA', 'LAO', '418', 'ISO 3166-2:LA', 'Attapu|Bokeo|Bolikhamxai|Champasak|Houaphan|Khammouan|Louangnamtha|Louangphabang|Oudomxai|Phongsali|Salavan|Savannakhet|Viangchan|Viangchan|Xaignabouli|Xaisomboun|Xekong|Xiangkhoang', '856'],
135
+ ['Latvia', 'LV', 'LVA', '428', 'ISO 3166-2:LV', 'Aizkraukles Rajons|Aluksnes Rajons|Balvu Rajons|Bauskas Rajons|Cesu Rajons|Daugavpils|Daugavpils Rajons|Dobeles Rajons|Gulbenes Rajons|Jekabpils Rajons|Jelgava|Jelgavas Rajons|Jurmala|Kraslavas Rajons|Kuldigas Rajons|Leipaja|Liepajas Rajons|Limbazu Rajons|Ludzas Rajons|Madonas Rajons|Ogres Rajons|Preilu Rajons|Rezekne|Rezeknes Rajons|Riga|Rigas Rajons|Saldus Rajons|Talsu Rajons|Tukuma Rajons|Valkas Rajons|Valmieras Rajons|Ventspils|Ventspils Rajons', '371'],
136
+ ['Lebanon', 'LB', 'LBN', '422', 'ISO 3166-2:LB', 'Beyrouth|Ech Chimal|Ej Jnoub|El Bekaa|Jabal Loubnane', '961'],
137
+ ['Lesotho', 'LS', 'LSO', '426', 'ISO 3166-2:LS', "Berea|Butha-Buthe|Leribe|Mafeteng|Maseru|Mohales Hoek|Mokhotlong|Qacha's Nek|Quthing|Thaba-Tseka", '266'],
138
+ ['Liberia', 'LR', 'LBR', '430', 'ISO 3166-2:LR', 'Bomi|Bong|Grand Bassa|Grand Cape Mount|Grand Gedeh|Grand Kru|Lofa|Margibi|Maryland|Montserrado|Nimba|River Cess|Sinoe', '231'],
139
+ ['Libyan Arab Jamahiriya', 'LY', 'LBY', '434', 'ISO 3166-2:LY', "Ajdabiya|Al 'Aziziyah|Al Fatih|Al Jabal al Akhdar|Al Jufrah|Al Khums|Al Kufrah|An Nuqat al Khams|Ash Shati'|Awbari|Az Zawiyah|Banghazi|Darnah|Ghadamis|Gharyan|Misratah|Murzuq|Sabha|Sawfajjin|Surt|Tarabulus|Tarhunah|Tubruq|Yafran|Zlitan", '218'],
140
+ ['Liechtenstein', 'LI', 'LIE', '438', 'ISO 3166-2:LI', 'Balzers|Eschen|Gamprin|Mauren|Planken|Ruggell|Schaan|Schellenberg|Triesen|Triesenberg|Vaduz', '423'],
141
+ ['Lithuania', 'LT', 'LTU', '440', 'ISO 3166-2:LT', 'Akmenes Rajonas|Alytaus Rajonas|Alytus|Anyksciu Rajonas|Birstonas|Birzu Rajonas|Druskininkai|Ignalinos Rajonas|Jonavos Rajonas|Joniskio Rajonas|Jurbarko Rajonas|Kaisiadoriu Rajonas|Kaunas|Kauno Rajonas|Kedainiu Rajonas|Kelmes Rajonas|Klaipeda|Klaipedos Rajonas|Kretingos Rajonas|Kupiskio Rajonas|Lazdiju Rajonas|Marijampole|Marijampoles Rajonas|Mazeikiu Rajonas|Moletu Rajonas|Neringa Pakruojo Rajonas|Palanga|Panevezio Rajonas|Panevezys|Pasvalio Rajonas|Plunges Rajonas|Prienu Rajonas|Radviliskio Rajonas|Raseiniu Rajonas|Rokiskio Rajonas|Sakiu Rajonas|Salcininku Rajonas|Siauliai|Siauliu Rajonas|Silales Rajonas|Silutes Rajonas|Sirvintu Rajonas|Skuodo Rajonas|Svencioniu Rajonas|Taurages Rajonas|Telsiu Rajonas|Traku Rajonas|Ukmerges Rajonas|Utenos Rajonas|Varenos Rajonas|Vilkaviskio Rajonas|Vilniaus Rajonas|Vilnius|Zarasu Rajonas', '370'],
142
+ ['Luxembourg', 'LU', 'LUX', '442', 'ISO 3166-2:LU', 'Diekirch|Grevenmacher|Luxembourg', '352'],
143
+ ['Macao', 'MO', 'MAC', '446', 'ISO 3166-2:MO', 'Macao', '853'],
144
+ ['Macedonia', 'MK', 'MKD', '807', 'ISO 3166-2:MK', 'Aracinovo|Bac|Belcista|Berovo|Bistrica|Bitola|Blatec|Bogdanci|Bogomila|Bogovinje|Bosilovo|Brvenica|Cair [Skopje]|Capari|Caska|Cegrane|Centar [Skopje]|Centar Zupa|Cesinovo|Cucer-Sandevo|Debar|Delcevo|Delogozdi|Demir Hisar|Demir Kapija|Dobrusevo|Dolna Banjica|Dolneni|Dorce Petrov [Skopje]|Drugovo|Dzepciste|Gazi Baba [Skopje]|Gevgelija|Gostivar|Gradsko|Ilinden|Izvor|Jegunovce|Kamenjane|Karbinci|Karpos [Skopje]|Kavadarci|Kicevo|Kisela Voda [Skopje]|Klecevce|Kocani|Konce|Kondovo|Konopiste|Kosel|Kratovo|Kriva Palanka|Krivogastani|Krusevo|Kuklis|Kukurecani|Kumanovo|Labunista|Lipkovo|Lozovo|Lukovo|Makedonska Kamenica|Makedonski Brod|Mavrovi Anovi|Meseista|Miravci|Mogila|Murtino|Negotino|Negotino-Poloska|Novaci|Novo Selo|Oblesevo|Ohrid|Orasac|Orizari|Oslomej|Pehcevo|Petrovec|Plasnia|Podares|Prilep|Probistip|Radovis|Rankovce|Resen|Rosoman|Rostusa|Samokov|Saraj|Sipkovica|Sopiste|Sopotnika|Srbinovo|Star Dojran|Staravina|Staro Nagoricane|Stip|Struga|Strumica|Studenicani|Suto Orizari [Skopje]|Sveti Nikole|Tearce|Tetovo|Topolcani|Valandovo|Vasilevo|Veles|Velesta|Vevcani|Vinica|Vitoliste|Vranestica|Vrapciste|Vratnica|Vrutok|Zajas|Zelenikovo|Zileno|Zitose|Zletovo|Zrnovci', '389'],
145
+ ['Madagascar', 'MG', 'MDG', '450', 'ISO 3166-2:MG', 'Antananarivo|Antsiranana|Fianarantsoa|Mahajanga|Toamasina|Toliara', '261'],
146
+ ['Malawi', 'MW', 'MWI', '454', 'ISO 3166-2:MW', 'Balaka|Blantyre|Chikwawa|Chiradzulu|Chitipa|Dedza|Dowa|Karonga|Kasungu|Likoma|Lilongwe|Machinga [Kasupe]|Mangochi|Mchinji|Mulanje|Mwanza|Mzimba|Nkhata Bay|Nkhotakota|Nsanje|Ntcheu|Ntchisi|Phalombe|Rumphi|Salima|Thyolo|Zomba', '265'],
147
+ ['Malaysia', 'MY', 'MYS', '458', 'ISO 3166-2:MY', 'Johor|Kedah|Kelantan|Labuan|Melaka|Negeri Sembilan|Pahang|Perak|Perlis|Pulau Pinang|Sabah|Sarawak|Selangor|Terengganu|Wilayah Persekutuan', '60'],
148
+ ['Maldives', 'MV', 'MDV', '462', 'ISO 3166-2:MV', 'Alifu|Baa|Dhaalu|Faafu|Gaafu Alifu|Gaafu Dhaalu|Gnaviyani|Haa Alifu|Haa Dhaalu|Kaafu|Laamu|Lhaviyani|Maale|Meemu|Noonu|Raa|Seenu|Shaviyani|Thaa|Vaavu', '960'],
149
+ ['Mali', 'ML', 'MLI', '466', 'ISO 3166-2:ML', 'Gao|Kayes|Kidal|Koulikoro|Mopti|Segou|Sikasso|Tombouctou', '223'],
150
+ ['Malta', 'MT', 'MLT', '470', 'ISO 3166-2:MT', 'Valletta', '356'],
151
+ ['Marshall Islands', 'MH', 'MHL', '584', 'ISO 3166-2:MH', 'Ailinginae|Ailinglaplap|Ailuk|Arno|Aur|Bikar|Bikini|Bokak|Ebon|Enewetak|Erikub|Jabat|Jaluit|Jemo|Kili|Kwajalein|Lae|Lib|Likiep|Majuro|Maloelap|Mejit|Mili|Namorik|Namu|Rongelap|Rongrik|Toke|Ujae|Ujelang|Utirik|Wotho|Wotje', '692'],
152
+ ['Martinique', 'MQ', 'MTQ', '474', 'ISO 3166-2:MQ', 'Martinique', ''],
153
+ ['Mauritania', 'MR', 'MRT', '478', 'ISO 3166-2:MR', 'Adrar|Assaba|Brakna|Dakhlet Nouadhibou|Gorgol|Guidimaka|Hodh Ech Chargui|Hodh El Gharbi|Inchiri|Nouakchott|Tagant|Tiris Zemmour|Trarza', '222'],
154
+ ['Mauritius', 'MU', 'MUS', '480', 'ISO 3166-2:MU', 'Agalega Islands|Black River|Cargados Carajos Shoals|Flacq|Grand Port|Moka|Pamplemousses|Plaines Wilhems|Port Louis|Riviere du Rempart|Rodrigues|Savanne', '230'],
155
+ ['Mayotte', 'YT', 'MYT', '175', 'ISO 3166-2:YT', 'Mayotte', '262'],
156
+ ['Mexico', 'MX', 'MEX', '484', 'ISO 3166-2:MX', 'Aguascalientes|Baja California|Baja California Sur|Campeche|Chiapas|Chihuahua|Coahuila de Zaragoza|Colima|Distrito Federal|Durango|Guanajuato|Guerrero|Hidalgo|Jalisco|Mexico|Michoacan de Ocampo|Morelos|Nayarit|Nuevo Leon|Oaxaca|Puebla|Queretaro de Arteaga|Quintana Roo|San Luis Potosi|Sinaloa|Sonora|Tabasco|Tamaulipas|Tlaxcala|Veracruz-Llave|Yucatan|Zacatecas', '52'],
157
+ ['Micronesia Federated States of', 'FM', 'FSM', '583', 'ISO 3166-2:FM', 'Chuuk [Truk]|Kosrae|Pohnpei|Yap', '691'],
158
+ ['Moldova', 'MD', 'MDA', '498', 'ISO 3166-2:MD', 'Balti|Cahul|Chisinau|Chisinau|Dubasari|Edinet|Gagauzia|Lapusna|Orhei|Soroca|Tighina|Ungheni', '373'],
159
+ ['Monaco', 'MC', 'MCO', '492', 'ISO 3166-2:MC', 'Fontvieille|La Condamine|Monaco-Ville|Monte-Carlo', '377'],
160
+ ['Mongolia', 'MN', 'MNG', '496', 'ISO 3166-2:MN', 'Arhangay|Bayan-Olgiy|Bayanhongor|Bulgan|Darhan|Dornod|Dornogovi|Dundgovi|Dzavhan|Erdenet|Govi-Altay|Hentiy|Hovd|Hovsgol|Omnogovi|Ovorhangay|Selenge|Suhbaatar|Tov|Ulaanbaatar|Uvs', '976'],
161
+ ['Montenegro', 'ME', 'MNE', '499', 'ISO 3166-2:ME', 'Montenegro', '382'],
162
+ ['Montserrat', 'MS', 'MSR', '500', 'ISO 3166-2:MS', "Saint Anthony|Saint Georges|Saint Peter's", '1 664'],
163
+ ['Morocco', 'MA', 'MAR', '504', 'ISO 3166-2:MA', 'Agadir|Al Hoceima|Azilal|Ben Slimane|Beni Mellal|Boulemane|Casablanca|Chaouen|El Jadida|El Kelaa des Srarhna|Er Rachidia|Essaouira|Fes|Figuig|Guelmim|Ifrane|Kenitra|Khemisset|Khenifra|Khouribga|Laayoune|Larache|Marrakech|Meknes|Nador|Ouarzazate|Oujda|Rabat-Sale|Safi|Settat|Sidi Kacem|Tan-Tan|Tanger|Taounate|Taroudannt|Tata|Taza|Tetouan|Tiznit', '212'],
164
+ ['Mozambique', 'MZ', 'MOZ', '508', 'ISO 3166-2:MZ', 'Cabo Delgado|Gaza|Inhambane|Manica|Maputo|Nampula|Niassa|Sofala|Tete|Zambezia', '258'],
165
+ ['Myanmar', 'MM', 'MMR', '104', 'ISO 3166-2:MM', 'Ayeyarwady|Bago|Chin State|Kachin State|Kayah State|Kayin State|Magway|Mandalay|Mon State|Rakhine State|Sagaing|Shan State|Tanintharyi|Yangon', '95'],
166
+ ['Namibia', 'NA', 'NAM', '516', 'ISO 3166-2:NA', 'Caprivi|Erongo|Hardap|Karas|Khomas|Kunene|Ohangwena|Okavango|Omaheke|Omusati|Oshana|Oshikoto|Otjozondjupa', '264'],
167
+ ['Nauru', 'NR', 'NRU', '520', 'ISO 3166-2:NR', 'Aiwo|Anabar|Anetan|Anibare|Baiti|Boe|Buada|Denigomodu|Ewa|Ijuw|Meneng|Nibok|Uaboe|Yaren', '674'],
168
+ ['Nepal', 'NP', 'NPL', '524', 'ISO 3166-2:NP', 'Bagmati|Bheri|Dhawalagiri|Gandaki|Janakpur|Karnali|Kosi|Lumbini|Mahakali|Mechi|Narayani|Rapti|Sagarmatha|Seti', '977'],
169
+ ['Netherlands', 'NL', 'NLD', '528', 'ISO 3166-2:NL', 'Drenthe|Flevoland|Friesland|Gelderland|Groningen|Limburg|Noord-Brabant|Noord-Holland|Overijssel|Utrecht|Zeeland|Zuid-Holland', '31'],
170
+ ['New Caledonia', 'NC', 'NCL', '540', 'ISO 3166-2:NC', 'Iles Loyaute|Nord|Sud', '687'],
171
+ ['New Zealand', 'NZ', 'NZL', '554', 'ISO 3166-2:NZ', "Akaroa|Amuri|Ashburton|Bay of Islands|Bruce|Buller|Chatham Islands|Cheviot|Clifton|Clutha|Cook|Dannevirke|Egmont|Eketahuna|Ellesmere|Eltham|Eyre|Featherston|Franklin|Golden Bay|Great Barrier Island|Grey|Hauraki Plains|Hawera|Hawke's Bay|Heathcote|Hikurangi|Hobson|Hokianga|Horowhenua|Hurunui|Hutt|Inangahua|Inglewood|Kaikoura|Kairanga|Kiwitea|Lake|Mackenzie|Malvern|Manaia|Manawatu|Mangonui|Maniototo|Marlborough|Masterton|Matamata|Mount Herbert|Ohinemuri|Opotiki|Oroua|Otamatea|Otorohanga|Oxford|Pahiatua|Paparua|Patea|Piako|Pohangina|Raglan|Rangiora|Rangitikei|Rodney|Rotorua|Runanga|Saint Kilda|Silverpeaks|Southland|Stewart Island|Stratford|Strathallan|Taranaki|Taumarunui|Taupo|Tauranga|Thames-Coromandel|Tuapeka|Vincent|Waiapu|Waiheke|Waihemo|Waikato|Waikohu|Waimairi|Waimarino|Waimate|Waimate West|Waimea|Waipa|Waipawa|Waipukurau|Wairarapa South|Wairewa|Wairoa|Waitaki|Waitomo|Waitotara|Wallace|Wanganui|Waverley|Westland|Whakatane|Whangarei|Whangaroa|Woodville", '64'],
172
+ ['Nicaragua', 'NI', 'NIC', '558', 'ISO 3166-2:NI', 'Atlantico Norte|Atlantico Sur|Boaco|Carazo|Chinandega|Chontales|Esteli|Granada|Jinotega|Leon|Madriz|Managua|Masaya|Matagalpa|Nueva Segovia|Rio San Juan|Rivas', '505'],
173
+ ['Niger', 'NE', 'NER', '562', 'ISO 3166-2:NE', 'Agadez|Diffa|Dosso|Maradi|Niamey|Tahoua|Tillaberi|Zinder', '227'],
174
+ ['Nigeria', 'NG', 'NGA', '566', 'ISO 3166-2:NG', 'Abia|Abuja Federal Capital Territory|Adamawa|Akwa Ibom|Anambra|Bauchi|Bayelsa|Benue|Borno|Cross River|Delta|Ebonyi|Edo|Ekiti|Enugu|Gombe|Imo|Jigawa|Kaduna|Kano|Katsina|Kebbi|Kogi|Kwara|Lagos|Nassarawa|Niger|Ogun|Ondo|Osun|Oyo|Plateau|Rivers|Sokoto|Taraba|Yobe|Zamfara', '234'],
175
+ ['Niue', 'NU', 'NIU', '570', 'ISO 3166-2:NU', 'Niue', '683'],
176
+ ['Norfolk Island', 'NF', 'NFK', '574', 'ISO 3166-2:NF', 'Norfolk Island', ''],
177
+ ['Northern Mariana Islands', 'MP', 'MNP', '580', 'ISO 3166-2:MP', 'Northern Islands|Rota|Saipan|Tinian', '1 670'],
178
+ ['Norway', 'NO', 'NOR', '578', 'ISO 3166-2:NO', 'Akershus|Aust-Agder|Buskerud|Finnmark|Hedmark|Hordaland|More og Romsdal|Nord-Trondelag|Nordland|Oppland|Oslo|Ostfold|Rogaland|Sogn og Fjordane|Sor-Trondelag|Telemark|Troms|Vest-Agder|Vestfold', '47'],
179
+ ['Oman', 'OM', 'OMN', '512', 'ISO 3166-2:OM', 'Ad Dakhiliyah|Al Batinah|Al Wusta|Ash Sharqiyah|Az Zahirah|Masqat|Musandam|Zufar', '968'],
180
+ ['Pakistan', 'PK', 'PAK', '586', 'ISO 3166-2:PK', 'Balochistan|Federally Administered Tribal Areas|Islamabad Capital Territory|North-West Frontier Province|Punjab|Sindh', '92'],
181
+ ['Palau', 'PW', 'PLW', '585', 'ISO 3166-2:PW', 'Aimeliik|Airai|Angaur|Hatobohei|Kayangel|Koror|Melekeok|Ngaraard|Ngarchelong|Ngardmau|Ngatpang|Ngchesar|Ngeremlengui|Ngiwal|Palau Island|Peleliu|Sonsoral|Tobi', '680'],
182
+ ['Palestinian Territory Occupied', 'PS', 'PSE', '275', 'ISO 3166-2:PS', 'West Bank|Gaza Strip', ''],
183
+ ['Panama', 'PA', 'PAN', '591', 'ISO 3166-2:PA', 'Bocas del Toro|Chiriqui|Cocle|Colon|Darien|Herrera|Los Santos|Panama|San Blas|Veraguas', '507'],
184
+ ['Papua New Guinea', 'PG', 'PNG', '598', 'ISO 3166-2:PG', 'Bougainville|Central|Chimbu|East New Britain|East Sepik|Eastern Highlands|Enga|Gulf|Madang|Manus|Milne Bay|Morobe|National Capital|New Ireland|Northern|Sandaun|Southern Highlands|West New Britain|Western|Western Highlands', '675'],
185
+ ['Paraguay', 'PY', 'PRY', '600', 'ISO 3166-2:PY', 'Alto Paraguay|Alto Parana|Amambay|Asuncion [city]|Boqueron|Caaguazu|Caazapa|Canindeyu|Central|Concepcion|Cordillera|Guaira|Itapua|Misiones|Neembucu|Paraguari|Presidente Hayes|San Pedro', '595'],
186
+ ['Peru', 'PE', 'PER', '604', 'ISO 3166-2:PE', 'Amazonas|Ancash|Apurimac|Arequipa|Ayacucho|Cajamarca|Callao|Cusco|Huancavelica|Huanuco|Ica|Junin|La Libertad|Lambayeque|Lima|Loreto|Madre de Dios|Moquegua|Pasco|Piura|Puno|San Martin|Tacna|Tumbes|Ucayali', '51'],
187
+ ['Philippines', 'PH', 'PHL', '608', 'ISO 3166-2:PH', 'Abra|Agusan del Norte|Agusan del Sur|Aklan|Albay|Angeles|Antique|Aurora|Bacolod|Bago|Baguio|Bais|Basilan|Basilan City|Bataan|Batanes|Batangas|Batangas City|Benguet|Bohol|Bukidnon|Bulacan|Butuan|Cabanatuan|Cadiz|Cagayan|Cagayan de Oro|Calbayog|Caloocan|Camarines Norte|Camarines Sur|Camiguin|Canlaon|Capiz|Catanduanes|Cavite|Cavite City|Cebu|Cebu City|Cotabato|Dagupan|Danao|Dapitan|Davao City Davao|Davao del Sur|Davao Oriental|Dipolog|Dumaguete|Eastern Samar|General Santos|Gingoog|Ifugao|Iligan|Ilocos Norte|Ilocos Sur|Iloilo|Iloilo City|Iriga|Isabela|Kalinga-Apayao|La Carlota|La Union|Laguna|Lanao del Norte|Lanao del Sur|Laoag|Lapu-Lapu|Legaspi|Leyte|Lipa|Lucena|Maguindanao|Mandaue|Manila|Marawi|Marinduque|Masbate|Mindoro Occidental|Mindoro Oriental|Misamis Occidental|Misamis Oriental|Mountain|Naga|Negros Occidental|Negros Oriental|North Cotabato|Northern Samar|Nueva Ecija|Nueva Vizcaya|Olongapo|Ormoc|Oroquieta|Ozamis|Pagadian|Palawan|Palayan|Pampanga|Pangasinan|Pasay|Puerto Princesa|Quezon|Quezon City|Quirino|Rizal|Romblon|Roxas|Samar|San Carlos [in Negros Occidental]|San Carlos [in Pangasinan]|San Jose|San Pablo|Silay|Siquijor|Sorsogon|South Cotabato|Southern Leyte|Sultan Kudarat|Sulu|Surigao|Surigao del Norte|Surigao del Sur|Tacloban|Tagaytay|Tagbilaran|Tangub|Tarlac|Tawitawi|Toledo|Trece Martires|Zambales|Zamboanga|Zamboanga del Norte|Zamboanga del Sur', '63'],
188
+ ['Pitcairn', 'PN', 'PCN', '612', 'ISO 3166-2:PN', 'Pitcarin Islands', '870'],
189
+ ['Poland', 'PL', 'POL', '616', 'ISO 3166-2:PL', 'Dolnoslaskie|Kujawsko-Pomorskie|Lodzkie|Lubelskie|Lubuskie|Malopolskie|Mazowieckie|Opolskie|Podkarpackie|Podlaskie|Pomorskie|Slaskie|Swietokrzyskie|Warminsko-Mazurskie|Wielkopolskie|Zachodniopomorskie', '48'],
190
+ ['Portugal', 'PT', 'PRT', '620', 'ISO 3166-2:PT', 'Acores [Azores]|Aveiro|Beja|Braga|Braganca|Castelo Branco|Coimbra|Evora|Faro|Guarda|Leiria|Lisboa|Madeira|Portalegre|Porto|Santarem|Setubal|Viana do Castelo|Vila Real|Viseu', '351'],
191
+ ['Puerto Rico', 'PR', 'PRI', '630', 'ISO 3166-2:PR', 'Adjuntas|Aguada|Aguadilla|Aguas Buenas|Aibonito|Anasco|Arecibo|Arroyo|Barceloneta|Barranquitas|Bayamon|Cabo Rojo|Caguas|Camuy|Canovanas|Carolina|Catano|Cayey|Ceiba|Ciales|Cidra|Coamo|Comerio|Corozal|Culebra|Dorado|Fajardo|Florida|Guanica|Guayama|Guayanilla|Guaynabo|Gurabo|Hatillo|Hormigueros|Humacao|Isabela|Jayuya|Juana Diaz|Juncos|Lajas|Lares|Las Marias|Las Piedras|Loiza|Luquillo|Manati|Maricao|Maunabo|Mayaguez|Moca|Morovis|Naguabo|Naranjito|Orocovis|Patillas|Penuelas|Ponce|Quebradillas|Rincon|Rio Grande|Sabana Grande|Salinas|San German|San Juan|San Lorenzo|San Sebastian|Santa Isabel|Toa Alta|Toa Baja|Trujillo Alto|Utuado|Vega Alta|Vega Baja|Vieques|Villalba|Yabucoa|Yauco', '1'],
192
+ ['Qatar', 'QA', 'QAT', '634', 'ISO 3166-2:QA', 'Ad Dawhah|Al Ghuwayriyah|Al Jumayliyah|Al Khawr|Al Wakrah|Ar Rayyan|Jarayan al Batinah|Madinat ash Shamal|Umm Salal', '974'],
193
+ ['Reunion', 'RE', 'REU', '638', 'ISO 3166-2:RE', 'Reunion', ''],
194
+ ['Romania', 'RO', 'ROU', '642', 'ISO 3166-2:RO', 'Alba|Arad|Arges|Bacau|Bihor|Bistrita-Nasaud|Botosani|Braila|Brasov|Bucuresti|Buzau|Calarasi|Caras-Severin|Cluj|Constanta|Covasna|Dimbovita|Dolj|Galati|Giurgiu|Gorj|Harghita|Hunedoara|Ialomita|Iasi|Maramures|Mehedinti|Mures|Neamt|Olt|Prahova|Salaj|Satu Mare|Sibiu|Suceava|Teleorman|Timis|Tulcea|Vaslui|Vilcea|Vrancea', '40'],
195
+ ['Russian Federation', 'RU', 'RUS', '643', 'ISO 3166-2:RU', '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0410\u0434\u044b\u0433\u0435\u044f|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0410\u043b\u0442\u0430\u0439|\u0410\u043c\u0443\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0410\u0440\u0445\u0430\u043d\u0433\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0410\u0441\u0442\u0440\u0430\u0445\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0411\u0430\u0448\u043a\u043e\u0440\u0442\u043e\u0441\u0442\u0430\u043d|\u0411\u0435\u043b\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0411\u0440\u044f\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0411\u0443\u0440\u044f\u0442\u0438\u044f|\u0427\u0435\u0447\u0435\u043d\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430|\u0427\u0435\u043b\u044f\u0431\u0438\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0427\u0443\u043a\u043e\u0442\u0441\u043a\u0438\u0439 \u0410\u041e|\u0427\u0443\u0432\u0430\u0448\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0414\u0430\u0433\u0435\u0441\u0442\u0430\u043d|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0418\u043d\u0433\u0443\u0448\u0435\u0442\u0438\u044f|\u0418\u0440\u043a\u0443\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0418\u0432\u0430\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041a\u0430\u043c\u0447\u0430\u0442\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u041a\u0430\u0431\u0430\u0440\u0434\u0438\u043d\u043e-\u0411\u0430\u043b\u043a\u0430\u0440\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430|\u041a\u0430\u0440\u0430\u0447\u0430\u0435\u0432\u043e-\u0427\u0435\u0440\u043a\u0435\u0441\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430|\u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u041a\u0435\u043c\u0435\u0440\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041a\u0430\u043b\u0438\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041a\u0443\u0440\u0433\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0425\u0430\u0431\u0430\u0440\u043e\u0432\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u0425\u0430\u043d\u0442\u044b-\u041c\u0430\u043d\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0410\u041e|\u041a\u0438\u0440\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0425\u0430\u043a\u0430\u0441\u0438\u044f|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u043b\u043c\u044b\u043a\u0438\u044f|\u041a\u0430\u043b\u0443\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u043e\u043c\u0438|\u041a\u043e\u0441\u0442\u0440\u043e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u0440\u0435\u043b\u0438\u044f|\u041a\u0443\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041a\u0440\u0430\u0441\u043d\u043e\u044f\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u041b\u0435\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041b\u0438\u043f\u0435\u0446\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0410\u043b\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u041c\u0430\u0433\u0430\u0434\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041c\u0430\u0440\u0438\u0439 \u042d\u043b|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041c\u043e\u0440\u0434\u043e\u0432\u0438\u044f|\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041c\u043e\u0441\u043a\u0432\u0430|\u041c\u0443\u0440\u043c\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0410\u041e|\u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041d\u0438\u0436\u0435\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041e\u0440\u043b\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041f\u0435\u0440\u043c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u041f\u0435\u043d\u0437\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u041f\u0440\u0438\u043c\u043e\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u041f\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u043e\u0441\u0442\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u044f\u0437\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0421\u0430\u0445\u0430 [\u042f\u043a\u0443\u0442\u0438\u044f]|\u0421\u0430\u0445\u0430\u043b\u0438\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0421\u0430\u0440\u0430\u0442\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0421\u0435\u0432. \u041e\u0441\u0435\u0442\u0438\u044f-\u0410\u043b\u0430\u043d\u0438\u044f|\u0421\u043c\u043e\u043b\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433|\u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439|\u0421\u0432\u0435\u0440\u0434\u043b\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0422\u0430\u0442\u0430\u0440\u0441\u0442\u0430\u043d|\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0422\u043e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0422\u0443\u043b\u044c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0422\u0432\u0435\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0422\u044b\u0432\u0430|\u0422\u044e\u043c\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0423\u0434\u043c\u0443\u0440\u0442\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430|\u0423\u043b\u044c\u044f\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0412\u043e\u043b\u043e\u0433\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0412\u043e\u0440\u043e\u043d\u0435\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u042f\u043c\u0430\u043b\u043e-\u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0410\u041e|\u042f\u0440\u043e\u0441\u043b\u0430\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c|\u0415\u0432\u0440\u0435\u0439\u0441\u043a\u0430\u044f \u0410\u041e|\u0417\u0430\u0431\u0430\u0439\u043a\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', '7'],
196
+ ['Rwanda', 'RW', 'RWA', '646', 'ISO 3166-2:RW', 'Butare|Byumba|Cyangugu|Gikongoro|Gisenyi|Gitarama|Kibungo|Kibuye|Kigali Rurale|Kigali-ville|Ruhengeri|Umutara', '250'],
197
+ ['Saint Barthelemy', 'BL', 'BLM', '652', 'ISO 3166-2:BL', 'Saint Barthelemy', '590'],
198
+ ['Saint Helena', 'SH', 'SHN', '654', 'ISO 3166-2:SH', 'Ascension|Saint Helena|Tristan da Cunha', '290'],
199
+ ['Saint Kitts and Nevis', 'KN', 'KNA', '659', 'ISO 3166-2:KN', 'Christ Church Nichola Town|Saint Anne Sandy Point|Saint George Basseterre|Saint George Gingerland|Saint James Windward|Saint John Capisterre|Saint John Figtree|Saint Mary Cayon|Saint Paul Capisterre|Saint Paul Charlestown|Saint Peter Basseterre|Saint Thomas Lowland|Saint Thomas Middle Island|Trinity Palmetto Point', '1 869'],
200
+ ['Saint Lucia', 'LC', 'LCA', '662', 'ISO 3166-2:LC', 'Anse-la-Raye|Castries|Choiseul|Dauphin|Dennery|Gros Islet|Laborie|Micoud|Praslin|Soufriere|Vieux Fort', '1 758'],
201
+ ['Saint Martin [French part]', 'MF', 'MAF', '663', 'ISO 3166-2:MF', 'Saint Martin [French part]', '1 599'],
202
+ ['Saint Pierre and Miquelon', 'PM', 'SPM', '666', 'ISO 3166-2:PM', 'Miquelon|Saint Pierre', '508'],
203
+ ['Saint Vincent and the Grenadines', 'VC', 'VCT', '670', 'ISO 3166-2:VC', 'Charlotte|Grenadines|Saint Andrew|Saint David|Saint George|Saint Patrick', '1 784'],
204
+ ['Samoa', 'WS', 'WSM', '882', 'ISO 3166-2:WS', "A'ana|Aiga-i-le-Tai|Atua|Fa'asaleleaga|Gaga'emauga|Gagaifomauga|Palauli|Satupa'itea|Tuamasaga|Va'a-o-Fonoti|Vaisigano", '685'],
205
+ ['San Marino', 'SM', 'SMR', '674', 'ISO 3166-2:SM', 'Acquaviva|Borgo Maggiore|Chiesanuova|Domagnano|Faetano|Fiorentino|Monte Giardino|San Marino|Serravalle', '378'],
206
+ ['Sao Tome and Principe', 'ST', 'STP', '678', 'ISO 3166-2:ST', 'Principe|Sao Tome', '239'],
207
+ ['Saudi Arabia', 'SA', 'SAU', '682', 'ISO 3166-2:SA', "'Asir|Al Bahah|Al Hudud ash Shamaliyah|Al Jawf|Al Madinah|Al Qasim|Ar Riyad|Ash Sharqiyah [Eastern Province]|Ha'il|Jizan|Makkah|Najran|Tabuk", '966'],
208
+ ['Senegal', 'SN', 'SEN', '686', 'ISO 3166-2:SN', 'Dakar|Diourbel|Fatick|Kaolack|Kolda|Louga|Saint-Louis|Tambacounda|Thies|Ziguinchor', '221'],
209
+ ['Serbia', 'RS', 'SRB', '688', 'ISO 3166-2:RS', 'Serbia', '381'],
210
+ ['Seychelles', 'SC', 'SYC', '690', 'ISO 3166-2:SC', "Anse aux Pins|Anse Boileau|Anse Etoile|Anse Louis|Anse Royale|Baie Lazare|Baie Sainte Anne|Beau Vallon|Bel Air|Bel Ombre|Cascade|Glacis|Grand' Anse [on Mahe]|Grand' Anse [on Praslin]|La Digue|La Riviere Anglaise|Mont Buxton|Mont Fleuri|Plaisance|Pointe La Rue|Port Glaud|Saint Louis|Takamaka", '248'],
211
+ ['Sierra Leone', 'SL', 'SLE', '694', 'ISO 3166-2:SL', 'Eastern|Northern|Southern|Western', '232'],
212
+ ['Singapore', 'SG', 'SGP', '702', 'ISO 3166-2:SG', 'Singapore', '65'],
213
+ ['Sint Maarten [Dutch part]', 'SX', 'SXM', '534', 'ISO 3166-2:SX', 'Sint Maarten [Dutch part]', ''],
214
+ ['Slovakia', 'SK', 'SVK', '703', 'ISO 3166-2:SK', 'Banskobystricky|Bratislavsky|Kosicky|Nitriansky|Presovsky|Trenciansky|Trnavsky|Zilinsky', '421'],
215
+ ['Slovenia', 'SI', 'SVN', '705', 'ISO 3166-2:SI', 'Ajdovscina|Beltinci|Bled|Bohinj|Borovnica|Bovec|Brda|Brezice|Brezovica|Cankova-Tisina|Celje|Cerklje na Gorenjskem|Cerknica|Cerkno|Crensovci|Crna na Koroskem|Crnomelj|Destrnik-Trnovska Vas|Divaca|Dobrepolje|Dobrova-Horjul-Polhov Gradec|Dol pri Ljubljani|Domzale|Dornava|Dravograd|Duplek|Gorenja Vas-Poljane|Gorisnica|Gornja Radgona|Gornji Grad|Gornji Petrovci|Grosuplje|Hodos Salovci|Hrastnik|Hrpelje-Kozina|Idrija|Ig|Ilirska Bistrica|Ivancna Gorica|Izola|Jesenice|Jursinci|Kamnik|Kanal|Kidricevo|Kobarid|Kobilje|Kocevje|Komen|Koper|Kozje|Kranj|Kranjska Gora|Krsko|Kungota|Kuzma|Lasko|Lenart|Lendava|Litija|Ljubljana|Ljubno|Ljutomer|Logatec|Loska Dolina|Loski Potok|Luce|Lukovica|Majsperk|Maribor|Medvode|Menges|Metlika|Mezica|Miren-Kostanjevica|Mislinja|Moravce|Moravske Toplice|Mozirje|Murska Sobota|Muta|Naklo|Nazarje|Nova Gorica|Novo Mesto|Odranci|Ormoz|Osilnica|Pesnica|Piran|Pivka|Podcetrtek|Podvelka-Ribnica|Postojna|Preddvor|Ptuj|Puconci|Race-Fram|Radece|Radenci|Radlje ob Dravi|Radovljica|Ravne-Prevalje|Ribnica|Rogasevci|Rogaska Slatina|Rogatec|Ruse|Semic|Sencur|Sentilj|Sentjernej|Sentjur pri Celju|Sevnica|Sezana|Skocjan|Skofja Loka|Skofljica|Slovenj Gradec|Slovenska Bistrica|Slovenske Konjice|Smarje pri Jelsah|Smartno ob Paki|Sostanj|Starse|Store|Sveti Jurij|Tolmin|Trbovlje|Trebnje|Trzic|Turnisce|Velenje|Velike Lasce|Videm|Vipava|Vitanje|Vodice|Vojnik|Vrhnika|Vuzenica|Zagorje ob Savi|Zalec|Zavrc|Zelezniki|Ziri|Zrece', '386'],
216
+ ['Solomon Islands', 'SB', 'SLB', '090', 'ISO 3166-2:SB', 'Bellona|Central|Choiseul [Lauru]|Guadalcanal|Honiara|Isabel|Makira|Malaita|Rennell|Temotu|Western', '677'],
217
+ ['Somalia', 'SO', 'SOM', '706', 'ISO 3166-2:SO', 'Awdal|Bakool|Banaadir|Bari|Bay|Galguduud|Gedo|Hiiraan|Jubbada Dhexe|Jubbada Hoose|Mudug|Nugaal|Sanaag|Shabeellaha Dhexe|Shabeellaha Hoose|Sool|Togdheer|Woqooyi Galbeed', '252'],
218
+ ['South Africa', 'ZA', 'ZAF', '710', 'ISO 3166-2:ZA', 'Eastern Cape|Free State|Gauteng|KwaZulu-Natal|Limpopo|Mpumalanga|North West|Northern Cape|Western Cape', '27'],
219
+ ['SGSSI', 'GS', 'SGS', '239', 'ISO 3166-2:GS', 'Bird Island|Bristol Island|Clerke Rocks|Montagu Island|Saunders Island|South Georgia|Southern Thule|Traversay Islands', ''],
220
+ ['South Sudan', 'SS', 'SSD', '728', 'ISO 3166-2:SS', 'South Sudan', ''],
221
+ ['Spain', 'ES', 'ESP', '724', 'ISO 3166-2:ES', 'Albacete|Alicante|Almer\xeda|Asturias|Badajoz|Balearic Islands|Barcelona|Biscay|Burgos|Cantabria|Castell\xf3n|Ciudad Real|Cuenca|C\xe1ceres|C\xe1diz|C\xf3rdoba|Gerona|Granada|Guadalajara|Guip\xfazcoa|Huelva|Huesca|Ja\xe9n|La Coru\xf1a|La Rioja|Las Palmas|Le\xf3n|Lugo|L\xe9rida|Madrid|Murcia|M\xe1laga|Navarre|Orense|Palencia|Pontevedra|Salamanca|Santa Cruz|Segovia|Sevilla|Soria|Tarragona|Teruel|Toledo|Valencia|Valladolid|Zamora|Zaragoza|\xc1lava|\xc1vila', '34'],
222
+ ['Sri Lanka', 'LK', 'LKA', '144', 'ISO 3166-2:LK', 'Central|Eastern|North Central|North Eastern|North Western|Northern|Sabaragamuwa|Southern|Uva|Western', '94'],
223
+ ['Sudan', 'SD', 'SDN', '729', 'ISO 3166-2:SD', "A'ali an Nil|Al Bahr al Ahmar|Al Buhayrat|Al Jazirah|Al Khartum|Al Qadarif|Al Wahdah|An Nil al Abyad|An Nil al Azraq|Ash Shamaliyah|Bahr al Jabal|Gharb al Istiwa'iyah|Gharb Bahr al Ghazal|Gharb Darfur|Gharb Kurdufan|Janub Darfur|Janub Kurdufan|Junqali|Kassala|Nahr an Nil|Shamal Bahr al Ghazal|Shamal Darfur|Shamal Kurdufan|Sharq al Istiwa'iyah|Sinnar|Warab", '249'],
224
+ ['Suriname', 'SR', 'SUR', '740', 'ISO 3166-2:SR', 'Brokopondo|Commewijne|Coronie|Marowijne|Nickerie|Para|Paramaribo|Saramacca|Sipaliwini|Wanica', '597'],
225
+ ['Svalbard and Jan Mayen', 'SJ', 'SJM', '744', 'ISO 3166-2:SJ', 'Barentsoya|Bjornoya|Edgeoya|Hopen|Kvitoya|Nordaustandet|Prins Karls Forland|Spitsbergen', '-'],
226
+ ['Swaziland', 'SZ', 'SWZ', '748', 'ISO 3166-2:SZ', 'Hhohho|Lubombo|Manzini|Shiselweni', '268'],
227
+ ['Sweden', 'SE', 'SWE', '752', 'ISO 3166-2:SE', 'Blekinge|Dalarnas|Gavleborgs|Gotlands|Hallands|Jamtlands|Jonkopings|Kalmar|Kronobergs|Norrbottens|Orebro|Ostergotlands|Skane|Sodermanlands|Stockholms|Uppsala|Varmlands|Vasterbottens|Vasternorrlands|Vastmanlands|Vastra Gotalands', '46'],
228
+ ['Switzerland', 'CH', 'CHE', '756', 'ISO 3166-2:CH', 'Aargau|Ausser-Rhoden|Basel-Landschaft|Basel-Stadt|Bern|Fribourg|Geneve|Glarus|Graubunden|Inner-Rhoden|Jura|Luzern|Neuchatel|Nidwalden|Obwalden|Sankt Gallen|Schaffhausen|Schwyz|Solothurn|Thurgau|Ticino|Uri|Valais|Vaud|Zug|Zurich', '41'],
229
+ ['Syrian Arab Republic', 'SY', 'SYR', '760', 'ISO 3166-2:SY', "Al Hasakah|Al Ladhiqiyah|Al Qunaytirah|Ar Raqqah|As Suwayda'|Dar'a|Dayr az Zawr|Dimashq|Halab|Hamah|Hims|Idlib|Rif Dimashq|Tartus", '963'],
230
+ ['Taiwan', 'TW', 'TWN', '158', 'ISO 3166-2:TW', "Chang-hua|Chi-lung|Chia-i|Chia-i|Chung-hsing-hsin-ts'un|Hsin-chu|Hsin-chu|Hua-lien|I-lan|Kao-hsiung|Kao-hsiung|Miao-li|Nan-t'ou|P'eng-hu|P'ing-tung|T'ai-chung|T'ai-chung|T'ai-nan|T'ai-nan|T'ai-pei|T'ai-pei|T'ai-tung|T'ao-yuan|Yun-lin", '886'],
231
+ ['Tajikistan', 'TJ', 'TJK', '762', 'ISO 3166-2:TJ', 'Viloyati Khatlon|Viloyati Leninobod|Viloyati Mukhtori Kuhistoni Badakhshon', '992'],
232
+ ['Tanzania United Republic of', 'TZ', 'TZA', '834', 'ISO 3166-2:TZ', 'Arusha|Dar es Salaam|Dodoma|Iringa|Kagera|Kigoma|Kilimanjaro|Lindi|Mara|Mbeya|Morogoro|Mtwara|Mwanza|Pemba North|Pemba South|Pwani|Rukwa|Ruvuma|Shinyanga|Singida|Tabora|Tanga|Zanzibar Central/South|Zanzibar North|Zanzibar Urban/West', '255'],
233
+ ['Thailand', 'TH', 'THA', '764', 'ISO 3166-2:TH', 'Amnat Charoen|Ang Thong|Buriram|Chachoengsao|Chai Nat|Chaiyaphum|Chanthaburi|Chiang Mai|Chiang Rai|Chon Buri|Chumphon|Kalasin|Kamphaeng Phet|Kanchanaburi|Khon Kaen|Krabi|Krung Thep Mahanakhon [Bangkok]|Lampang|Lamphun|Loei|Lop Buri|Mae Hong Son|Maha Sarakham|Mukdahan|Nakhon Nayok|Nakhon Pathom|Nakhon Phanom|Nakhon Ratchasima|Nakhon Sawan|Nakhon Si Thammarat|Nan|Narathiwat|Nong Bua Lamphu|Nong Khai|Nonthaburi|Pathum Thani|Pattani|Phangnga|Phatthalung|Phayao|Phetchabun|Phetchaburi|Phichit|Phitsanulok|Phra Nakhon Si Ayutthaya|Phrae|Phuket|Prachin Buri|Prachuap Khiri Khan|Ranong|Ratchaburi|Rayong|Roi Et|Sa Kaeo|Sakon Nakhon|Samut Prakan|Samut Sakhon|Samut Songkhram|Sara Buri|Satun|Sing Buri|Sisaket|Songkhla|Sukhothai|Suphan Buri|Surat Thani|Surin|Tak|Trang|Trat|Ubon Ratchathani|Udon Thani|Uthai Thani|Uttaradit|Yala|Yasothon', '66'],
234
+ ['Timor-Leste', 'TL', 'TLS', '626', 'ISO 3166-2:TL', 'Timor-Leste', '670'],
235
+ ['Togo', 'TG', 'TGO', '768', 'ISO 3166-2:TG', 'De La Kara|Des Plateaux|Des Savanes|Du Centre|Maritime', '228'],
236
+ ['Tokelau', 'TK', 'TKL', '772', 'ISO 3166-2:TK', 'Atafu|Fakaofo|Nukunonu', '690'],
237
+ ['Tonga', 'TO', 'TON', '776', 'ISO 3166-2:TO', "Ha'apai|Tongatapu|Vava'u", '676'],
238
+ ['Trinidad and Tobago', 'TT', 'TTO', '780', 'ISO 3166-2:TT', 'Arima|Caroni|Mayaro|Nariva|Port-of-Spain|Saint Andrew|Saint David|Saint George|Saint Patrick|San Fernando|Victoria|Tobago', '1 868'],
239
+ ['Tunisia', 'TN', 'TUN', '788', 'ISO 3166-2:TN', 'Ariana|Beja|Ben Arous|Bizerte|El Kef|Gabes|Gafsa|Jendouba|Kairouan|Kasserine|Kebili|Mahdia|Medenine|Monastir|Nabeul|Sfax|Sidi Bou Zid|Siliana|Sousse|Tataouine|Tozeur|Tunis|Zaghouan', '216'],
240
+ ['Turkey', 'TR', 'TUR', '792', 'ISO 3166-2:TR', 'Adana|Adiyaman|Afyon|Agri|Aksaray|Amasya|Ankara|Antalya|Ardahan|Artvin|Aydin|Balikesir|Bartin|Batman|Bayburt|Bilecik|Bingol|Bitlis|Bolu|Burdur|Bursa|Canakkale|Cankiri|Corum|Denizli|Diyarbakir|Duzce|Edirne|Elazig|Erzincan|Erzurum|Eskisehir|Gaziantep|Giresun|Gumushane|Hakkari|Hatay|Icel|Igdir|Isparta|Istanbul|Izmir|Kahramanmaras|Karabuk|Karaman|Kars|Kastamonu|Kayseri|Kilis|Kirikkale|Kirklareli|Kirsehir|Kocaeli|Konya|Kutahya|Malatya|Manisa|Mardin|Mugla|Mus|Nevsehir|Nigde|Ordu|Osmaniye|Rize|Sakarya|Samsun|Sanliurfa|Siirt|Sinop|Sirnak|Sivas|Tekirdag|Tokat|Trabzon|Tunceli|Usak|Van|Yalova|Yozgat|Zonguldak', '90'],
241
+ ['Turkmenistan', 'TM', 'TKM', '795', 'ISO 3166-2:TM', 'Ahal Welayaty|Balkan Welayaty|Dashhowuz Welayaty|Lebap Welayaty|Mary Welayaty', '993'],
242
+ ['Turks and Caicos Islands', 'TC', 'TCA', '796', 'ISO 3166-2:TC', 'Turks and Caicos Islands', '1 649'],
243
+ ['Tuvalu', 'TV', 'TUV', '798', 'ISO 3166-2:TV', 'Tuvalu', '688'],
244
+ ['Uganda', 'UG', 'UGA', '800', 'ISO 3166-2:UG', 'Adjumani|Apac|Arua|Bugiri|Bundibugyo|Bushenyi|Busia|Gulu|Hoima|Iganga|Jinja|Kabale|Kabarole|Kalangala|Kampala|Kamuli|Kapchorwa|Kasese|Katakwi|Kibale|Kiboga|Kisoro|Kitgum|Kotido|Kumi|Lira|Luwero|Masaka|Masindi|Mbale|Mbarara|Moroto|Moyo|Mpigi|Mubende|Mukono|Nakasongola|Nebbi|Ntungamo|Pallisa|Rakai|Rukungiri|Sembabule|Soroti|Tororo', '256'],
245
+ ['Ukraine', 'UA', 'UKR', '804', 'ISO 3166-2:UA', "Avtonomna Respublika Krym [Simferopol']|Cherkas'ka [Cherkasy]|Chernihivs'ka [Chernihiv]|Chernivets'ka [Chernivtsi]|Dnipropetrovs'ka [Dnipropetrovs'k]|Donets'ka [Donets'k]|Ivano-Frankivs'ka [Ivano-Frankivs'k]|Kharkivs'ka [Kharkiv]|Khersons'ka [Kherson]|Khmel'nyts'ka [Khmel'nyts'kyy]|Kirovohrads'ka [Kirovohrad]|Kyyiv|Kyyivs'ka [Kiev]|L'vivs'ka [L'viv]|Luhans'ka [Luhans'k]|Mykolayivs'ka [Mykolayiv]|Odes'ka [Odesa]|Poltavs'ka [Poltava]|Rivnens'ka [Rivne]|Sevastopol'|Sums'ka [Sumy]|Ternopil's'ka [Ternopil']|Vinnyts'ka [Vinnytsya]|Volyns'ka [Luts'k]|Zakarpats'ka [Uzhhorod]|Zaporiz'ka [Zaporizhzhya]|Zhytomyrs'ka [Zhytomyr]", '380'],
246
+ ['United Arab Emirates', 'AE', 'ARE', '784', 'ISO 3166-2:AE', "'Ajman|Abu Zaby [Abu Dhabi]|Al Fujayrah|Ash Shariqah [Sharjah]|Dubayy [Dubai]|Ra's al Khaymah|Umm al Qaywayn", '971'],
247
+ ['United Kingdom', 'GB', 'GBR', '826', 'ISO 3166-2:GB', 'Aberdeenshire|Alderney|Angus|Antrim|Argyll|Armagh|Avon|Ayrshire|Banffshire|Bedfordshire|Berkshire|Berwickshire|Blaenau Gwent|Borders|Bridgend|Buckinghamshire|Bute|Caerphilly|Caithness|Cambridgeshire|Cardiff|Carmarthenshire|Central|Ceredigion|Cheshire|Clackmannanshire|Cleveland|Clwyd|Co. Antrim|Co. Armagh|Co. Derry|Co. Down|Co. Fermanagh|Co. Tyrone|Conwy|Cornwall|Cumberland|Cumbria|Denbighshire|Derbyshire|Derry|Devon|Dorset|Down|Dumfries & Galloway|Dumfriesshire|Dunbartonshire|Durham|Dyfed|East Lothian|East Sussex|Essex|Fermanagh|Fife|Flintshire|Gloucestershire|Grampian|Greater London|Greater Manchester|Guernsey|Gwent|Gwynedd|Hampshire|Hereford & Worcester|Herefordshire|Hertfordshire|Highland|Humberside|Huntingdonshire|Inverness|Isle Of Man|Isle of Anglesey|Isle of Wight|Jersey|Kent|Kincardineshire|Kinross-shire|Kirkcudbrightshire|Lanarkshire|Lancashire|Leicestershire|Lincolnshire|Lothian|Merseyside|Merthyr Tydfil|Mid Glamorgan|Middlesex|Midlothian|Monmouthshire|Moray|Nairnshire|Neath Port Talbot|Newport|Norfolk|North Yorkshire|Northamptonshire|Northumberland|Nottinghamshire|Orkney|Oxfordshire|Peebleshire|Pembrokeshire|Perthshire|Powys|Renfrewshire|Rhondda Cynon Taff|Ross & Cromarty|Roxburghshire|Rutland|Scotland|Selkirkshire|Shetland|Shropshire|Somerset|South Glamorgan|South Yorkshire|Staffordshire|Stirlingshire|Strathclyde|Suffolk|Surrey|Sussex|Sutherland|Swansea|Tayside|Torfaen|Tyne & Wear|Tyne and Wear|Tyrone|Vale of Glamorgan|Wales|Warwickshire|West Glamorgan|West Lothian|West Midlands|West Riding|West Sussex|West Yorkshire|Western Isles|Westmoorland|Westmorland|Wigtownshire|Wiltshire|Worcestershire|Wrexham|Yorkshire', '44'],
248
+ ['United States', 'US', 'USA', '840', 'ISO 3166-2:US', 'Alaska|Alabama|Arkansas|Arizona|California|Colorado|Connecticut|Washington, D.C.|Delaware|Florida|Georgia|Hawaii|Iowa|Idaho|Illinois|Indiana|Kansas|Kentucky|Louisiana|Massachusetts|Maryland|Maine|Michigan|Minnesota|Missouri|Mississippi|Montana|North Carolina|North Dakota|Nebraska|New Hampshire|New Jersey|New Mexico|Nevada|New York|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island|South Carolina|South Dakota|Tennessee|Texas|Utah|Virginia|Vermont|Washington|Wisconsin|West Virginia|Wyoming', '1'],
249
+ ['United States Minor Outlying Islands', 'UM', 'UMI', '581', 'ISO 3166-2:UM', '', ''],
250
+ ['Uruguay', 'UY', 'URY', '858', 'ISO 3166-2:UY', 'Artigas|Canelones|Cerro Largo|Colonia|Durazno|Flores|Florida|Lavalleja|Maldonado|Montevideo|Paysandu|Rio Negro|Rivera|Rocha|Salto|San Jose|Soriano|Tacuarembo|Treinta y Tres', '598'],
251
+ ['Uzbekistan', 'UZ', 'UZB', '860', 'ISO 3166-2:UZ', 'Andijon Wiloyati|Bukhoro Wiloyati|Farghona Wiloyati|Jizzakh Wiloyati|Khorazm Wiloyati [Urganch]|Namangan Wiloyati|Nawoiy Wiloyati|Qashqadaryo Wiloyati [Qarshi]|Qoraqalpoghiston [Nukus]|Samarqand Wiloyati|Sirdaryo Wiloyati [Guliston]|Surkhondaryo Wiloyati [Termiz]|Toshkent Shahri|Toshkent Wiloyati', '998'],
252
+ ['Vanuatu', 'VU', 'VUT', '548', 'ISO 3166-2:VU', 'Malampa|Penama|Sanma|Shefa|Tafea|Torba', '678'],
253
+ ['Venezuela, Bolivarian Republic of', 'VE', 'VEN', '862', 'ISO 3166-2:VE', 'Amazonas|Anzoategui|Apure|Aragua|Barinas|Bolivar|Carabobo|Cojedes|Delta Amacuro|Dependencias Federales|Distrito Federal|Falcon|Guarico|Lara|Merida|Miranda|Monagas|Nueva Esparta|Portuguesa|Sucre|Tachira|Trujillo|Vargas|Yaracuy|Zulia', '58'],
254
+ ['Viet Nam', 'VN', 'VNM', '704', 'ISO 3166-2:VN', 'An Giang|Ba Ria-Vung Tau|Bac Giang|Bac Kan|Bac Lieu|Bac Ninh|Ben Tre|Binh Dinh|Binh Duong|Binh Phuoc|Binh Thuan|Ca Mau|Can Tho|Cao Bang|Da Nang|Dac Lak|Dong Nai|Dong Thap|Gia Lai|Ha Giang|Ha Nam|Ha Noi|Ha Tay|Ha Tinh|Hai Duong|Hai Phong|Ho Chi Minh|Hoa Binh|Hung Yen|Khanh Hoa|Kien Giang|Kon Tum|Lai Chau|Lam Dong|Lang Son|Lao Cai|Long An|Nam Dinh|Nghe An|Ninh Binh|Ninh Thuan|Phu Tho|Phu Yen|Quang Binh|Quang Nam|Quang Ngai|Quang Ninh|Quang Tri|Soc Trang|Son La|Tay Ninh|Thai Binh|Thai Nguyen|Thanh Hoa|Thua Thien-Hue|Tien Giang|Tra Vinh|Tuyen Quang|Vinh Long|Vinh Phuc|Yen Bai', '84'],
255
+ ['Virgin Islands British', 'VG', 'VGB', '092', 'ISO 3166-2:VG', 'Anegada|Jost Van Dyke|Tortola|Virgin Gorda', '1 284'],
256
+ ['Virgin Islands U.S.', 'VI', 'VIR', '850', 'ISO 3166-2:VI', 'Saint Croix|Saint John|Saint Thomas', '1 340'],
257
+ ['Wallis and Futuna', 'WF', 'WLF', '876', 'ISO 3166-2:WF', 'Alo|Sigave|Wallis', '681'],
258
+ ['Western Sahara', 'EH', 'ESH', '732', 'ISO 3166-2:EH', 'Western Sahara', '-'],
259
+ ['Yemen', 'YE', 'YEM', '887', 'ISO 3166-2:YE', "'Adan|'Ataq|Abyan|Al Bayda'|Al Hudaydah|Al Jawf|Al Mahrah|Al Mahwit|Dhamar|Hadhramawt|Hajjah|Ibb|Lahij|Ma'rib|Sa'dah|San'a'|Ta'izz", '967'],
260
+ ['Zambia', 'ZM', 'ZMB', '894', 'ISO 3166-2:ZM', 'Central|Copperbelt|Eastern|Luapula|Lusaka|North-Western|Northern|Southern|Western', '260'],
261
+ ['Zimbabwe', 'ZW', 'ZWE', '716', 'ISO 3166-2:ZW', 'Bulawayo|Harare|ManicalandMashonaland Central|Mashonaland East|Mashonaland West|Masvingo|Matabeleland North|Matabeleland South|Midlands', '263']
262
+ ];
263
+
264
+
265
+ # returns a list of all countries
266
+ public function countries(){
267
+ $list = array(); $list2 = array();
268
+ foreach($this->sorted_countries as $rarray){
269
+ array_push($list, $rarray[0]);
270
+ array_push($list2, $rarray[1]);
271
+ }
272
+
273
+ return array_combine( $list2, $list) ;
274
+ }
275
+
276
+ # returns a list of all states
277
+ public function states(){
278
+ $list = array();
279
+ foreach($this->sorted_countries as $rarray){
280
+ $t = explode("|", $rarray[5]);
281
+ foreach($t as $m){
282
+ array_push($list, $m);
283
+ }
284
+ }
285
+ sort($list);
286
+ return $list;
287
+ }
288
+
289
+ # getStates accepts a name, iso_2_code, iso_3_code, iso_num_code or iso_something_code of a country
290
+ public function getStates($country = null){
291
+ if(!empty($country) && (is_string($country) || is_numeric($country))){
292
+ $list = array(); $list2 = array();
293
+ $country = strtoupper($country);
294
+ foreach($this->sorted_countries as $rarray){
295
+ if((is_string($country) && ((strlen($country) > 3 && strtolower($rarray[0]) == strtolower($country)) || (strlen($country) == 2 && strtoupper($rarray[1]) == $country) || (strlen($country) == 3 && strtoupper($rarray[2]) == $country) || (strlen($country) > 3 && strtoupper(str_replace(" ", "", $rarray[4])) == str_replace(" ", "", $country)))) || (is_numeric($country) && $rarray[3] == $country)){
296
+ $t = explode("|", $rarray[5]);
297
+ for($i=0; $i<sizeof($t); $i++){
298
+ array_push($list, $t[$i]);
299
+ $string = str_replace(' ', '', $t[$i]);
300
+ array_push($list2, strtolower($string));
301
+ }
302
+ }
303
+ }
304
+ return array_combine( $list2, $list) ;
305
+ } else {
306
+ return array();
307
+ }
308
+ }
309
+
310
+ # getCountry accepts a name, iso_2_code, iso_3_code, iso_num_code or iso_something_code of a country
311
+ public function getCountry($country = null){
312
+ if(!empty($country) && (is_string($country) || is_numeric($country))){
313
+ $list = array();
314
+ $country = strtoupper($country);
315
+ foreach($this->sorted_countries as $rarray){
316
+ if((is_string($country) && ((strlen($country) > 3 && strtolower($rarray[0]) == strtolower($country)) || (strlen($country) == 2 && strtoupper($rarray[1]) == $country) || (strlen($country) == 3 && strtoupper($rarray[2]) == $country) || (strlen($country) > 3 && strtoupper(str_replace(" ", "", $rarray[4])) == str_replace(" ", "", $country)))) || (is_numeric($country) && $rarray[3] == $country)){
317
+ $last = sizeof($rarray) - 1;
318
+ $list = array_combine(array("name", "iso2", "iso3", "iso_num", "something_code", "dial_code", "states"), array($rarray[0], $rarray[1], $rarray[2], $rarray[3], $rarray[4], $rarray[$last], $this->getStates($rarray[1])));
319
+ }
320
+ }
321
+ sort($list);
322
+ return $list;
323
+ } else {
324
+ return array();
325
+ }
326
+ }
327
+
328
+ # findState accepts only name of state
329
+ public function findState($state = null){
330
+ if(!empty($state) && is_string($state)){
331
+ $list = array();
332
+ $state = strtolower($state);
333
+ foreach($this->sorted_countries as $rarray){
334
+ if(preg_match("@\b{$state}\b@", strtolower($rarray[5]))){
335
+ //array_push($list, $rarray[0]);
336
+ $last = sizeof($rarray) - 1;
337
+ array_push($list, array_combine(array("country", "iso2", "iso3", "iso_num", "something_code", "dial_code"), array($rarray[0], $rarray[1], $rarray[2], $rarray[3], $rarray[4], $rarray[$last])));
338
+ }
339
+ }
340
+ sort($list);
341
+ return $list;
342
+ } else {
343
+ return array();
344
+ }
345
+ }
346
+
347
+ public function getStateName( $state , $country ){
348
+ $states = $this->getStates( $country );
349
+
350
+ foreach ($states as $key => $value) {
351
+ if ( $key == $state ) {
352
+ return $value;
353
+ }
354
+ }
355
+ }
356
+
357
+ public function isCountry( $state ) {
358
+ $state = $this->getCountry($state);
359
+ if ( !empty($state) ) {
360
+ return true;
361
+ }
362
+ return false;
363
+ }
364
+
365
+ public function getCountryCode( $country = null ) {
366
+ foreach($this->sorted_countries as $rarray){
367
+ if ( $country == $rarray[0] ) {
368
+ return $rarray[1];
369
+ }
370
+ }
371
+ }
372
+ }
includes/free/class-login.php CHANGED
@@ -367,11 +367,16 @@ class WPUF_Simple_Login {
367
  * @return string $url
368
  */
369
  function login_redirect() {
370
- $redirect_to = wpuf_get_option( 'redirect_after_login_page', 'wpuf_profile', false );
371
 
 
 
372
  if ( !$redirect_to ) {
373
  return home_url();
374
  }
 
 
 
 
375
 
376
  return get_permalink( $redirect_to );
377
  }
@@ -381,13 +386,14 @@ class WPUF_Simple_Login {
381
  *
382
  * @return string $url
383
  */
384
- function default_login_redirect( $redirect_to ) {
385
- $override = wpuf_get_option( 'wp_default_login_redirect', 'wpuf_profile', false );
 
386
 
387
- if ( $override != 'on' ) {
388
- return $redirect_to;
389
  }
390
-
391
  return $this->login_redirect();
392
  }
393
 
@@ -735,7 +741,9 @@ class WPUF_Simple_Login {
735
  $title = sprintf( __('[%s] Password Reset', 'wpuf' ), $blogname );
736
  $title = apply_filters( 'retrieve_password_title', $title );
737
  $message = apply_filters( 'retrieve_password_message', $message, $key, $user_login );
738
-
 
 
739
  if ( $message && !wp_mail( $user_email, wp_specialchars_decode( $title ), $message ) ) {
740
  wp_die( __('The e-mail could not be sent.', 'wpuf') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.', 'wpuf') );
741
  }
367
  * @return string $url
368
  */
369
  function login_redirect() {
 
370
 
371
+ $redirect_to = wpuf_get_option( 'redirect_after_login_page', 'wpuf_profile', false );
372
+
373
  if ( !$redirect_to ) {
374
  return home_url();
375
  }
376
+
377
+ if ( 'previous_page' == $redirect_to && !empty( $_POST['redirect_to'] ) ) {
378
+ return $_POST['redirect_to'];
379
+ }
380
 
381
  return get_permalink( $redirect_to );
382
  }
386
  *
387
  * @return string $url
388
  */
389
+ function default_login_redirect( $redirect ) {
390
+ $override = wpuf_get_option( 'wp_default_login_redirect', 'wpuf_profile', false );
391
+ $redirect_to = wpuf_get_option( 'redirect_after_login_page', 'wpuf_profile', false );
392
 
393
+ if ( $override != 'on' || 'previous_page' == $redirect_to ) {
394
+ return $redirect;
395
  }
396
+
397
  return $this->login_redirect();
398
  }
399
 
741
  $title = sprintf( __('[%s] Password Reset', 'wpuf' ), $blogname );
742
  $title = apply_filters( 'retrieve_password_title', $title );
743
  $message = apply_filters( 'retrieve_password_message', $message, $key, $user_login );
744
+
745
+ $message = esc_html( $message );
746
+
747
  if ( $message && !wp_mail( $user_email, wp_specialchars_decode( $title ), $message ) ) {
748
  wp_die( __('The e-mail could not be sent.', 'wpuf') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.', 'wpuf') );
749
  }
includes/upgrades/upgrade-2.8.5.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ function wpuf_upgrade_2_8_5_option_changes() {
3
+ if ( 'yes' == wpuf_get_option( 'show_subscriptions', 'wpuf_my_account' ) ) {
4
+ wpuf_update_option( 'show_subscriptions', 'wpuf_my_account', 'on' );
5
+ } elseif ( 'no' == wpuf_get_option( 'show_subscriptions', 'wpuf_my_account' ) ) {
6
+ wpuf_update_option( 'show_subscriptions', 'wpuf_my_account', 'off' );
7
+ }
8
+ if ( 'yes' == wpuf_get_option( 'enable_invoices', 'wpuf_payment_invoices' ) ) {
9
+ wpuf_update_option( 'enable_invoices', 'wpuf_payment_invoices', 'on' );
10
+ } elseif ( 'no' == wpuf_get_option( 'enable_invoices', 'wpuf_payment_invoices' ) ) {
11
+ wpuf_update_option( 'enable_invoices', 'wpuf_payment_invoices', 'off' );
12
+ }
13
+ if ( 'yes' == wpuf_get_option( 'show_invoices', 'wpuf_payment_invoices' ) ) {
14
+ wpuf_update_option( 'show_invoices', 'wpuf_payment_invoices', 'on' );
15
+ } elseif ( 'no' == wpuf_get_option( 'show_invoices', 'wpuf_payment_invoices' ) ) {
16
+ wpuf_update_option( 'show_invoices', 'wpuf_payment_invoices', 'off' );
17
+ }
18
+ }
19
+ /**
20
+ * TODO
21
+ * Change to all user
22
+ * @return [type] [description]
23
+ */
24
+ function wpuf_upgrade_2_8_5_change_address_meta() {
25
+
26
+ $users = get_users( array(
27
+ 'fields' => 'ID',
28
+ 'meta_key' => 'address_fields'
29
+ ));
30
+
31
+ foreach ( $users as $user_id ) {
32
+ $address_fields = get_user_meta( $user_id, 'address_fields', true );
33
+ update_user_meta( $user_id, 'wpuf_address_fields', $address_fields );
34
+ }
35
+ }
36
+
37
+ function wpuf_upgrade_2_8_5_transaction_table_update() {
38
+ global $wpdb;
39
+
40
+ $wpdb->query("ALTER TABLE {$wpdb->prefix}wpuf_transaction ADD COLUMN `subtotal` varchar(255) NOT NULL DEFAULT '', ADD COLUMN `tax` varchar(255) NOT NULL DEFAULT ''");
41
+ }
42
+
43
+ wpuf_upgrade_2_8_5_transaction_table_update();
44
+ wpuf_upgrade_2_8_5_option_changes();
45
+ wpuf_upgrade_2_8_5_change_address_meta();
languages/wpuf.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the GPL2 or later.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP User Frontend 2.8.4\n"
6
  "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
7
- "POT-Creation-Date: 2018-03-04 10:24:35+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -74,7 +74,7 @@ msgstr ""
74
  msgid "Settings"
75
  msgstr ""
76
 
77
- #: admin/class-admin-settings.php:120 admin/class-admin-subscription.php:191
78
  #: admin/subscribers.php:18
79
  msgid "Subscribers"
80
  msgstr ""
@@ -119,191 +119,191 @@ msgstr ""
119
  msgid "Subscription pack draft updated."
120
  msgstr ""
121
 
122
- #: admin/class-admin-subscription.php:189 class/subscription.php:297
123
  msgid "Pack Name"
124
  msgstr ""
125
 
126
- #: admin/class-admin-subscription.php:190
127
  msgid "Amount"
128
  msgstr ""
129
 
130
- #: admin/class-admin-subscription.php:192 includes/free/subscription.php:8
131
  msgid "Recurring"
132
  msgstr ""
133
 
134
- #: admin/class-admin-subscription.php:193
135
  msgid "Duration"
136
  msgstr ""
137
 
138
- #: admin/class-admin-subscription.php:212
139
- #: admin/class-admin-subscription.php:566 class/frontend-account.php:135
140
- #: class/subscription.php:852 class/subscription.php:865
141
  #: includes/class-user-subscription.php:304
142
  msgid "Free"
143
  msgstr ""
144
 
145
- #: admin/class-admin-subscription.php:230
146
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:66
147
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:140
148
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:526
149
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:584
150
  #: admin/form.php:795 admin/post-forms-list-table.php:345
151
- #: admin/settings-options.php:102 admin/settings-options.php:194
152
- #: admin/settings-options.php:205 admin/settings-options.php:264
153
- #: admin/template.php:70 includes/free/form-element.php:477
154
  msgid "Yes"
155
  msgstr ""
156
 
157
- #: admin/class-admin-subscription.php:232
158
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:67
159
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:141
160
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:527
161
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:585
162
  #: admin/form.php:796 admin/post-forms-list-table.php:346
163
- #: admin/settings-options.php:103 admin/settings-options.php:195
164
- #: admin/settings-options.php:206 admin/settings-options.php:265
165
- #: admin/template.php:71 includes/free/form-element.php:478
166
  msgid "No"
167
  msgstr ""
168
 
169
- #: admin/class-admin-subscription.php:321 admin/form.php:230
170
  msgid "Payment Settings"
171
  msgstr ""
172
 
173
- #: admin/class-admin-subscription.php:328
174
  msgid "Posting Restriction"
175
  msgstr ""
176
 
177
- #: admin/class-admin-subscription.php:342
178
  msgid "Billing amount:"
179
  msgstr ""
180
 
181
- #: admin/class-admin-subscription.php:343
182
  msgid "Billing amount each cycle:"
183
  msgstr ""
184
 
185
- #: admin/class-admin-subscription.php:351
186
  msgid "Expires In:"
187
  msgstr ""
188
 
189
- #: admin/class-admin-subscription.php:375 admin/form.php:232
190
  #: includes/free/form-element.php:56
191
  msgid "Post Expiration"
192
  msgstr ""
193
 
194
- #: admin/class-admin-subscription.php:380 includes/free/form-element.php:60
195
  msgid "Enable Post Expiration"
196
  msgstr ""
197
 
198
- #: admin/class-admin-subscription.php:392
199
- #: admin/class-admin-subscription.php:670 includes/free/form-element.php:66
200
  msgid "Post Expiration Time"
201
  msgstr ""
202
 
203
- #: admin/class-admin-subscription.php:417 admin/html/form-settings-post.php:57
204
  #: admin/post-forms-list-table.php:298
205
  msgid "Post Status"
206
  msgstr ""
207
 
208
- #: admin/class-admin-subscription.php:431 includes/free/form-element.php:112
209
  msgid "Status of post after post expiration time is over "
210
  msgstr ""
211
 
212
- #: admin/class-admin-subscription.php:436
213
  msgid "Expiration Mail"
214
  msgstr ""
215
 
216
- #: admin/class-admin-subscription.php:441
217
  msgid "Send Expiration Email to Post Author"
218
  msgstr ""
219
 
220
- #: admin/class-admin-subscription.php:445
221
  msgid "Send Mail to Author After Exceeding Post Expiration Time"
222
  msgstr ""
223
 
224
- #: admin/class-admin-subscription.php:450
225
  msgid "Expiration Message"
226
  msgstr ""
227
 
228
- #: admin/class-admin-subscription.php:513
229
  msgid "Day(s)"
230
  msgstr ""
231
 
232
- #: admin/class-admin-subscription.php:514
233
  msgid "Week(s)"
234
  msgstr ""
235
 
236
- #: admin/class-admin-subscription.php:515
237
  msgid "Month(s)"
238
  msgstr ""
239
 
240
- #: admin/class-admin-subscription.php:516
241
  msgid "Year(s)"
242
  msgstr ""
243
 
244
- #: admin/class-admin-subscription.php:557
245
  msgid "WPUF Subscription Information"
246
  msgstr ""
247
 
248
- #: admin/class-admin-subscription.php:583
249
  msgid "Subcription Name"
250
  msgstr ""
251
 
252
- #: admin/class-admin-subscription.php:593
253
  msgid "Billing Info"
254
  msgstr ""
255
 
256
- #: admin/class-admin-subscription.php:607
257
  msgid "This user is using recurring subscription pack"
258
  msgstr ""
259
 
260
- #: admin/class-admin-subscription.php:613
261
  msgid "Remaining Posting Count"
262
  msgstr ""
263
 
264
- #: admin/class-admin-subscription.php:634
265
  msgid "Subscription Expiration Info"
266
  msgstr ""
267
 
268
- #: admin/class-admin-subscription.php:645
269
  #: includes/class-user-subscription.php:358
270
  #: templates/dashboard/subscription.php:41
271
  msgid "Expire date:"
272
  msgstr ""
273
 
274
- #: admin/class-admin-subscription.php:659
275
  msgid "Post Expiration Enabled"
276
  msgstr ""
277
 
278
- #: admin/class-admin-subscription.php:696
279
  msgid "Allowed Taxonomy Terms"
280
  msgstr ""
281
 
282
- #: admin/class-admin-subscription.php:751
283
  msgid "Assign Package"
284
  msgstr ""
285
 
286
- #: admin/class-admin-subscription.php:752
287
  #: admin/form-builder/class-wpuf-admin-form-builder.php:329
288
- #: class/payment.php:168 class/subscription.php:779
289
  #: includes/class-list-table-subscribers.php:128
290
  #: lib/class-wedevs-insights.php:667 templates/dashboard/subscription.php:62
291
  msgid "Cancel"
292
  msgstr ""
293
 
294
- #: admin/class-admin-subscription.php:758
295
  msgid "Select Package:"
296
  msgstr ""
297
 
298
- #: admin/class-admin-subscription.php:761
299
  msgid "&mdash; Select &mdash;"
300
  msgstr ""
301
 
302
- #: admin/class-admin-subscription.php:772
303
  msgid "Delete Package"
304
  msgstr ""
305
 
306
- #: admin/class-admin-subscription.php:821
307
  msgid "Learn more about <a href=\"%s\" target=\"_blank\">Subscription</a>"
308
  msgstr ""
309
 
@@ -316,8 +316,8 @@ msgid "Form Export"
316
  msgstr ""
317
 
318
  #: admin/class-tools.php:39 admin/class-tools.php:95
319
- #: admin/post-forms-list-table.php:43 class/transactions-list-table.php:85
320
- #: includes/class-list-table-subscribers.php:126
321
  msgid "All"
322
  msgstr ""
323
 
@@ -498,12 +498,12 @@ msgstr ""
498
  #: admin/form-builder/assets/js/components/form-featured_image/template.php:5
499
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:779
500
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:813
501
- #: class/render-form.php:1621
502
  msgid "Select Image"
503
  msgstr ""
504
 
505
  #: admin/form-builder/assets/js/components/form-post_content/template.php:4
506
- #: class/render-form.php:1028
507
  msgid "Insert Photo"
508
  msgstr ""
509
 
@@ -792,7 +792,7 @@ msgstr ""
792
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:307
793
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:455
794
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:498
795
- #: admin/form.php:899
796
  msgid "- select -"
797
  msgstr ""
798
 
@@ -892,7 +892,7 @@ msgstr ""
892
 
893
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:697
894
  #: admin/html/form-submission-restriction.php:12 admin/html/support.php:224
895
- #: class/transactions-list-table.php:48 includes/free/edit-user.php:153
896
  #: templates/registration-form.php:44
897
  msgid "Email"
898
  msgstr ""
@@ -1080,15 +1080,15 @@ msgstr ""
1080
  msgid "Want a new integration? <a href=\"%s\" target=\"_blank\">Let us know</a>."
1081
  msgstr ""
1082
 
1083
- #: admin/form-template.php:168
1084
  msgid "Form Template"
1085
  msgstr ""
1086
 
1087
- #: admin/form-template.php:171
1088
  msgid "&mdash; No Template &mdash;"
1089
  msgstr ""
1090
 
1091
- #: admin/form-template.php:180
1092
  msgid ""
1093
  "If selected a form template, it will try to execute that integration "
1094
  "options when new post created and updated."
@@ -1187,7 +1187,7 @@ msgid "Taxonomies"
1187
  msgstr ""
1188
 
1189
  #: admin/form.php:440 admin/html/form-settings-post.php:22
1190
- #: class/render-form.php:732
1191
  msgid "Save Draft"
1192
  msgstr ""
1193
 
@@ -1296,15 +1296,15 @@ msgid ""
1296
  "the form."
1297
  msgstr ""
1298
 
1299
- #: admin/form.php:863 admin/template-post.php:204
1300
  msgid "This taxonomy is a WooCommerce attribute"
1301
  msgstr ""
1302
 
1303
- #: admin/form.php:874 admin/template-post.php:216
1304
  msgid "Visible on product page"
1305
  msgstr ""
1306
 
1307
- #: admin/form.php:926
1308
  msgid "Post Forms must have either Post Title, Post Body or Excerpt field"
1309
  msgstr ""
1310
 
@@ -1336,7 +1336,7 @@ msgstr ""
1336
  msgid "Payment Options"
1337
  msgstr ""
1338
 
1339
- #: admin/html/form-settings-payment.php:25 admin/settings-options.php:316
1340
  #: includes/setup-wizard.php:273
1341
  msgid "Enable Payments"
1342
  msgstr ""
@@ -1628,12 +1628,12 @@ msgid "Choose which roles can submit posts."
1628
  msgstr ""
1629
 
1630
  #: admin/html/form-submission-restriction.php:114
1631
- #: admin/settings-options.php:251
1632
  msgid "Unauthorized Message"
1633
  msgstr ""
1634
 
1635
  #: admin/html/form-submission-restriction.php:117
1636
- #: admin/settings-options.php:252
1637
  msgid "Not logged in users will see this message"
1638
  msgstr ""
1639
 
@@ -1849,214 +1849,250 @@ msgid "Contact Support"
1849
  msgstr ""
1850
 
1851
  #: admin/html/whats-new.php:8
1852
- msgid "Dashboard Post Listing now supports multiple post types"
1853
  msgstr ""
1854
 
1855
  #: admin/html/whats-new.php:10
1856
  msgid ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1857
  "Now you can show multiple post type in user dashboard using shortcode like "
1858
  "this : <br><b>[wpuf_dashboard post_type=\"post,page,custom_type\"]</b> "
1859
  msgstr ""
1860
 
1861
- #: admin/html/whats-new.php:13
1862
  msgid "Added Login Redirect Settings"
1863
  msgstr ""
1864
 
1865
- #: admin/html/whats-new.php:15
1866
  msgid ""
1867
  "You can now set a page from <i>WPUF Settings > Login/Registration > "
1868
  "Redirect after Login</i>. When login redirection is active the user will be "
1869
  "redirected to this page after login."
1870
  msgstr ""
1871
 
1872
- #: admin/html/whats-new.php:18
1873
  msgid "Image Upload field button text can be changed"
1874
  msgstr ""
1875
 
1876
- #: admin/html/whats-new.php:20
1877
  msgid ""
1878
  "The upload button text can now be changed for image upload fields which "
1879
  "defaults to \"Select Image\" if not set. "
1880
  msgstr ""
1881
 
1882
- #: admin/html/whats-new.php:23
1883
  msgid "Multi Step Form styles made compatible with more themes"
1884
  msgstr ""
1885
 
1886
- #: admin/html/whats-new.php:25
1887
  msgid "Multi Step form can now be styled more easily with other themes "
1888
  msgstr ""
1889
 
1890
- #: admin/html/whats-new.php:28
1891
  msgid "Required field condition for google map not working is fixed"
1892
  msgstr ""
1893
 
1894
- #: admin/html/whats-new.php:30
1895
  msgid ""
1896
  "If Google Map field was set as required users were able to submit form "
1897
  "without changing the default value."
1898
  msgstr ""
1899
 
1900
- #: admin/html/whats-new.php:39
1901
  msgid "Admin form builder is now fully responsive."
1902
  msgstr ""
1903
 
1904
- #: admin/html/whats-new.php:41
1905
  msgid ""
1906
  "Now you can edit forms from your mobile devices directly. Our improved "
1907
  "responsive layouts of form builder makes it easy for you to build forms on "
1908
  "the go."
1909
  msgstr ""
1910
 
1911
- #: admin/html/whats-new.php:44
1912
  msgid "Added color schemes for creating attractive form layouts."
1913
  msgstr ""
1914
 
1915
- #: admin/html/whats-new.php:46
1916
  msgid ""
1917
  "We have added 3 new color schemes for the form layouts which you can choose "
1918
  "from each form's new display settings."
1919
  msgstr ""
1920
 
1921
- #: admin/html/whats-new.php:49
1922
  msgid "Restrict Free subscription pack to be enabled multiple times "
1923
  msgstr ""
1924
 
1925
- #: admin/html/whats-new.php:51
1926
  msgid ""
1927
  "Free subscription packs now can only be purchased once and the limit "
1928
  "applies properly"
1929
  msgstr ""
1930
 
1931
- #: admin/html/whats-new.php:54
1932
  msgid "Various other bug fixes and improvements were made "
1933
  msgstr ""
1934
 
1935
- #: admin/html/whats-new.php:56
1936
  msgid "Please see the change log to see full details."
1937
  msgstr ""
1938
 
1939
- #: admin/html/whats-new.php:65
1940
  msgid "Added upgrade function for default category"
1941
  msgstr ""
1942
 
1943
- #: admin/html/whats-new.php:67
1944
  msgid "Upgrader added to upgrade previously set default post category."
1945
  msgstr ""
1946
 
1947
- #: admin/html/whats-new.php:70
1948
  msgid "Subscription pack cannot be canceled"
1949
  msgstr ""
1950
 
1951
- #: admin/html/whats-new.php:72
1952
  msgid ""
1953
  "Fixed recurring subscription pack cannot be canceled from my account page "
1954
  "in subscription details section."
1955
  msgstr ""
1956
 
1957
- #: admin/html/whats-new.php:75
1958
  msgid "page installer admin notice logic issue"
1959
  msgstr ""
1960
 
1961
- #: admin/html/whats-new.php:77
1962
  msgid ""
1963
  "Fixed page installer admin notice logic problem due to new payment settings "
1964
  "default value not set."
1965
  msgstr ""
1966
 
1967
- #: admin/html/whats-new.php:87
1968
  msgid "Setup Wizard"
1969
  msgstr ""
1970
 
1971
- #: admin/html/whats-new.php:89
1972
  msgid "Setup Wizard added to turn off payment options and install pages."
1973
  msgstr ""
1974
 
1975
- #: admin/html/whats-new.php:93
1976
  msgid "Multi-select Category"
1977
  msgstr ""
1978
 
1979
- #: admin/html/whats-new.php:95
1980
  msgid "Add multi-select to default category in post form settings."
1981
  msgstr ""
1982
 
1983
- #: admin/html/whats-new.php:99
1984
  msgid "Select Text option for Taxonomy"
1985
  msgstr ""
1986
 
1987
- #: admin/html/whats-new.php:101
1988
  msgid ""
1989
  "Add Select Text option for taxonomy fields. Now you can add default text "
1990
  "with empty value as first option for Taxonomy dropdown."
1991
  msgstr ""
1992
 
1993
- #: admin/html/whats-new.php:104
1994
  msgid "Taxonomy Checkbox Inline"
1995
  msgstr ""
1996
 
1997
- #: admin/html/whats-new.php:106
1998
  msgid ""
1999
  "Added checkbox inline option to taxonomy checkbox. You can now display "
2000
  "Taxonomy checkbox fields inline."
2001
  msgstr ""
2002
 
2003
- #: admin/html/whats-new.php:116
2004
  msgid "Manage schedule for form submission"
2005
  msgstr ""
2006
 
2007
- #: admin/html/whats-new.php:118
2008
  msgid ""
2009
  "Do not accept form submission if the current date is not between the date "
2010
  "range of the schedule."
2011
  msgstr ""
2012
 
2013
- #: admin/html/whats-new.php:122
2014
  msgid "Restrict form submission based on the user roles"
2015
  msgstr ""
2016
 
2017
- #: admin/html/whats-new.php:124
2018
  msgid ""
2019
  "Restrict form submission based on the user roles. Now you can manage user "
2020
  "role base permission on form submission."
2021
  msgstr ""
2022
 
2023
- #: admin/html/whats-new.php:128
2024
  msgid "Limit how many entries a form will accept"
2025
  msgstr ""
2026
 
2027
- #: admin/html/whats-new.php:130
2028
  msgid ""
2029
  "Limit how many entries a form will accept and display a custom message when "
2030
  "that limit is reached."
2031
  msgstr ""
2032
 
2033
- #: admin/html/whats-new.php:134
2034
  msgid "Show/hide Admin Bar"
2035
  msgstr ""
2036
 
2037
- #: admin/html/whats-new.php:136
2038
  msgid "Control the admin bar visibility based on user roles."
2039
  msgstr ""
2040
 
2041
- #: admin/html/whats-new.php:140
2042
  msgid "Ajax Login widget"
2043
  msgstr ""
2044
 
2045
- #: admin/html/whats-new.php:142
2046
  msgid ""
2047
  "Login user is more simple now with Ajax Login Widget. The simple ajax login "
2048
  "form do not required page loading for login."
2049
  msgstr ""
2050
 
2051
- #: admin/html/whats-new.php:146
2052
  msgid "Form submission with Captcha field"
2053
  msgstr ""
2054
 
2055
- #: admin/html/whats-new.php:148
2056
  msgid "Form field validation process updated if form submits with captcha field."
2057
  msgstr ""
2058
 
2059
- #: admin/html/whats-new.php:162
2060
  msgid "What's New in WPUF?"
2061
  msgstr ""
2062
 
@@ -2085,7 +2121,7 @@ msgid ""
2085
  msgstr ""
2086
 
2087
  #: admin/installer.php:73 admin/settings-options.php:23
2088
- #: includes/free/admin/shortcode-button.php:82 wpuf-functions.php:1453
2089
  msgid "Dashboard"
2090
  msgstr ""
2091
 
@@ -2100,7 +2136,7 @@ msgstr ""
2100
 
2101
  #: admin/installer.php:84 class/subscription.php:356 class/subscription.php:376
2102
  #: class/subscription.php:377 class/subscription.php:378
2103
- #: includes/free/admin/shortcode-button.php:102 wpuf-functions.php:1456
2104
  msgid "Subscription"
2105
  msgstr ""
2106
 
@@ -2195,24 +2231,24 @@ msgstr ""
2195
  msgid "Draft"
2196
  msgstr ""
2197
 
2198
- #: admin/posting.php:66 class/asset-loader.php:51 class/render-form.php:1639
2199
- #: wpuf.php:489
2200
  msgid "Are you sure?"
2201
  msgstr ""
2202
 
2203
- #: admin/posting.php:72 class/asset-loader.php:57 wpuf.php:497
2204
  msgid "Allowed Files"
2205
  msgstr ""
2206
 
2207
- #: admin/posting.php:75 class/asset-loader.php:60 wpuf.php:503
2208
  msgid "Maximum number of files reached!"
2209
  msgstr ""
2210
 
2211
- #: admin/posting.php:76 class/asset-loader.php:61 wpuf.php:504
2212
  msgid "The file you have uploaded exceeds the file size limit. Please try again."
2213
  msgstr ""
2214
 
2215
- #: admin/posting.php:77 class/asset-loader.php:62 wpuf.php:505
2216
  msgid "You have uploaded an incorrect file type. Please try again."
2217
  msgstr ""
2218
 
@@ -2530,408 +2566,428 @@ msgstr ""
2530
  msgid "E-Mails"
2531
  msgstr ""
2532
 
2533
- #: admin/settings-options.php:75
 
 
 
 
2534
  msgid "Show Admin Bar"
2535
  msgstr ""
2536
 
2537
- #: admin/settings-options.php:76
2538
  msgid "Select user by roles, who can view admin bar in frontend."
2539
  msgstr ""
2540
 
2541
- #: admin/settings-options.php:83
2542
  msgid "Admin area access"
2543
  msgstr ""
2544
 
2545
- #: admin/settings-options.php:84
2546
  msgid "Allow you to block specific user role to Ajax request and Media upload."
2547
  msgstr ""
2548
 
2549
- #: admin/settings-options.php:88
2550
  msgid "Admin Only"
2551
  msgstr ""
2552
 
2553
- #: admin/settings-options.php:89
2554
  msgid "Admins, Editors"
2555
  msgstr ""
2556
 
2557
- #: admin/settings-options.php:90
2558
  msgid "Admins, Editors, Authors"
2559
  msgstr ""
2560
 
2561
- #: admin/settings-options.php:91
2562
  msgid "Admins, Editors, Authors, Contributors"
2563
  msgstr ""
2564
 
2565
- #: admin/settings-options.php:92
2566
  msgid "Default"
2567
  msgstr ""
2568
 
2569
- #: admin/settings-options.php:97
2570
  msgid "Override the post edit link"
2571
  msgstr ""
2572
 
2573
- #: admin/settings-options.php:98
2574
  msgid ""
2575
  "Users see the edit link in post if s/he is capable to edit the post/page. "
2576
  "Selecting <strong>Yes</strong> will override the default WordPress edit "
2577
  "post link in frontend"
2578
  msgstr ""
2579
 
2580
- #: admin/settings-options.php:108
2581
  msgid "Load Scripts"
2582
  msgstr ""
2583
 
2584
- #: admin/settings-options.php:109
2585
  msgid "Load scripts/styles in all pages"
2586
  msgstr ""
2587
 
2588
- #: admin/settings-options.php:115
2589
  msgid "reCAPTCHA Site Key"
2590
  msgstr ""
2591
 
2592
- #: admin/settings-options.php:119
2593
  msgid "reCAPTCHA Secret Key"
2594
  msgstr ""
2595
 
2596
- #: admin/settings-options.php:120
2597
  msgid ""
2598
  "<a target=\"_blank\" href=\"https://www.google.com/recaptcha/\">Register "
2599
  "here</a> to get reCaptcha Site and Secret keys."
2600
  msgstr ""
2601
 
2602
- #: admin/settings-options.php:124
2603
  msgid "Custom CSS codes"
2604
  msgstr ""
2605
 
2606
- #: admin/settings-options.php:125
2607
  msgid ""
2608
  "If you want to add your custom CSS code, it will be added on page header "
2609
  "wrapped with style tag"
2610
  msgstr ""
2611
 
2612
- #: admin/settings-options.php:132
2613
  msgid "Edit Page"
2614
  msgstr ""
2615
 
2616
- #: admin/settings-options.php:133
2617
  msgid "Select the page where <code>[wpuf_edit]</code> is located"
2618
  msgstr ""
2619
 
2620
- #: admin/settings-options.php:139
2621
  msgid "Default Post Owner"
2622
  msgstr ""
2623
 
2624
- #: admin/settings-options.php:140
2625
  msgid ""
2626
  "If guest post is enabled and user details are OFF, the posts are assigned "
2627
  "to this user"
2628
  msgstr ""
2629
 
2630
- #: admin/settings-options.php:147
2631
  msgid "Custom Fields in post"
2632
  msgstr ""
2633
 
2634
- #: admin/settings-options.php:148
2635
  msgid "Show custom fields on post content area"
2636
  msgstr ""
2637
 
2638
- #: admin/settings-options.php:154
2639
  msgid "Insert Photo image size"
2640
  msgstr ""
2641
 
2642
- #: admin/settings-options.php:155
2643
  msgid ""
2644
  "Default image size of \"<strong>Insert Photo</strong>\" button in post "
2645
  "content area"
2646
  msgstr ""
2647
 
2648
- #: admin/settings-options.php:162
2649
  msgid "Insert Photo image type"
2650
  msgstr ""
2651
 
2652
- #: admin/settings-options.php:163
2653
  msgid ""
2654
  "Default image type of \"<strong>Insert Photo</strong>\" button in post "
2655
  "content area"
2656
  msgstr ""
2657
 
2658
- #: admin/settings-options.php:166
2659
  msgid "Image only"
2660
  msgstr ""
2661
 
2662
- #: admin/settings-options.php:167
2663
  msgid "Image with link"
2664
  msgstr ""
2665
 
2666
- #: admin/settings-options.php:173
2667
  msgid "Enable Image Caption"
2668
  msgstr ""
2669
 
2670
- #: admin/settings-options.php:174
2671
  msgid "Allow users to update image/video title, caption and description"
2672
  msgstr ""
2673
 
2674
- #: admin/settings-options.php:180
2675
  msgid "Default Post Form"
2676
  msgstr ""
2677
 
2678
- #: admin/settings-options.php:181
2679
  msgid "Fallback form for post editing if no associated form found"
2680
  msgstr ""
2681
 
2682
- #: admin/settings-options.php:189
2683
  msgid "Users can edit post?"
2684
  msgstr ""
2685
 
2686
- #: admin/settings-options.php:190
2687
  msgid "Users will be able to edit their own posts"
2688
  msgstr ""
2689
 
2690
- #: admin/settings-options.php:200
2691
  msgid "User can delete post?"
2692
  msgstr ""
2693
 
2694
- #: admin/settings-options.php:201
2695
  msgid "Users will be able to delete their own posts"
2696
  msgstr ""
2697
 
2698
- #: admin/settings-options.php:211
2699
  msgid "Pending Post Edit"
2700
  msgstr ""
2701
 
2702
- #: admin/settings-options.php:212
2703
  msgid "Disable post editing while post in \"pending\" status"
2704
  msgstr ""
2705
 
2706
- #: admin/settings-options.php:218
2707
  msgid "Posts per page"
2708
  msgstr ""
2709
 
2710
- #: admin/settings-options.php:219
2711
  msgid "How many posts will be listed in a page"
2712
  msgstr ""
2713
 
2714
- #: admin/settings-options.php:225
2715
  msgid "Show user bio"
2716
  msgstr ""
2717
 
2718
- #: admin/settings-options.php:226
2719
  msgid "Users biographical info will be shown"
2720
  msgstr ""
2721
 
2722
- #: admin/settings-options.php:232
2723
  msgid "Show post count"
2724
  msgstr ""
2725
 
2726
- #: admin/settings-options.php:233
2727
  msgid "Show how many posts are created by the user"
2728
  msgstr ""
2729
 
2730
- #: admin/settings-options.php:239
2731
  msgid "Show Featured Image"
2732
  msgstr ""
2733
 
2734
- #: admin/settings-options.php:240
2735
  msgid "Show featured image of the post (Overridden by Shortcode)"
2736
  msgstr ""
2737
 
2738
- #: admin/settings-options.php:245
2739
  msgid "Featured Image size"
2740
  msgstr ""
2741
 
2742
- #: admin/settings-options.php:259
 
 
 
 
 
 
 
 
2743
  msgid "Show Subscriptions"
2744
  msgstr ""
2745
 
2746
- #: admin/settings-options.php:260
2747
  msgid ""
2748
  "Show Subscriptions tab in \"my account\" page where "
2749
  "<code>[wpuf_account]</code> is located"
2750
  msgstr ""
2751
 
2752
- #: admin/settings-options.php:272
 
 
 
 
 
 
 
 
2753
  msgid "Auto Login After Registration"
2754
  msgstr ""
2755
 
2756
- #: admin/settings-options.php:273
2757
  msgid "If enabled, users after registration will be logged in to the system"
2758
  msgstr ""
2759
 
2760
- #: admin/settings-options.php:279
2761
  msgid "Login/Registration override"
2762
  msgstr ""
2763
 
2764
- #: admin/settings-options.php:280
2765
  msgid ""
2766
  "If enabled, default login and registration forms will be overridden by WPUF "
2767
  "with pages below"
2768
  msgstr ""
2769
 
2770
- #: admin/settings-options.php:286
2771
  msgid "Registration Page"
2772
  msgstr ""
2773
 
2774
- #: admin/settings-options.php:287
2775
  msgid ""
2776
  "Select the page you want to use as registration page override <em>(should "
2777
  "have shortcode)</em>"
2778
  msgstr ""
2779
 
2780
- #: admin/settings-options.php:293
2781
  msgid "Login Page"
2782
  msgstr ""
2783
 
2784
- #: admin/settings-options.php:294
2785
  msgid "Select the page which contains <code>[wpuf-login]</code> shortcode"
2786
  msgstr ""
2787
 
2788
- #: admin/settings-options.php:300
2789
  msgid "Redirect After Login"
2790
  msgstr ""
2791
 
2792
- #: admin/settings-options.php:301
2793
  msgid "After successfull login, where the page will redirect to"
2794
  msgstr ""
2795
 
2796
- #: admin/settings-options.php:307
2797
  msgid "Default Login Redirect"
2798
  msgstr ""
2799
 
2800
- #: admin/settings-options.php:308
2801
  msgid ""
2802
  "If enabled, users who login using WordPress default login form will be "
2803
  "redirected to the selected page."
2804
  msgstr ""
2805
 
2806
- #: admin/settings-options.php:317
2807
  msgid "Enable payments on your site."
2808
  msgstr ""
2809
 
2810
- #: admin/settings-options.php:323
2811
  msgid "Subscription Pack Page"
2812
  msgstr ""
2813
 
2814
- #: admin/settings-options.php:324
2815
  msgid "Select the page where <code>[wpuf_sub_pack]</code> located."
2816
  msgstr ""
2817
 
2818
- #: admin/settings-options.php:330
2819
  msgid "Subscription at registration"
2820
  msgstr ""
2821
 
2822
- #: admin/settings-options.php:331
2823
  msgid "Registration time redirect to subscription page"
2824
  msgstr ""
2825
 
2826
- #: admin/settings-options.php:336
2827
  msgid "Currency"
2828
  msgstr ""
2829
 
2830
- #: admin/settings-options.php:343
2831
  msgid "Currency Position"
2832
  msgstr ""
2833
 
2834
- #: admin/settings-options.php:347
2835
  msgid "Left"
2836
  msgstr ""
2837
 
2838
- #: admin/settings-options.php:348
2839
  msgid "Right"
2840
  msgstr ""
2841
 
2842
- #: admin/settings-options.php:349
2843
  msgid "Left with space"
2844
  msgstr ""
2845
 
2846
- #: admin/settings-options.php:350
2847
  msgid "Right with space"
2848
  msgstr ""
2849
 
2850
- #: admin/settings-options.php:355
2851
  msgid "Thousand Separator"
2852
  msgstr ""
2853
 
2854
- #: admin/settings-options.php:356
2855
  msgid "This sets the thousand separator of displayed prices."
2856
  msgstr ""
2857
 
2858
- #: admin/settings-options.php:364
2859
  msgid "Decimal Separator"
2860
  msgstr ""
2861
 
2862
- #: admin/settings-options.php:365
2863
  msgid "This sets the decimal separator of displayed prices."
2864
  msgstr ""
2865
 
2866
- #: admin/settings-options.php:372
2867
  msgid "Number of Decimals"
2868
  msgstr ""
2869
 
2870
- #: admin/settings-options.php:373
2871
  msgid "This sets the number of decimal points shown in displayed prices."
2872
  msgstr ""
2873
 
2874
- #: admin/settings-options.php:383
2875
  msgid "Enable demo/sandbox mode"
2876
  msgstr ""
2877
 
2878
- #: admin/settings-options.php:384
2879
  msgid "When sandbox mode is active, all payment gateway will be used in demo mode"
2880
  msgstr ""
2881
 
2882
- #: admin/settings-options.php:390
2883
  msgid "Payment Page"
2884
  msgstr ""
2885
 
2886
- #: admin/settings-options.php:391
2887
  msgid "This page will be used to process payment options"
2888
  msgstr ""
2889
 
2890
- #: admin/settings-options.php:397
2891
  msgid "Payment Success Page"
2892
  msgstr ""
2893
 
2894
- #: admin/settings-options.php:398 lib/gateway/bank.php:37
2895
  msgid "After payment users will be redirected here"
2896
  msgstr ""
2897
 
2898
- #: admin/settings-options.php:404
2899
  msgid "Payment Gateways"
2900
  msgstr ""
2901
 
2902
- #: admin/settings-options.php:405
2903
  msgid "Active payment gateways"
2904
  msgstr ""
2905
 
2906
- #: admin/settings-options.php:413
2907
  msgid "<span class=\"dashicons dashicons-universal-access-alt\"></span> Guest Email"
2908
  msgstr ""
2909
 
2910
- #: admin/settings-options.php:419
2911
  msgid "Guest mail subject"
2912
  msgstr ""
2913
 
2914
- #: admin/settings-options.php:420
2915
  msgid "This sets the subject of the emails sent to guest users"
2916
  msgstr ""
2917
 
2918
- #: admin/settings-options.php:427
2919
  msgid "Guest mail body"
2920
  msgstr ""
2921
 
2922
- #: admin/settings-options.php:428
2923
  msgid ""
2924
  "This sets the body of the emails sent to guest users. Please DON'T edit the "
2925
  "<code>{activation_link}</code> part, you can use {sitename} too."
2926
  msgstr ""
2927
 
2928
- #: admin/settings-options.php:452
2929
  msgid ""
2930
  "Select profile/registration forms for user roles. These forms will be used "
2931
  "to populate extra edit profile fields in backend."
2932
  msgstr ""
2933
 
2934
- #: admin/settings-options.php:463
2935
  msgid " - select - "
2936
  msgstr ""
2937
 
@@ -3009,14 +3065,6 @@ msgstr ""
3009
  msgid "reCaptcha type"
3010
  msgstr ""
3011
 
3012
- #: admin/transactions.php:12
3013
- msgid "Total Income:"
3014
- msgstr ""
3015
-
3016
- #: admin/transactions.php:15
3017
- msgid "This Month:"
3018
- msgstr ""
3019
-
3020
  #: admin/weforms.php:4
3021
  msgid "The Easiest &amp; Fastest Contact Form Plugin on WordPress"
3022
  msgstr ""
@@ -3032,75 +3080,75 @@ msgstr ""
3032
  msgid "Install Now"
3033
  msgstr ""
3034
 
3035
- #: class/asset-loader.php:31 wpuf.php:414
3036
  msgid "is required"
3037
  msgstr ""
3038
 
3039
- #: class/asset-loader.php:32 wpuf.php:415
3040
  msgid "does not match"
3041
  msgstr ""
3042
 
3043
- #: class/asset-loader.php:33 wpuf.php:416
3044
  msgid "is not valid"
3045
  msgstr ""
3046
 
3047
- #: class/asset-loader.php:45 wpuf.php:483
3048
  msgid "Please fix the errors to proceed"
3049
  msgstr ""
3050
 
3051
- #: class/asset-loader.php:47 wpuf.php:485
3052
  msgid "Word limit reached"
3053
  msgstr ""
3054
 
3055
- #: class/frontend-account.php:114 class/frontend-account.php:124
3056
  msgid "<p>You've not subscribed any package yet.</p>"
3057
  msgstr ""
3058
 
3059
- #: class/frontend-account.php:126
3060
  msgid "<p>You've subscribed to the following package.</p>"
3061
  msgstr ""
3062
 
3063
- #: class/frontend-account.php:184 class/subscription.php:73
3064
  msgid "Nonce failure"
3065
  msgstr ""
3066
 
3067
- #: class/frontend-account.php:198
3068
  msgid "First Name is a required field."
3069
  msgstr ""
3070
 
3071
- #: class/frontend-account.php:202
3072
  msgid "Last Name is a required field."
3073
  msgstr ""
3074
 
3075
- #: class/frontend-account.php:206
3076
  msgid "Email is a required field."
3077
  msgstr ""
3078
 
3079
- #: class/frontend-account.php:217
3080
  msgid "Please provide a valid email address."
3081
  msgstr ""
3082
 
3083
- #: class/frontend-account.php:219
3084
  msgid "This email address is already registered."
3085
  msgstr ""
3086
 
3087
- #: class/frontend-account.php:225
3088
  msgid "Please fill out all password fields."
3089
  msgstr ""
3090
 
3091
- #: class/frontend-account.php:228
3092
  msgid "Please enter your current password."
3093
  msgstr ""
3094
 
3095
- #: class/frontend-account.php:231
3096
  msgid "Please re-enter your password."
3097
  msgstr ""
3098
 
3099
- #: class/frontend-account.php:234
3100
  msgid "New passwords do not match."
3101
  msgstr ""
3102
 
3103
- #: class/frontend-account.php:237 class/frontend-account.php:248
3104
  msgid "Your current password is incorrect."
3105
  msgstr ""
3106
 
@@ -3149,15 +3197,15 @@ msgstr ""
3149
  msgid "You can't edit a post while in pending mode."
3150
  msgstr ""
3151
 
3152
- #: class/frontend-form-post.php:306
3153
  msgid "Empty reCaptcha Field"
3154
  msgstr ""
3155
 
3156
- #: class/frontend-form-post.php:337
3157
  msgid "Invalid email address."
3158
  msgstr ""
3159
 
3160
- #: class/frontend-form-post.php:346
3161
  msgid ""
3162
  "You already have an account in our site. Please login to continue.\n"
3163
  "\n"
@@ -3166,15 +3214,15 @@ msgid ""
3166
  "Click 'Cancel' to stay at this page."
3167
  msgstr ""
3168
 
3169
- #: class/frontend-form-post.php:395
3170
  msgid "You do not have sufficient permissions to access this form."
3171
  msgstr ""
3172
 
3173
- #: class/frontend-form-post.php:771
3174
  msgid "Something went wrong"
3175
  msgstr ""
3176
 
3177
- #: class/frontend-form-post.php:1128
3178
  msgid "Email successfully verified. Please Login."
3179
  msgstr ""
3180
 
@@ -3186,59 +3234,76 @@ msgstr ""
3186
  msgid "Bank Payment"
3187
  msgstr ""
3188
 
3189
- #: class/payment.php:70
3190
  msgid "Please select your payment page from admin panel"
3191
  msgstr ""
3192
 
3193
- #: class/payment.php:118
3194
  msgid "Your free package has been activated. Enjoy!"
3195
  msgstr ""
3196
 
3197
- #: class/payment.php:120
3198
  msgid "You already have activated a free package previously."
3199
  msgstr ""
3200
 
3201
- #: class/payment.php:144
 
 
 
 
3202
  msgid "Pricing & Plans"
3203
  msgstr ""
3204
 
3205
- #: class/payment.php:146
3206
  msgid "Change Pack"
3207
  msgstr ""
3208
 
3209
- #: class/payment.php:154
3210
  msgid "Selected Pack "
3211
  msgstr ""
3212
 
3213
- #: class/payment.php:155
3214
  msgid "Pack Price "
3215
  msgstr ""
3216
 
3217
- #: class/payment.php:167
 
 
 
 
 
 
 
 
 
3218
  msgid "Apply Coupon"
3219
  msgstr ""
3220
 
3221
- #: class/payment.php:171
3222
  msgid "Have a discount code?"
3223
  msgstr ""
3224
 
3225
- #: class/payment.php:182
 
 
 
 
3226
  msgid "Choose Your Payment Method"
3227
  msgstr ""
3228
 
3229
- #: class/payment.php:219
3230
  msgid "Proceed"
3231
  msgstr ""
3232
 
3233
- #: class/payment.php:223
3234
  msgid "No Payment gateway found"
3235
  msgstr ""
3236
 
3237
- #: class/payment.php:365 lib/gateway/bank.php:105
3238
  msgid "[%s] Payment Received"
3239
  msgstr ""
3240
 
3241
- #: class/payment.php:366
3242
  msgid "New payment received at %s"
3243
  msgstr ""
3244
 
@@ -3275,21 +3340,21 @@ msgstr ""
3275
  msgid "Please make sure you've published your form."
3276
  msgstr ""
3277
 
3278
- #: class/render-form.php:1317 includes/free/edit-profile.php:203
3279
  #: templates/dashboard/edit-profile.php:54
3280
  msgid "Strength indicator"
3281
  msgstr ""
3282
 
3283
- #: class/render-form.php:1377
3284
  msgid "-- Select --"
3285
  msgstr ""
3286
 
3287
- #: class/render-form.php:1437
3288
  msgid "This field is no longer available."
3289
  msgstr ""
3290
 
3291
- #: class/render-form.php:1639 class/transactions-list-table.php:114
3292
- #: class/transactions-list-table.php:178 class/upload.php:171
3293
  #: includes/free/edit-user.php:101 templates/dashboard/posts.php:162
3294
  #: templates/dashboard.php:223
3295
  msgid "Delete"
@@ -3351,33 +3416,33 @@ msgstr ""
3351
  msgid "<p><i>To cancel the pack, press the following cancel button</i></p>"
3352
  msgstr ""
3353
 
3354
- #: class/subscription.php:833
3355
  msgid "Every"
3356
  msgstr ""
3357
 
3358
- #: class/subscription.php:837
3359
  msgid "One time payment"
3360
  msgstr ""
3361
 
3362
- #: class/subscription.php:849
3363
  msgid "Sign Up"
3364
  msgstr ""
3365
 
3366
- #: class/subscription.php:854
3367
  msgid "Buy Now"
3368
  msgstr ""
3369
 
3370
- #: class/subscription.php:920
3371
  msgid "There is a <strong>%s</strong> charge to add a new post."
3372
  msgstr ""
3373
 
3374
- #: class/subscription.php:932
3375
  msgid ""
3376
  "Your Subscription pack exhausted. There is a <strong>%s</strong> charge to "
3377
  "add a new post."
3378
  msgstr ""
3379
 
3380
- #: class/subscription.php:976 includes/class-user-subscription.php:58
3381
  msgid "You must <a href=\"%s\">purchase a pack</a> before posting"
3382
  msgstr ""
3383
 
@@ -3407,44 +3472,44 @@ msgstr ""
3407
  msgid "Cost"
3408
  msgstr ""
3409
 
3410
- #: class/transactions-list-table.php:44
3411
  msgid "Post ID"
3412
  msgstr ""
3413
 
3414
- #: class/transactions-list-table.php:45
3415
  msgid "Pack ID"
3416
  msgstr ""
3417
 
3418
- #: class/transactions-list-table.php:46
3419
  #: includes/class-list-table-subscribers.php:45
3420
  msgid "Gateway"
3421
  msgstr ""
3422
 
3423
- #: class/transactions-list-table.php:47
3424
  msgid "Payer"
3425
  msgstr ""
3426
 
3427
- #: class/transactions-list-table.php:49
3428
  msgid "Trans ID"
3429
  msgstr ""
3430
 
3431
- #: class/transactions-list-table.php:50 includes/free/form-element.php:12
3432
  msgid "Date"
3433
  msgstr ""
3434
 
3435
- #: class/transactions-list-table.php:86 wpuf-functions.php:69
3436
  msgid "Pending"
3437
  msgstr ""
3438
 
3439
- #: class/transactions-list-table.php:109 class/transactions-list-table.php:173
3440
  msgid "Accept"
3441
  msgstr ""
3442
 
3443
- #: class/transactions-list-table.php:110 class/transactions-list-table.php:174
3444
  msgid "Reject"
3445
  msgstr ""
3446
 
3447
- #: class/transactions-list-table.php:161
3448
  msgid "No transactions found."
3449
  msgstr ""
3450
 
@@ -3452,7 +3517,45 @@ msgstr ""
3452
  msgid "Caption"
3453
  msgstr ""
3454
 
3455
- #: includes/class-dokan-integration.php:37 wpuf-functions.php:1454
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3456
  msgid "Posts"
3457
  msgstr ""
3458
 
@@ -3544,19 +3647,19 @@ msgstr ""
3544
  msgid "Someone has requested a password reset for the following account:"
3545
  msgstr ""
3546
 
3547
- #: includes/class-login-widget.php:137 includes/free/class-login.php:724
3548
  msgid "Username: %s"
3549
  msgstr ""
3550
 
3551
- #: includes/class-login-widget.php:138 includes/free/class-login.php:725
3552
  msgid "If this was a mistake, just ignore this email and nothing will happen."
3553
  msgstr ""
3554
 
3555
- #: includes/class-login-widget.php:139 includes/free/class-login.php:726
3556
  msgid "To reset your password, visit the following address:"
3557
  msgstr ""
3558
 
3559
- #: includes/class-login-widget.php:144 includes/free/class-login.php:735
3560
  msgid "[%s] Password Reset"
3561
  msgstr ""
3562
 
@@ -3600,21 +3703,21 @@ msgstr ""
3600
 
3601
  #: includes/class-login-widget.php:266 includes/free/edit-profile.php:101
3602
  #: includes/free/edit-user.php:93 includes/free/edit-user.php:145
3603
- #: templates/login-form.php:21 templates/registration-form.php:51
3604
  msgid "Username"
3605
  msgstr ""
3606
 
3607
- #: includes/class-login-widget.php:267 templates/login-form.php:25
3608
  #: templates/registration-form.php:58
3609
  msgid "Password"
3610
  msgstr ""
3611
 
3612
- #: includes/class-login-widget.php:268 templates/login-form.php:31
3613
  msgid "Remember Me"
3614
  msgstr ""
3615
 
3616
  #: includes/class-login-widget.php:269 includes/free/class-login.php:210
3617
- #: includes/free/class-login.php:266 templates/login-form.php:35
3618
  msgid "Log In"
3619
  msgstr ""
3620
 
@@ -3824,57 +3927,57 @@ msgstr ""
3824
  msgid "A user could not be found with this email address."
3825
  msgstr ""
3826
 
3827
- #: includes/free/class-login.php:453
3828
  msgid "Please enter your password."
3829
  msgstr ""
3830
 
3831
- #: includes/free/class-login.php:458
3832
  msgid "Passwords do not match."
3833
  msgstr ""
3834
 
3835
- #: includes/free/class-login.php:501
3836
  msgid "Enter a username or e-mail address."
3837
  msgstr ""
3838
 
3839
- #: includes/free/class-login.php:509
3840
  msgid "There is no user registered with that email address."
3841
  msgstr ""
3842
 
3843
- #: includes/free/class-login.php:527
3844
  msgid "Invalid username or e-mail."
3845
  msgstr ""
3846
 
3847
- #: includes/free/class-login.php:541
3848
  msgid "Password reset is not allowed for this user"
3849
  msgstr ""
3850
 
3851
- #: includes/free/class-login.php:595 includes/free/class-login.php:607
3852
  msgid "Invalid key"
3853
  msgstr ""
3854
 
3855
- #: includes/free/class-login.php:600
3856
  msgid "Invalid Login"
3857
  msgstr ""
3858
 
3859
- #: includes/free/class-login.php:630
3860
  msgid ""
3861
  "<strong>Your account is not active.</strong><br>Please check your email for "
3862
  "activation link."
3863
  msgstr ""
3864
 
3865
- #: includes/free/class-login.php:678
3866
  msgid "Your account has been activated"
3867
  msgstr ""
3868
 
3869
- #: includes/free/class-login.php:722
3870
  msgid "Someone requested that the password be reset for the following account:"
3871
  msgstr ""
3872
 
3873
- #: includes/free/class-login.php:740
3874
  msgid "The e-mail could not be sent."
3875
  msgstr ""
3876
 
3877
- #: includes/free/class-login.php:740
3878
  msgid "Possible reason: your host may have disabled the mail() function."
3879
  msgstr ""
3880
 
@@ -4354,23 +4457,23 @@ msgstr ""
4354
  msgid "Bank Payment Success Page"
4355
  msgstr ""
4356
 
4357
- #: lib/gateway/bank.php:83
4358
  msgid "[%s] New Bank Order Received"
4359
  msgstr ""
4360
 
4361
- #: lib/gateway/bank.php:84
4362
  msgid "New bank order received at %s, please check it out: %s"
4363
  msgstr ""
4364
 
4365
- #: lib/gateway/bank.php:106
4366
  msgid "Hello %s,"
4367
  msgstr ""
4368
 
4369
- #: lib/gateway/bank.php:107
4370
  msgid "We have received your bank payment."
4371
  msgstr ""
4372
 
4373
- #: lib/gateway/bank.php:108
4374
  msgid "Thanks for being with us."
4375
  msgstr ""
4376
 
@@ -4398,6 +4501,14 @@ msgstr ""
4398
  msgid "PayPal API signature"
4399
  msgstr ""
4400
 
 
 
 
 
 
 
 
 
4401
  #: templates/dashboard/dashboard.php:5
4402
  msgid "Hello %1$s, (not %1$s? <a href=\"%2$s\">Sign out</a>)"
4403
  msgstr ""
@@ -4581,214 +4692,218 @@ msgstr ""
4581
  msgid "CSV"
4582
  msgstr ""
4583
 
4584
- #: wpuf-functions.php:1455
4585
  msgid "Edit Profile"
4586
  msgstr ""
4587
 
4588
- #: wpuf-functions.php:1560
4589
  msgid "United Arab Emirates Dirham"
4590
  msgstr ""
4591
 
4592
- #: wpuf-functions.php:1561
4593
  msgid "Australian Dollars"
4594
  msgstr ""
4595
 
4596
- #: wpuf-functions.php:1562
4597
  msgid "Argentine Peso"
4598
  msgstr ""
4599
 
4600
- #: wpuf-functions.php:1563
4601
  msgid "Bangladeshi Taka"
4602
  msgstr ""
4603
 
4604
- #: wpuf-functions.php:1564
4605
  msgid "Brazilian Real"
4606
  msgstr ""
4607
 
4608
- #: wpuf-functions.php:1565
4609
  msgid "Bulgarian Lev"
4610
  msgstr ""
4611
 
4612
- #: wpuf-functions.php:1566
4613
  msgid "Canadian Dollars"
4614
  msgstr ""
4615
 
4616
- #: wpuf-functions.php:1567
4617
  msgid "Chilean Peso"
4618
  msgstr ""
4619
 
4620
- #: wpuf-functions.php:1568
4621
  msgid "Chinese Yuan"
4622
  msgstr ""
4623
 
4624
- #: wpuf-functions.php:1569
4625
  msgid "Colombian Peso"
4626
  msgstr ""
4627
 
4628
- #: wpuf-functions.php:1570
4629
  msgid "Czech Koruna"
4630
  msgstr ""
4631
 
4632
- #: wpuf-functions.php:1571
4633
  msgid "Danish Krone"
4634
  msgstr ""
4635
 
4636
- #: wpuf-functions.php:1572
4637
  msgid "Dominican Peso"
4638
  msgstr ""
4639
 
4640
- #: wpuf-functions.php:1573
4641
  msgid "Algerian Dinar"
4642
  msgstr ""
4643
 
4644
- #: wpuf-functions.php:1574
4645
  msgid "Euros"
4646
  msgstr ""
4647
 
4648
- #: wpuf-functions.php:1575
4649
  msgid "Hong Kong Dollar"
4650
  msgstr ""
4651
 
4652
- #: wpuf-functions.php:1576
4653
  msgid "Croatia kuna"
4654
  msgstr ""
4655
 
4656
- #: wpuf-functions.php:1577
4657
  msgid "Hungarian Forint"
4658
  msgstr ""
4659
 
4660
- #: wpuf-functions.php:1578
4661
  msgid "Icelandic krona"
4662
  msgstr ""
4663
 
4664
- #: wpuf-functions.php:1579
4665
  msgid "Indonesia Rupiah"
4666
  msgstr ""
4667
 
4668
- #: wpuf-functions.php:1580
4669
  msgid "Indian Rupee"
4670
  msgstr ""
4671
 
4672
- #: wpuf-functions.php:1581
4673
  msgid "Nepali Rupee"
4674
  msgstr ""
4675
 
4676
- #: wpuf-functions.php:1582
4677
  msgid "Israeli Shekel"
4678
  msgstr ""
4679
 
4680
- #: wpuf-functions.php:1583
4681
  msgid "Japanese Yen"
4682
  msgstr ""
4683
 
4684
- #: wpuf-functions.php:1584
4685
  msgid "Lao Kip"
4686
  msgstr ""
4687
 
4688
- #: wpuf-functions.php:1585
4689
  msgid "South Korean Won"
4690
  msgstr ""
4691
 
4692
- #: wpuf-functions.php:1586
4693
  msgid "Malaysian Ringgits"
4694
  msgstr ""
4695
 
4696
- #: wpuf-functions.php:1587
4697
  msgid "Mexican Peso"
4698
  msgstr ""
4699
 
4700
- #: wpuf-functions.php:1588
4701
  msgid "Nigerian Naira"
4702
  msgstr ""
4703
 
4704
- #: wpuf-functions.php:1589
4705
  msgid "Norwegian Krone"
4706
  msgstr ""
4707
 
4708
- #: wpuf-functions.php:1590
4709
  msgid "New Zealand Dollar"
4710
  msgstr ""
4711
 
4712
- #: wpuf-functions.php:1591
4713
  msgid "Omani Rial"
4714
  msgstr ""
4715
 
4716
- #: wpuf-functions.php:1592
4717
  msgid "Iranian Rial"
4718
  msgstr ""
4719
 
4720
- #: wpuf-functions.php:1593
4721
  msgid "Pakistani Rupee"
4722
  msgstr ""
4723
 
4724
- #: wpuf-functions.php:1594
4725
  msgid "Paraguayan Guaraní"
4726
  msgstr ""
4727
 
4728
- #: wpuf-functions.php:1595
4729
  msgid "Philippine Pesos"
4730
  msgstr ""
4731
 
4732
- #: wpuf-functions.php:1596
4733
  msgid "Polish Zloty"
4734
  msgstr ""
4735
 
4736
- #: wpuf-functions.php:1597
4737
  msgid "Pounds Sterling"
4738
  msgstr ""
4739
 
4740
- #: wpuf-functions.php:1598
4741
  msgid "Romanian Leu"
4742
  msgstr ""
4743
 
4744
- #: wpuf-functions.php:1599
4745
  msgid "Russian Ruble"
4746
  msgstr ""
4747
 
4748
- #: wpuf-functions.php:1600
4749
  msgid "Saudi Riyal"
4750
  msgstr ""
4751
 
4752
- #: wpuf-functions.php:1601
4753
  msgid "Singapore Dollar"
4754
  msgstr ""
4755
 
4756
- #: wpuf-functions.php:1602
4757
  msgid "South African rand"
4758
  msgstr ""
4759
 
4760
- #: wpuf-functions.php:1603
4761
  msgid "Swedish Krona"
4762
  msgstr ""
4763
 
4764
- #: wpuf-functions.php:1604
4765
  msgid "Swiss Franc"
4766
  msgstr ""
4767
 
4768
- #: wpuf-functions.php:1605
4769
  msgid "Taiwan New Dollars"
4770
  msgstr ""
4771
 
4772
- #: wpuf-functions.php:1606
4773
  msgid "Thai Baht"
4774
  msgstr ""
4775
 
4776
- #: wpuf-functions.php:1607
4777
  msgid "Turkish Lira"
4778
  msgstr ""
4779
 
4780
- #: wpuf-functions.php:1608
4781
  msgid "US Dollar"
4782
  msgstr ""
4783
 
4784
- #: wpuf-functions.php:1609
4785
  msgid "Vietnamese Dong"
4786
  msgstr ""
4787
 
4788
- #: wpuf-functions.php:1610
4789
  msgid "Egyptian Pound"
4790
  msgstr ""
4791
 
 
 
 
 
4792
  #: wpuf.php:104
4793
  msgid "Your installed PHP Version is: "
4794
  msgstr ""
@@ -4805,7 +4920,7 @@ msgstr ""
4805
  msgid "Your Post Has Been Expired"
4806
  msgstr ""
4807
 
4808
- #: wpuf.php:642
4809
  msgid "Error: Nonce verification failed"
4810
  msgstr ""
4811
 
@@ -4887,7 +5002,7 @@ msgctxt "enhanced select"
4887
  msgid "Searching&hellip;"
4888
  msgstr ""
4889
 
4890
- #: wpuf-functions.php:1073
4891
  msgctxt "tag delimiter"
4892
  msgid ","
4893
  msgstr ""
2
  # This file is distributed under the GPL2 or later.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP User Frontend 2.8.5\n"
6
  "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
7
+ "POT-Creation-Date: 2018-03-12 07:09:51+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
74
  msgid "Settings"
75
  msgstr ""
76
 
77
+ #: admin/class-admin-settings.php:120 admin/class-admin-subscription.php:197
78
  #: admin/subscribers.php:18
79
  msgid "Subscribers"
80
  msgstr ""
119
  msgid "Subscription pack draft updated."
120
  msgstr ""
121
 
122
+ #: admin/class-admin-subscription.php:195 class/subscription.php:297
123
  msgid "Pack Name"
124
  msgstr ""
125
 
126
+ #: admin/class-admin-subscription.php:196
127
  msgid "Amount"
128
  msgstr ""
129
 
130
+ #: admin/class-admin-subscription.php:198 includes/free/subscription.php:8
131
  msgid "Recurring"
132
  msgstr ""
133
 
134
+ #: admin/class-admin-subscription.php:199
135
  msgid "Duration"
136
  msgstr ""
137
 
138
+ #: admin/class-admin-subscription.php:218
139
+ #: admin/class-admin-subscription.php:572 class/frontend-account.php:136
140
+ #: class/subscription.php:860 class/subscription.php:873
141
  #: includes/class-user-subscription.php:304
142
  msgid "Free"
143
  msgstr ""
144
 
145
+ #: admin/class-admin-subscription.php:236
146
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:66
147
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:140
148
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:526
149
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:584
150
  #: admin/form.php:795 admin/post-forms-list-table.php:345
151
+ #: admin/settings-options.php:106 admin/settings-options.php:198
152
+ #: admin/settings-options.php:209 admin/template.php:70
153
+ #: includes/free/form-element.php:477
154
  msgid "Yes"
155
  msgstr ""
156
 
157
+ #: admin/class-admin-subscription.php:238
158
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:67
159
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:141
160
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:527
161
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:585
162
  #: admin/form.php:796 admin/post-forms-list-table.php:346
163
+ #: admin/settings-options.php:107 admin/settings-options.php:199
164
+ #: admin/settings-options.php:210 admin/template.php:71
165
+ #: includes/free/form-element.php:478
166
  msgid "No"
167
  msgstr ""
168
 
169
+ #: admin/class-admin-subscription.php:327 admin/form.php:230
170
  msgid "Payment Settings"
171
  msgstr ""
172
 
173
+ #: admin/class-admin-subscription.php:334
174
  msgid "Posting Restriction"
175
  msgstr ""
176
 
177
+ #: admin/class-admin-subscription.php:348
178
  msgid "Billing amount:"
179
  msgstr ""
180
 
181
+ #: admin/class-admin-subscription.php:349
182
  msgid "Billing amount each cycle:"
183
  msgstr ""
184
 
185
+ #: admin/class-admin-subscription.php:357
186
  msgid "Expires In:"
187
  msgstr ""
188
 
189
+ #: admin/class-admin-subscription.php:381 admin/form.php:232
190
  #: includes/free/form-element.php:56
191
  msgid "Post Expiration"
192
  msgstr ""
193
 
194
+ #: admin/class-admin-subscription.php:386 includes/free/form-element.php:60
195
  msgid "Enable Post Expiration"
196
  msgstr ""
197
 
198
+ #: admin/class-admin-subscription.php:398
199
+ #: admin/class-admin-subscription.php:676 includes/free/form-element.php:66
200
  msgid "Post Expiration Time"
201
  msgstr ""
202
 
203
+ #: admin/class-admin-subscription.php:423 admin/html/form-settings-post.php:57
204
  #: admin/post-forms-list-table.php:298
205
  msgid "Post Status"
206
  msgstr ""
207
 
208
+ #: admin/class-admin-subscription.php:437 includes/free/form-element.php:112
209
  msgid "Status of post after post expiration time is over "
210
  msgstr ""
211
 
212
+ #: admin/class-admin-subscription.php:442
213
  msgid "Expiration Mail"
214
  msgstr ""
215
 
216
+ #: admin/class-admin-subscription.php:447
217
  msgid "Send Expiration Email to Post Author"
218
  msgstr ""
219
 
220
+ #: admin/class-admin-subscription.php:451
221
  msgid "Send Mail to Author After Exceeding Post Expiration Time"
222
  msgstr ""
223
 
224
+ #: admin/class-admin-subscription.php:456
225
  msgid "Expiration Message"
226
  msgstr ""
227
 
228
+ #: admin/class-admin-subscription.php:519
229
  msgid "Day(s)"
230
  msgstr ""
231
 
232
+ #: admin/class-admin-subscription.php:520
233
  msgid "Week(s)"
234
  msgstr ""
235
 
236
+ #: admin/class-admin-subscription.php:521
237
  msgid "Month(s)"
238
  msgstr ""
239
 
240
+ #: admin/class-admin-subscription.php:522
241
  msgid "Year(s)"
242
  msgstr ""
243
 
244
+ #: admin/class-admin-subscription.php:563
245
  msgid "WPUF Subscription Information"
246
  msgstr ""
247
 
248
+ #: admin/class-admin-subscription.php:589
249
  msgid "Subcription Name"
250
  msgstr ""
251
 
252
+ #: admin/class-admin-subscription.php:599
253
  msgid "Billing Info"
254
  msgstr ""
255
 
256
+ #: admin/class-admin-subscription.php:613
257
  msgid "This user is using recurring subscription pack"
258
  msgstr ""
259
 
260
+ #: admin/class-admin-subscription.php:619
261
  msgid "Remaining Posting Count"
262
  msgstr ""
263
 
264
+ #: admin/class-admin-subscription.php:640
265
  msgid "Subscription Expiration Info"
266
  msgstr ""
267
 
268
+ #: admin/class-admin-subscription.php:651
269
  #: includes/class-user-subscription.php:358
270
  #: templates/dashboard/subscription.php:41
271
  msgid "Expire date:"
272
  msgstr ""
273
 
274
+ #: admin/class-admin-subscription.php:665
275
  msgid "Post Expiration Enabled"
276
  msgstr ""
277
 
278
+ #: admin/class-admin-subscription.php:702
279
  msgid "Allowed Taxonomy Terms"
280
  msgstr ""
281
 
282
+ #: admin/class-admin-subscription.php:757
283
  msgid "Assign Package"
284
  msgstr ""
285
 
286
+ #: admin/class-admin-subscription.php:758
287
  #: admin/form-builder/class-wpuf-admin-form-builder.php:329
288
+ #: class/payment.php:197 class/subscription.php:779
289
  #: includes/class-list-table-subscribers.php:128
290
  #: lib/class-wedevs-insights.php:667 templates/dashboard/subscription.php:62
291
  msgid "Cancel"
292
  msgstr ""
293
 
294
+ #: admin/class-admin-subscription.php:764
295
  msgid "Select Package:"
296
  msgstr ""
297
 
298
+ #: admin/class-admin-subscription.php:767
299
  msgid "&mdash; Select &mdash;"
300
  msgstr ""
301
 
302
+ #: admin/class-admin-subscription.php:778
303
  msgid "Delete Package"
304
  msgstr ""
305
 
306
+ #: admin/class-admin-subscription.php:827
307
  msgid "Learn more about <a href=\"%s\" target=\"_blank\">Subscription</a>"
308
  msgstr ""
309
 
316
  msgstr ""
317
 
318
  #: admin/class-tools.php:39 admin/class-tools.php:95
319
+ #: admin/post-forms-list-table.php:43 class/transactions-list-table.php:86
320
+ #: includes/class-list-table-subscribers.php:126 wpuf-functions.php:2443
321
  msgid "All"
322
  msgstr ""
323
 
498
  #: admin/form-builder/assets/js/components/form-featured_image/template.php:5
499
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:779
500
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:813
501
+ #: class/render-form.php:1637
502
  msgid "Select Image"
503
  msgstr ""
504
 
505
  #: admin/form-builder/assets/js/components/form-post_content/template.php:4
506
+ #: class/render-form.php:1044
507
  msgid "Insert Photo"
508
  msgstr ""
509
 
792
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:307
793
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:455
794
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:498
795
+ #: admin/form.php:900
796
  msgid "- select -"
797
  msgstr ""
798
 
892
 
893
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:697
894
  #: admin/html/form-submission-restriction.php:12 admin/html/support.php:224
895
+ #: class/transactions-list-table.php:49 includes/free/edit-user.php:153
896
  #: templates/registration-form.php:44
897
  msgid "Email"
898
  msgstr ""
1080
  msgid "Want a new integration? <a href=\"%s\" target=\"_blank\">Let us know</a>."
1081
  msgstr ""
1082
 
1083
+ #: admin/form-template.php:169
1084
  msgid "Form Template"
1085
  msgstr ""
1086
 
1087
+ #: admin/form-template.php:172
1088
  msgid "&mdash; No Template &mdash;"
1089
  msgstr ""
1090
 
1091
+ #: admin/form-template.php:181
1092
  msgid ""
1093
  "If selected a form template, it will try to execute that integration "
1094
  "options when new post created and updated."
1187
  msgstr ""
1188
 
1189
  #: admin/form.php:440 admin/html/form-settings-post.php:22
1190
+ #: class/render-form.php:748
1191
  msgid "Save Draft"
1192
  msgstr ""
1193
 
1296
  "the form."
1297
  msgstr ""
1298
 
1299
+ #: admin/form.php:864 admin/template-post.php:204
1300
  msgid "This taxonomy is a WooCommerce attribute"
1301
  msgstr ""
1302
 
1303
+ #: admin/form.php:875 admin/template-post.php:216
1304
  msgid "Visible on product page"
1305
  msgstr ""
1306
 
1307
+ #: admin/form.php:927
1308
  msgid "Post Forms must have either Post Title, Post Body or Excerpt field"
1309
  msgstr ""
1310
 
1336
  msgid "Payment Options"
1337
  msgstr ""
1338
 
1339
+ #: admin/html/form-settings-payment.php:25 admin/settings-options.php:330
1340
  #: includes/setup-wizard.php:273
1341
  msgid "Enable Payments"
1342
  msgstr ""
1628
  msgstr ""
1629
 
1630
  #: admin/html/form-submission-restriction.php:114
1631
+ #: admin/settings-options.php:255
1632
  msgid "Unauthorized Message"
1633
  msgstr ""
1634
 
1635
  #: admin/html/form-submission-restriction.php:117
1636
+ #: admin/settings-options.php:256
1637
  msgid "Not logged in users will see this message"
1638
  msgstr ""
1639
 
1849
  msgstr ""
1850
 
1851
  #: admin/html/whats-new.php:8
1852
+ msgid "Enhanced Login Redirect to redirect users to previous page"
1853
  msgstr ""
1854
 
1855
  #: admin/html/whats-new.php:10
1856
  msgid ""
1857
+ "You can choose Previous Page as Login Redirect page settings now to "
1858
+ "redirect users to the page from which they went for Login. "
1859
+ msgstr ""
1860
+
1861
+ #: admin/html/whats-new.php:13
1862
+ msgid "Email HTML links not Rendreing properly issue is fixed"
1863
+ msgstr ""
1864
+
1865
+ #: admin/html/whats-new.php:15
1866
+ msgid ""
1867
+ "For some clients emails were not rendering the HTML links properly, this is "
1868
+ "now fixed"
1869
+ msgstr ""
1870
+
1871
+ #: admin/html/whats-new.php:18
1872
+ msgid "Form Builder : Form Field's Help text styles not showing properly"
1873
+ msgstr ""
1874
+
1875
+ #: admin/html/whats-new.php:20
1876
+ msgid "Help texts styling is now fixed and much easier to read and understand"
1877
+ msgstr ""
1878
+
1879
+ #: admin/html/whats-new.php:23
1880
+ msgid "Various other code improvements"
1881
+ msgstr ""
1882
+
1883
+ #: admin/html/whats-new.php:25
1884
+ msgid "Code structure organization and optimization for better performance"
1885
+ msgstr ""
1886
+
1887
+ #: admin/html/whats-new.php:34
1888
+ msgid "Dashboard Post Listing now supports multiple post types"
1889
+ msgstr ""
1890
+
1891
+ #: admin/html/whats-new.php:36
1892
+ msgid ""
1893
  "Now you can show multiple post type in user dashboard using shortcode like "
1894
  "this : <br><b>[wpuf_dashboard post_type=\"post,page,custom_type\"]</b> "
1895
  msgstr ""
1896
 
1897
+ #: admin/html/whats-new.php:39
1898
  msgid "Added Login Redirect Settings"
1899
  msgstr ""
1900
 
1901
+ #: admin/html/whats-new.php:41
1902
  msgid ""
1903
  "You can now set a page from <i>WPUF Settings > Login/Registration > "
1904
  "Redirect after Login</i>. When login redirection is active the user will be "
1905
  "redirected to this page after login."
1906
  msgstr ""
1907
 
1908
+ #: admin/html/whats-new.php:44
1909
  msgid "Image Upload field button text can be changed"
1910
  msgstr ""
1911
 
1912
+ #: admin/html/whats-new.php:46
1913
  msgid ""
1914
  "The upload button text can now be changed for image upload fields which "
1915
  "defaults to \"Select Image\" if not set. "
1916
  msgstr ""
1917
 
1918
+ #: admin/html/whats-new.php:49
1919
  msgid "Multi Step Form styles made compatible with more themes"
1920
  msgstr ""
1921
 
1922
+ #: admin/html/whats-new.php:51
1923
  msgid "Multi Step form can now be styled more easily with other themes "
1924
  msgstr ""
1925
 
1926
+ #: admin/html/whats-new.php:54
1927
  msgid "Required field condition for google map not working is fixed"
1928
  msgstr ""
1929
 
1930
+ #: admin/html/whats-new.php:56
1931
  msgid ""
1932
  "If Google Map field was set as required users were able to submit form "
1933
  "without changing the default value."
1934
  msgstr ""
1935
 
1936
+ #: admin/html/whats-new.php:65
1937
  msgid "Admin form builder is now fully responsive."
1938
  msgstr ""
1939
 
1940
+ #: admin/html/whats-new.php:67
1941
  msgid ""
1942
  "Now you can edit forms from your mobile devices directly. Our improved "
1943
  "responsive layouts of form builder makes it easy for you to build forms on "
1944
  "the go."
1945
  msgstr ""
1946
 
1947
+ #: admin/html/whats-new.php:70
1948
  msgid "Added color schemes for creating attractive form layouts."
1949
  msgstr ""
1950
 
1951
+ #: admin/html/whats-new.php:72
1952
  msgid ""
1953
  "We have added 3 new color schemes for the form layouts which you can choose "
1954
  "from each form's new display settings."
1955
  msgstr ""
1956
 
1957
+ #: admin/html/whats-new.php:75
1958
  msgid "Restrict Free subscription pack to be enabled multiple times "
1959
  msgstr ""
1960
 
1961
+ #: admin/html/whats-new.php:77
1962
  msgid ""
1963
  "Free subscription packs now can only be purchased once and the limit "
1964
  "applies properly"
1965
  msgstr ""
1966
 
1967
+ #: admin/html/whats-new.php:80
1968
  msgid "Various other bug fixes and improvements were made "
1969
  msgstr ""
1970
 
1971
+ #: admin/html/whats-new.php:82
1972
  msgid "Please see the change log to see full details."
1973
  msgstr ""
1974
 
1975
+ #: admin/html/whats-new.php:91
1976
  msgid "Added upgrade function for default category"
1977
  msgstr ""
1978
 
1979
+ #: admin/html/whats-new.php:93
1980
  msgid "Upgrader added to upgrade previously set default post category."
1981
  msgstr ""
1982
 
1983
+ #: admin/html/whats-new.php:96
1984
  msgid "Subscription pack cannot be canceled"
1985
  msgstr ""
1986
 
1987
+ #: admin/html/whats-new.php:98
1988
  msgid ""
1989
  "Fixed recurring subscription pack cannot be canceled from my account page "
1990
  "in subscription details section."
1991
  msgstr ""
1992
 
1993
+ #: admin/html/whats-new.php:101
1994
  msgid "page installer admin notice logic issue"
1995
  msgstr ""
1996
 
1997
+ #: admin/html/whats-new.php:103
1998
  msgid ""
1999
  "Fixed page installer admin notice logic problem due to new payment settings "
2000
  "default value not set."
2001
  msgstr ""
2002
 
2003
+ #: admin/html/whats-new.php:113
2004
  msgid "Setup Wizard"
2005
  msgstr ""
2006
 
2007
+ #: admin/html/whats-new.php:115
2008
  msgid "Setup Wizard added to turn off payment options and install pages."
2009
  msgstr ""
2010
 
2011
+ #: admin/html/whats-new.php:119
2012
  msgid "Multi-select Category"
2013
  msgstr ""
2014
 
2015
+ #: admin/html/whats-new.php:121
2016
  msgid "Add multi-select to default category in post form settings."
2017
  msgstr ""
2018
 
2019
+ #: admin/html/whats-new.php:125
2020
  msgid "Select Text option for Taxonomy"
2021
  msgstr ""
2022
 
2023
+ #: admin/html/whats-new.php:127
2024
  msgid ""
2025
  "Add Select Text option for taxonomy fields. Now you can add default text "
2026
  "with empty value as first option for Taxonomy dropdown."
2027
  msgstr ""
2028
 
2029
+ #: admin/html/whats-new.php:130
2030
  msgid "Taxonomy Checkbox Inline"
2031
  msgstr ""
2032
 
2033
+ #: admin/html/whats-new.php:132
2034
  msgid ""
2035
  "Added checkbox inline option to taxonomy checkbox. You can now display "
2036
  "Taxonomy checkbox fields inline."
2037
  msgstr ""
2038
 
2039
+ #: admin/html/whats-new.php:142
2040
  msgid "Manage schedule for form submission"
2041
  msgstr ""
2042
 
2043
+ #: admin/html/whats-new.php:144
2044
  msgid ""
2045
  "Do not accept form submission if the current date is not between the date "
2046
  "range of the schedule."
2047
  msgstr ""
2048
 
2049
+ #: admin/html/whats-new.php:148
2050
  msgid "Restrict form submission based on the user roles"
2051
  msgstr ""
2052
 
2053
+ #: admin/html/whats-new.php:150
2054
  msgid ""
2055
  "Restrict form submission based on the user roles. Now you can manage user "
2056
  "role base permission on form submission."
2057
  msgstr ""
2058
 
2059
+ #: admin/html/whats-new.php:154
2060
  msgid "Limit how many entries a form will accept"
2061
  msgstr ""
2062
 
2063
+ #: admin/html/whats-new.php:156
2064
  msgid ""
2065
  "Limit how many entries a form will accept and display a custom message when "
2066
  "that limit is reached."
2067
  msgstr ""
2068
 
2069
+ #: admin/html/whats-new.php:160
2070
  msgid "Show/hide Admin Bar"
2071
  msgstr ""
2072
 
2073
+ #: admin/html/whats-new.php:162
2074
  msgid "Control the admin bar visibility based on user roles."
2075
  msgstr ""
2076
 
2077
+ #: admin/html/whats-new.php:166
2078
  msgid "Ajax Login widget"
2079
  msgstr ""
2080
 
2081
+ #: admin/html/whats-new.php:168
2082
  msgid ""
2083
  "Login user is more simple now with Ajax Login Widget. The simple ajax login "
2084
  "form do not required page loading for login."
2085
  msgstr ""
2086
 
2087
+ #: admin/html/whats-new.php:172
2088
  msgid "Form submission with Captcha field"
2089
  msgstr ""
2090
 
2091
+ #: admin/html/whats-new.php:174
2092
  msgid "Form field validation process updated if form submits with captcha field."
2093
  msgstr ""
2094
 
2095
+ #: admin/html/whats-new.php:188
2096
  msgid "What's New in WPUF?"
2097
  msgstr ""
2098
 
2121
  msgstr ""
2122
 
2123
  #: admin/installer.php:73 admin/settings-options.php:23
2124
+ #: includes/free/admin/shortcode-button.php:82 wpuf-functions.php:1455
2125
  msgid "Dashboard"
2126
  msgstr ""
2127
 
2136
 
2137
  #: admin/installer.php:84 class/subscription.php:356 class/subscription.php:376
2138
  #: class/subscription.php:377 class/subscription.php:378
2139
+ #: includes/free/admin/shortcode-button.php:102 wpuf-functions.php:1458
2140
  msgid "Subscription"
2141
  msgstr ""
2142
 
2231
  msgid "Draft"
2232
  msgstr ""
2233
 
2234
+ #: admin/posting.php:66 class/asset-loader.php:51 class/render-form.php:1655
2235
+ #: wpuf.php:492
2236
  msgid "Are you sure?"
2237
  msgstr ""
2238
 
2239
+ #: admin/posting.php:72 class/asset-loader.php:57 wpuf.php:500
2240
  msgid "Allowed Files"
2241
  msgstr ""
2242
 
2243
+ #: admin/posting.php:75 class/asset-loader.php:60 wpuf.php:506
2244
  msgid "Maximum number of files reached!"
2245
  msgstr ""
2246
 
2247
+ #: admin/posting.php:76 class/asset-loader.php:61 wpuf.php:507
2248
  msgid "The file you have uploaded exceeds the file size limit. Please try again."
2249
  msgstr ""
2250
 
2251
+ #: admin/posting.php:77 class/asset-loader.php:62 wpuf.php:508
2252
  msgid "You have uploaded an incorrect file type. Please try again."
2253
  msgstr ""
2254
 
2566
  msgid "E-Mails"
2567
  msgstr ""
2568
 
2569
+ #: admin/settings-options.php:57
2570
+ msgid "Previous Page"
2571
+ msgstr ""
2572
+
2573
+ #: admin/settings-options.php:79
2574
  msgid "Show Admin Bar"
2575
  msgstr ""
2576
 
2577
+ #: admin/settings-options.php:80
2578
  msgid "Select user by roles, who can view admin bar in frontend."
2579
  msgstr ""
2580
 
2581
+ #: admin/settings-options.php:87
2582
  msgid "Admin area access"
2583
  msgstr ""
2584
 
2585
+ #: admin/settings-options.php:88
2586
  msgid "Allow you to block specific user role to Ajax request and Media upload."
2587
  msgstr ""
2588
 
2589
+ #: admin/settings-options.php:92
2590
  msgid "Admin Only"
2591
  msgstr ""
2592
 
2593
+ #: admin/settings-options.php:93
2594
  msgid "Admins, Editors"
2595
  msgstr ""
2596
 
2597
+ #: admin/settings-options.php:94
2598
  msgid "Admins, Editors, Authors"
2599
  msgstr ""
2600
 
2601
+ #: admin/settings-options.php:95
2602
  msgid "Admins, Editors, Authors, Contributors"
2603
  msgstr ""
2604
 
2605
+ #: admin/settings-options.php:96
2606
  msgid "Default"
2607
  msgstr ""
2608
 
2609
+ #: admin/settings-options.php:101
2610
  msgid "Override the post edit link"
2611
  msgstr ""
2612
 
2613
+ #: admin/settings-options.php:102
2614
  msgid ""
2615
  "Users see the edit link in post if s/he is capable to edit the post/page. "
2616
  "Selecting <strong>Yes</strong> will override the default WordPress edit "
2617
  "post link in frontend"
2618
  msgstr ""
2619
 
2620
+ #: admin/settings-options.php:112
2621
  msgid "Load Scripts"
2622
  msgstr ""
2623
 
2624
+ #: admin/settings-options.php:113
2625
  msgid "Load scripts/styles in all pages"
2626
  msgstr ""
2627
 
2628
+ #: admin/settings-options.php:119
2629
  msgid "reCAPTCHA Site Key"
2630
  msgstr ""
2631
 
2632
+ #: admin/settings-options.php:123
2633
  msgid "reCAPTCHA Secret Key"
2634
  msgstr ""
2635
 
2636
+ #: admin/settings-options.php:124
2637
  msgid ""
2638
  "<a target=\"_blank\" href=\"https://www.google.com/recaptcha/\">Register "
2639
  "here</a> to get reCaptcha Site and Secret keys."
2640
  msgstr ""
2641
 
2642
+ #: admin/settings-options.php:128
2643
  msgid "Custom CSS codes"
2644
  msgstr ""
2645
 
2646
+ #: admin/settings-options.php:129
2647
  msgid ""
2648
  "If you want to add your custom CSS code, it will be added on page header "
2649
  "wrapped with style tag"
2650
  msgstr ""
2651
 
2652
+ #: admin/settings-options.php:136
2653
  msgid "Edit Page"
2654
  msgstr ""
2655
 
2656
+ #: admin/settings-options.php:137
2657
  msgid "Select the page where <code>[wpuf_edit]</code> is located"
2658
  msgstr ""
2659
 
2660
+ #: admin/settings-options.php:143
2661
  msgid "Default Post Owner"
2662
  msgstr ""
2663
 
2664
+ #: admin/settings-options.php:144
2665
  msgid ""
2666
  "If guest post is enabled and user details are OFF, the posts are assigned "
2667
  "to this user"
2668
  msgstr ""
2669
 
2670
+ #: admin/settings-options.php:151
2671
  msgid "Custom Fields in post"
2672
  msgstr ""
2673
 
2674
+ #: admin/settings-options.php:152
2675
  msgid "Show custom fields on post content area"
2676
  msgstr ""
2677
 
2678
+ #: admin/settings-options.php:158
2679
  msgid "Insert Photo image size"
2680
  msgstr ""
2681
 
2682
+ #: admin/settings-options.php:159
2683
  msgid ""
2684
  "Default image size of \"<strong>Insert Photo</strong>\" button in post "
2685
  "content area"
2686
  msgstr ""
2687
 
2688
+ #: admin/settings-options.php:166
2689
  msgid "Insert Photo image type"
2690
  msgstr ""
2691
 
2692
+ #: admin/settings-options.php:167
2693
  msgid ""
2694
  "Default image type of \"<strong>Insert Photo</strong>\" button in post "
2695
  "content area"
2696
  msgstr ""
2697
 
2698
+ #: admin/settings-options.php:170
2699
  msgid "Image only"
2700
  msgstr ""
2701
 
2702
+ #: admin/settings-options.php:171
2703
  msgid "Image with link"
2704
  msgstr ""
2705
 
2706
+ #: admin/settings-options.php:177
2707
  msgid "Enable Image Caption"
2708
  msgstr ""
2709
 
2710
+ #: admin/settings-options.php:178
2711
  msgid "Allow users to update image/video title, caption and description"
2712
  msgstr ""
2713
 
2714
+ #: admin/settings-options.php:184
2715
  msgid "Default Post Form"
2716
  msgstr ""
2717
 
2718
+ #: admin/settings-options.php:185
2719
  msgid "Fallback form for post editing if no associated form found"
2720
  msgstr ""
2721
 
2722
+ #: admin/settings-options.php:193
2723
  msgid "Users can edit post?"
2724
  msgstr ""
2725
 
2726
+ #: admin/settings-options.php:194
2727
  msgid "Users will be able to edit their own posts"
2728
  msgstr ""
2729
 
2730
+ #: admin/settings-options.php:204
2731
  msgid "User can delete post?"
2732
  msgstr ""
2733
 
2734
+ #: admin/settings-options.php:205
2735
  msgid "Users will be able to delete their own posts"
2736
  msgstr ""
2737
 
2738
+ #: admin/settings-options.php:215
2739
  msgid "Pending Post Edit"
2740
  msgstr ""
2741
 
2742
+ #: admin/settings-options.php:216
2743
  msgid "Disable post editing while post in \"pending\" status"
2744
  msgstr ""
2745
 
2746
+ #: admin/settings-options.php:222
2747
  msgid "Posts per page"
2748
  msgstr ""
2749
 
2750
+ #: admin/settings-options.php:223
2751
  msgid "How many posts will be listed in a page"
2752
  msgstr ""
2753
 
2754
+ #: admin/settings-options.php:229
2755
  msgid "Show user bio"
2756
  msgstr ""
2757
 
2758
+ #: admin/settings-options.php:230
2759
  msgid "Users biographical info will be shown"
2760
  msgstr ""
2761
 
2762
+ #: admin/settings-options.php:236
2763
  msgid "Show post count"
2764
  msgstr ""
2765
 
2766
+ #: admin/settings-options.php:237
2767
  msgid "Show how many posts are created by the user"
2768
  msgstr ""
2769
 
2770
+ #: admin/settings-options.php:243
2771
  msgid "Show Featured Image"
2772
  msgstr ""
2773
 
2774
+ #: admin/settings-options.php:244
2775
  msgid "Show featured image of the post (Overridden by Shortcode)"
2776
  msgstr ""
2777
 
2778
+ #: admin/settings-options.php:249
2779
  msgid "Featured Image size"
2780
  msgstr ""
2781
 
2782
+ #: admin/settings-options.php:263
2783
+ msgid "Account Page"
2784
+ msgstr ""
2785
+
2786
+ #: admin/settings-options.php:264
2787
+ msgid "Select the page which contains <code>[wpuf_account]</code> shortcode"
2788
+ msgstr ""
2789
+
2790
+ #: admin/settings-options.php:270
2791
  msgid "Show Subscriptions"
2792
  msgstr ""
2793
 
2794
+ #: admin/settings-options.php:271
2795
  msgid ""
2796
  "Show Subscriptions tab in \"my account\" page where "
2797
  "<code>[wpuf_account]</code> is located"
2798
  msgstr ""
2799
 
2800
+ #: admin/settings-options.php:277
2801
+ msgid "Show Billing Address"
2802
+ msgstr ""
2803
+
2804
+ #: admin/settings-options.php:278
2805
+ msgid "Show billing address in account page."
2806
+ msgstr ""
2807
+
2808
+ #: admin/settings-options.php:286
2809
  msgid "Auto Login After Registration"
2810
  msgstr ""
2811
 
2812
+ #: admin/settings-options.php:287
2813
  msgid "If enabled, users after registration will be logged in to the system"
2814
  msgstr ""
2815
 
2816
+ #: admin/settings-options.php:293
2817
  msgid "Login/Registration override"
2818
  msgstr ""
2819
 
2820
+ #: admin/settings-options.php:294
2821
  msgid ""
2822
  "If enabled, default login and registration forms will be overridden by WPUF "
2823
  "with pages below"
2824
  msgstr ""
2825
 
2826
+ #: admin/settings-options.php:300
2827
  msgid "Registration Page"
2828
  msgstr ""
2829
 
2830
+ #: admin/settings-options.php:301
2831
  msgid ""
2832
  "Select the page you want to use as registration page override <em>(should "
2833
  "have shortcode)</em>"
2834
  msgstr ""
2835
 
2836
+ #: admin/settings-options.php:307
2837
  msgid "Login Page"
2838
  msgstr ""
2839
 
2840
+ #: admin/settings-options.php:308
2841
  msgid "Select the page which contains <code>[wpuf-login]</code> shortcode"
2842
  msgstr ""
2843
 
2844
+ #: admin/settings-options.php:314
2845
  msgid "Redirect After Login"
2846
  msgstr ""
2847
 
2848
+ #: admin/settings-options.php:315
2849
  msgid "After successfull login, where the page will redirect to"
2850
  msgstr ""
2851
 
2852
+ #: admin/settings-options.php:321
2853
  msgid "Default Login Redirect"
2854
  msgstr ""
2855
 
2856
+ #: admin/settings-options.php:322
2857
  msgid ""
2858
  "If enabled, users who login using WordPress default login form will be "
2859
  "redirected to the selected page."
2860
  msgstr ""
2861
 
2862
+ #: admin/settings-options.php:331
2863
  msgid "Enable payments on your site."
2864
  msgstr ""
2865
 
2866
+ #: admin/settings-options.php:337
2867
  msgid "Subscription Pack Page"
2868
  msgstr ""
2869
 
2870
+ #: admin/settings-options.php:338
2871
  msgid "Select the page where <code>[wpuf_sub_pack]</code> located."
2872
  msgstr ""
2873
 
2874
+ #: admin/settings-options.php:344
2875
  msgid "Subscription at registration"
2876
  msgstr ""
2877
 
2878
+ #: admin/settings-options.php:345
2879
  msgid "Registration time redirect to subscription page"
2880
  msgstr ""
2881
 
2882
+ #: admin/settings-options.php:350
2883
  msgid "Currency"
2884
  msgstr ""
2885
 
2886
+ #: admin/settings-options.php:357
2887
  msgid "Currency Position"
2888
  msgstr ""
2889
 
2890
+ #: admin/settings-options.php:361
2891
  msgid "Left"
2892
  msgstr ""
2893
 
2894
+ #: admin/settings-options.php:362
2895
  msgid "Right"
2896
  msgstr ""
2897
 
2898
+ #: admin/settings-options.php:363
2899
  msgid "Left with space"
2900
  msgstr ""
2901
 
2902
+ #: admin/settings-options.php:364
2903
  msgid "Right with space"
2904
  msgstr ""
2905
 
2906
+ #: admin/settings-options.php:369
2907
  msgid "Thousand Separator"
2908
  msgstr ""
2909
 
2910
+ #: admin/settings-options.php:370
2911
  msgid "This sets the thousand separator of displayed prices."
2912
  msgstr ""
2913
 
2914
+ #: admin/settings-options.php:378
2915
  msgid "Decimal Separator"
2916
  msgstr ""
2917
 
2918
+ #: admin/settings-options.php:379
2919
  msgid "This sets the decimal separator of displayed prices."
2920
  msgstr ""
2921
 
2922
+ #: admin/settings-options.php:386
2923
  msgid "Number of Decimals"
2924
  msgstr ""
2925
 
2926
+ #: admin/settings-options.php:387
2927
  msgid "This sets the number of decimal points shown in displayed prices."
2928
  msgstr ""
2929
 
2930
+ #: admin/settings-options.php:397
2931
  msgid "Enable demo/sandbox mode"
2932
  msgstr ""
2933
 
2934
+ #: admin/settings-options.php:398
2935
  msgid "When sandbox mode is active, all payment gateway will be used in demo mode"
2936
  msgstr ""
2937
 
2938
+ #: admin/settings-options.php:404
2939
  msgid "Payment Page"
2940
  msgstr ""
2941
 
2942
+ #: admin/settings-options.php:405
2943
  msgid "This page will be used to process payment options"
2944
  msgstr ""
2945
 
2946
+ #: admin/settings-options.php:411
2947
  msgid "Payment Success Page"
2948
  msgstr ""
2949
 
2950
+ #: admin/settings-options.php:412 lib/gateway/bank.php:37
2951
  msgid "After payment users will be redirected here"
2952
  msgstr ""
2953
 
2954
+ #: admin/settings-options.php:418
2955
  msgid "Payment Gateways"
2956
  msgstr ""
2957
 
2958
+ #: admin/settings-options.php:419
2959
  msgid "Active payment gateways"
2960
  msgstr ""
2961
 
2962
+ #: admin/settings-options.php:427
2963
  msgid "<span class=\"dashicons dashicons-universal-access-alt\"></span> Guest Email"
2964
  msgstr ""
2965
 
2966
+ #: admin/settings-options.php:433
2967
  msgid "Guest mail subject"
2968
  msgstr ""
2969
 
2970
+ #: admin/settings-options.php:434
2971
  msgid "This sets the subject of the emails sent to guest users"
2972
  msgstr ""
2973
 
2974
+ #: admin/settings-options.php:441
2975
  msgid "Guest mail body"
2976
  msgstr ""
2977
 
2978
+ #: admin/settings-options.php:442
2979
  msgid ""
2980
  "This sets the body of the emails sent to guest users. Please DON'T edit the "
2981
  "<code>{activation_link}</code> part, you can use {sitename} too."
2982
  msgstr ""
2983
 
2984
+ #: admin/settings-options.php:466
2985
  msgid ""
2986
  "Select profile/registration forms for user roles. These forms will be used "
2987
  "to populate extra edit profile fields in backend."
2988
  msgstr ""
2989
 
2990
+ #: admin/settings-options.php:477
2991
  msgid " - select - "
2992
  msgstr ""
2993
 
3065
  msgid "reCaptcha type"
3066
  msgstr ""
3067
 
 
 
 
 
 
 
 
 
3068
  #: admin/weforms.php:4
3069
  msgid "The Easiest &amp; Fastest Contact Form Plugin on WordPress"
3070
  msgstr ""
3080
  msgid "Install Now"
3081
  msgstr ""
3082
 
3083
+ #: class/asset-loader.php:31 wpuf.php:417
3084
  msgid "is required"
3085
  msgstr ""
3086
 
3087
+ #: class/asset-loader.php:32 wpuf.php:418
3088
  msgid "does not match"
3089
  msgstr ""
3090
 
3091
+ #: class/asset-loader.php:33 wpuf.php:419
3092
  msgid "is not valid"
3093
  msgstr ""
3094
 
3095
+ #: class/asset-loader.php:45 wpuf.php:486
3096
  msgid "Please fix the errors to proceed"
3097
  msgstr ""
3098
 
3099
+ #: class/asset-loader.php:47 wpuf.php:488
3100
  msgid "Word limit reached"
3101
  msgstr ""
3102
 
3103
+ #: class/frontend-account.php:115 class/frontend-account.php:125
3104
  msgid "<p>You've not subscribed any package yet.</p>"
3105
  msgstr ""
3106
 
3107
+ #: class/frontend-account.php:127
3108
  msgid "<p>You've subscribed to the following package.</p>"
3109
  msgstr ""
3110
 
3111
+ #: class/frontend-account.php:200 class/subscription.php:73
3112
  msgid "Nonce failure"
3113
  msgstr ""
3114
 
3115
+ #: class/frontend-account.php:214
3116
  msgid "First Name is a required field."
3117
  msgstr ""
3118
 
3119
+ #: class/frontend-account.php:218
3120
  msgid "Last Name is a required field."
3121
  msgstr ""
3122
 
3123
+ #: class/frontend-account.php:222
3124
  msgid "Email is a required field."
3125
  msgstr ""
3126
 
3127
+ #: class/frontend-account.php:233
3128
  msgid "Please provide a valid email address."
3129
  msgstr ""
3130
 
3131
+ #: class/frontend-account.php:235
3132
  msgid "This email address is already registered."
3133
  msgstr ""
3134
 
3135
+ #: class/frontend-account.php:241
3136
  msgid "Please fill out all password fields."
3137
  msgstr ""
3138
 
3139
+ #: class/frontend-account.php:244
3140
  msgid "Please enter your current password."
3141
  msgstr ""
3142
 
3143
+ #: class/frontend-account.php:247
3144
  msgid "Please re-enter your password."
3145
  msgstr ""
3146
 
3147
+ #: class/frontend-account.php:250
3148
  msgid "New passwords do not match."
3149
  msgstr ""
3150
 
3151
+ #: class/frontend-account.php:253 class/frontend-account.php:264
3152
  msgid "Your current password is incorrect."
3153
  msgstr ""
3154
 
3197
  msgid "You can't edit a post while in pending mode."
3198
  msgstr ""
3199
 
3200
+ #: class/frontend-form-post.php:291
3201
  msgid "Empty reCaptcha Field"
3202
  msgstr ""
3203
 
3204
+ #: class/frontend-form-post.php:322
3205
  msgid "Invalid email address."
3206
  msgstr ""
3207
 
3208
+ #: class/frontend-form-post.php:331
3209
  msgid ""
3210
  "You already have an account in our site. Please login to continue.\n"
3211
  "\n"
3214
  "Click 'Cancel' to stay at this page."
3215
  msgstr ""
3216
 
3217
+ #: class/frontend-form-post.php:380
3218
  msgid "You do not have sufficient permissions to access this form."
3219
  msgstr ""
3220
 
3221
+ #: class/frontend-form-post.php:756
3222
  msgid "Something went wrong"
3223
  msgstr ""
3224
 
3225
+ #: class/frontend-form-post.php:1113
3226
  msgid "Email successfully verified. Please Login."
3227
  msgstr ""
3228
 
3234
  msgid "Bank Payment"
3235
  msgstr ""
3236
 
3237
+ #: class/payment.php:71
3238
  msgid "Please select your payment page from admin panel"
3239
  msgstr ""
3240
 
3241
+ #: class/payment.php:119
3242
  msgid "Your free package has been activated. Enjoy!"
3243
  msgstr ""
3244
 
3245
+ #: class/payment.php:121
3246
  msgid "You already have activated a free package previously."
3247
  msgstr ""
3248
 
3249
+ #: class/payment.php:133 wpuf-functions.php:1459
3250
+ msgid "Billing Address"
3251
+ msgstr ""
3252
+
3253
+ #: class/payment.php:158
3254
  msgid "Pricing & Plans"
3255
  msgstr ""
3256
 
3257
+ #: class/payment.php:160
3258
  msgid "Change Pack"
3259
  msgstr ""
3260
 
3261
+ #: class/payment.php:177
3262
  msgid "Selected Pack "
3263
  msgstr ""
3264
 
3265
+ #: class/payment.php:178
3266
  msgid "Pack Price "
3267
  msgstr ""
3268
 
3269
+ #: class/payment.php:182 class/payment.php:233
3270
+ #: class/transactions-list-table.php:44
3271
+ msgid "Tax"
3272
+ msgstr ""
3273
+
3274
+ #: class/payment.php:184 class/payment.php:235
3275
+ msgid "Total"
3276
+ msgstr ""
3277
+
3278
+ #: class/payment.php:196
3279
  msgid "Apply Coupon"
3280
  msgstr ""
3281
 
3282
+ #: class/payment.php:200
3283
  msgid "Have a discount code?"
3284
  msgstr ""
3285
 
3286
+ #: class/payment.php:229
3287
+ msgid "Post cost"
3288
+ msgstr ""
3289
+
3290
+ #: class/payment.php:242
3291
  msgid "Choose Your Payment Method"
3292
  msgstr ""
3293
 
3294
+ #: class/payment.php:278 templates/dashboard/billing-address.php:100
3295
  msgid "Proceed"
3296
  msgstr ""
3297
 
3298
+ #: class/payment.php:284
3299
  msgid "No Payment gateway found"
3300
  msgstr ""
3301
 
3302
+ #: class/payment.php:437 lib/gateway/bank.php:109
3303
  msgid "[%s] Payment Received"
3304
  msgstr ""
3305
 
3306
+ #: class/payment.php:438
3307
  msgid "New payment received at %s"
3308
  msgstr ""
3309
 
3340
  msgid "Please make sure you've published your form."
3341
  msgstr ""
3342
 
3343
+ #: class/render-form.php:1333 includes/free/edit-profile.php:203
3344
  #: templates/dashboard/edit-profile.php:54
3345
  msgid "Strength indicator"
3346
  msgstr ""
3347
 
3348
+ #: class/render-form.php:1393
3349
  msgid "-- Select --"
3350
  msgstr ""
3351
 
3352
+ #: class/render-form.php:1453
3353
  msgid "This field is no longer available."
3354
  msgstr ""
3355
 
3356
+ #: class/render-form.php:1655 class/transactions-list-table.php:115
3357
+ #: class/transactions-list-table.php:181 class/upload.php:171
3358
  #: includes/free/edit-user.php:101 templates/dashboard/posts.php:162
3359
  #: templates/dashboard.php:223
3360
  msgid "Delete"
3416
  msgid "<p><i>To cancel the pack, press the following cancel button</i></p>"
3417
  msgstr ""
3418
 
3419
+ #: class/subscription.php:841
3420
  msgid "Every"
3421
  msgstr ""
3422
 
3423
+ #: class/subscription.php:845
3424
  msgid "One time payment"
3425
  msgstr ""
3426
 
3427
+ #: class/subscription.php:857
3428
  msgid "Sign Up"
3429
  msgstr ""
3430
 
3431
+ #: class/subscription.php:862
3432
  msgid "Buy Now"
3433
  msgstr ""
3434
 
3435
+ #: class/subscription.php:937
3436
  msgid "There is a <strong>%s</strong> charge to add a new post."
3437
  msgstr ""
3438
 
3439
+ #: class/subscription.php:954
3440
  msgid ""
3441
  "Your Subscription pack exhausted. There is a <strong>%s</strong> charge to "
3442
  "add a new post."
3443
  msgstr ""
3444
 
3445
+ #: class/subscription.php:999 includes/class-user-subscription.php:58
3446
  msgid "You must <a href=\"%s\">purchase a pack</a> before posting"
3447
  msgstr ""
3448
 
3472
  msgid "Cost"
3473
  msgstr ""
3474
 
3475
+ #: class/transactions-list-table.php:45
3476
  msgid "Post ID"
3477
  msgstr ""
3478
 
3479
+ #: class/transactions-list-table.php:46
3480
  msgid "Pack ID"
3481
  msgstr ""
3482
 
3483
+ #: class/transactions-list-table.php:47
3484
  #: includes/class-list-table-subscribers.php:45
3485
  msgid "Gateway"
3486
  msgstr ""
3487
 
3488
+ #: class/transactions-list-table.php:48
3489
  msgid "Payer"
3490
  msgstr ""
3491
 
3492
+ #: class/transactions-list-table.php:50
3493
  msgid "Trans ID"
3494
  msgstr ""
3495
 
3496
+ #: class/transactions-list-table.php:51 includes/free/form-element.php:12
3497
  msgid "Date"
3498
  msgstr ""
3499
 
3500
+ #: class/transactions-list-table.php:87 wpuf-functions.php:69
3501
  msgid "Pending"
3502
  msgstr ""
3503
 
3504
+ #: class/transactions-list-table.php:110 class/transactions-list-table.php:176
3505
  msgid "Accept"
3506
  msgstr ""
3507
 
3508
+ #: class/transactions-list-table.php:111 class/transactions-list-table.php:177
3509
  msgid "Reject"
3510
  msgstr ""
3511
 
3512
+ #: class/transactions-list-table.php:164
3513
  msgid "No transactions found."
3514
  msgstr ""
3515
 
3517
  msgid "Caption"
3518
  msgstr ""
3519
 
3520
+ #: includes/class-billing-address.php:61
3521
+ msgid "Choose a country"
3522
+ msgstr ""
3523
+
3524
+ #: includes/class-billing-address.php:80
3525
+ msgid "Choose a state"
3526
+ msgstr ""
3527
+
3528
+ #: includes/class-billing-address.php:85
3529
+ #: templates/dashboard/billing-address.php:41
3530
+ msgid "Address Line 1 "
3531
+ msgstr ""
3532
+
3533
+ #: includes/class-billing-address.php:91
3534
+ #: templates/dashboard/billing-address.php:48
3535
+ msgid "Address Line 2 "
3536
+ msgstr ""
3537
+
3538
+ #: includes/class-billing-address.php:97
3539
+ #: templates/dashboard/billing-address.php:55
3540
+ msgid "City"
3541
+ msgstr ""
3542
+
3543
+ #: includes/class-billing-address.php:103
3544
+ #: templates/dashboard/billing-address.php:72
3545
+ msgid "Postal Code/ZIP"
3546
+ msgstr ""
3547
+
3548
+ #: includes/class-billing-address.php:109
3549
+ #: templates/dashboard/billing-address.php:103
3550
+ msgid "Update Billing Address"
3551
+ msgstr ""
3552
+
3553
+ #: includes/class-billing-address.php:145
3554
+ #: templates/dashboard/billing-address.php:23
3555
+ msgid "Billing address is updated."
3556
+ msgstr ""
3557
+
3558
+ #: includes/class-dokan-integration.php:37 wpuf-functions.php:1456
3559
  msgid "Posts"
3560
  msgstr ""
3561
 
3647
  msgid "Someone has requested a password reset for the following account:"
3648
  msgstr ""
3649
 
3650
+ #: includes/class-login-widget.php:137 includes/free/class-login.php:730
3651
  msgid "Username: %s"
3652
  msgstr ""
3653
 
3654
+ #: includes/class-login-widget.php:138 includes/free/class-login.php:731
3655
  msgid "If this was a mistake, just ignore this email and nothing will happen."
3656
  msgstr ""
3657
 
3658
+ #: includes/class-login-widget.php:139 includes/free/class-login.php:732
3659
  msgid "To reset your password, visit the following address:"
3660
  msgstr ""
3661
 
3662
+ #: includes/class-login-widget.php:144 includes/free/class-login.php:741
3663
  msgid "[%s] Password Reset"
3664
  msgstr ""
3665
 
3703
 
3704
  #: includes/class-login-widget.php:266 includes/free/edit-profile.php:101
3705
  #: includes/free/edit-user.php:93 includes/free/edit-user.php:145
3706
+ #: templates/login-form.php:22 templates/registration-form.php:51
3707
  msgid "Username"
3708
  msgstr ""
3709
 
3710
+ #: includes/class-login-widget.php:267 templates/login-form.php:26
3711
  #: templates/registration-form.php:58
3712
  msgid "Password"
3713
  msgstr ""
3714
 
3715
+ #: includes/class-login-widget.php:268 templates/login-form.php:32
3716
  msgid "Remember Me"
3717
  msgstr ""
3718
 
3719
  #: includes/class-login-widget.php:269 includes/free/class-login.php:210
3720
+ #: includes/free/class-login.php:266 templates/login-form.php:36
3721
  msgid "Log In"
3722
  msgstr ""
3723
 
3927
  msgid "A user could not be found with this email address."
3928
  msgstr ""
3929
 
3930
+ #: includes/free/class-login.php:459
3931
  msgid "Please enter your password."
3932
  msgstr ""
3933
 
3934
+ #: includes/free/class-login.php:464
3935
  msgid "Passwords do not match."
3936
  msgstr ""
3937
 
3938
+ #: includes/free/class-login.php:507
3939
  msgid "Enter a username or e-mail address."
3940
  msgstr ""
3941
 
3942
+ #: includes/free/class-login.php:515
3943
  msgid "There is no user registered with that email address."
3944
  msgstr ""
3945
 
3946
+ #: includes/free/class-login.php:533
3947
  msgid "Invalid username or e-mail."
3948
  msgstr ""
3949
 
3950
+ #: includes/free/class-login.php:547
3951
  msgid "Password reset is not allowed for this user"
3952
  msgstr ""
3953
 
3954
+ #: includes/free/class-login.php:601 includes/free/class-login.php:613
3955
  msgid "Invalid key"
3956
  msgstr ""
3957
 
3958
+ #: includes/free/class-login.php:606
3959
  msgid "Invalid Login"
3960
  msgstr ""
3961
 
3962
+ #: includes/free/class-login.php:636
3963
  msgid ""
3964
  "<strong>Your account is not active.</strong><br>Please check your email for "
3965
  "activation link."
3966
  msgstr ""
3967
 
3968
+ #: includes/free/class-login.php:684
3969
  msgid "Your account has been activated"
3970
  msgstr ""
3971
 
3972
+ #: includes/free/class-login.php:728
3973
  msgid "Someone requested that the password be reset for the following account:"
3974
  msgstr ""
3975
 
3976
+ #: includes/free/class-login.php:748
3977
  msgid "The e-mail could not be sent."
3978
  msgstr ""
3979
 
3980
+ #: includes/free/class-login.php:748
3981
  msgid "Possible reason: your host may have disabled the mail() function."
3982
  msgstr ""
3983
 
4457
  msgid "Bank Payment Success Page"
4458
  msgstr ""
4459
 
4460
+ #: lib/gateway/bank.php:87
4461
  msgid "[%s] New Bank Order Received"
4462
  msgstr ""
4463
 
4464
+ #: lib/gateway/bank.php:88
4465
  msgid "New bank order received at %s, please check it out: %s"
4466
  msgstr ""
4467
 
4468
+ #: lib/gateway/bank.php:110
4469
  msgid "Hello %s,"
4470
  msgstr ""
4471
 
4472
+ #: lib/gateway/bank.php:111
4473
  msgid "We have received your bank payment."
4474
  msgstr ""
4475
 
4476
+ #: lib/gateway/bank.php:112
4477
  msgid "Thanks for being with us."
4478
  msgstr ""
4479
 
4501
  msgid "PayPal API signature"
4502
  msgstr ""
4503
 
4504
+ #: templates/dashboard/billing-address.php:62
4505
+ msgid "State/Province/Region"
4506
+ msgstr ""
4507
+
4508
+ #: templates/dashboard/billing-address.php:77
4509
+ msgid "Country"
4510
+ msgstr ""
4511
+
4512
  #: templates/dashboard/dashboard.php:5
4513
  msgid "Hello %1$s, (not %1$s? <a href=\"%2$s\">Sign out</a>)"
4514
  msgstr ""
4692
  msgid "CSV"
4693
  msgstr ""
4694
 
4695
+ #: wpuf-functions.php:1457
4696
  msgid "Edit Profile"
4697
  msgstr ""
4698
 
4699
+ #: wpuf-functions.php:1564
4700
  msgid "United Arab Emirates Dirham"
4701
  msgstr ""
4702
 
4703
+ #: wpuf-functions.php:1565
4704
  msgid "Australian Dollars"
4705
  msgstr ""
4706
 
4707
+ #: wpuf-functions.php:1566
4708
  msgid "Argentine Peso"
4709
  msgstr ""
4710
 
4711
+ #: wpuf-functions.php:1567
4712
  msgid "Bangladeshi Taka"
4713
  msgstr ""
4714
 
4715
+ #: wpuf-functions.php:1568
4716
  msgid "Brazilian Real"
4717
  msgstr ""
4718
 
4719
+ #: wpuf-functions.php:1569
4720
  msgid "Bulgarian Lev"
4721
  msgstr ""
4722
 
4723
+ #: wpuf-functions.php:1570
4724
  msgid "Canadian Dollars"
4725
  msgstr ""
4726
 
4727
+ #: wpuf-functions.php:1571
4728
  msgid "Chilean Peso"
4729
  msgstr ""
4730
 
4731
+ #: wpuf-functions.php:1572
4732
  msgid "Chinese Yuan"
4733
  msgstr ""
4734
 
4735
+ #: wpuf-functions.php:1573
4736
  msgid "Colombian Peso"
4737
  msgstr ""
4738
 
4739
+ #: wpuf-functions.php:1574
4740
  msgid "Czech Koruna"
4741
  msgstr ""
4742
 
4743
+ #: wpuf-functions.php:1575
4744
  msgid "Danish Krone"
4745
  msgstr ""
4746
 
4747
+ #: wpuf-functions.php:1576
4748
  msgid "Dominican Peso"
4749
  msgstr ""
4750
 
4751
+ #: wpuf-functions.php:1577
4752
  msgid "Algerian Dinar"
4753
  msgstr ""
4754
 
4755
+ #: wpuf-functions.php:1578
4756
  msgid "Euros"
4757
  msgstr ""
4758
 
4759
+ #: wpuf-functions.php:1579
4760
  msgid "Hong Kong Dollar"
4761
  msgstr ""
4762
 
4763
+ #: wpuf-functions.php:1580
4764
  msgid "Croatia kuna"
4765
  msgstr ""
4766
 
4767
+ #: wpuf-functions.php:1581
4768
  msgid "Hungarian Forint"
4769
  msgstr ""
4770
 
4771
+ #: wpuf-functions.php:1582
4772
  msgid "Icelandic krona"
4773
  msgstr ""
4774
 
4775
+ #: wpuf-functions.php:1583
4776
  msgid "Indonesia Rupiah"
4777
  msgstr ""
4778
 
4779
+ #: wpuf-functions.php:1584
4780
  msgid "Indian Rupee"
4781
  msgstr ""
4782
 
4783
+ #: wpuf-functions.php:1585
4784
  msgid "Nepali Rupee"
4785
  msgstr ""
4786
 
4787
+ #: wpuf-functions.php:1586
4788
  msgid "Israeli Shekel"
4789
  msgstr ""
4790
 
4791
+ #: wpuf-functions.php:1587
4792
  msgid "Japanese Yen"
4793
  msgstr ""
4794
 
4795
+ #: wpuf-functions.php:1588
4796
  msgid "Lao Kip"
4797
  msgstr ""
4798
 
4799
+ #: wpuf-functions.php:1589
4800
  msgid "South Korean Won"
4801
  msgstr ""
4802
 
4803
+ #: wpuf-functions.php:1590
4804
  msgid "Malaysian Ringgits"
4805
  msgstr ""
4806
 
4807
+ #: wpuf-functions.php:1591
4808
  msgid "Mexican Peso"
4809
  msgstr ""
4810
 
4811
+ #: wpuf-functions.php:1592
4812
  msgid "Nigerian Naira"
4813
  msgstr ""
4814
 
4815
+ #: wpuf-functions.php:1593
4816
  msgid "Norwegian Krone"
4817
  msgstr ""
4818
 
4819
+ #: wpuf-functions.php:1594
4820
  msgid "New Zealand Dollar"
4821
  msgstr ""
4822
 
4823
+ #: wpuf-functions.php:1595
4824
  msgid "Omani Rial"
4825
  msgstr ""
4826
 
4827
+ #: wpuf-functions.php:1596
4828
  msgid "Iranian Rial"
4829
  msgstr ""
4830
 
4831
+ #: wpuf-functions.php:1597
4832
  msgid "Pakistani Rupee"
4833
  msgstr ""
4834
 
4835
+ #: wpuf-functions.php:1598
4836
  msgid "Paraguayan Guaraní"
4837
  msgstr ""
4838
 
4839
+ #: wpuf-functions.php:1599
4840
  msgid "Philippine Pesos"
4841
  msgstr ""
4842
 
4843
+ #: wpuf-functions.php:1600
4844
  msgid "Polish Zloty"
4845
  msgstr ""
4846
 
4847
+ #: wpuf-functions.php:1601
4848
  msgid "Pounds Sterling"
4849
  msgstr ""
4850
 
4851
+ #: wpuf-functions.php:1602
4852
  msgid "Romanian Leu"
4853
  msgstr ""
4854
 
4855
+ #: wpuf-functions.php:1603
4856
  msgid "Russian Ruble"
4857
  msgstr ""
4858
 
4859
+ #: wpuf-functions.php:1604
4860
  msgid "Saudi Riyal"
4861
  msgstr ""
4862
 
4863
+ #: wpuf-functions.php:1605
4864
  msgid "Singapore Dollar"
4865
  msgstr ""
4866
 
4867
+ #: wpuf-functions.php:1606
4868
  msgid "South African rand"
4869
  msgstr ""
4870
 
4871
+ #: wpuf-functions.php:1607
4872
  msgid "Swedish Krona"
4873
  msgstr ""
4874
 
4875
+ #: wpuf-functions.php:1608
4876
  msgid "Swiss Franc"
4877
  msgstr ""
4878
 
4879
+ #: wpuf-functions.php:1609
4880
  msgid "Taiwan New Dollars"
4881
  msgstr ""
4882
 
4883
+ #: wpuf-functions.php:1610
4884
  msgid "Thai Baht"
4885
  msgstr ""
4886
 
4887
+ #: wpuf-functions.php:1611
4888
  msgid "Turkish Lira"
4889
  msgstr ""
4890
 
4891
+ #: wpuf-functions.php:1612
4892
  msgid "US Dollar"
4893
  msgstr ""
4894
 
4895
+ #: wpuf-functions.php:1613
4896
  msgid "Vietnamese Dong"
4897
  msgstr ""
4898
 
4899
+ #: wpuf-functions.php:1614
4900
  msgid "Egyptian Pound"
4901
  msgstr ""
4902
 
4903
+ #: wpuf-functions.php:2444
4904
+ msgid "None"
4905
+ msgstr ""
4906
+
4907
  #: wpuf.php:104
4908
  msgid "Your installed PHP Version is: "
4909
  msgstr ""
4920
  msgid "Your Post Has Been Expired"
4921
  msgstr ""
4922
 
4923
+ #: wpuf.php:645
4924
  msgid "Error: Nonce verification failed"
4925
  msgstr ""
4926
 
5002
  msgid "Searching&hellip;"
5003
  msgstr ""
5004
 
5005
+ #: wpuf-functions.php:1075
5006
  msgctxt "tag delimiter"
5007
  msgid ","
5008
  msgstr ""
lib/gateway/bank.php CHANGED
@@ -62,6 +62,10 @@ class WPUF_Gateway_Bank {
62
  $data['price'] = WPUF_Coupons::init()->discount( $data['price'], $_POST['coupon_id'], $data['item_number'] );
63
  }
64
 
 
 
 
 
65
  if ( $order_id ) {
66
  update_post_meta( $order_id, '_data', $data );
67
  }
62
  $data['price'] = WPUF_Coupons::init()->discount( $data['price'], $_POST['coupon_id'], $data['item_number'] );
63
  }
64
 
65
+ $data['subtotal'] = $data['price'];
66
+ $data['price'] = apply_filters( 'wpuf_payment_amount', $data['price'] );
67
+ $data['tax'] = $data['price'] - $data['subtotal'];
68
+
69
  if ( $order_id ) {
70
  update_post_meta( $order_id, '_data', $data );
71
  }
lib/gateway/paypal.php CHANGED
@@ -142,6 +142,10 @@ class WPUF_Paypal {
142
  $coupon_id = '';
143
  }
144
 
 
 
 
 
145
  if ( $billing_amount == 0 ) {
146
  wpuf_get_user( $user_id )->subscription()->add_pack( $data['item_number'], $profile_id = null, false,'free' );
147
  wp_redirect( $return_url );
@@ -177,7 +181,7 @@ class WPUF_Paypal {
177
  'p3' => !empty( $data['custom']['billing_cycle_number'] ) ? $data['custom']['billing_cycle_number']: '0',
178
  't3' => $period,
179
  'item_name' => $data['custom']['post_title'],
180
- 'custom' => json_encode( array( 'billing_amount' => $billing_amount, 'type' => $data['type'], 'user_id' => $user_id, 'coupon_id' => $coupon_id )),
181
  'no_shipping' => '1',
182
  'shipping' => '0',
183
  'no_note' => '1',
@@ -211,7 +215,7 @@ class WPUF_Paypal {
211
  'item_number' => $data['item_number'],
212
  'charset' => 'UTF-8',
213
  'rm' => '2',
214
- 'custom' => json_encode( array( 'type' => $data['type'], 'user_id' => $user_id, 'coupon_id' => $coupon_id ) ),
215
  'return' => $return_url,
216
  'notify_url' => $listener_url,
217
  );
@@ -237,7 +241,7 @@ class WPUF_Paypal {
237
  }
238
  }
239
 
240
- /**
241
  * Check for PayPal IPN Response.
242
  */
243
  public function check_response() {
@@ -351,6 +355,8 @@ class WPUF_Paypal {
351
  $data = array(
352
  'user_id' => (int) $custom->user_id,
353
  'status' => strtolower( $postdata['payment_status'] ),
 
 
354
  'cost' => $postdata['mc_gross'],
355
  'post_id' => isset( $post_id ) ? $post_id : '',
356
  'pack_id' => isset( $pack_id ) ? $pack_id : '',
@@ -370,10 +376,11 @@ class WPUF_Paypal {
370
  WPUF_Payment::insert_payment( $data, $transaction_id, $is_recurring );
371
 
372
  if ( $coupon_id ) {
373
- $pre_usage = get_post_meta( $post_id, '_coupon_used', true );
 
374
  $new_use = $pre_usage + 1;
375
 
376
- update_post_meta( $post_id, '_coupon_used', $coupon_id );
377
  }
378
 
379
  delete_user_meta( $custom->user_id, '_wpuf_user_active' );
142
  $coupon_id = '';
143
  }
144
 
145
+ $data['subtotal'] = $billing_amount;
146
+ $billing_amount = apply_filters( 'wpuf_payment_amount', $data['subtotal'] );
147
+ $data['tax'] = $billing_amount - $data['subtotal'];
148
+
149
  if ( $billing_amount == 0 ) {
150
  wpuf_get_user( $user_id )->subscription()->add_pack( $data['item_number'], $profile_id = null, false,'free' );
151
  wp_redirect( $return_url );
181
  'p3' => !empty( $data['custom']['billing_cycle_number'] ) ? $data['custom']['billing_cycle_number']: '0',
182
  't3' => $period,
183
  'item_name' => $data['custom']['post_title'],
184
+ 'custom' => json_encode( array( 'billing_amount' => $billing_amount, 'type' => $data['type'], 'user_id' => $user_id, 'coupon_id' => $coupon_id, 'subtotal' => $data['subtotal'], 'tax' => $data['tax'] )),
185
  'no_shipping' => '1',
186
  'shipping' => '0',
187
  'no_note' => '1',
215
  'item_number' => $data['item_number'],
216
  'charset' => 'UTF-8',
217
  'rm' => '2',
218
+ 'custom' => json_encode( array( 'type' => $data['type'], 'user_id' => $user_id, 'coupon_id' => $coupon_id, 'subtotal' => $data['subtotal'], 'tax' => $data['tax'] ) ),
219
  'return' => $return_url,
220
  'notify_url' => $listener_url,
221
  );
241
  }
242
  }
243
 
244
+ /**
245
  * Check for PayPal IPN Response.
246
  */
247
  public function check_response() {
355
  $data = array(
356
  'user_id' => (int) $custom->user_id,
357
  'status' => strtolower( $postdata['payment_status'] ),
358
+ 'subtotal' => (float) $custom->subtotal,
359
+ 'tax' => (float) $custom->tax,
360
  'cost' => $postdata['mc_gross'],
361
  'post_id' => isset( $post_id ) ? $post_id : '',
362
  'pack_id' => isset( $pack_id ) ? $pack_id : '',
376
  WPUF_Payment::insert_payment( $data, $transaction_id, $is_recurring );
377
 
378
  if ( $coupon_id ) {
379
+ $pre_usage = get_post_meta( $coupon_id, '_coupon_used', true );
380
+ $pre_usage = (empty( $pre_usage )) ? 0 : $pre_usage;
381
  $new_use = $pre_usage + 1;
382
 
383
+ update_post_meta( $coupon_id, '_coupon_used', $new_use );
384
  }
385
 
386
  delete_user_meta( $custom->user_id, '_wpuf_user_active' );
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: Forms, registration, profile-builder, login, membership
5
  Requires at least: 4.0
6
  Tested up to: 4.9.4
7
  Requires PHP: 5.4
8
- Stable tag: 2.8.4
9
  License: GPLv2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -92,6 +92,7 @@ Try an <a href="https://wedevs.com/in/wpuf/demo">Online Demo</a> of the Pro vers
92
 
93
  * Italian translation by Gabriele Lamberti
94
  * Persian translation by Abolfazl Esmailinejad
 
95
 
96
  = Checkout Our Other Products =
97
  * [weForms - Best Contact Form Plugin](https://wordpress.org/plugins/weforms/)
@@ -170,6 +171,15 @@ redirected to the edit page with that post id. Then you'll see the edit post for
170
 
171
  == Changelog ==
172
 
 
 
 
 
 
 
 
 
 
173
  = v2.8.4 (04 March, 2018) =
174
 
175
  * **New:** Dashboard post listing now supports multiple post type within shortcode
5
  Requires at least: 4.0
6
  Tested up to: 4.9.4
7
  Requires PHP: 5.4
8
+ Stable tag: 2.8.5
9
  License: GPLv2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
92
 
93
  * Italian translation by Gabriele Lamberti
94
  * Persian translation by Abolfazl Esmailinejad
95
+ * Turkish translation by mugurcagdas
96
 
97
  = Checkout Our Other Products =
98
  * [weForms - Best Contact Form Plugin](https://wordpress.org/plugins/weforms/)
171
 
172
  == Changelog ==
173
 
174
+ = v2.8.5 (12 March, 2018) =
175
+
176
+ * **New:** Enhanced Login Redirect settings to redirect to previous page
177
+ * **Fix:** Form fields help text styles now showing properly
178
+ * **Fix:** Reset Links not showing on HTML email in some cases
179
+ * **Improved:** Show Form schedule notice before form submission
180
+ * **Improved:** Added version meta for Forms
181
+ * **Improved:** various other code improvements
182
+
183
  = v2.8.4 (04 March, 2018) =
184
 
185
  * **New:** Dashboard post listing now supports multiple post type within shortcode
templates/account.php CHANGED
@@ -5,7 +5,12 @@
5
  if ( is_user_logged_in() ) {
6
  foreach ( $sections as $section ) {
7
  if ( 'subscription' == $section['slug']) {
8
- if ( 'on' == wpuf_get_option( 'show_subscriptions', 'wpuf_my_account' ) || 'on' != wpuf_get_option( 'enable_payment', 'wpuf_payment', 'on' ) ) {
 
 
 
 
 
9
  continue;
10
  }
11
  }
5
  if ( is_user_logged_in() ) {
6
  foreach ( $sections as $section ) {
7
  if ( 'subscription' == $section['slug']) {
8
+ if ( 'off' == wpuf_get_option( 'show_subscriptions', 'wpuf_my_account', 'on' ) || 'on' != wpuf_get_option( 'enable_payment', 'wpuf_payment', 'on' ) ) {
9
+ continue;
10
+ }
11
+ }
12
+ if ( 'billing-address' == $section['slug']) {
13
+ if ( 'off' == wpuf_get_option( 'show_billing_address', 'wpuf_my_account', 'on' ) || 'on' != wpuf_get_option( 'enable_payment', 'wpuf_payment', 'on' ) ) {
14
  continue;
15
  }
16
  }
templates/dashboard/billing-address.php ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $user_id = get_current_user();
4
+
5
+ $address_fields = array();
6
+ $countries = array();
7
+ $cs = new CountryState();
8
+
9
+ if ( isset( $_POST['add_line_1'] )
10
+ && isset( $_POST['city'] )
11
+ && isset( $_POST['state'] )
12
+ && isset( $_POST['zip_code'] )
13
+ && isset( $_POST['country'] ) ) {
14
+ $address_fields = array(
15
+ 'add_line_1' => $_POST['add_line_1'],
16
+ 'add_line_2' => $_POST['add_line_2'],
17
+ 'city' => $_POST['city'],
18
+ 'state' => $_POST['state'],
19
+ 'zip_code' => $_POST['zip_code'],
20
+ 'country' => $_POST['country']
21
+ );
22
+ update_user_meta( $user_id, 'wpuf_address_fields', $address_fields );
23
+ echo '<div class="wpuf-success">' . __( 'Billing address is updated.', 'wpuf' ) . '</div>';
24
+ } else {
25
+ if ( metadata_exists( 'user', $user_id, 'wpuf_address_fields') ) {
26
+ $address_fields = get_user_meta( $user_id, 'wpuf_address_fields', true );
27
+ $address_fields = $address_fields;
28
+ } else {
29
+ $address_fields = array_fill_keys(
30
+ array( 'add_line_1', 'add_line_2', 'city', 'state', 'zip_code', 'country' ), '' );
31
+ }
32
+ }
33
+ ?>
34
+
35
+ <form class="wpuf-form form-label-above" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" method="post">
36
+ <div class="wpuf-fields">
37
+
38
+ <ul class="wpuf-form form-label-above">
39
+
40
+ <li>
41
+ <div class="wpuf-label"><?php _e( 'Address Line 1 ', 'wpuf' ); ?><span class="required">*</span></div>
42
+ <div class="wpuf-fields">
43
+ <input type="text" class="input" name="add_line_1" id="add_line_1" value="<?php echo $address_fields['add_line_1']; ?>" />
44
+ </div>
45
+ </li>
46
+
47
+ <li>
48
+ <div class="wpuf-label"><?php _e( 'Address Line 2 ', 'wpuf' ); ?></div>
49
+ <div class="wpuf-fields">
50
+ <input type="text" class="input" name="add_line_2" id="add_line_2" value="<?php echo $address_fields['add_line_2']; ?>" />
51
+ </div>
52
+ </li>
53
+
54
+ <li>
55
+ <div class="wpuf-label"><?php _e( 'City', 'wpuf' ); ?> <span class="required">*</span></div>
56
+ <div class="wpuf-fields">
57
+ <input type="text" class="input" name="city" id="city" value="<?php echo $address_fields['city']; ?>" />
58
+ </div>
59
+ </li>
60
+
61
+ <li>
62
+ <div class="wpuf-label"><?php _e('State/Province/Region', 'wpuf' ); ?> <span class="required">*</span></div>
63
+ <div class="wpuf-fields">
64
+ <input type="text" class="input" name="state" id="state" value="<?php echo $cs->getStateName( $address_fields['state'], $address_fields['country'] ); ?>" />
65
+ </div>
66
+ </li>
67
+
68
+ <li>
69
+ <div class="wpuf-fields">
70
+ <div class="wpuf-name-field-wrap format-first-last">
71
+ <div class="wpuf-name-field-first-name">
72
+ <label class="wpuf-fields wpuf-label"><?php _e( 'Postal Code/ZIP', 'wpuf' ); ?></label>
73
+ <input type="number" class="input" name="zip_code" id="zip_code" value="<?php echo $address_fields['zip_code']; ?>" />
74
+ </div>
75
+
76
+ <div class="wpuf-name-field-last-name">
77
+ <label class="wpuf-fields wpuf-label"><?php _e('Country', 'wpuf' ); ?></label>
78
+ <div class="wpuf-fields">
79
+ <?php
80
+ $countries = $cs->countries();
81
+ ?>
82
+ <select name="country" id="country">
83
+ <?php
84
+ foreach ( $countries as $key => $value ) {
85
+ if ( $key == $address_fields['country'] ) { ?>
86
+ <option selected value="<?php $key; ?>" selected ><?php echo $value; ?></option>
87
+ <?php } else { ?>
88
+ <option value="<?php echo $key; ?>"><?php echo $value; ?></option>
89
+ <?php }
90
+ } ?>
91
+ </select>
92
+
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </li>
98
+
99
+ <?php if ( isset( $_GET['action'] ) && $_GET['action'] == 'wpuf_pay' && isset( $_POST['update_billing_address'] ) ) { ?>
100
+ <input type="submit" name="wpuf_payment_submit" class="wpuf-btn" value="<?php _e( 'Proceed', 'wpuf' ); ?>"/>
101
+ <?php } else { ?>
102
+ <li class="wpuf-submit">
103
+ <input type="submit" name="update_billing_address" id="wpuf-account-update-billing_address" value="<?php _e( 'Update Billing Address', 'wpuf' ); ?>" />
104
+ </li>
105
+ <?php } ?>
106
+ </ul>
107
+
108
+ <div class="clear"></div>
109
+
110
+ </div>
111
+ </form>
templates/login-form.php CHANGED
@@ -1,47 +1,48 @@
1
- <?php
2
- /*
3
- If you would like to edit this file, copy it to your current theme's directory and edit it there.
4
- WPUF will always look in your theme's directory first, before using this default template.
5
- */
6
- ?>
7
- <div class="login" id="wpuf-login-form">
8
-
9
- <?php
10
- $message = apply_filters( 'login_message', '' );
11
- if ( ! empty( $message ) ) {
12
- echo $message . "\n";
13
- }
14
- ?>
15
-
16
- <?php wpuf()->login->show_errors(); ?>
17
- <?php wpuf()->login->show_messages(); ?>
18
-
19
- <form name="loginform" class="wpuf-login-form" id="loginform" action="<?php echo $action_url; ?>" method="post">
20
- <p>
21
- <label for="wpuf-user_login"><?php _e( 'Username', 'wpuf' ); ?></label>
22
- <input type="text" name="log" id="wpuf-user_login" class="input" value="" size="20" />
23
- </p>
24
- <p>
25
- <label for="wpuf-user_pass"><?php _e( 'Password', 'wpuf' ); ?></label>
26
- <input type="password" name="pwd" id="wpuf-user_pass" class="input" value="" size="20" />
27
- </p>
28
-
29
- <p class="forgetmenot">
30
- <input name="rememberme" type="checkbox" id="wpuf-rememberme" value="forever" />
31
- <label for="wpuf-rememberme"><?php esc_attr_e( 'Remember Me', 'wpuf' ); ?></label>
32
- </p>
33
-
34
- <p class="submit">
35
- <input type="submit" name="wp-submit" id="wp-submit" value="<?php esc_attr_e( 'Log In', 'wpuf' ); ?>" />
36
- <input type="hidden" name="redirect_to" value="<?php echo wpuf()->login->get_posted_value( 'redirect_to' ); ?>" />
37
- <input type="hidden" name="wpuf_login" value="true" />
38
- <input type="hidden" name="action" value="login" />
39
- <?php wp_nonce_field( 'wpuf_login_action' ); ?>
40
- </p>
41
- <p>
42
- <?php do_action( 'wpuf_login_form_bottom' ); ?>
43
- </p>
44
- </form>
45
-
46
- <?php echo wpuf()->login->get_action_links( array( 'login' => false ) ); ?>
47
- </div>
 
1
+ <?php
2
+ /*
3
+ If you would like to edit this file, copy it to your current theme's directory and edit it there.
4
+ WPUF will always look in your theme's directory first, before using this default template.
5
+ */
6
+ ?>
7
+ <div class="login" id="wpuf-login-form">
8
+
9
+ <?php
10
+
11
+ $message = apply_filters( 'login_message', '' );
12
+ if ( ! empty( $message ) ) {
13
+ echo $message . "\n";
14
+ }
15
+ ?>
16
+
17
+ <?php wpuf()->login->show_errors(); ?>
18
+ <?php wpuf()->login->show_messages(); ?>
19
+
20
+ <form name="loginform" class="wpuf-login-form" id="loginform" action="<?php echo $action_url; ?>" method="post">
21
+ <p>
22
+ <label for="wpuf-user_login"><?php _e( 'Username', 'wpuf' ); ?></label>
23
+ <input type="text" name="log" id="wpuf-user_login" class="input" value="" size="20" />
24
+ </p>
25
+ <p>
26
+ <label for="wpuf-user_pass"><?php _e( 'Password', 'wpuf' ); ?></label>
27
+ <input type="password" name="pwd" id="wpuf-user_pass" class="input" value="" size="20" />
28
+ </p>
29
+
30
+ <p class="forgetmenot">
31
+ <input name="rememberme" type="checkbox" id="wpuf-rememberme" value="forever" />
32
+ <label for="wpuf-rememberme"><?php esc_attr_e( 'Remember Me', 'wpuf' ); ?></label>
33
+ </p>
34
+
35
+ <p class="submit">
36
+ <input type="submit" name="wp-submit" id="wp-submit" value="<?php esc_attr_e( 'Log In', 'wpuf' ); ?>" />
37
+ <input type="hidden" name="redirect_to" value="<?php echo wp_get_referer() ?>" />
38
+ <input type="hidden" name="wpuf_login" value="true" />
39
+ <input type="hidden" name="action" value="login" />
40
+ <?php wp_nonce_field( 'wpuf_login_action' ); ?>
41
+ </p>
42
+ <p>
43
+ <?php do_action( 'wpuf_login_form_bottom' ); ?>
44
+ </p>
45
+ </form>
46
+
47
+ <?php echo wpuf()->login->get_action_links( array( 'login' => false ) ); ?>
48
+ </div>
wpuf-functions.php CHANGED
@@ -955,6 +955,8 @@ function wpuf_meta_shortcode( $atts ) {
955
 
956
  } elseif ( $type == 'repeat' ) {
957
  return implode( '; ', get_post_meta( $post->ID, $name ) );
 
 
958
  } else {
959
  return make_clickable( implode( ', ', get_post_meta( $post->ID, $name ) ) );
960
  }
@@ -1454,6 +1456,7 @@ function wpuf_get_account_sections() {
1454
  array( 'slug' => 'posts', 'label' => __( 'Posts', 'wpuf' ) ),
1455
  array( 'slug' => 'edit-profile', 'label' => __( 'Edit Profile', 'wpuf' ) ),
1456
  array( 'slug' => 'subscription', 'label' => __( 'Subscription', 'wpuf' ) ),
 
1457
  );
1458
 
1459
  return apply_filters( 'wpuf_account_sections', $account_sections );
@@ -1534,6 +1537,7 @@ function wpuf_get_pending_transactions( $args = array() ) {
1534
  'user_id' => $info['user_info']['id'],
1535
  'status' => 'pending',
1536
  'cost' => $info['price'],
 
1537
  'post_id' => ( $info['type'] == 'post' ) ? $info['item_number'] : 0,
1538
  'pack_id' => ( $info['type'] == 'pack' ) ? $info['item_number'] : 0,
1539
  'payer_first_name' => $info['user_info']['first_name'],
@@ -1999,6 +2003,9 @@ function wpuf_create_sample_form( $post_title = 'Sample Form', $post_type = 'wpu
1999
  update_post_meta( $form_id, 'wpuf_form_settings', $settings );
2000
  }
2001
 
 
 
 
2002
  return $form_id;
2003
  }
2004
 
@@ -2235,12 +2242,6 @@ function wpuf_send_mail_to_guest ( $post_id_encoded, $form_id_encoded, $charging
2235
  $body = get_formatted_mail_body( $body, $subject);
2236
 
2237
  wp_mail( $to, $subject, $body, $headers );
2238
-
2239
- if ( $is_update ) {
2240
- $response = apply_filters( 'wpuf_edit_post_redirect', $response, $post_id, $form_id, $form_settings );
2241
- } else {
2242
- $response = apply_filters( 'wpuf_add_post_redirect', $response, $post_id, $form_id, $form_settings );
2243
- }
2244
  }
2245
 
2246
 
@@ -2420,3 +2421,285 @@ function get_formatted_mail_body( $message, $subject ) {
2420
 
2421
  return $message;
2422
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
955
 
956
  } elseif ( $type == 'repeat' ) {
957
  return implode( '; ', get_post_meta( $post->ID, $name ) );
958
+ } elseif ( $type == 'normal' ) {
959
+ return implode( ', ', get_post_meta( $post->ID, $name ) );
960
  } else {
961
  return make_clickable( implode( ', ', get_post_meta( $post->ID, $name ) ) );
962
  }
1456
  array( 'slug' => 'posts', 'label' => __( 'Posts', 'wpuf' ) ),
1457
  array( 'slug' => 'edit-profile', 'label' => __( 'Edit Profile', 'wpuf' ) ),
1458
  array( 'slug' => 'subscription', 'label' => __( 'Subscription', 'wpuf' ) ),
1459
+ array( 'slug' => 'billing-address', 'label' => __( 'Billing Address', 'wpuf' ) ),
1460
  );
1461
 
1462
  return apply_filters( 'wpuf_account_sections', $account_sections );
1537
  'user_id' => $info['user_info']['id'],
1538
  'status' => 'pending',
1539
  'cost' => $info['price'],
1540
+ 'tax' => isset( $info['tax'] ) ? $info['tax'] : 0,
1541
  'post_id' => ( $info['type'] == 'post' ) ? $info['item_number'] : 0,
1542
  'pack_id' => ( $info['type'] == 'pack' ) ? $info['item_number'] : 0,
1543
  'payer_first_name' => $info['user_info']['first_name'],
2003
  update_post_meta( $form_id, 'wpuf_form_settings', $settings );
2004
  }
2005
 
2006
+ //set form Version
2007
+ update_post_meta( $form_id, 'wpuf_form_version', WPUF_VERSION );
2008
+
2009
  return $form_id;
2010
  }
2011
 
2242
  $body = get_formatted_mail_body( $body, $subject);
2243
 
2244
  wp_mail( $to, $subject, $body, $headers );
 
 
 
 
 
 
2245
  }
2246
 
2247
 
2421
 
2422
  return $message;
2423
  }
2424
+
2425
+ /**
2426
+ * Renders an HTML Dropdown
2427
+ *
2428
+ * @param array $args
2429
+ *
2430
+ * @return string
2431
+ */
2432
+
2433
+ function wpuf_select( $args = array() ) {
2434
+ $defaults = array(
2435
+ 'options' => array(),
2436
+ 'name' => null,
2437
+ 'class' => '',
2438
+ 'id' => '',
2439
+ 'selected' => array(),
2440
+ 'chosen' => false,
2441
+ 'placeholder' => null,
2442
+ 'multiple' => false,
2443
+ 'show_option_all' => __( 'All', 'all dropdown items', 'wpuf' ),
2444
+ 'show_option_none' => __( 'None', 'no dropdown items', 'wpuf' ),
2445
+ 'data' => array(),
2446
+ 'readonly' => false,
2447
+ 'disabled' => false,
2448
+ );
2449
+
2450
+ $args = wp_parse_args( $args, $defaults );
2451
+
2452
+ $data_elements = ''; $selected = '';
2453
+ foreach ( $args['data'] as $key => $value ) {
2454
+ $data_elements .= ' data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
2455
+ }
2456
+
2457
+ if ( $args['multiple'] ) {
2458
+ $multiple = ' MULTIPLE';
2459
+ } else {
2460
+ $multiple = '';
2461
+ }
2462
+
2463
+ if ( $args['chosen'] ) {
2464
+ $args['class'] .= ' wpuf-select-chosen';
2465
+ if ( is_rtl() ) {
2466
+ $args['class'] .= ' chosen-rtl';
2467
+ }
2468
+ }
2469
+
2470
+ if ( $args['placeholder'] ) {
2471
+ $placeholder = $args['placeholder'];
2472
+ } else {
2473
+ $placeholder = '';
2474
+ }
2475
+
2476
+ if ( isset( $args['readonly'] ) && $args['readonly'] ) {
2477
+ $readonly = ' readonly="readonly"';
2478
+ } else {
2479
+ $readonly = '';
2480
+ }
2481
+
2482
+ if ( isset( $args['disabled'] ) && $args['disabled'] ) {
2483
+ $disabled = ' disabled="disabled"';
2484
+ } else {
2485
+ $disabled = '';
2486
+ }
2487
+
2488
+ $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
2489
+ $output = '<select' . $disabled . $readonly . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( str_replace( '-', '_', $args['id'] ) ) . '" class="wpuf-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '"'. $data_elements . '>';
2490
+
2491
+ if ( ! isset( $args['selected'] ) || ( is_array( $args['selected'] ) && empty( $args['selected'] ) ) || ! $args['selected'] ) {
2492
+ $selected = "";
2493
+ }
2494
+
2495
+ if ( $args['show_option_all'] ) {
2496
+ if ( $args['multiple'] && ! empty( $args['selected'] ) ) {
2497
+ $selected = selected( true, in_array( 0, $args['selected'] ), false );
2498
+ } else {
2499
+ $selected = selected( $args['selected'], 0, false );
2500
+ }
2501
+ $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>';
2502
+ }
2503
+
2504
+ if ( ! empty( $args['options'] ) ) {
2505
+ if ( $args['show_option_none'] ) {
2506
+ if ( $args['multiple'] ) {
2507
+ $selected = selected( true, in_array( -1, $args['selected'] ), false );
2508
+ } elseif ( isset( $args['selected'] ) && ! is_array( $args['selected'] ) && ! empty( $args['selected'] ) ) {
2509
+ $selected = selected( $args['selected'], -1, false );
2510
+ }
2511
+ $output .= '<option value="-1"' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>';
2512
+ }
2513
+
2514
+ foreach ( $args['options'] as $key => $option ) {
2515
+ if ( $args['multiple'] && is_array( $args['selected'] ) ) {
2516
+ $selected = selected( true, in_array( (string) $key, $args['selected'] ), false );
2517
+ } elseif ( isset( $args['selected'] ) && ! is_array( $args['selected'] ) ) {
2518
+ $selected = selected( $args['selected'], $key, false );
2519
+ }
2520
+
2521
+ $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>';
2522
+ }
2523
+ }
2524
+
2525
+ $output .= '</select>';
2526
+
2527
+ return $output;
2528
+ }
2529
+
2530
+ /**
2531
+ * Renders a Text field in settings field
2532
+ *
2533
+ * @param array $args Arguments for the text field
2534
+ *
2535
+ * @return string Text field
2536
+ */
2537
+
2538
+ function wpuf_text( $args = array() ) {
2539
+ $defaults = array(
2540
+ 'id' => '',
2541
+ 'name' => isset( $name ) ? $name : 'text',
2542
+ 'value' => isset( $value ) ? $value : null,
2543
+ 'label' => isset( $label ) ? $label : null,
2544
+ 'desc' => isset( $desc ) ? $desc : null,
2545
+ 'placeholder' => '',
2546
+ 'class' => 'regular-text',
2547
+ 'disabled' => false,
2548
+ 'autocomplete' => '',
2549
+ 'data' => false
2550
+ );
2551
+
2552
+ $args = wp_parse_args( $args, $defaults );
2553
+
2554
+ $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
2555
+ $disabled = '';
2556
+ if ( $args['disabled'] ) {
2557
+ $disabled = ' disabled="disabled"';
2558
+ }
2559
+
2560
+ $data = '';
2561
+ if ( ! empty( $args['data'] ) ) {
2562
+ foreach ( $args['data'] as $key => $value ) {
2563
+ $data .= 'data-' . $key . '="' . esc_attr( $value ) . '" ';
2564
+ }
2565
+ }
2566
+
2567
+ $output = '<span id="wpuf-' . $args['name'] . '-wrap">';
2568
+ if ( ! empty( $args['label'] ) ) {
2569
+ $output .= '<label class="wpuf-label" for="' . $args['id'] . '">' . esc_html( $args['label'] ) . '</label>';
2570
+ }
2571
+
2572
+ if ( ! empty( $args['desc'] ) ) {
2573
+ $output .= '<span class="wpuf-description">' . esc_html( $args['desc'] ) . '</span>';
2574
+ }
2575
+
2576
+ $output .= '<input type="text" name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" autocomplete="' . esc_attr( $args['autocomplete'] ) . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" class="' . $class . '" ' . $data . '' . $disabled . '/>';
2577
+
2578
+ $output .= '</span>';
2579
+
2580
+ return $output;
2581
+ }
2582
+
2583
+ /**
2584
+ * Descriptive text callback
2585
+ *
2586
+ * @param array $args Arguments passed by the setting
2587
+ * @return void
2588
+ */
2589
+
2590
+ function wpuf_descriptive_text( $args ) {
2591
+ $html = wp_kses_post( $args['desc'] );
2592
+
2593
+ echo $html;
2594
+ }
2595
+
2596
+ /**
2597
+ * Update the value of a settings field
2598
+ *
2599
+ * @param string $option settings field name
2600
+ * @param string $section the section name this field belongs to
2601
+ * @param string $value the value to be set
2602
+ * @return mixed
2603
+ */
2604
+
2605
+ function wpuf_update_option( $option, $section, $value ) {
2606
+ $options = get_option( $section );
2607
+
2608
+ $options[$option] = $value;
2609
+
2610
+ update_option( $section, $options );
2611
+ }
2612
+
2613
+ /**
2614
+ * Get terms of related taxonomy
2615
+ *
2616
+ * @since 2.8.5
2617
+ *
2618
+ * @param string $taxonomy
2619
+ *
2620
+ * @return array
2621
+ */
2622
+ function wpuf_get_terms( $taxonomy = 'category' ) {
2623
+ $items = array();
2624
+
2625
+ $terms = get_terms( array(
2626
+ 'taxonomy' => $taxonomy,
2627
+ 'hide_empty' => false
2628
+ )
2629
+ );
2630
+
2631
+ foreach ($terms as $key => $term) {
2632
+ $items[$term->term_id] = $term->name;
2633
+ }
2634
+
2635
+ return $items;
2636
+ }
2637
+
2638
+ /**
2639
+ * Retrieve a states drop down
2640
+ *
2641
+ * @return void
2642
+ */
2643
+ function wpuf_ajax_get_states_field() {
2644
+ $cs = new CountryState();
2645
+ $countries = $cs->countries();
2646
+ $states = $cs->getStates( $countries[$_POST['country']] );
2647
+
2648
+ if( ! empty( $states ) ) {
2649
+ $args = array(
2650
+ 'name' => isset ( $_POST['field_name'] ) ? $_POST['field_name'] : '',
2651
+ 'id' => isset ( $_POST['field_name'] ) ? $_POST['field_name'] : '',
2652
+ 'class' => isset ( $_POST['field_name'] ) ? $_POST['field_name'] : '',
2653
+ 'options' => $states,
2654
+ 'show_option_all' => false,
2655
+ 'show_option_none' => false
2656
+ );
2657
+
2658
+ $response = wpuf_select( $args );
2659
+
2660
+ } else {
2661
+ $response = 'nostates';
2662
+ }
2663
+
2664
+ echo $response;
2665
+
2666
+ wp_die();
2667
+ }
2668
+ add_action( 'wp_ajax_wpuf_get_shop_states', 'wpuf_ajax_get_states_field' );
2669
+ add_action( 'wp_ajax_nopriv_wpuf_get_shop_states', 'wpuf_ajax_get_states_field' );
2670
+
2671
+ /**
2672
+ * Performs tax calculations and updates billing address
2673
+ *
2674
+ * @return void
2675
+ */
2676
+
2677
+ function wpuf_update_billing_address() {
2678
+ ob_start();
2679
+
2680
+ $user_id = get_current_user_id();
2681
+ $address_fields = array(
2682
+ 'add_line_1' => $_POST['billing_add_line1'],
2683
+ 'add_line_2' => $_POST['billing_add_line2'],
2684
+ 'city' => $_POST['billing_city'],
2685
+ 'state' => $_POST['billing_state'],
2686
+ 'zip_code' => $_POST['billing_zip'],
2687
+ 'country' => $_POST['billing_country']
2688
+ );
2689
+
2690
+ update_user_meta( $user_id, 'wpuf_address_fields', $address_fields );
2691
+
2692
+ $post_data['type'] = $_POST['type'];
2693
+ $post_data['id'] = $_POST['id'];
2694
+ $post_data['billing_country'] = $_POST['billing_country'];
2695
+ $post_data['billing_state'] = $_POST['billing_state'];
2696
+
2697
+ $is_pro = wpuf()->is_pro();
2698
+ if ( $is_pro ) {
2699
+ do_action( 'wpuf_calculate_tax', $post_data );
2700
+ } else {
2701
+ die();
2702
+ }
2703
+ }
2704
+ add_action( 'wp_ajax_wpuf_update_billing_address', 'wpuf_update_billing_address' );
2705
+ add_action( 'wp_ajax_nopriv_wpuf_update_billing_address', 'wpuf_update_billing_address' );
wpuf.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: WP User Frontend
4
  Plugin URI: https://wordpress.org/plugins/wp-user-frontend/
5
  Description: Create, edit, delete, manages your post, pages or custom post types from frontend. Create registration forms, frontend profile and more...
6
  Author: Tareq Hasan
7
- Version: 2.8.4
8
  Author URI: https://tareq.co
9
  License: GPL2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -12,7 +12,7 @@ Text Domain: wpuf
12
  Domain Path: /languages
13
  */
14
 
15
- define( 'WPUF_VERSION', '2.8.4' );
16
  define( 'WPUF_FILE', __FILE__ );
17
  define( 'WPUF_ROOT', dirname( __FILE__ ) );
18
  define( 'WPUF_ROOT_URI', plugins_url( '', __FILE__ ) );
@@ -241,6 +241,8 @@ final class WP_User_Frontend {
241
  require_once WPUF_ROOT . '/includes/class-form.php';
242
  require_once WPUF_ROOT . '/includes/class-login-widget.php';
243
  require_once WPUF_ROOT . '/includes/setup-wizard.php';
 
 
244
 
245
  if ( class_exists( 'WeDevs_Dokan' ) ) {
246
  require_once WPUF_ROOT . '/includes/class-dokan-integration.php';
@@ -296,6 +298,7 @@ final class WP_User_Frontend {
296
  $this->container['frontend_post'] = WPUF_Frontend_Form_Post::init();
297
  $this->container['account'] = new WPUF_Frontend_Account();
298
  $this->container['insights'] = new WPUF_WeDevs_Insights( 'wp-user-frontend', 'WP User Frontend', __FILE__ );
 
299
 
300
  if ( class_exists( 'WeDevs_Dokan' ) ) {
301
  $this->container['dokan_integration'] = new WPUF_Dokan_Integration();
4
  Plugin URI: https://wordpress.org/plugins/wp-user-frontend/
5
  Description: Create, edit, delete, manages your post, pages or custom post types from frontend. Create registration forms, frontend profile and more...
6
  Author: Tareq Hasan
7
+ Version: 2.8.5
8
  Author URI: https://tareq.co
9
  License: GPL2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
  Domain Path: /languages
13
  */
14
 
15
+ define( 'WPUF_VERSION', '2.8.5' );
16
  define( 'WPUF_FILE', __FILE__ );
17
  define( 'WPUF_ROOT', dirname( __FILE__ ) );
18
  define( 'WPUF_ROOT_URI', plugins_url( '', __FILE__ ) );
241
  require_once WPUF_ROOT . '/includes/class-form.php';
242
  require_once WPUF_ROOT . '/includes/class-login-widget.php';
243
  require_once WPUF_ROOT . '/includes/setup-wizard.php';
244
+ require_once WPUF_ROOT . '/includes/countries-state.php';
245
+ require_once WPUF_ROOT . '/includes/class-billing-address.php';
246
 
247
  if ( class_exists( 'WeDevs_Dokan' ) ) {
248
  require_once WPUF_ROOT . '/includes/class-dokan-integration.php';
298
  $this->container['frontend_post'] = WPUF_Frontend_Form_Post::init();
299
  $this->container['account'] = new WPUF_Frontend_Account();
300
  $this->container['insights'] = new WPUF_WeDevs_Insights( 'wp-user-frontend', 'WP User Frontend', __FILE__ );
301
+ $this->container['billing_address'] = new WPUF_Ajax_Address_Form();
302
 
303
  if ( class_exists( 'WeDevs_Dokan' ) ) {
304
  $this->container['dokan_integration'] = new WPUF_Dokan_Integration();