diff -r c7c34916027a -r 177826044cd9 wp/wp-admin/includes/image-edit.php --- a/wp/wp-admin/includes/image-edit.php Mon Oct 14 18:06:33 2019 +0200 +++ b/wp/wp-admin/includes/image-edit.php Mon Oct 14 18:28:13 2019 +0200 @@ -9,34 +9,39 @@ /** * Loads the WP image-editing interface. * + * @since 2.9.0 + * * @param int $post_id Post ID. * @param bool|object $msg Optional. Message to display for image editor updates or errors. * Default false. */ -function wp_image_editor($post_id, $msg = false) { - $nonce = wp_create_nonce("image_editor-$post_id"); - $meta = wp_get_attachment_metadata($post_id); - $thumb = image_get_intermediate_size($post_id, 'thumbnail'); - $sub_sizes = isset($meta['sizes']) && is_array($meta['sizes']); - $note = ''; +function wp_image_editor( $post_id, $msg = false ) { + $nonce = wp_create_nonce( "image_editor-$post_id" ); + $meta = wp_get_attachment_metadata( $post_id ); + $thumb = image_get_intermediate_size( $post_id, 'thumbnail' ); + $sub_sizes = isset( $meta['sizes'] ) && is_array( $meta['sizes'] ); + $note = ''; - if ( isset( $meta['width'], $meta['height'] ) ) + if ( isset( $meta['width'], $meta['height'] ) ) { $big = max( $meta['width'], $meta['height'] ); - else - die( __('Image data does not exist. Please re-upload the image.') ); + } else { + die( __( 'Image data does not exist. Please re-upload the image.' ) ); + } $sizer = $big > 400 ? 400 / $big : 1; $backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true ); - $can_restore = false; - if ( ! empty( $backup_sizes ) && isset( $backup_sizes['full-orig'], $meta['file'] ) ) - $can_restore = $backup_sizes['full-orig']['file'] != basename( $meta['file'] ); + $can_restore = false; + if ( ! empty( $backup_sizes ) && isset( $backup_sizes['full-orig'], $meta['file'] ) ) { + $can_restore = $backup_sizes['full-orig']['file'] != wp_basename( $meta['file'] ); + } if ( $msg ) { - if ( isset($msg->error) ) + if ( isset( $msg->error ) ) { $note = "

$msg->error

"; - elseif ( isset($msg->msg) ) + } elseif ( isset( $msg->msg ) ) { $note = "

$msg->msg

"; + } } ?> @@ -49,10 +54,10 @@

-

+

- -

+ +

@@ -68,25 +73,29 @@ ! , 'scale')" class="button button-primary" value="" /> -
+ - +

-

+

+ ?> +

, 'restore')" class="button button-primary" value="" />
@@ -94,7 +103,7 @@
- +
@@ -102,13 +111,13 @@
-

+

-


-

+


+

-


-

+


+

@@ -140,15 +149,16 @@
- + ?>

-

+

@@ -162,15 +172,15 @@ + + +
@@ -182,20 +192,27 @@
- , this )" class="imgedit-crop button disabled" disabled> + get_post_mime_type( $post_id ), 'methods' => array( 'rotate' ) ) ) ) { - $note_no_rotate = ''; - ?> - + // On some setups GD library does not provide imagerotate() - Ticket #11536 + if ( wp_image_editor_supports( + array( + 'mime_type' => get_post_mime_type( $post_id ), + 'methods' => array( 'rotate' ), + ) + ) ) { + $note_no_rotate = ''; + ?> + - ' . __( 'Image rotation is not supported by your web host.' ) . '

'; - ?> - - - + ' . __( 'Image rotation is not supported by your web host.' ) . '

