示例#1
0
 public function render_media_column($column, $id)
 {
     if ($column === self::MEDIA_COLUMN) {
         $wp_metadata = wp_get_attachment_metadata($id);
         $wp_sizes = isset($wp_metadata['sizes']) ? array_keys($wp_metadata['sizes']) : array();
         $sizes = array_intersect($wp_sizes, $this->settings->get_tinify_sizes());
         $tiny_metadata = new Tiny_Metadata($id);
         $missing = $tiny_metadata->get_missing_sizes($sizes);
         $total = count($sizes);
         $success = $total - count($missing);
         if (count($missing) > 0) {
             printf(self::translate_escape('Compressed %d out of %d sizes'), $success, $total);
             echo '<br/>';
             if ($error = $tiny_metadata->get_latest_error()) {
                 echo '<span class="error">' . self::translate_escape('Latest error') . ': ' . self::translate_escape($error) . '<br/>';
             }
             echo '<button type="button" class="tinypng-compress" data-id="' . $id . '">' . self::translate_escape('Compress') . '</button>';
             echo '<div class="spinner"></div>';
         } else {
             $details = $tiny_metadata->get_value();
             printf(self::translate_escape('Compressed %d out of %d sizes'), $success, $total);
             echo '<br/>';
             echo self::translate_escape('Original size') . ': ' . size_format($details['input']['size']) . '<br/>';
             echo self::translate_escape('Compressed size') . ': ' . size_format($details['output']['size']);
         }
     }
 }