[teilweise gelöst]Private Up/Download mit TinyMCE und IMCE
am 15.02.2010 - 09:50 Uhr in
Hallo allerseits.
Ich habe eine Site, auf der ausschließlich die Benutzer auf private Dateien zugreifen dürfen, die auch im Dupal eingeloggt sind. Hierfür habe ich private_upload und private_download installiert. Soweit so gut, die Dateien sind jetzt geschützt. Auch mit einer URL http://xxxxxxxxx/sites/default/files/private/datei.ext kommt man nicht mehr ran.
Nun wird bein Erstellen eines Nodes TinyMCE mit IMCE benutzt. Soll nun im Node-Text ein Link auf eine private Datei gesetzt werden, so kann man diesen Link über IMCE erstellen lassen. Der ist nun aber nicht in der Form .....?q=system/files/private/datei.ext, sondern ...../sites/default/files/private/datei.ext, also nicht in der Form, die es erlaubt, auf die Datei dann auch zuzugreifen, wenn man dies dürfte.
Der Code, der den Link im IMCE generiert hat eben nicht allzu viel Ahnung davon, dass es da Private_up/download gibt.
Nun die Frage - an welcher Stelle würdet Ihr am ehesten eine passende Modifikation vornehmen?
- im IMCE? So nach der Art "ist das File im private directory, dann generiere den Link anders"
- in Private_Up/Download module? so nach dem Motto "einen Node_save Hook ändern, und den Body eines nodes auf Links in der einen Form durchsuchen und diese Links ggfs. dann in die andere Form ändern"
- was ganz anderes?
Momentan tendiere ich dazu den private_upload_nodeapi() Hook zu modifizieren, bin mir aber noch etwas unschlüssig, ob das die "beste Stelle" (was immer das auch heisst) dafür ist.
Gruß,
Richard.
- Anmelden oder Registrieren um Kommentare zu schreiben
[teilweise gelöst]Private Up/Download mit TinyMCE und IMCE
am 17.02.2010 - 15:04 Uhr
Nach einigem Suchen und evaluieren habe ich jetzt auf das Custom Filter Modul zurückgegriffen.
Damit wird zwar nicht der Node-Content selbst angepasst (was ich bevorzugt hätte), sondern der Node-Content vor der Ausgabe an den Browser modifiziert, aber zumindest ist damit der Zweck erreicht, dass nur eingeloggte Benutzer auf die privaten Files zugreifen können.
Wer Details wissen möchte:
das Pattern: #sites/default/files/private#
und das Replacement: ?q=system/files/private
(eigentlich primitiv).
Zur Wartung/Änderung des Node-Inhalts selbst wird wohl wieder mal ein Perl-Script herhalten müssen.