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 / AudioPlayer.php
codepress-admin-columns / classes / Formatter / Media Last commit date
Audio 2 days ago Video 2 days ago AttachmentMetaData.php 2 days ago AttachmentUrl.php 2 days ago AudioPlayer.php 2 days ago AvailableSizes.php 2 days ago Dimensions.php 2 days ago Download.php 2 days ago ExifData.php 2 days ago FileLinkToUrl.php 2 days ago FileName.php 2 days ago FileSize.php 2 days ago Link.php 2 days ago NestedAttachmentMetaData.php 2 days ago NumberFormat.php 2 days ago PostMimeType.php 2 days ago PreviewViewLink.php 2 days ago VideoEmbed.php 2 days ago
AudioPlayer.php
49 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Formatter\Media;
6
7 use AC\ApplyFilter\ValidAudioMimetypes;
8 use AC\Exception\ValueNotFoundException;
9 use AC\Formatter;
10 use AC\Type\Value;
11
12 class AudioPlayer implements Formatter
13 {
14 public function format(Value $value): Value
15 {
16 $src = $this->is_valid_mime_type($value->get_id())
17 ? wp_get_attachment_url($value->get_id())
18 : null;
19
20 if (! $src) {
21 throw new ValueNotFoundException();
22 }
23
24 return $value->with_value(
25 sprintf(
26 '<audio controls preload="none" src="%s">%s</audio>',
27 esc_url($src),
28 __('No support for audio player', 'codepress-admin-columns')
29 )
30 );
31 }
32
33 private function get_valid_mime_types(): array
34 {
35 return (new ValidAudioMimetypes())->apply_filters();
36 }
37
38 private function is_valid_mime_type($id): bool
39 {
40 return in_array($this->get_mime_type($id), $this->get_valid_mime_types(), true);
41 }
42
43 private function get_mime_type($id): string
44 {
45 return (string)get_post_field('post_mime_type', $id);
46 }
47
48 }
49