PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 3.0
Admin Columns v3.0
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Column / Media / AvailableSizes.php
codepress-admin-columns / classes / Column / Media Last commit date
Actions.php 9 years ago AlternateText.php 9 years ago AttachedTo.php 9 years ago Author.php 9 years ago AuthorName.php 9 years ago AvailableSizes.php 9 years ago Caption.php 9 years ago Comments.php 9 years ago Date.php 9 years ago Description.php 9 years ago Dimensions.php 9 years ago ExifData.php 9 years ago FileName.php 9 years ago FileSize.php 9 years ago FullPath.php 9 years ago Height.php 9 years ago ID.php 9 years ago Meta.php 9 years ago MimeType.php 9 years ago Parent.php 9 years ago Taxonomy.php 9 years ago Title.php 9 years ago Width.php 9 years ago
AvailableSizes.php
86 lines
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit;
5 }
6
7 /**
8 * @since 2.0
9 */
10 class AC_Column_Media_AvailableSizes extends AC_Column_Media_Meta {
11
12 private $intermediate_image_sizes = null;
13
14 public function __construct() {
15 parent::__construct();
16
17 $this->set_type( 'column-available_sizes' );
18 $this->set_label( __( 'Available Sizes', 'codepress-admin-columns' ) );
19 }
20
21 public function get_intermediate_image_sizes() {
22 if ( null === $this->intermediate_image_sizes ) {
23 $this->intermediate_image_sizes = get_intermediate_image_sizes();
24 }
25
26 return $this->intermediate_image_sizes;
27 }
28
29 public function get_available_sizes( $id ) {
30 $sizes = $this->get_raw_value( $id );
31
32 return $sizes ? array_intersect( array_keys( $sizes ), $this->get_intermediate_image_sizes() ) : false;
33 }
34
35 public function get_value( $id ) {
36 $sizes = $this->get_raw_value( $id );
37
38 if ( ! $sizes ) {
39 return $this->get_empty_char();
40 }
41
42 $paths = array();
43
44 // available sizes
45 if ( $intersect = array_intersect( array_keys( $sizes ), get_intermediate_image_sizes() ) ) {
46
47 $url = wp_get_attachment_url( $id );
48 $filename = basename( $url );
49 $paths[] = "<a title='{$filename}' href='{$url}'>" . __( 'full size', 'codepress-admin-columns' ) . "</a>";
50
51 foreach ( $intersect as $size ) {
52 $src = wp_get_attachment_image_src( $id, $size );
53
54 if ( ! empty( $src[0] ) ) {
55 $filename = basename( $src[0] );
56 $paths[] = "<a title='{$filename}' href='{$src[0]}' class='available'>{$size}</a>";
57 }
58 }
59 }
60
61 global $_wp_additional_image_sizes;
62
63 if ( ! empty( $_wp_additional_image_sizes ) ) {
64 if ( isset( $_wp_additional_image_sizes['post-thumbnail'] ) ) {
65 unset( $_wp_additional_image_sizes['post-thumbnail'] );
66 }
67
68 // image does not have these additional sizes rendered yet
69 if ( $missing = array_diff( array_keys( $_wp_additional_image_sizes ), array_keys( $sizes ) ) ) {
70 foreach ( $missing as $size ) {
71 $paths[] = "<span title='Missing size: Try regenerate thumbnails with the plugin: Force Regenerate Thumbnails' href='javascript:;' class='not-available'>{$size}</span>";
72 }
73 }
74 }
75
76 return "<div class='sizes'>" . implode( ac_helper()->html->divider(), $paths ) . "</div>";
77 }
78
79 public function get_raw_value( $id ) {
80 $value = parent::get_raw_value( $id );
81
82 return isset( $value['sizes'] ) ? $value['sizes'] : false;
83 }
84
85 }
86