====== catDownloadGallery ======
Das Modul entstand auf Wunsch eines Forenbenutzers. Die Kategorien und Dateien basieren komplett auf der Verzeichnisstruktur des konfigurierten Basisverzeichnisses. Aus diesem Grund gibt es auch nur wenig einzustellen. Die Möglichkeiten sind bewußt eingeschränkt.
===== Voreinstellungen =====
* Nur das **Basisverzeichnis** ist pro Sektion einstellbar, alles andere ist global
* Einmal gesetztes Basisverzeichnis kann nicht mehr geändert werden
* Die erlaubten Dateiendungen sind "hartverdrahtet" und gelten global für alle Sektionen
**Voreinstellung Dateiendungen:**
''zip, gzip, tar, gz, 7z, rar, pdf''
===== Verzeichnisse =====
Da die Verzeichnisstruktur die Grundlage bildet, bestimmt sie auch das Verhalten der Galerie.
* Verzeichnisname = Kategoriename --> an dieser Stelle nicht änderbar, sondern nur unter 'Media'
* Keine Sortieroption im Backend --> alphabetisch, so wie im Dateisystem
* einzige Option ist das Deaktivieren = Verstecken eines Verzeichnisses
* Verzeichnisse und Dateien, die mit einem Punkt beginnen, werden grundsätzlich nicht berücksichtigt (=angezeigt) --> ermöglicht das einfache Verstecken von Dateien und Verzeichnissen
===== Dateien =====
* Bei jedem Aufruf werden die Dateien mit der Datenbank abgeglichen und noch nicht erfaßte Dateien hinzugefügt.
* Es wird nicht geprüft, ob die Dateien in der Datenbank noch existieren. Es ist also möglich, daß in der Datenbank veraltete Einträge stehen.
* Beim Hinzufügen einer Datei wird ein Hashwert und eine Checksumme ermittelt, die derzeit aber nur intern verwendet werden.
===== Ergebnis =====
* Frontend und Backend können immer automatisch auf Veränderungen reagieren, Basis ist immer das Dateisystem, nicht die Datenbank
* In der Datenbank stehen nur Zusatzinformationen, deren Fehlen keine großen Auswirkungen hat
* Verwaltung des Inhalts ausschließlich über Media-Bereich, nicht über das Modul
* Wurde eine Datei gelöscht, zu der noch Zusatzinformationen da sind, verbleiben diese in der Datenbank, können im Backend aber nicht mehr verwaltet werden --> taucht eine gleichnamige Datei wieder auf, hat sie unter Umständen noch alte Daten, was aber sinnvoll sein kann, wenn es die gleiche Datei ist (versehentlich gelöscht z.B.)
====== Dateiendungen anpassen ======
In der Datei ''config.php'' im Unterverzeichnis ''inc'' kann die Liste der berücksichtigten Dateiendungen angepaßt oder komplett geändert werden.
Am Ende der config.php ist folgender Abschnitt zu finden:
// add allowed suffixes here
array_push(\catDownloadGallery\Utils::$suffixes,'jpg');
Dies ist die Stelle, an der Anpassungen möglich sind.
===== Variante 1: Komplett ändern =====
In diesem Fall ist obige Zeile zu ersetzen. Sie sollte aber nicht entfernt, sondern nur deaktiviert werden. Im folgenden Beispiel wird die Liste der erlaubten Dateiendungen durch die Endungen 'gif', 'png' und 'jpg' **ersetzt**.
// add allowed suffixes here
// array_push(\catDownloadGallery\Utils::$suffixes,'jpg');
\catDownloadGallery\Utils::$suffixes = array(
'png','gif','jpg'
);
Die Liste kann natürlich beliebig erweitert werden, indem die Endungen jeweils in Anführungszeichen und durch Komma getrennt aufgelistet werden.
Auf keinen Fall sollten Endungen wie 'php' oder 'exe' angegeben werden! Die erlaubt dem Besucher unter Umständen den Download von Schadsoftware, Konfigurationsdateien oder Scripten, die nicht für die Öffentlichkeit bestimmt sind.
===== Variante 2: Liste erweitern =====
Hierbei kopiert man die vorhandene Zeile für jede hinzuzufügende Dateiendung und trägt diese dann zwischen den Anführungszeichen ein. Beispiel:
// add allowed suffixes here
array_push(\catDownloadGallery\Utils::$suffixes,'jpg');
array_push(\catDownloadGallery\Utils::$suffixes,'png');
Kenner bzw. Könner dürfen das natürlich auch anders / eleganter lösen, für den alltäglichen Gebrauch ist es aber so am einfachsten.
====== Screenshots ======
Diese Screenshots stammen aus der Version 0.2.
{{:addons:modules:2016-01-20_17_01_28.png?direct&100|Darstellung im Backend}}
{{:addons:modules:2016-01-20_17_03_30.png?direct&100|Darstellung im Frontend}}