Upgrade/Install: Check WordPress and PHP version requirements when uploading a plugin or theme from ZIP file.
Props mariovalney, desrosj. See #50593. git-svn-id: https://develop.svn.wordpress.org/trunk@48666 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
cded42aa94
commit
9636a9d4d7
|
@ -441,6 +441,31 @@ class Plugin_Upgrader extends WP_Upgrader {
|
||||||
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.' ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$requires_php = isset( $info['RequiresPHP'] ) ? $info['RequiresPHP'] : null;
|
||||||
|
$requires_wp = isset( $info['RequiresWP'] ) ? $info['RequiresWP'] : null;
|
||||||
|
|
||||||
|
if ( ! is_php_version_compatible( $requires_php ) ) {
|
||||||
|
$error = sprintf(
|
||||||
|
/* translators: 1: Current PHP version, 2: Version required by the uploaded plugin. */
|
||||||
|
__( 'The PHP version on your server is %1$s, however the uploaded plugin requires %2$s.' ),
|
||||||
|
phpversion(),
|
||||||
|
$requires_php
|
||||||
|
);
|
||||||
|
|
||||||
|
return new WP_Error( 'incompatible_php_required_version', $this->strings['incompatible_archive'], $error );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! is_wp_version_compatible( $requires_wp ) ) {
|
||||||
|
$error = sprintf(
|
||||||
|
/* translators: 1: Current WordPress version, 2: Version required by the uploaded plugin. */
|
||||||
|
__( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s.' ),
|
||||||
|
$GLOBALS['wp_version'],
|
||||||
|
$requires_wp
|
||||||
|
);
|
||||||
|
|
||||||
|
return new WP_Error( 'incompatible_wp_required_version', $this->strings['incompatible_archive'], $error );
|
||||||
|
}
|
||||||
|
|
||||||
return $source;
|
return $source;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -221,7 +221,7 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
|
||||||
|
|
||||||
echo '<h2 class="update-from-upload-heading">' . esc_html( __( 'This theme is already installed.' ) ) . '</h2>';
|
echo '<h2 class="update-from-upload-heading">' . esc_html( __( 'This theme is already installed.' ) ) . '</h2>';
|
||||||
|
|
||||||
// Check errors for current theme
|
// Check errors for current theme.
|
||||||
if ( is_wp_error( $current_theme_data->errors() ) ) {
|
if ( is_wp_error( $current_theme_data->errors() ) ) {
|
||||||
$this->feedback( 'current_theme_has_errors', $current_theme_data->errors()->get_error_message() );
|
$this->feedback( 'current_theme_has_errors', $current_theme_data->errors()->get_error_message() );
|
||||||
}
|
}
|
||||||
|
|
|
@ -588,7 +588,32 @@ class Theme_Upgrader extends WP_Upgrader {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$requires_php = isset( $info['RequiresPHP'] ) ? $info['RequiresPHP'] : null;
|
||||||
|
$requires_wp = isset( $info['RequiresWP'] ) ? $info['RequiresWP'] : null;
|
||||||
|
|
||||||
|
if ( ! is_php_version_compatible( $requires_php ) ) {
|
||||||
|
$error = sprintf(
|
||||||
|
/* translators: 1: Current PHP version, 2: Version required by the uploaded theme. */
|
||||||
|
__( 'The PHP version on your server is %1$s, however the uploaded theme requires %2$s.' ),
|
||||||
|
phpversion(),
|
||||||
|
$requires_php
|
||||||
|
);
|
||||||
|
|
||||||
|
return new WP_Error( 'incompatible_php_required_version', $this->strings['incompatible_archive'], $error );
|
||||||
|
}
|
||||||
|
if ( ! is_wp_version_compatible( $requires_wp ) ) {
|
||||||
|
$error = sprintf(
|
||||||
|
/* translators: 1: Current WordPress version, 2: Version required by the uploaded theme. */
|
||||||
|
__( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s.' ),
|
||||||
|
$GLOBALS['wp_version'],
|
||||||
|
$requires_wp
|
||||||
|
);
|
||||||
|
|
||||||
|
return new WP_Error( 'incompatible_wp_required_version', $this->strings['incompatible_archive'], $error );
|
||||||
|
}
|
||||||
|
|
||||||
$this->new_theme_data = $info;
|
$this->new_theme_data = $info;
|
||||||
|
|
||||||
return $source;
|
return $source;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue