PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.3.2
Admin Columns v4.3.2
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
Album.php 5 years ago AlternateText.php 5 years ago Artist.php 5 years ago Author.php 5 years ago AuthorName.php 5 years ago AvailableSizes.php 5 years ago Caption.php 5 years ago Comments.php 5 years ago Date.php 5 years ago Description.php 5 years ago Dimensions.php 5 years ago Download.php 5 years ago ExifData.php 5 years ago FileName.php 5 years ago FileSize.php 5 years ago FullPath.php 5 years ago Height.php 5 years ago ID.php 5 years ago MediaParent.php 5 years ago Menu.php 5 years ago Meta.php 5 years ago MetaValue.php 5 years ago MimeType.php 5 years ago Taxonomy.php 5 years ago Title.php 5 years ago Width.php 5 years ago
AvailableSizes.php
99 lines
1 <?php
2
3 namespace AC\Column\Media;
4
5 use AC\Column;
6 use AC\Settings;
7
8 /**
9 * @since 2.0
10 */
11 class AvailableSizes extends Column\Media\MetaValue {
12
13 public function __construct() {
14 parent::__construct();
15
16 $this->set_type( 'column-available_sizes' );
17 $this->set_label( __( 'Available Sizes', 'codepress-admin-columns' ) );
18 }
19
20 protected function get_option_name() {
21 return 'sizes';
22 }
23
24 public function get_value( $id ) {
25 $sizes = $this->get_raw_value( $id );
26
27 if ( ! $sizes ) {
28 return $this->get_empty_char();
29 }
30
31 $paths = [];
32
33 $available_sizes = $this->get_available_sizes( $sizes );
34
35 if ( $available_sizes ) {
36
37 $url = wp_get_attachment_url( $id );
38 $paths[] = ac_helper()->html->tooltip( ac_helper()->html->link( $url, __( 'original', 'codepress-admin-columns' ) ), basename( $url ) );
39
40 foreach ( $available_sizes as $size ) {
41 $src = wp_get_attachment_image_src( $id, $size );
42
43 if ( ! empty( $src[0] ) ) {
44 $paths[] = ac_helper()->html->tooltip( ac_helper()->html->link( $src[0], $size ), basename( $src[0] ) );
45 }
46 }
47 }
48
49 // include missing image sizes?
50 if ( '1' === $this->get_setting( 'include_missing_sizes' )->get_value() ) {
51
52 $missing = $this->get_missing_sizes( $sizes );
53
54 if ( $missing ) {
55 foreach ( $missing as $size ) {
56 $paths[] = ac_helper()->html->tooltip( $size, sprintf( __( 'Missing image file for size %s.', 'codepress-admin-columns' ), '<em>"' . $size . '"</em>' ), [ 'class' => 'ac-missing-size' ] );
57 }
58 }
59 }
60
61 return "<div class='ac-image-sizes'>" . implode( ac_helper()->html->divider(), $paths ) . "</div>";
62 }
63
64 /**
65 * @param array $image_sizes
66 *
67 * @return array
68 */
69 public function get_available_sizes( $image_sizes ) {
70 return array_intersect( array_keys( (array) $image_sizes ), (array) get_intermediate_image_sizes() );
71 }
72
73 /**
74 * @param array $image_sizes
75 *
76 * @return array
77 */
78 public function get_missing_sizes( $image_sizes ) {
79 global $_wp_additional_image_sizes;
80
81 if ( empty( $_wp_additional_image_sizes ) ) {
82 return [];
83 }
84
85 $additional_size = $_wp_additional_image_sizes;
86
87 if ( isset( $additional_size['post-thumbnail'] ) ) {
88 unset( $additional_size['post-thumbnail'] );
89 }
90
91 // image does not have these additional sizes rendered yet
92 return array_diff( array_keys( (array) $additional_size ), array_keys( (array) $image_sizes ) );
93 }
94
95 public function register_settings() {
96 $this->add_setting( new Settings\Column\MissingImageSize( $this ) );
97 }
98
99 }