* Fix: Use prepared statements for stock status filtering
This commit addresses an issue where the "Filter by stock" block fails when used with MySQL that has ANSI_QUOTES enabled. The problem was caused
by the use of double quotes in the SQL query.
Key changes:
1. Replace direct string concatenation with wpdb->prepare()
2. Use placeholders for stock status values in the IN clause
3. Validate stock statuses against known options before querying
This fix ensures compatibility with different MySQL configurations and improves
the overall security of the query by preventing SQL injection vulnerabilities.
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* Fix lint issue
* Fix: Use single quotes for attribute taxonomy names in SQL query
- Addresses issue with Filter by Attribute block failing with ANSI_QUOTES enabled
- Prevents "Unknown column" errors for attribute names in SQL queries
* Fix: Use single quotes for SQL IN clauses
This commit addresses an issue where the Filter by Stock block fails when
the database has ANSI_QUOTES enabled. The problem was caused by the use of
double quotes in SQL IN clauses, which are treated as identifiers when
ANSI_QUOTES is enabled.
The fix involves replacing double quotes with single quotes in the following files:
1. plugins/woocommerce/src/Blocks/QueryFilters.php
2. plugins/woocommerce/src/StoreApi/Utilities/ProductQuery.php
This change ensures compatibility with databases that have ANSI_QUOTES
enabled, while maintaining the existing functionality for other configurations.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add new email for notifying customers when an order fails
* Remove references to the order completed template and bump versions
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint
* Improve default subject and heading
* Remove the additional content message
* Update copy for both emails
* Cart Link Block WIP
* Add pattern for header
* changelog
* We added a header so update test
* Add wc-blocks-header-pattern class
* render_woocommerce_template_part was missing wrappers
* Add missing class
* Update plugins/woocommerce/src/Blocks/BlockTypes/CartLink.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Blocks/BlockTypes/CartLink.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Blocks/BlockTypes/CartLink.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Further SVG compression
* Remove unnecessary area handling
* Shared icon with mini cart
* Global style support
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update composer.json to include 'assets' folder and exclude client in makepot-audit command
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove product filters template part
* Remove product filters overlay template part
* Update e2e tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix linting
* Remove unused template part class and remove overlay navigation
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update .distignore file to exclude ./client/admin folder from zip
* Add changefile(s) from automation for the following project(s): woocommerce
* Update .distignore
* Exclude /client/admin/ folder from zip in .distignore
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent accessing unexisting context in Product Collection
* Add changelog
* Remove unnecessary OR
* Change the approach to cleaner one
* Improve the condition
* Fix product base incorrectly flagging as store pages on pages with same prefix
* Changelog
* Remove unused code
* Lint
* Lint
* Slightly moved some codes, improved comments, added extensive examples
* create HPOS tables if do not exist when enabling compat mode
* Add changefile(s) from automation for the following project(s): woocommerce
* remove undefined variable from log
* add newline
---------
Co-authored-by: github-actions <github-actions@github.com>
* check for empty order key
* reverse flow
* Update class-wc-order-data-store-cpt.php
* tabs to spaces
* Add changefile(s) from automation for the following project(s): woocommerce
* spaces to tabs
* fix lint issue - 477 | ERROR | Whitespace found at end of line
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
In this PR, we introduce and integrate a new webpack plugin, which hooks into `fork-ts-checker-webpack-plugin` and turns the specified TypeScript error codes into warnings to enable React 18 migration.
* Revert "CYS - Move the `private/patterns` endpoint to woocommerce admin API (#50400)"
This reverts commit 091141218e.
* Revert "CYS - Move the `ai/products` endpoint to woocommerce admin API (#50396)"
This reverts commit ae6f7837b2.
* fix endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* fix e2e test
* add declare strict type declaration
* Add strict_types to Products route class file
* Remove old TODO comment
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* moved files
* changed paths
* changelogs
* added eslintignore for admin subfolder as it has its own eslint command
---------
Co-authored-by: rjchow <me@rjchow.com>
* Add To Cart Form: Improve the default style and add the Stepper style
* fix height button when no variation is selected
* not allow the user to set 0 as value of the input
* format css
* fix padding
* format css
* fix CSS
* unset margin to align with the button
* Fix quantity stepper layout
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* improve layout editor side
* remove not necessary changelog
* improve escaping
* fix webpack configuration
* add E2E tests
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
* Replace `@media (width <= $breakpoint-medium)` queries with `@media screen and (max-width: $breakpoint-medium)`. iOS Simulator doesn't seem to support the previous query syntax.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ignore payment gateway suggestion ID variation part
When searching for the current gateway ID we will ignore the
part after :.
* Use a connect link when no WCPay account connected
This allows us more control over where to direct the user.
* Use the individual payment gateway enablement flow for WCPay
* Add changelog
* Add changelog
* Fix lint errors
* Prevent recalling installAndActivate when autoinstalling
If we have installAndActivate as a dependency, when isRequesting becomes false
it will cause a second, needless installAndActivate call and we end up with two
snackbar notices about plugins being installed and/or activated.
* Replace deprecated Button props
* Make the plugins installed&activated notice message more informative
* Fix object check
* Add changelog
* Remove WooPayments task item fill and use standard task item
* refact: Separate get suggestion
* Provide WCPay task action from PHP
* Don't point directly to WCPay pages, use connect links instead
* Remove WCPay action URL logic from the main Payments task
If WooPayments is supported, the dedicated task will superseed
the default payments task. There is no need to have special action
URLs.
* Lint fixes
* Use a WCPay connect link to defer to the client logic
* Fix WCPay task link when incentive is available
* Lint fixes
* Cache block pattern data to optimize pattern registration
* Add tests around block pattern registration
* Test cached block pattern registration
* Add tests around invalid cached data
* Remove unused mock package
* Add changelog entry
* Fix up linting issues
* Bump transient time up to one month
* Sample test
* Jest tests
* Fix spinner
* Add e2e test to check registration works
* Classes were renamed
* wc-block-order-confirmation--create-account-button remove double hyphen
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* woocommerce-blocks-test-enable-experimental-features
---------
Co-authored-by: github-actions <github-actions@github.com>
* Skip flaky tests for now
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>