Files
KI/common/Controller/Web/Admin/Nosotros.php

52 lines
1.8 KiB
PHP
Raw Normal View History

2020-05-26 23:04:49 -04:00
<?php
namespace ProVM\KI\Common\Controller\Web\Admin;
use Psr\Container\ContainerInterface as Container;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
2020-06-10 22:50:04 -04:00
use Psr\Log\LoggerInterface as Logger;
2020-06-09 18:06:36 -04:00
use ProVM\KI\Common\Alias\View;
2020-05-26 23:04:49 -04:00
class Nosotros {
public function __invoke(Request $request, Response $response, View $view, Container $container) {
$filename = implode(DIRECTORY_SEPARATOR, [
$container->get('folders.data'),
'nosotros.json'
]);
$nosotros = trim(json_decode(trim(file_get_contents($filename))));
return $view->render($response, 'admin.nosotros', compact('nosotros'));
}
2020-06-10 22:50:04 -04:00
public function guardar(Request $request, Response $response, Container $container, Logger $logger) {
$logger->info('Llamado a guardar en Nosotros.');
2020-05-26 23:04:49 -04:00
$post = $request->getParsedBody();
2020-06-10 22:50:04 -04:00
$logger->info('Información en post:', compact('post'));
2020-05-26 23:04:49 -04:00
$filename = implode(DIRECTORY_SEPARATOR, [
$container->get('folders.data'),
'nosotros.json'
]);
$nosotros = trim(json_decode(trim(file_get_contents($filename))));
2020-06-10 22:50:04 -04:00
$logger->info('Contenido de nosotros.json', compact('nosotros'));
2020-05-26 23:04:49 -04:00
$data = trim(json_decode(json_encode($post['nosotros'])));
$status = false;
if ($nosotros != $data) {
$status = (file_put_contents($filename, json_encode($post['nosotros'])) !== false);
2020-06-10 22:50:04 -04:00
if ($status) {
$logger->info('Guardados los cambios en nosotros.json');
} else {
$logger->notice('No se pudo guardar los cambios en nosotros.json');
}
} else {
$logger->info('No se han hecho cambios en nosotros.');
2020-05-26 23:04:49 -04:00
}
2020-06-10 22:50:04 -04:00
2020-05-26 23:04:49 -04:00
$code = 301;
if ($status) {
$code = 302;
}
return $response
->withHeader('Location', implode('/', [$container->get('urls')->admin, 'nosotros']))
->withStatus($code);
}
}