Language_Pack_Upgrader::check_package( string|WP_Error $source, string $remote_source )
Checks that the package source contains .mo and .po files.
Description
Hooked to the ‘upgrader_source_selection’ filter by Language_Pack_Upgrader::bulk_upgrade().
Parameters
- $source
-
(Required) The path to the downloaded package source.
- $remote_source
-
(Required) Remote file source location.
Return
(string|WP_Error) The source as passed, or a WP_Error object on failure.
Source
File: wp-admin/includes/class-language-pack-upgrader.php
public function check_package( $source, $remote_source ) {
global $wp_filesystem;
if ( is_wp_error( $source ) )
return $source;
// Check that the folder contains a valid language.
$files = $wp_filesystem->dirlist( $remote_source );
// Check to see if a .po and .mo exist in the folder.
$po = $mo = false;
foreach ( (array) $files as $file => $filedata ) {
if ( '.po' == substr( $file, -3 ) )
$po = true;
elseif ( '.mo' == substr( $file, -3 ) )
$mo = true;
}
if ( ! $mo || ! $po ) {
return new WP_Error( 'incompatible_archive_pomo', $this->strings['incompatible_archive'],
/* translators: 1: .po 2: .mo */
sprintf( __( 'The language pack is missing either the %1$s or %2$s files.' ),
'<code>.po</code>',
'<code>.mo</code>'
)
);
}
return $source;
}
Changelog
Version | Description |
---|---|
3.7.0 | Introduced. |