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

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

Code changes from version 3.2.13 to 3.2.14

dokan.php CHANGED
@@ -3,7 +3,7 @@
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.13
7
  * Author: weDevs
8
  * Author URI: https://wedevs.com/
9
  * Text Domain: dokan-lite
@@ -56,7 +56,7 @@ final class WeDevs_Dokan {
56
  *
57
  * @var string
58
  */
59
- public $version = '3.2.13';
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.14
7
  * Author: weDevs
8
  * Author URI: https://wedevs.com/
9
  * Text Domain: dokan-lite
56
  *
57
  * @var string
58
  */
59
+ public $version = '3.2.14';
60
 
61
  /**
62
  * Instance of self
includes/functions.php CHANGED
@@ -1040,17 +1040,40 @@ function dokan_locate_template( $template_name, $template_path = '', $default_pa
1040
  *
1041
  * @param string $page
1042
  * @param string $context
 
1043
  *
1044
  * @return string url of the page
1045
  */
1046
- function dokan_get_page_url( $page, $context = 'dokan' ) {
1047
  if ( $context == 'woocommerce' ) {
1048
  $page_id = wc_get_page_id( $page );
1049
  } else {
1050
  $page_id = dokan_get_option( $page, 'dokan_pages' );
1051
  }
1052
 
1053
- return apply_filters( 'dokan_get_page_url', get_permalink( $page_id ), $page_id, $context );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1054
  }
1055
 
1056
  /**
@@ -2138,9 +2161,7 @@ function dokan_get_navigation_url( $name = '' ) {
2138
  $url = get_permalink( $page_id );
2139
 
2140
  if ( ! empty( $name ) ) {
2141
- $urlParts = wp_parse_url( $url );
2142
- $urlParts['path'] = $urlParts['path'] . $name . '/';
2143
- $url = http_build_url( '', $urlParts );
2144
  }
2145
 
2146
  return apply_filters( 'dokan_get_navigation_url', esc_url( $url ), $name );
1040
  *
1041
  * @param string $page
1042
  * @param string $context
1043
+ * @param string $subpage
1044
  *
1045
  * @return string url of the page
1046
  */
1047
+ function dokan_get_page_url( $page, $context = 'dokan', $subpage = '' ) {
1048
  if ( $context == 'woocommerce' ) {
1049
  $page_id = wc_get_page_id( $page );
1050
  } else {
1051
  $page_id = dokan_get_option( $page, 'dokan_pages' );
1052
  }
1053
 
1054
+ $url = get_permalink( $page_id );
1055
+
1056
+ if ( $subpage ) {
1057
+ $url = dokan_add_subpage_to_url( $url, $subpage );
1058
+ }
1059
+
1060
+ return apply_filters( 'dokan_get_page_url', $url, $page_id, $context, $subpage );
1061
+ }
1062
+
1063
+ /**
1064
+ * Add subpage to url: this will add wpml like plugin compatibility
1065
+ *
1066
+ * @param string $url
1067
+ * @param string $subpage
1068
+ *
1069
+ * @since 3.2.14
1070
+ *
1071
+ * @return false|string
1072
+ */
1073
+ function dokan_add_subpage_to_url( $url, $subpage ) {
1074
+ $url_parts = wp_parse_url( $url );
1075
+ $url_parts['path'] = $url_parts['path'] . $subpage;
1076
+ return http_build_url( '', $url_parts );
1077
  }
1078
 
1079
  /**
2161
  $url = get_permalink( $page_id );
2162
 
2163
  if ( ! empty( $name ) ) {
2164
+ $url = dokan_add_subpage_to_url( $url, $name . '/' );
 
 
2165
  }
2166
 
2167
  return apply_filters( 'dokan_get_navigation_url', esc_url( $url ), $name );
readme.txt CHANGED
@@ -7,7 +7,7 @@ Tested up to: 5.8.1
7
  WC requires at least: 3.0
8
  WC tested up to: 5.7.1
9
  Requires PHP: 5.6
10
- Stable tag: 3.2.13
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
@@ -292,13 +292,18 @@ A. Just install and activate the PRO version without deleting the free plugin. A
292
 
293
  == Changelog ==
294
 
 
 
 
 
 
295
  = v3.2.13 ( Sep 30, 2021 ) =
296
 
297
- **fix:** fixed warning on product listing page due to filter data type mismatch
298
- **update:** added dynamic filter named: dokan_manage_shop_order_custom_columns_%s hook under shop_order_custom_columns method
299
- **feat:** Set limitation for how many product tags that vendor can input, admin can set tag limit via filter hook: dokan_product_tags_select_max_length
300
- **fix:** fixed localization issue on attribute label
301
- **fix:** fixed Single store product search not working for logged out users
302
 
303
  = v3.2.12 ( Sep 13, 2021 ) =
304
 
7
  WC requires at least: 3.0
8
  WC tested up to: 5.7.1
9
  Requires PHP: 5.6
10
+ Stable tag: 3.2.14
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.14 ( Oct 04, 2021 ) =
296
+
297
+ - **fix:** multiple issue fixed in WPML integration with Dokan
298
+
299
+
300
  = v3.2.13 ( Sep 30, 2021 ) =
301
 
302
+ - **fix:** fixed warning on product listing page due to filter data type mismatch
303
+ - **update:** added dynamic filter named: dokan_manage_shop_order_custom_columns_%s hook under shop_order_custom_columns method
304
+ - **feat:** Set limitation for how many product tags that vendor can input, admin can set tag limit via filter hook: dokan_product_tags_select_max_length
305
+ - **fix:** fixed localization issue on attribute label
306
+ - **fix:** fixed Single store product search not working for logged out users
307
 
308
  = v3.2.12 ( Sep 13, 2021 ) =
309
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInite9fdbe2807459944034962a64d34d4f4::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitd721c11a414d67b49e97e53b895e4882::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInite9fdbe2807459944034962a64d34d4f4
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInite9fdbe2807459944034962a64d34d4f4
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInite9fdbe2807459944034962a64d34d4f4', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInite9fdbe2807459944034962a64d34d4f4', '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\ComposerStaticInite9fdbe2807459944034962a64d34d4f4::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
@@ -51,19 +51,19 @@ class ComposerAutoloaderInite9fdbe2807459944034962a64d34d4f4
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
- $includeFiles = Composer\Autoload\ComposerStaticInite9fdbe2807459944034962a64d34d4f4::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
- composerRequiree9fdbe2807459944034962a64d34d4f4($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
- function composerRequiree9fdbe2807459944034962a64d34d4f4($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitd721c11a414d67b49e97e53b895e4882
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInitd721c11a414d67b49e97e53b895e4882', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitd721c11a414d67b49e97e53b895e4882', '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\ComposerStaticInitd721c11a414d67b49e97e53b895e4882::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
+ $includeFiles = Composer\Autoload\ComposerStaticInitd721c11a414d67b49e97e53b895e4882::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
+ composerRequired721c11a414d67b49e97e53b895e4882($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
+ function composerRequired721c11a414d67b49e97e53b895e4882($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInite9fdbe2807459944034962a64d34d4f4
8
  {
9
  public static $files = array (
10
  'b45b351e6b6f7487d819961fef2fda77' => __DIR__ . '/..' . '/jakeasmith/http_build_url/src/http_build_url.php',
@@ -183,9 +183,9 @@ class ComposerStaticInite9fdbe2807459944034962a64d34d4f4
183
  public static function getInitializer(ClassLoader $loader)
184
  {
185
  return \Closure::bind(function () use ($loader) {
186
- $loader->prefixLengthsPsr4 = ComposerStaticInite9fdbe2807459944034962a64d34d4f4::$prefixLengthsPsr4;
187
- $loader->prefixDirsPsr4 = ComposerStaticInite9fdbe2807459944034962a64d34d4f4::$prefixDirsPsr4;
188
- $loader->classMap = ComposerStaticInite9fdbe2807459944034962a64d34d4f4::$classMap;
189
 
190
  }, null, ClassLoader::class);
191
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitd721c11a414d67b49e97e53b895e4882
8
  {
9
  public static $files = array (
10
  'b45b351e6b6f7487d819961fef2fda77' => __DIR__ . '/..' . '/jakeasmith/http_build_url/src/http_build_url.php',
183
  public static function getInitializer(ClassLoader $loader)
184
  {
185
  return \Closure::bind(function () use ($loader) {
186
+ $loader->prefixLengthsPsr4 = ComposerStaticInitd721c11a414d67b49e97e53b895e4882::$prefixLengthsPsr4;
187
+ $loader->prefixDirsPsr4 = ComposerStaticInitd721c11a414d67b49e97e53b895e4882::$prefixDirsPsr4;
188
+ $loader->classMap = ComposerStaticInitd721c11a414d67b49e97e53b895e4882::$classMap;
189
 
190
  }, null, ClassLoader::class);
191
  }