--- typo3_src-3.8.1/typo3/sysext/cms/tslib/class.tslib_menu.orig.php 2006-01-13 15:04:45.000000000 +0100 +++ typo3_src-3.8.1/typo3/sysext/cms/tslib/class.tslib_menu.php 2006-01-15 20:37:28.000000000 +0100 @@ -358,16 +358,34 @@ } else { $iState = $GLOBALS['TSFE']->sys_language_uid==$sUid ? 'ACT' : 'NO'; } + + + // preserve link parameters if requested + if ($this->conf['preserveQueryString']) { + + // fetch GET parameters + $GETarray = t3lib_div::_GET(); + + // set language parameter + $GETarray['L'] = $sUid; + + // convert $GETarray into link parameters + $GETParameterString = t3lib_div::implodeArrayForUrl('',$GETarray); + } else { + $GETParameterString = '&L='.$sUid; + } + + // Adding menu item: $temp[] = array_merge( array_merge($currentPageWithNoOverlay, $lRecs), array( 'ITEM_STATE' => $iState, - '_ADD_GETVARS' => '&L='.$sUid, + '_ADD_GETVARS' => $GETParameterString, '_SAFE' => TRUE ) ); - } + } break; case 'directory': if ($value=='') {