43 lines
1.1 KiB
PHP
43 lines
1.1 KiB
PHP
<?php
|
|
session_start();
|
|
require_once 'db/config.php';
|
|
|
|
// Proteger contra acceso no autorizado
|
|
if (!isset($_SESSION['user_rol']) || $_SESSION['user_rol'] !== 'Administrador General') {
|
|
$_SESSION['error_message'] = 'No tienes permiso para realizar esta acción.';
|
|
header('Location: ciudades.php');
|
|
exit;
|
|
}
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['orden'])) {
|
|
$orden_array = $_POST['orden'];
|
|
$pdo = db();
|
|
|
|
try {
|
|
$pdo->beginTransaction();
|
|
|
|
$stmt = $pdo->prepare('UPDATE ciudades SET orden = :orden WHERE id = :id');
|
|
|
|
foreach ($orden_array as $id => $orden) {
|
|
$stmt->execute([
|
|
'orden' => (int)$orden,
|
|
'id' => (int)$id
|
|
]);
|
|
}
|
|
|
|
$pdo->commit();
|
|
$_SESSION['success_message'] = 'El orden de las ciudades ha sido actualizado correctamente.';
|
|
|
|
} catch (Exception $e) {
|
|
$pdo->rollBack();
|
|
$_SESSION['error_message'] = 'Error al actualizar el orden: ' . $e->getMessage();
|
|
}
|
|
|
|
} else {
|
|
$_SESSION['error_message'] = 'Petición no válida.';
|
|
}
|
|
|
|
header('Location: ciudades.php');
|
|
exit;
|
|
?>
|