diff --git a/classes/Importer.php b/classes/Importer.php index e9ff9393a547749f2ecf6f8c36c2a26d29e17302..b3f3ac81c6ef13973d61658e5653015fb6c212e7 100644 --- a/classes/Importer.php +++ b/classes/Importer.php @@ -238,7 +238,7 @@ final class Importer } } - private function createViews($views) + private function createViews($views): void { try { foreach ($views as $k => $v) { @@ -247,17 +247,25 @@ final class Importer if (file_exists($path[$i])) { if (!is_dir($path[$i])) { unlink($path[$i]); - mkdir($path[$i]); + if (!mkdir($concurrentDirectory = $path[$i]) && !is_dir($concurrentDirectory)) { + throw new \RuntimeException( + sprintf('Directory "%s" was not created', $concurrentDirectory) + ); + } } - } else { - mkdir($path[$i]); + } elseif (!mkdir($concurrentDirectory = $path[$i]) && !is_dir($concurrentDirectory)) { + throw new \RuntimeException( + sprintf('Directory "%s" was not created', $concurrentDirectory) + ); } + chdir($path[$i]); } $fh = fopen(end($path), 'w'); fwrite($fh, $v); fclose($fh); + for ($i = 0; $i < sizeof($path) - 1; $i++) { chdir('..'); }