Index: t3lib/class.t3lib_page.php =================================================================== RCS file: /cvsroot/typo3/TYPO3core/t3lib/class.t3lib_page.php,v retrieving revision 1.26 diff -u -b -B -r1.26 class.t3lib_page.php --- t3lib/class.t3lib_page.php 7 Oct 2005 12:16:21 -0000 1.26 +++ t3lib/class.t3lib_page.php 19 Oct 2005 13:42:47 -0000 @@ -425,6 +425,18 @@ } else unset($row); // If the mount point could not be fetched with respect to enableFields, unset the row so it does not become a part of the menu! } + // if shortcut, look up if the target exists + if ($row['doktype'] == 4 && $row['shortcut']) { + if ($row['shortcut_mode'] == 0) { + $res2 = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid', 'pages', 'uid='.intval($row['shortcut']).$this->where_hid_del.$this->where_groupAccess.' '.$addWhere, '', $sortField); + } else { // check subpages - first subpage or random subpage + $res2 = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid', 'pages', 'pid='.intval($row['shortcut']).$this->where_hid_del.$this->where_groupAccess.' '.$addWhere, '', 'sorting', 1); + } + if (!$GLOBALS['TYPO3_DB']->sql_num_rows($res2)) { + unset($row); + } + } + // Add to output array after overlaying language: if (is_array($row)) { $output[$origUid] = $this->getPageOverlay($row);