From a574a8095edab6b68ea5ff0a39232f9585c90881 Mon Sep 17 00:00:00 2001 From: jeph864 Date: Fri, 2 May 2025 09:50:10 +0200 Subject: [PATCH 1/5] Fix: Download videos instead of playlists --- classes/class.xvmp.php | 50 +++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/classes/class.xvmp.php b/classes/class.xvmp.php index 87ee3099..206e57b2 100644 --- a/classes/class.xvmp.php +++ b/classes/class.xvmp.php @@ -160,24 +160,48 @@ public static function deliverMedium(xvmpMedium $medium) $medium_url = $medium_url[0]; } $download_url = $medium_url . '?token=' . xvmp::getToken(); - $extension = pathinfo($medium_url)['extension']; + $download_url = $medium->getSource(); + $extension = pathinfo($download_url)['extension']; // get filesize $ch = curl_init($download_url); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_HEADER, true); - curl_setopt($ch, CURLOPT_NOBODY, true); - curl_exec($ch); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); + curl_setopt($ch, CURLOPT_HEADER, TRUE); + //curl_setopt($ch, CURLOPT_NOBODY, TRUE); + + curl_setopt($ch, CURLOPT_COOKIESESSION, true); + curl_setopt($ch, CURLOPT_COOKIEFILE, CLIENT_DATA_DIR . "/temp/vimp_cookie.txt"); + + + $response = curl_exec($ch); $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); - curl_close($ch); - + + $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); + $headers = substr($response, 0, $header_size); + $body = substr($response, $header_size); + + $filename = $medium->getTitle() . '.' . 'mp4'; // Default filename + $content_type = 'application/octet-stream'; // Default content type + if (preg_match('/content-disposition:.*filename=["\']?([^"\']+)/', $headers, $matches)) { + $filename = $matches[1]; + } + + if (preg_match('/Content-Type:\s*([^\s]+)/i', $headers, $matches)) { + $content_type = $matches[1]; + } // deliver file header('Content-Description: File Transfer'); - header('Content-Type: video/' . $extension); - header('Content-Disposition: attachment; filename="' . $medium->getTitle() . '.' . $extension); - header('Content-Length: ' . $size); - readfile($download_url); - exit; + header('Content-Type: ' . $content_type); + header('Content-Disposition: attachment; filename="' . $filename); + header('Content-Transfer-Encoding: binary'); + header('Content-Length: ' . strlen($body)); + header('Cache-Control: post-check=0, pre-check=0, max-age=0'); + header('Pragma: public'); + header('Expires: 0'); + + echo $body; + curl_close($ch); + } /** From 5aeab1d3b0d9c19e43dd1fcd4a56f12755365701 Mon Sep 17 00:00:00 2001 From: jeph864 Date: Fri, 2 May 2025 10:28:30 +0200 Subject: [PATCH 2/5] Feature: Add streaming links, adjust the permissions & language variables --- classes/GUI/Abstract/class.xvmpGUI.php | 35 ++++++++++++++++++++++++++ classes/class.ilObjViMPAccess.php | 13 ++++++++++ lang/ilias_de.lang | 1 + lang/ilias_en.lang | 1 + sql/dbupdate.php | 13 ++++++++++ 5 files changed, 63 insertions(+) diff --git a/classes/GUI/Abstract/class.xvmpGUI.php b/classes/GUI/Abstract/class.xvmpGUI.php index 4d26a7f8..ea57a964 100644 --- a/classes/GUI/Abstract/class.xvmpGUI.php +++ b/classes/GUI/Abstract/class.xvmpGUI.php @@ -255,6 +255,7 @@ public function buildPlayerContainerDTO(xvmpMedium $medium) : PlayerContainerDTO $buttons = []; if (!is_null($this->getObject())) { $buttons[] = $this->buildPermLinkUI($medium); + $buttons[] = $this->buildStreamingLink($medium); } if ($medium->isDownloadAllowed()) { @@ -333,6 +334,40 @@ public function buildPermLinkUI(xvmpMedium $video) : array ]; } + /** + * @param xvmpMedium $video + * @return ILIAS\UI\Component\Component[] + */ + public function buildStreamingLink($video) + { + $medium = $video->getMedium(); + if (is_array($medium)){ + $medium = $medium[0]; + } + // decode url + $medium = str_replace('&', '&', $medium); + $link_container = ''; + + if(ilObjViMPAccess::hasAccessToStreamingLink()){ + $link_container = ''; + + $copy_js = ""; + return [ + $this->dic->ui()->factory()->legacy( + '' + ), + $this->dic->ui()->factory()->legacy($link_container), + $this->dic->ui()->factory()->legacy($copy_js) + ]; + } + return []; + } + /** * ajax * @throws xvmpException diff --git a/classes/class.ilObjViMPAccess.php b/classes/class.ilObjViMPAccess.php index 0bfc2d8a..6b4cccd8 100644 --- a/classes/class.ilObjViMPAccess.php +++ b/classes/class.ilObjViMPAccess.php @@ -146,6 +146,19 @@ public static function hasUploadPermission($ref_id = null) : bool return $ilAccess->checkAccess('rep_robj_xvmp_perm_upload', '', (int) $ref_id); } + /** + * @param $ref_id + * + * @return bool + */ + public static function hasAccessToStreamingLink($ref_id = NULL) { + if ($ref_id === NULL) { + $ref_id = $_GET['ref_id']; + } + global $DIC; + $ilAccess = $DIC['ilAccess']; + return $ilAccess->checkAccess('rep_robj_xvmp_perm_readlink', '',(int)$ref_id); + } /** * @param string $cmd * @param string $permission diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 1e17fc0b..9719c202 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -203,6 +203,7 @@ btn_copy_link#:#Link kopieren btn_copy_link_w_time#:#Link mit Zeitangabe kopieren btn_download#:#Download popover_link_copied#:#Link in Zwischenablage kopiert +perm_readlink#:#Link zum ViMP-Video availability_between#:#Verfügbar %s - %s availability_from#:#Verfügbar ab %s availability_to#:#Verfügbar bis %s diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index c149454b..a807fe66 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -203,6 +203,7 @@ btn_copy_link#:#Copy Link btn_copy_link_w_time#:#Copy Link with current time btn_download#:#Download popover_link_copied#:#Link copied to dashboard +perm_readlink#:#Streaming URL availability_between#:#Available %s - %s availability_from#:#Available from %s availability_to#:#Available until %s diff --git a/sql/dbupdate.php b/sql/dbupdate.php index 772422d0..633441c9 100644 --- a/sql/dbupdate.php +++ b/sql/dbupdate.php @@ -125,4 +125,17 @@ xvmpConf::set(xvmpConf::F_FORM_FIELDS, $form_fields); } } +?> +<#11> + \ No newline at end of file From d7005b88f0d0361f27e609b4f6eb74cd77b0153e Mon Sep 17 00:00:00 2001 From: jeph864 Date: Fri, 2 May 2025 11:18:29 +0200 Subject: [PATCH 3/5] Feature: Session based views counting --- classes/class.ilObjViMPGUI.php | 12 ++++++++++++ src/UIComponents/Player/VideoPlayer.php | 13 +++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/classes/class.ilObjViMPGUI.php b/classes/class.ilObjViMPGUI.php index 836579f3..71093589 100644 --- a/classes/class.ilObjViMPGUI.php +++ b/classes/class.ilObjViMPGUI.php @@ -202,6 +202,10 @@ public function executeCommand() : void $this->deleteObject(); break; } + if($cmd == 'count_views') { + ilObjViMPGUI::countViews(); + break; + } parent::executeCommand(); break; } @@ -443,6 +447,14 @@ public function getPicture() : void $key = $_GET['key']; // TODO: implement picture wrapper, if api action is implemented } + public static function countViews() + { + $mid = intval(filter_input(INPUT_GET, 'mid')); + if($mid && (!ilSession::get('vimp_view') || ilSession::get('vimp_view') != $mid)) { + xvmpRequest::addMediumCount($mid); + ilSession::set('vimp_view', $mid); + } + } public function addUserAutoComplete() { diff --git a/src/UIComponents/Player/VideoPlayer.php b/src/UIComponents/Player/VideoPlayer.php index 837eaa62..d44fb056 100644 --- a/src/UIComponents/Player/VideoPlayer.php +++ b/src/UIComponents/Player/VideoPlayer.php @@ -115,12 +115,7 @@ public static function loadVideoJSAndCSS($load_observer) */ public function getHTML(): string { - if (xvmp::ViMPVersionGreaterEquals('4.4.0') - && $this->increase_view_count - && !($this->video instanceof xvmpDeletedMedium)) { - xvmpRequest::addMediumCount($this->video->getMid()); - } - + if ($this->embed) { $width = $this->options['width'] ?? 0; $height = $this->options['height'] ?? 0; @@ -222,6 +217,12 @@ public function getHTML(): string $videojs_script .= "player.vr();"; } + $this->ctrl->setParameterByClass(ilObjViMPGUI::class, 'mid', $this->video->getMid()); + $link = $this->ctrl->getLinkTargetByClass(ilObjViMPGUI::class, 'count_views', null, true); + $count_views_script = "player.on('play', function(){var xhr = new XMLHttpRequest(); xhr.open('GET', '$link', true); " . + "xhr.onreadystatechange = () => { if (xhr.readyState === 4 && xhr.status === 200) try { JSON.parse(xhr.responseText); } catch (error) {} }; xhr.send();}) "; + $videojs_script .= $count_views_script; + $template->setCurrentBlock('script'); $template->setVariable('SCRIPT', 'if (typeof videojs === "undefined") { document.addEventListener("DOMContentLoaded", function() { ' . $videojs_script . ' });} else { ' . $videojs_script . ' }'); $template->parseCurrentBlock(); From c7709b7a29b0beb695daa45c79c45f34b5d55ea3 Mon Sep 17 00:00:00 2001 From: sagun Date: Tue, 3 Jun 2025 11:35:55 +0200 Subject: [PATCH 4/5] Fix: Updated Language variable --- lang/ilias_de.lang | 2 +- lang/ilias_en.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 9719c202..7b157684 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -214,4 +214,4 @@ available#:#Verfügbar obj_xvmp#:#VIMP objs_xvmp#:#VIMP change_owner#:#Besitzer ändern -auto_subtitle#:#Automatische Untertitel generieren

