diff --git a/legacy/cookies.txt b/legacy/cookies.txt new file mode 100644 index 0000000000000000000000000000000000000000..c31d9899c334e2e4b045f70176ca33d697d59ac9 --- /dev/null +++ b/legacy/cookies.txt @@ -0,0 +1,4 @@ +# Netscape HTTP Cookie File +# https://curl.se/docs/http-cookies.html +# This file was generated by libcurl! Edit at your own risk. + diff --git a/src/Controller/CapsuleController.php b/src/Controller/CapsuleController.php index 79875f860a6569f2ee7a4291742067eea7b7a3ee..ae9b1f11851813ee4818ebf3d1838d26ab3c5ac5 100644 --- a/src/Controller/CapsuleController.php +++ b/src/Controller/CapsuleController.php @@ -30,7 +30,7 @@ class CapsuleController extends AbstractController } /** - * @Route("/create", name="create_capsule", methods={"POST"}, priority=-2) + * @Route("/create", name="create_capsule") */ public function new(Request $request): Response { @@ -41,7 +41,7 @@ class CapsuleController extends AbstractController if ($form->isSubmitted() && $form->isValid()) { $new_date_time = new \DateTime(); $capsule_name = $form->get('name')->getData(); - $video_url = $form->get('video_url')->getData(); + $video_url = htmlspecialchars($form->get('video_url')->getData()); $preview_link = Uuid::v4(); $edition_link = $preview_link . '/?p=edit'; @@ -56,7 +56,13 @@ class CapsuleController extends AbstractController $entityManager->persist($capsule); $entityManager->flush(); - $this->redirectToRoute('create_project', [$capsule_name, $video_url]); +// $this->redirectToRoute('create_project', [$capsule_name, $video_url]); + + return $this->forward('App\Controller\ProjectController::create', [ + 'request' => $request, + 'capsule_name' => $capsule_name, + 'video_url' => $video_url + ]); } return $this->render('capsule/create.html.twig', [ diff --git a/src/Controller/FallbackController.php b/src/Controller/FallbackController.php index 73be258d527a997065aa8b0b57513d3c8468f05a..8554bd2bff760d5ebebaaf21344867f3fa7e4215 100644 --- a/src/Controller/FallbackController.php +++ b/src/Controller/FallbackController.php @@ -174,12 +174,10 @@ class FallbackController extends AbstractController )); } - $legacy_helper = new LegacyHelper(); - return $legacy_helper->transferToLegacy( + return LegacyHelper::transferToLegacy( $request, $this->getParameter('app.legacy_external_prefix'), - $this->getParameter('legacy_url'), - $this->getParameter('kernel.root_dir') + $this->getParameter('app.legacy_url') ); } } diff --git a/src/Controller/ProjectController.php b/src/Controller/ProjectController.php index 8ded56c2b47d37c52f4dc06fd2c27a52313c5b9c..eef33c3aa7e083528c7596854670418de3dc16b3 100644 --- a/src/Controller/ProjectController.php +++ b/src/Controller/ProjectController.php @@ -11,30 +11,32 @@ use ZipArchive; class ProjectController extends AbstractController { /** - * @Route('/project/create' "name='create_project') + * @Route("/project/create", name="create_project", methods={"POST"}) */ - public function createProject( + public function create( Request $request, - string $name, - string $video_url + string $capsule_name, + string $video_url ) { $retours = array("success" => 0, "error" => "", "value" => ""); - chdir('../../legacy/'); - if(! file_exists($name)) { + chdir('../legacy/'); + + if(! file_exists($capsule_name)) { $zip = new ZipArchive; $zip_file_archive = $zip->open("create.zip"); if ($zip_file_archive) { - $zip->extractTo($name); + $zip->extractTo($capsule_name); $zip->close(); file_put_contents( - $name."/file/project.xml", - str_replace("__video__", + $capsule_name."/file/project.xml", + str_replace("__video__", $video_url, - file_get_contents($name."/file/project.xml" + file_get_contents($capsule_name."/file/project.xml" ))); +// TODO: Refacto $retours["success"] = 1; } else { $retours["success"] = -1; @@ -46,16 +48,13 @@ class ProjectController extends AbstractController $retours["error"] = "Project already exists"; } - $retours["value"] = $name; - - echo json_encode($retours); + $retours["value"] = $capsule_name; - $legacy_helper = new LegacyHelper(); - return $legacy_helper->transferToLegacy( - $request, - $this->getParameter('app.legacy_external_prefix'), - $this->getParameter('legacy_url'), - $this->getParameter('kernel.root_dir') + $this->addFlash( + 'flashSuccess', + 'La capsule ' . $capsule_name . ' a bien été créée.' ); + + return $this->redirectToRoute('capsule_list'); } } \ No newline at end of file diff --git a/src/LegacyHelper.php b/src/LegacyHelper.php index 160c1c23d87719360d08e8d6c9cb66ce5df2b30c..15f4abea4f62a73759269d1f84f63c05bfe99645 100644 --- a/src/LegacyHelper.php +++ b/src/LegacyHelper.php @@ -15,14 +15,15 @@ class LegacyHelper public static function transferToLegacy( Request $request, string $legacy_external_prefix, - string $legacy_url, - string $project_directory + string $legacy_url ): Response { $originalController = preg_replace( "@^$legacy_external_prefix@", '', $request->getPathInfo()); + + $project_directory_name = $request->get('capsule_name'); $originalQueryString = $request->getQueryString(); //@TODO : delete on linux server @@ -55,9 +56,6 @@ class LegacyHelper curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_VERBOSE, 1); - // logs the connection (optional) - $stderr = fopen("{$project_directory}/log/curl.txt", "w"); - if ($request->getMethod() == 'POST') { $postParameters = $request->request->all()['create_capsule_form']; diff --git a/templates/capsule/index.html.twig b/templates/capsule/index.html.twig index d668298e724b491d469006298910087c2878e343..d2560f69418a86c68c5ee7ff98cb5e60cc3aedfa 100644 --- a/templates/capsule/index.html.twig +++ b/templates/capsule/index.html.twig @@ -7,6 +7,11 @@ {% endblock %} {% block body %} +<div class="mt-4"> + + {% for flashSuccess in app.flashes('capsule_created_success') %} + <div class="alert alert-success col-6 mx-auto my-5 h1" role="alert">{{ flashSuccess }}</div> + {% endfor %} <div class="d-flex justify-content-center align-items-center"> <form> @@ -15,4 +20,5 @@ </button> </form> </div> +</div> {% endblock %}