/** * wrapper for GeneralUtility::mkdir_deep * checks for overwrite settings * * @param string $directory base path * @param string $deepDirectory */ protected function mkdir_deep($directory, $deepDirectory) { if (!$this->roundTripEnabled) { GeneralUtility::mkdir_deep($directory, $deepDirectory); } else { $subDirectories = explode('/', $deepDirectory); $tmpBasePath = $directory; foreach ($subDirectories as $subDirectory) { $overWriteMode = RoundTrip::getOverWriteSettingForPath($tmpBasePath . $subDirectory, $this->extension); //throw new \Exception($directory . $subDirectory . '/' . $overWriteMode); if ($overWriteMode === -1) { // skip creation return; } if (!is_dir($deepDirectory) || $this->roundTripEnabled && $overWriteMode < 2) { GeneralUtility::mkdir_deep($tmpBasePath, $subDirectory); } $tmpBasePath .= $subDirectory . '/'; } } }