Commit Graph

43 Commits

Author SHA1 Message Date
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
d36eda33f7 Coding Standards: Fix instances of WordPress.PHP.NoSilencedErrors.Discouraged.
Noteable changes:
- The `magic_quotes_runtime` and `magic_quotes_sybase` settings were removed in PHP 5.4, so no longer need to be set.
- Some functions that use external libraries can generate errors that can't be tested for, so are globally allowed to silence errors.
- Quite a few functions would cause errors if `safe_mode` was set. This setting was removed in PHP 5.4.
- Only a handful of `header()` calls needed corresponding `headers_sent()` checks for unit tests to pass, but more may need to be added as the nightlies builds are tested.

See #46732.


git-svn-id: https://develop.svn.wordpress.org/trunk@45611 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-09 05:44:42 +00:00
Peter Wilson
13bb9c5ef4 Cron: Ensure identical single events aren't scheduled less than 10min apart.
Improves the logic in `wp_schedule_single_event()` to ensure an identical event is not scheduled within ten minutes.

This moves the logic for checking for identical events to be self contained rather than relying on `wp_next_scheduled()` as this fails to account for events with a past timestamp when wp-cron fails to trigger or for multiple identical events being scheduled already.

Props bodohugobarwich.
Fixes #44818.



git-svn-id: https://develop.svn.wordpress.org/trunk@44917 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-16 06:41:23 +00:00
Peter Wilson
ad0a1a2f82 Docs: Correct documentation for the schedule_event filter.
The filter runs for both recurring and single events.

See #42505.


git-svn-id: https://develop.svn.wordpress.org/trunk@44694 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-23 23:22:23 +00:00
Peter Wilson
554ee5b53c Cron: Move logic for finding the next event's timestamp.
Moves the logic for determining when an event will next run from `wp_next_scheduled()` to `wp_get_scheduled_event()`.

This improves the performance of `wp_get_scheduled_event()` by avoiding duplicate function calls and object cache hits.

Props peterwilsoncc.
Fixes #45976.


git-svn-id: https://develop.svn.wordpress.org/trunk@44693 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-23 23:07:39 +00:00
Peter Wilson
0bc20594c7 Cron API: Add function and filter to return ready cron jobs.
Add the function `wp_get_ready_cron_jobs()` to return a modified version of the cron array limited to jobs ready to be run, ie with a timestamp of `time()` or earlier.

The new function includes the filter `pre_get_ready_cron_jobs` to allow for custom cron storage systems. This rounds out the functionality added in #32656.

Props Pento for code review.
Fixes #45797.



git-svn-id: https://develop.svn.wordpress.org/trunk@44483 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 21:48:07 +00:00
Peter Wilson
d20bde8556 Docs: Correct inline documentation versions for Cron API changes.
[43540] introduced changes to allow hijacking the cron implementation.

These changes were slated for 5.0, but have since been moved to the 5.1 release.

See #43540.



git-svn-id: https://develop.svn.wordpress.org/trunk@44375 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-30 05:05:49 +00:00
Peter Wilson
5684f7ea13 Docs: Correct @see syntax for Cron API changes.
Fixes documentation errors introduced in  [43540], [43050] and [43608].

Props coffee2code.
Fixes #45445.



git-svn-id: https://develop.svn.wordpress.org/trunk@44374 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-30 04:50:08 +00:00
Jonathan Desrosiers
f9cfc6fc7d Docs: Correct inline documentation versions.
[43050] updated the Cron API to return values indicating success or failure when called.

At the time, these changes were slated for 5.0, but have since been moved to the 5.1 release. This updates the inline documentation to reflect that.

Fixes #21072.

git-svn-id: https://develop.svn.wordpress.org/trunk@44324 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-19 03:40:18 +00:00
Peter Wilson
0eda564507 Cron API: Clarify documentation for wp_reschedule_event().
Expands documentation to indicate `wp_schedule_event()` ought to be used for rescheduling an upcoming event, while `wp_reschedule_event()` is used for internally rescheduling a recurring event after it runs.

Props Dharm1025, jrf.
Fixes #35968.



git-svn-id: https://develop.svn.wordpress.org/trunk@43608 602fd350-edb4-49c9-b593-d223f7449a82
2018-09-03 04:03:10 +00:00
Gary Pendergast
a75d153eee Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.



git-svn-id: https://develop.svn.wordpress.org/trunk@43571 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-17 01:50:26 +00:00
Peter Wilson
a32ea2d35d Cron: Add hooks and a function to allow hijacking cron implementation.
This allows sites with a large cron option or a custom cron implementation to hijack the cron option to store cron data using custom functionality.

