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

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.7.0
Comparing to
See all releases

Code changes from version 2.6.1 to 2.7.0

Files changed (85) hide show
  1. admin/add-ons.php +0 -91
  2. admin/class-admin-settings.php +19 -14
  3. admin/class-admin-subscription.php +827 -681
  4. admin/form.php +3 -3
  5. admin/html/form-settings-payment.php +6 -6
  6. admin/html/form-settings-post-edit.php +2 -2
  7. admin/html/form-settings-post.php +7 -5
  8. admin/html/support.php +59 -1
  9. admin/html/whats-new.php +80 -0
  10. admin/installer.php +4 -4
  11. admin/premium.php +235 -0
  12. admin/promotion.php +1 -1
  13. admin/settings-options.php +98 -56
  14. admin/template.php +5 -5
  15. admin/weforms.php +1 -1
  16. assets/css/admin.css +485 -0
  17. assets/css/frontend-forms.css +23 -3
  18. assets/images/icon-128x128.png +0 -0
  19. assets/images/modules/Social-Media-Login.png +0 -0
  20. assets/images/modules/more.png +0 -0
  21. assets/images/modules/wpuf-buddypress.png +0 -0
  22. assets/images/modules/wpuf-comment.png +0 -0
  23. assets/images/modules/wpuf-mailchimp.png +0 -0
  24. assets/images/modules/wpuf-mailpoet.png +0 -0
  25. assets/images/modules/wpuf-pmpro.png +0 -0
  26. assets/images/modules/wpuf-qr.png +0 -0
  27. assets/images/modules/wpuf-sms.png +0 -0
  28. assets/images/modules/wpuf-stripe.png +0 -0
  29. assets/images/modules/wpuf-ua.png +0 -0
  30. assets/images/modules/wpuf-ul.png +0 -0
  31. assets/images/premium/advanced-fields.png +0 -0
  32. assets/images/premium/conditional-logic.gif +0 -0
  33. assets/images/premium/content-restrictions.gif +0 -0
  34. assets/images/premium/coupon.gif +0 -0
  35. assets/images/premium/multi-step.gif +0 -0
  36. assets/images/premium/registration.gif +0 -0
  37. assets/images/whats-new/module-activation.gif +0 -0
  38. assets/images/whats-new/settings.png +0 -0
  39. assets/images/wpuf-pro.png +0 -0
  40. assets/js-templates/form-components.php +1 -1
  41. assets/js/admin-profile-subs.js +10 -0
  42. assets/js/formbuilder.js +1 -1
  43. assets/js/frontend-form.js +62 -0
  44. assets/js/frontend-form.min.js +1 -1
  45. assets/js/metabox-tabs.js +27 -0
  46. assets/js/wpuf-form-builder.js +8 -4
  47. assets/less/admin.less +348 -0
  48. assets/less/frontend-forms.less +39 -3
  49. assets/less/help.less +69 -1
  50. assets/less/metabox-tabs.less +76 -0
  51. assets/less/whats-new.less +116 -0
  52. class/frontend-form-post.php +78 -64
  53. class/payment.php +9 -3
  54. class/render-form.php +32 -24
  55. class/subscription.php +92 -51
  56. class/transactions-list-table.php +62 -2
  57. class/upload.php +3 -3
  58. includes/class-dokan-integration.php +170 -0
  59. includes/class-form.php +135 -70
  60. includes/class-upgrades.php +67 -66
  61. includes/class-user-subscription.php +8 -5
  62. includes/class-whats-new.php +136 -0
  63. includes/free/class-login.php +30 -30
  64. includes/free/edit-profile.php +7 -46
  65. includes/free/form-element.php +9 -6
  66. includes/free/loader.php +39 -10
  67. includes/upgrades/upgrade-2.6.0.php +1 -1
  68. includes/upgrades/upgrade-2.7.0.php +67 -0
  69. languages/wpuf.pot +1017 -660
  70. lib/class-wedevs-insights.php +57 -13
  71. lib/class-weforms-upsell.php +4 -4
  72. lib/class.settings-api.php +2 -2
  73. lib/gateway/paypal.php +2 -2
  74. readme.txt +16 -1
  75. templates/account.php +7 -1
  76. templates/dashboard.php +20 -14
  77. templates/dashboard/posts.php +1 -1
  78. templates/dokan/edit-post.php +1 -0
  79. templates/dokan/new-post.php +10 -0
  80. templates/dokan/post-listing.php +7 -0
  81. templates/dokan/posts.php +44 -0
  82. templates/login-form.php +3 -2
  83. templates/registration-form.php +2 -2
  84. wpuf-functions.php +61 -9
  85. wpuf.php +124 -58
admin/add-ons.php DELETED
@@ -1,91 +0,0 @@
1
- <div class="wrap">
2
- <h2><?php _e( 'WP User Frontend - Add-Ons', 'wpuf' ); ?></h2>
3
-
4
- <?php
5
- $add_ons = get_transient( 'wpuf_addons' );
6
-
7
- if ( false === $add_ons ) {
8
- $response = wp_remote_get( 'https://wedevs.com/api/wpuf/addons.php', array('timeout' => 15) );
9
- $update = wp_remote_retrieve_body( $response );
10
-
11
- if ( is_wp_error( $response ) || $response['response']['code'] != 200 ) {
12
- return false;
13
- }
14
-
15
- set_transient( 'wpuf_addons', $update, 12 * HOUR_IN_SECONDS );
16
- $add_ons = $update;
17
- }
18
-
19
- $add_ons = json_decode( $add_ons );
20
-
21
- if ( count( $add_ons ) ) {
22
- ?>
23
- <div class="wp-list-table widefat plugin-install">
24
-
25
- <?php foreach ($add_ons as $addon) { ?>
26
-
27
- <div class="plugin-card">
28
- <div class="plugin-card-top">
29
-
30
- <div class="name column-name">
31
- <h3>
32
- <a href="<?php echo $addon->url; ?>" target="_blank">
33
- <?php echo $addon->title; ?>
34
- <img class="plugin-icon" src="<?php echo $addon->thumbnail; ?>" alt="<?php echo esc_attr( $addon->title ); ?>" />
35
- </a>
36
- </h3>
37
- </div>
38
-
39
- <div class="action-links">
40
- <ul class="plugin-action-buttons">
41
- <li>
42
- <?php if ( class_exists( $addon->class ) ) { ?>
43
- <a class="button button-disabled" href="<?php echo $addon->url; ?>" target="_blank">Installed</a>
44
- <?php } else { ?>
45
- <a class="button" href="<?php echo $addon->url; ?>" target="_blank">View Details</a>
46
- <?php } ?>
47
- </li>
48
- </ul>
49
- </div>
50
-
51
- <div class="desc column-description">
52
- <p>
53
- <?php echo $addon->desc; ?>
54
- </p>
55
-
56
- <p class="authors">
57
- <cite>By <a href="https://wedevs.com" target="_blank">weDevs</a></cite>
58
- </p>
59
- </div>
60
- </div>
61
-
62
- <div class="plugin-card-bottom">
63
- <div class="column-updated">
64
- <strong>Last Updated:</strong> 2 months ago
65
- </div>
66
-
67
- <div class="column-compatibility">
68
- <span class="compatibility-compatible">
69
- <strong>Compatible</strong> with your version of WordPress
70
- </span>
71
- </div>
72
- </div>
73
- </div>
74
-
75
- <?php } ?>
76
-
77
- </div>
78
-
79
- <?php
80
- } else {
81
- echo '<div class="error"><p>Error fetching add-ons. Please refresh the page again.</p></div>';
82
- }
83
- ?>
84
-
85
- <style type="text/css">
86
- .wp-list-table {
87
- margin-top: 25px;
88
- }
89
- </style>
90
-
91
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/class-admin-settings.php CHANGED
@@ -102,9 +102,14 @@ class WPUF_Admin_Settings {
102
 
103
  do_action( 'wpuf_admin_menu' );
104
 
105
- $transactions_page = add_submenu_page( 'wp-user-frontend', __( 'Transactions', 'wpuf' ), __( 'Transactions', 'wpuf' ), $capability, 'wpuf_transaction', array($this, 'transactions_page') );
106
- $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Add-ons', 'wpuf' ), __( 'Add-ons', 'wpuf' ), $capability, 'wpuf_addons', array($this, 'addons_page') );
107
  $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Tools', 'wpuf' ), __( 'Tools', 'wpuf' ), $capability, 'wpuf_tools', array($this, 'tools_page') );
 
 
 
 
 
 
108
  $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Help', 'wpuf' ), __( '<span style="color:#f18500">Help</span>', 'wpuf' ), $capability, 'wpuf-support', array($this, 'support_page') );
109
  $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Settings', 'wpuf' ), __( 'Settings', 'wpuf' ), $capability, 'wpuf-settings', array($this, 'plugin_page') );
110
 
@@ -143,15 +148,15 @@ class WPUF_Admin_Settings {
143
  ?>
144
  <div class="wrap">
145
 
146
- <?php screen_icon( 'options-general' ); ?>
147
-
148
- <?php
149
- settings_errors();
150
-
151
- $this->settings_api->show_navigation();
152
- $this->settings_api->show_forms();
153
- ?>
154
 
 
 
 
 
155
  </div>
156
  <?php
157
  }
@@ -198,8 +203,8 @@ class WPUF_Admin_Settings {
198
  require_once dirname( dirname( __FILE__ ) ) . '/admin/weforms.php';
199
  }
200
 
201
- function addons_page() {
202
- require_once dirname( dirname( __FILE__ ) ) . '/admin/add-ons.php';
203
  }
204
 
205
  function tools_page() {
@@ -385,11 +390,11 @@ class WPUF_Admin_Settings {
385
  */
386
  public function enqueue_styles() {
387
 
388
- if ( ! $this->is_admin_menu_page( get_current_screen() ) ) {
389
  return;
390
  }
391
 
392
- wp_enqueue_style( 'wpuf-admin', WPUF_ASSET_URI . '/css/admin.css' );
393
  }
394
 
395
  }
102
 
103
  do_action( 'wpuf_admin_menu' );
104
 
105
+ $transactions_page = add_submenu_page( 'wp-user-frontend', __( 'Transactions', 'wpuf' ), __( 'Transactions', 'wpuf' ), $capability, 'wpuf_transaction', array($this, 'transactions_page') );
 
106
  $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Tools', 'wpuf' ), __( 'Tools', 'wpuf' ), $capability, 'wpuf_tools', array($this, 'tools_page') );
107
+
108
+ do_action( 'wpuf_admin_menu_bottom' );
109
+
110
+ if ( !class_exists( 'WP_User_Frontend_Pro' ) ) {
111
+ $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Premium', 'wpuf' ), __( 'Premium', 'wpuf' ), $capability, 'wpuf_premium', array($this, 'premium_page') );
112
+ }
113
  $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Help', 'wpuf' ), __( '<span style="color:#f18500">Help</span>', 'wpuf' ), $capability, 'wpuf-support', array($this, 'support_page') );
114
  $this->menu_pages[] = add_submenu_page( 'wp-user-frontend', __( 'Settings', 'wpuf' ), __( 'Settings', 'wpuf' ), $capability, 'wpuf-settings', array($this, 'plugin_page') );
115
 
148
  ?>
149
  <div class="wrap">
150
 
151
+ <h2 style="margin-bottom: 15px;"><?php _e( 'Settings', 'wpuf' ) ?></h2>
152
+ <div class="wpuf-settings-wrap">
153
+ <?php
154
+ settings_errors();
 
 
 
 
155
 
156
+ $this->settings_api->show_navigation();
157
+ $this->settings_api->show_forms();
158
+ ?>
159
+ </div>
160
  </div>
161
  <?php
162
  }
203
  require_once dirname( dirname( __FILE__ ) ) . '/admin/weforms.php';
204
  }
205
 
206
+ function premium_page() {
207
+ require_once dirname( dirname( __FILE__ ) ) . '/admin/premium.php';
208
  }
209
 
210
  function tools_page() {
390
  */
391
  public function enqueue_styles() {
392
 
393
+ if ( ! $this->is_admin_menu_page( get_current_screen() ) && get_current_screen()->parent_base == 'edit' ) {
394
  return;
395
  }
396
 
397
+ wp_enqueue_style( 'wpuf-admin', WPUF_ASSET_URI . '/css/admin.css', false, WPUF_VERSION );
398
  }
399
 
400
  }
admin/class-admin-subscription.php CHANGED
@@ -1,681 +1,827 @@
1
- <?php
2
-
3
- /**
4
- * Manage Subscription packs
5
- *
6
- * @package WP User Frontend
7
- */
8
- class WPUF_Admin_Subscription {
9
-
10
- private $table;
11
- private $db;
12
- public $baseurl;
13
- private static $_instance;
14
-
15
- public static function getInstance() {
16
- if ( !self::$_instance ) {
17
- self::$_instance = new WPUF_Admin_Subscription();
18
- }
19
-
20
- return self::$_instance;
21
- }
22
-
23
- function __construct() {
24
- global $wpdb;
25
-
26
- $this->db = $wpdb;
27
- $this->table = $this->db->prefix . 'wpuf_subscription';
28
- $this->baseurl = admin_url( 'admin.php?page=wpuf_subscription' );
29
-
30
- add_filter( 'post_updated_messages', array($this, 'form_updated_message') );
31
-
32
- add_action( 'show_user_profile', array($this, 'profile_subscription_details'), 30 );
33
- add_action( 'edit_user_profile', array($this, 'profile_subscription_details'), 30 );
34
- add_action( 'personal_options_update', array($this, 'profile_subscription_update') );
35
- add_action( 'edit_user_profile_update', array($this, 'profile_subscription_update') );
36
- add_action( 'wp_ajax_wpuf_delete_user_package', array($this, 'delete_user_package') );
37
-
38
- add_filter( 'manage_wpuf_subscription_posts_columns', array( $this, 'subscription_columns_head') );
39
- add_action( 'manage_wpuf_subscription_posts_custom_column', array( $this, 'subscription_columns_content' ),10, 2 );
40
-
41
- // display help link to docs
42
- add_action( 'admin_notices', array( $this, 'add_help_link' ) );
43
- }
44
-
45
- /**
46
- * Custom post update message
47
- *
48
- * @param array $messages
49
- * @return array
50
- */
51
- function form_updated_message( $messages ) {
52
- $message = array(
53
- 0 => '',
54
- 1 => __( 'Subscription pack updated.', 'wpuf' ),
55
- 2 => __( 'Custom field updated.', 'wpuf' ),
56
- 3 => __( 'Custom field deleted.', 'wpuf' ),
57
- 4 => __( 'Subscription pack updated.', 'wpuf' ),
58
- 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Subscription pack restored to revision from %s', 'wpuf' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
59
- 6 => __( 'Subscription pack published.', 'wpuf' ),
60
- 7 => __( 'Subscription pack saved.', 'wpuf' ),
61
- 8 => __( 'Subscription pack submitted.', 'wpuf' ),
62
- 9 => '',
63
- 10 => __( 'Subscription pack draft updated.', 'wpuf' ),
64
- );
65
-
66
- $messages['wpuf_subscription'] = $message;
67
-
68
- return $messages;
69
- }
70
-
71
- /**
72
- * Update user profile lock
73
- *
74
- * @param int $user_id
75
- */
76
- function profile_subscription_update( $user_id ) {
77
- if ( !is_admin() && !current_user_can( 'edit_users' ) ) {
78
- return;
79
- }
80
-
81
- if ( !isset( $_POST['pack_id'] ) ) {
82
- return;
83
- }
84
-
85
- $pack_id = $_POST['pack_id'];
86
- $user_pack = WPUF_Subscription::get_user_pack( $_POST['user_id'] );
87
- if ( isset ( $user_pack['pack_id'] ) && $pack_id == $user_pack['pack_id'] ) {
88
- //updating number of posts
89
-
90
- if( isset( $user_pack['posts'] ) ) {
91
-
92
- foreach( $user_pack['posts'] as $post_type => $post_num ) {
93
- $user_pack['posts'][$post_type] = $_POST[$post_type];
94
- }
95
-
96
- }
97
-
98
- //post expiration enable or disable
99
-
100
- if( isset( $_POST['is_post_expiration_enabled'] ) ) {
101
- $user_pack['_enable_post_expiration'] = $_POST['is_post_expiration_enabled'];
102
- } else {
103
- unset($user_pack['_enable_post_expiration']);
104
- }
105
-
106
- //updating post time
107
-
108
- if( isset( $_POST['post_expiration_settings'] ) ) {
109
- echo $user_pack['_post_expiration_time'] = $_POST['post_expiration_settings']['expiration_time_value'].' '.$_POST['post_expiration_settings']['expiration_time_type'];
110
- }
111
- if ( isset( $user_pack['recurring'] ) && $user_pack['recurring'] == 'yes' ) {
112
- foreach ( $user_pack['posts'] as $type => $value ) {
113
- $user_pack['posts'][$type] = isset( $_POST[$type] ) ? $_POST[$type] : 0;
114
- }
115
- } else {
116
- foreach ( $user_pack['posts'] as $type => $value ) {
117
- $user_pack['posts'][$type] = isset( $_POST[$type] ) ? $_POST[$type] : 0;
118
- }
119
- $user_pack['expire'] = isset( $_POST['expire'] ) ? wpuf_date2mysql( $_POST['expire'] ) : $user_pack['expire'];
120
- }
121
- wpuf_get_user( $user_id )->subscription()->update_meta( $user_pack );
122
- } else {
123
- if ( $pack_id == '-1' ) {
124
- return;
125
- }
126
-
127
- $user_info = get_userdata( $user_id );
128
-
129
- $data = array(
130
- 'user_id' => $user_id,
131
- 'status' => 'completed',
132
- 'cost' => 0,
133
- 'post_id' => 0,
134
- 'pack_id' => $pack_id,
135
- 'payer_first_name' => $user_info->first_name,
136
- 'payer_last_name' => $user_info->last_name,
137
- 'payer_email' => $user_info->user_email,
138
- 'payment_type' => 'bank',
139
- 'payer_address' => null,
140
- 'transaction_id' => 0,
141
- 'created' => current_time( 'mysql' ),
142
- 'profile_id' => null,
143
- );
144
-
145
- if ( isset( $user_pack['recurring'] ) && $user_pack['recurring'] == 'yes' ) {
146
- $is_recurring = true;
147
- } else {
148
- $is_recurring = false;
149
- }
150
-
151
- WPUF_Payment::insert_payment( $data, $transaction_id, $is_recurring );
152
- }
153
- }
154
-
155
- function subscription_columns_content( $column_name, $post_ID ) {
156
- switch ( $column_name ) {
157
- case 'amount':
158
-
159
- $amount = get_post_meta( $post_ID, '_billing_amount', true );
160
- if ( intval($amount) == 0 ) {
161
- $amount = __( 'Free', 'wpuf' );
162
- } else {
163
- $amount = wpuf_format_price( $amount );
164
- }
165
- echo $amount;
166
- break;
167
-
168
- case 'subscribers':
169
-
170
- $users = WPUF_Subscription::init()->subscription_pack_users( $post_ID );
171
-
172
- echo '<a href="'. admin_url( 'edit.php?post_type=wpuf_subscription&page=wpuf_subscribers&post_ID=' . $post_ID ) . '" />' . count( $users ) . '</a>';
173
- break;
174
-
175
- case 'recurring':
176
-
177
- $recurring = get_post_meta( $post_ID, '_recurring_pay', true );
178
- if ( $recurring == 'yes' ) {
179
- _e( 'Yes', 'wpuf' );
180
- } else {
181
- _e( 'No', 'wpuf' );
182
- }
183
- break;
184
-
185
- case 'duration':
186
-
187
- $recurring_pay = get_post_meta( $post_ID, '_recurring_pay', true );
188
- $billing_cycle_number = get_post_meta( $post_ID, '_billing_cycle_number', true );
189
- $cycle_period = get_post_meta( $post_ID, '_cycle_period', true );
190
-
191
- if ( $recurring_pay == 'yes' ) {
192
- echo $billing_cycle_number .' '. $cycle_period . '\'s (cycle)';
193
- } else {
194
- $expiration_number = get_post_meta( $post_ID, '_expiration_number', true );
195
- $expiration_period = get_post_meta( $post_ID, '_expiration_period', true );
196
- echo $expiration_number .' '. $expiration_period . '\'s';
197
- }
198
- break;
199
- }
200
-
201
- }
202
-
203
- function subscription_columns_head( $head ) {
204
- unset($head['date']);
205
- $head['title'] = __( 'Pack Name', 'wpuf' );
206
- $head['amount'] = __( 'Amount', 'wpuf' );
207
- $head['subscribers'] = __( 'Subscribers', 'wpuf' );
208
- $head['recurring'] = __( 'Recurring', 'wpuf' );
209
- $head['duration'] = __( 'Duration', 'wpuf' );
210
-
211
- return $head;
212
- }
213
-
214
- function get_packs() {
215
- return $this->db->get_results( "SELECT * FROM {$this->table} ORDER BY created DESC" );
216
- }
217
-
218
- function get_pack( $pack_id ) {
219
- return $this->db->get_row( $this->db->prepare( "SELECT * FROM {$this->table} WHERE id = %d", $pack_id ) );
220
- }
221
-
222
- function delete_pack( $pack_id ) {
223
- $this->db->query( $this->db->prepare( "DELETE FROM {$this->table} WHERE id= %d", $pack_id ) );
224
- }
225
-
226
- function list_packs() {
227
-
228
- //delete packs
229
- if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == "del" ) {
230
- check_admin_referer( 'wpuf_pack_del' );
231
- $this->delete_pack( $_GET['id'] );
232
- echo '<div class="updated fade" id="message"><p><strong>' . __( 'Pack Deleted', 'wpuf' ) . '</strong></p></div>';
233
-
234
- echo '<script type="text/javascript">window.location.href = "' . $this->baseurl . '";</script>';
235
- }
236
- ?>
237
-
238
- <table class="widefat meta" style="margin-top: 20px;">
239
- <thead>
240
- <tr>
241
- <th scope="col"><?php _e( 'Name', 'wpuf' ); ?></th>
242
- <th scope="col"><?php _e( 'Description', 'wpuf' ); ?></th>
243
- <th scope="col"><?php _e( 'Cost', 'wpuf' ); ?></th>
244
- <th scope="col"><?php _e( 'Validity', 'wpuf' ); ?></th>
245
- <th scope="col"><?php _e( 'Post Count', 'wpuf' ); ?></th>
246
- <th scope="col"><?php _e( 'Action', 'wpuf' ); ?></th>
247
- </tr>
248
- </thead>
249
- <?php
250
- $packs = $this->get_packs();
251
- if ( $packs ) {
252
- $count = 0;
253
- foreach ($packs as $row) {
254
- ?>
255
- <tr valign="top" <?php echo ( ($count % 2) == 0) ? 'class="alternate"' : ''; ?>>
256
- <td><?php echo stripslashes( htmlspecialchars( $row->name ) ); ?></td>
257
- <td><?php echo stripslashes( htmlspecialchars( $row->description ) ); ?></td>
258
- <td><?php echo wpuf_format_price( $row->cost ); ?></td>
259
- <td><?php echo ( $row->pack_length == 0 ) ? 'Unlimited' : $row->pack_length . ' days'; ?></td>
260
- <td><?php echo ( $row->count == 0 ) ? 'Unlimited' : $row->count; ?></td>
261
- <td>
262
- <a href="<?php echo wp_nonce_url( add_query_arg( array('action' => 'edit', 'pack_id' => $row->id), $this->baseurl, 'wpuf_pack_edit' ) ); ?>">
263
- <?php _e( 'Edit', 'wpuf' ); ?>
264
- </a>
265
- <span class="sep">|</span>
266
- <a href="<?php echo wp_nonce_url( add_query_arg( array('action' => 'del', 'id' => $row->id), $this->baseurl ), 'wpuf_pack_del' ); ?>" onclick="return confirm('<?php _e( 'Are you sure to delete this pack?', 'wpuf' ); ?>');">
267
- <?php _e( 'Delete', 'wpuf' ); ?>
268
- </a>
269
- </td>
270
-
271
- </tr>
272
- <?php
273
- $count++;
274
- }
275
- ?>
276
- <?php } else { ?>
277
- <tr>
278
- <td colspan="6"><?php _e( 'No subscription pack found', 'wpuf' ); ?></td>
279
- </tr>
280
- <?php } ?>
281
-
282
- </table>
283
- <?php
284
- }
285
-
286
- function get_post_types( $post_types = null ) {
287
-
288
- if ( ! $post_types ) {
289
- $post_types = WPUF_Subscription::init()->get_all_post_type();
290
- }
291
-
292
- ob_start();
293
-
294
- foreach ( $post_types as $key => $name ) {
295
- $post_type_object = get_post_type_object( $key );
296
- ?>
297
- <tr>
298
- <th><label for="wpuf-<?php echo esc_attr( $key ); ?>"><?php printf( 'Number of %s', $post_type_object->label ); ?></label></th>
299
- <td>
300
- <input type="text" size="20" style="" id="wpuf-<?php echo esc_attr( $key ); ?>" value="<?php echo intval( $name ); ?>" name="post_type_name[<?php echo esc_attr( $key ); ?>]" />
301
- <div><span class="description"><span><?php printf( 'How many %s the user can list with this pack? Enter <strong>-1</strong> for unlimited.', $key ); ?></span></span></div>
302
- </td>
303
- </tr>
304
- <?php
305
- }
306
-
307
- return ob_get_clean();
308
- }
309
-
310
- function form( $pack_id = null ) {
311
- global $post;
312
-
313
- $sub_meta = WPUF_Subscription::init()->get_subscription_meta( $post->ID, $post );
314
-
315
- $hidden_recurring_class = ( $sub_meta['recurring_pay'] != 'yes' ) ? 'none' : '';
316
- $hidden_trial_class = ( $sub_meta['trial_status'] != 'yes' ) ? 'none' : '';
317
- $hidden_expire = ( $sub_meta['recurring_pay'] == 'yes' ) ? 'none' : '';
318
- $is_post_exp_selected = isset($sub_meta['_enable_post_expiration']) && $sub_meta['_enable_post_expiration'] == 'on'?'checked':'';
319
- $_post_expiration_time = explode(' ',isset($sub_meta['_post_expiration_time'])?$sub_meta['_post_expiration_time']:' ');
320
- $time_value = isset($_post_expiration_time[0])?$_post_expiration_time[0]:1;
321
- $time_type = isset($_post_expiration_time[1])?$_post_expiration_time[1]:'day';
322
-
323
- $expired_post_status = isset($sub_meta['_expired_post_status'])?$sub_meta['_expired_post_status']:'';
324
- $is_enable_mail_after_expired = isset($sub_meta['_enable_mail_after_expired']) && $sub_meta['_enable_mail_after_expired'] == 'on'?'checked':'';
325
- $post_expiration_message = isset($sub_meta['_post_expiration_message'])?$sub_meta['_post_expiration_message']:'';;
326
-
327
- ?>
328
-
329
- <table class="form-table" style="width: 100%">
330
- <tbody>
331
- <input type="hidden" name="wpuf_subscription" id="wpuf_subscription_editor" value="<?php echo wp_create_nonce( 'wpuf_subscription_editor' ); ?>" />
332
- <tr>
333
- <th><label><?php _e( 'Pack Description', 'wpuf' ); ?></label></th>
334
- <td>
335
- <?php wp_editor( $sub_meta['post_content'], 'post_content', array('editor_height' => 100, 'quicktags' => false, 'media_buttons' => false) ); ?>
336
- </td>
337
- </tr>
338
- <tr>
339
- <th><label for="wpuf-billing-amount">
340
- <span class="wpuf-biling-amount wpuf-subcription-expire" style="display: <?php echo $hidden_expire; ?>;"><?php _e( 'Billing amount:', 'wpuf' ); ?></span>
341
- <span class="wpuf-billing-cycle wpuf-recurring-child" style="display: <?php echo $hidden_recurring_class; ?>;"><?php _e( 'Billing amount each cycle:', 'wpuf' ); ?></span></label></th>
342
- <td>
343
- <?php echo wpuf_get_currency( 'symbol' ); ?>
344
- <input type="text" size="20" style="" id="wpuf-billing-amount" value="<?php echo esc_attr( $sub_meta['billing_amount'] ); ?>" name="billing_amount" />
345
- <div><span class="description"></span></div>
346
- </td>
347
- </tr>
348
-
349
- <tr class="wpuf-subcription-expire" style="display: <?php echo $hidden_expire; ?>;">
350
- <th><label for="wpuf-expiration-number"><?php _e( 'Expires In:', 'wpuf' ); ?></label></th>
351
- <td>
352
- <input type="text" size="20" style="" id="wpuf-expiration-number" value="<?php echo esc_attr( $sub_meta['expiration_number'] ); ?>" name="expiration_number" />
353
-
354
- <select id="expiration-period" name="expiration_period">
355
- <?php echo $this->option_field( $sub_meta['expiration_period'] ); ?>
356
- </select>
357
- <div><span class="description"></span></div>
358
- </td>
359
- </tr>
360
-
361
- <tr class="wpuf-metabox-post_expiration">
362
- <th><?php _e( 'Enable Post Expiration', 'wpuf' ); ?></th>
363
- <td>
364
- <input type="checkbox" id="wpuf-enable_post_expiration" name="post_expiration_settings[enable_post_expiration]" value="on" <?php echo $is_post_exp_selected;?> />
365
- </td>
366
- </tr>
367
- <tr class="wpuf-metabox-post_expiration wpuf_subscription_expiration_field">
368
- <?php
369
- $timeType_array = array(
370
- 'year' => 100,
371
- 'month' => 12,
372
- 'day' => 30
373
- );
374
- ?>
375
- <th><?php _e( 'Post Expiration Time', 'wpuf' ); ?></th>
376
- <td>
377
- <select name="post_expiration_settings[expiration_time_value]" id="wpuf-expiration_time_value">
378
- <?php
379
- for($i = 1;$i <= $timeType_array[$time_type];$i++){
380
- ?>
381
- <option value="<?php echo $i; ?>" <?php echo $i == $time_value?'selected':''; ?>><?php echo $i;?></option>
382
- <?php
383
- }
384
- ?>
385
- </select>
386
- <select name="post_expiration_settings[expiration_time_type]" id="wpuf-expiration_time_type">
387
- <?php
388
- foreach($timeType_array as $each_time_type=>$each_time_type_val){
389
- ?>
390
- <option value="<?php echo $each_time_type;?>" <?php echo $each_time_type==$time_type?'selected':''; ?>><?php echo ucfirst($each_time_type);?></option>
391
- <?php
392
- }
393
- ?>
394
- </select>
395
- </td>
396
-
397
- </tr>
398
- <tr class="wpuf_subscription_expiration_field">
399
- <th>
400
- Post Status :
401
- </th>
402
- <td>
403
- <?php $post_statuses = get_post_statuses();
404
- ?>
405
- <select name="post_expiration_settings[expired_post_status]" id="wpuf-expired_post_status">
406
- <?php
407
- foreach($post_statuses as $post_status => $text){
408
- ?>
409
- <option value="<?php echo $post_status ?>" <?php echo ( $expired_post_status == $post_status )?'selected':''; ?>><?php echo $text;?></option>
410
- <?php
411
- }
412
- ?>
413
- </select>
414
- <p class="description"><?php echo _('Status of post after post expiration time is over ');?></p>
415
- </td>
416
- </tr>
417
- <tr class="wpuf_subscription_expiration_field">
418
- <th>
419
- Send Mail :
420
- </th>
421
- <td>
422
- <input type="checkbox" name="post_expiration_settings[enable_mail_after_expired]" value="on" <?php echo $is_enable_mail_after_expired;?> />
423
- Send Mail to Author After Exceeding Post Expiration Time
424
- </td>
425
- </tr>
426
- <tr class="wpuf_subscription_expiration_field">
427
- <th>Post Expiration Message</th>
428
- <td>
429
- <textarea name="post_expiration_settings[post_expiration_message]" id="wpuf-post_expiration_message" cols="50" rows="5"><?php echo $post_expiration_message;?></textarea>
430
- </td>
431
- </tr>
432
- <?php echo $this->get_post_types( $sub_meta['post_type_name'] ); ?>
433
- <?php
434
- do_action( 'wpuf_admin_subscription_detail', $sub_meta, $hidden_recurring_class, $hidden_trial_class, $this );
435
- ?>
436
- </tbody>
437
- </table>
438
-
439
- <?php
440
-
441
- }
442
-
443
- function option_field( $selected ) {
444
- ?>
445
- <option value="day" <?php selected( $selected, 'day' ); ?> ><?php _e( 'Day(s)', 'wpuf' ); ?></option>
446
- <option value="week" <?php selected( $selected, 'week' ); ?> ><?php _e( 'Week(s)', 'wpuf' ); ?></option>
447
- <option value="month" <?php selected( $selected, 'month' ); ?> ><?php _e( 'Month(s)', 'wpur'); ?></option>
448
- <option value="year" <?php selected( $selected, 'year' ); ?> ><?php _e( 'Year(s)', 'wpuf' ); ?></option>
449
- <?php
450
- }
451
-
452
- function packdropdown_without_recurring( $packs, $selected = '' ) {
453
- $packs = isset( $packs ) ? $packs : array();
454
- foreach( $packs as $key => $pack ) {
455
- $recurring = isset( $pack->meta_value['recurring_pay'] ) ? $pack->meta_value['recurring_pay'] : '';
456
- if( $recurring == 'yes' ) {
457
- continue;
458
- }
459
- ?>
460
- <option value="<?php echo $pack->ID; ?>" <?php selected( $selected, $pack->ID ); ?>><?php echo $pack->post_title; ?></option>
461
- <?php
462
- }
463
- }
464
-
465
- /**
466
- * Adds the postlock form in users profile
467
- *
468
- * @param object $profileuser
469
- */
470
- function profile_subscription_details( $profileuser ) {
471
-
472
- if ( ! current_user_can( 'edit_users' ) ) {
473
- return;
474
- }
475
- $current_user = wpuf_get_user();
476
- if ( !$current_user->subscription()->current_pack_id() ) {
477
- return;
478
- }
479
- $userdata = get_userdata( $profileuser->ID ); //wp 3.3 fix
480
-
481
- $packs = WPUF_Subscription::init()->get_subscriptions();
482
- $user_sub = WPUF_Subscription::get_user_pack( $userdata->ID );
483
- $pack_id = isset( $user_sub['pack_id'] ) ? $user_sub['pack_id'] : '';
484
- ?>
485
- <div class="wpuf-user-subscription">
486
- <h3><?php _e( 'WPUF Subscription', 'wpuf' ); ?></h3>
487
- <?php
488
-
489
- if ( isset( $user_sub['pack_id'] ) ) :
490
-
491
- $pack = WPUF_Subscription::get_subscription( $user_sub['pack_id'] );
492
- $details_meta = WPUF_Subscription::init()->get_details_meta_value();
493
-
494
- $billing_amount = ( isset( $pack->meta_value['billing_amount'] ) && intval( $pack->meta_value['billing_amount'] ) > 0 ) ? $details_meta['symbol'] . $pack->meta_value['billing_amount'] : __( 'Free', 'wpuf' );
495
- $recurring_pay = ( isset( $pack->meta_value['recurring_pay'] ) && $pack->meta_value['recurring_pay'] == 'yes' ) ? true : false;
496
- if ( $billing_amount && $recurring_pay ) {
497
- $recurring_des = sprintf( 'For each %s %s', $pack->meta_value['billing_cycle_number'], $pack->meta_value['cycle_period'], $pack->meta_value['trial_duration_type'] );
498
- $recurring_des .= !empty( $pack->meta_value['billing_limit'] ) ? sprintf( ', for %s installments', $pack->meta_value['billing_limit'] ) : '';
499
- $recurring_des = $recurring_des;
500
- } else {
501
- $recurring_des = '';
502
- }
503
-
504
- ?>
505
- <div class="wpuf-user-sub-info">
506
- <h3><?php _e( 'Subscription Details', 'wpuf' ); ?></h3>
507
- <?php if(isset($user_sub['recurring']) && $user_sub['recurring'] == 'yes' ){
508
- ?>
509
- <div class="updated">
510
- <p><?php _e( 'This user is using recurring subscription pack', 'wpuf' ); ?></p>
511
- </div>
512
- <?php
513
- } ?>
514
- <div class="wpuf-text">
515
- <div><strong><?php _e( 'Subcription Name: ','wpuf' ); ?></strong><?php echo isset( $pack->post_title ) ? $pack->post_title : ''; ?></div>
516
- <div>
517
- <strong><?php _e( 'Package billing details: ', 'wpuf'); ?></strong>
518
- <div class="wpuf-pricing-wrap">
519
- <div class="wpuf-sub-amount">
520
- <?php echo $billing_amount; ?>
521
- <?php echo $recurring_des; ?>
522
- </div
523
- </div>
524
- </div>
525
-
526
- <strong><?php _e( 'Remaining post: ','wpuf'); ?></strong>
527
- <table class="form-table">
528
-
529
- <?php
530
-
531
- foreach ($user_sub['posts'] as $key => $value) {
532
- ?>
533
- <tr>
534
- <th><label><?php echo $key; ?></label></th>
535
- <td><input type="text" value="<?php echo $value; ?>" name="<?php echo $key; ?>" ></td>
536
- </tr>
537
- <?php
538
- }
539
- ?>
540
- <?php
541
- if ( $user_sub['recurring'] != 'yes' ) {
542
- if ( !empty( $user_sub['expire'] ) ) {
543
-
544
- $expire = ( $user_sub['expire'] == 'unlimited' ) ? ucfirst( 'unlimited' ) : wpuf_date2mysql( $user_sub['expire'] );
545
-
546
- ?>
547
- <tr>
548
- <th><label><?php echo _e('Expire date:' , 'wpuf'); ?></label></th>
549
- <td><input type="text" class="wpuf-date-picker" name="expire" value="<?php echo wpuf_get_date( $expire ); ?>"></td>
550
- </tr>
551
- <?php
552
- }
553
-
554
- } ?>
555
- <?php
556
- $is_post_exp_selected = isset($user_sub['_enable_post_expiration'])?'checked':'';
557
- $_post_expiration_time = explode(' ',isset($user_sub['_post_expiration_time'])?$user_sub['_post_expiration_time']:' ');
558
- $time_value = isset($_post_expiration_time[0]) && !empty($_post_expiration_time[0])?$_post_expiration_time[0]:'1';
559
- $time_type = isset($_post_expiration_time[1]) && !empty($_post_expiration_time[1])?$_post_expiration_time[1]:'day';
560
- ?>
561
- <tr>
562
- <th><label><?php echo _e('Post Expiration Enabled', 'wpuf'); ?></label></th>
563
- <td><input type="checkbox" name="is_post_expiration_enabled" value="on" <?php echo $is_post_exp_selected;?>></td>
564
- </tr>
565
- <tr>
566
- <?php
567
- $timeType_array = array(
568
- 'year' => 100,
569
- 'month' => 12,
570
- 'day' => 30
571
- );
572
- ?>
573
- <th><?php _e( 'Post Expiration Time', 'wpuf' ); ?></th>
574
- <td>
575
- <select name="post_expiration_settings[expiration_time_value]" id="wpuf-expiration_time_value">
576
- <?php
577
- for($i = 1;$i <= $timeType_array[$time_type];$i++){
578
- ?>
579
- <option value="<?php echo $i; ?>" <?php echo $i == $time_value?'selected':''; ?>><?php echo $i;?></option>
580
- <?php
581
- }
582
- ?>
583
- </select>
584
- <select name="post_expiration_settings[expiration_time_type]" id="wpuf-expiration_time_type">
585
- <?php
586
- foreach($timeType_array as $each_time_type=>$each_time_type_val){
587
- ?>
588
- <option value="<?php echo $each_time_type;?>" <?php echo $each_time_type==$time_type?'selected':''; ?>><?php echo ucfirst($each_time_type);?></option>
589
- <?php
590
- }
591
- ?>
592
- </select>
593
- </td>
594
- </tr>
595
- </table>
596
- </div>
597
- </div>
598
- <?php endif;?>
599
- <?php if(!isset($user_sub['recurring']) || $user_sub['recurring'] != 'yes' ): ?>
600
-
601
- <?php if ( empty( $user_sub ) ): ?>
602
- <a class="btn button-secondary wpuf-assing-pack-btn wpuf-add-pack" href="#"><?php _e( 'Assign Package', 'wpuf' ); ?></a>
603
- <?php endif ?>
604
-
605
- <a class="btn button-secondary wpuf-assing-pack-btn wpuf-cancel-pack" style="display:none;" href="#"><?php _e( 'Show Package', 'wpuf' ); ?></a>
606
- <table class="form-table wpuf-pack-dropdown" disabled="disabled" style="display: none;">
607
- <tr>
608
- <th><label for="wpuf_sub_pack"><?php _e( 'Pack:', 'wpuf' ); ?> </label></th>
609
- <td>
610
- <select name="pack_id" id="wpuf_sub_pack">
611
- <option value="-1"><?php _e( '--Select--', 'wpuf' ); ?></option>
612
- <?php $this->packdropdown_without_recurring( $packs, $pack_id );//WPUF_Subscription::init()->packdropdown( $packs, $selected = '' ); ?>
613
- </select>
614
- </td>
615
- </tr>
616
- </table>
617
- <?php endif;?>
618
-
619
- <?php if( !empty($user_sub) ):?>
620
- <a class="btn button-secondary wpuf-delete-pack-btn" href="javascript:" data-userid = "<?php echo $userdata->ID; ?>" data-packid = "<?php echo $user_sub['pack_id']; ?>"><?php _e( 'Delete Package', 'wpuf' ); ?></a>
621
- <?php endif; ?>
622
- </div>
623
- <?php
624
-
625
- }
626
-
627
- function lenght_type_option( $selected ) {
628
-
629
- for ($i = 1; $i <= 30; $i++) {
630
- ?>
631
- <option value="<?php echo $i; ?>" <?php selected( $i, $selected ); ?>><?php echo $i; ?></option>
632
- <?php
633
- }
634
-
635
- }
636
-
637
- /**
638
- * Ajax function. Delete user package
639
- * @since 2.2.7
640
- */
641
- function delete_user_package(){
642
- echo delete_user_meta($_POST['userid'],'_wpuf_subscription_pack');
643
- $wpuf_paypal = new WPUF_Paypal();
644
- $wpuf_paypal->recurring_change_status( $_POST['userid'], 'Cancel' );
645
-
646
- if ( isset( $_POST['packid'] ) ) {
647
- WPUF_Subscription::subscriber_cancel( $_POST['userid'], $_POST['packid'] );
648
- }
649
- exit;
650
- }
651
-
652
- /**
653
- * Add help link to the subscriptions listing page
654
- *
655
- * @return void
656
- */
657
- public function add_help_link() {
658
- $screen = get_current_screen();
659
-
660
- if ( 'edit-wpuf_subscription' != $screen->id ) {
661
- return;
662
- }
663
-
664
- ?>
665
- <div class="wpuf-footer-help">
666
- <span class="wpuf-footer-help-content">
667
- <span class="dashicons dashicons-editor-help"></span>
668
- <?php printf( __( 'Learn more about <a href="%s" target="_blank">Subscription</a>', 'wpuf' ), 'https://wedevs.com/docs/wp-user-frontend-pro/subscription-payment/?utm_source=wpuf-footer-help&utm_medium=text-link&utm_campaign=learn-more-subscription' ); ?>
669
- </span>
670
- </div>
671
-
672
- <script type="text/javascript">
673
- jQuery(function($) {
674
- $('.wpuf-footer-help').appendTo('.wrap');
675
- });
676
- </script>
677
- <?php
678
- }
679
- }
680
-
681
- //$subscription = new WPUF_Admin_Subscription();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Manage Subscription packs
5
+ *
6
+ * @package WP User Frontend
7
+ */
8
+ class WPUF_Admin_Subscription {
9
+
10
+ /**
11
+ * The class instance holder
12
+ *
13
+ * @var \Object
14
+ */
15
+ private static $_instance;
16
+
17
+ /**
18
+ * The constructor
19
+ */
20
+ public function __construct() {
21
+
22
+ add_filter( 'post_updated_messages', array($this, 'form_updated_message') );
23
+
24
+ add_action( 'show_user_profile', array($this, 'profile_subscription_details'), 30 );
25
+ add_action( 'edit_user_profile', array($this, 'profile_subscription_details'), 30 );
26
+ add_action( 'personal_options_update', array($this, 'profile_subscription_update') );
27
+ add_action( 'edit_user_profile_update', array($this, 'profile_subscription_update') );
28
+ add_action( 'wp_ajax_wpuf_delete_user_package', array($this, 'delete_user_package') );
29
+
30
+ add_filter( 'manage_wpuf_subscription_posts_columns', array( $this, 'subscription_columns_head') );
31
+ add_action( 'manage_wpuf_subscription_posts_custom_column', array( $this, 'subscription_columns_content' ),10, 2 );
32
+
33
+ // display help link to docs
34
+ add_action( 'admin_notices', array( $this, 'add_help_link' ) );
35
+
36
+ // new subscription metabox hooks
37
+ add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
38
+ add_action( 'admin_print_styles-post-new.php', array( $this, 'enqueue_scripts' ) );
39
+ add_action( 'admin_print_styles-post.php', array( $this, 'enqueue_scripts' ) );
40
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_profile_script' ) );
41
+ }
42
+
43
+ /**
44
+ * Get singleton instance
45
+ *
46
+ * @return [type] [description]
47
+ */
48
+ public static function getInstance() {
49
+ if ( !self::$_instance ) {
50
+ self::$_instance = new self();
51
+ }
52
+
53
+ return self::$_instance;
54
+ }
55
+
56
+ /**
57
+ * Add settings metaboxes
58
+ */
59
+ public function add_meta_boxes() {
60
+ add_meta_box( 'wpuf-metabox-subscription', __( 'Pack Description', 'wpuf' ), array($this, 'pack_description_metabox'), 'wpuf_subscription', 'normal', 'high' );
61
+ add_meta_box( 'wpuf_subs_metabox', 'Subscription Options', array( $this, 'subs_meta_box' ), 'wpuf_subscription' );
62
+ }
63
+
64
+ /**
65
+ * Custom post update message
66
+ *
67
+ * @param array $messages
68
+ * @return array
69
+ */
70
+ function form_updated_message( $messages ) {
71
+ $message = array(
72
+ 0 => '',
73
+ 1 => __( 'Subscription pack updated.', 'wpuf' ),
74
+ 2 => __( 'Custom field updated.', 'wpuf' ),
75
+ 3 => __( 'Custom field deleted.', 'wpuf' ),
76
+ 4 => __( 'Subscription pack updated.', 'wpuf' ),
77
+ 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Subscription pack restored to revision from %s', 'wpuf' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
78
+ 6 => __( 'Subscription pack published.', 'wpuf' ),
79
+ 7 => __( 'Subscription pack saved.', 'wpuf' ),
80
+ 8 => __( 'Subscription pack submitted.', 'wpuf' ),
81
+ 9 => '',
82
+ 10 => __( 'Subscription pack draft updated.', 'wpuf' ),
83
+ );
84
+
85
+ $messages['wpuf_subscription'] = $message;
86
+
87
+ return $messages;
88
+ }
89
+
90
+ /**
91
+ * Update user profile lock
92
+ *
93
+ * @param int $user_id
94
+ */
95
+ function profile_subscription_update( $user_id ) {
96
+ if ( !is_admin() && !current_user_can( 'edit_users' ) ) {
97
+ return;
98
+ }
99
+
100
+ if ( !isset( $_POST['pack_id'] ) ) {
101
+ return;
102
+ }
103
+
104
+ $pack_id = $_POST['pack_id'];
105
+ $user_pack = WPUF_Subscription::get_user_pack( $_POST['user_id'] );
106
+ if ( isset ( $user_pack['pack_id'] ) && $pack_id == $user_pack['pack_id'] ) {
107
+ //updating number of posts
108
+
109
+ if( isset( $user_pack['posts'] ) ) {
110
+
111
+ foreach( $user_pack['posts'] as $post_type => $post_num ) {
112
+ $user_pack['posts'][$post_type] = $_POST[$post_type];
113
+ }
114
+
115
+ }
116
+
117
+ //post expiration enable or disable
118
+
119
+ if( isset( $_POST['is_post_expiration_enabled'] ) ) {
120
+ $user_pack['_enable_post_expiration'] = $_POST['is_post_expiration_enabled'];
121
+ } else {
122
+ unset($user_pack['_enable_post_expiration']);
123
+ }
124
+
125
+ //updating post time
126
+
127
+ if( isset( $_POST['post_expiration_settings'] ) ) {
128
+ echo $user_pack['_post_expiration_time'] = $_POST['post_expiration_settings']['expiration_time_value'].' '.$_POST['post_expiration_settings']['expiration_time_type'];
129
+ }
130
+ if ( isset( $user_pack['recurring'] ) && $user_pack['recurring'] == 'yes' ) {
131
+ foreach ( $user_pack['posts'] as $type => $value ) {
132
+ $user_pack['posts'][$type] = isset( $_POST[$type] ) ? $_POST[$type] : 0;
133
+ }
134
+ } else {
135
+ foreach ( $user_pack['posts'] as $type => $value ) {
136
+ $user_pack['posts'][$type] = isset( $_POST[$type] ) ? $_POST[$type] : 0;
137
+ }
138
+ $user_pack['expire'] = isset( $_POST['expire'] ) ? wpuf_date2mysql( $_POST['expire'] ) : $user_pack['expire'];
139
+ }
140
+ wpuf_get_user( $user_id )->subscription()->update_meta( $user_pack );
141
+ } else {
142
+ if ( $pack_id == '-1' ) {
143
+ return;
144
+ }
145
+
146
+ $user_info = get_userdata( $user_id );
147
+
148
+ $data = array(
149
+ 'user_id' => $user_id,
150
+ 'status' => 'completed',
151
+ 'cost' => 0,
152
+ 'post_id' => 0,
153
+ 'pack_id' => $pack_id,
154
+ 'payer_first_name' => $user_info->first_name,
155
+ 'payer_last_name' => $user_info->last_name,
156
+ 'payer_email' => $user_info->user_email,
157
+ 'payment_type' => 'bank',
158
+ 'payer_address' => null,
159
+ 'transaction_id' => 0,
160
+ 'created' => current_time( 'mysql' ),
161
+ 'profile_id' => null,
162
+ );
163
+
164
+ if ( isset( $user_pack['recurring'] ) && $user_pack['recurring'] == 'yes' ) {
165
+ $is_recurring = true;
166
+ } else {
167
+ $is_recurring = false;
168
+ }
169
+
170
+ WPUF_Payment::insert_payment( $data, $transaction_id, $is_recurring );
171
+ }
172
+ }
173
+
174
+ /**
175
+ * Subscription column headings
176
+ *
177
+ * @param array $head
178
+ *
179
+ * @return array
180
+ */
181
+ function subscription_columns_head( $head ) {
182
+ unset($head['date']);
183
+ $head['title'] = __( 'Pack Name', 'wpuf' );
184
+ $head['amount'] = __( 'Amount', 'wpuf' );
185
+ $head['subscribers'] = __( 'Subscribers', 'wpuf' );
186
+ $head['recurring'] = __( 'Recurring', 'wpuf' );
187
+ $head['duration'] = __( 'Duration', 'wpuf' );
188
+
189
+ return $head;
190
+ }
191
+
192
+ /**
193
+ * Susbcription lists column content
194
+ *
195
+ * @param string $column_name
196
+ * @param integer $post_ID
197
+ *
198
+ * @return void
199
+ */
200
+ function subscription_columns_content( $column_name, $post_ID ) {
201
+ switch ( $column_name ) {
202
+ case 'amount':
203
+
204
+ $amount = get_post_meta( $post_ID, '_billing_amount', true );
205
+ if ( intval($amount) == 0 ) {
206
+ $amount = __( 'Free', 'wpuf' );
207
+ } else {
208
+ $amount = wpuf_format_price( $amount );
209
+ }
210
+ echo $amount;
211
+ break;
212
+
213
+ case 'subscribers':
214
+
215
+ $users = WPUF_Subscription::init()->subscription_pack_users( $post_ID );
216
+
217
+ echo '<a href="'. admin_url( 'edit.php?post_type=wpuf_subscription&page=wpuf_subscribers&post_ID=' . $post_ID ) . '" />' . count( $users ) . '</a>';
218
+ break;
219
+
220
+ case 'recurring':
221
+
222
+ $recurring = get_post_meta( $post_ID, '_recurring_pay', true );
223
+ if ( $recurring == 'yes' ) {
224
+ _e( 'Yes', 'wpuf' );
225
+ } else {
226
+ _e( 'No', 'wpuf' );
227
+ }
228
+ break;
229
+
230
+ case 'duration':
231
+
232
+ $recurring_pay = get_post_meta( $post_ID, '_recurring_pay', true );
233
+ $billing_cycle_number = get_post_meta( $post_ID, '_billing_cycle_number', true );
234
+ $cycle_period = get_post_meta( $post_ID, '_cycle_period', true );
235
+
236
+ if ( $recurring_pay == 'yes' ) {
237
+ echo $billing_cycle_number .' '. $cycle_period . '\'s (cycle)';
238
+ } else {
239
+ $expiration_number = get_post_meta( $post_ID, '_expiration_number', true );
240
+ $expiration_period = get_post_meta( $post_ID, '_expiration_period', true );
241
+ echo $expiration_number .' '. $expiration_period . '\'s';
242
+ }
243
+ break;
244
+ }
245
+
246
+ }
247
+
248
+ function get_post_types( $post_types = null ) {
249
+
250
+ if ( ! $post_types ) {
251
+ $post_types = WPUF_Subscription::init()->get_all_post_type();
252
+ }
253
+
254
+ ob_start();
255
+
256
+ foreach ( $post_types as $key => $name ) {
257
+ $post_type_object = get_post_type_object( $key );
258
+ if ( $post_type_object ) { ?>
259
+ <tr>
260
+ <th><label for="wpuf-<?php echo esc_attr( $key ); ?>"><?php printf( 'Number of %s', $post_type_object->label ); ?></label></th>
261
+ <td>
262
+ <input type="text" size="20" style="" id="wpuf-<?php echo esc_attr( $key ); ?>" value="<?php echo intval( $name ); ?>" name="post_type_name[<?php echo esc_attr( $key ); ?>]" />
263
+ <div><span class="description"><span><?php printf( 'How many %s the user can list with this pack? Enter <strong>-1</strong> for unlimited.', $key ); ?></span></span></div>
264
+ </td>
265
+ </tr>
266
+ <?php
267
+ }
268
+ }
269
+
270
+ return ob_get_clean();
271
+ }
272
+
273
+ /**
274
+ * Replaces default post editor with a simiple rich editor
275
+ *
276
+ * @param integer $pack_id
277
+ *
278
+ * @return void
279
+ */
280
+ function pack_description_metabox( $pack_id = null ) {
281
+ global $post;
282
+
283
+ wp_editor( $post->post_content, 'post_content', array('editor_height' => 100, 'quicktags' => false, 'media_buttons' => false) );
284
+ }
285
+
286
+ /**
287
+ * Subscription settings metabox
288
+ *
289
+ * @return void
290
+ */
291
+ public function subs_meta_box() {
292
+ global $post;
293
+
294
+ $sub_meta = WPUF_Subscription::init()->get_subscription_meta( $post->ID, $post );
295
+
296
+ $hidden_recurring_class = ( $sub_meta['recurring_pay'] != 'yes' ) ? 'none' : '';
297
+ $hidden_trial_class = ( $sub_meta['trial_status'] != 'yes' ) ? 'none' : '';
298
+ $hidden_expire = ( $sub_meta['recurring_pay'] == 'yes' ) ? 'none' : '';
299
+ $is_post_exp_selected = isset($sub_meta['_enable_post_expiration']) && $sub_meta['_enable_post_expiration'] == 'on'?'checked':'';
300
+ $_post_expiration_time = explode(' ',isset($sub_meta['_post_expiration_time'])?$sub_meta['_post_expiration_time']:' ');
301
+ $time_value = isset($_post_expiration_time[0])?$_post_expiration_time[0]:1;
302
+ $time_type = isset($_post_expiration_time[1])?$_post_expiration_time[1]:'day';
303
+
304
+ $expired_post_status = isset($sub_meta['_expired_post_status'])?$sub_meta['_expired_post_status']:'';
305
+ $is_enable_mail_after_expired = isset($sub_meta['_enable_mail_after_expired']) && $sub_meta['_enable_mail_after_expired'] == 'on'?'checked':'';
306
+ $post_expiration_message = isset($sub_meta['_post_expiration_message'])?$sub_meta['_post_expiration_message']:'';;
307
+ ?>
308
+
309
+ <div class="wpuf-subscription-pack-settings">
310
+ <nav class="subscription-nav-tab">
311
+ <ul>
312
+ <li class="tab-current">
313
+ <a href="#wpuf-payment-settings">
314
+ <span class="dashicons dashicons-cart"></span>
315
+ <?php _e( 'Payment Settings', 'wpuf' ); ?>
316
+ </a>
317
+ </li>
318
+
319
+ <li>
320
+ <a href="#wpuf-post-restriction">
321
+ <span class="dashicons dashicons-admin-post"></span>
322
+ <?php _e( 'Posting Restriction', 'wpuf' ); ?>
323
+ </a>
324
+ </li>
325
+
326
+ <?php do_action( 'wpuf_admin_subs_nav_tab', $post ); ?>
327
+ </ul>
328
+ </nav>
329
+
330
+ <div class="subscription-nav-content">
331
+ <section id="wpuf-payment-settings">
332
+ <table class="form-table">
333
+ <tbody>
334
+ <tr>
335
+ <th><label for="wpuf-billing-amount">
336
+ <span class="wpuf-biling-amount wpuf-subcription-expire" style="display: <?php echo $hidden_expire; ?>;"><?php _e( 'Billing amount:', 'wpuf' ); ?></span>
337
+ <span class="wpuf-billing-cycle wpuf-recurring-child" style="display: <?php echo $hidden_recurring_class; ?>;"><?php _e( 'Billing amount each cycle:', 'wpuf' ); ?></span></label></th>
338
+ <td>
339
+ <?php echo wpuf_get_currency( 'symbol' ); ?>
340
+ <input type="text" size="20" style="" id="wpuf-billing-amount" value="<?php echo esc_attr( $sub_meta['billing_amount'] ); ?>" name="billing_amount" />
341
+ <div><span class="description"></span></div>
342
+ </td>
343
+ </tr>
344
+ <tr class="wpuf-subcription-expire" style="display: <?php echo $hidden_expire; ?>;">
345
+ <th><label for="wpuf-expiration-number"><?php _e( 'Expires In:', 'wpuf' ); ?></label></th>
346
+ <td>
347
+ <input type="text" size="20" style="" id="wpuf-expiration-number" value="<?php echo esc_attr( $sub_meta['expiration_number'] ); ?>" name="expiration_number" />
348
+
349
+ <select id="expiration-period" name="expiration_period">
350
+ <?php echo $this->option_field( $sub_meta['expiration_period'] ); ?>
351
+ </select>
352
+ <div><span class="description"></span></div>
353
+ </td>
354
+ </tr>
355
+
356
+ <?php do_action( 'wpuf_admin_subscription_detail', $sub_meta, $hidden_recurring_class, $hidden_trial_class, $this ); ?>
357
+ </tbody>
358
+ </table>
359
+ </section>
360
+ <section id="wpuf-post-restriction">
361
+ <table class="form-table">
362
+ <tbody>
363
+ <?php echo $this->get_post_types( $sub_meta['post_type_name'] ); ?>
364
+ <?php
365
+ // do_action( 'wpuf_admin_subscription_detail', $sub_meta, $hidden_recurring_class, $hidden_trial_class, $this );
366
+ ?>
367
+ <tr class="wpuf-metabox-post_expiration">
368
+
369
+ <th><?php _e( 'Post Expiration', 'wpuf' ); ?></th>
370
+
371
+ <td>
372
+ <label>
373
+ <input type="checkbox" id="wpuf-enable_post_expiration" name="post_expiration_settings[enable_post_expiration]" value="on" <?php echo $is_post_exp_selected;?> />
374
+ <?php _e( 'Enable Post Expiration', 'wpuf' ); ?>
375
+ </label>
376
+ </td>
377
+ </tr>
378
+ <tr class="wpuf-metabox-post_expiration wpuf_subscription_expiration_field">
379
+ <?php
380
+ $timeType_array = array(
381
+ 'year' => 100,
382
+ 'month' => 12,
383
+ 'day' => 30
384
+ );
385
+ ?>
386
+ <th class="wpuf-post-exp-time"> <?php _e( 'Post Expiration Time', 'wpuf' ); ?> </th>
387
+ <td class="wpuf-post-exp-time">
388
+ <select name="post_expiration_settings[expiration_time_value]" id="wpuf-expiration_time_value">
389
+ <?php
390
+ for($i = 1;$i <= $timeType_array[$time_type];$i++){
391
+ ?>
392
+ <option value="<?php echo $i; ?>" <?php echo $i == $time_value?'selected':''; ?>><?php echo $i;?></option>
393
+ <?php
394
+ }
395
+ ?>
396
+ </select>
397
+ <select name="post_expiration_settings[expiration_time_type]" id="wpuf-expiration_time_type">
398
+ <?php
399
+ foreach($timeType_array as $each_time_type=>$each_time_type_val){
400
+ ?>
401
+ <option value="<?php echo $each_time_type;?>" <?php echo $each_time_type==$time_type?'selected':''; ?>><?php echo ucfirst($each_time_type);?></option>
402
+ <?php
403
+ }
404
+ ?>
405
+ </select>
406
+ </td>
407
+
408
+ </tr>
409
+ <tr class="wpuf_subscription_expiration_field">
410
+ <th>
411
+ <?php _e( 'Post Status', 'wpuf' ); ?>
412
+ </th>
413
+ <td>
414
+ <?php $post_statuses = get_post_statuses();
415
+ ?>
416
+ <select name="post_expiration_settings[expired_post_status]" id="wpuf-expired_post_status">
417
+ <?php
418
+ foreach($post_statuses as $post_status => $text){
419
+ ?>
420
+ <option value="<?php echo $post_status ?>" <?php echo ( $expired_post_status == $post_status )?'selected':''; ?>><?php echo $text;?></option>
421
+ <?php
422
+ }
423
+ ?>
424
+ </select>
425
+ <p class="description"><?php echo _('Status of post after post expiration time is over ', 'wp-user-frontend', 'wpuf');?></p>
426
+ </td>
427
+ </tr>
428
+ <tr class="wpuf_subscription_expiration_field">
429
+ <th>
430
+ <?php _e( 'Expiration Mail', 'wpuf' ); ?>
431
+ </th>
432
+ <td>
433
+ <label>
434
+ <input type="checkbox" name="post_expiration_settings[enable_mail_after_expired]" value="on" <?php echo $is_enable_mail_after_expired;?> />
435
+ <?php _e( 'Send Expiration Email to Post Author', 'wpuf' ); ?>
436
+ </label>
437
+
438
+ <p class="help">
439
+ <?php _e( 'Send Mail to Author After Exceeding Post Expiration Time', 'wpuf' ); ?>
440
+ </p>
441
+ </td>
442
+ </tr>
443
+ <tr class="wpuf_subscription_expiration_field">
444
+ <th><?php _e( 'Expiration Message', 'wpuf' ); ?></th>
445
+ <td>
446
+ <textarea name="post_expiration_settings[post_expiration_message]" id="wpuf-post_expiration_message" cols="50" rows="5"><?php echo $post_expiration_message;?></textarea>
447
+ </td>
448
+ </tr>
449
+
450
+ <?php
451
+ /**
452
+ * @since 2.7.0
453
+ */
454
+ do_action( 'wpuf_admin_subscription_post_restriction', $sub_meta, $post, $this );
455
+ ?>
456
+ </tbody>
457
+ </table>
458
+ </section>
459
+
460
+ <?php do_action( 'wpuf_admin_subs_nav_content', $post ); ?>
461
+ </div>
462
+ <?php wp_nonce_field( 'subs_meta_box_nonce', 'meta_box_nonce' ); ?>
463
+ </div>
464
+
465
+ <?php
466
+ }
467
+
468
+ /**
469
+ * Enqueue script for subscription editor page
470
+ *
471
+ * @return void
472
+ */
473
+ public function enqueue_scripts() {
474
+ $screen = get_current_screen();
475
+
476
+ if ( $screen->post_type != 'wpuf_subscription' ) {
477
+ return;
478
+ }
479
+
480
+ wp_enqueue_script( 'wpuf-metabox-tabs', WPUF_ASSET_URI . '/js/metabox-tabs.js' , array( 'jquery' ) );
481
+ }
482
+
483
+ /**
484
+ * Enqueue script for profile
485
+ *
486
+ * @return void
487
+ */
488
+ public function enqueue_profile_script() {
489
+ $screen = get_current_screen();
490
+
491
+ if ( 'profile' != $screen->base ) {
492
+ return;
493
+ }
494
+
495
+ wp_enqueue_script( 'wpuf-admin-profile-subs', WPUF_ASSET_URI . '/js/admin-profile-subs.js' , array( 'jquery' ) );
496
+ }
497
+
498
+ /**
499
+ * Option fields for date type
500
+ *
501
+ * @param string $selected
502
+ *
503
+ * @return void
504
+ */
505
+ function option_field( $selected ) {
506
+ ?>
507
+ <option value="day" <?php selected( $selected, 'day' ); ?> ><?php _e( 'Day(s)', 'wpuf' ); ?></option>
508
+ <option value="week" <?php selected( $selected, 'week' ); ?> ><?php _e( 'Week(s)', 'wpuf' ); ?></option>
509
+ <option value="month" <?php selected( $selected, 'month' ); ?> ><?php _e( 'Month(s)', 'wpuf'); ?></option>
510
+ <option value="year" <?php selected( $selected, 'year' ); ?> ><?php _e( 'Year(s)', 'wpuf' ); ?></option>
511
+ <?php
512
+ }
513
+
514
+ function packdropdown_without_recurring( $packs, $selected = '' ) {
515
+ $packs = isset( $packs ) ? $packs : array();
516
+ foreach( $packs as $key => $pack ) {
517
+ $recurring = isset( $pack->meta_value['recurring_pay'] ) ? $pack->meta_value['recurring_pay'] : '';
518
+ if( $recurring == 'yes' ) {
519
+ continue;
520
+ }
521
+ ?>
522
+ <option value="<?php echo $pack->ID; ?>" <?php selected( $selected, $pack->ID ); ?>><?php echo $pack->post_title; ?></option>
523
+ <?php
524
+ }
525
+ }
526
+
527
+ /**
528
+ * Adds the postlock form in users profile
529
+ *
530
+ * @param object $profileuser
531
+ */
532
+ function profile_subscription_details( $profileuser ) {
533
+
534
+ if ( ! current_user_can( 'edit_users' ) ) {
535
+ return;
536
+ }
537
+
538
+ $current_user = wpuf_get_user();
539
+
540
+ if ( ! $current_user->subscription()->current_pack_id() ) {
541
+ // return;
542
+ }
543
+
544
+ $userdata = get_userdata( $profileuser->ID ); //wp 3.3 fix
545
+
546
+ $packs = WPUF_Subscription::init()->get_subscriptions();
547
+ $user_sub = WPUF_Subscription::get_user_pack( $userdata->ID );
548
+ $pack_id = isset( $user_sub['pack_id'] ) ? $user_sub['pack_id'] : '';
549
+ ?>
550
+ <div class="wpuf-user-subscription" style="width: 640px;">
551
+ <h3><?php _e( 'WPUF Subscription Information', 'wpuf' ); ?></h3>
552
+
553
+ <?php
554
+
555
+ if ( isset( $user_sub['pack_id'] ) ) :
556
+
557
+ $pack = WPUF_Subscription::get_subscription( $user_sub['pack_id'] );
558
+ $details_meta = WPUF_Subscription::init()->get_details_meta_value();
559
+
560
+ $billing_amount = ( isset( $pack->meta_value['billing_amount'] ) && intval( $pack->meta_value['billing_amount'] ) > 0 ) ? $details_meta['symbol'] . $pack->meta_value['billing_amount'] : __( 'Free', 'wpuf' );
561
+ $recurring_pay = ( isset( $pack->meta_value['recurring_pay'] ) && $pack->meta_value['recurring_pay'] == 'yes' ) ? true : false;
562
+
563
+ if ( $billing_amount && $recurring_pay ) {
564
+ $recurring_des = sprintf( 'For each %s %s', $pack->meta_value['billing_cycle_number'], $pack->meta_value['cycle_period'], $pack->meta_value['trial_duration_type'] );
565
+ $recurring_des .= !empty( $pack->meta_value['billing_limit'] ) ? sprintf( ', for %s installments', $pack->meta_value['billing_limit'] ) : '';
566
+ $recurring_des = $recurring_des;
567
+ } else {
568
+ $recurring_des = '';
569
+ }
570
+
571
+ ?>
572
+ <div class="wpuf-user-sub-info">
573
+
574
+ <div class="wpuf-sub-summary">
575
+ <div class="sub-name">
576
+ <span class="label">
577
+ <?php _e( 'Subcription Name', 'wpuf' ); ?>
578
+ </span>
579
+
580
+ <span class="value">
581
+ <?php echo isset( $pack->post_title ) ? $pack->post_title : ''; ?>
582
+ </span>
583
+ </div>
584
+
585
+ <div class="sub-price">
586
+ <span class="label">
587
+ <?php _e( 'Billing Info', 'wpuf' ); ?>
588
+ </span>
589
+
590
+ <span class="value">
591
+ <?php echo $billing_amount; ?>
592
+
593
+ <?php if ( $recurring_des ) : ?>
594
+ <p><?php echo $recurring_des; ?></p>
595
+ <?php endif; ?>
596
+ </span>
597
+ </div>
598
+
599
+ <?php if ( isset( $user_sub['recurring'] ) && $user_sub['recurring'] == 'yes' ) { ?>
600
+ <div class="info">
601
+ <p><?php _e( 'This user is using recurring subscription pack', 'wpuf' ); ?></p>
602
+ </div>
603
+ <?php } ?>
604
+ </div>
605
+
606
+ <div class="wpuf-sub-section remaining-posts">
607
+ <h4><?php _e( 'Remaining Posting Count', 'wpuf'); ?></h4>
608
+
609
+ <table class="form-table">
610
+
611
+ <?php foreach ( $user_sub['posts'] as $key => $value ) {
612
+ $post_type_object = get_post_type_object( $key );
613
+
614
+ if ( $post_type_object ) {
615
+ ?>
616
+ <tr>
617
+ <th><label><?php echo $post_type_object->labels->name; ?></label></th>
618
+ <td><input type="text" value="<?php echo $value; ?>" name="<?php echo $key; ?>" ></td>
619
+ </tr>
620
+ <?php
621
+ }
622
+ }
623
+ ?>
624
+ </table>
625
+ </div>
626
+
627
+ <div class="wpuf-sub-section post-expiration">
628
+ <h4><?php _e( 'Subscription Expiration Info', 'wpuf' ); ?></h4>
629
+
630
+ <table class="form-table">
631
+ <?php
632
+ if ( $user_sub['recurring'] != 'yes' ) {
633
+ if ( !empty( $user_sub['expire'] ) ) {
634
+
635
+ $expire = ( $user_sub['expire'] == 'unlimited' ) ? ucfirst( 'unlimited' ) : wpuf_date2mysql( $user_sub['expire'] );
636
+
637
+ ?>
638
+ <tr>
639
+ <th><label><?php echo _e('Expire date:' , 'wpuf'); ?></label></th>
640
+ <td><input type="text" class="wpuf-date-picker" name="expire" value="<?php echo wpuf_get_date( $expire ); ?>"></td>
641
+ </tr>
642
+ <?php
643
+ }
644
+
645
+ }
646
+
647
+ $is_post_exp_selected = isset( $user_sub['_enable_post_expiration'] ) ? 'checked' : '';
648
+ $_post_expiration_time = explode( ' ',isset($user_sub['_post_expiration_time']) ? $user_sub['_post_expiration_time'] : '' );
649
+ $time_value = isset( $_post_expiration_time[0] ) && !empty( $_post_expiration_time[0] ) ? $_post_expiration_time[0] : '1';
650
+ $time_type = isset( $_post_expiration_time[1] ) && !empty( $_post_expiration_time[1] ) ? $_post_expiration_time[1] : 'day';
651
+ ?>
652
+ <tr>
653
+ <th><label><?php echo _e('Post Expiration Enabled', 'wpuf'); ?></label></th>
654
+ <td><input type="checkbox" class="wpuf-post-exp-enabled" name="is_post_expiration_enabled" value="on" <?php echo $is_post_exp_selected;?>></td>
655
+ </tr>
656
+ <tr class="wpuf-post-exp-time">
657
+ <?php
658
+ $timeType_array = array(
659
+ 'year' => 100,
660
+ 'month' => 12,
661
+ 'day' => 30
662
+ );
663
+ ?>
664
+ <th><?php _e( 'Post Expiration Time', 'wpuf' ); ?></th>
665
+ <td>
666
+ <select name="post_expiration_settings[expiration_time_value]" id="wpuf-expiration_time_value">
667
+ <?php
668
+ for($i = 1;$i <= $timeType_array[$time_type];$i++){
669
+ ?>
670
+ <option value="<?php echo $i; ?>" <?php echo $i == $time_value?'selected':''; ?>><?php echo $i;?></option>
671
+ <?php
672
+ }
673
+ ?>
674
+ </select>
675
+ <select name="post_expiration_settings[expiration_time_type]" id="wpuf-expiration_time_type">
676
+ <?php
677
+ foreach($timeType_array as $each_time_type=>$each_time_type_val){
678
+ ?>
679
+ <option value="<?php echo $each_time_type;?>" <?php echo $each_time_type==$time_type?'selected':''; ?>><?php echo ucfirst($each_time_type);?></option>
680
+ <?php
681
+ }
682
+ ?>
683
+ </select>
684
+ </td>
685
+ </tr>
686
+ </table>
687
+ </div>
688
+
689
+ <div class="wpuf-sub-section tax-restriction">
690
+ <h4><?php _e( 'Allowed Taxonomy Terms', 'wpuf' ); ?></h4>
691
+
692
+ <table class="form-table">
693
+ <tr>
694
+ <?php
695
+ $allowed_tax_id_arr = array();
696
+ $allowed_tax_id_arr = get_post_meta( $pack_id , '_sub_allowed_term_ids', true );
697
+ if ( ! $allowed_tax_id_arr ) {
698
+ $allowed_tax_id_arr = array();
699
+ }
700
+
701
+ $builtin_taxs = get_taxonomies( array(
702
+ '_builtin' => true
703
+ ), 'objects' );
704
+
705
+ foreach ($builtin_taxs as $builtin_tax) {
706
+ if ( is_taxonomy_hierarchical( $builtin_tax->name ) ) {
707
+ $tax_terms = get_terms ( array(
708
+ 'taxonomy' => $builtin_tax->name,
709
+ 'hide_empty' => false,
710
+ ) );
711
+ foreach ($tax_terms as $tax_term) {
712
+ if ( in_array( $tax_term->term_id, $allowed_tax_id_arr ) ) {
713
+ ?> <td> <?php echo $tax_term->name; ?> </td> <?php
714
+ }
715
+ }
716
+ }
717
+ }
718
+
719
+ $custom_taxs = get_taxonomies(array('_builtin'=>false), 'objects');
720
+ foreach ($custom_taxs as $custom_tax) {
721
+ if ( is_taxonomy_hierarchical( $custom_tax->name ) ) {
722
+ $tax_terms = get_terms ( array(
723
+ 'taxonomy' => $custom_tax->name,
724
+ 'hide_empty' => false,
725
+ ) );
726
+
727
+ foreach ($tax_terms as $tax_term) {
728
+ if ( in_array( $tax_term->term_id, $allowed_tax_id_arr ) ) {
729
+ ?> <td> <?php echo $tax_term->name; ?> </td> <?php
730
+ }
731
+ }
732
+ }
733
+ }
734
+ ?>
735
+ </tr>
736
+ </table>
737
+ </div>
738
+ </div>
739
+ <?php endif;?>
740
+
741
+ <?php if ( ! isset( $user_sub['recurring'] ) || $user_sub['recurring'] != 'yes' ): ?>
742
+
743
+ <?php if ( empty( $user_sub ) ): ?>
744
+ <div class="wpuf-sub-actions">
745
+ <a class="btn button-secondary wpuf-assing-pack-btn wpuf-add-pack" href="#"><?php _e( 'Assign Package', 'wpuf' ); ?></a>
746
+ <a class="btn button-secondary wpuf-assing-pack-btn wpuf-cancel-pack" style="display:none;" href="#"><?php _e( 'Cancel', 'wpuf' ); ?></a>
747
+ </div>
748
+ <?php endif ?>
749
+
750
+ <table class="form-table wpuf-pack-dropdown" disabled="disabled" style="display: none;">
751
+ <tr>
752
+ <th><label for="wpuf_sub_pack"><?php _e( 'Select Package:', 'wpuf' ); ?> </label></th>
753
+ <td>
754
+ <select name="pack_id" id="wpuf_sub_pack">
755
+ <option value="-1"><?php _e( '&mdash; Select &mdash;', 'wpuf' ); ?></option>
756
+ <?php $this->packdropdown_without_recurring( $packs, $pack_id );//WPUF_Subscription::init()->packdropdown( $packs, $selected = '' ); ?>
757
+ </select>
758
+ </td>
759
+ </tr>
760
+ </table>
761
+ <?php endif;?>
762
+
763
+ <?php if ( !empty( $user_sub ) ): ?>
764
+ <div class="wpuf-sub-actions">
765
+ <a class="btn button-secondary wpuf-delete-pack-btn" href="javascript:" data-userid="<?php echo $userdata->ID; ?>" data-packid="<?php echo $user_sub['pack_id']; ?>"><?php _e( 'Delete Package', 'wpuf' ); ?></a>
766
+ </div>
767
+ <?php endif; ?>
768
+ </div>
769
+ <?php
770
+
771
+ }
772
+
773
+ function lenght_type_option( $selected ) {
774
+
775
+ for ($i = 1; $i <= 30; $i++) {
776
+ ?>
777
+ <option value="<?php echo $i; ?>" <?php selected( $i, $selected ); ?>><?php echo $i; ?></option>
778
+ <?php
779
+ }
780
+
781
+ }
782
+
783
+ /**
784
+ * Ajax function. Delete user package
785
+ * @since 2.2.7
786
+ */
787
+ function delete_user_package(){
788
+ echo delete_user_meta($_POST['userid'],'_wpuf_subscription_pack');
789
+ $wpuf_paypal = new WPUF_Paypal();
790
+ $wpuf_paypal->recurring_change_status( $_POST['userid'], 'Cancel' );
791
+
792
+ if ( isset( $_POST['packid'] ) ) {
793
+ WPUF_Subscription::subscriber_cancel( $_POST['userid'], $_POST['packid'] );
794
+ }
795
+ exit;
796
+ }
797
+
798
+ /**
799
+ * Add help link to the subscriptions listing page
800
+ *
801
+ * @return void
802
+ */
803
+ public function add_help_link() {
804
+ $screen = get_current_screen();
805
+
806
+ if ( 'edit-wpuf_subscription' != $screen->id ) {
807
+ return;
808
+ }
809
+
810
+ ?>
811
+ <div class="wpuf-footer-help">
812
+ <span class="wpuf-footer-help-content">
813
+ <span class="dashicons dashicons-editor-help"></span>
814
+ <?php printf( __( 'Learn more about <a href="%s" target="_blank">Subscription</a>', 'wpuf' ), 'https://wedevs.com/docs/wp-user-frontend-pro/subscription-payment/?utm_source=wpuf-footer-help&utm_medium=text-link&utm_campaign=learn-more-subscription' ); ?>
815
+ </span>
816
+ </div>
817
+
818
+ <script type="text/javascript">
819
+ jQuery(function($) {
820
+ $('.wpuf-footer-help').appendTo('.wrap');
821
+ });
822
+ </script>
823
+ <?php
824
+ }
825
+ }
826
+
827
+ //$subscription = new WPUF_Admin_Subscription();
admin/form.php CHANGED
@@ -286,7 +286,7 @@ class WPUF_Admin_Form {
286
  $subscriptions = WPUF_Subscription::init()->get_subscriptions();
287
 
288
  if ( ! $subscriptions ) {
289
- printf( '<option>%s</option>', __( '- Select -' ), 'wpuf' );
290
  return;
291
  }
292
 
@@ -581,9 +581,9 @@ class WPUF_Admin_Form {
581
  $settings = array_merge( $settings, array(
582
  array(
583
  'name' => 'insert_image',
584
- 'title' => __( 'Enable Image Insertion', 'wpuf-pro' ),
585
  'type' => 'checkbox',
586
- 'options' => array( 'yes' => __( 'Enable image upload in post area', 'wpuf-pro' ) ),
587
  'is_single_opt' => true,
588
  'section' => 'advanced',
589
  'priority' => 14,
286
  $subscriptions = WPUF_Subscription::init()->get_subscriptions();
287
 
288
  if ( ! $subscriptions ) {
289
+ printf( '<option>%s</option>', __( '- Select -', 'wpuf' ), 'wpuf' );
290
  return;
291
  }
292
 
581
  $settings = array_merge( $settings, array(
582
  array(
583
  'name' => 'insert_image',
584
+ 'title' => __( 'Enable Image Insertion', 'wpuf' ),
585
  'type' => 'checkbox',
586
+ 'options' => array( 'yes' => __( 'Enable image upload in post area', 'wpuf' ) ),
587
  'is_single_opt' => true,
588
  'section' => 'advanced',
589
  'priority' => 14,
admin/html/form-settings-payment.php CHANGED
@@ -9,7 +9,7 @@ $force_pack_purchase = isset( $form_settings['force_pack_purchase'] ) ? $form_
9
 
10
  $pay_per_post_cost = isset( $form_settings['pay_per_post_cost'] ) ? $form_settings['pay_per_post_cost'] : 2;
11
  $fallback_ppp_enable = isset( $form_settings['fallback_ppp_enable'] ) ? $form_settings['fallback_ppp_enable'] : 'false';
12
- $fallback_ppp_cost = isset( $form_settings['fallback_ppp_cost'] ) ? $form_settings['fallback_ppp_cost'] : 'false';
13
 
14
  ?>
15
  <table class="form-table">
@@ -45,7 +45,7 @@ $fallback_ppp_cost = isset( $form_settings['fallback_ppp_cost'] ) ? $form_se
45
  <td>
46
  <label>
47
  <input type="hidden" name="wpuf_settings[fallback_ppp_enable]" value="false">
48
- <input type="hidden" name="wpuf_settings[fallback_ppp_enable]" value="false"<?php checked( $fallback_ppp_enable, 'true' ); ?> />
49
  <?php _e( 'Fallback pay per post charging', 'wpuf' ) ?>
50
  </label>
51
  <p class="description"><?php _e( 'Fallback to pay per post charging if pack limit exceeds', 'wpuf' ); ?></p>
@@ -56,21 +56,21 @@ $fallback_ppp_cost = isset( $form_settings['fallback_ppp_cost'] ) ? $form_se
56
  <th><?php _e( 'Fallback cost', 'wpuf' ); ?></th>
57
  <td>
58
  <label>
59
- <input type="hidden" name="wpuf_settings[fallback_ppp_cost]" value="<?php echo esc_attr( $fallback_ppp_cost ); ?>" />
60
  </label>
61
  <p class="description"><?php _e( 'Cost of pay per post after a subscription pack limit is reached.', 'wpuf' ); ?></p>
62
  </td>
63
  </tr>
64
 
65
  <tr class="show-if-payment">
66
- <th><?php _e( 'Pay per Post', 'wpuf' ); ?></th>
67
  <td>
68
  <label>
69
  <input type="hidden" name="wpuf_settings[enable_pay_per_post]" value="false">
70
  <input type="checkbox" name="wpuf_settings[enable_pay_per_post]" value="true"<?php checked( $enable_pay_per_post, 'true' ); ?> />
71
- <?php _e( 'Enable Pay per Post', 'wpuf' ) ?>
72
  </label>
73
- <p class="description"><?php _e( 'Charge users for posting', 'wpuf' ); ?></p>
74
  </td>
75
  </tr>
76
 
9
 
10
  $pay_per_post_cost = isset( $form_settings['pay_per_post_cost'] ) ? $form_settings['pay_per_post_cost'] : 2;
11
  $fallback_ppp_enable = isset( $form_settings['fallback_ppp_enable'] ) ? $form_settings['fallback_ppp_enable'] : 'false';
12
+ $fallback_ppp_cost = isset( $form_settings['fallback_ppp_cost'] ) ? $form_settings['fallback_ppp_cost'] : 1;
13
 
14
  ?>
15
  <table class="form-table">
45
  <td>
46
  <label>
47
  <input type="hidden" name="wpuf_settings[fallback_ppp_enable]" value="false">
48
+ <input type="checkbox" name="wpuf_settings[fallback_ppp_enable]" value="true"<?php checked( $fallback_ppp_enable, 'true' ); ?> />
49
  <?php _e( 'Fallback pay per post charging', 'wpuf' ) ?>
50
  </label>
51
  <p class="description"><?php _e( 'Fallback to pay per post charging if pack limit exceeds', 'wpuf' ); ?></p>
56
  <th><?php _e( 'Fallback cost', 'wpuf' ); ?></th>
57
  <td>
58
  <label>
59
+ <input type="number" name="wpuf_settings[fallback_ppp_cost]" value="<?php echo esc_attr( $fallback_ppp_cost ); ?>" />
60
  </label>
61
  <p class="description"><?php _e( 'Cost of pay per post after a subscription pack limit is reached.', 'wpuf' ); ?></p>
62
  </td>
63
  </tr>
64
 
65
  <tr class="show-if-payment">
66
+ <th><?php _e( 'Pay Per Post', 'wpuf' ); ?></th>
67
  <td>
68
  <label>
69
  <input type="hidden" name="wpuf_settings[enable_pay_per_post]" value="false">
70
  <input type="checkbox" name="wpuf_settings[enable_pay_per_post]" value="true"<?php checked( $enable_pay_per_post, 'true' ); ?> />
71
+ <?php _e( 'Enable Pay Per Post', 'wpuf' ) ?>
72
  </label>
73
+ <p class="description"><?php _e( 'Charge users for posting,', 'wpuf' ); ?><a target="_blank" href="https://wedevs.com/docs/wp-user-frontend-pro/subscription-payment/how-to-charge-for-each-post-submission/"><?php _e( ' Learn More about Pay Per Post.', 'wpuf' ); ?></a></p>
74
  </td>
75
  </tr>
76
 
admin/html/form-settings-post-edit.php CHANGED
@@ -44,7 +44,7 @@ $subscription = isset( $form_settings['subscription'] ) ? $form_settings
44
  ?>
45
  </select>
46
  <p class="description">
47
- <?php _e( 'After successfull submit, where the page will redirect to', $domain = 'default' ) ?>
48
  </p>
49
  </td>
50
  </tr>
@@ -79,7 +79,7 @@ $subscription = isset( $form_settings['subscription'] ) ? $form_settings
79
  </tr>
80
 
81
  <tr class="wpuf-subscription-pack" style="display: none;">
82
- <th><?php _e( 'Subscription Title'); ?></th>
83
  <td>
84
  <select id="wpuf-subscription-list" name="wpuf_settings[subscription]">
85
  <?php $this->subscription_dropdown( $subscription ); ?>
44
  ?>
45
  </select>
46
  <p class="description">
47
+ <?php _e( 'After successfull submit, where the page will redirect to', $domain = 'wpuf' ) ?>
48
  </p>
49
  </td>
50
  </tr>
79
  </tr>
80
 
81
  <tr class="wpuf-subscription-pack" style="display: none;">
82
+ <th><?php _e( 'Subscription Title', 'wpuf'); ?></th>
83
  <td>
84
  <select id="wpuf-subscription-list" name="wpuf_settings[subscription]">
85
  <?php $this->subscription_dropdown( $subscription ); ?>
admin/html/form-settings-post.php CHANGED
@@ -14,8 +14,8 @@ $default_cat = isset( $form_settings['default_cat'] ) ? $form_settings
14
  $guest_post = isset( $form_settings['guest_post'] ) ? $form_settings['guest_post'] : 'false';
15
  $guest_details = isset( $form_settings['guest_details'] ) ? $form_settings['guest_details'] : 'true';
16
  $guest_email_verify = isset( $form_settings['guest_email_verify'] ) ? $form_settings['guest_email_verify'] : 'false';
17
- $name_label = isset( $form_settings['name_label'] ) ? $form_settings['name_label'] : __( 'Name' );
18
- $email_label = isset( $form_settings['email_label'] ) ? $form_settings['email_label'] : __( 'Email' );
19
  $message_restrict = isset( $form_settings['message_restrict'] ) ? $form_settings['message_restrict'] : $restrict_message;
20
 
21
  $redirect_to = isset( $form_settings['redirect_to'] ) ? $form_settings['redirect_to'] : 'post';
@@ -49,12 +49,14 @@ $draft_post = isset( $form_settings['draft_post'] ) ? $form_settings[
49
  unset($post_types['custom_css']);
50
  unset($post_types['customize_changeset']);
51
  unset($post_types['wpuf_coupon']);
 
52
 
53
  foreach ($post_types as $post_type) {
54
  printf('<option value="%s"%s>%s</option>', $post_type, selected( $post_type_selected, $post_type, false ), $post_type );
55
  }
56
  ?>
57
  </select>
 
58
  </td>
59
  </tr>
60
 
@@ -188,7 +190,7 @@ $draft_post = isset( $form_settings['draft_post'] ) ? $form_settings[
188
  ?>
189
  </select>
190
  <p class="description">
191
- <?php _e( 'After successfull submit, where the page will redirect to', $domain = 'default' ) ?>
192
  </p>
193
  </td>
194
  </tr>
@@ -226,8 +228,8 @@ $draft_post = isset( $form_settings['draft_post'] ) ? $form_settings[
226
  <th><?php _e( 'Comment Status', 'wpuf' ); ?></th>
227
  <td>
228
  <select name="wpuf_settings[comment_status]">
229
- <option value="open" <?php selected( $comment_status, 'open'); ?>><?php _e('Open'); ?></option>
230
- <option value="closed" <?php selected( $comment_status, 'closed'); ?>><?php _e('Closed'); ?></option>
231
  </select>
232
  </td>
233
  </tr>
14
  $guest_post = isset( $form_settings['guest_post'] ) ? $form_settings['guest_post'] : 'false';
15
  $guest_details = isset( $form_settings['guest_details'] ) ? $form_settings['guest_details'] : 'true';
16
  $guest_email_verify = isset( $form_settings['guest_email_verify'] ) ? $form_settings['guest_email_verify'] : 'false';
17
+ $name_label = isset( $form_settings['name_label'] ) ? $form_settings['name_label'] : __( 'Name', 'wpuf' );
18
+ $email_label = isset( $form_settings['email_label'] ) ? $form_settings['email_label'] : __( 'Email', 'wpuf' );
19
  $message_restrict = isset( $form_settings['message_restrict'] ) ? $form_settings['message_restrict'] : $restrict_message;
20
 
21
  $redirect_to = isset( $form_settings['redirect_to'] ) ? $form_settings['redirect_to'] : 'post';
49
  unset($post_types['custom_css']);
50
  unset($post_types['customize_changeset']);
51
  unset($post_types['wpuf_coupon']);
52
+ unset($post_types['oembed_cache']);
53
 
54
  foreach ($post_types as $post_type) {
55
  printf('<option value="%s"%s>%s</option>', $post_type, selected( $post_type_selected, $post_type, false ), $post_type );
56
  }
57
  ?>
58
  </select>
59
+ <p class="description"><?php _e( 'Custom Post Type will appear here. ', 'wpuf' );?><a target="_blank" href="https://wedevs.com/docs/wp-user-frontend-pro/posting-forms/different-custom-post-type-submission-2/"><?php _e('Learn More ', 'wpuf')?></a></p>
60
  </td>
61
  </tr>
62
 
190
  ?>
191
  </select>
192
  <p class="description">
193
+ <?php _e( 'After successfull submit, where the page will redirect to', $domain = 'wpuf' ) ?>
194
  </p>
195
  </td>
196
  </tr>
228
  <th><?php _e( 'Comment Status', 'wpuf' ); ?></th>
229
  <td>
230
  <select name="wpuf_settings[comment_status]">
231
+ <option value="open" <?php selected( $comment_status, 'open'); ?>><?php _e('Open', 'wpuf'); ?></option>
232
+ <option value="closed" <?php selected( $comment_status, 'closed'); ?>><?php _e('Closed', 'wpuf'); ?></option>
233
  </select>
234
  </td>
235
  </tr>
admin/html/support.php CHANGED
@@ -1,4 +1,6 @@
1
  <?php
 
 
2
  $articles = array(
3
  'setup' => array(
4
  array(
@@ -203,6 +205,32 @@ function wpuf_help_related_articles( $articles ) {
203
  <div class="wrap wpuf-help-page">
204
  <h1><?php _e( 'General Help Questions', 'wpuf' ); ?> <a href="https://wedevs.com/docs/wp-user-frontend-pro/?utm_source=wpuf-help-page&utm_medium=button-primary&utm_campaign=view-all-docs" target="_blank" class="page-title-action"><span class="dashicons dashicons-external" style="margin-top: 8px;"></span> <?php _e( 'View all Documentations', 'wpuf' ); ?></a></h1>
205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
 
207
  <div class="wpuf-help-tabbed">
208
  <nav>
@@ -453,7 +481,7 @@ function wpuf_help_related_articles( $articles ) {
453
 
454
  <p><?php _e( 'Report any Bug that you Discovered, Get Instant Solutions.', 'wpuf' ); ?></p>
455
 
456
- <a target="_blank" class="button button-primary" href="https://github.com/weDevsOfficial/wp-user-frontend/https://wedevs.com/account/tickets/?utm_source=wpuf-help-page&utm_medium=help-block&utm_campaign=found-bugs"><?php _e( 'Report to GitHub', 'wpuf' ); ?></a>
457
  </div>
458
 
459
  <div class="help-block">
@@ -494,5 +522,35 @@ function wpuf_help_related_articles( $articles ) {
494
  }
495
  });
496
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
497
  });
498
  </script>
1
  <?php
2
+ $current_user = wp_get_current_user();
3
+
4
  $articles = array(
5
  'setup' => array(
6
  array(
205
  <div class="wrap wpuf-help-page">
206
  <h1><?php _e( 'General Help Questions', 'wpuf' ); ?> <a href="https://wedevs.com/docs/wp-user-frontend-pro/?utm_source=wpuf-help-page&utm_medium=button-primary&utm_campaign=view-all-docs" target="_blank" class="page-title-action"><span class="dashicons dashicons-external" style="margin-top: 8px;"></span> <?php _e( 'View all Documentations', 'wpuf' ); ?></a></h1>
207
 
208
+ <form class="wpuf-subscribe-box" id="wpuf-form-subscribe" action="https://wedevs.us16.list-manage.com/subscribe/post-json?u=66e606cfe0af264974258f030&id=0d176bb256&c=?" method="get">
209
+
210
+ <div class="text-wrap">
211
+ <h3><?php _e( 'Subscribe to Our Newsletter', 'wpuf' ); ?></h3>
212
+ <p>
213
+ <?php _e( 'Subscribe to our newsletter for regular <strong>tips</strong>, <strong>offers</strong> and <strong>news updates</strong>.', 'wpuf' ); ?>
214
+ </p>
215
+ </div>
216
+
217
+ <div class="form-wrap">
218
+ <div class="fname">
219
+ <label for="fname"><?php _e( 'First Name', 'wpuf' ); ?></label>
220
+ <input type="text" name="FNAME" id="fname" class="regular-text" value="<?php echo esc_attr( $current_user->first_name ); ?>" required>
221
+ </div>
222
+
223
+ <div class="email">
224
+ <label for="email"><?php _e( 'Email', 'wpuf' ); ?></label>
225
+ <input type="email" name="EMAIL" id="email" class="regular-text" value="<?php echo esc_attr( $current_user->user_email ); ?>" required>
226
+ </div>
227
+
228
+ <div class="submit-btn">
229
+ <input type="hidden" name="group[3555][1]" value="1">
230
+ <input type="submit" class="button button-primary" value="<?php echo esc_attr( __( 'Subscribe', 'wpuf' ) ); ?>">
231
+ </div>
232
+ </div>
233
+ </form>
234
 
235
  <div class="wpuf-help-tabbed">
236
  <nav>
481
 
482
  <p><?php _e( 'Report any Bug that you Discovered, Get Instant Solutions.', 'wpuf' ); ?></p>
483
 
484
+ <a target="_blank" class="button button-primary" href="https://github.com/weDevsOfficial/wp-user-frontend/?utm_source=wpuf-help-page&utm_medium=help-block&utm_campaign=found-bugs"><?php _e( 'Report to GitHub', 'wpuf' ); ?></a>
485
  </div>
486
 
487
  <div class="help-block">
522
  }
523
  });
524
  });
525
+
526
+ $('#wpuf-form-subscribe').submit(function(e) {
527
+ e.preventDefault();
528
+
529
+ var form = $(this);
530
+
531
+ form.find('input[type="submit"]').prop('disabled', true);
532
+
533
+ $.ajax({
534
+ url: form.attr('action'),
535
+ data: form.serialize(),
536
+ type: 'GET',
537
+ dataType: 'json',
538
+ cache: false,
539
+ contentType: "application/json; charset=utf-8",
540
+ })
541
+ .done(function(data) {
542
+ // console.log(data);
543
+
544
+ if (data.result != "success") {
545
+ // do something
546
+ }
547
+ })
548
+ .fail(function() {
549
+ // console.log("error");
550
+ })
551
+ .always(function(response) {
552
+ $('.form-wrap', form).html( '<div class="thank-you">' + response.msg + '</div>' );
553
+ });
554
+ });
555
  });
556
  </script>
admin/html/whats-new.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $changelog = array(
3
+ array(
4
+ 'version' => 'Version 2.7',
5
+ 'released' => '2017-12-12',
6
+ 'changes' => array(
7
+ array(
8
+ 'title' => 'Interactive Settings Page to Manage it All',
9
+ 'type' => 'Improvement',
10
+ 'description' => 'WP User Frontend now has better and improved settings page where you can easily configure everything for your WP User Frontend.
11
+ <img src="'. WPUF_ASSET_URI .'/images/whats-new/settings.png" alt="WP User Frontend Settings">'
12
+ ),
13
+ array(
14
+ 'title' => 'Fallback cost for form subscription payment',
15
+ 'type' => 'New',
16
+ 'description' => 'When a subscribed user reaches post limit before the pack expires, this option will allow user to pay per post and continue making posts until the membership is valid.
17
+ <br><iframe width="100%" height="400" src="https://www.youtube.com/embed/-Z_uNM8eB_Y" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe>'
18
+ ),
19
+ array(
20
+ 'title' => 'Integrated WP User Frontend with Dokan',
21
+ 'type' => 'New',
22
+ 'description' => 'Admin can allow vendors to create and publish posts on the marketplace from the vendor dashboard. Admin can also select the form that vendor will use. Vendors will be able to make use of all the WPUF settings in this form.
23
+ <br><iframe width="100%" height="400" src="https://www.youtube.com/embed/6n6CtGjTCF4" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe>'
24
+ ),
25
+ array(
26
+ 'title' => 'Bulk accept pending transactions',
27
+ 'type' => 'New',
28
+ 'description' => 'When you have a lots of pending transactions, completing all those individual transactions take time. Now you can bulk complete the selected transactions with at once.'
29
+ ),
30
+ array(
31
+ 'title' => 'Subscribe to our newsletter',
32
+ 'type' => 'New',
33
+ 'description' => 'Newsletter subscription form added on the help page to keep you staying updated with latest news from us.
34
+ <img src="http://d.pr/i/QstTQq+" alt="Newsletter subscription form" />'
35
+ ),
36
+ )
37
+ )
38
+ );
39
+
40
+ function _wpuf_changelog_content( $content ) {
41
+ $content = wpautop( $content, true );
42
+
43
+ return $content;
44
+ }
45
+ ?>
46
+
47
+ <div class="wrap wpuf-whats-new">
48
+ <h1><?php _e( 'What\'s New in WPUF?', 'wpuf' ); ?></h1>
49
+
50
+ <div class="wedevs-changelog-wrapper">
51
+
52
+ <?php foreach ( $changelog as $release ) { ?>
53
+ <div class="wedevs-changelog">
54
+ <div class="wedevs-changelog-version">
55
+ <h3><?php echo esc_html( $release['version'] ); ?></h3>
56
+ <p class="released">
57
+ (<?php echo human_time_diff( time(), strtotime( $release['released'] ) ); ?> ago)
58
+ </p>
59
+ </div>
60
+ <div class="wedevs-changelog-history">
61
+ <ul>
62
+ <?php foreach ( $release['changes'] as $change ) { ?>
63
+ <li>
64
+ <h4>
65
+ <span class="title"><?php echo esc_html( $change['title'] ); ?></span>
66
+ <span class="label <?php echo strtolower( $change['type'] ); ?>"><?php echo esc_html( $change['type'] ); ?></span>
67
+ </h4>
68
+
69
+ <div class="description">
70
+ <?php echo _wpuf_changelog_content( $change['description'] ); ?>
71
+ </div>
72
+ </li>
73
+ <?php } ?>
74
+ </ul>
75
+ </div>
76
+ </div>
77
+ <?php } ?>
78
+ </div>
79
+
80
+ </div>
admin/installer.php CHANGED
@@ -80,10 +80,10 @@ class WPUF_Admin_Installer {
80
  $post_form = $this->create_form();
81
 
82
  // payment page
83
- $subscr_page = $this->create_page( __( 'Subscription', 'wpuf' ), __( '[wpuf_sub_pack]') );
84
- $payment_page = $this->create_page( __( 'Payment', 'wpuf' ), __( 'Please select a gateway for payment') );
85
- $thank_page = $this->create_page( __( 'Thank You', 'wpuf' ), __( '<h1>Payment is complete</h1><p>Congratulations, your payment has been completed!</p>') );
86
- $bank_page = $this->create_page( __( 'Order Received', 'wpuf' ), __( 'Hi, we have received your order. We will validate the order and will take necessary steps to move forward.') );
87
 
88
  // save the settings
89
  if ( $edit_page ) {
80
  $post_form = $this->create_form();
81
 
82
  // payment page
83
+ $subscr_page = $this->create_page( __( 'Subscription', 'wpuf' ), __( '[wpuf_sub_pack]', 'wpuf') );
84
+ $payment_page = $this->create_page( __( 'Payment', 'wpuf' ), __( 'Please select a gateway for payment', 'wpuf') );
85
+ $thank_page = $this->create_page( __( 'Thank You', 'wpuf' ), __( '<h1>Payment is complete</h1><p>Congratulations, your payment has been completed!</p>', 'wpuf') );
86
+ $bank_page = $this->create_page( __( 'Order Received', 'wpuf' ), __( 'Hi, we have received your order. We will validate the order and will take necessary steps to move forward.', 'wpuf') );
87
 
88
  // save the settings
89
  if ( $edit_page ) {
admin/premium.php ADDED
@@ -0,0 +1,235 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap wpuf-premium about-wrap">
2
+ <h1><?php _e( 'WPUF Pro', 'wpuf' ); ?></h1>
3
+
4
+ <p class="about-text"><?php _e( 'Upgrade to the premium versions of WPUF and unlock even more useful features.', 'wpuf' ); ?></p>
5
+ <div class="wp-badge"><?php _e( 'WPUF Pro', 'wpuf' ); ?></div>
6
+
7
+ <hr>
8
+ <div class="feature-section one-col">
9
+ <div class="col">
10
+ <h2><?php _e( 'Pro Features', 'wpuf' ); ?></h2>
11
+ <p style="text-align: center; font-size: 16px;"><?php _e( 'WPUF Pro is designed just for you, specially to fulfil your business needs. We have designed and curated every feature keeping your requirements in mind.', 'wpuf' ); ?></p>
12
+ </div>
13
+ </div>
14
+
15
+ <div class="feature-section two-col">
16
+ <div class="col feature-wrap">
17
+ <div class="feature-image">
18
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/premium/registration.gif" alt="<?php _e( 'Registration Form Builder', 'wpuf' ); ?>">
19
+ </div>
20
+ <div class="feature-details">
21
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/registration-profile-forms/how-to-setup-registrationlogin-page/" target="_blank"><?php _e( 'Registration Form Builder', 'wpuf' ); ?></a></h3>
22
+ <p><?php _e( 'Registration form builder is a two way form which can be used both for user registration and profile editing. You could also manage Register for Subscription Package Purchase.', 'wpuf' ); ?></p>
23
+ </div>
24
+ </div>
25
+
26
+ <div class="col feature-wrap">
27
+ <div class="feature-image">
28
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/premium/advanced-fields.png" alt="<?php _e( 'Advanced Fields', 'wpuf' ); ?>">
29
+ </div>
30
+ <div class="feature-details">
31
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/posting-forms/form-elements/" target="_blank"><?php _e( 'Advanced Fields', 'wpuf' ); ?></a></h3>
32
+ <ul>
33
+ <li><?php _e( 'Country List', 'wpuf' ); ?></li>
34
+ <li><?php _e( 'Address', 'wpuf' ); ?></li>
35
+ <li><?php _e( 'Date Field', 'wpuf' ); ?></li>
36
+ <li><?php _e( 'Google Map', 'wpuf' ); ?></li>
37
+ <li><?php _e( 'Action Hook', 'wpuf' ); ?></li>
38
+ <li><?php _e( 'Rating', 'wpuf' ); ?></li>
39
+ <li><?php _e( 'Shortcode', 'wpuf' ); ?></li>
40
+ <li><?php _e( 'Number', 'wpuf' ); ?></li>
41
+ <li><?php _e( 'Repeater', 'wpuf' ); ?></li>
42
+ <li><?php _e( 'File Upload', 'wpuf' ); ?></li>
43
+ <li><?php _e( 'Captcha', 'wpuf' ); ?></li>
44
+ <li><?php _e( 'TOC', 'wpuf' ); ?></li>
45
+ </ul>
46
+ </div>
47
+ </div>
48
+
49
+ <div class="col feature-wrap">
50
+ <div class="feature-image">
51
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/premium/coupon.gif" alt="<?php _e( 'Manage Coupons', 'wpuf' ); ?>">
52
+ </div>
53
+ <div class="feature-details">
54
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/subscription-payment/coupons/" target="_blank"><?php _e( 'Manage Coupons', 'wpuf' ); ?></a></h3>
55
+ <p><?php _e( 'Simple yet powerful coupon management system. Use Coupon codes for selling subscription pack with discounts.', 'wpuf' ); ?></p>
56
+ </div>
57
+ </div>
58
+
59
+ <div class="col feature-wrap">
60
+ <div class="feature-image">
61
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/premium/content-restrictions.gif" alt="<?php _e( 'Content Restrictions', 'wpuf' ); ?>">
62
+ </div>
63
+ <div class="feature-details">
64
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/content-restriction/content-restriction/" target="_blank"><?php _e( 'Content Restrictions', 'wpuf' ); ?></a></h3>
65
+ <p><?php _e( 'You can restrict premium content for users by access role, registration or subscriptions only with just a shortcode.', 'wpuf' ); ?></p>
66
+ </div>
67
+ </div>
68
+
69
+ <div class="col feature-wrap">
70
+ <div class="feature-image">
71
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/premium/conditional-logic.gif" alt="<?php _e( 'Conditional Logic', 'wpuf' ); ?>">
72
+ </div>
73
+ <div class="feature-details">
74
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/posting-forms/how-to-use-conditional-logic/" target="_blank"><?php _e( 'Conditional Logic', 'wpuf' ); ?></a></h3>
75
+ <p><?php _e( 'Configure your form’s settings and user flow based on conditional selection. Your forms should appear just the way you want it.', 'wpuf' ); ?></p>
76
+ </div>
77
+ </div>
78
+
79
+ <div class="col feature-wrap">
80
+ <div class="feature-image">
81
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/premium/multi-step.gif" alt="<?php _e( 'Multi-step Form', 'wpuf' ); ?>">
82
+ </div>
83
+ <div class="feature-details">
84
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/posting-forms/how-to-add-multi-step-form/" target="_blank"><?php _e( 'Multi-step Form', 'wpuf' ); ?></a></h3>
85
+ <p><?php _e( 'Break down the long forms into smaller and attractive multi step forms. Long and lengthy forms are uninviting, why build one?', 'wpuf' ); ?></p>
86
+ </div>
87
+ </div>
88
+ </div>
89
+
90
+ <hr>
91
+ <div class="feature-section one-col">
92
+ <div class="col">
93
+ <h2><?php _e( 'Modules', 'wpuf' ); ?></h2>
94
+ <p style="text-align: center; font-size: 16px;"><?php _e( 'A bunch of awesome modules to speed up your business growth.', 'wpuf' ); ?></p>
95
+ </div>
96
+ </div>
97
+
98
+ <div class="headline-feature two-col">
99
+ <div class="col module-wrap">
100
+ <div class="module-image">
101
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/Social-Media-Login.png" alt="<?php _e( 'BuddyPress Profile', 'wpuf' ); ?>">
102
+ </div>
103
+ <div class="module-details">
104
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/social-login-registration/" target="_blank"><?php _e( 'Social Login', 'wpuf' ); ?></a></h3>
105
+ <p><?php _e( 'Allow your users to Register or Login using Social networks like Google, Facebook, Twitter and LinkedIn.', 'wpuf' ); ?></p>
106
+ </div>
107
+ </div>
108
+
109
+ <div class="col module-wrap">
110
+ <div class="module-image">
111
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-ul.png" alt="<?php _e( 'User Directory', 'wpuf' ); ?>">
112
+ </div>
113
+ <div class="module-details">
114
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/user-listing-profile/" target="_blank"><?php _e( 'User Directory', 'wpuf' ); ?></a></h3>
115
+ <p><?php _e( 'Handle user listing and user profile in the frontend. Create a directory site easily.', 'wpuf' ); ?></p>
116
+ </div>
117
+ </div>
118
+
119
+ <div class="col module-wrap">
120
+ <div class="module-image">
121
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-buddypress.png" alt="<?php _e( 'BuddyPress Profile', 'wpuf' ); ?>">
122
+ </div>
123
+ <div class="module-details">
124
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/buddypress-profile-integration/" target="_blank"><?php _e( 'BuddyPress Profile', 'wpuf' ); ?></a></h3>
125
+ <p><?php _e( 'Register and upgrade user profiles and sync data with BuddyPress.', 'wpuf' ); ?></p>
126
+ </div>
127
+ </div>
128
+
129
+ <div class="col module-wrap">
130
+ <div class="module-image">
131
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-ua.png" alt="<?php _e( 'MailChimp Integration', 'wpuf' ); ?>">
132
+ </div>
133
+ <div class="module-details">
134
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/user-analytics/" target="_blank"><?php _e( 'User Analytics', 'wpuf' ); ?></a></h3>
135
+ <p><?php _e( 'Show user tracking info during post and registration directly on Frontend.', 'wpuf' ); ?></p>
136
+ </div>
137
+ </div>
138
+
139
+ <div class="col module-wrap">
140
+ <div class="module-image">
141
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-pmpro.png" alt="<?php _e( 'Paid Membership Pro', 'wpuf' ); ?>">
142
+ </div>
143
+ <div class="module-details">
144
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/install-and-configure-pmpro-add-on-for-wpuf/" target="_blank"><?php _e( 'Paid Membership Pro', 'wpuf' ); ?></a></h3>
145
+ <p><?php _e( 'Membership Integration of WP User Frontend with Paid Membership Pro.', 'wpuf' ); ?></p>
146
+ </div>
147
+ </div>
148
+
149
+ <div class="col module-wrap">
150
+ <div class="module-image">
151
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-stripe.png" alt="<?php _e( 'Stripe Payment', 'wpuf' ); ?>">
152
+ </div>
153
+ <div class="module-details">
154
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/stripe/" target="_blank"><?php _e( 'Stripe Payment', 'wpuf' ); ?></a></h3>
155
+ <p><?php _e( 'Stripe payment gateway for WP User Frontend. Get your subscription payment with Stripe.', 'wpuf' ); ?></p>
156
+ </div>
157
+ </div>
158
+
159
+ <div class="col module-wrap">
160
+ <div class="module-image">
161
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-mailpoet.png" alt="<?php _e( 'Mailpoet', 'wpuf' ); ?>">
162
+ </div>
163
+ <div class="module-details">
164
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/mailpoet/" target="_blank"><?php _e( 'Mailpoet', 'wpuf' ); ?></a></h3>
165
+ <p><?php _e( 'Add subscribers to mailpoet mailing list when they registers via WP User Frontend Pro.', 'wpuf' ); ?></p>
166
+ </div>
167
+ </div>
168
+
169
+ <div class="col module-wrap">
170
+ <div class="module-image">
171
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-mailchimp.png" alt="<?php _e( 'MailChimp Integration', 'wpuf' ); ?>">
172
+ </div>
173
+ <div class="module-details">
174
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/add-users-to-mailchimp-subscribers-list-upon-registration-from-frontend/" target="_blank"><?php _e( 'MailChimp', 'wpuf' ); ?></a></h3>
175
+ <p><?php _e( 'Integrate your desired form to your MailChimp email newsletter using latest API.', 'wpuf' ); ?></p>
176
+ </div>
177
+ </div>
178
+
179
+ <div class="col module-wrap">
180
+ <div class="module-image">
181
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-sms.png" alt="<?php _e( 'SMS Notification', 'wpuf' ); ?>">
182
+ </div>
183
+ <div class="module-details">
184
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/sms-notification/" target="_blank"><?php _e( 'SMS Notification', 'wpuf' ); ?></a></h3>
185
+ <p><?php _e( 'Get instant SMS notification on your mobile when post submits on your site.', 'wpuf' ); ?></p>
186
+ </div>
187
+ </div>
188
+
189
+ <div class="col module-wrap">
190
+ <div class="module-image">
191
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-comment.png" alt="<?php _e( 'SMS Notification', 'wpuf' ); ?>">
192
+ </div>
193
+ <div class="module-details">
194
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/frontend-comment-manager/" target="_blank"><?php _e( 'Comment Manager', 'wpuf' ); ?></a></h3>
195
+ <p><?php _e( 'Handle comments in frontend. View / reply comments on post.', 'wpuf' ); ?></p>
196
+ </div>
197
+ </div>
198
+
199
+ <div class="col module-wrap">
200
+ <div class="module-image">
201
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/wpuf-qr.png" alt="<?php _e( 'SMS Notification', 'wpuf' ); ?>">
202
+ </div>
203
+ <div class="module-details">
204
+ <h3><a href="https://wedevs.com/docs/wp-user-frontend-pro/modules/qr-code/" target="_blank"><?php _e( 'QR Code Generator', 'wpuf' ); ?></a></h3>
205
+ <p><?php _e( 'Generate QR Code with your custom fields or custom post meta.', 'wpuf' ); ?></p>
206
+ </div>
207
+ </div>
208
+
209
+ <div class="col module-wrap">
210
+ <div class="module-image">
211
+ <img src="<?php echo WPUF_ASSET_URI; ?>/images/modules/more.png" alt="<?php _e( 'More...', 'wpuf' ); ?>">
212
+ </div>
213
+ <div class="module-details">
214
+ <h3><?php _e( 'More...', 'wpuf' ); ?></h3>
215
+ <p><?php _e( 'A bunch of more modules are coming soon.', 'wpuf' ); ?></p>
216
+ </div>
217
+ </div>
218
+ </div>
219
+
220
+ <div style="display: block; height: 100px; overflow: hidden;"></div>
221
+
222
+ <div class="wpuf-upgrade-sticky-footer">
223
+
224
+ <div class="text-left">
225
+ <h3><?php _e( 'Upgrade To The Most Powerful Frontend Plugin', 'wpuf' ); ?></h3>
226
+
227
+ <p><?php _e( 'WP User Frontend Pro is the most powerful solution for your frontend needs.', 'wpuf' ); ?></p>
228
+ </div>
229
+
230
+ <div class="text-right">
231
+ <a class="button button-primary" href="<?php echo WPUF_Pro_Prompt::get_pro_url(); ?>" target="_blank"><?php _e( 'Upgrade Now', 'wpuf' ); ?></a>
232
+ </div>
233
+ </div>
234
+
235
+ </div>
admin/promotion.php CHANGED
@@ -37,7 +37,7 @@ class WPUF_Admin_Promotion {
37
 
38
  $product_text = ( ! wpuf()->is_pro() ) ? __( 'Pro upgrade and all extensions, ', 'wpuf' ) : __( 'all extensions, ', 'wpuf' );
39
 
40
- $offer_msg = __( '<h2><span class="dashicons dashicons-awards"></span> weDevs 4th Year Anniversary Offer</h2>', 'erp' );
41
  $offer_msg .= sprintf( __( '<p>Get <strong class="highlight-text">44&#37; discount</strong> on %2$s also <a target="_blank" href="%1$s"><strong>WIN any product</strong></a> from our 4th year anniversary giveaway. Offer ending soon!</p>', 'wpuf' ), 'https://wedevs.com/in/4years/?utm_source=freeplugin&utm_medium=prompt&utm_term=wpuf_plugin&utm_content=textlink&utm_campaign=wedevs_4_years', $product_text );
42
  ?>
43
  <div class="notice is-dismissible" id="wpuf-promotional-offer-notice">
37
 
38
  $product_text = ( ! wpuf()->is_pro() ) ? __( 'Pro upgrade and all extensions, ', 'wpuf' ) : __( 'all extensions, ', 'wpuf' );
39
 
40
+ $offer_msg = __( '<h2><span class="dashicons dashicons-awards"></span> weDevs 4th Year Anniversary Offer</h2>', 'wpuf' );
41
  $offer_msg .= sprintf( __( '<p>Get <strong class="highlight-text">44&#37; discount</strong> on %2$s also <a target="_blank" href="%1$s"><strong>WIN any product</strong></a> from our 4th year anniversary giveaway. Offer ending soon!</p>', 'wpuf' ), 'https://wedevs.com/in/4years/?utm_source=freeplugin&utm_medium=prompt&utm_term=wpuf_plugin&utm_content=textlink&utm_campaign=wedevs_4_years', $product_text );
42
  ?>
43
  <div class="notice is-dismissible" id="wpuf-promotional-offer-notice">
admin/settings-options.php CHANGED
@@ -10,23 +10,39 @@ function wpuf_settings_sections() {
10
  $sections = array(
11
  array(
12
  'id' => 'wpuf_general',
13
- 'title' => __( 'General Options', 'wpuf' )
 
 
 
 
 
 
14
  ),
15
  array(
16
  'id' => 'wpuf_dashboard',
17
- 'title' => __( 'Dashboard', 'wpuf' )
 
 
 
 
 
 
18
  ),
19
  array(
20
  'id' => 'wpuf_profile',
21
- 'title' => __( 'Login / Registration', 'wpuf' )
 
22
  ),
23
  array(
24
  'id' => 'wpuf_payment',
25
- 'title' => __( 'Payments', 'wpuf' )
 
26
  ),
27
  array(
28
  'id' => 'wpuf_guest_mails',
29
- 'title' => __( 'E-Mails', 'wpuf' )
 
 
30
  ),
31
  );
32
 
@@ -48,21 +64,6 @@ function wpuf_settings_fields() {
48
 
49
  $settings_fields = array(
50
  'wpuf_general' => apply_filters( 'wpuf_options_others', array(
51
- array(
52
- 'name' => 'edit_page_id',
53
- 'label' => __( 'Edit Page', 'wpuf' ),
54
- 'desc' => __( 'Select the page where [wpuf_edit] is located', 'wpuf' ),
55
- 'type' => 'select',
56
- 'options' => $pages
57
- ),
58
- array(
59
- 'name' => 'default_post_owner',
60
- 'label' => __( 'Default Post Owner', 'wpuf' ),
61
- 'desc' => __( 'If guest post is enabled and user details are OFF, the posts are assigned to this user', 'wpuf' ),
62
- 'type' => 'select',
63
- 'options' => $users,
64
- 'default' => '1'
65
- ),
66
  array(
67
  'name' => 'admin_access',
68
  'label' => __( 'Admin area access', 'wpuf' ),
@@ -88,13 +89,6 @@ function wpuf_settings_fields() {
88
  'no' => __( 'No', 'wpuf' )
89
  )
90
  ),
91
- array(
92
- 'name' => 'cf_show_front',
93
- 'label' => __( 'Custom Fields in post', 'wpuf' ),
94
- 'desc' => __( 'Show custom fields on post content area', 'wpuf' ),
95
- 'type' => 'checkbox',
96
- 'default' => 'off'
97
- ),
98
  array(
99
  'name' => 'load_script',
100
  'label' => __( 'Load Scripts', 'wpuf' ),
@@ -102,6 +96,45 @@ function wpuf_settings_fields() {
102
  'type' => 'checkbox',
103
  'default' => 'on'
104
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  array(
106
  'name' => 'insert_photo_size',
107
  'label' => __( 'Insert Photo image size', 'wpuf' ),
@@ -135,21 +168,6 @@ function wpuf_settings_fields() {
135
  'type' => 'select',
136
  'options' => wpuf_get_pages( 'wpuf_forms' )
137
  ),
138
- array(
139
- 'name' => 'recaptcha_public',
140
- 'label' => __( 'reCAPTCHA Site Key', 'wpuf' ),
141
- ),
142
- array(
143
- 'name' => 'recaptcha_private',
144
- 'label' => __( 'reCAPTCHA Secret Key', 'wpuf' ),
145
- 'desc' => __( '<a target="_blank" href="https://www.google.com/recaptcha/">Register here</a> to get reCaptcha Site and Secret keys.', 'wpuf' ),
146
- ),
147
- array(
148
- 'name' => 'custom_css',
149
- 'label' => __( 'Custom CSS codes', 'wpuf' ),
150
- 'desc' => __( 'If you want to add your custom CSS code, it will be added on page header wrapped with style tag', 'wpuf' ),
151
- 'type' => 'textarea'
152
- ),
153
  ) ),
154
  'wpuf_dashboard' => apply_filters( 'wpuf_options_dashboard', array(
155
  array(
@@ -221,7 +239,42 @@ function wpuf_settings_fields() {
221
  'type' => 'textarea'
222
  ),
223
  ) ),
224
- 'wpuf_profile' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
  array(
226
  'name' => 'autologin_after_registration',
227
  'label' => __( 'Auto Login After Registration', 'wpuf' ),
@@ -250,19 +303,8 @@ function wpuf_settings_fields() {
250
  'type' => 'select',
251
  'options' => $pages
252
  ),
253
- ),
254
  'wpuf_payment' => apply_filters( 'wpuf_options_payment', array(
255
- array(
256
- 'name' => 'show_subscriptions',
257
- 'label' => __( 'Show Subscriptions', 'wpuf' ),
258
- 'desc' => __( 'Show Subscriptions option in dashboard', 'wpuf' ),
259
- 'type' => 'select',
260
- 'default' => 'no',
261
- 'options' => array(
262
- 'yes' => __( 'Yes', 'wpuf' ),
263
- 'no' => __( 'No', 'wpuf' )
264
- )
265
- ),
266
  array(
267
  'name' => 'subscription_page',
268
  'label' => __( 'Subscription Pack Page', 'wpuf' ),
@@ -363,7 +405,7 @@ function wpuf_settings_fields() {
363
  array(
364
  'name' => 'guest_email_body',
365
  'label' => __( 'Guest Email Body', 'wpuf' ),
366
- 'desc' => __( "This sets the body of the emails sent to guest users. Please DON'T edit the '{activation_link}' part", 'wpuf' ),
367
  'default' => "Hey There, \r\n\r\nWe just received your guest post and now we want you to confirm your email so that we can verify the content and move on to the publishing process.\r\n\r\nPlease click the link below to verify: \r\n\r\n{activation_link}\r\n\r\nRegards,\r\n%sitename%",
368
  'type' => 'textarea',
369
  )
10
  $sections = array(
11
  array(
12
  'id' => 'wpuf_general',
13
+ 'title' => __( 'General Options', 'wpuf' ),
14
+ 'icon' => 'dashicons-admin-generic'
15
+ ),
16
+ array(
17
+ 'id' => 'wpuf_frontend_posting',
18
+ 'title' => __( 'Frontend Posting', 'wpuf' ),
19
+ 'icon' => 'dashicons-welcome-write-blog'
20
  ),
21
  array(
22
  'id' => 'wpuf_dashboard',
23
+ 'title' => __( 'Dashboard', 'wpuf' ),
24
+ 'icon' => 'dashicons-dashboard'
25
+ ),
26
+ array(
27
+ 'id' => 'wpuf_my_account',
28
+ 'title' => __( 'My Account', 'wpuf' ),
29
+ 'icon' => 'dashicons-id'
30
  ),
31
  array(
32
  'id' => 'wpuf_profile',
33
+ 'title' => __( 'Login / Registration', 'wpuf' ),
34
+ 'icon' => 'dashicons-admin-users'
35
  ),
36
  array(
37
  'id' => 'wpuf_payment',
38
+ 'title' => __( 'Payments', 'wpuf' ),
39
+ 'icon' => 'dashicons-money'
40
  ),
41
  array(
42
  'id' => 'wpuf_guest_mails',
43
+ 'title' => __( 'E-Mails', 'wpuf' ),
44
+ 'icon' => 'dashicons-email-alt'
45
+
46
  ),
47
  );
48
 
64
 
65
  $settings_fields = array(
66
  'wpuf_general' => apply_filters( 'wpuf_options_others', array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  array(
68
  'name' => 'admin_access',
69
  'label' => __( 'Admin area access', 'wpuf' ),
89
  'no' => __( 'No', 'wpuf' )
90
  )
91
  ),
 
 
 
 
 
 
 
92
  array(
93
  'name' => 'load_script',
94
  'label' => __( 'Load Scripts', 'wpuf' ),
96
  'type' => 'checkbox',
97
  'default' => 'on'
98
  ),
99
+ array(
100
+ 'name' => 'recaptcha_public',
101
+ 'label' => __( 'reCAPTCHA Site Key', 'wpuf' ),
102
+ ),
103
+ array(
104
+ 'name' => 'recaptcha_private',
105
+ 'label' => __( 'reCAPTCHA Secret Key', 'wpuf' ),
106
+ 'desc' => __( '<a target="_blank" href="https://www.google.com/recaptcha/">Register here</a> to get reCaptcha Site and Secret keys.', 'wpuf' ),
107
+ ),
108
+ array(
109
+ 'name' => 'custom_css',
110
+ 'label' => __( 'Custom CSS codes', 'wpuf' ),
111
+ 'desc' => __( 'If you want to add your custom CSS code, it will be added on page header wrapped with style tag', 'wpuf' ),
112
+ 'type' => 'textarea'
113
+ ),
114
+ ) ),
115
+ 'wpuf_frontend_posting' => apply_filters( 'wpuf_options_frontend_posting', array(
116
+ array(
117
+ 'name' => 'edit_page_id',
118
+ 'label' => __( 'Edit Page', 'wpuf' ),
119
+ 'desc' => __( 'Select the page where <code>[wpuf_edit]</code> is located', 'wpuf' ),
120
+ 'type' => 'select',
121
+ 'options' => $pages
122
+ ),
123
+ array(
124
+ 'name' => 'default_post_owner',
125
+ 'label' => __( 'Default Post Owner', 'wpuf' ),
126
+ 'desc' => __( 'If guest post is enabled and user details are OFF, the posts are assigned to this user', 'wpuf' ),
127
+ 'type' => 'select',
128
+ 'options' => $users,
129
+ 'default' => '1'
130
+ ),
131
+ array(
132
+ 'name' => 'cf_show_front',
133
+ 'label' => __( 'Custom Fields in post', 'wpuf' ),
134
+ 'desc' => __( 'Show custom fields on post content area', 'wpuf' ),
135
+ 'type' => 'checkbox',
136
+ 'default' => 'off'
137
+ ),
138
  array(
139
  'name' => 'insert_photo_size',
140
  'label' => __( 'Insert Photo image size', 'wpuf' ),
168
  'type' => 'select',
169
  'options' => wpuf_get_pages( 'wpuf_forms' )
170
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  ) ),
172
  'wpuf_dashboard' => apply_filters( 'wpuf_options_dashboard', array(
173
  array(
239
  'type' => 'textarea'
240
  ),
241
  ) ),
242
+ 'wpuf_my_account' => apply_filters( 'wpuf_options_wpuf_my_account', array(
243
+ array(
244
+ 'name' => 'show_subscriptions',
245
+ 'label' => __( 'Show Subscriptions', 'wpuf' ),
246
+ 'desc' => __( 'Show Subscriptions tab in "my account" page where <code>[wpuf_account]</code> is located', 'wpuf' ),
247
+ 'type' => 'select',
248
+ 'default' => 'yes',
249
+ 'options' => array(
250
+ 'yes' => __( 'Yes', 'wpuf' ),
251
+ 'no' => __( 'No', 'wpuf' )
252
+ )
253
+ ),
254
+ array(
255
+ 'name' => 'show_invoice',
256
+ 'label' => __( 'Show Invoice', 'wpuf' ),
257
+ 'desc' => __( 'Show Invoice tab in "my account" page where <code>[wpuf_account]</code> is located', 'wpuf' ),
258
+ 'type' => 'select',
259
+ 'default' => 'yes',
260
+ 'options' => array(
261
+ 'yes' => __( 'Yes', 'wpuf' ),
262
+ 'no' => __( 'No', 'wpuf' )
263
+ )
264
+ ),
265
+ array(
266
+ 'name' => 'show_billing_address',
267
+ 'label' => __( 'Show Billing Address', 'wpuf' ),
268
+ 'desc' => __( 'Show Billing Address tab in "my account" page where <code>[wpuf_account]</code> is located', 'wpuf' ),
269
+ 'type' => 'select',
270
+ 'default' => 'yes',
271
+ 'options' => array(
272
+ 'yes' => __( 'Yes', 'wpuf' ),
273
+ 'no' => __( 'No', 'wpuf' )
274
+ )
275
+ ),
276
+ ) ),
277
+ 'wpuf_profile' => apply_filters( 'wpuf_options_profile', array(
278
  array(
279
  'name' => 'autologin_after_registration',
280
  'label' => __( 'Auto Login After Registration', 'wpuf' ),
303
  'type' => 'select',
304
  'options' => $pages
305
  ),
306
+ ) ),
307
  'wpuf_payment' => apply_filters( 'wpuf_options_payment', array(
 
 
 
 
 
 
 
 
 
 
 
308
  array(
309
  'name' => 'subscription_page',
310
  'label' => __( 'Subscription Pack Page', 'wpuf' ),
405
  array(
406
  'name' => 'guest_email_body',
407
  'label' => __( 'Guest Email Body', 'wpuf' ),
408
+ 'desc' => __( "This sets the body of the emails sent to guest users. Please DON'T edit the <code>{activation_link}</code> part", 'wpuf' ),
409
  'default' => "Hey There, \r\n\r\nWe just received your guest post and now we want you to confirm your email so that we can verify the content and move on to the publishing process.\r\n\r\nPlease click the link below to verify: \r\n\r\n{activation_link}\r\n\r\nRegards,\r\n%sitename%",
410
  'type' => 'textarea',
411
  )
admin/template.php CHANGED
@@ -680,27 +680,27 @@ class WPUF_Admin_Template {
680
 
681
  <div class="wpuf-form-holder">
682
  <div class="wpuf-form-rows">
683
- <label><?php _e( 'Title', 'wpuf-pro' ); ?></label>
684
 
685
  <div class="wpuf-form-sub-fields">
686
  <input type="text" class="smallipopInput" title="Title of the section" name="<?php echo $title_name; ?>" value="<?php echo esc_attr( $title_value ); ?>" />
687
 
688
  <div class="description" style="margin-top: 8px;">
689
- <?php printf( __( "Insert your public key and private key in <a href='%s'>plugin settings</a>. <a href='%s' target='_blank'>Register</a> first if you don't have any keys." ), admin_url( 'admin.php?page=wpuf-settings' ), 'https://www.google.com/recaptcha/' ); ?>
690
  </div>
691
  </div> <!-- .wpuf-form-rows -->
692
  </div>
693
 
694
  <div class="wpuf-form-rows">
695
- <label><?php _e( 'reCaptcha type', 'wpuf-pro' ); ?></label>
696
 
697
  <div class="wpuf-form-sub-fields">
698
  <input type="radio" class="smallipopInput" title="reCaptcha type" name="<?php echo $recaptcha_type_name; ?>" value="invisible_recaptcha" <?php echo $recaptcha_type_value == 'invisible_recaptcha' ? 'checked':''; ?> />
699
- <?php _e( 'Enable Invisible reCaptcha', 'wpuf-pro' );?>
700
  </div> <!-- .wpuf-form-rows -->
701
  <div class="wpuf-form-sub-fields">
702
  <input type="radio" class="smallipopInput" title="reCaptcha type" name="<?php echo $recaptcha_type_name; ?>" value="enable_no_captcha" <?php echo $recaptcha_type_value == 'enable_no_captcha' ? 'checked':''; ?> />
703
- <?php _e( 'Enable noCaptcha', 'wpuf-pro' );?>
704
  </div> <!-- .wpuf-form-rows -->
705
  </div>
706
 
680
 
681
  <div class="wpuf-form-holder">
682
  <div class="wpuf-form-rows">
683
+ <label><?php _e( 'Title', 'wpuf' ); ?></label>
684
 
685
  <div class="wpuf-form-sub-fields">
686
  <input type="text" class="smallipopInput" title="Title of the section" name="<?php echo $title_name; ?>" value="<?php echo esc_attr( $title_value ); ?>" />
687
 
688
  <div class="description" style="margin-top: 8px;">
689
+ <?php printf( __( "Insert your public key and private key in <a href='%s'>plugin settings</a>. <a href='%s' target='_blank'>Register</a> first if you don't have any keys.", 'wpuf' ), admin_url( 'admin.php?page=wpuf-settings' ), 'https://www.google.com/recaptcha/' ); ?>
690
  </div>
691
  </div> <!-- .wpuf-form-rows -->
692
  </div>
693
 
694
  <div class="wpuf-form-rows">
695
+ <label><?php _e( 'reCaptcha type', 'wpuf' ); ?></label>
696
 
697
  <div class="wpuf-form-sub-fields">
698
  <input type="radio" class="smallipopInput" title="reCaptcha type" name="<?php echo $recaptcha_type_name; ?>" value="invisible_recaptcha" <?php echo $recaptcha_type_value == 'invisible_recaptcha' ? 'checked':''; ?> />
699
+ <?php _e( 'Enable Invisible reCaptcha', 'wpuf' );?>
700
  </div> <!-- .wpuf-form-rows -->
701
  <div class="wpuf-form-sub-fields">
702
  <input type="radio" class="smallipopInput" title="reCaptcha type" name="<?php echo $recaptcha_type_name; ?>" value="enable_no_captcha" <?php echo $recaptcha_type_value == 'enable_no_captcha' ? 'checked':''; ?> />
703
+ <?php _e( 'Enable noCaptcha', 'wpuf' );?>
704
  </div> <!-- .wpuf-form-rows -->
705
  </div>
706
 
admin/weforms.php CHANGED
@@ -9,7 +9,7 @@
9
 
10
  <div class="install" id="wpuf-weforms-installer-notice" style="padding: 1em 0; position: relative;">
11
  <p>
12
- <button id="wpuf-weforms-installer" class="button button-primary"><?php _e( 'Install Now', 'weforms' ); ?></button>
13
  </p>
14
  </div>
15
 
9
 
10
  <div class="install" id="wpuf-weforms-installer-notice" style="padding: 1em 0; position: relative;">
11
  <p>
12
+ <button id="wpuf-weforms-installer" class="button button-primary"><?php _e( 'Install Now', 'wpuf' ); ?></button>
13
  </p>
14
  </div>
15
 
assets/css/admin.css CHANGED
@@ -166,6 +166,281 @@ span.wpuf_help {
166
  width: 30px;
167
  margin-top: -5px;
168
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  .wpuf-help-tabbed {
170
  display: flex;
171
  width: 100%;
@@ -284,6 +559,62 @@ span.wpuf_help {
284
  .wpuf-help-tabbed .nav-content section .button-primary:hover {
285
  border-color: #005082;
286
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  .wpuf-help-page .help-blocks {
288
  display: flex;
289
  flex-wrap: wrap;
@@ -331,3 +662,157 @@ span.wpuf_help {
331
  .wpuf-help-page .wpuf-help-questions li .dashicons-arrow-right-alt2 {
332
  float: right;
333
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  width: 30px;
167
  margin-top: -5px;
168
  }
169
+ .wpuf-settings-wrap {
170
+ display: flex;
171
+ background: #fff;
172
+ box-shadow: 0 0 0 1px #c8d7e1, 0 1px 2px #e9eff3;
173
+ }
174
+ .wpuf-settings-wrap h2.nav-tab-wrapper {
175
+ flex: 1;
176
+ border-bottom: none;
177
+ padding: 0;
178
+ background-color: #f1f1f1;
179
+ border-right: 1px solid #c8d7e1;
180
+ }
181
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab {
182
+ float: none;
183
+ display: block;
184
+ margin: 0;
185
+ border: none;
186
+ padding: 14px;
187
+ border-bottom: 1px solid #c8d7e1;
188
+ font-weight: 500;
189
+ font-size: 13px;
190
+ border-right: 1px solid #c8d7e1;
191
+ color: #444;
192
+ text-decoration: none;
193
+ margin-right: -1px;
194
+ background-color: #f1f1f1;
195
+ }
196
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab.nav-tab-active {
197
+ background: #fff;
198
+ border-right: 1px solid #fff;
199
+ }
200
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab .dashicons {
201
+ margin-right: 10px;
202
+ }
203
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_general-tab .dashicons {
204
+ color: #9b59b6;
205
+ }
206
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_dashboard-tab .dashicons {
207
+ color: #6c75ff;
208
+ }
209
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_profile-tab .dashicons {
210
+ color: #00aeff;
211
+ }
212
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_frontend_posting-tab .dashicons {
213
+ color: #AD1457;
214
+ }
215
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_my_account-tab .dashicons {
216
+ color: #64DD17;
217
+ }
218
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_payment-tab .dashicons {
219
+ color: #e67e22;
220
+ }
221
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_guest_mails-tab .dashicons {
222
+ color: #115da7;
223
+ }
224
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_sms-tab .dashicons {
225
+ color: #00aeff;
226
+ }
227
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#wpuf_payment_invoices-tab .dashicons {
228
+ color: #1abc9d;
229
+ }
230
+ .wpuf-settings-wrap h2.nav-tab-wrapper a.nav-tab#user_directory-tab .dashicons {
231
+ color: #e74c3c;
232
+ }
233
+ .wpuf-settings-wrap .metabox-holder {
234
+ flex: 3;
235
+ margin-left: 30px;
236
+ }
237
+ .wpuf-settings-wrap .metabox-holder h2 {
238
+ border-bottom: 1px solid #c8d7e1;
239
+ padding-bottom: 15px;
240
+ margin-top: 14px;
241
+ }
242
+ .wpuf-settings-wrap .metabox-holder .form-table th {
243
+ padding-left: 0;
244
+ }
245
+ .wpuf-settings-wrap .metabox-holder p.submit {
246
+ margin-left: -10px;
247
+ border-top: 1px solid #f1f1f1;
248
+ padding-top: 20px;
249
+ text-align: right;
250
+ padding-right: 34px;
251
+ }
252
+ .wpuf-settings-wrap .metabox-holder p.submit .button-primary {
253
+ font-size: 15px;
254
+ height: 45px;
255
+ line-height: 100%;
256
+ padding: 0px 20px;
257
+ font-weight: normal;
258
+ }
259
+ /**
260
+ * Profile Edit Page
261
+ */
262
+ #profile-page .wpuf-user-subscription {
263
+ background-color: #fff;
264
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
265
+ border: 1px solid #e5e5e5;
266
+ margin-top: 15px;
267
+ }
268
+ #profile-page .wpuf-user-subscription h3 {
269
+ border-bottom: 1px solid #eee;
270
+ padding: 12px 15px;
271
+ font-size: 16px;
272
+ margin: 0;
273
+ }
274
+ #profile-page .wpuf-user-subscription .wpuf-pack-dropdown th {
275
+ padding-left: 15px;
276
+ }
277
+ #profile-page .wpuf-user-subscription .wpuf-sub-actions {
278
+ padding: 10px;
279
+ border-top: 1px solid #ddd;
280
+ background: #f5f5f5;
281
+ overflow: hidden;
282
+ display: block;
283
+ }
284
+ #profile-page .wpuf-user-subscription .wpuf-sub-actions .wpuf-delete-pack-btn {
285
+ float: right;
286
+ }
287
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary {
288
+ background: #f8f8f8;
289
+ border-bottom: 1px solid #eee;
290
+ margin-bottom: 10px;
291
+ display: flex;
292
+ flex-wrap: wrap;
293
+ }
294
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary * {
295
+ box-sizing: border-box;
296
+ }
297
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .sub-name,
298
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .sub-price {
299
+ width: 50%;
300
+ padding: 10px 15px;
301
+ }
302
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .sub-name span,
303
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .sub-price span {
304
+ display: block;
305
+ }
306
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .sub-name span.label,
307
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .sub-price span.label {
308
+ font-weight: bold;
309
+ }
310
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .sub-name {
311
+ border-right: 1px solid #eee;
312
+ }
313
+ #profile-page .wpuf-user-subscription .wpuf-sub-summary .info {
314
+ flex-basis: 100%;
315
+ padding: 0 15px;
316
+ background: #fef5be;
317
+ border-top: 1px solid #ffe98d;
318
+ }
319
+ #profile-page .wpuf-user-subscription .wpuf-sub-section {
320
+ padding: 0 15px;
321
+ border-bottom: 1px solid #eee;
322
+ }
323
+ #profile-page .wpuf-user-subscription .wpuf-sub-section h4 {
324
+ font-size: 15px;
325
+ }
326
+ #profile-page .wpuf-user-subscription .wpuf-sub-section:last-child {
327
+ border-bottom: none;
328
+ padding-bottom: 15px;
329
+ }
330
+ .wpuf-premium .wp-badge {
331
+ background: #40ce65 url(../images/wpuf-pro.png) no-repeat;
332
+ background-size: 100px 90px;
333
+ background-position: 35px 5px;
334
+ }
335
+ .wpuf-premium .wpuf-upgrade-sticky-footer {
336
+ position: fixed;
337
+ bottom: 0;
338
+ background: #fff;
339
+ width: calc(100% - 195px);
340
+ z-index: 9;
341
+ margin-left: -25px;
342
+ text-align: center;
343
+ border: 1px solid #dfdfdf;
344
+ padding: 20px 0 10px 0;
345
+ border-bottom: none;
346
+ display: flex;
347
+ border-top: 3px solid #FF9800;
348
+ }
349
+ .wpuf-premium .wpuf-upgrade-sticky-footer .text-left {
350
+ width: 70%;
351
+ }
352
+ .wpuf-premium .wpuf-upgrade-sticky-footer .text-left h3 {
353
+ margin: 0;
354
+ }
355
+ .wpuf-premium .wpuf-upgrade-sticky-footer .text-right {
356
+ width: 30%;
357
+ padding-top: 15px;
358
+ }
359
+ .wpuf-premium .wpuf-upgrade-sticky-footer .text-right .button-primary {
360
+ background: #00aadc;
361
+ border-color: #0087be;
362
+ text-shadow: none;
363
+ padding: 5px 20px;
364
+ height: auto;
365
+ margin: 0.3125rem 0;
366
+ font-size: 16px;
367
+ }
368
+ .wpuf-premium .wpuf-upgrade-sticky-footer .text-right .button-primary:hover {
369
+ border-color: #005082;
370
+ }
371
+ .wpuf-premium .four-col .col {
372
+ -webkit-align-self: flex-start;
373
+ -ms-flex-item-align: start;
374
+ align-self: flex-start;
375
+ min-width: 23%;
376
+ max-width: 23%;
377
+ }
378
+ .wpuf-premium .feature-section .feature-wrap {
379
+ background-color: #fafafa;
380
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
381
+ border: 1px solid #e5e5e5;
382
+ }
383
+ .wpuf-premium .feature-section .feature-wrap .feature-details {
384
+ padding: 0 20px 10px 20px;
385
+ }
386
+ .wpuf-premium .feature-section .feature-wrap .feature-details h3 a {
387
+ text-decoration: none;
388
+ }
389
+ .wpuf-premium .feature-section .feature-wrap .feature-details ul {
390
+ -moz-column-count: 4;
391
+ -moz-column-gap: 10px;
392
+ -webkit-column-count: 4;
393
+ -webkit-column-gap: 10px;
394
+ column-count: 4;
395
+ column-gap: 10px;
396
+ padding: 0;
397
+ margin: 0;
398
+ font-size: 14px;
399
+ }
400
+ .wpuf-premium .feature-section .feature-wrap .feature-details ul li {
401
+ padding-left: 1em;
402
+ text-indent: -0.7em;
403
+ }
404
+ .wpuf-premium .feature-section .feature-wrap .feature-details ul li::before {
405
+ content: "• ";
406
+ color: red;
407
+ /* or whatever color you prefer */
408
+ }
409
+ .wpuf-premium .feature-section .feature-wrap .feature-image {
410
+ border-bottom: 1px solid #e5e5e5;
411
+ margin-bottom: 15px;
412
+ }
413
+ .wpuf-premium .feature-section .feature-wrap .feature-image img {
414
+ max-width: 100%;
415
+ width: 100%;
416
+ height: auto;
417
+ margin-bottom: 0;
418
+ }
419
+ .wpuf-premium .module-wrap {
420
+ height: 122px;
421
+ display: flex;
422
+ flex-wrap: wrap;
423
+ background-color: #fafafa;
424
+ margin-bottom: 20px;
425
+ box-shadow: 0 0 5px 0 #ccc;
426
+ }
427
+ .wpuf-premium .module-wrap .module-image {
428
+ width: 25%;
429
+ margin-right: 4%;
430
+ }
431
+ .wpuf-premium .module-wrap .module-image img {
432
+ width: 100%;
433
+ }
434
+ .wpuf-premium .module-wrap .module-details {
435
+ margin: 0;
436
+ width: 70%;
437
+ }
438
+ .wpuf-premium .module-wrap .module-details h3 {
439
+ margin: 10px 0 0 0;
440
+ }
441
+ .wpuf-premium .module-wrap .module-details h3 a {
442
+ text-decoration: none;
443
+ }
444
  .wpuf-help-tabbed {
445
  display: flex;
446
  width: 100%;
559
  .wpuf-help-tabbed .nav-content section .button-primary:hover {
560
  border-color: #005082;
561
  }
562
+ .wpuf-help-page .wpuf-subscribe-box {
563
+ display: flex;
564
+ border: 1px solid #e5e5e5;
565
+ background: #fff;
566
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
567
+ margin-top: 15px;
568
+ }
569
+ .wpuf-help-page .wpuf-subscribe-box .text-wrap {
570
+ width: calc(100% - 530px);
571
+ padding: 10px 15px;
572
+ }
573
+ .wpuf-help-page .wpuf-subscribe-box .text-wrap h3 {
574
+ color: #ff5722;
575
+ margin: 4px 0 0 0;
576
+ }
577
+ .wpuf-help-page .wpuf-subscribe-box .text-wrap p {
578
+ margin-bottom: 5px;
579
+ }
580
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap {
581
+ width: 530px;
582
+ display: flex;
583
+ padding: 10px 0;
584
+ background: #f7f7f7;
585
+ padding-left: 20px;
586
+ border-left: 1px solid #eee;
587
+ }
588
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap .thank-you {
589
+ font-size: 16px;
590
+ color: green;
591
+ padding-top: 20px;
592
+ text-align: center;
593
+ width: 100%;
594
+ }
595
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap label {
596
+ color: #666;
597
+ }
598
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap input {
599
+ max-width: 100%;
600
+ overflow: hidden;
601
+ }
602
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap input[type="text"],
603
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap input[type="email"] {
604
+ padding: 5px 8px;
605
+ }
606
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap .fname {
607
+ width: 35%;
608
+ margin-right: 10px;
609
+ }
610
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap .email {
611
+ width: 40%;
612
+ margin-right: 10px;
613
+ }
614
+ .wpuf-help-page .wpuf-subscribe-box .form-wrap .submit-btn {
615
+ width: 20%;
616
+ padding-top: 22px;
617
+ }
618
  .wpuf-help-page .help-blocks {
619
  display: flex;
620
  flex-wrap: wrap;
662
  .wpuf-help-page .wpuf-help-questions li .dashicons-arrow-right-alt2 {
663
  float: right;
664
  }
665
+ .notice.wpuf-whats-new-notice {
666
+ display: flex;
667
+ position: relative;
668
+ padding: 0;
669
+ height: 65px;
670
+ }
671
+ .notice.wpuf-whats-new-notice .wpuf-whats-new-icon {
672
+ width: 75px;
673
+ height: 65px;
674
+ overflow: hidden;
675
+ }
676
+ .notice.wpuf-whats-new-notice .wpuf-whats-new-icon img {
677
+ max-width: 65px;
678
+ }
679
+ .notice.wpuf-whats-new-notice .wpuf-whats-new-text {
680
+ width: calc(100% - 240px);
681
+ }
682
+ .notice.wpuf-whats-new-notice .wpuf-whats-new-actions {
683
+ width: 165px;
684
+ }
685
+ .notice.wpuf-whats-new-notice .wpuf-whats-new-actions a {
686
+ display: inline-block;
687
+ margin-top: 20px;
688
+ }
689
+ .wpuf-whats-new .error,
690
+ .wpuf-whats-new .udpated,
691
+ .wpuf-whats-new .info,
692
+ .wpuf-whats-new .notice {
693
+ display: none;
694
+ }
695
+ .wpuf-whats-new h1 {
696
+ text-align: center;
697
+ margin-top: 20px;
698
+ font-size: 30px;
699
+ }
700
+ .wpuf-whats-new .wedevs-changelog {
701
+ display: flex;
702
+ max-width: 920px;
703
+ border: 1px solid #e5e5e5;
704
+ padding: 12px 20px 20px 20px;
705
+ margin: 20px auto;
706
+ background: #fff;
707
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
708
+ }
709
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-version {
710
+ width: 360px;
711
+ }
712
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-version .released {
713
+ font-style: italic;
714
+ }
715
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history {
716
+ width: 100%;
717
+ font-size: 14px;
718
+ }
719
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history li {
720
+ margin-bottom: 30px;
721
+ }
722
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history h4 {
723
+ margin: 0 0 10px 0;
724
+ font-size: 1.3em;
725
+ line-height: 26px;
726
+ }
727
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history p {
728
+ font-size: 14px;
729
+ line-height: 1.5;
730
+ }
731
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history img {
732
+ margin-top: 30px;
733
+ max-width: 100%;
734
+ }
735
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history span.label {
736
+ margin-left: 10px;
737
+ position: relative;
738
+ color: #fff;
739
+ border-radius: 20px;
740
+ padding: 0 8px;
741
+ font-size: 12px;
742
+ height: 20px;
743
+ line-height: 19px;
744
+ -webkit-appearance: none;
745
+ -moz-appearance: none;
746
+ appearance: none;
747
+ font-weight: normal;
748
+ }
749
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history span.label.new {
750
+ background: #3778ff;
751
+ border: 1px solid #3778ff;
752
+ }
753
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history span.label.improvement {
754
+ background: #3aaa55;
755
+ border: 1px solid #3aaa a;
756
+ }
757
+ .wpuf-whats-new .wedevs-changelog .wedevs-changelog-history span.label.fix {
758
+ background: #ff4772;
759
+ border: 1px solid #ff4772;
760
+ }
761
+ #wpuf_subs_metabox .inside {
762
+ margin: 0;
763
+ padding: 0;
764
+ }
765
+ .wpuf-subscription-pack-settings {
766
+ display: flex;
767
+ }
768
+ .wpuf-subscription-pack-settings nav {
769
+ background-color: #f1f1f1;
770
+ min-width: 200px;
771
+ border-right: 1px solid #e5e5e5;
772
+ }
773
+ .wpuf-subscription-pack-settings nav ul,
774
+ .wpuf-subscription-pack-settings nav li {
775
+ margin: 0;
776
+ }
777
+ .wpuf-subscription-pack-settings nav a {
778
+ display: block;
779
+ border: none;
780
+ padding: 12px 5px 12px 15px;
781
+ border-bottom: 1px solid #e5e5e5;
782
+ border-right: 1px solid #e5e5e5;
783
+ background-color: #f1f1f1;
784
+ text-decoration: none;
785
+ margin-right: -1px;
786
+ font-weight: 500;
787
+ }
788
+ .wpuf-subscription-pack-settings nav a label {
789
+ padding: 0.5rem;
790
+ display: inline-block;
791
+ }
792
+ .wpuf-subscription-pack-settings nav a:focus,
793
+ .wpuf-subscription-pack-settings nav a:active {
794
+ outline: 0;
795
+ box-shadow: none;
796
+ }
797
+ .wpuf-subscription-pack-settings nav .tab-current a {
798
+ border-right: 1px solid #fff;
799
+ background: #fff;
800
+ color: #2e4453;
801
+ }
802
+ .wpuf-subscription-pack-settings .subscription-nav-content {
803
+ padding: 15px 25px;
804
+ width: 100%;
805
+ }
806
+ .wpuf-subscription-pack-settings .subscription-nav-content section {
807
+ display: none;
808
+ }
809
+ .wpuf-subscription-pack-settings .subscription-nav-content section.content-current {
810
+ display: block;
811
+ }
812
+ .wpuf-subscription-pack-settings .subscription-nav-content section .form-table th {
813
+ width: 150px;
814
+ min-width: 150px;
815
+ }
816
+ .wpuf-subscription-pack-settings .subscription-nav-content section .form-table td {
817
+ padding: 15px 0;
818
+ }
assets/css/frontend-forms.css CHANGED
@@ -268,6 +268,17 @@ ul.wpuf-form li .wpuf-fields .wpuf-help {
268
  font-family: sans-serif;
269
  display: block;
270
  }
 
 
 
 
 
 
 
 
 
 
 
271
  ul.wpuf-form li .wpuf-fields table,
272
  ul.wpuf-form li .wpuf-fields td {
273
  border: none;
@@ -1074,15 +1085,15 @@ fieldset.wpuf-multistep-fieldset .wpuf-multistep-next-btn {
1074
  }
1075
  .wpuf-form .wpuf-multistep-progressbar ul.wpuf-step-wizard li::before {
1076
  border-width: 26px;
1077
- margin-top: -14px;
1078
  right: -50px;
1079
  z-index: 98;
1080
  }
1081
  .wpuf-form .wpuf-multistep-progressbar ul.wpuf-step-wizard li::after {
1082
  border-left-color: #E4E4E4;
1083
  border-width: 25px;
1084
- margin-top: -37px;
1085
- right: -44px;
1086
  z-index: 99;
1087
  }
1088
  .wpuf-form .wpuf-multistep-progressbar ul.wpuf-step-wizard li.active-step {
@@ -1246,3 +1257,12 @@ input[type="text"].wpuf-google-map-search {
1246
  .wpuf-form-google-map-container.hide-search-box .gm-style input[type="text"].wpuf-google-map-search {
1247
  display: none;
1248
  }
 
 
 
 
 
 
 
 
 
268
  font-family: sans-serif;
269
  display: block;
270
  }
271
+ ul.wpuf-form li .wpuf-fields .wpuf-help .text-danger {
272
+ color: red;
273
+ }
274
+ ul.wpuf-form li .wpuf-fields .wpuf-help .text-success {
275
+ color: green;
276
+ }
277
+ ul.wpuf-form li .wpuf-fields .wpuf-help #url-alart,
278
+ ul.wpuf-form li .wpuf-fields .wpuf-help #url-alart-mgs {
279
+ font-style: normal;
280
+ font-size: 16px;
281
+ }
282
  ul.wpuf-form li .wpuf-fields table,
283
  ul.wpuf-form li .wpuf-fields td {
284
  border: none;
1085
  }
1086
  .wpuf-form .wpuf-multistep-progressbar ul.wpuf-step-wizard li::before {
1087
  border-width: 26px;
1088
+ margin-top: -11px;
1089
  right: -50px;
1090
  z-index: 98;
1091
  }
1092
  .wpuf-form .wpuf-multistep-progressbar ul.wpuf-step-wizard li::after {
1093
  border-left-color: #E4E4E4;
1094
  border-width: 25px;
1095
+ margin-top: -41px;
1096
+ right: -47px;
1097
  z-index: 99;
1098
  }
1099
  .wpuf-form .wpuf-multistep-progressbar ul.wpuf-step-wizard li.active-step {
1257
  .wpuf-form-google-map-container.hide-search-box .gm-style input[type="text"].wpuf-google-map-search {
1258
  display: none;
1259
  }
1260
+ .dokan-dashboard-content.dokan-wpuf-dashboard h2.page-head {
1261
+ display: none;
1262
+ }
1263
+ .dokan-dashboard-content.dokan-wpuf-dashboard .wpuf-author {
1264
+ display: none;
1265
+ }
1266
+ .dokan-dashboard-content.dokan-wpuf-dashboard .wpuf-form-add .wpuf-form li.wpuf-el {
1267
+ margin-bottom: 15px;
1268
+ }
assets/images/icon-128x128.png ADDED
Binary file
assets/images/modules/Social-Media-Login.png ADDED
Binary file
assets/images/modules/more.png ADDED
Binary file
assets/images/modules/wpuf-buddypress.png ADDED
Binary file
assets/images/modules/wpuf-comment.png ADDED
Binary file
assets/images/modules/wpuf-mailchimp.png ADDED
Binary file
assets/images/modules/wpuf-mailpoet.png ADDED
Binary file
assets/images/modules/wpuf-pmpro.png ADDED
Binary file
assets/images/modules/wpuf-qr.png ADDED
Binary file
assets/images/modules/wpuf-sms.png ADDED
Binary file
assets/images/modules/wpuf-stripe.png ADDED
Binary file
assets/images/modules/wpuf-ua.png ADDED
Binary file
assets/images/modules/wpuf-ul.png ADDED
Binary file
assets/images/premium/advanced-fields.png ADDED
Binary file
assets/images/premium/conditional-logic.gif ADDED
Binary file
assets/images/premium/content-restrictions.gif ADDED
Binary file
assets/images/premium/coupon.gif ADDED
Binary file
assets/images/premium/multi-step.gif ADDED
Binary file
assets/images/premium/registration.gif ADDED
Binary file
assets/images/whats-new/module-activation.gif ADDED
Binary file
assets/images/whats-new/settings.png ADDED
Binary file
assets/images/wpuf-pro.png ADDED
Binary file
assets/js-templates/form-components.php CHANGED
@@ -336,7 +336,7 @@
336
  </div>
337
 
338
  <div v-if="'subscribed_users' === selected" class="condiotional-logic-container">
339
-
340
  <ul>
341
  <?php
342
 
336
  </div>
337
 
338
  <div v-if="'subscribed_users' === selected" class="condiotional-logic-container">
339
+
340
  <ul>
341
  <?php
342
 
assets/js/admin-profile-subs.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function($) {
2
+ $('.wpuf-post-exp-time').hide();
3
+ $(".wpuf-post-exp-enabled").click(function(){
4
+ if($(this).prop("checked")) {
5
+ $('.wpuf-post-exp-time').show();
6
+ } else {
7
+ $('.wpuf-post-exp-time').hide();
8
+ }
9
+ });
10
+ });
assets/js/formbuilder.js CHANGED
@@ -357,7 +357,7 @@
357
  var table = $(this).closest('table');
358
 
359
  if ( $(this).is(':checked') ) {
360
- table.find('tr.show-if-force-pack').hide();
361
 
362
  } else {
363
  table.find('tr.show-if-force-pack').hide();
357
  var table = $(this).closest('table');
358
 
359
  if ( $(this).is(':checked') ) {
360
+ table.find('tr.show-if-force-pack').show();
361
 
362
  } else {
363
  table.find('tr.show-if-force-pack').hide();
assets/js/frontend-form.js CHANGED
@@ -939,4 +939,66 @@
939
  });
940
  });
941
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
942
  })(jQuery, window);
939
  });
940
  });
941
 
942
+ // script for Dokan vendor registration template
943
+ $(function($) {
944
+
945
+ $('.wpuf-form-add input[name="dokan_store_name"]').on('focusout', function() {
946
+ var value = $(this).val().toLowerCase().replace(/-+/g, '').replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, '');
947
+ $('input[name="shopurl"]').val(value);
948
+ $('#url-alart').text( value );
949
+ $('input[name="shopurl"]').focus();
950
+ });
951
+
952
+ $('.wpuf-form-add input[name="shopurl"]').keydown(function(e) {
953
+ var text = $(this).val();
954
+
955
+ // Allow: backspace, delete, tab, escape, enter and .
956
+ if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 91, 109, 110, 173, 189, 190]) !== -1 ||
957
+ // Allow: Ctrl+A
958
+ (e.keyCode == 65 && e.ctrlKey === true) ||
959
+ // Allow: home, end, left, right
960
+ (e.keyCode >= 35 && e.keyCode <= 39)) {
961
+ // let it happen, don't do anything
962
+ return;
963
+ }
964
+
965
+ if ((e.shiftKey || (e.keyCode < 65 || e.keyCode > 90) && (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105) ) {
966
+ e.preventDefault();
967
+ }
968
+ });
969
+
970
+ $('.wpuf-form-add input[name="shopurl"]').keyup(function(e) {
971
+ $('#url-alart').text( $(this).val() );
972
+ });
973
+
974
+ $('.wpuf-form-add input[name="shopurl"]').on('focusout', function() {
975
+ var self = $(this),
976
+ data = {
977
+ action : 'shop_url',
978
+ url_slug : self.val(),
979
+ _nonce : dokan.nonce,
980
+ };
981
+
982
+ if ( self.val() === '' ) {
983
+ return;
984
+ }
985
+
986
+ $.post( dokan.ajaxurl, data, function(resp) {
987
+
988
+ if ( resp == 0){
989
+ $('#url-alart').removeClass('text-success').addClass('text-danger');
990
+ $('#url-alart-mgs').removeClass('text-success').addClass('text-danger').text(dokan.seller.notAvailable);
991
+ } else {
992
+ $('#url-alart').removeClass('text-danger').addClass('text-success');
993
+ $('#url-alart-mgs').removeClass('text-danger').addClass('text-success').text(dokan.seller.available);
994
+ }
995
+
996
+ } );
997
+
998
+ });
999
+
1000
+ // Set name attribute for google map search field
1001
+ $(".wpuf-form-add #wpuf-map-add-location").attr("name", "find_address");
1002
+ });
1003
+
1004
  })(jQuery, window);
assets/js/frontend-form.min.js CHANGED
@@ -1 +1 @@
1
- !function(a,b){a.fn.listautowidth=function(){return this.each(function(){var b=a(this).width(),c=b/a(this).children("li").length;a(this).children("li").each(function(){var b=a(this).outerWidth(!0)-a(this).width();a(this).width(c-b)})})},b.WP_User_Frontend={init:function(){this.enableMultistep(this),a(".wpuf-form").on("click","img.wpuf-clone-field",this.cloneField),a(".wpuf-form").on("click","img.wpuf-remove-field",this.removeField),a(".wpuf-form").on("click","a.wpuf-delete-avatar",this.deleteAvatar),a(".wpuf-form").on("click","a#wpuf-post-draft",this.draftPost),a(".wpuf-form").on("click","button#wpuf-account-update-profile",this.account_update_profile),a(".wpuf-form-add").on("submit",this.formSubmit),a("form#post").on("submit",this.adminPostSubmit),a(".wpuf-form").on("step-change-fieldset",function(a,b,c){if(wpuf_plupload_items.length)for(var d=wpuf_plupload_items.length-1;d>=0;d--)wpuf_plupload_items[d].refresh();if(wpuf_map_items.length)for(var d=wpuf_map_items.length-1;d>=0;d--)google.maps.event.trigger(wpuf_map_items[d].map,"resize"),wpuf_map_items[d].map.setCenter(wpuf_map_items[d].center)}),this.ajaxCategory(),a(':submit[name="wpuf_cancel_subscription"]').click(function(){if(!confirm("Are you sure you want to cancel your current subscription ?"))return!1})},check_pass_strength:function(){var b=a("#pass1").val();if(a("#pass-strength-result").show(),a("#pass-strength-result").removeClass("short bad good strong"),!b)return a("#pass-strength-result").html("&nbsp;"),void a("#pass-strength-result").hide();if(void 0!==wp.passwordStrength)switch(wp.passwordStrength.meter(b,wp.passwordStrength.userInputBlacklist(),b)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n.short)}},enableMultistep:function(b){var c=this,d=0,e=a(':hidden[name="wpuf_multistep_type"]').val();if(null!=e){if(a("fieldset.wpuf-multistep-fieldset").find(".wpuf-multistep-prev-btn").first().remove(),a("fieldset.wpuf-multistep-fieldset").find(".wpuf-multistep-next-btn").last().remove(),a(".wpuf-form fieldset").removeClass("field-active").first().addClass("field-active"),"progressive"==e&&0!=a(".wpuf-form .wpuf-multistep-fieldset").length){a("fieldset.wpuf-multistep-fieldset legend").first();a(".wpuf-multistep-progressbar").html('<div class="wpuf-progress-percentage"></div>');var f=a(".wpuf-multistep-progressbar"),g=a(".wpuf-progress-percentage");a(".wpuf-multistep-progressbar").progressbar({change:function(){g.text(f.progressbar("value")+"%")}}),a(".wpuf-multistep-fieldset legend").hide()}else a(".wpuf-form").each(function(){var b=a(this),c=a(".wpuf-multistep-progressbar",b),d="";c.addClass("wizard-steps"),d+='<ul class="wpuf-step-wizard">',a(".wpuf-multistep-fieldset",this).each(function(){d+="<li>"+a.trim(a("legend",this).text())+"</li>",a("legend",this).hide()}),d+="</ul>",c.append(d),a(".wpuf-step-wizard li",c).first().addClass("active-step"),a(".wpuf-step-wizard",c).listautowidth()});this.change_fieldset(d,e),a("fieldset .wpuf-multistep-prev-btn, fieldset .wpuf-multistep-next-btn").click(function(f){if(a(this).hasClass("wpuf-multistep-next-btn")){0!=c.formStepCheck("",a(this).closest("fieldset"))&&b.change_fieldset(++d,e)}else a(this).hasClass("wpuf-multistep-prev-btn")&&b.change_fieldset(--d,e);return!1})}},change_fieldset:function(b,c){var d=a("fieldset.wpuf-multistep-fieldset").eq(b);a("fieldset.wpuf-multistep-fieldset").removeClass("field-active").eq(b).addClass("field-active"),a(".wpuf-step-wizard li").each(function(){a(this).index()<=b?"step_by_step"==c?a(this).addClass("passed-wpuf-ms-bar"):a(".wpuf-ps-bar",this).addClass("passed-wpuf-ms-bar"):"step_by_step"==c?a(this).removeClass("passed-wpuf-ms-bar"):a(".wpuf-ps-bar",this).removeClass("passed-wpuf-ms-bar")}),a(".wpuf-step-wizard li").removeClass("wpuf-ms-bar-active active-step completed-step"),a(".passed-wpuf-ms-bar").addClass("completed-step").last().addClass("wpuf-ms-bar-active"),a(".wpuf-ms-bar-active").addClass("active-step");var e=a("fieldset.wpuf-multistep-fieldset").eq(b).find("legend").text();if(e=a.trim(e),"progressive"==c&&0!=a(".wpuf-form .wpuf-multistep-fieldset").length){var f=100*(b+1)/a("fieldset.wpuf-multistep-fieldset").length,f=Number(f.toFixed(2));a(".wpuf-multistep-progressbar").progressbar({value:f}),a(".wpuf-progress-percentage").text(e+" ("+f+"%)")}a(".wpuf-form").trigger("step-change-fieldset",[b,d])},ajaxCategory:function(){var b=".category-wrap";a(b).on("change",".cat-ajax",function(){currentLevel=parseInt(a(this).parent().attr("level")),WP_User_Frontend.getChildCats(a(this),"lvl",currentLevel+1,b,"category")})},getChildCats:function(b,c,d,e,f){cat=a(b).val(),results_div=c+d,f=void 0!==f?f:"category",field_attr=a(b).siblings("span").data("taxonomy"),a.ajax({type:"post",url:wpuf_frontend.ajaxurl,data:{action:"wpuf_get_child_cat",catID:cat,nonce:wpuf_frontend.nonce,field_attr:field_attr},beforeSend:function(){a(b).parent().parent().next(".loading").addClass("wpuf-loading")},complete:function(){a(b).parent().parent().next(".loading").removeClass("wpuf-loading")},success:function(e){a(b).parent().nextAll().each(function(){a(this).remove()}),""!=e&&(a(b).parent().addClass("hasChild").parent().append('<div id="'+c+d+'" level="'+d+'"></div>'),b.parent().parent().find("#"+results_div).html(e).slideDown("fast"))}})},cloneField:function(b){b.preventDefault();var c=a(this).closest("tr"),d=c.clone();d.find("input").val(""),d.find(":checked").attr("checked",""),c.after(d)},removeField:function(){var b=a(this).closest("tr");b.siblings().andSelf().length>1&&b.remove()},adminPostSubmit:function(b){b.preventDefault();var c=a(this);if(WP_User_Frontend.validateForm(c))return!0},draftPost:function(b){b.preventDefault();var c=a(this),d=a(this).closest("form"),e=d.serialize()+"&action=wpuf_draft_post",f=d.find('input[type="hidden"][name="post_id"]').val(),g=[];a(".wpuf-rich-validation").each(function(b,c){var c=a(c),d=c.data("id"),e=c.data("name"),f=a.trim(tinyMCE.get(d).getContent());g.push(e+"="+encodeURIComponent(f))}),e=e+"&"+g.join("&"),c.after(' <span class="wpuf-loading"></span>'),a.post(wpuf_frontend.ajaxurl,e,function(b){if(void 0===f){var e='<input type="hidden" name="post_id" value="'+b.post_id+'">';e+='<input type="hidden" name="post_date" value="'+b.date+'">',e+='<input type="hidden" name="post_author" value="'+b.post_author+'">',e+='<input type="hidden" name="comment_status" value="'+b.comment_status+'">',d.append(e)}c.next("span.wpuf-loading").remove(),c.after('<span class="wpuf-draft-saved">&nbsp; Post Saved</span>'),a(".wpuf-draft-saved").delay(2500).fadeOut("fast",function(){a(this).remove()})})},account_update_profile:function(b){b.preventDefault();var c=a(this).closest("form");a.post(wpuf_frontend.ajaxurl,c.serialize(),function(a){a.success?(c.find(".wpuf-error").hide(),c.find(".wpuf-success").show()):(c.find(".wpuf-success").hide(),c.find(".wpuf-error").show(),c.find(".wpuf-error").text(a.data))})},formStepCheck:function(a,b){var c=b;c.find("input[type=submit]");return form_data=WP_User_Frontend.validateForm(c),0==form_data&&WP_User_Frontend.addErrorNotice(self,"bottom"),form_data},formSubmit:function(c){c.preventDefault();var d=a(this),e=d.find("input[type=submit]");form_data=WP_User_Frontend.validateForm(d),form_data&&(d.find("li.wpuf-submit").append('<span class="wpuf-loading"></span>'),e.attr("disabled","disabled").addClass("button-primary-disabled"),a.post(wpuf_frontend.ajaxurl,form_data,function(c){if(c.success)a("body").trigger("wpuf:postform:success",c),1==c.show_message?(d.before('<div class="wpuf-success">'+c.message+"</div>"),d.slideUp("fast",function(){d.remove()}),a("html, body").animate({scrollTop:a(".wpuf-success").offset().top-100},"fast")):b.location=c.redirect_to;else{if(void 0!==c.type&&"login"===c.type)return void(confirm(c.error)?b.location=c.redirect_to:(e.removeAttr("disabled"),e.removeClass("button-primary-disabled"),d.find("span.wpuf-loading").remove()));d.find(".g-recaptcha").length>0&&grecaptcha.reset(),alert(c.error),e.removeAttr("disabled")}e.removeClass("button-primary-disabled"),d.find("span.wpuf-loading").remove()}))},validateForm:function(b){var c=!1;if(error_type="",WP_User_Frontend.removeErrors(b),WP_User_Frontend.removeErrorNotice(b),b.find('[data-required="yes"]:visible').each(function(b,d){var e=a(d).data("type");switch(j="",e){case"rich":var f=a(d).data("id");""===(j=a.trim(tinyMCE.get(f).getContent()))&&(c=!0,WP_User_Frontend.markError(d));break;case"textarea":case"text":""===(j=a.trim(a(d).val()))&&(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"password":case"confirm_password":var g=a(d).data("repeat");if(j=a.trim(a(d).val()),""===j&&(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type)),g){var h=a('[data-type="confirm_password"]').eq(0);h.val()!=j&&(c=!0,error_type="mismatch",WP_User_Frontend.markError(h,error_type))}break;case"select":(j=a(d).val())&&"-1"!==j||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"multiselect":null!==(j=a(d).val())&&0!==j.length||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"tax-checkbox":var i=a(d).children().find("input:checked").length;i||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"radio":var i=a(d).find("input:checked").length;i||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"file":var i=a(d).find("ul").children().length;i||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"email":var j=a(d).val();""!==j?WP_User_Frontend.isValidEmail(j)||(c=!0,error_type="validation",WP_User_Frontend.markError(d,error_type)):""===j&&(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"url":var j=a(d).val();""!==j&&(WP_User_Frontend.isValidURL(j)||(c=!0,error_type="validation",WP_User_Frontend.markError(d,error_type)))}}),c)return WP_User_Frontend.addErrorNotice(b,"end"),!1;var d=b.serialize(),e=[];return a(".wpuf-rich-validation",b).each(function(b,c){var c=a(c),d=c.data("id"),f=c.data("name"),g=a.trim(tinyMCE.get(d).getContent());e.push(f+"="+encodeURIComponent(g))}),d=d+"&"+e.join("&")},addErrorNotice:function(b,c){"bottom"==c?a(".wpuf-multistep-fieldset:visible").append('<div class="wpuf-errors">'+wpuf_frontend.error_message+"</div>"):a(b).find("li.wpuf-submit").append('<div class="wpuf-errors">'+wpuf_frontend.error_message+"</div>")},removeErrorNotice:function(b){a(b).find(".wpuf-errors").remove()},markError:function(b,c){var d="";if(a(b).closest("li").addClass("has-error"),c){switch(d=a(b).closest("li").data("label"),c){case"required":d=d+" "+error_str_obj[c];break;case"mismatch":d=d+" "+error_str_obj[c];break;case"validation":d=d+" "+error_str_obj[c]}a(b).siblings(".wpuf-error-msg").remove(),a(b).after('<div class="wpuf-error-msg">'+d+"</div>")}a(b).focus()},removeErrors:function(b){a(b).find(".has-error").removeClass("has-error"),a(".wpuf-error-msg").remove()},isValidEmail:function(a){return new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(a)},isValidURL:function(a){return new RegExp("^(http://www.|https://www.|ftp://www.|www.|http://|https://){1}([0-9A-Za-z]+.)").test(a)},insertImage:function(b,c){if(a("#"+b).length){var d=new plupload.Uploader({runtimes:"html5,html4",browse_button:b,container:"wpuf-insert-image-container",multipart:!0,multipart_params:{action:"wpuf_insert_image",form_id:a("#"+b).data("form_id")},multiple_queues:!1,multi_selection:!1,urlstream_upload:!0,file_data_name:"wpuf_file",max_file_size:"2mb",url:wpuf_frontend_upload.plupload.url,flash_swf_url:wpuf_frontend_upload.flash_swf_url,filters:[{title:"Allowed Files",extensions:"jpg,jpeg,gif,png,bmp"}]});d.bind("Init",function(a,b){}),d.bind("FilesAdded",function(b,c){var d=a("#wpuf-insert-image-container");a.each(c,function(a,b){d.append('<div class="upload-item" id="'+b.id+'"><div class="progress progress-striped active"><div class="bar"></div></div></div>')}),b.refresh(),b.start()}),d.bind("QueueChanged",function(a){d.start()}),d.bind("UploadProgress",function(b,c){var d=a("#"+c.id);a(".bar",d).css({width:c.percent+"%"}),a(".percent",d).html(c.percent+"%")}),d.bind("Error",function(a,b){alert("Error #"+b.code+": "+b.message)}),d.bind("FileUploaded",function(b,d,e){if(a("#"+d.id).remove(),"error"!==e.response){if("undefined"!=typeof tinyMCE)if("function"!=typeof tinyMCE.execInstanceCommand){var f=tinyMCE.get("post_content_"+c);null!==f&&f.insertContent(e.response)}else tinyMCE.execInstanceCommand("post_content_"+c,"mceInsertContent",!1,e.response);var g=a("#post_content_"+c);g.val(g.val()+e.response)}else alert("Something went wrong")}),d.init()}},deleteAvatar:function(b){b.preventDefault(),confirm(a(this).data("confirm"))&&a.post(wpuf_frontend.ajaxurl,{action:"wpuf_delete_avatar",_wpnonce:wpuf_frontend.nonce},function(){a(b.target).parent().remove()})},editorLimit:{bind:function(b,c,d){"no"===d?(a("textarea#"+c).keydown(function(a){WP_User_Frontend.editorLimit.textLimit.call(this,a,b)}),a("input#"+c).keydown(function(a){WP_User_Frontend.editorLimit.textLimit.call(this,a,b)}),a("textarea#"+c).on("paste",function(c){var d=a(this);setTimeout(function(){WP_User_Frontend.editorLimit.textLimit.call(d,c,b)},100)}),a("input#"+c).on("paste",function(c){var d=a(this);setTimeout(function(){WP_User_Frontend.editorLimit.textLimit.call(d,c,b)},100)})):setTimeout(function(){tinyMCE.get(c).onKeyDown.add(function(a,c){WP_User_Frontend.editorLimit.tinymce.onKeyDown(a,c,b)}),tinyMCE.get(c).onPaste.add(function(a,c){setTimeout(function(){WP_User_Frontend.editorLimit.tinymce.onPaste(a,c,b)},100)})},1e3)},tinymce:{getStats:function(a){var b=a.getBody(),c=tinymce.trim(b.innerText||b.textContent);return{chars:c.length,words:c.split(/[\w\u2019\'-]+/).length}},onKeyDown:function(b,c,d){var e=WP_User_Frontend.editorLimit.tinymce.getStats(b).words-1;d&&a(".mce-path-item.mce-last",b.container).html("Word Limit : "+e+"/"+d),d&&e>d&&(WP_User_Frontend.editorLimit.blockTyping(c),jQuery(".mce-path-item.mce-last",b.container).html(wpuf_frontend.word_limit))},onPaste:function(a,b,c){var d=a.getContent().split(" ").slice(0,c).join(" ");a.setContent(d),WP_User_Frontend.editorLimit.make_media_embed_code(d,a)}},textLimit:function(b,c){var d=a(this),e=d.val().split(" ");c&&e.length>c?(d.closest(".wpuf-fields").find("span.wpuf-wordlimit-message").html(wpuf_frontend.word_limit),WP_User_Frontend.editorLimit.blockTyping(b)):d.closest(".wpuf-fields").find("span.wpuf-wordlimit-message").html(""),"paste"===b.type&&d.val(e.slice(0,c).join(" "))},blockTyping:function(b){a.inArray(b.keyCode,[46,8,9,27,13,110,190,189])!==-1||65==b.keyCode&&b.ctrlKey===!0||b.keyCode>=35&&b.keyCode<=40||(b.preventDefault(),b.stopPropagation())},make_media_embed_code:function(b,c){a.post(ajaxurl,{action:"make_media_embed_code",content:b},function(a){c.setContent(c.getContent()+c.setContent(a))})}}},a(function(){if(WP_User_Frontend.init(),a("ul.wpuf-payment-gateways").on("click","input[type=radio]",function(b){a(".wpuf-payment-instruction").slideUp(250),a(this).parents("li").find(".wpuf-payment-instruction").slideDown(250)}),a("ul.wpuf-payment-gateways li").find("input[type=radio]").is(":checked")){a("ul.wpuf-payment-gateways li").find("input[type=radio]:checked").parents("li").find(".wpuf-payment-instruction").slideDown(250)}else a("ul.wpuf-payment-gateways li").first().find("input[type=radio]").click()}),a(function(){a('input[name="first_name"], input[name="last_name"]').on("change keyup",function(){var b,c=a.makeArray(a('input[name="first_name"], input[name="last_name"]').map(function(){if(b=a(this).val())return b})).join(" ");a('input[name="display_name"]').val(c)})})}(jQuery,window);
1
+ !function(a,b){a.fn.listautowidth=function(){return this.each(function(){var b=a(this).width(),c=b/a(this).children("li").length;a(this).children("li").each(function(){var b=a(this).outerWidth(!0)-a(this).width();a(this).width(c-b)})})},b.WP_User_Frontend={init:function(){this.enableMultistep(this),a(".wpuf-form").on("click","img.wpuf-clone-field",this.cloneField),a(".wpuf-form").on("click","img.wpuf-remove-field",this.removeField),a(".wpuf-form").on("click","a.wpuf-delete-avatar",this.deleteAvatar),a(".wpuf-form").on("click","a#wpuf-post-draft",this.draftPost),a(".wpuf-form").on("click","button#wpuf-account-update-profile",this.account_update_profile),a(".wpuf-form-add").on("submit",this.formSubmit),a("form#post").on("submit",this.adminPostSubmit),a(".wpuf-form").on("step-change-fieldset",function(a,b,c){if(wpuf_plupload_items.length)for(var d=wpuf_plupload_items.length-1;d>=0;d--)wpuf_plupload_items[d].refresh();if(wpuf_map_items.length)for(var d=wpuf_map_items.length-1;d>=0;d--)google.maps.event.trigger(wpuf_map_items[d].map,"resize"),wpuf_map_items[d].map.setCenter(wpuf_map_items[d].center)}),this.ajaxCategory(),a(':submit[name="wpuf_cancel_subscription"]').click(function(){if(!confirm("Are you sure you want to cancel your current subscription ?"))return!1})},check_pass_strength:function(){var b=a("#pass1").val();if(a("#pass-strength-result").show(),a("#pass-strength-result").removeClass("short bad good strong"),!b)return a("#pass-strength-result").html("&nbsp;"),void a("#pass-strength-result").hide();if(void 0!==wp.passwordStrength)switch(wp.passwordStrength.meter(b,wp.passwordStrength.userInputBlacklist(),b)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n.short)}},enableMultistep:function(b){var c=this,d=0,e=a(':hidden[name="wpuf_multistep_type"]').val();if(null!=e){if(a("fieldset.wpuf-multistep-fieldset").find(".wpuf-multistep-prev-btn").first().remove(),a("fieldset.wpuf-multistep-fieldset").find(".wpuf-multistep-next-btn").last().remove(),a(".wpuf-form fieldset").removeClass("field-active").first().addClass("field-active"),"progressive"==e&&0!=a(".wpuf-form .wpuf-multistep-fieldset").length){a("fieldset.wpuf-multistep-fieldset legend").first();a(".wpuf-multistep-progressbar").html('<div class="wpuf-progress-percentage"></div>');var f=a(".wpuf-multistep-progressbar"),g=a(".wpuf-progress-percentage");a(".wpuf-multistep-progressbar").progressbar({change:function(){g.text(f.progressbar("value")+"%")}}),a(".wpuf-multistep-fieldset legend").hide()}else a(".wpuf-form").each(function(){var b=a(this),c=a(".wpuf-multistep-progressbar",b),d="";c.addClass("wizard-steps"),d+='<ul class="wpuf-step-wizard">',a(".wpuf-multistep-fieldset",this).each(function(){d+="<li>"+a.trim(a("legend",this).text())+"</li>",a("legend",this).hide()}),d+="</ul>",c.append(d),a(".wpuf-step-wizard li",c).first().addClass("active-step"),a(".wpuf-step-wizard",c).listautowidth()});this.change_fieldset(d,e),a("fieldset .wpuf-multistep-prev-btn, fieldset .wpuf-multistep-next-btn").click(function(f){if(a(this).hasClass("wpuf-multistep-next-btn")){0!=c.formStepCheck("",a(this).closest("fieldset"))&&b.change_fieldset(++d,e)}else a(this).hasClass("wpuf-multistep-prev-btn")&&b.change_fieldset(--d,e);return!1})}},change_fieldset:function(b,c){var d=a("fieldset.wpuf-multistep-fieldset").eq(b);a("fieldset.wpuf-multistep-fieldset").removeClass("field-active").eq(b).addClass("field-active"),a(".wpuf-step-wizard li").each(function(){a(this).index()<=b?"step_by_step"==c?a(this).addClass("passed-wpuf-ms-bar"):a(".wpuf-ps-bar",this).addClass("passed-wpuf-ms-bar"):"step_by_step"==c?a(this).removeClass("passed-wpuf-ms-bar"):a(".wpuf-ps-bar",this).removeClass("passed-wpuf-ms-bar")}),a(".wpuf-step-wizard li").removeClass("wpuf-ms-bar-active active-step completed-step"),a(".passed-wpuf-ms-bar").addClass("completed-step").last().addClass("wpuf-ms-bar-active"),a(".wpuf-ms-bar-active").addClass("active-step");var e=a("fieldset.wpuf-multistep-fieldset").eq(b).find("legend").text();if(e=a.trim(e),"progressive"==c&&0!=a(".wpuf-form .wpuf-multistep-fieldset").length){var f=100*(b+1)/a("fieldset.wpuf-multistep-fieldset").length,f=Number(f.toFixed(2));a(".wpuf-multistep-progressbar").progressbar({value:f}),a(".wpuf-progress-percentage").text(e+" ("+f+"%)")}a(".wpuf-form").trigger("step-change-fieldset",[b,d])},ajaxCategory:function(){var b=".category-wrap";a(b).on("change",".cat-ajax",function(){currentLevel=parseInt(a(this).parent().attr("level")),WP_User_Frontend.getChildCats(a(this),"lvl",currentLevel+1,b,"category")})},getChildCats:function(b,c,d,e,f){cat=a(b).val(),results_div=c+d,f=void 0!==f?f:"category",field_attr=a(b).siblings("span").data("taxonomy"),a.ajax({type:"post",url:wpuf_frontend.ajaxurl,data:{action:"wpuf_get_child_cat",catID:cat,nonce:wpuf_frontend.nonce,field_attr:field_attr},beforeSend:function(){a(b).parent().parent().next(".loading").addClass("wpuf-loading")},complete:function(){a(b).parent().parent().next(".loading").removeClass("wpuf-loading")},success:function(e){a(b).parent().nextAll().each(function(){a(this).remove()}),""!=e&&(a(b).parent().addClass("hasChild").parent().append('<div id="'+c+d+'" level="'+d+'"></div>'),b.parent().parent().find("#"+results_div).html(e).slideDown("fast"))}})},cloneField:function(b){b.preventDefault();var c=a(this).closest("tr"),d=c.clone();d.find("input").val(""),d.find(":checked").attr("checked",""),c.after(d)},removeField:function(){var b=a(this).closest("tr");b.siblings().andSelf().length>1&&b.remove()},adminPostSubmit:function(b){b.preventDefault();var c=a(this);if(WP_User_Frontend.validateForm(c))return!0},draftPost:function(b){b.preventDefault();var c=a(this),d=a(this).closest("form"),e=d.serialize()+"&action=wpuf_draft_post",f=d.find('input[type="hidden"][name="post_id"]').val(),g=[];a(".wpuf-rich-validation").each(function(b,c){var c=a(c),d=c.data("id"),e=c.data("name"),f=a.trim(tinyMCE.get(d).getContent());g.push(e+"="+encodeURIComponent(f))}),e=e+"&"+g.join("&"),c.after(' <span class="wpuf-loading"></span>'),a.post(wpuf_frontend.ajaxurl,e,function(b){if(void 0===f){var e='<input type="hidden" name="post_id" value="'+b.post_id+'">';e+='<input type="hidden" name="post_date" value="'+b.date+'">',e+='<input type="hidden" name="post_author" value="'+b.post_author+'">',e+='<input type="hidden" name="comment_status" value="'+b.comment_status+'">',d.append(e)}c.next("span.wpuf-loading").remove(),c.after('<span class="wpuf-draft-saved">&nbsp; Post Saved</span>'),a(".wpuf-draft-saved").delay(2500).fadeOut("fast",function(){a(this).remove()})})},account_update_profile:function(b){b.preventDefault();var c=a(this).closest("form");a.post(wpuf_frontend.ajaxurl,c.serialize(),function(a){a.success?(c.find(".wpuf-error").hide(),c.find(".wpuf-success").show()):(c.find(".wpuf-success").hide(),c.find(".wpuf-error").show(),c.find(".wpuf-error").text(a.data))})},formStepCheck:function(a,b){var c=b;c.find("input[type=submit]");return form_data=WP_User_Frontend.validateForm(c),0==form_data&&WP_User_Frontend.addErrorNotice(self,"bottom"),form_data},formSubmit:function(c){c.preventDefault();var d=a(this),e=d.find("input[type=submit]");form_data=WP_User_Frontend.validateForm(d),form_data&&(d.find("li.wpuf-submit").append('<span class="wpuf-loading"></span>'),e.attr("disabled","disabled").addClass("button-primary-disabled"),a.post(wpuf_frontend.ajaxurl,form_data,function(c){if(c.success)a("body").trigger("wpuf:postform:success",c),1==c.show_message?(d.before('<div class="wpuf-success">'+c.message+"</div>"),d.slideUp("fast",function(){d.remove()}),a("html, body").animate({scrollTop:a(".wpuf-success").offset().top-100},"fast")):b.location=c.redirect_to;else{if(void 0!==c.type&&"login"===c.type)return void(confirm(c.error)?b.location=c.redirect_to:(e.removeAttr("disabled"),e.removeClass("button-primary-disabled"),d.find("span.wpuf-loading").remove()));d.find(".g-recaptcha").length>0&&grecaptcha.reset(),alert(c.error),e.removeAttr("disabled")}e.removeClass("button-primary-disabled"),d.find("span.wpuf-loading").remove()}))},validateForm:function(b){var c=!1;if(error_type="",WP_User_Frontend.removeErrors(b),WP_User_Frontend.removeErrorNotice(b),b.find('[data-required="yes"]:visible').each(function(b,d){var e=a(d).data("type");switch(j="",e){case"rich":var f=a(d).data("id");""===(j=a.trim(tinyMCE.get(f).getContent()))&&(c=!0,WP_User_Frontend.markError(d));break;case"textarea":case"text":""===(j=a.trim(a(d).val()))&&(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"password":case"confirm_password":var g=a(d).data("repeat");if(j=a.trim(a(d).val()),""===j&&(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type)),g){var h=a('[data-type="confirm_password"]').eq(0);h.val()!=j&&(c=!0,error_type="mismatch",WP_User_Frontend.markError(h,error_type))}break;case"select":(j=a(d).val())&&"-1"!==j||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"multiselect":null!==(j=a(d).val())&&0!==j.length||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"tax-checkbox":var i=a(d).children().find("input:checked").length;i||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"radio":var i=a(d).find("input:checked").length;i||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"file":var i=a(d).find("ul").children().length;i||(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"email":var j=a(d).val();""!==j?WP_User_Frontend.isValidEmail(j)||(c=!0,error_type="validation",WP_User_Frontend.markError(d,error_type)):""===j&&(c=!0,error_type="required",WP_User_Frontend.markError(d,error_type));break;case"url":var j=a(d).val();""!==j&&(WP_User_Frontend.isValidURL(j)||(c=!0,error_type="validation",WP_User_Frontend.markError(d,error_type)))}}),c)return WP_User_Frontend.addErrorNotice(b,"end"),!1;var d=b.serialize(),e=[];return a(".wpuf-rich-validation",b).each(function(b,c){var c=a(c),d=c.data("id"),f=c.data("name"),g=a.trim(tinyMCE.get(d).getContent());e.push(f+"="+encodeURIComponent(g))}),d=d+"&"+e.join("&")},addErrorNotice:function(b,c){"bottom"==c?a(".wpuf-multistep-fieldset:visible").append('<div class="wpuf-errors">'+wpuf_frontend.error_message+"</div>"):a(b).find("li.wpuf-submit").append('<div class="wpuf-errors">'+wpuf_frontend.error_message+"</div>")},removeErrorNotice:function(b){a(b).find(".wpuf-errors").remove()},markError:function(b,c){var d="";if(a(b).closest("li").addClass("has-error"),c){switch(d=a(b).closest("li").data("label"),c){case"required":case"mismatch":case"validation":d=d+" "+error_str_obj[c]}a(b).siblings(".wpuf-error-msg").remove(),a(b).after('<div class="wpuf-error-msg">'+d+"</div>")}a(b).focus()},removeErrors:function(b){a(b).find(".has-error").removeClass("has-error"),a(".wpuf-error-msg").remove()},isValidEmail:function(a){return new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(a)},isValidURL:function(a){return new RegExp("^(http://www.|https://www.|ftp://www.|www.|http://|https://){1}([0-9A-Za-z]+.)").test(a)},insertImage:function(b,c){if(a("#"+b).length){var d=new plupload.Uploader({runtimes:"html5,html4",browse_button:b,container:"wpuf-insert-image-container",multipart:!0,multipart_params:{action:"wpuf_insert_image",form_id:a("#"+b).data("form_id")},multiple_queues:!1,multi_selection:!1,urlstream_upload:!0,file_data_name:"wpuf_file",max_file_size:"2mb",url:wpuf_frontend_upload.plupload.url,flash_swf_url:wpuf_frontend_upload.flash_swf_url,filters:[{title:"Allowed Files",extensions:"jpg,jpeg,gif,png,bmp"}]});d.bind("Init",function(a,b){}),d.bind("FilesAdded",function(b,c){var d=a("#wpuf-insert-image-container");a.each(c,function(a,b){d.append('<div class="upload-item" id="'+b.id+'"><div class="progress progress-striped active"><div class="bar"></div></div></div>')}),b.refresh(),b.start()}),d.bind("QueueChanged",function(a){d.start()}),d.bind("UploadProgress",function(b,c){var d=a("#"+c.id);a(".bar",d).css({width:c.percent+"%"}),a(".percent",d).html(c.percent+"%")}),d.bind("Error",function(a,b){alert("Error #"+b.code+": "+b.message)}),d.bind("FileUploaded",function(b,d,e){if(a("#"+d.id).remove(),"error"!==e.response){if("undefined"!=typeof tinyMCE)if("function"!=typeof tinyMCE.execInstanceCommand){var f=tinyMCE.get("post_content_"+c);null!==f&&f.insertContent(e.response)}else tinyMCE.execInstanceCommand("post_content_"+c,"mceInsertContent",!1,e.response);var g=a("#post_content_"+c);g.val(g.val()+e.response)}else alert("Something went wrong")}),d.init()}},deleteAvatar:function(b){b.preventDefault(),confirm(a(this).data("confirm"))&&a.post(wpuf_frontend.ajaxurl,{action:"wpuf_delete_avatar",_wpnonce:wpuf_frontend.nonce},function(){a(b.target).parent().remove()})},editorLimit:{bind:function(b,c,d){"no"===d?(a("textarea#"+c).keydown(function(a){WP_User_Frontend.editorLimit.textLimit.call(this,a,b)}),a("input#"+c).keydown(function(a){WP_User_Frontend.editorLimit.textLimit.call(this,a,b)}),a("textarea#"+c).on("paste",function(c){var d=a(this);setTimeout(function(){WP_User_Frontend.editorLimit.textLimit.call(d,c,b)},100)}),a("input#"+c).on("paste",function(c){var d=a(this);setTimeout(function(){WP_User_Frontend.editorLimit.textLimit.call(d,c,b)},100)})):setTimeout(function(){tinyMCE.get(c).onKeyDown.add(function(a,c){WP_User_Frontend.editorLimit.tinymce.onKeyDown(a,c,b)}),tinyMCE.get(c).onPaste.add(function(a,c){setTimeout(function(){WP_User_Frontend.editorLimit.tinymce.onPaste(a,c,b)},100)})},1e3)},tinymce:{getStats:function(a){var b=a.getBody(),c=tinymce.trim(b.innerText||b.textContent);return{chars:c.length,words:c.split(/[\w\u2019\'-]+/).length}},onKeyDown:function(b,c,d){var e=WP_User_Frontend.editorLimit.tinymce.getStats(b).words-1;d&&a(".mce-path-item.mce-last",b.container).html("Word Limit : "+e+"/"+d),d&&e>d&&(WP_User_Frontend.editorLimit.blockTyping(c),jQuery(".mce-path-item.mce-last",b.container).html(wpuf_frontend.word_limit))},onPaste:function(a,b,c){var d=a.getContent().split(" ").slice(0,c).join(" ");a.setContent(d),WP_User_Frontend.editorLimit.make_media_embed_code(d,a)}},textLimit:function(b,c){var d=a(this),e=d.val().split(" ");c&&e.length>c?(d.closest(".wpuf-fields").find("span.wpuf-wordlimit-message").html(wpuf_frontend.word_limit),WP_User_Frontend.editorLimit.blockTyping(b)):d.closest(".wpuf-fields").find("span.wpuf-wordlimit-message").html(""),"paste"===b.type&&d.val(e.slice(0,c).join(" "))},blockTyping:function(b){-1!==a.inArray(b.keyCode,[46,8,9,27,13,110,190,189])||65==b.keyCode&&!0===b.ctrlKey||b.keyCode>=35&&b.keyCode<=40||(b.preventDefault(),b.stopPropagation())},make_media_embed_code:function(b,c){a.post(ajaxurl,{action:"make_media_embed_code",content:b},function(a){c.setContent(c.getContent()+c.setContent(a))})}}},a(function(){if(WP_User_Frontend.init(),a("ul.wpuf-payment-gateways").on("click","input[type=radio]",function(b){a(".wpuf-payment-instruction").slideUp(250),a(this).parents("li").find(".wpuf-payment-instruction").slideDown(250)}),a("ul.wpuf-payment-gateways li").find("input[type=radio]").is(":checked")){a("ul.wpuf-payment-gateways li").find("input[type=radio]:checked").parents("li").find(".wpuf-payment-instruction").slideDown(250)}else a("ul.wpuf-payment-gateways li").first().find("input[type=radio]").click()}),a(function(){a('input[name="first_name"], input[name="last_name"]').on("change keyup",function(){var b,c=a.makeArray(a('input[name="first_name"], input[name="last_name"]').map(function(){if(b=a(this).val())return b})).join(" ");a('input[name="display_name"]').val(c)})}),a(function(a){a('.wpuf-form-add input[name="dokan_store_name"]').on("focusout",function(){var b=a(this).val().toLowerCase().replace(/-+/g,"").replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"");a('input[name="shopurl"]').val(b),a("#url-alart").text(b),a('input[name="shopurl"]').focus()}),a('.wpuf-form-add input[name="shopurl"]').keydown(function(b){a(this).val();-1!==a.inArray(b.keyCode,[46,8,9,27,13,91,109,110,173,189,190])||65==b.keyCode&&!0===b.ctrlKey||b.keyCode>=35&&b.keyCode<=39||(b.shiftKey||(b.keyCode<65||b.keyCode>90)&&(b.keyCode<48||b.keyCode>57))&&(b.keyCode<96||b.keyCode>105)&&b.preventDefault()}),a('.wpuf-form-add input[name="shopurl"]').keyup(function(b){a("#url-alart").text(a(this).val())}),a('.wpuf-form-add input[name="shopurl"]').on("focusout",function(){var b=a(this),c={action:"shop_url",url_slug:b.val(),_nonce:dokan.nonce};""!==b.val()&&a.post(dokan.ajaxurl,c,function(b){0==b?(a("#url-alart").removeClass("text-success").addClass("text-danger"),a("#url-alart-mgs").removeClass("text-success").addClass("text-danger").text(dokan.seller.notAvailable)):(a("#url-alart").removeClass("text-danger").addClass("text-success"),a("#url-alart-mgs").removeClass("text-danger").addClass("text-success").text(dokan.seller.available))})}),a(".wpuf-form-add #wpuf-map-add-location").attr("name","find_address")})}(jQuery,window);
assets/js/metabox-tabs.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function($) {
2
+
3
+ var tabs = $('#wpuf_subs_metabox nav li' ),
4
+ items = $('#wpuf_subs_metabox .subscription-nav-content > section');
5
+
6
+ tabs.first().addClass('tab-current');
7
+ items.first().addClass('content-current');
8
+
9
+ tabs.on('click', 'a', function(event) {
10
+ event.preventDefault();
11
+
12
+ var self = $(this);
13
+
14
+ tabs.removeClass('tab-current');
15
+ self.parent('li').addClass('tab-current');
16
+
17
+ $.each(items, function(index, val) {
18
+ var element = $(val);
19
+
20
+ if ( '#' + element.attr( 'id' ) === self.attr('href') ) {
21
+ element.addClass('content-current');
22
+ } else {
23
+ element.removeClass('content-current');
24
+ }
25
+ });
26
+ });
27
+ });
assets/js/wpuf-form-builder.js CHANGED
@@ -340,6 +340,10 @@
340
  self.is_form_saving = false;
341
  self.is_form_saved = true;
342
 
 
 
 
 
343
  toastr.success(self.i18n.saved_form_data);
344
  },
345
 
@@ -366,6 +370,9 @@
366
  $('#wpuf-metabox-settings').on('change', 'input[type=checkbox][name="wpuf_settings[guest_post]"]', this.settingsGuest);
367
  $('input[type=checkbox][name="wpuf_settings[guest_post]"]').trigger('change');
368
 
 
 
 
369
  // Form settings: Payment
370
  $('#wpuf-metabox-settings-payment').on('change', 'input[type=checkbox][name="wpuf_settings[payment_options]"]', this.settingsPayment);
371
  $('input[type=checkbox][name="wpuf_settings[payment_options]"]').trigger('change');
@@ -378,9 +385,6 @@
378
  $('#wpuf-metabox-settings-payment').on('change', 'input[type=checkbox][name="wpuf_settings[force_pack_purchase]"]', this.settingsForcePack);
379
  $('input[type=checkbox][name="wpuf_settings[force_pack_purchase]"]').trigger('change');
380
 
381
- // From settings: User details
382
- $('#wpuf-metabox-settings').on('change', 'input[type=checkbox][name="wpuf_settings[guest_details]"]', this.settingsGuestDetails);
383
-
384
  this.changeMultistepVisibility($('.wpuf_enable_multistep_section :input[type="checkbox"]'));
385
  var self = this;
386
  $('.wpuf_enable_multistep_section :input[type="checkbox"]').click(function() {
@@ -452,7 +456,7 @@
452
  var table = $(this).closest('table');
453
 
454
  if ( $(this).is(':checked') ) {
455
- table.find('tr.show-if-force-pack').hide();
456
 
457
  } else {
458
  table.find('tr.show-if-force-pack').hide();
340
  self.is_form_saving = false;
341
  self.is_form_saved = true;
342
 
343
+ setTimeout(function(){
344
+ self.isDirty = false;
345
+ }, 500);
346
+
347
  toastr.success(self.i18n.saved_form_data);
348
  },
349
 
370
  $('#wpuf-metabox-settings').on('change', 'input[type=checkbox][name="wpuf_settings[guest_post]"]', this.settingsGuest);
371
  $('input[type=checkbox][name="wpuf_settings[guest_post]"]').trigger('change');
372
 
373
+ // From settings: User details
374
+ $('#wpuf-metabox-settings').on('change', 'input[type=checkbox][name="wpuf_settings[guest_details]"]', this.settingsGuestDetails);
375
+
376
  // Form settings: Payment
377
  $('#wpuf-metabox-settings-payment').on('change', 'input[type=checkbox][name="wpuf_settings[payment_options]"]', this.settingsPayment);
378
  $('input[type=checkbox][name="wpuf_settings[payment_options]"]').trigger('change');
385
  $('#wpuf-metabox-settings-payment').on('change', 'input[type=checkbox][name="wpuf_settings[force_pack_purchase]"]', this.settingsForcePack);
386
  $('input[type=checkbox][name="wpuf_settings[force_pack_purchase]"]').trigger('change');
387
 
 
 
 
388
  this.changeMultistepVisibility($('.wpuf_enable_multistep_section :input[type="checkbox"]'));
389
  var self = this;
390
  $('.wpuf_enable_multistep_section :input[type="checkbox"]').click(function() {
456
  var table = $(this).closest('table');
457
 
458
  if ( $(this).is(':checked') ) {
459
+ table.find('tr.show-if-force-pack').show();
460
 
461
  } else {
462
  table.find('tr.show-if-force-pack').hide();
assets/less/admin.less CHANGED
@@ -212,4 +212,352 @@ span {
212
  }
213
  }
214
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  @import "help.less";
 
 
212
  }
213
  }
214
 
215
+ .wpuf-settings-wrap {
216
+ display: flex;
217
+ background: #fff;
218
+ box-shadow: 0 0 0 1px #c8d7e1, 0 1px 2px #e9eff3;
219
+
220
+ h2.nav-tab-wrapper {
221
+ flex: 1;
222
+ border-bottom: none;
223
+ padding: 0;
224
+ background-color: #f1f1f1;
225
+ border-right: 1px solid #c8d7e1;
226
+
227
+ a.nav-tab {
228
+ float: none;
229
+ display: block;
230
+ margin: 0;
231
+ border: none;
232
+ padding: 14px;
233
+ border-bottom: 1px solid #c8d7e1;
234
+ font-weight: 500;
235
+ font-size: 13px;
236
+ border-right: 1px solid #c8d7e1;
237
+ color: #444;
238
+ text-decoration: none;
239
+ margin-right: -1px;
240
+ background-color: #f1f1f1;
241
+
242
+ &.nav-tab-active {
243
+ background: #fff;
244
+ border-right: 1px solid #fff;
245
+ }
246
+
247
+ .dashicons {
248
+ margin-right: 10px;
249
+ }
250
+
251
+ &#wpuf_general-tab .dashicons {
252
+ color: #9b59b6;
253
+ }
254
+
255
+ &#wpuf_dashboard-tab .dashicons {
256
+ color: #6c75ff;
257
+ }
258
+
259
+ &#wpuf_profile-tab .dashicons {
260
+ color: #00aeff;
261
+ }
262
+
263
+ &#wpuf_frontend_posting-tab .dashicons {
264
+ color: #AD1457;
265
+ }
266
+
267
+ &#wpuf_my_account-tab .dashicons {
268
+ color: #64DD17;
269
+ }
270
+
271
+ &#wpuf_payment-tab .dashicons {
272
+ color: #e67e22;
273
+ }
274
+
275
+ &#wpuf_guest_mails-tab .dashicons {
276
+ color: #115da7;
277
+ }
278
+
279
+ &#wpuf_sms-tab .dashicons {
280
+ color: #00aeff;
281
+ }
282
+
283
+ &#wpuf_payment_invoices-tab .dashicons {
284
+ color: #1abc9d;
285
+ }
286
+
287
+ &#user_directory-tab .dashicons {
288
+ color: #e74c3c;
289
+ }
290
+ }
291
+ }
292
+
293
+ .metabox-holder {
294
+ flex: 3;
295
+ margin-left: 30px;
296
+
297
+ h2 {
298
+ border-bottom: 1px solid #c8d7e1;
299
+ padding-bottom: 15px;
300
+ margin-top: 14px;
301
+ }
302
+
303
+ .form-table th {
304
+ padding-left: 0;
305
+ }
306
+
307
+ p.submit {
308
+ margin-left: -10px;
309
+ border-top: 1px solid #f1f1f1;
310
+ padding-top: 20px;
311
+ text-align: right;
312
+ padding-right: 34px;
313
+
314
+ .button-primary {
315
+ font-size: 15px;
316
+ height: 45px;
317
+ line-height: 100%;
318
+ padding: 0px 20px;
319
+ font-weight: normal;
320
+ }
321
+ }
322
+ }
323
+ }
324
+
325
+ /**
326
+ * Profile Edit Page
327
+ */
328
+ #profile-page {
329
+
330
+ .wpuf-user-subscription {
331
+ background-color: #fff;
332
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
333
+ border: 1px solid #e5e5e5;
334
+ margin-top: 15px;
335
+
336
+ h3 {
337
+ border-bottom: 1px solid #eee;
338
+ padding: 12px 15px;
339
+ font-size: 16px;
340
+ margin: 0;
341
+ }
342
+
343
+ .wpuf-user-sub-info {
344
+ // padding: 10px 15px;
345
+ }
346
+
347
+ .wpuf-pack-dropdown {
348
+
349
+ th {
350
+ padding-left: 15px;
351
+ }
352
+ }
353
+
354
+ .wpuf-sub-actions {
355
+ padding: 10px;
356
+ border-top: 1px solid #ddd;
357
+ background: #f5f5f5;
358
+ overflow: hidden;
359
+ display: block;
360
+
361
+ .wpuf-delete-pack-btn {
362
+ float: right;
363
+ }
364
+ }
365
+
366
+ .wpuf-sub-summary {
367
+ background: #f8f8f8;
368
+ border-bottom: 1px solid #eee;
369
+ margin-bottom: 10px;
370
+ display: flex;
371
+ flex-wrap: wrap;
372
+
373
+ * {
374
+ box-sizing: border-box;
375
+ }
376
+
377
+ .sub-name,
378
+ .sub-price {
379
+ width: 50%;
380
+ padding: 10px 15px;
381
+
382
+ span {
383
+ display: block;
384
+
385
+ &.label {
386
+ font-weight: bold;
387
+ }
388
+ }
389
+ }
390
+
391
+ .sub-name {
392
+ border-right: 1px solid #eee;
393
+ }
394
+
395
+ .info {
396
+ flex-basis: 100%;
397
+ padding: 0 15px;
398
+ background: #fef5be;
399
+ border-top: 1px solid #ffe98d;
400
+ }
401
+ }
402
+
403
+ .wpuf-sub-section {
404
+ padding: 0 15px;
405
+ border-bottom: 1px solid #eee;
406
+
407
+ h4 {
408
+ font-size: 15px;
409
+ }
410
+
411
+ &:last-child {
412
+ border-bottom: none;
413
+ padding-bottom: 15px;
414
+ }
415
+ }
416
+ }
417
+
418
+ }
419
+
420
+ .wpuf-premium {
421
+
422
+ .wp-badge {
423
+ background: #40ce65 url(../images/wpuf-pro.png) no-repeat;
424
+ background-size: 100px 90px;
425
+ background-position: 35px 5px;
426
+ }
427
+
428
+ .wpuf-upgrade-sticky-footer {
429
+ position: fixed;
430
+ bottom: 0;
431
+ background: #fff;
432
+ width: ~"calc(100% - 195px)";
433
+ z-index: 9;
434
+ margin-left: -25px;
435
+ text-align: center;
436
+ border: 1px solid #dfdfdf;
437
+ padding: 20px 0 10px 0;
438
+ border-bottom: none;
439
+ display: flex;
440
+ border-top: 3px solid #FF9800;
441
+
442
+ .text-left {
443
+ width: 70%;
444
+
445
+ h3 {
446
+ margin: 0;
447
+ }
448
+ }
449
+
450
+ .text-right {
451
+ width: 30%;
452
+ padding-top: 15px;
453
+
454
+ .button-primary {
455
+ background: #00aadc;
456
+ border-color: #0087be;
457
+ text-shadow: none;
458
+ padding: 5px 20px;
459
+ height: auto;
460
+ margin: 0.3125rem 0;
461
+ font-size: 16px;
462
+
463
+ &:hover {
464
+ border-color: #005082;
465
+ }
466
+ }
467
+ }
468
+ }
469
+
470
+ .four-col .col {
471
+ -webkit-align-self: flex-start;
472
+ -ms-flex-item-align: start;
473
+ align-self: flex-start;
474
+ min-width: 23%;
475
+ max-width: 23%;
476
+ }
477
+
478
+ .feature-section {
479
+
480
+ .feature-wrap {
481
+ background-color: #fafafa;
482
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
483
+ border: 1px solid #e5e5e5;
484
+
485
+ .feature-details {
486
+ padding: 0 20px 10px 20px;
487
+
488
+ h3 a {
489
+ text-decoration: none;
490
+ }
491
+
492
+ ul {
493
+ -moz-column-count: 4;
494
+ -moz-column-gap: 10px;
495
+ -webkit-column-count: 4;
496
+ -webkit-column-gap: 10px;
497
+ column-count: 4;
498
+ column-gap: 10px;
499
+ padding: 0;
500
+ margin: 0;
501
+ font-size: 14px;
502
+
503
+ li {
504
+ padding-left: 1em;
505
+ text-indent: -.7em;
506
+ }
507
+
508
+ li::before {
509
+ content: "• ";
510
+ color: red; /* or whatever color you prefer */
511
+ }
512
+ }
513
+ }
514
+
515
+ .feature-image {
516
+ border-bottom: 1px solid #e5e5e5;
517
+ margin-bottom: 15px;
518
+
519
+ img {
520
+ max-width: 100%;
521
+ width: 100%;
522
+ height: auto;
523
+ margin-bottom: 0;
524
+ }
525
+ }
526
+ }
527
+ }
528
+
529
+ .module-wrap {
530
+ height: 122px;
531
+ display: flex;
532
+ flex-wrap: wrap;
533
+ background-color: #fafafa;
534
+ margin-bottom: 20px;
535
+ box-shadow: 0 0 5px 0 #ccc;
536
+
537
+ .module-image {
538
+ width: 25%;
539
+ margin-right: 4%;
540
+
541
+ img {
542
+ width: 100%;
543
+ }
544
+ }
545
+
546
+ .module-details {
547
+ margin: 0;
548
+ width: 70%;
549
+
550
+ h3 {
551
+ margin: 10px 0 0 0;
552
+
553
+ a {
554
+ text-decoration: none;
555
+ }
556
+ }
557
+ }
558
+ }
559
+ }
560
+
561
  @import "help.less";
562
+ @import "whats-new.less";
563
+ @import "metabox-tabs.less";
assets/less/frontend-forms.less CHANGED
@@ -328,6 +328,20 @@ ul.wpuf-form {
328
  font-style: italic;
329
  font-family: sans-serif;
330
  display: block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331
  }
332
 
333
  table, td {
@@ -1208,7 +1222,7 @@ fieldset.wpuf-multistep-fieldset {
1208
 
1209
  &::before {
1210
  border-width: 26px;
1211
- margin-top: -14px;
1212
  right: -50px;
1213
  z-index: 98;
1214
  }
@@ -1216,8 +1230,8 @@ fieldset.wpuf-multistep-fieldset {
1216
  &::after {
1217
  border-left-color: #E4E4E4;
1218
  border-width: 25px;
1219
- margin-top: -37px;
1220
- right: -44px;
1221
  z-index: 99;
1222
  }
1223
 
@@ -1441,3 +1455,25 @@ input[type="text"].wpuf-google-map-search {
1441
  }
1442
  }
1443
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  font-style: italic;
329
  font-family: sans-serif;
330
  display: block;
331
+
332
+ .text-danger{
333
+ color: red;
334
+ }
335
+
336
+ .text-success{
337
+ color: green;
338
+ }
339
+
340
+ #url-alart,
341
+ #url-alart-mgs{
342
+ font-style: normal;
343
+ font-size: 16px;
344
+ }
345
  }
346
 
347
  table, td {
1222
 
1223
  &::before {
1224
  border-width: 26px;
1225
+ margin-top: -11px;
1226
  right: -50px;
1227
  z-index: 98;
1228
  }
1230
  &::after {
1231
  border-left-color: #E4E4E4;
1232
  border-width: 25px;
1233
+ margin-top: -41px;
1234
+ right: -47px;
1235
  z-index: 99;
1236
  }
1237
 
1455
  }
1456
  }
1457
  }
1458
+
1459
+ .dokan-dashboard-content{
1460
+ &.dokan-wpuf-dashboard{
1461
+ h2.page-head{
1462
+ display: none;
1463
+ }
1464
+
1465
+ .wpuf-author{
1466
+ display: none;
1467
+ }
1468
+
1469
+ .wpuf-form-add{
1470
+ .wpuf-form{
1471
+ li{
1472
+ &.wpuf-el{
1473
+ margin-bottom: 15px;
1474
+ }
1475
+ }
1476
+ }
1477
+ }
1478
+ }
1479
+ }
assets/less/help.less CHANGED
@@ -149,6 +149,74 @@
149
 
150
  .wpuf-help-page {
151
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  .help-blocks {
153
  display: flex;
154
  flex-wrap: wrap;
@@ -207,4 +275,4 @@
207
  }
208
  }
209
  }
210
- }
149
 
150
  .wpuf-help-page {
151
 
152
+ .wpuf-subscribe-box {
153
+ display: flex;
154
+ border: 1px solid #e5e5e5;
155
+ background: #fff;
156
+ box-shadow: 0 1px 1px rgba(0,0,0,.04);
157
+ margin-top: 15px;
158
+
159
+ .text-wrap {
160
+ width: ~"calc(100% - 530px)";
161
+ padding: 10px 15px;
162
+
163
+ h3 {
164
+ color: #ff5722;
165
+ margin: 4px 0 0 0;
166
+ }
167
+
168
+ p {
169
+ margin-bottom: 5px;
170
+ }
171
+ }
172
+
173
+ .form-wrap {
174
+ width: 530px;
175
+ display: flex;
176
+ padding: 10px 0;
177
+ background: #f7f7f7;
178
+ padding-left: 20px;
179
+ border-left: 1px solid #eee;
180
+
181
+ .thank-you {
182
+ font-size: 16px;
183
+ color: green;
184
+ padding-top: 20px;
185
+ text-align: center;
186
+ width: 100%;
187
+ }
188
+
189
+ label {
190
+ color: #666;
191
+ }
192
+
193
+ input {
194
+ max-width: 100%;
195
+ overflow: hidden;
196
+ }
197
+
198
+ input[type="text"],
199
+ input[type="email"] {
200
+ padding: 5px 8px;
201
+ }
202
+
203
+ .fname {
204
+ width: 35%;
205
+ margin-right: 10px;
206
+ }
207
+
208
+ .email {
209
+ width: 40%;
210
+ margin-right: 10px;
211
+ }
212
+
213
+ .submit-btn {
214
+ width: 20%;
215
+ padding-top: 22px;
216
+ }
217
+ }
218
+ }
219
+
220
  .help-blocks {
221
  display: flex;
222
  flex-wrap: wrap;
275
  }
276
  }
277
  }
278
+ }
assets/less/metabox-tabs.less ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #wpuf_subs_metabox .inside {
2
+ margin: 0;
3
+ padding: 0;
4
+ }
5
+
6
+ .wpuf-subscription-pack-settings {
7
+ display: flex;
8
+
9
+ nav {
10
+ background-color: #f1f1f1;
11
+ min-width: 200px;
12
+ border-right: 1px solid #e5e5e5;
13
+
14
+ ul,
15
+ li {
16
+ margin: 0;
17
+ }
18
+
19
+ a {
20
+ display: block;
21
+ border: none;
22
+ padding: 12px 5px 12px 15px;
23
+ border-bottom: 1px solid #e5e5e5;
24
+ border-right: 1px solid #e5e5e5;
25
+ background-color: #f1f1f1;
26
+ text-decoration: none;
27
+ margin-right: -1px;
28
+ font-weight: 500;
29
+
30
+ label {
31
+ padding: 0.5rem;
32
+ display: inline-block;
33
+ }
34
+ }
35
+
36
+ a:focus,
37
+ a:active {
38
+ outline: 0;
39
+ box-shadow: none;
40
+ }
41
+
42
+ .tab-current {
43
+ a {
44
+ // border-left: 3px solid #0073aa;
45
+ border-right: 1px solid #fff;
46
+ background: #fff;
47
+ color: #2e4453;
48
+ }
49
+ }
50
+ }
51
+
52
+ .subscription-nav-content {
53
+ padding: 15px 25px;
54
+ width: 100%;
55
+
56
+ section {
57
+ display: none;
58
+
59
+ &.content-current {
60
+ display: block;
61
+ }
62
+
63
+ .form-table {
64
+ th {
65
+ width: 150px;
66
+ min-width: 150px;
67
+ }
68
+
69
+ td {
70
+ padding: 15px 0;
71
+ }
72
+ }
73
+ }
74
+ }
75
+
76
+ }
assets/less/whats-new.less ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .notice.wpuf-whats-new-notice {
2
+ display: flex;
3
+ position: relative;
4
+ padding: 0;
5
+ height: 65px;
6
+
7
+ .wpuf-whats-new-icon {
8
+ width: 75px;
9
+ height: 65px;
10
+ overflow: hidden;
11
+
12
+ img {
13
+ max-width: 65px;
14
+ }
15
+ }
16
+
17
+ .wpuf-whats-new-text {
18
+ width: ~"calc(100% - 240px)";
19
+ }
20
+
21
+ .wpuf-whats-new-actions {
22
+ width: 165px;
23
+
24
+ a {
25
+ display: inline-block;
26
+ margin-top: 20px;
27
+ }
28
+ }
29
+ }
30
+
31
+ .wpuf-whats-new {
32
+
33
+ .error, .udpated, .info, .notice {
34
+ display: none;
35
+ }
36
+
37
+ h1 {
38
+ text-align: center;
39
+ margin-top: 20px;
40
+ font-size: 30px;
41
+ }
42
+
43
+ .wedevs-changelog {
44
+ display: flex;
45
+ max-width: 920px;
46
+ border: 1px solid #e5e5e5;
47
+ padding: 12px 20px 20px 20px;
48
+ margin: 20px auto;
49
+ background: #fff;
50
+ box-shadow: 0 1px 1px rgba(0,0,0,0.04);
51
+
52
+ .wedevs-changelog-version {
53
+ width: 360px;
54
+
55
+ .released {
56
+ font-style: italic;
57
+ }
58
+ }
59
+
60
+ .wedevs-changelog-history {
61
+ width: 100%;
62
+ font-size: 14px;
63
+
64
+ li {
65
+ margin-bottom: 30px;
66
+ }
67
+
68
+ h4 {
69
+ margin: 0 0 10px 0;
70
+ font-size: 1.3em;
71
+ line-height: 26px;
72
+ }
73
+
74
+ p {
75
+ font-size: 14px;
76
+ line-height: 1.5;
77
+ }
78
+
79
+ img {
80
+ margin-top: 30px;
81
+ max-width: 100%;
82
+ }
83
+
84
+ span.label {
85
+ margin-left: 10px;
86
+ position: relative;
87
+ color: #fff;
88
+ border-radius: 20px;
89
+ padding: 0 8px;
90
+ font-size: 12px;
91
+ height: 20px;
92
+ line-height: 19px;
93
+ -webkit-appearance: none;
94
+ -moz-appearance: none;
95
+ appearance: none;
96
+ font-weight: normal;
97
+
98
+ &.new {
99
+ background: #3778ff;
100
+ border: 1px solid #3778ff;
101
+ }
102
+
103
+ &.improvement {
104
+ background: #3aaa55;
105
+ border: 1px solid #3aaa
106
+ }
107
+
108
+ &.fix {
109
+ background: #ff4772;
110
+ border: 1px solid #ff4772;
111
+ }
112
+
113
+ }
114
+ }
115
+ }
116
+ }
class/frontend-form-post.php CHANGED
@@ -57,20 +57,23 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
57
  $info = '';
58
  $user_can_post = 'yes';
59
  $current_user = wpuf_get_user();
 
60
 
61
- if ( $form_settings['guest_post'] == 'false' && ! is_user_logged_in() ) {
62
  $user_can_post = 'no';
63
- $info = sprintf( __( 'Sorry. Guest Posting is not enabled for this form.', 'wpuf' ));
64
  }
65
 
66
  if ( $form->is_charging_enabled() ) {
67
  $pay_per_post = $form->is_enabled_pay_per_post();
68
- $pay_per_post_cost = (int) $form->get_pay_per_post_cost();
69
  $force_pack = $form->is_enabled_force_pack();
70
-
 
 
71
 
72
  // guest post payment checking
73
- if ( ! is_user_logged_in() && $form_settings['guest_post'] == 'true' ) {
74
  if ( $form->is_charging_enabled() ) {
75
  if ( $force_pack ) {
76
  $user_can_post = 'no';
@@ -94,12 +97,16 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
94
  $current_pack = $current_user->subscription()->current_pack();
95
 
96
  if ( ! is_wp_error( $current_pack ) ) {
97
- // user has valid post count
98
- if ( $current_user->subscription()->has_post_count( $form_settings['post_type'] ) ) {
99
  $user_can_post = 'yes';
100
  } else {
101
- $user_can_post = 'no';
102
- $info = 'Post Limit Exceeded for your purchased subscription pack.';
 
 
 
 
103
  }
104
  } else {
105
  $user_can_post = 'no';
@@ -121,7 +128,7 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
121
  } else {
122
  $user_can_post = 'no';
123
  if ( !is_user_logged_in() ) {
124
- $info = sprintf( __( 'Sorry. Guest Posting is not enabled for this form.', 'wpuf' ));
125
  } else {
126
  $info = sprintf( __( 'Payment type not selected for this form. Please contact admin.', 'wpuf' ));
127
  }
@@ -129,11 +136,14 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
129
  }
130
  }
131
  } else {
132
- if ( $form_settings['guest_post'] == 'true' && ! is_user_logged_in() ) {
133
  $user_can_post = 'yes';
134
  }
135
  }
136
 
 
 
 
137
  $info = apply_filters( 'wpuf_addpost_notice', $info, $id, $form_settings );
138
  $user_can_post = apply_filters( 'wpuf_can_post', $user_can_post, $id, $form_settings );
139
 
@@ -201,7 +211,7 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
201
 
202
  // fallback to default form
203
  if ( !$form_id ) {
204
- $form_id = wpuf_get_option( 'default_post_form', 'wpuf_general' );
205
  }
206
 
207
  if ( !$form_id ) {
@@ -242,7 +252,7 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
242
  $form_id = isset( $_POST['form_id'] ) ? intval( $_POST['form_id'] ) : 0;
243
  $form_vars = $this->get_input_fields( $form_id );
244
  $form_settings = wpuf_get_form_settings( $form_id );
245
- $guest_mode = $form_settings['guest_post'];
246
  $guest_verify = isset( $form_settings['guest_email_verify'] ) ? $form_settings['guest_email_verify'] : 'false' ;
247
 
248
  list( $post_vars, $taxonomy_vars, $meta_vars ) = $form_vars;
@@ -270,12 +280,12 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
270
 
271
  $is_update = false;
272
  $post_author = null;
273
- $default_post_author = wpuf_get_option( 'default_post_owner', 'wpuf_general', 1 );
274
 
275
  // Guest Stuffs: check for guest post
276
  if ( !is_user_logged_in() ) {
277
 
278
- if ( $form_settings['guest_post'] == 'true' && $form_settings['guest_details'] == 'true' ) {
279
  $guest_name = trim( $_POST['guest_name'] );
280
  $guest_email = trim( $_POST['guest_email'] );
281
 
@@ -290,7 +300,7 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
290
  // $post_author = $user->ID;
291
  wp_send_json( array(
292
  'success' => false,
293
- 'error' => __( "You already have an account in our site. Please login to continue.\n\nClicking 'OK' will redirect you to the login page and you will lost the form data.\nClick 'Cancel' to stay at this page.", 'wpuf' ),
294
  'type' => 'login',
295
  'redirect_to' => wp_login_url( get_permalink( $_POST['page_id'] ) )
296
  ) );
@@ -327,7 +337,7 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
327
  }
328
 
329
  // guest post is enabled and details are off
330
- } elseif ( $form_settings['guest_post'] == 'true' && $form_settings['guest_details'] == 'false' ) {
331
  $post_author = $default_post_author;
332
  }
333
 
@@ -349,6 +359,8 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
349
  $charging_enabled = '';
350
  $form = new WPUF_Form( $form_id );
351
  $payment_options = $form->is_charging_enabled();
 
 
352
  $current_user = wpuf_get_user();
353
 
354
  if ( !$payment_options || !is_user_logged_in() ) {
@@ -499,7 +511,6 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
499
  }
500
  }
501
 
502
-
503
  // set the post form_id for later usage
504
  update_post_meta( $post_id, self::$config_id, $form_id );
505
 
@@ -592,35 +603,6 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
592
  update_post_meta( $post_id, '_product_attributes', $woo_attr );
593
  }
594
 
595
- if ( $is_update ) {
596
-
597
- // plugin API to extend the functionality
598
- do_action( 'wpuf_edit_post_after_update', $post_id, $form_id, $form_settings, $form_vars );
599
-
600
- //send mail notification
601
- if ( isset( $form_settings['notification'] ) && $form_settings['notification']['edit'] == 'on' ) {
602
- $mail_body = $this->prepare_mail_body( $form_settings['notification']['edit_body'], $post_author, $post_id );
603
- $to = $this->prepare_mail_body( $form_settings['notification']['edit_to'], $post_author, $post_id );
604
- $subject = $this->prepare_mail_body( $form_settings['notification']['edit_subject'], $post_author, $post_id );
605
- $headers = array('Content-Type: text/html; charset=UTF-8');
606
-
607
- wp_mail( $to, $subject, $mail_body, $headers );
608
- }
609
- } else {
610
-
611
- // plugin API to extend the functionality
612
- do_action( 'wpuf_add_post_after_insert', $post_id, $form_id, $form_settings, $form_vars );
613
-
614
- // send mail notification
615
- if ( isset( $form_settings['notification'] ) && $form_settings['notification']['new'] == 'on' ) {
616
- $mail_body = $this->prepare_mail_body( $form_settings['notification']['new_body'], $post_author, $post_id );
617
- $to = $this->prepare_mail_body( $form_settings['notification']['new_to'], $post_author, $post_id );
618
- $subject = $this->prepare_mail_body( $form_settings['notification']['new_subject'], $post_author, $post_id );
619
-
620
- wp_mail( $to, $subject, $mail_body );
621
- }
622
- }
623
-
624
  //redirect URL
625
  $show_message = false;
626
  $redirect_to = false;
@@ -681,18 +663,50 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
681
  wpuf_send_mail_to_guest ( $post_id_encoded, $form_id_encoded, 'yes', 2 );
682
  }
683
 
684
- //redirect the user
685
 
686
  if ( $guest_mode == 'true' && $guest_verify == 'true' && !is_user_logged_in() ) {
 
687
  $response = apply_filters( 'wpuf_edit_post_redirect', $response, $post_id, $form_id, $form_settings );
 
688
  } elseif ( $is_update ) {
 
 
 
 
 
 
 
 
 
 
 
 
689
  $response = apply_filters( 'wpuf_edit_post_redirect', $response, $post_id, $form_id, $form_settings );
 
 
 
 
690
  } else {
 
 
 
 
 
 
 
 
 
 
 
691
  $response = apply_filters( 'wpuf_add_post_redirect', $response, $post_id, $form_id, $form_settings );
 
 
 
692
  }
693
 
694
  wpuf_clear_buffer();
695
  wp_send_json( $response );
 
696
  }
697
 
698
  $this->send_error( __( 'Something went wrong', 'wpuf' ) );
@@ -959,29 +973,29 @@ class WPUF_Frontend_Form_Post extends WPUF_Render_Form {
959
  $value = get_post_meta( $post_id, $meta_key, false );
960
  $new_value = implode( '; ', $value );
961
 
962
- $original_value = '';
963
- $meta_val = '';
964
  if ( count( $value ) > 1 ) {
965
- $isFirst = true;
966
  foreach ($value as $val) {
967
  if ( $isFirst ) {
968
- if ( get_post_mime_type( (int) $val ) ) {
969
- $meta_val = wp_get_attachment_url( $val );
970
- } else {
971
- $meta_val = $val;
972
- }
973
- $isFirst = false;
974
  } else {
975
- if ( get_post_mime_type( (int) $val ) ) {
976
- $meta_val = $meta_val . ', ' . wp_get_attachment_url( $val );
977
- } else {
978
- $meta_val = $meta_val . ', ' . $val;
979
- }
980
  }
981
  if ( get_post_mime_type( (int) $val ) ) {
982
- $meta_val = $meta_val . ',' . wp_get_attachment_url( $val );
983
  } else {
984
- $meta_val = $meta_val . ',' . $val;
985
  }
986
  }
987
  $original_value = $original_value . $meta_val ;
57
  $info = '';
58
  $user_can_post = 'yes';
59
  $current_user = wpuf_get_user();
60
+ $guest_post_enabled = $form->guest_post();
61
 
62
+ if ( isset( $form_settings['message_restrict'] ) && !$guest_post_enabled && ! is_user_logged_in() ) {
63
  $user_can_post = 'no';
64
+ $info = $form_settings['message_restrict'];
65
  }
66
 
67
  if ( $form->is_charging_enabled() ) {
68
  $pay_per_post = $form->is_enabled_pay_per_post();
69
+ $pay_per_post_cost = (float) $form->get_pay_per_post_cost();
70
  $force_pack = $form->is_enabled_force_pack();
71
+ $fallback_enabled = $form->is_enabled_fallback_cost();
72
+ $fallback_cost = $form->get_subs_fallback_cost();
73
+ $has_post_count = $current_user->subscription()->has_post_count( $form_settings['post_type'] );
74
 
75
  // guest post payment checking
76
+ if ( ! is_user_logged_in() && isset( $form_settings['guest_post'] ) && $form_settings['guest_post'] == 'true' ) {
77
  if ( $form->is_charging_enabled() ) {
78
  if ( $force_pack ) {
79
  $user_can_post = 'no';
97
  $current_pack = $current_user->subscription()->current_pack();
98
 
99
  if ( ! is_wp_error( $current_pack ) ) {
100
+ // user has valid post count
101
+ if ( $has_post_count ) {
102
  $user_can_post = 'yes';
103
  } else {
104
+ if ( $fallback_enabled && !$has_post_count ) {
105
+ $user_can_post = 'yes';
106
+ } else {
107
+ $user_can_post = 'no';
108
+ $info = 'Post Limit Exceeded for your purchased subscription pack.';
109
+ }
110
  }
111
  } else {
112
  $user_can_post = 'no';
128
  } else {
129
  $user_can_post = 'no';
130
  if ( !is_user_logged_in() ) {
131
+ $info = $form_settings['message_restrict'];
132
  } else {
133
  $info = sprintf( __( 'Payment type not selected for this form. Please contact admin.', 'wpuf' ));
134
  }
136
  }
137
  }
138
  } else {
139
+ if ( isset( $form_settings['guest_post'] ) && $form_settings['guest_post'] == 'true' && ! is_user_logged_in() ) {
140
  $user_can_post = 'yes';
141
  }
142
  }
143
 
144
+ // var_dump( $user_can_post );
145
+ // var_dump( $info );
146
+
147
  $info = apply_filters( 'wpuf_addpost_notice', $info, $id, $form_settings );
148
  $user_can_post = apply_filters( 'wpuf_can_post', $user_can_post, $id, $form_settings );
149
 
211
 
212
  // fallback to default form
213
  if ( !$form_id ) {
214
+ $form_id = wpuf_get_option( 'default_post_form', 'wpuf_frontend_posting' );
215
  }
216
 
217
  if ( !$form_id ) {
252
  $form_id = isset( $_POST['form_id'] ) ? intval( $_POST['form_id'] ) : 0;
253
  $form_vars = $this->get_input_fields( $form_id );
254
  $form_settings = wpuf_get_form_settings( $form_id );
255
+ $guest_mode = isset( $form_settings['guest_post'] ) ? $form_settings['guest_post'] : '';
256
  $guest_verify = isset( $form_settings['guest_email_verify'] ) ? $form_settings['guest_email_verify'] : 'false' ;
257
 
258
  list( $post_vars, $taxonomy_vars, $meta_vars ) = $form_vars;
280
 
281
  $is_update = false;
282
  $post_author = null;
283
+ $default_post_author = wpuf_get_option( 'default_post_owner', 'wpuf_frontend_posting', 1 );
284
 
285
  // Guest Stuffs: check for guest post
286
  if ( !is_user_logged_in() ) {
287
 
288
+ if ( isset( $form_settings['guest_post'] ) && $form_settings['guest_post'] == 'true' && $form_settings['guest_details'] == 'true' ) {
289
  $guest_name = trim( $_POST['guest_name'] );
290
  $guest_email = trim( $_POST['guest_email'] );
291
 
300
  // $post_author = $user->ID;
301
  wp_send_json( array(
302
  'success' => false,
303
+ 'error' => __( "You already have an account in our site. Please login to continue.\n\nClicking 'OK' will redirect you to the login page and you will lose the form data.\nClick 'Cancel' to stay at this page.", 'wpuf' ),
304
  'type' => 'login',
305
  'redirect_to' => wp_login_url( get_permalink( $_POST['page_id'] ) )
306
  ) );
337
  }
338
 
339
  // guest post is enabled and details are off
340
+ } elseif ( isset( $form_settings['guest_post'] ) && $form_settings['guest_post'] == 'true' && $form_settings['guest_details'] == 'false' ) {
341
  $post_author = $default_post_author;
342
  }
343
 
359
  $charging_enabled = '';
360
  $form = new WPUF_Form( $form_id );
361
  $payment_options = $form->is_charging_enabled();
362
+ $ppp_cost_enabled = $form->is_enabled_pay_per_post();
363
+ $forcePack = $form->is_enabled_force_pack();
364
  $current_user = wpuf_get_user();
365
 
366
  if ( !$payment_options || !is_user_logged_in() ) {
511
  }
512
  }
513
 
 
514
  // set the post form_id for later usage
515
  update_post_meta( $post_id, self::$config_id, $form_id );
516
 
603
  update_post_meta( $post_id, '_product_attributes', $woo_attr );
604
  }
605
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
606
  //redirect URL
607
  $show_message = false;
608
  $redirect_to = false;
663
  wpuf_send_mail_to_guest ( $post_id_encoded, $form_id_encoded, 'yes', 2 );
664
  }
665
 
 
666
 
667
  if ( $guest_mode == 'true' && $guest_verify == 'true' && !is_user_logged_in() ) {
668
+
669
  $response = apply_filters( 'wpuf_edit_post_redirect', $response, $post_id, $form_id, $form_settings );
670
+
671
  } elseif ( $is_update ) {
672
+
673
+ //send mail notification
674
+ if ( isset( $form_settings['notification'] ) && $form_settings['notification']['edit'] == 'on' ) {
675
+ $mail_body = $this->prepare_mail_body( $form_settings['notification']['edit_body'], $post_author, $post_id );
676
+ $to = $this->prepare_mail_body( $form_settings['notification']['edit_to'], $post_author, $post_id );
677
+ $subject = $this->prepare_mail_body( $form_settings['notification']['edit_subject'], $post_author, $post_id );
678
+ $headers = array('Content-Type: text/html; charset=UTF-8');
679
+
680
+ wp_mail( $to, $subject, $mail_body, $headers );
681
+ }
682
+
683
+ //now redirect the user
684
  $response = apply_filters( 'wpuf_edit_post_redirect', $response, $post_id, $form_id, $form_settings );
685
+
686
+ //now perform some post related actions
687
+ do_action( 'wpuf_edit_post_after_update', $post_id, $form_id, $form_settings, $form_vars ); // plugin API to extend the functionality
688
+
689
  } else {
690
+
691
+ // send mail notification
692
+ if ( isset( $form_settings['notification'] ) && $form_settings['notification']['new'] == 'on' ) {
693
+ $mail_body = $this->prepare_mail_body( $form_settings['notification']['new_body'], $post_author, $post_id );
694
+ $to = $this->prepare_mail_body( $form_settings['notification']['new_to'], $post_author, $post_id );
695
+ $subject = $this->prepare_mail_body( $form_settings['notification']['new_subject'], $post_author, $post_id );
696
+
697
+ wp_mail( $to, $subject, $mail_body );
698
+ }
699
+
700
+ //redirect the user
701
  $response = apply_filters( 'wpuf_add_post_redirect', $response, $post_id, $form_id, $form_settings );
702
+
703
+ //now perform some post related actions
704
+ do_action( 'wpuf_add_post_after_insert', $post_id, $form_id, $form_settings, $form_vars ); // plugin API to extend the functionality
705
  }
706
 
707
  wpuf_clear_buffer();
708
  wp_send_json( $response );
709
+
710
  }
711
 
712
  $this->send_error( __( 'Something went wrong', 'wpuf' ) );
973
  $value = get_post_meta( $post_id, $meta_key, false );
974
  $new_value = implode( '; ', $value );
975
 
976
+ $original_value = '';
977
+ $meta_val = '';
978
  if ( count( $value ) > 1 ) {
979
+ $isFirst = true;
980
  foreach ($value as $val) {
981
  if ( $isFirst ) {
982
+ if ( get_post_mime_type( (int) $val ) ) {
983
+ $meta_val = wp_get_attachment_url( $val );
984
+ } else {
985
+ $meta_val = $val;
986
+ }
987
+ $isFirst = false;
988
  } else {
989
+ if ( get_post_mime_type( (int) $val ) ) {
990
+ $meta_val = $meta_val . ', ' . wp_get_attachment_url( $val );
991
+ } else {
992
+ $meta_val = $meta_val . ', ' . $val;
993
+ }
994
  }
995
  if ( get_post_mime_type( (int) $val ) ) {
996
+ $meta_val = $meta_val . ',' . wp_get_attachment_url( $val );
997
  } else {
998
+ $meta_val = $meta_val . ',' . $val;
999
  }
1000
  }
1001
  $original_value = $original_value . $meta_val ;
class/payment.php CHANGED
@@ -115,9 +115,9 @@ class WPUF_Payment {
115
  wpuf_get_user( $current_user->ID )->subscription()->add_pack( $pack_id, null, false, 'free' );
116
  $wpuf_user->subscription()->add_free_pack( $current_user->ID, $pack_id );
117
 
118
- $message = apply_filters( 'wpuf_fp_activated_msg', __( 'Your free package has been activated. Enjoy!' ), 'wpuf' );
119
  } else {
120
- $message = apply_filters( 'wpuf_fp_activated_error', __( 'You already have activated a free package previously.' ), 'wpuf' );
121
  }
122
  ?>
123
  <div class="wpuf-info"><?php echo $message; ?></div>
@@ -250,6 +250,8 @@ class WPUF_Payment {
250
  $pack_id = isset( $_REQUEST['pack_id'] ) ? intval( $_REQUEST['pack_id'] ) : 0;
251
  $gateway = $_POST['wpuf_payment_method'];
252
  $type = $_POST['type'];
 
 
253
 
254
  if ( is_user_logged_in() ) {
255
  $userdata = wp_get_current_user();
@@ -272,7 +274,11 @@ class WPUF_Payment {
272
  $post = get_post( $post_id );
273
  $form_id = get_post_meta( $post_id, '_wpuf_form_id', true );
274
  $form = new WPUF_Form( $form_id );
275
- $amount = $form->get_pay_per_post_cost();
 
 
 
 
276
  $item_number = $post->ID;
277
  $item_name = $post->post_title;
278
  break;
115
  wpuf_get_user( $current_user->ID )->subscription()->add_pack( $pack_id, null, false, 'free' );
116
  $wpuf_user->subscription()->add_free_pack( $current_user->ID, $pack_id );
117
 
118
+ $message = apply_filters( 'wpuf_fp_activated_msg', __( 'Your free package has been activated. Enjoy!', 'wpuf' ), 'wpuf' );
119
  } else {
120
+ $message = apply_filters( 'wpuf_fp_activated_error', __( 'You already have activated a free package previously.', 'wpuf' ), 'wpuf' );
121
  }
122
  ?>
123
  <div class="wpuf-info"><?php echo $message; ?></div>
250
  $pack_id = isset( $_REQUEST['pack_id'] ) ? intval( $_REQUEST['pack_id'] ) : 0;
251
  $gateway = $_POST['wpuf_payment_method'];
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();
274
  $post = get_post( $post_id );
275
  $form_id = get_post_meta( $post_id, '_wpuf_form_id', true );
276
  $form = new WPUF_Form( $form_id );
277
+ if ( $current_pack && !$current_user->subscription()->has_post_count( $form_settings['post_type'] ) ) {
278
+ $amount = $form->get_subs_fallback_cost();
279
+ } else {
280
+ $amount = $form->get_pay_per_post_cost();
281
+ }
282
  $item_number = $post->ID;
283
  $item_name = $post->post_title;
284
  break;
class/render-form.php CHANGED
@@ -1260,7 +1260,7 @@ class WPUF_Render_Form {
1260
  </div>
1261
 
1262
  <div class="wpuf-fields">
1263
- <div id="pass-strength-result" style="display: block"><?php _e( 'Strength indicator' ); ?></div>
1264
  </div>
1265
 
1266
  <script type="text/javascript">
@@ -1313,15 +1313,13 @@ class WPUF_Render_Form {
1313
 
1314
  function taxnomy_select( $terms, $attr ) {
1315
 
1316
- $selected = $terms ? $terms : '';
1317
- $required = sprintf( 'data-required="%s" data-type="select"', $attr['required'] );
1318
- $taxonomy = $attr['name'];
1319
- $class = ' wpuf_'.$attr['name'].'_'.$selected;
1320
- $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1321
- $exclude = $attr['exclude'];
1322
-
1323
- $select = wp_dropdown_categories( array(
1324
-
1325
  'show_option_none' => __( '-- Select --', 'wpuf' ),
1326
  'hierarchical' => 1,
1327
  'hide_empty' => 0,
@@ -1336,7 +1334,11 @@ class WPUF_Render_Form {
1336
  'selected' => $selected,
1337
  'depth' => 1,
1338
  'child_of' => isset( $attr['parent_cat'] ) ? $attr['parent_cat'] : ''
1339
- ) );
 
 
 
 
1340
 
1341
  echo str_replace( '<select', '<select ' . $required, $select );
1342
  $attr = array(
@@ -1350,6 +1352,7 @@ class WPUF_Render_Form {
1350
  //'last_term_id' => isset( $attr['parent_cat'] ) ? $attr['parent_cat'] : '',
1351
  //'term_id' => $selected
1352
  );
 
1353
  ?>
1354
  <span data-taxonomy=<?php echo json_encode( $attr ); ?>></span>
1355
  <?php
@@ -1363,11 +1366,11 @@ class WPUF_Render_Form {
1363
  */
1364
  function taxonomy( $attr, $post_id, $form_id ) {
1365
 
1366
- $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1367
- $exclude = $attr['exclude'];
1368
- $taxonomy = $attr['name'];
1369
- $class = ' wpuf_'.$attr['name'].'_'.$form_id;
1370
-
1371
 
1372
  $terms = array();
1373
  if ( $post_id && $attr['type'] == 'text' ) {
@@ -1430,11 +1433,9 @@ class WPUF_Render_Form {
1430
  <?php
1431
  break;
1432
  case 'select':
1433
-
1434
  $selected = $terms ? $terms[0] : '';
1435
  $required = sprintf( 'data-required="%s" data-type="select"', $attr['required'] );
1436
-
1437
- $select = wp_dropdown_categories( array(
1438
  'show_option_none' => __( '-- Select --', 'wpuf' ),
1439
  'hierarchical' => 1,
1440
  'hide_empty' => 0,
@@ -1447,7 +1448,11 @@ class WPUF_Render_Form {
1447
  'class' => $taxonomy . $class,
1448
  $exclude_type => $exclude,
1449
  'selected' => $selected,
1450
- ) );
 
 
 
 
1451
 
1452
  echo str_replace( '<select', '<select ' . $required, $select );
1453
  break;
@@ -1455,9 +1460,8 @@ class WPUF_Render_Form {
1455
  case 'multiselect':
1456
  $selected = $terms ? $terms : array();
1457
  $required = sprintf( 'data-required="%s" data-type="multiselect"', $attr['required'] );
1458
- $walker = new WPUF_Walker_Category_Multi();
1459
-
1460
- $select = wp_dropdown_categories( array(
1461
  // 'show_option_none' => __( '-- Select --', 'wpuf' ),
1462
  'hierarchical' => 1,
1463
  'hide_empty' => 0,
@@ -1472,7 +1476,11 @@ class WPUF_Render_Form {
1472
  $exclude_type => $exclude,
1473
  'selected' => $selected,
1474
  'walker' => $walker
1475
- ) );
 
 
 
 
1476
 
1477
  echo str_replace( '<select', '<select multiple="multiple" ' . $required, $select );
1478
  break;
1260
  </div>
1261
 
1262
  <div class="wpuf-fields">
1263
+ <div id="pass-strength-result" style="display: block"><?php _e( 'Strength indicator', 'wpuf' ); ?></div>
1264
  </div>
1265
 
1266
  <script type="text/javascript">
1313
 
1314
  function taxnomy_select( $terms, $attr ) {
1315
 
1316
+ $selected = $terms ? $terms : '';
1317
+ $required = sprintf( 'data-required="%s" data-type="select"', $attr['required'] );
1318
+ $taxonomy = $attr['name'];
1319
+ $class = ' wpuf_'.$attr['name'].'_'.$selected;
1320
+ $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1321
+ $exclude = $attr['exclude'];
1322
+ $tax_args = array(
 
 
1323
  'show_option_none' => __( '-- Select --', 'wpuf' ),
1324
  'hierarchical' => 1,
1325
  'hide_empty' => 0,
1334
  'selected' => $selected,
1335
  'depth' => 1,
1336
  'child_of' => isset( $attr['parent_cat'] ) ? $attr['parent_cat'] : ''
1337
+ );
1338
+
1339
+ $tax_args = apply_filters( 'wpuf_taxonomy_checklist_args', $tax_args );
1340
+
1341
+ $select = wp_dropdown_categories( $tax_args );
1342
 
1343
  echo str_replace( '<select', '<select ' . $required, $select );
1344
  $attr = array(
1352
  //'last_term_id' => isset( $attr['parent_cat'] ) ? $attr['parent_cat'] : '',
1353
  //'term_id' => $selected
1354
  );
1355
+ $attr = apply_filters( 'wpuf_taxonomy_checklist_args', $attr );
1356
  ?>
1357
  <span data-taxonomy=<?php echo json_encode( $attr ); ?>></span>
1358
  <?php
1366
  */
1367
  function taxonomy( $attr, $post_id, $form_id ) {
1368
 
1369
+ $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1370
+ $exclude = $attr['exclude'];
1371
+ $taxonomy = $attr['name'];
1372
+ $class = ' wpuf_'.$attr['name'].'_'.$form_id;
1373
+ $current_user = get_current_user_id();
1374
 
1375
  $terms = array();
1376
  if ( $post_id && $attr['type'] == 'text' ) {
1433
  <?php
1434
  break;
1435
  case 'select':
 
1436
  $selected = $terms ? $terms[0] : '';
1437
  $required = sprintf( 'data-required="%s" data-type="select"', $attr['required'] );
1438
+ $tax_args = array(
 
1439
  'show_option_none' => __( '-- Select --', 'wpuf' ),
1440
  'hierarchical' => 1,
1441
  'hide_empty' => 0,
1448
  'class' => $taxonomy . $class,
1449
  $exclude_type => $exclude,
1450
  'selected' => $selected,
1451
+ );
1452
+
1453
+ $tax_args = apply_filters( 'wpuf_taxonomy_checklist_args', $tax_args );
1454
+
1455
+ $select = wp_dropdown_categories( $tax_args );
1456
 
1457
  echo str_replace( '<select', '<select ' . $required, $select );
1458
  break;
1460
  case 'multiselect':
1461
  $selected = $terms ? $terms : array();
1462
  $required = sprintf( 'data-required="%s" data-type="multiselect"', $attr['required'] );
1463
+ $walker = new WPUF_Walker_Category_Multi();
1464
+ $tax_args = array(
 
1465
  // 'show_option_none' => __( '-- Select --', 'wpuf' ),
1466
  'hierarchical' => 1,
1467
  'hide_empty' => 0,
1476
  $exclude_type => $exclude,
1477
  'selected' => $selected,
1478
  'walker' => $walker
1479
+ );
1480
+
1481
+ $tax_args = apply_filters( 'wpuf_taxonomy_checklist_args', $tax_args );
1482
+
1483
+ $select = wp_dropdown_categories( $tax_args );
1484
 
1485
  echo str_replace( '<select', '<select multiple="multiple" ' . $required, $select );
1486
  break;
class/subscription.php CHANGED
@@ -14,7 +14,7 @@ class WPUF_Subscription {
14
  function __construct() {
15
 
16
  add_action( 'init', array($this, 'register_post_type') );
17
- add_filter( 'wpuf_add_post_args', array($this, 'set_pending'), 10, 3 );
18
  add_filter( 'wpuf_add_post_redirect', array($this, 'post_redirect'), 10, 4 );
19
 
20
  add_filter( 'wpuf_addpost_notice', array($this, 'force_pack_notice'), 20, 3 );
@@ -28,8 +28,6 @@ class WPUF_Subscription {
28
  add_shortcode( 'wpuf_sub_info', array($this, 'subscription_info') );
29
  add_shortcode( 'wpuf_sub_pack', array($this, 'subscription_packs') );
30
 
31
- add_action( 'add_meta_boxes_wpuf_subscription', array($this, 'add_meta_box_subscription_post') );
32
-
33
  add_action( 'save_post', array( $this, 'save_form_meta' ), 10, 2 );
34
  add_filter( 'enter_title_here', array( $this, 'change_default_title' ) );
35
  add_action( 'admin_enqueue_scripts', array( $this, 'subscription_script' ) );
@@ -279,7 +277,8 @@ class WPUF_Subscription {
279
  $post_types['wpuf_coupon'],
280
  $post_types['wpuf_input'],
281
  $post_types['custom_css'],
282
- $post_types['customize_changeset']
 
283
  );
284
 
285
  return apply_filters( 'wpuf_posts_type', $post_types );
@@ -312,11 +311,11 @@ class WPUF_Subscription {
312
 
313
  $post_data = $_POST;
314
 
315
- if ( !isset( $post_data['wpuf_subscription'] ) ) {
316
  return;
317
  }
318
 
319
- if ( !wp_verify_nonce( $post_data['wpuf_subscription'], 'wpuf_subscription_editor' ) ) {
320
  return;
321
  }
322
 
@@ -360,7 +359,7 @@ class WPUF_Subscription {
360
  'show_in_menu' => false,
361
  'hierarchical' => false,
362
  'query_var' => false,
363
- 'supports' => array('title'),
364
  'capability_type' => 'post',
365
  'capabilities' => array(
366
  'publish_posts' => $capability,
@@ -415,19 +414,6 @@ class WPUF_Subscription {
415
  $this->update_user_subscription_meta( $payer->payer_id, $pack );
416
  }
417
 
418
- function add_meta_box_subscription_post() {
419
- add_meta_box( 'wpuf-metabox-subscription', __( 'Billing Details', 'wpuf' ), array($this, 'subscription_form_elements_post'), 'wpuf_subscription', 'normal', 'high' );
420
- }
421
-
422
- function subscription_form_elements_post() {
423
- require_once dirname(__FILE__) . '/../admin/class-admin-subscription.php';
424
- ?>
425
- <div class="wrap">
426
- <?php WPUF_Admin_Subscription::getInstance()->form(); ?>
427
- </div>
428
- <?php
429
- }
430
-
431
  /**
432
  * Get a subscription row from database
433
  *
@@ -453,18 +439,21 @@ class WPUF_Subscription {
453
  * @param string $postdata
454
  * @return string
455
  */
456
- function set_pending( $postdata, $form_id, $form_settings ) {
457
 
458
- $charging_enabled = '';
459
  $form = new WPUF_Form( $form_id );
460
  $payment_options = $form->is_charging_enabled();
461
- if ( !$payment_options ) {
462
- $charging_enabled = 'no';
463
- } else {
464
- $charging_enabled = 'yes';
 
 
 
 
465
  }
466
 
467
- if ( $charging_enabled == 'yes' ) {
468
  $postdata['post_status'] = 'pending';
469
  }
470
 
@@ -489,13 +478,15 @@ class WPUF_Subscription {
489
  return;
490
  }
491
 
492
- $force_pack = $form->is_enabled_force_pack();
493
- $pay_per_post = $form->is_enabled_pay_per_post();
494
- $current_user = wpuf_get_user();
 
 
 
495
 
496
- if ( $force_pack || $current_user->subscription()->has_post_count( $form_settings['post_type'] ) ) {
497
 
498
- update_post_meta( $post_id, '_test_key', 'test2' );
499
  $sub_info = self::get_user_pack( $userdata->ID );
500
  $post_type = isset( $form_settings['post_type'] ) ? $form_settings['post_type'] : 'post';
501
  $count = isset( $sub_info['posts'][$post_type] ) ? intval( $sub_info['posts'][$post_type] ) : 0;
@@ -515,7 +506,7 @@ class WPUF_Subscription {
515
  //meta added to make post have flag if post is published
516
  update_post_meta( $post_id, 'wpuf_post_status', 'published' );
517
 
518
- } elseif ( $pay_per_post ) {
519
  //there is some error and it needs payment
520
  //add a uniqid to track the post easily
521
  $order_id = uniqid( rand( 10, 1000 ), false );
@@ -569,25 +560,36 @@ class WPUF_Subscription {
569
  */
570
  function post_redirect( $response, $post_id, $form_id, $form_settings ) {
571
 
572
- $form = new WPUF_Form( $form_id );
573
-
574
- if ( $form->is_charging_enabled() ) {
575
-
 
 
 
 
 
 
576
  $order_id = get_post_meta( $post_id, '_wpuf_order_id', true );
577
 
578
  // check if there is a order ID
579
- if ( $order_id ) {
580
  $response['show_message'] = false;
581
  $response['redirect_to'] = add_query_arg( array(
582
  'action' => 'wpuf_pay',
583
  'type' => 'post',
584
  'post_id' => $post_id
585
  ), get_permalink( wpuf_get_option( 'payment_page', 'wpuf_payment' ) ) );
586
-
587
- return $response;
 
 
 
 
 
 
588
  }
589
  }
590
-
591
  return $response;
592
  }
593
 
@@ -604,7 +606,7 @@ class WPUF_Subscription {
604
 
605
  } else if ( $info['pack_id'] ) {
606
 
607
- $profile_id = isset( $info['profile_id'] ) ? $info['profile_id'] : null;
608
  wpuf_get_user( $info['user_id'] )->subscription()->add_pack( $info['pack_id'], $profile_id, $recurring, $info['status'] );
609
 
610
  }
@@ -697,8 +699,9 @@ class WPUF_Subscription {
697
  */
698
  function subscription_info() {
699
  // _deprecated_function( __FUNCTION__, '2.6.0', 'wpuf_get_user()->subscription()->pack_info( $form_id );' );
700
-
701
- wpuf_get_user()->subscription()->pack_info( $form_id );
 
702
  }
703
 
704
 
@@ -827,7 +830,7 @@ class WPUF_Subscription {
827
 
828
  if ( $billing_amount && $pack->meta_value['recurring_pay'] == 'yes' && $pack->meta_value['trial_status'] == 'yes' ) {
829
 
830
- $trial_des = __( sprintf( 'The first %s %s', $pack->meta_value['trial_duration'], $pack->meta_value['trial_duration_type'] ), 'wpuf' );
831
 
832
  } else {
833
  $trial_des = '';
@@ -893,21 +896,34 @@ class WPUF_Subscription {
893
  function add_post_info( $form_id, $form_settings ) {
894
  $form = new WPUF_Form( $form_id );
895
  $pay_per_post = $form->is_enabled_pay_per_post();
896
- $pay_per_post_cost = (int) $form->get_pay_per_post_cost();
897
  $force_pack = $form->is_enabled_force_pack();
 
 
898
 
899
  if ( self::has_user_error( $form_settings ) || ( $pay_per_post && !$force_pack ) ) {
900
  ?>
901
  <div class="wpuf-info">
902
  <?php
903
  $form = new WPUF_Form( $form_id );
904
- $pay_per_post_cost = (int) $form->get_pay_per_post_cost();
905
  $text = sprintf( __( 'There is a <strong>%s</strong> charge to add a new post.', 'wpuf' ), wpuf_format_price( $pay_per_post_cost ));
906
 
907
  echo apply_filters( 'wpuf_ppp_notice', $text, $form_id, $form_settings );
908
  ?>
909
  </div>
910
  <?php
 
 
 
 
 
 
 
 
 
 
 
911
  }
912
  }
913
 
@@ -958,21 +974,46 @@ class WPUF_Subscription {
958
  $form = new WPUF_Form( $id );
959
  $force_pack = $form->is_enabled_force_pack();
960
  $pay_per_post = $form->is_enabled_pay_per_post();
 
 
 
961
  $current_user = wpuf_get_user();
 
 
962
 
963
  if ( is_user_logged_in() ) {
964
 
965
  if ( wpuf_get_user()->post_locked() ) {
966
  return 'no';
967
  } else {
 
 
968
  if ( !$form->is_charging_enabled() ) {
969
  return 'yes';
970
  } else {
 
971
  if ( $force_pack ) {
972
- if ( !$current_user->subscription()->current_pack_id() ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
973
  return 'no';
974
- } elseif ( $current_user->subscription()->has_post_count( $form_settings['post_type'] )) {
975
- return 'yes';
976
  }
977
  }
978
  if ( !$force_pack && $pay_per_post ) {
@@ -983,7 +1024,7 @@ class WPUF_Subscription {
983
 
984
  }
985
 
986
- if ( !is_user_logged_in() && $form_settings['guest_post'] == 'true' ) {
987
  if ( $form->is_charging_enabled() ) {
988
  if ( $force_pack ) {
989
  return 'no';
14
  function __construct() {
15
 
16
  add_action( 'init', array($this, 'register_post_type') );
17
+ add_filter( 'wpuf_add_post_args', array($this, 'set_pending'), 10, 4 );
18
  add_filter( 'wpuf_add_post_redirect', array($this, 'post_redirect'), 10, 4 );
19
 
20
  add_filter( 'wpuf_addpost_notice', array($this, 'force_pack_notice'), 20, 3 );
28
  add_shortcode( 'wpuf_sub_info', array($this, 'subscription_info') );
29
  add_shortcode( 'wpuf_sub_pack', array($this, 'subscription_packs') );
30
 
 
 
31
  add_action( 'save_post', array( $this, 'save_form_meta' ), 10, 2 );
32
  add_filter( 'enter_title_here', array( $this, 'change_default_title' ) );
33
  add_action( 'admin_enqueue_scripts', array( $this, 'subscription_script' ) );
277
  $post_types['wpuf_coupon'],
278
  $post_types['wpuf_input'],
279
  $post_types['custom_css'],
280
+ $post_types['customize_changeset'],
281
+ $post_types['oembed_cache']
282
  );
283
 
284
  return apply_filters( 'wpuf_posts_type', $post_types );
311
 
312
  $post_data = $_POST;
313
 
314
+ if ( !isset( $post_data['billing_amount'] ) ) {
315
  return;
316
  }
317
 
318
+ if ( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'subs_meta_box_nonce' ) ) {
319
  return;
320
  }
321
 
359
  'show_in_menu' => false,
360
  'hierarchical' => false,
361
  'query_var' => false,
362
+ 'supports' => array( 'title' ),
363
  'capability_type' => 'post',
364
  'capabilities' => array(
365
  'publish_posts' => $capability,
414
  $this->update_user_subscription_meta( $payer->payer_id, $pack );
415
  }
416
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
  /**
418
  * Get a subscription row from database
419
  *
439
  * @param string $postdata
440
  * @return string
441
  */
442
+ function set_pending( $postdata, $form_id, $form_settings, $form_vars ) {
443
 
 
444
  $form = new WPUF_Form( $form_id );
445
  $payment_options = $form->is_charging_enabled();
446
+ $pay_per_post = $form->is_enabled_pay_per_post();
447
+ $fallback_cost = $form->is_enabled_fallback_cost();
448
+ $current_user = wpuf_get_user();
449
+ $current_pack = $current_user->subscription()->current_pack();
450
+ $has_post = $current_user->subscription()->has_post_count( $form_settings['post_type'] );
451
+
452
+ if ( is_wp_error( $current_pack ) && $fallback_cost && !$has_post ) {
453
+ $postdata['post_status'] = 'pending';
454
  }
455
 
456
+ if ( $payment_options && ( $pay_per_post || ( $fallback_cost && !$has_post ))) {
457
  $postdata['post_status'] = 'pending';
458
  }
459
 
478
  return;
479
  }
480
 
481
+ $force_pack = $form->is_enabled_force_pack();
482
+ $pay_per_post = $form->is_enabled_pay_per_post();
483
+ $fallback_cost = $form->is_enabled_fallback_cost();
484
+ $current_user = wpuf_get_user();
485
+ $current_pack = $current_user->subscription()->current_pack();
486
+ $has_post = $current_user->subscription()->has_post_count( $form_settings['post_type'] );
487
 
488
+ if ( $force_pack && ! is_wp_error( $current_pack ) && $has_post ) {
489
 
 
490
  $sub_info = self::get_user_pack( $userdata->ID );
491
  $post_type = isset( $form_settings['post_type'] ) ? $form_settings['post_type'] : 'post';
492
  $count = isset( $sub_info['posts'][$post_type] ) ? intval( $sub_info['posts'][$post_type] ) : 0;
506
  //meta added to make post have flag if post is published
507
  update_post_meta( $post_id, 'wpuf_post_status', 'published' );
508
 
509
+ } elseif ( $pay_per_post || ($fallback_cost && !$has_post )) {
510
  //there is some error and it needs payment
511
  //add a uniqid to track the post easily
512
  $order_id = uniqid( rand( 10, 1000 ), false );
560
  */
561
  function post_redirect( $response, $post_id, $form_id, $form_settings ) {
562
 
563
+ $form = new WPUF_Form( $form_id );
564
+ $payment_options = $form->is_charging_enabled();
565
+ $force_pack = $form->is_enabled_force_pack();
566
+ $fallback_cost = $form->is_enabled_fallback_cost();
567
+ $current_user = wpuf_get_user();
568
+ $current_pack = $current_user->subscription()->current_pack();
569
+ $has_pack = $current_user->subscription()->has_post_count( $form_settings['post_type'] );
570
+ $ppp_cost_enabled = $form->is_enabled_pay_per_post();
571
+
572
+ if ( $payment_options && !$has_pack ) {
573
  $order_id = get_post_meta( $post_id, '_wpuf_order_id', true );
574
 
575
  // check if there is a order ID
576
+ if ( $order_id || ( $payment_options && $fallback_cost ) ) {
577
  $response['show_message'] = false;
578
  $response['redirect_to'] = add_query_arg( array(
579
  'action' => 'wpuf_pay',
580
  'type' => 'post',
581
  'post_id' => $post_id
582
  ), get_permalink( wpuf_get_option( 'payment_page', 'wpuf_payment' ) ) );
583
+ }
584
+ if ( !$forcePack && $ppp_cost_enabled ) {
585
+ $response['show_message'] = false;
586
+ $response['redirect_to'] = add_query_arg( array(
587
+ 'action' => 'wpuf_pay',
588
+ 'type' => 'post',
589
+ 'post_id' => $post_id
590
+ ), get_permalink( wpuf_get_option( 'payment_page', 'wpuf_payment' ) ) );
591
  }
592
  }
 
593
  return $response;
594
  }
595
 
606
 
607
  } else if ( $info['pack_id'] ) {
608
 
609
+ $profile_id = isset( $info['user_id'] ) ? $info['user_id'] : null;
610
  wpuf_get_user( $info['user_id'] )->subscription()->add_pack( $info['pack_id'], $profile_id, $recurring, $info['status'] );
611
 
612
  }
699
  */
700
  function subscription_info() {
701
  // _deprecated_function( __FUNCTION__, '2.6.0', 'wpuf_get_user()->subscription()->pack_info( $form_id );' );
702
+ // wpuf_get_user()->subscription()->pack_info( $form_id );
703
+ $sections = wpuf_get_account_sections();
704
+ do_action( "wpuf_account_content_subscription", $sections, 'subscription' );
705
  }
706
 
707
 
830
 
831
  if ( $billing_amount && $pack->meta_value['recurring_pay'] == 'yes' && $pack->meta_value['trial_status'] == 'yes' ) {
832
 
833
+ $trial_des = __( sprintf( 'The first %s %s', $pack->meta_value['wpuf'], $pack->meta_value['trial_duration_type'] ), 'wpuf' );
834
 
835
  } else {
836
  $trial_des = '';
896
  function add_post_info( $form_id, $form_settings ) {
897
  $form = new WPUF_Form( $form_id );
898
  $pay_per_post = $form->is_enabled_pay_per_post();
899
+ $pay_per_post_cost = (float) $form->get_pay_per_post_cost();
900
  $force_pack = $form->is_enabled_force_pack();
901
+ $current_user = wpuf_get_user();
902
+ $current_pack = $current_user->subscription()->current_pack();
903
 
904
  if ( self::has_user_error( $form_settings ) || ( $pay_per_post && !$force_pack ) ) {
905
  ?>
906
  <div class="wpuf-info">
907
  <?php
908
  $form = new WPUF_Form( $form_id );
909
+ $pay_per_post_cost = (float) $form->get_pay_per_post_cost();
910
  $text = sprintf( __( 'There is a <strong>%s</strong> charge to add a new post.', 'wpuf' ), wpuf_format_price( $pay_per_post_cost ));
911
 
912
  echo apply_filters( 'wpuf_ppp_notice', $text, $form_id, $form_settings );
913
  ?>
914
  </div>
915
  <?php
916
+ } elseif ( self::has_user_error( $form_settings ) || ( $force_pack && !is_wp_error( $current_pack ) && !$current_user->subscription()->has_post_count( $form_settings['post_type'] ) ) ) {
917
+ ?>
918
+ <div class="wpuf-info">
919
+ <?php
920
+ $form = new WPUF_Form( $form_id );
921
+ $fallback_cost = (int )$form->get_subs_fallback_cost();
922
+ $text = sprintf( __( 'Your Subscription pack exhausted. There is a <strong>%s</strong> charge to add a new post.', 'wpuf' ), wpuf_format_price( $fallback_cost ));
923
+ echo apply_filters( 'wpuf_ppp_notice', $text, $form_id, $form_settings );
924
+ ?>
925
+ </div>
926
+ <?php
927
  }
928
  }
929
 
974
  $form = new WPUF_Form( $id );
975
  $force_pack = $form->is_enabled_force_pack();
976
  $pay_per_post = $form->is_enabled_pay_per_post();
977
+ $fallback_enabled = $form->is_enabled_fallback_cost();
978
+ $fallback_cost = $form->get_subs_fallback_cost();
979
+
980
  $current_user = wpuf_get_user();
981
+ $current_pack = $current_user->subscription()->current_pack();
982
+ $has_post_count = isset( $form_settings['post_type'] ) ? $current_user->subscription()->has_post_count( $form_settings['post_type'] ) : false;
983
 
984
  if ( is_user_logged_in() ) {
985
 
986
  if ( wpuf_get_user()->post_locked() ) {
987
  return 'no';
988
  } else {
989
+
990
+ // if post locking not enabled
991
  if ( !$form->is_charging_enabled() ) {
992
  return 'yes';
993
  } else {
994
+ //if charging is enabled
995
  if ( $force_pack ) {
996
+ if ( ! is_wp_error( $current_pack ) ) {
997
+ // current pack has no error
998
+ if ( ! $fallback_enabled ) {
999
+ //fallback cost enabled
1000
+ if ( !$current_user->subscription()->current_pack_id() ) {
1001
+ return 'no';
1002
+ } elseif ( $current_user->subscription()->has_post_count( $form_settings['post_type'] ) ) {
1003
+ return 'yes';
1004
+ }
1005
+ } else {
1006
+ //fallback cost disabled
1007
+ if ( !$current_user->subscription()->current_pack_id() ) {
1008
+ return 'no';
1009
+ } elseif ( $has_post_count ) {
1010
+ return 'yes';
1011
+ } elseif ( $current_user->subscription()->current_pack_id() && !$has_post_count ) {
1012
+ return 'yes';
1013
+ }
1014
+ }
1015
+ } else {
1016
  return 'no';
 
 
1017
  }
1018
  }
1019
  if ( !$force_pack && $pay_per_post ) {
1024
 
1025
  }
1026
 
1027
+ if ( !is_user_logged_in() && isset( $form_settings['guest_post'] ) && $form_settings['guest_post'] == 'true' ) {
1028
  if ( $form->is_charging_enabled() ) {
1029
  if ( $force_pack ) {
1030
  return 'no';
class/transactions-list-table.php CHANGED
@@ -74,7 +74,7 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
74
  * @return array
75
  */
76
  public function get_views() {
77
- $status_links = [];
78
  $base_link = admin_url( 'admin.php?page=wpuf_transaction' );
79
 
80
  $transactions_count = wpuf_get_transactions( array( 'count' => true ) );
@@ -170,6 +170,7 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
170
 
171
  if ( isset( $_REQUEST['status'] ) && $_REQUEST['status'] == 'pending' ) {
172
  $actions = array(
 
173
  'bulk-reject' => __( 'Reject', 'wpuf' ),
174
  );
175
  } else {
@@ -320,7 +321,9 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
320
  }
321
 
322
  // Accept Transaction
323
- if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'accept' ) {
 
 
324
  if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'wpuf-accept-transaction' ) ) {
325
  return false;
326
  }
@@ -369,6 +372,63 @@ class WPUF_Transactions_List_Table extends WP_List_Table {
369
  exit;
370
  }
371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
  }
373
 
374
  }
74
  * @return array
75
  */
76
  public function get_views() {
77
+ $status_links = array();
78
  $base_link = admin_url( 'admin.php?page=wpuf_transaction' );
79
 
80
  $transactions_count = wpuf_get_transactions( array( 'count' => true ) );
170
 
171
  if ( isset( $_REQUEST['status'] ) && $_REQUEST['status'] == 'pending' ) {
172
  $actions = array(
173
+ 'bulk-accept' => __( 'Accept', 'wpuf' ),
174
  'bulk-reject' => __( 'Reject', 'wpuf' ),
175
  );
176
  } else {
321
  }
322
 
323
  // Accept Transaction
324
+ if ( ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'accept' )
325
+ || ( isset( $_REQUEST['action2'] ) && $_REQUEST['action2'] == 'accept' )
326
+ ) {
327
  if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'wpuf-accept-transaction' ) ) {
328
  return false;
329
  }
372
  exit;
373
  }
374
 
375
+ // Bulk Accept Transaction
376
+ if ( ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'bulk-accept' )
377
+ || ( isset( $_REQUEST['action2'] ) && $_REQUEST['action2'] == 'bulk-accept' )
378
+ ) {
379
+ if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'bulk-transactions' ) ) {
380
+ return false;
381
+ }
382
+
383
+ if ( ! current_user_can( 'manage_options' ) ) {
384
+ return;
385
+ }
386
+
387
+ $ids = esc_sql( $_REQUEST['bulk-items'] );
388
+
389
+ foreach ( $ids as $id ) {
390
+ $id = absint( $id );
391
+
392
+ $info = get_post_meta( $id, '_data', true );
393
+
394
+ if ( $info ) {
395
+ switch ( $info['type'] ) {
396
+ case 'post':
397
+ $post_id = $info['item_number'];
398
+ $pack_id = 0;
399
+ break;
400
+
401
+ case 'pack':
402
+ $post_id = 0;
403
+ $pack_id = $info['item_number'];
404
+ break;
405
+ }
406
+
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,
413
+ 'payer_first_name' => $info['user_info']['first_name'],
414
+ 'payer_last_name' => $info['user_info']['last_name'],
415
+ 'payer_email' => $info['user_info']['email'],
416
+ 'payment_type' => 'Bank/Manual',
417
+ 'transaction_id' => $id,
418
+ 'created' => current_time( 'mysql' )
419
+ );
420
+
421
+ do_action( 'wpuf_gateway_bank_order_complete', $transaction, $id );
422
+
423
+ WPUF_Payment::insert_payment( $transaction );
424
+ wp_delete_post( $id, true );
425
+ }
426
+ }
427
+
428
+ wp_redirect( $page_url );
429
+ exit;
430
+ }
431
+
432
  }
433
 
434
  }
class/upload.php CHANGED
@@ -81,8 +81,8 @@ class WPUF_Upload {
81
  $response = array( 'success' => true );
82
 
83
  if ($image_only) {
84
- $image_size = wpuf_get_option( 'insert_photo_size', 'wpuf_general', 'thumbnail' );
85
- $image_type = wpuf_get_option( 'insert_photo_type', 'wpuf_general', 'link' );
86
 
87
  if ( $image_type == 'link' ) {
88
  $response['html'] = wp_get_attachment_link( $attach['attach_id'], $image_size );
@@ -159,7 +159,7 @@ class WPUF_Upload {
159
  $html = '<li class="wpuf-image-wrap thumbnail">';
160
  $html .= sprintf( '<div class="attachment-name"><img src="%s" alt="%s" /></div>', $image, esc_attr( $attachment->post_title ) );
161
 
162
- if ( wpuf_get_option( 'image_caption', 'wpuf_general', 'off' ) == 'on' ) {
163
  $html .= '<div class="wpuf-file-input-wrap">';
164
  $html .= sprintf( '<input type="text" name="wpuf_files_data[%d][title]" value="%s" placeholder="%s">', $attach_id, esc_attr( $attachment->post_title ), __( 'Title', 'wpuf' ) );
165
  $html .= sprintf( '<textarea name="wpuf_files_data[%d][caption]" placeholder="%s">%s</textarea>', $attach_id, __( 'Caption', 'wpuf' ), esc_textarea( $attachment->post_excerpt ) );
81
  $response = array( 'success' => true );
82
 
83
  if ($image_only) {
84
+ $image_size = wpuf_get_option( 'insert_photo_size', 'wpuf_frontend_posting', 'thumbnail' );
85
+ $image_type = wpuf_get_option( 'insert_photo_type', 'wpuf_frontend_posting', 'link' );
86
 
87
  if ( $image_type == 'link' ) {
88
  $response['html'] = wp_get_attachment_link( $attach['attach_id'], $image_size );
159
  $html = '<li class="wpuf-image-wrap thumbnail">';
160
  $html .= sprintf( '<div class="attachment-name"><img src="%s" alt="%s" /></div>', $image, esc_attr( $attachment->post_title ) );
161
 
162
+ if ( wpuf_get_option( 'image_caption', 'wpuf_frontend_posting', 'off' ) == 'on' ) {
163
  $html .= '<div class="wpuf-file-input-wrap">';
164
  $html .= sprintf( '<input type="text" name="wpuf_files_data[%d][title]" value="%s" placeholder="%s">', $attach_id, esc_attr( $attachment->post_title ), __( 'Title', 'wpuf' ) );
165
  $html .= sprintf( '<textarea name="wpuf_files_data[%d][caption]" placeholder="%s">%s</textarea>', $attach_id, __( 'Caption', 'wpuf' ), esc_textarea( $attachment->post_excerpt ) );
includes/class-dokan-integration.php ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! class_exists( 'WPUF_Dokan_Integration' ) ) :
4
+
5
+ /**
6
+ *
7
+ * WPUF Dokan Integration Class
8
+ *
9
+ * @since 2.7
10
+ */
11
+ class WPUF_Dokan_Integration{
12
+
13
+ function __construct() {
14
+
15
+ add_filter( 'dokan_get_dashboard_nav', array($this, 'add_wpuf_posts_page' ) );
16
+ add_action( 'dokan_load_custom_template', array( $this, 'load_wpuf_posts_template' ) );
17
+ add_filter( 'dokan_query_var_filter', array( $this, 'register_wpuf_posts_queryvar' ) );
18
+ add_filter( 'dokan_settings_fields', array( $this, 'dokan_wpuf_settings' ) );
19
+ add_filter( 'wpuf_edit_post_link', array( $this, 'generate_edit_post_link' ) );
20
+
21
+ }
22
+
23
+ /**
24
+ * Insert new URL's to the dashboard navigation bar
25
+ *
26
+ * @param array $urls
27
+ *
28
+ * @since 2.7
29
+ *
30
+ * @return array
31
+ */
32
+ public function add_wpuf_posts_page( $urls ) {
33
+ $access = dokan_get_option( 'allow_wpuf_post', 'dokan_general' );
34
+
35
+ if ( $access == 'on' ) {
36
+ $urls['posts'] = array(
37
+ 'title' => __( 'Posts', 'wpuf'),
38
+ 'icon' => '<i class="fa fa-wordpress"></i>',
39
+ 'url' => dokan_get_navigation_url( 'posts' ),
40
+ 'pos' => 56
41
+ );
42
+ }
43
+
44
+ return $urls;
45
+ }
46
+
47
+ /**
48
+ * Load posts template
49
+ *
50
+ * @param array $query_vars
51
+ *
52
+ * @since 2.7
53
+ *
54
+ * @return void
55
+ */
56
+ public function load_wpuf_posts_template( $query_vars ) {
57
+
58
+ if ( isset( $query_vars['posts'] ) ) {
59
+ require_once WPUF_ROOT . '/templates/dokan/posts.php';
60
+ }
61
+
62
+ }
63
+
64
+ /**
65
+ * Register WPUF query var
66
+ *
67
+ * @param array $query_vars
68
+ *
69
+ * @since 2.7
70
+ *
71
+ * @return void
72
+ */
73
+ public function register_wpuf_posts_queryvar( $query_vars ) {
74
+ $query_vars[] = 'posts';
75
+
76
+ return $query_vars;
77
+ }
78
+
79
+ /**
80
+ * Dokan settings for WPUF integration
81
+ *
82
+ * @param array $settings_fields
83
+ *
84
+ * @since 2.7
85
+ *
86
+ * @return array $settings_fields
87
+ */
88
+ public function dokan_wpuf_settings( $settings_fields ) {
89
+
90
+ $settings_fields['dokan_general']['allow_wpuf_post'] = array(
91
+ 'name' => 'allow_wpuf_post',
92
+ 'label' => __( 'Allow Post', 'wpuf' ),
93
+ 'desc' => __( 'Allow Vendors to submit post from dashboard area', 'wpuf' ),
94
+ 'type' => 'checkbox',
95
+ 'default' => 'off'
96
+ );
97
+
98
+ $settings_fields['dokan_general']['wpuf_post_forms'] = array(
99
+ 'name' => 'wpuf_post_forms',
100
+ 'label' => __( 'Select Post Form', 'wpuf' ),
101
+ 'desc' => __( 'Select a post form that will show on the vendor dashboard.', 'wpuf' ),
102
+ 'type' => 'select',
103
+ 'options' => $this->get_post_forms(),
104
+ 'default' => 'seller'
105
+ );
106
+
107
+ return $settings_fields;
108
+ }
109
+
110
+ /**
111
+ * Get all the post forms
112
+ *
113
+ * @param str $post_type
114
+ *
115
+ * @since 2.7
116
+ *
117
+ * @return array $post_forms
118
+ */
119
+ public function get_post_forms( $post_type='post') {
120
+ $post_forms = array();
121
+
122
+ $args = array(
123
+ 'post_type' => 'wpuf_forms',
124
+ 'post_status' => 'publish',
125
+ );
126
+
127
+ $form_posts = get_posts( $args );
128
+
129
+ foreach ($form_posts as $form) {
130
+ $form_settings = wpuf_get_form_settings($form->ID);
131
+ $form_post_type = $form_settings['post_type'];
132
+
133
+ if ( $form_post_type == $post_type ) {
134
+ $post_forms[$form->ID] = $form->post_title;
135
+ }
136
+ }
137
+
138
+ return $post_forms;
139
+ }
140
+
141
+ /**
142
+ * Generate edit post link
143
+ *
144
+ * @param str $url
145
+ *
146
+ * @since 2.7
147
+ *
148
+ * @return str $url
149
+ */
150
+ public function generate_edit_post_link( $url ) {
151
+ global $post;
152
+
153
+ $posts_page_url = dokan_get_navigation_url( 'posts' );
154
+ $dashboard = (int) dokan_get_option( 'dashboard', 'dokan_pages' );
155
+
156
+ if ( is_page( $dashboard ) ) {
157
+ $url = add_query_arg(
158
+ array(
159
+ 'action' => 'edit-post',
160
+ 'pid' => $post->ID
161
+ ),
162
+ $posts_page_url );
163
+ }
164
+
165
+ return $url;
166
+ }
167
+
168
+ }
169
+
170
+ endif;
includes/class-form.php CHANGED
@@ -2,75 +2,140 @@
2
 
3
  class WPUF_Form {
4
 
5
- /**
6
- * The form ID
7
- *
8
- * @var integer
9
- */
10
- public $id;
11
-
12
- public function __construct( $form ) {
13
-
14
- if ( is_numeric( $form ) ) {
15
-
16
- $this->id = $form;
17
- $this->data = get_post( $form );
18
-
19
- } elseif ( is_a( $form, 'WP_Post' )) {
20
-
21
- $this->id = $form->ID;
22
- $this->data = $form;
23
- }
24
- }
25
-
26
- public function get_settings() {
27
- $form_settings = wpuf_get_form_settings( $this->id );
28
- return $form_settings;
29
-
30
- }
31
-
32
- public function guest_post() {
33
- return 'false';
34
- }
35
-
36
- public function is_charging_enabled() {
37
- $settings = $this->get_settings();
38
-
39
- if ( isset( $settings['payment_options']) && $settings['payment_options'] == 'true' ) {
40
- return true;
41
- }
42
-
43
- return false;
44
- }
45
-
46
- public function is_enabled_pay_per_post() {
47
- $settings = $this->get_settings();
48
-
49
- if ( isset( $settings['enable_pay_per_post']) && $settings['enable_pay_per_post'] == 'true' ) {
50
- return true;
51
- }
52
-
53
- return false;
54
- }
55
-
56
- public function is_enabled_force_pack() {
57
- $settings = $this->get_settings();
58
-
59
- if ( isset( $settings['force_pack_purchase']) && $settings['force_pack_purchase'] == 'true' ) {
60
- return true;
61
- }
62
-
63
- return false;
64
- }
65
-
66
- public function get_pay_per_post_cost() {
67
- $settings = $this->get_settings();
68
-
69
- if ( isset( $settings['pay_per_post_cost']) && $settings['pay_per_post_cost'] > 0 ) {
70
- return $settings['pay_per_post_cost'];
71
- }
72
-
73
- return 0;
74
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
 
76
  }
2
 
3
  class WPUF_Form {
4
 
5
+ /**
6
+ * The form ID
7
+ *
8
+ * @var integer
9
+ */
10
+ public $id;
11
+
12
+ public function __construct( $form ) {
13
+
14
+ if ( is_numeric( $form ) ) {
15
+
16
+ $this->id = $form;
17
+ $this->data = get_post( $form );
18
+
19
+ } elseif ( is_a( $form, 'WP_Post' )) {
20
+
21
+ $this->id = $form->ID;
22
+ $this->data = $form;
23
+ }
24
+ }
25
+
26
+ /**
27
+ * Get the form settings
28
+ *
29
+ * @return boolean
30
+ */
31
+ public function get_settings() {
32
+ $form_settings = wpuf_get_form_settings( $this->id );
33
+ return $form_settings;
34
+
35
+ }
36
+
37
+ /**
38
+ * Get guest post settings
39
+ *
40
+ * @return boolean
41
+ */
42
+ public function guest_post() {
43
+ $settings = $this->get_settings();
44
+ if ( isset( $form_settings['guest_post'] ) && $form_settings['guest_post'] == 'true' ) {
45
+ return true;
46
+ }
47
+
48
+ return false;
49
+ }
50
+
51
+ /**
52
+ * Check if payment is enabled
53
+ *
54
+ * @return boolean
55
+ */
56
+ public function is_charging_enabled() {
57
+ $settings = $this->get_settings();
58
+
59
+ if ( isset( $settings['payment_options'] ) && $settings['payment_options'] == 'true' ) {
60
+ return true;
61
+ }
62
+
63
+ return false;
64
+ }
65
+
66
+ /**
67
+ * Check if pay per post is enabled
68
+ *
69
+ * @return boolean
70
+ */
71
+ public function is_enabled_pay_per_post() {
72
+ $settings = $this->get_settings();
73
+
74
+ if ( isset( $settings['enable_pay_per_post'] ) && $settings['enable_pay_per_post'] == 'true' ) {
75
+ return true;
76
+ }
77
+
78
+ return false;
79
+ }
80
+
81
+ /**
82
+ * Check if subscription pack is forced
83
+ *
84
+ * @return boolean
85
+ */
86
+ public function is_enabled_force_pack() {
87
+ $settings = $this->get_settings();
88
+
89
+ if ( isset( $settings['force_pack_purchase'] ) && $settings['force_pack_purchase'] == 'true' ) {
90
+ return true;
91
+ }
92
+
93
+ return false;
94
+ }
95
+
96
+ /**
97
+ * Get pay per cost amount
98
+ *
99
+ * @return integer
100
+ */
101
+ public function get_pay_per_post_cost() {
102
+ $settings = $this->get_settings();
103
+
104
+ if ( isset( $settings['pay_per_post_cost'] ) && $settings['pay_per_post_cost'] > 0 ) {
105
+ return $settings['pay_per_post_cost'];
106
+ }
107
+
108
+ return 0;
109
+ }
110
+
111
+ /**
112
+ * Check if fallback cost after subscription pack expiration is enabled
113
+ *
114
+ * @return boolean
115
+ */
116
+ public function is_enabled_fallback_cost() {
117
+ $settings = $this->get_settings();
118
+
119
+ if ( isset( $settings['fallback_ppp_enable'] ) && $settings['fallback_ppp_enable'] == 'true' ) {
120
+ return true;
121
+ }
122
+
123
+ return false;
124
+ }
125
+
126
+ /**
127
+ * Get the fallback cost amount
128
+ *
129
+ * @return integer
130
+ */
131
+ public function get_subs_fallback_cost() {
132
+ $settings = $this->get_settings();
133
+
134
+ if ( isset( $settings['fallback_ppp_cost'] ) && $settings['fallback_ppp_cost'] > 0 ) {
135
+ return $settings['fallback_ppp_cost'];
136
+ }
137
+
138
+ return 0;
139
+ }
140
 
141
  }
includes/class-upgrades.php CHANGED
@@ -1,66 +1,67 @@
1
- <?php
2
-
3
- /**
4
- * Plugin Upgrade Routine
5
- *
6
- * @since 2.2
7
- */
8
- class WPUF_Upgrades {
9
-
10
- /**
11
- * The upgrades
12
- *
13
- * @var array
14
- */
15
- private static $upgrades = array(
16
- '2.1.9' => 'upgrades/upgrade-2.1.9.php',
17
- '2.6.0' => 'upgrades/upgrade-2.6.0.php'
18
- );
19
-
20
- /**
21
- * Get the plugin version
22
- *
23
- * @return string
24
- */
25
- public function get_version() {
26
- return get_option( 'wpuf_version' );
27
- }
28
-
29
- /**
30
- * Check if the plugin needs any update
31
- *
32
- * @return boolean
33
- */
34
- public function needs_update() {
35
-
36
- // may be it's the first install
37
- if ( ! $this->get_version() ) {
38
- return false;
39
- }
40
-
41
- if ( version_compare( $this->get_version(), WPUF_VERSION, '<' ) ) {
42
- return true;
43
- }
44
-
45
- return false;
46
- }
47
-
48
- /**
49
- * Perform all the necessary upgrade routines
50
- *
51
- * @return void
52
- */
53
- function perform_updates() {
54
- $installed_version = $this->get_version();
55
- $path = trailingslashit( dirname( __FILE__ ) );
56
-
57
- foreach ( self::$upgrades as $version => $file ) {
58
- if ( version_compare( $installed_version, $version, '<' ) ) {
59
- include $path . $file;
60
- update_option( 'wpuf_version', $version );
61
- }
62
- }
63
-
64
- update_option( 'wpuf_version', WPUF_VERSION );
65
- }
66
- }
 
1
+ <?php
2
+
3
+ /**
4
+ * Plugin Upgrade Routine
5
+ *
6
+ * @since 2.2
7
+ */
8
+ class WPUF_Upgrades {
9
+
10
+ /**
11
+ * The upgrades
12
+ *
13
+ * @var array
14
+ */
15
+ private static $upgrades = array(
16
+ '2.1.9' => 'upgrades/upgrade-2.1.9.php',
17
+ '2.6.0' => 'upgrades/upgrade-2.6.0.php',
18
+ '2.7.0' => 'upgrades/upgrade-2.7.0.php'
19
+ );
20
+
21
+ /**
22
+ * Get the plugin version
23
+ *
24
+ * @return string
25
+ */
26
+ public function get_version() {
27
+ return get_option( 'wpuf_version' );
28
+ }
29
+
30
+ /**
31
+ * Check if the plugin needs any update
32
+ *
33
+ * @return boolean
34
+ */
35
+ public function needs_update() {
36
+
37
+ // may be it's the first install
38
+ if ( ! $this->get_version() ) {
39
+ return false;
40
+ }
41
+
42
+ if ( version_compare( $this->get_version(), WPUF_VERSION, '<' ) && in_array( WPUF_VERSION, self::$upgrades ) ) {
43
+ return true;
44
+ }
45
+
46
+ return false;
47
+ }
48
+
49
+ /**
50
+ * Perform all the necessary upgrade routines
51
+ *
52
+ * @return void
53
+ */
54
+ function perform_updates() {
55
+ $installed_version = $this->get_version();
56
+ $path = trailingslashit( dirname( __FILE__ ) );
57
+
58
+ foreach ( self::$upgrades as $version => $file ) {
59
+ if ( version_compare( $installed_version, $version, '<' ) ) {
60
+ include $path . $file;
61
+ update_option( 'wpuf_version', $version );
62
+ }
63
+ }
64
+
65
+ update_option( 'wpuf_version', WPUF_VERSION );
66
+ }
67
+ }
includes/class-user-subscription.php CHANGED
@@ -53,12 +53,12 @@ class WPUF_User_Subscription {
53
  $pack = $this->pack;
54
 
55
  if ( ! isset( $this->pack['pack_id'] ) ) {
56
- return new WP_Error( 'no-pack', __( 'The user doesn\'t have an active subscription.') );
57
  }
58
 
59
  // seems like the user has a pack, now check expiration
60
  if ( $this->expired() ) {
61
- return new WP_Error( 'expired', __( 'The subscription has been expired.' ) );
62
  }
63
 
64
  return $pack;
@@ -210,7 +210,7 @@ class WPUF_User_Subscription {
210
  $result = $wpdb->get_row( $sql );
211
  $table_data = array(
212
  'user_id' => $this->user->id,
213
- 'name' => $this->user->display_name,
214
  'subscribtion_id' => $pack_id,
215
  'subscribtion_status' => $status,
216
  'gateway' => isset( $result->payment_type ) ? 'bank' : $result->payment_type,
@@ -421,6 +421,7 @@ class WPUF_User_Subscription {
421
  }
422
 
423
  $user_sub_meta = $this->pack;
 
424
  $form_post_type = isset( $form_settings['post_type'] ) ? $form_settings['post_type'] : 'post';
425
  $post_count = isset( $user_sub_meta['posts'][$form_post_type] ) ? $user_sub_meta['posts'][$form_post_type] : 0;
426
 
@@ -429,6 +430,8 @@ class WPUF_User_Subscription {
429
  // user has recurring subscription
430
  if ( $post_count > 0 || $post_count == '-1' ) {
431
  return false;
 
 
432
  } else {
433
  return true;
434
  }
@@ -444,10 +447,10 @@ class WPUF_User_Subscription {
444
  $expire_status = true;
445
  }
446
 
447
-
448
-
449
  if ( $post_count > 0 || $post_count == '-1' ) {
450
  $post_count_status = false;
 
 
451
  } else {
452
  $post_count_status = true;
453
  }
53
  $pack = $this->pack;
54
 
55
  if ( ! isset( $this->pack['pack_id'] ) ) {
56
+ return new WP_Error( 'no-pack', __( 'You must purchase a pack before posting', 'wpuf') );
57
  }
58
 
59
  // seems like the user has a pack, now check expiration
60
  if ( $this->expired() ) {
61
+ return new WP_Error( 'expired', __( 'The subscription pack has been expired. Please buy a pack.', 'wpuf' ) );
62
  }
63
 
64
  return $pack;
210
  $result = $wpdb->get_row( $sql );
211
  $table_data = array(
212
  'user_id' => $this->user->id,
213
+ 'name' => $this->user->user->data->display_name,
214
  'subscribtion_id' => $pack_id,
215
  'subscribtion_status' => $status,
216
  'gateway' => isset( $result->payment_type ) ? 'bank' : $result->payment_type,
421
  }
422
 
423
  $user_sub_meta = $this->pack;
424
+ $fallback_ppp_enable = isset( $form_settings['fallback_ppp_enable'] ) ? $form_settings['fallback_ppp_enable'] : 'false';
425
  $form_post_type = isset( $form_settings['post_type'] ) ? $form_settings['post_type'] : 'post';
426
  $post_count = isset( $user_sub_meta['posts'][$form_post_type] ) ? $user_sub_meta['posts'][$form_post_type] : 0;
427
 
430
  // user has recurring subscription
431
  if ( $post_count > 0 || $post_count == '-1' ) {
432
  return false;
433
+ } elseif ( $post_count <= 0 && $fallback_ppp_enable == 'true' ) {
434
+ return true;
435
  } else {
436
  return true;
437
  }
447
  $expire_status = true;
448
  }
449
 
 
 
450
  if ( $post_count > 0 || $post_count == '-1' ) {
451
  $post_count_status = false;
452
+ } elseif ( $post_count <= 0 && $fallback_ppp_enable == 'true' ) {
453
+ $post_count_status = false;
454
  } else {
455
  $post_count_status = true;
456
  }
includes/class-whats-new.php ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * What's New Class
5
+ *
6
+ * @since 2.7.0
7
+ */
8
+ class WPUF_Whats_New {
9
+
10
+ /**
11
+ * Initialize the actions
12
+ */
13
+ function __construct() {
14
+ add_action( 'admin_menu', array( $this, 'register_menu' ) );
15
+ add_action( 'admin_notices', array( $this, 'admin_notice' ) );
16
+
17
+ add_action( 'wp_ajax_wpuf_whats_new_dismiss', array( $this, 'dismiss_notice' ) );
18
+ }
19
+
20
+ /**
21
+ * Check if a changelog is unread
22
+ *
23
+ * @return boolean
24
+ */
25
+ public function has_new() {
26
+ $options = $this->get_option();
27
+
28
+ if ( ! current_user_can( 'manage_options' ) ) {
29
+ return false;
30
+ }
31
+
32
+ if ( array_key_exists( WPUF_VERSION, $options ) && $options[WPUF_VERSION] === true ) {
33
+ return false;
34
+ }
35
+
36
+ return true;
37
+ }
38
+
39
+ /**
40
+ * Mark the current plugin changelog as read
41
+ *
42
+ * @return void
43
+ */
44
+ public function mark_read() {
45
+ $options = $this->get_option();
46
+
47
+ $options[WPUF_VERSION] = true;
48
+
49
+ update_option( 'wpuf_whats_new', $options );
50
+ }
51
+
52
+ /**
53
+ * Get the changelog history
54
+ *
55
+ * @return array
56
+ */
57
+ public function get_option() {
58
+ return get_option( 'wpuf_whats_new', array() );
59
+ }
60
+
61
+ /**
62
+ * Register the menu page
63
+ *
64
+ * @return void
65
+ */
66
+ public function register_menu() {
67
+ add_submenu_page( null, __( 'Whats New', 'wpuf' ), __( 'Whats New', 'wpuf' ), 'manage_options', 'whats-new-wpuf', array( $this, 'menu_page' ) );
68
+ }
69
+
70
+ /**
71
+ * Render the menu page
72
+ *
73
+ * @return void
74
+ */
75
+ public function menu_page() {
76
+
77
+ $this->mark_read();
78
+
79
+ include_once WPUF_ROOT . '/admin/html/whats-new.php';
80
+ }
81
+
82
+ /**
83
+ * Show the admin notice if applicable
84
+ *
85
+ * @return void
86
+ */
87
+ public function admin_notice() {
88
+
89
+ if ( ! $this->has_new() ) {
90
+ return;
91
+ }
92
+ ?>
93
+ <div class="notice notice-success wpuf-whats-new-notice free">
94
+
95
+ <div class="wpuf-whats-new-icon">
96
+ <img src="<?php echo WPUF_ASSET_URI . '/images/icon-128x128.png'; ?>" alt="WPUF Icon">
97
+ </div>
98
+
99
+ <div class="wpuf-whats-new-text">
100
+ <p><strong><?php printf( __( 'WP User Frontend - Version %s', 'wpuf' ), WPUF_VERSION ); ?></strong></p>
101
+ <p><?php printf( __( 'Welcome to the new version of WP User Frontend. See what\'s been changed in the <strong>%s</strong> version.', 'wpuf' ), WPUF_VERSION ); ?></strong></p>
102
+ </div>
103
+
104
+ <div class="wpuf-whats-new-actions">
105
+ <a href="<?php echo admin_url( 'index.php?page=whats-new-wpuf' ); ?>" class="button button-primary"><?php _e( 'What\'s New?', 'wpuf' ); ?></a>
106
+ <button type="button" class="notice-dismiss"><span class="screen-reader-text"><?php _e( 'Dismiss this notice.', 'wpuf' ); ?></span></button>
107
+ </div>
108
+ </div>
109
+
110
+ <script type="text/javascript">
111
+ jQuery(function($) {
112
+
113
+ var wrap = $('.wpuf-whats-new-notice.free');
114
+
115
+ wrap.on('click', 'button.notice-dismiss', function(event) {
116
+ event.preventDefault();
117
+
118
+ wp.ajax.send( 'wpuf_whats_new_dismiss' );
119
+ wrap.remove();
120
+ });
121
+ });
122
+ </script>
123
+ <?php
124
+ }
125
+
126
+ /**
127
+ * Mark the notice as dimissed via ajax
128
+ *
129
+ * @return void
130
+ */
131
+ public function dismiss_notice() {
132
+ $this->mark_read();
133
+
134
+ wp_send_json_success();
135
+ }
136
+ }
includes/free/class-login.php CHANGED
@@ -205,15 +205,15 @@ class WPUF_Simple_Login {
205
  $links = array();
206
 
207
  if ( $args['login'] ) {
208
- $links[] = sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'login' ), __( 'Log In', 'wpuf-pro' ) );
209
  }
210
 
211
  if ( $args['register'] ) {
212
- $links[] = sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'register' ), __( 'Register', 'wpuf-pro' ) );
213
  }
214
 
215
  if ( $args['lostpassword'] ) {
216
- $links[] = sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'lostpassword' ), __( 'Lost Password', 'wpuf-pro' ) );
217
  }
218
 
219
  return implode( ' | ', $links );
@@ -251,7 +251,7 @@ class WPUF_Simple_Login {
251
  switch ($action) {
252
  case 'lostpassword':
253
 
254
- $this->messages[] = __( 'Please enter your username or email address. You will receive a link to create a new password via email.', 'wpuf-pro' );
255
 
256
  wpuf_load_template( 'lost-pass-form.php', $args );
257
  break;
@@ -261,11 +261,11 @@ class WPUF_Simple_Login {
261
 
262
  if ( isset( $_GET['reset'] ) && $_GET['reset'] == 'true' ) {
263
 
264
- printf( '<div class="wpuf-message">' . __( 'Your password has been reset. %s', 'wpuf-pro' ) . '</div>', sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'login' ), __( 'Log In', 'wpuf-pro' ) ) );
265
  return;
266
  } else {
267
 
268
- $this->messages[] = __( 'Enter your new password below..', 'wpuf-pro' );
269
 
270
  wpuf_load_template( 'reset-pass-form.php', $args );
271
  }
@@ -275,11 +275,11 @@ class WPUF_Simple_Login {
275
  default:
276
 
277
  if ( isset( $_GET['checkemail'] ) && $_GET['checkemail'] == 'confirm' ) {
278
- $this->messages[] = __( 'Check your e-mail for the confirmation link.', 'wpuf-pro' );
279
  }
280
 
281
  if ( isset( $_GET['loggedout'] ) && $_GET['loggedout'] == 'true' ) {
282
- $this->messages[] = __( 'You are now logged out.', 'wpuf-pro' );
283
  }
284
 
285
  wpuf_load_template( 'login-form.php', $args );
@@ -308,17 +308,17 @@ class WPUF_Simple_Login {
308
  $validation_error = apply_filters( 'wpuf_process_login_errors', $validation_error, $_POST['log'], $_POST['pwd'] );
309
 
310
  if ( $validation_error->get_error_code() ) {
311
- $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf-pro' ) . ':</strong> ' . $validation_error->get_error_message();
312
  return;
313
  }
314
 
315
  if ( empty( $_POST['log'] ) ) {
316
- $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf-pro' ) . ':</strong> ' . __( 'Username is required.', 'wpuf-pro' );
317
  return;
318
  }
319
 
320
  if ( empty( $_POST['pwd'] ) ) {
321
- $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf-pro' ) . ':</strong> ' . __( 'Password is required.', 'wpuf-pro' );
322
  return;
323
  }
324
 
@@ -328,7 +328,7 @@ class WPUF_Simple_Login {
328
  if ( isset( $user->user_login ) ) {
329
  $creds['user_login'] = $user->user_login;
330
  } else {
331
- $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf-pro' ) . ':</strong> ' . __( 'A user could not be found with this email address.', 'wpuf-pro' );
332
  return;
333
  }
334
  } else {
@@ -418,12 +418,12 @@ class WPUF_Simple_Login {
418
  wp_verify_nonce( $_POST['_wpnonce'], 'wpuf_reset_pass' );
419
 
420
  if ( empty( $_POST['pass1'] ) || empty( $_POST['pass2'] ) ) {
421
- $this->login_errors[] = __( 'Please enter your password.', 'wpuf-pro' );
422
  return;
423
  }
424
 
425
  if ( $_POST[ 'pass1' ] !== $_POST[ 'pass2' ] ) {
426
- $this->login_errors[] = __( 'Passwords do not match.', 'wpuf-pro' );
427
  return;
428
  }
429
 
@@ -466,7 +466,7 @@ class WPUF_Simple_Login {
466
 
467
  if ( empty( $_POST['user_login'] ) ) {
468
 
469
- $this->login_errors[] = __( 'Enter a username or e-mail address.', 'wpuf-pro' );
470
  return;
471
 
472
  } elseif ( strpos( $_POST['user_login'], '@' ) && apply_filters( 'wpuf_get_username_from_email', true ) ) {
@@ -474,7 +474,7 @@ class WPUF_Simple_Login {
474
  $user_data = get_user_by( 'email', trim( $_POST['user_login'] ) );
475
 
476
  if ( empty( $user_data ) ) {
477
- $this->login_errors[] = __( 'There is no user registered with that email address.', 'wpuf-pro' );
478
  return;
479
  }
480
 
@@ -492,7 +492,7 @@ class WPUF_Simple_Login {
492
  }
493
 
494
  if ( ! $user_data ) {
495
- $this->login_errors[] = __( 'Invalid username or e-mail.', 'wpuf-pro' );
496
  return false;
497
  }
498
 
@@ -506,7 +506,7 @@ class WPUF_Simple_Login {
506
 
507
  if ( ! $allow ) {
508
 
509
- $this->login_errors[] = __( 'Password reset is not allowed for this user', 'wpuf-pro' );
510
  return false;
511
 
512
  } elseif ( is_wp_error( $allow ) ) {
@@ -550,19 +550,19 @@ class WPUF_Simple_Login {
550
  $key = preg_replace( '/[^a-z0-9]/i', '', $key );
551
 
552
  if ( empty( $key ) || ! is_string( $key ) ) {
553
- $this->login_errors[] = __( 'Invalid key', 'wpuf-pro' );
554
  return false;
555
  }
556
 
557
  if ( empty( $login ) || ! is_string( $login ) ) {
558
- $this->login_errors[] = __( 'Invalid key', 'wpuf-pro' );
559
  return false;
560
  }
561
 
562
  $user = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE user_activation_key = %s AND user_login = %s", $key, $login ) );
563
 
564
  if ( empty( $user ) ) {
565
- $this->login_errors[] = __( 'Invalid key', 'wpuf-pro' );
566
  return false;
567
  }
568
 
@@ -585,7 +585,7 @@ class WPUF_Simple_Login {
585
 
586
  $error = new WP_Error();
587
  if ( get_user_meta( $user->ID, '_wpuf_user_active', true ) == '0' ) {
588
- $error->add( 'acitve_user', sprintf( __( '<strong>Your account is not active.</strong><br>Please check your email for activation link.', 'wpuf-pro' ) ) );
589
  return $error;
590
  }
591
  }
@@ -633,7 +633,7 @@ class WPUF_Simple_Login {
633
  * @return \WP_Error
634
  */
635
  function user_activation_message() {
636
- return new WP_Error( 'user-activated', __( 'Your account has been activated', 'wpuf-pro' ), 'message' );
637
  }
638
 
639
  function wp_login_page_redirect() {
@@ -677,11 +677,11 @@ class WPUF_Simple_Login {
677
  function email_reset_pass( $user_login, $user_email, $key ) {
678
  $reset_url = add_query_arg( array( 'action' => 'rp', 'key' => $key, 'login' => urlencode( $user_login ) ), $this->get_login_url() );
679
 
680
- $message = __('Someone requested that the password be reset for the following account:', 'wpuf-pro') . "\r\n\r\n";
681
  $message .= network_home_url( '/' ) . "\r\n\r\n";
682
- $message .= sprintf(__('Username: %s', 'wpuf-pro' ), $user_login) . "\r\n\r\n";
683
- $message .= __('If this was a mistake, just ignore this email and nothing will happen.', 'wpuf-pro') . "\r\n\r\n";
684
- $message .= __('To reset your password, visit the following address:', 'wpuf-pro') . "\r\n\r\n";
685
  $message .= '<' . $reset_url . ">\r\n";
686
 
687
  if ( is_multisite() ) {
@@ -690,12 +690,12 @@ class WPUF_Simple_Login {
690
  $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
691
  }
692
 
693
- $title = sprintf( __('[%s] Password Reset', 'wpuf-pro' ), $blogname );
694
  $title = apply_filters( 'retrieve_password_title', $title );
695
  $message = apply_filters( 'retrieve_password_message', $message, $key, $user_login );
696
 
697
  if ( $message && !wp_mail( $user_email, wp_specialchars_decode( $title ), $message ) ) {
698
- wp_die( __('The e-mail could not be sent.', 'wpuf-pro') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.', 'wpuf-pro') );
699
  }
700
  }
701
 
@@ -708,7 +708,7 @@ class WPUF_Simple_Login {
708
  if ( $this->login_errors ) {
709
  foreach ($this->login_errors as $error) {
710
  echo '<div class="wpuf-error">';
711
- _e( $error,'wpuf-pro' );
712
  echo '</div>';
713
  }
714
  }
205
  $links = array();
206
 
207
  if ( $args['login'] ) {
208
+ $links[] = sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'login' ), __( 'Log In', 'wpuf' ) );
209
  }
210
 
211
  if ( $args['register'] ) {
212
+ $links[] = sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'register' ), __( 'Register', 'wpuf' ) );
213
  }
214
 
215
  if ( $args['lostpassword'] ) {
216
+ $links[] = sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'lostpassword' ), __( 'Lost Password', 'wpuf' ) );
217
  }
218
 
219
  return implode( ' | ', $links );
251
  switch ($action) {
252
  case 'lostpassword':
253
 
254
+ $this->messages[] = __( 'Please enter your username or email address. You will receive a link to create a new password via email.', 'wpuf' );
255
 
256
  wpuf_load_template( 'lost-pass-form.php', $args );
257
  break;
261
 
262
  if ( isset( $_GET['reset'] ) && $_GET['reset'] == 'true' ) {
263
 
264
+ printf( '<div class="wpuf-message">' . __( 'Your password has been reset. %s', 'wpuf' ) . '</div>', sprintf( '<a href="%s">%s</a>', $this->get_action_url( 'login' ), __( 'Log In', 'wpuf' ) ) );
265
  return;
266
  } else {
267
 
268
+ $this->messages[] = __( 'Enter your new password below..', 'wpuf' );
269
 
270
  wpuf_load_template( 'reset-pass-form.php', $args );
271
  }
275
  default:
276
 
277
  if ( isset( $_GET['checkemail'] ) && $_GET['checkemail'] == 'confirm' ) {
278
+ $this->messages[] = __( 'Check your e-mail for the confirmation link.', 'wpuf' );
279
  }
280
 
281
  if ( isset( $_GET['loggedout'] ) && $_GET['loggedout'] == 'true' ) {
282
+ $this->messages[] = __( 'You are now logged out.', 'wpuf' );
283
  }
284
 
285
  wpuf_load_template( 'login-form.php', $args );
308
  $validation_error = apply_filters( 'wpuf_process_login_errors', $validation_error, $_POST['log'], $_POST['pwd'] );
309
 
310
  if ( $validation_error->get_error_code() ) {
311
+ $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf' ) . ':</strong> ' . $validation_error->get_error_message();
312
  return;
313
  }
314
 
315
  if ( empty( $_POST['log'] ) ) {
316
+ $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf' ) . ':</strong> ' . __( 'Username is required.', 'wpuf' );
317
  return;
318
  }
319
 
320
  if ( empty( $_POST['pwd'] ) ) {
321
+ $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf' ) . ':</strong> ' . __( 'Password is required.', 'wpuf' );
322
  return;
323
  }
324
 
328
  if ( isset( $user->user_login ) ) {
329
  $creds['user_login'] = $user->user_login;
330
  } else {
331
+ $this->login_errors[] = '<strong>' . __( 'Error', 'wpuf' ) . ':</strong> ' . __( 'A user could not be found with this email address.', 'wpuf' );
332
  return;
333
  }
334
  } else {
418
  wp_verify_nonce( $_POST['_wpnonce'], 'wpuf_reset_pass' );
419
 
420
  if ( empty( $_POST['pass1'] ) || empty( $_POST['pass2'] ) ) {
421
+ $this->login_errors[] = __( 'Please enter your password.', 'wpuf' );
422
  return;
423
  }
424
 
425
  if ( $_POST[ 'pass1' ] !== $_POST[ 'pass2' ] ) {
426
+ $this->login_errors[] = __( 'Passwords do not match.', 'wpuf' );
427
  return;
428
  }
429
 
466
 
467
  if ( empty( $_POST['user_login'] ) ) {
468
 
469
+ $this->login_errors[] = __( 'Enter a username or e-mail address.', 'wpuf' );
470
  return;
471
 
472
  } elseif ( strpos( $_POST['user_login'], '@' ) && apply_filters( 'wpuf_get_username_from_email', true ) ) {
474
  $user_data = get_user_by( 'email', trim( $_POST['user_login'] ) );
475
 
476
  if ( empty( $user_data ) ) {
477
+ $this->login_errors[] = __( 'There is no user registered with that email address.', 'wpuf' );
478
  return;
479
  }
480
 
492
  }
493
 
494
  if ( ! $user_data ) {
495
+ $this->login_errors[] = __( 'Invalid username or e-mail.', 'wpuf' );
496
  return false;
497
  }
498
 
506
 
507
  if ( ! $allow ) {
508
 
509
+ $this->login_errors[] = __( 'Password reset is not allowed for this user', 'wpuf' );
510
  return false;
511
 
512
  } elseif ( is_wp_error( $allow ) ) {
550
  $key = preg_replace( '/[^a-z0-9]/i', '', $key );
551
 
552
  if ( empty( $key ) || ! is_string( $key ) ) {
553
+ $this->login_errors[] = __( 'Invalid key', 'wpuf' );
554
  return false;
555
  }
556
 
557
  if ( empty( $login ) || ! is_string( $login ) ) {
558
+ $this->login_errors[] = __( 'Invalid key', 'wpuf' );
559
  return false;
560
  }
561
 
562
  $user = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE user_activation_key = %s AND user_login = %s", $key, $login ) );
563
 
564
  if ( empty( $user ) ) {
565
+ $this->login_errors[] = __( 'Invalid key', 'wpuf' );
566
  return false;
567
  }
568
 
585
 
586
  $error = new WP_Error();
587
  if ( get_user_meta( $user->ID, '_wpuf_user_active', true ) == '0' ) {
588
+ $error->add( 'acitve_user', sprintf( __( '<strong>Your account is not active.</strong><br>Please check your email for activation link.', 'wpuf' ) ) );
589
  return $error;
590
  }
591
  }
633
  * @return \WP_Error
634
  */
635
  function user_activation_message() {
636
+ return new WP_Error( 'user-activated', __( 'Your account has been activated', 'wpuf' ), 'message' );
637
  }
638
 
639
  function wp_login_page_redirect() {
677
  function email_reset_pass( $user_login, $user_email, $key ) {
678
  $reset_url = add_query_arg( array( 'action' => 'rp', 'key' => $key, 'login' => urlencode( $user_login ) ), $this->get_login_url() );
679
 
680
+ $message = __('Someone requested that the password be reset for the following account:', 'wpuf') . "\r\n\r\n";
681
  $message .= network_home_url( '/' ) . "\r\n\r\n";
682
+ $message .= sprintf(__('Username: %s', 'wpuf' ), $user_login) . "\r\n\r\n";
683
+ $message .= __('If this was a mistake, just ignore this email and nothing will happen.', 'wpuf') . "\r\n\r\n";
684
+ $message .= __('To reset your password, visit the following address:', 'wpuf') . "\r\n\r\n";
685
  $message .= '<' . $reset_url . ">\r\n";
686
 
687
  if ( is_multisite() ) {
690
  $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
691
  }
692
 
693
+ $title = sprintf( __('[%s] Password Reset', 'wpuf' ), $blogname );
694
  $title = apply_filters( 'retrieve_password_title', $title );
695
  $message = apply_filters( 'retrieve_password_message', $message, $key, $user_login );
696
 
697
  if ( $message && !wp_mail( $user_email, wp_specialchars_decode( $title ), $message ) ) {
698
+ wp_die( __('The e-mail could not be sent.', 'wpuf') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.', 'wpuf') );
699
  }
700
  }
701
 
708
  if ( $this->login_errors ) {
709
  foreach ($this->login_errors as $error) {
710
  echo '<div class="wpuf-error">';
711
+ _e( $error,'wpuf' );
712
  echo '</div>';
713
  }
714
  }
includes/free/edit-profile.php CHANGED
@@ -193,7 +193,7 @@ class WPUF_Edit_Profile {
193
  <tr>
194
  <th><label><?php _e( 'Confirm Password', 'wpuf' ); ?></label></th>
195
  <td>
196
- <input type="password" name="pass2" id="pass2" size="16" value="" autocomplete="off" />&nbsp;<em><span class="description"><?php _e( "Type your new password again." ); ?></span></em>
197
  </td>
198
  </tr>
199
  <tr>
@@ -237,10 +237,13 @@ class WPUF_Edit_Profile {
237
  * @param object $profileuser
238
  */
239
  function post_lock_form( $profileuser ) {
240
- global $wpuf_subscription;
 
 
 
241
 
242
  if ( is_admin() && current_user_can( 'edit_users' ) ) {
243
- $select = ( $profileuser->wpuf_postlock == 'yes' ) ? 'yes' : 'no';
244
  ?>
245
 
246
  <h3><?php _e( 'WPUF Post Lock', 'wpuf' ); ?></h3>
@@ -259,50 +262,10 @@ class WPUF_Edit_Profile {
259
  <tr>
260
  <th><label for="post-lock"><?php _e( 'Lock Reason:', 'wpuf' ); ?> </label></th>
261
  <td>
262
- <input type="text" name="wpuf_lock_cause" id="wpuf_lock_cause" class="regular-text" value="<?php echo esc_attr( $profileuser->wpuf_lock_cause ); ?>" />
263
  </td>
264
  </tr>
265
  </table>
266
-
267
- <?php
268
- $current_user = wpuf_get_user();
269
- if ( $current_user->subscription()->current_pack_id() ) {
270
- $validity = (isset( $profileuser->wpuf_sub_validity )) ? $profileuser->wpuf_sub_validity : date( 'Y-m-d G:i:s', time() );
271
- $count = ( isset( $profileuser->wpuf_sub_pcount ) ) ? $profileuser->wpuf_sub_pcount : 0;
272
-
273
- if ( isset( $profileuser->wpuf_sub_pack ) ) {
274
- $pack = $wpuf_subscription->get_subscription( $profileuser->wpuf_sub_pack );
275
- $pack = $pack->name;
276
- } else {
277
- $pack = 'Free';
278
- }
279
- ?>
280
-
281
- <h3><?php _e( 'WPUF Subscription', 'wpuf' ); ?></h3>
282
-
283
- <table class="form-table">
284
- <tr>
285
- <th><label for="post-lock"><?php _e( 'Pack:', 'wpuf' ); ?> </label></th>
286
- <td>
287
- <input type="text" disabled="disabled" name="wpuf_sub_pack" id="wpuf_sub_pack" class="regular-text" value="<?php echo $pack; ?>" />
288
- </td>
289
- </tr>
290
- <tr>
291
- <th><label for="post-lock"><?php _e( 'Post Count:', 'wpuf' ); ?> </label></th>
292
- <td>
293
- <input type="text" name="wpuf_sub_pcount" id="wpuf_sub_pcount" class="regular-text" value="<?php echo $count; ?>" />
294
- </td>
295
- </tr>
296
- <tr>
297
- <th><label for="post-lock"><?php _e( 'Validity:', 'wpuf' ); ?> </label></th>
298
- <td>
299
- <input type="text" name="wpuf_sub_validity" id="wpuf_sub_validity" class="regular-text" value="<?php echo $validity; ?>" />
300
- </td>
301
- </tr>
302
- </table>
303
-
304
- <?php } ?>
305
-
306
  <?php
307
  }
308
  }
@@ -316,8 +279,6 @@ class WPUF_Edit_Profile {
316
  if ( is_admin() && current_user_can( 'edit_users' ) ) {
317
  update_user_meta( $user_id, 'wpuf_postlock', $_POST['wpuf_postlock'] );
318
  update_user_meta( $user_id, 'wpuf_lock_cause', $_POST['wpuf_lock_cause'] );
319
- update_user_meta( $user_id, 'wpuf_sub_validity', $_POST['wpuf_sub_validity'] );
320
- update_user_meta( $user_id, 'wpuf_sub_pcount', $_POST['wpuf_sub_pcount'] );
321
  }
322
  }
323
 
193
  <tr>
194
  <th><label><?php _e( 'Confirm Password', 'wpuf' ); ?></label></th>
195
  <td>
196
+ <input type="password" name="pass2" id="pass2" size="16" value="" autocomplete="off" />&nbsp;<em><span class="description"><?php _e( "Type your new password again.", 'wpuf' ); ?></span></em>
197
  </td>
198
  </tr>
199
  <tr>
237
  * @param object $profileuser
238
  */
239
  function post_lock_form( $profileuser ) {
240
+ $current_user = new WPUF_User( $profileuser );
241
+ $wpuf_subscription = $current_user->subscription();
242
+ $post_locked = $current_user->post_locked();
243
+ $lock_reason = $current_user->lock_reason();
244
 
245
  if ( is_admin() && current_user_can( 'edit_users' ) ) {
246
+ $select = ( $post_locked == true ) ? 'yes' : 'no';
247
  ?>
248
 
249
  <h3><?php _e( 'WPUF Post Lock', 'wpuf' ); ?></h3>
262
  <tr>
263
  <th><label for="post-lock"><?php _e( 'Lock Reason:', 'wpuf' ); ?> </label></th>
264
  <td>
265
+ <input type="text" name="wpuf_lock_cause" id="wpuf_lock_cause" class="regular-text" value="<?php echo esc_attr( $lock_reason ); ?>" />
266
  </td>
267
  </tr>
268
  </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
269
  <?php
270
  }
271
  }
279
  if ( is_admin() && current_user_can( 'edit_users' ) ) {
280
  update_user_meta( $user_id, 'wpuf_postlock', $_POST['wpuf_postlock'] );
281
  update_user_meta( $user_id, 'wpuf_lock_cause', $_POST['wpuf_lock_cause'] );
 
 
282
  }
283
  }
284
 
includes/free/form-element.php CHANGED
@@ -60,6 +60,7 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
60
  <?php _e( 'Enable Post Expiration', 'wpuf' ); ?>
61
  </label>
62
  </td>
 
63
  </tr>
64
  <tr class="wpuf_expiration_field">
65
  <th><?php _e( 'Post Expiration Time', 'wpuf' ); ?></th>
@@ -108,7 +109,7 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
108
  }
109
  ?>
110
  </select>
111
- <p class="description"><?php echo _( 'Status of post after post expiration time is over ' ); ?></p>
112
 
113
  </td>
114
  </tr>
@@ -119,7 +120,7 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
119
  <td>
120
  <label>
121
  <input disabled type="checkbox" name="" value="on" <?php echo $is_enable_mail_after_expired;?> />
122
- <?php echo _( 'Send Email to Author After Exceeding Post Expiration Time' );?>
123
  </label>
124
  </td>
125
  </tr>
@@ -151,7 +152,8 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
151
  <?php _e( 'Enable Multistep', 'wpuf' ); ?>
152
  </label>
153
 
154
- <p class="description"><?php echo __( 'If checked, form will be displayed in frontend in multiple steps', 'wpuf' ); ?></p>
 
155
  </td>
156
  </tr>
157
  <tr class="wpuf_multistep_progress_type wpuf-pro-content">
@@ -195,7 +197,7 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
195
 
196
  $new_notificaton = isset( $form_settings['notification']['new'] ) ? $form_settings['notification']['new'] : 'on';
197
  $new_to = isset( $form_settings['notification']['new_to'] ) ? $form_settings['notification']['new_to'] : get_option( 'admin_email' );
198
- $new_subject = isset( $form_settings['notification']['new_subject'] ) ? $form_settings['notification']['new_subject'] : __( 'New post created', 'wpuf-pro' );
199
  $new_body = isset( $form_settings['notification']['new_body'] ) ? $form_settings['notification']['new_body'] : $new_mail_body . $mail_body;
200
 
201
  $edit_notificaton = 'off';
@@ -204,7 +206,7 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
204
  $edit_body = $edit_mail_body . $mail_body;
205
  ?>
206
 
207
- <h3><?php _e( 'New Post Notificatoin', 'wpuf' ); ?></h3>
208
  <table class="form-table">
209
  <tr>
210
  <th><?php _e( 'Notification', 'wpuf' ); ?></th>
@@ -215,6 +217,7 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
215
  <?php _e( 'Enable post notification', 'wpuf' ); ?>
216
  </label>
217
  </td>
 
218
  </tr>
219
 
220
  <tr>
@@ -237,7 +240,7 @@ class WPUF_form_element extends WPUF_Pro_Prompt {
237
  </tr>
238
  </table>
239
 
240
- <h3><?php _e( 'Update Post Notificatoin', 'wpuf' ); ?></h3>
241
 
242
  <div id="wpuf-pro-content">
243
  <?php self::get_pro_prompt(); ?>
60
  <?php _e( 'Enable Post Expiration', 'wpuf' ); ?>
61
  </label>
62
  </td>
63
+ <p class="description"><a target="_blank" href="https://wedevs.com/docs/wp-user-frontend-pro/posting-forms/using-post-expiration-wp-user-frontend/"><?php _e('Learn more about Automatic Post Expiration', 'wpuf'); ?></a></p>
64
  </tr>
65
  <tr class="wpuf_expiration_field">
66
  <th><?php _e( 'Post Expiration Time', 'wpuf' ); ?></th>
109
  }
110
  ?>
111
  </select>
112
+ <p class="description"><?php echo _( 'Status of post after post expiration time is over ', 'wp-user-frontend', 'wpuf' ); ?></p>
113
 
114
  </td>
115
  </tr>
120
  <td>
121
  <label>
122
  <input disabled type="checkbox" name="" value="on" <?php echo $is_enable_mail_after_expired;?> />
123
+ <?php echo _( 'Send Email to Author After Exceeding Post Expiration Time', 'wp-user-frontend', 'wpuf' );?>
124
  </label>
125
  </td>
126
  </tr>
152
  <?php _e( 'Enable Multistep', 'wpuf' ); ?>
153
  </label>
154
 
155
+ <p class="description"><?php echo __( 'If checked, form will be displayed in frontend in multiple steps', 'wpuf' ); ?>
156
+ <a target="_blank" href="https://wedevs.com/docs/wp-user-frontend-pro/posting-forms/how-to-add-multi-step-form/"><?php _e( ' Learn more about Multistep', 'wpuf' ); ?></a></p>
157
  </td>
158
  </tr>
159
  <tr class="wpuf_multistep_progress_type wpuf-pro-content">
197
 
198
  $new_notificaton = isset( $form_settings['notification']['new'] ) ? $form_settings['notification']['new'] : 'on';
199
  $new_to = isset( $form_settings['notification']['new_to'] ) ? $form_settings['notification']['new_to'] : get_option( 'admin_email' );
200
+ $new_subject = isset( $form_settings['notification']['new_subject'] ) ? $form_settings['notification']['new_subject'] : __( 'New post created', 'wpuf' );
201
  $new_body = isset( $form_settings['notification']['new_body'] ) ? $form_settings['notification']['new_body'] : $new_mail_body . $mail_body;
202
 
203
  $edit_notificaton = 'off';
206
  $edit_body = $edit_mail_body . $mail_body;
207
  ?>
208
 
209
+ <h3><?php _e( 'New Post Notification', 'wpuf' ); ?></h3>
210
  <table class="form-table">
211
  <tr>
212
  <th><?php _e( 'Notification', 'wpuf' ); ?></th>
217
  <?php _e( 'Enable post notification', 'wpuf' ); ?>
218
  </label>
219
  </td>
220
+ <p class="description"><a target="_blank" href="https://wedevs.com/docs/wp-user-frontend-pro/posting-forms/how-to-set-up-submission-email-notification/"><?php _e('Learn more about Email Notification', 'wpuf'); ?></a></p>
221
  </tr>
222
 
223
  <tr>
240
  </tr>
241
  </table>
242
 
243
+ <h3><?php _e( 'Update Post Notification', 'wpuf' ); ?></h3>
244
 
245
  <div id="wpuf-pro-content">
246
  <?php self::get_pro_prompt(); ?>
includes/free/loader.php CHANGED
@@ -87,24 +87,53 @@ class WPUF_Free_Loader extends WPUF_Pro_Prompt {
87
  ?>
88
  <h2><?php _e( 'Registration Form', 'wpuf' ); ?></h2>
89
 
90
- <div class="wpuf-notice" style="padding: 20px; background: #fff; border: 1px solid #ddd;">
91
- <p>
92
- <?php _e( 'Registration form builder is a two way form which can be used both for <strong>user registration</strong> and <strong>profile editing</strong>.', 'wpuf' ); ?>
93
- </p>
94
 
95
- <p>
96
- <?php _e( 'Users can also register themselves by using a subscription pack.', 'wpuf' ); ?>
97
- </p>
 
 
 
 
 
 
98
 
99
  <p>
100
- <?php _e( 'This feature is only available in the Pro Version.', 'wpuf' ); ?>
101
  </p>
102
 
103
- <p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  <a href="<?php echo self::get_pro_url(); ?>" target="_blank" class="button-primary"><?php _e( 'Upgrade to Pro Version', 'wpuf' ); ?></a>
105
- <a href="https://wedevs.com/docs/wp-user-frontend-pro/registration-forms/" target="_blank" class="button"><?php _e( 'Learn more about Registration', 'wpuf' ); ?></a>
106
  </p>
107
  </div>
 
 
 
 
 
 
 
 
 
108
  <?php
109
  }
110
 
87
  ?>
88
  <h2><?php _e( 'Registration Form', 'wpuf' ); ?></h2>
89
 
90
+ <p>
91
+ <?php _e( 'Use the shortcode <code>[wpuf-registration]</code> for a simple and default WordPress registration form.', 'wpuf' ); ?>
92
+ </p>
 
93
 
94
+ <p>
95
+ <a target="_blank" class="button" href="https://wedevs.com/docs/wp-user-frontend-pro/registration-profile-forms/how-to-setup-registrationlogin-page/">
96
+ <span class="dashicons dashicons-sos" style="margin-top: 3px;"></span>
97
+ Learn How to Setup
98
+ </a>
99
+ </p>
100
+
101
+ <div class="wpuf-notice" style="padding: 20px;background: #fff;border: 1px solid #ddd;max-width: 360px;margin: 100px auto 0 auto;">
102
+ <h3 style="margin: 0;">Pro Features</h3>
103
 
104
  <p>
105
+ <?php _e( 'Registration form builder is a two way form which can be used both for <strong>user registration</strong> and <strong>profile editing</strong>.', 'wpuf' ); ?>
106
  </p>
107
 
108
+ <ul class="wpuf-pro-features">
109
+ <li>
110
+ <span class="dashicons dashicons-yes"></span>
111
+ <span class="feature">Registration Form Builder</span>
112
+ </li>
113
+ <li>
114
+ <span class="dashicons dashicons-yes"></span>
115
+ <span class="feature">Profile Form Builder</span>
116
+ </li>
117
+ <li>
118
+ <span class="dashicons dashicons-yes"></span>
119
+ <span class="feature">Register by Subscription Package Purchase</span>
120
+ </li>
121
+ </ul>
122
+
123
+ <p style="margin-top: 30px;">
124
  <a href="<?php echo self::get_pro_url(); ?>" target="_blank" class="button-primary"><?php _e( 'Upgrade to Pro Version', 'wpuf' ); ?></a>
125
+ <a href="https://wedevs.com/docs/wp-user-frontend-pro/registration-forms/" target="_blank" class="button"><?php _e( 'Learn More', 'wpuf' ); ?></a>
126
  </p>
127
  </div>
128
+
129
+ <style type="text/css">
130
+ ul.wpuf-pro-features span.dashicons.dashicons-yes {
131
+ background: #4CAF50;
132
+ border-radius: 50%;
133
+ color: #fff;
134
+ margin-right: 7px;
135
+ }
136
+ </style>
137
  <?php
138
  }
139
 
includes/upgrades/upgrade-2.6.0.php CHANGED
@@ -99,7 +99,7 @@ function wpuf_upgrade_2_6_payment_settings_migration() {
99
 
100
  $form_settings = wpuf_get_form_settings( $form->ID );
101
  $charge_posting = wpuf_get_option( 'charge_posting', 'wpuf_payment' );
102
-
103
  if ( 'yes' == $charge_posting ) {
104
  $form_settings['payment_options'] = 'true';
105
  } else {
99
 
100
  $form_settings = wpuf_get_form_settings( $form->ID );
101
  $charge_posting = wpuf_get_option( 'charge_posting', 'wpuf_payment' );
102
+
103
  if ( 'yes' == $charge_posting ) {
104
  $form_settings['payment_options'] = 'true';
105
  } else {
includes/upgrades/upgrade-2.7.0.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Add necessary metas for taxonomy restriction in pro version
5
+ *
6
+ * @return void
7
+ */
8
+ function wpuf_upgrade_2_7_taxonomy_restriction() {
9
+
10
+ wpuf_set_all_terms_as_allowed();
11
+
12
+ }
13
+
14
+ function wpuf_upgrade_2_7_unset_oembed_cache() {
15
+ $post_types = get_post_types();
16
+ unset($post_types['oembed_cache']);
17
+ }
18
+
19
+ function wpuf_upgrade_2_7_fallback_cost_migration() {
20
+ $args = array(
21
+ 'post_type' => 'wpuf_forms',
22
+ 'post_status' => 'publish',
23
+ );
24
+
25
+ $allforms = get_posts($args);
26
+
27
+ if ( $allforms ) {
28
+ foreach ($allforms as $form) {
29
+
30
+ $old_form = new WPUF_Form( $form->ID );
31
+ $old_form_settings = $old_form->get_settings();
32
+
33
+ unset( $old_form_settings['fallback_ppp_enable'] );
34
+ unset( $old_form_settings['fallback_ppp_cost'] );
35
+
36
+ $old_form_settings['fallback_ppp_enable'] = isset( $old_form_settings['fallback_ppp_enable'] ) ? $old_form_settings['fallback_ppp_enable'] : false;
37
+ $old_form_settings['fallback_ppp_cost'] = isset( $old_form_settings['fallback_ppp_cost'] ) ? $old_form_settings['fallback_ppp_cost'] : 1;
38
+
39
+ update_post_meta( $form->ID, 'wpuf_form_settings', $old_form_settings );
40
+ }
41
+ }
42
+
43
+ }
44
+
45
+ function wpuf_upgrade_2_7_update_new_options() {
46
+ $wpuf_general = get_option( 'wpuf_general' );
47
+ $wpuf_payment = get_option( 'wpuf_payment' );
48
+ $wpuf_frontend_posting = array(
49
+ 'edit_page_id' => $wpuf_general['edit_page_id'],
50
+ 'default_post_owner' => $wpuf_general['default_post_owner'],
51
+ 'cf_show_front' => $wpuf_general['cf_show_front'],
52
+ 'insert_photo_size' => $wpuf_general['insert_photo_size'],
53
+ 'insert_photo_type' => $wpuf_general['insert_photo_type'],
54
+ 'image_caption' => $wpuf_general['image_caption'],
55
+ 'default_post_form' => $wpuf_general['default_post_form'],
56
+ );
57
+ $wpuf_my_account = array(
58
+ 'show_subscriptions' => $wpuf_payment['show_subscriptions'],
59
+ );
60
+ update_option( 'wpuf_frontend_posting', $wpuf_frontend_posting );
61
+ update_option( 'wpuf_my_account', $wpuf_my_account );
62
+ }
63
+
64
+ wpuf_upgrade_2_7_taxonomy_restriction();
65
+ wpuf_upgrade_2_7_unset_oembed_cache();
66
+ wpuf_upgrade_2_7_fallback_cost_migration();
67
+ wpuf_upgrade_2_7_update_new_options();
languages/wpuf.pot CHANGED
@@ -2,10 +2,9 @@
2
  # This file is distributed under the GPL2 or later.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP User Frontend 2.6.1\n"
6
- "Report-Msgid-Bugs-To: "
7
- "https://wedevs.com/support/forum/plugin-support/wp-user-frontend/\n"
8
- "POT-Creation-Date: 2017-11-08 12:34:23+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
@@ -13,10 +12,17 @@ msgstr ""
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
15
  "X-Generator: grunt-wp-i18n 0.5.4\n"
16
-
17
- #: admin/add-ons.php:2
18
- msgid "WP User Frontend - Add-Ons"
19
- msgstr ""
 
 
 
 
 
 
 
20
 
21
  #. Plugin Name of the plugin/theme
22
  msgid "WP User Frontend"
@@ -47,276 +53,259 @@ msgstr ""
47
  msgid "Transactions"
48
  msgstr ""
49
 
50
- #: admin/class-admin-settings.php:106
51
- msgid "Add-ons"
52
  msgstr ""
53
 
54
- #: admin/class-admin-settings.php:107 admin/tools.php:13
55
- msgid "Tools"
56
  msgstr ""
57
 
58
- #: admin/class-admin-settings.php:108
59
  msgid "Help"
60
  msgstr ""
61
 
62
- #: admin/class-admin-settings.php:108
63
  msgid "<span style=\"color:#f18500\">Help</span>"
64
  msgstr ""
65
 
66
- #: admin/class-admin-settings.php:109
67
  #: admin/form-builder/views/form-builder.php:9
68
  msgid "Settings"
69
  msgstr ""
70
 
71
- #: admin/class-admin-settings.php:111 admin/class-admin-subscription.php:207
72
  #: admin/subscribers.php:18
73
  msgid "Subscribers"
74
  msgstr ""
75
 
76
- #: admin/class-admin-settings.php:367
77
  msgid "Number of items per page:"
78
  msgstr ""
79
 
80
- #: admin/class-admin-subscription.php:54 admin/class-admin-subscription.php:57
 
 
 
 
81
  msgid "Subscription pack updated."
82
  msgstr ""
83
 
84
- #: admin/class-admin-subscription.php:55
85
  msgid "Custom field updated."
86
  msgstr ""
87
 
88
- #: admin/class-admin-subscription.php:56
89
  msgid "Custom field deleted."
90
  msgstr ""
91
 
92
- #: admin/class-admin-subscription.php:58
93
  msgid "Subscription pack restored to revision from %s"
94
  msgstr ""
95
 
96
- #: admin/class-admin-subscription.php:59
97
  msgid "Subscription pack published."
98
  msgstr ""
99
 
100
- #: admin/class-admin-subscription.php:60
101
  msgid "Subscription pack saved."
102
  msgstr ""
103
 
104
- #: admin/class-admin-subscription.php:61
105
  msgid "Subscription pack submitted."
106
  msgstr ""
107
 
108
- #: admin/class-admin-subscription.php:63
109
  msgid "Subscription pack draft updated."
110
  msgstr ""
111
 
112
- #: admin/class-admin-subscription.php:161
113
- #: admin/class-admin-subscription.php:494 class/frontend-account.php:134
114
- #: class/subscription.php:840 class/subscription.php:853
115
- #: includes/class-user-subscription.php:294
116
- msgid "Free"
117
- msgstr ""
118
-
119
- #: admin/class-admin-subscription.php:179
120
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:66
121
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:140
122
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:526
123
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:584
124
- #: admin/post-forms-list-table.php:345 admin/settings-options.php:87
125
- #: admin/settings-options.php:162 admin/settings-options.php:173
126
- #: admin/settings-options.php:262 admin/template.php:70
127
- #: includes/free/form-element.php:474
128
- msgid "Yes"
129
- msgstr ""
130
-
131
- #: admin/class-admin-subscription.php:181
132
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:67
133
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:141
134
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:527
135
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:585
136
- #: admin/post-forms-list-table.php:346 admin/settings-options.php:88
137
- #: admin/settings-options.php:163 admin/settings-options.php:174
138
- #: admin/settings-options.php:263 admin/template.php:71
139
- #: includes/free/form-element.php:475
140
- msgid "No"
141
- msgstr ""
142
-
143
- #: admin/class-admin-subscription.php:205 class/subscription.php:298
144
  msgid "Pack Name"
145
  msgstr ""
146
 
147
- #: admin/class-admin-subscription.php:206
148
  msgid "Amount"
149
  msgstr ""
150
 
151
- #: admin/class-admin-subscription.php:208 includes/free/subscription.php:8
152
  msgid "Recurring"
153
  msgstr ""
154
 
155
- #: admin/class-admin-subscription.php:209
156
  msgid "Duration"
157
  msgstr ""
158
 
159
- #: admin/class-admin-subscription.php:232
160
- msgid "Pack Deleted"
161
- msgstr ""
162
-
163
- #: admin/class-admin-subscription.php:241 admin/form.php:781
164
- #: admin/html/form-settings-post.php:17 admin/template-post.php:167
165
- #: includes/free/edit-profile.php:97 templates/registration-form.php:27
166
- msgid "Name"
167
  msgstr ""
168
 
169
- #: admin/class-admin-subscription.php:242
170
- #: admin/form-builder/class-wpuf-form-builder-field-settings.php:825
171
- #: admin/template.php:609 class/upload.php:166 wpuf-functions.php:732
172
- msgid "Description"
 
 
 
 
 
 
 
173
  msgstr ""
174
 
175
- #: admin/class-admin-subscription.php:243 class/transactions-list-table.php:43
176
- msgid "Cost"
 
 
 
 
 
 
 
 
 
177
  msgstr ""
178
 
179
- #: admin/class-admin-subscription.php:244
180
- msgid "Validity"
181
  msgstr ""
182
 
183
- #: admin/class-admin-subscription.php:245
184
- msgid "Post Count"
185
  msgstr ""
186
 
187
- #: admin/class-admin-subscription.php:246 includes/free/edit-user.php:93
188
- msgid "Action"
189
  msgstr ""
190
 
191
- #: admin/class-admin-subscription.php:263 admin/form.php:74 admin/form.php:112
192
- #: admin/installer.php:75 admin/post-forms-list-table.php:392
193
- #: class/subscription.php:382 includes/free/admin/shortcode-button.php:90
194
- #: includes/free/edit-user.php:99 templates/dashboard/posts.php:151
195
- #: templates/dashboard.php:206
196
- msgid "Edit"
197
  msgstr ""
198
 
199
- #: admin/class-admin-subscription.php:266
200
- msgid "Are you sure to delete this pack?"
201
  msgstr ""
202
 
203
- #: admin/class-admin-subscription.php:267 class/render-form.php:1576
204
- #: class/transactions-list-table.php:114 class/transactions-list-table.php:177
205
- #: class/upload.php:171 includes/free/edit-user.php:100
206
- #: templates/dashboard/posts.php:161 templates/dashboard.php:216
207
- msgid "Delete"
208
  msgstr ""
209
 
210
- #: admin/class-admin-subscription.php:278
211
- msgid "No subscription pack found"
212
  msgstr ""
213
 
214
- #: admin/class-admin-subscription.php:333
215
- msgid "Pack Description"
 
216
  msgstr ""
217
 
218
- #: admin/class-admin-subscription.php:340
219
- msgid "Billing amount:"
 
220
  msgstr ""
221
 
222
- #: admin/class-admin-subscription.php:341
223
- msgid "Billing amount each cycle:"
224
  msgstr ""
225
 
226
- #: admin/class-admin-subscription.php:350
227
- msgid "Expires In:"
228
  msgstr ""
229
 
230
- #: admin/class-admin-subscription.php:362 includes/free/form-element.php:60
231
- msgid "Enable Post Expiration"
232
  msgstr ""
233
 
234
- #: admin/class-admin-subscription.php:375
235
- #: admin/class-admin-subscription.php:573 includes/free/form-element.php:65
236
- msgid "Post Expiration Time"
237
  msgstr ""
238
 
239
- #: admin/class-admin-subscription.php:414 includes/free/form-element.php:111
240
- msgid "Status of post after post expiration time is over "
241
  msgstr ""
242
 
243
- #: admin/class-admin-subscription.php:445
244
  msgid "Day(s)"
245
  msgstr ""
246
 
247
- #: admin/class-admin-subscription.php:446
248
  msgid "Week(s)"
249
  msgstr ""
250
 
251
- #: admin/class-admin-subscription.php:447
252
  msgid "Month(s)"
253
  msgstr ""
254
 
255
- #: admin/class-admin-subscription.php:448
256
  msgid "Year(s)"
257
  msgstr ""
258
 
259
- #: admin/class-admin-subscription.php:486 includes/free/edit-profile.php:281
260
- msgid "WPUF Subscription"
261
  msgstr ""
262
 
263
- #: admin/class-admin-subscription.php:506
264
- #: includes/class-user-subscription.php:305
265
- #: templates/dashboard/subscription.php:2
266
- msgid "Subscription Details"
267
  msgstr ""
268
 
269
- #: admin/class-admin-subscription.php:510
270
- msgid "This user is using recurring subscription pack"
271
  msgstr ""
272
 
273
- #: admin/class-admin-subscription.php:515
274
- #: includes/class-user-subscription.php:307
275
- #: templates/dashboard/subscription.php:4
276
- msgid "Subcription Name: "
277
  msgstr ""
278
 
279
- #: admin/class-admin-subscription.php:517
280
- msgid "Package billing details: "
281
  msgstr ""
282
 
283
- #: admin/class-admin-subscription.php:526
284
- #: includes/class-user-subscription.php:320
285
- #: templates/dashboard/subscription.php:10
286
- msgid "Remaining post: "
287
  msgstr ""
288
 
289
- #: admin/class-admin-subscription.php:548
290
  #: includes/class-user-subscription.php:348
291
  #: templates/dashboard/subscription.php:41
292
  msgid "Expire date:"
293
  msgstr ""
294
 
295
- #: admin/class-admin-subscription.php:562
296
  msgid "Post Expiration Enabled"
297
  msgstr ""
298
 
299
- #: admin/class-admin-subscription.php:602
 
 
 
 
300
  msgid "Assign Package"
301
  msgstr ""
302
 
303
- #: admin/class-admin-subscription.php:605
304
- msgid "Show Package"
 
 
 
 
305
  msgstr ""
306
 
307
- #: admin/class-admin-subscription.php:608 includes/free/edit-profile.php:285
308
- msgid "Pack:"
309
  msgstr ""
310
 
311
- #: admin/class-admin-subscription.php:611
312
- msgid "--Select--"
313
  msgstr ""
314
 
315
- #: admin/class-admin-subscription.php:620
316
  msgid "Delete Package"
317
  msgstr ""
318
 
319
- #: admin/class-admin-subscription.php:668
320
  msgid "Learn more about <a href=\"%s\" target=\"_blank\">Subscription</a>"
321
  msgstr ""
322
 
@@ -453,81 +442,68 @@ msgid "Delete Transactions"
453
  msgstr ""
454
 
455
  #: admin/form-builder/assets/js/components/builder-stage/template.php:3
456
- #: assets/js-templates/form-components.php:4
457
  msgid "Add fields by dragging the fields from the right sidebar to this area."
458
  msgstr ""
459
 
460
  #: admin/form-builder/assets/js/components/builder-stage/template.php:29
461
- #: assets/js-templates/form-components.php:30
462
  msgid "is available in Pro Version"
463
  msgstr ""
464
 
465
  #: admin/form-builder/assets/js/components/builder-stage/template.php:53
466
- #: assets/js-templates/form-components.php:54
467
  msgid "Hidden Fields"
468
  msgstr ""
469
 
470
  #: admin/form-builder/assets/js/components/builder-stage/template.php:60
471
- #: assets/js-templates/form-components.php:61
472
  msgid "key"
473
  msgstr ""
474
 
475
  #: admin/form-builder/assets/js/components/builder-stage/template.php:60
476
- #: assets/js-templates/form-components.php:61
477
  msgid "value"
478
  msgstr ""
479
 
480
  #: admin/form-builder/assets/js/components/field-option-data/template.php:5
481
- #: admin/template.php:244 assets/js-templates/form-components.php:102
482
  msgid "Show values"
483
  msgstr ""
484
 
485
  #: admin/form-builder/assets/js/components/field-option-data/template.php:16
486
  #: admin/template.php:247 admin/template.php:305
487
- #: assets/js-templates/form-components.php:113
488
  msgid "Label"
489
  msgstr ""
490
 
491
  #: admin/form-builder/assets/js/components/field-option-data/template.php:20
492
  #: admin/template.php:247 admin/template.php:305
493
- #: assets/js-templates/form-components.php:117
494
  msgid "Value"
495
  msgstr ""
496
 
497
  #: admin/form-builder/assets/js/components/field-option-data/template.php:68
498
- #: assets/js-templates/form-components.php:165
499
  msgid "Clear Selection"
500
  msgstr ""
501
 
502
  #: admin/form-builder/assets/js/components/field-option-pro-feature-alert/template.php:4
503
- #: assets/js-templates/form-components.php:173
504
  msgid "Available in Pro Version"
505
  msgstr ""
506
 
507
  #: admin/form-builder/assets/js/components/field-select/template.php:7
508
- #: assets/js-templates/form-components.php:251
509
  msgid "Select an option"
510
  msgstr ""
511
 
512
  #: admin/form-builder/assets/js/components/field-visibility/template.php:53
513
- #: assets/js-templates/form-components.php:356
514
  msgid "No subscription plan found."
515
  msgstr ""
516
 
517
  #: admin/form-builder/assets/js/components/form-featured_image/template.php:5
518
  #: admin/form-builder/assets/js/components/form-image_upload/template.php:5
519
- #: assets/js-templates/form-components.php:437
520
- #: assets/js-templates/form-components.php:503 class/render-form.php:1564
521
  msgid "Select Image"
522
  msgstr ""
523
 
524
  #: admin/form-builder/assets/js/components/form-post_content/template.php:4
525
- #: assets/js-templates/form-components.php:536 class/render-form.php:985
526
  msgid "Insert Photo"
527
  msgstr ""
528
 
529
  #: admin/form-builder/assets/js/components/form-taxonomy/template.php:12
530
- #: assets/js-templates/form-components.php:646
531
  msgid "— Select —"
532
  msgstr ""
533
 
@@ -567,13 +543,6 @@ msgstr ""
567
  msgid "OK"
568
  msgstr ""
569
 
570
- #: admin/form-builder/class-wpuf-admin-form-builder.php:325
571
- #: class/payment.php:168 class/subscription.php:767
572
- #: includes/class-list-table-subscribers.php:156
573
- #: templates/dashboard/subscription.php:62
574
- msgid "Cancel"
575
- msgstr ""
576
-
577
  #: admin/form-builder/class-wpuf-admin-form-builder.php:326
578
  #: includes/free/admin/shortcode-builder.php:69
579
  msgid "Close"
@@ -899,8 +868,9 @@ msgid "Email Address"
899
  msgstr ""
900
 
901
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:682
902
- #: admin/html/form-settings-post.php:18 class/transactions-list-table.php:48
903
- #: includes/free/edit-user.php:152 templates/registration-form.php:44
 
904
  msgid "Email"
905
  msgstr ""
906
 
@@ -948,7 +918,7 @@ msgstr ""
948
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:902
949
  #: admin/template.php:544 admin/template.php:604 admin/template.php:683
950
  #: class/upload.php:164 templates/dashboard/posts.php:75
951
- #: templates/dashboard.php:73 wpuf-functions.php:726
952
  msgid "Title"
953
  msgstr ""
954
 
@@ -957,6 +927,11 @@ msgstr ""
957
  msgid "Title of the section"
958
  msgstr ""
959
 
 
 
 
 
 
960
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:829
961
  msgid "Some details text about the section"
962
  msgstr ""
@@ -1099,6 +1074,13 @@ msgstr ""
1099
  msgid "Add New Form"
1100
  msgstr ""
1101
 
 
 
 
 
 
 
 
1102
  #: admin/form.php:75 admin/form.php:113
1103
  msgid "Edit Form"
1104
  msgstr ""
@@ -1135,8 +1117,8 @@ msgstr ""
1135
  msgid "Registration Forms"
1136
  msgstr ""
1137
 
1138
- #: admin/form.php:194 includes/free/form-element.php:210
1139
- #: includes/free/form-element.php:247
1140
  msgid "Notification"
1141
  msgstr ""
1142
 
@@ -1148,18 +1130,10 @@ msgstr ""
1148
  msgid "Edit Settings"
1149
  msgstr ""
1150
 
1151
- #: admin/form.php:229
1152
- msgid "Payment Settings"
1153
- msgstr ""
1154
-
1155
  #: admin/form.php:230
1156
  msgid "Display Settings"
1157
  msgstr ""
1158
 
1159
- #: admin/form.php:231 includes/free/form-element.php:56
1160
- msgid "Post Expiration"
1161
- msgstr ""
1162
-
1163
  #: admin/form.php:289 admin/form.php:293
1164
  msgid "- Select -"
1165
  msgstr ""
@@ -1222,6 +1196,12 @@ msgstr ""
1222
  msgid "Order By"
1223
  msgstr ""
1224
 
 
 
 
 
 
 
1225
  #: admin/form.php:782 admin/template-post.php:168
1226
  msgid "Term ID"
1227
  msgstr ""
@@ -1353,15 +1333,19 @@ msgid "Cost of pay per post after a subscription pack limit is reached."
1353
  msgstr ""
1354
 
1355
  #: admin/html/form-settings-payment.php:66
1356
- msgid "Pay per Post"
1357
  msgstr ""
1358
 
1359
  #: admin/html/form-settings-payment.php:71
1360
- msgid "Enable Pay per Post"
1361
  msgstr ""
1362
 
1363
  #: admin/html/form-settings-payment.php:73
1364
- msgid "Charge users for posting"
 
 
 
 
1365
  msgstr ""
1366
 
1367
  #: admin/html/form-settings-payment.php:78
@@ -1390,32 +1374,32 @@ msgid "No Change"
1390
  msgstr ""
1391
 
1392
  #: admin/html/form-settings-post-edit.php:30
1393
- #: admin/html/form-settings-post.php:174 includes/free/form-element.php:373
1394
  msgid "Redirect To"
1395
  msgstr ""
1396
 
1397
  #: admin/html/form-settings-post-edit.php:35
1398
- #: admin/html/form-settings-post.php:179
1399
  msgid "Newly created post"
1400
  msgstr ""
1401
 
1402
  #: admin/html/form-settings-post-edit.php:36
1403
- #: admin/html/form-settings-post.php:180 includes/free/form-element.php:378
1404
  msgid "Same Page"
1405
  msgstr ""
1406
 
1407
  #: admin/html/form-settings-post-edit.php:37
1408
- #: admin/html/form-settings-post.php:181 includes/free/form-element.php:379
1409
  msgid "To a page"
1410
  msgstr ""
1411
 
1412
  #: admin/html/form-settings-post-edit.php:38
1413
- #: admin/html/form-settings-post.php:182 includes/free/form-element.php:380
1414
  msgid "To a custom URL"
1415
  msgstr ""
1416
 
1417
  #: admin/html/form-settings-post-edit.php:47
1418
- #: admin/html/form-settings-post.php:191 includes/free/form-element.php:389
1419
  msgid "After successfull submit, where the page will redirect to"
1420
  msgstr ""
1421
 
@@ -1424,12 +1408,12 @@ msgid "Post Update Message"
1424
  msgstr ""
1425
 
1426
  #: admin/html/form-settings-post-edit.php:60
1427
- #: admin/html/form-settings-post.php:204 includes/free/form-element.php:409
1428
  msgid "Page"
1429
  msgstr ""
1430
 
1431
  #: admin/html/form-settings-post-edit.php:75
1432
- #: admin/html/form-settings-post.php:219 includes/free/form-element.php:424
1433
  msgid "Custom URL"
1434
  msgstr ""
1435
 
@@ -1461,123 +1445,127 @@ msgstr ""
1461
  msgid "Post Type"
1462
  msgstr ""
1463
 
1464
- #: admin/html/form-settings-post.php:62 admin/post-forms-list-table.php:298
1465
- msgid "Post Status"
1466
  msgstr ""
1467
 
1468
- #: admin/html/form-settings-post.php:76
 
 
 
 
1469
  msgid "Post Format"
1470
  msgstr ""
1471
 
1472
- #: admin/html/form-settings-post.php:79 admin/html/form-settings-post.php:102
1473
  msgid "- None -"
1474
  msgstr ""
1475
 
1476
- #: admin/html/form-settings-post.php:94
1477
  msgid "Default Post Category"
1478
  msgstr ""
1479
 
1480
- #: admin/html/form-settings-post.php:106
1481
  msgid ""
1482
  "If users are not allowed to choose any category, this category will be used "
1483
  "instead (if post type supports)"
1484
  msgstr ""
1485
 
1486
- #: admin/html/form-settings-post.php:111 admin/post-forms-list-table.php:299
1487
  msgid "Guest Post"
1488
  msgstr ""
1489
 
1490
- #: admin/html/form-settings-post.php:116
1491
  msgid "Enable Guest Post"
1492
  msgstr ""
1493
 
1494
- #: admin/html/form-settings-post.php:118
1495
  msgid "Unregistered users will be able to submit posts"
1496
  msgstr ""
1497
 
1498
- #: admin/html/form-settings-post.php:118
1499
  msgid "Learn more about guest posting."
1500
  msgstr ""
1501
 
1502
- #: admin/html/form-settings-post.php:123
1503
  msgid "User Details"
1504
  msgstr ""
1505
 
1506
- #: admin/html/form-settings-post.php:128
1507
  msgid "Require Name and Email address"
1508
  msgstr ""
1509
 
1510
- #: admin/html/form-settings-post.php:130
1511
  msgid ""
1512
  "If requires, users will be automatically registered to the site using the "
1513
  "name and email address"
1514
  msgstr ""
1515
 
1516
- #: admin/html/form-settings-post.php:135
1517
  msgid "Email Verification"
1518
  msgstr ""
1519
 
1520
- #: admin/html/form-settings-post.php:139
1521
  msgid "Require Email Verification for Guests"
1522
  msgstr ""
1523
 
1524
- #: admin/html/form-settings-post.php:141
1525
  msgid "If requires, users will be required to verify their email adress."
1526
  msgstr ""
1527
 
1528
- #: admin/html/form-settings-post.php:146
1529
  msgid "Name Label"
1530
  msgstr ""
1531
 
1532
- #: admin/html/form-settings-post.php:151
1533
  msgid "Label text for name field"
1534
  msgstr ""
1535
 
1536
- #: admin/html/form-settings-post.php:156
1537
  msgid "E-Mail Label"
1538
  msgstr ""
1539
 
1540
- #: admin/html/form-settings-post.php:161
1541
  msgid "Label text for email field"
1542
  msgstr ""
1543
 
1544
- #: admin/html/form-settings-post.php:166 admin/settings-options.php:219
1545
  msgid "Unauthorized Message"
1546
  msgstr ""
1547
 
1548
- #: admin/html/form-settings-post.php:169 admin/settings-options.php:220
1549
  msgid "Not logged in users will see this message"
1550
  msgstr ""
1551
 
1552
- #: admin/html/form-settings-post.php:197
1553
  msgid "Message to show"
1554
  msgstr ""
1555
 
1556
- #: admin/html/form-settings-post.php:226
1557
  msgid "Comment Status"
1558
  msgstr ""
1559
 
1560
- #: admin/html/form-settings-post.php:229
1561
  msgid "Open"
1562
  msgstr ""
1563
 
1564
- #: admin/html/form-settings-post.php:230
1565
  msgid "Closed"
1566
  msgstr ""
1567
 
1568
- #: admin/html/form-settings-post.php:236
1569
  msgid "Submit Post Button text"
1570
  msgstr ""
1571
 
1572
- #: admin/html/form-settings-post.php:243
1573
  msgid "Post Draft"
1574
  msgstr ""
1575
 
1576
- #: admin/html/form-settings-post.php:248
1577
  msgid "Enable Saving as draft"
1578
  msgstr ""
1579
 
1580
- #: admin/html/form-settings-post.php:250
1581
  msgid "It will show a button to save as draft"
1582
  msgstr ""
1583
 
@@ -1609,118 +1597,140 @@ msgstr ""
1609
  msgid "This integration is not installed."
1610
  msgstr ""
1611
 
1612
- #: admin/html/support.php:185
1613
  msgid "Related Articles:"
1614
  msgstr ""
1615
 
1616
- #: admin/html/support.php:204
1617
  msgid "General Help Questions"
1618
  msgstr ""
1619
 
1620
- #: admin/html/support.php:204
1621
  msgid "View all Documentations"
1622
  msgstr ""
1623
 
 
 
 
 
1624
  #: admin/html/support.php:213
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1625
  msgid "Plugin Setup"
1626
  msgstr ""
1627
 
1628
- #: admin/html/support.php:219
1629
  msgid "Frontend Posting"
1630
  msgstr ""
1631
 
1632
- #: admin/html/support.php:225
1633
  msgid "Frontend Dashboard"
1634
  msgstr ""
1635
 
1636
- #: admin/html/support.php:231
1637
  msgid "User Registration"
1638
  msgstr ""
1639
 
1640
- #: admin/html/support.php:237
1641
  msgid "User Login"
1642
  msgstr ""
1643
 
1644
- #: admin/html/support.php:243
1645
  msgid "Profile Editing"
1646
  msgstr ""
1647
 
1648
- #: admin/html/support.php:249
1649
  msgid "Subscription &amp; Payment"
1650
  msgstr ""
1651
 
1652
- #: admin/html/support.php:255
1653
  msgid "Content Restriction"
1654
  msgstr ""
1655
 
1656
- #: admin/html/support.php:277
1657
  msgid "Learn More About Installation"
1658
  msgstr ""
1659
 
1660
- #: admin/html/support.php:288
1661
  msgid "Learn More About Frontend Posting"
1662
  msgstr ""
1663
 
1664
- #: admin/html/support.php:298
1665
  msgid "Learn More About Frontend Dashboard"
1666
  msgstr ""
1667
 
1668
- #: admin/html/support.php:328
1669
  msgid "Learn More About Registration"
1670
  msgstr ""
1671
 
1672
- #: admin/html/support.php:344
1673
  msgid "Learn More About Login"
1674
  msgstr ""
1675
 
1676
- #: admin/html/support.php:361
1677
  msgid "Learn More About Profile Editing"
1678
  msgstr ""
1679
 
1680
- #: admin/html/support.php:414
1681
  msgid "Learn More About Payments"
1682
  msgstr ""
1683
 
1684
- #: admin/html/support.php:431
1685
  msgid "Learn More About Content Restriction"
1686
  msgstr ""
1687
 
1688
- #: admin/html/support.php:440 admin/html/support.php:442
1689
  msgid "Like The Plugin?"
1690
  msgstr ""
1691
 
1692
- #: admin/html/support.php:444
1693
  msgid "Your Review is very important to us as it helps us to grow more."
1694
  msgstr ""
1695
 
1696
- #: admin/html/support.php:446
1697
  msgid "Review Us on WP.org"
1698
  msgstr ""
1699
 
1700
- #: admin/html/support.php:450 admin/html/support.php:452
1701
  msgid "Found Any Bugs?"
1702
  msgstr ""
1703
 
1704
- #: admin/html/support.php:454
1705
  msgid "Report any Bug that you Discovered, Get Instant Solutions."
1706
  msgstr ""
1707
 
1708
- #: admin/html/support.php:456
1709
  msgid "Report to GitHub"
1710
  msgstr ""
1711
 
1712
- #: admin/html/support.php:460 admin/html/support.php:462
1713
  msgid "Need Any Assistance?"
1714
  msgstr ""
1715
 
1716
- #: admin/html/support.php:464
1717
  msgid "Our EXPERT Support Team is always ready to Help you out."
1718
  msgstr ""
1719
 
1720
- #: admin/html/support.php:466
1721
  msgid "Contact Support"
1722
  msgstr ""
1723
 
 
 
 
 
1724
  #: admin/installer.php:27
1725
  msgid ""
1726
  "If you have not created <strong>WP User Frontend</strong> pages yet, you "
@@ -1741,8 +1751,8 @@ msgid ""
1741
  "and saved!"
1742
  msgstr ""
1743
 
1744
- #: admin/installer.php:73 admin/settings-options.php:17
1745
- #: includes/free/admin/shortcode-button.php:82 wpuf-functions.php:1418
1746
  msgid "Dashboard"
1747
  msgstr ""
1748
 
@@ -1754,9 +1764,9 @@ msgstr ""
1754
  msgid "Login"
1755
  msgstr ""
1756
 
1757
- #: admin/installer.php:83 class/subscription.php:357 class/subscription.php:377
1758
- #: class/subscription.php:378 class/subscription.php:379
1759
- #: includes/free/admin/shortcode-button.php:102 wpuf-functions.php:1421
1760
  msgid "Subscription"
1761
  msgstr ""
1762
 
@@ -1837,7 +1847,7 @@ msgstr ""
1837
  msgid "Form Name"
1838
  msgstr ""
1839
 
1840
- #: admin/post-forms-list-table.php:300
1841
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:195
1842
  #: includes/free/form-element.php:30
1843
  msgid "Shortcode"
@@ -1851,24 +1861,24 @@ msgstr ""
1851
  msgid "Draft"
1852
  msgstr ""
1853
 
1854
- #: admin/posting.php:66 class/asset-loader.php:51 class/render-form.php:1576
1855
- #: wpuf.php:424
1856
  msgid "Are you sure?"
1857
  msgstr ""
1858
 
1859
- #: admin/posting.php:72 class/asset-loader.php:57 wpuf.php:430
1860
  msgid "Allowed Files"
1861
  msgstr ""
1862
 
1863
- #: admin/posting.php:75 class/asset-loader.php:60 wpuf.php:433
1864
  msgid "Maximum number of files reached!"
1865
  msgstr ""
1866
 
1867
- #: admin/posting.php:76 class/asset-loader.php:61 wpuf.php:434
1868
  msgid "The file you have uploaded exceeds the file size limit. Please try again."
1869
  msgstr ""
1870
 
1871
- #: admin/posting.php:77 class/asset-loader.php:62 wpuf.php:435
1872
  msgid "You have uploaded an incorrect file type. Please try again."
1873
  msgstr ""
1874
 
@@ -1884,410 +1894,696 @@ msgstr ""
1884
  msgid "No custom fields found."
1885
  msgstr ""
1886
 
1887
- #: admin/promotion.php:38
1888
- msgid "Pro upgrade and all extensions, "
1889
- msgstr ""
1890
-
1891
- #: admin/promotion.php:38
1892
- msgid "all extensions, "
1893
  msgstr ""
1894
 
1895
- #: admin/promotion.php:40
1896
  msgid ""
1897
- "<h2><span class=\"dashicons dashicons-awards\"></span> weDevs 4th Year "
1898
- "Anniversary Offer</h2>"
1899
  msgstr ""
1900
 
1901
- #: admin/promotion.php:41
1902
- msgid ""
1903
- "<p>Get <strong class=\"highlight-text\">44&#37; discount</strong> on %2$s "
1904
- "also <a target=\"_blank\" href=\"%1$s\"><strong>WIN any "
1905
- "product</strong></a> from our 4th year anniversary giveaway. Offer ending "
1906
- "soon!</p>"
1907
  msgstr ""
1908
 
1909
- #: admin/settings-options.php:13
1910
- msgid "General Options"
 
 
 
1911
  msgstr ""
1912
 
1913
- #: admin/settings-options.php:21
1914
- msgid "Login / Registration"
1915
  msgstr ""
1916
 
1917
- #: admin/settings-options.php:25
1918
- msgid "Payments"
 
 
 
1919
  msgstr ""
1920
 
1921
- #: admin/settings-options.php:29
1922
- msgid "E-Mails"
1923
  msgstr ""
1924
 
1925
- #: admin/settings-options.php:53
1926
- msgid "Edit Page"
 
 
1927
  msgstr ""
1928
 
1929
- #: admin/settings-options.php:54
1930
- msgid "Select the page where [wpuf_edit] is located"
1931
  msgstr ""
1932
 
1933
- #: admin/settings-options.php:60
1934
- msgid "Default Post Owner"
1935
  msgstr ""
1936
 
1937
- #: admin/settings-options.php:61
1938
- msgid ""
1939
- "If guest post is enabled and user details are OFF, the posts are assigned "
1940
- "to this user"
1941
  msgstr ""
1942
 
1943
- #: admin/settings-options.php:68
1944
- msgid "Admin area access"
 
 
1945
  msgstr ""
1946
 
1947
- #: admin/settings-options.php:69
1948
- msgid "Allow you to block specific user role to WordPress admin area."
1949
  msgstr ""
1950
 
1951
- #: admin/settings-options.php:73
1952
- msgid "Admin Only"
1953
  msgstr ""
1954
 
1955
- #: admin/settings-options.php:74
1956
- msgid "Admins, Editors"
1957
  msgstr ""
1958
 
1959
- #: admin/settings-options.php:75
1960
- msgid "Admins, Editors, Authors"
 
 
1961
  msgstr ""
1962
 
1963
- #: admin/settings-options.php:76
1964
- msgid "Admins, Editors, Authors, Contributors"
1965
  msgstr ""
1966
 
1967
- #: admin/settings-options.php:77
1968
- msgid "Default"
1969
  msgstr ""
1970
 
1971
- #: admin/settings-options.php:82
1972
- msgid "Override the post edit link"
1973
  msgstr ""
1974
 
1975
- #: admin/settings-options.php:83
1976
  msgid ""
1977
- "Users see the edit link in post if s/he is capable to edit the post/page. "
1978
- "Selecting <strong>Yes</strong> will override the default WordPress edit "
1979
- "post link in frontend"
1980
  msgstr ""
1981
 
1982
- #: admin/settings-options.php:93
1983
- msgid "Custom Fields in post"
1984
  msgstr ""
1985
 
1986
- #: admin/settings-options.php:94
1987
- msgid "Show custom fields on post content area"
 
 
1988
  msgstr ""
1989
 
1990
- #: admin/settings-options.php:100
1991
- msgid "Load Scripts"
 
 
1992
  msgstr ""
1993
 
1994
- #: admin/settings-options.php:101
1995
- msgid "Load scripts/styles in all pages"
 
 
1996
  msgstr ""
1997
 
1998
- #: admin/settings-options.php:107
1999
- msgid "Insert Photo image size"
2000
  msgstr ""
2001
 
2002
- #: admin/settings-options.php:108
2003
  msgid ""
2004
- "Default image size of \"<strong>Insert Photo</strong>\" button in post "
2005
- "content area"
2006
  msgstr ""
2007
 
2008
- #: admin/settings-options.php:115
2009
- msgid "Insert Photo image type"
2010
  msgstr ""
2011
 
2012
- #: admin/settings-options.php:116
2013
- msgid ""
2014
- "Default image type of \"<strong>Insert Photo</strong>\" button in post "
2015
- "content area"
2016
  msgstr ""
2017
 
2018
- #: admin/settings-options.php:119
2019
- msgid "Image only"
2020
  msgstr ""
2021
 
2022
- #: admin/settings-options.php:120
2023
- msgid "Image with link"
2024
  msgstr ""
2025
 
2026
- #: admin/settings-options.php:126
2027
- msgid "Enable Image Caption"
 
 
2028
  msgstr ""
2029
 
2030
- #: admin/settings-options.php:127
2031
- msgid "Allow users to update image/video title, caption and description"
2032
  msgstr ""
2033
 
2034
- #: admin/settings-options.php:133
2035
- msgid "Default Post Form"
 
 
2036
  msgstr ""
2037
 
2038
- #: admin/settings-options.php:134
2039
- msgid "Fallback form for post editing if no associated form found"
2040
  msgstr ""
2041
 
2042
- #: admin/settings-options.php:140
2043
- msgid "reCAPTCHA Site Key"
2044
  msgstr ""
2045
 
2046
- #: admin/settings-options.php:144
2047
- msgid "reCAPTCHA Secret Key"
2048
  msgstr ""
2049
 
2050
- #: admin/settings-options.php:145
2051
- msgid ""
2052
- "<a target=\"_blank\" href=\"https://www.google.com/recaptcha/\">Register "
2053
- "here</a> to get reCaptcha Site and Secret keys."
2054
  msgstr ""
2055
 
2056
- #: admin/settings-options.php:149
2057
- msgid "Custom CSS codes"
2058
  msgstr ""
2059
 
2060
- #: admin/settings-options.php:150
2061
- msgid ""
2062
- "If you want to add your custom CSS code, it will be added on page header "
2063
- "wrapped with style tag"
2064
  msgstr ""
2065
 
2066
- #: admin/settings-options.php:157
2067
- msgid "Users can edit post?"
2068
  msgstr ""
2069
 
2070
- #: admin/settings-options.php:158
2071
- msgid "Users will be able to edit their own posts"
 
 
2072
  msgstr ""
2073
 
2074
- #: admin/settings-options.php:168
2075
- msgid "User can delete post?"
2076
  msgstr ""
2077
 
2078
- #: admin/settings-options.php:169
2079
- msgid "Users will be able to delete their own posts"
 
 
2080
  msgstr ""
2081
 
2082
- #: admin/settings-options.php:179
2083
- msgid "Pending Post Edit"
2084
  msgstr ""
2085
 
2086
- #: admin/settings-options.php:180
2087
- msgid "Disable post editing while post in \"pending\" status"
 
 
2088
  msgstr ""
2089
 
2090
- #: admin/settings-options.php:186
2091
- msgid "Posts per page"
 
2092
  msgstr ""
2093
 
2094
- #: admin/settings-options.php:187
2095
- msgid "How many posts will be listed in a page"
2096
  msgstr ""
2097
 
2098
- #: admin/settings-options.php:193
2099
- msgid "Show user bio"
2100
  msgstr ""
2101
 
2102
- #: admin/settings-options.php:194
2103
- msgid "Users biographical info will be shown"
2104
  msgstr ""
2105
 
2106
- #: admin/settings-options.php:200
2107
- msgid "Show post count"
2108
  msgstr ""
2109
 
2110
- #: admin/settings-options.php:201
2111
- msgid "Show how many posts are created by the user"
2112
  msgstr ""
2113
 
2114
- #: admin/settings-options.php:207
2115
- msgid "Show Featured Image"
2116
  msgstr ""
2117
 
2118
- #: admin/settings-options.php:208
2119
- msgid "Show featured image of the post (Overridden by Shortcode)"
2120
  msgstr ""
2121
 
2122
- #: admin/settings-options.php:213
2123
- msgid "Featured Image size"
2124
  msgstr ""
2125
 
2126
- #: admin/settings-options.php:227
2127
- msgid "Auto Login After Registration"
2128
  msgstr ""
2129
 
2130
- #: admin/settings-options.php:228
2131
- msgid "If enabled, users after registration will be logged in to the system"
2132
  msgstr ""
2133
 
2134
- #: admin/settings-options.php:234
2135
- msgid "Login/Registration override"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2136
  msgstr ""
2137
 
2138
- #: admin/settings-options.php:235
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2139
  msgid ""
2140
  "If enabled, default login and registration forms will be overridden by WPUF "
2141
  "with pages below"
2142
  msgstr ""
2143
 
2144
- #: admin/settings-options.php:241
2145
  msgid "Registration Page"
2146
  msgstr ""
2147
 
2148
- #: admin/settings-options.php:242
2149
  msgid ""
2150
  "Select the page you want to use as registration page override <em>(should "
2151
  "have shortcode)</em>"
2152
  msgstr ""
2153
 
2154
- #: admin/settings-options.php:248
2155
  msgid "Login Page"
2156
  msgstr ""
2157
 
2158
- #: admin/settings-options.php:249
2159
  msgid "Select the page which contains <code>[wpuf-login]</code> shortcode"
2160
  msgstr ""
2161
 
2162
- #: admin/settings-options.php:257
2163
- msgid "Show Subscriptions"
2164
- msgstr ""
2165
-
2166
- #: admin/settings-options.php:258
2167
- msgid "Show Subscriptions option in dashboard"
2168
- msgstr ""
2169
-
2170
- #: admin/settings-options.php:268
2171
  msgid "Subscription Pack Page"
2172
  msgstr ""
2173
 
2174
- #: admin/settings-options.php:269
2175
  msgid "Select the page where <code>[wpuf_sub_pack]</code> located."
2176
  msgstr ""
2177
 
2178
- #: admin/settings-options.php:275
2179
  msgid "Subscription at registration"
2180
  msgstr ""
2181
 
2182
- #: admin/settings-options.php:276
2183
  msgid "Registration time redirect to subscription page"
2184
  msgstr ""
2185
 
2186
- #: admin/settings-options.php:281
2187
  msgid "Currency"
2188
  msgstr ""
2189
 
2190
- #: admin/settings-options.php:288
2191
  msgid "Currency Position"
2192
  msgstr ""
2193
 
2194
- #: admin/settings-options.php:292
2195
  msgid "Left"
2196
  msgstr ""
2197
 
2198
- #: admin/settings-options.php:293
2199
  msgid "Right"
2200
  msgstr ""
2201
 
2202
- #: admin/settings-options.php:294
2203
  msgid "Left with space"
2204
  msgstr ""
2205
 
2206
- #: admin/settings-options.php:295
2207
  msgid "Right with space"
2208
  msgstr ""
2209
 
2210
- #: admin/settings-options.php:300
2211
  msgid "Thousand Separator"
2212
  msgstr ""
2213
 
2214
- #: admin/settings-options.php:301
2215
  msgid "This sets the thousand separator of displayed prices."
2216
  msgstr ""
2217
 
2218
- #: admin/settings-options.php:309
2219
  msgid "Decimal Separator"
2220
  msgstr ""
2221
 
2222
- #: admin/settings-options.php:310
2223
  msgid "This sets the decimal separator of displayed prices."
2224
  msgstr ""
2225
 
2226
- #: admin/settings-options.php:317
2227
  msgid "Number of Decimals"
2228
  msgstr ""
2229
 
2230
- #: admin/settings-options.php:318
2231
  msgid "This sets the number of decimal points shown in displayed prices."
2232
  msgstr ""
2233
 
2234
- #: admin/settings-options.php:328
2235
  msgid "Enable demo/sandbox mode"
2236
  msgstr ""
2237
 
2238
- #: admin/settings-options.php:329
2239
  msgid "When sandbox mode is active, all payment gateway will be used in demo mode"
2240
  msgstr ""
2241
 
2242
- #: admin/settings-options.php:335
2243
  msgid "Payment Page"
2244
  msgstr ""
2245
 
2246
- #: admin/settings-options.php:336
2247
  msgid "This page will be used to process payment options"
2248
  msgstr ""
2249
 
2250
- #: admin/settings-options.php:342
2251
  msgid "Payment Success Page"
2252
  msgstr ""
2253
 
2254
- #: admin/settings-options.php:343 lib/gateway/bank.php:37
2255
  msgid "After payment users will be redirected here"
2256
  msgstr ""
2257
 
2258
- #: admin/settings-options.php:349
2259
  msgid "Payment Gateways"
2260
  msgstr ""
2261
 
2262
- #: admin/settings-options.php:350
2263
  msgid "Active payment gateways"
2264
  msgstr ""
2265
 
2266
- #: admin/settings-options.php:358
2267
  msgid "Guest Email Subject"
2268
  msgstr ""
2269
 
2270
- #: admin/settings-options.php:359
2271
  msgid "This sets the subject of the emails sent to guest users"
2272
  msgstr ""
2273
 
2274
- #: admin/settings-options.php:365
2275
  msgid "Guest Email Body"
2276
  msgstr ""
2277
 
2278
- #: admin/settings-options.php:366
2279
  msgid ""
2280
  "This sets the body of the emails sent to guest users. Please DON'T edit the "
2281
- "'{activation_link}' part"
2282
  msgstr ""
2283
 
2284
- #: admin/settings-options.php:389
2285
  msgid ""
2286
  "Select profile/registration forms for user roles. These forms will be used "
2287
  "to populate extra edit profile fields in backend."
2288
  msgstr ""
2289
 
2290
- #: admin/settings-options.php:400
2291
  msgid " - select - "
2292
  msgstr ""
2293
 
@@ -2388,23 +2684,23 @@ msgstr ""
2388
  msgid "Install Now"
2389
  msgstr ""
2390
 
2391
- #: class/asset-loader.php:31 wpuf.php:355
2392
  msgid "is required"
2393
  msgstr ""
2394
 
2395
- #: class/asset-loader.php:32 wpuf.php:356
2396
  msgid "does not match"
2397
  msgstr ""
2398
 
2399
- #: class/asset-loader.php:33 wpuf.php:357
2400
  msgid "is not valid"
2401
  msgstr ""
2402
 
2403
- #: class/asset-loader.php:45 wpuf.php:418
2404
  msgid "Please fix the errors to proceed"
2405
  msgstr ""
2406
 
2407
- #: class/asset-loader.php:47 wpuf.php:420
2408
  msgid "Word limit reached"
2409
  msgstr ""
2410
 
@@ -2416,7 +2712,7 @@ msgstr ""
2416
  msgid "<p>You've subscribed to the following package.</p>"
2417
  msgstr ""
2418
 
2419
- #: class/frontend-account.php:183 class/subscription.php:75
2420
  msgid "Nonce failure"
2421
  msgstr ""
2422
 
@@ -2476,57 +2772,53 @@ msgstr ""
2476
  msgid "You are not the post author. Cheeting huh!"
2477
  msgstr ""
2478
 
2479
- #: class/frontend-form-post.php:63 class/frontend-form-post.php:124
2480
- msgid "Sorry. Guest Posting is not enabled for this form."
2481
- msgstr ""
2482
-
2483
- #: class/frontend-form-post.php:84 class/frontend-form-post.php:119
2484
- #: class/frontend-form-post.php:126
2485
  msgid "Payment type not selected for this form. Please contact admin."
2486
  msgstr ""
2487
 
2488
- #: class/frontend-form-post.php:172
2489
  msgid "You are not logged in"
2490
  msgstr ""
2491
 
2492
- #: class/frontend-form-post.php:180 class/frontend-form-post.php:191
2493
  msgid "Invalid post"
2494
  msgstr ""
2495
 
2496
- #: class/frontend-form-post.php:185
2497
  msgid "Post Editing is disabled"
2498
  msgstr ""
2499
 
2500
- #: class/frontend-form-post.php:196
2501
  msgid "You are not allowed to edit"
2502
  msgstr ""
2503
 
2504
- #: class/frontend-form-post.php:208
2505
  msgid "I don't know how to edit this post, I don't have the form ID"
2506
  msgstr ""
2507
 
2508
- #: class/frontend-form-post.php:214
2509
  msgid "You can't edit a post while in pending mode."
2510
  msgstr ""
2511
 
2512
- #: class/frontend-form-post.php:284
2513
  msgid "Invalid email address."
2514
  msgstr ""
2515
 
2516
- #: class/frontend-form-post.php:293
2517
  msgid ""
2518
  "You already have an account in our site. Please login to continue.\n"
2519
  "\n"
2520
- "Clicking 'OK' will redirect you to the login page and you will lost the "
2521
  "form data.\n"
2522
  "Click 'Cancel' to stay at this page."
2523
  msgstr ""
2524
 
2525
- #: class/frontend-form-post.php:698
2526
  msgid "Something went wrong"
2527
  msgstr ""
2528
 
2529
- #: class/frontend-form-post.php:1055
2530
  msgid "Email successfully verified. Please Login."
2531
  msgstr ""
2532
 
@@ -2586,11 +2878,11 @@ msgstr ""
2586
  msgid "No Payment gateway found"
2587
  msgstr ""
2588
 
2589
- #: class/payment.php:356 lib/gateway/bank.php:105
2590
  msgid "[%s] Payment Received"
2591
  msgstr ""
2592
 
2593
- #: class/payment.php:357
2594
  msgid "New payment received at %s"
2595
  msgstr ""
2596
 
@@ -2624,95 +2916,104 @@ msgstr ""
2624
  msgid "Strength indicator"
2625
  msgstr ""
2626
 
2627
- #: class/render-form.php:1325 class/render-form.php:1438
2628
  msgid "-- Select --"
2629
  msgstr ""
2630
 
2631
- #: class/render-form.php:1380
2632
  msgid "This field is no longer available."
2633
  msgstr ""
2634
 
2635
- #: class/subscription.php:380
 
 
 
 
 
 
 
2636
  msgid "Add Subscription"
2637
  msgstr ""
2638
 
2639
- #: class/subscription.php:381
2640
  msgid "Add New Subscription"
2641
  msgstr ""
2642
 
2643
- #: class/subscription.php:383
2644
  msgid "Edit Subscription"
2645
  msgstr ""
2646
 
2647
- #: class/subscription.php:384
2648
  msgid "New Subscription"
2649
  msgstr ""
2650
 
2651
- #: class/subscription.php:385 class/subscription.php:386
2652
  msgid "View Subscription"
2653
  msgstr ""
2654
 
2655
- #: class/subscription.php:387
2656
  msgid "Search Subscription"
2657
  msgstr ""
2658
 
2659
- #: class/subscription.php:388
2660
  msgid "No Subscription Found"
2661
  msgstr ""
2662
 
2663
- #: class/subscription.php:389
2664
  msgid "No Subscription Found in Trash"
2665
  msgstr ""
2666
 
2667
- #: class/subscription.php:390
2668
  msgid "Parent Subscription"
2669
  msgstr ""
2670
 
2671
- #: class/subscription.php:419
2672
- msgid "Billing Details"
2673
- msgstr ""
2674
-
2675
- #: class/subscription.php:735
2676
  msgid "Payment is complete"
2677
  msgstr ""
2678
 
2679
- #: class/subscription.php:735
2680
  msgid "Congratulations, your payment has been completed!"
2681
  msgstr ""
2682
 
2683
- #: class/subscription.php:739 class/subscription.php:743
2684
  msgid "Please buy a subscription pack to post"
2685
  msgstr ""
2686
 
2687
- #: class/subscription.php:757
2688
  msgid "<p><i>You have a subscription pack activated. </i></p>"
2689
  msgstr ""
2690
 
2691
- #: class/subscription.php:761
2692
  msgid "<p><i>To cancel the pack, press the following cancel button</i></p>"
2693
  msgstr ""
2694
 
2695
- #: class/subscription.php:821
2696
  msgid "Every"
2697
  msgstr ""
2698
 
2699
- #: class/subscription.php:825
2700
  msgid "One time payment"
2701
  msgstr ""
2702
 
2703
- #: class/subscription.php:837
2704
  msgid "Sign Up"
2705
  msgstr ""
2706
 
2707
- #: class/subscription.php:842
2708
  msgid "Buy Now"
2709
  msgstr ""
2710
 
2711
- #: class/subscription.php:905
2712
  msgid "There is a <strong>%s</strong> charge to add a new post."
2713
  msgstr ""
2714
 
2715
- #: class/subscription.php:950
 
 
 
 
 
 
2716
  msgid "You must <a href=\"%s\">purchase a pack</a> before posting"
2717
  msgstr ""
2718
 
@@ -2738,6 +3039,10 @@ msgstr ""
2738
  msgid "User"
2739
  msgstr ""
2740
 
 
 
 
 
2741
  #: class/transactions-list-table.php:44
2742
  msgid "Post ID"
2743
  msgstr ""
@@ -2767,11 +3072,11 @@ msgstr ""
2767
  msgid "Pending"
2768
  msgstr ""
2769
 
2770
- #: class/transactions-list-table.php:109
2771
  msgid "Accept"
2772
  msgstr ""
2773
 
2774
- #: class/transactions-list-table.php:110 class/transactions-list-table.php:173
2775
  msgid "Reject"
2776
  msgstr ""
2777
 
@@ -2779,10 +3084,30 @@ msgstr ""
2779
  msgid "No transactions found."
2780
  msgstr ""
2781
 
2782
- #: class/upload.php:165 wpuf-functions.php:729
2783
  msgid "Caption"
2784
  msgstr ""
2785
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2786
  #: includes/class-list-table-subscribers.php:30
2787
  msgid "No subscribers found"
2788
  msgstr ""
@@ -2816,11 +3141,21 @@ msgid "Completed"
2816
  msgstr ""
2817
 
2818
  #: includes/class-user-subscription.php:56
2819
- msgid "The user doesn't have an active subscription."
2820
  msgstr ""
2821
 
2822
  #: includes/class-user-subscription.php:61
2823
- msgid "The subscription has been expired."
 
 
 
 
 
 
 
 
 
 
2824
  msgstr ""
2825
 
2826
  #: includes/class-user-subscription.php:309
@@ -2828,14 +3163,37 @@ msgstr ""
2828
  msgid "Package & billing details: "
2829
  msgstr ""
2830
 
 
 
 
 
 
2831
  #: includes/class-user-subscription.php:333
2832
  #: templates/dashboard/subscription.php:24
2833
  msgid "Unlimited"
2834
  msgstr ""
2835
 
2836
- #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:46
2837
- #: includes/free/form-element.php:471
2838
- msgid "Conditional Logic"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2839
  msgstr ""
2840
 
2841
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:65
@@ -2847,16 +3205,6 @@ msgstr ""
2847
  msgid "Date / Time"
2848
  msgstr ""
2849
 
2850
- #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:97
2851
- #: includes/free/form-element.php:13
2852
- msgid "File Upload"
2853
- msgstr ""
2854
-
2855
- #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:113
2856
- #: includes/free/form-element.php:15
2857
- msgid "Country List"
2858
- msgstr ""
2859
-
2860
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:129
2861
  #: includes/free/form-element.php:16
2862
  msgid "Numeric Field"
@@ -2872,20 +3220,11 @@ msgstr ""
2872
  msgid "Step Start"
2873
  msgstr ""
2874
 
2875
- #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:179
2876
- msgid "Google Map"
2877
- msgstr ""
2878
-
2879
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:210
2880
  #: includes/free/form-element.php:32
2881
  msgid "Really Simple Captcha"
2882
  msgstr ""
2883
 
2884
- #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:225
2885
- #: includes/free/form-element.php:33
2886
- msgid "Action Hook"
2887
- msgstr ""
2888
-
2889
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:240
2890
  msgid "Term & Conditions"
2891
  msgstr ""
@@ -2919,12 +3258,12 @@ msgid " Add Form"
2919
  msgstr ""
2920
 
2921
  #: includes/free/class-login.php:208 includes/free/class-login.php:264
2922
- #: templates/login-form.php:37
2923
  msgid "Log In"
2924
  msgstr ""
2925
 
2926
  #: includes/free/class-login.php:212 includes/free/class-registration.php:124
2927
- #: includes/free/form-element.php:342 templates/registration-form.php:74
2928
  msgid "Register"
2929
  msgstr ""
2930
 
@@ -3091,10 +3430,6 @@ msgstr ""
3091
  msgid "Usernames cannot be changed."
3092
  msgstr ""
3093
 
3094
- #: includes/free/edit-profile.php:105
3095
- msgid "First Name"
3096
- msgstr ""
3097
-
3098
  #: includes/free/edit-profile.php:110
3099
  msgid "Last Name"
3100
  msgstr ""
@@ -3153,34 +3488,26 @@ msgstr ""
3153
  msgid "Password Strength"
3154
  msgstr ""
3155
 
3156
- #: includes/free/edit-profile.php:227 includes/free/form-element.php:343
3157
  msgid "Update Profile"
3158
  msgstr ""
3159
 
3160
- #: includes/free/edit-profile.php:246
3161
  msgid "WPUF Post Lock"
3162
  msgstr ""
3163
 
3164
- #: includes/free/edit-profile.php:249
3165
  msgid "Lock Post:"
3166
  msgstr ""
3167
 
3168
- #: includes/free/edit-profile.php:255
3169
  msgid "Lock user from creating new post."
3170
  msgstr ""
3171
 
3172
- #: includes/free/edit-profile.php:260
3173
  msgid "Lock Reason:"
3174
  msgstr ""
3175
 
3176
- #: includes/free/edit-profile.php:291
3177
- msgid "Post Count:"
3178
- msgstr ""
3179
-
3180
- #: includes/free/edit-profile.php:297
3181
- msgid "Validity:"
3182
- msgstr ""
3183
-
3184
  #: includes/free/edit-user.php:23
3185
  msgid "User doesn't exists"
3186
  msgstr ""
@@ -3193,6 +3520,10 @@ msgstr ""
3193
  msgid "User Deleted"
3194
  msgstr ""
3195
 
 
 
 
 
3196
  #: includes/free/edit-user.php:119 includes/free/edit-user.php:177
3197
  msgid "Add New User"
3198
  msgstr ""
@@ -3253,137 +3584,151 @@ msgstr ""
3253
  msgid "Term &amp; Conditions"
3254
  msgstr ""
3255
 
3256
- #: includes/free/form-element.php:122
 
 
 
 
3257
  msgid "Send Email to Author After Exceeding Post Expiration Time"
3258
  msgstr ""
3259
 
3260
- #: includes/free/form-element.php:147 includes/free/form-element.php:151
3261
  msgid "Enable Multistep"
3262
  msgstr ""
3263
 
3264
- #: includes/free/form-element.php:154
3265
  msgid "If checked, form will be displayed in frontend in multiple steps"
3266
  msgstr ""
3267
 
3268
- #: includes/free/form-element.php:158
 
 
 
 
3269
  msgid "Multistep Progressbar Type"
3270
  msgstr ""
3271
 
3272
- #: includes/free/form-element.php:168
3273
  msgid "Choose how you want the progressbar"
3274
  msgstr ""
3275
 
3276
- #: includes/free/form-element.php:198
3277
  msgid "New post created"
3278
  msgstr ""
3279
 
3280
- #: includes/free/form-element.php:203
3281
  msgid "A post has been edited"
3282
  msgstr ""
3283
 
3284
- #: includes/free/form-element.php:207
3285
- msgid "New Post Notificatoin"
3286
  msgstr ""
3287
 
3288
- #: includes/free/form-element.php:215 includes/free/form-element.php:252
3289
  msgid "Enable post notification"
3290
  msgstr ""
3291
 
3292
- #: includes/free/form-element.php:221 includes/free/form-element.php:258
 
 
 
 
3293
  msgid "To"
3294
  msgstr ""
3295
 
3296
- #: includes/free/form-element.php:228 includes/free/form-element.php:263
3297
  msgid "Subject"
3298
  msgstr ""
3299
 
3300
- #: includes/free/form-element.php:233 includes/free/form-element.php:268
3301
  msgid "Message"
3302
  msgstr ""
3303
 
3304
- #: includes/free/form-element.php:240
3305
- msgid "Update Post Notificatoin"
3306
  msgstr ""
3307
 
3308
- #: includes/free/form-element.php:276
3309
  msgid "You may use in to, subject & message:"
3310
  msgstr ""
3311
 
3312
- #: includes/free/form-element.php:300
3313
  msgid "Toggle All"
3314
  msgstr ""
3315
 
3316
- #: includes/free/form-element.php:304
3317
  msgid "Click on a form element to add to the editor"
3318
  msgstr ""
3319
 
3320
- #: includes/free/form-element.php:338
3321
  msgid "Registration successful"
3322
  msgstr ""
3323
 
3324
- #: includes/free/form-element.php:339
3325
  msgid "Profile updated successfully"
3326
  msgstr ""
3327
 
3328
- #: includes/free/form-element.php:351
3329
  msgid "Enable Email Verfication"
3330
  msgstr ""
3331
 
3332
- #: includes/free/form-element.php:359
3333
  msgid "New User Role"
3334
  msgstr ""
3335
 
3336
- #: includes/free/form-element.php:395
3337
  msgid "Registration success message"
3338
  msgstr ""
3339
 
3340
- #: includes/free/form-element.php:402
3341
  msgid "Update profile message"
3342
  msgstr ""
3343
 
3344
- #: includes/free/form-element.php:431
3345
  msgid "Submit Button text"
3346
  msgstr ""
3347
 
3348
- #: includes/free/form-element.php:438
3349
  msgid "Update Button text"
3350
  msgstr ""
3351
 
3352
- #: includes/free/loader.php:83 includes/free/loader.php:113
3353
  msgid "Coupons"
3354
  msgstr ""
3355
 
3356
- #: includes/free/loader.php:92
3357
  msgid ""
3358
- "Registration form builder is a two way form which can be used both for "
3359
- "<strong>user registration</strong> and <strong>profile editing</strong>."
3360
- msgstr ""
3361
-
3362
- #: includes/free/loader.php:96
3363
- msgid "Users can also register themselves by using a subscription pack."
3364
  msgstr ""
3365
 
3366
- #: includes/free/loader.php:100 includes/free/loader.php:121
3367
- msgid "This feature is only available in the Pro Version."
 
 
3368
  msgstr ""
3369
 
3370
- #: includes/free/loader.php:104 includes/free/loader.php:125
3371
  msgid "Upgrade to Pro Version"
3372
  msgstr ""
3373
 
3374
- #: includes/free/loader.php:105
3375
- msgid "Learn more about Registration"
3376
  msgstr ""
3377
 
3378
- #: includes/free/loader.php:117
3379
  msgid "Use Coupon codes for subscription for discounts."
3380
  msgstr ""
3381
 
3382
- #: includes/free/loader.php:126
 
 
 
 
3383
  msgid "Learn more about Coupons"
3384
  msgstr ""
3385
 
3386
- #: includes/free/loader.php:167
3387
  msgid "Upgrade to Pro"
3388
  msgstr ""
3389
 
@@ -3399,48 +3744,44 @@ msgstr ""
3399
  msgid "Enable Recurring Payment"
3400
  msgstr ""
3401
 
3402
- #: lib/class-wedevs-insights.php:282
3403
  msgid ""
3404
  "Want to help make <strong>%s</strong> even more awesome? Allow weDevs to "
3405
  "collect non-sensitive diagnostic data and usage information."
3406
  msgstr ""
3407
 
3408
- #: lib/class-wedevs-insights.php:287
3409
  msgid "what we collect"
3410
  msgstr ""
3411
 
3412
- #: lib/class-wedevs-insights.php:293
3413
  msgid "Allow"
3414
  msgstr ""
3415
 
3416
- #: lib/class-wedevs-insights.php:294
3417
  msgid "No thanks"
3418
  msgstr ""
3419
 
3420
- #: lib/class-wedevs-insights.php:471
3421
  msgid "Once Weekly"
3422
  msgstr ""
3423
 
3424
- #: lib/class-wedevs-insights.php:607
3425
  msgid "If you have a moment, please let us know why you are deactivating:"
3426
  msgstr ""
3427
 
3428
- #: lib/class-wedevs-insights.php:621
3429
  msgid "I rather wouldn't say"
3430
  msgstr ""
3431
 
3432
- #: lib/class-wedevs-insights.php:622
3433
  msgid "Submit & Deactivate"
3434
  msgstr ""
3435
 
3436
- #: lib/class-wedevs-insights.php:623
3437
  msgid "Canel"
3438
  msgstr ""
3439
 
3440
- #: lib/class-weforms-upsell.php:80 lib/class-weforms-upsell.php:81
3441
- msgid "Dismiss this notice."
3442
- msgstr ""
3443
-
3444
  #: lib/class-weforms-upsell.php:353
3445
  msgid "You don't have permission to install the plugins"
3446
  msgstr ""
@@ -3560,15 +3901,15 @@ msgstr ""
3560
  msgid "Pay Now"
3561
  msgstr ""
3562
 
3563
- #: templates/dashboard/posts.php:179 templates/dashboard.php:234
3564
  msgid "&laquo;"
3565
  msgstr ""
3566
 
3567
- #: templates/dashboard/posts.php:180 templates/dashboard.php:235
3568
  msgid "&raquo;"
3569
  msgstr ""
3570
 
3571
- #: templates/dashboard/posts.php:194 templates/dashboard.php:249
3572
  msgid "No %s found"
3573
  msgstr ""
3574
 
@@ -3584,6 +3925,14 @@ msgstr ""
3584
  msgid "Category"
3585
  msgstr ""
3586
 
 
 
 
 
 
 
 
 
3587
  #: templates/logged-in.php:8
3588
  msgid "Hello %s"
3589
  msgstr ""
@@ -3596,7 +3945,7 @@ msgstr ""
3596
  msgid "Password"
3597
  msgstr ""
3598
 
3599
- #: templates/login-form.php:33
3600
  msgid "Remember Me"
3601
  msgstr ""
3602
 
@@ -3656,255 +4005,263 @@ msgstr ""
3656
  msgid "-- select --"
3657
  msgstr ""
3658
 
3659
- #: wpuf-functions.php:406
3660
  msgid "Images"
3661
  msgstr ""
3662
 
3663
- #: wpuf-functions.php:407
3664
  msgid "Audio"
3665
  msgstr ""
3666
 
3667
- #: wpuf-functions.php:408
3668
  msgid "Videos"
3669
  msgstr ""
3670
 
3671
- #: wpuf-functions.php:409
3672
  msgid "PDF"
3673
  msgstr ""
3674
 
3675
- #: wpuf-functions.php:410
3676
  msgid "Office Documents"
3677
  msgstr ""
3678
 
3679
- #: wpuf-functions.php:411
3680
  msgid "Zip Archives"
3681
  msgstr ""
3682
 
3683
- #: wpuf-functions.php:412
3684
  msgid "Executable Files"
3685
  msgstr ""
3686
 
3687
- #: wpuf-functions.php:413
3688
  msgid "CSV"
3689
  msgstr ""
3690
 
3691
- #: wpuf-functions.php:1419
3692
- msgid "Posts"
3693
- msgstr ""
3694
-
3695
- #: wpuf-functions.php:1420
3696
  msgid "Edit Profile"
3697
  msgstr ""
3698
 
3699
- #: wpuf-functions.php:1525
3700
  msgid "United Arab Emirates Dirham"
3701
  msgstr ""
3702
 
3703
- #: wpuf-functions.php:1526
3704
  msgid "Australian Dollars"
3705
  msgstr ""
3706
 
3707
- #: wpuf-functions.php:1527
3708
  msgid "Argentine Peso"
3709
  msgstr ""
3710
 
3711
- #: wpuf-functions.php:1528
3712
  msgid "Bangladeshi Taka"
3713
  msgstr ""
3714
 
3715
- #: wpuf-functions.php:1529
3716
  msgid "Brazilian Real"
3717
  msgstr ""
3718
 
3719
- #: wpuf-functions.php:1530
3720
  msgid "Bulgarian Lev"
3721
  msgstr ""
3722
 
3723
- #: wpuf-functions.php:1531
3724
  msgid "Canadian Dollars"
3725
  msgstr ""
3726
 
3727
- #: wpuf-functions.php:1532
3728
  msgid "Chilean Peso"
3729
  msgstr ""
3730
 
3731
- #: wpuf-functions.php:1533
3732
  msgid "Chinese Yuan"
3733
  msgstr ""
3734
 
3735
- #: wpuf-functions.php:1534
3736
  msgid "Colombian Peso"
3737
  msgstr ""
3738
 
3739
- #: wpuf-functions.php:1535
3740
  msgid "Czech Koruna"
3741
  msgstr ""
3742
 
3743
- #: wpuf-functions.php:1536
3744
  msgid "Danish Krone"
3745
  msgstr ""
3746
 
3747
- #: wpuf-functions.php:1537
3748
  msgid "Dominican Peso"
3749
  msgstr ""
3750
 
3751
- #: wpuf-functions.php:1538
3752
  msgid "Algerian Dinar"
3753
  msgstr ""
3754
 
3755
- #: wpuf-functions.php:1539
3756
  msgid "Euros"
3757
  msgstr ""
3758
 
3759
- #: wpuf-functions.php:1540
3760
  msgid "Hong Kong Dollar"
3761
  msgstr ""
3762
 
3763
- #: wpuf-functions.php:1541
3764
  msgid "Croatia kuna"
3765
  msgstr ""
3766
 
3767
- #: wpuf-functions.php:1542
3768
  msgid "Hungarian Forint"
3769
  msgstr ""
3770
 
3771
- #: wpuf-functions.php:1543
3772
  msgid "Icelandic krona"
3773
  msgstr ""
3774
 
3775
- #: wpuf-functions.php:1544
3776
  msgid "Indonesia Rupiah"
3777
  msgstr ""
3778
 
3779
- #: wpuf-functions.php:1545
3780
  msgid "Indian Rupee"
3781
  msgstr ""
3782
 
3783
- #: wpuf-functions.php:1546
3784
  msgid "Nepali Rupee"
3785
  msgstr ""
3786
 
3787
- #: wpuf-functions.php:1547
3788
  msgid "Israeli Shekel"
3789
  msgstr ""
3790
 
3791
- #: wpuf-functions.php:1548
3792
  msgid "Japanese Yen"
3793
  msgstr ""
3794
 
3795
- #: wpuf-functions.php:1549
3796
  msgid "Lao Kip"
3797
  msgstr ""
3798
 
3799
- #: wpuf-functions.php:1550
3800
  msgid "South Korean Won"
3801
  msgstr ""
3802
 
3803
- #: wpuf-functions.php:1551
3804
  msgid "Malaysian Ringgits"
3805
  msgstr ""
3806
 
3807
- #: wpuf-functions.php:1552
3808
  msgid "Mexican Peso"
3809
  msgstr ""
3810
 
3811
- #: wpuf-functions.php:1553
3812
  msgid "Nigerian Naira"
3813
  msgstr ""
3814
 
3815
- #: wpuf-functions.php:1554
3816
  msgid "Norwegian Krone"
3817
  msgstr ""
3818
 
3819
- #: wpuf-functions.php:1555
3820
  msgid "New Zealand Dollar"
3821
  msgstr ""
3822
 
3823
- #: wpuf-functions.php:1556
3824
  msgid "Omani Rial"
3825
  msgstr ""
3826
 
3827
- #: wpuf-functions.php:1557
3828
  msgid "Iranian Rial"
3829
  msgstr ""
3830
 
3831
- #: wpuf-functions.php:1558
3832
  msgid "Pakistani Rupee"
3833
  msgstr ""
3834
 
3835
- #: wpuf-functions.php:1559
3836
  msgid "Paraguayan Guaraní"
3837
  msgstr ""
3838
 
3839
- #: wpuf-functions.php:1560
3840
  msgid "Philippine Pesos"
3841
  msgstr ""
3842
 
3843
- #: wpuf-functions.php:1561
3844
  msgid "Polish Zloty"
3845
  msgstr ""
3846
 
3847
- #: wpuf-functions.php:1562
3848
  msgid "Pounds Sterling"
3849
  msgstr ""
3850
 
3851
- #: wpuf-functions.php:1563
3852
  msgid "Romanian Leu"
3853
  msgstr ""
3854
 
3855
- #: wpuf-functions.php:1564
3856
  msgid "Russian Ruble"
3857
  msgstr ""
3858
 
3859
- #: wpuf-functions.php:1565
3860
  msgid "Saudi Riyal"
3861
  msgstr ""
3862
 
3863
- #: wpuf-functions.php:1566
3864
  msgid "Singapore Dollar"
3865
  msgstr ""
3866
 
3867
- #: wpuf-functions.php:1567
3868
  msgid "South African rand"
3869
  msgstr ""
3870
 
3871
- #: wpuf-functions.php:1568
3872
  msgid "Swedish Krona"
3873
  msgstr ""
3874
 
3875
- #: wpuf-functions.php:1569
3876
  msgid "Swiss Franc"
3877
  msgstr ""
3878
 
3879
- #: wpuf-functions.php:1570
3880
  msgid "Taiwan New Dollars"
3881
  msgstr ""
3882
 
3883
- #: wpuf-functions.php:1571
3884
  msgid "Thai Baht"
3885
  msgstr ""
3886
 
3887
- #: wpuf-functions.php:1572
3888
  msgid "Turkish Lira"
3889
  msgstr ""
3890
 
3891
- #: wpuf-functions.php:1573
3892
  msgid "US Dollar"
3893
  msgstr ""
3894
 
3895
- #: wpuf-functions.php:1574
3896
  msgid "Vietnamese Dong"
3897
  msgstr ""
3898
 
3899
- #: wpuf-functions.php:1575
3900
  msgid "Egyptian Pound"
3901
  msgstr ""
3902
 
3903
- #: wpuf.php:139
 
 
 
 
 
 
 
 
 
 
 
 
3904
  msgid "Your Post Has Been Expired"
3905
  msgstr ""
3906
 
3907
- #: wpuf.php:562
3908
  msgid "Error: Nonce verification failed"
3909
  msgstr ""
3910
 
@@ -3926,7 +4283,7 @@ msgstr ""
3926
  msgid "https://tareq.co"
3927
  msgstr ""
3928
 
3929
- #: wpuf-functions.php:1037
3930
  msgctxt "tag delimiter"
3931
  msgid ","
3932
  msgstr ""
2
  # This file is distributed under the GPL2 or later.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP User Frontend 2.7.0\n"
6
+ "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
7
+ "POT-Creation-Date: 2017-12-12 10:43:39+00:00\n"
 
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
  "X-Generator: grunt-wp-i18n 0.5.4\n"
15
+ "X-Poedit-KeywordsList: "
16
+ "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
17
+ "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
18
+ "Language: en\n"
19
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
+ "X-Poedit-Country: United States\n"
21
+ "X-Poedit-SourceCharset: UTF-8\n"
22
+ "X-Poedit-Basepath: ../\n"
23
+ "X-Poedit-SearchPath-0: .\n"
24
+ "X-Poedit-Bookmarks: \n"
25
+ "X-Textdomain-Support: yes\n"
26
 
27
  #. Plugin Name of the plugin/theme
28
  msgid "WP User Frontend"
53
  msgid "Transactions"
54
  msgstr ""
55
 
56
+ #: admin/class-admin-settings.php:106 admin/tools.php:13
57
+ msgid "Tools"
58
  msgstr ""
59
 
60
+ #: admin/class-admin-settings.php:111
61
+ msgid "Premium"
62
  msgstr ""
63
 
64
+ #: admin/class-admin-settings.php:113
65
  msgid "Help"
66
  msgstr ""
67
 
68
+ #: admin/class-admin-settings.php:113
69
  msgid "<span style=\"color:#f18500\">Help</span>"
70
  msgstr ""
71
 
72
+ #: admin/class-admin-settings.php:114 admin/class-admin-settings.php:151
73
  #: admin/form-builder/views/form-builder.php:9
74
  msgid "Settings"
75
  msgstr ""
76
 
77
+ #: admin/class-admin-settings.php:116 admin/class-admin-subscription.php:185
78
  #: admin/subscribers.php:18
79
  msgid "Subscribers"
80
  msgstr ""
81
 
82
+ #: admin/class-admin-settings.php:372
83
  msgid "Number of items per page:"
84
  msgstr ""
85
 
86
+ #: admin/class-admin-subscription.php:60
87
+ msgid "Pack Description"
88
+ msgstr ""
89
+
90
+ #: admin/class-admin-subscription.php:73 admin/class-admin-subscription.php:76
91
  msgid "Subscription pack updated."
92
  msgstr ""
93
 
94
+ #: admin/class-admin-subscription.php:74
95
  msgid "Custom field updated."
96
  msgstr ""
97
 
98
+ #: admin/class-admin-subscription.php:75
99
  msgid "Custom field deleted."
100
  msgstr ""
101
 
102
+ #: admin/class-admin-subscription.php:77
103
  msgid "Subscription pack restored to revision from %s"
104
  msgstr ""
105
 
106
+ #: admin/class-admin-subscription.php:78
107
  msgid "Subscription pack published."
108
  msgstr ""
109
 
110
+ #: admin/class-admin-subscription.php:79
111
  msgid "Subscription pack saved."
112
  msgstr ""
113
 
114
+ #: admin/class-admin-subscription.php:80
115
  msgid "Subscription pack submitted."
116
  msgstr ""
117
 
118
+ #: admin/class-admin-subscription.php:82
119
  msgid "Subscription pack draft updated."
120
  msgstr ""
121
 
122
+ #: admin/class-admin-subscription.php:183 class/subscription.php:297
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  msgid "Pack Name"
124
  msgstr ""
125
 
126
+ #: admin/class-admin-subscription.php:184
127
  msgid "Amount"
128
  msgstr ""
129
 
130
+ #: admin/class-admin-subscription.php:186 includes/free/subscription.php:8
131
  msgid "Recurring"
132
  msgstr ""
133
 
134
+ #: admin/class-admin-subscription.php:187
135
  msgid "Duration"
136
  msgstr ""
137
 
138
+ #: admin/class-admin-subscription.php:206
139
+ #: admin/class-admin-subscription.php:560 class/frontend-account.php:134
140
+ #: class/subscription.php:843 class/subscription.php:856
141
+ #: includes/class-user-subscription.php:294
142
+ msgid "Free"
 
 
 
143
  msgstr ""
144
 
145
+ #: admin/class-admin-subscription.php:224
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/post-forms-list-table.php:345 admin/settings-options.php:88
151
+ #: admin/settings-options.php:180 admin/settings-options.php:191
152
+ #: admin/settings-options.php:250 admin/settings-options.php:261
153
+ #: admin/settings-options.php:272 admin/template.php:70
154
+ #: includes/free/form-element.php:477
155
+ msgid "Yes"
156
  msgstr ""
157
 
158
+ #: admin/class-admin-subscription.php:226
159
+ #: admin/form-builder/class-wpuf-form-builder-field-settings.php:67
160
+ #: admin/form-builder/class-wpuf-form-builder-field-settings.php:141
161
+ #: admin/form-builder/class-wpuf-form-builder-field-settings.php:527
162
+ #: admin/form-builder/class-wpuf-form-builder-field-settings.php:585
163
+ #: admin/post-forms-list-table.php:346 admin/settings-options.php:89
164
+ #: admin/settings-options.php:181 admin/settings-options.php:192
165
+ #: admin/settings-options.php:251 admin/settings-options.php:262
166
+ #: admin/settings-options.php:273 admin/template.php:71
167
+ #: includes/free/form-element.php:478
168
+ msgid "No"
169
  msgstr ""
170
 
171
+ #: admin/class-admin-subscription.php:315 admin/form.php:229
172
+ msgid "Payment Settings"
173
  msgstr ""
174
 
175
+ #: admin/class-admin-subscription.php:322
176
+ msgid "Posting Restriction"
177
  msgstr ""
178
 
179
+ #: admin/class-admin-subscription.php:336
180
+ msgid "Billing amount:"
181
  msgstr ""
182
 
183
+ #: admin/class-admin-subscription.php:337
184
+ msgid "Billing amount each cycle:"
 
 
 
 
185
  msgstr ""
186
 
187
+ #: admin/class-admin-subscription.php:345
188
+ msgid "Expires In:"
189
  msgstr ""
190
 
191
+ #: admin/class-admin-subscription.php:369 admin/form.php:231
192
+ #: includes/free/form-element.php:56
193
+ msgid "Post Expiration"
 
 
194
  msgstr ""
195
 
196
+ #: admin/class-admin-subscription.php:374 includes/free/form-element.php:60
197
+ msgid "Enable Post Expiration"
198
  msgstr ""
199
 
200
+ #: admin/class-admin-subscription.php:386
201
+ #: admin/class-admin-subscription.php:664 includes/free/form-element.php:66
202
+ msgid "Post Expiration Time"
203
  msgstr ""
204
 
205
+ #: admin/class-admin-subscription.php:411 admin/html/form-settings-post.php:64
206
+ #: admin/post-forms-list-table.php:298
207
+ msgid "Post Status"
208
  msgstr ""
209
 
210
+ #: admin/class-admin-subscription.php:425 includes/free/form-element.php:112
211
+ msgid "Status of post after post expiration time is over "
212
  msgstr ""
213
 
214
+ #: admin/class-admin-subscription.php:430
215
+ msgid "Expiration Mail"
216
  msgstr ""
217
 
218
+ #: admin/class-admin-subscription.php:435
219
+ msgid "Send Expiration Email to Post Author"
220
  msgstr ""
221
 
222
+ #: admin/class-admin-subscription.php:439
223
+ msgid "Send Mail to Author After Exceeding Post Expiration Time"
 
224
  msgstr ""
225
 
226
+ #: admin/class-admin-subscription.php:444
227
+ msgid "Expiration Message"
228
  msgstr ""
229
 
230
+ #: admin/class-admin-subscription.php:507
231
  msgid "Day(s)"
232
  msgstr ""
233
 
234
+ #: admin/class-admin-subscription.php:508
235
  msgid "Week(s)"
236
  msgstr ""
237
 
238
+ #: admin/class-admin-subscription.php:509
239
  msgid "Month(s)"
240
  msgstr ""
241
 
242
+ #: admin/class-admin-subscription.php:510
243
  msgid "Year(s)"
244
  msgstr ""
245
 
246
+ #: admin/class-admin-subscription.php:551
247
+ msgid "WPUF Subscription Information"
248
  msgstr ""
249
 
250
+ #: admin/class-admin-subscription.php:577
251
+ msgid "Subcription Name"
 
 
252
  msgstr ""
253
 
254
+ #: admin/class-admin-subscription.php:587
255
+ msgid "Billing Info"
256
  msgstr ""
257
 
258
+ #: admin/class-admin-subscription.php:601
259
+ msgid "This user is using recurring subscription pack"
 
 
260
  msgstr ""
261
 
262
+ #: admin/class-admin-subscription.php:607
263
+ msgid "Remaining Posting Count"
264
  msgstr ""
265
 
266
+ #: admin/class-admin-subscription.php:628
267
+ msgid "Subscription Expiration Info"
 
 
268
  msgstr ""
269
 
270
+ #: admin/class-admin-subscription.php:639
271
  #: includes/class-user-subscription.php:348
272
  #: templates/dashboard/subscription.php:41
273
  msgid "Expire date:"
274
  msgstr ""
275
 
276
+ #: admin/class-admin-subscription.php:653
277
  msgid "Post Expiration Enabled"
278
  msgstr ""
279
 
280
+ #: admin/class-admin-subscription.php:690
281
+ msgid "Allowed Taxonomy Terms"
282
+ msgstr ""
283
+
284
+ #: admin/class-admin-subscription.php:745
285
  msgid "Assign Package"
286
  msgstr ""
287
 
288
+ #: admin/class-admin-subscription.php:746
289
+ #: admin/form-builder/class-wpuf-admin-form-builder.php:325
290
+ #: class/payment.php:168 class/subscription.php:770
291
+ #: includes/class-list-table-subscribers.php:156
292
+ #: templates/dashboard/subscription.php:62
293
+ msgid "Cancel"
294
  msgstr ""
295
 
296
+ #: admin/class-admin-subscription.php:752
297
+ msgid "Select Package:"
298
  msgstr ""
299
 
300
+ #: admin/class-admin-subscription.php:755
301
+ msgid "&mdash; Select &mdash;"
302
  msgstr ""
303
 
304
+ #: admin/class-admin-subscription.php:765
305
  msgid "Delete Package"
306
  msgstr ""
307
 
308
+ #: admin/class-admin-subscription.php:814
309
  msgid "Learn more about <a href=\"%s\" target=\"_blank\">Subscription</a>"
310
  msgstr ""
311
 
442
  msgstr ""
443
 
444
  #: admin/form-builder/assets/js/components/builder-stage/template.php:3
 
445
  msgid "Add fields by dragging the fields from the right sidebar to this area."
446
  msgstr ""
447
 
448
  #: admin/form-builder/assets/js/components/builder-stage/template.php:29
 
449
  msgid "is available in Pro Version"
450
  msgstr ""
451
 
452
  #: admin/form-builder/assets/js/components/builder-stage/template.php:53
 
453
  msgid "Hidden Fields"
454
  msgstr ""
455
 
456
  #: admin/form-builder/assets/js/components/builder-stage/template.php:60
 
457
  msgid "key"
458
  msgstr ""
459
 
460
  #: admin/form-builder/assets/js/components/builder-stage/template.php:60
 
461
  msgid "value"
462
  msgstr ""
463
 
464
  #: admin/form-builder/assets/js/components/field-option-data/template.php:5
465
+ #: admin/template.php:244
466
  msgid "Show values"
467
  msgstr ""
468
 
469
  #: admin/form-builder/assets/js/components/field-option-data/template.php:16
470
  #: admin/template.php:247 admin/template.php:305
 
471
  msgid "Label"
472
  msgstr ""
473
 
474
  #: admin/form-builder/assets/js/components/field-option-data/template.php:20
475
  #: admin/template.php:247 admin/template.php:305
 
476
  msgid "Value"
477
  msgstr ""
478
 
479
  #: admin/form-builder/assets/js/components/field-option-data/template.php:68
 
480
  msgid "Clear Selection"
481
  msgstr ""
482
 
483
  #: admin/form-builder/assets/js/components/field-option-pro-feature-alert/template.php:4
 
484
  msgid "Available in Pro Version"
485
  msgstr ""
486
 
487
  #: admin/form-builder/assets/js/components/field-select/template.php:7
 
488
  msgid "Select an option"
489
  msgstr ""
490
 
491
  #: admin/form-builder/assets/js/components/field-visibility/template.php:53
 
492
  msgid "No subscription plan found."
493
  msgstr ""
494
 
495
  #: admin/form-builder/assets/js/components/form-featured_image/template.php:5
496
  #: admin/form-builder/assets/js/components/form-image_upload/template.php:5
497
+ #: class/render-form.php:1572
 
498
  msgid "Select Image"
499
  msgstr ""
500
 
501
  #: admin/form-builder/assets/js/components/form-post_content/template.php:4
502
+ #: class/render-form.php:985
503
  msgid "Insert Photo"
504
  msgstr ""
505
 
506
  #: admin/form-builder/assets/js/components/form-taxonomy/template.php:12
 
507
  msgid "— Select —"
508
  msgstr ""
509
 
543
  msgid "OK"
544
  msgstr ""
545
 
 
 
 
 
 
 
 
546
  #: admin/form-builder/class-wpuf-admin-form-builder.php:326
547
  #: includes/free/admin/shortcode-builder.php:69
548
  msgid "Close"
868
  msgstr ""
869
 
870
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:682
871
+ #: admin/html/form-settings-post.php:18 admin/html/support.php:224
872
+ #: class/transactions-list-table.php:48 includes/free/edit-user.php:152
873
+ #: templates/registration-form.php:44
874
  msgid "Email"
875
  msgstr ""
876
 
918
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:902
919
  #: admin/template.php:544 admin/template.php:604 admin/template.php:683
920
  #: class/upload.php:164 templates/dashboard/posts.php:75
921
+ #: templates/dashboard.php:73 wpuf-functions.php:730
922
  msgid "Title"
923
  msgstr ""
924
 
927
  msgid "Title of the section"
928
  msgstr ""
929
 
930
+ #: admin/form-builder/class-wpuf-form-builder-field-settings.php:825
931
+ #: admin/template.php:609 class/upload.php:166 wpuf-functions.php:736
932
+ msgid "Description"
933
+ msgstr ""
934
+
935
  #: admin/form-builder/class-wpuf-form-builder-field-settings.php:829
936
  msgid "Some details text about the section"
937
  msgstr ""
1074
  msgid "Add New Form"
1075
  msgstr ""
1076
 
1077
+ #: admin/form.php:74 admin/form.php:112 admin/installer.php:75
1078
+ #: admin/post-forms-list-table.php:392 class/subscription.php:381
1079
+ #: includes/free/admin/shortcode-button.php:90 includes/free/edit-user.php:99
1080
+ #: templates/dashboard/posts.php:151 templates/dashboard.php:212
1081
+ msgid "Edit"
1082
+ msgstr ""
1083
+
1084
  #: admin/form.php:75 admin/form.php:113
1085
  msgid "Edit Form"
1086
  msgstr ""
1117
  msgid "Registration Forms"
1118
  msgstr ""
1119
 
1120
+ #: admin/form.php:194 includes/free/form-element.php:212
1121
+ #: includes/free/form-element.php:250
1122
  msgid "Notification"
1123
  msgstr ""
1124
 
1130
  msgid "Edit Settings"
1131
  msgstr ""
1132
 
 
 
 
 
1133
  #: admin/form.php:230
1134
  msgid "Display Settings"
1135
  msgstr ""
1136
 
 
 
 
 
1137
  #: admin/form.php:289 admin/form.php:293
1138
  msgid "- Select -"
1139
  msgstr ""
1196
  msgid "Order By"
1197
  msgstr ""
1198
 
1199
+ #: admin/form.php:781 admin/html/form-settings-post.php:17
1200
+ #: admin/template-post.php:167 includes/free/edit-profile.php:97
1201
+ #: templates/registration-form.php:27
1202
+ msgid "Name"
1203
+ msgstr ""
1204
+
1205
  #: admin/form.php:782 admin/template-post.php:168
1206
  msgid "Term ID"
1207
  msgstr ""
1333
  msgstr ""
1334
 
1335
  #: admin/html/form-settings-payment.php:66
1336
+ msgid "Pay Per Post"
1337
  msgstr ""
1338
 
1339
  #: admin/html/form-settings-payment.php:71
1340
+ msgid "Enable Pay Per Post"
1341
  msgstr ""
1342
 
1343
  #: admin/html/form-settings-payment.php:73
1344
+ msgid "Charge users for posting,"
1345
+ msgstr ""
1346
+
1347
+ #: admin/html/form-settings-payment.php:73
1348
+ msgid " Learn More about Pay Per Post."
1349
  msgstr ""
1350
 
1351
  #: admin/html/form-settings-payment.php:78
1374
  msgstr ""
1375
 
1376
  #: admin/html/form-settings-post-edit.php:30
1377
+ #: admin/html/form-settings-post.php:176 includes/free/form-element.php:376
1378
  msgid "Redirect To"
1379
  msgstr ""
1380
 
1381
  #: admin/html/form-settings-post-edit.php:35
1382
+ #: admin/html/form-settings-post.php:181
1383
  msgid "Newly created post"
1384
  msgstr ""
1385
 
1386
  #: admin/html/form-settings-post-edit.php:36
1387
+ #: admin/html/form-settings-post.php:182 includes/free/form-element.php:381
1388
  msgid "Same Page"
1389
  msgstr ""
1390
 
1391
  #: admin/html/form-settings-post-edit.php:37
1392
+ #: admin/html/form-settings-post.php:183 includes/free/form-element.php:382
1393
  msgid "To a page"
1394
  msgstr ""
1395
 
1396
  #: admin/html/form-settings-post-edit.php:38
1397
+ #: admin/html/form-settings-post.php:184 includes/free/form-element.php:383
1398
  msgid "To a custom URL"
1399
  msgstr ""
1400
 
1401
  #: admin/html/form-settings-post-edit.php:47
1402
+ #: admin/html/form-settings-post.php:193 includes/free/form-element.php:392
1403
  msgid "After successfull submit, where the page will redirect to"
1404
  msgstr ""
1405
 
1408
  msgstr ""
1409
 
1410
  #: admin/html/form-settings-post-edit.php:60
1411
+ #: admin/html/form-settings-post.php:206 includes/free/form-element.php:412
1412
  msgid "Page"
1413
  msgstr ""
1414
 
1415
  #: admin/html/form-settings-post-edit.php:75
1416
+ #: admin/html/form-settings-post.php:221 includes/free/form-element.php:427
1417
  msgid "Custom URL"
1418
  msgstr ""
1419
 
1445
  msgid "Post Type"
1446
  msgstr ""
1447
 
1448
+ #: admin/html/form-settings-post.php:59
1449
+ msgid "Custom Post Type will appear here. "
1450
  msgstr ""
1451
 
1452
+ #: admin/html/form-settings-post.php:59
1453
+ msgid "Learn More "
1454
+ msgstr ""
1455
+
1456
+ #: admin/html/form-settings-post.php:78
1457
  msgid "Post Format"
1458
  msgstr ""
1459
 
1460
+ #: admin/html/form-settings-post.php:81 admin/html/form-settings-post.php:104
1461
  msgid "- None -"
1462
  msgstr ""
1463
 
1464
+ #: admin/html/form-settings-post.php:96
1465
  msgid "Default Post Category"
1466
  msgstr ""
1467
 
1468
+ #: admin/html/form-settings-post.php:108
1469
  msgid ""
1470
  "If users are not allowed to choose any category, this category will be used "
1471
  "instead (if post type supports)"
1472
  msgstr ""
1473
 
1474
+ #: admin/html/form-settings-post.php:113 admin/post-forms-list-table.php:299
1475
  msgid "Guest Post"
1476
  msgstr ""
1477
 
1478
+ #: admin/html/form-settings-post.php:118
1479
  msgid "Enable Guest Post"
1480
  msgstr ""
1481
 
1482
+ #: admin/html/form-settings-post.php:120
1483
  msgid "Unregistered users will be able to submit posts"
1484
  msgstr ""
1485
 
1486
+ #: admin/html/form-settings-post.php:120
1487
  msgid "Learn more about guest posting."
1488
  msgstr ""
1489
 
1490
+ #: admin/html/form-settings-post.php:125
1491
  msgid "User Details"
1492
  msgstr ""
1493
 
1494
+ #: admin/html/form-settings-post.php:130
1495
  msgid "Require Name and Email address"
1496
  msgstr ""
1497
 
1498
+ #: admin/html/form-settings-post.php:132
1499
  msgid ""
1500
  "If requires, users will be automatically registered to the site using the "
1501
  "name and email address"
1502
  msgstr ""
1503
 
1504
+ #: admin/html/form-settings-post.php:137
1505
  msgid "Email Verification"
1506
  msgstr ""
1507
 
1508
+ #: admin/html/form-settings-post.php:141
1509
  msgid "Require Email Verification for Guests"
1510
  msgstr ""
1511
 
1512
+ #: admin/html/form-settings-post.php:143
1513
  msgid "If requires, users will be required to verify their email adress."
1514
  msgstr ""
1515
 
1516
+ #: admin/html/form-settings-post.php:148
1517
  msgid "Name Label"
1518
  msgstr ""
1519
 
1520
+ #: admin/html/form-settings-post.php:153
1521
  msgid "Label text for name field"
1522
  msgstr ""
1523
 
1524
+ #: admin/html/form-settings-post.php:158
1525
  msgid "E-Mail Label"
1526
  msgstr ""
1527
 
1528
+ #: admin/html/form-settings-post.php:163
1529
  msgid "Label text for email field"
1530
  msgstr ""
1531
 
1532
+ #: admin/html/form-settings-post.php:168 admin/settings-options.php:237
1533
  msgid "Unauthorized Message"
1534
  msgstr ""
1535
 
1536
+ #: admin/html/form-settings-post.php:171 admin/settings-options.php:238
1537
  msgid "Not logged in users will see this message"
1538
  msgstr ""
1539
 
1540
+ #: admin/html/form-settings-post.php:199
1541
  msgid "Message to show"
1542
  msgstr ""
1543
 
1544
+ #: admin/html/form-settings-post.php:228
1545
  msgid "Comment Status"
1546
  msgstr ""
1547
 
1548
+ #: admin/html/form-settings-post.php:231
1549
  msgid "Open"
1550
  msgstr ""
1551
 
1552
+ #: admin/html/form-settings-post.php:232
1553
  msgid "Closed"
1554
  msgstr ""
1555
 
1556
+ #: admin/html/form-settings-post.php:238
1557
  msgid "Submit Post Button text"
1558
  msgstr ""
1559
 
1560
+ #: admin/html/form-settings-post.php:245
1561
  msgid "Post Draft"
1562
  msgstr ""
1563
 
1564
+ #: admin/html/form-settings-post.php:250
1565
  msgid "Enable Saving as draft"
1566
  msgstr ""
1567
 
1568
+ #: admin/html/form-settings-post.php:252
1569
  msgid "It will show a button to save as draft"
1570
  msgstr ""
1571
 
1597
  msgid "This integration is not installed."
1598
  msgstr ""
1599
 
1600
+ #: admin/html/support.php:187
1601
  msgid "Related Articles:"
1602
  msgstr ""
1603
 
1604
+ #: admin/html/support.php:206
1605
  msgid "General Help Questions"
1606
  msgstr ""
1607
 
1608
+ #: admin/html/support.php:206
1609
  msgid "View all Documentations"
1610
  msgstr ""
1611
 
1612
+ #: admin/html/support.php:211
1613
+ msgid "Subscribe to Our Newsletter"
1614
+ msgstr ""
1615
+
1616
  #: admin/html/support.php:213
1617
+ msgid ""
1618
+ "Subscribe to our newsletter for regular <strong>tips</strong>, "
1619
+ "<strong>offers</strong> and <strong>news updates</strong>."
1620
+ msgstr ""
1621
+
1622
+ #: admin/html/support.php:219 includes/free/edit-profile.php:105
1623
+ msgid "First Name"
1624
+ msgstr ""
1625
+
1626
+ #: admin/html/support.php:230
1627
+ msgid "Subscribe"
1628
+ msgstr ""
1629
+
1630
+ #: admin/html/support.php:241
1631
  msgid "Plugin Setup"
1632
  msgstr ""
1633
 
1634
+ #: admin/html/support.php:247 admin/settings-options.php:18
1635
  msgid "Frontend Posting"
1636
  msgstr ""
1637
 
1638
+ #: admin/html/support.php:253
1639
  msgid "Frontend Dashboard"
1640
  msgstr ""
1641
 
1642
+ #: admin/html/support.php:259
1643
  msgid "User Registration"
1644
  msgstr ""
1645
 
1646
+ #: admin/html/support.php:265
1647
  msgid "User Login"
1648
  msgstr ""
1649
 
1650
+ #: admin/html/support.php:271
1651
  msgid "Profile Editing"
1652
  msgstr ""
1653
 
1654
+ #: admin/html/support.php:277
1655
  msgid "Subscription &amp; Payment"
1656
  msgstr ""
1657
 
1658
+ #: admin/html/support.php:283
1659
  msgid "Content Restriction"
1660
  msgstr ""
1661
 
1662
+ #: admin/html/support.php:305
1663
  msgid "Learn More About Installation"
1664
  msgstr ""
1665
 
1666
+ #: admin/html/support.php:316
1667
  msgid "Learn More About Frontend Posting"
1668
  msgstr ""
1669
 
1670
+ #: admin/html/support.php:326
1671
  msgid "Learn More About Frontend Dashboard"
1672
  msgstr ""
1673
 
1674
+ #: admin/html/support.php:356
1675
  msgid "Learn More About Registration"
1676
  msgstr ""
1677
 
1678
+ #: admin/html/support.php:372
1679
  msgid "Learn More About Login"
1680
  msgstr ""
1681
 
1682
+ #: admin/html/support.php:389
1683
  msgid "Learn More About Profile Editing"
1684
  msgstr ""
1685
 
1686
+ #: admin/html/support.php:442
1687
  msgid "Learn More About Payments"
1688
  msgstr ""
1689
 
1690
+ #: admin/html/support.php:459
1691
  msgid "Learn More About Content Restriction"
1692
  msgstr ""
1693
 
1694
+ #: admin/html/support.php:468 admin/html/support.php:470
1695
  msgid "Like The Plugin?"
1696
  msgstr ""
1697
 
1698
+ #: admin/html/support.php:472
1699
  msgid "Your Review is very important to us as it helps us to grow more."
1700
  msgstr ""
1701
 
1702
+ #: admin/html/support.php:474
1703
  msgid "Review Us on WP.org"
1704
  msgstr ""
1705
 
1706
+ #: admin/html/support.php:478 admin/html/support.php:480
1707
  msgid "Found Any Bugs?"
1708
  msgstr ""
1709
 
1710
+ #: admin/html/support.php:482
1711
  msgid "Report any Bug that you Discovered, Get Instant Solutions."
1712
  msgstr ""
1713
 
1714
+ #: admin/html/support.php:484
1715
  msgid "Report to GitHub"
1716
  msgstr ""
1717
 
1718
+ #: admin/html/support.php:488 admin/html/support.php:490
1719
  msgid "Need Any Assistance?"
1720
  msgstr ""
1721
 
1722
+ #: admin/html/support.php:492
1723
  msgid "Our EXPERT Support Team is always ready to Help you out."
1724
  msgstr ""
1725
 
1726
+ #: admin/html/support.php:494
1727
  msgid "Contact Support"
1728
  msgstr ""
1729
 
1730
+ #: admin/html/whats-new.php:48
1731
+ msgid "What's New in WPUF?"
1732
+ msgstr ""
1733
+
1734
  #: admin/installer.php:27
1735
  msgid ""
1736
  "If you have not created <strong>WP User Frontend</strong> pages yet, you "
1751
  "and saved!"
1752
  msgstr ""
1753
 
1754
+ #: admin/installer.php:73 admin/settings-options.php:23
1755
+ #: includes/free/admin/shortcode-button.php:82 wpuf-functions.php:1422
1756
  msgid "Dashboard"
1757
  msgstr ""
1758
 
1764
  msgid "Login"
1765
  msgstr ""
1766
 
1767
+ #: admin/installer.php:83 class/subscription.php:356 class/subscription.php:376
1768
+ #: class/subscription.php:377 class/subscription.php:378
1769
+ #: includes/free/admin/shortcode-button.php:102 wpuf-functions.php:1425
1770
  msgid "Subscription"
1771
  msgstr ""
1772
 
1847
  msgid "Form Name"
1848
  msgstr ""
1849
 
1850
+ #: admin/post-forms-list-table.php:300 admin/premium.php:39
1851
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:195
1852
  #: includes/free/form-element.php:30
1853
  msgid "Shortcode"
1861
  msgid "Draft"
1862
  msgstr ""
1863
 
1864
+ #: admin/posting.php:66 class/asset-loader.php:51 class/render-form.php:1584
1865
+ #: wpuf.php:480
1866
  msgid "Are you sure?"
1867
  msgstr ""
1868
 
1869
+ #: admin/posting.php:72 class/asset-loader.php:57 wpuf.php:488
1870
  msgid "Allowed Files"
1871
  msgstr ""
1872
 
1873
+ #: admin/posting.php:75 class/asset-loader.php:60 wpuf.php:494
1874
  msgid "Maximum number of files reached!"
1875
  msgstr ""
1876
 
1877
+ #: admin/posting.php:76 class/asset-loader.php:61 wpuf.php:495
1878
  msgid "The file you have uploaded exceeds the file size limit. Please try again."
1879
  msgstr ""
1880
 
1881
+ #: admin/posting.php:77 class/asset-loader.php:62 wpuf.php:496
1882
  msgid "You have uploaded an incorrect file type. Please try again."
1883
  msgstr ""
1884
 
1894
  msgid "No custom fields found."
1895
  msgstr ""
1896
 
1897
+ #: admin/premium.php:2 admin/premium.php:5
1898
+ msgid "WPUF Pro"
 
 
 
 
1899
  msgstr ""
1900
 
1901
+ #: admin/premium.php:4
1902
  msgid ""
1903
+ "Upgrade to the premium versions of WPUF and unlock even more useful "
1904
+ "features."
1905
  msgstr ""
1906
 
1907
+ #: admin/premium.php:10
1908
+ msgid "Pro Features"
 
 
 
 
1909
  msgstr ""
1910
 
1911
+ #: admin/premium.php:11
1912
+ msgid ""
1913
+ "WPUF Pro is designed just for you, specially to fulfil your business needs. "
1914
+ "We have designed and curated every feature keeping your requirements in "
1915
+ "mind."
1916
  msgstr ""
1917
 
1918
+ #: admin/premium.php:18 admin/premium.php:21
1919
+ msgid "Registration Form Builder"
1920
  msgstr ""
1921
 
1922
+ #: admin/premium.php:22
1923
+ msgid ""
1924
+ "Registration form builder is a two way form which can be used both for user "
1925
+ "registration and profile editing. You could also manage Register for "
1926
+ "Subscription Package Purchase."
1927
  msgstr ""
1928
 
1929
+ #: admin/premium.php:28 admin/premium.php:31
1930
+ msgid "Advanced Fields"
1931
  msgstr ""
1932
 
1933
+ #: admin/premium.php:33
1934
+ #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:113
1935
+ #: includes/free/form-element.php:15
1936
+ msgid "Country List"
1937
  msgstr ""
1938
 
1939
+ #: admin/premium.php:34
1940
+ msgid "Address"
1941
  msgstr ""
1942
 
1943
+ #: admin/premium.php:35
1944
+ msgid "Date Field"
1945
  msgstr ""
1946
 
1947
+ #: admin/premium.php:36
1948
+ #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:179
1949
+ msgid "Google Map"
 
1950
  msgstr ""
1951
 
1952
+ #: admin/premium.php:37
1953
+ #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:225
1954
+ #: includes/free/form-element.php:33
1955
+ msgid "Action Hook"
1956
  msgstr ""
1957
 
1958
+ #: admin/premium.php:38
1959
+ msgid "Rating"
1960
  msgstr ""
1961
 
1962
+ #: admin/premium.php:40
1963
+ msgid "Number"
1964
  msgstr ""
1965
 
1966
+ #: admin/premium.php:41
1967
+ msgid "Repeater"
1968
  msgstr ""
1969
 
1970
+ #: admin/premium.php:42
1971
+ #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:97
1972
+ #: includes/free/form-element.php:13
1973
+ msgid "File Upload"
1974
  msgstr ""
1975
 
1976
+ #: admin/premium.php:43
1977
+ msgid "Captcha"
1978
  msgstr ""
1979
 
1980
+ #: admin/premium.php:44
1981
+ msgid "TOC"
1982
  msgstr ""
1983
 
1984
+ #: admin/premium.php:51 admin/premium.php:54
1985
+ msgid "Manage Coupons"
1986
  msgstr ""
1987
 
1988
+ #: admin/premium.php:55
1989
  msgid ""
1990
+ "Simple yet powerful coupon management system. Use Coupon codes for selling "
1991
+ "subscription pack with discounts."
 
1992
  msgstr ""
1993
 
1994
+ #: admin/premium.php:61 admin/premium.php:64
1995
+ msgid "Content Restrictions"
1996
  msgstr ""
1997
 
1998
+ #: admin/premium.php:65
1999
+ msgid ""
2000
+ "You can restrict premium content for users by access role, registration or "
2001
+ "subscriptions only with just a shortcode."
2002
  msgstr ""
2003
 
2004
+ #: admin/premium.php:71 admin/premium.php:74
2005
+ #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:46
2006
+ #: includes/free/form-element.php:474
2007
+ msgid "Conditional Logic"
2008
  msgstr ""
2009
 
2010
+ #: admin/premium.php:75
2011
+ msgid ""
2012
+ "Configure your form’s settings and user flow based on conditional "
2013
+ "selection. Your forms should appear just the way you want it."
2014
  msgstr ""
2015
 
2016
+ #: admin/premium.php:81 admin/premium.php:84
2017
+ msgid "Multi-step Form"
2018
  msgstr ""
2019
 
2020
+ #: admin/premium.php:85
2021
  msgid ""
2022
+ "Break down the long forms into smaller and attractive multi step forms. "
2023
+ "Long and lengthy forms are uninviting, why build one?"
2024
  msgstr ""
2025
 
2026
+ #: admin/premium.php:93
2027
+ msgid "Modules"
2028
  msgstr ""
2029
 
2030
+ #: admin/premium.php:94
2031
+ msgid "A bunch of awesome modules to speed up your business growth."
 
 
2032
  msgstr ""
2033
 
2034
+ #: admin/premium.php:101 admin/premium.php:121 admin/premium.php:124
2035
+ msgid "BuddyPress Profile"
2036
  msgstr ""
2037
 
2038
+ #: admin/premium.php:104
2039
+ msgid "Social Login"
2040
  msgstr ""
2041
 
2042
+ #: admin/premium.php:105
2043
+ msgid ""
2044
+ "Allow your users to Register or Login using Social networks like Google, "
2045
+ "Facebook, Twitter and LinkedIn."
2046
  msgstr ""
2047
 
2048
+ #: admin/premium.php:111 admin/premium.php:114
2049
+ msgid "User Directory"
2050
  msgstr ""
2051
 
2052
+ #: admin/premium.php:115
2053
+ msgid ""
2054
+ "Handle user listing and user profile in the frontend. Create a directory "
2055
+ "site easily."
2056
  msgstr ""
2057
 
2058
+ #: admin/premium.php:125
2059
+ msgid "Register and upgrade user profiles and sync data with BuddyPress."
2060
  msgstr ""
2061
 
2062
+ #: admin/premium.php:131 admin/premium.php:171
2063
+ msgid "MailChimp Integration"
2064
  msgstr ""
2065
 
2066
+ #: admin/premium.php:134
2067
+ msgid "User Analytics"
2068
  msgstr ""
2069
 
2070
+ #: admin/premium.php:135
2071
+ msgid "Show user tracking info during post and registration directly on Frontend."
 
 
2072
  msgstr ""
2073
 
2074
+ #: admin/premium.php:141 admin/premium.php:144
2075
+ msgid "Paid Membership Pro"
2076
  msgstr ""
2077
 
2078
+ #: admin/premium.php:145
2079
+ msgid "Membership Integration of WP User Frontend with Paid Membership Pro."
 
 
2080
  msgstr ""
2081
 
2082
+ #: admin/premium.php:151 admin/premium.php:154
2083
+ msgid "Stripe Payment"
2084
  msgstr ""
2085
 
2086
+ #: admin/premium.php:155
2087
+ msgid ""
2088
+ "Stripe payment gateway for WP User Frontend. Get your subscription payment "
2089
+ "with Stripe."
2090
  msgstr ""
2091
 
2092
+ #: admin/premium.php:161 admin/premium.php:164
2093
+ msgid "Mailpoet"
2094
  msgstr ""
2095
 
2096
+ #: admin/premium.php:165
2097
+ msgid ""
2098
+ "Add subscribers to mailpoet mailing list when they registers via WP User "
2099
+ "Frontend Pro."
2100
  msgstr ""
2101
 
2102
+ #: admin/premium.php:174
2103
+ msgid "MailChimp"
2104
  msgstr ""
2105
 
2106
+ #: admin/premium.php:175
2107
+ msgid ""
2108
+ "Integrate your desired form to your MailChimp email newsletter using latest "
2109
+ "API."
2110
  msgstr ""
2111
 
2112
+ #: admin/premium.php:181 admin/premium.php:184 admin/premium.php:191
2113
+ #: admin/premium.php:201
2114
+ msgid "SMS Notification"
2115
  msgstr ""
2116
 
2117
+ #: admin/premium.php:185
2118
+ msgid "Get instant SMS notification on your mobile when post submits on your site."
2119
  msgstr ""
2120
 
2121
+ #: admin/premium.php:194
2122
+ msgid "Comment Manager"
2123
  msgstr ""
2124
 
2125
+ #: admin/premium.php:195
2126
+ msgid "Handle comments in frontend. View / reply comments on post."
2127
  msgstr ""
2128
 
2129
+ #: admin/premium.php:204
2130
+ msgid "QR Code Generator"
2131
  msgstr ""
2132
 
2133
+ #: admin/premium.php:205
2134
+ msgid "Generate QR Code with your custom fields or custom post meta."
2135
  msgstr ""
2136
 
2137
+ #: admin/premium.php:211 admin/premium.php:214
2138
+ msgid "More..."
2139
  msgstr ""
2140
 
2141
+ #: admin/premium.php:215
2142
+ msgid "A bunch of more modules are coming soon."
2143
  msgstr ""
2144
 
2145
+ #: admin/premium.php:225
2146
+ msgid "Upgrade To The Most Powerful Frontend Plugin"
2147
  msgstr ""
2148
 
2149
+ #: admin/premium.php:227
2150
+ msgid "WP User Frontend Pro is the most powerful solution for your frontend needs."
2151
  msgstr ""
2152
 
2153
+ #: admin/premium.php:231
2154
+ msgid "Upgrade Now"
2155
  msgstr ""
2156
 
2157
+ #: admin/promotion.php:38
2158
+ msgid "Pro upgrade and all extensions, "
2159
+ msgstr ""
2160
+
2161
+ #: admin/promotion.php:38
2162
+ msgid "all extensions, "
2163
+ msgstr ""
2164
+
2165
+ #: admin/promotion.php:40
2166
+ msgid ""
2167
+ "<h2><span class=\"dashicons dashicons-awards\"></span> weDevs 4th Year "
2168
+ "Anniversary Offer</h2>"
2169
+ msgstr ""
2170
+
2171
+ #: admin/promotion.php:41
2172
+ msgid ""
2173
+ "<p>Get <strong class=\"highlight-text\">44&#37; discount</strong> on %2$s "
2174
+ "also <a target=\"_blank\" href=\"%1$s\"><strong>WIN any "
2175
+ "product</strong></a> from our 4th year anniversary giveaway. Offer ending "
2176
+ "soon!</p>"
2177
+ msgstr ""
2178
+
2179
+ #: admin/settings-options.php:13
2180
+ msgid "General Options"
2181
+ msgstr ""
2182
+
2183
+ #: admin/settings-options.php:28
2184
+ msgid "My Account"
2185
+ msgstr ""
2186
+
2187
+ #: admin/settings-options.php:33
2188
+ msgid "Login / Registration"
2189
+ msgstr ""
2190
+
2191
+ #: admin/settings-options.php:38
2192
+ msgid "Payments"
2193
+ msgstr ""
2194
+
2195
+ #: admin/settings-options.php:43
2196
+ msgid "E-Mails"
2197
+ msgstr ""
2198
+
2199
+ #: admin/settings-options.php:69
2200
+ msgid "Admin area access"
2201
+ msgstr ""
2202
+
2203
+ #: admin/settings-options.php:70
2204
+ msgid "Allow you to block specific user role to WordPress admin area."
2205
+ msgstr ""
2206
+
2207
+ #: admin/settings-options.php:74
2208
+ msgid "Admin Only"
2209
+ msgstr ""
2210
+
2211
+ #: admin/settings-options.php:75
2212
+ msgid "Admins, Editors"
2213
+ msgstr ""
2214
+
2215
+ #: admin/settings-options.php:76
2216
+ msgid "Admins, Editors, Authors"
2217
+ msgstr ""
2218
+
2219
+ #: admin/settings-options.php:77
2220
+ msgid "Admins, Editors, Authors, Contributors"
2221
+ msgstr ""
2222
+
2223
+ #: admin/settings-options.php:78
2224
+ msgid "Default"
2225
+ msgstr ""
2226
+
2227
+ #: admin/settings-options.php:83
2228
+ msgid "Override the post edit link"
2229
+ msgstr ""
2230
+
2231
+ #: admin/settings-options.php:84
2232
+ msgid ""
2233
+ "Users see the edit link in post if s/he is capable to edit the post/page. "
2234
+ "Selecting <strong>Yes</strong> will override the default WordPress edit "
2235
+ "post link in frontend"
2236
+ msgstr ""
2237
+
2238
+ #: admin/settings-options.php:94
2239
+ msgid "Load Scripts"
2240
+ msgstr ""
2241
+
2242
+ #: admin/settings-options.php:95
2243
+ msgid "Load scripts/styles in all pages"
2244
+ msgstr ""
2245
+
2246
+ #: admin/settings-options.php:101
2247
+ msgid "reCAPTCHA Site Key"
2248
+ msgstr ""
2249
+
2250
+ #: admin/settings-options.php:105
2251
+ msgid "reCAPTCHA Secret Key"
2252
+ msgstr ""
2253
+
2254
+ #: admin/settings-options.php:106
2255
+ msgid ""
2256
+ "<a target=\"_blank\" href=\"https://www.google.com/recaptcha/\">Register "
2257
+ "here</a> to get reCaptcha Site and Secret keys."
2258
+ msgstr ""
2259
+
2260
+ #: admin/settings-options.php:110
2261
+ msgid "Custom CSS codes"
2262
  msgstr ""
2263
 
2264
+ #: admin/settings-options.php:111
2265
+ msgid ""
2266
+ "If you want to add your custom CSS code, it will be added on page header "
2267
+ "wrapped with style tag"
2268
+ msgstr ""
2269
+
2270
+ #: admin/settings-options.php:118
2271
+ msgid "Edit Page"
2272
+ msgstr ""
2273
+
2274
+ #: admin/settings-options.php:119
2275
+ msgid "Select the page where <code>[wpuf_edit]</code> is located"
2276
+ msgstr ""
2277
+
2278
+ #: admin/settings-options.php:125
2279
+ msgid "Default Post Owner"
2280
+ msgstr ""
2281
+
2282
+ #: admin/settings-options.php:126
2283
+ msgid ""
2284
+ "If guest post is enabled and user details are OFF, the posts are assigned "
2285
+ "to this user"
2286
+ msgstr ""
2287
+
2288
+ #: admin/settings-options.php:133
2289
+ msgid "Custom Fields in post"
2290
+ msgstr ""
2291
+
2292
+ #: admin/settings-options.php:134
2293
+ msgid "Show custom fields on post content area"
2294
+ msgstr ""
2295
+
2296
+ #: admin/settings-options.php:140
2297
+ msgid "Insert Photo image size"
2298
+ msgstr ""
2299
+
2300
+ #: admin/settings-options.php:141
2301
+ msgid ""
2302
+ "Default image size of \"<strong>Insert Photo</strong>\" button in post "
2303
+ "content area"
2304
+ msgstr ""
2305
+
2306
+ #: admin/settings-options.php:148
2307
+ msgid "Insert Photo image type"
2308
+ msgstr ""
2309
+
2310
+ #: admin/settings-options.php:149
2311
+ msgid ""
2312
+ "Default image type of \"<strong>Insert Photo</strong>\" button in post "
2313
+ "content area"
2314
+ msgstr ""
2315
+
2316
+ #: admin/settings-options.php:152
2317
+ msgid "Image only"
2318
+ msgstr ""
2319
+
2320
+ #: admin/settings-options.php:153
2321
+ msgid "Image with link"
2322
+ msgstr ""
2323
+
2324
+ #: admin/settings-options.php:159
2325
+ msgid "Enable Image Caption"
2326
+ msgstr ""
2327
+
2328
+ #: admin/settings-options.php:160
2329
+ msgid "Allow users to update image/video title, caption and description"
2330
+ msgstr ""
2331
+
2332
+ #: admin/settings-options.php:166
2333
+ msgid "Default Post Form"
2334
+ msgstr ""
2335
+
2336
+ #: admin/settings-options.php:167
2337
+ msgid "Fallback form for post editing if no associated form found"
2338
+ msgstr ""
2339
+
2340
+ #: admin/settings-options.php:175
2341
+ msgid "Users can edit post?"
2342
+ msgstr ""
2343
+
2344
+ #: admin/settings-options.php:176
2345
+ msgid "Users will be able to edit their own posts"
2346
+ msgstr ""
2347
+
2348
+ #: admin/settings-options.php:186
2349
+ msgid "User can delete post?"
2350
+ msgstr ""
2351
+
2352
+ #: admin/settings-options.php:187
2353
+ msgid "Users will be able to delete their own posts"
2354
+ msgstr ""
2355
+
2356
+ #: admin/settings-options.php:197
2357
+ msgid "Pending Post Edit"
2358
+ msgstr ""
2359
+
2360
+ #: admin/settings-options.php:198
2361
+ msgid "Disable post editing while post in \"pending\" status"
2362
+ msgstr ""
2363
+
2364
+ #: admin/settings-options.php:204
2365
+ msgid "Posts per page"
2366
+ msgstr ""
2367
+
2368
+ #: admin/settings-options.php:205
2369
+ msgid "How many posts will be listed in a page"
2370
+ msgstr ""
2371
+
2372
+ #: admin/settings-options.php:211
2373
+ msgid "Show user bio"
2374
+ msgstr ""
2375
+
2376
+ #: admin/settings-options.php:212
2377
+ msgid "Users biographical info will be shown"
2378
+ msgstr ""
2379
+
2380
+ #: admin/settings-options.php:218
2381
+ msgid "Show post count"
2382
+ msgstr ""
2383
+
2384
+ #: admin/settings-options.php:219
2385
+ msgid "Show how many posts are created by the user"
2386
+ msgstr ""
2387
+
2388
+ #: admin/settings-options.php:225
2389
+ msgid "Show Featured Image"
2390
+ msgstr ""
2391
+
2392
+ #: admin/settings-options.php:226
2393
+ msgid "Show featured image of the post (Overridden by Shortcode)"
2394
+ msgstr ""
2395
+
2396
+ #: admin/settings-options.php:231
2397
+ msgid "Featured Image size"
2398
+ msgstr ""
2399
+
2400
+ #: admin/settings-options.php:245
2401
+ msgid "Show Subscriptions"
2402
+ msgstr ""
2403
+
2404
+ #: admin/settings-options.php:246
2405
+ msgid ""
2406
+ "Show Subscriptions tab in \"my account\" page where "
2407
+ "<code>[wpuf_account]</code> is located"
2408
+ msgstr ""
2409
+
2410
+ #: admin/settings-options.php:256
2411
+ msgid "Show Invoice"
2412
+ msgstr ""
2413
+
2414
+ #: admin/settings-options.php:257
2415
+ msgid ""
2416
+ "Show Invoice tab in \"my account\" page where <code>[wpuf_account]</code> "
2417
+ "is located"
2418
+ msgstr ""
2419
+
2420
+ #: admin/settings-options.php:267
2421
+ msgid "Show Billing Address"
2422
+ msgstr ""
2423
+
2424
+ #: admin/settings-options.php:268
2425
+ msgid ""
2426
+ "Show Billing Address tab in \"my account\" page where "
2427
+ "<code>[wpuf_account]</code> is located"
2428
+ msgstr ""
2429
+
2430
+ #: admin/settings-options.php:280
2431
+ msgid "Auto Login After Registration"
2432
+ msgstr ""
2433
+
2434
+ #: admin/settings-options.php:281
2435
+ msgid "If enabled, users after registration will be logged in to the system"
2436
+ msgstr ""
2437
+
2438
+ #: admin/settings-options.php:287
2439
+ msgid "Login/Registration override"
2440
+ msgstr ""
2441
+
2442
+ #: admin/settings-options.php:288
2443
  msgid ""
2444
  "If enabled, default login and registration forms will be overridden by WPUF "
2445
  "with pages below"
2446
  msgstr ""
2447
 
2448
+ #: admin/settings-options.php:294
2449
  msgid "Registration Page"
2450
  msgstr ""
2451
 
2452
+ #: admin/settings-options.php:295
2453
  msgid ""
2454
  "Select the page you want to use as registration page override <em>(should "
2455
  "have shortcode)</em>"
2456
  msgstr ""
2457
 
2458
+ #: admin/settings-options.php:301
2459
  msgid "Login Page"
2460
  msgstr ""
2461
 
2462
+ #: admin/settings-options.php:302
2463
  msgid "Select the page which contains <code>[wpuf-login]</code> shortcode"
2464
  msgstr ""
2465
 
2466
+ #: admin/settings-options.php:310
 
 
 
 
 
 
 
 
2467
  msgid "Subscription Pack Page"
2468
  msgstr ""
2469
 
2470
+ #: admin/settings-options.php:311
2471
  msgid "Select the page where <code>[wpuf_sub_pack]</code> located."
2472
  msgstr ""
2473
 
2474
+ #: admin/settings-options.php:317
2475
  msgid "Subscription at registration"
2476
  msgstr ""
2477
 
2478
+ #: admin/settings-options.php:318
2479
  msgid "Registration time redirect to subscription page"
2480
  msgstr ""
2481
 
2482
+ #: admin/settings-options.php:323
2483
  msgid "Currency"
2484
  msgstr ""
2485
 
2486
+ #: admin/settings-options.php:330
2487
  msgid "Currency Position"
2488
  msgstr ""
2489
 
2490
+ #: admin/settings-options.php:334
2491
  msgid "Left"
2492
  msgstr ""
2493
 
2494
+ #: admin/settings-options.php:335
2495
  msgid "Right"
2496
  msgstr ""
2497
 
2498
+ #: admin/settings-options.php:336
2499
  msgid "Left with space"
2500
  msgstr ""
2501
 
2502
+ #: admin/settings-options.php:337
2503
  msgid "Right with space"
2504
  msgstr ""
2505
 
2506
+ #: admin/settings-options.php:342
2507
  msgid "Thousand Separator"
2508
  msgstr ""
2509
 
2510
+ #: admin/settings-options.php:343
2511
  msgid "This sets the thousand separator of displayed prices."
2512
  msgstr ""
2513
 
2514
+ #: admin/settings-options.php:351
2515
  msgid "Decimal Separator"
2516
  msgstr ""
2517
 
2518
+ #: admin/settings-options.php:352
2519
  msgid "This sets the decimal separator of displayed prices."
2520
  msgstr ""
2521
 
2522
+ #: admin/settings-options.php:359
2523
  msgid "Number of Decimals"
2524
  msgstr ""
2525
 
2526
+ #: admin/settings-options.php:360
2527
  msgid "This sets the number of decimal points shown in displayed prices."
2528
  msgstr ""
2529
 
2530
+ #: admin/settings-options.php:370
2531
  msgid "Enable demo/sandbox mode"
2532
  msgstr ""
2533
 
2534
+ #: admin/settings-options.php:371
2535
  msgid "When sandbox mode is active, all payment gateway will be used in demo mode"
2536
  msgstr ""
2537
 
2538
+ #: admin/settings-options.php:377
2539
  msgid "Payment Page"
2540
  msgstr ""
2541
 
2542
+ #: admin/settings-options.php:378
2543
  msgid "This page will be used to process payment options"
2544
  msgstr ""
2545
 
2546
+ #: admin/settings-options.php:384
2547
  msgid "Payment Success Page"
2548
  msgstr ""
2549
 
2550
+ #: admin/settings-options.php:385 lib/gateway/bank.php:37
2551
  msgid "After payment users will be redirected here"
2552
  msgstr ""
2553
 
2554
+ #: admin/settings-options.php:391
2555
  msgid "Payment Gateways"
2556
  msgstr ""
2557
 
2558
+ #: admin/settings-options.php:392
2559
  msgid "Active payment gateways"
2560
  msgstr ""
2561
 
2562
+ #: admin/settings-options.php:400
2563
  msgid "Guest Email Subject"
2564
  msgstr ""
2565
 
2566
+ #: admin/settings-options.php:401
2567
  msgid "This sets the subject of the emails sent to guest users"
2568
  msgstr ""
2569
 
2570
+ #: admin/settings-options.php:407
2571
  msgid "Guest Email Body"
2572
  msgstr ""
2573
 
2574
+ #: admin/settings-options.php:408
2575
  msgid ""
2576
  "This sets the body of the emails sent to guest users. Please DON'T edit the "
2577
+ "<code>{activation_link}</code> part"
2578
  msgstr ""
2579
 
2580
+ #: admin/settings-options.php:431
2581
  msgid ""
2582
  "Select profile/registration forms for user roles. These forms will be used "
2583
  "to populate extra edit profile fields in backend."
2584
  msgstr ""
2585
 
2586
+ #: admin/settings-options.php:442
2587
  msgid " - select - "
2588
  msgstr ""
2589
 
2684
  msgid "Install Now"
2685
  msgstr ""
2686
 
2687
+ #: class/asset-loader.php:31 wpuf.php:411
2688
  msgid "is required"
2689
  msgstr ""
2690
 
2691
+ #: class/asset-loader.php:32 wpuf.php:412
2692
  msgid "does not match"
2693
  msgstr ""
2694
 
2695
+ #: class/asset-loader.php:33 wpuf.php:413
2696
  msgid "is not valid"
2697
  msgstr ""
2698
 
2699
+ #: class/asset-loader.php:45 wpuf.php:474
2700
  msgid "Please fix the errors to proceed"
2701
  msgstr ""
2702
 
2703
+ #: class/asset-loader.php:47 wpuf.php:476
2704
  msgid "Word limit reached"
2705
  msgstr ""
2706
 
2712
  msgid "<p>You've subscribed to the following package.</p>"
2713
  msgstr ""
2714
 
2715
+ #: class/frontend-account.php:183 class/subscription.php:73
2716
  msgid "Nonce failure"
2717
  msgstr ""
2718
 
2772
  msgid "You are not the post author. Cheeting huh!"
2773
  msgstr ""
2774
 
2775
+ #: class/frontend-form-post.php:87 class/frontend-form-post.php:126
2776
+ #: class/frontend-form-post.php:133
 
 
 
 
2777
  msgid "Payment type not selected for this form. Please contact admin."
2778
  msgstr ""
2779
 
2780
+ #: class/frontend-form-post.php:182
2781
  msgid "You are not logged in"
2782
  msgstr ""
2783
 
2784
+ #: class/frontend-form-post.php:190 class/frontend-form-post.php:201
2785
  msgid "Invalid post"
2786
  msgstr ""
2787
 
2788
+ #: class/frontend-form-post.php:195
2789
  msgid "Post Editing is disabled"
2790
  msgstr ""
2791
 
2792
+ #: class/frontend-form-post.php:206
2793
  msgid "You are not allowed to edit"
2794
  msgstr ""
2795
 
2796
+ #: class/frontend-form-post.php:218
2797
  msgid "I don't know how to edit this post, I don't have the form ID"
2798
  msgstr ""
2799
 
2800
+ #: class/frontend-form-post.php:224
2801
  msgid "You can't edit a post while in pending mode."
2802
  msgstr ""
2803
 
2804
+ #: class/frontend-form-post.php:294
2805
  msgid "Invalid email address."
2806
  msgstr ""
2807
 
2808
+ #: class/frontend-form-post.php:303
2809
  msgid ""
2810
  "You already have an account in our site. Please login to continue.\n"
2811
  "\n"
2812
+ "Clicking 'OK' will redirect you to the login page and you will lose the "
2813
  "form data.\n"
2814
  "Click 'Cancel' to stay at this page."
2815
  msgstr ""
2816
 
2817
+ #: class/frontend-form-post.php:712
2818
  msgid "Something went wrong"
2819
  msgstr ""
2820
 
2821
+ #: class/frontend-form-post.php:1069
2822
  msgid "Email successfully verified. Please Login."
2823
  msgstr ""
2824
 
2878
  msgid "No Payment gateway found"
2879
  msgstr ""
2880
 
2881
+ #: class/payment.php:362 lib/gateway/bank.php:105
2882
  msgid "[%s] Payment Received"
2883
  msgstr ""
2884
 
2885
+ #: class/payment.php:363
2886
  msgid "New payment received at %s"
2887
  msgstr ""
2888
 
2916
  msgid "Strength indicator"
2917
  msgstr ""
2918
 
2919
+ #: class/render-form.php:1323 class/render-form.php:1439
2920
  msgid "-- Select --"
2921
  msgstr ""
2922
 
2923
+ #: class/render-form.php:1383
2924
  msgid "This field is no longer available."
2925
  msgstr ""
2926
 
2927
+ #: class/render-form.php:1584 class/transactions-list-table.php:114
2928
+ #: class/transactions-list-table.php:178 class/upload.php:171
2929
+ #: includes/free/edit-user.php:100 templates/dashboard/posts.php:161
2930
+ #: templates/dashboard.php:222
2931
+ msgid "Delete"
2932
+ msgstr ""
2933
+
2934
+ #: class/subscription.php:379
2935
  msgid "Add Subscription"
2936
  msgstr ""
2937
 
2938
+ #: class/subscription.php:380
2939
  msgid "Add New Subscription"
2940
  msgstr ""
2941
 
2942
+ #: class/subscription.php:382
2943
  msgid "Edit Subscription"
2944
  msgstr ""
2945
 
2946
+ #: class/subscription.php:383
2947
  msgid "New Subscription"
2948
  msgstr ""
2949
 
2950
+ #: class/subscription.php:384 class/subscription.php:385
2951
  msgid "View Subscription"
2952
  msgstr ""
2953
 
2954
+ #: class/subscription.php:386
2955
  msgid "Search Subscription"
2956
  msgstr ""
2957
 
2958
+ #: class/subscription.php:387
2959
  msgid "No Subscription Found"
2960
  msgstr ""
2961
 
2962
+ #: class/subscription.php:388
2963
  msgid "No Subscription Found in Trash"
2964
  msgstr ""
2965
 
2966
+ #: class/subscription.php:389
2967
  msgid "Parent Subscription"
2968
  msgstr ""
2969
 
2970
+ #: class/subscription.php:738
 
 
 
 
2971
  msgid "Payment is complete"
2972
  msgstr ""
2973
 
2974
+ #: class/subscription.php:738
2975
  msgid "Congratulations, your payment has been completed!"
2976
  msgstr ""
2977
 
2978
+ #: class/subscription.php:742 class/subscription.php:746
2979
  msgid "Please buy a subscription pack to post"
2980
  msgstr ""
2981
 
2982
+ #: class/subscription.php:760
2983
  msgid "<p><i>You have a subscription pack activated. </i></p>"
2984
  msgstr ""
2985
 
2986
+ #: class/subscription.php:764
2987
  msgid "<p><i>To cancel the pack, press the following cancel button</i></p>"
2988
  msgstr ""
2989
 
2990
+ #: class/subscription.php:824
2991
  msgid "Every"
2992
  msgstr ""
2993
 
2994
+ #: class/subscription.php:828
2995
  msgid "One time payment"
2996
  msgstr ""
2997
 
2998
+ #: class/subscription.php:840
2999
  msgid "Sign Up"
3000
  msgstr ""
3001
 
3002
+ #: class/subscription.php:845
3003
  msgid "Buy Now"
3004
  msgstr ""
3005
 
3006
+ #: class/subscription.php:910
3007
  msgid "There is a <strong>%s</strong> charge to add a new post."
3008
  msgstr ""
3009
 
3010
+ #: class/subscription.php:922
3011
+ msgid ""
3012
+ "Your Subscription pack exhausted. There is a <strong>%s</strong> charge to "
3013
+ "add a new post."
3014
+ msgstr ""
3015
+
3016
+ #: class/subscription.php:966
3017
  msgid "You must <a href=\"%s\">purchase a pack</a> before posting"
3018
  msgstr ""
3019
 
3039
  msgid "User"
3040
  msgstr ""
3041
 
3042
+ #: class/transactions-list-table.php:43
3043
+ msgid "Cost"
3044
+ msgstr ""
3045
+
3046
  #: class/transactions-list-table.php:44
3047
  msgid "Post ID"
3048
  msgstr ""
3072
  msgid "Pending"
3073
  msgstr ""
3074
 
3075
+ #: class/transactions-list-table.php:109 class/transactions-list-table.php:173
3076
  msgid "Accept"
3077
  msgstr ""
3078
 
3079
+ #: class/transactions-list-table.php:110 class/transactions-list-table.php:174
3080
  msgid "Reject"
3081
  msgstr ""
3082
 
3084
  msgid "No transactions found."
3085
  msgstr ""
3086
 
3087
+ #: class/upload.php:165 wpuf-functions.php:733
3088
  msgid "Caption"
3089
  msgstr ""
3090
 
3091
+ #: includes/class-dokan-integration.php:37 wpuf-functions.php:1423
3092
+ msgid "Posts"
3093
+ msgstr ""
3094
+
3095
+ #: includes/class-dokan-integration.php:92
3096
+ msgid "Allow Post"
3097
+ msgstr ""
3098
+
3099
+ #: includes/class-dokan-integration.php:93
3100
+ msgid "Allow Vendors to submit post from dashboard area"
3101
+ msgstr ""
3102
+
3103
+ #: includes/class-dokan-integration.php:100
3104
+ msgid "Select Post Form"
3105
+ msgstr ""
3106
+
3107
+ #: includes/class-dokan-integration.php:101
3108
+ msgid "Select a post form that will show on the vendor dashboard."
3109
+ msgstr ""
3110
+
3111
  #: includes/class-list-table-subscribers.php:30
3112
  msgid "No subscribers found"
3113
  msgstr ""
3141
  msgstr ""
3142
 
3143
  #: includes/class-user-subscription.php:56
3144
+ msgid "You must purchase a pack before posting"
3145
  msgstr ""
3146
 
3147
  #: includes/class-user-subscription.php:61
3148
+ msgid "The subscription pack has been expired. Please buy a pack."
3149
+ msgstr ""
3150
+
3151
+ #: includes/class-user-subscription.php:305
3152
+ #: templates/dashboard/subscription.php:2
3153
+ msgid "Subscription Details"
3154
+ msgstr ""
3155
+
3156
+ #: includes/class-user-subscription.php:307
3157
+ #: templates/dashboard/subscription.php:4
3158
+ msgid "Subcription Name: "
3159
  msgstr ""
3160
 
3161
  #: includes/class-user-subscription.php:309
3163
  msgid "Package & billing details: "
3164
  msgstr ""
3165
 
3166
+ #: includes/class-user-subscription.php:320
3167
+ #: templates/dashboard/subscription.php:10
3168
+ msgid "Remaining post: "
3169
+ msgstr ""
3170
+
3171
  #: includes/class-user-subscription.php:333
3172
  #: templates/dashboard/subscription.php:24
3173
  msgid "Unlimited"
3174
  msgstr ""
3175
 
3176
+ #: includes/class-whats-new.php:67
3177
+ msgid "Whats New"
3178
+ msgstr ""
3179
+
3180
+ #: includes/class-whats-new.php:100
3181
+ msgid "WP User Frontend - Version %s"
3182
+ msgstr ""
3183
+
3184
+ #: includes/class-whats-new.php:101
3185
+ msgid ""
3186
+ "Welcome to the new version of WP User Frontend. See what's been changed in "
3187
+ "the <strong>%s</strong> version."
3188
+ msgstr ""
3189
+
3190
+ #: includes/class-whats-new.php:105
3191
+ msgid "What's New?"
3192
+ msgstr ""
3193
+
3194
+ #: includes/class-whats-new.php:106 lib/class-weforms-upsell.php:80
3195
+ #: lib/class-weforms-upsell.php:81
3196
+ msgid "Dismiss this notice."
3197
  msgstr ""
3198
 
3199
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:65
3205
  msgid "Date / Time"
3206
  msgstr ""
3207
 
 
 
 
 
 
 
 
 
 
 
3208
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:129
3209
  #: includes/free/form-element.php:16
3210
  msgid "Numeric Field"
3220
  msgid "Step Start"
3221
  msgstr ""
3222
 
 
 
 
 
3223
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:210
3224
  #: includes/free/form-element.php:32
3225
  msgid "Really Simple Captcha"
3226
  msgstr ""
3227
 
 
 
 
 
 
3228
  #: includes/free/admin/form-builder/class-wpuf-form-builder-field-settings-free.php:240
3229
  msgid "Term & Conditions"
3230
  msgstr ""
3258
  msgstr ""
3259
 
3260
  #: includes/free/class-login.php:208 includes/free/class-login.php:264
3261
+ #: templates/login-form.php:35
3262
  msgid "Log In"
3263
  msgstr ""
3264
 
3265
  #: includes/free/class-login.php:212 includes/free/class-registration.php:124
3266
+ #: includes/free/form-element.php:345 templates/registration-form.php:72
3267
  msgid "Register"
3268
  msgstr ""
3269
 
3430
  msgid "Usernames cannot be changed."
3431
  msgstr ""
3432
 
 
 
 
 
3433
  #: includes/free/edit-profile.php:110
3434
  msgid "Last Name"
3435
  msgstr ""
3488
  msgid "Password Strength"
3489
  msgstr ""
3490
 
3491
+ #: includes/free/edit-profile.php:227 includes/free/form-element.php:346
3492
  msgid "Update Profile"
3493
  msgstr ""
3494
 
3495
+ #: includes/free/edit-profile.php:249
3496
  msgid "WPUF Post Lock"
3497
  msgstr ""
3498
 
3499
+ #: includes/free/edit-profile.php:252
3500
  msgid "Lock Post:"
3501
  msgstr ""
3502
 
3503
+ #: includes/free/edit-profile.php:258
3504
  msgid "Lock user from creating new post."
3505
  msgstr ""
3506
 
3507
+ #: includes/free/edit-profile.php:263
3508
  msgid "Lock Reason:"
3509
  msgstr ""
3510
 
 
 
 
 
 
 
 
 
3511
  #: includes/free/edit-user.php:23
3512
  msgid "User doesn't exists"
3513
  msgstr ""
3520
  msgid "User Deleted"
3521
  msgstr ""
3522
 
3523
+ #: includes/free/edit-user.php:93
3524
+ msgid "Action"
3525
+ msgstr ""
3526
+
3527
  #: includes/free/edit-user.php:119 includes/free/edit-user.php:177
3528
  msgid "Add New User"
3529
  msgstr ""
3584
  msgid "Term &amp; Conditions"
3585
  msgstr ""
3586
 
3587
+ #: includes/free/form-element.php:63
3588
+ msgid "Learn more about Automatic Post Expiration"
3589
+ msgstr ""
3590
+
3591
+ #: includes/free/form-element.php:123
3592
  msgid "Send Email to Author After Exceeding Post Expiration Time"
3593
  msgstr ""
3594
 
3595
+ #: includes/free/form-element.php:148 includes/free/form-element.php:152
3596
  msgid "Enable Multistep"
3597
  msgstr ""
3598
 
3599
+ #: includes/free/form-element.php:155
3600
  msgid "If checked, form will be displayed in frontend in multiple steps"
3601
  msgstr ""
3602
 
3603
+ #: includes/free/form-element.php:156
3604
+ msgid " Learn more about Multistep"
3605
+ msgstr ""
3606
+
3607
+ #: includes/free/form-element.php:160
3608
  msgid "Multistep Progressbar Type"
3609
  msgstr ""
3610
 
3611
+ #: includes/free/form-element.php:170
3612
  msgid "Choose how you want the progressbar"
3613
  msgstr ""
3614
 
3615
+ #: includes/free/form-element.php:200
3616
  msgid "New post created"
3617
  msgstr ""
3618
 
3619
+ #: includes/free/form-element.php:205
3620
  msgid "A post has been edited"
3621
  msgstr ""
3622
 
3623
+ #: includes/free/form-element.php:209
3624
+ msgid "New Post Notification"
3625
  msgstr ""
3626
 
3627
+ #: includes/free/form-element.php:217 includes/free/form-element.php:255
3628
  msgid "Enable post notification"
3629
  msgstr ""
3630
 
3631
+ #: includes/free/form-element.php:220
3632
+ msgid "Learn more about Email Notification"
3633
+ msgstr ""
3634
+
3635
+ #: includes/free/form-element.php:224 includes/free/form-element.php:261
3636
  msgid "To"
3637
  msgstr ""
3638
 
3639
+ #: includes/free/form-element.php:231 includes/free/form-element.php:266
3640
  msgid "Subject"
3641
  msgstr ""
3642
 
3643
+ #: includes/free/form-element.php:236 includes/free/form-element.php:271
3644
  msgid "Message"
3645
  msgstr ""
3646
 
3647
+ #: includes/free/form-element.php:243
3648
+ msgid "Update Post Notification"
3649
  msgstr ""
3650
 
3651
+ #: includes/free/form-element.php:279
3652
  msgid "You may use in to, subject & message:"
3653
  msgstr ""
3654
 
3655
+ #: includes/free/form-element.php:303
3656
  msgid "Toggle All"
3657
  msgstr ""
3658
 
3659
+ #: includes/free/form-element.php:307
3660
  msgid "Click on a form element to add to the editor"
3661
  msgstr ""
3662
 
3663
+ #: includes/free/form-element.php:341
3664
  msgid "Registration successful"
3665
  msgstr ""
3666
 
3667
+ #: includes/free/form-element.php:342
3668
  msgid "Profile updated successfully"
3669
  msgstr ""
3670
 
3671
+ #: includes/free/form-element.php:354
3672
  msgid "Enable Email Verfication"
3673
  msgstr ""
3674
 
3675
+ #: includes/free/form-element.php:362
3676
  msgid "New User Role"
3677
  msgstr ""
3678
 
3679
+ #: includes/free/form-element.php:398
3680
  msgid "Registration success message"
3681
  msgstr ""
3682
 
3683
+ #: includes/free/form-element.php:405
3684
  msgid "Update profile message"
3685
  msgstr ""
3686
 
3687
+ #: includes/free/form-element.php:434
3688
  msgid "Submit Button text"
3689
  msgstr ""
3690
 
3691
+ #: includes/free/form-element.php:441
3692
  msgid "Update Button text"
3693
  msgstr ""
3694
 
3695
+ #: includes/free/loader.php:83 includes/free/loader.php:142
3696
  msgid "Coupons"
3697
  msgstr ""
3698
 
3699
+ #: includes/free/loader.php:91
3700
  msgid ""
3701
+ "Use the shortcode <code>[wpuf-registration]</code> for a simple and default "
3702
+ "WordPress registration form."
 
 
 
 
3703
  msgstr ""
3704
 
3705
+ #: includes/free/loader.php:105
3706
+ msgid ""
3707
+ "Registration form builder is a two way form which can be used both for "
3708
+ "<strong>user registration</strong> and <strong>profile editing</strong>."
3709
  msgstr ""
3710
 
3711
+ #: includes/free/loader.php:124 includes/free/loader.php:154
3712
  msgid "Upgrade to Pro Version"
3713
  msgstr ""
3714
 
3715
+ #: includes/free/loader.php:125
3716
+ msgid "Learn More"
3717
  msgstr ""
3718
 
3719
+ #: includes/free/loader.php:146
3720
  msgid "Use Coupon codes for subscription for discounts."
3721
  msgstr ""
3722
 
3723
+ #: includes/free/loader.php:150
3724
+ msgid "This feature is only available in the Pro Version."
3725
+ msgstr ""
3726
+
3727
+ #: includes/free/loader.php:155
3728
  msgid "Learn more about Coupons"
3729
  msgstr ""
3730
 
3731
+ #: includes/free/loader.php:196
3732
  msgid "Upgrade to Pro"
3733
  msgstr ""
3734
 
3744
  msgid "Enable Recurring Payment"
3745
  msgstr ""
3746
 
3747
+ #: lib/class-wedevs-insights.php:326
3748
  msgid ""
3749
  "Want to help make <strong>%s</strong> even more awesome? Allow weDevs to "
3750
  "collect non-sensitive diagnostic data and usage information."
3751
  msgstr ""
3752
 
3753
+ #: lib/class-wedevs-insights.php:331
3754
  msgid "what we collect"
3755
  msgstr ""
3756
 
3757
+ #: lib/class-wedevs-insights.php:337
3758
  msgid "Allow"
3759
  msgstr ""
3760
 
3761
+ #: lib/class-wedevs-insights.php:338
3762
  msgid "No thanks"
3763
  msgstr ""
3764
 
3765
+ #: lib/class-wedevs-insights.php:515
3766
  msgid "Once Weekly"
3767
  msgstr ""
3768
 
3769
+ #: lib/class-wedevs-insights.php:651
3770
  msgid "If you have a moment, please let us know why you are deactivating:"
3771
  msgstr ""
3772
 
3773
+ #: lib/class-wedevs-insights.php:665
3774
  msgid "I rather wouldn't say"
3775
  msgstr ""
3776
 
3777
+ #: lib/class-wedevs-insights.php:666
3778
  msgid "Submit & Deactivate"
3779
  msgstr ""
3780
 
3781
+ #: lib/class-wedevs-insights.php:667
3782
  msgid "Canel"
3783
  msgstr ""
3784
 
 
 
 
 
3785
  #: lib/class-weforms-upsell.php:353
3786
  msgid "You don't have permission to install the plugins"
3787
  msgstr ""
3901
  msgid "Pay Now"
3902
  msgstr ""
3903
 
3904
+ #: templates/dashboard/posts.php:179 templates/dashboard.php:240
3905
  msgid "&laquo;"
3906
  msgstr ""
3907
 
3908
+ #: templates/dashboard/posts.php:180 templates/dashboard.php:241
3909
  msgid "&raquo;"
3910
  msgstr ""
3911
 
3912
+ #: templates/dashboard/posts.php:194 templates/dashboard.php:255
3913
  msgid "No %s found"
3914
  msgstr ""
3915
 
3925
  msgid "Category"
3926
  msgstr ""
3927
 
3928
+ #: templates/dokan/new-post.php:7
3929
+ msgid "You are not allowed to submit post. Please contact admin"
3930
+ msgstr ""
3931
+
3932
+ #: templates/dokan/post-listing.php:3
3933
+ msgid "+ Add Post"
3934
+ msgstr ""
3935
+
3936
  #: templates/logged-in.php:8
3937
  msgid "Hello %s"
3938
  msgstr ""
3945
  msgid "Password"
3946
  msgstr ""
3947
 
3948
+ #: templates/login-form.php:31
3949
  msgid "Remember Me"
3950
  msgstr ""
3951
 
4005
  msgid "-- select --"
4006
  msgstr ""
4007
 
4008
+ #: wpuf-functions.php:410
4009
  msgid "Images"
4010
  msgstr ""
4011
 
4012
+ #: wpuf-functions.php:411
4013
  msgid "Audio"
4014
  msgstr ""
4015
 
4016
+ #: wpuf-functions.php:412
4017
  msgid "Videos"
4018
  msgstr ""
4019
 
4020
+ #: wpuf-functions.php:413
4021
  msgid "PDF"
4022
  msgstr ""
4023
 
4024
+ #: wpuf-functions.php:414
4025
  msgid "Office Documents"
4026
  msgstr ""
4027
 
4028
+ #: wpuf-functions.php:415
4029
  msgid "Zip Archives"
4030
  msgstr ""
4031
 
4032
+ #: wpuf-functions.php:416
4033
  msgid "Executable Files"
4034
  msgstr ""
4035
 
4036
+ #: wpuf-functions.php:417
4037
  msgid "CSV"
4038
  msgstr ""
4039
 
4040
+ #: wpuf-functions.php:1424
 
 
 
 
4041
  msgid "Edit Profile"
4042
  msgstr ""
4043
 
4044
+ #: wpuf-functions.php:1529
4045
  msgid "United Arab Emirates Dirham"
4046
  msgstr ""
4047
 
4048
+ #: wpuf-functions.php:1530
4049
  msgid "Australian Dollars"
4050
  msgstr ""
4051
 
4052
+ #: wpuf-functions.php:1531
4053
  msgid "Argentine Peso"
4054
  msgstr ""
4055
 
4056
+ #: wpuf-functions.php:1532
4057
  msgid "Bangladeshi Taka"
4058
  msgstr ""
4059
 
4060
+ #: wpuf-functions.php:1533
4061
  msgid "Brazilian Real"
4062
  msgstr ""
4063
 
4064
+ #: wpuf-functions.php:1534
4065
  msgid "Bulgarian Lev"
4066
  msgstr ""
4067
 
4068
+ #: wpuf-functions.php:1535
4069
  msgid "Canadian Dollars"
4070
  msgstr ""
4071
 
4072
+ #: wpuf-functions.php:1536
4073
  msgid "Chilean Peso"
4074
  msgstr ""
4075
 
4076
+ #: wpuf-functions.php:1537
4077
  msgid "Chinese Yuan"
4078
  msgstr ""
4079
 
4080
+ #: wpuf-functions.php:1538
4081
  msgid "Colombian Peso"
4082
  msgstr ""
4083
 
4084
+ #: wpuf-functions.php:1539
4085
  msgid "Czech Koruna"
4086
  msgstr ""
4087
 
4088
+ #: wpuf-functions.php:1540
4089
  msgid "Danish Krone"
4090
  msgstr ""
4091
 
4092
+ #: wpuf-functions.php:1541
4093
  msgid "Dominican Peso"
4094
  msgstr ""
4095
 
4096
+ #: wpuf-functions.php:1542
4097
  msgid "Algerian Dinar"
4098
  msgstr ""
4099
 
4100
+ #: wpuf-functions.php:1543
4101
  msgid "Euros"
4102
  msgstr ""
4103
 
4104
+ #: wpuf-functions.php:1544
4105
  msgid "Hong Kong Dollar"
4106
  msgstr ""
4107
 
4108
+ #: wpuf-functions.php:1545
4109
  msgid "Croatia kuna"
4110
  msgstr ""
4111
 
4112
+ #: wpuf-functions.php:1546
4113
  msgid "Hungarian Forint"
4114
  msgstr ""
4115
 
4116
+ #: wpuf-functions.php:1547
4117
  msgid "Icelandic krona"
4118
  msgstr ""
4119
 
4120
+ #: wpuf-functions.php:1548
4121
  msgid "Indonesia Rupiah"
4122
  msgstr ""
4123
 
4124
+ #: wpuf-functions.php:1549
4125
  msgid "Indian Rupee"
4126
  msgstr ""
4127
 
4128
+ #: wpuf-functions.php:1550
4129
  msgid "Nepali Rupee"
4130
  msgstr ""
4131
 
4132
+ #: wpuf-functions.php:1551
4133
  msgid "Israeli Shekel"
4134
  msgstr ""
4135
 
4136
+ #: wpuf-functions.php:1552
4137
  msgid "Japanese Yen"
4138
  msgstr ""
4139
 
4140
+ #: wpuf-functions.php:1553
4141
  msgid "Lao Kip"
4142
  msgstr ""
4143
 
4144
+ #: wpuf-functions.php:1554
4145
  msgid "South Korean Won"
4146
  msgstr ""
4147
 
4148
+ #: wpuf-functions.php:1555
4149
  msgid "Malaysian Ringgits"
4150
  msgstr ""
4151
 
4152
+ #: wpuf-functions.php:1556
4153
  msgid "Mexican Peso"
4154
  msgstr ""
4155
 
4156
+ #: wpuf-functions.php:1557
4157
  msgid "Nigerian Naira"
4158
  msgstr ""
4159
 
4160
+ #: wpuf-functions.php:1558
4161
  msgid "Norwegian Krone"
4162
  msgstr ""
4163
 
4164
+ #: wpuf-functions.php:1559
4165
  msgid "New Zealand Dollar"
4166
  msgstr ""
4167
 
4168
+ #: wpuf-functions.php:1560
4169
  msgid "Omani Rial"
4170
  msgstr ""
4171
 
4172
+ #: wpuf-functions.php:1561
4173
  msgid "Iranian Rial"
4174
  msgstr ""
4175
 
4176
+ #: wpuf-functions.php:1562
4177
  msgid "Pakistani Rupee"
4178
  msgstr ""
4179
 
4180
+ #: wpuf-functions.php:1563
4181
  msgid "Paraguayan Guaraní"
4182
  msgstr ""
4183
 
4184
+ #: wpuf-functions.php:1564
4185
  msgid "Philippine Pesos"
4186
  msgstr ""
4187
 
4188
+ #: wpuf-functions.php:1565
4189
  msgid "Polish Zloty"
4190
  msgstr ""
4191
 
4192
+ #: wpuf-functions.php:1566
4193
  msgid "Pounds Sterling"
4194
  msgstr ""
4195
 
4196
+ #: wpuf-functions.php:1567
4197
  msgid "Romanian Leu"
4198
  msgstr ""
4199
 
4200
+ #: wpuf-functions.php:1568
4201
  msgid "Russian Ruble"
4202
  msgstr ""
4203
 
4204
+ #: wpuf-functions.php:1569
4205
  msgid "Saudi Riyal"
4206
  msgstr ""
4207
 
4208
+ #: wpuf-functions.php:1570
4209
  msgid "Singapore Dollar"
4210
  msgstr ""
4211
 
4212
+ #: wpuf-functions.php:1571
4213
  msgid "South African rand"
4214
  msgstr ""
4215
 
4216
+ #: wpuf-functions.php:1572
4217
  msgid "Swedish Krona"
4218
  msgstr ""
4219
 
4220
+ #: wpuf-functions.php:1573
4221
  msgid "Swiss Franc"
4222
  msgstr ""
4223
 
4224
+ #: wpuf-functions.php:1574
4225
  msgid "Taiwan New Dollars"
4226
  msgstr ""
4227
 
4228
+ #: wpuf-functions.php:1575
4229
  msgid "Thai Baht"
4230
  msgstr ""
4231
 
4232
+ #: wpuf-functions.php:1576
4233
  msgid "Turkish Lira"
4234
  msgstr ""
4235
 
4236
+ #: wpuf-functions.php:1577
4237
  msgid "US Dollar"
4238
  msgstr ""
4239
 
4240
+ #: wpuf-functions.php:1578
4241
  msgid "Vietnamese Dong"
4242
  msgstr ""
4243
 
4244
+ #: wpuf-functions.php:1579
4245
  msgid "Egyptian Pound"
4246
  msgstr ""
4247
 
4248
+ #: wpuf.php:104
4249
+ msgid "Your installed PHP Version is: "
4250
+ msgstr ""
4251
+
4252
+ #: wpuf.php:105
4253
+ msgid "The <strong>WP User Frontend</strong> plugin requires PHP version <strong>"
4254
+ msgstr ""
4255
+
4256
+ #: wpuf.php:105
4257
+ msgid "</strong> or greater."
4258
+ msgstr ""
4259
+
4260
+ #: wpuf.php:186
4261
  msgid "Your Post Has Been Expired"
4262
  msgstr ""
4263
 
4264
+ #: wpuf.php:623
4265
  msgid "Error: Nonce verification failed"
4266
  msgstr ""
4267
 
4283
  msgid "https://tareq.co"
4284
  msgstr ""
4285
 
4286
+ #: wpuf-functions.php:1041
4287
  msgctxt "tag delimiter"
4288
  msgid ","
4289
  msgstr ""
lib/class-wedevs-insights.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if ( ! class_exists( 'WeDevs_Insights' ) ) :
4
 
5
  /**
6
  * weDevs Tracker
@@ -13,7 +13,7 @@ if ( ! class_exists( 'WeDevs_Insights' ) ) :
13
  *
14
  * @author Tareq Hasan <tareq@wedevs.com>
15
  */
16
- class WeDevs_Insights {
17
 
18
  /**
19
  * Slug of the plugin
@@ -233,7 +233,25 @@ class WeDevs_Insights {
233
  * @return boolean
234
  */
235
  private function is_local_server() {
236
- return in_array( $_SERVER['REMOTE_ADDR'], array( '127.0.0.1', '::1' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  }
238
 
239
  /**
@@ -254,6 +272,28 @@ class WeDevs_Insights {
254
  wp_clear_scheduled_hook( $this->slug . '_tracker_send_event' );
255
  }
256
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  /**
258
  * Display the admin notice to users that have not opted-in or out
259
  *
@@ -273,25 +313,29 @@ class WeDevs_Insights {
273
  return;
274
  }
275
 
 
 
 
 
276
  // don't show tracking if a local server
277
  if ( ! $this->is_local_server() ) {
278
  $optin_url = add_query_arg( $this->slug . '_tracker_optin', 'true' );
279
  $optout_url = add_query_arg( $this->slug . '_tracker_optout', 'true' );
280
 
281
  if ( empty( $this->notice ) ) {
282
- $notice = sprintf( __( 'Want to help make <strong>%s</strong> even more awesome? Allow weDevs to collect non-sensitive diagnostic data and usage information.', 'textdomain' ), $this->name );
283
  } else {
284
  $notice = $this->notice;
285
  }
286
 
287
- $notice .= ' (<a class="insights-data-we-collect" href="#">' . __( 'what we collect', 'textdomain' ) . '</a>)';
288
  $notice .= '<p class="description" style="display:none;">' . implode( ', ', $this->data_we_collect() ) . '. No sensitive data is tracked.</p>';
289
 
290
  echo '<div class="updated"><p>';
291
  echo $notice;
292
  echo '</p><p class="submit">';
293
- echo '&nbsp;<a href="' . esc_url( $optin_url ) . '" class="button-primary button-large">' . __( 'Allow', 'textdomain' ) . '</a>';
294
- echo '&nbsp;<a href="' . esc_url( $optout_url ) . '" class="button-secondary button-large">' . __( 'No thanks', 'textdomain' ) . '</a>';
295
  echo '</p></div>';
296
 
297
  echo "<script type='text/javascript'>jQuery('.insights-data-we-collect').on('click', function(e) {
@@ -468,7 +512,7 @@ class WeDevs_Insights {
468
 
469
  $schedules['weekly'] = array(
470
  'interval' => DAY_IN_SECONDS * 7,
471
- 'display' => __( 'Once Weekly', 'textdomain' )
472
  );
473
 
474
  return $schedules;
@@ -604,7 +648,7 @@ class WeDevs_Insights {
604
  <div class="wd-dr-modal" id="<?php echo $this->slug; ?>-wd-dr-modal">
605
  <div class="wd-dr-modal-wrap">
606
  <div class="wd-dr-modal-header">
607
- <h3><?php _e( 'If you have a moment, please let us know why you are deactivating:', 'domain' ); ?></h3>
608
  </div>
609
 
610
  <div class="wd-dr-modal-body">
@@ -618,9 +662,9 @@ class WeDevs_Insights {
618
  </div>
619
 
620
  <div class="wd-dr-modal-footer">
621
- <a href="#" class="dont-bother-me"><?php _e( 'I rather wouldn\'t say', 'domain' ); ?></a>
622
- <button class="button-secondary"><?php _e( 'Submit & Deactivate', 'domain' ); ?></button>
623
- <button class="button-primary"><?php _e( 'Canel', 'domain' ); ?></button>
624
  </div>
625
  </div>
626
  </div>
@@ -747,4 +791,4 @@ class WeDevs_Insights {
747
  }
748
  }
749
 
750
- endif;
1
  <?php
2
 
3
+ if ( ! class_exists( 'WPUF_WeDevs_Insights' ) ) :
4
 
5
  /**
6
  * weDevs Tracker
13
  *
14
  * @author Tareq Hasan <tareq@wedevs.com>
15
  */
16
+ class WPUF_WeDevs_Insights {
17
 
18
  /**
19
  * Slug of the plugin
233
  * @return boolean
234
  */
235
  private function is_local_server() {
236
+
237
+ if ( $_SERVER['HTTP_HOST'] == 'localhost'
238
+ || substr( $_SERVER['REMOTE_ADDR'], 0, 3 ) == '10.'
239
+ || substr( $_SERVER['REMOTE_ADDR'], 0, 7 ) == '192.168' ) {
240
+
241
+ return true;
242
+ }
243
+
244
+ if ( in_array( $_SERVER['REMOTE_ADDR'], array( '127.0.0.1', '::1' ) ) ) {
245
+ return true;
246
+ }
247
+
248
+ $fragments = explode( '.', site_url() );
249
+
250
+ if ( in_array( end( $fragments ), array( 'dev', 'local', 'localhost', 'test' ) ) ) {
251
+ return true;
252
+ }
253
+
254
+ return false;
255
  }
256
 
257
  /**
272
  wp_clear_scheduled_hook( $this->slug . '_tracker_send_event' );
273
  }
274
 
275
+ /**
276
+ * If the admin notice should be shown
277
+ *
278
+ * Show the notice after X days
279
+ *
280
+ * @return boolean
281
+ */
282
+ public function should_display_notice( $days = 7 ) {
283
+ $installed = get_option( 'wpuf_installed' );
284
+
285
+ if ( $installed ) {
286
+ $diff = time() - $installed;
287
+
288
+ // if installed 7 days ago
289
+ if ( floor( $diff / DAY_IN_SECONDS ) > $days ) {
290
+ return true;
291
+ }
292
+ }
293
+
294
+ return false;
295
+ }
296
+
297
  /**
298
  * Display the admin notice to users that have not opted-in or out
299
  *
313
  return;
314
  }
315
 
316
+ if ( ! $this->should_display_notice() ) {
317
+ return;
318
+ }
319
+
320
  // don't show tracking if a local server
321
  if ( ! $this->is_local_server() ) {
322
  $optin_url = add_query_arg( $this->slug . '_tracker_optin', 'true' );
323
  $optout_url = add_query_arg( $this->slug . '_tracker_optout', 'true' );
324
 
325
  if ( empty( $this->notice ) ) {
326
+ $notice = sprintf( __( 'Want to help make <strong>%s</strong> even more awesome? Allow weDevs to collect non-sensitive diagnostic data and usage information.', 'wpuf' ), $this->name );
327
  } else {
328
  $notice = $this->notice;
329
  }
330
 
331
+ $notice .= ' (<a class="insights-data-we-collect" href="#">' . __( 'what we collect', 'wpuf' ) . '</a>)';
332
  $notice .= '<p class="description" style="display:none;">' . implode( ', ', $this->data_we_collect() ) . '. No sensitive data is tracked.</p>';
333
 
334
  echo '<div class="updated"><p>';
335
  echo $notice;
336
  echo '</p><p class="submit">';
337
+ echo '&nbsp;<a href="' . esc_url( $optin_url ) . '" class="button-primary button-large">' . __( 'Allow', 'wpuf' ) . '</a>';
338
+ echo '&nbsp;<a href="' . esc_url( $optout_url ) . '" class="button-secondary button-large">' . __( 'No thanks', 'wpuf' ) . '</a>';
339
  echo '</p></div>';
340
 
341
  echo "<script type='text/javascript'>jQuery('.insights-data-we-collect').on('click', function(e) {
512
 
513
  $schedules['weekly'] = array(
514
  'interval' => DAY_IN_SECONDS * 7,
515
+ 'display' => __( 'Once Weekly', 'wpuf' )
516
  );
517
 
518
  return $schedules;
648
  <div class="wd-dr-modal" id="<?php echo $this->slug; ?>-wd-dr-modal">
649
  <div class="wd-dr-modal-wrap">
650
  <div class="wd-dr-modal-header">
651
+ <h3><?php _e( 'If you have a moment, please let us know why you are deactivating:', 'wpuf' ); ?></h3>
652
  </div>
653
 
654
  <div class="wd-dr-modal-body">
662
  </div>
663
 
664
  <div class="wd-dr-modal-footer">
665
+ <a href="#" class="dont-bother-me"><?php _e( 'I rather wouldn\'t say', 'wpuf' ); ?></a>
666
+ <button class="button-secondary"><?php _e( 'Submit & Deactivate', 'wpuf' ); ?></button>
667
+ <button class="button-primary"><?php _e( 'Canel', 'wpuf' ); ?></button>
668
  </div>
669
  </div>
670
  </div>
791
  }
792
  }
793
 
794
+ endif;
lib/class-weforms-upsell.php CHANGED
@@ -74,11 +74,11 @@ class WeForms_Upsell {
74
  <p>weForms is the next generation contact form plugin for WordPress.</p>
75
  </div>
76
  <div class="weforms-upsell-cta">
77
- <button id="weforms-upsell-prompt-btn" class="button"><?php _e( 'Install Now', 'weforms' ); ?></button>
78
  &nbsp;<a href="#" class="learn-more" data-tube="NJvjy9WFyAM">Learn More</a>
79
  </div>
80
- <button type="button" class="notice-dismiss" style="padding: 3px;" title="<?php _e( 'Dismiss this notice.' ); ?>">
81
- <span class="screen-reader-text"><?php _e( 'Dismiss this notice.' ); ?></span>
82
  </button>
83
  </div>
84
 
@@ -350,7 +350,7 @@ class WeForms_Upsell {
350
  check_ajax_referer( 'weforms_upsell_installer' );
351
 
352
  if ( ! current_user_can( 'manage_options' ) ) {
353
- wp_send_json_error( __( 'You don\'t have permission to install the plugins' ) );
354
  }
355
 
356
  $weforms_status = $this->install_plugin( 'weforms', 'weforms.php' );
74
  <p>weForms is the next generation contact form plugin for WordPress.</p>
75
  </div>
76
  <div class="weforms-upsell-cta">
77
+ <button id="weforms-upsell-prompt-btn" class="button"><?php _e( 'Install Now', 'wpuf' ); ?></button>
78
  &nbsp;<a href="#" class="learn-more" data-tube="NJvjy9WFyAM">Learn More</a>
79
  </div>
80
+ <button type="button" class="notice-dismiss" style="padding: 3px;" title="<?php _e( 'Dismiss this notice.', 'wpuf' ); ?>">
81
+ <span class="screen-reader-text"><?php _e( 'Dismiss this notice.', 'wpuf' ); ?></span>
82
  </button>
83
  </div>
84
 
350
  check_ajax_referer( 'weforms_upsell_installer' );
351
 
352
  if ( ! current_user_can( 'manage_options' ) ) {
353
+ wp_send_json_error( __( 'You don\'t have permission to install the plugins', 'wpuf' ) );
354
  }
355
 
356
  $weforms_status = $this->install_plugin( 'weforms', 'weforms.php' );
lib/class.settings-api.php CHANGED
@@ -361,7 +361,7 @@ class WeDevs_Settings_API {
361
  $value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
362
  $size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
363
  $id = $args['section'] . '[' . $args['id'] . ']';
364
- $label = isset( $args['options']['button_label'] ) ? $args['options']['button_label'] : __( 'Choose File' );
365
 
366
  $html = sprintf( '<input type="text" class="%1$s-text wpsa-url" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
367
  $html .= '<input type="button" class="button wpsa-browse" value="' . $label . '" />';
@@ -488,7 +488,7 @@ class WeDevs_Settings_API {
488
  }
489
 
490
  foreach ( $this->settings_sections as $tab ) {
491
- $html .= sprintf( '<a href="#%1$s" class="nav-tab" id="%1$s-tab">%2$s</a>', $tab['id'], $tab['title'] );
492
  }
493
 
494
  $html .= '</h2>';
361
  $value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
362
  $size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
363
  $id = $args['section'] . '[' . $args['id'] . ']';
364
+ $label = isset( $args['options']['button_label'] ) ? $args['options']['button_label'] : __( 'Choose File', 'wpuf' );
365
 
366
  $html = sprintf( '<input type="text" class="%1$s-text wpsa-url" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
367
  $html .= '<input type="button" class="button wpsa-browse" value="' . $label . '" />';
488
  }
489
 
490
  foreach ( $this->settings_sections as $tab ) {
491
+ $html .= sprintf( '<a href="#%1$s" class="nav-tab" id="%1$s-tab"><span class="dashicons %3$s"></span> %2$s</a>', $tab['id'], $tab['title'], ! empty( $tab['icon'] ) ? $tab['icon'] : '' );
492
  }
493
 
494
  $html .= '</h2>';
lib/gateway/paypal.php CHANGED
@@ -352,8 +352,8 @@ class WPUF_Paypal {
352
  'user_id' => (int) $custom->user_id,
353
  'status' => strtolower( $postdata['payment_status'] ),
354
  'cost' => $postdata['mc_gross'],
355
- 'post_id' => $post_id,
356
- 'pack_id' => $pack_id,
357
  'payer_first_name' => $postdata['first_name'],
358
  'payer_last_name' => $postdata['last_name'],
359
  'payer_email' => $postdata['payer_email'],
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 : '',
357
  'payer_first_name' => $postdata['first_name'],
358
  'payer_last_name' => $postdata['last_name'],
359
  'payer_email' => $postdata['payer_email'],
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.8.1
7
  Requires PHP: 5.4
8
- Stable tag: 2.6.1
9
  License: GPLv2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -170,6 +170,21 @@ redirected to the edit page with that post id. Then you'll see the edit post for
170
 
171
  == Changelog ==
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  = v2.6.1 (8 November, 2017) =
174
 
175
  * **Fix:** Fixed subscription pack frontend display issue. A small bug was introduced that was preventing displaying the subscription packs correctly.
5
  Requires at least: 4.0
6
  Tested up to: 4.8.1
7
  Requires PHP: 5.4
8
+ Stable tag: 2.7.0
9
  License: GPLv2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
170
 
171
  == Changelog ==
172
 
173
+ = v2.7.0 (12 December, 2017) =
174
+
175
+ * **New:** Posting integration with Dokan added. Now you can create and edit blog posts from your Dokan dashboard.
176
+ * **New:** Fallback cost for form subscription payment. When a subscribed user reaches post limit before the pack expires, this option will allow user to pay per post and continue making posts until the membership is valid.
177
+ * **New:** Added bulk accept feature to pending transactions.
178
+ * **New:** We have removed the add-on page and introduced a premium page with all the features available for you when you upgrade to pro version.
179
+ * **New:** A **What's New** page has been added to let users know about the most important new features and fixes has been introduced to the current version of the plugin.
180
+ * **New:** Newsletter subscription form added on the help page to keep you staying updated with latest news from us.
181
+ * **Improved:** A newly designed settings page has been introduced where you can easily configure everything more easily.
182
+ * **Improved:** If you are using a PHP version older than 5.4, you'll see notice to update your PHP version.
183
+ * **Improved:** Design improvements of subscription edit screen and user profile area in backend, it looks pretier now.
184
+ * **Improved:** Few settings options has been re-arranged in different tabs for better understanding.
185
+ * **Fix:** Fix Pay Per Post only shows round figure in frontend. #269
186
+
187
+
188
  = v2.6.1 (8 November, 2017) =
189
 
190
  * **Fix:** Fixed subscription pack frontend display issue. A small bug was introduced that was preventing displaying the subscription packs correctly.
templates/account.php CHANGED
@@ -4,7 +4,13 @@
4
  <?php
5
  if ( is_user_logged_in() ) {
6
  foreach ( $sections as $section ) {
7
- if ( 'subscription' == $section['slug'] && wpuf_get_option( 'show_subscriptions', 'wpuf_payment' ) != 'yes' ) {
 
 
 
 
 
 
8
  continue;
9
  }
10
  echo sprintf(
4
  <?php
5
  if ( is_user_logged_in() ) {
6
  foreach ( $sections as $section ) {
7
+ if ( 'subscription' == $section['slug'] && wpuf_get_option( 'show_subscriptions', 'wpuf_my_account' ) == 'no' ) {
8
+ continue;
9
+ }
10
+ if ( 'invoices' == $section['slug'] && wpuf_get_option( 'show_invoice', 'wpuf_my_account' ) == 'no' ) {
11
+ continue;
12
+ }
13
+ if ( 'billing_address' == $section['slug'] && wpuf_get_option( 'show_billing_address', 'wpuf_my_account' ) == 'no' ) {
14
  continue;
15
  }
16
  echo sprintf(
templates/dashboard.php CHANGED
@@ -11,10 +11,10 @@
11
  <?php if ( !empty( $post_type_obj ) ) do_action( 'wpuf_dashboard_top', $userdata->ID, $post_type_obj ) ?>
12
  <?php
13
 
14
- $meta_label = array();
15
  $meta_name = array();
16
  $meta_id = array();
17
- $meta_key = array();
18
  if ( !empty( $meta ) ) {
19
  $arr = explode(',', $meta);
20
  foreach ($arr as $mkey) {
@@ -80,13 +80,13 @@
80
 
81
  <?php
82
  // populate meta column headers
83
-
84
  if ( $meta != 'off' ) {
85
  for ( $i = 0; $i < $len_label; $i++ ) {
86
  for ( $j = 0; $j < $len; $j++ ) {
87
  if ( $meta_key[$j] == $meta_name[$i] ) {
88
  echo '<th>';
89
- echo __( $meta_label[$i] );
90
  echo '</th>';
91
  }
92
  }
@@ -152,11 +152,11 @@
152
  <td>
153
  <?php the_category( ', ' ); ?>
154
  </td>
155
- <?php }
156
 
157
  //populate meta column fields
158
  ?>
159
- <?php if ( $meta != 'off' ) {
160
  for ( $i = 0; $i < $len_label; $i++ ) {
161
  for ( $j = 0; $j < $len; $j++ ) {
162
  if ( $meta_key[$j] == $meta_name[$i] ) {
@@ -166,7 +166,7 @@
166
  echo '</td>';
167
  }
168
  }
169
- }
170
  } ?>
171
 
172
  <?php if ( 'on' == $excerpt ) { ?>
@@ -188,22 +188,28 @@
188
  <td>
189
  <?php if ( $post->post_status == 'pending' && $order_id && $payment_status != 'completed' ) { ?>
190
  <a href="<?php echo trailingslashit( get_permalink( wpuf_get_option( 'payment_page', 'wpuf_payment' ) ) ); ?>?action=wpuf_pay&type=post&post_id=<?php echo $post->ID; ?>"><?php _e( 'Pay Now', 'wpuf' ); ?></a>
191
- <?php } ?>
 
 
 
192
  </td>
193
  <?php } ?>
194
 
195
  <td>
196
  <?php
197
- if ( wpuf_get_option( 'enable_post_edit', 'wpuf_dashboard', 'yes' ) == 'yes' ) {
198
- $disable_pending_edit = wpuf_get_option( 'disable_pending_edit', 'wpuf_dashboard', 'on' );
199
- $edit_page = (int) wpuf_get_option( 'edit_page_id', 'wpuf_general' );
200
- $url = add_query_arg( array('pid' => $post->ID), get_permalink( $edit_page ) );
 
 
 
201
 
202
  if ( $post->post_status == 'pending' && $disable_pending_edit == 'on' ) {
203
  // don't show the edit link
204
  } else {
205
  ?>
206
- <a href="<?php echo wp_nonce_url( $url, 'wpuf_edit' ); ?>"><?php _e( 'Edit', 'wpuf' ); ?></a>
207
  <?php
208
  }
209
  }
@@ -248,7 +254,7 @@
248
  if ( !empty( $post_type_obj ) ) {
249
  printf( '<div class="wpuf-message">' . __( 'No %s found', 'wpuf' ) . '</div>', $post_type_obj->label );
250
  do_action( 'wpuf_dashboard_nopost', $userdata->ID, $post_type_obj );
251
- }
252
  }
253
  if ( !empty( $post_type_obj ) ) do_action( 'wpuf_dashboard_bottom', $userdata->ID, $post_type_obj ); ?>
254
 
11
  <?php if ( !empty( $post_type_obj ) ) do_action( 'wpuf_dashboard_top', $userdata->ID, $post_type_obj ) ?>
12
  <?php
13
 
14
+ $meta_label = array();
15
  $meta_name = array();
16
  $meta_id = array();
17
+ $meta_key = array();
18
  if ( !empty( $meta ) ) {
19
  $arr = explode(',', $meta);
20
  foreach ($arr as $mkey) {
80
 
81
  <?php
82
  // populate meta column headers
83
+
84
  if ( $meta != 'off' ) {
85
  for ( $i = 0; $i < $len_label; $i++ ) {
86
  for ( $j = 0; $j < $len; $j++ ) {
87
  if ( $meta_key[$j] == $meta_name[$i] ) {
88
  echo '<th>';
89
+ echo __( $meta_label[$i], 'wpuf' );
90
  echo '</th>';
91
  }
92
  }
152
  <td>
153
  <?php the_category( ', ' ); ?>
154
  </td>
155
+ <?php }
156
 
157
  //populate meta column fields
158
  ?>
159
+ <?php if ( $meta != 'off' ) {
160
  for ( $i = 0; $i < $len_label; $i++ ) {
161
  for ( $j = 0; $j < $len; $j++ ) {
162
  if ( $meta_key[$j] == $meta_name[$i] ) {
166
  echo '</td>';
167
  }
168
  }
169
+ }
170
  } ?>
171
 
172
  <?php if ( 'on' == $excerpt ) { ?>
188
  <td>
189
  <?php if ( $post->post_status == 'pending' && $order_id && $payment_status != 'completed' ) { ?>
190
  <a href="<?php echo trailingslashit( get_permalink( wpuf_get_option( 'payment_page', 'wpuf_payment' ) ) ); ?>?action=wpuf_pay&type=post&post_id=<?php echo $post->ID; ?>"><?php _e( 'Pay Now', 'wpuf' ); ?></a>
191
+ <?php }
192
+ elseif ( $payment_status == 'completed' ) {
193
+ echo "Completed";
194
+ }?>
195
  </td>
196
  <?php } ?>
197
 
198
  <td>
199
  <?php
200
+ if ( wpuf_get_option( 'enable_post_edit', 'wpuf_frontend_posting', 'yes' ) == 'yes' ) {
201
+ $disable_pending_edit = wpuf_get_option( 'disable_pending_edit', 'wpuf_dashboard', 'on' );
202
+ $edit_page = (int) wpuf_get_option( 'edit_page_id', 'wpuf_general' );
203
+ $post_id = $post->ID;
204
+ $url = add_query_arg( array('pid' => $post->ID), get_permalink( $edit_page ) );
205
+
206
+ $edit_page_url = apply_filters( 'wpuf_edit_post_link', $url );
207
 
208
  if ( $post->post_status == 'pending' && $disable_pending_edit == 'on' ) {
209
  // don't show the edit link
210
  } else {
211
  ?>
212
+ <a href="<?php echo wp_nonce_url( $edit_page_url, 'wpuf_edit' ); ?>"><?php _e( 'Edit', 'wpuf' ); ?></a>
213
  <?php
214
  }
215
  }
254
  if ( !empty( $post_type_obj ) ) {
255
  printf( '<div class="wpuf-message">' . __( 'No %s found', 'wpuf' ) . '</div>', $post_type_obj->label );
256
  do_action( 'wpuf_dashboard_nopost', $userdata->ID, $post_type_obj );
257
+ }
258
  }
259
  if ( !empty( $post_type_obj ) ) do_action( 'wpuf_dashboard_bottom', $userdata->ID, $post_type_obj ); ?>
260
 
templates/dashboard/posts.php CHANGED
@@ -141,7 +141,7 @@ $post_type_obj = get_post_type_object( $post_type );
141
  <?php
142
  if ( wpuf_get_option( 'enable_post_edit', 'wpuf_dashboard', 'yes' ) == 'yes' ) {
143
  $disable_pending_edit = wpuf_get_option( 'disable_pending_edit', 'wpuf_dashboard', 'on' );
144
- $edit_page = (int) wpuf_get_option( 'edit_page_id', 'wpuf_general' );
145
  $url = add_query_arg( array('pid' => $post->ID), get_permalink( $edit_page ) );
146
 
147
  if ( $post->post_status == 'pending' && $disable_pending_edit == 'on' ) {
141
  <?php
142
  if ( wpuf_get_option( 'enable_post_edit', 'wpuf_dashboard', 'yes' ) == 'yes' ) {
143
  $disable_pending_edit = wpuf_get_option( 'disable_pending_edit', 'wpuf_dashboard', 'on' );
144
+ $edit_page = (int) wpuf_get_option( 'edit_page_id', 'wpuf_frontend_posting' );
145
  $url = add_query_arg( array('pid' => $post->ID), get_permalink( $edit_page ) );
146
 
147
  if ( $post->post_status == 'pending' && $disable_pending_edit == 'on' ) {
templates/dokan/edit-post.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php echo do_shortcode( '[wpuf_edit]' ); ?>
templates/dokan/new-post.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $access = dokan_get_option( 'allow_wpuf_post', 'dokan_general' );
4
+ $selected_form = dokan_get_option( 'wpuf_post_forms', 'dokan_general' );
5
+
6
+ if ( $access != 'on' ) {
7
+ echo __( 'You are not allowed to submit post. Please contact admin', 'wpuf' );
8
+ }else {
9
+ echo do_shortcode( '[wpuf_form id="' . $selected_form . '"]' );
10
+ }
templates/dokan/post-listing.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <header class="dokan-dashboard-header">
2
+ <span class="pull-right">
3
+ <a href="<?php echo dokan_get_navigation_url( 'posts' ); ?>?action=new-post" class="dokan-btn dokan-btn-theme"><?php _e( '+ Add Post', 'wpuf' ); ?></a>
4
+ </span>
5
+ </header><!-- .dokan-dashboard-header -->
6
+
7
+ <?php echo do_shortcode( '[wpuf_dashboard]' ); ?>
templates/dokan/posts.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="dokan-dashboard-wrap">
2
+
3
+ <?php
4
+
5
+ /**
6
+ * dokan_dashboard_content_before hook
7
+ * dokan_dashboard_support_content_before
8
+ *
9
+ * @hooked get_dashboard_side_navigation
10
+ *
11
+ * @since 2.4
12
+ */
13
+ do_action( 'dokan_dashboard_content_before' );
14
+ do_action( 'dokan_dashboard_support_content_before' );
15
+ ?>
16
+
17
+ <div class="dokan-dashboard-content dokan-wpuf-dashboard">
18
+ <?php
19
+ $action = isset( $_GET['action'] ) ? $_GET['action'] : '';
20
+
21
+ if ( $action == 'new-post' ) {
22
+ require_once WPUF_ROOT . '/templates/dokan/new-post.php';
23
+ }else if( $action == 'edit-post' ) {
24
+ require_once WPUF_ROOT . '/templates/dokan/edit-post.php';
25
+ }else{
26
+ require_once WPUF_ROOT . '/templates/dokan/post-listing.php';
27
+ }
28
+ ?>
29
+
30
+ </div><!-- .dokan-dashboard-content -->
31
+
32
+ <?php
33
+
34
+ /**
35
+ * dokan_dashboard_content_after hook
36
+ * dokan_dashboard_support_content_after hook
37
+ *
38
+ * @since 2.4
39
+ */
40
+ do_action( 'dokan_dashboard_content_after' );
41
+ do_action( 'dokan_dashboard_support_content_after' );
42
+ ?>
43
+
44
+ </div><!-- .dokan-dashboard-wrap -->
templates/login-form.php CHANGED
@@ -26,8 +26,6 @@
26
  <input type="password" name="pwd" id="wpuf-user_pass" class="input" value="" size="20" />
27
  </p>
28
 
29
- <?php do_action( 'login_form' ); ?>
30
-
31
  <p class="forgetmenot">
32
  <input name="rememberme" type="checkbox" id="wpuf-rememberme" value="forever" />
33
  <label for="wpuf-rememberme"><?php esc_attr_e( 'Remember Me', 'wpuf' ); ?></label>
@@ -40,6 +38,9 @@
40
  <input type="hidden" name="action" value="login" />
41
  <?php wp_nonce_field( 'wpuf_login_action' ); ?>
42
  </p>
 
 
 
43
  </form>
44
 
45
  <?php echo wpuf()->login->get_action_links( array( 'login' => false ) ); ?>
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>
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 ) ); ?>
templates/registration-form.php CHANGED
@@ -68,8 +68,6 @@
68
  </div>
69
  </li>
70
 
71
- <?php do_action( 'registration_form' ); ?>
72
-
73
  <li class="wpuf-submit">
74
  <input type="submit" name="wp-submit" id="wp-submit" value="<?php esc_attr_e( 'Register', 'wpuf' ); ?>" />
75
  <input type="hidden" name="urhidden" value=" <?php echo $userrole; ?>" />
@@ -80,6 +78,8 @@
80
  <?php wp_nonce_field( 'wpuf_registration_action' ); ?>
81
  </li>
82
 
 
 
83
  </ul>
84
  </form>
85
  </div>
68
  </div>
69
  </li>
70
 
 
 
71
  <li class="wpuf-submit">
72
  <input type="submit" name="wp-submit" id="wp-submit" value="<?php esc_attr_e( 'Register', 'wpuf' ); ?>" />
73
  <input type="hidden" name="urhidden" value=" <?php echo $userrole; ?>" />
78
  <?php wp_nonce_field( 'wpuf_registration_action' ); ?>
79
  </li>
80
 
81
+ <?php do_action( 'wpuf_reg_form_bottom' ); ?>
82
+
83
  </ul>
84
  </form>
85
  </div>
wpuf-functions.php CHANGED
@@ -229,7 +229,7 @@ function wpuf_get_pages( $post_type = 'page' ) {
229
  * @param int $post_id
230
  * @return string url of the current edit post page
231
  */
232
- function wpuf_edit_post_link( $url, $post_id ) {
233
  if ( is_admin() ) {
234
  return $url;
235
  }
@@ -240,7 +240,7 @@ function wpuf_edit_post_link( $url, $post_id ) {
240
  $url = '';
241
 
242
  if ( wpuf_get_option( 'enable_post_edit', 'wpuf_dashboard', 'yes' ) == 'yes' ) {
243
- $edit_page = (int) wpuf_get_option( 'edit_page_id', 'wpuf_general' );
244
  $url = get_permalink( $edit_page );
245
 
246
  $url = wp_nonce_url( $url . '?pid=' . $post_id, 'wpuf_edit' );
@@ -250,7 +250,7 @@ function wpuf_edit_post_link( $url, $post_id ) {
250
  return $url;
251
  }
252
 
253
- add_filter( 'get_edit_post_link', 'wpuf_edit_post_link', 10, 2 );
254
 
255
  /**
256
  * Create HTML dropdown list of Categories.
@@ -352,6 +352,7 @@ function wpuf_category_checklist( $post_id = 0, $selected_cats = false, $attr =
352
  $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
353
  $exclude = explode( ',', $attr['exclude'] );
354
  $tax = $attr['name'];
 
355
 
356
  $args = array(
357
  'taxonomy' => $tax,
@@ -367,12 +368,15 @@ function wpuf_category_checklist( $post_id = 0, $selected_cats = false, $attr =
367
 
368
  $args['class'] = $class;
369
 
370
- $categories = (array) get_terms( $tax, array(
371
  'hide_empty' => false,
372
  $exclude_type => (array) $exclude,
373
  'orderby' => isset( $attr['orderby'] ) ? $attr['orderby'] : 'name',
374
  'order' => isset( $attr['order'] ) ? $attr['order'] : 'ASC',
375
- ) );
 
 
 
376
 
377
  echo '<ul class="wpuf-category-checklist">';
378
  printf( '<input type="hidden" name="%s" value="0" />', $tax );
@@ -408,7 +412,7 @@ function wpuf_allowed_extensions() {
408
  'video' => array('ext' => 'avi,divx,flv,mov,ogv,mkv,mp4,m4v,divx,mpg,mpeg,mpe', 'label' => __( 'Videos', 'wpuf' )),
409
  'pdf' => array('ext' => 'pdf', 'label' => __( 'PDF', 'wpuf' )),
410
  'office' => array('ext' => 'doc,ppt,pps,xls,mdb,docx,xlsx,pptx,odt,odp,ods,odg,odc,odb,odf,rtf,txt', 'label' => __( 'Office Documents', 'wpuf' )),
411
- 'zip' => array('ext' => 'zip,gz,gzip,rar,7z', 'label' => __( 'Zip Archives' )),
412
  'exe' => array('ext' => 'exe', 'label' => __( 'Executable Files', 'wpuf' )),
413
  'csv' => array('ext' => 'csv', 'label' => __( 'CSV', 'wpuf' ))
414
  );
@@ -614,13 +618,13 @@ function wpuf_get_gateways( $context = 'admin' ) {
614
  function wpuf_show_custom_fields( $content ) {
615
  global $post;
616
 
617
- $show_custom = wpuf_get_option( 'cf_show_front', 'wpuf_general' );
618
 
619
  if ( $show_custom != 'on' ) {
620
  return $content;
621
  }
622
 
623
- $show_caption = wpuf_get_option( 'image_caption', 'wpuf_general' );
624
  $form_id = get_post_meta( $post->ID, '_wpuf_form_id', true );
625
  $form_settings = wpuf_get_form_settings( $form_id );
626
 
@@ -1034,7 +1038,7 @@ function wpufe_ajax_tag_search() {
1034
 
1035
  $s = wp_unslash( $_GET['q'] );
1036
 
1037
- $comma = _x( ',', 'tag delimiter' );
1038
  if ( ',' !== $comma )
1039
  $s = str_replace( $comma, ',', $s );
1040
  if ( false !== strpos( $s, ',' ) ) {
@@ -2293,3 +2297,51 @@ function wpuf_get_user( $user = null ) {
2293
 
2294
  return new WPUF_User( $user );
2295
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  * @param int $post_id
230
  * @return string url of the current edit post page
231
  */
232
+ function wpuf_override_admin_edit_link( $url, $post_id ) {
233
  if ( is_admin() ) {
234
  return $url;
235
  }
240
  $url = '';
241
 
242
  if ( wpuf_get_option( 'enable_post_edit', 'wpuf_dashboard', 'yes' ) == 'yes' ) {
243
+ $edit_page = (int) wpuf_get_option( 'edit_page_id', 'wpuf_frontend_posting' );
244
  $url = get_permalink( $edit_page );
245
 
246
  $url = wp_nonce_url( $url . '?pid=' . $post_id, 'wpuf_edit' );
250
  return $url;
251
  }
252
 
253
+ add_filter( 'get_edit_post_link', 'wpuf_override_admin_edit_link', 10, 2 );
254
 
255
  /**
256
  * Create HTML dropdown list of Categories.
352
  $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
353
  $exclude = explode( ',', $attr['exclude'] );
354
  $tax = $attr['name'];
355
+ $current_user = get_current_user_id();
356
 
357
  $args = array(
358
  'taxonomy' => $tax,
368
 
369
  $args['class'] = $class;
370
 
371
+ $tax_args = array(
372
  'hide_empty' => false,
373
  $exclude_type => (array) $exclude,
374
  'orderby' => isset( $attr['orderby'] ) ? $attr['orderby'] : 'name',
375
  'order' => isset( $attr['order'] ) ? $attr['order'] : 'ASC',
376
+ );
377
+ $tax_args = apply_filters( 'wpuf_taxonomy_checklist_args', $tax_args );
378
+
379
+ $categories = (array) get_terms( $tax, $tax_args );
380
 
381
  echo '<ul class="wpuf-category-checklist">';
382
  printf( '<input type="hidden" name="%s" value="0" />', $tax );
412
  'video' => array('ext' => 'avi,divx,flv,mov,ogv,mkv,mp4,m4v,divx,mpg,mpeg,mpe', 'label' => __( 'Videos', 'wpuf' )),
413
  'pdf' => array('ext' => 'pdf', 'label' => __( 'PDF', 'wpuf' )),
414
  'office' => array('ext' => 'doc,ppt,pps,xls,mdb,docx,xlsx,pptx,odt,odp,ods,odg,odc,odb,odf,rtf,txt', 'label' => __( 'Office Documents', 'wpuf' )),
415
+ 'zip' => array('ext' => 'zip,gz,gzip,rar,7z', 'label' => __( 'Zip Archives', 'wpuf' )),
416
  'exe' => array('ext' => 'exe', 'label' => __( 'Executable Files', 'wpuf' )),
417
  'csv' => array('ext' => 'csv', 'label' => __( 'CSV', 'wpuf' ))
418
  );
618
  function wpuf_show_custom_fields( $content ) {
619
  global $post;
620
 
621
+ $show_custom = wpuf_get_option( 'cf_show_front', 'wpuf_frontend_posting' );
622
 
623
  if ( $show_custom != 'on' ) {
624
  return $content;
625
  }
626
 
627
+ $show_caption = wpuf_get_option( 'image_caption', 'wpuf_frontend_posting' );
628
  $form_id = get_post_meta( $post->ID, '_wpuf_form_id', true );
629
  $form_settings = wpuf_get_form_settings( $form_id );
630
 
1038
 
1039
  $s = wp_unslash( $_GET['q'] );
1040
 
1041
+ $comma = _x( ',', 'tag delimiter', 'wpuf' );
1042
  if ( ',' !== $comma )
1043
  $s = str_replace( $comma, ',', $s );
1044
  if ( false !== strpos( $s, ',' ) ) {
2297
 
2298
  return new WPUF_User( $user );
2299
  }
2300
+
2301
+ /**
2302
+ * Add all terms as allowed terms
2303
+ *
2304
+ * @since 2.7.0
2305
+ *
2306
+ * @return void
2307
+ */
2308
+ function wpuf_set_all_terms_as_allowed() {
2309
+
2310
+ if ( class_exists( 'WP_User_Frontend_Pro' ) ) {
2311
+ $subscriptions = WPUF_Subscription::init()->get_subscriptions();
2312
+ $allowed_term = array();
2313
+
2314
+ foreach ( $subscriptions as $pack ) {
2315
+ if ( ! metadata_exists( 'post', $pack->ID , '_sub_allowed_term_ids' ) ) {
2316
+ $cts = get_taxonomies(array('_builtin'=>true), 'objects'); ?>
2317
+ <?php foreach ($cts as $ct) {
2318
+ if ( is_taxonomy_hierarchical( $ct->name ) ) {
2319
+ $tax_terms = get_terms ( array(
2320
+ 'taxonomy' => $ct->name,
2321
+ 'hide_empty' => false,
2322
+ ) );
2323
+ foreach ($tax_terms as $tax_term) {
2324
+ $allowed_term[] = $tax_term->term_id;
2325
+ }
2326
+ }
2327
+ }
2328
+
2329
+ $cts = get_taxonomies(array('_builtin'=>false), 'objects'); ?>
2330
+ <?php foreach ($cts as $ct) {
2331
+ if ( is_taxonomy_hierarchical( $ct->name ) ) {
2332
+ $tax_terms = get_terms ( array(
2333
+ 'taxonomy' => $ct->name,
2334
+ 'hide_empty' => false,
2335
+ ) );
2336
+ foreach ($tax_terms as $tax_term) {
2337
+ $allowed_term[] = $tax_term->term_id;
2338
+ }
2339
+ }
2340
+ }
2341
+
2342
+ update_post_meta( $pack->ID, '_sub_allowed_term_ids', $allowed_term );
2343
+ }
2344
+ }
2345
+ }
2346
+
2347
+ }
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.6.1
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.6.1' );
16
  define( 'WPUF_FILE', __FILE__ );
17
  define( 'WPUF_ROOT', dirname( __FILE__ ) );
18
  define( 'WPUF_ROOT_URI', plugins_url( '', __FILE__ ) );
@@ -48,11 +48,23 @@ final class WP_User_Frontend {
48
  */
49
  private $is_pro = false;
50
 
 
 
 
 
 
 
 
51
  /**
52
  * Fire up the plugin
53
  */
54
  public function __construct() {
55
 
 
 
 
 
 
56
  register_activation_hook( __FILE__, array( $this, 'install' ) );
57
  register_deactivation_hook( __FILE__, array( $this, 'uninstall' ) );
58
 
@@ -62,6 +74,42 @@ final class WP_User_Frontend {
62
  do_action( 'wpuf_loaded' );
63
  }
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  /**
66
  * Initialize the hooks
67
  *
@@ -71,23 +119,22 @@ final class WP_User_Frontend {
71
  */
72
  public function init_hooks() {
73
 
74
- add_action( 'plugins_loaded', array( $this, 'wpuf_loader') );
75
- add_action( 'plugins_loaded', array( $this, 'plugin_upgrades') );
76
 
77
  add_action( 'plugins_loaded', array( $this, 'instantiate' ) );
78
- add_action( 'init', array( $this, 'load_textdomain') );
79
 
80
- add_action( 'admin_init', array( $this, 'block_admin_access') );
81
 
82
- add_action( 'show_admin_bar', array( $this, 'show_admin_bar') );
83
 
84
- add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts') );
85
 
86
  // do plugin upgrades
 
87
 
88
- add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), array( $this, 'plugin_action_links' ) );
89
-
90
- //add custom css
91
  add_action( 'wp_head', array( $this, 'add_custom_css' ) );
92
 
93
  // set schedule event
@@ -149,11 +196,11 @@ final class WP_User_Frontend {
149
 
150
  $message = get_post_meta( $each_post->ID, 'wpuf-post_expiration_message', true );
151
 
152
- if ( !empty( $message ) ) {
153
  wp_mail( get_the_author_meta( 'user_email', $each_post->post_author ), $mail_subject, $message );
154
  }
155
  }
156
- //save an option for debugging purpose
157
  update_option( 'wpuf_expiry_posts_last_cleaned', date( 'F j, Y g:i a' ) );
158
  }
159
 
@@ -164,7 +211,7 @@ final class WP_User_Frontend {
164
  */
165
  public static function init() {
166
 
167
- if ( !self::$_instance ) {
168
  self::$_instance = new WP_User_Frontend();
169
  }
170
 
@@ -193,6 +240,10 @@ final class WP_User_Frontend {
193
  require_once WPUF_ROOT . '/class/frontend-account.php';
194
  require_once WPUF_ROOT . '/includes/class-form.php';
195
 
 
 
 
 
196
  require_once WPUF_ROOT . '/includes/class-user.php';
197
  require_once WPUF_ROOT . '/includes/class-user-subscription.php';
198
 
@@ -211,6 +262,7 @@ final class WP_User_Frontend {
211
  require_once WPUF_ROOT . '/admin/form-builder/class-wpuf-admin-form-builder.php';
212
  require_once WPUF_ROOT . '/admin/form-builder/class-wpuf-admin-form-builder-ajax.php';
213
  include_once WPUF_ROOT . '/lib/class-weforms-upsell.php';
 
214
 
215
  } else {
216
 
@@ -220,7 +272,7 @@ final class WP_User_Frontend {
220
  }
221
 
222
  // add reCaptcha library if not found
223
- if ( !function_exists( 'recaptcha_get_html' ) ) {
224
  require_once dirname( __FILE__ ) . '/lib/recaptchalib.php';
225
  require_once dirname( __FILE__ ) . '/lib/recaptchalib_noCaptcha.php';
226
  }
@@ -233,14 +285,18 @@ final class WP_User_Frontend {
233
  */
234
  function instantiate() {
235
 
236
- $this->container['upload'] = new WPUF_Upload();
237
- $this->container['paypal'] = new WPUF_Paypal();
238
- $this->container['form_template'] = new WPUF_Admin_Form_Template();
239
 
240
- $this->container['subscription'] = WPUF_Subscription::init();
241
- $this->container['frontend_post'] = WPUF_Frontend_Form_Post::init();
242
- $this->container['account'] = new WPUF_Frontend_Account();
243
- $this->container['insights'] = new WeDevs_Insights( 'wp-user-frontend', 'WP User Frontend', __FILE__ );
 
 
 
 
244
 
245
  if ( is_admin() ) {
246
 
@@ -251,8 +307,8 @@ final class WP_User_Frontend {
251
  $this->container['admin_subscription'] = new WPUF_Admin_Subscription();
252
  $this->container['admin_installer'] = new WPUF_Admin_Installer();
253
  $this->container['admin_promotion'] = new WPUF_Admin_Promotion();
254
- $this->container['upsell'] = new WeForms_Upsell( 'wpuf' );
255
  $this->container['welcome'] = new WPUF_Admin_Welcome();
 
256
 
257
  } else {
258
 
@@ -344,11 +400,11 @@ final class WP_User_Frontend {
344
  $scheme = is_ssl() ? 'https' : 'http';
345
  $api_key = wpuf_get_option( 'gmap_api_key', 'wpuf_general' );
346
 
347
- if ( !empty( $api_key ) ) {
348
- wp_enqueue_script( 'google-maps', $scheme . '://maps.google.com/maps/api/js?libraries=places&key='.$api_key, array(), null );
349
  }
350
 
351
- if ( isset ( $post->ID ) ) {
352
  ?>
353
  <script type="text/javascript" id="wpuf-language-script">
354
  var error_str_obj = {
@@ -358,15 +414,15 @@ final class WP_User_Frontend {
358
  }
359
  </script>
360
  <?php
361
- wp_enqueue_script( 'wpuf-form', WPUF_ASSET_URI . '/js/frontend-form' . $suffix . '.js', array('jquery') );
362
  }
363
 
364
  wp_enqueue_style( 'wpuf-css', WPUF_ASSET_URI . '/css/frontend-forms.css' );
365
- wp_enqueue_script( 'wpuf-subscriptions', WPUF_ASSET_URI . '/js/subscriptions.js', array('jquery'), false, true );
366
 
367
- if ( wpuf_get_option( 'load_script', 'wpuf_general', 'on') == 'on') {
368
  $this->plugin_scripts();
369
- } else if ( wpuf_has_shortcode( 'wpuf_form' ) || wpuf_has_shortcode( 'wpuf_edit' ) || wpuf_has_shortcode( 'wpuf_profile' ) || wpuf_has_shortcode( 'wpuf_dashboard' ) || wpuf_has_shortcode( 'weforms' ) || wpuf_has_shortcode( 'wpuf_account' ) ) {
370
  $this->plugin_scripts();
371
  }
372
  }
@@ -381,7 +437,7 @@ final class WP_User_Frontend {
381
  return;
382
  }
383
 
384
- if ( wpuf_has_shortcode( 'wpuf_form', $post->ID )
385
  || wpuf_has_shortcode( 'wpuf_edit', $post->ID )
386
  || wpuf_has_shortcode( 'wpuf_profile', $post->ID )
387
  || wpuf_has_shortcode( 'wpuf_dashboard', $post->ID )
@@ -410,31 +466,36 @@ final class WP_User_Frontend {
410
  wp_enqueue_script( 'suggest' );
411
  wp_enqueue_script( 'jquery-ui-slider' );
412
  wp_enqueue_script( 'plupload-handlers' );
413
- wp_enqueue_script( 'jquery-ui-timepicker', WPUF_ASSET_URI . '/js/jquery-ui-timepicker-addon.js', array('jquery-ui-datepicker') );
414
- wp_enqueue_script( 'wpuf-upload', WPUF_ASSET_URI . '/js/upload.js', array('jquery', 'plupload-handlers') );
415
 
416
  wp_localize_script( 'wpuf-form', 'wpuf_frontend', array(
417
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
418
- 'error_message' => __( 'Please fix the errors to proceed', 'wpuf' ),
419
- 'nonce' => wp_create_nonce( 'wpuf_nonce' ),
420
- 'word_limit' => __( 'Word limit reached', 'wpuf' )
421
  ) );
422
 
423
  wp_localize_script( 'wpuf-upload', 'wpuf_frontend_upload', array(
424
- 'confirmMsg' => __( 'Are you sure?', 'wpuf' ),
425
- 'nonce' => wp_create_nonce( 'wpuf_nonce' ),
426
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
427
- 'plupload' => array(
428
- 'url' => admin_url( 'admin-ajax.php' ) . '?nonce=' . wp_create_nonce( 'wpuf-upload-nonce' ),
429
- 'flash_swf_url' => includes_url( 'js/plupload/plupload.flash.swf' ),
430
- 'filters' => array(array('title' => __( 'Allowed Files', 'wpuf' ), 'extensions' => '*')),
431
- 'multipart' => true,
432
- 'urlstream_upload' => true,
433
- 'warning' => __( 'Maximum number of files reached!', 'wpuf' ),
434
- 'size_error' => __( 'The file you have uploaded exceeds the file size limit. Please try again.', 'wpuf' ),
435
- 'type_error' => __( 'You have uploaded an incorrect file type. Please try again.', 'wpuf' )
436
- )
437
- ));
 
 
 
 
 
438
  }
439
 
440
  /**
@@ -451,9 +512,9 @@ final class WP_User_Frontend {
451
  }
452
 
453
  $access_level = wpuf_get_option( 'admin_access', 'wpuf_general', 'read' );
454
- $valid_pages = array('admin-ajax.php', 'admin-post.php', 'async-upload.php', 'media-upload.php');
455
 
456
- if ( ! current_user_can( $access_level ) && !in_array( $pagenow, $valid_pages ) ) {
457
  // wp_die( __( 'Access Denied. Your site administrator has blocked your access to the WordPress back-office.', 'wpuf' ) );
458
  wp_redirect( home_url() );
459
  exit;
@@ -508,7 +569,7 @@ final class WP_User_Frontend {
508
  /**
509
  * Plugin action links
510
  *
511
- * @param array $links
512
  *
513
  * @since 2.3.3
514
  *
@@ -545,7 +606,7 @@ final class WP_User_Frontend {
545
  * @return void
546
  */
547
  public function maybe_weforms_install() {
548
- if ( class_exists('WeForms') ) {
549
  return;
550
  }
551
  // install the core
@@ -559,7 +620,7 @@ final class WP_User_Frontend {
559
  public function install_weforms() {
560
 
561
  if ( ! isset( $_REQUEST['_wpnonce'] ) || ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'wpuf-weforms-installer-nonce' ) ) {
562
- wp_send_json_error( __( 'Error: Nonce verification failed', 'weforms' ) );
563
  }
564
 
565
  include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
@@ -571,7 +632,12 @@ final class WP_User_Frontend {
571
  }
572
 
573
  $plugin = 'weforms';
574
- $api = plugins_api( 'plugin_information', array( 'slug' => $plugin, 'fields' => array( 'sections' => false ) ) );
 
 
 
 
 
575
 
576
  $upgrader = new Plugin_Upgrader( new WP_Ajax_Upgrader_Skin() );
577
  $result = $upgrader->install( $api->download_link );
@@ -600,4 +666,4 @@ function wpuf() {
600
  }
601
 
602
  // kickoff
603
- wpuf();
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.7.0
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.7.0' );
16
  define( 'WPUF_FILE', __FILE__ );
17
  define( 'WPUF_ROOT', dirname( __FILE__ ) );
18
  define( 'WPUF_ROOT_URI', plugins_url( '', __FILE__ ) );
48
  */
49
  private $is_pro = false;
50
 
51
+ /**
52
+ * Minimum PHP version required
53
+ *
54
+ * @var string
55
+ */
56
+ private $min_php = '5.4.0';
57
+
58
  /**
59
  * Fire up the plugin
60
  */
61
  public function __construct() {
62
 
63
+ if ( ! $this->is_supported_php() ) {
64
+ add_action( 'admin_notices', array( $this, 'php_version_notice' ) );
65
+ return;
66
+ }
67
+
68
  register_activation_hook( __FILE__, array( $this, 'install' ) );
69
  register_deactivation_hook( __FILE__, array( $this, 'uninstall' ) );
70
 
74
  do_action( 'wpuf_loaded' );
75
  }
76
 
77
+ /**
78
+ * Check if the PHP version is supported
79
+ *
80
+ * @return bool
81
+ */
82
+ public function is_supported_php( $min_php = null ) {
83
+
84
+ $min_php = $min_php ? $min_php : $this->min_php;
85
+
86
+ if ( version_compare( PHP_VERSION, $min_php , '<=' ) ) {
87
+ return false;
88
+ }
89
+
90
+ return true;
91
+ }
92
+
93
+ /**
94
+ * Show notice about PHP version
95
+ *
96
+ * @return void
97
+ */
98
+ function php_version_notice() {
99
+
100
+ if ( $this->is_supported_php() || ! current_user_can( 'manage_options' ) ) {
101
+ return;
102
+ }
103
+
104
+ $error = __( 'Your installed PHP Version is: ', 'wpuf' ) . PHP_VERSION . '. ';
105
+ $error .= __( 'The <strong>WP User Frontend</strong> plugin requires PHP version <strong>', 'wpuf' ) . $this->min_php . __( '</strong> or greater.', 'wpuf' );
106
+ ?>
107
+ <div class="error">
108
+ <p><?php printf( $error ); ?></p>
109
+ </div>
110
+ <?php
111
+ }
112
+
113
  /**
114
  * Initialize the hooks
115
  *
119
  */
120
  public function init_hooks() {
121
 
122
+ add_action( 'plugins_loaded', array( $this, 'wpuf_loader' ) );
123
+ add_action( 'plugins_loaded', array( $this, 'plugin_upgrades' ) );
124
 
125
  add_action( 'plugins_loaded', array( $this, 'instantiate' ) );
126
+ add_action( 'init', array( $this, 'load_textdomain' ) );
127
 
128
+ add_action( 'admin_init', array( $this, 'block_admin_access' ) );
129
 
130
+ add_action( 'show_admin_bar', array( $this, 'show_admin_bar' ) );
131
 
132
+ add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
133
 
134
  // do plugin upgrades
135
+ add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) );
136
 
137
+ // add custom css
 
 
138
  add_action( 'wp_head', array( $this, 'add_custom_css' ) );
139
 
140
  // set schedule event
196
 
197
  $message = get_post_meta( $each_post->ID, 'wpuf-post_expiration_message', true );
198
 
199
+ if ( ! empty( $message ) ) {
200
  wp_mail( get_the_author_meta( 'user_email', $each_post->post_author ), $mail_subject, $message );
201
  }
202
  }
203
+ // save an option for debugging purpose
204
  update_option( 'wpuf_expiry_posts_last_cleaned', date( 'F j, Y g:i a' ) );
205
  }
206
 
211
  */
212
  public static function init() {
213
 
214
+ if ( ! self::$_instance ) {
215
  self::$_instance = new WP_User_Frontend();
216
  }
217
 
240
  require_once WPUF_ROOT . '/class/frontend-account.php';
241
  require_once WPUF_ROOT . '/includes/class-form.php';
242
 
243
+ if ( class_exists( 'WeDevs_Dokan' ) ) {
244
+ require_once WPUF_ROOT . '/includes/class-dokan-integration.php';
245
+ }
246
+
247
  require_once WPUF_ROOT . '/includes/class-user.php';
248
  require_once WPUF_ROOT . '/includes/class-user-subscription.php';
249
 
262
  require_once WPUF_ROOT . '/admin/form-builder/class-wpuf-admin-form-builder.php';
263
  require_once WPUF_ROOT . '/admin/form-builder/class-wpuf-admin-form-builder-ajax.php';
264
  include_once WPUF_ROOT . '/lib/class-weforms-upsell.php';
265
+ include_once WPUF_ROOT . '/includes/class-whats-new.php';
266
 
267
  } else {
268
 
272
  }
273
 
274
  // add reCaptcha library if not found
275
+ if ( ! function_exists( 'recaptcha_get_html' ) ) {
276
  require_once dirname( __FILE__ ) . '/lib/recaptchalib.php';
277
  require_once dirname( __FILE__ ) . '/lib/recaptchalib_noCaptcha.php';
278
  }
285
  */
286
  function instantiate() {
287
 
288
+ $this->container['upload'] = new WPUF_Upload();
289
+ $this->container['paypal'] = new WPUF_Paypal();
290
+ $this->container['form_template'] = new WPUF_Admin_Form_Template();
291
 
292
+ $this->container['subscription'] = WPUF_Subscription::init();
293
+ $this->container['frontend_post'] = WPUF_Frontend_Form_Post::init();
294
+ $this->container['account'] = new WPUF_Frontend_Account();
295
+ $this->container['insights'] = new WPUF_WeDevs_Insights( 'wp-user-frontend', 'WP User Frontend', __FILE__ );
296
+
297
+ if ( class_exists( 'WeDevs_Dokan' ) ) {
298
+ $this->container['dokan_integration'] = new WPUF_Dokan_Integration();
299
+ }
300
 
301
  if ( is_admin() ) {
302
 
307
  $this->container['admin_subscription'] = new WPUF_Admin_Subscription();
308
  $this->container['admin_installer'] = new WPUF_Admin_Installer();
309
  $this->container['admin_promotion'] = new WPUF_Admin_Promotion();
 
310
  $this->container['welcome'] = new WPUF_Admin_Welcome();
311
+ $this->container['whats_new'] = new WPUF_Whats_New();
312
 
313
  } else {
314
 
400
  $scheme = is_ssl() ? 'https' : 'http';
401
  $api_key = wpuf_get_option( 'gmap_api_key', 'wpuf_general' );
402
 
403
+ if ( ! empty( $api_key ) ) {
404
+ wp_enqueue_script( 'google-maps', $scheme . '://maps.google.com/maps/api/js?libraries=places&key=' . $api_key, array(), null );
405
  }
406
 
407
+ if ( isset( $post->ID ) ) {
408
  ?>
409
  <script type="text/javascript" id="wpuf-language-script">
410
  var error_str_obj = {
414
  }
415
  </script>
416
  <?php
417
+ wp_enqueue_script( 'wpuf-form', WPUF_ASSET_URI . '/js/frontend-form' . $suffix . '.js', array( 'jquery' ) );
418
  }
419
 
420
  wp_enqueue_style( 'wpuf-css', WPUF_ASSET_URI . '/css/frontend-forms.css' );
421
+ wp_enqueue_script( 'wpuf-subscriptions', WPUF_ASSET_URI . '/js/subscriptions.js', array( 'jquery' ), false, true );
422
 
423
+ if ( wpuf_get_option( 'load_script', 'wpuf_general', 'on' ) == 'on' ) {
424
  $this->plugin_scripts();
425
+ } elseif ( wpuf_has_shortcode( 'wpuf_form' ) || wpuf_has_shortcode( 'wpuf_edit' ) || wpuf_has_shortcode( 'wpuf_profile' ) || wpuf_has_shortcode( 'wpuf_dashboard' ) || wpuf_has_shortcode( 'weforms' ) || wpuf_has_shortcode( 'wpuf_account' ) ) {
426
  $this->plugin_scripts();
427
  }
428
  }
437
  return;
438
  }
439
 
440
+ if ( wpuf_has_shortcode( 'wpuf_form', $post->ID )
441
  || wpuf_has_shortcode( 'wpuf_edit', $post->ID )
442
  || wpuf_has_shortcode( 'wpuf_profile', $post->ID )
443
  || wpuf_has_shortcode( 'wpuf_dashboard', $post->ID )
466
  wp_enqueue_script( 'suggest' );
467
  wp_enqueue_script( 'jquery-ui-slider' );
468
  wp_enqueue_script( 'plupload-handlers' );
469
+ wp_enqueue_script( 'jquery-ui-timepicker', WPUF_ASSET_URI . '/js/jquery-ui-timepicker-addon.js', array( 'jquery-ui-datepicker' ) );
470
+ wp_enqueue_script( 'wpuf-upload', WPUF_ASSET_URI . '/js/upload.js', array( 'jquery', 'plupload-handlers' ) );
471
 
472
  wp_localize_script( 'wpuf-form', 'wpuf_frontend', array(
473
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
474
+ 'error_message' => __( 'Please fix the errors to proceed', 'wpuf' ),
475
+ 'nonce' => wp_create_nonce( 'wpuf_nonce' ),
476
+ 'word_limit' => __( 'Word limit reached', 'wpuf' )
477
  ) );
478
 
479
  wp_localize_script( 'wpuf-upload', 'wpuf_frontend_upload', array(
480
+ 'confirmMsg' => __( 'Are you sure?', 'wpuf' ),
481
+ 'nonce' => wp_create_nonce( 'wpuf_nonce' ),
482
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
483
+ 'plupload' => array(
484
+ 'url' => admin_url( 'admin-ajax.php' ) . '?nonce=' . wp_create_nonce( 'wpuf-upload-nonce' ),
485
+ 'flash_swf_url' => includes_url( 'js/plupload/plupload.flash.swf' ),
486
+ 'filters' => array(
487
+ array(
488
+ 'title' => __( 'Allowed Files', 'wpuf' ),
489
+ 'extensions' => '*'
490
+ )
491
+ ),
492
+ 'multipart' => true,
493
+ 'urlstream_upload' => true,
494
+ 'warning' => __( 'Maximum number of files reached!', 'wpuf' ),
495
+ 'size_error' => __( 'The file you have uploaded exceeds the file size limit. Please try again.', 'wpuf' ),
496
+ 'type_error' => __( 'You have uploaded an incorrect file type. Please try again.', 'wpuf' )
497
+ )
498
+ ) );
499
  }
500
 
501
  /**
512
  }
513
 
514
  $access_level = wpuf_get_option( 'admin_access', 'wpuf_general', 'read' );
515
+ $valid_pages = array( 'admin-ajax.php', 'admin-post.php', 'async-upload.php', 'media-upload.php' );
516
 
517
+ if ( ! current_user_can( $access_level ) && ! in_array( $pagenow, $valid_pages ) ) {
518
  // wp_die( __( 'Access Denied. Your site administrator has blocked your access to the WordPress back-office.', 'wpuf' ) );
519
  wp_redirect( home_url() );
520
  exit;
569
  /**
570
  * Plugin action links
571
  *
572
+ * @param array $links
573
  *
574
  * @since 2.3.3
575
  *
606
  * @return void
607
  */
608
  public function maybe_weforms_install() {
609
+ if ( class_exists( 'WeForms' ) ) {
610
  return;
611
  }
612
  // install the core
620
  public function install_weforms() {
621
 
622
  if ( ! isset( $_REQUEST['_wpnonce'] ) || ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'wpuf-weforms-installer-nonce' ) ) {
623
+ wp_send_json_error( __( 'Error: Nonce verification failed', 'wpuf' ) );
624
  }
625
 
626
  include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
632
  }
633
 
634
  $plugin = 'weforms';
635
+ $api = plugins_api( 'plugin_information', array(
636
+ 'slug' => $plugin,
637
+ 'fields' => array(
638
+ 'sections' => false
639
+ )
640
+ ) );
641
 
642
  $upgrader = new Plugin_Upgrader( new WP_Ajax_Upgrader_Skin() );
643
  $result = $upgrader->install( $api->download_link );
666
  }
667
 
668
  // kickoff
669
+ wpuf();