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 / Setting / ComponentFactory / Media / FileMetaVideo.php
codepress-admin-columns / classes / Setting / ComponentFactory / Media Last commit date
FileMetaAudio.php 2 days ago FileMetaVideo.php 2 days ago
FileMetaVideo.php
96 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Setting\ComponentFactory\Media;
6
7 use AC;
8 use AC\FormatterCollection;
9 use AC\Setting\ComponentFactory\BaseComponentFactory;
10 use AC\Setting\Config;
11 use AC\Setting\Control\Input;
12 use AC\Setting\Control\Input\OptionFactory;
13 use AC\Setting\Control\OptionCollection;
14
15 class FileMetaVideo extends BaseComponentFactory
16 {
17 protected function get_label(Config $config): ?string
18 {
19 return __('Video Meta');
20 }
21
22 protected function get_input(Config $config): ?Input
23 {
24 return OptionFactory::create_select(
25 'media_meta_key',
26 $this->get_meta_options(),
27 $config->get('media_meta_key', '')
28 );
29 }
30
31 protected function get_meta_options(): OptionCollection
32 {
33 $video_types = [
34 'created_timestamp' => __('Created Timestamp', 'codepress-admin-columns'),
35 'dataformat' => __('Dataformat', 'codepress-admin-columns'),
36 'fileformat' => __('Fileformat', 'codepress-admin-columns'),
37 'height' => __('Height', 'codepress-admin-columns'),
38 'length' => __('Length', 'codepress-admin-columns'),
39 'length_formatted' => __('Length Formatted', 'codepress-admin-columns'),
40 'width' => __('Width', 'codepress-admin-columns'),
41 ];
42
43 natcasesort($video_types);
44
45 $audio_types = [
46 'audio.bits_per_sample' => __('Bits Per Sample', 'codepress-admin-columns'),
47 'audio.channelmode' => __('Channelmode', 'codepress-admin-columns'),
48 'audio.channels' => __('Channels', 'codepress-admin-columns'),
49 'audio.codec' => __('Codec', 'codepress-admin-columns'),
50 'audio.dataformat' => __('Dataformat', 'codepress-admin-columns'),
51 'audio.lossless' => __('Losless', 'codepress-admin-columns'),
52 'audio.sample_rate' => __('Sample Rate', 'codepress-admin-columns'),
53 ];
54
55 $audio_types = array_map([$this, 'wrap_audio_string'], $audio_types);
56
57 natcasesort($audio_types);
58
59 $types = array_merge($video_types, $audio_types);
60
61 return OptionCollection::from_array($types);
62 }
63
64 protected function add_formatters(Config $config, FormatterCollection $formatters): void
65 {
66 switch ($config->get('media_meta_key', '')) {
67 case 'height':
68 case 'width':
69 $formatters->add(new AC\Formatter\Suffix('px'));
70 break;
71 case 'length':
72 $formatters->add(new AC\Formatter\Suffix('sec'));
73 break;
74 case 'audio.channels':
75 $formatters->add(new AC\Formatter\Suffix('channels'));
76 break;
77 case 'audio.sample_rate':
78 $formatters->add(new AC\Formatter\Suffix('Hz'));
79 break;
80 case 'created_timestamp':
81 $formatters->add(
82 new AC\Formatter\Date\LocalizedDateFormat(
83 AC\Helper\WpDateFormat::date_time(),
84 'U'
85 )
86 );
87 break;
88 }
89 }
90
91 private function wrap_audio_string($string): string
92 {
93 return sprintf('%s (%s)', $string, __('audio', 'codepress-admin-columns'));
94 }
95 }
96