Add videos: library, block and section background
Videos join the media library as their own table (schema v28), with a video block and a looping background on sections. video.js starts loops only while visible, offers a pause button and leaves the still image for reduced motion and data saving. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWYm8kjAWmZaB2QB2xuBhU
This commit is contained in:
1 parent
592e3d5342
commit
76613b9f8e
25 files changed
+674
-20
No files matched your search
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace DoctrineMigrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
|
||||
final class Version20261104000100 extends AbstractMigration
|
||||
{
|
||||
public function getDescription(): string
|
||||
{
|
||||
return 'Videos in der Mediathek: fuer den Video-Baustein und den Hintergrund einer Sektion.';
|
||||
}
|
||||
|
||||
public function isTransactional(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
// Eine eigene Tabelle wie bei den Dokumenten: jede Stelle, die ein Bild sucht, erwartet
|
||||
// Varianten mit Breite und Hoehe.
|
||||
$video = $schema->createTable('video');
|
||||
$video->addColumn('id', 'string', ['length' => 32]);
|
||||
$video->addColumn('title', 'string', ['length' => 160]);
|
||||
$video->addColumn('mime', 'string', ['length' => 16]);
|
||||
$video->addColumn('bytes', 'integer');
|
||||
$video->addColumn('archived', 'boolean', ['default' => false]);
|
||||
$video->addColumn('version', 'integer', ['default' => 1]);
|
||||
$video->addColumn('created_at', 'datetime_immutable');
|
||||
$video->setPrimaryKey(['id']);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
$schema->dropTable('video');
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user