WordPress/wp-admin/includes
Sergey Biryukov ccbd16fef1 Media: Check the return type of `_get_cron_array()` in `WP_Media_List_Table::prepare_items()`.
The following warnings could, in very select circumstances, be shown:
{{{
// PHP 8.0 and higher:
Warning: foreach() argument must be of type array|object, bool given

// PHP 5.6 – 7.4
Warning: Invalid argument supplied for foreach()
}}}

In `WP_Media_List_Table::prepare_items()`, the cron info array is retrieved via a call to `_get_cron_array()`, but as the documentation (correctly) states, the return type of that function is `array|false`, where `false` is returned for a virgin site, with no cron jobs scheduled yet.

However, no type check is done on the return value, and the method just blindly continues by using it in a `foreach`.

Fixed by adding validation for the returned value from `_get_cron_array()` and only running the `foreach` when the returned value is an array.

Reference: [https://developer.wordpress.org/reference/functions/_get_cron_array/ WordPress Developer Resources: _get_cron_array()]

Follow-up to [48417].

Props jrf, hellofromTonya, mukesh27.
Fixes #53949.
Built from https://develop.svn.wordpress.org/trunk@51638


git-svn-id: http://core.svn.wordpress.org/trunk@51244 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-08-19 12:44:57 +00:00
..
admin-filters.php Upgrade/Install: Notify users of deactivated plugins during upgrade. 2021-06-30 00:21:58 +00:00
admin.php Code Modernization: Replace `dirname( __FILE__ )` calls with `__DIR__` magic constant. 2020-02-06 06:33:11 +00:00
ajax-actions.php Media: Check the `posts_per_page` value in `wp_ajax_query_attachments()` before using it as a divisor. 2021-07-25 09:56:57 +00:00
bookmark.php Administration: Improve the message about installing the Link Manager plugin to use legacy Links screen. 2021-05-25 20:14:59 +00:00
class-automatic-upgrader-skin.php Docs: Miscellaneous docblock updates. 2021-05-07 20:16:00 +00:00
class-bulk-plugin-upgrader-skin.php Text Changes: Unify various "Back to..." vs. "Return to..." vs. "Go to..." strings. 2020-11-09 10:53:10 +00:00
class-bulk-theme-upgrader-skin.php Text Changes: Unify various "Back to..." vs. "Return to..." vs. "Go to..." strings. 2020-11-09 10:53:10 +00:00
class-bulk-upgrader-skin.php Code Modernisation: Introduce the spread operator in `wp-admin/includes/class-*-upgrader-skin.php`. 2019-09-15 10:42:54 +00:00
class-core-upgrader.php Docs: Correct DocBlock formatting for `Core_Upgrader::upgrade()`. 2021-06-19 21:37:57 +00:00
class-custom-background.php Customize: Hide native control on background position field. 2021-08-19 02:07:56 +00:00
class-custom-image-header.php Coding Standards: Use strict comparison in `wp-admin/includes/class-custom-image-header.php`. 2021-04-13 19:05:04 +00:00
class-file-upload-upgrader.php Docs: Improve inline comments per the documentation standards. 2020-01-29 00:45:18 +00:00
class-ftp-pure.php Docs: Update URLs in some `@link` tags and switch them to HTTPS. 2019-11-01 14:57:02 +00:00
class-ftp-sockets.php Docs: Update URLs in some `@link` tags and switch them to HTTPS. 2019-11-01 14:57:02 +00:00
class-ftp.php General: Continuing to work towards a passing PHP Compatibility scan. 2020-06-03 17:40:12 +00:00
class-language-pack-upgrader-skin.php Text Changes: Unify various "Back to..." vs. "Return to..." vs. "Go to..." strings. 2020-11-09 10:53:10 +00:00
class-language-pack-upgrader.php Docs: Add missing `@return` tag to `Language_Pack_Upgrader::check_package()`. 2020-10-05 13:44:11 +00:00
class-pclzip.php Filesystem API: Make sure to only call `fread()` on non-empty files in the PclZip library. 2021-02-16 18:42:03 +00:00
class-plugin-installer-skin.php I18N: Combine escaping and translation functions. 2021-05-19 18:10:59 +00:00
class-plugin-upgrader-skin.php Text Changes: Unify various "Back to..." vs. "Return to..." vs. "Go to..." strings. 2020-11-09 10:53:10 +00:00
class-plugin-upgrader.php Upgrade/Install: Store correct result when bulk updating plugins or themes. 2021-08-02 20:55:56 +00:00
class-theme-installer-skin.php I18N: Combine escaping and translation functions. 2021-05-19 18:10:59 +00:00
class-theme-upgrader-skin.php Text Changes: Unify various "Back to..." vs. "Return to..." vs. "Go to..." strings. 2020-11-09 10:53:10 +00:00
class-theme-upgrader.php Upgrade/Install: Store correct result when bulk updating plugins or themes. 2021-08-02 20:55:56 +00:00
class-walker-category-checklist.php Docs: Further corrections and promotions for docblocks relating to `object` types. 2020-10-18 20:53:08 +00:00
class-walker-nav-menu-checklist.php Docs: Corrections and improvements to types used in various docblocks. 2021-01-05 17:16:11 +00:00
class-walker-nav-menu-edit.php Coding Standards: Further update the code for bulk menu items deletion to better follow WordPress coding standards. 2021-05-25 19:14:57 +00:00
class-wp-ajax-upgrader-skin.php Docs: Add missing descriptions for `Automatic_Upgrader_Skin` methods. 2020-11-14 16:23:10 +00:00
class-wp-application-passwords-list-table.php Application Passwords: Allow enter key to submit profile form. 2021-06-07 23:49:58 +00:00
class-wp-automatic-updater.php Coding Standards: Use strict comparison in `wp-admin/includes/class-wp-automatic-updater.php`. 2021-04-16 12:01:15 +00:00
class-wp-comments-list-table.php Coding Standards: Fix a whitespace at end of line issue in `wp-admin/includes/class-wp-comments-list-table.php`. 2021-05-03 14:10:00 +00:00
class-wp-community-events.php Docs: In various `@return` tags, list the expected type first, instead of `false` or `WP_Error`. 2021-01-04 17:18:04 +00:00
class-wp-debug-data.php Docs: Document the `$wpdb` global in `WP_Debug_Data::get_mysql_var()`. 2021-08-01 14:04:56 +00:00
class-wp-filesystem-base.php Docs: Clarify the `@return` value for `WP_Filesystem_Base::getnumchmodfromh()`. 2021-07-27 11:01:57 +00:00
class-wp-filesystem-direct.php Docs: Correct `@return` type for `WP_Filesystem_Base::getnumchmodfromh()`. 2021-07-27 09:29:01 +00:00
class-wp-filesystem-ftpext.php Docs: Correct `@return` type for `WP_Filesystem_Base::getnumchmodfromh()`. 2021-07-27 09:29:01 +00:00
class-wp-filesystem-ftpsockets.php Docs: Correct `@return` type for `WP_Filesystem_Base::getnumchmodfromh()`. 2021-07-27 09:29:01 +00:00
class-wp-filesystem-ssh2.php Docs: Correct `@return` type for `WP_Filesystem_Base::getnumchmodfromh()`. 2021-07-27 09:29:01 +00:00
class-wp-importer.php Coding Standards: Remove unnecessary `unset()` calls in `WP_Importer` methods. 2021-04-08 11:12:08 +00:00
class-wp-internal-pointers.php Docs: Improve inline comments per the documentation standards. 2020-01-29 00:45:18 +00:00
class-wp-links-list-table.php Posts, Post Types: Introduce "Filter by date" and "Filter by category" as post type and taxonomy labels, respectively. 2021-02-01 14:13:00 +00:00
class-wp-list-table-compat.php Docs: Add missing descriptions for `_WP_List_Table_Compat` methods. 2020-11-14 16:54:08 +00:00
class-wp-list-table.php Administration: Escape the values of data-colname. 2021-06-08 22:21:57 +00:00
class-wp-media-list-table.php Media: Check the return type of `_get_cron_array()` in `WP_Media_List_Table::prepare_items()`. 2021-08-19 12:44:57 +00:00
class-wp-ms-sites-list-table.php Docs: Further corrections and promotions for docblocks relating to `object` types. 2020-10-18 20:53:08 +00:00
class-wp-ms-themes-list-table.php Themes: Add an indication of whether a theme is a child theme on network admin Themes screen. 2021-05-24 19:04:56 +00:00
class-wp-ms-users-list-table.php Docs: Fix and upgrade various `object` docblock notations. 2020-10-17 16:05:09 +00:00
class-wp-plugin-install-list-table.php Plugins: Add support for `Update URI` header. 2021-05-17 17:04:01 +00:00
class-wp-plugins-list-table.php Coding Standards: Add a space before `/` character in some self-closing HTML tags. 2021-03-20 18:30:08 +00:00
class-wp-post-comments-list-table.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:51:36 +00:00
class-wp-posts-list-table.php Taxonomy: Pass correct default value for `$post_id` to `wp_terms_checklist()` in the posts list table. 2021-07-31 09:50:57 +00:00
class-wp-privacy-data-export-requests-list-table.php Coding Standards: Fix WPCS issues in [49258]. 2020-10-20 21:20:07 +00:00
class-wp-privacy-data-removal-requests-list-table.php Coding Standards: Fix WPCS issues in [49258]. 2020-10-20 21:20:07 +00:00
class-wp-privacy-policy-content.php Privacy: Print screen reader text for the "Copy suggested policy text..." action button. 2021-03-25 20:21:04 +00:00
class-wp-privacy-requests-table.php Privacy: Introduce `manage_{$this->screen->id}_custom_column` action in `WP_Privacy_Requests_Table::column_default()`. 2021-02-02 16:44:04 +00:00
class-wp-screen.php Docs: Replace `$this` in hook param docs with more appropriate names. 2021-07-30 19:35:58 +00:00
class-wp-site-health-auto-updates.php Site Health: Make sure the `submit_button()` function is available in `request_filesystem_credentials()`. 2021-05-24 19:24:57 +00:00
class-wp-site-health.php Site Health: Standardise site health check status message punctuation. 2021-07-30 19:38:57 +00:00
class-wp-site-icon.php Media: Avoid suppressing errors when using `getimagesize()`. 2021-02-02 16:53:04 +00:00
class-wp-terms-list-table.php Coding Standards: Use strict comparison in `wp-admin/includes/class-wp-terms-list-table.php`. 2021-04-21 18:53:00 +00:00
class-wp-theme-install-list-table.php Docs: Add examples of possible names for various hooks whose name contains a dynamic portion. 2021-03-07 12:32:09 +00:00
class-wp-themes-list-table.php I18N: Add context to some theme strings for consistency. 2020-07-21 16:33:05 +00:00
class-wp-upgrader-skin.php Docs: Add missing `@since` tags for `WP_Upgrader_Skin` methods. 2020-11-21 12:08:05 +00:00
class-wp-upgrader-skins.php Docs: Add missing `@deprecated` tags in the file docblock of some deprecated files. 2019-10-08 17:19:04 +00:00
class-wp-upgrader.php Docs: Fix typo in the `WP_Upgrader::install_package()` description. 2021-08-02 18:27:57 +00:00
class-wp-users-list-table.php Administration: Escape the values of data-colname. 2021-06-08 22:21:57 +00:00
comment.php Coding Standards: Use strict comparison in `wp-admin/includes/comment.php`. 2021-04-06 13:45:09 +00:00
continents-cities.php I18N: Update list of continents and cities for the timezone selection. 2021-03-19 15:42:04 +00:00
credits.php Help/About: WordPress 5.8 About Page. 2021-06-29 19:06:57 +00:00
dashboard.php Docs: Adjust `wp_dashboard_browser_nag()` DocBlock per the documentation standards. 2021-06-30 16:07:57 +00:00
deprecated.php Code Modernization: Correct expected data type for `WP_User_Search::$page` property. 2021-03-22 22:42:04 +00:00
edit-tag-messages.php Coding Standards: Fix the `Squiz.PHP.DisallowMultipleAssignments` violations in `wp-admin`. 2019-07-01 12:52:01 +00:00
export.php Coding Standards: Simplify the check for parent terms in `export_wp()`. 2021-04-11 13:44:13 +00:00
file.php Code Modernization: Check the return type of `parse_url()` in `download_url()`. 2021-08-17 00:16:01 +00:00
image-edit.php Docs: Correct description for the `$image` parameter of the `wp_save_image_file` filter. 2021-07-02 07:11:58 +00:00
image.php Docs: Update syntax for multi-line comment in `wp_generate_attachment_metadata()` per the documentation standards. 2021-06-15 19:10:58 +00:00
import.php Docs: Corrections and improvements to types used in various docblocks. 2021-01-05 17:16:11 +00:00
list-table.php Docs: Promote many `bool` types to `true` or `false` where only that value is used. 2021-01-03 22:04:04 +00:00
media.php Media: Remove unused code from `wp-admin/includes/media.php`. 2021-07-24 13:03:56 +00:00
menu.php Coding Standards: Use strict comparison for `count()` calls. 2020-05-23 11:38:08 +00:00
meta-boxes.php Docs: Add and correct examples of common names for various dynamic hooks. 2021-07-03 21:42:59 +00:00
misc.php Administration: Standardize colors used in CSS to a single palette. 2021-01-26 18:54:59 +00:00
ms-admin-filters.php Docs: Improve comments in some `wp-admin` files per the documentation standards. 2020-01-29 00:35:08 +00:00
ms-deprecated.php I18N: Capitalize translator comments consistently, add trailing punctuation. 2019-09-03 00:41:05 +00:00
ms.php Docs: Document the usage of `$pagenow` global in a few functions. 2021-02-22 19:18:12 +00:00
nav-menu.php General: Avoid unnecessary calls to `update_user_option()`. 2021-05-24 19:59:57 +00:00
network.php Coding Standards: Adds spacing so `define()` statements displayed when creating a network. 2021-05-11 17:10:02 +00:00
noop.php Code Modernization: Remove conditional use of PHP `realpath()`. 2019-09-20 20:46:56 +00:00
options.php External Libraries: First pass at fixing jQuery deprecations in WordPress core and bundled themes. 2021-01-22 12:32:03 +00:00
plugin-install.php Plugins: Escape the currently installed version number on Add Plugins screen. 2021-05-07 13:49:58 +00:00
plugin.php Upgrade/Install: Notify users of deactivated plugins during upgrade. 2021-06-30 00:21:58 +00:00
post.php Docs: Further type corrections and improvements for various docblocks. 2021-07-01 22:02:57 +00:00
privacy-tools.php Privacy: Improve naming of user confimed action email filters. 2021-06-09 01:35:58 +00:00
revision.php Docs: Add examples of possible names for various hooks whose name contains a dynamic portion. 2021-03-07 12:32:09 +00:00
schema.php Upgrade/Install: Notify users of deactivated plugins during upgrade. 2021-06-30 00:21:58 +00:00
screen.php Coding Standards: Use strict comparison in `wp-admin/includes/screen.php`. 2021-05-09 20:27:02 +00:00
taxonomy.php Docs: Further type corrections and improvements for various docblocks. 2021-07-01 22:02:57 +00:00
template.php Administration: Consistently escape `network_admin_url()` links. 2021-06-21 04:30:56 +00:00
theme-install.php Coding Standards: Add a space before `/` character in some self-closing HTML tags. 2021-03-20 18:30:08 +00:00
theme.php Themes: Make sure the theme API response is not an error before operating on it in `themes_api()`. 2021-08-11 13:01:56 +00:00
translation-install.php Docs: Promote many `bool` types to `true` or `false` where only that value is used. 2021-01-03 22:04:04 +00:00
update-core.php Upgrade/Install: Skip any `node_modules` directories when removing Genericons `example.html` files on update. 2021-07-31 10:32:56 +00:00
update.php Plugins: Add support for `Update URI` header. 2021-05-17 17:04:01 +00:00
upgrade.php Make new WordPress installations use blocks in widget areas instead of widgets 2021-06-08 01:55:57 +00:00
user.php Application Passwords: Improve various user-facing and developer-facing terminology. 2021-07-19 21:14:57 +00:00
widgets.php Widgets: Make sure `WP_Widget` constructor creates a correct `classname` value for a namespaced widget class. 2021-05-24 09:51:56 +00:00