Commit Graph

52 Commits

Author SHA1 Message Date
Sergey Biryukov
d18b725f75 Coding Standards: Fix newlines in wp-includes/date.php.
See #47775.

git-svn-id: https://develop.svn.wordpress.org/trunk@45679 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-26 00:11:37 +00:00
Sergey Biryukov
0eaaf84419 Coding Standards: Move wp-includes/date.php to wp-includes/class-wp-date-query.php.
This renames the file containing the `WP_Date_Query` class to conform to the coding standards.

This commit also includes:

- A new `date.php` that includes the new file, for anyone that may've been including the file directly.
- Replaces references to the old filename with the new filename.

Fixes #47775. See #47632.

git-svn-id: https://develop.svn.wordpress.org/trunk@45678 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-25 23:30:21 +00:00
Sergey Biryukov
ae8a620efb General: First pass at replacing Codex URLs with a corresponding HelpHub or DevHub article.
Props ianbelanger, tobifjellner, SergeyBiryukov.
See #47771.

git-svn-id: https://develop.svn.wordpress.org/trunk@45674 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-25 22:44:48 +00:00
Gary Pendergast
4503f93961 Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.



git-svn-id: https://develop.svn.wordpress.org/trunk@45590 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-02 23:41:16 +00:00
Sergey Biryukov
10855438ea Date/Time: Replace all instances of date() with gmdate().
Use of `date()` in core depends on PHP timezone set to UTC and not changed by third party code (which cannot be guaranteed).

`gmdate()` is functionally equivalent, but is not affected by PHP timezone setting: it's always UTC, which is the exact behavior the core needs.

Props nielsdeblaauw, Rarst.
Fixes #46438. See #44491.

git-svn-id: https://develop.svn.wordpress.org/trunk@45424 602fd350-edb4-49c9-b593-d223f7449a82
2019-05-26 00:11:37 +00:00
John Blackbourn
cf400b9bc4 Docs: Correct and improve various inline documentation.
See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@42877 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-25 19:34:31 +00:00
John Blackbourn
e207cdf2bb Docs: Document more parameters and properties using typed array notation.
See #41756


git-svn-id: https://develop.svn.wordpress.org/trunk@42876 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-25 19:32:24 +00:00
Gary Pendergast
8f95800d52 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
Drew Jaynes
b4d81bd654 Docs: Remove @access notations from method DocBlocks in wp-includes/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.


git-svn-id: https://develop.svn.wordpress.org/trunk@41162 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-27 00:40:27 +00:00
Sergey Biryukov
944c7c694c General: Always use colon instead of a semicolon in switch() control structures.
Props jrf.
Fixes #41234.

git-svn-id: https://develop.svn.wordpress.org/trunk@40997 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-04 09:51:25 +00:00
SergeyBiryukov
0df296a519 Docs: Add missing @since and @access tags for WP_Date_Query::is_first_order_clause().
Props keesiemeijer.
#39462.

git-svn-id: https://develop.svn.wordpress.org/trunk@39672 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-04 13:25:27 +00:00
Gary Pendergast
6774e27ae7 General: Restore usage of $wpdb, instead of $this->db.
Hiding the `$wpdb` global behind a property decreases the readability of the code, as well as causing irrelevant output when dumping an object.

Reverts [38275], [38278], [38279], [38280], [38387].
See #37699.



git-svn-id: https://develop.svn.wordpress.org/trunk@38768 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-10 06:37:02 +00:00
Scott Taylor
b786d481a9 Query: use composition for $db in WP_Date_Query, removes need to import global $wpdb in multiple methods.
See #37699.


git-svn-id: https://develop.svn.wordpress.org/trunk@38280 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-18 19:47:15 +00:00
Drew Jaynes
d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Jeremy Felt
381930974c Multisite: Introduce WP_Site_Query
Provides a consistent way to query `$wpdb->blogs` for `WP_Site` objects based on domain, path, site ID, network ID, and more.

Introduces and uses `update_site_cache()` and `_prime_site_caches()` to maintain a cached list of `WP_Site` objects for use in multiple queries.

Props spacedmonkey, flixos90, DrewAPicture, jeremyfelt, ocean90.
See #35791.