`wp_get_scheduled_event()` is new function to retrieve the event object for a given event based on the hook name, arguments and timestamp. If no timestamp is specified the next occurence is returned.

Preflight filters are added to all functions that read from or modify the cron option: `pre_schedule_event`, `pre_reschedule_event`, `pre_unschedule_event`, `pre_clear_scheduled_hook`, `pre_unschedule_hook`, `pre_get_scheduled_event` and `pre_next_scheduled`.

Additionally, the post scheduling hooks `next_scheduled` and `get_schedule` to allow plugins to modify an event after retrieving it from WordPress.

Props rmccue, DavidAnderson, ethitter, peterwilsoncc.
Fixes #32656.



git-svn-id: https://develop.svn.wordpress.org/trunk@43540 602fd350-edb4-49c9-b593-d223f7449a82
2018-07-27 02:22:50 +00:00
Peter Wilson
e73af26e92 Cron API: Return meaningful values from cron functions.
Return values added to Cron API functions to indicate outcome:

* `wp_schedule_single_event()`, `wp_schedule_event()`, `wp_reschedule_event()` and `wp_unschedule_event()`: boolean indicating success or failure,
* `wp_clear_scheduled_hook()`: integer indicating number of jobs cleared (zero or more), `false` if one or more jobs fail to clear,
* `wp_unschedule_hook()`: integer indicating number of jobs cleared (zero or more), `false` if the jobs fail to clear,
* `spawn_cron()`: boolean indicating whether job spawned,
* `wp_cron()`: integer indicating number of jobs spawned (zero or more), `false` if one or more jobs fail to spawned,
* `_set_cron_array()`: boolean outcome of `update_option()`.

Props evansolomon, jrf, peterwilsoncc, pento for code review.
Fixes #21072.



git-svn-id: https://develop.svn.wordpress.org/trunk@43050 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-01 02:04:25 +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
John Blackbourn
d88bb052f0 Cron API: Improvements to docblocks for the event scheduling functions.
See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@42216 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-22 15:15:35 +00:00
Drew Jaynes
30b915922a Docs: Use third-person singular verbs in the summaries for wp_unschedule_hook() and wp_clear_scheduled_hook().
See #41017.


git-svn-id: https://develop.svn.wordpress.org/trunk@40970 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-30 04:53:53 +00:00
Sergey Biryukov
21a6c7b050 Cron API: Introduce wp_unschedule_hook() to clear all events attached to a hook.
This complements `wp_clear_scheduled_hook()`, which only clears events attached with specific arguments.

Props arena, mordauk, jrf.
Fixes #18997.

git-svn-id: https://develop.svn.wordpress.org/trunk@40965 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-30 00:21:49 +00:00
Scott Taylor
9bb9ea8185 Cron: clarify descriptions for Cron API functions.
Props johnbillion.
Fixes #37769.


git-svn-id: https://develop.svn.wordpress.org/trunk@38357 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-26 09:21:33 +00:00
Sergey Biryukov
ad09174df2 Docs: In wp_schedule_single_event(), add a note about scheduling an event to occur within 10 minutes of another event with the same action hook.
Props medariox.
Fixes #37455.

git-svn-id: https://develop.svn.wordpress.org/trunk@38148 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-25 12:22:21 +00:00
Sergey Biryukov
920f29616a Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core.
Props metodiew.
Fixes #36495.

