[BUGFIX] Page within a mountpoint using Show Content from Page results in 503 header
authorPatrick <patrick@patrickbroens.nl>
Mon, 5 Dec 2011 09:00:31 +0000 (10:00 +0100)
committerSteffen Ritter <info@rs-websystems.de>
Wed, 7 Mar 2012 20:26:23 +0000 (21:26 +0100)
When pages:content_from_pid is used, the TSFE for the current object will be cloned to a temporary object for the page to get the content from. In this temporary object, the id for the page will be changed to the contents of content_from_pid. However, the MP variable will not be changed.

This results in a TSFE object with the wrong MP variable connected to the id. Within this temporary object the rootline will be calculated, which will be empty, because of the wrong MP variable. This triggers the 503 header.

This bugfix fixes this by emptying the MP variable.

Change-Id: I380b33e6daf3d36a1799409f484cc2e75290681b
Fixes: #32292
Releases: 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/7071
Reviewed-by: Stefan Neufeind
Reviewed-by: Steffen Ritter
Tested-by: Stefan Neufeind
Tested-by: Steffen Ritter
typo3/sysext/cms/tslib/class.tslib_pagegen.php

index e53d316..ab70590 100644 (file)
@@ -73,6 +73,7 @@ class TSpagegen {
                if ($GLOBALS['TSFE']->page['content_from_pid']>0)       {
                        $temp_copy_TSFE = clone($GLOBALS['TSFE']);      // make REAL copy of TSFE object - not reference!
                        $temp_copy_TSFE->id = $GLOBALS['TSFE']->page['content_from_pid'];       // Set ->id to the content_from_pid value - we are going to evaluate this pid as was it a given id for a page-display!
+                       $temp_copy_TSFE->MP = '';
                        $temp_copy_TSFE->getPageAndRootlineWithDomain($GLOBALS['TSFE']->config['config']['content_from_pid_allowOutsideDomain']?0:$GLOBALS['TSFE']->domainStartPage);
                        $GLOBALS['TSFE']->contentPid = intval($temp_copy_TSFE->id);
                        unset($temp_copy_TSFE);