Changeset 3100372
- Timestamp:
- 06/10/2024 08:15:18 AM (21 months ago)
- Location:
- dokan-lite
- Files:
-
- 80 edited
- 1 copied
-
tags/3.11.3 (copied) (copied from dokan-lite/trunk)
-
tags/3.11.3/assets/css/style.css (modified) (3 diffs)
-
tags/3.11.3/dokan.php (modified) (3 diffs)
-
tags/3.11.3/includes/Admin/Notices/Helper.php (modified) (1 diff)
-
tags/3.11.3/includes/Admin/functions.php (modified) (2 diffs)
-
tags/3.11.3/includes/Order/Manager.php (modified) (6 diffs)
-
tags/3.11.3/includes/Order/MiscHooks.php (modified) (1 diff)
-
tags/3.11.3/includes/ProductCategory/Hooks.php (modified) (1 diff)
-
tags/3.11.3/includes/Registration.php (modified) (1 diff)
-
tags/3.11.3/includes/ReverseWithdrawal/Manager.php (modified) (1 diff)
-
tags/3.11.3/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_8_3_VendorBalance.php (modified) (3 diffs)
-
tags/3.11.3/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_9_4_OrderPostAuthor.php (modified) (1 diff)
-
tags/3.11.3/includes/Upgrade/Upgrades/V_1_2.php (modified) (2 diffs)
-
tags/3.11.3/includes/Upgrade/Upgrades/V_2_9_13.php (modified) (1 diff)
-
tags/3.11.3/includes/Upgrade/Upgrades/V_2_9_4.php (modified) (1 diff)
-
tags/3.11.3/includes/Upgrade/Upgrades/V_3_0_4.php (modified) (2 diffs)
-
tags/3.11.3/includes/Upgrade/Upgrades/V_3_2_12.php (modified) (2 diffs)
-
tags/3.11.3/includes/Upgrade/Upgrades/V_3_3_1.php (modified) (3 diffs)
-
tags/3.11.3/includes/Upgrade/Upgrades/V_3_3_7.php (modified) (1 diff)
-
tags/3.11.3/includes/functions-compatibility.php (modified) (3 diffs)
-
tags/3.11.3/languages/dokan-lite.pot (modified) (14 diffs)
-
tags/3.11.3/readme.txt (modified) (2 diffs)
-
tags/3.11.3/templates/emails/plain/new-seller-registered.php (modified) (1 diff)
-
tags/3.11.3/templates/emails/plain/reverse-withdrawal-invoice.php (modified) (1 diff)
-
tags/3.11.3/templates/emails/plain/vendor-completed-order.php (modified) (1 diff)
-
tags/3.11.3/templates/emails/plain/vendor-new-order.php (modified) (1 diff)
-
tags/3.11.3/templates/emails/plain/vendor-product-review.php (modified) (1 diff)
-
tags/3.11.3/templates/emails/product-published.php (modified) (1 diff)
-
tags/3.11.3/templates/emails/reverse-withdrawal-invoice.php (modified) (3 diffs)
-
tags/3.11.3/templates/emails/vendor-completed-order.php (modified) (2 diffs)
-
tags/3.11.3/templates/emails/vendor-new-order.php (modified) (2 diffs)
-
tags/3.11.3/templates/emails/vendor-product-review.php (modified) (2 diffs)
-
tags/3.11.3/templates/my-orders.php (modified) (1 diff)
-
tags/3.11.3/templates/reverse-withdrawal/transaction-listing.php (modified) (3 diffs)
-
tags/3.11.3/templates/store-lists-filter.php (modified) (2 diffs)
-
tags/3.11.3/templates/sub-orders.php (modified) (4 diffs)
-
tags/3.11.3/templates/vendor-store-info.php (modified) (1 diff)
-
tags/3.11.3/templates/whats-new.php (modified) (1 diff)
-
tags/3.11.3/vendor/autoload.php (modified) (1 diff)
-
tags/3.11.3/vendor/composer/autoload_real.php (modified) (5 diffs)
-
tags/3.11.3/vendor/composer/autoload_static.php (modified) (2 diffs)
-
trunk/assets/css/style.css (modified) (3 diffs)
-
trunk/dokan.php (modified) (3 diffs)
-
trunk/includes/Admin/Notices/Helper.php (modified) (1 diff)
-
trunk/includes/Admin/functions.php (modified) (2 diffs)
-
trunk/includes/Order/Manager.php (modified) (6 diffs)
-
trunk/includes/Order/MiscHooks.php (modified) (1 diff)
-
trunk/includes/ProductCategory/Hooks.php (modified) (1 diff)
-
trunk/includes/Registration.php (modified) (1 diff)
-
trunk/includes/ReverseWithdrawal/Manager.php (modified) (1 diff)
-
trunk/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_8_3_VendorBalance.php (modified) (3 diffs)
-
trunk/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_9_4_OrderPostAuthor.php (modified) (1 diff)
-
trunk/includes/Upgrade/Upgrades/V_1_2.php (modified) (2 diffs)
-
trunk/includes/Upgrade/Upgrades/V_2_9_13.php (modified) (1 diff)
-
trunk/includes/Upgrade/Upgrades/V_2_9_4.php (modified) (1 diff)
-
trunk/includes/Upgrade/Upgrades/V_3_0_4.php (modified) (2 diffs)
-
trunk/includes/Upgrade/Upgrades/V_3_2_12.php (modified) (2 diffs)
-
trunk/includes/Upgrade/Upgrades/V_3_3_1.php (modified) (3 diffs)
-
trunk/includes/Upgrade/Upgrades/V_3_3_7.php (modified) (1 diff)
-
trunk/includes/functions-compatibility.php (modified) (3 diffs)
-
trunk/languages/dokan-lite.pot (modified) (14 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/templates/emails/plain/new-seller-registered.php (modified) (1 diff)
-
trunk/templates/emails/plain/reverse-withdrawal-invoice.php (modified) (1 diff)
-
trunk/templates/emails/plain/vendor-completed-order.php (modified) (1 diff)
-
trunk/templates/emails/plain/vendor-new-order.php (modified) (1 diff)
-
trunk/templates/emails/plain/vendor-product-review.php (modified) (1 diff)
-
trunk/templates/emails/product-published.php (modified) (1 diff)
-
trunk/templates/emails/reverse-withdrawal-invoice.php (modified) (3 diffs)
-
trunk/templates/emails/vendor-completed-order.php (modified) (2 diffs)
-
trunk/templates/emails/vendor-new-order.php (modified) (2 diffs)
-
trunk/templates/emails/vendor-product-review.php (modified) (2 diffs)
-
trunk/templates/my-orders.php (modified) (1 diff)
-
trunk/templates/reverse-withdrawal/transaction-listing.php (modified) (3 diffs)
-
trunk/templates/store-lists-filter.php (modified) (2 diffs)
-
trunk/templates/sub-orders.php (modified) (4 diffs)
-
trunk/templates/vendor-store-info.php (modified) (1 diff)
-
trunk/templates/whats-new.php (modified) (1 diff)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (5 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
dokan-lite/tags/3.11.3/assets/css/style.css
r3076721 r3100372 520 520 margin-bottom: 20px; 521 521 line-height: 24px; 522 margin-left: 0; 522 523 } 523 524 ul.dokan_tabs > li { … … 2368 2369 border-bottom: 1px solid #EDEDED; 2369 2370 padding: 0 0 10px 0; 2371 line-height: 1.25; 2370 2372 } 2371 2373 .dokan-dashboard header.dokan-dashboard-header .dokan-add-product-link .dokan-btn { … … 6374 6376 width: 100%; 6375 6377 } 6378 .dokan-dashboard .dokan-dash-sidebar ul.dokan_tabs, 6379 .dokan-dashboard .dokan-dashboard-content ul.dokan_tabs { 6380 border: 0; 6381 gap: 0.5rem; 6382 display: flex; 6383 flex-wrap: wrap; 6384 align-items: flex-start; 6385 } 6386 .dokan-dashboard .dokan-dash-sidebar ul.dokan_tabs li, 6387 .dokan-dashboard .dokan-dashboard-content ul.dokan_tabs li { 6388 margin: auto 0 !important; 6389 border-bottom: 1px solid #EDEDED; 6390 } 6391 .dokan-dashboard .dokan-dash-sidebar ul.dokan_tabs li.active a, 6392 .dokan-dashboard .dokan-dashboard-content ul.dokan_tabs li.active a { 6393 border-bottom: 1px solid #EDEDED; 6394 } 6376 6395 .dokan-dashboard .product-edit-new-container .dokan-edit-row .dokan-side-left, 6377 6396 .dokan-dashboard .product-edit-new-container .dokan-edit-row .dokan-side-right { -
dokan-lite/tags/3.11.3/dokan.php
r3093058 r3100372 4 4 * Plugin URI: https://dokan.co/wordpress/ 5 5 * Description: An e-commerce marketplace plugin for WordPress. Powered by WooCommerce and weDevs. 6 * Version: 3.11. 26 * Version: 3.11.3 7 7 * Author: weDevs 8 8 * Author URI: https://dokan.co/ … … 10 10 * Requires Plugins: woocommerce 11 11 * WC requires at least: 8.0.0 12 * WC tested up to: 8.9. 112 * WC tested up to: 8.9.2 13 13 * Domain Path: /languages/ 14 14 * License: GPL2 … … 67 67 * @var string 68 68 */ 69 public $version = '3.11. 2';69 public $version = '3.11.3'; 70 70 71 71 /** -
dokan-lite/tags/3.11.3/includes/Admin/Notices/Helper.php
r3003600 r3100372 117 117 } 118 118 119 if ( ! property_exists( dokan_pro(), 'license' ) ) { 120 // this is old version of dokan pro 119 try { 120 return dokan_pro()->license->is_valid(); 121 } catch ( \Exception $e ) { 121 122 return false; 122 123 } 123 124 $license = dokan_pro()->license->plugin_update_message();125 if ( ! empty( $license ) ) {126 // if the plugin update message is not empty, then the license is not active127 return false;128 }129 130 return true;131 124 } 132 125 -
dokan-lite/tags/3.11.3/includes/Admin/functions.php
r3034469 r3100372 110 110 GROUP BY {$group_by_query}"; 111 111 112 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL 112 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 113 113 114 114 return apply_filters( 'dokan_get_admin_report_data', $data, $group_by, $year, $start, $end, $seller_id ); … … 434 434 GROUP BY $group_by_query"; 435 435 436 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL 436 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 437 437 438 438 // Prepare data for report -
dokan-lite/tags/3.11.3/includes/Order/Manager.php
r3027996 r3100372 370 370 } 371 371 372 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 372 373 $order_id = $wpdb->get_var( $wpdb->prepare( "SELECT 1 FROM {$wpdb->prefix}dokan_orders WHERE order_id=%d LIMIT 1", $order_id ) ); 373 374 … … 388 389 global $wpdb; 389 390 390 return 1 === (int) $wpdb->get_var( 391 $wpdb->prepare(392 "SELECT 1 FROM {$wpdb->prefix}dokan_orders WHERE seller_id = %d AND order_id = %d LIMIT 1",393 [ $seller_id, $order_id ]394 )395 );391 return 1 === (int) $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 392 $wpdb->prepare( 393 "SELECT 1 FROM {$wpdb->prefix}dokan_orders WHERE seller_id = %d AND order_id = %d LIMIT 1", 394 [ $seller_id, $order_id ] 395 ) 396 ); 396 397 } 397 398 … … 488 489 } 489 490 491 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 490 492 $deleted = $wpdb->delete( $wpdb->prefix . 'dokan_orders', $where, $where_format ); 491 493 if ( false === $deleted ) { … … 496 498 497 499 // delete from dokan refund table -> order_id 498 $deleted = $wpdb->query( 500 $deleted = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 499 501 $wpdb->prepare( 500 502 "DELETE FROM `{$wpdb->prefix}dokan_refund` WHERE order_id = %d", … … 509 511 510 512 // delete data from vendor balance table -> trn_id, trn_type: dokan_orders, dokan_refund, dokan_withdraw 511 $deleted = $wpdb->query( 513 $deleted = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 512 514 $wpdb->prepare( 513 515 "DELETE FROM `{$wpdb->prefix}dokan_vendor_balance` … … 521 523 522 524 // delete data from reverse withdrawal table -> order_id, trn_type: order_commission, manual_order_commission, order_refund 523 $deleted = $wpdb->query( 525 $deleted = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 524 526 $wpdb->prepare( 525 527 "DELETE FROM `{$wpdb->prefix}dokan_reverse_withdrawal` -
dokan-lite/tags/3.11.3/includes/Order/MiscHooks.php
r3044820 r3100372 51 51 if ( $order->get_parent_id() ) { 52 52 global $wpdb; 53 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 53 54 $wpdb->delete( $wpdb->prefix . 'wc_order_product_lookup', [ 'order_id' => $order->get_id() ] ); 55 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 54 56 $wpdb->delete( $wpdb->prefix . 'wc_order_stats', [ 'order_id' => $order->get_id() ] ); 55 57 } -
dokan-lite/tags/3.11.3/includes/ProductCategory/Hooks.php
r2756718 r3100372 85 85 86 86 while ( null !== $results ) { 87 $results = $wpdb->get_results( 87 $results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 88 88 $wpdb->prepare( "SELECT post_id, meta_value FROM {$wpdb->prefix}postmeta where meta_key='chosen_product_cat' AND meta_value LIKE %s LIMIT %d OFFSET %d", $search_key, $limit, $offset ), 89 89 ARRAY_A -
dokan-lite/tags/3.11.3/includes/Registration.php
r3062535 r3100372 52 52 53 53 // is the role name allowed or user is trying to manipulate? 54 if ( isset( $_POST['role'] ) && ! in_array( $_POST['role'], $allowed_roles, true) ) {54 if ( empty( $_POST['role'] ) || ( ! in_array( $_POST['role'], $allowed_roles, true ) ) ) { 55 55 return new WP_Error( 'role-error', __( 'Cheating, eh?', 'dokan-lite' ) ); 56 56 } -
dokan-lite/tags/3.11.3/includes/ReverseWithdrawal/Manager.php
r2943006 r3100372 557 557 558 558 // add data into database 559 $inserted = $wpdb->insert( $this->get_table(), $data, $format ); 559 $inserted = $wpdb->insert( $this->get_table(), $data, $format ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 560 560 $insert_id = $wpdb->insert_id; 561 561 -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_8_3_VendorBalance.php
r2790697 r3100372 84 84 $threshold_day = dokan_get_option( 'withdraw_date_limit', 'dokan_withdraw', 0 ); 85 85 86 $results = $wpdb->get_results( 86 $results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 87 87 $wpdb->prepare( 88 88 "SELECT `order`.*, post.post_date from {$wpdb->prefix}dokan_orders as `order` left join {$wpdb->prefix}posts as post on post.ID = order.order_id LIMIT %d OFFSET %d", … … 128 128 $limit = 100; 129 129 $count = $limit * $paged; 130 $results = $wpdb->get_results( 130 $results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 131 131 $wpdb->prepare( 132 132 "SELECT * from {$wpdb->prefix}dokan_withdraw WHERE `status` = 1 LIMIT %d OFFSET %d", … … 167 167 global $wpdb; 168 168 169 $wpdb->insert( 169 $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 170 170 $wpdb->prefix . 'dokan_vendor_balance', $data, 171 171 array( -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_9_4_OrderPostAuthor.php
r2790697 r3100372 45 45 $limit = 100; 46 46 $count = $limit * $paged; 47 $orders = $wpdb->get_results( 47 $orders = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 48 48 $wpdb->prepare( 49 49 "SELECT `id`, `post_author` FROM {$wpdb->posts} WHERE `post_type` = 'shop_order' LIMIT %d OFFSET %d", -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/V_1_2.php
r2955180 r3100372 20 20 global $wpdb; 21 21 22 $orders = $wpdb->get_results( 22 $orders = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 23 23 $wpdb->prepare( 24 24 "SELECT oi.order_id, p.ID as product_id, p.post_title, p.post_author as seller_id, … … 43 43 foreach ( $orders as $order ) { 44 44 $net_amount = dokan()->commission->get_earning_by_order( $order->order_id, 'seller' ); 45 $wpdb->insert( 45 $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 46 46 $table_name, 47 47 [ -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/V_2_9_13.php
r2790697 r3100372 17 17 $map_table = $wpdb->prefix . 'dokan_product_map'; 18 18 19 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 19 20 if ( $wpdb->get_var( $wpdb->prepare( 'show tables like %s', $map_table ) ) !== $map_table ) { 20 21 return; -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/V_2_9_4.php
r2790697 r3100372 36 36 $table_name = $wpdb->prefix . 'dokan_refund'; 37 37 38 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange 38 39 if ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table_name ) ) !== $table_name ) { 39 40 return; -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/V_3_0_4.php
r2790697 r3100372 36 36 $table_name = $wpdb->prefix . $table; 37 37 38 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 38 39 if ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table_name ) ) !== $table_name ) { 39 40 continue; … … 41 42 42 43 foreach ( $columns as $column ) { 43 $wpdb->query( "ALTER TABLE `{$table_name}` MODIFY COLUMN `{$column}` DECIMAL(19,4)" ); // phpcs:ignore 44 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 45 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i MODIFY COLUMN %i DECIMAL(19,4)', $table_name, $column ) ); 44 46 } 45 47 } -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/V_3_2_12.php
r2597725 r3100372 20 20 $map_table = $wpdb->prefix . 'dokan_withdraw'; 21 21 22 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 22 23 if ( $wpdb->get_var( $wpdb->prepare( 'show tables like %s', $map_table ) ) !== $map_table ) { 23 24 return; … … 32 33 ); 33 34 35 $column = 'details'; 36 $after = 'note'; 37 34 38 if ( empty( $columns ) ) { 35 $wpdb->query( 36 "alter table {$map_table} add column details longtext NOT NULL AFTER note" // phpcs:ignore 37 ); 39 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 40 $wpdb->query( $wpdb->prepare( 'alter table %i add column %i longtext NOT NULL AFTER %i', $map_table, $column, $after ) ); 38 41 } 39 42 } -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/V_3_3_1.php
r2790697 r3100372 19 19 include_once ABSPATH . 'wp-admin/includes/upgrade.php'; 20 20 21 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 21 22 $existing_columns = $wpdb->get_col( "DESC `{$wpdb->prefix}dokan_withdraw`", 0 ); 22 23 … … 25 26 } 26 27 27 $wpdb->query( 28 "ALTER TABLE `{$wpdb->prefix}dokan_withdraw` ADD COLUMN `details` longtext AFTER `note`" // phpcs:ignore 29 ); 28 $table = $wpdb->prefix . 'dokan_withdraw'; 29 $column = 'details'; 30 $after = 'note'; 31 32 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 33 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i ADD COLUMN %i longtext AFTER %i', $table, $column, $after ) ); 30 34 } 31 35 … … 42 46 include_once ABSPATH . 'wp-admin/includes/upgrade.php'; 43 47 48 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 44 49 $existing_columns = $wpdb->get_results( "DESC `{$wpdb->prefix}dokan_refund`" ); 45 50 46 51 foreach ( (array) $existing_columns as $existing_column ) { 47 52 if ( in_array( $existing_column->Field, [ 'item_totals', 'item_tax_totals' ], true ) && 'text' !== $existing_column->Type ) { // phpcs:ignore 48 $wpdb->query( 49 "ALTER TABLE `{$wpdb->prefix}dokan_refund` MODIFY COLUMN {$existing_column->Field} text" // phpcs:ignore 50 ); 53 $table = $wpdb->prefix . 'dokan_refund'; 54 $column = $existing_column->Field; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase 55 56 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 57 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i MODIFY COLUMN %i text', $table, $column ) ); 51 58 } 52 59 } -
dokan-lite/tags/3.11.3/includes/Upgrade/Upgrades/V_3_3_7.php
r2672234 r3100372 18 18 global $wpdb; 19 19 20 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 20 21 $existing_columns = $wpdb->get_results( "DESC `{$wpdb->prefix}dokan_withdraw`" ); 21 22 22 23 foreach ( (array) $existing_columns as $existing_column ) { 23 24 if ( 'details' === $existing_column->Field && 'NO' === $existing_column->Null ) { // phpcs:ignore 24 $wpdb->query( 25 "ALTER TABLE `{$wpdb->prefix}dokan_withdraw` MODIFY COLUMN {$existing_column->Field} longtext NULL" // phpcs:ignore 26 ); 25 $table = $wpdb->prefix . 'dokan_withdraw'; 26 $column = $existing_column->Field; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase 27 28 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 29 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i MODIFY COLUMN %i longtext NULL', $table, $column ) ); 27 30 } 28 31 } -
dokan-lite/tags/3.11.3/includes/functions-compatibility.php
r2955180 r3100372 198 198 if ( ! empty( $new_download_ids ) || ! empty( $removed_download_ids ) ) { 199 199 // determine whether downloadable file access has been granted via the typical order completion, or via the admin ajax method 200 $existing_permissions = $wpdb->get_results( $wpdb->prepare( "SELECT * from {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE product_id = %d GROUP BY order_id", $product_id ) ); 200 $existing_permissions = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 201 $wpdb->prepare( 202 "SELECT * from {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE product_id = %d GROUP BY order_id", 203 $product_id 204 ) 205 ); 201 206 202 207 foreach ( $existing_permissions as $existing_permission ) { … … 208 213 foreach ( $removed_download_ids as $download_id ) { 209 214 if ( apply_filters( 'woocommerce_process_product_file_download_paths_remove_access_to_old_file', true, $download_id, $product_id, $order ) ) { 210 $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", $order->get_id(), $product_id, $download_id ) ); 215 $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 216 $wpdb->prepare( 217 "DELETE FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", $order->get_id(), 218 $product_id, 219 $download_id 220 ) 221 ); 211 222 } 212 223 } … … 217 228 if ( apply_filters( 'woocommerce_process_product_file_download_paths_grant_access_to_new_file', true, $download_id, $product_id, $order ) ) { 218 229 // grant permission if it doesn't already exist 219 if ( ! $wpdb->get_var( $wpdb->prepare( "SELECT 1=1 FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", $order->get_id(), $product_id, $download_id ) ) ) { 230 if ( 231 ! $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 232 $wpdb->prepare( 233 "SELECT 1=1 FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", 234 $order->get_id(), 235 $product_id, 236 $download_id 237 ) 238 ) 239 ) { 220 240 wc_downloadable_file_permission( $download_id, $product_id, $order ); 221 241 } -
dokan-lite/tags/3.11.3/languages/dokan-lite.pot
r3093058 r3100372 2 2 msgid "" 3 3 msgstr "" 4 "Project-Id-Version: Dokan 3.11. 2\n"4 "Project-Id-Version: Dokan 3.11.3\n" 5 5 "Report-Msgid-Bugs-To: https://dokan.co/contact/\n" 6 6 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 9 9 "Content-Type: text/plain; charset=UTF-8\n" 10 10 "Content-Transfer-Encoding: 8bit\n" 11 "POT-Creation-Date: 2024-0 5-27T10:12:19+00:00\n"11 "POT-Creation-Date: 2024-06-07T09:14:47+00:00\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "X-Generator: WP-CLI 2.9.0\n" … … 1607 1607 #: templates/products/products-listing-row.php:67 1608 1608 #: templates/products/products-listing.php:121 1609 #: templates/sub-orders.php:4 51609 #: templates/sub-orders.php:47 1610 1610 #: templates/withdraw/pending-request-listing-dashboard.php:25 1611 1611 #: templates/withdraw/pending-request-listing.php:20 … … 1632 1632 #: templates/products/products-listing.php:130 1633 1633 #: templates/reverse-withdrawal/transaction-listing.php:19 1634 #: templates/sub-orders.php:4 41634 #: templates/sub-orders.php:46 1635 1635 #: templates/withdraw/approved-request-listing.php:20 1636 1636 #: templates/withdraw/cancelled-request-listing.php:20 … … 1931 1931 #: templates/orders/listing.php:20 1932 1932 #: templates/products/products-listing.php:108 1933 #: templates/store-lists-filter.php:8 71933 #: templates/store-lists-filter.php:84 1934 1934 #: assets/js/vue-admin.js:2 1935 1935 msgid "Apply" … … 2031 2031 #: templates/products/tmpl-add-product-popup.php:68 2032 2032 #: templates/settings/bank-payment-method-settings.php:203 2033 #: templates/store-lists-filter.php:8 62033 #: templates/store-lists-filter.php:83 2034 2034 #: templates/withdraw/pending-request-listing-dashboard.php:24 2035 2035 #: templates/withdraw/pending-request-listing-dashboard.php:46 … … 3752 3752 #: templates/orders/listing.php:30 3753 3753 #: templates/orders/listing.php:57 3754 #: templates/sub-orders.php:4 33754 #: templates/sub-orders.php:45 3755 3755 #: assets/js/vue-admin.js:2 3756 3756 msgid "Order" … … 4510 4510 #: templates/my-orders.php:101 4511 4511 #: templates/orders/listing.php:150 4512 #: templates/sub-orders.php:9 64512 #: templates/sub-orders.php:99 4513 4513 msgid "View" 4514 4514 msgstr "" … … 4697 4697 #: templates/my-orders.php:28 4698 4698 #: templates/orders/order-fee-html.php:24 4699 #: templates/sub-orders.php: 494699 #: templates/sub-orders.php:51 4700 4700 msgid "Total" 4701 4701 msgstr "" … … 8552 8552 #. translators: 1) order total amount 2) order item count 8553 8553 #: templates/my-orders.php:63 8554 #: templates/sub-orders.php:8 58554 #: templates/sub-orders.php:88 8555 8555 msgid "%1$s for %2$s item" 8556 8556 msgid_plural "%1$s for %2$s items" … … 8751 8751 8752 8752 #: templates/orders/listing.php:37 8753 #: templates/sub-orders.php:4 78753 #: templates/sub-orders.php:49 8754 8754 msgid "Shipment" 8755 8755 msgstr "" … … 8786 8786 8787 8787 #: templates/orders/listing.php:116 8788 #: templates/sub-orders.php:7 68788 #: templates/sub-orders.php:79 8789 8789 msgid "Shipping Status" 8790 8790 msgstr "" … … 9485 9485 msgstr "" 9486 9486 9487 #: templates/store-lists-filter.php:7 79487 #: templates/store-lists-filter.php:74 9488 9488 #: assets/js/vue-admin.js:2 9489 9489 msgid "Search Vendors" … … 9532 9532 msgstr "" 9533 9533 9534 #: templates/sub-orders.php:3 39534 #: templates/sub-orders.php:34 9535 9535 msgid "This order has products from multiple vendors. So we divided this order into multiple vendor orders. Each order will be handled by their respective vendor independently." 9536 9536 msgstr "" -
dokan-lite/tags/3.11.3/readme.txt
r3093058 r3100372 1 === Dokan - BestWooCommerce Multivendor Marketplace Solution - Build Your Own Amazon, eBay, Etsy ===1 === Dokan - Powerful WooCommerce Multivendor Marketplace Solution - Build Your Own Amazon, eBay, Etsy === 2 2 Contributors: tareq1988, wedevs, nizamuddinbabu 3 3 Donate Link: http://tareq.co/donate/ 4 4 Tags: WooCommerce multivendor marketplace, multivendor marketplace, multivendor, multi seller, multi vendor, WooCommerce marketplace, WooCommerce product vendors 5 5 Requires at least: 6.4 6 Tested up to: 6.5. 36 Tested up to: 6.5.4 7 7 WC requires at least: 8.0.0 8 WC tested up to: 8.9. 18 WC tested up to: 8.9.2 9 9 Requires PHP: 7.4 10 Stable tag: 3.11. 210 Stable tag: 3.11.3 11 11 License: GPLv2 or later 12 12 License URI: http://www.gnu.org/licenses/gpl-2.0.html 13 13 14 Transform your WooCommerce site into a robust multivendor marketplace with Dokan - the #1 WooCommerce multivendor marketplace solution!14 Transform your WooCommerce site into a multivendor marketplace with Dokan - a powerful and advanced WooCommerce multivendor marketplace solution 15 15 16 16 == Description == … … 348 348 == Changelog == 349 349 350 = v3.11.3 ( Jun 10, 2024 ) = 351 352 - **fix:** Responsive issue on vendor dashboard tabs preview. 353 350 354 = v3.11.2 ( May 27, 2024 ) = 351 355 -
dokan-lite/tags/3.11.3/templates/emails/plain/new-seller-registered.php
r3062535 r3100372 29 29 30 30 // translators: 1) seller name 31 echo sprintf( esc_html__( 'Vendor: %s', 'dokan-lite' ), esc_html( $data['{seller_name}'] ) );31 printf( esc_html__( 'Vendor: %s', 'dokan-lite' ), esc_html( $data['{seller_name}'] ) ); 32 32 echo " \n"; 33 33 34 34 // translators: 1) store name 35 echo sprintf( esc_html__( 'Vendor Store: %s', 'dokan-lite' ), $data['{store_name}']);35 printf( esc_html__( 'Vendor Store: %s', 'dokan-lite' ), esc_html( $data['{store_name}'] ) ); 36 36 echo " \n"; 37 37 38 38 // translators: 1) seller edit url 39 echo sprintf( esc_html__( 'To edit vendor access and details visit : %s', 'dokan-lite' ), esc_url( $data['{seller_edit}'] ) );39 printf( esc_html__( 'To edit vendor access and details visit : %s', 'dokan-lite' ), esc_url( $data['{seller_edit}'] ) ); 40 40 41 41 echo "\n\n----------------------------------------\n\n"; -
dokan-lite/tags/3.11.3/templates/emails/plain/reverse-withdrawal-invoice.php
r2790697 r3100372 25 25 26 26 // translators: 1) store name 27 printf( esc_html__( 'Hi %s,\n\n', 'dokan-lite' ), $seller_info->get_shop_name() );27 printf( esc_html__( 'Hi %s,\n\n', 'dokan-lite' ), esc_html( $seller_info->get_shop_name() ) ); 28 28 29 29 // translators: 1) invoice month 2) invoice year 3) store name 30 printf( esc_html__( 'Your %1$s %2$s invoice is now available for store: %3$s.\n\n', 'dokan-lite' ), $data['{month}'], $data['{year}'], $seller_info->get_shop_name() );30 printf( esc_html__( 'Your %1$s %2$s invoice is now available for store: %3$s.\n\n', 'dokan-lite' ), esc_html( $data['{month}'] ), esc_html( $data['{year}'] ), esc_html( $seller_info->get_shop_name() ) ); 31 31 32 32 // translators: 1) store name 33 printf( esc_html__( 'Summary for %1$s: \n\n', 'dokan-lite' ), $seller_info->get_shop_name() );33 printf( esc_html__( 'Summary for %1$s: \n\n', 'dokan-lite' ), esc_html( $seller_info->get_shop_name() ) ); 34 34 35 35 // translators: 1) invoice month 2) invoice year 3) due balance amount 36 printf( esc_html__( 'Reverse withdrawal charges for %1$s %2$s: %3$s \n\n', 'dokan-lite' ), $data['{month}'], $data['{year}'], wc_price( $due_status['balance']['payable_amount']) );36 printf( esc_html__( 'Reverse withdrawal charges for %1$s %2$s: %3$s \n\n', 'dokan-lite' ), esc_html( $data['{month}'] ), esc_html( $data['{year}'] ), esc_html( wc_price( $due_status['balance']['payable_amount'] ) ) ); 37 37 38 38 // translators: 1) invoice due date 39 printf( esc_html__( 'Due Date %1$s: \n\n', 'dokan-lite' ), 'immediate' === $due_status['due_date'] ? ucfirst( $due_status['due_date'] ) : dokan_format_date( $due_status['due_date']) );39 printf( esc_html__( 'Due Date %1$s: \n\n', 'dokan-lite' ), 'immediate' === $due_status['due_date'] ? esc_html( ucfirst( $due_status['due_date'] ) ) : esc_html( dokan_format_date( $due_status['due_date'] ) ) ); 40 40 41 41 printf( -
dokan-lite/tags/3.11.3/templates/emails/plain/vendor-completed-order.php
r3062535 r3100372 18 18 19 19 // translators: 1) order billing full name 20 echo sprintf( __( 'You have received complete order from %s.', 'dokan-lite' ), $order->get_formatted_billing_full_name() ) . "\n\n";20 echo sprintf( esc_html__( 'You have received complete order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ) . "\n\n"; 21 21 echo "\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n"; 22 22 -
dokan-lite/tags/3.11.3/templates/emails/plain/vendor-new-order.php
r3062535 r3100372 18 18 19 19 // translators: 1) order billing full name 20 echo sprintf( __( 'You have received an order from %s.', 'dokan-lite' ), $order->get_formatted_billing_full_name() ) . "\n\n";20 echo sprintf( esc_html__( 'You have received an order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ) . "\n\n"; 21 21 echo "\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n"; 22 22 -
dokan-lite/tags/3.11.3/templates/emails/plain/vendor-product-review.php
r3062535 r3100372 26 26 // translators: 1) product name, 2) customer name, 3) rating 27 27 esc_html__( 'We are happy to inform you that your product %1$s has received a new review on our website. The review was written by %2$s and has a rating of %3$s out of 5 stars.', 'dokan-lite' ), 28 $data['{product_name}'],29 $data['{customer_name}'],30 $data['{rating}']28 esc_html( $data['{product_name}'] ), 29 esc_html( $data['{customer_name}'] ), 30 esc_html( $data['{rating}'] ) 31 31 ); 32 32 echo " \n\n"; -
dokan-lite/tags/3.11.3/templates/emails/product-published.php
r3062535 r3100372 17 17 <?php 18 18 // translators: 1) seller name 19 echo sprintf(__( 'Hello %s', 'dokan-lite' ), esc_html( $data['{store_name}'] ) );19 printf( esc_html__( 'Hello %s', 'dokan-lite' ), esc_html( $data['{store_name}'] ) ); 20 20 ?> 21 21 </p> -
dokan-lite/tags/3.11.3/templates/emails/reverse-withdrawal-invoice.php
r2790697 r3100372 30 30 <p> 31 31 <?php 32 echo sprintf(32 printf( 33 33 // translators: 1) invoice month 2) invoice year 3) store name 34 34 esc_html__( 'Your %1$s %2$s invoice is now available for store: %3$s.', 'dokan-lite' ), … … 43 43 <?php 44 44 // translators: 1) store name 45 printf( esc_html__( 'Summary for %1$s: ', 'dokan-lite' ), $seller_info->get_shop_name() );45 printf( esc_html__( 'Summary for %1$s: ', 'dokan-lite' ), esc_html( $seller_info->get_shop_name() ) ); 46 46 ?> 47 47 </strong> … … 63 63 <?php esc_html_e( 'Due Date: ', 'dokan-lite' ); ?> 64 64 </strong> 65 <?php echo 'immediate' === $due_status['due_date'] ? ucfirst( $due_status['due_date'] ) : dokan_format_date( $due_status['due_date']); ?>65 <?php echo 'immediate' === $due_status['due_date'] ? esc_html( ucfirst( $due_status['due_date'] ) ) : esc_html( dokan_format_date( $due_status['due_date'] ) ); ?> 66 66 </li> 67 67 </ul> -
dokan-lite/tags/3.11.3/templates/emails/vendor-completed-order.php
r3062535 r3100372 35 35 <?php 36 36 // translators: 1) order billing full name 37 printf( __( 'You have received complete order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) );37 printf( esc_html__( 'You have received complete order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ); 38 38 ?> 39 39 </p> … … 78 78 $i = 0; 79 79 foreach ( $item_totals as $total ) { 80 $i ++;80 ++$i; 81 81 ?> 82 82 <tr> -
dokan-lite/tags/3.11.3/templates/emails/vendor-new-order.php
r3062535 r3100372 34 34 <?php 35 35 // translators: 1) order formatted billing full name 36 printf( __( 'You have received an order from %s.', 'dokan-lite' ), $order->get_formatted_billing_full_name() );36 printf( esc_html__( 'You have received an order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ); 37 37 ?> 38 38 </p> … … 79 79 $i = 0; 80 80 foreach ( $item_totals as $total ) { 81 $i ++;81 ++$i; 82 82 ?> 83 83 <tr> -
dokan-lite/tags/3.11.3/templates/emails/vendor-product-review.php
r3062535 r3100372 26 26 __( 'We are happy to inform you that your product <strong>%1$s</strong> has received a new review on our website. The review was written by <strong>%2$s</strong> and has a rating of <strong>%3$s</strong> out of 5 stars.', 'dokan-lite' ) 27 27 ), 28 $data['{product_name}'],29 $data['{customer_name}'],30 $data['{rating}']28 esc_html( $data['{product_name}'] ), 29 esc_html( $data['{customer_name}'] ), 30 esc_html( $data['{rating}'] ) 31 31 ); 32 32 ?> … … 43 43 '<a href="%1$s">%2$s</a>', 44 44 esc_url( $data['{review_link}'] ), 45 $data['{product_name}']45 esc_html( $data['{product_name}'] ) 46 46 ); 47 47 ?> -
dokan-lite/tags/3.11.3/templates/my-orders.php
r2955180 r3100372 50 50 <td class="order-date"> 51 51 <time datetime="<?php echo esc_attr( $order_date->format( 'Y-m-dTH:i:s' ) ); ?>"> 52 <?php echo dokan_format_date( $order_date); ?>52 <?php echo esc_html( dokan_format_date( $order_date ) ); ?> 53 53 </time> 54 54 </td> -
dokan-lite/tags/3.11.3/templates/reverse-withdrawal/transaction-listing.php
r2790697 r3100372 38 38 <?php 39 39 // translators: 1) transaction url 2) transaction id 40 echo sprintf( '<a href="%1$s" target="_blank">%2$s</a>', $transaction['trn_url'], $transaction['trn_id'])40 printf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url( $transaction['trn_url'] ), esc_html( $transaction['trn_id'] ) ) 41 41 ?> 42 42 </td> … … 44 44 <td><?php echo esc_html( $transaction['trn_type'] ); ?></td> 45 45 <td><?php echo esc_html( $transaction['note'] ); ?></td> 46 <td><?php echo $transaction['debit'] === '' ? '--' : w c_price( $transaction['debit']); ?></td>47 <td><?php echo $transaction['credit'] === '' ? '--' : w c_price( $transaction['credit']); ?></td>46 <td><?php echo $transaction['debit'] === '' ? '--' : wp_kses_post( wc_price( $transaction['debit'] ) ); ?></td> 47 <td><?php echo $transaction['credit'] === '' ? '--' : wp_kses_post( wc_price( $transaction['credit'] ) ); ?></td> 48 48 <td> 49 <?php echo $transaction['balance'] < 0 ? sprintf( '(%1$s)', w c_price( abs( $transaction['balance'] ) ) ) : wc_price( $transaction['balance']); ?>49 <?php echo $transaction['balance'] < 0 ? sprintf( '(%1$s)', wp_kses_post( wc_price( abs( $transaction['balance'] ) ) ) ) : wp_kses_post( wc_price( $transaction['balance'] ) ); ?> 50 50 </td> 51 51 </tr> … … 61 61 <td></td> 62 62 <td><b><?php esc_html_e( 'Balance:', 'dokan-lite' ); ?></b></td> 63 <td><b><?php echo w c_price( $current_balance); ?></b></td>63 <td><b><?php echo wp_kses_post( wc_price( $current_balance ) ); ?></b></td> 64 64 </tr> 65 65 <?php -
dokan-lite/tags/3.11.3/templates/store-lists-filter.php
r3034469 r3100372 26 26 <?php 27 27 // translators: 1) number of stores 28 printf( _n( 'Total store showing: %s', 'Total stores showing: %s', $number_of_store, 'dokan-lite' ), number_format_i18n( $number_of_store) );28 printf( esc_html( _n( 'Total store showing: %s', 'Total stores showing: %s', $number_of_store, 'dokan-lite' ) ), esc_html( number_format_i18n( $number_of_store ) ) ); 29 29 ?> 30 30 </p> … … 49 49 50 50 <select name="stores_orderby" id="stores_orderby" aria-label="<?php esc_html_e( 'Sort by', 'dokan-lite' ); ?>"> 51 <?php 52 foreach ( $sort_filters as $key => $filter ) { 53 $optoins = "<option value='{$key}'" . selected( $sort_by, $key, false ) . ">{$filter}</option>"; 54 printf( $optoins ); 55 } 56 ?> 51 <?php foreach ( $sort_filters as $key => $filter ) : ?> 52 <option value="<?php echo esc_attr( $key ); ?>" <?php selected( $sort_by, $key ); ?> ><?php echo esc_html( $filter ); ?></option> 53 <?php endforeach; ?> 57 54 </select> 58 55 </form> -
dokan-lite/tags/3.11.3/templates/sub-orders.php
r2955180 r3100372 29 29 * @args array $statuses 30 30 */ 31 echo apply_filters( 32 'dokan_suborder_notice_to_customer', 33 esc_html__( 34 'This order has products from multiple vendors. So we divided this order into multiple vendor orders. Each order will be handled by their respective vendor independently.', 'dokan-lite' 35 ), $parent_order, $sub_orders, $statuses 31 echo esc_html( 32 apply_filters( 33 'dokan_suborder_notice_to_customer', 34 esc_html__( 35 'This order has products from multiple vendors. So we divided this order into multiple vendor orders. Each order will be handled by their respective vendor independently.', 'dokan-lite' 36 ), $parent_order, $sub_orders, $statuses 37 ) 36 38 ); 37 39 ?> … … 54 56 <?php 55 57 $now = dokan_current_datetime(); 58 // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited 56 59 foreach ( $sub_orders as $order ) { 57 60 $item_count = $order->get_item_count(); … … 61 64 <tr class="order"> 62 65 <td class="order-number"> 63 <a href="<?php echo esc_url( is_callable( [ $order, 'get_view_order_url' ] ) ? $order->get_view_order_url() : '#' ); ?>">66 <a href="<?php echo esc_url( is_callable( [ $order, 'get_view_order_url' ] ) ? $order->get_view_order_url() : '#' ); ?>"> 64 67 <?php echo esc_html( $order->get_order_number() ); ?> 65 68 </a> … … 75 78 <?php if ( function_exists( 'dokan_get_order_shipment_current_status' ) && 'on' === $allow_shipment && $wc_shipping_enabled ) : ?> 76 79 <td class="dokan-order-shipping-status" data-title="<?php esc_attr_e( 'Shipping Status', 'dokan-lite' ); ?>" > 77 <?php echo dokan_get_order_shipment_current_status( $order->get_id() ); ?>80 <?php echo wp_kses_post( dokan_get_order_shipment_current_status( $order->get_id() ) ); ?> 78 81 </td> 79 82 <?php endif; ?> -
dokan-lite/tags/3.11.3/templates/vendor-store-info.php
r3093058 r3100372 30 30 <?php if ( $store_rating['count'] ) : ?> 31 31 <?php // translators: %d reviews count ?> 32 <p class="dokan-ratings-count">(<?php echo sprintf( _n( '%s Review', '%s Reviews', $store_rating['count'], 'dokan-lite' ), number_format_i18n( $store_rating['count']) ); ?>)</p>32 <p class="dokan-ratings-count">(<?php echo esc_html( sprintf( _n( '%s Review', '%s Reviews', $store_rating['count'], 'dokan-lite' ), esc_html( number_format_i18n( $store_rating['count'] ) ) ) ); ?>)</p> 33 33 <?php endif; ?> 34 34 </div> -
dokan-lite/tags/3.11.3/templates/whats-new.php
r3093058 r3100372 4 4 */ 5 5 $changelog = [ 6 [ 7 'version' => 'Version 3.11.3', 8 'released' => '2024-06-10', 9 'changes' => [ 10 'Fix' => [ 11 [ 12 'title' => 'Responsive issue on vendor dashboard tabs preview.', 13 'description' => '', 14 ], 15 ], 16 ], 17 ], 6 18 [ 7 19 'version' => 'Version 3.11.2', -
dokan-lite/tags/3.11.3/vendor/autoload.php
r3093058 r3100372 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea::getLoader();7 return ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400::getLoader(); -
dokan-lite/tags/3.11.3/vendor/composer/autoload_real.php
r3093058 r3100372 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea5 class ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400', 'loadClassLoader')); 30 30 31 31 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 33 33 require __DIR__ . '/autoload_static.php'; 34 34 35 call_user_func(\Composer\Autoload\ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::getInitializer($loader));35 call_user_func(\Composer\Autoload\ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::getInitializer($loader)); 36 36 } else { 37 37 $map = require __DIR__ . '/autoload_namespaces.php'; … … 54 54 55 55 if ($useStaticLoader) { 56 $includeFiles = Composer\Autoload\ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$files;56 $includeFiles = Composer\Autoload\ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$files; 57 57 } else { 58 58 $includeFiles = require __DIR__ . '/autoload_files.php'; 59 59 } 60 60 foreach ($includeFiles as $fileIdentifier => $file) { 61 composerRequire 3f18ffec2167effd2a2e4b538f6de8ea($fileIdentifier, $file);61 composerRequire2ebc7e183979b542a8bff98e729fa400($fileIdentifier, $file); 62 62 } 63 63 … … 71 71 * @return void 72 72 */ 73 function composerRequire 3f18ffec2167effd2a2e4b538f6de8ea($fileIdentifier, $file)73 function composerRequire2ebc7e183979b542a8bff98e729fa400($fileIdentifier, $file) 74 74 { 75 75 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
dokan-lite/tags/3.11.3/vendor/composer/autoload_static.php
r3093058 r3100372 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea7 class ComposerStaticInit2ebc7e183979b542a8bff98e729fa400 8 8 { 9 9 public static $files = array ( … … 291 291 { 292 292 return \Closure::bind(function () use ($loader) { 293 $loader->prefixLengthsPsr4 = ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$prefixLengthsPsr4;294 $loader->prefixDirsPsr4 = ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$prefixDirsPsr4;295 $loader->classMap = ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$classMap;293 $loader->prefixLengthsPsr4 = ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$prefixLengthsPsr4; 294 $loader->prefixDirsPsr4 = ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$prefixDirsPsr4; 295 $loader->classMap = ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$classMap; 296 296 297 297 }, null, ClassLoader::class); -
dokan-lite/trunk/assets/css/style.css
r3076721 r3100372 520 520 margin-bottom: 20px; 521 521 line-height: 24px; 522 margin-left: 0; 522 523 } 523 524 ul.dokan_tabs > li { … … 2368 2369 border-bottom: 1px solid #EDEDED; 2369 2370 padding: 0 0 10px 0; 2371 line-height: 1.25; 2370 2372 } 2371 2373 .dokan-dashboard header.dokan-dashboard-header .dokan-add-product-link .dokan-btn { … … 6374 6376 width: 100%; 6375 6377 } 6378 .dokan-dashboard .dokan-dash-sidebar ul.dokan_tabs, 6379 .dokan-dashboard .dokan-dashboard-content ul.dokan_tabs { 6380 border: 0; 6381 gap: 0.5rem; 6382 display: flex; 6383 flex-wrap: wrap; 6384 align-items: flex-start; 6385 } 6386 .dokan-dashboard .dokan-dash-sidebar ul.dokan_tabs li, 6387 .dokan-dashboard .dokan-dashboard-content ul.dokan_tabs li { 6388 margin: auto 0 !important; 6389 border-bottom: 1px solid #EDEDED; 6390 } 6391 .dokan-dashboard .dokan-dash-sidebar ul.dokan_tabs li.active a, 6392 .dokan-dashboard .dokan-dashboard-content ul.dokan_tabs li.active a { 6393 border-bottom: 1px solid #EDEDED; 6394 } 6376 6395 .dokan-dashboard .product-edit-new-container .dokan-edit-row .dokan-side-left, 6377 6396 .dokan-dashboard .product-edit-new-container .dokan-edit-row .dokan-side-right { -
dokan-lite/trunk/dokan.php
r3093058 r3100372 4 4 * Plugin URI: https://dokan.co/wordpress/ 5 5 * Description: An e-commerce marketplace plugin for WordPress. Powered by WooCommerce and weDevs. 6 * Version: 3.11. 26 * Version: 3.11.3 7 7 * Author: weDevs 8 8 * Author URI: https://dokan.co/ … … 10 10 * Requires Plugins: woocommerce 11 11 * WC requires at least: 8.0.0 12 * WC tested up to: 8.9. 112 * WC tested up to: 8.9.2 13 13 * Domain Path: /languages/ 14 14 * License: GPL2 … … 67 67 * @var string 68 68 */ 69 public $version = '3.11. 2';69 public $version = '3.11.3'; 70 70 71 71 /** -
dokan-lite/trunk/includes/Admin/Notices/Helper.php
r3003600 r3100372 117 117 } 118 118 119 if ( ! property_exists( dokan_pro(), 'license' ) ) { 120 // this is old version of dokan pro 119 try { 120 return dokan_pro()->license->is_valid(); 121 } catch ( \Exception $e ) { 121 122 return false; 122 123 } 123 124 $license = dokan_pro()->license->plugin_update_message();125 if ( ! empty( $license ) ) {126 // if the plugin update message is not empty, then the license is not active127 return false;128 }129 130 return true;131 124 } 132 125 -
dokan-lite/trunk/includes/Admin/functions.php
r3034469 r3100372 110 110 GROUP BY {$group_by_query}"; 111 111 112 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL 112 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 113 113 114 114 return apply_filters( 'dokan_get_admin_report_data', $data, $group_by, $year, $start, $end, $seller_id ); … … 434 434 GROUP BY $group_by_query"; 435 435 436 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL 436 $data = $wpdb->get_results( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL, WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 437 437 438 438 // Prepare data for report -
dokan-lite/trunk/includes/Order/Manager.php
r3027996 r3100372 370 370 } 371 371 372 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 372 373 $order_id = $wpdb->get_var( $wpdb->prepare( "SELECT 1 FROM {$wpdb->prefix}dokan_orders WHERE order_id=%d LIMIT 1", $order_id ) ); 373 374 … … 388 389 global $wpdb; 389 390 390 return 1 === (int) $wpdb->get_var( 391 $wpdb->prepare(392 "SELECT 1 FROM {$wpdb->prefix}dokan_orders WHERE seller_id = %d AND order_id = %d LIMIT 1",393 [ $seller_id, $order_id ]394 )395 );391 return 1 === (int) $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 392 $wpdb->prepare( 393 "SELECT 1 FROM {$wpdb->prefix}dokan_orders WHERE seller_id = %d AND order_id = %d LIMIT 1", 394 [ $seller_id, $order_id ] 395 ) 396 ); 396 397 } 397 398 … … 488 489 } 489 490 491 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 490 492 $deleted = $wpdb->delete( $wpdb->prefix . 'dokan_orders', $where, $where_format ); 491 493 if ( false === $deleted ) { … … 496 498 497 499 // delete from dokan refund table -> order_id 498 $deleted = $wpdb->query( 500 $deleted = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 499 501 $wpdb->prepare( 500 502 "DELETE FROM `{$wpdb->prefix}dokan_refund` WHERE order_id = %d", … … 509 511 510 512 // delete data from vendor balance table -> trn_id, trn_type: dokan_orders, dokan_refund, dokan_withdraw 511 $deleted = $wpdb->query( 513 $deleted = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 512 514 $wpdb->prepare( 513 515 "DELETE FROM `{$wpdb->prefix}dokan_vendor_balance` … … 521 523 522 524 // delete data from reverse withdrawal table -> order_id, trn_type: order_commission, manual_order_commission, order_refund 523 $deleted = $wpdb->query( 525 $deleted = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 524 526 $wpdb->prepare( 525 527 "DELETE FROM `{$wpdb->prefix}dokan_reverse_withdrawal` -
dokan-lite/trunk/includes/Order/MiscHooks.php
r3044820 r3100372 51 51 if ( $order->get_parent_id() ) { 52 52 global $wpdb; 53 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 53 54 $wpdb->delete( $wpdb->prefix . 'wc_order_product_lookup', [ 'order_id' => $order->get_id() ] ); 55 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 54 56 $wpdb->delete( $wpdb->prefix . 'wc_order_stats', [ 'order_id' => $order->get_id() ] ); 55 57 } -
dokan-lite/trunk/includes/ProductCategory/Hooks.php
r2756718 r3100372 85 85 86 86 while ( null !== $results ) { 87 $results = $wpdb->get_results( 87 $results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 88 88 $wpdb->prepare( "SELECT post_id, meta_value FROM {$wpdb->prefix}postmeta where meta_key='chosen_product_cat' AND meta_value LIKE %s LIMIT %d OFFSET %d", $search_key, $limit, $offset ), 89 89 ARRAY_A -
dokan-lite/trunk/includes/Registration.php
r3062535 r3100372 52 52 53 53 // is the role name allowed or user is trying to manipulate? 54 if ( isset( $_POST['role'] ) && ! in_array( $_POST['role'], $allowed_roles, true) ) {54 if ( empty( $_POST['role'] ) || ( ! in_array( $_POST['role'], $allowed_roles, true ) ) ) { 55 55 return new WP_Error( 'role-error', __( 'Cheating, eh?', 'dokan-lite' ) ); 56 56 } -
dokan-lite/trunk/includes/ReverseWithdrawal/Manager.php
r2943006 r3100372 557 557 558 558 // add data into database 559 $inserted = $wpdb->insert( $this->get_table(), $data, $format ); 559 $inserted = $wpdb->insert( $this->get_table(), $data, $format ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 560 560 $insert_id = $wpdb->insert_id; 561 561 -
dokan-lite/trunk/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_8_3_VendorBalance.php
r2790697 r3100372 84 84 $threshold_day = dokan_get_option( 'withdraw_date_limit', 'dokan_withdraw', 0 ); 85 85 86 $results = $wpdb->get_results( 86 $results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 87 87 $wpdb->prepare( 88 88 "SELECT `order`.*, post.post_date from {$wpdb->prefix}dokan_orders as `order` left join {$wpdb->prefix}posts as post on post.ID = order.order_id LIMIT %d OFFSET %d", … … 128 128 $limit = 100; 129 129 $count = $limit * $paged; 130 $results = $wpdb->get_results( 130 $results = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 131 131 $wpdb->prepare( 132 132 "SELECT * from {$wpdb->prefix}dokan_withdraw WHERE `status` = 1 LIMIT %d OFFSET %d", … … 167 167 global $wpdb; 168 168 169 $wpdb->insert( 169 $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 170 170 $wpdb->prefix . 'dokan_vendor_balance', $data, 171 171 array( -
dokan-lite/trunk/includes/Upgrade/Upgrades/BackgroundProcesses/V_2_9_4_OrderPostAuthor.php
r2790697 r3100372 45 45 $limit = 100; 46 46 $count = $limit * $paged; 47 $orders = $wpdb->get_results( 47 $orders = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 48 48 $wpdb->prepare( 49 49 "SELECT `id`, `post_author` FROM {$wpdb->posts} WHERE `post_type` = 'shop_order' LIMIT %d OFFSET %d", -
dokan-lite/trunk/includes/Upgrade/Upgrades/V_1_2.php
r2955180 r3100372 20 20 global $wpdb; 21 21 22 $orders = $wpdb->get_results( 22 $orders = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 23 23 $wpdb->prepare( 24 24 "SELECT oi.order_id, p.ID as product_id, p.post_title, p.post_author as seller_id, … … 43 43 foreach ( $orders as $order ) { 44 44 $net_amount = dokan()->commission->get_earning_by_order( $order->order_id, 'seller' ); 45 $wpdb->insert( 45 $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery 46 46 $table_name, 47 47 [ -
dokan-lite/trunk/includes/Upgrade/Upgrades/V_2_9_13.php
r2790697 r3100372 17 17 $map_table = $wpdb->prefix . 'dokan_product_map'; 18 18 19 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 19 20 if ( $wpdb->get_var( $wpdb->prepare( 'show tables like %s', $map_table ) ) !== $map_table ) { 20 21 return; -
dokan-lite/trunk/includes/Upgrade/Upgrades/V_2_9_4.php
r2790697 r3100372 36 36 $table_name = $wpdb->prefix . 'dokan_refund'; 37 37 38 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange 38 39 if ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table_name ) ) !== $table_name ) { 39 40 return; -
dokan-lite/trunk/includes/Upgrade/Upgrades/V_3_0_4.php
r2790697 r3100372 36 36 $table_name = $wpdb->prefix . $table; 37 37 38 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 38 39 if ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table_name ) ) !== $table_name ) { 39 40 continue; … … 41 42 42 43 foreach ( $columns as $column ) { 43 $wpdb->query( "ALTER TABLE `{$table_name}` MODIFY COLUMN `{$column}` DECIMAL(19,4)" ); // phpcs:ignore 44 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 45 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i MODIFY COLUMN %i DECIMAL(19,4)', $table_name, $column ) ); 44 46 } 45 47 } -
dokan-lite/trunk/includes/Upgrade/Upgrades/V_3_2_12.php
r2597725 r3100372 20 20 $map_table = $wpdb->prefix . 'dokan_withdraw'; 21 21 22 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 22 23 if ( $wpdb->get_var( $wpdb->prepare( 'show tables like %s', $map_table ) ) !== $map_table ) { 23 24 return; … … 32 33 ); 33 34 35 $column = 'details'; 36 $after = 'note'; 37 34 38 if ( empty( $columns ) ) { 35 $wpdb->query( 36 "alter table {$map_table} add column details longtext NOT NULL AFTER note" // phpcs:ignore 37 ); 39 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 40 $wpdb->query( $wpdb->prepare( 'alter table %i add column %i longtext NOT NULL AFTER %i', $map_table, $column, $after ) ); 38 41 } 39 42 } -
dokan-lite/trunk/includes/Upgrade/Upgrades/V_3_3_1.php
r2790697 r3100372 19 19 include_once ABSPATH . 'wp-admin/includes/upgrade.php'; 20 20 21 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 21 22 $existing_columns = $wpdb->get_col( "DESC `{$wpdb->prefix}dokan_withdraw`", 0 ); 22 23 … … 25 26 } 26 27 27 $wpdb->query( 28 "ALTER TABLE `{$wpdb->prefix}dokan_withdraw` ADD COLUMN `details` longtext AFTER `note`" // phpcs:ignore 29 ); 28 $table = $wpdb->prefix . 'dokan_withdraw'; 29 $column = 'details'; 30 $after = 'note'; 31 32 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 33 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i ADD COLUMN %i longtext AFTER %i', $table, $column, $after ) ); 30 34 } 31 35 … … 42 46 include_once ABSPATH . 'wp-admin/includes/upgrade.php'; 43 47 48 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 44 49 $existing_columns = $wpdb->get_results( "DESC `{$wpdb->prefix}dokan_refund`" ); 45 50 46 51 foreach ( (array) $existing_columns as $existing_column ) { 47 52 if ( in_array( $existing_column->Field, [ 'item_totals', 'item_tax_totals' ], true ) && 'text' !== $existing_column->Type ) { // phpcs:ignore 48 $wpdb->query( 49 "ALTER TABLE `{$wpdb->prefix}dokan_refund` MODIFY COLUMN {$existing_column->Field} text" // phpcs:ignore 50 ); 53 $table = $wpdb->prefix . 'dokan_refund'; 54 $column = $existing_column->Field; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase 55 56 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 57 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i MODIFY COLUMN %i text', $table, $column ) ); 51 58 } 52 59 } -
dokan-lite/trunk/includes/Upgrade/Upgrades/V_3_3_7.php
r2672234 r3100372 18 18 global $wpdb; 19 19 20 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 20 21 $existing_columns = $wpdb->get_results( "DESC `{$wpdb->prefix}dokan_withdraw`" ); 21 22 22 23 foreach ( (array) $existing_columns as $existing_column ) { 23 24 if ( 'details' === $existing_column->Field && 'NO' === $existing_column->Null ) { // phpcs:ignore 24 $wpdb->query( 25 "ALTER TABLE `{$wpdb->prefix}dokan_withdraw` MODIFY COLUMN {$existing_column->Field} longtext NULL" // phpcs:ignore 26 ); 25 $table = $wpdb->prefix . 'dokan_withdraw'; 26 $column = $existing_column->Field; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase 27 28 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQLPlaceholders.UnsupportedIdentifierPlaceholder 29 $wpdb->query( $wpdb->prepare( 'ALTER TABLE %i MODIFY COLUMN %i longtext NULL', $table, $column ) ); 27 30 } 28 31 } -
dokan-lite/trunk/includes/functions-compatibility.php
r2955180 r3100372 198 198 if ( ! empty( $new_download_ids ) || ! empty( $removed_download_ids ) ) { 199 199 // determine whether downloadable file access has been granted via the typical order completion, or via the admin ajax method 200 $existing_permissions = $wpdb->get_results( $wpdb->prepare( "SELECT * from {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE product_id = %d GROUP BY order_id", $product_id ) ); 200 $existing_permissions = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 201 $wpdb->prepare( 202 "SELECT * from {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE product_id = %d GROUP BY order_id", 203 $product_id 204 ) 205 ); 201 206 202 207 foreach ( $existing_permissions as $existing_permission ) { … … 208 213 foreach ( $removed_download_ids as $download_id ) { 209 214 if ( apply_filters( 'woocommerce_process_product_file_download_paths_remove_access_to_old_file', true, $download_id, $product_id, $order ) ) { 210 $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", $order->get_id(), $product_id, $download_id ) ); 215 $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 216 $wpdb->prepare( 217 "DELETE FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", $order->get_id(), 218 $product_id, 219 $download_id 220 ) 221 ); 211 222 } 212 223 } … … 217 228 if ( apply_filters( 'woocommerce_process_product_file_download_paths_grant_access_to_new_file', true, $download_id, $product_id, $order ) ) { 218 229 // grant permission if it doesn't already exist 219 if ( ! $wpdb->get_var( $wpdb->prepare( "SELECT 1=1 FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", $order->get_id(), $product_id, $download_id ) ) ) { 230 if ( 231 ! $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching 232 $wpdb->prepare( 233 "SELECT 1=1 FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE order_id = %d AND product_id = %d AND download_id = %s", 234 $order->get_id(), 235 $product_id, 236 $download_id 237 ) 238 ) 239 ) { 220 240 wc_downloadable_file_permission( $download_id, $product_id, $order ); 221 241 } -
dokan-lite/trunk/languages/dokan-lite.pot
r3093058 r3100372 2 2 msgid "" 3 3 msgstr "" 4 "Project-Id-Version: Dokan 3.11. 2\n"4 "Project-Id-Version: Dokan 3.11.3\n" 5 5 "Report-Msgid-Bugs-To: https://dokan.co/contact/\n" 6 6 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 9 9 "Content-Type: text/plain; charset=UTF-8\n" 10 10 "Content-Transfer-Encoding: 8bit\n" 11 "POT-Creation-Date: 2024-0 5-27T10:12:19+00:00\n"11 "POT-Creation-Date: 2024-06-07T09:14:47+00:00\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "X-Generator: WP-CLI 2.9.0\n" … … 1607 1607 #: templates/products/products-listing-row.php:67 1608 1608 #: templates/products/products-listing.php:121 1609 #: templates/sub-orders.php:4 51609 #: templates/sub-orders.php:47 1610 1610 #: templates/withdraw/pending-request-listing-dashboard.php:25 1611 1611 #: templates/withdraw/pending-request-listing.php:20 … … 1632 1632 #: templates/products/products-listing.php:130 1633 1633 #: templates/reverse-withdrawal/transaction-listing.php:19 1634 #: templates/sub-orders.php:4 41634 #: templates/sub-orders.php:46 1635 1635 #: templates/withdraw/approved-request-listing.php:20 1636 1636 #: templates/withdraw/cancelled-request-listing.php:20 … … 1931 1931 #: templates/orders/listing.php:20 1932 1932 #: templates/products/products-listing.php:108 1933 #: templates/store-lists-filter.php:8 71933 #: templates/store-lists-filter.php:84 1934 1934 #: assets/js/vue-admin.js:2 1935 1935 msgid "Apply" … … 2031 2031 #: templates/products/tmpl-add-product-popup.php:68 2032 2032 #: templates/settings/bank-payment-method-settings.php:203 2033 #: templates/store-lists-filter.php:8 62033 #: templates/store-lists-filter.php:83 2034 2034 #: templates/withdraw/pending-request-listing-dashboard.php:24 2035 2035 #: templates/withdraw/pending-request-listing-dashboard.php:46 … … 3752 3752 #: templates/orders/listing.php:30 3753 3753 #: templates/orders/listing.php:57 3754 #: templates/sub-orders.php:4 33754 #: templates/sub-orders.php:45 3755 3755 #: assets/js/vue-admin.js:2 3756 3756 msgid "Order" … … 4510 4510 #: templates/my-orders.php:101 4511 4511 #: templates/orders/listing.php:150 4512 #: templates/sub-orders.php:9 64512 #: templates/sub-orders.php:99 4513 4513 msgid "View" 4514 4514 msgstr "" … … 4697 4697 #: templates/my-orders.php:28 4698 4698 #: templates/orders/order-fee-html.php:24 4699 #: templates/sub-orders.php: 494699 #: templates/sub-orders.php:51 4700 4700 msgid "Total" 4701 4701 msgstr "" … … 8552 8552 #. translators: 1) order total amount 2) order item count 8553 8553 #: templates/my-orders.php:63 8554 #: templates/sub-orders.php:8 58554 #: templates/sub-orders.php:88 8555 8555 msgid "%1$s for %2$s item" 8556 8556 msgid_plural "%1$s for %2$s items" … … 8751 8751 8752 8752 #: templates/orders/listing.php:37 8753 #: templates/sub-orders.php:4 78753 #: templates/sub-orders.php:49 8754 8754 msgid "Shipment" 8755 8755 msgstr "" … … 8786 8786 8787 8787 #: templates/orders/listing.php:116 8788 #: templates/sub-orders.php:7 68788 #: templates/sub-orders.php:79 8789 8789 msgid "Shipping Status" 8790 8790 msgstr "" … … 9485 9485 msgstr "" 9486 9486 9487 #: templates/store-lists-filter.php:7 79487 #: templates/store-lists-filter.php:74 9488 9488 #: assets/js/vue-admin.js:2 9489 9489 msgid "Search Vendors" … … 9532 9532 msgstr "" 9533 9533 9534 #: templates/sub-orders.php:3 39534 #: templates/sub-orders.php:34 9535 9535 msgid "This order has products from multiple vendors. So we divided this order into multiple vendor orders. Each order will be handled by their respective vendor independently." 9536 9536 msgstr "" -
dokan-lite/trunk/readme.txt
r3093058 r3100372 1 === Dokan - BestWooCommerce Multivendor Marketplace Solution - Build Your Own Amazon, eBay, Etsy ===1 === Dokan - Powerful WooCommerce Multivendor Marketplace Solution - Build Your Own Amazon, eBay, Etsy === 2 2 Contributors: tareq1988, wedevs, nizamuddinbabu 3 3 Donate Link: http://tareq.co/donate/ 4 4 Tags: WooCommerce multivendor marketplace, multivendor marketplace, multivendor, multi seller, multi vendor, WooCommerce marketplace, WooCommerce product vendors 5 5 Requires at least: 6.4 6 Tested up to: 6.5. 36 Tested up to: 6.5.4 7 7 WC requires at least: 8.0.0 8 WC tested up to: 8.9. 18 WC tested up to: 8.9.2 9 9 Requires PHP: 7.4 10 Stable tag: 3.11. 210 Stable tag: 3.11.3 11 11 License: GPLv2 or later 12 12 License URI: http://www.gnu.org/licenses/gpl-2.0.html 13 13 14 Transform your WooCommerce site into a robust multivendor marketplace with Dokan - the #1 WooCommerce multivendor marketplace solution!14 Transform your WooCommerce site into a multivendor marketplace with Dokan - a powerful and advanced WooCommerce multivendor marketplace solution 15 15 16 16 == Description == … … 348 348 == Changelog == 349 349 350 = v3.11.3 ( Jun 10, 2024 ) = 351 352 - **fix:** Responsive issue on vendor dashboard tabs preview. 353 350 354 = v3.11.2 ( May 27, 2024 ) = 351 355 -
dokan-lite/trunk/templates/emails/plain/new-seller-registered.php
r3062535 r3100372 29 29 30 30 // translators: 1) seller name 31 echo sprintf( esc_html__( 'Vendor: %s', 'dokan-lite' ), esc_html( $data['{seller_name}'] ) );31 printf( esc_html__( 'Vendor: %s', 'dokan-lite' ), esc_html( $data['{seller_name}'] ) ); 32 32 echo " \n"; 33 33 34 34 // translators: 1) store name 35 echo sprintf( esc_html__( 'Vendor Store: %s', 'dokan-lite' ), $data['{store_name}']);35 printf( esc_html__( 'Vendor Store: %s', 'dokan-lite' ), esc_html( $data['{store_name}'] ) ); 36 36 echo " \n"; 37 37 38 38 // translators: 1) seller edit url 39 echo sprintf( esc_html__( 'To edit vendor access and details visit : %s', 'dokan-lite' ), esc_url( $data['{seller_edit}'] ) );39 printf( esc_html__( 'To edit vendor access and details visit : %s', 'dokan-lite' ), esc_url( $data['{seller_edit}'] ) ); 40 40 41 41 echo "\n\n----------------------------------------\n\n"; -
dokan-lite/trunk/templates/emails/plain/reverse-withdrawal-invoice.php
r2790697 r3100372 25 25 26 26 // translators: 1) store name 27 printf( esc_html__( 'Hi %s,\n\n', 'dokan-lite' ), $seller_info->get_shop_name() );27 printf( esc_html__( 'Hi %s,\n\n', 'dokan-lite' ), esc_html( $seller_info->get_shop_name() ) ); 28 28 29 29 // translators: 1) invoice month 2) invoice year 3) store name 30 printf( esc_html__( 'Your %1$s %2$s invoice is now available for store: %3$s.\n\n', 'dokan-lite' ), $data['{month}'], $data['{year}'], $seller_info->get_shop_name() );30 printf( esc_html__( 'Your %1$s %2$s invoice is now available for store: %3$s.\n\n', 'dokan-lite' ), esc_html( $data['{month}'] ), esc_html( $data['{year}'] ), esc_html( $seller_info->get_shop_name() ) ); 31 31 32 32 // translators: 1) store name 33 printf( esc_html__( 'Summary for %1$s: \n\n', 'dokan-lite' ), $seller_info->get_shop_name() );33 printf( esc_html__( 'Summary for %1$s: \n\n', 'dokan-lite' ), esc_html( $seller_info->get_shop_name() ) ); 34 34 35 35 // translators: 1) invoice month 2) invoice year 3) due balance amount 36 printf( esc_html__( 'Reverse withdrawal charges for %1$s %2$s: %3$s \n\n', 'dokan-lite' ), $data['{month}'], $data['{year}'], wc_price( $due_status['balance']['payable_amount']) );36 printf( esc_html__( 'Reverse withdrawal charges for %1$s %2$s: %3$s \n\n', 'dokan-lite' ), esc_html( $data['{month}'] ), esc_html( $data['{year}'] ), esc_html( wc_price( $due_status['balance']['payable_amount'] ) ) ); 37 37 38 38 // translators: 1) invoice due date 39 printf( esc_html__( 'Due Date %1$s: \n\n', 'dokan-lite' ), 'immediate' === $due_status['due_date'] ? ucfirst( $due_status['due_date'] ) : dokan_format_date( $due_status['due_date']) );39 printf( esc_html__( 'Due Date %1$s: \n\n', 'dokan-lite' ), 'immediate' === $due_status['due_date'] ? esc_html( ucfirst( $due_status['due_date'] ) ) : esc_html( dokan_format_date( $due_status['due_date'] ) ) ); 40 40 41 41 printf( -
dokan-lite/trunk/templates/emails/plain/vendor-completed-order.php
r3062535 r3100372 18 18 19 19 // translators: 1) order billing full name 20 echo sprintf( __( 'You have received complete order from %s.', 'dokan-lite' ), $order->get_formatted_billing_full_name() ) . "\n\n";20 echo sprintf( esc_html__( 'You have received complete order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ) . "\n\n"; 21 21 echo "\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n"; 22 22 -
dokan-lite/trunk/templates/emails/plain/vendor-new-order.php
r3062535 r3100372 18 18 19 19 // translators: 1) order billing full name 20 echo sprintf( __( 'You have received an order from %s.', 'dokan-lite' ), $order->get_formatted_billing_full_name() ) . "\n\n";20 echo sprintf( esc_html__( 'You have received an order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ) . "\n\n"; 21 21 echo "\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n"; 22 22 -
dokan-lite/trunk/templates/emails/plain/vendor-product-review.php
r3062535 r3100372 26 26 // translators: 1) product name, 2) customer name, 3) rating 27 27 esc_html__( 'We are happy to inform you that your product %1$s has received a new review on our website. The review was written by %2$s and has a rating of %3$s out of 5 stars.', 'dokan-lite' ), 28 $data['{product_name}'],29 $data['{customer_name}'],30 $data['{rating}']28 esc_html( $data['{product_name}'] ), 29 esc_html( $data['{customer_name}'] ), 30 esc_html( $data['{rating}'] ) 31 31 ); 32 32 echo " \n\n"; -
dokan-lite/trunk/templates/emails/product-published.php
r3062535 r3100372 17 17 <?php 18 18 // translators: 1) seller name 19 echo sprintf(__( 'Hello %s', 'dokan-lite' ), esc_html( $data['{store_name}'] ) );19 printf( esc_html__( 'Hello %s', 'dokan-lite' ), esc_html( $data['{store_name}'] ) ); 20 20 ?> 21 21 </p> -
dokan-lite/trunk/templates/emails/reverse-withdrawal-invoice.php
r2790697 r3100372 30 30 <p> 31 31 <?php 32 echo sprintf(32 printf( 33 33 // translators: 1) invoice month 2) invoice year 3) store name 34 34 esc_html__( 'Your %1$s %2$s invoice is now available for store: %3$s.', 'dokan-lite' ), … … 43 43 <?php 44 44 // translators: 1) store name 45 printf( esc_html__( 'Summary for %1$s: ', 'dokan-lite' ), $seller_info->get_shop_name() );45 printf( esc_html__( 'Summary for %1$s: ', 'dokan-lite' ), esc_html( $seller_info->get_shop_name() ) ); 46 46 ?> 47 47 </strong> … … 63 63 <?php esc_html_e( 'Due Date: ', 'dokan-lite' ); ?> 64 64 </strong> 65 <?php echo 'immediate' === $due_status['due_date'] ? ucfirst( $due_status['due_date'] ) : dokan_format_date( $due_status['due_date']); ?>65 <?php echo 'immediate' === $due_status['due_date'] ? esc_html( ucfirst( $due_status['due_date'] ) ) : esc_html( dokan_format_date( $due_status['due_date'] ) ); ?> 66 66 </li> 67 67 </ul> -
dokan-lite/trunk/templates/emails/vendor-completed-order.php
r3062535 r3100372 35 35 <?php 36 36 // translators: 1) order billing full name 37 printf( __( 'You have received complete order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) );37 printf( esc_html__( 'You have received complete order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ); 38 38 ?> 39 39 </p> … … 78 78 $i = 0; 79 79 foreach ( $item_totals as $total ) { 80 $i ++;80 ++$i; 81 81 ?> 82 82 <tr> -
dokan-lite/trunk/templates/emails/vendor-new-order.php
r3062535 r3100372 34 34 <?php 35 35 // translators: 1) order formatted billing full name 36 printf( __( 'You have received an order from %s.', 'dokan-lite' ), $order->get_formatted_billing_full_name() );36 printf( esc_html__( 'You have received an order from %s.', 'dokan-lite' ), esc_html( $order->get_formatted_billing_full_name() ) ); 37 37 ?> 38 38 </p> … … 79 79 $i = 0; 80 80 foreach ( $item_totals as $total ) { 81 $i ++;81 ++$i; 82 82 ?> 83 83 <tr> -
dokan-lite/trunk/templates/emails/vendor-product-review.php
r3062535 r3100372 26 26 __( 'We are happy to inform you that your product <strong>%1$s</strong> has received a new review on our website. The review was written by <strong>%2$s</strong> and has a rating of <strong>%3$s</strong> out of 5 stars.', 'dokan-lite' ) 27 27 ), 28 $data['{product_name}'],29 $data['{customer_name}'],30 $data['{rating}']28 esc_html( $data['{product_name}'] ), 29 esc_html( $data['{customer_name}'] ), 30 esc_html( $data['{rating}'] ) 31 31 ); 32 32 ?> … … 43 43 '<a href="%1$s">%2$s</a>', 44 44 esc_url( $data['{review_link}'] ), 45 $data['{product_name}']45 esc_html( $data['{product_name}'] ) 46 46 ); 47 47 ?> -
dokan-lite/trunk/templates/my-orders.php
r2955180 r3100372 50 50 <td class="order-date"> 51 51 <time datetime="<?php echo esc_attr( $order_date->format( 'Y-m-dTH:i:s' ) ); ?>"> 52 <?php echo dokan_format_date( $order_date); ?>52 <?php echo esc_html( dokan_format_date( $order_date ) ); ?> 53 53 </time> 54 54 </td> -
dokan-lite/trunk/templates/reverse-withdrawal/transaction-listing.php
r2790697 r3100372 38 38 <?php 39 39 // translators: 1) transaction url 2) transaction id 40 echo sprintf( '<a href="%1$s" target="_blank">%2$s</a>', $transaction['trn_url'], $transaction['trn_id'])40 printf( '<a href="%1$s" target="_blank">%2$s</a>', esc_url( $transaction['trn_url'] ), esc_html( $transaction['trn_id'] ) ) 41 41 ?> 42 42 </td> … … 44 44 <td><?php echo esc_html( $transaction['trn_type'] ); ?></td> 45 45 <td><?php echo esc_html( $transaction['note'] ); ?></td> 46 <td><?php echo $transaction['debit'] === '' ? '--' : w c_price( $transaction['debit']); ?></td>47 <td><?php echo $transaction['credit'] === '' ? '--' : w c_price( $transaction['credit']); ?></td>46 <td><?php echo $transaction['debit'] === '' ? '--' : wp_kses_post( wc_price( $transaction['debit'] ) ); ?></td> 47 <td><?php echo $transaction['credit'] === '' ? '--' : wp_kses_post( wc_price( $transaction['credit'] ) ); ?></td> 48 48 <td> 49 <?php echo $transaction['balance'] < 0 ? sprintf( '(%1$s)', w c_price( abs( $transaction['balance'] ) ) ) : wc_price( $transaction['balance']); ?>49 <?php echo $transaction['balance'] < 0 ? sprintf( '(%1$s)', wp_kses_post( wc_price( abs( $transaction['balance'] ) ) ) ) : wp_kses_post( wc_price( $transaction['balance'] ) ); ?> 50 50 </td> 51 51 </tr> … … 61 61 <td></td> 62 62 <td><b><?php esc_html_e( 'Balance:', 'dokan-lite' ); ?></b></td> 63 <td><b><?php echo w c_price( $current_balance); ?></b></td>63 <td><b><?php echo wp_kses_post( wc_price( $current_balance ) ); ?></b></td> 64 64 </tr> 65 65 <?php -
dokan-lite/trunk/templates/store-lists-filter.php
r3034469 r3100372 26 26 <?php 27 27 // translators: 1) number of stores 28 printf( _n( 'Total store showing: %s', 'Total stores showing: %s', $number_of_store, 'dokan-lite' ), number_format_i18n( $number_of_store) );28 printf( esc_html( _n( 'Total store showing: %s', 'Total stores showing: %s', $number_of_store, 'dokan-lite' ) ), esc_html( number_format_i18n( $number_of_store ) ) ); 29 29 ?> 30 30 </p> … … 49 49 50 50 <select name="stores_orderby" id="stores_orderby" aria-label="<?php esc_html_e( 'Sort by', 'dokan-lite' ); ?>"> 51 <?php 52 foreach ( $sort_filters as $key => $filter ) { 53 $optoins = "<option value='{$key}'" . selected( $sort_by, $key, false ) . ">{$filter}</option>"; 54 printf( $optoins ); 55 } 56 ?> 51 <?php foreach ( $sort_filters as $key => $filter ) : ?> 52 <option value="<?php echo esc_attr( $key ); ?>" <?php selected( $sort_by, $key ); ?> ><?php echo esc_html( $filter ); ?></option> 53 <?php endforeach; ?> 57 54 </select> 58 55 </form> -
dokan-lite/trunk/templates/sub-orders.php
r2955180 r3100372 29 29 * @args array $statuses 30 30 */ 31 echo apply_filters( 32 'dokan_suborder_notice_to_customer', 33 esc_html__( 34 'This order has products from multiple vendors. So we divided this order into multiple vendor orders. Each order will be handled by their respective vendor independently.', 'dokan-lite' 35 ), $parent_order, $sub_orders, $statuses 31 echo esc_html( 32 apply_filters( 33 'dokan_suborder_notice_to_customer', 34 esc_html__( 35 'This order has products from multiple vendors. So we divided this order into multiple vendor orders. Each order will be handled by their respective vendor independently.', 'dokan-lite' 36 ), $parent_order, $sub_orders, $statuses 37 ) 36 38 ); 37 39 ?> … … 54 56 <?php 55 57 $now = dokan_current_datetime(); 58 // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited 56 59 foreach ( $sub_orders as $order ) { 57 60 $item_count = $order->get_item_count(); … … 61 64 <tr class="order"> 62 65 <td class="order-number"> 63 <a href="<?php echo esc_url( is_callable( [ $order, 'get_view_order_url' ] ) ? $order->get_view_order_url() : '#' ); ?>">66 <a href="<?php echo esc_url( is_callable( [ $order, 'get_view_order_url' ] ) ? $order->get_view_order_url() : '#' ); ?>"> 64 67 <?php echo esc_html( $order->get_order_number() ); ?> 65 68 </a> … … 75 78 <?php if ( function_exists( 'dokan_get_order_shipment_current_status' ) && 'on' === $allow_shipment && $wc_shipping_enabled ) : ?> 76 79 <td class="dokan-order-shipping-status" data-title="<?php esc_attr_e( 'Shipping Status', 'dokan-lite' ); ?>" > 77 <?php echo dokan_get_order_shipment_current_status( $order->get_id() ); ?>80 <?php echo wp_kses_post( dokan_get_order_shipment_current_status( $order->get_id() ) ); ?> 78 81 </td> 79 82 <?php endif; ?> -
dokan-lite/trunk/templates/vendor-store-info.php
r3093058 r3100372 30 30 <?php if ( $store_rating['count'] ) : ?> 31 31 <?php // translators: %d reviews count ?> 32 <p class="dokan-ratings-count">(<?php echo sprintf( _n( '%s Review', '%s Reviews', $store_rating['count'], 'dokan-lite' ), number_format_i18n( $store_rating['count']) ); ?>)</p>32 <p class="dokan-ratings-count">(<?php echo esc_html( sprintf( _n( '%s Review', '%s Reviews', $store_rating['count'], 'dokan-lite' ), esc_html( number_format_i18n( $store_rating['count'] ) ) ) ); ?>)</p> 33 33 <?php endif; ?> 34 34 </div> -
dokan-lite/trunk/templates/whats-new.php
r3093058 r3100372 4 4 */ 5 5 $changelog = [ 6 [ 7 'version' => 'Version 3.11.3', 8 'released' => '2024-06-10', 9 'changes' => [ 10 'Fix' => [ 11 [ 12 'title' => 'Responsive issue on vendor dashboard tabs preview.', 13 'description' => '', 14 ], 15 ], 16 ], 17 ], 6 18 [ 7 19 'version' => 'Version 3.11.2', -
dokan-lite/trunk/vendor/autoload.php
r3093058 r3100372 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea::getLoader();7 return ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400::getLoader(); -
dokan-lite/trunk/vendor/composer/autoload_real.php
r3093058 r3100372 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea5 class ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 3f18ffec2167effd2a2e4b538f6de8ea', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit2ebc7e183979b542a8bff98e729fa400', 'loadClassLoader')); 30 30 31 31 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 33 33 require __DIR__ . '/autoload_static.php'; 34 34 35 call_user_func(\Composer\Autoload\ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::getInitializer($loader));35 call_user_func(\Composer\Autoload\ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::getInitializer($loader)); 36 36 } else { 37 37 $map = require __DIR__ . '/autoload_namespaces.php'; … … 54 54 55 55 if ($useStaticLoader) { 56 $includeFiles = Composer\Autoload\ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$files;56 $includeFiles = Composer\Autoload\ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$files; 57 57 } else { 58 58 $includeFiles = require __DIR__ . '/autoload_files.php'; 59 59 } 60 60 foreach ($includeFiles as $fileIdentifier => $file) { 61 composerRequire 3f18ffec2167effd2a2e4b538f6de8ea($fileIdentifier, $file);61 composerRequire2ebc7e183979b542a8bff98e729fa400($fileIdentifier, $file); 62 62 } 63 63 … … 71 71 * @return void 72 72 */ 73 function composerRequire 3f18ffec2167effd2a2e4b538f6de8ea($fileIdentifier, $file)73 function composerRequire2ebc7e183979b542a8bff98e729fa400($fileIdentifier, $file) 74 74 { 75 75 if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { -
dokan-lite/trunk/vendor/composer/autoload_static.php
r3093058 r3100372 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea7 class ComposerStaticInit2ebc7e183979b542a8bff98e729fa400 8 8 { 9 9 public static $files = array ( … … 291 291 { 292 292 return \Closure::bind(function () use ($loader) { 293 $loader->prefixLengthsPsr4 = ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$prefixLengthsPsr4;294 $loader->prefixDirsPsr4 = ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$prefixDirsPsr4;295 $loader->classMap = ComposerStaticInit 3f18ffec2167effd2a2e4b538f6de8ea::$classMap;293 $loader->prefixLengthsPsr4 = ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$prefixLengthsPsr4; 294 $loader->prefixDirsPsr4 = ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$prefixDirsPsr4; 295 $loader->classMap = ComposerStaticInit2ebc7e183979b542a8bff98e729fa400::$classMap; 296 296 297 297 }, null, ClassLoader::class);
Note: See TracChangeset
for help on using the changeset viewer.