diff --git a/capsule-prototype/create.zip b/capsule-prototype/create.zip deleted file mode 100644 index 40b7e727a0ccf08db83eb7b5c69648df3018fc90..0000000000000000000000000000000000000000 Binary files a/capsule-prototype/create.zip and /dev/null differ diff --git a/legacy/create.zip b/legacy/create.zip deleted file mode 100644 index 40b7e727a0ccf08db83eb7b5c69648df3018fc90..0000000000000000000000000000000000000000 Binary files a/legacy/create.zip and /dev/null differ diff --git a/src/Controller/ProjectController.php b/src/Controller/ProjectController.php index fb1bd828e385d1e2cb2f603f08202307c342345b..902fa734153b3eb72e94e65fe7f0497caf55f89e 100755 --- a/src/Controller/ProjectController.php +++ b/src/Controller/ProjectController.php @@ -51,7 +51,7 @@ class ProjectController extends AbstractController return $this->redirectToRoute('capsule_list'); } - $this->extractZipArchiveInNewCapsuleDirectory($capsule_directory); + $this->createDefaultProjectStructure($capsule_directory); $this->setVideoUrlNodeAttributeInXMLProjectFile($capsule_directory, $video_url); @@ -71,9 +71,6 @@ class ProjectController extends AbstractController } #[Route('/{_locale<%app.supported_locales%>}/project/duplicate', name:'duplicate_project', methods:['POST'])] - /** - * @throws ZipArchiveNotOpeningException - */ public function duplicate( Capsule $capsule, string $parent_directory, @@ -98,7 +95,7 @@ class ProjectController extends AbstractController return $this->redirectToRoute('capsule_list'); } - $this->extractZipArchiveInNewCapsuleDirectory($capsule_directory); + $this->createDefaultProjectStructure($capsule_directory); $this->replaceTheWholeFileDirectoryWithParentOne($file_system, $parent_directory, $capsule_directory); $this->createOrUpdatePasswordFile($capsule_directory, $capsule->getPassword()); @@ -174,10 +171,7 @@ class ProjectController extends AbstractController ]); } - /** - * @throws ZipArchiveNotOpeningException The archive file doesn't exist. - */ - private function extractZipArchiveInNewCapsuleDirectory(string $capsule_directory): void + private function createDefaultProjectStructure(string $capsule_directory): void { $prototype_directory_root = '../capsule-prototype'; $this->file_system->mirror( @@ -186,19 +180,17 @@ class ProjectController extends AbstractController null, ['override' => true, 'delete' => true] ); - $this->file_system->copy($prototype_directory_root . '/php', $capsule_directory . '/php', true); - $this->file_system->copy($prototype_directory_root . '/file', $capsule_directory . '/file', true); - $this->file_system->copy($prototype_directory_root . '/file', $capsule_directory . '/file', true); - $zip = new ZipArchive(); - $zip_file_archive_is_open = $zip->open("create.zip"); - - if (! $zip_file_archive_is_open) { - throw new ZipArchiveNotOpeningException("Create Zip Archive could not be open"); - } - - $zip->extractTo($capsule_directory); - $zip->close(); + // Remove unnecessary files and directories + $this->file_system->remove( + [ + Path::join($capsule_directory, 'js'), + Path::join($capsule_directory, 'css'), + Path::join($capsule_directory, 'webfonts'), + Path::join($capsule_directory, 'README.md'), + Path::join($capsule_directory, 'la-page-des-malins.php') + ] + ); } private function setVideoUrlNodeAttributeInXMLProjectFile(string $project_directory, string $video_url): void @@ -221,7 +213,7 @@ class ProjectController extends AbstractController private function createOrUpdatePasswordFile(string $capsule_directory, string $password): void { - $project_password_file = $capsule_directory . "/file/projectPassword.txt"; + $project_password_file = $capsule_directory . '/file/projectPassword.txt'; file_put_contents($project_password_file, $password); }