Example #1
0
 public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true)
 {
     $request->setSession(new Session());
     $container = new Container($request, $this->rootDirectory);
     $controller = new Controller($container);
     $pathInfo = $request->getPathInfo();
     $method = $request->getMethod();
     $response = null;
     if ($pathInfo === '/' && $method === 'GET') {
         $response = $controller->languageStep();
     } elseif ($pathInfo === '/' && $method === 'POST') {
         $response = $controller->languageStepSubmit();
     } elseif ($pathInfo === '/requirements' && $method === 'GET') {
         $response = $controller->requirementStep();
     } elseif ($pathInfo === '/database' && $method === 'GET') {
         $response = $controller->databaseStep();
     } elseif ($pathInfo === '/database' && $method === 'POST') {
         $response = $controller->databaseStepSubmit();
     } elseif ($pathInfo === '/platform' && $method === 'GET') {
         $response = $controller->platformStep();
     } elseif ($pathInfo === '/platform' && $method === 'POST') {
         $response = $controller->platformSubmitStep();
     } elseif ($pathInfo === '/admin' && $method === 'GET') {
         $response = $controller->adminUserStep();
     } elseif ($pathInfo === '/admin' && $method === 'POST') {
         $response = $controller->adminUserStepSubmit();
     } elseif ($pathInfo === '/mailing' && $method === 'GET') {
         $response = $controller->mailingStep();
     } elseif ($pathInfo === '/mailing' && $method === 'POST') {
         $response = $controller->mailingStepSubmit();
     } elseif ($pathInfo === '/skip-mailing' && $method === 'GET') {
         $response = $controller->skipMailingStep();
     } elseif ($pathInfo === '/install' && $method === 'GET') {
         $response = $controller->installStep();
     } elseif ($pathInfo === '/install' && $method === 'POST') {
         $response = $controller->installSubmitStep();
     } elseif ($pathInfo === '/status' && $method === 'GET') {
         $response = $controller->installStatusStep();
     } elseif (preg_match('#^/status/(.+)$#', $pathInfo, $matches) && $method === 'GET') {
         $response = $controller->installStatusStep($matches[1]);
     } elseif (preg_match('#^/error/(.+)$#', $pathInfo, $matches) && $method === 'GET') {
         $response = $controller->failedInstallStep($matches[1]);
     }
     return $response ?: new Response('<h2>Page not found</h2>', 404);
 }