Ticket #19889: 19889.diff

File 19889.diff, 1.4 KB (added by Otto42, 16 months ago)

Change image-edit.php to account for additional sizes on save

Line 
1Index: wp-admin/includes/image-edit.php
2===================================================================
3--- wp-admin/includes/image-edit.php    (revision 19743)
4+++ wp-admin/includes/image-edit.php    (working copy)
5@@ -492,6 +492,8 @@
6 }
7 
8 function wp_save_image($post_id) {
9+       global $_wp_additional_image_sizes;
10+       
11        $return = new stdClass;
12        $success = $delete = $scaled = $nocrop = false;
13        $post = get_post($post_id);
14@@ -628,9 +630,23 @@
15                                if ( $tag )
16                                        $backup_sizes[$tag] = $meta['sizes'][$size];
17                        }
18+                       
19+                       $crop = false;
20+                       if (!$nocrop) {
21+                               if ( isset( $_wp_additional_image_sizes[$size]['crop'] ) )
22+                                       $crop = $_wp_additional_image_sizes[$size]['crop'];
23+                               else $crop = get_option("{$size}_crop");
24+                       }
25+                       
26+                       if ( isset( $_wp_additional_image_sizes[$size]['width'] ) )
27+                               $width = $_wp_additional_image_sizes[$size]['width'];
28+                       else $width = get_option("{$size}_size_w");
29+                       
30+                       if ( isset( $_wp_additional_image_sizes[$size]['height'] ) )
31+                               $height = $_wp_additional_image_sizes[$size]['height'];
32+                       else $height = get_option("{$size}_size_h");
33 
34-                       $crop = $nocrop ? false : get_option("{$size}_crop");
35-                       $resized = image_make_intermediate_size($new_path, get_option("{$size}_size_w"), get_option("{$size}_size_h"), $crop );
36+                       $resized = image_make_intermediate_size($new_path, $width, $height, $crop );
37 
38                        if ( $resized )
39                                $meta['sizes'][$size] = $resized;