Commit Graph

54 Commits

Author SHA1 Message Date
Sergey Biryukov
47ed56f38f Code Modernization: Replace dirname( __FILE__ ) calls with __DIR__ magic constant.
This avoids the performance overhead of the function call every time `dirname( __FILE__ )` was used instead of `__DIR__`.

This commit also includes:

* Removing unnecessary parentheses from `include`/`require` statements. These are language constructs, not function calls.
* Replacing `include` statements for several files with `require_once`, for consistency:
 * `wp-admin/admin-header.php`
 * `wp-admin/admin-footer.php`
 * `wp-includes/version.php`

Props ayeshrajans, desrosj, valentinbora, jrf, joostdevalk, netweb.
Fixes #48082.
Built from https://develop.svn.wordpress.org/trunk@47198


git-svn-id: http://core.svn.wordpress.org/trunk@46998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-06 06:33:11 +00:00
Sergey Biryukov
cff445d55f 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.
Built from https://develop.svn.wordpress.org/trunk@45678


git-svn-id: http://core.svn.wordpress.org/trunk@45489 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-25 23:31:56 +00:00
Sergey Biryukov
8e85299a00 General: First pass at replacing Codex URLs with a corresponding HelpHub or DevHub article.
Props ianbelanger, tobifjellner, SergeyBiryukov.
See #47771.
Built from https://develop.svn.wordpress.org/trunk@45674


git-svn-id: http://core.svn.wordpress.org/trunk@45485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-25 22:45:57 +00:00
Gary Pendergast
4803fc405e Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-07-02 23:42:58 +00:00
Sergey Biryukov
c77e771c84 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.
Built from https://develop.svn.wordpress.org/trunk@45424


git-svn-id: http://core.svn.wordpress.org/trunk@45235 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-05-26 00:12:54 +00:00
John Blackbourn
bbcb4300a3 Docs: Correct and improve various inline documentation.
See #42505

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


git-svn-id: http://core.svn.wordpress.org/trunk@42707 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 19:35:29 +00:00
John Blackbourn
2361ca884f Docs: Document more parameters and properties using typed array notation.
See #41756

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


git-svn-id: http://core.svn.wordpress.org/trunk@42706 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 19:33:31 +00:00
Gary Pendergast
aaf99e6913 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Drew Jaynes
0860bb2771 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@41002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:41:44 +00:00
Sergey Biryukov
c6ab84c4c4 General: Always use colon instead of a semicolon in switch() control structures.
Props jrf.
Fixes #41234.
Built from https://develop.svn.wordpress.org/trunk@40997


git-svn-id: http://core.svn.wordpress.org/trunk@40847 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-04 09:52:41 +00:00
Sergey Biryukov
625849cc60 Docs: Add missing @since and @access tags for WP_Date_Query::is_first_order_clause().
Props keesiemeijer.
#39462.
Built from https://develop.svn.wordpress.org/trunk@39672


git-svn-id: http://core.svn.wordpress.org/trunk@39612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-04 13:26:43 +00:00
Gary Pendergast
af69f4ab1a 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38711 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-10 06:38:31 +00:00
Scott Taylor
3357ca23e6 Query: use composition for $db in WP_Date_Query, removes need to import global $wpdb in multiple methods.
See #37699.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38221 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-18 19:48:34 +00:00
Drew Jaynes
9cb5247392 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37486 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:50:28 +00:00
Jeremy Felt
2dd1e72f10 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37445 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-20 22:04:27 +00:00
Drew Jaynes
fe3b007fdd 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@37308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-02 04:00:28 +00:00
Konstantin Kovshenin
919867b090 Docs: Remove some more dittography.
See #34885, r35793.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 21:50:25 +00:00
Boone Gorges
a19d63b7a5 Ensure that WP_Date_Query accepts a value of 0 for 'hour'.
Props jim912.
Fixes #34228.
Built from https://develop.svn.wordpress.org/trunk@34989


git-svn-id: http://core.svn.wordpress.org/trunk@34954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-09 16:33:25 +00:00
Boone Gorges
f1d6acac56 Simplify the weeks-per-year calculation WP_Date_Query::validate_date_values().
Props luciole135.
Fixes #30845.
Built from https://develop.svn.wordpress.org/trunk@33803