'; + ?> + + + @@ -213,7 +230,7 @@
- +
@@ -224,14 +241,16 @@
- +
-stream( $mime_type ) ) ) + if ( is_wp_error( $image->stream( $mime_type ) ) ) { return false; + } return true; } else { @@ -285,7 +305,9 @@ } /** - * Saves Image to File + * Saves image to file. + * + * @since 2.9.0 * * @param string $filename * @param WP_Image_Editor $image @@ -315,8 +337,9 @@ */ $saved = apply_filters( 'wp_save_image_editor_file', null, $filename, $image, $mime_type, $post_id ); - if ( null !== $saved ) + if ( null !== $saved ) { return $saved; + } return $image->save( $filename, $mime_type ); } else { @@ -342,12 +365,12 @@ */ $saved = apply_filters( 'wp_save_image_file', null, $filename, $image, $mime_type, $post_id ); - if ( null !== $saved ) + if ( null !== $saved ) { return $saved; + } switch ( $mime_type ) { case 'image/jpeg': - /** This filter is documented in wp-includes/class-wp-image-editor.php */ return imagejpeg( $image, $filename, apply_filters( 'jpeg_quality', 90, 'edit_image' ) ); case 'image/png': @@ -370,9 +393,9 @@ * @param int $h Image height in pixels. * @return float|int Image preview ratio. */ -function _image_get_preview_ratio($w, $h) { - $max = max($w, $h); - return $max > 400 ? (400 / $max) : 1; +function _image_get_preview_ratio( $w, $h ) { + $max = max( $w, $h ); + return $max > 400 ? ( 400 / $max ) : 1; } /** @@ -387,12 +410,12 @@ * @param float|int $angle Image rotation angle, in degrees. * @return resource|false GD image resource, false otherwise. */ -function _rotate_image_resource($img, $angle) { +function _rotate_image_resource( $img, $angle ) { _deprecated_function( __FUNCTION__, '3.5.0', 'WP_Image_Editor::rotate()' ); - if ( function_exists('imagerotate') ) { - $rotated = imagerotate($img, $angle, 0); - if ( is_resource($rotated) ) { - imagedestroy($img); + if ( function_exists( 'imagerotate' ) ) { + $rotated = imagerotate( $img, $angle, 0 ); + if ( is_resource( $rotated ) ) { + imagedestroy( $img ); $img = $rotated; } } @@ -412,19 +435,19 @@ * @param bool $vert Whether to flip vertically. * @return resource (maybe) flipped image resource. */ -function _flip_image_resource($img, $horz, $vert) { +function _flip_image_resource( $img, $horz, $vert ) { _deprecated_function( __FUNCTION__, '3.5.0', 'WP_Image_Editor::flip()' ); - $w = imagesx($img); - $h = imagesy($img); - $dst = wp_imagecreatetruecolor($w, $h); - if ( is_resource($dst) ) { - $sx = $vert ? ($w - 1) : 0; - $sy = $horz ? ($h - 1) : 0; + $w = imagesx( $img ); + $h = imagesy( $img ); + $dst = wp_imagecreatetruecolor( $w, $h ); + if ( is_resource( $dst ) ) { + $sx = $vert ? ( $w - 1 ) : 0; + $sy = $horz ? ( $h - 1 ) : 0; $sw = $vert ? -$w : $w; $sh = $horz ? -$h : $h; - if ( imagecopyresampled($dst, $img, 0, 0, $sx, $sy, $w, $h, $sw, $sh) ) { - imagedestroy($img); + if ( imagecopyresampled( $dst, $img, 0, 0, $sx, $sy, $w, $h, $sw, $sh ) ) { + imagedestroy( $img ); $img = $dst; } } @@ -444,11 +467,11 @@ * @param float $h Source height. * @return resource (maybe) cropped image resource. */ -function _crop_image_resource($img, $x, $y, $w, $h) { - $dst = wp_imagecreatetruecolor($w, $h); - if ( is_resource($dst) ) { - if ( imagecopy($dst, $img, 0, 0, $x, $y, $w, $h) ) { - imagedestroy($img); +function _crop_image_resource( $img, $x, $y, $w, $h ) { + $dst = wp_imagecreatetruecolor( $w, $h ); + if ( is_resource( $dst ) ) { + if ( imagecopy( $dst, $img, 0, 0, $x, $y, $w, $h ) ) { + imagedestroy( $img ); $img = $dst; } } @@ -465,52 +488,55 @@ * @return WP_Image_Editor WP_Image_Editor instance with changes applied. */ function image_edit_apply_changes( $image, $changes ) { - if ( is_resource( $image ) ) + if ( is_resource( $image ) ) { _deprecated_argument( __FUNCTION__, '3.5.0', __( '$image needs to be an WP_Image_Editor object' ) ); + } - if ( !is_array($changes) ) + if ( ! is_array( $changes ) ) { return $image; + } // Expand change operations. foreach ( $changes as $key => $obj ) { - if ( isset($obj->r) ) { - $obj->type = 'rotate'; + if ( isset( $obj->r ) ) { + $obj->type = 'rotate'; $obj->angle = $obj->r; - unset($obj->r); - } elseif ( isset($obj->f) ) { + unset( $obj->r ); + } elseif ( isset( $obj->f ) ) { $obj->type = 'flip'; $obj->axis = $obj->f; - unset($obj->f); - } elseif ( isset($obj->c) ) { + unset( $obj->f ); + } elseif ( isset( $obj->c ) ) { $obj->type = 'crop'; - $obj->sel = $obj->c; - unset($obj->c); + $obj->sel = $obj->c; + unset( $obj->c ); } - $changes[$key] = $obj; + $changes[ $key ] = $obj; } // Combine operations. - if ( count($changes) > 1 ) { - $filtered = array($changes[0]); + if ( count( $changes ) > 1 ) { + $filtered = array( $changes[0] ); for ( $i = 0, $j = 1, $c = count( $changes ); $j < $c; $j++ ) { $combined = false; - if ( $filtered[$i]->type == $changes[$j]->type ) { - switch ( $filtered[$i]->type ) { + if ( $filtered[ $i ]->type == $changes[ $j ]->type ) { + switch ( $filtered[ $i ]->type ) { case 'rotate': - $filtered[$i]->angle += $changes[$j]->angle; - $combined = true; + $filtered[ $i ]->angle += $changes[ $j ]->angle; + $combined = true; break; case 'flip': - $filtered[$i]->axis ^= $changes[$j]->axis; - $combined = true; + $filtered[ $i ]->axis ^= $changes[ $j ]->axis; + $combined = true; break; } } - if ( !$combined ) - $filtered[++$i] = $changes[$j]; + if ( ! $combined ) { + $filtered[ ++$i ] = $changes[ $j ]; + } } $changes = $filtered; - unset($filtered); + unset( $filtered ); } // Image resource before applying the changes. @@ -522,7 +548,7 @@ * @since 3.5.0 * * @param WP_Image_Editor $image WP_Image_Editor instance. - * @param array $changes Array of change operations. + * @param array $changes Array of change operations. */ $image = apply_filters( 'wp_image_editor_before_change', $image, $changes ); } elseif ( is_resource( $image ) ) { @@ -534,7 +560,7 @@ * @deprecated 3.5.0 Use wp_image_editor_before_change instead. * * @param resource $image GD image resource. - * @param array $changes Array of change operations. + * @param array $changes Array of change operations. */ $image = apply_filters( 'image_edit_before_change', $image, $changes ); } @@ -543,26 +569,29 @@ switch ( $operation->type ) { case 'rotate': if ( $operation->angle != 0 ) { - if ( $image instanceof WP_Image_Editor ) + if ( $image instanceof WP_Image_Editor ) { $image->rotate( $operation->angle ); - else + } else { $image = _rotate_image_resource( $image, $operation->angle ); + } } break; case 'flip': - if ( $operation->axis != 0 ) - if ( $image instanceof WP_Image_Editor ) - $image->flip( ($operation->axis & 1) != 0, ($operation->axis & 2) != 0 ); - else + if ( $operation->axis != 0 ) { + if ( $image instanceof WP_Image_Editor ) { + $image->flip( ( $operation->axis & 1 ) != 0, ( $operation->axis & 2 ) != 0 ); + } else { $image = _flip_image_resource( $image, ( $operation->axis & 1 ) != 0, ( $operation->axis & 2 ) != 0 ); + } + } break; case 'crop': $sel = $operation->sel; if ( $image instanceof WP_Image_Editor ) { $size = $image->get_size(); - $w = $size['width']; - $h = $size['height']; + $w = $size['width']; + $h = $size['height']; $scale = 1 / _image_get_preview_ratio( $w, $h ); // discard preview scaling $image->crop( $sel->x * $scale, $sel->y * $scale, $sel->w * $scale, $sel->h * $scale ); @@ -582,6 +611,8 @@ * Streams image in post to browser, along with enqueued changes * in $_REQUEST['history'] * + * @since 2.9.0 + * * @param int $post_id * @return bool */ @@ -596,21 +627,23 @@ return false; } - $changes = !empty($_REQUEST['history']) ? json_decode( wp_unslash($_REQUEST['history']) ) : null; - if ( $changes ) + $changes = ! empty( $_REQUEST['history'] ) ? json_decode( wp_unslash( $_REQUEST['history'] ) ) : null; + if ( $changes ) { $img = image_edit_apply_changes( $img, $changes ); + } // Scale the image. $size = $img->get_size(); - $w = $size['width']; - $h = $size['height']; + $w = $size['width']; + $h = $size['height']; $ratio = _image_get_preview_ratio( $w, $h ); - $w2 = max ( 1, $w * $ratio ); - $h2 = max ( 1, $h * $ratio ); + $w2 = max( 1, $w * $ratio ); + $h2 = max( 1, $h * $ratio ); - if ( is_wp_error( $img->resize( $w2, $h2 ) ) ) + if ( is_wp_error( $img->resize( $w2, $h2 ) ) ) { return false; + } return wp_stream_image( $img, $post->post_mime_type, $post_id ); } @@ -623,78 +656,83 @@ * @param int $post_id Attachment post ID. * @return stdClass Image restoration message object. */ -function wp_restore_image($post_id) { - $meta = wp_get_attachment_metadata($post_id); - $file = get_attached_file($post_id); +function wp_restore_image( $post_id ) { + $meta = wp_get_attachment_metadata( $post_id ); + $file = get_attached_file( $post_id ); $backup_sizes = $old_backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true ); - $restored = false; - $msg = new stdClass; + $restored = false; + $msg = new stdClass; - if ( !is_array($backup_sizes) ) { - $msg->error = __('Cannot load image metadata.'); + if ( ! is_array( $backup_sizes ) ) { + $msg->error = __( 'Cannot load image metadata.' ); return $msg; } - $parts = pathinfo($file); - $suffix = time() . rand(100, 999); + $parts = pathinfo( $file ); + $suffix = time() . rand( 100, 999 ); $default_sizes = get_intermediate_image_sizes(); - if ( isset($backup_sizes['full-orig']) && is_array($backup_sizes['full-orig']) ) { + if ( isset( $backup_sizes['full-orig'] ) && is_array( $backup_sizes['full-orig'] ) ) { $data = $backup_sizes['full-orig']; if ( $parts['basename'] != $data['file'] ) { - if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) { + if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE ) { // Delete only if it's an edited image. - if ( preg_match('/-e[0-9]{13}\./', $parts['basename']) ) { + if ( preg_match( '/-e[0-9]{13}\./', $parts['basename'] ) ) { wp_delete_file( $file ); } } elseif ( isset( $meta['width'], $meta['height'] ) ) { - $backup_sizes["full-$suffix"] = array('width' => $meta['width'], 'height' => $meta['height'], 'file' => $parts['basename']); + $backup_sizes[ "full-$suffix" ] = array( + 'width' => $meta['width'], + 'height' => $meta['height'], + 'file' => $parts['basename'], + ); } } - $restored_file = path_join($parts['dirname'], $data['file']); - $restored = update_attached_file($post_id, $restored_file); + $restored_file = path_join( $parts['dirname'], $data['file'] ); + $restored = update_attached_file( $post_id, $restored_file ); - $meta['file'] = _wp_relative_upload_path( $restored_file ); - $meta['width'] = $data['width']; + $meta['file'] = _wp_relative_upload_path( $restored_file ); + $meta['width'] = $data['width']; $meta['height'] = $data['height']; } foreach ( $default_sizes as $default_size ) { - if ( isset($backup_sizes["$default_size-orig"]) ) { - $data = $backup_sizes["$default_size-orig"]; - if ( isset($meta['sizes'][$default_size]) && $meta['sizes'][$default_size]['file'] != $data['file'] ) { - if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) { + if ( isset( $backup_sizes[ "$default_size-orig" ] ) ) { + $data = $backup_sizes[ "$default_size-orig" ]; + if ( isset( $meta['sizes'][ $default_size ] ) && $meta['sizes'][ $default_size ]['file'] != $data['file'] ) { + if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE ) { // Delete only if it's an edited image. - if ( preg_match('/-e[0-9]{13}-/', $meta['sizes'][$default_size]['file']) ) { - $delete_file = path_join( $parts['dirname'], $meta['sizes'][$default_size]['file'] ); + if ( preg_match( '/-e[0-9]{13}-/', $meta['sizes'][ $default_size ]['file'] ) ) { + $delete_file = path_join( $parts['dirname'], $meta['sizes'][ $default_size ]['file'] ); wp_delete_file( $delete_file ); } } else { - $backup_sizes["$default_size-{$suffix}"] = $meta['sizes'][$default_size]; + $backup_sizes[ "$default_size-{$suffix}" ] = $meta['sizes'][ $default_size ]; } } - $meta['sizes'][$default_size] = $data; + $meta['sizes'][ $default_size ] = $data; } else { - unset($meta['sizes'][$default_size]); + unset( $meta['sizes'][ $default_size ] ); } } if ( ! wp_update_attachment_metadata( $post_id, $meta ) || ( $old_backup_sizes !== $backup_sizes && ! update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes ) ) ) { - $msg->error = __('Cannot save image metadata.'); + $msg->error = __( 'Cannot save image metadata.' ); return $msg; } - if ( !$restored ) - $msg->error = __('Image metadata is inconsistent.'); - else - $msg->msg = __('Image restored successfully.'); + if ( ! $restored ) { + $msg->error = __( 'Image metadata is inconsistent.' ); + } else { + $msg->msg = __( 'Image restored successfully.' ); + } return $msg; } @@ -703,75 +741,80 @@ * Saves image to post along with enqueued changes * in $_REQUEST['history'] * + * @since 2.9.0 + * * @param int $post_id * @return \stdClass */ function wp_save_image( $post_id ) { $_wp_additional_image_sizes = wp_get_additional_image_sizes(); - $return = new stdClass; + $return = new stdClass; $success = $delete = $scaled = $nocrop = false; - $post = get_post( $post_id ); + $post = get_post( $post_id ); $img = wp_get_image_editor( _load_image_to_edit_path( $post_id, 'full' ) ); if ( is_wp_error( $img ) ) { - $return->error = esc_js( __('Unable to create new image.') ); + $return->error = esc_js( __( 'Unable to create new image.' ) ); return $return; } - $fwidth = !empty($_REQUEST['fwidth']) ? intval($_REQUEST['fwidth']) : 0; - $fheight = !empty($_REQUEST['fheight']) ? intval($_REQUEST['fheight']) : 0; - $target = !empty($_REQUEST['target']) ? preg_replace('/[^a-z0-9_-]+/i', '', $_REQUEST['target']) : ''; - $scale = !empty($_REQUEST['do']) && 'scale' == $_REQUEST['do']; + $fwidth = ! empty( $_REQUEST['fwidth'] ) ? intval( $_REQUEST['fwidth'] ) : 0; + $fheight = ! empty( $_REQUEST['fheight'] ) ? intval( $_REQUEST['fheight'] ) : 0; + $target = ! empty( $_REQUEST['target'] ) ? preg_replace( '/[^a-z0-9_-]+/i', '', $_REQUEST['target'] ) : ''; + $scale = ! empty( $_REQUEST['do'] ) && 'scale' == $_REQUEST['do']; if ( $scale && $fwidth > 0 && $fheight > 0 ) { $size = $img->get_size(); - $sX = $size['width']; - $sY = $size['height']; + $sX = $size['width']; + $sY = $size['height']; // Check if it has roughly the same w / h ratio. - $diff = round($sX / $sY, 2) - round($fwidth / $fheight, 2); + $diff = round( $sX / $sY, 2 ) - round( $fwidth / $fheight, 2 ); if ( -0.1 < $diff && $diff < 0.1 ) { // Scale the full size image. - if ( $img->resize( $fwidth, $fheight ) ) + if ( $img->resize( $fwidth, $fheight ) ) { $scaled = true; + } } - if ( !$scaled ) { - $return->error = esc_js( __('Error while saving the scaled image. Please reload the page and try again.') ); + if ( ! $scaled ) { + $return->error = esc_js( __( 'Error while saving the scaled image. Please reload the page and try again.' ) ); return $return; } - } elseif ( !empty($_REQUEST['history']) ) { - $changes = json_decode( wp_unslash($_REQUEST['history']) ); - if ( $changes ) - $img = image_edit_apply_changes($img, $changes); + } elseif ( ! empty( $_REQUEST['history'] ) ) { + $changes = json_decode( wp_unslash( $_REQUEST['history'] ) ); + if ( $changes ) { + $img = image_edit_apply_changes( $img, $changes ); + } } else { - $return->error = esc_js( __('Nothing to save, the image has not changed.') ); + $return->error = esc_js( __( 'Nothing to save, the image has not changed.' ) ); return $return; } - $meta = wp_get_attachment_metadata($post_id); + $meta = wp_get_attachment_metadata( $post_id ); $backup_sizes = get_post_meta( $post->ID, '_wp_attachment_backup_sizes', true ); - if ( !is_array($meta) ) { - $return->error = esc_js( __('Image data does not exist. Please re-upload the image.') ); + if ( ! is_array( $meta ) ) { + $return->error = esc_js( __( 'Image data does not exist. Please re-upload the image.' ) ); return $return; } - if ( !is_array($backup_sizes) ) + if ( ! is_array( $backup_sizes ) ) { $backup_sizes = array(); + } // Generate new filename. $path = get_attached_file( $post_id ); $basename = pathinfo( $path, PATHINFO_BASENAME ); - $dirname = pathinfo( $path, PATHINFO_DIRNAME ); - $ext = pathinfo( $path, PATHINFO_EXTENSION ); + $dirname = pathinfo( $path, PATHINFO_DIRNAME ); + $ext = pathinfo( $path, PATHINFO_EXTENSION ); $filename = pathinfo( $path, PATHINFO_FILENAME ); - $suffix = time() . rand(100, 999); + $suffix = time() . rand( 100, 999 ); - if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE && - isset($backup_sizes['full-orig']) && $backup_sizes['full-orig']['file'] != $basename ) { + if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE && + isset( $backup_sizes['full-orig'] ) && $backup_sizes['full-orig']['file'] != $basename ) { if ( 'thumbnail' == $target ) { $new_path = "{$dirname}/{$filename}-temp.{$ext}"; @@ -780,11 +823,11 @@ } } else { while ( true ) { - $filename = preg_replace( '/-e([0-9]+)$/', '', $filename ); - $filename .= "-e{$suffix}"; + $filename = preg_replace( '/-e([0-9]+)$/', '', $filename ); + $filename .= "-e{$suffix}"; $new_filename = "{$filename}.{$ext}"; - $new_path = "{$dirname}/$new_filename"; - if ( file_exists($new_path) ) { + $new_path = "{$dirname}/$new_filename"; + if ( file_exists( $new_path ) ) { $suffix++; } else { break; @@ -793,8 +836,8 @@ } // Save the full-size file, also needed to create sub-sizes. - if ( !wp_save_image_file($new_path, $img, $post->post_mime_type, $post_id) ) { - $return->error = esc_js( __('Unable to save the image.') ); + if ( ! wp_save_image_file( $new_path, $img, $post->post_mime_type, $post_id ) ) { + $return->error = esc_js( __( 'Unable to save the image.' ) ); return $return; } @@ -809,26 +852,31 @@ } if ( $tag ) { - $backup_sizes[$tag] = array('width' => $meta['width'], 'height' => $meta['height'], 'file' => $basename ); + $backup_sizes[ $tag ] = array( + 'width' => $meta['width'], + 'height' => $meta['height'], + 'file' => $basename, + ); } $success = ( $path === $new_path ) || update_attached_file( $post_id, $new_path ); $meta['file'] = _wp_relative_upload_path( $new_path ); - $size = $img->get_size(); - $meta['width'] = $size['width']; + $size = $img->get_size(); + $meta['width'] = $size['width']; $meta['height'] = $size['height']; - if ( $success && ('nothumb' == $target || 'all' == $target) ) { + if ( $success && ( 'nothumb' == $target || 'all' == $target ) ) { $sizes = get_intermediate_image_sizes(); - if ( 'nothumb' == $target ) - $sizes = array_diff( $sizes, array('thumbnail') ); + if ( 'nothumb' == $target ) { + $sizes = array_diff( $sizes, array( 'thumbnail' ) ); + } } $return->fw = $meta['width']; $return->fh = $meta['height']; } elseif ( 'thumbnail' == $target ) { - $sizes = array( 'thumbnail' ); + $sizes = array( 'thumbnail' ); $success = $delete = $nocrop = true; } @@ -852,16 +900,18 @@ foreach ( $sizes as $size ) { $tag = false; - if ( isset( $meta['sizes'][$size] ) ) { - if ( isset($backup_sizes["$size-orig"]) ) { - if ( ( !defined('IMAGE_EDIT_OVERWRITE') || !IMAGE_EDIT_OVERWRITE ) && $backup_sizes["$size-orig"]['file'] != $meta['sizes'][$size]['file'] ) + if ( isset( $meta['sizes'][ $size ] ) ) { + if ( isset( $backup_sizes[ "$size-orig" ] ) ) { + if ( ( ! defined( 'IMAGE_EDIT_OVERWRITE' ) || ! IMAGE_EDIT_OVERWRITE ) && $backup_sizes[ "$size-orig" ]['file'] != $meta['sizes'][ $size ]['file'] ) { $tag = "$size-$suffix"; + } } else { $tag = "$size-orig"; } - if ( $tag ) - $backup_sizes[$tag] = $meta['sizes'][$size]; + if ( $tag ) { + $backup_sizes[ $tag ] = $meta['sizes'][ $size ]; + } } if ( isset( $_wp_additional_image_sizes[ $size ] ) ) { @@ -874,7 +924,11 @@ $crop = ( $nocrop ) ? false : get_option( "{$size}_crop" ); } - $_sizes[ $size ] = array( 'width' => $width, 'height' => $height, 'crop' => $crop ); + $_sizes[ $size ] = array( + 'width' => $width, + 'height' => $height, + 'crop' => $crop, + ); } $meta['sizes'] = array_merge( $meta['sizes'], $img->multi_resize( $_sizes ) ); @@ -884,17 +938,17 @@ if ( $success ) { wp_update_attachment_metadata( $post_id, $meta ); - update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes); + update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes ); if ( $target == 'thumbnail' || $target == 'all' || $target == 'full' ) { // Check if it's an image edit from attachment edit screen if ( ! empty( $_REQUEST['context'] ) && 'edit-attachment' == $_REQUEST['context'] ) { - $thumb_url = wp_get_attachment_image_src( $post_id, array( 900, 600 ), true ); + $thumb_url = wp_get_attachment_image_src( $post_id, array( 900, 600 ), true ); $return->thumbnail = $thumb_url[0]; } else { - $file_url = wp_get_attachment_url($post_id); + $file_url = wp_get_attachment_url( $post_id ); if ( ! empty( $meta['sizes']['thumbnail'] ) && $thumb = $meta['sizes']['thumbnail'] ) { - $return->thumbnail = path_join( dirname($file_url), $thumb['file'] ); + $return->thumbnail = path_join( dirname( $file_url ), $thumb['file'] ); } else { $return->thumbnail = "$file_url?w=128&h=128"; } @@ -908,6 +962,6 @@ wp_delete_file( $new_path ); } - $return->msg = esc_js( __('Image saved') ); + $return->msg = esc_js( __( 'Image saved' ) ); return $return; }