Bei Nutzung dieser Funktion erfolgt eine Übertragung
der Tonspur an den externen Dienst "Amberscript".
Bitte beachten Sie die dazugehörige Datenschutzerklärung
+auto_subtitle#:#Automatische Untertitel generieren

Bei Nutzung dieser Funktion erfolgt eine Übertragung
der Tonspur an den externen Dienst "Amberscript".
Bitte beachten Sie die dazugehörige Datenschutzerklärung
\ No newline at end of file diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index a807fe66..01989a45 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -214,4 +214,4 @@ available#:#Available obj_xvmp#:#VIMP objs_xvmp#:#VIMP change_owner#:#Change Owner -auto_subtitle#:#Automatic subtitle creation

Using this functionality results in a transfer of the
audio track to the third-party service Amberscript.
Please note the corresponding privacy policy.
+auto_subtitle#:#Automatic subtitle creation

Using this functionality results in a transfer of the
audio track to the third-party service Amberscript.
Please note the corresponding privacy policy.
\ No newline at end of file From 71bbd21b873afa0922f704e5470fb1aebc27d06c Mon Sep 17 00:00:00 2001 From: sagun Date: Tue, 3 Jun 2025 11:59:49 +0200 Subject: [PATCH 5/5] New updated language file --- lang/ilias_de.lang | 53 +++++++++++++++++++++--------------------- lang/ilias_en.lang | 57 +++++++++++++++++++++++----------------------- 2 files changed, 56 insertions(+), 54 deletions(-) diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 7b157684..89f9bb67 100644 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -1,32 +1,32 @@ conf_object_title#:#Objektbezeichnung im Magazin conf_object_title_info#:#Diese Bezeichnung wird beim Erstellen eines neuen Objektes im Magazin verwendet. conf_api_key#:#API-Key -conf_api_key_info#:#Ein API-Key kann in VIMP im Backend unter dem Punkt "API-Keys" generiert werden. +conf_api_key_info#:#Ein API-Key kann in ViMP im Backend unter dem Punkt "API-Keys" generiert werden. conf_api_user#:#API-Benutzername -conf_api_user_info#:#Der API-Benutzer muss in VIMP existieren und dort über genügend Rechte verfügen, um neue Videos hochzuladen und beliebige Videos zu editieren und zu löschen. +conf_api_user_info#:#Der API-Benutzer muss in ViMP existieren und dort über genügend Rechte verfügen, um neue Videos hochzuladen und beliebige Videos zu editieren und zu löschen. conf_api_password#:#API-Passwort conf_api_password_info#:#Passwort des obigen Benutzers. conf_api_url#:#API-URL conf_api_url_info#:#Basis Adresse der API. Z.B.: https://my-vimp.com/api conf_user_mapping_ext#:#User­Mapping (externe Benutzer) -conf_user_mapping_ext_info#:#Nach dieser Formel werden die VIMP-Benutzernamen von externen ILIAS-Benutzern zusammengestellt. Folgende Platzhalter können verwendet werden:
{LOGIN}: Benutzername
{EXT_ID}: externe ID des Benutzers
{CLIENT_ID}: Client-ID dieser ILIAS-Installation +conf_user_mapping_ext_info#:#Nach dieser Formel werden die ViMP-Benutzernamen von externen ILIAS-Benutzern zusammengestellt. Folgende Platzhalter können verwendet werden:
{LOGIN}: Benutzername
{EXT_ID}: externe ID des Benutzers
{CLIENT_ID}: Client-ID dieser ILIAS-Installation conf_user_mapping_local#:#User­Mapping (lokale Benutzer) -conf_user_mapping_local_info#:#Nach dieser Formel werden die VIMP-Benutzernamen von lokalen ILIAS-Benutzern zusammengestellt. Folgende Platzhalter können verwendet werden:
{LOGIN}: Benutzername
{EXT_ID}: externe ID des Benutzers
{CLIENT_ID}: Client-ID dieser ILIAS-Installation +conf_user_mapping_local_info#:#Nach dieser Formel werden die ViMP-Benutzernamen von lokalen ILIAS-Benutzern zusammengestellt. Folgende Platzhalter können verwendet werden:
{LOGIN}: Benutzername
{EXT_ID}: externe ID des Benutzers
{CLIENT_ID}: Client-ID dieser ILIAS-Installation conf_allow_public#:#Videos öffentlich schalten aktivieren conf_allow_public_info#:#Wenn aktiviert: Benutzer mit dem Recht "Einstellungen bearbeiten" dürfen beim Hochladen eines Videos auswählen, ob das Video den Status "Öffentlich" oder "Versteckt" hat. Ansonsten wird automatisch der Status "Versteckt" gesetzt. conf_allow_public_upload#:#Recht „Upload“ darf Videos öffentlich schalten conf_allow_public_upload_info#:#Wenn aktiviert: Benutzer mit dem Recht "Upload" dürfen ebenfalls Videos öffentlich schalten conf_form_fields#:#Zusätzliche Formular-Felder -conf_form_fields_info#:#Zusätzliche in VIMP konfigurierte Medienfelder können hier angegeben werden, um diese im Formular zum Hochladen und Bearbeiten eines Videos zur Verfügung zu stellen.
Textfeld 1: Feld-Name
Textfeld 2: Anzeige-Name
Checkbox 1: Pflichtfeld
Checkbox 2: Feld wird beim Hochladeformular automatisch mit dem Benutzernamen gefüllt
Checkbox 3: Beim Video-Player anzeigen
Auswahlfeld: Feldtyp +conf_form_fields_info#:#Zusätzliche in ViMP konfigurierte Medienfelder können hier angegeben werden, um diese im Formular zum Hochladen und Bearbeiten eines Videos zur Verfügung zu stellen.
Textfeld 1: Feld-Name
Textfeld 2: Anzeige-Name
Checkbox 1: Pflichtfeld
Checkbox 2: Feld wird beim Hochladeformular automatisch mit dem Benutzernamen gefüllt
Checkbox 3: Beim Video-Player anzeigen
Auswahlfeld: Feldtyp conf_filter_fields#:#Zusätzliche Tabellen-Filter conf_filter_fields_info#:#Werden die zusätzlichen Medienfelder hier angegeben, stehen Sie anschliessend als Filter in Tabellen zur Verfügung.
Textfeld 1: Feld-Name
Textfeld 2: Anzeige-Name conf_media_permissions#:#Medienberechtigungen nutzen conf_media_permissions_info#:#Definiert, ob und welche Medienberechtigungen beim Upload und beim Editieren von Videos gesetzt werden dürfen. conf_media_permissions_preselected#:#Vorauswahl conf_media_permissions_preselected_info#:#Angegebene Medienberechtigungen im Upload-Dialog vorauswählen. -conf_media_permissions_0_info#:#Achtung: Kann zu Fehler führen, falls in VIMP keine Standardmedienrechte aktiv sind (siehe VIMP Backend > Konfiguration > Medien > Medienrecht) +conf_media_permissions_0_info#:#Achtung: Kann zu Fehler führen, falls in ViMP keine Standardmedienrechte aktiv sind (siehe ViMP Backend > Konfiguration > Medien > Medienrecht) conf_mapping_priority#:#Priorität Mapping -conf_mapping_priority_info#:#Definiert, auf welche Art zuerst nach dem Benutzer in VIMP gesucht wird. Wird dabei kein Benutzer gefunden, wird nach dem anderen Feld gesucht. Wird erneut nichts gefunden, wird ein entsprechender Benutzer erstellt. +conf_mapping_priority_info#:#Definiert, auf welche Art zuerst nach dem Benutzer in ViMP gesucht wird. Wird dabei kein Benutzer gefunden, wird nach dem anderen Feld gesucht. Wird erneut nichts gefunden, wird ein entsprechender Benutzer erstellt. conf_mapping_priority_0#:#Email conf_mapping_priority_1#:#User-Mapping (wie oben definiert) conf_api_settings#:#API @@ -50,9 +50,9 @@ conf_cache_ttl_token_info#:#Time-To-Live in Sekunden conf_cache_ttl_config#:#TTL Config conf_cache_ttl_config_info#:#Time-To-Live in Sekunden conf_cache#:#Caching -conf_cache_info#:#Objekte werden zur Verbesserung der Performanz zwischengespeichert. Nach Ablauf der TTL wird ein Objekt aus dem Cache entfernt und neu geladen (bei Eingabe von 0 werden sie nicht automatisch entfernt). Der gesamte Cache kann mithilfe der Schaltfläche oben auf dieser Seite geleert werden. Innerhalb von VIMP-Objekten im Magazin können ausserdem die Videos dieser Objekte aus dem Cache entfernt und neu geladen werden. +conf_cache_info#:#Objekte werden zur Verbesserung der Performanz zwischengespeichert. Nach Ablauf der TTL wird ein Objekt aus dem Cache entfernt und neu geladen (bei Eingabe von 0 werden sie nicht automatisch entfernt). Der gesamte Cache kann mithilfe der Schaltfläche oben auf dieser Seite geleert werden. Innerhalb von ViMP-Objekten im Magazin können ausserdem die Videos dieser Objekte aus dem Cache entfernt und neu geladen werden. conf_embed_player#:#Embedded Videoplayer nutzen -conf_embed_player_info#:#Wenn aktiviert, wird der eingebettete Videoplayer von VIMP genutzt. Wenn der Lernfortschritt für ein Objekt aktiviert ist, wird jedoch dennoch der Plugin-eigene Player verwendet, da der Lernfortschritt mit dem eingebetteten Player nicht gemessen werden kann. +conf_embed_player_info#:#Wenn aktiviert, wird der eingebettete Videoplayer von ViMP genutzt. Wenn der Lernfortschritt für ein Objekt aktiviert ist, wird jedoch dennoch der Plugin-eigene Player verwendet, da der Lernfortschritt mit dem eingebetteten Player nicht gemessen werden kann. conf_text#:#Textfeld conf_checkbox#:#Checkbox conf_form_field_type_0#:#Textfeld @@ -60,7 +60,7 @@ conf_form_field_type_1#:#Checkbox conf_upload_limit#:#Upload Limit (MB) conf_upload_limit_info#:#Begrenzung der Dateigröße in MB. Geben Sie '0' ein, um keine Begrenzung festzulegen. conf_disable_verify_peer#:#Peer-Verifizierung deaktivieren -conf_disable_verify_peer_info#:#Deaktiviert für die Kommunikation mit VIMP die Verifizierung des Zertifikat-Herstellers. +conf_disable_verify_peer_info#:#Deaktiviert für die Kommunikation mit ViMP die Verifizierung des Zertifikat-Herstellers. conf_default_publication#:#Voreingestellter Zugriff conf_default_publication_info#:#Vorauswahl des Feldes "Zugriff" beim Upload msg_success#:#Änderungen erfolgreich gespeichert. @@ -110,6 +110,7 @@ flush_video_cache_tooltip#:#Die Videodaten werden in ILIAS zwischengespeichert, repository_preview#:#Vorschau im Magazin no_preview#:#Keine Vorschau perm_upload#:#Upload +perm_readlink#:#Link zum ViMP-Video access_denied#:#Zugriff verweigert. status_legal#:#Transkodierung abgeschlossen status_converting#:#Transkodierung läuft @@ -122,10 +123,10 @@ to#:#Bis category#:#Kategorie views#:#Aufrufe save_settings#:#Einstellungen Speichern -exception_message#:#Es konnte keine Verbindung mit dem VIMP-Server hergestellt werden +exception_message#:#Es konnte keine Verbindung mit dem ViMP-Server hergestellt werden not_available#:#Nicht verfügbar -not_available_description#:#Dieses Video wurde in VIMP nicht gefunden. Möglicherweise wurde es von der Plattform entfernt. -confirm_delete_text#:#Achtung: Durch diese Aktion wird das Video endgültig in VIMP gelöscht und kann in keinem ILIAS-Objekt mehr verwendet werden. Sind Sie sicher, dass Sie das Video löschen möchten? +not_available_description#:#Dieses Video wurde in ViMP nicht gefunden. Möglicherweise wurde es von der Plattform entfernt. +confirm_delete_text#:#Achtung: Durch diese Aktion wird das Video endgültig in ViMP gelöscht und kann in keinem ILIAS-Objekt mehr verwendet werden. Sind Sie sicher, dass Sie das Video löschen möchten? video_deleted#:#Video erfolgreich gelöscht. media_permissions#:#Medienberechtigungen media_permissions_info#:#Öffentliche und Versteckte Videos auf bestimmte Rollen einschränken. @@ -153,7 +154,7 @@ form_msg_select#:#Bitte wählen Sie eine Datei zum Hochladen aus. form_msg_not_supported#:#Dateityp nicht unterstützt. msg_incomplete#:#Einige Felder dieses Formulares sind Pflichtfelder und müssen ausgefüllt werden. Bitte ergänzen Sie diese Felder. form_incomplete#:#Einige Felder dieses Formulares sind Pflichtfelder und müssen ausgefüllt werden. Bitte ergänzen Sie diese Felder. -object_title#:#VIMP-Objekt +object_title#:#ViMP-Objekt video_title#:#Video-Titel msg_username_not_found#:#Der Benutzername konnte nicht gefunden werden. msg_warning_change_owner#:#Achtung: Sie sind im Begriff, den Besitzer eines Ihrer Videos zu ändern. Nach dem Besitzerwechsel können Sie dieses Video nicht mehr bearbeiten. Sind Sie sicher, dass Sie fortfahren möchten? @@ -162,16 +163,19 @@ msg_no_videos#:#Diesem Objekt wurden noch keine Videos hinzugefügt. msg_error_login_not_found#:#Es konnte kein Benutzer mit diesem Benutzernamen in ILIAS gefunden werden. confirmation_new_owner#:#Video Titel: "%s", neuer Besitzer: %s new_owner#:#Neuer Besitzer -xvmp_new#:#Neues VIMP-Objekt anlegen +xvmp_new#:#Neues ViMP-Objekt anlegen xvmp_add#:#Erstellen -cat_create_xvmp#:#VIMP Erstellen -crs_create_xvmp#:#VIMP Erstellen -fold_create_xvmp#:#VIMP Erstellen -grp_create_xvmp#:#VIMP Erstellen -root_create_xvmp#:#VIMP Erstellen -xvmp_visible#:#Anzeigen: VIMP ist sichtbar +cat_create_xvmp#:#ViMP Erstellen +crs_create_xvmp#:#ViMP Erstellen +fold_create_xvmp#:#ViMP Erstellen +grp_create_xvmp#:#ViMP Erstellen +root_create_xvmp#:#ViMP Erstellen +xvmp_visible#:#Anzeigen: ViMP ist sichtbar xvmp_read#:#Lesezugriff: Videos können angezeigt werden xvmp_rep_robj_xvmp_perm_upload#:#Upload: Videos können hochgeladen werden +xvmp_rep_robj_xvmp_perm_readlink#:#Link zum Video kann angezeigt und kopiert werden +xvmp_edit_learning_progress#:#Lernfortschrittseinstellungen bearbeiten +xvmp_read_learning_progress#:#Lernfortschritt von anderen Benutzern einsehen xvmp_write#:#Einstellungen bearbeiten: Einstellungen und Inhalte können bearbeitet werden xvmp_delete#:#Löschen: Objekt kann gelöscht werden xvmp_edit_permission#:#Rechteeinstellungen ändern: Rechteeinstellungen ändern @@ -203,7 +207,6 @@ btn_copy_link#:#Link kopieren btn_copy_link_w_time#:#Link mit Zeitangabe kopieren btn_download#:#Download popover_link_copied#:#Link in Zwischenablage kopiert -perm_readlink#:#Link zum ViMP-Video availability_between#:#Verfügbar %s - %s availability_from#:#Verfügbar ab %s availability_to#:#Verfügbar bis %s @@ -211,7 +214,5 @@ availability_between_short#:#%s - %s availability_from_short#:#%s availability_to_short#:#Bis %s available#:#Verfügbar -obj_xvmp#:#VIMP -objs_xvmp#:#VIMP -change_owner#:#Besitzer ändern -auto_subtitle#:#Automatische Untertitel generieren