git-svn-id: http://core.svn.wordpress.org/trunk@33771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-29 01:47:21 +00:00
Dominik Schilling
64fc7294b6 Use HTTPS URLs for codex.wordpress.org.
see #27115.
Built from https://develop.svn.wordpress.org/trunk@32116


git-svn-id: http://core.svn.wordpress.org/trunk@32095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-12 21:29:32 +00:00
Scott Taylor
dccf5ceb90 Empty return statements are unnecessary at the end of functions.
See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-08 23:09:27 +00:00
Drew Jaynes
10eb2173c0 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31317 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-05 06:17:21 +00:00
Boone Gorges
9059dc8e88 WP_Date_Query date validation should not fail for hour = 0.
Props ChriCo, tyxla.
Fixes #31067 for trunk.
Built from https://develop.svn.wordpress.org/trunk@31251


git-svn-id: http://core.svn.wordpress.org/trunk@31232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-20 19:13:22 +00:00
Scott Taylor
0f6d0b84d1 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 21:19:22 +00:00
Boone Gorges
3f033dc73d 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.
Built from https://develop.svn.wordpress.org/trunk@31179


git-svn-id: http://core.svn.wordpress.org/trunk@31160 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-14 16:51:24 +00:00
Scott Taylor
60b0cd7943 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00
Sergey Biryukov
da5b68a17e Fix 'compare' parameter description in WP_Date_Query.
props dlh.
fixes #30925.
Built from https://develop.svn.wordpress.org/trunk@31057


git-svn-id: http://core.svn.wordpress.org/trunk@31038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-06 03:36:21 +00:00
Boone Gorges
bc35a81482 Remove <code> tags from translatable string in WP_Date_Query.
This was missed in [30300]. See #25834.

Props ramiy.
Fixes #30612.
Built from https://develop.svn.wordpress.org/trunk@30751


git-svn-id: http://core.svn.wordpress.org/trunk@30741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-06 02:38:22 +00:00
Boone Gorges
44116d4b72 Use wp_checkdate() when checking date validity in WP_Date_Query.
See #25834.
Built from https://develop.svn.wordpress.org/trunk@30750


git-svn-id: http://core.svn.wordpress.org/trunk@30740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-06 02:29:24 +00:00
Scott Taylor
e619abda6e Improve various @param docs for src/wp-includes/*.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 01:34:24 +00:00
Drew Jaynes
1357e2fd2f 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.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-28 11:29:25 +00:00
Drew Jaynes
e0e6c98928 4.1 Docs Audit: Improve inline documentation in various WP_Date_Query methods modified in 4.1.
See #30469.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-28 11:26:23 +00:00
Boone Gorges
5fe8fa2b40 Correct grammar error in WP_Date_Query error message.
Props Offereins.
See #25834.
Built from https://develop.svn.wordpress.org/trunk@30301


git-svn-id: http://core.svn.wordpress.org/trunk@30300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 14:56:24 +00:00
Boone Gorges
4cf91d7c1d 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.
Built from https://develop.svn.wordpress.org/trunk@30300


git-svn-id: http://core.svn.wordpress.org/trunk@30299 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 13:24:24 +00:00
Drew Jaynes
09a1f68f07 Fix a couple of spacing and wrapping indents in the WP_Date_Query::__construct() hash notation.
See [30142]. See #28063.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30150 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 04:31:22 +00:00
Boone Gorges
c07582cb64 Improve default argument formatting in WP_Date_Query::__construct().
Built from https://develop.svn.wordpress.org/trunk@30144


git-svn-id: http://core.svn.wordpress.org/trunk@30144 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 03:29:21 +00:00
Boone Gorges
92536aae65 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.
Built from https://develop.svn.wordpress.org/trunk@30142


git-svn-id: http://core.svn.wordpress.org/trunk@30142 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 03:24:21 +00:00
Boone Gorges
0f8e7d0e55 Add @since annotation for 'user_registered' support in 'date_query_valid_columns' documentation.
Props DrewAPicture.
Fixes #27283.
Built from https://develop.svn.wordpress.org/trunk@29938


git-svn-id: http://core.svn.wordpress.org/trunk@29689 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-17 03:51:20 +00:00
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