Proyectos -> Productos
This commit is contained in:
@ -6,58 +6,58 @@ use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
|
||||
class Proyectos {
|
||||
class Productos {
|
||||
public function __invoke(Request $request, Response $response, Container $container, View $view): Response {
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [
|
||||
$container->get('folders.data'),
|
||||
'segmentos.json'
|
||||
]);
|
||||
$segmentos = json_decode(trim(file_get_contents($filename)));
|
||||
return $view->render($response, 'proyectos.list', compact('segmentos'));
|
||||
return $view->render($response, 'productos.list', compact('segmentos'));
|
||||
}
|
||||
public function show(Request $request, Response $response, Container $container, View $view, $proyecto): Response {
|
||||
public function show(Request $request, Response $response, Container $container, View $view, $producto): Response {
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [
|
||||
$container->get('folders.data'),
|
||||
'proyectos.json'
|
||||
'productos.json'
|
||||
]);
|
||||
$proyectos = json_decode(trim(file_get_contents($filename)));
|
||||
$productos = json_decode(trim(file_get_contents($filename)));
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [
|
||||
$container->get('folders.data'),
|
||||
'destacados.json'
|
||||
]);
|
||||
$destacados = json_decode(trim(file_get_contents($filename)));
|
||||
$destacado = false;
|
||||
if (array_search($proyecto, $destacados) !== false) {
|
||||
if (array_search($producto, $destacados) !== false) {
|
||||
$destacado = true;
|
||||
}
|
||||
$id = $proyecto;
|
||||
$proyecto = $proyectos[$proyecto];
|
||||
$proyecto->destacado = $destacado;
|
||||
$proyecto->id = $id;
|
||||
$id = $producto;
|
||||
$producto = $productos[$producto];
|
||||
$producto->destacado = $destacado;
|
||||
$producto->id = $id;
|
||||
$folder = implode(DIRECTORY_SEPARATOR, [
|
||||
$container->get('folders.public'),
|
||||
'assets',
|
||||
'images',
|
||||
mb_strtolower($proyecto->edificio)
|
||||
mb_strtolower($producto->nombre)
|
||||
]);
|
||||
$files = new \DirectoryIterator($folder);
|
||||
$proyecto->images = [];
|
||||
$producto->images = [];
|
||||
foreach ($files as $file) {
|
||||
if ($file->isDir()) {
|
||||
continue;
|
||||
}
|
||||
$proyecto->images []= $file->getFilename();
|
||||
$producto->images []= $file->getFilename();
|
||||
}
|
||||
return $view->render($response, 'proyectos.show', compact('proyecto'));
|
||||
return $view->render($response, 'productos.show', compact('producto'));
|
||||
}
|
||||
public function segmento(Request $request, Response $response, Container $container, $segmento): Response {
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [
|
||||
$container->get('folders.data'),
|
||||
'proyectos.json'
|
||||
'productos.json'
|
||||
]);
|
||||
$proyectos = json_decode(trim(file_get_contents($filename)));
|
||||
$productos = json_decode(trim(file_get_contents($filename)));
|
||||
if ($segmento != 'todo') {
|
||||
$proyectos = array_filter($proyectos, function($item) use ($segmento) {
|
||||
$productos = array_filter($productos, function($item) use ($segmento) {
|
||||
return (str_replace(' ', '_', mb_strtolower($item->segmento)) == $segmento);
|
||||
});
|
||||
}
|
||||
@ -65,7 +65,7 @@ class Proyectos {
|
||||
'information' => [
|
||||
'segmento' => $segmento
|
||||
],
|
||||
'proyectos' => array_keys($proyectos)
|
||||
'productos' => array_keys($productos)
|
||||
];
|
||||
$response->getBody()->write(json_encode($output));
|
||||
return $response
|
||||
@ -93,25 +93,25 @@ class Proyectos {
|
||||
->withHeader('Content-Type', 'application/json')
|
||||
->withStatus(201);
|
||||
}
|
||||
public function ficha(Request $request, Response $response, Container $container, View $view, $proyecto): Response {
|
||||
public function ficha(Request $request, Response $response, Container $container, View $view, $producto): Response {
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [
|
||||
$container->get('folders.data'),
|
||||
'proyectos.json'
|
||||
'productos.json'
|
||||
]);
|
||||
$proyectos = json_decode(trim(file_get_contents($filename)));
|
||||
$productos = json_decode(trim(file_get_contents($filename)));
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [
|
||||
$container->get('folders.data'),
|
||||
'destacados.json'
|
||||
]);
|
||||
$destacados = json_decode(trim(file_get_contents($filename)));
|
||||
$destacado = false;
|
||||
if (array_search($proyecto, $destacados) !== false) {
|
||||
if (array_search($producto, $destacados) !== false) {
|
||||
$destacado = true;
|
||||
}
|
||||
$id = $proyecto;
|
||||
$proyecto = $proyectos[$proyecto];
|
||||
$proyecto->destacado = $destacado;
|
||||
$proyecto->id = $id;
|
||||
return $view->render($response, 'proyectos.ficha', compact('proyecto'));
|
||||
$id = $producto;
|
||||
$producto = $productos[$producto];
|
||||
$producto->destacado = $destacado;
|
||||
$producto->id = $id;
|
||||
return $view->render($response, 'productos.ficha', compact('producto'));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user