From e88ef38a76f298904820eb040c503b0e1175152c Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Fri, 8 Dec 2017 22:29:01 -0600 Subject: [PATCH 001/140] Standardize stock update messages Essentially just use get_formatted_name(), that way the product name appears along with either the sku or ID --- includes/class-wc-ajax.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index 89ee563edfb..74fdfb7334f 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -1117,8 +1117,8 @@ class WC_AJAX { if ( $_product && $_product->exists() && $_product->managing_stock() && isset( $order_item_qty[ $item_id ] ) && $order_item_qty[ $item_id ] > 0 ) { $stock_change = apply_filters( 'woocommerce_reduce_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); $new_stock = wc_update_product_stock( $_product, $stock_change, 'decrease' ); - $item_name = $_product->get_sku() ? $_product->get_sku() : $_product->get_id(); - $note = sprintf( __( 'Item %1$s stock reduced from %2$s to %3$s.', 'woocommerce' ), $item_name, $new_stock + $stock_change, $new_stock ); + $item_name = $_product->get_formatted_name(); + $note = sprintf( __( '%1$s stock reduced from %2$s to %3$s.', 'woocommerce' ), $item_name, $new_stock + $stock_change, $new_stock ); $return[] = $note; $order->add_order_note( $note ); } @@ -1157,8 +1157,8 @@ class WC_AJAX { $old_stock = $_product->get_stock_quantity(); $stock_change = apply_filters( 'woocommerce_restore_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); $new_quantity = wc_update_product_stock( $_product, $stock_change, 'increase' ); - $item_name = $_product->get_sku() ? $_product->get_sku() : $_product->get_id(); - $note = sprintf( __( 'Item %1$s stock increased from %2$s to %3$s.', 'woocommerce' ), $item_name, $old_stock, $new_quantity ); + $item_name = $_product->get_formatted_name(); + $note = sprintf( __( '%1$s stock increased from %2$s to %3$s.', 'woocommerce' ), $item_name, $old_stock, $new_quantity ); $return[] = $note; $order->add_order_note( $note ); } From 2237c3591259ef0bacbea73a97076cc1a15e16e5 Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Fri, 8 Dec 2017 22:33:09 -0600 Subject: [PATCH 002/140] Set $added_by_user to true These stock updates are done manually --- includes/class-wc-ajax.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index 74fdfb7334f..41ad89148d7 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -1120,7 +1120,7 @@ class WC_AJAX { $item_name = $_product->get_formatted_name(); $note = sprintf( __( '%1$s stock reduced from %2$s to %3$s.', 'woocommerce' ), $item_name, $new_stock + $stock_change, $new_stock ); $return[] = $note; - $order->add_order_note( $note ); + $order->add_order_note( $note, 0, true ); } } do_action( 'woocommerce_reduce_order_stock', $order ); @@ -1160,7 +1160,7 @@ class WC_AJAX { $item_name = $_product->get_formatted_name(); $note = sprintf( __( '%1$s stock increased from %2$s to %3$s.', 'woocommerce' ), $item_name, $old_stock, $new_quantity ); $return[] = $note; - $order->add_order_note( $note ); + $order->add_order_note( $note, 0, true ); } } do_action( 'woocommerce_restore_order_stock', $order ); From 4f187a08408784f3462fd6e0c96fe86261328f03 Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Sat, 9 Dec 2017 00:32:35 -0600 Subject: [PATCH 003/140] Ajaxify the order note addition --- assets/js/admin/meta-boxes-order.js | 56 +++++++++++++++++++++++++++-- includes/class-wc-ajax.php | 32 ++++++++--------- 2 files changed, 70 insertions(+), 18 deletions(-) diff --git a/assets/js/admin/meta-boxes-order.js b/assets/js/admin/meta-boxes-order.js index f5dbb56f9fe..d3c699bb3bd 100644 --- a/assets/js/admin/meta-boxes-order.js +++ b/assets/js/admin/meta-boxes-order.js @@ -1036,8 +1036,34 @@ jQuery( function ( $ ) { data: data, type: 'POST', success: function( response ) { - window.alert( response ); wc_meta_boxes_order_items.unblock(); + var response = JSON.parse( response ); + + if ( ! response.success ) { + window.alert( response.note ); + return; + } + + var order_note_data = { + action: 'woocommerce_add_order_note', + post_id: woocommerce_admin_meta_boxes.post_id, + note: response.note, + note_type: '', + security: woocommerce_admin_meta_boxes.add_order_note_nonce + }; + + $( '#woocommerce-order-notes' ).block({ + message: null, + overlayCSS: { + background: '#fff', + opacity: 0.6 + } + }); + + $.post( woocommerce_admin_meta_boxes.ajax_url, order_note_data, function( response ) { + $( 'ul.order_notes' ).prepend( response ); + $( '#woocommerce-order-notes' ).unblock(); + }); } }); }, @@ -1072,8 +1098,34 @@ jQuery( function ( $ ) { data: data, type: 'POST', success: function( response ) { - window.alert( response ); wc_meta_boxes_order_items.unblock(); + var response = JSON.parse( response ); + + if ( ! response.success ) { + window.alert( response.note ); + return; + } + + var order_note_data = { + action: 'woocommerce_add_order_note', + post_id: woocommerce_admin_meta_boxes.post_id, + note: response.note, + note_type: '', + security: woocommerce_admin_meta_boxes.add_order_note_nonce + }; + + $( '#woocommerce-order-notes' ).block({ + message: null, + overlayCSS: { + background: '#fff', + opacity: 0.6 + } + }); + + $.post( woocommerce_admin_meta_boxes.ajax_url, order_note_data, function( response ) { + $( 'ul.order_notes' ).prepend( response ); + $( '#woocommerce-order-notes' ).unblock(); + }); } }); } diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index 41ad89148d7..977deeca8f5 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -1115,19 +1115,19 @@ class WC_AJAX { } $_product = $order_item->get_product(); if ( $_product && $_product->exists() && $_product->managing_stock() && isset( $order_item_qty[ $item_id ] ) && $order_item_qty[ $item_id ] > 0 ) { - $stock_change = apply_filters( 'woocommerce_reduce_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); - $new_stock = wc_update_product_stock( $_product, $stock_change, 'decrease' ); - $item_name = $_product->get_formatted_name(); - $note = sprintf( __( '%1$s stock reduced from %2$s to %3$s.', 'woocommerce' ), $item_name, $new_stock + $stock_change, $new_stock ); - $return[] = $note; - $order->add_order_note( $note, 0, true ); + $stock_change = apply_filters( 'woocommerce_reduce_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); + $new_stock = wc_update_product_stock( $_product, $stock_change, 'decrease' ); + $item_name = $_product->get_formatted_name(); + $return['note'] = sprintf( wp_kses_post( __( '%1$s stock reduced from %2$s to %3$s.', 'woocommerce' ) ), $item_name, $new_stock + $stock_change, $new_stock ); + $return['success'] = true; } } do_action( 'woocommerce_reduce_order_stock', $order ); if ( empty( $return ) ) { - $return[] = __( 'No products had their stock reduced - they may not have stock management enabled.', 'woocommerce' ); + $return['note'] = wp_kses_post( __( 'No products had their stock reduced - they may not have stock management enabled.', 'woocommerce' ) ); + $return['success'] = false; } - echo wp_kses_post( implode( ', ', $return ) ); + echo json_encode( $return ); } wp_die(); } @@ -1155,19 +1155,19 @@ class WC_AJAX { $_product = $order_item->get_product(); if ( $_product && $_product->exists() && $_product->managing_stock() && isset( $order_item_qty[ $item_id ] ) && $order_item_qty[ $item_id ] > 0 ) { $old_stock = $_product->get_stock_quantity(); - $stock_change = apply_filters( 'woocommerce_restore_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); - $new_quantity = wc_update_product_stock( $_product, $stock_change, 'increase' ); - $item_name = $_product->get_formatted_name(); - $note = sprintf( __( '%1$s stock increased from %2$s to %3$s.', 'woocommerce' ), $item_name, $old_stock, $new_quantity ); - $return[] = $note; - $order->add_order_note( $note, 0, true ); + $stock_change = apply_filters( 'woocommerce_restore_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); + $new_quantity = wc_update_product_stock( $_product, $stock_change, 'increase' ); + $item_name = $_product->get_formatted_name(); + $return['note'] = sprintf( wp_kses_post( __( '%1$s stock increased from %2$s to %3$s.', 'woocommerce' ) ), $item_name, $old_stock, $new_quantity ); + $return['success'] = true; } } do_action( 'woocommerce_restore_order_stock', $order ); if ( empty( $return ) ) { - $return[] = __( 'No products had their stock increased - they may not have stock management enabled.', 'woocommerce' ); + $return['note'] = wp_kses_post( __( 'No products had their stock increased - they may not have stock management enabled.', 'woocommerce' ) ); + $return['success'] = false; } - echo wp_kses_post( implode( ', ', $return ) ); + echo json_encode( $return ); } wp_die(); } From 457e60d2537c7a4690c51964dacacdd73960fb4d Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Sat, 9 Dec 2017 22:22:41 -0600 Subject: [PATCH 004/140] Allow for multiple stock updates at once --- assets/js/admin/meta-boxes-order.js | 94 ++++++++++++++++------------- includes/class-wc-ajax.php | 36 ++++++----- 2 files changed, 74 insertions(+), 56 deletions(-) diff --git a/assets/js/admin/meta-boxes-order.js b/assets/js/admin/meta-boxes-order.js index d3c699bb3bd..a9519d337f4 100644 --- a/assets/js/admin/meta-boxes-order.js +++ b/assets/js/admin/meta-boxes-order.js @@ -1010,6 +1010,14 @@ jQuery( function ( $ ) { e.preventDefault(); wc_meta_boxes_order_items.block(); + $( '#woocommerce-order-notes' ).block({ + message: null, + overlayCSS: { + background: '#fff', + opacity: 0.6 + } + }); + var $table = $( 'table.woocommerce_order_items' ); var $rows = $table.find( 'tr.selected' ); var quantities = {}; @@ -1039,31 +1047,28 @@ jQuery( function ( $ ) { wc_meta_boxes_order_items.unblock(); var response = JSON.parse( response ); - if ( ! response.success ) { - window.alert( response.note ); - return; - } + $.map( response, function( item ) { - var order_note_data = { - action: 'woocommerce_add_order_note', - post_id: woocommerce_admin_meta_boxes.post_id, - note: response.note, - note_type: '', - security: woocommerce_admin_meta_boxes.add_order_note_nonce - }; - - $( '#woocommerce-order-notes' ).block({ - message: null, - overlayCSS: { - background: '#fff', - opacity: 0.6 + // No items were updated. + if ( ! item.success ) { + window.alert( item.note ); + return; } + + var order_note_data = { + action: 'woocommerce_add_order_note', + post_id: woocommerce_admin_meta_boxes.post_id, + note: item.note, + note_type: '', + security: woocommerce_admin_meta_boxes.add_order_note_nonce + }; + + $.post( woocommerce_admin_meta_boxes.ajax_url, order_note_data, function( response ) { + $( 'ul.order_notes' ).prepend( response ); + }); }); - $.post( woocommerce_admin_meta_boxes.ajax_url, order_note_data, function( response ) { - $( 'ul.order_notes' ).prepend( response ); - $( '#woocommerce-order-notes' ).unblock(); - }); + $( '#woocommerce-order-notes' ).unblock(); } }); }, @@ -1072,6 +1077,14 @@ jQuery( function ( $ ) { e.preventDefault(); wc_meta_boxes_order_items.block(); + $( '#woocommerce-order-notes' ).block({ + message: null, + overlayCSS: { + background: '#fff', + opacity: 0.6 + } + }); + var $table = $( 'table.woocommerce_order_items' ); var $rows = $table.find( 'tr.selected' ); var quantities = {}; @@ -1101,31 +1114,28 @@ jQuery( function ( $ ) { wc_meta_boxes_order_items.unblock(); var response = JSON.parse( response ); - if ( ! response.success ) { - window.alert( response.note ); - return; - } + $.map( response, function( item ) { - var order_note_data = { - action: 'woocommerce_add_order_note', - post_id: woocommerce_admin_meta_boxes.post_id, - note: response.note, - note_type: '', - security: woocommerce_admin_meta_boxes.add_order_note_nonce - }; - - $( '#woocommerce-order-notes' ).block({ - message: null, - overlayCSS: { - background: '#fff', - opacity: 0.6 + // No items were updated. + if ( ! item.success ) { + window.alert( item.note ); + return; } + + var order_note_data = { + action: 'woocommerce_add_order_note', + post_id: woocommerce_admin_meta_boxes.post_id, + note: item.note, + note_type: '', + security: woocommerce_admin_meta_boxes.add_order_note_nonce + }; + + $.post( woocommerce_admin_meta_boxes.ajax_url, order_note_data, function( response ) { + $( 'ul.order_notes' ).prepend( response ); + }); }); - $.post( woocommerce_admin_meta_boxes.ajax_url, order_note_data, function( response ) { - $( 'ul.order_notes' ).prepend( response ); - $( '#woocommerce-order-notes' ).unblock(); - }); + $( '#woocommerce-order-notes' ).unblock(); } }); } diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index 977deeca8f5..b6a067eff6b 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -1115,17 +1115,21 @@ class WC_AJAX { } $_product = $order_item->get_product(); if ( $_product && $_product->exists() && $_product->managing_stock() && isset( $order_item_qty[ $item_id ] ) && $order_item_qty[ $item_id ] > 0 ) { - $stock_change = apply_filters( 'woocommerce_reduce_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); - $new_stock = wc_update_product_stock( $_product, $stock_change, 'decrease' ); - $item_name = $_product->get_formatted_name(); - $return['note'] = sprintf( wp_kses_post( __( '%1$s stock reduced from %2$s to %3$s.', 'woocommerce' ) ), $item_name, $new_stock + $stock_change, $new_stock ); - $return['success'] = true; + $stock_change = apply_filters( 'woocommerce_reduce_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); + $new_stock = wc_update_product_stock( $_product, $stock_change, 'decrease' ); + $item_name = $_product->get_formatted_name(); + $return[] = array( + 'note' => sprintf( wp_kses_post( __( '%1$s stock reduced from %2$s to %3$s.', 'woocommerce' ) ), $item_name, $new_stock + $stock_change, $new_stock ), + 'success' => true, + ); } } do_action( 'woocommerce_reduce_order_stock', $order ); if ( empty( $return ) ) { - $return['note'] = wp_kses_post( __( 'No products had their stock reduced - they may not have stock management enabled.', 'woocommerce' ) ); - $return['success'] = false; + $return[] = array( + 'note' => wp_kses_post( __( 'No products had their stock reduced - they may not have stock management enabled.', 'woocommerce' ) ), + 'success' => false, + ); } echo json_encode( $return ); } @@ -1155,17 +1159,21 @@ class WC_AJAX { $_product = $order_item->get_product(); if ( $_product && $_product->exists() && $_product->managing_stock() && isset( $order_item_qty[ $item_id ] ) && $order_item_qty[ $item_id ] > 0 ) { $old_stock = $_product->get_stock_quantity(); - $stock_change = apply_filters( 'woocommerce_restore_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); - $new_quantity = wc_update_product_stock( $_product, $stock_change, 'increase' ); - $item_name = $_product->get_formatted_name(); - $return['note'] = sprintf( wp_kses_post( __( '%1$s stock increased from %2$s to %3$s.', 'woocommerce' ) ), $item_name, $old_stock, $new_quantity ); - $return['success'] = true; + $stock_change = apply_filters( 'woocommerce_restore_order_stock_quantity', $order_item_qty[ $item_id ], $item_id ); + $new_quantity = wc_update_product_stock( $_product, $stock_change, 'increase' ); + $item_name = $_product->get_formatted_name(); + $return[] = array( + 'note' => sprintf( wp_kses_post( __( '%1$s stock increased from %2$s to %3$s.', 'woocommerce' ) ), $item_name, $old_stock, $new_quantity ), + 'success' => true, + ); } } do_action( 'woocommerce_restore_order_stock', $order ); if ( empty( $return ) ) { - $return['note'] = wp_kses_post( __( 'No products had their stock increased - they may not have stock management enabled.', 'woocommerce' ) ); - $return['success'] = false; + $return[] = array( + 'note' => wp_kses_post( __( 'No products had their stock increased - they may not have stock management enabled.', 'woocommerce' ) ), + 'success' => false, + ); } echo json_encode( $return ); } From 94ffd6ff29cb1970d04fd909b863960800fd0a53 Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Sat, 9 Dec 2017 22:47:23 -0600 Subject: [PATCH 005/140] Remove duplicate code --- assets/js/admin/meta-boxes-order.js | 74 ++++------------------------- 1 file changed, 8 insertions(+), 66 deletions(-) diff --git a/assets/js/admin/meta-boxes-order.js b/assets/js/admin/meta-boxes-order.js index a9519d337f4..fc20280bddd 100644 --- a/assets/js/admin/meta-boxes-order.js +++ b/assets/js/admin/meta-boxes-order.js @@ -1006,7 +1006,8 @@ jQuery( function ( $ ) { } }, - do_increase_stock: function( e ) { + modify_stock: function( e, action ) { + console.log(e); e.preventDefault(); wc_meta_boxes_order_items.block(); @@ -1035,7 +1036,7 @@ jQuery( function ( $ ) { order_id: woocommerce_admin_meta_boxes.post_id, order_item_ids: item_ids, order_item_qty: quantities, - action: 'woocommerce_increase_order_item_stock', + action: action, security: woocommerce_admin_meta_boxes.order_item_nonce }; @@ -1073,71 +1074,12 @@ jQuery( function ( $ ) { }); }, + do_increase_stock: function( e ) { + wc_meta_boxes_order_items.bulk_actions.modify_stock( e, 'woocommerce_increase_order_item_stock' ); + }, + do_reduce_stock: function( e ) { - e.preventDefault(); - wc_meta_boxes_order_items.block(); - - $( '#woocommerce-order-notes' ).block({ - message: null, - overlayCSS: { - background: '#fff', - opacity: 0.6 - } - }); - - var $table = $( 'table.woocommerce_order_items' ); - var $rows = $table.find( 'tr.selected' ); - var quantities = {}; - var item_ids = $.map( $rows, function( $row ) { - return parseInt( $( $row ).data( 'order_item_id' ), 10 ); - }); - - $rows.each(function() { - if ( $( this ).find( 'input.quantity' ).length ) { - quantities[ $( this ).attr( 'data-order_item_id' ) ] = $( this ).find( 'input.quantity' ).val(); - } - }); - - var data = { - order_id: woocommerce_admin_meta_boxes.post_id, - order_item_ids: item_ids, - order_item_qty: quantities, - action: 'woocommerce_reduce_order_item_stock', - security: woocommerce_admin_meta_boxes.order_item_nonce - }; - - $.ajax({ - url: woocommerce_admin_meta_boxes.ajax_url, - data: data, - type: 'POST', - success: function( response ) { - wc_meta_boxes_order_items.unblock(); - var response = JSON.parse( response ); - - $.map( response, function( item ) { - - // No items were updated. - if ( ! item.success ) { - window.alert( item.note ); - return; - } - - var order_note_data = { - action: 'woocommerce_add_order_note', - post_id: woocommerce_admin_meta_boxes.post_id, - note: item.note, - note_type: '', - security: woocommerce_admin_meta_boxes.add_order_note_nonce - }; - - $.post( woocommerce_admin_meta_boxes.ajax_url, order_note_data, function( response ) { - $( 'ul.order_notes' ).prepend( response ); - }); - }); - - $( '#woocommerce-order-notes' ).unblock(); - } - }); + wc_meta_boxes_order_items.bulk_actions.modify_stock( e, 'woocommerce_reduce_order_item_stock' ); } }, From bb3a50056418deef3d0c6fa861fe34198db75646 Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Sat, 9 Dec 2017 22:48:49 -0600 Subject: [PATCH 006/140] Woops - ignore xD --- assets/js/admin/meta-boxes-order.js | 1 - 1 file changed, 1 deletion(-) diff --git a/assets/js/admin/meta-boxes-order.js b/assets/js/admin/meta-boxes-order.js index fc20280bddd..7171654d860 100644 --- a/assets/js/admin/meta-boxes-order.js +++ b/assets/js/admin/meta-boxes-order.js @@ -1007,7 +1007,6 @@ jQuery( function ( $ ) { }, modify_stock: function( e, action ) { - console.log(e); e.preventDefault(); wc_meta_boxes_order_items.block(); From 274e5c3aa220fe5b4a0e58fe2a13b2e4f843dca3 Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Sat, 9 Dec 2017 23:02:40 -0600 Subject: [PATCH 007/140] Hide manage stock buttons if inventory is disabled --- assets/js/admin/meta-boxes-order.js | 5 +++-- includes/admin/meta-boxes/views/html-order-items.php | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/assets/js/admin/meta-boxes-order.js b/assets/js/admin/meta-boxes-order.js index 7171654d860..d51f22a4c3e 100644 --- a/assets/js/admin/meta-boxes-order.js +++ b/assets/js/admin/meta-boxes-order.js @@ -918,9 +918,10 @@ jQuery( function ( $ ) { } var $rows = $table.find( 'tr.selected' ); + var $bulk_edit_wraper = $( 'div.wc-order-item-bulk-edit' ); - if ( $rows.length ) { - $( 'div.wc-order-item-bulk-edit' ).slideDown(); + if ( $rows.length && $bulk_edit_wraper.children().length > 0 ) { + $bulk_edit_wraper.slideDown(); var selected_product = false; diff --git a/includes/admin/meta-boxes/views/html-order-items.php b/includes/admin/meta-boxes/views/html-order-items.php index b328adb664b..75312691f1d 100644 --- a/includes/admin/meta-boxes/views/html-order-items.php +++ b/includes/admin/meta-boxes/views/html-order-items.php @@ -98,8 +98,11 @@ if ( wc_tax_enabled() ) { - - + + + + +
' . esc_html( $environment['log_directory'] ) . '
';
} else {
echo ' ' . sprintf( __( 'To allow logging, make %1$s writable or define a custom %2$s.', 'woocommerce' ), '' . $environment['log_directory'] . '
', 'WC_LOG_DIR
' ) . '';
}
- ?>- | ||
---|---|---|
: | -- | - |
- | - | 20 ) { - echo ' ' . sprintf( __( '%1$s - We recommend using a prefix with less than 20 characters. See: %2$s', 'woocommerce' ), esc_html( $database['database_prefix'] ), '' . __( 'How to update your database table prefix', 'woocommerce' ) . '' ) . ''; - } else { - echo '' . esc_html( $database['database_prefix'] ) . ''; - } - ?> - | -
+ | ||
: | ++ | + |
+ | + | + 20 ) { + echo ' ' . sprintf( __( '%1$s - We recommend using a prefix with less than 20 characters. See: %2$s', 'woocommerce' ), esc_html( $database['database_prefix'] ), '' . __( 'How to update your database table prefix', 'woocommerce' ) . '' ) . ''; + } else { + echo '' . esc_html( $database['database_prefix'] ) . ''; + } + ?> + | +
: | -- | ' . esc_html( $database['maxmind_geoip_database'] ) . ' ';
- } else {
- printf( ' ' . sprintf( __( 'The MaxMind GeoIP Database does not exist - Geolocation will not function. You can download and install it manually from %1$s to the path: %2$s. Scroll down to "Downloads" and download the "Binary / gzip" file next to "GeoLite Country". Please remember to uncompress GeoIP.dat.gz and upload the GeoIP.dat file only.', 'woocommerce' ), make_clickable( 'http://dev.maxmind.com/geoip/legacy/geolite/' ), '' . $database['maxmind_geoip_database'] . ' ' ) . '', WC_LOG_DIR );
- }
- ?> |
-
: | ++ |
+ ' . esc_html( $database['maxmind_geoip_database'] ) . ' ';
+ } else {
+ printf( ' ' . sprintf( __( 'The MaxMind GeoIP Database does not exist - Geolocation will not function. You can download and install it manually from %1$s to the path: %2$s. Scroll down to "Downloads" and download the "Binary / gzip" file next to "GeoLite Country". Please remember to uncompress GeoIP.dat.gz and upload the GeoIP.dat file only.', 'woocommerce' ), make_clickable( 'http://dev.maxmind.com/geoip/legacy/geolite/' ), '' . $database['maxmind_geoip_database'] . ' ' ) . '', WC_LOG_DIR );
+ }
+ ?>
+ |
+
- | - | - |
+ | + | + |
- | - | - |
+ | + | + |
- | - | - |
+ | + | + |
- | - | - ' . __( 'Table does not exist', 'woocommerce' ) . ''; - } else { - printf( __( 'Data: %.2fMB + Index: %.2fMB', 'woocommerce' ), wc_format_decimal( $table_data['data'], 2 ), wc_format_decimal( $table_data['index'], 2 ) ); - } ?> - | -
+ | + | + ' . __( 'Table does not exist', 'woocommerce' ) . ''; + } else { + printf( __( 'Data: %1$.2fMB + Index: %2$.2fMB', 'woocommerce' ), wc_format_decimal( $table_data['data'], 2 ), wc_format_decimal( $table_data['index'], 2 ) ); + } + ?> + | +
- | - | - - | -
+ | + | + + | +
- | ||
---|---|---|
type ); ?> | -- | count ); ?> | -
+ | ||
type ); ?> | ++ | count ); ?> | +
() |
+ () |
||||
---|---|---|---|---|---|
- | + | + ?> +' : '–'; ?> | |||
+ | - | () | +() | ||
+ | - | + | |||
+ | - | + | |||
+ | - | + | |||
+ | - | + | |||
- | + $name ) { $display_terms[] = strtolower( $name ) . ' (' . $slug . ')'; } echo implode( ', ', array_map( 'esc_html', $display_terms ) ); - ?> | + ?> +||||
- | + $name ) { $display_terms[] = strtolower( $name ) . ' (' . $slug . ')'; } echo implode( ', ', array_map( 'esc_html', $display_terms ) ); - ?> | + ?> +
+ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +' : '–'; ?> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +@@ -105,8 +105,8 @@ $untested_plugins = $plugin_updates->get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +@@ -116,8 +116,8 @@ $untested_plugins = $plugin_updates->get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +
+ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +' : '–'; ?> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +get_untested_plugins( WC()->version, 'minor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: | -+ | : | +
get_untested_plugins( WC()->version, 'minor
|