F. srv / producto.php

1<?php
2
3require_once __DIR__ . "/../lib/php/NOT_FOUND.php";
4require_once __DIR__ . "/../lib/php/ejecutaServicio.php";
5require_once __DIR__ . "/../lib/php/recuperaIdEntero.php";
6require_once __DIR__ . "/../lib/php/selectFirst.php";
7require_once __DIR__ . "/../lib/php/ProblemDetails.php";
8require_once __DIR__ . "/../lib/php/devuelveJson.php";
9require_once __DIR__ . "/Bd.php";
10require_once __DIR__ . "/TABLA_PRODUCTO.php";
11require_once __DIR__ . "/TABLA_ARCHIVO.php";
12
13ejecutaServicio(function () {
14
15 $prodId = recuperaIdEntero("id");
16
17 $modelo =
18 selectFirst(pdo: Bd::pdo(), from: PRODUCTO, where: [PROD_ID => $prodId]);
19
20 if ($modelo === false) {
21 $prodIdHtml = htmlentities($prodId);
22 throw new ProblemDetails(
23 status: NOT_FOUND,
24 title: "Producto no encontrado.",
25 type: "/error/productonoencontrado.html",
26 detail: "No se encontró ningún producto con el id $prodIdHtml.",
27 );
28 }
29
30 $encodeArchId = $modelo[ARCH_ID] === null ? "" : urlencode($modelo[ARCH_ID]);
31 $htmlEncodeArchId = htmlentities($encodeArchId);
32 devuelveJson([
33 "id" => ["value" => $prodId],
34 "nombre" => ["value" => $modelo[PROD_NOMBRE]],
35 "imagen" => [
36 "data-file" => $htmlEncodeArchId === ""
37 ? ""
38 : "srv/archivo.php?id=$htmlEncodeArchId"
39 ]
40 ]);
41});
42
skip_previous skip_next