Dokan – Best WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy - Version 3.2.3

Version Description

Download this release

Release Info

Developer tareq1988
Plugin Icon wp plugin Dokan – Best WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy
Version 3.2.3
Comparing to
See all releases

Code changes from version 3.2.2 to 3.2.3

assets/css/setup-no-wc.css CHANGED
@@ -313,6 +313,9 @@ body {
313
  -webkit-order: 3;
314
  order: 3;
315
  }
 
 
 
316
  .wc-return-to-dashboard {
317
  text-align: center;
318
  display: block;
313
  -webkit-order: 3;
314
  order: 3;
315
  }
316
+ .dokan-admin-setup-wizard {
317
+ border: none;
318
+ }
319
  .wc-return-to-dashboard {
320
  text-align: center;
321
  display: block;
assets/css/setup.css CHANGED
@@ -183,3 +183,6 @@
183
  -webkit-order: 3;
184
  order: 3;
185
  }
 
 
 
183
  -webkit-order: 3;
184
  order: 3;
185
  }
186
+ .dokan-admin-setup-wizard {
187
+ border: none;
188
+ }
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.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: 5.0.0
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.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.3
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.1.0
12
  * Domain Path: /languages/
13
  * License: GPL2
14
  */
56
  *
57
  * @var string
58
  */
59
+ public $version = '3.2.3';
60
 
