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.

ClientCreate.php 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 ClientCreate
  8. {
  9. protected $container;
  10. protected $twig;
  11. protected $vars;
  12. public function __construct(ContainerInterface $container) {
  13. $this->container = $container;
  14. }
  15. public function createGet(ServerRequestInterface $request, ResponseInterface $response, array $args) {
  16. $container = $this->container;
  17. $twig = $container->get('twig');
  18. $db = new Order($this->container);
  19. $client = $db->getClient($args['client']);
  20. $vars = ["client" => $client, "args" => $args['client']];
  21. $a = $twig->render('clientcreate.html.twig', $vars);
  22. $response->getBody()->write($a);
  23. return $response;
  24. }
  25. public function createPost(ServerRequestInterface $request, ResponseInterface $response, array $args) {
  26. $container = $this->container;
  27. $twig = $container->get('twig');
  28. $ref = $request->getParsedBody()['reference'];
  29. $db2 = $this->container->get('db');
  30. $sql = "insert into orders (reference, customer_id, vat, subtotal, total) values ('" . $ref . "', " . $args['client'] . ",0,0,0)";
  31. $db2->exec($sql);
  32. return $response->withHeader('Location', '/orders/' . $args['client']);
  33. }
  34. }
  35. // if ($request->getMethod() == "GET") {
  36. // // $db2 = new myDB();
  37. // // $stmt2 = $db2->prepare("SELECT * FROM clients WHERE id = " . $args['client']);
  38. // // $res2 = $stmt2->execute();
  39. // // $a = $res2->fetchArray(SQLITE3_ASSOC);
  40. // $db2 = new Order($this->container);
  41. // $res2 = $db2->getClient($args['client']);
  42. // $a = $res2->fetchArray(SQLITE3_ASSOC);
  43. // $response->getBody()->write("<h1>Create order for" . $a['firstname'] . " " . $a['lastname'] . "</h1><hr/>");
  44. // $response->getBody()->write('<form action="/orders/' . $args['client'] . '/create" method="post">');
  45. // $response->getBody()->write('<label for="id">Reference: </label>');
  46. // $response->getBody()->write('<input type="text" name="reference">');
  47. // $response->getBody()->write('<input type="submit">');
  48. // $response->getBody()->write('</form>');
  49. // return $response;
  50. // } else {
  51. // $ref = $request->getParsedBody()['reference'];
  52. // $db2 = new myDB();
  53. // $sql = "insert into orders (reference, customer_id, vat, subtotal, total) values ('" . $ref . "', " . $args['client'] . ",0,0,0)";
  54. // $db2->exec($sql);
  55. // return $response->withHeader('Location', '/orders/' . $args['client']);
  56. // };