Fix bug #6420: access key generation wrong with HTML tags in menu titles (TMENU).
authorMartin Kutschker <martin.t.kutschker@blackbox.net>
Mon, 8 Oct 2007 20:32:05 +0000 (20:32 +0000)
committerMartin Kutschker <martin.t.kutschker@blackbox.net>
Mon, 8 Oct 2007 20:32:05 +0000 (20:32 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/branches/TYPO3_4-1@2543 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/cms/tslib/class.tslib_menu.php

index 8ff2841..5c36045 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,12 @@
 
+2007-10-08  Martin Kutschker  <martin.t.kutschker@blackbox.net>
+
+       * Fix bug #6420: access key generation wrong with HTML tags in menu titles (TMENU)
+
+2007-10-07  Martin Kutschker  <martin.t.kutschker@blackbox.net>
+
+       * Fixed bug #5911: GIFBUILDER setting quality not honoured
+
 2007-10-06  Martin Kutschker  <martin.t.kutschker@blackbox.net>
 
        * Fixed bug #6462: Wrong default locale charset on Windows
index 4df2bb3..ae30359 100755 (executable)
@@ -1399,7 +1399,7 @@ class tslib_menu {
        }
 
        /**
-        * Creates an access-key for a GMENU menu item based on the menu item titles first letter
+        * Creates an access-key for a TMENU/GMENU menu item based on the menu item titles first letter
         *
         * @param       string          Menu item title.
         * @return      array           Returns an array with keys "code" ("accesskey" attribute for the img-tag) and "alt" (text-addition to the "alt" attribute) if an access key was defined. Otherwise array was empty
@@ -1409,10 +1409,11 @@ class tslib_menu {
                        // The global array ACCESSKEY is used to globally control if letters are already used!!
                $result = Array();
 
+               $title = trim(strip_tags($title));
                $titleLen = strlen($title);
                for ($a=0;$a<$titleLen;$a++)    {
-                       $key = strtoupper(trim(substr($title,$a,1)));
-                       if (preg_match('/[a-zA-Z]/', $key) && !isset($GLOBALS['TSFE']->accessKey[$key]))        {
+                       $key = strtoupper(substr($title,$a,1));
+                       if (preg_match('/[A-Z]/', $key) && !isset($GLOBALS['TSFE']->accessKey[$key]))   {
                                $GLOBALS['TSFE']->accessKey[$key]=1;
                                $result['code'] = ' accesskey="'.$key.'"';
                                $result['alt'] = ' (ALT+'.$key.')';