git-svn-id: https://develop.svn.wordpress.org/trunk@37477 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-20 22:03:52 +00:00
Drew Jaynes
c7bed4f8c6 Docs: Remove inline @see tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37342 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 03:59:56 +00:00
Konstantin Kovshenin
318455ff24 Docs: Remove some more dittography.
See #34885, r35793.


git-svn-id: https://develop.svn.wordpress.org/trunk@35796 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:49:43 +00:00
Boone Gorges
dc2b7c634d Ensure that WP_Date_Query accepts a value of 0 for 'hour'.
Props jim912.
Fixes #34228.

git-svn-id: https://develop.svn.wordpress.org/trunk@34989 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-09 16:32:59 +00:00
Boone Gorges
5b0c402e6f Simplify the weeks-per-year calculation WP_Date_Query::validate_date_values().
Props luciole135.
Fixes #30845.

git-svn-id: https://develop.svn.wordpress.org/trunk@33803 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-29 01:46:53 +00:00
Dominik Schilling (ocean90)
b0d6757918 Use HTTPS URLs for codex.wordpress.org.
see #27115.

git-svn-id: https://develop.svn.wordpress.org/trunk@32116 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-12 21:28:58 +00:00
Scott Taylor
1997429498 Empty return statements are unnecessary at the end of functions.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31679 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-08 23:08:48 +00:00
Drew Jaynes
ffb4ec93b8 Clarify inline documentation for WP_Date_Query to better explain the relationship between an individual clause's 'compare' argument and various integer-based date arguments.
If the 'compare' argument equals 'IN' or 'NOT IN', arrays of any number of specific, valid values are accepted and simply considered based on the value of 'operator' (OR or AND). If the 'compare' argument is a range such as 'BETWEEN' or 'NOT BETWEEN', arrays of only two valid values are accepted.
 
Props boonebgorges.
Fixes #31036.


git-svn-id: https://develop.svn.wordpress.org/trunk@31336 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-05 06:16:35 +00:00
Boone Gorges
f1771073dc WP_Date_Query date validation should not fail for hour = 0.
Props ChriCo, tyxla.
Fixes #31067 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@31251 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-20 19:12:48 +00:00
Scott Taylor
5deee71273 Remove unused local vars in delete_plugins(), delete_theme(), WP_Date_Query->validate_date_values(), global_terms(), and WP_Text_Diff_Renderer_Table->_changed().
This will clear out the "Unused Code" label in the next Scrutinizer report.

See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31217 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 21:18:52 +00:00
Boone Gorges
4b6957c852 Support array values in WP_Date_Query::validate_date_values().
Introduced in [29925], `validate_date_values()` throws `_doing_it_wrong()`
notices when values passed as part of a `WP_Date_Query` do not reflect actual
dates. However, the validation did not account properly for the case where an
array of multiple values is passed, as when doing IN or BETWEEN queries.

Props dlh.
Fixes #31001 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@31179 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-14 16:50:09 +00:00
Scott Taylor
6fd11624d1 The keyword elseif should be used instead of else if so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31090 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 07:04:40 +00:00
Sergey Biryukov
4b29e64a4d Fix 'compare' parameter description in WP_Date_Query.
props dlh.
fixes #30925.

git-svn-id: https://develop.svn.wordpress.org/trunk@31057 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-06 03:35:56 +00:00
Boone Gorges
5d259386be Remove <code> tags from translatable string in WP_Date_Query.
This was missed in [30300]. See #25834.

Props ramiy.
Fixes #30612.

git-svn-id: https://develop.svn.wordpress.org/trunk@30751 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-06 02:37:49 +00:00
Boone Gorges
5b6c00274d Use wp_checkdate() when checking date validity in WP_Date_Query.
See #25834.

