Actions
Bug #31079
closedNon-array argument passed to t3lib_div::implodeAttributes()
Start date:
2011-10-18
Due date:
% Done:
100%
Estimated time:
TYPO3 Version:
4.6
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:
Description
In an install, TYPO3 crashes when I switch from default language (French) to German (L=1):
#1: PHP Catchable Fatal Error: Argument 1 passed to t3lib_div::implodeAttributes() must be an array, boolean given, called in /path/to/typo3/sysext/cms/tslib/class.tslib_menu.php on line 1503 and defined in /path/to/t3lib/class.t3lib_div.php line 2000
trace:
t3lib_error_Exception thrown in file /path/to/t3lib/error/class.t3lib_error_errorhandler.php in line 105. 20 t3lib_error_ErrorHandler::handleError(4096, "Argument 1 passed to t3lib_div::implodeAttributes(…slib/class.tslib_menu.php on line 1503 and defined", "/path/to/t3lib/class.t3lib_div.php", 2000, array) /path/to/t3lib/class.t3lib_div.php: 01998: * @return string Imploded attributes, eg. 'bgcolor="red" border="0"' 01999: */ 02000: public static function implodeAttributes(array $arr, $xhtmlSafe = FALSE, $dontOmitBlankAttribs = FALSE) { 02001: if ($xhtmlSafe) { 02002: $newArr = array(); 19 t3lib_div::implodeAttributes(boolean, 1) /path/to/typo3/sysext/cms/tslib/class.tslib_menu.php: 01501: */ 01502: function setATagParts() { 01503: $this->I['A1'] = 'I['linkHREF'],1).' '.$this->I['val']['ATagParams'].$this->I['accessKey']['code'].'>'; 01504: $this->I['A2'] = ''; 01505: } 18 tslib_menu::setATagParts() /path/to/typo3/sysext/cms/tslib/class.tslib_menu.php: 01749: if (!$this->I['val']['doNotLinkIt']) {$this->I['val']['doNotLinkIt']=0;} 01750: if (!$this->I['spacer'] && $this->I['val']['doNotLinkIt']!=1) { 01751: $this->setATagParts(); 01752: } else { 01753: $this->I['A1'] = ''; 17 tslib_tmenu::writeMenu() /path/to/typo3/sysext/cms/tslib/class.tslib_menu.php: 01317: // Reset the menu item count for the submenu 01318: $GLOBALS['TSFE']->register['count_MENUOBJ'] = 0; 01319: $content = $submenu->writeMenu(); 01320: // Restore the item count now that the submenu has been handled 01321: $GLOBALS['TSFE']->register['count_MENUOBJ'] = $tempCountMenuObj; 16 tslib_menu::subMenu("3", NULL) /path/to/typo3/sysext/cms/tslib/class.tslib_menu.php: 01933: // Add part to the accumulated result + fetch submenus 01934: if (!$this->I['spacer']) { 01935: $this->I['theItem'].= $this->subMenu($this->I['uid'], $this->WMsubmenuObjSuffixes[$key]['sOSuffix']); 01936: } 01937: $part = isset($this->I['val']['wrapItemAndSub.']) 15 tslib_tmenu::extProc_afterLinking(0) /path/to/typo3/sysext/cms/tslib/class.tslib_menu.php: 01815: 01816: // Calling extra processing function 01817: $this->extProc_afterLinking($key); 01818: } 01819: return $this->extProc_finish(); 14 tslib_tmenu::writeMenu() /path/to/typo3/sysext/cms/tslib/content/class.tslib_content_hierarchicalmenu.php: 00070: $menu->makeMenu(); 00071: 00072: $theValue .= $menu->writeMenu(); 00073: 00074: } 13 tslib_content_HierarchicalMenu::render(array) /path/to/typo3/sysext/cms/tslib/class.tslib_content.php: 00599: $contentObject = $this->getContentObject($name); 00600: if ($contentObject) { 00601: $content .= $contentObject->render($conf); 00602: } else { 00603: // call hook functions for extra processing 12 tslib_cObj::cObjGetSingle("HMENU", array, "TemplaVoila_ProcObjPath--lib*menu*main.") /path/to/typo3conf/ext/templavoila/pi1/class.tx_templavoila_pi1.php: 00635: if (trim($LP[$key]['TypoScriptObjPath'])) { 00636: list($name, $conf) = $tsparserObj->getVal(trim($LP[$key]['TypoScriptObjPath']),$GLOBALS['TSFE']->tmpl->setup); 00637: $dataValues[$key][$valueKey] = $cObj->cObjGetSingle($name,$conf,'TemplaVoila_ProcObjPath--'.str_replace('.','*',$LP[$key]['TypoScriptObjPath']).'.'); 00638: } 00639: } 11 tx_templavoila_pi1::processDataValues(array, array, NULL, "vDEF", boolean) /path/to/typo3conf/ext/templavoila/pi1/class.tx_templavoila_pi1.php: 00357: // Store the original data values before the get processed. 00358: $originalDataValues = $dataValues; 00359: $this->processDataValues($dataValues,$dataStruct['ROOT']['el'],$TOlocalProc,$vKey, ($this->conf['renderUnmapped'] !== 'false' ? TRUE : $TO['MappingInfo']['ROOT']['el'])); 00360: 00361: // Hook: renderElement_postProcessDataValues
Actions