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 / ColumnFactory / Media / VideoPlayerFactory.php
codepress-admin-columns / classes / ColumnFactory / Media Last commit date
AlbumFactory.php 3 days ago AlternateTextFactory.php 3 days ago ArtistFactory.php 3 days ago AudioPlayerFactory.php 3 days ago AvailableSizesFactory.php 3 days ago CaptionFactory.php 3 days ago DimensionsFactory.php 3 days ago DownloadFactory.php 3 days ago ExifDataFactory.php 3 days ago FileMetaAudioFactory.php 3 days ago FileMetaVideoFactory.php 3 days ago FileNameFactory.php 3 days ago FileSizeFactory.php 3 days ago FullPathFactory.php 3 days ago HeightFactory.php 3 days ago ImageFactory.php 3 days ago MimeTypeFactory.php 3 days ago PreviewFactory.php 3 days ago VideoPlayerFactory.php 3 days ago WidthFactory.php 3 days ago
VideoPlayerFactory.php
72 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\ColumnFactory\Media;
6
7 use AC;
8 use AC\Column\BaseColumnFactory;
9 use AC\FormatterCollection;
10 use AC\Setting\ComponentCollection;
11 use AC\Setting\ComponentFactory\VideoDisplay;
12 use AC\Setting\Config;
13 use AC\Setting\DefaultSettingsBuilder;
14 use AC\Value\Extended\MediaPreview;
15
16 class VideoPlayerFactory extends BaseColumnFactory
17 {
18 private VideoDisplay $video_display;
19
20 public function __construct(
21 DefaultSettingsBuilder $default_settings_builder,
22 VideoDisplay $video_display
23 ) {
24 parent::__construct($default_settings_builder);
25
26 $this->video_display = $video_display;
27 }
28
29 protected function get_settings(Config $config): ComponentCollection
30 {
31 return new ComponentCollection([
32 $this->video_display->create($config),
33 ]);
34 }
35
36 protected function get_group(): ?string
37 {
38 return 'media-video';
39 }
40
41 public function get_column_type(): string
42 {
43 return 'column-video_player';
44 }
45
46 public function get_label(): string
47 {
48 return __('Video Player', 'codepress-admin-columns');
49 }
50
51 protected function get_formatters(Config $config): FormatterCollection
52 {
53 $formatters = new FormatterCollection([
54 new AC\Formatter\Media\Video\ValidMimeType(),
55 new AC\Formatter\Media\AttachmentUrl(),
56 ]);
57
58 if ($config->get('video_display', '') === 'embed') {
59 $formatters->add(new AC\Formatter\Media\VideoEmbed());
60 } else {
61 $formatters->add(
62 new AC\Formatter\Media\Video\ModalEmbedLink(
63 new MediaPreview()
64 )
65 );
66 }
67
68 return $formatters;
69 }
70
71 }
72