Changeset 2218172
- Timestamp:
- 12/26/2019 11:51:42 AM (6 years ago)
- Location:
- dokan-lite
- Files:
-
- 2 added
- 20 edited
- 1 copied
-
tags/2.9.29 (copied) (copied from dokan-lite/trunk)
-
tags/2.9.29/assets/images/premium/cedric-lefrancq.jpeg (added)
-
tags/2.9.29/assets/js/dokan.js (modified) (1 diff)
-
tags/2.9.29/assets/js/vue-admin.js (modified) (1 diff)
-
tags/2.9.29/classes/ajax.php (modified) (4 diffs)
-
tags/2.9.29/dokan.php (modified) (3 diffs)
-
tags/2.9.29/includes/template-tags.php (modified) (1 diff)
-
tags/2.9.29/languages/dokan-lite.pot (modified) (15 diffs)
-
tags/2.9.29/readme.txt (modified) (2 diffs)
-
tags/2.9.29/templates/admin-setup-wizard/step-store.php (modified) (2 diffs)
-
tags/2.9.29/templates/global/dashboard-nav.php (modified) (1 diff)
-
tags/2.9.29/templates/orders/order-download-permission-html.php (modified) (1 diff)
-
trunk/assets/images/premium/cedric-lefrancq.jpeg (added)
-
trunk/assets/js/dokan.js (modified) (1 diff)
-
trunk/assets/js/vue-admin.js (modified) (1 diff)
-
trunk/classes/ajax.php (modified) (4 diffs)
-
trunk/dokan.php (modified) (3 diffs)
-
trunk/includes/template-tags.php (modified) (1 diff)
-
trunk/languages/dokan-lite.pot (modified) (15 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/templates/admin-setup-wizard/step-store.php (modified) (2 diffs)
-
trunk/templates/global/dashboard-nav.php (modified) (1 diff)
-
trunk/templates/orders/order-download-permission-html.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
dokan-lite/tags/2.9.29/assets/js/dokan.js
r2210723 r2218172 133 133 download_id: file, 134 134 order_id: self.data('order-id'), 135 permission_id: self.data('permission-id'), 135 136 security: self.data('nonce') 136 137 }; -
dokan-lite/tags/2.9.29/assets/js/vue-admin.js
r2210723 r2218172 4951 4951 "name": "Cédric Lefrancq", 4952 4952 "designation": "Webmaster, Unwebmaster.Be", 4953 "pic": dokan.urls.assetsUrl + '/images/premium/ Cédric-Lefrancq.jpeg',4953 "pic": dokan.urls.assetsUrl + '/images/premium/cedric-lefrancq.jpeg', 4954 4954 "content": "The support is very good. The plugin is perfect. Bugs are fixed very quickly. That’s a very good plugin." 4955 4955 }, { -
dokan-lite/tags/2.9.29/classes/ajax.php
r2215040 r2218172 50 50 51 51 add_action( 'wp_ajax_dokan_revoke_access_to_download', array( $this, 'revoke_access_to_download' ) ); 52 add_action( 'wp_ajax_nopriv_dokan_revoke_access_to_download', array( $this, 'revoke_access_to_download' ) );53 52 54 53 add_action( 'wp_ajax_shop_url', array( $this, 'shop_url_check' ) ); … … 233 232 */ 234 233 function grant_access_to_download() { 234 check_ajax_referer( 'grant-access', 'security' ); 235 236 if ( ! current_user_can( 'dokandar' ) || ! isset( $_POST['loop'], $_POST['order_id'], $_POST['product_ids']) ) { 237 wp_die( -1 ); 238 } 239 235 240 global $wpdb; 236 241 237 check_ajax_referer( 'grant-access', 'security' ); 238 239 $order_id = isset( $_POST['order_id'] ) ? intval( $_POST['order_id'] ) : 0; 240 $product_ids = isset( $_POST['product_ids'] ) ? intval( $_POST['product_ids'] ) : 0; 241 $loop = isset( $_POST['loop'] ) ? intval( $_POST['loop'] ) : 0; 242 $file_counter = 0; 243 $order = wc_get_order( $order_id ); 244 245 if ( ! is_array( $product_ids ) ) { 246 $product_ids = array( $product_ids ); 247 } 242 $wpdb->hide_errors(); 243 244 $order_id = intval( $_POST['order_id'] ); 245 $product_ids = array_filter( array_map( 'absint', (array) wp_unslash( $_POST['product_ids'] ) ) ); 246 $loop = intval( $_POST['loop'] ); 247 $file_counter = 0; 248 $order = wc_get_order( $order_id ); 248 249 249 250 foreach ( $product_ids as $product_id ) { 250 251 $product = wc_get_product( $product_id ); 251 $files = $product->get_ files();252 253 if ( ! $order-> billing_email) {254 die();252 $files = $product->get_downloads(); 253 254 if ( ! $order->get_billing_email() ) { 255 wp_die(); 255 256 } 256 257 257 258 if ( $files ) { 258 259 foreach ( $files as $download_id => $file ) { 259 if ( $inserted_id = wc_downloadable_file_permission( $download_id, $product_id, $order ) ) { 260 261 // insert complete - get inserted data 262 $download = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE permission_id = %d", $inserted_id ) ); 263 260 $inserted_id = wc_downloadable_file_permission( $download_id, $product_id, $order ); 261 262 if ( $inserted_id ) { 263 $download = new WC_Customer_Download( $inserted_id ); 264 264 $loop ++; 265 265 $file_counter ++; 266 266 267 if ( isset( $file['name']) ) {268 $file_count = $file ['name'];267 if ( $file->get_name() ) { 268 $file_count = $file->get_name(); 269 269 } else { 270 270 $file_count = sprintf( __( 'File %d', 'dokan-lite' ), $file_counter ); … … 277 277 } 278 278 279 die();279 wp_die(); 280 280 } 281 281 … … 348 348 } 349 349 350 /** 351 * Rovoke file download access for customer 352 * 353 * @return void 354 */ 350 355 function revoke_access_to_download() { 351 356 check_ajax_referer( 'revoke-access', 'security' ); 352 357 353 if ( ! current_user_can( 'dokandar' ) ) { 354 die( -1 ); 355 } 356 357 global $wpdb; 358 359 $download_id = isset( $_POST['download_id'] ) ? intval( $_POST['download_id'] ) : 0; 360 $product_id = isset( $_POST['product_id'] ) ? intval( $_POST['product_id'] ) : 0; 361 $order_id = isset( $_POST['order_id'] ) ? intval( $_POST['order_id'] ) : 0; 362 363 $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_id, $product_id, $download_id ) ); 364 365 do_action( 'woocommerce_ajax_revoke_access_to_product_download', $download_id, $product_id, $order_id ); 366 367 die(); 358 if ( ! current_user_can( 'dokandar' ) || ! isset( $_POST['download_id'], $_POST['product_id'], $_POST['order_id'], $_POST['permission_id'] ) ) { 359 wp_die( -1 ); 360 } 361 362 $download_id = intval( wp_unslash( $_POST['download_id'] ) ); 363 $product_id = intval( $_POST['product_id'] ); 364 $order_id = intval( $_POST['order_id'] ); 365 $permission_id = absint( $_POST['permission_id'] ); 366 367 $data_store = WC_Data_Store::load( 'customer-download' ); 368 $data_store->delete_by_id( $permission_id ); 369 370 do_action( 'woocommerce_ajax_revoke_access_to_product_download', $download_id, $product_id, $order_id, $permission_id ); 371 wp_die(); 368 372 } 369 373 -
dokan-lite/tags/2.9.29/dokan.php
r2215040 r2218172 4 4 Plugin URI: https://wordpress.org/plugins/dokan-lite/ 5 5 Description: An e-commerce marketplace plugin for WordPress. Powered by WooCommerce and weDevs. 6 Version: 2.9.2 86 Version: 2.9.29 7 7 Author: weDevs 8 8 Author URI: https://wedevs.com/ … … 79 79 * @var string 80 80 */ 81 public $version = '2.9.2 8';81 public $version = '2.9.29'; 82 82 83 83 /** … … 545 545 } 546 546 547 // If vendor found, don't show the setup wizard as admin already ran the `setup wizard` 548 // without the `dokan_admin_setup_wizard_ready` option. 549 $vendor_count = dokan_get_seller_status_count(); 550 551 if ( ! empty( $vendor_count['active'] ) ) { 552 return update_option( 'dokan_admin_setup_wizard_ready', true ); 553 } 554 547 555 require_once DOKAN_INC_DIR . '/functions.php'; 548 556 -
dokan-lite/tags/2.9.29/includes/template-tags.php
r2105404 r2218172 475 475 476 476 if ( $hamburger_menu ) { 477 $menu .= '<div id="dokan-navigation" ar ea-label="Menu">';477 $menu .= '<div id="dokan-navigation" aria-label="Menu">'; 478 478 $menu .= '<label id="mobile-menu-icon" for="toggle-mobile-menu" aria-label="Menu">☰</label>'; 479 479 $menu .= '<input id="toggle-mobile-menu" type="checkbox" />'; -
dokan-lite/tags/2.9.29/languages/dokan-lite.pot
r2215040 r2218172 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Dokan 2.9.2 8\n"5 "Project-Id-Version: Dokan 2.9.29\n" 6 6 "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n" 7 "POT-Creation-Date: 2019-12- 19 11:14:59+00:00\n"7 "POT-Creation-Date: 2019-12-26 11:24:21+00:00\n" 8 8 "MIME-Version: 1.0\n" 9 9 "Content-Type: text/plain; charset=utf-8\n" … … 40 40 msgstr "" 41 41 42 #: classes/admin-user-profile.php:35 classes/ajax.php:15 242 #: classes/admin-user-profile.php:35 classes/ajax.php:151 43 43 #: includes/class-assets.php:441 src/admin/pages/VendorAccountFields.vue:279 44 44 #: src/admin/pages/VendorAccountFields.vue:311 … … 213 213 msgstr "" 214 214 215 #: classes/admin-withdraw.php:40 classes/ajax.php:8 4215 #: classes/admin-withdraw.php:40 classes/ajax.php:83 216 216 #: classes/template-withdraw.php:210 classes/template-withdraw.php:243 217 217 msgid "You have no permission to do this action" … … 224 224 msgstr "" 225 225 226 #: classes/ajax.php:10 6226 #: classes/ajax.php:105 227 227 msgid "Something wrong, please try again later" 228 228 msgstr "" 229 229 230 #: classes/ajax.php:12 1classes/template-settings.php:223230 #: classes/ajax.php:120 classes/template-settings.php:223 231 231 #: classes/template-settings.php:237 classes/template-settings.php:249 232 232 #: classes/template-settings.php:261 classes/template-settings.php:298 … … 237 237 msgstr "" 238 238 239 #: classes/ajax.php:16 9 classes/ajax.php:204239 #: classes/ajax.php:168 classes/ajax.php:203 240 240 msgid "You do not have sufficient permissions to access this page." 241 241 msgstr "" 242 242 243 #: classes/ajax.php:17 3 classes/ajax.php:208243 #: classes/ajax.php:172 classes/ajax.php:207 244 244 msgid "You have taken too long. Please go back and retry." 245 245 msgstr "" 246 246 247 #: classes/ajax.php:18 3 classes/ajax.php:218247 #: classes/ajax.php:182 classes/ajax.php:217 248 248 msgid "You do not have permission to change this order" 249 249 msgstr "" … … 269 269 msgstr "" 270 270 271 #: classes/ajax.php:40 1templates/orders/details.php:288271 #: classes/ajax.php:405 templates/orders/details.php:288 272 272 msgid "Delete note" 273 273 msgstr "" 274 274 275 #: classes/ajax.php:43 2275 #: classes/ajax.php:436 276 276 msgid "Shipping provider: " 277 277 msgstr "" 278 278 279 #: classes/ajax.php:43 2279 #: classes/ajax.php:436 280 280 msgid "Shipping number: " 281 281 msgstr "" 282 282 283 #: classes/ajax.php:43 2283 #: classes/ajax.php:436 284 284 msgid "Shipped date: " 285 285 msgstr "" 286 286 287 #: classes/ajax.php:47 1includes/woo-views/html-product-download.php:14287 #: classes/ajax.php:475 includes/woo-views/html-product-download.php:14 288 288 msgid "Delete" 289 289 msgstr "" 290 290 291 #: classes/ajax.php:5 16291 #: classes/ajax.php:520 292 292 msgid "Error: Nonce verification failed" 293 293 msgstr "" 294 294 295 #: classes/ajax.php:60 3295 #: classes/ajax.php:607 296 296 msgid "Image could not be processed. Please go back and try again." 297 297 msgstr "" 298 298 299 #: classes/ajax.php:72 4299 #: classes/ajax.php:728 300 300 #. translators: 1: user display name 2: user ID 3: user email 301 301 msgid "%1$s (#%2$s – %3$s)" 302 302 msgstr "" 303 303 304 #: classes/ajax.php:87 0304 #: classes/ajax.php:874 305 305 msgid "Invalid username or password." 306 306 msgstr "" 307 307 308 #: classes/ajax.php:8 79308 #: classes/ajax.php:883 309 309 msgid "Wrong username or password." 310 310 msgstr "" 311 311 312 #: classes/ajax.php:9 06312 #: classes/ajax.php:910 313 313 msgid "User logged in successfully." 314 314 msgstr "" … … 448 448 #: includes/admin/setup-wizard.php:521 includes/admin/setup-wizard.php:573 449 449 #: templates/admin-setup-wizard/step-selling.php:53 450 #: templates/admin-setup-wizard/step-store.php:7 6450 #: templates/admin-setup-wizard/step-store.php:77 451 451 msgid "Continue" 452 452 msgstr "" … … 455 455 #: includes/admin/setup-wizard.php:522 456 456 #: templates/admin-setup-wizard/step-selling.php:54 457 #: templates/admin-setup-wizard/step-store.php:7 7457 #: templates/admin-setup-wizard/step-store.php:78 458 458 msgid "Skip this step" 459 459 msgstr "" … … 4157 4157 msgstr "" 4158 4158 4159 #: includes/product-functions.php:318 lib/appsero/Insights.php:7 494159 #: includes/product-functions.php:318 lib/appsero/Insights.php:764 4160 4160 #: templates/my-orders.php:83 templates/orders/details.php:199 4161 4161 #: templates/products/new-product-single.php:214 … … 4536 4536 msgstr "" 4537 4537 4538 #: lib/appsero/Insights.php:3 58vendor/appsero/client/src/Insights.php:3694538 #: lib/appsero/Insights.php:369 vendor/appsero/client/src/Insights.php:369 4539 4539 msgid "" 4540 4540 "Want to help make <strong>%1$s</strong> even more awesome? Allow %1$s to " … … 4542 4542 msgstr "" 4543 4543 4544 #: lib/appsero/Insights.php:3 63vendor/appsero/client/src/Insights.php:3744544 #: lib/appsero/Insights.php:374 vendor/appsero/client/src/Insights.php:374 4545 4545 msgid "what we collect" 4546 4546 msgstr "" 4547 4547 4548 #: lib/appsero/Insights.php:3 69templates/products/inventory.php:554548 #: lib/appsero/Insights.php:381 templates/products/inventory.php:55 4549 4549 #: vendor/appsero/client/src/Insights.php:381 4550 4550 msgid "Allow" 4551 4551 msgstr "" 4552 4552 4553 #: lib/appsero/Insights.php:3 70vendor/appsero/client/src/Insights.php:3824553 #: lib/appsero/Insights.php:382 vendor/appsero/client/src/Insights.php:382 4554 4554 msgid "No thanks" 4555 4555 msgstr "" 4556 4556 4557 #: lib/appsero/Insights.php:569 4558 msgid "Once Weekly" 4559 msgstr "" 4560 4561 #: lib/appsero/Insights.php:733 vendor/appsero/client/src/Insights.php:747 4557 #: lib/appsero/Insights.php:747 vendor/appsero/client/src/Insights.php:747 4562 4558 msgid "If you have a moment, please let us know why you are deactivating:" 4563 4559 msgstr "" 4564 4560 4565 #: lib/appsero/Insights.php:7 47vendor/appsero/client/src/Insights.php:7624561 #: lib/appsero/Insights.php:762 vendor/appsero/client/src/Insights.php:762 4566 4562 msgid "I rather wouldn't say" 4567 4563 msgstr "" 4568 4564 4569 #: lib/appsero/Insights.php:7 48vendor/appsero/client/src/Insights.php:7634565 #: lib/appsero/Insights.php:763 vendor/appsero/client/src/Insights.php:763 4570 4566 msgid "Submit & Deactivate" 4571 4567 msgstr "" … … 5114 5110 #: templates/admin-setup-wizard/step-store.php:66 5115 5111 msgid "" 5116 "Want to help make Dokan even more awesome? Allow weDevs to collect"5117 " non-sensitive diagnostic data and usage information."5112 "Want to help make Dokan even more awesome? Allow Dokan Multivendor " 5113 "Marketplace to collect non-sensitive diagnostic data and usage information" 5118 5114 msgstr "" 5119 5115 … … 5128 5124 "plugins, Site name and url, Your name and email address. No sensitive data " 5129 5125 "is tracked." 5126 msgstr "" 5127 5128 #: templates/admin-setup-wizard/step-store.php:71 5129 msgid "" 5130 "We are using %1$s to collect your data. <a href=\"%2$s\" " 5131 "target=\"_blank\">Learn more</a> about how %1$s collects and handle your " 5132 "data." 5130 5133 msgstr "" 5131 5134 … … 5703 5706 msgstr "" 5704 5707 5705 #: templates/orders/order-download-permission-html.php:1 05708 #: templates/orders/order-download-permission-html.php:17 5706 5709 msgid "Revoke Access" 5707 5710 msgstr "" 5708 5711 5709 #: templates/orders/order-download-permission-html.php:2 05712 #: templates/orders/order-download-permission-html.php:28 5710 5713 msgid "Downloaded" 5711 5714 msgstr "" 5712 5715 5713 #: templates/orders/order-download-permission-html.php: 225716 #: templates/orders/order-download-permission-html.php:30 5714 5717 msgid "%s time" 5715 5718 msgid_plural "%s times" … … 5717 5720 msgstr[1] "" 5718 5721 5719 #: templates/orders/order-download-permission-html.php: 255722 #: templates/orders/order-download-permission-html.php:33 5720 5723 msgid "Downloads Remaining" 5721 5724 msgstr "" 5722 5725 5723 #: templates/orders/order-download-permission-html.php: 285726 #: templates/orders/order-download-permission-html.php:36 5724 5727 msgid "Unlimited" 5725 5728 msgstr "" 5726 5729 5727 #: templates/orders/order-download-permission-html.php:3 15730 #: templates/orders/order-download-permission-html.php:39 5728 5731 msgid "Access Expires" 5729 5732 msgstr "" 5730 5733 5731 #: templates/orders/order-download-permission-html.php: 325734 #: templates/orders/order-download-permission-html.php:40 5732 5735 msgid "Never" 5733 5736 msgstr "" -
dokan-lite/tags/2.9.29/readme.txt
r2215040 r2218172 8 8 WC tested up to: 3.8.1 9 9 Requires PHP: 5.6 10 Stable tag: 2.9.2 810 Stable tag: 2.9.29 11 11 License: GPLv2 or later 12 12 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 292 292 == Changelog == 293 293 294 = v2.9.29 (December 26, 2019) = 295 296 - **Fix:** Don't show the admin setup wizard who ran the setup wizard before 297 - **Fix:** Remove non-ascii characters from some file names 298 - **Fix:** Dokan dashboard hamburger menu is not working fixed 299 - **Fix:** Downloadable product grunt and revoke access issue is fixed 300 - **Tweak:** Added privacy policy info in setup wizard for admin 301 294 302 = v2.9.28 (December 19, 2019) = 295 303 -
dokan-lite/tags/2.9.29/templates/admin-setup-wizard/step-store.php
r2210723 r2218172 58 58 59 59 <td> 60 <input type="checkbox" name="share_essentials" id="share_essentials" class="switch-input" checked>60 <input type="checkbox" name="share_essentials" id="share_essentials" class="switch-input"> 61 61 <label for="share_essentials" class="switch-label"> 62 62 <span class="toggle--on"><?php esc_html_e( 'On', 'dokan-lite' ); ?></span> … … 64 64 </label> 65 65 <span class="description"> 66 <?php esc_html_e( 'Want to help make Dokan even more awesome? Allow weDevs to collect non-sensitive diagnostic data and usage information.', 'dokan-lite' ); ?>66 <?php esc_html_e( 'Want to help make Dokan even more awesome? Allow Dokan Multivendor Marketplace to collect non-sensitive diagnostic data and usage information', 'dokan-lite' ); ?> 67 67 <?php printf( '<a class="insights-data-we-collect" href="#">%s</a>', esc_html__( 'What we collect', 'dokan-lite' ) ); ?> 68 68 </span> 69 69 <p id="collection-info" class="description" style="display:none;"> 70 70 <?php esc_html_e( 'Server environment details (php, mysql, server, WordPress versions), Number of users in your site, Site language, Number of active and inactive plugins, Site name and url, Your name and email address. No sensitive data is tracked.', 'dokan-lite' ); ?> 71 <?php printf( __( 'We are using %1$s to collect your data. <a href="%2$s" target="_blank">Learn more</a> about how %1$s collects and handle your data.', 'dokan-lite' ), '<a href="https://appsero.com" target="_blank">Appsero</a>', 'https://appsero.com/privacy-policy/' ); ?> 71 72 </p> 72 73 </td> -
dokan-lite/tags/2.9.29/templates/global/dashboard-nav.php
r2215040 r2218172 5 5 6 6 <div class="dokan-dash-sidebar"> 7 <?php echo wp_kses_post( dokan_dashboard_nav( $active_menu ) ); ?> 7 <?php 8 global $allowedposttags; 9 10 // These are required for the hamburger menu. 11 if ( is_array( $allowedposttags ) ) { 12 $allowedposttags['input'] = [ 13 'id' => [], 14 'type' => [], 15 'checked' => [] 16 ]; 17 } 18 19 echo wp_kses( dokan_dashboard_nav( $active_menu ), $allowedposttags ); 20 ?> 8 21 </div> -
dokan-lite/tags/2.9.29/templates/orders/order-download-permission-html.php
r2215040 r2218172 8 8 </a> 9 9 10 <button rel="<?php echo esc_attr( absint( $download->product_id ) ) . ',' . esc_attr( $download->download_id ); ?>" class="revoke_access btn btn-danger btn-sm pull-right" data-order-id="<?php echo esc_attr( $download->order_id ); ?>" data-nonce="<?php echo esc_attr( wp_create_nonce( 'revoke-access' ) ); ?>"><?php esc_html_e( 'Revoke Access', 'dokan-lite' ); ?></button> 10 <button 11 rel="<?php echo esc_attr( absint( $download->product_id ) ) . ',' . esc_attr( $download->download_id ); ?>" 12 class="revoke_access btn btn-danger btn-sm pull-right" 13 data-order-id="<?php echo esc_attr( $download->order_id ); ?>" 14 data-permission-id="<?php echo esc_attr( $download->permission_id ); ?>" 15 data-nonce="<?php echo esc_attr( wp_create_nonce( 'revoke-access' ) ); ?>" 16 > 17 <?php esc_html_e( 'Revoke Access', 'dokan-lite' ); ?> 18 </button> 11 19 </div> 12 20 -
dokan-lite/trunk/assets/js/dokan.js
r2210723 r2218172 133 133 download_id: file, 134 134 order_id: self.data('order-id'), 135 permission_id: self.data('permission-id'), 135 136 security: self.data('nonce') 136 137 }; -
dokan-lite/trunk/assets/js/vue-admin.js
r2210723 r2218172 4951 4951 "name": "Cédric Lefrancq", 4952 4952 "designation": "Webmaster, Unwebmaster.Be", 4953 "pic": dokan.urls.assetsUrl + '/images/premium/ Cédric-Lefrancq.jpeg',4953 "pic": dokan.urls.assetsUrl + '/images/premium/cedric-lefrancq.jpeg', 4954 4954 "content": "The support is very good. The plugin is perfect. Bugs are fixed very quickly. That’s a very good plugin." 4955 4955 }, { -
dokan-lite/trunk/classes/ajax.php
r2215040 r2218172 50 50 51 51 add_action( 'wp_ajax_dokan_revoke_access_to_download', array( $this, 'revoke_access_to_download' ) ); 52 add_action( 'wp_ajax_nopriv_dokan_revoke_access_to_download', array( $this, 'revoke_access_to_download' ) );53 52 54 53 add_action( 'wp_ajax_shop_url', array( $this, 'shop_url_check' ) ); … … 233 232 */ 234 233 function grant_access_to_download() { 234 check_ajax_referer( 'grant-access', 'security' ); 235 236 if ( ! current_user_can( 'dokandar' ) || ! isset( $_POST['loop'], $_POST['order_id'], $_POST['product_ids']) ) { 237 wp_die( -1 ); 238 } 239 235 240 global $wpdb; 236 241 237 check_ajax_referer( 'grant-access', 'security' ); 238 239 $order_id = isset( $_POST['order_id'] ) ? intval( $_POST['order_id'] ) : 0; 240 $product_ids = isset( $_POST['product_ids'] ) ? intval( $_POST['product_ids'] ) : 0; 241 $loop = isset( $_POST['loop'] ) ? intval( $_POST['loop'] ) : 0; 242 $file_counter = 0; 243 $order = wc_get_order( $order_id ); 244 245 if ( ! is_array( $product_ids ) ) { 246 $product_ids = array( $product_ids ); 247 } 242 $wpdb->hide_errors(); 243 244 $order_id = intval( $_POST['order_id'] ); 245 $product_ids = array_filter( array_map( 'absint', (array) wp_unslash( $_POST['product_ids'] ) ) ); 246 $loop = intval( $_POST['loop'] ); 247 $file_counter = 0; 248 $order = wc_get_order( $order_id ); 248 249 249 250 foreach ( $product_ids as $product_id ) { 250 251 $product = wc_get_product( $product_id ); 251 $files = $product->get_ files();252 253 if ( ! $order-> billing_email) {254 die();252 $files = $product->get_downloads(); 253 254 if ( ! $order->get_billing_email() ) { 255 wp_die(); 255 256 } 256 257 257 258 if ( $files ) { 258 259 foreach ( $files as $download_id => $file ) { 259 if ( $inserted_id = wc_downloadable_file_permission( $download_id, $product_id, $order ) ) { 260 261 // insert complete - get inserted data 262 $download = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}woocommerce_downloadable_product_permissions WHERE permission_id = %d", $inserted_id ) ); 263 260 $inserted_id = wc_downloadable_file_permission( $download_id, $product_id, $order ); 261 262 if ( $inserted_id ) { 263 $download = new WC_Customer_Download( $inserted_id ); 264 264 $loop ++; 265 265 $file_counter ++; 266 266 267 if ( isset( $file['name']) ) {268 $file_count = $file ['name'];267 if ( $file->get_name() ) { 268 $file_count = $file->get_name(); 269 269 } else { 270 270 $file_count = sprintf( __( 'File %d', 'dokan-lite' ), $file_counter ); … … 277 277 } 278 278 279 die();279 wp_die(); 280 280 } 281 281 … … 348 348 } 349 349 350 /** 351 * Rovoke file download access for customer 352 * 353 * @return void 354 */ 350 355 function revoke_access_to_download() { 351 356 check_ajax_referer( 'revoke-access', 'security' ); 352 357 353 if ( ! current_user_can( 'dokandar' ) ) { 354 die( -1 ); 355 } 356 357 global $wpdb; 358 359 $download_id = isset( $_POST['download_id'] ) ? intval( $_POST['download_id'] ) : 0; 360 $product_id = isset( $_POST['product_id'] ) ? intval( $_POST['product_id'] ) : 0; 361 $order_id = isset( $_POST['order_id'] ) ? intval( $_POST['order_id'] ) : 0; 362 363 $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_id, $product_id, $download_id ) ); 364 365 do_action( 'woocommerce_ajax_revoke_access_to_product_download', $download_id, $product_id, $order_id ); 366 367 die(); 358 if ( ! current_user_can( 'dokandar' ) || ! isset( $_POST['download_id'], $_POST['product_id'], $_POST['order_id'], $_POST['permission_id'] ) ) { 359 wp_die( -1 ); 360 } 361 362 $download_id = intval( wp_unslash( $_POST['download_id'] ) ); 363 $product_id = intval( $_POST['product_id'] ); 364 $order_id = intval( $_POST['order_id'] ); 365 $permission_id = absint( $_POST['permission_id'] ); 366 367 $data_store = WC_Data_Store::load( 'customer-download' ); 368 $data_store->delete_by_id( $permission_id ); 369 370 do_action( 'woocommerce_ajax_revoke_access_to_product_download', $download_id, $product_id, $order_id, $permission_id ); 371 wp_die(); 368 372 } 369 373 -
dokan-lite/trunk/dokan.php
r2215040 r2218172 4 4 Plugin URI: https://wordpress.org/plugins/dokan-lite/ 5 5 Description: An e-commerce marketplace plugin for WordPress. Powered by WooCommerce and weDevs. 6 Version: 2.9.2 86 Version: 2.9.29 7 7 Author: weDevs 8 8 Author URI: https://wedevs.com/ … … 79 79 * @var string 80 80 */ 81 public $version = '2.9.2 8';81 public $version = '2.9.29'; 82 82 83 83 /** … … 545 545 } 546 546 547 // If vendor found, don't show the setup wizard as admin already ran the `setup wizard` 548 // without the `dokan_admin_setup_wizard_ready` option. 549 $vendor_count = dokan_get_seller_status_count(); 550 551 if ( ! empty( $vendor_count['active'] ) ) { 552 return update_option( 'dokan_admin_setup_wizard_ready', true ); 553 } 554 547 555 require_once DOKAN_INC_DIR . '/functions.php'; 548 556 -
dokan-lite/trunk/includes/template-tags.php
r2105404 r2218172 475 475 476 476 if ( $hamburger_menu ) { 477 $menu .= '<div id="dokan-navigation" ar ea-label="Menu">';477 $menu .= '<div id="dokan-navigation" aria-label="Menu">'; 478 478 $menu .= '<label id="mobile-menu-icon" for="toggle-mobile-menu" aria-label="Menu">☰</label>'; 479 479 $menu .= '<input id="toggle-mobile-menu" type="checkbox" />'; -
dokan-lite/trunk/languages/dokan-lite.pot
r2215040 r2218172 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Dokan 2.9.2 8\n"5 "Project-Id-Version: Dokan 2.9.29\n" 6 6 "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n" 7 "POT-Creation-Date: 2019-12- 19 11:14:59+00:00\n"7 "POT-Creation-Date: 2019-12-26 11:24:21+00:00\n" 8 8 "MIME-Version: 1.0\n" 9 9 "Content-Type: text/plain; charset=utf-8\n" … … 40 40 msgstr "" 41 41 42 #: classes/admin-user-profile.php:35 classes/ajax.php:15 242 #: classes/admin-user-profile.php:35 classes/ajax.php:151 43 43 #: includes/class-assets.php:441 src/admin/pages/VendorAccountFields.vue:279 44 44 #: src/admin/pages/VendorAccountFields.vue:311 … … 213 213 msgstr "" 214 214 215 #: classes/admin-withdraw.php:40 classes/ajax.php:8 4215 #: classes/admin-withdraw.php:40 classes/ajax.php:83 216 216 #: classes/template-withdraw.php:210 classes/template-withdraw.php:243 217 217 msgid "You have no permission to do this action" … … 224 224 msgstr "" 225 225 226 #: classes/ajax.php:10 6226 #: classes/ajax.php:105 227 227 msgid "Something wrong, please try again later" 228 228 msgstr "" 229 229 230 #: classes/ajax.php:12 1classes/template-settings.php:223230 #: classes/ajax.php:120 classes/template-settings.php:223 231 231 #: classes/template-settings.php:237 classes/template-settings.php:249 232 232 #: classes/template-settings.php:261 classes/template-settings.php:298 … … 237 237 msgstr "" 238 238 239 #: classes/ajax.php:16 9 classes/ajax.php:204239 #: classes/ajax.php:168 classes/ajax.php:203 240 240 msgid "You do not have sufficient permissions to access this page." 241 241 msgstr "" 242 242 243 #: classes/ajax.php:17 3 classes/ajax.php:208243 #: classes/ajax.php:172 classes/ajax.php:207 244 244 msgid "You have taken too long. Please go back and retry." 245 245 msgstr "" 246 246 247 #: classes/ajax.php:18 3 classes/ajax.php:218247 #: classes/ajax.php:182 classes/ajax.php:217 248 248 msgid "You do not have permission to change this order" 249 249 msgstr "" … … 269 269 msgstr "" 270 270 271 #: classes/ajax.php:40 1templates/orders/details.php:288271 #: classes/ajax.php:405 templates/orders/details.php:288 272 272 msgid "Delete note" 273 273 msgstr "" 274 274 275 #: classes/ajax.php:43 2275 #: classes/ajax.php:436 276 276 msgid "Shipping provider: " 277 277 msgstr "" 278 278 279 #: classes/ajax.php:43 2279 #: classes/ajax.php:436 280 280 msgid "Shipping number: " 281 281 msgstr "" 282 282 283 #: classes/ajax.php:43 2283 #: classes/ajax.php:436 284 284 msgid "Shipped date: " 285 285 msgstr "" 286 286 287 #: classes/ajax.php:47 1includes/woo-views/html-product-download.php:14287 #: classes/ajax.php:475 includes/woo-views/html-product-download.php:14 288 288 msgid "Delete" 289 289 msgstr "" 290 290 291 #: classes/ajax.php:5 16291 #: classes/ajax.php:520 292 292 msgid "Error: Nonce verification failed" 293 293 msgstr "" 294 294 295 #: classes/ajax.php:60 3295 #: classes/ajax.php:607 296 296 msgid "Image could not be processed. Please go back and try again." 297 297 msgstr "" 298 298 299 #: classes/ajax.php:72 4299 #: classes/ajax.php:728 300 300 #. translators: 1: user display name 2: user ID 3: user email 301 301 msgid "%1$s (#%2$s – %3$s)" 302 302 msgstr "" 303 303 304 #: classes/ajax.php:87 0304 #: classes/ajax.php:874 305 305 msgid "Invalid username or password." 306 306 msgstr "" 307 307 308 #: classes/ajax.php:8 79308 #: classes/ajax.php:883 309 309 msgid "Wrong username or password." 310 310 msgstr "" 311 311 312 #: classes/ajax.php:9 06312 #: classes/ajax.php:910 313 313 msgid "User logged in successfully." 314 314 msgstr "" … … 448 448 #: includes/admin/setup-wizard.php:521 includes/admin/setup-wizard.php:573 449 449 #: templates/admin-setup-wizard/step-selling.php:53 450 #: templates/admin-setup-wizard/step-store.php:7 6450 #: templates/admin-setup-wizard/step-store.php:77 451 451 msgid "Continue" 452 452 msgstr "" … … 455 455 #: includes/admin/setup-wizard.php:522 456 456 #: templates/admin-setup-wizard/step-selling.php:54 457 #: templates/admin-setup-wizard/step-store.php:7 7457 #: templates/admin-setup-wizard/step-store.php:78 458 458 msgid "Skip this step" 459 459 msgstr "" … … 4157 4157 msgstr "" 4158 4158 4159 #: includes/product-functions.php:318 lib/appsero/Insights.php:7 494159 #: includes/product-functions.php:318 lib/appsero/Insights.php:764 4160 4160 #: templates/my-orders.php:83 templates/orders/details.php:199 4161 4161 #: templates/products/new-product-single.php:214 … … 4536 4536 msgstr "" 4537 4537 4538 #: lib/appsero/Insights.php:3 58vendor/appsero/client/src/Insights.php:3694538 #: lib/appsero/Insights.php:369 vendor/appsero/client/src/Insights.php:369 4539 4539 msgid "" 4540 4540 "Want to help make <strong>%1$s</strong> even more awesome? Allow %1$s to " … … 4542 4542 msgstr "" 4543 4543 4544 #: lib/appsero/Insights.php:3 63vendor/appsero/client/src/Insights.php:3744544 #: lib/appsero/Insights.php:374 vendor/appsero/client/src/Insights.php:374 4545 4545 msgid "what we collect" 4546 4546 msgstr "" 4547 4547 4548 #: lib/appsero/Insights.php:3 69templates/products/inventory.php:554548 #: lib/appsero/Insights.php:381 templates/products/inventory.php:55 4549 4549 #: vendor/appsero/client/src/Insights.php:381 4550 4550 msgid "Allow" 4551 4551 msgstr "" 4552 4552 4553 #: lib/appsero/Insights.php:3 70vendor/appsero/client/src/Insights.php:3824553 #: lib/appsero/Insights.php:382 vendor/appsero/client/src/Insights.php:382 4554 4554 msgid "No thanks" 4555 4555 msgstr "" 4556 4556 4557 #: lib/appsero/Insights.php:569 4558 msgid "Once Weekly" 4559 msgstr "" 4560 4561 #: lib/appsero/Insights.php:733 vendor/appsero/client/src/Insights.php:747 4557 #: lib/appsero/Insights.php:747 vendor/appsero/client/src/Insights.php:747 4562 4558 msgid "If you have a moment, please let us know why you are deactivating:" 4563 4559 msgstr "" 4564 4560 4565 #: lib/appsero/Insights.php:7 47vendor/appsero/client/src/Insights.php:7624561 #: lib/appsero/Insights.php:762 vendor/appsero/client/src/Insights.php:762 4566 4562 msgid "I rather wouldn't say" 4567 4563 msgstr "" 4568 4564 4569 #: lib/appsero/Insights.php:7 48vendor/appsero/client/src/Insights.php:7634565 #: lib/appsero/Insights.php:763 vendor/appsero/client/src/Insights.php:763 4570 4566 msgid "Submit & Deactivate" 4571 4567 msgstr "" … … 5114 5110 #: templates/admin-setup-wizard/step-store.php:66 5115 5111 msgid "" 5116 "Want to help make Dokan even more awesome? Allow weDevs to collect"5117 " non-sensitive diagnostic data and usage information."5112 "Want to help make Dokan even more awesome? Allow Dokan Multivendor " 5113 "Marketplace to collect non-sensitive diagnostic data and usage information" 5118 5114 msgstr "" 5119 5115 … … 5128 5124 "plugins, Site name and url, Your name and email address. No sensitive data " 5129 5125 "is tracked." 5126 msgstr "" 5127 5128 #: templates/admin-setup-wizard/step-store.php:71 5129 msgid "" 5130 "We are using %1$s to collect your data. <a href=\"%2$s\" " 5131 "target=\"_blank\">Learn more</a> about how %1$s collects and handle your " 5132 "data." 5130 5133 msgstr "" 5131 5134 … … 5703 5706 msgstr "" 5704 5707 5705 #: templates/orders/order-download-permission-html.php:1 05708 #: templates/orders/order-download-permission-html.php:17 5706 5709 msgid "Revoke Access" 5707 5710 msgstr "" 5708 5711 5709 #: templates/orders/order-download-permission-html.php:2 05712 #: templates/orders/order-download-permission-html.php:28 5710 5713 msgid "Downloaded" 5711 5714 msgstr "" 5712 5715 5713 #: templates/orders/order-download-permission-html.php: 225716 #: templates/orders/order-download-permission-html.php:30 5714 5717 msgid "%s time" 5715 5718 msgid_plural "%s times" … … 5717 5720 msgstr[1] "" 5718 5721 5719 #: templates/orders/order-download-permission-html.php: 255722 #: templates/orders/order-download-permission-html.php:33 5720 5723 msgid "Downloads Remaining" 5721 5724 msgstr "" 5722 5725 5723 #: templates/orders/order-download-permission-html.php: 285726 #: templates/orders/order-download-permission-html.php:36 5724 5727 msgid "Unlimited" 5725 5728 msgstr "" 5726 5729 5727 #: templates/orders/order-download-permission-html.php:3 15730 #: templates/orders/order-download-permission-html.php:39 5728 5731 msgid "Access Expires" 5729 5732 msgstr "" 5730 5733 5731 #: templates/orders/order-download-permission-html.php: 325734 #: templates/orders/order-download-permission-html.php:40 5732 5735 msgid "Never" 5733 5736 msgstr "" -
dokan-lite/trunk/readme.txt
r2215040 r2218172 8 8 WC tested up to: 3.8.1 9 9 Requires PHP: 5.6 10 Stable tag: 2.9.2 810 Stable tag: 2.9.29 11 11 License: GPLv2 or later 12 12 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 292 292 == Changelog == 293 293 294 = v2.9.29 (December 26, 2019) = 295 296 - **Fix:** Don't show the admin setup wizard who ran the setup wizard before 297 - **Fix:** Remove non-ascii characters from some file names 298 - **Fix:** Dokan dashboard hamburger menu is not working fixed 299 - **Fix:** Downloadable product grunt and revoke access issue is fixed 300 - **Tweak:** Added privacy policy info in setup wizard for admin 301 294 302 = v2.9.28 (December 19, 2019) = 295 303 -
dokan-lite/trunk/templates/admin-setup-wizard/step-store.php
r2210723 r2218172 58 58 59 59 <td> 60 <input type="checkbox" name="share_essentials" id="share_essentials" class="switch-input" checked>60 <input type="checkbox" name="share_essentials" id="share_essentials" class="switch-input"> 61 61 <label for="share_essentials" class="switch-label"> 62 62 <span class="toggle--on"><?php esc_html_e( 'On', 'dokan-lite' ); ?></span> … … 64 64 </label> 65 65 <span class="description"> 66 <?php esc_html_e( 'Want to help make Dokan even more awesome? Allow weDevs to collect non-sensitive diagnostic data and usage information.', 'dokan-lite' ); ?>66 <?php esc_html_e( 'Want to help make Dokan even more awesome? Allow Dokan Multivendor Marketplace to collect non-sensitive diagnostic data and usage information', 'dokan-lite' ); ?> 67 67 <?php printf( '<a class="insights-data-we-collect" href="#">%s</a>', esc_html__( 'What we collect', 'dokan-lite' ) ); ?> 68 68 </span> 69 69 <p id="collection-info" class="description" style="display:none;"> 70 70 <?php esc_html_e( 'Server environment details (php, mysql, server, WordPress versions), Number of users in your site, Site language, Number of active and inactive plugins, Site name and url, Your name and email address. No sensitive data is tracked.', 'dokan-lite' ); ?> 71 <?php printf( __( 'We are using %1$s to collect your data. <a href="%2$s" target="_blank">Learn more</a> about how %1$s collects and handle your data.', 'dokan-lite' ), '<a href="https://appsero.com" target="_blank">Appsero</a>', 'https://appsero.com/privacy-policy/' ); ?> 71 72 </p> 72 73 </td> -
dokan-lite/trunk/templates/global/dashboard-nav.php
r2215040 r2218172 5 5 6 6 <div class="dokan-dash-sidebar"> 7 <?php echo wp_kses_post( dokan_dashboard_nav( $active_menu ) ); ?> 7 <?php 8 global $allowedposttags; 9 10 // These are required for the hamburger menu. 11 if ( is_array( $allowedposttags ) ) { 12 $allowedposttags['input'] = [ 13 'id' => [], 14 'type' => [], 15 'checked' => [] 16 ]; 17 } 18 19 echo wp_kses( dokan_dashboard_nav( $active_menu ), $allowedposttags ); 20 ?> 8 21 </div> -
dokan-lite/trunk/templates/orders/order-download-permission-html.php
r2215040 r2218172 8 8 </a> 9 9 10 <button rel="<?php echo esc_attr( absint( $download->product_id ) ) . ',' . esc_attr( $download->download_id ); ?>" class="revoke_access btn btn-danger btn-sm pull-right" data-order-id="<?php echo esc_attr( $download->order_id ); ?>" data-nonce="<?php echo esc_attr( wp_create_nonce( 'revoke-access' ) ); ?>"><?php esc_html_e( 'Revoke Access', 'dokan-lite' ); ?></button> 10 <button 11 rel="<?php echo esc_attr( absint( $download->product_id ) ) . ',' . esc_attr( $download->download_id ); ?>" 12 class="revoke_access btn btn-danger btn-sm pull-right" 13 data-order-id="<?php echo esc_attr( $download->order_id ); ?>" 14 data-permission-id="<?php echo esc_attr( $download->permission_id ); ?>" 15 data-nonce="<?php echo esc_attr( wp_create_nonce( 'revoke-access' ) ); ?>" 16 > 17 <?php esc_html_e( 'Revoke Access', 'dokan-lite' ); ?> 18 </button> 11 19 </div> 12 20
Note: See TracChangeset
for help on using the changeset viewer.