git-svn-id: https://develop.svn.wordpress.org/trunk@30750 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-06 02:28:41 +00:00
Scott Taylor
4d46475b3d Improve various @param docs for src/wp-includes/*.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30681 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-01 01:33:34 +00:00
Drew Jaynes (DrewAPicture)
0e0dca103b Ensure only spaces are used instead of a mixture of tabs and spaces for alignment within the DocBlock for the date_query_valid_columns hook. See [30611].
See #30469.


git-svn-id: https://develop.svn.wordpress.org/trunk@30612 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-28 11:28:39 +00:00
Drew Jaynes (DrewAPicture)
541ba06411 4.1 Docs Audit: Improve inline documentation in various WP_Date_Query methods modified in 4.1.
See #30469.


git-svn-id: https://develop.svn.wordpress.org/trunk@30611 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-28 11:26:00 +00:00
Boone Gorges
96eb9a93d9 Correct grammar error in WP_Date_Query error message.
Props Offereins.
See #25834.

git-svn-id: https://develop.svn.wordpress.org/trunk@30301 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-11 14:55:52 +00:00
Boone Gorges
a26cf7ba6e Improve localization for WP_Date_Query error strings.
* Don't create an extra variable for the string when it's only used once.
* Avoid using `<code>` HTML tags inside of translatable string.
* Improve data types and escaping on sprintfed values.

Props dd32.
Fixes #25834.

git-svn-id: https://develop.svn.wordpress.org/trunk@30300 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-11 13:24:01 +00:00
Drew Jaynes (DrewAPicture)
ab0324a729 Fix a couple of spacing and wrapping indents in the WP_Date_Query::__construct() hash notation.
See [30142]. See #28063.


git-svn-id: https://develop.svn.wordpress.org/trunk@30150 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-01 04:31:00 +00:00
Boone Gorges
09a1a6f5e6 Improve default argument formatting in WP_Date_Query::__construct().
git-svn-id: https://develop.svn.wordpress.org/trunk@30144 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-01 03:28:11 +00:00
Boone Gorges
7c64b3b3dd Introduced dayofweek_iso time param for WP_Date_Query.
The initial `dayofweek` param sets day 1 to Sunday. This is out of step with
ISO standards, which calls Monday day 1. To maintain backward compatibility
with the existing parameter, we introduce the new `dayofweek_iso` for the
new, more compliant param.

Props mboynes.
Fixes #28063.

git-svn-id: https://develop.svn.wordpress.org/trunk@30142 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-01 03:23:15 +00:00
Boone Gorges
68d92cf23e Add @since annotation for 'user_registered' support in 'date_query_valid_columns' documentation.
Props DrewAPicture.
Fixes #27283.

git-svn-id: https://develop.svn.wordpress.org/trunk@29938 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-17 03:50:29 +00:00
Boone Gorges
00f7ae376a 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

git-svn-id: https://develop.svn.wordpress.org/trunk@29936 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-17 02:27:44 +00:00
Boone Gorges
64bc8466db Support date_query by user_registered in WP_User_Query.
Props ChriCo, nacin.
Fixes #27283.

git-svn-id: https://develop.svn.wordpress.org/trunk@29934 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-17 01:36:36 +00:00
Boone Gorges
42646e67b3 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29933 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-17 01:19:03 +00:00
Boone Gorges
a3da10deb0 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29925 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-16 20:11:13 +00:00
Boone Gorges
a3e0c08f2f 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29923 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-16 19:33:24 +00:00
Boone Gorges
780c6962e5 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@29797 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-30 14:03:49 +00:00
Drew Jaynes (DrewAPicture)
ab6063cc88 Fix some documentation typos in various core files.
Props vlajos.
Fixes #29199.


git-svn-id: https://develop.svn.wordpress.org/trunk@29479 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-13 03:55:10 +00:00
Sergey Biryukov
8b0ef058f3 WP_Date_Query: The inclusive logic should include all times within the date range.
props mboynes, oso96_2000, DrewAPicture.
fixes #26653.

git-svn-id: https://develop.svn.wordpress.org/trunk@28935 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-01 01:17:39 +00:00
Scott Taylor
707c313333 WP_Date_Query was only missing one access modifier.
Add access modifier (`public`) to all default widgets' class methods.

See #27881, #22234.


git-svn-id: https://develop.svn.wordpress.org/trunk@28532 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-19 17:29:42 +00:00
Scott Taylor
89ecbcc7cb 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@28252 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-04 23:06:07 +00:00
Sergey Biryukov
4db18a113d Fix a copy/paste error in WP_Date_Query parameter description.
props jdgrimes.
fixes #27472.

git-svn-id: https://develop.svn.wordpress.org/trunk@27648 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-21 17:52:08 +00:00
Sergey Biryukov
796a9a5613 Add description for 'dayofyear' and 'dayofweek' arguments in WP_Date_Query.
props dziudek.
fixes #25995.

git-svn-id: https://develop.svn.wordpress.org/trunk@26234 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-16 08:20:17 +00:00