PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
7.1.4 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 / Formatter / Media / ExifData.php
codepress-admin-columns / classes / Formatter / Media Last commit date
Audio 5 months ago Video 5 months ago AttachmentMetaData.php 5 months ago AttachmentUrl.php 5 months ago AudioPlayer.php 5 months ago AvailableSizes.php 5 months ago Dimensions.php 5 months ago Download.php 5 months ago ExifData.php 5 months ago FileLinkToUrl.php 5 months ago FileName.php 5 months ago FileSize.php 5 months ago Link.php 5 months ago NestedAttachmentMetaData.php 5 months ago NumberFormat.php 5 months ago PostMimeType.php 5 months ago PreviewViewLink.php 5 months ago VideoEmbed.php 5 months ago
ExifData.php
56 lines
1 <?php
2
3 namespace AC\Formatter\Media;
4
5 use AC\Exception\ValueNotFoundException;
6 use AC\Formatter;
7 use AC\Helper\Date;
8 use AC\Type\Value;
9 use DateTimeZone;
10
11 class ExifData implements Formatter
12 {
13
14 private string $exif_key;
15
16 public function __construct(string $exif_key)
17 {
18 $this->exif_key = $exif_key;
19 }
20
21 public function format(Value $value): Value
22 {
23 $exif_value = $value->get_value()[$this->exif_key] ?? null;
24
25 if (null === $exif_value) {
26 throw ValueNotFoundException::from_id($value->get_id());
27 }
28
29 switch ($this->exif_key) {
30 case 'created_timestamp' :
31 $timestamp = (int)$exif_value;
32
33 if ( ! $timestamp) {
34 throw ValueNotFoundException::from_id($value->get_id());
35 }
36
37 return $value->with_value(
38 wp_date(
39 Date::create()->get_date_time_format(),
40 $timestamp,
41 new DateTimeZone('UTC')
42 )
43 );
44 case 'keywords' :
45 if ( ! is_array($exif_value)) {
46 throw ValueNotFoundException::from_id($value->get_id());
47 }
48
49 return (new Formatter\ImplodeRecursive())->format($value->with_value($exif_value));
50
51 default:
52 return $value->with_value($exif_value);
53 }
54 }
55
56 }