]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7259 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 25 Apr 2025 08:27:43 +0000 (10:27 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 25 Apr 2025 08:27:43 +0000 (10:27 +0200)
app/SubForms/Link/Video.php
app/SubForms/VideoTrack.php [new file with mode: 0644]

index a4599a3efdc0d2fb19607c2560fecab9f2414635..2edcb66d0b4ede6a2b1729e9c5297efde1db8b0a 100644 (file)
@@ -3,8 +3,11 @@
 namespace App\SubForms\Link;
 
 use App\Fluidbook\Link\Link;
+use App\SubForms\VideoTrack;
+use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple;
 use Cubist\Backpack\Magic\Fields\CheckboxBasic;
 use Cubist\Backpack\Magic\Fields\FilesOrURL;
+use Cubist\Backpack\Magic\Fields\FormSection;
 
 // __('!! Editeur de liens')
 class Video extends Base
@@ -15,8 +18,9 @@ class Video extends Base
 
     public function addDestinationField()
     {
+        VideoTrack::$_filesOrURLAttributes = $this->getFilesOrURLEntry();
+
         $this->addField('to', FilesOrURL::class, __('Fichier vidéo'), $this->getFilesOrURLEntry() + ['accept' => self::$_acceptVideo]);
-        $this->addField('tracks', FilesOrURL::class, __('Sous-titres'), $this->getFilesOrURLEntry() + ['accept' => self::$_acceptSubtitles]);
     }
 
     public function addMultimediaFields()
@@ -28,5 +32,8 @@ class Video extends Base
         $this->addField('video_loop', CheckboxBasic::class, __('Jouer la vidéo en boucle'), ['default' => false]);
 
         $this->addMultimediaSizeFields();
+
+        $this->addField('header_tracks', FormSection::class, __('Pistes de sous-titres, descriptions et chapitres'));
+        $this->addField('tracks', BunchOfFieldsMultiple::class, '', ['bunch' => VideoTrack::class, 'add_label' => __('Ajouter une piste'),'edit_label'=>'%kind : %label']);
     }
 }
diff --git a/app/SubForms/VideoTrack.php b/app/SubForms/VideoTrack.php
new file mode 100644 (file)
index 0000000..3c58e71
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+
+namespace App\SubForms;
+
+use Cubist\Backpack\Magic\Fields\FilesOrURL;
+use Cubist\Backpack\Magic\Fields\Locale;
+use Cubist\Backpack\Magic\Fields\SelectFromArray;
+use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\SubForm;
+
+class VideoTrack extends SubForm
+{
+    public static $_filesOrURLAttributes = [];
+
+    public function init()
+    {
+        parent::init();
+
+        $this->addField('label', Text::class, __('Label'),['hint'=>__('Texte affiché dans le lecteur vidéo pour désigner la piste. (Recommandé)')]);
+        $this->addField('file', FilesOrURL::class, __('Fichier'), self::$_filesOrURLAttributes + ['accept' => ['.vtt']]);
+        $this->addField('kind', SelectFromArray::class, __('Type'), ['default' => 'captions', 'allows_null' => false, 'ajax' => false, 'options' => ['captions' => 'Captions', 'subtitles' => 'Subtitles', 'descriptions' => 'Descriptions', 'chapters' => 'Chapters']]);
+        $this->addField('srclang', Locale::class, __('Langue'), ['allows_null' => true, 'ajax' => false, 'hint' => __('Laisser vide pour utiliser la langue de la publication')]);;
+    }
+
+
+}