XH-WIKI wrote:File Browsers
To be written …
I'd like to make the filebrowser callable from the quoteoftheday admin backend to put images into quotes.
... but how?
Moderator: Tata
XH-WIKI wrote:File Browsers
To be written …
Basically, that is simple: (a) display the filebrowser, (b) do something with the returned value (a file path). In practise, however, it's rather complex, so for now let's concentrate on the default filebrowser.svasti wrote:I'd like to make the filebrowser callable from the quoteoftheday admin backend to put images into quotes.
... but how?
Code: Select all
function setLink(url) {
alert(url);
}
Das gibt auch keinen Sinn, weil dann ? zweimal vorkommen würde.cmb wrote:Note, that the base URL of the default filebrowser will change with XH 1.7. Instead of $pth['folder']['plugins'].'filebrowser/editorbrowser.php' it'll probably be $pth['folder']['base'].'?filebrowser=editorbrowser'.
Es sollte IMO so sein (ungetestet):svasti wrote:$pth['folder']['base'].'?filebrowser=editorbrowser??????[??was kommt hierhin?]???????quoteoftheday&prefix='.....etc
Code: Select all
$pth['folder']['base'].'?filebrowser=editorbrowser&editor=quoteoftheday&prefix=./&base=./&type=image
Ja, so sollte es passen. Im Zweifel einfach mal vergleichen, wie die URLs aussehen, die der Editor beim Bildeinfügen aufruft. (Ich weiß übrigens nicht, ob der base Parameter überhaupt gebraucht wird.)Holger wrote:Es sollte IMO so sein (ungetestet):svasti wrote:$pth['folder']['base'].'?filebrowser=editorbrowser??????[??was kommt hierhin?]???????quoteoftheday&prefix='.....etcCode: Select all
$pth['folder']['base'].'?filebrowser=editorbrowser&editor=quoteoftheday&prefix=./&base=./&type=image
Genau. Und daher sollte sich das Script nun an die "Regeln" halten, die auch sonst für Plugins gelten (Bezeichner mit Prefix, usw.), um Kollisionen mit anderen Plugins und dem Core zu vermeiden. Z.B. konnte man für 1.6 im Script noch eine Funktion namens a() definieren, was unter 1.7 nicht mehr möglich ist, da diese bereits vom Core definiert wird.Holger wrote:Die Idee dahinter ist, dass alle Requests direkt an index.php gehen, wo dann automatisch alle Pfade, Variablen usw. verfügbar sind. Bisher gehen die Requests an editorbrowser.php und alle nöigen Variablen müssen per URL bzw. Session dort erst bekannt gemacht werden.
Code: Select all
$editorbrowser = version_compare(CMSIMPLE_XH_VERSION, 1.7, '<') && version_compare(CMSIMPLE_XH_VERSION, 1.5, '>')
? $pth['folder']['plugins'].'filebrowser/editorbrowser.php?editor'
: $pth['folder']['base'].'?filebrowser=editorbrowser&editor';
...
function filebrowser (type) {
window.open("'.$editorbrowser
. '=quoteoftheday&prefix='.$pth['folder']['base'].'&base=./&type=" + type, "",
"toolbar=no,location=no,status=no,menubar=no," +
"scrollbars=yes,resizable=yes,width=640,height=480");
}';
Ich vermute, dass da ein JavaScript-Fehler auftritt. Schau mal in die Konsole des Filebrowser-Fensters.svasti wrote:Allerdings passiert nichts mehr, wenn man auf eine Bildadresse klickt.
Bei 1.6.x wurde die URL dann übergeben... Es wird zwar der Händchencursor gezeigt, wenn die Maus über der Bildadresse ist, aber ein Klick bewirkt nichts.... normalerweise müsste dann die URL übergeben werden und der Filebrowser geschlossen werden.
Wie ich gerade durch Dateivergleich feststelle, ist die filebrowser.js für 1.7 ja völlig umgekrempelt worden und doppelt so groß geworden.Konsole wrote:TypeError: window.setLink is not a function ..... filebrowser.js:256:0
Ja, plugins/filebrowser/js/filebrowser.js wurde ordentlich umgekrempelt (r1535). Aber ist das wirklich ein Problem? Die Fehlermeldung zeigt an, dass die Funktion setLink() nicht definiert ist – befindet sich denn in plugins/filebrowser/editorhooks auch der quoteoftheday/ Ordner mit der Datei script.php?svasti wrote:Wie ich gerade durch Dateivergleich feststelle, ist die filebrowser.js für 1.7 ja völlig umgekrempelt worden und doppelt so groß geworden.