Version Description
Download this release
Release Info
Developer | tareq1988 |
Plugin | Dokan – Best WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy |
Version | 3.2.1 |
Comparing to | |
See all releases |
Code changes from version 3.2.0 to 3.2.1
- dokan.php +3 -3
- includes/Abstracts/DokanPromotion.php +1 -1
- includes/Admin/LimitedTimePromotion.php +1 -1
- includes/Admin/Settings.php +3 -3
- includes/Admin/UserProfile.php +11 -10
- includes/Ajax.php +7 -11
- includes/Dashboard/Templates/Orders.php +2 -6
- includes/Dashboard/Templates/Products.php +25 -29
- includes/Dashboard/Templates/Settings.php +18 -10
- includes/Dashboard/Templates/Withdraw.php +3 -3
- includes/Product/Hooks.php +1 -1
- includes/Registration.php +16 -16
- includes/Vendor/SetupWizard.php +8 -20
- includes/Vendor/UserSwitch.php +1 -1
- includes/functions.php +2 -2
- includes/wc-functions.php +2 -2
- includes/wc-template.php +1 -1
- languages/dokan-lite.pot +135 -127
- readme.txt +9 -3
- templates/products/products-listing.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +4 -4
dokan.php
CHANGED
@@ -3,12 +3,12 @@
|
|
3 |
* Plugin Name: Dokan
|
4 |
* Plugin URI: https://wordpress.org/plugins/dokan-lite/
|
5 |
* Description: An e-commerce marketplace plugin for WordPress. Powered by WooCommerce and weDevs.
|
6 |
-
* Version: 3.2.
|
7 |
* Author: weDevs
|
8 |
* Author URI: https://wedevs.com/
|
9 |
* Text Domain: dokan-lite
|
10 |
* WC requires at least: 3.0
|
11 |
-
* WC tested up to:
|
12 |
* Domain Path: /languages/
|
13 |
* License: GPL2
|
14 |
*/
|
@@ -56,7 +56,7 @@ final class WeDevs_Dokan {
|
|
56 |
*
|
57 |
* @var string
|
58 |
*/
|
59 |
-
public $version = '3.2.
|
60 |
|
61 |
/**
|
62 |
* Instance of self
|
3 |
* Plugin Name: Dokan
|
4 |
* Plugin URI: https://wordpress.org/plugins/dokan-lite/
|
5 |
* Description: An e-commerce marketplace plugin for WordPress. Powered by WooCommerce and weDevs.
|
6 |
+
* Version: 3.2.1
|
7 |
* Author: weDevs
|
8 |
* Author URI: https://wedevs.com/
|
9 |
* Text Domain: dokan-lite
|
10 |
* WC requires at least: 3.0
|
11 |
+
* WC tested up to: 5.0.0
|
12 |
* Domain Path: /languages/
|
13 |
* License: GPL2
|
14 |
*/
|
56 |
*
|
57 |
* @var string
|
58 |
*/
|
59 |
+
public $version = '3.2.1';
|
60 |
|
61 |
/**
|
62 |
* Instance of self
|
includes/Abstracts/DokanPromotion.php
CHANGED
@@ -186,7 +186,7 @@ abstract class DokanPromotion {
|
|
186 |
wp_send_json_error( __( 'You have no permission to do that', 'dokan-lite' ) );
|
187 |
}
|
188 |
|
189 |
-
if ( ! wp_verify_nonce( $post_data['nonce'], 'dokan_admin' ) ) {
|
190 |
wp_send_json_error( __( 'Invalid nonce', 'dokan-lite' ) );
|
191 |
}
|
192 |
|
186 |
wp_send_json_error( __( 'You have no permission to do that', 'dokan-lite' ) );
|
187 |
}
|
188 |
|
189 |
+
if ( ! isset( $post_data['nonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['nonce'] ), 'dokan_admin' ) ) {
|
190 |
wp_send_json_error( __( 'Invalid nonce', 'dokan-lite' ) );
|
191 |
}
|
192 |
|
includes/Admin/LimitedTimePromotion.php
CHANGED
@@ -200,7 +200,7 @@ class LimitedTimePromotion {
|
|
200 |
wp_send_json_error( __( 'You have no permission to do that', 'dokan-lite' ) );
|
201 |
}
|
202 |
|
203 |
-
if ( ! wp_verify_nonce( $post_data['nonce'], 'dokan_admin' ) ) {
|
204 |
wp_send_json_error( __( 'Invalid nonce', 'dokan-lite' ) );
|
205 |
}
|
206 |
|
200 |
wp_send_json_error( __( 'You have no permission to do that', 'dokan-lite' ) );
|
201 |
}
|
202 |
|
203 |
+
if ( ! isset( $post_data['nonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['nonce'] ), 'dokan_admin' ) ) {
|
204 |
wp_send_json_error( __( 'Invalid nonce', 'dokan-lite' ) );
|
205 |
}
|
206 |
|
includes/Admin/Settings.php
CHANGED
@@ -68,7 +68,7 @@ class Settings {
|
|
68 |
|
69 |
$_post_data = wp_unslash( $_POST );
|
70 |
|
71 |
-
if ( ! wp_verify_nonce(
|
72 |
wp_send_json_error( __( 'Invalid nonce', 'dokan-lite' ) );
|
73 |
}
|
74 |
|
@@ -96,7 +96,7 @@ class Settings {
|
|
96 |
|
97 |
$_post_data = wp_unslash( $_POST );
|
98 |
|
99 |
-
if ( ! wp_verify_nonce(
|
100 |
throw new DokanException( 'dokan_settings_invalid_nonce', __( 'Invalid nonce', 'dokan-lite' ), 403 );
|
101 |
}
|
102 |
|
@@ -360,6 +360,7 @@ class Settings {
|
|
360 |
'store_products_per_page' => [
|
361 |
'name' => 'store_products_per_page',
|
362 |
'label' => __( 'Store Products Per Page', 'dokan-lite' ),
|
|
|
363 |
'type' => 'number',
|
364 |
'default' => '12',
|
365 |
],
|
@@ -512,7 +513,6 @@ class Settings {
|
|
512 |
'reg_tc_page' => [
|
513 |
'name' => 'reg_tc_page',
|
514 |
'label' => __( 'Terms and Conditions Page', 'dokan-lite' ),
|
515 |
-
//'desc' => __( 'Select a page to show Terms and Conditions', 'dokan-lite' ),
|
516 |
'type' => 'select',
|
517 |
'placeholder' => __( 'Select page', 'dokan-lite' ),
|
518 |
'options' => $pages_array,
|
68 |
|
69 |
$_post_data = wp_unslash( $_POST );
|
70 |
|
71 |
+
if ( ! isset( $_post_data['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_post_data['nonce'] ), 'dokan_admin' ) ) {
|
72 |
wp_send_json_error( __( 'Invalid nonce', 'dokan-lite' ) );
|
73 |
}
|
74 |
|
96 |
|
97 |
$_post_data = wp_unslash( $_POST );
|
98 |
|
99 |
+
if ( ! isset( $_post_data['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_post_data['nonce'] ), 'dokan_admin' ) ) {
|
100 |
throw new DokanException( 'dokan_settings_invalid_nonce', __( 'Invalid nonce', 'dokan-lite' ), 403 );
|
101 |
}
|
102 |
|
360 |
'store_products_per_page' => [
|
361 |
'name' => 'store_products_per_page',
|
362 |
'label' => __( 'Store Products Per Page', 'dokan-lite' ),
|
363 |
+
'desc' => __( 'Set how many products to display per page on the vendor store page. It will affect only if the vendor isn\'t set this value on their vendor setting page.', 'dokan-lite' ),
|
364 |
'type' => 'number',
|
365 |
'default' => '12',
|
366 |
],
|
513 |
'reg_tc_page' => [
|
514 |
'name' => 'reg_tc_page',
|
515 |
'label' => __( 'Terms and Conditions Page', 'dokan-lite' ),
|
|
|
516 |
'type' => 'select',
|
517 |
'placeholder' => __( 'Select page', 'dokan-lite' ),
|
518 |
'options' => $pages_array,
|
includes/Admin/UserProfile.php
CHANGED
@@ -26,8 +26,8 @@ class UserProfile {
|
|
26 |
*
|
27 |
* @return void
|
28 |
*/
|
29 |
-
function enqueue_scripts( $page ) {
|
30 |
-
if ( in_array( $page, array( 'profile.php', 'user-edit.php' ) ) ) {
|
31 |
wp_enqueue_media();
|
32 |
|
33 |
$admin_admin_script = array(
|
@@ -52,7 +52,7 @@ class UserProfile {
|
|
52 |
*
|
53 |
* @return void|false
|
54 |
*/
|
55 |
-
function add_meta_fields( $user ) {
|
56 |
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
57 |
return;
|
58 |
}
|
@@ -81,7 +81,7 @@ class UserProfile {
|
|
81 |
|
82 |
$banner_width = dokan_get_option( 'store_banner_width', 'dokan_appearance', 625 );
|
83 |
$banner_height = dokan_get_option( 'store_banner_height', 'dokan_appearance', 300 );
|
84 |
-
$admin_commission = ( 'flat'
|
85 |
|
86 |
$country_state = array(
|
87 |
'country' => array(
|
@@ -119,6 +119,7 @@ class UserProfile {
|
|
119 |
<p class="description">
|
120 |
<?php
|
121 |
echo sprintf(
|
|
|
122 |
esc_attr__( 'Upload a banner for your store. Banner size is (%1$sx%2$s) pixels.', 'dokan-lite' ),
|
123 |
esc_attr( $banner_width ),
|
124 |
esc_attr( $banner_height )
|
@@ -177,10 +178,10 @@ class UserProfile {
|
|
177 |
<tr>
|
178 |
<th><label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $field['label'] ); ?></label></th>
|
179 |
<td>
|
180 |
-
<?php if ( ! empty( $field['type'] ) && 'select'
|
181 |
<select name="dokan_store_address[<?php echo esc_attr( $key ); ?>]" id="<?php echo esc_attr( $key ); ?>" class="<?php echo ( ! empty( $field['class'] ) ? esc_attr( $field['class'] ) : '' ); ?>" style="width: 25em;">
|
182 |
<?php
|
183 |
-
if ( 'country'
|
184 |
$selected = esc_attr( $address_country );
|
185 |
} else {
|
186 |
$selected = esc_attr( $address_state );
|
@@ -192,7 +193,7 @@ class UserProfile {
|
|
192 |
</select>
|
193 |
<?php else : ?>
|
194 |
<?php
|
195 |
-
if ( 'country'
|
196 |
$value = esc_attr( $address_country );
|
197 |
} else {
|
198 |
$value = esc_attr( $address_state );
|
@@ -531,14 +532,14 @@ class UserProfile {
|
|
531 |
*
|
532 |
* @return void
|
533 |
*/
|
534 |
-
function save_meta_fields( $user_id ) {
|
535 |
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
536 |
return;
|
537 |
}
|
538 |
|
539 |
$post_data = wp_unslash( $_POST );
|
540 |
|
541 |
-
if ( isset( $post_data['dokan_update_user_profile_info_nonce'] )
|
542 |
return;
|
543 |
}
|
544 |
|
@@ -548,7 +549,7 @@ class UserProfile {
|
|
548 |
|
549 |
$selling = sanitize_text_field( $post_data['dokan_enable_selling'] );
|
550 |
$publishing = sanitize_text_field( $post_data['dokan_publish'] );
|
551 |
-
$percentage = isset( $post_data['dokan_admin_percentage'] ) && $post_data['dokan_admin_percentage']
|
552 |
$percentage_type = empty( $post_data['dokan_admin_percentage_type'] ) ? 'percentage' : sanitize_text_field( $post_data['dokan_admin_percentage_type'] );
|
553 |
$feature_seller = sanitize_text_field( $post_data['dokan_feature'] );
|
554 |
$store_settings = dokan_get_store_info( $user_id );
|
26 |
*
|
27 |
* @return void
|
28 |
*/
|
29 |
+
public function enqueue_scripts( $page ) {
|
30 |
+
if ( in_array( $page, array( 'profile.php', 'user-edit.php' ), true ) ) {
|
31 |
wp_enqueue_media();
|
32 |
|
33 |
$admin_admin_script = array(
|
52 |
*
|
53 |
* @return void|false
|
54 |
*/
|
55 |
+
public function add_meta_fields( $user ) {
|
56 |
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
57 |
return;
|
58 |
}
|
81 |
|
82 |
$banner_width = dokan_get_option( 'store_banner_width', 'dokan_appearance', 625 );
|
83 |
$banner_height = dokan_get_option( 'store_banner_height', 'dokan_appearance', 300 );
|
84 |
+
$admin_commission = ( 'flat' === $admin_commission_type ) ? wc_format_localized_price( $admin_commission ) : wc_format_localized_decimal( $admin_commission );
|
85 |
|
86 |
$country_state = array(
|
87 |
'country' => array(
|
119 |
<p class="description">
|
120 |
<?php
|
121 |
echo sprintf(
|
122 |
+
/* translators: %1$s: banner width, %2$s: banner height in integers */
|
123 |
esc_attr__( 'Upload a banner for your store. Banner size is (%1$sx%2$s) pixels.', 'dokan-lite' ),
|
124 |
esc_attr( $banner_width ),
|
125 |
esc_attr( $banner_height )
|
178 |
<tr>
|
179 |
<th><label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $field['label'] ); ?></label></th>
|
180 |
<td>
|
181 |
+
<?php if ( ! empty( $field['type'] ) && 'select' === (string) $field['type'] ) : ?>
|
182 |
<select name="dokan_store_address[<?php echo esc_attr( $key ); ?>]" id="<?php echo esc_attr( $key ); ?>" class="<?php echo ( ! empty( $field['class'] ) ? esc_attr( $field['class'] ) : '' ); ?>" style="width: 25em;">
|
183 |
<?php
|
184 |
+
if ( 'country' === (string) $key ) {
|
185 |
$selected = esc_attr( $address_country );
|
186 |
} else {
|
187 |
$selected = esc_attr( $address_state );
|
193 |
</select>
|
194 |
<?php else : ?>
|
195 |
<?php
|
196 |
+
if ( 'country' === (string) $key ) {
|
197 |
$value = esc_attr( $address_country );
|
198 |
} else {
|
199 |
$value = esc_attr( $address_state );
|
532 |
*
|
533 |
* @return void
|
534 |
*/
|
535 |
+
public function save_meta_fields( $user_id ) {
|
536 |
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
537 |
return;
|
538 |
}
|
539 |
|
540 |
$post_data = wp_unslash( $_POST );
|
541 |
|
542 |
+
if ( ! isset( $post_data['dokan_update_user_profile_info_nonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['dokan_update_user_profile_info_nonce'] ), 'dokan_update_user_profile_info' ) ) {
|
543 |
return;
|
544 |
}
|
545 |
|
549 |
|
550 |
$selling = sanitize_text_field( $post_data['dokan_enable_selling'] );
|
551 |
$publishing = sanitize_text_field( $post_data['dokan_publish'] );
|
552 |
+
$percentage = isset( $post_data['dokan_admin_percentage'] ) && $post_data['dokan_admin_percentage'] !== '' ? $post_data['dokan_admin_percentage'] : '';
|
553 |
$percentage_type = empty( $post_data['dokan_admin_percentage_type'] ) ? 'percentage' : sanitize_text_field( $post_data['dokan_admin_percentage_type'] );
|
554 |
$feature_seller = sanitize_text_field( $post_data['dokan_feature'] );
|
555 |
$store_settings = dokan_get_store_info( $user_id );
|
includes/Ajax.php
CHANGED
@@ -101,11 +101,7 @@ class Ajax {
|
|
101 |
* @return void
|
102 |
*/
|
103 |
public function shop_url_check() {
|
104 |
-
|
105 |
-
|
106 |
-
$nonce = isset( $_POST['_nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['_nonce'] ) ) : '';
|
107 |
-
|
108 |
-
if ( ! wp_verify_nonce( $nonce, 'dokan_reviews' ) ) {
|
109 |
wp_send_json_error(
|
110 |
[
|
111 |
'type' => 'nonce',
|
@@ -114,6 +110,8 @@ class Ajax {
|
|
114 |
);
|
115 |
}
|
116 |
|
|
|
|
|
117 |
$url_slug = isset( $_POST['url_slug'] ) ? sanitize_text_field( wp_unslash( $_POST['url_slug'] ) ) : '';
|
118 |
$check = true;
|
119 |
$user = get_user_by( 'slug', $url_slug );
|
@@ -418,7 +416,7 @@ class Ajax {
|
|
418 |
* Add shipping tracking info via ajax
|
419 |
*/
|
420 |
public function add_shipping_tracking_info() {
|
421 |
-
if ( isset( $_POST['dokan_security_nonce'] )
|
422 |
die( -1 );
|
423 |
}
|
424 |
|
@@ -518,9 +516,7 @@ class Ajax {
|
|
518 |
* @return void
|
519 |
*/
|
520 |
public function seller_listing_search() {
|
521 |
-
|
522 |
-
|
523 |
-
if ( ! $nonce || ! wp_verify_nonce( $nonce, 'dokan-seller-listing-search' ) ) {
|
524 |
wp_send_json_error( __( 'Error: Nonce verification failed', 'dokan-lite' ) );
|
525 |
}
|
526 |
|
@@ -538,7 +534,7 @@ class Ajax {
|
|
538 |
$per_row = isset( $_REQUEST['per_row'] ) ? absint( $_REQUEST['per_row'] ) : '3';
|
539 |
|
540 |
if ( '' !== $search_term ) {
|
541 |
-
$seller_args['meta_query'] = [
|
542 |
[
|
543 |
'key' => 'dokan_store_name',
|
544 |
'value' => $search_term,
|
@@ -947,7 +943,7 @@ class Ajax {
|
|
947 |
|
948 |
foreach ( $headers as $header ) {
|
949 |
if ( 0 === strpos( $header, 'Set-Cookie: ' . LOGGED_IN_COOKIE ) ) {
|
950 |
-
$value = str_replace( '&',
|
951 |
parse_str( current( explode( ';', $value, 1 ) ), $pair );
|
952 |
$_COOKIE[ LOGGED_IN_COOKIE ] = $pair[ LOGGED_IN_COOKIE ];
|
953 |
break;
|
101 |
* @return void
|
102 |
*/
|
103 |
public function shop_url_check() {
|
104 |
+
if ( ! isset( $_POST['_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['_nonce'] ), 'dokan_reviews' ) ) {
|
|
|
|
|
|
|
|
|
105 |
wp_send_json_error(
|
106 |
[
|
107 |
'type' => 'nonce',
|
110 |
);
|
111 |
}
|
112 |
|
113 |
+
global $user_ID;
|
114 |
+
|
115 |
$url_slug = isset( $_POST['url_slug'] ) ? sanitize_text_field( wp_unslash( $_POST['url_slug'] ) ) : '';
|
116 |
$check = true;
|
117 |
$user = get_user_by( 'slug', $url_slug );
|
416 |
* Add shipping tracking info via ajax
|
417 |
*/
|
418 |
public function add_shipping_tracking_info() {
|
419 |
+
if ( ! isset( $_POST['dokan_security_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['dokan_security_nonce'] ), 'dokan_security_action' ) ) {
|
420 |
die( -1 );
|
421 |
}
|
422 |
|
516 |
* @return void
|
517 |
*/
|
518 |
public function seller_listing_search() {
|
519 |
+
if ( ! isset( $_REQUEST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_REQUEST['_wpnonce'] ), 'dokan-seller-listing-search' ) ) {
|
|
|
|
|
520 |
wp_send_json_error( __( 'Error: Nonce verification failed', 'dokan-lite' ) );
|
521 |
}
|
522 |
|
534 |
$per_row = isset( $_REQUEST['per_row'] ) ? absint( $_REQUEST['per_row'] ) : '3';
|
535 |
|
536 |
if ( '' !== $search_term ) {
|
537 |
+
$seller_args['meta_query'] = [ // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query
|
538 |
[
|
539 |
'key' => 'dokan_store_name',
|
540 |
'value' => $search_term,
|
943 |
|
944 |
foreach ( $headers as $header ) {
|
945 |
if ( 0 === strpos( $header, 'Set-Cookie: ' . LOGGED_IN_COOKIE ) ) {
|
946 |
+
$value = str_replace( '&', rawurlencode( '&' ), substr( $header, 12 ) );
|
947 |
parse_str( current( explode( ';', $value, 1 ) ), $pair );
|
948 |
$_COOKIE[ LOGGED_IN_COOKIE ] = $pair[ LOGGED_IN_COOKIE ];
|
949 |
break;
|
includes/Dashboard/Templates/Orders.php
CHANGED
@@ -61,7 +61,7 @@ class Orders {
|
|
61 |
$order_id = isset( $_GET['order_id'] ) ? intval( $_GET['order_id'] ) : 0;
|
62 |
|
63 |
if ( $order_id ) {
|
64 |
-
$_nonce = isset( $_REQUEST['_wpnonce'] ) ?
|
65 |
|
66 |
if ( wp_verify_nonce( $_nonce, 'dokan_view_order' ) && current_user_can( 'dokan_view_order' ) ) {
|
67 |
dokan_get_template_part( 'orders/details' );
|
@@ -95,11 +95,7 @@ class Orders {
|
|
95 |
|
96 |
$post_data = wp_unslash( $_POST );
|
97 |
|
98 |
-
if ( ! isset( $post_data['dokan_vendor_order_export_nonce'] ) ) {
|
99 |
-
return;
|
100 |
-
}
|
101 |
-
|
102 |
-
if ( ! wp_verify_nonce( sanitize_text_field( $post_data['dokan_vendor_order_export_nonce'] ), 'dokan_vendor_order_export_action' ) ) {
|
103 |
return;
|
104 |
}
|
105 |
|
61 |
$order_id = isset( $_GET['order_id'] ) ? intval( $_GET['order_id'] ) : 0;
|
62 |
|
63 |
if ( $order_id ) {
|
64 |
+
$_nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_key( $_REQUEST['_wpnonce'] ) : '';
|
65 |
|
66 |
if ( wp_verify_nonce( $_nonce, 'dokan_view_order' ) && current_user_can( 'dokan_view_order' ) ) {
|
67 |
dokan_get_template_part( 'orders/details' );
|
95 |
|
96 |
$post_data = wp_unslash( $_POST );
|
97 |
|
98 |
+
if ( ! isset( $post_data['dokan_vendor_order_export_nonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['dokan_vendor_order_export_nonce'] ), 'dokan_vendor_order_export_action' ) ) {
|
|
|
|
|
|
|
|
|
99 |
return;
|
100 |
}
|
101 |
|
includes/Dashboard/Templates/Products.php
CHANGED
@@ -220,16 +220,12 @@ class Products {
|
|
220 |
return;
|
221 |
}
|
222 |
|
223 |
-
if ( ! isset( $_POST['dokan_add_new_product_nonce'] ) ) {
|
224 |
return;
|
225 |
}
|
226 |
|
227 |
$postdata = wp_unslash( $_POST );
|
228 |
|
229 |
-
if ( ! wp_verify_nonce( sanitize_key( $postdata['dokan_add_new_product_nonce'] ), 'dokan_add_new_product' ) ) {
|
230 |
-
return;
|
231 |
-
}
|
232 |
-
|
233 |
$errors = array();
|
234 |
self::$product_cat = -1;
|
235 |
self::$post_content = __( 'Details of your product ...', 'dokan-lite' );
|
@@ -379,12 +375,12 @@ class Products {
|
|
379 |
return;
|
380 |
}
|
381 |
|
382 |
-
$
|
383 |
-
|
384 |
-
if ( ! wp_verify_nonce( sanitize_key( $postdata['dokan_edit_product_nonce'] ), 'dokan_edit_product' ) ) {
|
385 |
return;
|
386 |
}
|
387 |
|
|
|
|
|
388 |
$errors = array();
|
389 |
$post_title = sanitize_text_field( $postdata['post_title'] );
|
390 |
|
@@ -500,35 +496,35 @@ class Products {
|
|
500 |
return;
|
501 |
}
|
502 |
|
503 |
-
if ( isset( $_GET['action'] )
|
504 |
-
|
|
|
505 |
|
506 |
-
|
|
|
|
|
|
|
507 |
|
508 |
-
|
509 |
-
wp_redirect( add_query_arg( array( 'message' => 'error' ), dokan_get_navigation_url( 'products' ) ) );
|
510 |
-
return;
|
511 |
-
}
|
512 |
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
|
523 |
-
|
524 |
|
525 |
-
|
526 |
|
527 |
-
|
528 |
|
529 |
-
|
530 |
-
|
531 |
-
}
|
532 |
}
|
533 |
|
534 |
}
|
220 |
return;
|
221 |
}
|
222 |
|
223 |
+
if ( ! isset( $_POST['dokan_add_new_product_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['dokan_add_new_product_nonce'] ), 'dokan_add_new_product' ) ) {
|
224 |
return;
|
225 |
}
|
226 |
|
227 |
$postdata = wp_unslash( $_POST );
|
228 |
|
|
|
|
|
|
|
|
|
229 |
$errors = array();
|
230 |
self::$product_cat = -1;
|
231 |
self::$post_content = __( 'Details of your product ...', 'dokan-lite' );
|
375 |
return;
|
376 |
}
|
377 |
|
378 |
+
if ( ! isset( $_POST['dokan_edit_product_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['dokan_edit_product_nonce'] ), 'dokan_edit_product' ) ) {
|
|
|
|
|
379 |
return;
|
380 |
}
|
381 |
|
382 |
+
$postdata = wp_unslash( $_POST );
|
383 |
+
|
384 |
$errors = array();
|
385 |
$post_title = sanitize_text_field( $postdata['post_title'] );
|
386 |
|
496 |
return;
|
497 |
}
|
498 |
|
499 |
+
if ( ! isset( $_GET['action'] ) || $_GET['action'] !== 'dokan-delete-product' ) {
|
500 |
+
return;
|
501 |
+
}
|
502 |
|
503 |
+
if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_GET['_wpnonce'] ), 'dokan-delete-product' ) ) {
|
504 |
+
wp_redirect( add_query_arg( array( 'message' => 'error' ), dokan_get_navigation_url( 'products' ) ) );
|
505 |
+
exit;
|
506 |
+
}
|
507 |
|
508 |
+
$product_id = isset( $_GET['product_id'] ) ? (int) wp_unslash( $_GET['product_id'] ) : 0;
|
|
|
|
|
|
|
509 |
|
510 |
+
if ( ! $product_id ) {
|
511 |
+
wp_redirect( add_query_arg( array( 'message' => 'error' ), dokan_get_navigation_url( 'products' ) ) );
|
512 |
+
exit;
|
513 |
+
}
|
514 |
|
515 |
+
if ( ! dokan_is_product_author( $product_id ) ) {
|
516 |
+
wp_redirect( add_query_arg( array( 'message' => 'error' ), dokan_get_navigation_url( 'products' ) ) );
|
517 |
+
exit;
|
518 |
+
}
|
519 |
|
520 |
+
dokan()->product->delete( $product_id, true );
|
521 |
|
522 |
+
do_action( 'dokan_product_deleted', $product_id );
|
523 |
|
524 |
+
$redirect = apply_filters( 'dokan_add_new_product_redirect', dokan_get_navigation_url( 'products' ), '' );
|
525 |
|
526 |
+
wp_redirect( add_query_arg( array( 'message' => 'product_deleted' ), $redirect ) );
|
527 |
+
exit;
|
|
|
528 |
}
|
529 |
|
530 |
}
|
includes/Dashboard/Templates/Settings.php
CHANGED
@@ -213,6 +213,10 @@ class Settings {
|
|
213 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
214 |
}
|
215 |
|
|
|
|
|
|
|
|
|
216 |
$post_data = wp_unslash( $_POST );
|
217 |
|
218 |
$post_data['dokan_update_profile'] = '';
|
@@ -223,7 +227,7 @@ class Settings {
|
|
223 |
wp_send_json_error( __( 'Pemission denied social', 'dokan-lite' ) );
|
224 |
}
|
225 |
|
226 |
-
if ( ! wp_verify_nonce( $post_data['_wpnonce'], 'dokan_profile_settings_nonce' ) ) {
|
227 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
228 |
}
|
229 |
|
@@ -235,7 +239,7 @@ class Settings {
|
|
235 |
wp_send_json_error( __( 'Pemission denied', 'dokan-lite' ) );
|
236 |
}
|
237 |
|
238 |
-
if ( ! wp_verify_nonce( $post_data['_wpnonce'], 'dokan_store_settings_nonce' ) ) {
|
239 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
240 |
}
|
241 |
|
@@ -247,7 +251,7 @@ class Settings {
|
|
247 |
wp_send_json_error( __( 'Pemission denied', 'dokan-lite' ) );
|
248 |
}
|
249 |
|
250 |
-
if ( ! wp_verify_nonce( $post_data['_wpnonce'], 'dokan_payment_settings_nonce' ) ) {
|
251 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
252 |
}
|
253 |
|
@@ -284,7 +288,7 @@ class Settings {
|
|
284 |
return false;
|
285 |
}
|
286 |
|
287 |
-
if ( ! wp_verify_nonce( $post_data['_wpnonce'], 'dokan_settings_nonce' ) ) {
|
288 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
289 |
}
|
290 |
|
@@ -350,7 +354,7 @@ class Settings {
|
|
350 |
return false;
|
351 |
}
|
352 |
|
353 |
-
if ( ! wp_verify_nonce( $post_data['_wpnonce'], 'dokan_profile_settings_nonce' ) ) {
|
354 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
355 |
}
|
356 |
|
@@ -391,7 +395,7 @@ class Settings {
|
|
391 |
return false;
|
392 |
}
|
393 |
|
394 |
-
if ( ! wp_verify_nonce( $post_data['_wpnonce'], 'dokan_store_settings_nonce' ) ) {
|
395 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
396 |
}
|
397 |
|
@@ -441,7 +445,7 @@ class Settings {
|
|
441 |
return false;
|
442 |
}
|
443 |
|
444 |
-
if ( ! wp_verify_nonce( $post_data['_wpnonce'], 'dokan_payment_settings_nonce' ) ) {
|
445 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
446 |
}
|
447 |
|
@@ -474,7 +478,11 @@ class Settings {
|
|
474 |
$prev_dokan_settings = ! empty( $existing_dokan_settings ) ? $existing_dokan_settings : array();
|
475 |
$post_data = wp_unslash( $_POST );
|
476 |
|
477 |
-
if (
|
|
|
|
|
|
|
|
|
478 |
|
479 |
// update profile settings info
|
480 |
$social = $post_data['settings']['social'];
|
@@ -489,7 +497,7 @@ class Settings {
|
|
489 |
}
|
490 |
}
|
491 |
|
492 |
-
} elseif ( wp_verify_nonce( $post_data['_wpnonce'], 'dokan_store_settings_nonce' ) ) {
|
493 |
|
494 |
$default_locations = dokan_get_option( 'location', 'dokan_geolocation' );
|
495 |
$find_address = ! empty( $post_data['find_address'] ) ? sanitize_text_field( $post_data['find_address'] ) : $default_locations['address'];
|
@@ -554,7 +562,7 @@ class Settings {
|
|
554 |
|
555 |
update_user_meta( $store_id, 'dokan_store_name', $dokan_settings['store_name'] );
|
556 |
|
557 |
-
} elseif ( wp_verify_nonce( $post_data['_wpnonce'], 'dokan_payment_settings_nonce' ) ) {
|
558 |
|
559 |
//update payment settings info
|
560 |
$dokan_settings = array(
|
213 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
214 |
}
|
215 |
|
216 |
+
if ( ! isset( $_POST['_wpnonce'] ) ) {
|
217 |
+
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
218 |
+
}
|
219 |
+
|
220 |
$post_data = wp_unslash( $_POST );
|
221 |
|
222 |
$post_data['dokan_update_profile'] = '';
|
227 |
wp_send_json_error( __( 'Pemission denied social', 'dokan-lite' ) );
|
228 |
}
|
229 |
|
230 |
+
if ( ! wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_profile_settings_nonce' ) ) {
|
231 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
232 |
}
|
233 |
|
239 |
wp_send_json_error( __( 'Pemission denied', 'dokan-lite' ) );
|
240 |
}
|
241 |
|
242 |
+
if ( ! wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_store_settings_nonce' ) ) {
|
243 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
244 |
}
|
245 |
|
251 |
wp_send_json_error( __( 'Pemission denied', 'dokan-lite' ) );
|
252 |
}
|
253 |
|
254 |
+
if ( ! wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_payment_settings_nonce' ) ) {
|
255 |
wp_send_json_error( __( 'Are you cheating?', 'dokan-lite' ) );
|
256 |
}
|
257 |
|
288 |
return false;
|
289 |
}
|
290 |
|
291 |
+
if ( ! isset( $post_data['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_settings_nonce' ) ) {
|
292 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
293 |
}
|
294 |
|
354 |
return false;
|
355 |
}
|
356 |
|
357 |
+
if ( ! isset( $post_data['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_profile_settings_nonce' ) ) {
|
358 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
359 |
}
|
360 |
|
395 |
return false;
|
396 |
}
|
397 |
|
398 |
+
if ( ! isset( $post_data['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_store_settings_nonce' ) ) {
|
399 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
400 |
}
|
401 |
|
445 |
return false;
|
446 |
}
|
447 |
|
448 |
+
if ( ! isset( $post_data['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_payment_settings_nonce' ) ) {
|
449 |
wp_die( esc_attr__( 'Are you cheating?', 'dokan-lite' ) );
|
450 |
}
|
451 |
|
478 |
$prev_dokan_settings = ! empty( $existing_dokan_settings ) ? $existing_dokan_settings : array();
|
479 |
$post_data = wp_unslash( $_POST );
|
480 |
|
481 |
+
if ( ! isset( $post_data['_wpnonce'] ) ) {
|
482 |
+
return;
|
483 |
+
}
|
484 |
+
|
485 |
+
if ( wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_profile_settings_nonce' ) ) {
|
486 |
|
487 |
// update profile settings info
|
488 |
$social = $post_data['settings']['social'];
|
497 |
}
|
498 |
}
|
499 |
|
500 |
+
} elseif ( wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_store_settings_nonce' ) ) {
|
501 |
|
502 |
$default_locations = dokan_get_option( 'location', 'dokan_geolocation' );
|
503 |
$find_address = ! empty( $post_data['find_address'] ) ? sanitize_text_field( $post_data['find_address'] ) : $default_locations['address'];
|
562 |
|
563 |
update_user_meta( $store_id, 'dokan_store_name', $dokan_settings['store_name'] );
|
564 |
|
565 |
+
} elseif ( wp_verify_nonce( sanitize_key( $post_data['_wpnonce'] ), 'dokan_payment_settings_nonce' ) ) {
|
566 |
|
567 |
//update payment settings info
|
568 |
$dokan_settings = array(
|
includes/Dashboard/Templates/Withdraw.php
CHANGED
@@ -102,7 +102,7 @@ class Withdraw {
|
|
102 |
protected function handle_cancel_request() {
|
103 |
$get_data = wp_unslash( $_GET );
|
104 |
|
105 |
-
if ( ! wp_verify_nonce( $get_data['_wpnonce'], 'dokan_cancel_withdraw' ) ) {
|
106 |
$this->add_error( esc_html__( 'Are you cheating?', 'dokan-lite' ) );
|
107 |
}
|
108 |
|
@@ -110,7 +110,7 @@ class Withdraw {
|
|
110 |
$this->add_error( esc_html__( 'You have no permission to do this action', 'dokan-lite' ) );
|
111 |
}
|
112 |
|
113 |
-
if ( empty( $get_data['id'] ) ) {
|
114 |
$this->add_error( esc_html__( 'Missing withdraw id.', 'dokan-lite' ) );
|
115 |
}
|
116 |
|
@@ -119,7 +119,7 @@ class Withdraw {
|
|
119 |
}
|
120 |
|
121 |
$user_id = get_current_user_id();
|
122 |
-
$withdraw_id = absint( $get_data['id'] );
|
123 |
|
124 |
if ( ! dokan_is_seller_enabled( $user_id ) ) {
|
125 |
return $this->add_error( esc_html__( 'Your account is not enabled for selling, please contact the admin', 'dokan-lite' ) );
|
102 |
protected function handle_cancel_request() {
|
103 |
$get_data = wp_unslash( $_GET );
|
104 |
|
105 |
+
if ( ! isset( $get_data['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $get_data['_wpnonce'] ), 'dokan_cancel_withdraw' ) ) {
|
106 |
$this->add_error( esc_html__( 'Are you cheating?', 'dokan-lite' ) );
|
107 |
}
|
108 |
|
110 |
$this->add_error( esc_html__( 'You have no permission to do this action', 'dokan-lite' ) );
|
111 |
}
|
112 |
|
113 |
+
if ( empty( wp_unslash( $get_data['id'] ) ) ) {
|
114 |
$this->add_error( esc_html__( 'Missing withdraw id.', 'dokan-lite' ) );
|
115 |
}
|
116 |
|
119 |
}
|
120 |
|
121 |
$user_id = get_current_user_id();
|
122 |
+
$withdraw_id = absint( wp_unslash( $get_data['id'] ) );
|
123 |
|
124 |
if ( ! dokan_is_seller_enabled( $user_id ) ) {
|
125 |
return $this->add_error( esc_html__( 'Your account is not enabled for selling, please contact the admin', 'dokan-lite' ) );
|
includes/Product/Hooks.php
CHANGED
@@ -35,7 +35,7 @@ class Hooks {
|
|
35 |
|
36 |
$post_data = wp_unslash( $_POST );
|
37 |
|
38 |
-
if ( ! isset( $post_data['security'] ) || ! wp_verify_nonce( $post_data['security'], 'bulk_product_status_change' ) ) {
|
39 |
return;
|
40 |
}
|
41 |
if ( ! isset( $post_data['status'] ) || ! isset( $post_data['bulk_products'] ) ) {
|
35 |
|
36 |
$post_data = wp_unslash( $_POST );
|
37 |
|
38 |
+
if ( ! isset( $post_data['security'] ) || ! wp_verify_nonce( sanitize_key( $post_data['security'] ), 'bulk_product_status_change' ) ) {
|
39 |
return;
|
40 |
}
|
41 |
if ( ! isset( $post_data['status'] ) || ! isset( $post_data['bulk_products'] ) ) {
|
includes/Registration.php
CHANGED
@@ -11,7 +11,7 @@ use WP_Error;
|
|
11 |
*/
|
12 |
class Registration {
|
13 |
|
14 |
-
function __construct() {
|
15 |
// validate registration
|
16 |
add_filter( 'woocommerce_process_registration_errors', array( $this, 'validate_registration' ) );
|
17 |
add_filter( 'woocommerce_registration_errors', array( $this, 'validate_registration' ) );
|
@@ -28,7 +28,7 @@ class Registration {
|
|
28 |
*
|
29 |
* @return \WP_Error
|
30 |
*/
|
31 |
-
function validate_registration( $error ) {
|
32 |
if ( is_checkout() ) {
|
33 |
return $error;
|
34 |
}
|
@@ -41,10 +41,10 @@ class Registration {
|
|
41 |
$nonce_check = apply_filters( 'dokan_register_nonce_check', true );
|
42 |
|
43 |
if ( $nonce_check ) {
|
44 |
-
$nonce_value = isset( $post_data['_wpnonce'] ) ? $post_data['_wpnonce'] : '';
|
45 |
-
$nonce_value = isset( $post_data['woocommerce-register-nonce'] ) ? $post_data['woocommerce-register-nonce'] : $nonce_value;
|
46 |
|
47 |
-
if ( ! wp_verify_nonce( $nonce_value, 'woocommerce-register' ) ) {
|
48 |
return new WP_Error( 'nonce_verification_failed', __( 'Nonce verification failed', 'dokan-lite' ) );
|
49 |
}
|
50 |
}
|
@@ -52,7 +52,7 @@ class Registration {
|
|
52 |
$allowed_roles = apply_filters( 'dokan_register_user_role', array( 'customer', 'seller' ) );
|
53 |
|
54 |
// is the role name allowed or user is trying to manipulate?
|
55 |
-
if ( isset( $post_data['role'] ) && ! in_array( $post_data['role'], $allowed_roles ) ) {
|
56 |
return new WP_Error( 'role-error', __( 'Cheating, eh?', 'dokan-lite' ) );
|
57 |
}
|
58 |
|
@@ -67,7 +67,7 @@ class Registration {
|
|
67 |
)
|
68 |
);
|
69 |
|
70 |
-
if ( $role
|
71 |
foreach ( $required_fields as $field => $msg ) {
|
72 |
if ( empty( trim( $post_data[ $field ] ) ) ) {
|
73 |
return new WP_Error( "$field-error", $msg );
|
@@ -84,20 +84,20 @@ class Registration {
|
|
84 |
* @param array $data
|
85 |
* @return array
|
86 |
*/
|
87 |
-
function set_new_vendor_names( $data ) {
|
88 |
-
$post_data = wp_unslash( $_POST ); //
|
89 |
|
90 |
$allowed_roles = apply_filters( 'dokan_register_user_role', array( 'customer', 'seller' ) );
|
91 |
-
$role = ( isset( $post_data['role'] ) && in_array( $post_data['role'], $allowed_roles ) ) ? $post_data['role'] : 'customer';
|
92 |
|
93 |
$data['role'] = $role;
|
94 |
|
95 |
-
if ( $role
|
96 |
return $data;
|
97 |
}
|
98 |
|
99 |
-
$data['first_name'] =
|
100 |
-
$data['last_name'] =
|
101 |
$data['user_nicename'] = sanitize_user( $post_data['shopurl'] );
|
102 |
|
103 |
return $data;
|
@@ -111,10 +111,10 @@ class Registration {
|
|
111 |
*
|
112 |
* @return void
|
113 |
*/
|
114 |
-
function save_vendor_info( $user_id, $data ) {
|
115 |
-
$post_data = wp_unslash( $_POST ); //
|
116 |
|
117 |
-
if ( ! isset( $data['role'] ) || $data['role']
|
118 |
return;
|
119 |
}
|
120 |
|
11 |
*/
|
12 |
class Registration {
|
13 |
|
14 |
+
public function __construct() {
|
15 |
// validate registration
|
16 |
add_filter( 'woocommerce_process_registration_errors', array( $this, 'validate_registration' ) );
|
17 |
add_filter( 'woocommerce_registration_errors', array( $this, 'validate_registration' ) );
|
28 |
*
|
29 |
* @return \WP_Error
|
30 |
*/
|
31 |
+
public function validate_registration( $error ) {
|
32 |
if ( is_checkout() ) {
|
33 |
return $error;
|
34 |
}
|
41 |
$nonce_check = apply_filters( 'dokan_register_nonce_check', true );
|
42 |
|
43 |
if ( $nonce_check ) {
|
44 |
+
$nonce_value = isset( $post_data['_wpnonce'] ) ? sanitize_key( $post_data['_wpnonce'] ) : '';
|
45 |
+
$nonce_value = isset( $post_data['woocommerce-register-nonce'] ) ? sanitize_key( $post_data['woocommerce-register-nonce'] ) : $nonce_value;
|
46 |
|
47 |
+
if ( empty( $nonce_value ) || ! wp_verify_nonce( $nonce_value, 'woocommerce-register' ) ) {
|
48 |
return new WP_Error( 'nonce_verification_failed', __( 'Nonce verification failed', 'dokan-lite' ) );
|
49 |
}
|
50 |
}
|
52 |
$allowed_roles = apply_filters( 'dokan_register_user_role', array( 'customer', 'seller' ) );
|
53 |
|
54 |
// is the role name allowed or user is trying to manipulate?
|
55 |
+
if ( isset( $post_data['role'] ) && ! in_array( $post_data['role'], $allowed_roles, true ) ) {
|
56 |
return new WP_Error( 'role-error', __( 'Cheating, eh?', 'dokan-lite' ) );
|
57 |
}
|
58 |
|
67 |
)
|
68 |
);
|
69 |
|
70 |
+
if ( $role === 'seller' ) {
|
71 |
foreach ( $required_fields as $field => $msg ) {
|
72 |
if ( empty( trim( $post_data[ $field ] ) ) ) {
|
73 |
return new WP_Error( "$field-error", $msg );
|
84 |
* @param array $data
|
85 |
* @return array
|
86 |
*/
|
87 |
+
public function set_new_vendor_names( $data ) {
|
88 |
+
$post_data = wp_unslash( $_POST ); // phpcs:ignore WordPress.Security.NonceVerification
|
89 |
|
90 |
$allowed_roles = apply_filters( 'dokan_register_user_role', array( 'customer', 'seller' ) );
|
91 |
+
$role = ( isset( $post_data['role'] ) && in_array( $post_data['role'], $allowed_roles, true ) ) ? $post_data['role'] : 'customer';
|
92 |
|
93 |
$data['role'] = $role;
|
94 |
|
95 |
+
if ( $role !== 'seller' ) {
|
96 |
return $data;
|
97 |
}
|
98 |
|
99 |
+
$data['first_name'] = wp_strip_all_tags( $post_data['fname'] );
|
100 |
+
$data['last_name'] = wp_strip_all_tags( $post_data['lname'] );
|
101 |
$data['user_nicename'] = sanitize_user( $post_data['shopurl'] );
|
102 |
|
103 |
return $data;
|
111 |
*
|
112 |
* @return void
|
113 |
*/
|
114 |
+
public function save_vendor_info( $user_id, $data ) {
|
115 |
+
$post_data = wp_unslash( $_POST ); // phpcs:ignore WordPress.Security.NonceVerification
|
116 |
|
117 |
+
if ( ! isset( $data['role'] ) || $data['role'] !== 'seller' ) {
|
118 |
return;
|
119 |
}
|
120 |
|
includes/Vendor/SetupWizard.php
CHANGED
@@ -330,13 +330,7 @@ class SetupWizard extends DokanSetupWizard {
|
|
330 |
* Save store options.
|
331 |
*/
|
332 |
public function dokan_setup_store_save() {
|
333 |
-
if ( ! isset( $_POST['_wpnonce'] ) ) {
|
334 |
-
return;
|
335 |
-
}
|
336 |
-
|
337 |
-
$nonce = sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) );
|
338 |
-
|
339 |
-
if ( ! wp_verify_nonce( $nonce, 'dokan-seller-setup' ) ) {
|
340 |
return;
|
341 |
}
|
342 |
|
@@ -350,14 +344,14 @@ class SetupWizard extends DokanSetupWizard {
|
|
350 |
if ( $dokan_settings['address'] ) {
|
351 |
$dokan_settings['profile_completion']['address'] = 10;
|
352 |
$profile_settings = get_user_meta( $this->store_id, 'dokan_profile_settings', true );
|
353 |
-
|
354 |
if ( ! empty( $profile_settings['profile_completion']['progress'] ) ) {
|
355 |
-
$dokan_settings['profile_completion']['progress'] = $profile_settings['profile_completion']['progress'] + 10;
|
356 |
}
|
357 |
}
|
358 |
|
359 |
update_user_meta( $this->store_id, 'dokan_profile_settings', $dokan_settings );
|
360 |
-
|
361 |
do_action( 'dokan_seller_wizard_store_field_save', $this );
|
362 |
|
363 |
wp_redirect( esc_url_raw( $this->get_next_step_link() ) );
|
@@ -407,22 +401,16 @@ class SetupWizard extends DokanSetupWizard {
|
|
407 |
* Save payment options.
|
408 |
*/
|
409 |
public function dokan_setup_payment_save() {
|
410 |
-
$
|
411 |
-
|
412 |
-
if ( ! isset( $posted_data['_wpnonce'] ) ) {
|
413 |
return;
|
414 |
}
|
415 |
|
416 |
-
$
|
417 |
-
|
418 |
-
if ( ! wp_verify_nonce( $nonce, 'dokan-seller-setup' ) ) {
|
419 |
-
return;
|
420 |
-
}
|
421 |
|
422 |
$dokan_settings = $this->store_info;
|
423 |
|
424 |
if ( isset( $posted_data['settings']['bank'] ) ) {
|
425 |
-
$bank =
|
426 |
|
427 |
$dokan_settings['payment']['bank'] = array(
|
428 |
'ac_name' => sanitize_text_field( $bank['ac_name'] ),
|
@@ -455,7 +443,7 @@ class SetupWizard extends DokanSetupWizard {
|
|
455 |
if ( isset( $posted_data['settings']['paypal'] ) || isset( $posted_data['settings']['skrill'] ) ) {
|
456 |
$profile_settings = get_user_meta( $this->store_id, 'dokan_profile_settings', true );
|
457 |
if ( ! empty( $profile_settings['profile_completion']['progress'] ) ) {
|
458 |
-
$dokan_settings['profile_completion']['progress'] = $profile_settings['profile_completion']['progress'] + 15;
|
459 |
}
|
460 |
}
|
461 |
|
330 |
* Save store options.
|
331 |
*/
|
332 |
public function dokan_setup_store_save() {
|
333 |
+
if ( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['_wpnonce'] ), 'dokan-seller-setup' ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
return;
|
335 |
}
|
336 |
|
344 |
if ( $dokan_settings['address'] ) {
|
345 |
$dokan_settings['profile_completion']['address'] = 10;
|
346 |
$profile_settings = get_user_meta( $this->store_id, 'dokan_profile_settings', true );
|
347 |
+
|
348 |
if ( ! empty( $profile_settings['profile_completion']['progress'] ) ) {
|
349 |
+
$dokan_settings['profile_completion']['progress'] = $profile_settings['profile_completion']['progress'] + 10;
|
350 |
}
|
351 |
}
|
352 |
|
353 |
update_user_meta( $this->store_id, 'dokan_profile_settings', $dokan_settings );
|
354 |
+
|
355 |
do_action( 'dokan_seller_wizard_store_field_save', $this );
|
356 |
|
357 |
wp_redirect( esc_url_raw( $this->get_next_step_link() ) );
|
401 |
* Save payment options.
|
402 |
*/
|
403 |
public function dokan_setup_payment_save() {
|
404 |
+
if ( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['_wpnonce'] ), 'dokan-seller-setup' ) ) {
|
|
|
|
|
405 |
return;
|
406 |
}
|
407 |
|
408 |
+
$posted_data = wp_unslash( $_POST );
|
|
|
|
|
|
|
|
|
409 |
|
410 |
$dokan_settings = $this->store_info;
|
411 |
|
412 |
if ( isset( $posted_data['settings']['bank'] ) ) {
|
413 |
+
$bank = $posted_data['settings']['bank'];
|
414 |
|
415 |
$dokan_settings['payment']['bank'] = array(
|
416 |
'ac_name' => sanitize_text_field( $bank['ac_name'] ),
|
443 |
if ( isset( $posted_data['settings']['paypal'] ) || isset( $posted_data['settings']['skrill'] ) ) {
|
444 |
$profile_settings = get_user_meta( $this->store_id, 'dokan_profile_settings', true );
|
445 |
if ( ! empty( $profile_settings['profile_completion']['progress'] ) ) {
|
446 |
+
$dokan_settings['profile_completion']['progress'] = $profile_settings['profile_completion']['progress'] + 15;
|
447 |
}
|
448 |
}
|
449 |
|
includes/Vendor/UserSwitch.php
CHANGED
@@ -118,7 +118,7 @@ class UserSwitch {
|
|
118 |
* @return void
|
119 |
* */
|
120 |
public function install_user_switching() {
|
121 |
-
if ( ! isset( $_REQUEST['_wpnonce'] ) || ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'user-switching-installer-nonce' ) ) {
|
122 |
wp_send_json_error( __( 'Error: Nonce verification failed', 'dokan-lite' ) );
|
123 |
}
|
124 |
|
118 |
* @return void
|
119 |
* */
|
120 |
public function install_user_switching() {
|
121 |
+
if ( ! isset( $_REQUEST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $_REQUEST['_wpnonce'] ), 'user-switching-installer-nonce' ) ) {
|
122 |
wp_send_json_error( __( 'Error: Nonce verification failed', 'dokan-lite' ) );
|
123 |
}
|
124 |
|
includes/functions.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
* @return void
|
8 |
*/
|
9 |
function dokan_admin_menu_position() {
|
10 |
-
return apply_filters( 'dokan_menu_position', 55.4 );
|
11 |
}
|
12 |
|
13 |
/**
|
@@ -2274,7 +2274,7 @@ function dokan_product_search_by_sku( $where ) {
|
|
2274 |
|
2275 |
$getdata = wp_unslash( $_GET );
|
2276 |
|
2277 |
-
if (
|
2278 |
return $where;
|
2279 |
}
|
2280 |
|
7 |
* @return void
|
8 |
*/
|
9 |
function dokan_admin_menu_position() {
|
10 |
+
return apply_filters( 'dokan_menu_position', '55.4' );
|
11 |
}
|
12 |
|
13 |
/**
|
2274 |
|
2275 |
$getdata = wp_unslash( $_GET );
|
2276 |
|
2277 |
+
if ( empty( $getdata['product_search_name'] ) || ! isset( $getdata['dokan_product_search_nonce'] ) || ! wp_verify_nonce( sanitize_key( $getdata['dokan_product_search_nonce'] ), 'dokan_product_search' ) ) {
|
2278 |
return $where;
|
2279 |
}
|
2280 |
|
includes/wc-functions.php
CHANGED
@@ -842,7 +842,7 @@ function dokan_save_account_details() {
|
|
842 |
|
843 |
$postdata = wp_unslash( $_POST );
|
844 |
|
845 |
-
if ( empty( $postdata['_wpnonce'] ) || ! wp_verify_nonce( $postdata['_wpnonce'], 'dokan_save_account_details' ) ) {
|
846 |
return;
|
847 |
}
|
848 |
|
@@ -1092,7 +1092,7 @@ function dokan_bulk_order_status_change() {
|
|
1092 |
|
1093 |
$postdata = wp_unslash( $_POST );
|
1094 |
|
1095 |
-
if ( ! isset( $postdata['security'] ) || ! wp_verify_nonce( $postdata['security'], 'bulk_order_status_change' ) ) {
|
1096 |
return;
|
1097 |
}
|
1098 |
|
842 |
|
843 |
$postdata = wp_unslash( $_POST );
|
844 |
|
845 |
+
if ( empty( $postdata['_wpnonce'] ) || ! wp_verify_nonce( sanitize_key( $postdata['_wpnonce'] ), 'dokan_save_account_details' ) ) {
|
846 |
return;
|
847 |
}
|
848 |
|
1092 |
|
1093 |
$postdata = wp_unslash( $_POST );
|
1094 |
|
1095 |
+
if ( ! isset( $postdata['security'] ) || ! wp_verify_nonce( sanitize_key( $postdata['security'] ), 'bulk_order_status_change' ) ) {
|
1096 |
return;
|
1097 |
}
|
1098 |
|
includes/wc-template.php
CHANGED
@@ -246,7 +246,7 @@ function dokan_save_quick_edit_vendor_data( $product ) {
|
|
246 |
|
247 |
$get_data = wp_unslash( $_REQUEST );
|
248 |
|
249 |
-
if ( ! isset( $get_data['woocommerce_quick_edit_nonce'] ) || ! wp_verify_nonce( $get_data['woocommerce_quick_edit_nonce'], 'woocommerce_quick_edit_nonce' ) ) {
|
250 |
return;
|
251 |
}
|
252 |
|
246 |
|
247 |
$get_data = wp_unslash( $_REQUEST );
|
248 |
|
249 |
+
if ( ! isset( $get_data['woocommerce_quick_edit_nonce'] ) || ! wp_verify_nonce( sanitize_key( $get_data['woocommerce_quick_edit_nonce'] ), 'woocommerce_quick_edit_nonce' ) ) {
|
250 |
return;
|
251 |
}
|
252 |
|
languages/dokan-lite.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the GPL2.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Dokan 3.2.
|
6 |
"Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
|
7 |
-
"POT-Creation-Date: 2021-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -121,7 +121,7 @@ msgid "Dokan"
|
|
121 |
msgstr ""
|
122 |
|
123 |
#: includes/Admin/AdminBar.php:54 includes/Admin/Menu.php:43
|
124 |
-
#: includes/Admin/Settings.php:
|
125 |
#: includes/template-tags.php:378 src/admin/pages/Dashboard.vue:5
|
126 |
msgid "Dashboard"
|
127 |
msgstr ""
|
@@ -143,7 +143,7 @@ msgstr ""
|
|
143 |
|
144 |
#: includes/Admin/Hooks.php:64 includes/Admin/Hooks.php:70
|
145 |
#: includes/Admin/Hooks.php:357 includes/Admin/Hooks.php:379
|
146 |
-
#: includes/Admin/Settings.php:
|
147 |
#: includes/Admin/SetupWizard.php:345 includes/Install/Installer.php:93
|
148 |
#: includes/wc-template.php:17 includes/wc-template.php:172
|
149 |
#: includes/wc-template.php:321 src/admin/pages/Dashboard.vue:38
|
@@ -422,136 +422,142 @@ msgstr ""
|
|
422 |
msgid "Store Products Per Page"
|
423 |
msgstr ""
|
424 |
|
425 |
-
#: includes/Admin/Settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
426 |
msgid "Commission"
|
427 |
msgstr ""
|
428 |
|
429 |
-
#: includes/Admin/Settings.php:
|
430 |
msgid "Commission Type "
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: includes/Admin/Settings.php:
|
434 |
msgid "Select a commission type for Vendor"
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: includes/Admin/Settings.php:
|
438 |
#: src/admin/pages/VendorPaymentFields.vue:78
|
439 |
#: templates/admin-setup-wizard/step-selling.php:31
|
440 |
msgid "Admin Commission"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: includes/Admin/Settings.php:
|
444 |
msgid "Amount you get from each sale"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: includes/Admin/Settings.php:
|
448 |
#: templates/admin-setup-wizard/step-store.php:14
|
449 |
msgid "Shipping Fee Recipient"
|
450 |
msgstr ""
|
451 |
|
452 |
-
#: includes/Admin/Settings.php:
|
453 |
msgid "Who will be receiving the Shipping fees"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: includes/Admin/Settings.php:
|
457 |
#: includes/Admin/SetupWizard.php:346
|
458 |
msgid "Admin"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: includes/Admin/Settings.php:
|
462 |
#: templates/admin-setup-wizard/step-store.php:28
|
463 |
msgid "Tax Fee Recipient"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/Admin/Settings.php:
|
467 |
msgid "Who will be receiving the Tax fees"
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: includes/Admin/Settings.php:
|
471 |
msgid "Vendor Capability"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: includes/Admin/Settings.php:
|
475 |
msgid "New Vendor Product Upload"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: includes/Admin/Settings.php:
|
479 |
msgid "Allow newly registered vendors to add products"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: includes/Admin/Settings.php:
|
483 |
msgid "Disable Product Popup"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/Admin/Settings.php:
|
487 |
msgid "Disable add new product in popup view"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: includes/Admin/Settings.php:
|
491 |
#: templates/admin-setup-wizard/step-selling.php:39
|
492 |
msgid "Order Status Change"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: includes/Admin/Settings.php:
|
496 |
msgid "Allow vendor to update order status"
|
497 |
msgstr ""
|
498 |
|
499 |
-
#: includes/Admin/Settings.php:
|
500 |
msgid "Withdraw Methods"
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: includes/Admin/Settings.php:
|
504 |
msgid "Select suitable Withdraw methods for Vendors"
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: includes/Admin/Settings.php:
|
508 |
msgid "Minimum Withdraw Limit"
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: includes/Admin/Settings.php:
|
512 |
msgid ""
|
513 |
"Minimum balance required to make a withdraw request. Leave blank to set no "
|
514 |
"minimum limits."
|
515 |
msgstr ""
|
516 |
|
517 |
-
#: includes/Admin/Settings.php:
|
518 |
msgid "Exclude COD Payments"
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: includes/Admin/Settings.php:
|
522 |
msgid ""
|
523 |
"If an order is paid with Cash on Delivery (COD), then exclude that payment "
|
524 |
"from vendor balance."
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: includes/Admin/Settings.php:
|
528 |
msgid "Select a page to show Vendor Dashboard"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: includes/Admin/Settings.php:
|
532 |
-
#: includes/Admin/Settings.php:
|
533 |
#: includes/Admin/Settings.php:627
|
534 |
msgid "Select page"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: includes/Admin/Settings.php:
|
538 |
#: templates/global/header-menu.php:46
|
539 |
msgid "My Orders"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: includes/Admin/Settings.php:
|
543 |
msgid "Select a page to show My Orders"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: includes/Admin/Settings.php:
|
547 |
msgid "Store Listing"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: includes/Admin/Settings.php:
|
551 |
msgid "Select a page to show all Stores"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: includes/Admin/Settings.php:
|
555 |
msgid "Terms and Conditions Page"
|
556 |
msgstr ""
|
557 |
|
@@ -650,7 +656,7 @@ msgstr ""
|
|
650 |
msgid "Email Address"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: includes/Admin/Settings.php:609 includes/Admin/UserProfile.php:
|
654 |
#: src/admin/pages/VendorAccountFields.vue:64
|
655 |
#: templates/account/vendor-registration.php:33
|
656 |
#: templates/global/seller-registration-form.php:36
|
@@ -701,7 +707,7 @@ msgstr ""
|
|
701 |
msgid "Store"
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: includes/Admin/SetupWizard.php:155 includes/Admin/UserProfile.php:
|
705 |
msgid "Selling"
|
706 |
msgstr ""
|
707 |
|
@@ -791,14 +797,14 @@ msgstr ""
|
|
791 |
|
792 |
#: includes/Admin/SetupWizard.php:537 includes/Admin/SetupWizard.php:600
|
793 |
#: includes/Admin/SetupWizardWCAdmin.php:232
|
794 |
-
#: includes/Vendor/SetupWizard.php:243 includes/Vendor/SetupWizard.php:
|
795 |
#: templates/admin-setup-wizard/step-selling.php:53
|
796 |
#: templates/admin-setup-wizard/step-store.php:100
|
797 |
msgid "Continue"
|
798 |
msgstr ""
|
799 |
|
800 |
#: includes/Admin/SetupWizard.php:538 includes/Vendor/SetupWizard.php:244
|
801 |
-
#: includes/Vendor/SetupWizard.php:
|
802 |
#: templates/admin-setup-wizard/step-selling.php:54
|
803 |
#: templates/admin-setup-wizard/step-store.php:101
|
804 |
msgid "Skip this step"
|
@@ -942,7 +948,7 @@ msgstr ""
|
|
942 |
msgid "We'll use %1$s for product weight and %2$s for product dimensions."
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: includes/Admin/UserProfile.php:38 includes/Ajax.php:
|
946 |
#: includes/Assets.php:413 src/admin/pages/VendorAccountFields.vue:279
|
947 |
#: src/admin/pages/VendorAccountFields.vue:311
|
948 |
#: src/admin/pages/VendorAccountFields.vue:343
|
@@ -986,121 +992,122 @@ msgstr ""
|
|
986 |
msgid "Upload banner"
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: includes/Admin/UserProfile.php:
|
|
|
990 |
msgid "Upload a banner for your store. Banner size is (%1$sx%2$s) pixels."
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: includes/Admin/UserProfile.php:
|
994 |
msgid "Store name"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: includes/Admin/UserProfile.php:
|
998 |
#: src/admin/pages/VendorAccountFields.vue:53
|
999 |
msgid "Store URL"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
-
#: includes/Admin/UserProfile.php:
|
1003 |
msgid "Address 1"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: includes/Admin/UserProfile.php:
|
1007 |
msgid "Address 2"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
-
#: includes/Admin/UserProfile.php:
|
1011 |
msgid "Town/City"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: includes/Admin/UserProfile.php:
|
1015 |
msgid "Zip Code"
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#: includes/Admin/UserProfile.php:
|
1019 |
msgid "Payment Options : "
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: includes/Admin/UserProfile.php:
|
1023 |
msgid "Paypal Email "
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: includes/Admin/UserProfile.php:
|
1027 |
msgid "Skrill Email "
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: includes/Admin/UserProfile.php:
|
1031 |
msgid "Bank name "
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: includes/Admin/UserProfile.php:
|
1035 |
msgid "Account Name "
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: includes/Admin/UserProfile.php:
|
1039 |
msgid "Account Number "
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: includes/Admin/UserProfile.php:
|
1043 |
msgid "Bank Address "
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: includes/Admin/UserProfile.php:
|
1047 |
#: src/admin/pages/VendorPaymentFields.vue:30
|
1048 |
msgid "Routing Number"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: includes/Admin/UserProfile.php:
|
1052 |
msgid "Bank IBAN "
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: includes/Admin/UserProfile.php:
|
1056 |
msgid "Bank Swift "
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: includes/Admin/UserProfile.php:
|
1060 |
msgid "Enable Adding Products"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: includes/Admin/UserProfile.php:
|
1064 |
msgid "Enable or disable product adding capability"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: includes/Admin/UserProfile.php:
|
1068 |
msgid "Publishing"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: includes/Admin/UserProfile.php:
|
1072 |
msgid "Publish product directly"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: includes/Admin/UserProfile.php:
|
1076 |
msgid "Bypass pending, publish products directly"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: includes/Admin/UserProfile.php:
|
1080 |
msgid "Admin Commission Type "
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: includes/Admin/UserProfile.php:
|
1084 |
msgid "Set the commmission type admin gets from this seller"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: includes/Admin/UserProfile.php:
|
1088 |
msgid "Admin Commission "
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: includes/Admin/UserProfile.php:
|
1092 |
msgid "It will override the default commission admin gets from each sales"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: includes/Admin/UserProfile.php:
|
1096 |
msgid "Featured vendor"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: includes/Admin/UserProfile.php:
|
1100 |
msgid "Mark as featured vendor"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: includes/Admin/UserProfile.php:
|
1104 |
msgid "This vendor will be marked as a featured vendor."
|
1105 |
msgstr ""
|
1106 |
|
@@ -1131,7 +1138,7 @@ msgstr ""
|
|
1131 |
msgid "Commision: "
|
1132 |
msgstr ""
|
1133 |
|
1134 |
-
#: includes/Ajax.php:72 includes/Ajax.php:
|
1135 |
#: includes/Dashboard/Templates/Withdraw.php:110
|
1136 |
#: includes/Dashboard/Templates/Withdraw.php:175
|
1137 |
msgid "You have no permission to do this action"
|
@@ -1141,98 +1148,99 @@ msgstr ""
|
|
1141 |
msgid "Something wrong, please try again later"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
-
#: includes/Ajax.php:
|
1145 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1146 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1147 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1148 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1149 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1150 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1151 |
-
#: includes/Dashboard/Templates/Settings.php:
|
|
|
1152 |
#: includes/Dashboard/Templates/Withdraw.php:106
|
1153 |
#: includes/Dashboard/Templates/Withdraw.php:171
|
1154 |
msgid "Are you cheating?"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
-
#: includes/Ajax.php:
|
1158 |
msgid "You do not have sufficient permissions to access this page."
|
1159 |
msgstr ""
|
1160 |
|
1161 |
-
#: includes/Ajax.php:
|
1162 |
msgid "You have taken too long. Please go back and retry."
|
1163 |
msgstr ""
|
1164 |
|
1165 |
-
#: includes/Ajax.php:
|
1166 |
msgid "You do not have permission to change this order"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
-
#: includes/Ajax.php:
|
1170 |
#. translators: numeric number of files
|
1171 |
msgid "File %d"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
-
#: includes/Ajax.php:
|
1175 |
msgid "You have no permission to manage this order"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
-
#: includes/Ajax.php:
|
1179 |
msgid "Please provide your name."
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: includes/Ajax.php:
|
1183 |
msgid "Something went wrong!"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
-
#: includes/Ajax.php:
|
1187 |
msgid "Email sent successfully!"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
-
#: includes/Ajax.php:
|
1191 |
msgid "Delete note"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
-
#: includes/Ajax.php:
|
1195 |
msgid "Shipping provider: "
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: includes/Ajax.php:
|
1199 |
msgid "Shipping number: "
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#: includes/Ajax.php:
|
1203 |
msgid "Shipped date: "
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#: includes/Ajax.php:
|
1207 |
msgid "Delete"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#: includes/Ajax.php:
|
1211 |
msgid "Error: Nonce verification failed"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#: includes/Ajax.php:
|
1215 |
msgid "Image could not be processed. Please go back and try again."
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#: includes/Ajax.php:
|
1219 |
#. translators: 1. Customer name, 2. Customer ID, 3: Customer email
|
1220 |
msgid "%1$s (#%2$s – %3$s)"
|
1221 |
msgstr ""
|
1222 |
|
1223 |
-
#: includes/Ajax.php:
|
1224 |
msgid "Invalid username or password."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: includes/Ajax.php:
|
1228 |
msgid "Wrong username or password."
|
1229 |
msgstr ""
|
1230 |
|
1231 |
-
#: includes/Ajax.php:
|
1232 |
msgid "User logged in successfully."
|
1233 |
msgstr ""
|
1234 |
|
1235 |
-
#: includes/Ajax.php:
|
1236 |
msgid "id param is required"
|
1237 |
msgstr ""
|
1238 |
|
@@ -1666,33 +1674,33 @@ msgstr ""
|
|
1666 |
msgid "Delete Permanently"
|
1667 |
msgstr ""
|
1668 |
|
1669 |
-
#: includes/Dashboard/Templates/Products.php:
|
1670 |
msgid "Details of your product ..."
|
1671 |
msgstr ""
|
1672 |
|
1673 |
-
#: includes/Dashboard/Templates/Products.php:
|
1674 |
-
#: includes/Dashboard/Templates/Products.php:
|
1675 |
#: includes/Product/functions.php:31
|
1676 |
msgid "Please enter product title"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
-
#: includes/Dashboard/Templates/Products.php:
|
1680 |
-
#: includes/Dashboard/Templates/Products.php:
|
1681 |
#: includes/Product/functions.php:36
|
1682 |
msgid "Please select a category"
|
1683 |
msgstr ""
|
1684 |
|
1685 |
-
#: includes/Dashboard/Templates/Products.php:
|
1686 |
-
#: includes/Dashboard/Templates/Products.php:
|
1687 |
#: includes/Product/functions.php:40
|
1688 |
msgid "Please select AT LEAST ONE category"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: includes/Dashboard/Templates/Products.php:
|
1692 |
msgid "No product found!"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: includes/Dashboard/Templates/Products.php:
|
1696 |
#: includes/Product/functions.php:64
|
1697 |
msgid "I swear this is not your product!"
|
1698 |
msgstr ""
|
@@ -1708,50 +1716,50 @@ msgid ""
|
|
1708 |
"payments seamlessly."
|
1709 |
msgstr ""
|
1710 |
|
1711 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1712 |
msgid "Pemission denied social"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1716 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1717 |
msgid "Pemission denied"
|
1718 |
msgstr ""
|
1719 |
|
1720 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1721 |
msgid "Your information has been saved successfully"
|
1722 |
msgstr ""
|
1723 |
|
1724 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1725 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1726 |
msgid "Store name required"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1730 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1731 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1732 |
msgid "Store type required"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1736 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1737 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1738 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1739 |
msgid "Invalid email"
|
1740 |
msgstr ""
|
1741 |
|
1742 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1743 |
msgid "Address field for %s is required"
|
1744 |
msgstr ""
|
1745 |
|
1746 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1747 |
msgid "Book"
|
1748 |
msgstr ""
|
1749 |
|
1750 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1751 |
msgid "Dress"
|
1752 |
msgstr ""
|
1753 |
|
1754 |
-
#: includes/Dashboard/Templates/Settings.php:
|
1755 |
msgid "Electronic"
|
1756 |
msgstr ""
|
1757 |
|
@@ -4019,15 +4027,15 @@ msgstr ""
|
|
4019 |
msgid "Select an option…"
|
4020 |
msgstr ""
|
4021 |
|
4022 |
-
#: includes/Vendor/SetupWizard.php:
|
4023 |
msgid "Payment Setup"
|
4024 |
msgstr ""
|
4025 |
|
4026 |
-
#: includes/Vendor/SetupWizard.php:
|
4027 |
msgid "Your Store is Ready!"
|
4028 |
msgstr ""
|
4029 |
|
4030 |
-
#: includes/Vendor/SetupWizard.php:
|
4031 |
msgid "Go to your Store Dashboard!"
|
4032 |
msgstr ""
|
4033 |
|
2 |
# This file is distributed under the GPL2.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Dokan 3.2.1\n"
|
6 |
"Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
|
7 |
+
"POT-Creation-Date: 2021-02-12 11:34:02+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
121 |
msgstr ""
|
122 |
|
123 |
#: includes/Admin/AdminBar.php:54 includes/Admin/Menu.php:43
|
124 |
+
#: includes/Admin/Settings.php:491 includes/Install/Installer.php:157
|
125 |
#: includes/template-tags.php:378 src/admin/pages/Dashboard.vue:5
|
126 |
msgid "Dashboard"
|
127 |
msgstr ""
|
143 |
|
144 |
#: includes/Admin/Hooks.php:64 includes/Admin/Hooks.php:70
|
145 |
#: includes/Admin/Hooks.php:357 includes/Admin/Hooks.php:379
|
146 |
+
#: includes/Admin/Settings.php:402 includes/Admin/Settings.php:413
|
147 |
#: includes/Admin/SetupWizard.php:345 includes/Install/Installer.php:93
|
148 |
#: includes/wc-template.php:17 includes/wc-template.php:172
|
149 |
#: includes/wc-template.php:321 src/admin/pages/Dashboard.vue:38
|
422 |
msgid "Store Products Per Page"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: includes/Admin/Settings.php:363
|
426 |
+
msgid ""
|
427 |
+
"Set how many products to display per page on the vendor store page. It will "
|
428 |
+
"affect only if the vendor isn't set this value on their vendor setting page."
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: includes/Admin/Settings.php:374
|
432 |
msgid "Commission"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: includes/Admin/Settings.php:379
|
436 |
msgid "Commission Type "
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: includes/Admin/Settings.php:380
|
440 |
msgid "Select a commission type for Vendor"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: includes/Admin/Settings.php:387 src/admin/pages/VendorPaymentFields.vue:69
|
444 |
#: src/admin/pages/VendorPaymentFields.vue:78
|
445 |
#: templates/admin-setup-wizard/step-selling.php:31
|
446 |
msgid "Admin Commission"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: includes/Admin/Settings.php:388
|
450 |
msgid "Amount you get from each sale"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: includes/Admin/Settings.php:398
|
454 |
#: templates/admin-setup-wizard/step-store.php:14
|
455 |
msgid "Shipping Fee Recipient"
|
456 |
msgstr ""
|
457 |
|
458 |
+
#: includes/Admin/Settings.php:399
|
459 |
msgid "Who will be receiving the Shipping fees"
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: includes/Admin/Settings.php:403 includes/Admin/Settings.php:414
|
463 |
#: includes/Admin/SetupWizard.php:346
|
464 |
msgid "Admin"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: includes/Admin/Settings.php:409
|
468 |
#: templates/admin-setup-wizard/step-store.php:28
|
469 |
msgid "Tax Fee Recipient"
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: includes/Admin/Settings.php:410
|
473 |
msgid "Who will be receiving the Tax fees"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: includes/Admin/Settings.php:425
|
477 |
msgid "Vendor Capability"
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: includes/Admin/Settings.php:430
|
481 |
msgid "New Vendor Product Upload"
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: includes/Admin/Settings.php:431
|
485 |
msgid "Allow newly registered vendors to add products"
|
486 |
msgstr ""
|
487 |
|
488 |
+
#: includes/Admin/Settings.php:437
|
489 |
msgid "Disable Product Popup"
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: includes/Admin/Settings.php:438
|
493 |
msgid "Disable add new product in popup view"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: includes/Admin/Settings.php:444 src/admin/pages/VendorCapabilities.vue:89
|
497 |
#: templates/admin-setup-wizard/step-selling.php:39
|
498 |
msgid "Order Status Change"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: includes/Admin/Settings.php:445
|
502 |
msgid "Allow vendor to update order status"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: includes/Admin/Settings.php:464 includes/Admin/SetupWizard.php:465
|
506 |
msgid "Withdraw Methods"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: includes/Admin/Settings.php:465
|
510 |
msgid "Select suitable Withdraw methods for Vendors"
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: includes/Admin/Settings.php:472 includes/Admin/SetupWizard.php:502
|
514 |
msgid "Minimum Withdraw Limit"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: includes/Admin/Settings.php:473
|
518 |
msgid ""
|
519 |
"Minimum balance required to make a withdraw request. Leave blank to set no "
|
520 |
"minimum limits."
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: includes/Admin/Settings.php:482
|
524 |
msgid "Exclude COD Payments"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: includes/Admin/Settings.php:483
|
528 |
msgid ""
|
529 |
"If an order is paid with Cash on Delivery (COD), then exclude that payment "
|
530 |
"from vendor balance."
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: includes/Admin/Settings.php:492
|
534 |
msgid "Select a page to show Vendor Dashboard"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: includes/Admin/Settings.php:494 includes/Admin/Settings.php:502
|
538 |
+
#: includes/Admin/Settings.php:510 includes/Admin/Settings.php:517
|
539 |
#: includes/Admin/Settings.php:627
|
540 |
msgid "Select page"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: includes/Admin/Settings.php:499 includes/Install/Installer.php:169
|
544 |
#: templates/global/header-menu.php:46
|
545 |
msgid "My Orders"
|
546 |
msgstr ""
|
547 |
|
548 |
+
#: includes/Admin/Settings.php:500
|
549 |
msgid "Select a page to show My Orders"
|
550 |
msgstr ""
|
551 |
|
552 |
+
#: includes/Admin/Settings.php:507
|
553 |
msgid "Store Listing"
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: includes/Admin/Settings.php:508
|
557 |
msgid "Select a page to show all Stores"
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: includes/Admin/Settings.php:515
|
561 |
msgid "Terms and Conditions Page"
|
562 |
msgstr ""
|
563 |
|
656 |
msgid "Email Address"
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: includes/Admin/Settings.php:609 includes/Admin/UserProfile.php:212
|
660 |
#: src/admin/pages/VendorAccountFields.vue:64
|
661 |
#: templates/account/vendor-registration.php:33
|
662 |
#: templates/global/seller-registration-form.php:36
|
707 |
msgid "Store"
|
708 |
msgstr ""
|
709 |
|
710 |
+
#: includes/Admin/SetupWizard.php:155 includes/Admin/UserProfile.php:295
|
711 |
msgid "Selling"
|
712 |
msgstr ""
|
713 |
|
797 |
|
798 |
#: includes/Admin/SetupWizard.php:537 includes/Admin/SetupWizard.php:600
|
799 |
#: includes/Admin/SetupWizardWCAdmin.php:232
|
800 |
+
#: includes/Vendor/SetupWizard.php:243 includes/Vendor/SetupWizard.php:390
|
801 |
#: templates/admin-setup-wizard/step-selling.php:53
|
802 |
#: templates/admin-setup-wizard/step-store.php:100
|
803 |
msgid "Continue"
|
804 |
msgstr ""
|
805 |
|
806 |
#: includes/Admin/SetupWizard.php:538 includes/Vendor/SetupWizard.php:244
|
807 |
+
#: includes/Vendor/SetupWizard.php:391
|
808 |
#: templates/admin-setup-wizard/step-selling.php:54
|
809 |
#: templates/admin-setup-wizard/step-store.php:101
|
810 |
msgid "Skip this step"
|
948 |
msgid "We'll use %1$s for product weight and %2$s for product dimensions."
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: includes/Admin/UserProfile.php:38 includes/Ajax.php:143
|
952 |
#: includes/Assets.php:413 src/admin/pages/VendorAccountFields.vue:279
|
953 |
#: src/admin/pages/VendorAccountFields.vue:311
|
954 |
#: src/admin/pages/VendorAccountFields.vue:343
|
992 |
msgid "Upload banner"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: includes/Admin/UserProfile.php:123
|
996 |
+
#. translators: %1$s: banner width, %2$s: banner height in integers
|
997 |
msgid "Upload a banner for your store. Banner size is (%1$sx%2$s) pixels."
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: includes/Admin/UserProfile.php:135
|
1001 |
msgid "Store name"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: includes/Admin/UserProfile.php:142
|
1005 |
#: src/admin/pages/VendorAccountFields.vue:53
|
1006 |
msgid "Store URL"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
+
#: includes/Admin/UserProfile.php:150 includes/Privacy.php:223
|
1010 |
msgid "Address 1"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
+
#: includes/Admin/UserProfile.php:157 includes/Privacy.php:224
|
1014 |
msgid "Address 2"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
+
#: includes/Admin/UserProfile.php:164
|
1018 |
msgid "Town/City"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: includes/Admin/UserProfile.php:171
|
1022 |
msgid "Zip Code"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
+
#: includes/Admin/UserProfile.php:230
|
1026 |
msgid "Payment Options : "
|
1027 |
msgstr ""
|
1028 |
|
1029 |
+
#: includes/Admin/UserProfile.php:235
|
1030 |
msgid "Paypal Email "
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: includes/Admin/UserProfile.php:243
|
1034 |
msgid "Skrill Email "
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: includes/Admin/UserProfile.php:252
|
1038 |
msgid "Bank name "
|
1039 |
msgstr ""
|
1040 |
|
1041 |
+
#: includes/Admin/UserProfile.php:258
|
1042 |
msgid "Account Name "
|
1043 |
msgstr ""
|
1044 |
|
1045 |
+
#: includes/Admin/UserProfile.php:264
|
1046 |
msgid "Account Number "
|
1047 |
msgstr ""
|
1048 |
|
1049 |
+
#: includes/Admin/UserProfile.php:270
|
1050 |
msgid "Bank Address "
|
1051 |
msgstr ""
|
1052 |
|
1053 |
+
#: includes/Admin/UserProfile.php:276 includes/Privacy.php:279
|
1054 |
#: src/admin/pages/VendorPaymentFields.vue:30
|
1055 |
msgid "Routing Number"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: includes/Admin/UserProfile.php:282
|
1059 |
msgid "Bank IBAN "
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: includes/Admin/UserProfile.php:288
|
1063 |
msgid "Bank Swift "
|
1064 |
msgstr ""
|
1065 |
|
1066 |
+
#: includes/Admin/UserProfile.php:300
|
1067 |
msgid "Enable Adding Products"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
+
#: includes/Admin/UserProfile.php:303
|
1071 |
msgid "Enable or disable product adding capability"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: includes/Admin/UserProfile.php:308
|
1075 |
msgid "Publishing"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: includes/Admin/UserProfile.php:313
|
1079 |
msgid "Publish product directly"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: includes/Admin/UserProfile.php:316
|
1083 |
msgid "Bypass pending, publish products directly"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: includes/Admin/UserProfile.php:321
|
1087 |
msgid "Admin Commission Type "
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: includes/Admin/UserProfile.php:328
|
1091 |
msgid "Set the commmission type admin gets from this seller"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: includes/Admin/UserProfile.php:332
|
1095 |
msgid "Admin Commission "
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: includes/Admin/UserProfile.php:336
|
1099 |
msgid "It will override the default commission admin gets from each sales"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: includes/Admin/UserProfile.php:341
|
1103 |
msgid "Featured vendor"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: includes/Admin/UserProfile.php:346
|
1107 |
msgid "Mark as featured vendor"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: includes/Admin/UserProfile.php:349
|
1111 |
msgid "This vendor will be marked as a featured vendor."
|
1112 |
msgstr ""
|
1113 |
|
1138 |
msgid "Commision: "
|
1139 |
msgstr ""
|
1140 |
|
1141 |
+
#: includes/Ajax.php:72 includes/Ajax.php:999 includes/Ajax.php:1029
|
1142 |
#: includes/Dashboard/Templates/Withdraw.php:110
|
1143 |
#: includes/Dashboard/Templates/Withdraw.php:175
|
1144 |
msgid "You have no permission to do this action"
|
1148 |
msgid "Something wrong, please try again later"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
+
#: includes/Ajax.php:108 includes/Dashboard/Templates/Settings.php:213
|
1152 |
+
#: includes/Dashboard/Templates/Settings.php:217
|
1153 |
+
#: includes/Dashboard/Templates/Settings.php:231
|
1154 |
+
#: includes/Dashboard/Templates/Settings.php:243
|
1155 |
+
#: includes/Dashboard/Templates/Settings.php:255
|
1156 |
+
#: includes/Dashboard/Templates/Settings.php:292
|
1157 |
+
#: includes/Dashboard/Templates/Settings.php:358
|
1158 |
+
#: includes/Dashboard/Templates/Settings.php:399
|
1159 |
+
#: includes/Dashboard/Templates/Settings.php:449
|
1160 |
#: includes/Dashboard/Templates/Withdraw.php:106
|
1161 |
#: includes/Dashboard/Templates/Withdraw.php:171
|
1162 |
msgid "Are you cheating?"
|
1163 |
msgstr ""
|
1164 |
|
1165 |
+
#: includes/Ajax.php:161 includes/Ajax.php:196
|
1166 |
msgid "You do not have sufficient permissions to access this page."
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: includes/Ajax.php:165 includes/Ajax.php:200
|
1170 |
msgid "You have taken too long. Please go back and retry."
|
1171 |
msgstr ""
|
1172 |
|
1173 |
+
#: includes/Ajax.php:175 includes/Ajax.php:210
|
1174 |
msgid "You do not have permission to change this order"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: includes/Ajax.php:273
|
1178 |
#. translators: numeric number of files
|
1179 |
msgid "File %d"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: includes/Ajax.php:294
|
1183 |
msgid "You have no permission to manage this order"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: includes/Ajax.php:330 includes/Ajax.php:335
|
1187 |
msgid "Please provide your name."
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: includes/Ajax.php:342 includes/template-tags.php:161
|
1191 |
msgid "Something went wrong!"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
+
#: includes/Ajax.php:348 includes/REST/StoreController.php:812
|
1195 |
msgid "Email sent successfully!"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#: includes/Ajax.php:407 templates/orders/details.php:293
|
1199 |
msgid "Delete note"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
+
#: includes/Ajax.php:437
|
1203 |
msgid "Shipping provider: "
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: includes/Ajax.php:437
|
1207 |
msgid "Shipping number: "
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: includes/Ajax.php:437
|
1211 |
msgid "Shipped date: "
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: includes/Ajax.php:479 includes/woo-views/html-product-download.php:14
|
1215 |
msgid "Delete"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: includes/Ajax.php:520 includes/Vendor/UserSwitch.php:122
|
1219 |
msgid "Error: Nonce verification failed"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: includes/Ajax.php:610
|
1223 |
msgid "Image could not be processed. Please go back and try again."
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: includes/Ajax.php:767
|
1227 |
#. translators: 1. Customer name, 2. Customer ID, 3: Customer email
|
1228 |
msgid "%1$s (#%2$s – %3$s)"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: includes/Ajax.php:915
|
1232 |
msgid "Invalid username or password."
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: includes/Ajax.php:926
|
1236 |
msgid "Wrong username or password."
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: includes/Ajax.php:955
|
1240 |
msgid "User logged in successfully."
|
1241 |
msgstr ""
|
1242 |
|
1243 |
+
#: includes/Ajax.php:1005
|
1244 |
msgid "id param is required"
|
1245 |
msgstr ""
|
1246 |
|
1674 |
msgid "Delete Permanently"
|
1675 |
msgstr ""
|
1676 |
|
1677 |
+
#: includes/Dashboard/Templates/Products.php:231
|
1678 |
msgid "Details of your product ..."
|
1679 |
msgstr ""
|
1680 |
|
1681 |
+
#: includes/Dashboard/Templates/Products.php:240
|
1682 |
+
#: includes/Dashboard/Templates/Products.php:388
|
1683 |
#: includes/Product/functions.php:31
|
1684 |
msgid "Please enter product title"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: includes/Dashboard/Templates/Products.php:247
|
1688 |
+
#: includes/Dashboard/Templates/Products.php:395
|
1689 |
#: includes/Product/functions.php:36
|
1690 |
msgid "Please select a category"
|
1691 |
msgstr ""
|
1692 |
|
1693 |
+
#: includes/Dashboard/Templates/Products.php:252
|
1694 |
+
#: includes/Dashboard/Templates/Products.php:400
|
1695 |
#: includes/Product/functions.php:40
|
1696 |
msgid "Please select AT LEAST ONE category"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
+
#: includes/Dashboard/Templates/Products.php:407
|
1700 |
msgid "No product found!"
|
1701 |
msgstr ""
|
1702 |
|
1703 |
+
#: includes/Dashboard/Templates/Products.php:411
|
1704 |
#: includes/Product/functions.php:64
|
1705 |
msgid "I swear this is not your product!"
|
1706 |
msgstr ""
|
1716 |
"payments seamlessly."
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: includes/Dashboard/Templates/Settings.php:227
|
1720 |
msgid "Pemission denied social"
|
1721 |
msgstr ""
|
1722 |
|
1723 |
+
#: includes/Dashboard/Templates/Settings.php:239
|
1724 |
+
#: includes/Dashboard/Templates/Settings.php:251
|
1725 |
msgid "Pemission denied"
|
1726 |
msgstr ""
|
1727 |
|
1728 |
+
#: includes/Dashboard/Templates/Settings.php:269
|
1729 |
msgid "Your information has been saved successfully"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
+
#: includes/Dashboard/Templates/Settings.php:300
|
1733 |
+
#: includes/Dashboard/Templates/Settings.php:407
|
1734 |
msgid "Store name required"
|
1735 |
msgstr ""
|
1736 |
|
1737 |
+
#: includes/Dashboard/Templates/Settings.php:306
|
1738 |
+
#: includes/Dashboard/Templates/Settings.php:366
|
1739 |
+
#: includes/Dashboard/Templates/Settings.php:413
|
1740 |
msgid "Store type required"
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: includes/Dashboard/Templates/Settings.php:314
|
1744 |
+
#: includes/Dashboard/Templates/Settings.php:374
|
1745 |
+
#: includes/Dashboard/Templates/Settings.php:421
|
1746 |
+
#: includes/Dashboard/Templates/Settings.php:458
|
1747 |
msgid "Invalid email"
|
1748 |
msgstr ""
|
1749 |
|
1750 |
+
#: includes/Dashboard/Templates/Settings.php:333
|
1751 |
msgid "Address field for %s is required"
|
1752 |
msgstr ""
|
1753 |
|
1754 |
+
#: includes/Dashboard/Templates/Settings.php:619
|
1755 |
msgid "Book"
|
1756 |
msgstr ""
|
1757 |
|
1758 |
+
#: includes/Dashboard/Templates/Settings.php:620
|
1759 |
msgid "Dress"
|
1760 |
msgstr ""
|
1761 |
|
1762 |
+
#: includes/Dashboard/Templates/Settings.php:621
|
1763 |
msgid "Electronic"
|
1764 |
msgstr ""
|
1765 |
|
4027 |
msgid "Select an option…"
|
4028 |
msgstr ""
|
4029 |
|
4030 |
+
#: includes/Vendor/SetupWizard.php:368
|
4031 |
msgid "Payment Setup"
|
4032 |
msgstr ""
|
4033 |
|
4034 |
+
#: includes/Vendor/SetupWizard.php:466
|
4035 |
msgid "Your Store is Ready!"
|
4036 |
msgstr ""
|
4037 |
|
4038 |
+
#: includes/Vendor/SetupWizard.php:471
|
4039 |
msgid "Go to your Store Dashboard!"
|
4040 |
msgstr ""
|
4041 |
|
readme.txt
CHANGED
@@ -3,11 +3,11 @@ Contributors: tareq1988, wedevs, nizamuddinbabu
|
|
3 |
Donate Link: http://tareq.co/donate/
|
4 |
Tags: WooCommerce multivendor marketplace, multi vendor marketplace, multi seller store, multi-vendor, multi seller, commissions, multivendor, marketplace, product vendors, woocommerce vendor, commission rate, e-commerce, woocommerce, ebay, ecommerce, yith, yithemes
|
5 |
Requires at least: 4.4
|
6 |
-
Tested up to: 5.6
|
7 |
WC requires at least: 3.0
|
8 |
-
WC tested up to:
|
9 |
Requires PHP: 5.6
|
10 |
-
Stable tag: 3.2.
|
11 |
License: GPLv2 or later
|
12 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
13 |
|
@@ -292,6 +292,12 @@ A. Just install and activate the PRO version without deleting the free plugin. A
|
|
292 |
|
293 |
== Changelog ==
|
294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
= v3.2.0 ( January 29, 2021 ) =
|
296 |
|
297 |
**new** Added blank product page new UI on vendor dashboard
|
3 |
Donate Link: http://tareq.co/donate/
|
4 |
Tags: WooCommerce multivendor marketplace, multi vendor marketplace, multi seller store, multi-vendor, multi seller, commissions, multivendor, marketplace, product vendors, woocommerce vendor, commission rate, e-commerce, woocommerce, ebay, ecommerce, yith, yithemes
|
5 |
Requires at least: 4.4
|
6 |
+
Tested up to: 5.6.1
|
7 |
WC requires at least: 3.0
|
8 |
+
WC tested up to: 5.0.0
|
9 |
Requires PHP: 5.6
|
10 |
+
Stable tag: 3.2.1
|
11 |
License: GPLv2 or later
|
12 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
13 |
|
292 |
|
293 |
== Changelog ==
|
294 |
|
295 |
+
= v3.2.1 ( February 12, 2021 ) =
|
296 |
+
|
297 |
+
**fix:** Optimized code for better security
|
298 |
+
**update:** performance improvements on vendor dashboard end
|
299 |
+
**fix:** fixed conflict with user frontend menu position with Dokan
|
300 |
+
|
301 |
= v3.2.0 ( January 29, 2021 ) =
|
302 |
|
303 |
**new** Added blank product page new UI on vendor dashboard
|
templates/products/products-listing.php
CHANGED
@@ -36,7 +36,7 @@
|
|
36 |
<article class="dokan-product-listing-area">
|
37 |
|
38 |
<?php
|
39 |
-
$product_query = dokan()->product->all( [ 'author' => dokan_get_current_user_id() ] );
|
40 |
|
41 |
if ( $product_query->have_posts() ) {
|
42 |
?>
|
36 |
<article class="dokan-product-listing-area">
|
37 |
|
38 |
<?php
|
39 |
+
$product_query = dokan()->product->all( [ 'author' => dokan_get_current_user_id(), 'posts_per_page' => 1 ] );
|
40 |
|
41 |
if ( $product_query->have_posts() ) {
|
42 |
?>
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit82f7e385b23360c9340decd913dd4d9d::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit97568c9d5918187a35e3e37e83adbac1
|
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
-
spl_autoload_register(array('
|
26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
-
spl_autoload_unregister(array('
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
-
call_user_func(\Composer\Autoload\
|
34 |
} else {
|
35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit82f7e385b23360c9340decd913dd4d9d
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
+
spl_autoload_register(array('ComposerAutoloaderInit82f7e385b23360c9340decd913dd4d9d', 'loadClassLoader'), true, true);
|
26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit82f7e385b23360c9340decd913dd4d9d', 'loadClassLoader'));
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit82f7e385b23360c9340decd913dd4d9d::getInitializer($loader));
|
34 |
} else {
|
35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
@@ -177,9 +177,9 @@ class ComposerStaticInit97568c9d5918187a35e3e37e83adbac1
|
|
177 |
public static function getInitializer(ClassLoader $loader)
|
178 |
{
|
179 |
return \Closure::bind(function () use ($loader) {
|
180 |
-
$loader->prefixLengthsPsr4 =
|
181 |
-
$loader->prefixDirsPsr4 =
|
182 |
-
$loader->classMap =
|
183 |
|
184 |
}, null, ClassLoader::class);
|
185 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit82f7e385b23360c9340decd913dd4d9d
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
177 |
public static function getInitializer(ClassLoader $loader)
|
178 |
{
|
179 |
return \Closure::bind(function () use ($loader) {
|
180 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit82f7e385b23360c9340decd913dd4d9d::$prefixLengthsPsr4;
|
181 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit82f7e385b23360c9340decd913dd4d9d::$prefixDirsPsr4;
|
182 |
+
$loader->classMap = ComposerStaticInit82f7e385b23360c9340decd913dd4d9d::$classMap;
|
183 |
|
184 |
}, null, ClassLoader::class);
|
185 |
}
|