Bereits damals sollten manche Dateien nur von authentifizierten und autorisierten Benutzern heruntergeladen werden können, für einen eingeschränkten Zugang konnten Besucher sich selbst registrieren. Der unautorisierte wurde verhindert, indem Dateien in einem geschützten Verzeichnis abgelegt und per PHP-Skript als Stream an den Browser gesendet wurden. Die Anforderung, auch nicht angemeldeten Besuchern die geschützten Dateien anzuzeigen, wurde durch Manipulation des TCA erreicht:

PHP - ext_tables.php

$TCA["tx_mitdownload_files"] = Array (
"ctrl" => Array (
"enablecolumns" => Array (
"disabled" => "hidden"
),
[...]
 ),
[...]
);

Listing 1

Im Plugin-Code wurde dieser Wert bei Bedarf geändert, wie das folgende Listing zeigt.

PHP

$GLOBALS['TCA']['tx_mitdownload_files']['ctrl']['enablecolumns']['fe_group'] = 'fe_group';

Listing 2

Für ein paar Dateien mehr

Mit zunehmender Anzahl der Dateien wurde die Suche und das Sortieren zum Problem, weil die SQL-Abfragen, in denen die Dateitabelle, die Attributtabellen und pro Attribut noch eine Verknüpfungstabelle enthalten waren, zu lange dauerten. Die JOINS in der Suchabfrage wurden daher im ersten Schritt zugunsten von EXISTS abgelöst. Das folgende Beispiel zeigt die Einschränkung auf bestimmte Kategorien:

PHP

($filter['cat']?' AND EXISTS (SELECT * FROM tx_mitdownload_cat_mm WHERE
uid_local = tx_mitdownload_files.uid AND uid_foreign IN
('.$filter['cat'].'))':'')

Listing 3

Um dennoch nach dem Namen der Attribute – bisher werden nur die IDs, aber keine Bezeichnungen verwendet – sortieren zu können, wurden die Attributtabellen nur bei Bedarf hinzugezogen:

Seite:  1 2 3 4 5

2 Antworten

  1. von Felix Nagel 30.09.2009 (11:25Uhr) 1.

    Die Extension hört sich interessant an -- aber veröffntlicht wurde sie anscheinend nicht?

    Grüße

  2. von Norman Seibert 05.10.2009 (09:48Uhr) 2.

    Stimmt Felix, die Erweiterung ist nicht öffentlich.

Deine Meinung


(wird nicht veröffentlicht)