ACU Official Requisition Portal "1234", "adminPin" => "0000"])); } // --- SERVER-SIDE DATA HANDLING ---if ($_SERVER['REQUEST_METHOD'] === 'POST') { $jsonInput = file_get_contents('php://input'); $incomingData = json_decode($jsonInput, true); if ($incomingData) { if (isset($incomingData['action']) && $incomingData['action'] === 'save_pins') { file_put_contents($settingsFile, json_encode($incomingData['pins']), LOCK_EX); echo json_encode(["status" => "success"]); exit; } $fp = fopen($databaseFile, 'c+'); if (flock($fp, LOCK_EX)) { $currentData = json_decode(stream_get_contents($fp), true) ?: []; if (isset($incomingData['action'])) { if ($incomingData['action'] === 'update') { foreach ($currentData as &$req) { if ($req['id'] === $incomingData['id']) { foreach ($incomingData['updates'] as $key => $val) { $req[$key] = $val; } } } } elseif ($incomingData['action'] === 'delete') { $currentData = array_values(array_filter($currentData, fn($r) => $r['id'] !== $incomingData['id'])); } elseif ($incomingData['action'] === 'reset') { $currentData = []; } } else { array_unshift($currentData, $incomingData); } ftruncate($fp, 0); rewind($fp); fwrite($fp, json_encode($currentData, JSON_PRETTY_PRINT)); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); echo json_encode(["status" => "success"]); } exit; } if (isset($_GET['api']) && $_GET['api'] === 'sync') { header('Content-Type: application/json'); $data = [ "requests" => file_exists($databaseFile) ? json_decode(file_get_contents($databaseFile), true) : [], "settings" => json_decode(file_get_contents($settingsFile), true) ]; echo json_encode($data); exit; } ?> ACU Portal | Arusha Co-operative Union

Unified Requisition Stream

Ref # Payee Category Sum (TZS) Status Action