Don't blindly trust the output of `glob()` to be an array.
Props kitchin. Merge of [33447] to the 4.2 branch. Fixes #33093. Built from https://develop.svn.wordpress.org/branches/4.2@33481 git-svn-id: http://core.svn.wordpress.org/branches/4.2@33448 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
371f520a52
commit
c58e9ddf35
|
@ -972,13 +972,16 @@ class Plugin_Upgrader extends WP_Upgrader {
|
||||||
|
|
||||||
// Check the folder contains at least 1 valid plugin.
|
// Check the folder contains at least 1 valid plugin.
|
||||||
$plugins_found = false;
|
$plugins_found = false;
|
||||||
foreach ( glob( $working_directory . '*.php' ) as $file ) {
|
$files = glob( $working_directory . '*.php' );
|
||||||
|
if ( $files ) {
|
||||||
|
foreach ( $files as $file ) {
|
||||||
$info = get_plugin_data( $file, false, false );
|
$info = get_plugin_data( $file, false, false );
|
||||||
if ( ! empty( $info['Name'] ) ) {
|
if ( ! empty( $info['Name'] ) ) {
|
||||||
$plugins_found = true;
|
$plugins_found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ( ! $plugins_found )
|
if ( ! $plugins_found )
|
||||||
return new WP_Error( 'incompatible_archive_no_plugins', $this->strings['incompatible_archive'], __( 'No valid plugins were found.' ) );
|
return new WP_Error( 'incompatible_archive_no_plugins', $this->strings['incompatible_archive'], __( 'No valid plugins were found.' ) );
|
||||||
|
|
|
@ -1249,9 +1249,12 @@ function _upgrade_422_find_genericons_files_in_folder( $directory ) {
|
||||||
$files[] = "{$directory}example.html";
|
$files[] = "{$directory}example.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ( glob( $directory . '*', GLOB_ONLYDIR ) as $dir ) {
|
$dirs = glob( $directory . '*', GLOB_ONLYDIR );
|
||||||
|
if ( $dirs ) {
|
||||||
|
foreach ( $dirs as $dir ) {
|
||||||
$files = array_merge( $files, _upgrade_422_find_genericons_files_in_folder( $dir ) );
|
$files = array_merge( $files, _upgrade_422_find_genericons_files_in_folder( $dir ) );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $files;
|
return $files;
|
||||||
}
|
}
|
||||||
|
|
|
@ -763,12 +763,16 @@ function translate_user_role( $name ) {
|
||||||
function get_available_languages( $dir = null ) {
|
function get_available_languages( $dir = null ) {
|
||||||
$languages = array();
|
$languages = array();
|
||||||
|
|
||||||
foreach( (array)glob( ( is_null( $dir) ? WP_LANG_DIR : $dir ) . '/*.mo' ) as $lang_file ) {
|
$lang_files = glob( ( is_null( $dir) ? WP_LANG_DIR : $dir ) . '/*.mo' );
|
||||||
|
if ( $lang_files ) {
|
||||||
|
foreach( $lang_files as $lang_file ) {
|
||||||
$lang_file = basename( $lang_file, '.mo' );
|
$lang_file = basename( $lang_file, '.mo' );
|
||||||
if ( 0 !== strpos( $lang_file, 'continents-cities' ) && 0 !== strpos( $lang_file, 'ms-' ) &&
|
if ( 0 !== strpos( $lang_file, 'continents-cities' ) && 0 !== strpos( $lang_file, 'ms-' ) &&
|
||||||
0 !== strpos( $lang_file, 'admin-' ))
|
0 !== strpos( $lang_file, 'admin-' ) ) {
|
||||||
$languages[] = $lang_file;
|
$languages[] = $lang_file;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $languages;
|
return $languages;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue