WordPress at a glance
function is not described

Language_Pack_Upgrader::check_package() WP 3.7.0

Check the package source to make sure there are .mo and .po files.

Hooked to the 'upgrader_source_selection' filter by Language_Pack_Upgrader::bulk_upgrade().

This is a method of the class: Language_Pack_Upgrader

No Hooks.

Return

Null. Nothing.

Usage

$Language_Pack_Upgrader = new Language_Pack_Upgrader();
$var = $Language_Pack_Upgrader->check_package( $source, $remote_source );
$source(string/WP_Error) (required)
$remote_source(string) (required)

Notes

  • Global. WP_Filesystem_Base. $wp_filesystem Subclass

Changelog

Since 3.7.0 Introduced.

Code of Language Pack Upgrader::check package: wp-admin/includes/class-language-pack-upgrader.php WP 5.2.2

<?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'],
			sprintf(
				/* translators: 1: .po, 2: .mo */
				__( 'The language pack is missing either the %1$s or %2$s files.' ),
				'<code>.po</code>',
				'<code>.mo</code>'
			)
		);
	}

	return $source;
}