123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <?php
- namespace Shop;
-
- use DI\Container;
- use Psr\Http\Message\ResponseInterface as Response;
- use Psr\Http\Message\ServerRequestInterface as Request;
- use Slim\Factory\AppFactory;
- use Shop\DB\DB;
- use Shop\View\Twig;
-
- require __DIR__ . '/../vendor/autoload.php';
-
- $container = new Container();
- AppFactory::setContainer($container);
- $app = AppFactory::create();
-
- $container->set('twig', function () {
- $twig = new Twig('../templates');
- return $twig;
- });
-
- $container->set('db', function() {
- $db = new DB();
- return $db;
- });
-
- $app->map(['GET', 'POST'], "/orders/{client}/create", \Shop\Controller\ClientCreate::class . ':getClientCreate');
- // $app->map(['GET', 'POST'], "/orders/{client}/create", function (Request $request, Response $response, array $args) {
- // $db2 = new Client();
- // $client = $args['client'];
- // $a = $db2->getClientName($client);
-
- // if ($request->getMethod() == "GET") {
- // $vars = ['clients' => $a, 'args' => $args['client']];
- // $twig = $this->get('twig');
- // $b = $twig->render('clientcreate.html.twig',$vars);
- // $response->getBody()->write($b);
- // return $response;
- // } else {
- // $db2 = new Products();
- // $ref = $request->getParsedBody()['reference'];
- // $client = $args['client'];
- // $db2->getProductId($client, $ref);
- // return $response->withHeader('Location', '/orders/' . $args['client']);
- // };
- // });
-
- // Route with optional parameters, see https://www.slimframework.com/docs/v4/objects/routing.html#how-to-create-routes section Optional segments
- $app->get('/orders[/{client}]', \Shop\Controller\Orders::class . ':getOrders');
- // $app->get('/orders[/{client}]', function (Request $request, Response $response, array $args) {
- // $db = new Orders();
-
- // if ($args['client']) {
- // // orders 1 client
- // $client = $args['client'];
- // $res = $db->getOrderOneClient($client);
-
- // // naam van de klant
- // $db2 = new Client();
- // $a = $db2->getClientName($client);
- // $response->getBody()->write('<a href="/orders/' . $args['client'] . '/create">Create order</a>');
- // $response->getBody()->write("<h1>ORDERS LIST FOR CLIENT " . $a['firstname'] . " " . $a['lastname'] . "</h1>");
- // $response->getBody()->write('<hr/>');
- // $response->getBody()->write("<table>");
- // } else {
- // // alle klanten
- // $response->getBody()->write("<h1>ORDERS LIST FOR ALL CLIENTS </h1>");
- // $response->getBody()->write('<hr/>');
- // $response->getBody()->write("<table>");
- // $client = $args['client'];
- // $res = $db->getOrderAllClients();
- // }
-
- // // toon de orders van 1 of alle klanten
- // while ($row = $res->fetchArray(SQLITE3_ASSOC)) {
- // // maak hier een deftige tabel van
- // $response->getBody()->write("<tr><td>" . " <a href=\"/order/" . $row['id'] . "\">" . $row["reference"] . "</a> " . $row['subtotal'] . " " . $row['vat'] . " " . $row['total'] . "</td></tr>");
- // }
-
- // $response->getBody()->write("</table>");
- // $response->getBody()->write('<hr/>');
-
- // $response->getBody()->write('<a href="/customers">Back to customer list</a> <a href="/orders">Back to order list</a>');
-
- // return $response;
- // });
-
- $app->map(['GET', 'POST'], "/order/{id}/create", \Shop\Controller\IdCreate::class . ':getPostIdCreate');
- // $app->map(['GET', 'POST'], "/order/{id}/create", function (Request $request, Response $response, array $args) {
-
- // if ($request->getMethod() == "GET") {
- // $db2 = new Orders();
- // $id = $args['id'];
- // $a = $db2->getReferenceOrders($id);
-
- // $response->getBody()->write("<h1>Create orderline for" . $a['reference'] . "</h1><hr/>");
- // $response->getBody()->write('<form action="/order/' . $args['id'] . '/create" method="post">');
- // $response->getBody()->write('<label for="id">product: </label>');
- // $response->getBody()->write('<input type="text" name="id">');
- // $response->getBody()->write('<label for="qty">qty: </label>');
- // $response->getBody()->write('<input type="text" name="qty">');
- // $response->getBody()->write('<input type="submit">');
- // $response->getBody()->write('</form>');
- // $response->getBody()->write('<hr/>');
- // $response->getBody()->write('<a href="/customers">Back to customer list</a> <a href="/orders">Back to order list</a>');
- // return $response;
- // } else {
- // $productid = $request->getParsedBody()['id'];
- // $qty = $request->getParsedBody()['qty'];
- // $db2 = new Products();
-
- // // vraag details van het product op
- // $product = $db2->getDetailsproduct($productid);
- // $order_id = $args['id'];
- // $unitprice = $product['unitprice'];
- // $vatperc = $product['vatperc'];
-
- // // bereken de prijs van de lijn
- // $subtotal = $qty * $unitprice;
- // $vat = $subtotal * $vatperc / 100;
- // $total = $subtotal + $vat;
-
- // // voeg orderlijn toe
- // $db3 = new Order_lines();
- // $db3->getOrderLines($order_id, $productid, $qty, $subtotal, $vat, $total);
-
- // // update het order met nieuwe totalen
- // $db4 = new Orders();
- // $db4->updateOrder($order_id, $subtotal, $vat, $total);
-
- // return $response->withHeader('Location', '/order/' . $args['id'] . '/create');
- // };
- // });
-
- $app->get('/order/{id}',\Shop\Controller\OrderId::class . ':getOrderId');
- // $app->get('/order/{id}', function (Request $request, Response $response, array $args) {
-
- // $db = new Order_lines();
-
- // // detail orderlijnen
- // $id = $args['id'];
- // $res = $db->getDetailsOrderLines($id);
-
- // // detail order
- // $db2 = new Orders();
- // $a = $db2->getDetailsOrders($id);
- // $response->getBody()->write('<a href="/order/' . $args['id'] . '/create">Add orderline</a>');
-
-
- // $response->getBody()->write("<h1>ORDER DETAILS FOR ORDER " . $a['reference'] . "</h1>");
- // $response->getBody()->write('<hr/>');
- // $response->getBody()->write("<table>");
- // while ($row = $res->fetchArray(SQLITE3_ASSOC)) {
- // // maak hier een deftige tabel van
- // $response->getBody()->write("<tr><td>" . " " . $row['id'] . " " . $row["itemnumber"] . " " . $row['name'] . " " . $row['qty'] . " " . $row['subtotal'] . " " . $row['vat'] . " " . $row['total'] . "</td></tr>");
- // }
- // $response->getBody()->write("</table>");
- // $response->getBody()->write('<hr/>');
-
- // $response->getBody()->write('<a href="/customers">Back to customer list</a> <a href="/orders">Back to order list</a>');
-
- // return $response;
- // });
-
- $app->get('/customers',\Shop\Controller\Customers::class . ':getCustomers');
- // $app->get('/customers', function (Request $request, Response $response, array $args) {
- // $db = new Client();
- // $res = $db->getClients();
-
- // $response->getBody()->write("<h1>CUSTOMERS LIST </h1>");
- // $response->getBody()->write('<hr/>');
- // $response->getBody()->write("<table>");
- // while ($row = $res->fetchArray(SQLITE3_ASSOC)) {
- // // maak hier een deftige tabel van
- // $response->getBody()->write("<tr><td>" . " " . " <a href=\"/orders/" . $row['id'] . "\">" . $row["id"] . "</a> " . " " . $row['firstname'] . " " . $row['lastname'] . " " . $row['street'] . " " . $row['street2'] . " " . $row['zipcode'] . " " . $row['city'] . " " . $row['country'] . "</td></tr>");
- // }
- // $response->getBody()->write("</table>");
-
- // return $response;
- // });
-
-
-
- $app->run();
|