To files has to be changed
1) class.tslib_content.php
change line 5193 $page = $GLOBALS['TSFE']->sys_page->getPage($link_param,$disableGroupAccessCheck);
to
$page = $GLOBALS['TSFE']->sys_page->getPage($link_param,$disableGroupAccessCheck,TRUE);
(a third parameter is added for getPage)
2) class.t3lib_page.php
Line 184ff
Change the function get Page and add the function checkPage
/**
* Returns the $row for the page with uid = $uid (observing ->where_hid_del)
* Any pages_language_overlay will be applied before the result is returned.
* If no page is found an empty array is returned.
*
* @param integer The page id to look up.
* @param boolean If set, the check for group access is disabled. VERY rarely used
* @param boolean If set, the check will include the rootline
* @return array The page row with overlayed localized fields. Empty it no page.
* @see getPage_noCheck()
/
function getPage($uid, $disableGroupAccessCheck=FALSE,$userRootlineCheck=FALSE) {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('', 'pages', 'uid='.intval($uid).$this->where_hid_del.($disableGroupAccessCheck ? '' : $this->where_groupAccess));
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
$check = ($userRootlineCheck ? $this->checkPage($uid) : 1 );
if ($row && $check){
$this->versionOL('pages',$row);
if (is_array($row)) return $this->getPageOverlay($row);
}
return Array();
}
/**
* Checks the current rootline for defined sections.
*
* @param integer The page id to look up.
* @return boolean
*/
function checkPage($uid) {
$MP = t3lib_div::_GP('MP');
$rootLine = $this->getRootLine($uid,$MP);
$c=count($rootLine);
while(list($k,$page) = each($rootLine)){
if($page['title']=='Seminare'){
if ($page['extendToSubpages'] && !$GLOBALS['TSFE']->checkEnableFields($page)) {
return false;
}
}
}
return true;
}