Datenbank: alle Videos vieler DB-Einträge auf einer Textseite in Moodle anzeigen

In der Listenansicht der Datenbank in die Fußzeile folgenden Code einfügen (Code-Editor ausschalten!):

<button id="showLinksBtn">Links anzeigen</button>
<button id="downloadLinksBtn">Links herunterladen</button>

<script>
function extractLinks() {
  const links = Array.from(document.querySelectorAll('.defaulttemplate-list-body a[href$=".mp4"], .defaulttemplate-list-body a[href$=".MP4"], .defaulttemplate-list-body a[href$=".MOV"], .defaulttemplate-list-body a[href$=".avi"], .defaulttemplate-list-body a[href$=".mov"]'));
  return links.map(link => link.href);
}

showLinksBtn.addEventListener('click', () => {
  const linksText = extractLinks().join('\n');
  alert(linksText);
});

downloadLinksBtn.addEventListener('click', () => {
  const linksText = extractLinks().join('\n');
  const blob = new Blob([linksText], { type: 'text/plain' });
  const url = URL.createObjectURL(blob);
  const link = document.createElement('a');
  link.href = url;
  link.download = 'links.txt';
  link.click();
  URL.revokeObjectURL(url);
});
</script>

In der links.html, die man nach Klick auf den Button "Links herunterladen" erhält, folgende Ergänzungen vornehmen:
an den Anfang jeder Zeile

<video controls="true"><source src="

an das Ende

"><\/video>

mit sed ganz einfach:

sed 's/^/<video controls=\"true\"><source src=\"/;s/$/\"><\/video>/' links.txt > neue_links.txt

Den Inhalt der neue_links.txt kopieren und in Moodle im html-Modus in eine Textseite einfügen.


Zuletzt geändert: Freitag, 14. Juni 2024, 17:46