PHP 7.3 Compatibility: Fix compact related notices.

In PHP 7.3, the `compact()` function has been changed to issue an `E_NOTICE` level error if a passed string refers to an unset variable. In previous versions of PHP, this notice was silently skipped. This fixes a few more instances of unset variables in the WordPress admin.

The full RFC can be viewed here: https://wiki.php.net/rfc/compact.

See #44416.

Merges [44185] into trunk.

Fixes #45483.

git-svn-id: https://develop.svn.wordpress.org/trunk@44297 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jonathan Desrosiers 2018-12-18 21:59:00 +00:00
parent 171c93176c
commit 7cda2404b5
2 changed files with 7 additions and 0 deletions

View File

@ -427,6 +427,7 @@ function install_plugin_install_status( $api, $loop = false ) {
$status = 'install'; $status = 'install';
$url = false; $url = false;
$update_file = false; $update_file = false;
$version = '';
/* /*
* Check to see if this plugin is known to be installed, * Check to see if this plugin is known to be installed,

View File

@ -1099,18 +1099,24 @@ function wp_edit_posts_query( $q = false ) {
} }
$avail_post_stati = get_available_post_statuses( $post_type ); $avail_post_stati = get_available_post_statuses( $post_type );
$post_status = '';
$perm = '';
if ( isset( $q['post_status'] ) && in_array( $q['post_status'], $post_stati ) ) { if ( isset( $q['post_status'] ) && in_array( $q['post_status'], $post_stati ) ) {
$post_status = $q['post_status']; $post_status = $q['post_status'];
$perm = 'readable'; $perm = 'readable';
} }
$orderby = '';
if ( isset( $q['orderby'] ) ) { if ( isset( $q['orderby'] ) ) {
$orderby = $q['orderby']; $orderby = $q['orderby'];
} elseif ( isset( $q['post_status'] ) && in_array( $q['post_status'], array( 'pending', 'draft' ) ) ) { } elseif ( isset( $q['post_status'] ) && in_array( $q['post_status'], array( 'pending', 'draft' ) ) ) {
$orderby = 'modified'; $orderby = 'modified';
} }
$order = '';
if ( isset( $q['order'] ) ) { if ( isset( $q['order'] ) ) {
$order = $q['order']; $order = $q['order'];
} elseif ( isset( $q['post_status'] ) && 'pending' == $q['post_status'] ) { } elseif ( isset( $q['post_status'] ) && 'pending' == $q['post_status'] ) {