Software-Entwicklungen

Teilweise Erweiterung des Medienpools zu einer Ordnerstruktur
media_directories, Version 1.3
Autor: Wolfgang Busch

Dieses AddOn stellt Tools für HTML-Editoren zum Einfügen von Mediendateien in Redaxo-Artikel bereit. Die Dateien können in Unterordnern des Medienordners liegen.

Die Editoren werden mit Buttons und Menüs zur Auswahl einer Mediendatei ausgestattet. Der generierte HTML-Code zur Darstellung der gewählten Datei wird an der Position des Cursors im Eingabefeld des Editors platziert. Entsprechende Plugins werden für CKEditor (Vers. 4), TinyMCE (Vers. 5) und Redactor (Vers. 3) angeboten, ebenso ein Auswahl-Button zur Ergänzung eines Quellcode-Editors.

Das AddOn media_manager muss installiert sein.
 
Medienordner:
Mediendateien können per Auswahlmenü in Artikel eingefügt werden, wenn sie in 'Medienordnern' liegen. Das sind alle Unterordner des Ordners 'media', für die vorher ein Medientyp mit dem Effekt 'mediapath' (Datei: Pfad anpassen) eingerichtet wurde, sowie der Ordner 'media' selbst. Die Ordner können - wie Redaxo-Systemordner - gegen direkten Zugriff geschützt werden, z.B. über eine .htaccess-Datei mit den Zeilen 'Order deny,allow' und 'Deny from all'.

Einfügen von Mediendateien:
Eine Bilddatei wird mittels img-tag eingefügt, eine sonstige Datei als Link (a-tag) auf dieselbe. Die Adressierung erfolgt jeweils mittels Mediamanager-URL, basierend auf dem Medientyp des jeweiligen Medienordners. Zusätzlich können Bildbreite und Untertitel bzw. Zielseite (gleicher oder neuer Browser-Tab) und Linktext als Darstellungsformate ergänzt werden.
 
Javascript-Funktionen:
Die Funktionen für Auswahlmenüs und das Einfügen von HTML-Quellcode werden mit der Installation im AddOn-Assets-Ordner abgelegt. Damit stehen bereits die Tools für einen Quellcode-Editor und eine (exemplarische) Dateiauswahl zur Verfügung.

AddOn-Cache
Mit der Installation wird der Ordner für den AddOn-Cache angelegt. In diesem werden verkleinerte Kopien der Bilder aus den Medienordnern abgelegt, um eine Ressourcen schonende Anzeige in Auswahlmenüs zu ermöglichen. Das gilt für Dateien der MIME-Typen jpeg, png, gif, bmp, webp, die breiter als 150 Pixel sind. - Zur Darstellung der Cache-Bilder wird ein eigener Medientyp erzeugt.

Kontrolle des Zugriffs auf die Mediendateien:
Das AddOn access_control bietet die Möglichkeit, Besuchern im Frontend für den Zugriff auf Mediendateien eine Authentifizierung abzuverlangen. Der Zugriffsschutz von Dateien basiert dabei auf deren Zugehörigkeit zu einer Top-Medienkategorie. Eine solche kann hier (pro forma) für jeden Medienordner eingerichtet werden. - Die konkrete Einrichtung des Zugriffsschutz erfolgt dann, wie in access_control beschrieben.

Quellcode-Editor mit einem Insert-Button  
Mit dem Insert-Button kann eine Mediendatei aus den Medienordnern ausgewählt und an der Stelle des Cursors im Eingabefeld des Editors als HTML-Code eingefügt werden. Der folgende Modul stellt einen entsprechend ausgestatteten Quellcode-Editor dar. Dessen Eingabefeld muss durch eine vorgeschriebene Id qualifiziert sein.
Eingabeteil:
<?php media_directories::insert_button(); ?>
<br>
<textarea
class="form-control" rows="10"
id="media_directories"
name="REX_INPUT_VALUE[1]">REX_VALUE[1]</textarea>
Ausgabeteil:
REX_VALUE[id=1 output=html]

Einfügen einer Mediendatei als eigener Block in einem Artikel
In einem entsprechenden Modul werden der Mediamanager-URL der Datei und die Darstellungsformate (Bildbreite und Untertitel bzw. Zielseite und Linktext) in drei aufeinander folgenden REX-Variablen gespeichert. Die erste REX-Variable ist frei wählbar und enthält den Mediamanager-URL der Datei. Die nächste und die übernächste REX-Variable enthalten die Darstellungsformate.
Eingabeteil:
<?php
$sid="REX_SLICE_ID";
$rex=1;
$url="REX_VALUE[1]";
$wta="REX_VALUE[2]";
$txt="REX_VALUE[3]";
media_directories::select_form($sid,$rex,$url,$wta,$txt);
?>
Ausgabeteil:
<?php
$url="REX_VALUE[1]";
$wta="REX_VALUE[2]";
$txt="REX_VALUE[3]";
media_directories::show_link($url,$wta,$txt);
?>
 

AddOn-Download