Bug #23505 » 15644.diff
t3lib/class.t3lib_befunc.php (Arbeitskopie) | ||
---|---|---|
$lRec = self::getRecordWSOL('pages', intval($row['shortcut']), 'title');
|
||
$label = $lRec['title'];
|
||
}
|
||
if ($row['shortcut_mode']>0) {
|
||
if ($row['shortcut_mode'] != tslib_fe::SHORTCUT_MODE_NONE) {
|
||
$label.=', '.$LANG->sL($TCA['pages']['columns']['shortcut_mode']['label']).' '.
|
||
$LANG->sL(self::getLabelFromItemlist('pages', 'shortcut_mode', $row['shortcut_mode']));
|
||
}
|
t3lib/class.t3lib_page.php (Arbeitskopie) | ||
---|---|---|
// if shortcut, look up if the target exists and is currently visible
|
||
if ($row['doktype'] == 4 && ($row['shortcut'] || $row['shortcut_mode']) && $checkShortcuts) {
|
||
if ($row['shortcut_mode'] == 0) {
|
||
if ($row['shortcut_mode'] == tslib_fe::SHORTCUT_MODE_NONE) {
|
||
// no shortcut_mode set, so target is directly set in $row['shortcut']
|
||
$searchField = 'uid';
|
||
$searchUid = intval($row['shortcut']);
|
||
} elseif ($row['shortcut_mode'] == 1 || $row['shortcut_mode'] == 2) {
|
||
} elseif ($row['shortcut_mode'] == tslib_fe::SHORTCUT_MODE_FIRST_SUBPAGE || $row['shortcut_mode'] == tslib_fe::SHORTCUT_MODE_RANDOM_SUBPAGE) {
|
||
// check subpages - first subpage or random subpage
|
||
$searchField = 'pid';
|
||
// If a shortcut mode is set and no valid page is given to select subpags from use the actual page.
|
||
$searchUid = intval($row['shortcut'])?intval($row['shortcut']):$row['uid'];
|
||
} elseif ($row['shortcut_mode'] == 3) {
|
||
} elseif ($row['shortcut_mode'] == tslib_fe::SHORTCUT_MODE_PARENT) {
|
||
// shortcut to parent page
|
||
$searchField = 'uid';
|
||
$searchUid = $row['pid'];
|
typo3/sysext/cms/tslib/class.tslib_fe.php (Arbeitskopie) | ||
---|---|---|
protected $pageCache;
|
||
protected $pageCacheTags = array();
|
||
/**
|
||
* Named constants for "magic numbers" of the field shortcut_mode
|
||
*/
|
||
const SHORTCUT_MODE_NONE = 0;
|
||
const SHORTCUT_MODE_FIRST_SUBPAGE = 1;
|
||
const SHORTCUT_MODE_RANDOM_SUBPAGE = 2;
|
||
const SHORTCUT_MODE_PARENT = 3;
|
||
/**
|
||
* Class constructor
|
typo3/sysext/cms/tslib/class.tslib_content.php (Arbeitskopie) | ||
---|---|---|
// If we link across domains and page is free type shortcut, we must resolve the shortcut first!
|
||
// If we do not do it, TYPO3 will fail to (1) link proper page in RealURL/CoolURI because
|
||
// they return relative links and (2) show proper page if no RealURL/CoolURI exists when link is clicked
|
||
if ($enableLinksAcrossDomains && $page['doktype'] == 4 && $page['shortcut_mode'] == 0) {
|
||
if ($enableLinksAcrossDomains && $page['doktype'] == 4 && $page['shortcut_mode'] == tslib_fe::SHORTCUT_MODE_NONE) {
|
||
$page2 = $page; // Save in case of broken destination or endless loop
|
||
$maxLoopCount = 20; // Same as in RealURL, seems enough
|
||
while ($maxLoopCount && is_array($page) && $page['doktype'] == 4 && $page['shortcut_mode'] == 0) {
|
||
while ($maxLoopCount && is_array($page) && $page['doktype'] == 4 && $page['shortcut_mode'] == tslib_fe::SHORTCUT_MODE_NONE) {
|
||
$page = $GLOBALS['TSFE']->sys_page->getPage($page['shortcut'], $disableGroupAccessCheck);
|
||
$maxLoopCount--;
|
||
}
|