Commit Graph

507 Commits

Author SHA1 Message Date
Claudio Sanches d17b96646c Fixed database update tool, fixing System Status, REST API and CLI 2019-06-19 17:19:13 -03:00
Mike Jolley f113d26e44 Update routine 2019-03-20 15:27:43 +00:00
Mike Jolley 5d1020300e wc_tax_rate_classes table 2019-03-20 14:19:11 +00:00
Gerhard 778245bc43 Revert test 2019-03-20 16:06:11 +02:00
Gerhard 4edd63fedf usort not uasort 2019-03-20 14:06:13 +02:00
Gerhard fb0e2db448 Keep track of version numbers in seperate variable before sorting it 2019-03-20 14:05:12 +02:00
Gerhard 6234b7bd13 uasort does not return a value but instead works by reference. 2019-03-20 14:00:26 +02:00
Gerhard b97e780b0b Use version_compare for finding the latest version and not max as it is not string friendly. 2019-03-20 13:56:57 +02:00
Mike Jolley 520c517410
Merge pull request #23019 from woocommerce/update/onsale-lookup
onsale lookup table
2019-03-14 11:10:35 +00:00
Mike Jolley 6995e6ec84
Merge pull request #22981 from woocommerce/update/22976
Updating geolocation download to avoid wp_upload_dir and direct filesystem access
2019-03-13 17:41:54 +00:00
Mike Jolley 53896e3149 onsale lookup 2019-03-13 17:14:20 +00:00
Mike Jolley 20d7603dd6 Merge branch 'fix/21034' 2019-03-12 13:47:08 +00:00
Mike Jolley 4ab3cc2204 Merge branch 'update/21017' 2019-03-12 13:45:48 +00:00
Mike Jolley 638812cdd3
Merge pull request #22904 from woocommerce/update/20577
Updates - Docs and ActionScheduler implementation
2019-03-12 13:21:48 +00:00
Mike Jolley b71a7ac4ee Stray 1 2019-03-11 10:29:14 +00:00
Mike Jolley 87bce1f4a2 Reduce inital delay for geo data 2019-03-08 18:20:31 +00:00
Mike Jolley ddb134fe45 Redirection improvements 2019-03-08 15:11:23 +00:00
Mike Jolley a3c2dcd8f2 Update from master 2019-03-08 09:50:56 +00:00
Mike Jolley 663f724bdd Cleanup methods 2019-03-07 15:08:22 +00:00
Mike Jolley 3173167e7e Update indexes 2019-03-07 14:47:46 +00:00
Mike Jolley 0782d39a55 Stock status 2019-03-07 14:32:20 +00:00
Mike Jolley 1ab455ec09 virtual and downloadable 2019-03-07 14:07:51 +00:00
Mike Jolley dfc539c051 SKU column 2019-03-07 13:34:28 +00:00
Mike Jolley a697c97472 Add rating_count to lookup table 2019-03-06 14:03:44 +00:00
Mike Jolley 16a0a3e27e Update from master 2019-03-05 19:03:01 +00:00
Mike Jolley d03f5d4373 Index by ID and cache 2019-03-05 16:49:45 +00:00
Gerhard Potgieter 5a6cc36fce
Merge branch 'master' into experiment/product-sorting-index 2019-03-05 14:04:11 +02:00
Mike Jolley 5af9d968e5 Update from master 2019-03-01 10:29:17 +00:00
Mike Jolley d407581618 Update types of decimal fields 2019-02-28 14:01:13 +00:00
Gerhard b8a5a9ec55 Add update routine to add user_order_remaining_expires index and hook it up to the installer for 3.6.0 2019-02-28 15:36:55 +02:00
Gerhard 207a5ef4b3 Add user_order_remaining_expires index to woocommerce_downloadable_product_permissions create table statement. 2019-02-28 15:30:17 +02:00
Mike Jolley 9948c63185 Revise index 2019-02-28 13:12:12 +00:00
Mike Jolley b903086251 Fix callbacks and remove logging 2019-02-28 11:52:56 +00:00
Mike Jolley d59b1c39d7 Remove force link - it can be done in AS 2019-02-28 11:15:58 +00:00
Mike Jolley d990b5192f Switch to action scheduler 2019-02-28 11:11:08 +00:00
Gerhard 3dde01570a Remove wp_clear_scheduled_hook for the plugin and theme background installer that does not run via cron anymore. 2019-02-26 12:44:27 +02:00
Gerhard 1e21ebe367 Remove the callbacks only 2019-02-26 12:25:12 +02:00
Gerhard ccbb8313b6 Revert "Remove old hooks for woocommerce_theme_background_installer and woocommerce_plugin_background_installer. There are no scheduled events for these anymore and the Wizard has it's own theme/plugin installer that uses the shutdown hook instead of cron."
This reverts commit 0f771bf4fe.
2019-02-26 12:24:56 +02:00
Gerhard 0f771bf4fe Remove old hooks for woocommerce_theme_background_installer and woocommerce_plugin_background_installer. There are no scheduled events for these anymore and the Wizard has it's own theme/plugin installer that uses the shutdown hook instead of cron. 2019-02-21 12:50:12 +02:00
Mike Jolley 35d2161fa9 Stock lookup 2019-02-15 13:05:46 +00:00
Mike Jolley 3309276e82 Renamed table to wc_product_meta_lookup 2019-02-15 12:37:45 +00:00
Mike Jolley 08e8c76eab Update tests 2019-02-15 12:16:59 +00:00
Mike Jolley 7b6558e1df Correct table names and updater 2019-02-12 14:04:22 +00:00
Mike Jolley ac51d1f1df Update routines 2019-02-12 13:27:30 +00:00
Mike Jolley 1727485322 Indexes for sorting 2019-02-11 15:05:12 +00:00
Mike Jolley f970458a33 Table schema 2019-02-11 14:41:24 +00:00
Mike Jolley b2c33b8e34 Merge branch 'master' into performance/slow-term-queries 2019-02-07 13:49:48 +00:00
Mike Jolley 24bc59a025
Merge pull request #22443 from woocommerce/fix/21705
Placeholder resizing improvements
2019-02-04 11:13:49 +00:00
Mike Jolley b38ff764b4 Correct syntax err 2019-01-25 20:48:39 +00:00
Mike Jolley 8823559880 get rid of old term meta table 2019-01-25 20:44:25 +00:00
Mike Jolley 9fc78634f9 Update routine 2019-01-25 13:56:15 +00:00
Mike Jolley 9cdcc3f1e5
Merge pull request #21817 from woocommerce/feature/pages-gutenberg-support
Use shortcode block for WooCommerce default pages
2019-01-23 15:25:28 +00:00
Mike Jolley 6367d19615 phpcs 2019-01-21 08:11:40 -08:00
Mike Jolley 198fdce1bf Larger placeholder to allow more resizing 2019-01-14 13:54:01 +00:00
Mike Jolley 510ed70d1e Fix check during install to create placeholder image. 2019-01-14 11:32:57 +00:00
Rodrigo Primo 0b413351a2
Merge pull request #22031 from Prospress/fix/22027
fix PHP 5.2 sniffs in class-wc-install.php
2018-12-07 11:43:46 -02:00
Rodrigo Primo a91bc5b1ec phpcs fixes using phpcbf 2018-12-04 16:04:24 -02:00
Rodrigo Primo 24fd6f89c6 Merge branch 'master' into phpcs-wp-db 2018-12-04 15:39:19 -02:00
claudiulodro d5f7afbff3 Simplify contraint 2018-11-27 11:08:47 -08:00
Ron Rennick e39a86d4ee fix PHP 5.2 sniffs in class-wc-install.php 2018-11-23 14:49:08 -04:00
Rodrigo Primo 6ec2b26972 Update WordPress.DB.PreparedSQL.NotPrepared sniff name
The latest version of WPCS that was added to WC last week, changed the name of some sniffs. This commit updates the name of one of those sniffs from WordPress.WP.PreparedSQL.NotPrepared to WordPress.DB.PreparedSQL.NotPrepared.
2018-11-23 15:10:52 -02:00
Rodrigo Primo 57f44798cb Fix phpcs violations automatically using phpcbf 2018-11-23 12:57:51 -02:00
Gerhard f7f7eebc1c Fix PHPCS issues 2018-11-16 08:29:13 +02:00
Gerhard 92bf56cde0 Add wc_update_352_drop_download_log_fk to the DB update routine. 2018-11-16 08:27:06 +02:00
Gerhard 92e9f2811b Make the wc_download_log FK use table prefix for cases where multiple single install tables are used in the same DB. 2018-11-16 08:18:25 +02:00
Ron Rennick e3f00a6fbd use multisite blog prefix in `fk_wc_download_log_permission_id` constraint name 2018-11-06 16:43:46 -04:00
Claudio Sanches 2c61e103fe Use correct block for default pages 2018-11-05 14:45:48 -02:00
Rodrigo Primo ece9f02776 Revert "First pass at using post_author instead of the post meta '_customer_user'"
This reverts commit 61c7abce4f.
2018-10-29 11:48:44 -03:00
Rodrigo Primo 487ac201c0 Revert "Bump WC version to 3.4.0"
This reverts commit 7f43c39f2f.
2018-10-29 11:44:32 -03:00
Rodrigo Primo 1d9ab63134 Revert "Punt to WC version 3.5.0"
This reverts commit ccf10f6ab2.
2018-10-29 11:37:24 -03:00
Rodrigo Primo 41d2e1cafd Change wp_woocommerce_sessions before dbDelta() is called
On PR #21245, I added a db update routine to change wp_woocommerce_sessions primary key from session_key char(32) to session_id bigint auto_increment as dbDelta() is unable to handle primary key changes (see https://core.trac.wordpress.org/ticket/40357). But I didn't realize that dbDelta() was actually trying to add a new primary key to the table without droping the old key first and this was generating the following error:

