ticketModel = new TicketModel($conn); $this->commentModel = new CommentModel($conn); } public function update($id, $data) { // Add ticket_id to the data $data['ticket_id'] = $id; // Validate input data if (empty($data['title'])) { return [ 'success' => false, 'error' => 'Title cannot be empty' ]; } // Update ticket $result = $this->ticketModel->updateTicket($data); if ($result) { return [ 'success' => true, 'status' => $data['status'] ]; } else { return [ 'success' => false, 'error' => 'Failed to update ticket' ]; } } } debug_log("Controller defined successfully"); // Create database connection debug_log("Creating database connection"); $conn = new mysqli( $GLOBALS['config']['DB_HOST'], $GLOBALS['config']['DB_USER'], $GLOBALS['config']['DB_PASS'], $GLOBALS['config']['DB_NAME'] ); if ($conn->connect_error) { throw new Exception("Database connection failed: " . $conn->connect_error); } debug_log("Database connection successful"); // Get POST data $input = file_get_contents('php://input'); $data = json_decode($input, true); debug_log("Received data: " . json_encode($data)); if (!$data) { throw new Exception("Invalid JSON data received: " . $input); } if (!isset($data['ticket_id'])) { throw new Exception("Missing ticket_id parameter"); } $ticketId = $data['ticket_id']; debug_log("Processing ticket ID: $ticketId"); // Initialize controller debug_log("Initializing controller"); $controller = new ApiTicketController($conn); debug_log("Controller initialized"); // Update ticket debug_log("Calling controller update method"); $result = $controller->update($ticketId, $data); debug_log("Update completed with result: " . json_encode($result)); // Discard any output that might have been generated ob_end_clean(); // Return response header('Content-Type: application/json'); echo json_encode($result); debug_log("Response sent"); } catch (Exception $e) { debug_log("Error: " . $e->getMessage()); debug_log("Stack trace: " . $e->getTraceAsString()); // Discard any output that might have been generated ob_end_clean(); // Return error response header('Content-Type: application/json'); echo json_encode([ 'success' => false, 'error' => $e->getMessage() ]); debug_log("Error response sent"); }