74 lines
2.5 KiB
PHP
74 lines
2.5 KiB
PHP
<?php
|
|
require_once '../config/config.php';
|
|
session_start();
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
// Verificar sesión activa
|
|
if (!isset($_SESSION['autenticado']) || !$_SESSION['autenticado']) {
|
|
http_response_code(401);
|
|
echo json_encode(['error' => 'No autenticado']);
|
|
exit;
|
|
}
|
|
|
|
// Archivo de datos para Brasil
|
|
$dataFile = '../data/productos_brasil.json';
|
|
|
|
// Verificar que la solicitud sea POST
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
// Obtener el contenido JSON de la solicitud
|
|
$data = file_get_contents('php://input');
|
|
|
|
// Decodificar el JSON a un array de PHP
|
|
$productos = json_decode($data, true);
|
|
|
|
// Verificar si la decodificación fue exitosa
|
|
if ($productos !== null) {
|
|
// Guardar los datos en el archivo productos_brasil.json
|
|
if (file_put_contents($dataFile, json_encode($productos, JSON_PRETTY_PRINT))) {
|
|
echo json_encode(['mensaje' => 'Productos guardados correctamente']);
|
|
} else {
|
|
echo json_encode(['error' => 'No se pudo guardar los productos']);
|
|
}
|
|
} else {
|
|
echo json_encode(['error' => 'Datos no válidos']);
|
|
}
|
|
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
|
// Leer y devolver los productos
|
|
if (file_exists($dataFile)) {
|
|
$productos = file_get_contents($dataFile);
|
|
echo $productos;
|
|
} else {
|
|
echo json_encode([]);
|
|
}
|
|
} elseif ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
|
|
// Obtener el contenido JSON de la solicitud DELETE
|
|
$data = file_get_contents('php://input');
|
|
$deleteData = json_decode($data, true);
|
|
|
|
if (isset($deleteData['id'])) {
|
|
// Leer el archivo productos_brasil.json
|
|
$productos = json_decode(file_get_contents($dataFile), true);
|
|
|
|
// Filtrar el producto a eliminar según su ID
|
|
$productos = array_filter($productos, function($producto) use ($deleteData) {
|
|
return $producto['id'] != $deleteData['id'];
|
|
});
|
|
|
|
// Reindexar el array
|
|
$productos = array_values($productos);
|
|
|
|
// Guardar los datos actualizados
|
|
if (file_put_contents($dataFile, json_encode($productos, JSON_PRETTY_PRINT))) {
|
|
echo json_encode(['mensaje' => 'Producto eliminado correctamente']);
|
|
} else {
|
|
echo json_encode(['error' => 'No se pudo eliminar el producto']);
|
|
}
|
|
} else {
|
|
echo json_encode(['error' => 'No se proporcionó un ID para eliminar']);
|
|
}
|
|
} else {
|
|
echo json_encode(['error' => 'Método de solicitud no válido']);
|
|
}
|
|
?>
|