Index: t3lib/js/adminpanelDnD.js =================================================================== --- t3lib/js/adminpanelDnD.js (revision 0) +++ t3lib/js/adminpanelDnD.js (revision 0) @@ -0,0 +1,103 @@ +/*************************************************************** +* +* Admin Panel drag and drop +* +* $Id$ +* +* Copyright notice +* +* (c) 2008 Ingo Renner +* All rights reserved +* +* This script is part of the TYPO3 t3lib/ library provided by +* Ingo Renner together with TYPO3 +* +* Released under GNU/GPL (see license file in typo3/sysext/cms/tslib/) +* +* This script is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* +* This copyright notice MUST APPEAR in all copies of this script +***************************************************************/ + +var restoreOnce = 0; + +function saveposition(panel) { + var admPanelPosX = panel.offsetLeft; + var admPanelPosY = panel.offsetTop; + setCookie("admPanelPosX", admPanelPosX); + setCookie("admPanelPosY", admPanelPosY); +} + +function restorePosition() { + if (restoreOnce == 0) { + var admPanelPosX = getCookie("admPanelPosX"); + if (admPanelPosX > 0) { + document.getElementById("admPanel").style.left = admPanelPosX + + "px"; + } + var admPanelPosY = getCookie("admPanelPosY"); + if (admPanelPosY > 0) { + document.getElementById("admPanel").style.top = admPanelPosY + "px"; + } + restoreOnce = 1; + } +} + +function setCookie(name, value, expires, path, domain, secure) { + document.cookie = name + "=" + escape(value) + + ((expires) ? "; expires=" + expires.toGMTString() : "") + + ((path) ? "; path=" + path : "") + + ((domain) ? "; domain=" + domain : "") + + ((secure) ? "; secure" : ""); +} + +function getCookie(name) { + var dc = document.cookie; + var prefix = name + "="; + var begin = dc.indexOf("; " + prefix); + if (begin == -1) { + begin = dc.indexOf(prefix); + if (begin != 0) + return null; + } else { + begin += 2; + } + var end = document.cookie.indexOf(";", begin); + if (end == -1) { + end = dc.length; + } + return unescape(dc.substring(begin + prefix.length, end)); +}; + +var dragobjekt = null; +var dragx = 0; +var dragy = 0; +var posx = 0; +var posy = 0; + +function draginit() { + document.onmousemove = drag; + document.onmouseup = dragstop; +}; + +function dragstart(element) { + dragobjekt = element; + dragx = posx - dragobjekt.offsetLeft; + dragy = posy - dragobjekt.offsetTop; +}; + +function dragstop() { + dragobjekt = null; +}; + +function drag(ereignis) { + posx = document.all ? window.event.clientX : ereignis.pageX; + posy = document.all ? window.event.clientY : ereignis.pageY; + if (dragobjekt != null) { + dragobjekt.style.left = (posx - dragx) + "px"; + dragobjekt.style.top = (posy - dragy) + "px"; + } +} + Index: t3lib/class.t3lib_tsfebeuserauth.php =================================================================== --- t3lib/class.t3lib_tsfebeuserauth.php (revision 4382) +++ t3lib/class.t3lib_tsfebeuserauth.php (working copy) @@ -152,7 +152,8 @@ * @see index_ts.php */ function extPrintFeAdminDialog() { - $out=''; + $out = ''; + if ($this->uc['TSFE_adminConfig']['display_top']) { if ($this->extAdmModuleEnabled('preview')) $out.= $this->extGetCategory_preview(); if ($this->extAdmModuleEnabled('cache')) $out.= $this->extGetCategory_cache(); @@ -233,7 +234,17 @@ '; } - return "\n\n\n\n".$out.'
'; + + $out = ' +
+ ' . $out . ' +
+'; + + return $out; } /** @@ -624,9 +635,7 @@ $out = ' - '.($pre ? $this->extFw($this->extGetLL($pre)) : ' ').' - - '.$element.' + '.$element.' '.($pre ? $this->extFw($this->extGetLL($pre)) : ' ').' '; return $out; Index: typo3/sysext/lang/locallang_tsfe.xml =================================================================== --- typo3/sysext/lang/locallang_tsfe.xml (revision 4382) +++ typo3/sysext/lang/locallang_tsfe.xml (working copy) @@ -35,13 +35,13 @@ - - - - - - - + + + + + + +