NAVIGATION
Häufig zeigt sich, dass die Fenstergröße des “FileBrowsers” gerade bei einer tief verschachtelten Dateistruktur oder langen Dateinamen etwas zu klein ist. Das Fenster muss dann horizontal gerollt werden.
Mit diesem Hack kann die öffnende Fenstergröße des “FileBrowser” voreingestellt, also vergrößert werden.
dazu sind:
Docu: –
Forum: –
Autor: K.Heermann (flip-flop) http://planmatrix.de
(07.07.2011)
CMS Version: >= 1.3
Version: V1.0
Dateinamen: * filebrowser.php
Mit diesen beiden Schalter wird bestimmt, mit welcher Größe das “FileBrowser-Fenster” öffnet. (sind die Schalter nicht vorhanden werden die default-Einträge in der “filebrowser.php” bzw. “include/inc_js/filebrowser_enhanced.js” verwendet (siehe unten)).
In der config/phpwcms/conf.inc.php wird am Ende vor dem schließenden ?> eingefügt
// CUSTOM KH: 07.07.2011 FileBrowser width/height $phpwcms['FileBrowser_Width'] = 800; // phpwcms Filebrowser window width $phpwcms['FileBrowser_Height']= 900; // phpwcms Filebrowser window height
<note>Diese Schalter sind optional, die Werte können auch in der Datei “filebrowser.php” oder “include/inc_js/filebrowser_enhanced.js” festgeschrieben werden.</note>
Erweiterung der Datei filebrowser.php im generierten <head> ... </head> - Bereich. etwa ab Zeile 160.
Eingefügt wird vor dem schließenden </head>:
<script src="include/inc_js/filebrowser_enhanced.js" type="text/javascript"></script> <SCRIPT language=JavaScript> // 07.07.2011 KH: Enhanced for width/height windows var xwidth = <?php echo (isset($phpwcms["FileBrowser_Width"])) ? $phpwcms["FileBrowser_Width"] : '460'; ?>; var xheight= <?php echo (isset($phpwcms["FileBrowser_Height"]))? $phpwcms["FileBrowser_Height"] : '540'; ?>; window.onDomReady(bigWindow(xwidth,xheight)); </SCRIPT>;
Alternativ mit festgeschriebenen Werten ohne die Einträge in der “conf.inc.php”:
<script src="include/inc_js/filebrowser_enhanced.js" type="text/javascript"></script> <SCRIPT language=JavaScript> // 07.07.2011 KH: Enhanced for width/height windows // bigWindow(width,height); window.onDomReady(bigWindow(800,900)); </SCRIPT>;
Oder alternativ mit festgeschriebenen Werten in der Datei “include/inc_js/filebrowser_enhanced.js” ohne die Einträge in der “conf.inc.php”:
<script src="include/inc_js/filebrowser_enhanced.js" type="text/javascript"></script> <SCRIPT language=JavaScript> // 07.07.2011 KH: Enhanced for width/height window window.onDomReady(bigWindow()); </SCRIPT>;
Die Datei include/inc_js/filebrowser_enhanced.js erzeugen.
In der Funktion “function bigWindow(xwidth,xheight)” können Werte für Breite/Höhe des Fensters vorbelegt werden, wenn diese Daten nicht über den Aufruf der Funktion transportiert werden (kein Eintrag in der “conf.inc.php” oder “filebrowser.php”).
// 07.07.2011 KH (flip-flop) // Extends the file browser with the option for adjustable window width and height. // -------------------------------------------------------------------------------- //create onDomReady Event //http://phpperformance.de/javascript-event-onload-und-die-bessere-alternative/ window.onDomReady = initReady; // Initialize event depending on browser function initReady(fn) { //W3C-compliant browser if(document.addEventListener) { document.addEventListener("DOMContentLoaded", fn, false); } //IE else { document.onreadystatechange = function(){readyState(fn)} } } //IE execute function function readyState(func) { // DOM is ready if(document.readyState == "interactive" || document.readyState == "complete") { func(); } } //execute as soon as DOM is loaded //http://www.programmersheaven.com/2/FAQ-JavaScript-Maximize-Browser-Window-To-Screen //http://www.virtualuniversity.ch/software/jscript/fenster/2.html //window.onDomReady(bigWindow); // Call in filebrowser.php with width/height parameters //do when DOM is ready function bigWindow(xwidth,xheight) { if(typeof xwidth == 'undefined') xwidth = '800'; // preassigned value if(typeof xheight == 'undefined') xheight = '900'; // preassigned value // alert(arguments.length + '/'+ xwidth + xheight); window.moveTo(10,10); // if (document.all){top.window.resizeTo(screen.availWidth-500,screen.availHeight-300);} if (document.all){top.window.resizeTo(xwidth,xheight);} else if (document.layers||document.getElementById){ if(top.window.outerHeight<screen.availHeight|| top.window.outerWidth<screen.availWidth) { // top.window.outerHeight = screen.availHeight-300; top.window.outerWidth = screen.availWidth-500; top.window.outerHeight = xheight; top.window.outerWidth = xwidth; } } }