61
  /**
62
  * Instance of self
includes/Admin/LimitedTimePromotion.php CHANGED
@@ -39,15 +39,12 @@ class LimitedTimePromotion {
39
 
40
  $notices = [
41
  [
42
- 'pro' => false,
43
- 'key' => 'dokan-withdraw-promo',
44
- 'thumbnail' => DOKAN_PLUGIN_ASSEST . '/images/withdraw-request-promo.svg',
45
- 'start_date' => '2021-01-10 09:00:00 EST',
46
- 'end_date' => '2021-03-28 23:59:00 EST',
47
- 'title' => "<p>You’ve received <span>at least 5 Vendor</span> Withdrawal Requests already!</p><p>Want to get the full breakdown of your earnings?</p><p>Upgrade to Dokan Pro at <span>30% off</span> today!</p>",
48
- 'body' => "<p>Use this code at checkout:</p><span>dokanpro30</span>",
49
- 'link' => 'https://wedevs.com/dokan/pricing?utm_medium=wordpress-dashboard&utm_source=upgrade-to-pro',
50
- 'button_text' => 'Get Now'
51
  ],
52
  ];
53
 
@@ -56,112 +53,79 @@ class LimitedTimePromotion {
56
  }
57
 
58
  $current_time_est = $this->get_current_time_est();
59
- $selected_notices = [];
60
 
61
  $already_displayed_promo = get_option( $this->promo_option_key, [] );
62
 
63
  foreach ( $notices as $ntc ) {
64
- if ( in_array( $ntc['key'], $already_displayed_promo, true ) || ( ! $ntc['pro'] && dokan()->is_pro_exists() ) ) {
65
- continue;
66
- }
67
-
68
- // Temporary condition for withdraw request promo
69
- $withdraw_count = dokan()->withdraw->get_total_withdraw_count();
70
- if ( $withdraw_count <= 4 ) {
71
  continue;
72
  }
73
 
74
  if ( strtotime( $ntc['start_date'] ) < strtotime( $current_time_est ) && strtotime( $current_time_est ) < strtotime( $ntc['end_date'] ) ) {
75
- $selected_notices[] = $ntc;
76
  }
77
  }
78
 
79
- if ( empty( $selected_notices ) ) {
80
  return;
81
  }
82
 
83
  ?>
84
-
85
- <?php foreach( $selected_notices as $notice ): ?>
86
- <div class="notice dokan-notice dokan-limited-time-promotional-notice">
87
  <div class="content">
88
- <div class="thumbnail">
89
- <img src="<?php echo $notice['thumbnail'] ?>" alt="thumbnail">
90
- </div>
91
- <div class="title">
92
- <?php echo $notice['title'] ?>
93
- </div>
94
- <div class="body">
95
- <?php echo $notice['body'] ?>
96
- </div>
97
- <a target="_blank" href="<?php echo $notice['link'] ?>"><?php echo esc_html( $notice['button_text'] ) ?></a>
98
  </div>
99
  <span class="prmotion-close-icon dashicons dashicons-no-alt" data-key="<?php echo esc_attr( $notice['key'] ); ?>"></span>
100
  <div class="clear"></div>
101
  </div>
102
- <?php endforeach; ?>
103
 
104
  <style>
105
-
106
- .dokan-notice {
107
- border: 0px;
108
- }
109
-
110
  .dokan-limited-time-promotional-notice {
111
- padding: 10px;
 
112
  position: relative;
113
- background-color: #4B0063;
114
  }
115
 
116
  .dokan-limited-time-promotional-notice .prmotion-close-icon {
117
  position: absolute;
118
- background: white;
119
- border-radius: 10px;
120
- top: 10px;
121
- right: 10px;
122
  cursor: pointer;
123
- padding-top: 0px;
124
  }
125
 
126
  .dokan-limited-time-promotional-notice .content {
127
- color: white;
128
- padding: 14px;
129
- width: 100%;
130
- display: flex;
131
- justify-content: center;
132
- align-items: center;
133
- }
134
-
135
- .dokan-limited-time-promotional-notice .content .thumbnail img{
136
- height: 100px;
137
- }
138
-
139
- .dokan-limited-time-promotional-notice .content .title {
140
- font-size: 18px;
141
- margin-left: 24px;
142
- margin-right: 48px;
143
- }
144
-
145
- .dokan-limited-time-promotional-notice .content .title span {
146
- font-weight: bolder;
147
  }
148
 
149
- .dokan-limited-time-promotional-notice .content .body p {
150
- font-size: 10px;
 
 
 
 
151
  }
152
 
153
- .dokan-limited-time-promotional-notice .content .body span {
154
- color: #FF6393;
155
- font-size: 28px;
 
 
156
  }
157
 
158
  .dokan-limited-time-promotional-notice .content a {
159
- margin-left: 48px;
160
- text-decoration: none;
161
- padding: 10px 20px;
162
- background-color: white;
163
- color: black;
164
- border-radius: 22px;
 
 
 
165
  }
166
  </style>
167
 
@@ -200,7 +164,7 @@ class LimitedTimePromotion {
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
 
39
 
40
  $notices = [
41
  [
42
+ 'key' => 'dokan-wedevs-birthday-2021',
43
+ 'start_date' => '2021-03-15 00:01:00 EST',
44
+ 'end_date' => '2021-03-22 23:59:00 EST',
45
+ 'title' => "It's Our Birthday!",
46
+ 'content' => 'Enjoy Up To 45% OFF on Dokan Pro',
47
+ 'link' => 'https://wedevs.com/dokan/pricing?utm_medium=text&utm_source=wordpress-dokan-wedevs-birthday',
 
 
 
48
  ],
49
  ];
50
 
53
  }
54
 
55
  $current_time_est = $this->get_current_time_est();
56
+ $notice = [];
57
 
58
  $already_displayed_promo = get_option( $this->promo_option_key, [] );
59
 
60
  foreach ( $notices as $ntc ) {
61
+ if ( in_array( $ntc['key'], $already_displayed_promo, true ) ) {
 
 
 
 
 
 
62
  continue;
63
  }
64
 
65
  if ( strtotime( $ntc['start_date'] ) < strtotime( $current_time_est ) && strtotime( $current_time_est ) < strtotime( $ntc['end_date'] ) ) {
66
+ $notice = $ntc;
67
  }
68
  }
69
 
70
+ if ( empty( $notice ) ) {
71
  return;
72
  }
73
 
74
  ?>
75
+ <div class="notice dokan-limited-time-promotional-notice">
 
 
76
  <div class="content">
77
+ <h2><?php echo esc_html( $notice['title'] ); ?></h2>
78
+ <p><?php echo esc_html( $notice['content'] ); ?></p>
79
+ <a href="<?php echo esc_url( $notice['link'] ); ?>" class="button button-primary promo-btn" target="_blank"><?php echo esc_html__( 'Get Deals &rarr;', 'dokan-lite' ); ?></a>
 
 
 
 
 
 
 
80
  </div>
81
  <span class="prmotion-close-icon dashicons dashicons-no-alt" data-key="<?php echo esc_attr( $notice['key'] ); ?>"></span>
82
  <div class="clear"></div>
83
  </div>
 
84
 
85
  <style>
 
 
 
 
 
86
  .dokan-limited-time-promotional-notice {
87
+ padding: 20px;
88
+ box-sizing: border-box;
89
  position: relative;
 
90
  }
91
 
92
  .dokan-limited-time-promotional-notice .prmotion-close-icon {
93
  position: absolute;
94
+ top: 20px;
95
+ right: 20px;
 
 
96
  cursor: pointer;
 
97
  }
98
 
99
  .dokan-limited-time-promotional-notice .content {
100
+ float: left;
101
+ width: 75%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  }
103
 
104
+ .dokan-limited-time-promotional-notice .content h2 {
105
+ margin: 3px 0px 5px;
106
+ font-size: 17px;
107
+ font-weight: bold;
108
+ color: #555;
109
+ line-height: 25px;
110
  }
111
 
112
+ .dokan-limited-time-promotional-notice .content p {
113
+ font-size: 14px;
114
+ text-align: justify;
115
+ color: #666;
116
+ margin-bottom: 10px;
117
  }
118
 
119
  .dokan-limited-time-promotional-notice .content a {
120
+ border: none;
121
+ box-shadow: none;
122
+ height: 31px;
123
+ line-height: 30px;
124
+ border-radius: 3px;
125
+ background: #ff5722;
126
+ text-shadow: none;
127
+ width: 140px;
128
+ text-align: center;
129
  }
130
  </style>
131
 
164
  wp_send_json_error( __( 'You have no permission to do that', 'dokan-lite' ) );
165
  }
166
 
167
+ if ( ! wp_verify_nonce( $post_data['nonce'], 'dokan_admin' ) ) {
168
  wp_send_json_error( __( 'Invalid nonce', 'dokan-lite' ) );
169
  }
170
 
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.2\n"
6
  "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
7
- "POT-Creation-Date: 2021-03-05 09:02:34+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -77,12 +77,12 @@ msgid "Learn More &rarr;"
77
  msgstr ""
78
 
79
  #: includes/Abstracts/DokanPromotion.php:186
80
- #: includes/Admin/LimitedTimePromotion.php:200
81
  msgid "You have no permission to do that"
82
  msgstr ""
83
 
84
  #: includes/Abstracts/DokanPromotion.php:190
85
- #: includes/Admin/LimitedTimePromotion.php:204 includes/Admin/Settings.php:72
86
  #: includes/Admin/Settings.php:100
87
  msgid "Invalid nonce"
88
  msgstr ""
@@ -179,6 +179,10 @@ msgstr ""
179
  msgid "Toggle Sub-orders"
180
  msgstr ""
181
 
 
 
 
 
182
  #: includes/Admin/Menu.php:37
183
  msgid "Withdraw %s"
184
  msgstr ""
2
  # This file is distributed under the GPL2.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Dokan 3.2.3\n"
6
  "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
7
+ "POT-Creation-Date: 2021-03-13 14:56:24+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
77
  msgstr ""
78
 
79
  #: includes/Abstracts/DokanPromotion.php:186
80
+ #: includes/Admin/LimitedTimePromotion.php:164
81
  msgid "You have no permission to do that"
82
  msgstr ""
83
 
84
  #: includes/Abstracts/DokanPromotion.php:190
85
+ #: includes/Admin/LimitedTimePromotion.php:168 includes/Admin/Settings.php:72
86
  #: includes/Admin/Settings.php:100
87
  msgid "Invalid nonce"
88
  msgstr ""
179
  msgid "Toggle Sub-orders"
180
  msgstr ""
181
 
182
+ #: includes/Admin/LimitedTimePromotion.php:79
183
+ msgid "Get Deals &rarr;"
184
+ msgstr ""
185
+
186
  #: includes/Admin/Menu.php:37
187
  msgid "Withdraw %s"
188
  msgstr ""
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.2
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.2
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
@@ -292,6 +292,11 @@ A. Just install and activate the PRO version without deleting the free plugin. A
292
 
293
  == Changelog ==
294
 
 
 
 
 
 
295
  = v3.2.2 ( March 5, 2021 ) =
296
 
297
  - **new:** Added order completed email notification for vendors
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.7
7
  WC requires at least: 3.0
8
+ WC tested up to: 5.1.0
9
  Requires PHP: 5.6
10
+ Stable tag: 3.2.3
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.3 ( March 13, 2021 ) =
296
+
297
+ - **notice:** limited time promotion for weDevs birthday
298
+ - **update:** WordPress 5.7 and WooCommerce 5.1 compatibility
299
+
300
  = v3.2.2 ( March 5, 2021 ) =
301
 
302
  - **new:** Added order completed email notification for vendors
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitd266d3dd719d1da851343c025b8af068::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit91f5004e87f727c6de5996ef95ecb231::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitd266d3dd719d1da851343c025b8af068
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInitd266d3dd719d1da851343c025b8af068
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInitd266d3dd719d1da851343c025b8af068', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInitd266d3dd719d1da851343c025b8af068', '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\ComposerStaticInitd266d3dd719d1da851343c025b8af068::getInitializer($loader));
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 ComposerAutoloaderInit91f5004e87f727c6de5996ef95ecb231
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInit91f5004e87f727c6de5996ef95ecb231', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInit91f5004e87f727c6de5996ef95ecb231', '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\ComposerStaticInit91f5004e87f727c6de5996ef95ecb231::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 ComposerStaticInitd266d3dd719d1da851343c025b8af068
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'W' =>
@@ -178,9 +178,9 @@ class ComposerStaticInitd266d3dd719d1da851343c025b8af068
178
  public static function getInitializer(ClassLoader $loader)
179
  {
180
  return \Closure::bind(function () use ($loader) {
181
- $loader->prefixLengthsPsr4 = ComposerStaticInitd266d3dd719d1da851343c025b8af068::$prefixLengthsPsr4;
182
- $loader->prefixDirsPsr4 = ComposerStaticInitd266d3dd719d1da851343c025b8af068::$prefixDirsPsr4;
183
- $loader->classMap = ComposerStaticInitd266d3dd719d1da851343c025b8af068::$classMap;
184
 
185
  }, null, ClassLoader::class);
186
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit91f5004e87f727c6de5996ef95ecb231
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'W' =>
178
  public static function getInitializer(ClassLoader $loader)
179
  {
180
  return \Closure::bind(function () use ($loader) {
181
+ $loader->prefixLengthsPsr4 = ComposerStaticInit91f5004e87f727c6de5996ef95ecb231::$prefixLengthsPsr4;
182
+ $loader->prefixDirsPsr4 = ComposerStaticInit91f5004e87f727c6de5996ef95ecb231::$prefixDirsPsr4;
183
+ $loader->classMap = ComposerStaticInit91f5004e87f727c6de5996ef95ecb231::$classMap;
184
 
185
  }, null, ClassLoader::class);
186
  }