--- tslib/class.tslib_menu.php 2004-09-24 14:06:12.000000000 +0200 +++ tslib/class.tslib_menu.diff.php 2004-12-22 14:27:16.710422400 +0100 @@ -988,6 +988,27 @@ } } } + + if ($this->mconf['CURIFSUB']) { + $CURIFSUBinit = 0; // Flag: If $CURIFSUB is generated + reset($NOconf); + while (list($key,$val)=each($NOconf)) { // Find active + if ($this->isItemState('CURIFSUB',$key)) { + if (!$CURIFSUBinit) { // if this is the first active, we must generate CURIFSUB. + $CURIFSUBconf = $this->tmpl->splitConfArray($this->mconf['CURIFSUB.'],$splitCount); + // Prepare active rollOver settings, overriding normal active settings + if ($this->mconf['CURIFSUBRO']) { + $CURIFSUBROconf = $this->tmpl->splitConfArray($this->mconf['CURIFSUBRO.'],$splitCount); + } + $CURIFSUBinit = 1; + } + $NOconf[$key] = $CURIFSUBconf[$key]; // Substitute normal with active + if ($ROconf) { // If rollOver on normal, we must apply a state for rollOver on the active + $ROconf[$key] = $CURIFSUBROconf[$key] ? $CURIFSUBROconf[$key] : $CURIFSUBconf[$key]; // If RollOver on active then apply this + } + } + } + } // Prepare active settings, overriding normal settings if ($this->mconf['USR']) { $USRinit = 0; // Flag: If $USR is generated @@ -1284,6 +1305,9 @@ case 'CUR': $natVal = $this->isCurrent($this->menuArr[$key]['uid'], $this->getMPvar($key)); break; + case 'CURIFSUB': + $natVal = $this->isCurrent($this->menuArr[$key]['uid'], $this->getMPvar($key)) && $this->isSubMenu($this->menuArr[$key]['uid']); + break; case 'USR': $natVal = $this->menuArr[$key]['fe_group']; break; @@ -2677,4 +2701,4 @@ include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['tslib/class.tslib_menu.php']); } -?> \ No newline at end of file +?>