X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/4feeb71a9d812a9ae371c28a3d8b442a4394ded7..607b7e02d77e7326161e8ec15639052d2040f745:/wp-admin/includes/image-edit.php diff --git a/wp-admin/includes/image-edit.php b/wp-admin/includes/image-edit.php index 8947f537..928cd135 100644 --- a/wp-admin/includes/image-edit.php +++ b/wp-admin/includes/image-edit.php @@ -60,11 +60,11 @@ function wp_image_editor($post_id, $msg = false) {
× ! , 'scale')" class="button button-primary" value="" /> @@ -116,11 +116,11 @@ function wp_image_editor($post_id, $msg = false) {
:
@@ -129,11 +129,11 @@ function wp_image_editor($post_id, $msg = false) {
×
@@ -224,7 +224,6 @@ function wp_image_editor($post_id, $msg = false) {
- save( $filename, $mime_type ); } else { - _deprecated_argument( __FUNCTION__, '3.5', __( '$image needs to be an WP_Image_Editor object' ) ); + _deprecated_argument( __FUNCTION__, '3.5.0', __( '$image needs to be an WP_Image_Editor object' ) ); /** This filter is documented in wp-admin/includes/image-edit.php */ $image = apply_filters( 'image_save_pre', $image, $post_id ); /** - * Filter whether to skip saving the image file. + * Filters whether to skip saving the image file. * * Returning a non-null value will short-circuit the save method, * returning that value instead. @@ -388,7 +387,7 @@ function _image_get_preview_ratio($w, $h) { * @return resource|false GD image resource, false otherwise. */ function _rotate_image_resource($img, $angle) { - _deprecated_function( __FUNCTION__, '3.5', __( 'Use WP_Image_Editor::rotate' ) ); + _deprecated_function( __FUNCTION__, '3.5.0', __( 'Use WP_Image_Editor::rotate' ) ); if ( function_exists('imagerotate') ) { $rotated = imagerotate($img, $angle, 0); if ( is_resource($rotated) ) { @@ -411,7 +410,7 @@ function _rotate_image_resource($img, $angle) { * @return resource (maybe) flipped image resource. */ function _flip_image_resource($img, $horz, $vert) { - _deprecated_function( __FUNCTION__, '3.5', __( 'Use WP_Image_Editor::flip' ) ); + _deprecated_function( __FUNCTION__, '3.5.0', __( 'Use WP_Image_Editor::flip' ) ); $w = imagesx($img); $h = imagesy($img); $dst = wp_imagecreatetruecolor($w, $h); @@ -458,13 +457,13 @@ function _crop_image_resource($img, $x, $y, $w, $h) { * * @since 2.9.0 * - * @param WP_Image_Editor $image {@see WP_Image_Editor} instance. + * @param WP_Image_Editor $image WP_Image_Editor instance. * @param array $changes Array of change operations. - * @return WP_Image_Editor {@see WP_Image_Editor} instance with changes applied. + * @return WP_Image_Editor WP_Image_Editor instance with changes applied. */ function image_edit_apply_changes( $image, $changes ) { if ( is_resource( $image ) ) - _deprecated_argument( __FUNCTION__, '3.5', __( '$image needs to be an WP_Image_Editor object' ) ); + _deprecated_argument( __FUNCTION__, '3.5.0', __( '$image needs to be an WP_Image_Editor object' ) ); if ( !is_array($changes) ) return $image; @@ -515,7 +514,7 @@ function image_edit_apply_changes( $image, $changes ) { if ( $image instanceof WP_Image_Editor ) { /** - * Filter the WP_Image_Editor instance before applying changes to the image. + * Filters the WP_Image_Editor instance before applying changes to the image. * * @since 3.5.0 * @@ -526,7 +525,7 @@ function image_edit_apply_changes( $image, $changes ) { } elseif ( is_resource( $image ) ) { /** - * Filter the GD image resource before applying changes to the image. + * Filters the GD image resource before applying changes to the image. * * @since 2.9.0 * @deprecated 3.5.0 Use wp_image_editor_before_change instead. @@ -586,8 +585,7 @@ function image_edit_apply_changes( $image, $changes ) { function stream_preview_image( $post_id ) { $post = get_post( $post_id ); - /** This filter is documented in wp-admin/admin.php */ - @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) ); + wp_raise_memory_limit( 'admin' ); $img = wp_get_image_editor( _load_image_to_edit_path( $post_id ) ); @@ -827,6 +825,21 @@ function wp_save_image( $post_id ) { $success = $delete = $nocrop = true; } + /* + * We need to remove any existing resized image files because + * a new crop or rotate could generate different sizes (and hence, filenames), + * keeping the new resized images from overwriting the existing image files. + * https://core.trac.wordpress.org/ticket/32171 + */ + if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE && ! empty( $meta['sizes'] ) ) { + foreach ( $meta['sizes'] as $size ) { + if ( ! empty( $size['file'] ) && preg_match( '/-e[0-9]{13}-/', $size['file'] ) ) { + $delete_file = path_join( $path_parts['dirname'], $size['file'] ); + wp_delete_file( $delete_file ); + } + } + } + if ( isset( $sizes ) ) { $_sizes = array();