[TYPO3-english] [TYPO3 6.2] backend files browsing error : You are not allowed to create directories in the folder "
Jerome P
portal.j at hotmail.fr
Tue Jul 8 14:00:11 CEST 2014
Hello everyone,
I have a really annoying error in the TYPO3 BE, that I get everytime I want to browse/list files of the TYPO3 installation.
The "Filelist" module page, as well as the window opened when I click a "browse" button (for browsing files only ; browsing pages/links is OK), are displaying the following TYPO3 error :
Oops, an error occurred!
You are not allowed to create directories in the folder "/"
More information regarding this error might be available online.
(online = http://wiki.typo3.org/Exception/CMS/1323059807)
It happened the first time during the 6.1 -> 6.2 upgrade wizard, at step "Migrate all RTE magic images from uploads/RTEmagicC_* to fileadmin/_migrated/RTE/". I suppose this step/wizard was still here because during 6.0 -> 6.1 there were some warnings remaining => some files weren't migrated, because they were not found : but these files didn't exist anymore, so it's not suprising...
But I was able to execute the next steps, update the database, etc...
The exception comes from file /typo3/sysext/core/Classes/Resource/ResourceStorage.php, line 2009 :
public function createFolder($folderName, Folder $parentFolder = NULL) {
if ($parentFolder === NULL) {
$parentFolder = $this->getRootLevelFolder();
} elseif (!$this->driver->folderExists($parentFolder->getIdentifier())) {
throw new \InvalidArgumentException('Parent folder "' . $parentFolder->getIdentifier() . '" does not exist.', 1325689164);
}
if (!$this->checkFolderActionPermission('add', $parentFolder)) {
throw new Exception\InsufficientFolderWritePermissionsException('You are not allowed to create directories in the folder "' . $parentFolder->getIdentifier() . '"', 1323059807); // LINE 2009
}
// ...
}
I then added a debug_print_backtrace() just before the throw, and in every situation that would throw the exception, the two first lines are the same :
#0 TYPO3\CMS\Core\Resource\ResourceStorage->createFolder(_processed_) called at [/www/docs/typo3_src-6.2.3/typo3/sysext/core/Classes/Resource/ResourceStorage.php:2472]
#1 TYPO3\CMS\Core\Resource\ResourceStorage->getProcessingFolder() called at [/www/docs/typo3_src-6.2.3/typo3/sysext/core/Classes/Resource/ResourceStorage.php:1929]
(inside the "Filelist" module, for the left tab with file tree, the debug_print_backtrace() says that #1 is at ResourceStorage.php:1929, but for the main page of this module, it says that #1 is at ResourceStorage.php:2452)
(about the error during the upgrade wizard, it says that #1 is at ResourceStorage.php:2070)
So I looked again inside the code, and here is getProcessingFolder() :
public function getProcessingFolder() {
if (!isset($this->processingFolder)) {
$processingFolder = self::DEFAULT_ProcessingFolder;
if (!empty($this->storageRecord['processingfolder'])) {
$processingFolder = $this->storageRecord['processingfolder'];
}
if ($this->driver->folderExists($processingFolder) === FALSE) {
$this->processingFolder = $this->createFolder($processingFolder);
} else {
$data = $this->driver->getFolderInfoByIdentifier($processingFolder);
$this->processingFolder = ResourceFactory::getInstance()->createFolderObject($this, $data['identifier'], $data['name']);
}
}
return $this->processingFolder;
}
Apparently, this function thinks that the default processing folder doesn't exist ; but that's not true, I have /fileadmin/_processed_/ and /typo3temp/_processed_/ folders !
After that, it obviously try to create the processing folder with createFolder(), without giving its parent folder.
So createFolder() call getRootLevelFolder() to know its path, and it seems that "/" is returned, the server root... obviously, the webserver doesn't have permissions to create files inside the root, and the checkFolderActionPermission() call fails.
Surprisingly, all these problems doesn't affect the t3quixplorer extension ; I can use the "Quixplorer" module in the BE without any errors, the file tree and all its content is listed, I can browse it.
Does any one have an idea of why this is happening ?
I've read on a quite similar problem (I think) on the forge that someone was saying it could be because of a bad merge of databases, and then the path wasn't relative anymore but absolute. I would be surprised if a bad merge happened, I didn't have any errors of that kind ; and about the path, even if it was that, I don't know how to fix it...
Thanks in advance !
More information about the TYPO3-english
mailing list