isLoggedIn()) { echo json_encode([ 'success' => false, 'message' => 'Unauthorized' ]); exit; } try { $action = $_POST['action'] ?? ''; $handler = IntegrityCheckHandler::getInstance(); switch ($action) { case 'start_integrity_check': $result = $handler->startIntegrityCheck(); break; case 'pause_check': $result = $handler->pauseCheck(); break; case 'resume_check': $result = $handler->resumeCheck(); break; case 'stop_check': $result = $handler->stopCheck(); break; case 'get_check_progress': $result = $handler->getCheckProgress(); break; case 'check_status': $result = $handler->getCheckStatus(); break; case 'delete_violating_members': $panelists = isset($_POST['panelists']) ? json_decode($_POST['panelists'], true) : []; $result = $handler->deleteViolatingMembers($panelists); break; // Existing directive actions case 'add_directive': $data = $_POST['data'] ?? ''; $result = $handler->addDirective($data); break; case 'get_directives': $result = $handler->getDirectives(); break; case 'approve_directive': $directiveId = (int)$_POST['directive_id']; $result = $handler->approveDirective($directiveId); break; case 'revoke_directive': $directiveId = (int)$_POST['directive_id']; $result = $handler->revokeDirective($directiveId); break; case 'delete_directive': $directiveId = (int)$_POST['directive_id']; $result = $handler->deleteDirective($directiveId); break; default: throw new Exception('Invalid action'); } echo json_encode($result); } catch (Exception $e) { echo json_encode([ 'success' => false, 'message' => $e->getMessage() ]); } ?>