git-svn-id: https://develop.svn.wordpress.org/trunk@37985 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 12:39:01 +00:00
Drew Jaynes
bd1d3f0a8c Docs: Apply inline @see tags to hooks referenced in DocBlocks in a variety of wp-includes/* files.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37542 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 18:58:48 +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
Drew Jaynes
520ed6b725 Docs: Remove/replace invalid inline @link tags in DocBlocks in wp-includes/*.
Fixes #36910.


git-svn-id: https://develop.svn.wordpress.org/trunk@37487 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 17:39:00 +00:00
Drew Jaynes
740cab2a4b Docs: Adjust formatting for an added-parameter changelog entry in the hook doc for the cron_request filter.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36299 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-14 17:29:04 +00:00
Eric Andrew Lewis
5c7043593b Cron: Add the cron lock timestamp to the 'cron_request' filter arguments.
Fixes #31307


git-svn-id: https://develop.svn.wordpress.org/trunk@36228 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-08 23:53:10 +00:00
Drew Jaynes
a2f5cdb5bb Docs: Add a missing notation for the $gmt_time parameter in the DocBlock for spawn_cron().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36022 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-19 08:19:54 +00:00
Scott Taylor
daa01c703b Cron: In spawn_cron(), when using ALTERNATE_WP_CRON, return early for any non-GET, instead of naively checking ! empty( $_POST ).
Props johnbillion, markoheijnen.
Fixes #27447.


git-svn-id: https://develop.svn.wordpress.org/trunk@34576 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 04:50:06 +00:00
Sergey Biryukov
f4f1ed43e7 Document @return value for wp_unschedule_event().
See #33475.

git-svn-id: https://develop.svn.wordpress.org/trunk@34044 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 11:34:52 +00:00
Scott Taylor
a4a469d887 After [33843], update the location of some files in This filter is documented in docs
Props dimadin.
See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@33954 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-08 22:16:57 +00:00
Dion Hulse
95b3edd4ce Cron: Reject events when the provided $timestamp is not a valid timestamp.
Invalid timestamps were previously accepted by the scheduling functions but would never be run due to our implementation which caused the cron option to forever contain the events.
This rejects such events which most likely only occur due to developer error.

Props utkarshpatel, wonderboymusic, SergeyBiryukov.
See #33423, Fixes #33475


git-svn-id: https://develop.svn.wordpress.org/trunk@33936 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-07 02:38:12 +00:00
Scott Taylor
8e3c811b64 Alter some @return doc blocks for cron.php.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32588 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-24 21:10:00 +00:00
Drew Jaynes
eb60152449 Improve inline documentation for the cron lock behavior.
Props ericlewis.
Fixes #32478.


git-svn-id: https://develop.svn.wordpress.org/trunk@32580 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-24 17:25:52 +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
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)
ccc5f88887 Ensure inline code is markdown-escaped as such, and that code snippets in descriptions are properly indented.
Affects DocBlocks for the following core elements:
* Backtick-escapes a `<link>` tag in a parameter description for the `embed_oembed_discover` hook
* Inline code fixes in the summary and return description for `WP_List_Table::get_table_classes()`
* Removes HTML markup from the summary for `WP_List_Table::display_rows_or_placeholder()`
* Backtick-escapes a `<tr>` tag in a parameter description for `WP_Users_List_Table::single_row()`
* Converts non-DocBlocks into multi-line comments in `WP_Dependencies::do_items()`
* Removes HTML markup from the summary for the `comment_form_top` hook.
* Inline code and snippet fixes in the description for `wp_get_schedules()`

Props rarst for the initial patch.
See #30473.


git-svn-id: https://develop.svn.wordpress.org/trunk@30537 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-24 04:57:17 +00:00
Scott Taylor
be59c5009e wp_schedule_single_event() should not prevent scheduling a future duplicate event. It should only reject an event as a duplicate if there is already a similar event scheduled within 10 minutes of the given timestamp.
Adds unit tests, fixes existing cron test.

Props tellyworth.

See [9181], #6966.
Fixes #28213.


git-svn-id: https://develop.svn.wordpress.org/trunk@29939 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-17 19:16:26 +00:00
Sergey Biryukov
2becf84579 Skip ALTERNATE_WP_CRON redirect when performing XML-RPC requests.
props markoheijnen.
fixes #27447.

git-svn-id: https://develop.svn.wordpress.org/trunk@29732 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-11 14:01:04 +00:00
Sergey Biryukov
4b55c3d722 Avoid an undefined index notice in wp_reschedule_event().
props paulschreiber.
fixes #29077.

git-svn-id: https://develop.svn.wordpress.org/trunk@29349 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-01 20:56:11 +00:00
John Blackbourn
036c2b5fca Remove SSL verification by default for requests to wp-cron.php. Props sivel, rhurling. Fixes #12609.
git-svn-id: https://develop.svn.wordpress.org/trunk@28781 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-19 22:52:35 +00:00
Dion Hulse
457e59656a Cron: Fix a case where a cache inconsistency can cause wp_clear_scheduled_hook() to enter an infinite loop. This unravels the function from using other cron api functions to looping over the cron array directly. See #25773
git-svn-id: https://develop.svn.wordpress.org/trunk@26782 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-07 09:12:51 +00:00
Dominik Schilling (ocean90)
a0f913563c Cron Request: Fix incorrect use of add_query_arg() arguments.
props datafeedrcom, dimadin.
see [26267].
fixes #26218.

git-svn-id: https://develop.svn.wordpress.org/trunk@26365 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-24 21:48:32 +00:00
Drew Jaynes
41f46d5e85 Inline documentation for hooks in wp-includes/cron.php.
Props tmtoy for the initial patch.
Fixes #25475.


git-svn-id: https://develop.svn.wordpress.org/trunk@26267 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-19 05:00:39 +00:00
Andrew Nacin
b43712e0f7 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.



git-svn-id: https://develop.svn.wordpress.org/trunk@25001 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-07 05:25:25 +00:00