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