Bei Nutzung dieser Funktion erfolgt eine Übertragung
der Tonspur an den externen Dienst "Amberscript".
Bitte beachten Sie die dazugehörige Datenschutzerklärung
\ No newline at end of file +obj_xvmp#:#ViMP +objs_xvmp#:#ViMP \ No newline at end of file diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index 01989a45..285810ed 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -1,30 +1,30 @@ conf_object_title#:#Object Title in Repository conf_object_title_info#:#This term will be used when creating a new object in the repository. conf_api_key#:#API Key -conf_api_key_info#:#An API key can be generated in the VIMP backend configuration. +conf_api_key_info#:#An API key can be generated in the ViMP backend configuration. conf_api_user#:#API User -conf_api_user_info#:#The API user must exist in VIMP and must be authorized to upload, edit and delete videos. +conf_api_user_info#:#The API user must exist in ViMP and must be authorized to upload, edit and delete videos. conf_api_password#:#API Password conf_api_password_info#:#Password of the above user. conf_api_url#:#API URL -conf_api_url_info#:#Base URL of the VIMP API. E.g.: https://my-vimp.com/api +conf_api_url_info#:#Base URL of the ViMP API. E.g.: https://my-vimp.com/api conf_user_mapping_ext#:#User Mapping (external users) -conf_user_mapping_ext_info#:#The formula, with which the VIMP logins of external ILIAS users are composed. The following placeholders can be used:
{LOGIN}: username
{EXT_ID}: external ID
{CLIENT_ID}: client ID of this ILIAS platform +conf_user_mapping_ext_info#:#The formula, with which the ViMP logins of external ILIAS users are composed. The following placeholders can be used:
{LOGIN}: username
{EXT_ID}: external ID
{CLIENT_ID}: client ID of this ILIAS platform conf_user_mapping_local#:#User Mapping (local users) -conf_user_mapping_local_info#:#The formula, with which the VIMP logins of local ILIAS users are composed. The following placeholders can be used:
{LOGIN}: username
{EXT_ID}: external ID
{CLIENT_ID}: client ID of this ILIAS platform +conf_user_mapping_local_info#:#The formula, with which the ViMP logins of local ILIAS users are composed. The following placeholders can be used:
{LOGIN}: username
{EXT_ID}: external ID
{CLIENT_ID}: client ID of this ILIAS platform conf_allow_public#:#Allow setting videos public conf_allow_public_info#:#Defines if users with the permission "Edit Settings" are authorized to set uploaded videos "Public". If deactivated, videos uploaded are always set "Hidden". conf_allow_public_upload#:#Permission „Upload“ can set Videos public conf_allow_public_upload_info#:#Defines if users with the permission "Upload" are authorized to set uploaded videos "Public". If deactivated, videos uploaded by such users are always set "Hidden". conf_form_fields#:#Additional Form Fields -conf_form_fields_info#:#Additional in VIMP defined media fields can be configured here and will thereby be available in the form for editing and uploading videos.
Textfield 1: Field name
Textfield 2: Display name
Checkbox 1: Required
Checkbox 2: Fill field automatically with username
Checkbox 3: Show below video player
Selection: Field Type +conf_form_fields_info#:#Additional in ViMP defined media fields can be configured here and will thereby be available in the form for editing and uploading videos.
Textfield 1: Field name
Textfield 2: Display name
Checkbox 1: Required
Checkbox 2: Fill field automatically with username
Checkbox 3: Show below video player
Selection: Field Type conf_filter_fields#:#Additional Table Filters conf_filter_fields_info#:#The additional media fields can be configured here to make them available as filters in tables.
Textfield 1: Field name
Textfield 2: Display name conf_media_permissions#:#Use Media Permissions conf_media_permissions_info#:#Defines if and which media permissions can be set when uploading or editing a video. conf_media_permissions_preselected#:#Preselection conf_media_permissions_preselected_info#:#Preselect these permissions in the upload dialog. -conf_media_permissions_0_info#:#Warning: can lead to errors if no default media permissions are selected in VIMP (see VIMP Backend > Configuration > Media > Media Permission) +conf_media_permissions_0_info#:#Warning: can lead to errors if no default media permissions are selected in ViMP (see ViMP Backend > Configuration > Media > Media Permission) conf_mapping_priority#:#Mapping Priority conf_mapping_priority_info#:#Defines which way the plugin tries to find a user first. If no user is found this way, the plugin will search for the other field. If again nothing is found, a user will be created. conf_mapping_priority_0#:#Email @@ -50,9 +50,9 @@ conf_cache_ttl_token_info#:#Time-To-Live in seconds conf_cache_ttl_config#:#TTL Config conf_cache_ttl_config_info#:#Time-To-Live in seconds conf_cache#:#Caching -conf_cache_info#:#Objects are cached to improve performance. After the TTL of an object is expired, it will be removed and reloaded (if TTL = 0, the object will not be removed automatically). Flush the whole cache with the button on top of this form or flush only the video cache inside a VIMP Object. +conf_cache_info#:#Objects are cached to improve performance. After the TTL of an object is expired, it will be removed and reloaded (if TTL = 0, the object will not be removed automatically). Flush the whole cache with the button on top of this form or flush only the video cache inside a ViMP Object. conf_embed_player#:#Embedded Video Player -conf_embed_player_info#:#Use VIMP's embedded video player. If the learning progress is active, the plugin will still use it's own player, since the learning progress can not be tracked with the embedded player. +conf_embed_player_info#:#Use ViMP's embedded video player. If the learning progress is active, the plugin will still use it's own player, since the learning progress can not be tracked with the embedded player. conf_text#:#Text Field conf_checkbox#:#Checkbox conf_form_field_type_0#:#Text Field @@ -60,7 +60,7 @@ conf_form_field_type_1#:#Checkbox conf_upload_limit#:#Upload Limit (MB) conf_upload_limit_info#:#Limit for the uploaded filesize in MB. Enter '0' for no limit. conf_disable_verify_peer#:#Disable Peer Verification -conf_disable_verify_peer_info#:#Deactivates the verification of the SSL certificate owner when communicating with the VIMP server. +conf_disable_verify_peer_info#:#Deactivates the verification of the SSL certificate owner when communicating with the ViMP server. conf_default_publication#:#Default access conf_default_publication_info#:#Select default access of videos during upload msg_success#:#Changes saved successfully. @@ -110,6 +110,7 @@ flush_video_cache_tooltip#:#The video data is saved temporarily in ILIAS to allo repository_preview#:#Repository Preview no_preview#:#No Preview perm_upload#:#Upload +perm_readlink#:#Link to the Video at the ViMP Server access_denied#:#Permission denied. status_legal#:#Transcoded successfully status_converting#:#Transcoding @@ -122,10 +123,10 @@ to#:#To category#:#Category views#:#Views save_settings#:#Save Settings -exception_message#:#A connection with the VIMP server could not be established +exception_message#:#A connection with the ViMP server could not be established not_available#:#Not Available -not_available_description#:#This video was not found in VIMP, it may have been deleted from the platform. -confirm_delete_text#:#Warning: this action will delete the video in VIMP and make the video unavailable in every ILIAS object using it. Are you sure that you want to delete this video? +not_available_description#:#This video was not found in ViMP, it may have been deleted from the platform. +confirm_delete_text#:#Warning: this action will delete the video in ViMP and make the video unavailable in every ILIAS object using it. Are you sure that you want to delete this video? video_deleted#:#Video deleted successfully. media_permissions#:#Media Permissions media_permissions_info#:#Restrict public and hidden videos to certain roles. @@ -153,7 +154,7 @@ form_msg_select#:#Please choose a file to upload. form_msg_not_supported#:#File type not supported. form_incomplete#:#Some of this forms fields are mandatory and need to be filled out. Please complete these fields. msg_incomplete#:#Some of this forms fields are mandatory and need to be filled out. Please complete these fields. -object_title#:#VIMP-Object +object_title#:#ViMP-Object video_title#:#Video Title msg_username_not_found#:#The username could not be found. msg_warning_change_owner#:#Warning: You are changing the owner of one of your videos. After this action you are not able to edit this video anymore. Do you want to continue? @@ -162,18 +163,21 @@ msg_no_videos#:#There are currently no videos in this object. msg_error_login_not_found#:#No user with the given username could be found in ILIAS. confirmation_new_owner#:#Video title: "%s", new owner: %s new_owner#:#New Owner -xvmp_new#:#Create new VIMP object +xvmp_new#:#Create new ViMP object xvmp_add#:#Create -cat_create_xvmp#:#Create VIMP -crs_create_xvmp#:#Create VIMP -fold_create_xvmp#:#Create VIMP -grp_create_xvmp#:#Create VIMP -root_create_xvmp#:#Create VIMP -xvmp_visible#:#Visible: VIMP is visible +cat_create_xvmp#:#Create ViMP +crs_create_xvmp#:#Create ViMP +fold_create_xvmp#:#Create ViMP +grp_create_xvmp#:#Create ViMP +root_create_xvmp#:#Create ViMP +xvmp_visible#:#Visible: ViMP is visible xvmp_read#:#Read: User can watch the videos xvmp_rep_robj_xvmp_perm_upload#:#Upload: User can upload videos -xvmp_write#:#Edit Settings: User can edit content and settings of VIMP object -xvmp_delete#:#Delete: User can delete VIMP object +xvmp_rep_robj_xvmp_perm_readlink#:#User can view and copy the link to the video +xvmp_edit_learning_progress#:#User can edit learning progress settings +xvmp_read_learning_progress#:#View Learning Progress of Subordinate Users +xvmp_write#:#Edit Settings: User can edit content and settings of ViMP object +xvmp_delete#:#Delete: User can delete ViMP object xvmp_edit_permission#:#Change Permissions: User can change permission settings form_title_change_owner#:#Search User search#:#Search @@ -203,7 +207,6 @@ btn_copy_link#:#Copy Link btn_copy_link_w_time#:#Copy Link with current time btn_download#:#Download popover_link_copied#:#Link copied to dashboard -perm_readlink#:#Streaming URL availability_between#:#Available %s - %s availability_from#:#Available from %s availability_to#:#Available until %s @@ -211,7 +214,5 @@ availability_between_short#:#%s - %s availability_from_short#:#%s availability_to_short#:#Until %s available#:#Available -obj_xvmp#:#VIMP -objs_xvmp#:#VIMP -change_owner#:#Change Owner -auto_subtitle#:#Automatic subtitle creation

Using this functionality results in a transfer of the
audio track to the third-party service Amberscript.
Please note the corresponding privacy policy.
\ No newline at end of file +obj_xvmp#:#ViMP +objs_xvmp#:#ViMP \ No newline at end of file