Bug #15362

template::getTabMenu double ampersanded

Added by Elmar Hinz almost 15 years ago. Updated over 10 years ago.

Should have
Target version:
Start date:
Due date:
% Done:


Estimated time:
TYPO3 Version:
PHP Version:
Is Regression:
Sprint Focus:


The function: template::getTabMenu produces following HTML output as example: index.php?&id=1&tab=1

obviously & is converted to & then to &

This bug is analogue to #14547 in the FE.

The problem is template::getTabMenu() generates the url, and passes it
through "htmlspecialchars". Then calls template::getTabMenuRaw(), which
will then render the A-tag, but will pass the url again through
htmlspecialchars. My comment from on #14547 from 10.11.05 17:00 you can
see that if we follow my 4-step instructions, we need to: generate the
URL in its raw mode in getTabMenu() and then just pass it through
htmlspecialchars right before generating the A-tag.

So the fix would be to remove the "htmlspecialchars()" call in
getTabMenu(), leaving it just in getTabMenuRaw().

(Ernest on 4.1.06 in typo3.dev)
(issue imported from #M2178)


template.php.diff (655 Bytes) template.php.diff Administrator Admin, 2009-04-17 10:27

Related issues

Related to TYPO3 Core - Bug #14547: XHTML compliance of typolink (non-compliant links are generated when additional parameters are used)ClosedMartin Kutschker2005-02-10

Has duplicate TYPO3 Core - Bug #15966: template::getTabMenu doubles ampersandsClosedChristian Kuhn2006-04-02


Updated by Stefan Steinbeck about 14 years ago

Temporary workaround posted by elmar on typ3.dev on jan 4th 06:

foreach($GLOBALS['_GET'] as $key => $value)
if(preg_match('/amp;(.*)/', $key, $matches))
$GLOBALS['_GET'][$matches[1]] = $value;

Updated by Netresearch GmbH & Co KG over 13 years ago

Also see #0003093 would be nice to solve, couse it exists up to t3 4.1.1


Updated by Martin Holtz over 12 years ago

it exists in 4.1.7 too


Updated by Stefano Kowalke over 11 years ago

exist still in 4.2.6


Updated by Christian Kuhn over 11 years ago

Committed to trunk rev. 5325
Committed to 4.2 rev. 5326


Updated by Christian Kuhn over 11 years ago

Reverted in 4.2-branch in revision 5533.

  • it changed/introduced new behavior
  • makes extensions depend on patch level releases

Also available in: Atom PDF