* @license GPL2 or any later version * * @since Stud.IP 5.0 */ class Video extends BlockType { public static function getType(): string { return 'video'; } public static function getTitle(): string { return _('Video'); } public static function getDescription(): string { return _('Spielt ein Video aus dem Dateibereich oder von einer URL ab.'); } public function initialPayload(): array { return [ 'title' => 'Video', 'source' => 'studip', 'file_id' => '', 'web_url' => '', 'aspect' => '169', 'autoplay' => 'disabled', 'context_menu' => 'enabled', ]; } public static function getJsonSchema(): string { $schemaFile = __DIR__.'/Video.json'; return file_get_contents($schemaFile); } /** * get all files related to this bloc. * * @return \FileRef[] list of file references realted to this block */ public function getFiles(): array { $payload = $this->getPayload(); $files = []; if ($payload['file_id']) { $files[] = \FileRef::find($payload['file_id']); } return $files; } public function copyPayload(string $rangeId = ''): array { $payload = $this->getPayload(); if ('' != $payload['file_id']) { $payload['file_id'] = $this->copyFileById($payload['file_id'], $rangeId); } return $payload; } public static function getCategories(): array { return ['multimedia']; } public static function getContentTypes(): array { return ['video']; } public static function getFileTypes(): array { return ['video']; } public static function getTags(): array { return [ _('Datei'), _('Upload'), _('abspielen'), _('Medien'), _('Einstieg'), _('Film'), _('PowerPoint'), _('Lernvideo'), _('Lehrvideo'), _('Lernfilm'), _('Screencast'), _('Aufzeichnung'), _('Präsentation'), _('Erklärfilm'), _('Visualisierung'), _('Veranschaulichung'), 'mp4', 'avi', 'mkv', _('Inhalt erstellen'), _('Input'), _('Illustration'), _('Vertiefung') ]; } }