```
WordPress database error Multiple primary key defined for query ALTER TABLE wp_woocommerce_sessions ADD PRIMARY KEY  (`session_id`)
```

To prevent this error from happening, this commit moves the query that changes the primary key from db update routine to WC_Install::create_tables() so that it runs before dbDelta() is called.
2018-10-17 12:11:01 -03:00
Claudio Sanches 61f988db63
Merge branch 'master' into fix/product-review-type 2018-09-25 12:35:41 -03:00
claudiulodro d7afce5f4c Update routine to set reviews comment type 2018-09-20 09:28:39 -07:00
Rodrigo Primo 2740a686dc Change wp_woocommerce_sessions primary key
This commit changes wp_woocommerce_sessions primary key to the bigint field session_id. Before it was the char(32) field session_key. Doing this change primarily as it should reduce the occurrence of deadlocks, but also because it is not a good practice to use a char(32) field as the primary key of a table.
2018-08-31 16:56:30 -03:00
Peter Fabian d679a88156 Update redirect option during activation of MailChimp in Install Wizard. 2018-07-24 12:29:10 +02:00
Gerhard Potgieter 36b6bd79c0 Add update routines to recreate user roles 2018-07-10 10:30:11 +02:00
Gerhard Potgieter ef2f868b89 Add edit_theme_options capability to shop manager to allow access to customizer for changing WooCommerce settings. 2018-07-09 10:45:48 +02:00
Mike Jolley ff0e492a41 Setting 2018-06-27 18:38:36 +01:00
Mike Jolley 4fc64e85a6 Create placeholder image on install 2018-06-27 17:47:30 +01:00
Rodrigo Primo 43d22a2349 Merge branch 'master' into update/use-post-author-for-customer-id 2018-06-18 15:17:19 -03:00
Gerhard Potgieter 36d1c318cb Download Log FK Contraint check (#20478)
This PR introduces a check on the permission_id FK to ensure that it is not added multiple times on upgrades. It also names the key specifically to ensure future changes to the key can be targeted properly and removes old keys that were added since 3.4.0.

* Add FK check before adding the FK. Also give the FK a name to avoid auto generated names and duplicate keys.

* Remove additional OR

* Remove additional OR

* Final FK check query

* Add foreign key cleanup routine to 3.4.3 db version

* Only check on named foreign key now that we have a cleanup routine in place, use specific phpcignore

* Rework formatting of SQL query

* Change way to fetch and add FK, can't use procedural SQL, needs to be done via statements.

* Add table name to lookup

* Only clean up FK on the wc_download_log table

* Remove erenouse bracket
2018-06-18 11:47:47 -03:00
Rodrigo Primo f1f49bb27a Add WC 3.5.0 DB version update callback 2018-06-11 10:54:02 -03:00
Rodrigo Primo dd8bf8b522 Merge branch 'master' into update/use-post-author-for-customer-id 2018-06-11 10:44:14 -03:00
Rodrigo Primo fc5aef8478 Add nonce to force update WC database URL
Doing this to check if the user has intention to perform a WC database update before starting the process.
2018-06-07 09:55:47 -03:00
Rodrigo Primo a200686005 Add nonce to update WC database URL
Doing this to check if the user has intention to perform a WC database update before starting the process.
2018-06-07 09:45:18 -03:00
Gerhard Potgieter cc563c2883 Use single quotes, not a field name but a value 2018-06-04 13:31:03 +02:00
Gerhard Potgieter 193ae78037 Revert "Only run constraint if it does not already exist"
This reverts commit dcddf1b273.
2018-06-04 13:21:01 +02:00
Gerhard Potgieter dcddf1b273 Only run constraint if it does not already exist 2018-06-04 13:18:57 +02:00
Gerhard Potgieter 55d5e6c6f0 Avoid looping 2018-06-04 13:15:36 +02:00
Gerhard Potgieter 4fde0e9129 Add column data type checks to ensure they match before running the download logs constraint. 2018-06-04 13:10:05 +02:00
Mike Jolley 083c994732 Break up update routine and allow it run to multuple times 2018-05-25 14:18:19 +01:00
Rodrigo Primo c49059ce7a Merge branch 'master' into update/use-post-author-for-customer-id 2018-05-08 17:34:09 -03:00
Claudiu Lodromanean 9e1b8245be
Merge pull request #19987 from woocommerce/fix/plugin-install-get-proper-plugin-filename
Plugin installer: fix extracting filename from path
2018-05-07 14:37:40 -07:00
Paul Dechov d7dc2d45a4 Use simpler function for retrieving last array item
Also avoids array dereferencing syntax incompatible with PHP <5.4.
2018-05-07 14:50:26 -04:00
Paul Dechov 660a7eea0e Fix plugin installer extracting filename from path 2018-05-07 08:27:22 -04:00
Mike Jolley 9e9949a742 This should be on by default 2018-05-03 16:50:26 +01:00
Claudio Sanches a55ae32530
Merge pull request #19935 from woocommerce/update/19815
Hook doc update
2018-05-02 13:29:23 -03:00
Mike Jolley 06ef8c8589 Hook doc update 2018-05-02 14:28:53 +01:00
Mike Jolley e807c6151f Merge branch 'master' into update/erasure-requests 2018-05-02 14:06:47 +01:00
Claudiu Lodromanean 390288e283
Merge pull request #19914 from woocommerce/update/gdpr-log-audit
GDPR - log audit
2018-05-01 09:57:36 -07:00
Mike Jolley e8f3bac6c8 Implement log cleanup cron job (woocommerce_cleanup_logs) 2018-05-01 16:37:14 +01:00
Mike Jolley 250b7aecd5 Update function to set last active 2018-05-01 14:13:38 +01:00
Mike Jolley f59acf1350 Merge branch 'master' into update/erasure-requests 2018-05-01 13:46:53 +01:00
Mike Jolley 3c34394296 Set more defaults to reduce query count 2018-05-01 12:15:57 +01:00
Mike Jolley c765ce644d Inactive account handling 2018-04-30 15:38:45 +01:00
Claudio Sanches d496e28d08 Trigger GeoLite2 database download after update
Closes #19840
2018-04-24 15:32:27 -03:00
Gerhard Potgieter fc43bd2410 Delay tracking request by 10 seconds to allow for page load to complete first. 2018-04-24 12:42:06 +02:00
Mike Jolley 9dfb91835e Merge branch 'master' into update/gdpr-order-cleanup 2018-04-18 11:21:43 +01:00
claudiulodro f9e45bea91 Bring up-to-date with master and resolve merge conflicts 2018-04-17 13:27:39 -07:00
Claudiu Lodromanean 9821f6d23f
Merge pull request #19744 from woocommerce/update/19592
BD states and iso codes
2018-04-17 08:44:34 -07:00
Mike Jolley 9b043868e9 Update routine 2018-04-17 16:13:44 +01:00
Rodrigo Primo ccf10f6ab2 Punt to WC version 3.5.0 2018-04-17 11:12:46 -03:00
Mike Jolley 6e9e1aaa62 Daily order cleanup cron schedule 2018-04-17 12:33:22 +01:00
Paul Dechov a4f76e3529 Fix broken activation when done immediately after installation 2018-04-16 07:22:15 -04:00
Paul Dechov 3814796a24 Enhance plugin installer to accept plugin 'file'
'file' string as part of plugin information is used for activating plugin in combination with slug, or instead of slug in the case of plugins already installed. Defaults to [slug].php.
2018-04-16 07:16:59 -04:00
Mike Jolley 93d20d9c93 Data removal handling 2018-04-13 18:03:02 +01:00
Rodrigo Primo 36ca6ef901 Merge branch 'master' into update/use-post-author-for-customer-id 2018-04-11 15:19:58 -03:00
Peter Fabian ac1883ee00 Included db update scripts in WC install 2018-04-09 23:24:26 +02:00
Rodrigo Primo a7d2c5dd6e Merge branch 'master' into update/use-post-author-for-customer-id 2018-04-03 15:13:07 -03:00
Claudio Sanches b8534eee28 Fixed includes/class-wc-install.php PHPCS violations 2018-03-21 00:06:47 -03:00
Steve Grunwell 049876ac8f Add the "woocommerce_install_get_tables" filter to WC_Install::get_tables()
This commit adds a new filter, "woocommerce_install_get_tables", to the WC_Install::get_tables() method, enabling WooCommerce extensions to register new, WooCommerce-specific tables, ensuring these tables can be cleaned up automatically should WooCommerce be uninstalled (useful for things like custom table data stores). Nothing gets added by default, but this provides an integration point for plugins like WooCommerce Custom Orders Table.
2018-03-16 18:54:17 +00:00
Claudio Sanches c2966805c8
Merge pull request #19386 from woocommerce/fix/insert-term-fatal-error
Check if wp_insert_term() returned a term before using it
2018-03-13 14:33:17 -03:00
Rodrigo Primo d603ba0b68 Check if wp_insert_term() returned a term before using it
This commit adds a check to make sure wp_insert_term() returned a term and not an instance of WP_Error before trying to access it. Without this change, the old code could produce the following fatal error:

Uncaught Error: Cannot use object of type WP_Error as array in includes/class-wc-install.php:478

Fixes #19377
2018-03-13 11:02:55 -03:00
Rodrigo Primo 40c56d8ee3 Fix default product category check
This commit casts the 'default_product_cat' option to integer before passing it to `term_exists()`. If we don't do this, `get_option( 'default_product_cat' )` return a string that is passed to `term_exists( $woocommerce_default_category, 'product_cat' )`. `term_exists()` assumes that strings are term names or slugs and search only for this fields to check if the given term exist. So it will return false (unless the term name equals to the term ID which is unlikely) even though the term exists. To make it search for terms IDs to check if the given term exists, it is necessary to pass an integer.
2018-03-13 10:19:35 -03:00
Paul Dechov 08e8ca7823 Activate plugins during installation process even if directory doesn't match slug 2018-03-01 11:50:54 -05:00
Rodrigo Primo 5be9d1b118 Remove all WC tables when uninstalling the plugin
There were two outdated lists of WC tables. One used to drop tables when WC is uninstalled and another one to drop tables when a site is deleted in a multi site environment. This commit creates a new unified list of WC tables, adds the missing tables to this list and introduces a unit test that will fail if the list gets outdated.
2018-02-06 11:19:40 -02:00
Rodrigo Primo 13f703fd32 Don't call WC_Install::install() on downgrades
WC doesn't support downgrades but the if condition that decides whether or not to call WC_Install::install() and apply database schema changes was checking if the WC version stored in the database is equal to the WC version in the code. This commit changes the check performed inside the if condition to verify if the WC version stored in the database is smaller than the version in the code. This way `dbDelta()` won't be called automatically by WC and revert database schema changes. This is particulary important for clustered providers where the version of the WC code running in one of the containers could be outdated and trigger a database downgrade.
2018-02-05 14:40:51 -02:00
Rodrigo Primo 13351b3d75 phpcs fixes
Removed the print_r() call as phpcs was complaining about it and there is no need to output the version values as phpunit will do that if the test fails.
2018-02-05 14:40:36 -02:00
James Allan b2510773b1 On 3.3 upgrade set PayPal sandbox API credentials 2018-01-23 12:53:17 +10:00
Rodrigo Primo 7f43c39f2f Bump WC version to 3.4.0 2018-01-09 15:42:13 -02:00
Rodrigo Primo bf5c6f17a7 phpcs fixes 2018-01-09 15:42:08 -02:00
Rodrigo Primo 9de8478b42 Merge branch 'master' into update/use-post-author-for-customer-id 2018-01-09 15:21:12 -02:00
Shiva Poudel 0432b58182 Remove unwanted transient then were not set 2017-12-18 20:03:08 +05:45
Mike Jolley a42ba4607e
Merge pull request #18060 from woocommerce/fix/17915
Background processing; multisite should process current blog queue only
2017-12-13 12:38:19 +00:00
Mike Jolley 91803be50c Fix install_actions action name 2017-12-12 11:42:59 +00:00
Rodrigo Primo fee1dcf5f9 Merge branch 'master' into update/use-post-author-for-customer-id 2017-12-08 10:09:57 -02:00
Claudio Sanches 2f6f6112c2 Merge branch 'master' into feature/webhook-crud 2017-12-07 18:21:52 -02:00
Jonathan Belcher d38a9e2af6
Change order of commands to make DB last 2017-12-05 14:39:37 -05:00
Jonathan Belcher c39a181cb6 Clear addons transients on update to 3.3.0 2017-12-05 12:23:51 -05:00
Claudio Sanches 0f4f8a3f16
Merge branch 'master' into feature/webhook-crud 2017-12-04 12:37:10 -02:00
Mike Jolley 0a9485c465 Merge branch 'master' into feature/11259
# Conflicts:
#	assets/css/admin-rtl.css
#	assets/css/admin.css
#	includes/admin/list-tables/class-wc-admin-list-table-products.php
#	includes/class-wc-install.php
#	includes/wc-update-functions.php
2017-12-04 14:14:03 +00:00
Claudio Sanches cc20c1282c Fixed merge 2017-11-28 15:09:54 -02:00
Claudio Sanches c6f8e95b97 Merge branch 'master' into feature/webhook-crud 2017-11-28 15:09:10 -02:00
Rodrigo Primo 61c7abce4f First pass at using post_author instead of the post meta '_customer_user' 2017-11-28 10:13:30 -02:00
Claudio Sanches 8ed6e7436f
Merge pull request #17909 from woocommerce/update/phpcs-violations
Fix some PHPCS violations
2017-11-27 18:42:24 -02:00
Mike Jolley 856ae87d54 Update method 2017-11-23 15:44:17 +00:00
Mike Jolley c5a80d080b Rename so delete is hidden 2017-11-23 14:41:17 +00:00
Mike Jolley 3e921e524d Install default cat 2017-11-23 14:38:40 +00:00
Mike Jolley 3dc4277490 Install a default cat 2017-11-23 14:26:34 +00:00
Rodrigo Primo de5a21dcb0 Fix PHPCS violations in includes/class-wc-install.php 2017-11-23 12:16:47 -02:00