Commit Graph

16 Commits

Author SHA1 Message Date
Boone Gorges baff5f2b99 Better "inclusive" support for string values in WP_Date_Query.
The 'inclusive' parameter for WP_Date_Query determines whether non-precise
dates for 'before' and 'after' will be rounded up or down. Previously, this was
supported only when 'before' and 'after' were arrays; string-formatted dates
were run through strtotime(), which rounded them all down (inclusive in the
case of after, non-inclusive in the case of before). Now, we attempt to parse
formats that look like MySQL-formatted date strings, and apply inclusive logic
to them if we recognize them successfully.

Fixes #29908.
string values. Array values support the 'inclusive
Built from https://develop.svn.wordpress.org/trunk@29936


git-svn-id: http://core.svn.wordpress.org/trunk@29688 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-17 02:28:19 +00:00
Boone Gorges bde2c97aee Support date_query by user_registered in WP_User_Query.
Props ChriCo, nacin.
Fixes #27283.
Built from https://develop.svn.wordpress.org/trunk@29934


git-svn-id: http://core.svn.wordpress.org/trunk@29686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-17 01:37:18 +00:00
Boone Gorges fcc82fd671 Use table aliases for columns in SQL generated by WP_Date_Query.
The use of non-aliased column names (eg 'post_date' instead of 'wp_posts.post_date')
in WP_Date_Query causes SQL notices and other failures when queries involve
table joins, such as date_query combined with tax_query or meta_query. This
changeset modifies WP_Date_Query::validate_column() to add the table alias when
it can be detected from the column name (ie, in the case of core columns).

A side effect of this change is that it is now possible to use WP_Date_Query
to build WHERE clauses across multiple tables, though there is currently no
core support for the automatic generation of the necessary JOIN clauses. See

Props ew_holmes, wonderboymusic, neoxx, Viper007Bond, boonebgorges.
Fixes #25775.
Built from https://develop.svn.wordpress.org/trunk@29933


git-svn-id: http://core.svn.wordpress.org/trunk@29685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-17 01:20:21 +00:00
Boone Gorges cac92b2876 Throw notices when invalid date values are passed to WP_Date_Query.
`_doing_it_wrong()` notices are now generated when passing out-of-range values
(`month=13`) or invalid dates (`2014-02-29`).

Includes unit tests.

Props ChriCo.
Fixes #25834.
Built from https://develop.svn.wordpress.org/trunk@29925


git-svn-id: http://core.svn.wordpress.org/trunk@29677 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-16 20:12:18 +00:00
Boone Gorges 838444446b Introduce nested query support to WP_Date_Query.
This enhancement makes it possible to filter post, comment, and other queries
by date in ways that are arbitrarily complex, using mixed AND and OR relations.

Includes unit tests for the new syntax. In a few places, the existing unit
tests were slightly too strict (such as when checking the exact syntax of a SQL
string); these existing tests have been narrowed.

Props boonebgorges.
Fixes #29822.
Built from https://develop.svn.wordpress.org/trunk@29923


git-svn-id: http://core.svn.wordpress.org/trunk@29675 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-16 19:34:17 +00:00
Boone Gorges 40dd52b228 Improve parameter sanitization in WP_Date_Query::build_query().
* Don't run non-numeric values through intval() for sanitization; this transforms them into 1s and 0s, which can cause unintended results.
* Be more generous about numeric array keys (don't require 0 and 1) in BETWEEN and NOT BETWEEN clauses.

Fixes #29801.
Built from https://develop.svn.wordpress.org/trunk@29797


git-svn-id: http://core.svn.wordpress.org/trunk@29566 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-30 14:04:18 +00:00
Drew Jaynes d33c807723 Fix some documentation typos in various core files.
Props vlajos.
Fixes #29199.

Built from https://develop.svn.wordpress.org/trunk@29479


git-svn-id: http://core.svn.wordpress.org/trunk@29257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-13 03:56:17 +00:00
Sergey Biryukov 7e226aaa70 WP_Date_Query: The inclusive logic should include all times within the date range.
props mboynes, oso96_2000, DrewAPicture.
fixes #26653.
Built from https://develop.svn.wordpress.org/trunk@28935


git-svn-id: http://core.svn.wordpress.org/trunk@28733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-01 01:18:15 +00:00
Scott Taylor 49af14fde0 `WP_Date_Query` was only missing one access modifier.
Add access modifier (`public`) to all default widgets' class methods.

See #27881, #22234.

Built from https://develop.svn.wordpress.org/trunk@28532


git-svn-id: http://core.svn.wordpress.org/trunk@28358 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 17:30:17 +00:00
Scott Taylor f90a558df4 In `WP_Date_Query::get_sql_for_subquery()`, don't parse duplicate parameters - only parse one of `w` and `week` or `month` and `monthnum`.
Adds unit tests.

Props oso96_2000, ChriCo.
Fixes #25835.


Built from https://develop.svn.wordpress.org/trunk@28252


git-svn-id: http://core.svn.wordpress.org/trunk@28080 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-04 23:07:14 +00:00
Sergey Biryukov 18a26bf513 Fix a copy/paste error in WP_Date_Query parameter description.
props jdgrimes.
fixes #27472.
Built from https://develop.svn.wordpress.org/trunk@27648


git-svn-id: http://core.svn.wordpress.org/trunk@27491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-21 17:53:16 +00:00
Sergey Biryukov 8a250619ce Add description for 'dayofyear' and 'dayofweek' arguments in WP_Date_Query.
props dziudek.
fixes #25995.
Built from https://develop.svn.wordpress.org/trunk@26234


git-svn-id: http://core.svn.wordpress.org/trunk@26141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-16 08:21:10 +00:00
Drew Jaynes 4d1482cd0d Inline documentation for the `WP_Date_Query` class in wp-includes/date.php.
- Adds a complete hash notation for the `WP_Date_Query` arguments array.
- Adds missing documentation for the `date_query_valid_columns` and `get_date_sql` filter hooks.

Props aeg0125 for the incremental patches.
Fixes #25552.

Built from https://develop.svn.wordpress.org/trunk@25860


git-svn-id: http://core.svn.wordpress.org/trunk@25860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:58:12 +00:00
Andrew Nacin 8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

Built from https://develop.svn.wordpress.org/trunk@25825


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Drew Jaynes 040d18a69f Inline documentation for the `WP_Date_Query` class in wp-includes/date.php.
- Adds a complete hash notation for the `WP_Date_Query` arguments array.
- Adds missing documentation for the `date_query_valid_columns` and `get_date_sql` filter hooks.

Props aeg0125 for the incremental patches.
Fixes #25552.

Built from https://develop.svn.wordpress.org/trunk@25860


git-svn-id: http://core.svn.wordpress.org/trunk@25772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-21 23:17:09 +00:00
Andrew Nacin 41f1cd687b WP_Date_Query.
props Viper007Bond.
see #18694.

Built from https://develop.svn.wordpress.org/trunk@25139


git-svn-id: http://core.svn.wordpress.org/trunk@25119 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-27 16:39:09 +00:00