isAuthenticated()) { return $this->redirectToRoute('login'); } // Render the demo view $view = new View(); $content = $view->render('examples/quill-demo.twig'); return new Response($content); } /** * Processes the demo form submission */ public function submit(Request $request): Response { // Check if the user is authenticated if (!$this->isAuthenticated()) { return $this->redirectToRoute('login'); } // Get form data $title = $request->get('title'); $content = $request->get('content'); $advancedContent = $request->get('advanced_content'); $simpleContent = $request->get('simple_content'); // Save to session to display on results page $_SESSION['form_data'] = [ 'title' => $title, 'content' => $content, 'advanced_content' => $advancedContent, 'simple_content' => $simpleContent ]; // Redirect to results page return $this->redirectToRoute('quill-demo-results'); } /** * Displays form results */ public function results(Request $request): Response { // Check if the user is authenticated if (!$this->isAuthenticated()) { return $this->redirectToRoute('login'); } // Get session data $formData = $_SESSION['form_data'] ?? []; // Clear session data unset($_SESSION['form_data']); // Render the results view $view = new View(); $content = $view->render('examples/quill-results.twig', [ 'formData' => $formData ]); return new Response($content); } /** * Checks if the user is authenticated */ private function isAuthenticated(): bool { return isset($_SESSION['user_id']); } /** * Redirects to a route */ private function redirectToRoute(string $route): Response { $url = url($route); return new Response("", 302, ["Location" => $url]); } }