51 lines
2.1 KiB
PHP
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.']);
|
|
}
|
|
?>
|