
Ich hatte ja schon angekündigt, dass der FilePicker aus dem AdvancedContent Modul demnächst rausfliegt und durch ein eigenständiges Modul ersetzt wird.
Da die anderen Projekte in Sachen FilePicker leider noch auf sich warten lassen, habe ich meine Drohungen zumindest schonmal soweit wahr gemacht, und den FilePicker als Modul im Forge bereitgestellt:
GBFilePicker

Wer die Geschichte des AdvancedContent Moduls nicht kennt: Der FilePicker ist ein Ableger des TinyMCE FilePickers, der von Haus aus zusammen mit CMSms geliefert wird. Ich habe ihn nur aus dem TinyMCE Modul herausgenommen und ein wenig daran herumgefummelt.
Glücklicherweise habe ich zeitgleich damit angefangen, mir die Grundlagen objektorientierter Programmierung anzueignen und aus purer Experimentierfreude den FilePicker von Anfang an bereits als eigenständige Klasse im AdvancedContent Modul erstellt.
Dadurch war es nur noch ein kleiner Schritt, aus dieser Klasse eine eigene Modul-Klasse zu erstellen.
Das Ergebnis ist ein kleines Tool sowohl für Modulentwickler als auch für "normale" CMSms User.
Interessant dürfte für Modulentwickler zunächst nur die Funktion CreateFilePickerInput() sein. Für eine genauere Beschreibung siehe Modulhilfe. Für noch mehr Details habe ich auch eine kleine API Dokumentation mit phpDocumentor erstellt.
(Ist mit im Download enthalten und im Verzeichnis doc/api oder über die Modulhilfe zu finden)
Wann immer man also ein Modul kreiert bei dem ein FilePicker - ob als Dropdown oder als kleiner FileBrowser - benötigt wird, kann man ganz einfach auf die Funktion des GBFilePickers zurückgreifen.
Webdesigner können mit Hilfe des {content_modul} Tags im Seiten Template einen FilePicker als Inhaltsblock beim Berabeiten von Seiten erstellen.
Bsp.: {content_module block="MeinBlock" module="GBFilePicker"}
Ein Einsatz im Frontend mit Hilfe von {cms_module module="GBFilePicker"} im Zusammenhang mit FrontEndUsers habe ich zwar geplant, muss ich mir aber vor allem aus sicherheitstechnischer Sicht erst noch genau überlegen. Die Frontend Funktionen sollten vielleicht doch besser die betreffenden Module selbst bereitstellen.
Wer Lust hat das mal auszuprobieren, scheut Euch nicht vor Fragen, Anregung oder Kritik.