35849-vm/update_task_status.php
2025-11-19 15:29:24 +00:00

51 lines
2.1 KiB
PHP

<?php
require_once 'db/config.php';
// Simple logger
function log_message($message) {
file_put_contents('debug.log', date('Y-m-d H:i:s') . ' - ' . $message . PHP_EOL, FILE_APPEND);
}
log_message('update_task_status.php accessed.');
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
log_message('Request method is POST.');
$input_raw = file_get_contents('php://input');
log_message('Raw input: ' . $input_raw);
$input = json_decode($input_raw, true);
$taskId = $input['task_id'] ?? null;
$newStatus = $input['new_status'] ?? null;
log_message("Parsed input: Task ID = $taskId, New Status = $newStatus");
if ($taskId && $newStatus) {
log_message('Task ID and New Status are present. Updating database...');
try {
$pdo = db();
$stmt = $pdo->prepare("UPDATE tasks SET status = :status WHERE id = :id");
$result = $stmt->execute(['status' => $newStatus, 'id' => $taskId]);
if ($result && $stmt->rowCount() > 0) {
log_message('Database update successful. Rows affected: ' . $stmt->rowCount());
echo json_encode(['success' => true, 'message' => 'Task status updated.']);
} else {
log_message('Database update failed or status unchanged. Rows affected: ' . $stmt->rowCount());
echo json_encode(['success' => false, 'message' => 'Task not found or status unchanged.']);
}
} catch (PDOException $e) {
log_message('Database error: ' . $e->getMessage());
http_response_code(500);
echo json_encode(['success' => false, 'message' => 'Database error: ' . $e->getMessage()]);
}
} else {
log_message('Invalid input. Task ID or New Status is missing.');
http_response_code(400);
echo json_encode(['success' => false, 'message' => 'Invalid input.']);
}
} else {
log_message('Request method not allowed: ' . $_SERVER['REQUEST_METHOD']);
http_response_code(405);
echo json_encode(['success' => false, 'message' => 'Method not allowed.']);
}
?>