Commit Graph

55 Commits

Author SHA1 Message Date
Sergey Biryukov a0215f6e9d General: Use `WPINC` as a shorter reference to `wp-includes` in some files.
This brings more consistency with similar `require_once` statements and `_deprecated_file()` calls in other files.

Follow-up to [601], [628], [36693], [44359], [45663], [45678], [52026], 

Props malthert.
See #54233.
Built from https://develop.svn.wordpress.org/trunk@53518


git-svn-id: http://core.svn.wordpress.org/trunk@53107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2022-06-17 11:20:13 +00:00
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