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 / Settings / Column / ExifData.php
codepress-admin-columns / classes / Settings / Column Last commit date
BeforeAfter 5 years ago Pro 5 years ago ActionIcons.php 5 years ago AttachmentDisplay.php 5 years ago BeforeAfter.php 5 years ago CharacterLimit.php 5 years ago Comment.php 5 years ago CommentCount.php 5 years ago CommentLink.php 5 years ago CustomField.php 5 years ago CustomFieldType.php 5 years ago Date.php 5 years ago DateTimeFormat.php 5 years ago ExifData.php 5 years ago Image.php 5 years ago Images.php 5 years ago Label.php 5 years ago LinkLabel.php 5 years ago LinkToMenu.php 5 years ago MediaLink.php 5 years ago Message.php 5 years ago Meta.php 5 years ago MissingImageSize.php 5 years ago NumberFormat.php 5 years ago NumberOfItems.php 5 years ago Password.php 5 years ago PathScope.php 5 years ago Post.php 5 years ago PostFormatIcon.php 5 years ago PostLink.php 5 years ago PostStatus.php 5 years ago PostType.php 5 years ago Pro.php 5 years ago Separator.php 5 years ago StatusIcon.php 5 years ago StringLimit.php 5 years ago Taxonomy.php 5 years ago Term.php 5 years ago TermLink.php 5 years ago Time.php 5 years ago Toggle.php 5 years ago Type.php 5 years ago User.php 5 years ago UserLink.php 5 years ago Width.php 5 years ago WordLimit.php 5 years ago WordsPerMinute.php 5 years ago
ExifData.php
129 lines
1 <?php
2
3 namespace AC\Settings\Column;
4
5 use AC\Settings;
6 use AC\View;
7
8 class ExifData extends Settings\Column
9 implements Settings\FormatValue {
10
11 const NAME = 'exif_data';
12
13 /**
14 * @var string
15 */
16 private $exif_datatype;
17
18 protected function set_name() {
19 $this->name = self::NAME;
20 }
21
22 protected function define_options() {
23 return [ 'exif_datatype' => 'aperture' ];
24 }
25
26 public function create_view() {
27 $setting = $this->create_element( 'select' )
28 ->set_attribute( 'data-label', 'update' )
29 ->set_attribute( 'data-refresh', 'column' )
30 ->set_options( $this->get_exif_types() );
31
32 return new View( [
33 'label' => $this->column->get_label(),
34 'setting' => $setting,
35 ] );
36 }
37
38 public function get_dependent_settings() {
39
40 switch ( $this->get_exif_datatype() ) {
41 case 'aperture' :
42 $settings = [ new Settings\Column\BeforeAfter\Aperture( $this->column ) ];
43
44 break;
45 case 'focal_length' :
46 $settings = [ new Settings\Column\BeforeAfter\FocalLength( $this->column ) ];
47
48 break;
49 case 'iso' :
50 $settings = [ new Settings\Column\BeforeAfter\ISO( $this->column ) ];
51
52 break;
53 case 'shutter_speed' :
54 $settings = [ new Settings\Column\BeforeAfter\ShutterSpeed( $this->column ) ];
55
56 break;
57 default :
58 $settings = [ new Settings\Column\BeforeAfter( $this->column ) ];
59 }
60
61 return $settings;
62 }
63
64 /**
65 * Get EXIF data
66 * Get extended image metadata
67 * @return array EXIF data types
68 * @since 2.0
69 */
70 private function get_exif_types() {
71 $exif_types = [
72 'aperture' => __( 'Aperture', 'codepress-admin-columns' ),
73 'credit' => __( 'Credit', 'codepress-admin-columns' ),
74 'camera' => __( 'Camera', 'codepress-admin-columns' ),
75 'caption' => __( 'Caption', 'codepress-admin-columns' ),
76 'created_timestamp' => __( 'Timestamp', 'codepress-admin-columns' ),
77 'copyright' => __( 'Copyright', 'codepress-admin-columns' ),
78 'focal_length' => __( 'Focal Length', 'codepress-admin-columns' ),
79 'iso' => __( 'ISO', 'codepress-admin-columns' ),
80 'shutter_speed' => __( 'Shutter Speed', 'codepress-admin-columns' ),
81 'title' => __( 'Title', 'codepress-admin-columns' ),
82 'orientation' => __( 'Orientation', 'codepress-admin-columns' ),
83 'keywords' => __( 'Keywords', 'codepress-admin-columns' ),
84 ];
85
86 natcasesort( $exif_types );
87
88 return $exif_types;
89 }
90
91 /**
92 * @return string
93 */
94 public function get_exif_datatype() {
95 return $this->exif_datatype;
96 }
97
98 /**
99 * @param string $exif_datatype
100 *
101 * @return bool
102 */
103 public function set_exif_datatype( $exif_datatype ) {
104 $this->exif_datatype = $exif_datatype;
105
106 return true;
107 }
108
109 public function format( $value, $original_value ) {
110 $exif_datatype = $this->get_exif_datatype();
111 $value = isset( $value[ $exif_datatype ] ) ? $value[ $exif_datatype ] : '';
112
113 if ( false != $value ) {
114 switch ( $exif_datatype ) {
115 case 'created_timestamp' :
116 $value = ac_format_date( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $value );
117
118 break;
119 case 'keywords' :
120 $value = ac_helper()->array->implode_recursive( ', ', $value );
121
122 break;
123 }
124 }
125
126 return $value;
127 }
128
129 }