Commit Graph

315 Commits

Author SHA1 Message Date
Mike Jolley 15f47e00a2 Merge branch 'master' into feature/13088
# Conflicts:
#	assets/css/admin-rtl.css
#	assets/css/admin.css
#	assets/css/twenty-seventeen-rtl.css
#	assets/css/twenty-seventeen.css
#	assets/css/woocommerce-rtl.css
#	assets/css/woocommerce.css
2017-05-23 16:35:17 +01:00
Mike Jolley 956b1a6181 Adds storefront/theme step to the setup wizard
Also includes a background install to get Storefront installed and
activated on demand.

To test, use a default theme and go to wp-admin/index.php?page=wc-setup
The theme step will be after payments!
2017-05-17 17:42:18 +01:00
Rasmus Bengtsson 185934fad9 Fix phpdoc to include params and correct types 2017-05-15 13:50:52 +02:00
Akeda Bagus 881929b9b3
Fix small typo in the docblock. 2017-04-29 13:52:14 +07:00
Mike Jolley 412ddeacda When checking if the update notice should be shown, compare minor version, not the patch version
Fixes #14333
2017-04-13 13:15:49 +01:00
Mike Jolley 2eb9405caa Fix notice styling 2017-04-11 11:40:42 +01:00
Mike Jolley 6f3d0c1c11 Install terms prior to update
Closes #13770
2017-03-27 11:55:36 +01:00
Brent Shepherd 16cc914714 Restore prior order item length
To maintain backward compatibility with custom order item types,
like 'order_item_pending_switch' used by Subscriptions.
2017-03-22 10:11:46 -07:00
Mike Jolley dea59579bb description changes, and usage of ID's instead of IDs 2017-03-20 15:47:51 +00:00
Claudio Sanches 544060c0f2 Updated upgrade script from 2.7 to 3.0 2017-03-15 13:55:07 -03:00
Claudio Sanches 59c2849736 Changed version 2.7 to 3.0 2017-03-15 13:36:53 -03:00
Rami Yushuvaev d2457fe922 i18n: escape translation strings and fix wrong usage of i18n functions 2017-03-13 07:39:46 +02:00
Mike Jolley 70d46fe008 Fix index checks 2017-02-16 16:45:50 +00:00
Mike Jolley f4ab01d276 Reduce index sizes based on data 2017-02-15 11:36:41 +00:00
Mike Jolley 5f20f9a1f1 Fix tax rate country index 2017-02-15 11:17:33 +00:00
Mike Jolley 3157955414 Adjustments to schema
#13161
2017-02-13 14:04:33 +00:00
Mike Jolley cfa3c34ada bigint(20) replacement
Closes #13160
2017-02-13 11:49:30 +00:00
Mike Jolley f7da2c615a Remove location_type index
Closes #13162
2017-02-13 11:47:27 +00:00
akashsonic cb42768164 Added exit after wp_safe_redirect.
Here not add exit after wp_safe_redirect.
2017-02-08 17:52:06 +05:30
Mike Jolley dd70417758 Fix offset direction for schedule sales cron
Fixes #13105
2017-02-08 12:08:49 +00:00
Jon Surrell e4d5886427 Replace log `tag` with log `source` 2016-12-29 11:58:43 +01:00
Jon Surrell 080cf8e436 Store log levels as integer representations in database
This will allow indexed ordering by severity.
Add WC_Log_Levels::get_severity_level method to translate severity
integers to level strings. The inverse of WC_Log_Levels::get_level_severity.
Add context to tests.
2016-12-29 11:58:43 +01:00
Jon Surrell 691c35e97b Update logger calls 2016-12-29 11:58:42 +01:00
Jon Surrell 822981c009 Improve handle signature
The signature of WC_Log_Handler::handle mirrors log messages which is more intuitive.
Method docblocks have also been improved and are more complete.
2016-12-29 11:58:42 +01:00
Mike Jolley 9651a1d3fc Update CLI callback 2016-12-13 13:38:20 +00:00
Mike Jolley dcb5211adf Clear woocommerce_plugin_background_installer event 2016-12-12 12:02:06 +00:00
Mike Jolley e0e0c9e832 Replace rating filters with taxonomy 2016-12-09 15:43:25 +00:00
Mike Jolley 47fbae4d26 Product Visibility Taxonomies (#12527)
* Convert visibility and featured to taxonomy

* Comment

* Add missing tax_queries

* Only check SKU after read.

* Added visibility term for outofstock products to speed those queries up al

* wc_bool_to_string
2016-12-08 10:56:45 +00:00
Mike Jolley a2263d2760 Type should be checked by name not slug 2016-12-07 18:08:59 +00:00
Mike Jolley 76b32c9aa5 WIP - Product CRUD (#12065)
* Created function to get the catalog visibility options

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Sanitize ids later

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Bump template version

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* Made abstract function useful

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Spacing

* Fix comment

* wc_implode_text_attributes helper function

* [Product CRUD] Product crud admin use getters (#12196)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Move settings into new files

* Refactor panels and use getters

* Use getters for variation panel

* Revert save variation changes for now

* Add todos

* Fix downloads

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [Product CRUD] Variations - setters, getters and admin. (#12228)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* Feedback fixes

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* get_prop implementation in abstract and data classes

* Implement set_prop

* Change handling

* Array key exists

* set_object_read

* Use get_the_terms() instead of wp_get_post_terms()

wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not
use the object cache, and generates a database query every time it is used.

get_the_terms() however can use data from the object cache if present.

* Allow WP_Query to preload post data, and meta in wc_get_products()

Allow WP_Query to bulk query for post data and meta if more than
just IDs are requested from wc_get_products(). Reduces query count
significantly.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* No longer needed

* Remove old todos

* Use getters in admin list

* Related and upsells update for CRUD

* Fix notice in gallery

* Variable fixes and todos

* Context

* Price sync

* Revert variation attributes change

* Return parent data in view context

* Defer term counting

* wc_find_matching_product_variation

* Stock manage tweaks

* Stock fixes

* Correct id

* correct id

* Better sync

* Data logic setter fix

* feedback

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Sanitize ids later

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Bump template version

* Made abstract function useful

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Spacing

* Fix comment

* wc_implode_text_attributes helper function

* [Product CRUD] Product crud admin use getters (#12196)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Move settings into new files

* Refactor panels and use getters

* Use getters for variation panel

* Revert save variation changes for now

* Add todos

* Fix downloads

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [Product CRUD] Variations - setters, getters and admin. (#12228)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* Feedback fixes

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* get_prop implementation in abstract and data classes

* Implement set_prop

* Change handling

* Array key exists

* set_object_read

* Use get_the_terms() instead of wp_get_post_terms()

wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not
use the object cache, and generates a database query every time it is used.

get_the_terms() however can use data from the object cache if present.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* No longer needed

* Remove old todos

* Use getters in admin list

* Related and upsells update for CRUD

* Fix notice in gallery

* Variable fixes and todos

* Context

* Price sync

* Revert variation attributes change

* Return parent data in view context

* Defer term counting

* wc_find_matching_product_variation

* Stock manage tweaks

* Stock fixes

* Correct id

* correct id

* Better sync

* Data logic setter fix

* feedback

* Prevent notices

* Handle image_id from parent

* Fix error

* Remove _wc_save_product_price

* Remove todo

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* [Product CRUD] Abstract todos (#12305)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Revert "[Product CRUD] Abstract todos (#12305)"

This reverts commit 9a6136fcf8.

* Remove deprecated get_variation_id()

* New default attributes method

* [Product CRUD] Product Datastore (#12317)

* Fix up tests in the product/* folder.

* Handle data store updates for grouped, variable, external, simple, and general data store updates for products.

* Variations & variable changes.

* Update -functions.php calls to use data store.

* Add an interface for the public product data store methods.

* Finished product factory tests

* Correctly delete in the api, fix up some comments, and implement an interface for the public variable methods.

* Fix up delete in all versions of the api

* Handle feedback

* Match protected decloration to parent

* Product crud abstract todos (#12316)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Fix up store

* Fixed method returning in write context

* Fix error in variation admin

* Check for parent value - fixes tax class

* Remove old/complete todos

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* Remove deprecated get_variation_id()

* New default attributes method

* Fixed method returning in write context

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed coding standards

* TODO is not accurate.

* Should pass WC_Product instancies to WC_Comments methods (#12327)

* Use new method in abstract order class to prevent headers sent issue in tests

* Fixed variable description in REST API

* Updated how create initial product variation

* Fixed a few fatal errors and warnings in Products CRUD (#12329)

* Fixed a few fatal errors and warnings in Products CRUD

* Fixed sync functions

* Add variations CRUD to legacy API (#12331)

* Apply crud to variable products in legacy API v1

* New REST API do not need fallback for default attributes

* Apply variations CRUD to legacy API v2

* Legacy v2 - save default attributes

* Variations in legacy API v2 do not have descriptions

* Fixed legacy API v2 variations params

* Applied variations CRUD to legacy API v3

* Sync before save in legacy apis

* Punc

* Removed API todos

* Removed test

* Products endpoint tweaks (#12354)

* Var type already normalized on CRUD

* Let Product CRUD handle with validation, sanitization and conditional checks

* Set downloads using WC_Product_Download

* Stop try catch exceptions more than one time

* Handle WC_Data_Exception in legacy API

* Complete remove products when fails on creating

* On creating I mean!

* Already have a method to complete delete products

* Fixed standards using WP CodeSniffer

* get_the_terms() returns false when empty

* get_manage_stock returns boolean

@claudiosanches

* Merge conflict

* Variations API endpoint fixes

* Product CRUD improvements (#12359)

* args is not used any more - remove todo

* Added test for attributes

* wc_get_price_excluding_tax usage

* parent usage

* Fix rating counts

* Test fixes

* Cleanup after tests

* Make sure status transition code runs even during API calls, not just in admin.

* Default visibility

* Fix attribute setting in API

* Use get name instead of get title

* variation id usage

* Improved cross sell templates

* variation_data

* Grouped product sync

* Notices

* Sync is not needed in API

* Delete

* Rename interfaces

* Update counts in data store
2016-11-16 12:38:24 +00:00
Justin Stern a3e371e0d7 Make WooCommerce core play nice with Codeception (#11845)
If is_blog_installed() is false then skip some installation steps that
are performed on the 'init' action and which require the database to be
available
2016-11-09 11:53:39 +00:00
Rami Yushuvaev d85075dcb0 a11y: replace `title` attributes with `aria-label`, for better accessibility 2016-11-04 17:41:51 +02:00
Claudio Sanches fa0c710802 i18n <a> links, closes #12195 2016-10-27 15:36:24 -02:00
Daniel Hüsken ab7f9dd674 Flush rewrite rules with cron for attribute terms (#12132) 2016-10-21 15:29:50 +01:00
Claudio Sanches 657c312cae Fix strings case (#12069)
* Fixed case for all _e, esc_attr_e and esc_html_e strings

* Fixed case for all _n_noop strings

* Fixed case for all _x strings

* Fixed case for all __, esc_html__ and esc_attr__ strings

* Fixed a few more strings

* Fixed strings in unit tests

* Fix PayPal Standard case.

* Save Order text
2016-10-12 11:16:30 +01:00
Claudio Sanches dc3dbefa94 Fixed woocommerce_sessions primary key, closes #11999 2016-10-04 12:26:57 -03:00
Matty ae75f8b8cd Adjusts all references of 'woothemes' to 'woocommerce' in relevant URLs, excluding the Travis CI integration which correctly uses 'woocommerce/woocommerce'. 2016-09-28 12:17:40 +02:00
Mike Jolley f9b2ed88c2 Merge branch 'pr/11883'
# Conflicts:
#	includes/class-wc-shortcodes.php
2016-09-12 14:53:04 +01:00
Mike Jolley 63b6323b54 no www. 2016-09-12 14:41:03 +01:00
Andrew Wikel a489d492b8 Change the "Premium Support" link to updated link
Change the domain to WooCommerce.com and then used the link from the menu on WooCommerce.com
2016-09-09 14:50:26 -05:00
Aristeides Stathopoulos 734f284fa4 WordPress.PHP.YodaConditions.NotYoda 2016-09-08 01:32:24 +03:00
Mike Jolley 311c540662 Merge pull request #11833 from aristath/master
Coding Standards (2nd pass)
2016-09-07 10:14:17 +01:00
Mike Jolley 0e409a4526 [2.6] Add missing tables to wpmu_drop_tables
Closes #11850
2016-09-07 08:26:51 +01:00
Aristeides Stathopoulos d4e3faf014 PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket 2016-09-02 04:51:31 +03:00
Aristeides Stathopoulos f2730eea02 WordPress.WhiteSpace.ControlStructureSpacing.BlankLineAfterEnd 2016-08-27 08:57:05 +03:00
Aristeides Stathopoulos ec8a0b288b PHPCS: WordPress.Arrays.ArrayDeclaration.NoCommaAfterLast 2016-08-27 05:08:49 +03:00
Aristeides Stathopoulos b063bcfe4c last item in a multiline-array should end in a comma 2016-08-27 04:46:45 +03:00
Rodrigo Primo 7acf712e45 Check if there is a comment_type index before adding one
Adding this check to avoid a MySQL error when running the query if the index already exists.
2016-08-09 14:28:41 +02:00
Rodrigo Primo 2e8f02f6a4 Add an index to the field comment_type
This index improves the response time of the query used by WC_Comments::wp_count_comments() to get the number of comments by type.
2016-08-09 10:00:51 +02:00
Mike Jolley cfe28c9b25 Made WC_Logger pluggable via wc_get_logger function.
Closes #11474
2016-08-08 13:59:23 +01:00
Justin Shreve cad08747b9 Add bulk edit and quick edit to the list of hooks for the product.updated webhook. 2016-08-03 13:32:02 -07:00
Mike Jolley 66c61eebc8 Define full path for includes
Closes #11087
2016-07-27 11:58:43 +01:00
Claudio Sanches 14eeee15ee Welcome to docs.woocommerce.com 2016-07-19 07:30:31 -03:00
Mike Jolley 2267f96134 Set max index length on woocommerce_payment_tokenmeta 2016-06-17 15:00:21 +01:00
Mike Jolley 1d9ab98649 Init background updater and include class to prevent error during uninstall 2016-06-15 16:11:04 +01:00
Mike Jolley 6fc6e07c46 Added link to force DB update if cron is disabled.
@claudiosmweb
2016-06-15 11:07:12 +01:00
Mike Jolley 34f2bd683e Prevent update notice appearing twice
@claudiosmweb
2016-06-13 12:44:19 +01:00
Mike Jolley 394da46c63 Merge pull request #11056 from shivapoudel/some-tweaks
Minor tweaks and JSHint ignore for update notice script
2016-06-06 18:23:25 +01:00
Shiva Poudel 00cc3711ac Minor tweaks and JSHint ignore for update notice script 2016-06-06 23:05:10 +05:45
Mike Jolley a0c01d963b Vars and docs 2016-06-06 18:18:26 +01:00
Scrutinizer Auto-Fixer 7cef8ae4c9 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-06-06 16:50:18 +00:00
Claudio Sanches e39274e753 HTTPS for everybody 2016-05-26 22:48:49 -03:00
Mike Jolley 141dd2e7ef link to schema doc 2016-05-13 17:07:33 +01:00
Mike Jolley 9c1aa8afe8 Merge pull request #10899 from woothemes/background-updates
Handle DB updates in the background
2016-05-12 16:45:42 +01:00
Mike Jolley c1830c12cc Redirect to install page w/ nonce
Fixes #10860
2016-05-11 17:01:34 +01:00
Mike Jolley 5bb7a3a1c4 Logging 2016-05-11 14:22:42 +01:00
Mike Jolley 511e8c3146 Handle updates in install class 2016-05-11 12:44:23 +01:00
Claudio Sanches 65e7737956 Ignore trunk when showing update notice 2016-05-04 17:42:53 -03:00
Mike Jolley 29c6acf767 Used positional placeholders in strings where the order of strings may require modification in the locale.
Closes #10775
2016-04-25 13:07:41 +01:00
Mike Jolley 1439b6da31 Do plugin install in the background 2016-04-18 17:05:19 +01:00
Mike Jolley 1549158981 Add 'is_enabled' column to instances table and allow toggle in zones screen
@allendav
2016-03-15 17:23:06 +00:00
Mike Jolley 5e88adc02a Remove drop index code - will patch WP core 2016-03-12 08:18:28 +00:00
Mike Jolley 86a0fff731 [2.5] Before updating with DBDELTA, drop existing indexes so they can be re-added without duplicate key errors. 2016-03-11 12:32:43 +00:00
Justin Shreve 927941e2ca Merge pull request #10260 from justinshreve/token-api
Payment Token API
2016-03-04 04:34:41 -08:00
Mike Jolley 579365b7d5 Merge branch 'master' into 4-4-term-meta-handling
# Conflicts:
#	includes/class-wc-install.php
2016-03-02 18:38:39 +00:00
Mike Jolley b221f9964a Merge branch 'master' into 4-4-term-meta-handling 2016-03-02 18:24:52 +00:00
Mike Jolley 5c3e7ded03 Version checks not needed 2016-03-02 18:24:49 +00:00
John James Jacoby ca8ffcc9f4 Update database keys for utf8mb4 charset/collation
Since WordPress 4.2, `utf8mb4` is a natively supported and encouraged type of installation. Unfortunately some WooCommerce database tables fail to get created in these types of installations (with something like the below settings):

```
define( 'DB_CHARSET', 'utf8mb4'            );
define( 'DB_COLLATE', 'utf8mb4_unicode_ci' );
```

This commit takes a queue from WordPress core's `schema.php` and limits the length of index `KEY`s to `191`.
2016-03-01 19:28:04 -06:00
Justin Shreve cfe1da13d5 Remove todo comment for payment token tables 2016-03-01 11:49:41 -08:00
Justin Shreve f66a8b6478 Rename customer_id to user_id to match how orders reference the user. 2016-03-01 11:49:39 -08:00
Justin Shreve da9368e8be Switch the payment token meta to use WP's metadata functions. 2016-03-01 11:49:38 -08:00
Justin Shreve f9b19234b0 Fix coding/WP standard for primary key definitions - there must be two spaces between the words PRIMARY key and the definition. 2016-03-01 11:49:37 -08:00
Justin Shreve c5aec06a8a First pass at a payment token API 2016-03-01 11:49:37 -08:00
Mike Jolley e987a3830a Remove index drop for tax table 2016-02-18 10:52:54 +00:00
Mike Jolley 352184cc06 Merge branch 'master' into shipping-zones
# Conflicts:
#	assets/css/admin.css
#	i18n/languages/woocommerce.pot
#	includes/abstracts/abstract-wc-payment-gateway.php
#	includes/abstracts/abstract-wc-shipping-method.php
#	includes/admin/settings/class-wc-settings-shipping.php
#	includes/wc-core-functions.php
#	uninstall.php
2016-02-05 14:58:48 +00:00
Shiva Poudel bf2be97dd0 Use get_charset_collate of WP 2016-01-27 15:55:56 +05:45
Mike Jolley 44eac248b3 [2.5] check_version on all requests
cc @allendav Closes #10091
2016-01-19 10:05:44 +00:00
Mike Jolley 1076854608 Merge branch 'master' into shipping-zones
# Conflicts:
#	assets/css/admin.css
#	includes/abstracts/abstract-wc-shipping-method.php
#	includes/class-wc-shipping.php
#	includes/shipping/flat-rate/class-wc-shipping-flat-rate.php
#	includes/shipping/flat-rate/includes/class-wc-eval-math.php
#	includes/shipping/free-shipping/class-wc-shipping-free-shipping.php
#
includes/shipping/legacy-international-delivery/class-wc-shipping-legacy
-international-delivery.php
#
includes/shipping/legacy-local-delivery/class-wc-shipping-legacy-local-d
elivery.php
2016-01-11 11:48:18 +00:00
Mike Jolley a33b9b9750 Unit tests for shipping zones 2016-01-08 13:56:01 +00:00
Mike Jolley 76405ed220 Schema fixes 2016-01-08 13:17:13 +00:00
Fredrik Forsmo bb19615029 Improve docblock comments in various WC_* classes
* Added comments to various methods
* Fixed various properties comments and param types
2016-01-06 16:24:47 +01:00
Mike Jolley ebba366433 Delete page transient after creating pages
Closes #9962
2016-01-05 15:19:48 +00:00
Mike Jolley 97d47fb576 Move zones to main settings 2016-01-05 11:23:15 +00:00
Mike Jolley 62ca37f651 Merge branch 'master' into shipping-zones
# Conflicts:
#	includes/admin/class-wc-admin-assets.php
#	includes/class-wc-install.php
2016-01-04 14:35:45 +00:00
Mike Jolley 901db7b0f8 zone tweaks 2015-12-18 17:10:58 +00:00
Claudio Sanches c04443c2d3 Added upgrade script for #9868
cc @mikejolley
2015-12-17 08:30:06 -02:00
Mike Jolley 6cea054fca Method list screen and method screen with breadcrumbs 2015-12-11 14:11:12 +00:00
Mike Jolley 14eeb9f936 Zones first draft with backbone saving of zone names 2015-12-10 11:55:03 +00:00
Mike Jolley d64bcd70bd Only install termmeta table on older installs 2015-11-06 15:33:12 +00:00
Scrutinizer Auto-Fixer 08efaf84df Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-11-05 16:05:03 +00:00
James Collins 45972cf92b Fix duplicate key errors during db upgrade/install
Running phpunit tests currently outputs the following errors/warnings:

WordPress database error Duplicate key name 'session_id' for query ALTER TABLE wptests_woocommerce_sessions ADD UNIQUE KEY  session_id (session_id) made by PHPUnit_TextUI_Command::main, PHPUnit_TextUI_Command->run, PHPUnit_TextUI_Command->handleArguments, PHPUnit_TextUI_Command->handleBootstrap, PHPUnit_Util_Fileloader::checkAndLoad, PHPUnit_Util_Fileloader::load, include_once('/srv/www/woocommerce/htdocs/wp-content/plugins/woocommerce/tests/bootstrap.php'), WC_Unit_Tests_Bootstrap::instance, WC_Unit_Tests_Bootstrap->__construct, require_once('/srv/www/wordpress-develop/tests/phpunit/includes/bootstrap.php'), require_once('wp-settings.php'), do_action('setup_theme'), call_user_func_array, WC_Unit_Tests_Bootstrap->install_wc, WC_Install::install, WC_Install::create_tables, dbDelta
WordPress database error Multiple primary key defined for query ALTER TABLE wptests_woocommerce_sessions ADD PRIMARY KEY  session_key (session_key) made by PHPUnit_TextUI_Command::main, PHPUnit_TextUI_Command->run, PHPUnit_TextUI_Command->handleArguments, PHPUnit_TextUI_Command->handleBootstrap, PHPUnit_Util_Fileloader::checkAndLoad, PHPUnit_Util_Fileloader::load, include_once('/srv/www/woocommerce/htdocs/wp-content/plugins/woocommerce/tests/bootstrap.php'), WC_Unit_Tests_Bootstrap::instance, WC_Unit_Tests_Bootstrap->__construct, require_once('/srv/www/wordpress-develop/tests/phpunit/includes/bootstrap.php'), require_once('wp-settings.php'), do_action('setup_theme'), call_user_func_array, WC_Unit_Tests_Bootstrap->install_wc, WC_Install::install, WC_Install::create_tables, dbDelta

WordPress database error Duplicate key name 'session_id' for query ALTER TABLE wptests_woocommerce_sessions ADD UNIQUE KEY  session_id (session_id) made by PHPUnit_TextUI_Command::main, PHPUnit_TextUI_Command->run, PHPUnit_TextUI_TestRunner->doRun, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestCase->run, PHPUnit_Framework_TestResult->run, PHPUnit_Framework_TestCase->runBare, PHPUnit_Framework_TestCase->runTest, ReflectionMethod->invokeArgs, WooCommerce\Tests\Util\WC_Tests_Install->test_check_version, WC_Install::check_version, WC_Install::install, WC_Install::create_tables, dbDelta
WordPress database error Multiple primary key defined for query ALTER TABLE wptests_woocommerce_sessions ADD PRIMARY KEY  session_key (session_key) made by PHPUnit_TextUI_Command::main, PHPUnit_TextUI_Command->run, PHPUnit_TextUI_TestRunner->doRun, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestCase->run, PHPUnit_Framework_TestResult->run, PHPUnit_Framework_TestCase->runBare, PHPUnit_Framework_TestCase->runTest, ReflectionMethod->invokeArgs, WooCommerce\Tests\Util\WC_Tests_Install->test_check_version, WC_Install::check_version, WC_Install::install, WC_Install::create_tables, dbDelta
.WordPress database error Duplicate key name 'session_id' for query ALTER TABLE wptests_woocommerce_sessions ADD UNIQUE KEY  session_id (session_id) made by PHPUnit_TextUI_Command::main, PHPUnit_TextUI_Command->run, PHPUnit_TextUI_TestRunner->doRun, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestCase->run, PHPUnit_Framework_TestResult->run, PHPUnit_Framework_TestCase->runBare, PHPUnit_Framework_TestCase->runTest, ReflectionMethod->invokeArgs, WooCommerce\Tests\Util\WC_Tests_Install->test_install, WC_Install::install, WC_Install::create_tables, dbDelta
WordPress database error Multiple primary key defined for query ALTER TABLE wptests_woocommerce_sessions ADD PRIMARY KEY  session_key (session_key) made by PHPUnit_TextUI_Command::main, PHPUnit_TextUI_Command->run, PHPUnit_TextUI_TestRunner->doRun, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestSuite->run, PHPUnit_Framework_TestCase->run, PHPUnit_Framework_TestResult->run, PHPUnit_Framework_TestCase->runBare, PHPUnit_Framework_TestCase->runTest, ReflectionMethod->invokeArgs, WooCommerce\Tests\Util\WC_Tests_Install->test_install, WC_Install::install, WC_Install::create_tables, dbDelta

dbDelta requires very specific syntax (as per http://codex.wordpress.org/Creating_Tables_with_Plugins).
2015-11-05 13:43:56 +08:00
Shiva Poudel d9e8057df3 Tweak the dockblocks and periodic-ending fix 2015-11-04 00:05:08 +05:45
Claudio Sanches 5893875b0c Removed period for file headers 2015-11-03 11:53:50 -02:00
Claudio Sanches ee30b5b308 Fixed php docs standards 2015-11-03 11:31:20 -02:00
Mike Jolley 68cb6b11ee Removed welcome page
2.5 release doesn’t have enough user-facing features to justify a
full-blown welcome page, and translation credits are no longer
obtainable after translate.wordpress switch. Removed the page to keep
things streamlined.
@claudiosmweb @mattyza
2015-10-09 11:56:13 +01:00
Mike Jolley b913555d54 Change customer role caps
Fixes #9309. @claudiosmweb
2015-10-09 11:00:25 +01:00
Mike Jolley b27635409c New Session Handler
This merges and adapts
https://github.com/kloon/woocommerce-large-sessions for core. Closes
#6846.

Differences:
- Rather than delete each cache key individually, this invalidates all
at once (idea from https://core.trac.wordpress.org/ticket/4476)
- Removes ‘replace’ which increments session_id keys unnecessarily.
- Fixes remove/restore cart sessions from making it dirty each page load

Kudos to @kloon for the bulk of the work and testing on Woo.com.

cc @claudiosmweb
2015-10-07 14:47:29 +01:00
Mike Jolley 8149213c4b Add monthly cron schedule
@claudiosmweb
2015-09-03 16:21:53 +01:00
Mike Jolley 3c7290a765 During updates, only recreate .htaccess if not using redirect download method.
Fixes #8923
2015-08-24 13:50:14 +01:00
Claudio Sanches b1f0da9d76 Version 2.4.1 2015-08-10 18:44:32 -03:00
Claudio Sanches a572c40405 Added the update script for 2.4.1 2015-08-10 18:27:07 -03:00
Mike Jolley 61cb48afd7 Tweak wc ajax to post to the CURRENT URL rather than a fixed endpoint 2015-07-31 12:56:27 +01:00
Claudio Sanches 9e41552342 Removed all "@return void" 2015-07-16 16:55:48 -03:00
Claudio Sanches e0be5a2e9f Added truncated consumer key and last access fields in woocommerce_api_keys table 2015-07-16 15:42:00 -03:00
Mike Jolley 18c6a940f1 Merge branch 'onboarding'
Conflicts:
	assets/css/admin.css
	assets/css/select2.css
	assets/css/woocommerce-layout.css
	assets/css/woocommerce.css
	assets/js/admin/order-backbone-modal.min.js
	includes/admin/class-wc-admin-help.php
	includes/admin/class-wc-admin.php
	includes/admin/views/html-admin-page-status-report.php
	includes/admin/views/html-notice-install.php
	includes/admin/views/html-notice-template-check.php
	includes/admin/views/html-notice-theme-support.php
	includes/admin/views/html-notice-tracking.php
	includes/class-wc-install.php
	includes/class-wc-language-pack-upgrader.php

includes/shipping/international-delivery/class-wc-shipping-international
-delivery.php
2015-07-04 23:11:12 +01:00
Justin Shreve 6a1d3f0032 In create_tables, drop the location_type_code index before doing a dbDelta, otherwise a duplicate key error occurs. 2015-06-19 00:47:18 +00:00
Justin Shreve 910bcc7100 Index only the prefix of location_code when creating the tax_rate_locations table
Otherwise we hit a max key limit of 1000 with utf8 (since multiple bytes are stored per characater).
2015-06-15 16:45:30 +00:00
Claudio Sanches 7ee65c0256 Improved the woocommerce_api_keys table 2015-06-08 20:04:29 -03:00
Claudio Sanches 9eb3b6ddf9 Changed all requests with wp_remote_* to wp_safe_remote_* 2015-06-01 13:28:55 +01:00
Mike Jolley 3d049ff379 [2.3] Clear expired transients on update 2015-06-01 11:39:03 +01:00
Claudio Sanches 903cb817f0 Fixed WC_Install::get_schema for woocommerce_api_keys table 2015-05-28 10:36:25 -03:00
Claudio Sanches 676e09fdd3 Added new woocommerce_api_keys table in wpmu exclude and in status report 2015-05-27 16:46:43 -03:00
Claudio Sanches 84c937c011 Improved the woocommerce_api_keys table 2015-05-15 22:52:00 -03:00
Claudio Sanches bee1fba738 Added nonces field in woocommerce_api_keys table 2015-05-15 18:25:41 -03:00
Claudio Sanches 41e8f69a70 Fixed the woocommerce_api_keys name 2015-05-15 18:20:49 -03:00
Claudio Sanches 0ecfc26a84 Created new database for api_apps
@mikejolley
2015-05-15 17:57:18 -03:00
Mike Jolley b5ec1d98a7 Error in installer 2015-04-30 14:03:31 +01:00
Mike Jolley c9ce3baceb Load settings from DB in case of re-run 2015-04-29 14:55:12 +01:00
Mike Jolley 54fa1e34d3 Show notice when pages don't exist, and set gateway defaults 2015-04-29 13:21:01 +01:00
Mike Jolley e454c52e58 Optimise admin redirect function 2015-04-29 11:24:29 +01:00
Mike Jolley 7263a4ace2 woocommerce_enable_setup_wizard filter 2015-04-29 10:59:59 +01:00
Mike Jolley 4b92f642b3 Trigger wizard on install 2015-04-29 10:47:57 +01:00
Claudio Sanches db23f5faa0 Create initial WC_Auth class and endpoint 2015-04-17 17:41:25 -03:00
Mike Jolley 9638d16d82 Define update file 2015-03-25 11:11:08 +00:00
Mike Jolley 17ca08c020 add endpoints on install 2015-03-20 14:20:12 +00:00
Gerhard c9d4655ef1 When running update_option it does not always clear memcache, a workaround is to run delete_option and then add_option instead. 2015-03-11 12:26:51 +02:00
Mike Jolley 5ec61e3acd Tweak transient welcome redirect 2015-02-17 15:24:12 +00:00
Mike Jolley bc2af10cc6 Update languages and geolocation when installed 2015-02-11 14:38:55 +00:00
Mike Jolley 2a877eb562 Do a db query to flush spent and count which may be incorrect/outdated
Closes #7286
2015-02-04 14:22:15 +00:00
Mike Jolley 15fa903537 install() is triggered after includes, so these includes are not needed 2015-01-28 19:46:09 +00:00
Mike Jolley 725d5e28d8 Additional tweaks to @b2c573ed8a04a8d425a73e018a450179514cbdc7
- Load API with other includes
- Register activation hook early
- Include autoloader early

cc @claudiosmweb
2015-01-28 17:50:58 +00:00
Mike Jolley 5ffaf97397 Only load tracking during cron and move notices to notices class 2015-01-23 16:36:52 +00:00
Mike Jolley 09ae877b96 defined check 2015-01-23 13:29:23 +00:00
Mike Jolley b289c9446c WC_INSTALLING constant - don't create options for any gateways/shipping methods during install. 2015-01-23 13:05:38 +00:00
Mike Jolley 586025b17e Ensure settings are installed for all sections and subsections
Fixes #7181
2015-01-23 12:36:22 +00:00
Mike Jolley 2d8f021cc7 Optimise the admin notices class.
@claudiosmweb
2015-01-20 15:23:34 +00:00
Mike Jolley caac9768a7 Added more fallbacks for API geoIP 2014-12-30 11:11:17 +00:00
Mike Jolley ef3ad7d99f Setup cron jobs 2014-12-23 18:49:43 +00:00
Mike Jolley 8df8c9b482 Make 'public', and rewrite, optional for attributes
#6852
2014-12-22 14:16:15 +00:00
Mike Jolley dbcc8430e9 Installer tweaks + unit tests closes #6356 2014-11-25 17:09:24 +00:00