Actions
Bug #48390
closedException if linked folder does not exist
Status:
Closed
Priority:
Must have
Assignee:
Category:
File Abstraction Layer (FAL)
Target version:
-
Start date:
2013-05-20
Due date:
% Done:
100%
Estimated time:
TYPO3 Version:
6.0
PHP Version:
5.4
Tags:
Complexity:
no-brainer
Is Regression:
Sprint Focus:
Description
Uncaught TYPO3 Exception #1329647780: Object with identifier "1:/user_upload/testfolder3/" does not exist in storage (More information) TYPO3\CMS\Core\Resource\Exception\ResourceDoesNotExistException thrown in file /home/phil/t3-playground/t3-git/typo3/sysext/core/Classes/Resource/ResourceFactory.php in line 398. 27 TYPO3\CMS\Core\Resource\ResourceFactory::getObjectFromCombinedIdentifier("1:/user_upload/testfolder3/") /home/phil/t3-playground/t3-git/typo3/sysext/core/Classes/Resource/ResourceFactory.php: 00324: if (\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($prefix)) { 00325: // path or folder in a valid storageUID 00326: return $this->getObjectFromCombinedIdentifier($input); 00327: } elseif ($prefix == 'EXT') { 00328: $input = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($input); 26 TYPO3\CMS\Core\Resource\ResourceFactory::retrieveFileOrFolderObject("1:/user_upload/testfolder3/") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 05631: if ($linkHandlerKeyword === 'file') { 05632: try { 05633: $fileOrFolderObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($linkHandlerValue); 05634: // Link to a folder or file 05635: if ($fileOrFolderObject instanceof \TYPO3\CMS\Core\Resource\ResourceInterface) { 25 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::typoLink("Linked file without a real file", array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 03020: */ 03021: public function stdWrap_typolink($content = '', $conf = array()) { 03022: $content = $this->typolink($content, $conf['typolink.']); 03023: return $content; 03024: } 24 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::stdWrap_typolink("Linked file without a real file", array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 02015: // Call the function with the prefix stdWrap_ to make sure nobody can execute functions just by adding their name to the TS Array 02016: $functionName = 'stdWrap_' . $functionName; 02017: $content = $this->{$functionName}($content, $singleConf); 02018: } elseif ($functionType == 'boolean' && !$conf[$functionName]) { 02019: $isExecuted[$functionName] = TRUE; 23 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::stdWrap("", array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/TextContentObject.php: 00049: } 00050: if (count($conf)) { 00051: $content = $this->cObj->stdWrap($content, $conf); 00052: } 00053: return $content; 22 TYPO3\CMS\Frontend\ContentObject\TextContentObject::render(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00738: $contentObject = $this->getContentObject($name); 00739: if ($contentObject) { 00740: $content .= $contentObject->render($conf); 00741: } else { 00742: // Call hook functions for extra processing 21 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle("TEXT", array, "/parseFunc/.tags.link") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 04828: } 04829: $this->data[$this->currentValKey] = $contentAccum[$contentAccumP]; 04830: $newInput = $this->cObjGetSingle($theName, $theConf, '/parseFunc/.tags.' . $tag[0]); 04831: // fetch the content object 04832: $contentAccum[$contentAccumP] = $newInput; 20 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::_parseFunc("<link file:1:/user_upload/testfolder3/ - download …e download">Linked file without a real file</link>", array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 04646: } 04647: } else { 04648: $parts[$k] = $this->_parseFunc($parts[$k], $conf); 04649: } 04650: } 19 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::parseFunc("<link file:1:/user_upload/testfolder3/ - download …e download">Linked file without a real file</link>", NULL, "< lib.parseFunc_RTE") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 02478: */ 02479: public function stdWrap_parseFunc($content = '', $conf = array()) { 02480: $content = $this->parseFunc($content, $conf['parseFunc.'], $conf['parseFunc']); 02481: return $content; 02482: } 18 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::stdWrap_parseFunc("<link file:1:/user_upload/testfolder3/ - download …e download">Linked file without a real file</link>", array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 02015: // Call the function with the prefix stdWrap_ to make sure nobody can execute functions just by adding their name to the TS Array 02016: $functionName = 'stdWrap_' . $functionName; 02017: $content = $this->{$functionName}($content, $singleConf); 02018: } elseif ($functionType == 'boolean' && !$conf[$functionName]) { 02019: $isExecuted[$functionName] = TRUE; 17 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::stdWrap("", array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/TextContentObject.php: 00049: } 00050: if (count($conf)) { 00051: $content = $this->cObj->stdWrap($content, $conf); 00052: } 00053: return $content; 16 TYPO3\CMS\Frontend\ContentObject\TextContentObject::render(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00738: $contentObject = $this->getContentObject($name); 00739: if ($contentObject) { 00740: $content .= $contentObject->render($conf); 00741: } else { 00742: // Call hook functions for extra processing 15 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle("TEXT", array, "20") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00686: if (intval($theKey) && !strstr($theKey, '.')) { 00687: $conf = $setup[$theKey . '.']; 00688: $content .= $this->cObjGetSingle($theValue, $conf, $addKey . $theKey); 00689: } 00690: } 14 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGet(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectArrayContentObject.php: 00047: if ($this->cObj->checkIf($conf['if.'])) { 00048: $this->cObj->includeLibs($conf); 00049: $content = $this->cObj->cObjGet($conf); 00050: $wrap = isset($conf['wrap.']) ? $this->cObj->stdWrap($conf['wrap'], $conf['wrap.']) : $conf['wrap']; 00051: if ($wrap) { 13 TYPO3\CMS\Frontend\ContentObject\ContentObjectArrayContentObject::render(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00738: $contentObject = $this->getContentObject($name); 00739: if ($contentObject) { 00740: $content .= $contentObject->render($conf); 00741: } else { 00742: // Call hook functions for extra processing 12 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle("COA", array, "text") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/CaseContentObject.php: 00051: $key = strlen($conf[$key]) ? $key : 'default'; 00052: $name = $conf[$key]; 00053: $theValue = $this->cObj->cObjGetSingle($name, $conf[$key . '.'], $key); 00054: if (isset($conf['stdWrap.'])) { 00055: $theValue = $this->cObj->stdWrap($theValue, $conf['stdWrap.']); 11 TYPO3\CMS\Frontend\ContentObject\CaseContentObject::render(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00738: $contentObject = $this->getContentObject($name); 00739: if ($contentObject) { 00740: $content .= $contentObject->render($conf); 00741: } else { 00742: // Call hook functions for extra processing 10 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle("CASE", array, "tt_content") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00724: // Getting the cObject 00725: $GLOBALS['TT']->incStackPointer(); 00726: $content .= $this->cObjGetSingle($name, $conf, $key); 00727: $GLOBALS['TT']->decStackPointer(); 00728: } else { 9 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle("<tt_content", NULL, "") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentContentObject.php: 00115: $this->cObj->lastChanged($row['tstamp']); 00116: $cObj->start($row, $conf['table']); 00117: $tmpValue = $cObj->cObjGetSingle($renderObjName, $renderObjConf, $renderObjKey); 00118: $cobjValue .= $tmpValue; 00119: } 8 TYPO3\CMS\Frontend\ContentObject\ContentContentObject::render(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00738: $contentObject = $this->getContentObject($name); 00739: if ($contentObject) { 00740: $content .= $contentObject->render($conf); 00741: } else { 00742: // Call hook functions for extra processing 7 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle("CONTENT", array, "subparts.mainContent") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/TemplateContentObject.php: 00140: $this->cObj->data[$this->cObj->currentValKey] = $GLOBALS['TSFE']->register['SUBPART_' . $theKey]; 00141: // Get subpart cObject and substitute it! 00142: $subpartArray[$PRE . $theKey . $POST] = $this->cObj->cObjGetSingle($theValue['name'], $theValue['conf'], 'subparts.' . $theKey); 00143: } 00144: // Reset current to empty 6 TYPO3\CMS\Frontend\ContentObject\TemplateContentObject::render(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00738: $contentObject = $this->getContentObject($name); 00739: if ($contentObject) { 00740: $content .= $contentObject->render($conf); 00741: } else { 00742: // Call hook functions for extra processing 5 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle("TEMPLATE", array, "10") /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php: 00686: if (intval($theKey) && !strstr($theKey, '.')) { 00687: $conf = $setup[$theKey . '.']; 00688: $content .= $this->cObjGetSingle($theValue, $conf, $addKey . $theKey); 00689: } 00690: } 4 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGet(array) /home/phil/t3-playground/t3-git/typo3/sysext/frontend/Classes/Page/PageGenerator.php: 00229: $GLOBALS['TT']->incStackPointer(); 00230: $GLOBALS['TT']->push($GLOBALS['TSFE']->sPre, 'PAGE'); 00231: $pageContent = $GLOBALS['TSFE']->cObj->cObjGet($GLOBALS['TSFE']->pSetup); 00232: if ($GLOBALS['TSFE']->pSetup['wrap']) { 00233: $pageContent = $GLOBALS['TSFE']->cObj->wrap($pageContent, $GLOBALS['TSFE']->pSetup['wrap']); 3 TYPO3\CMS\Frontend\Page\PageGenerator::renderContent() /home/phil/t3-playground/t3-git/typo3/sysext/cms/tslib/pagegen.php: 00050: if (!$GLOBALS['TSFE']->isINTincScript()) { 00051: $TT->push('pagegen.php, render'); 00052: \TYPO3\CMS\Frontend\Page\PageGenerator::renderContent(); 00053: $GLOBALS['TSFE']->setAbsRefPrefix(); 00054: $TT->pull(); 2 include("/home/phil/t3-playground/t3-git/typo3/sysext/cms/tslib/pagegen.php") /home/phil/t3-playground/t3-git/typo3/sysext/cms/tslib/index_ts.php: 00192: include $temp_theScript; 00193: } else { 00194: include PATH_tslib . 'pagegen.php'; 00195: } 00196: $TSFE->generatePage_postProcessing(); 1 require("/home/phil/t3-playground/t3-git/typo3/sysext/cms/tslib/index_ts.php") /home/phil/t3-playground/t3-git/index.php: 00039: ->redirectToInstallToolIfLocalConfigurationFileDoesNotExist(); 00040: 00041: require(PATH_tslib . 'index_ts.php'); 00042: ?>
Updated by Gerrit Code Review over 11 years ago
- Status changed from New to Under Review
Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/20926
Updated by Gerrit Code Review over 11 years ago
Patch set 1 for branch TYPO3_6-1 has been pushed to the review server.
It is available at https://review.typo3.org/21043
Updated by Gerrit Code Review over 11 years ago
Patch set 1 for branch TYPO3_6-0 has been pushed to the review server.
It is available at https://review.typo3.org/21044
Updated by Philipp Gampe over 11 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset e3df4596c04410a90b03ff1a92aa0b329f3098c6.
Actions