You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Shop\Controller;
  3. use Psr\Http\Message\ResponseInterface;
  4. use Psr\Http\Message\ServerRequestInterface;
  5. use Psr\Container\ContainerInterface;
  6. use Shop\DB\Order;
  7. class OrderCreate
  8. {
  9. protected $container;
  10. public function __construct(ContainerInterface $container){
  11. $this->container = $container;
  12. }
  13. public function createGet(ServerRequestInterface $request, ResponseInterface $response, array $args)
  14. {
  15. $container = $this->container;
  16. $twig = $container->get('twig');
  17. $db = new Order($container);
  18. $order = $db->getOrderDetail($args['id']);
  19. $vars = ["order" => $order, "args" => $args['id']];
  20. $a = $twig->render('ordercreate.html.twig', $vars);
  21. $response->getBody()->write($a);
  22. return $response;
  23. }
  24. public function createPost(ServerRequestInterface $request, ResponseInterface $response, array $args)
  25. {
  26. $container = $this->container;
  27. $twig = $container->get('twig');
  28. $db = new Order($container);
  29. $productid = $request->getParsedBody()['id'];
  30. $qty = $request->getParsedBody()['qty'];
  31. $order = $db->getProductDetails($args['id'], $productid, $qty);
  32. return $response->withHeader('Location', '/order/' . $args['id'] . '/create');
  33. }
  34. }