Files
Siro/backend/serviceapp/update_complaint.php
T

42 lines
1.3 KiB
PHP

<?php
require_once __DIR__ . '/../connect.php';
// ‏فحص الدور — كان غائباً تماماً بينما شقيقه getComplaintAllData.php يفحصه.
// ‏مجلد serviceapp خارج بوّابة Admin/ المسارية، فكل ملف يحمي نفسه، وهذا
// ‏كان مكشوفاً: أي حامل JWT صالح يقدر يغلق أي شكوى ويكتب نص قرارها.
if ($role !== 'admin' && $role !== 'super_admin') {
http_response_code(403);
exit(json_encode([
'status' => 'failure',
'message' => 'Forbidden. Support access required.',
], JSON_UNESCAPED_UNICODE));
}
$id = filterRequest("id");
$status = filterRequest("statusComplaint");
$resolution = filterRequest("resolution");
if ($id && $status) {
$sql = "UPDATE `complaint` SET `statusComplaint` = :status, `resolution` = :resolution";
if ($status == 'Resolved') {
$sql .= ", `date_resolved` = CURRENT_TIMESTAMP";
}
$sql .= " WHERE `id` = :id";
$stmt = $con->prepare($sql);
$stmt->bindParam(':status', $status);
$stmt->bindParam(':resolution', $resolution);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
jsonSuccess(null, "Complaint updated successfully");
} else {
jsonError("Failed to update complaint");
}
} else {
jsonError("Missing required fields");
}
?>