public function test_update_wp_metadata_should_update_with_resized_original() { $tiny_image = new Tiny_Image(new Tiny_Settings(), 150, $this->json('_wp_attachment_metadata')); $response = array('output' => array('width' => 200, 'height' => 100)); $tiny_image->get_image_size()->add_tiny_meta_start(); $tiny_image->get_image_size()->add_tiny_meta($response); $tiny_image->add_wp_metadata(Tiny_Image::ORIGINAL, $tiny_image->get_image_size()); $tiny_image_metadata = $tiny_image->get_wp_metadata(); $this->assertEquals(200, $tiny_image_metadata['width']); $this->assertEquals(100, $tiny_image_metadata['height']); }
public function compress_image_for_bulk() { if (!$this->check_ajax_referer()) { exit; } if (!current_user_can('upload_files')) { $message = esc_html__("You don't have permission to upload files.", 'tiny-compress-images'); echo json_encode(array('error' => $message)); exit; } if (empty($_POST['id'])) { $message = esc_html__('Not a valid media file.', 'tiny-compress-images'); echo json_encode(array('error' => $message)); exit; } $id = intval($_POST['id']); $metadata = wp_get_attachment_metadata($id); if (!is_array($metadata)) { $message = esc_html__('Could not find metadata of media file.', 'tiny-compress-images'); echo json_encode(array('error' => $message)); exit; } $tiny_image_before = new Tiny_Image($this->settings, $id, $metadata); $image_statistics_before = $tiny_image_before->get_statistics(); $size_before = $image_statistics_before['optimized_total_size']; $tiny_image = new Tiny_Image($this->settings, $id, $metadata); $result = $tiny_image->compress($this->settings); $image_statistics = $tiny_image->get_statistics(); wp_update_attachment_metadata($id, $tiny_image->get_wp_metadata()); $current_library_size = intval($_POST['current_size']); $size_after = $image_statistics['optimized_total_size']; $new_library_size = $current_library_size + $size_after - $size_before; $result['message'] = $tiny_image->get_latest_error(); $result['image_sizes_optimized'] = $image_statistics['image_sizes_optimized']; $result['initial_total_size'] = size_format($image_statistics['initial_total_size'], 1); $result['optimized_total_size'] = size_format($image_statistics['optimized_total_size'], 1); $result['savings'] = $tiny_image->get_savings($image_statistics); $result['status'] = $this->settings->get_status(); $result['thumbnail'] = wp_get_attachment_image($id, array('30', '30'), true, array('class' => 'pinkynail', 'alt' => '')); $result['size_change'] = $size_after - $size_before; $result['human_readable_library_size'] = size_format($new_library_size, 2); echo json_encode($result); exit; }