isLoggedIn()) { throw new Exception('Unauthorized'); } $surveyManager = SurveyManager::getInstance(); // Get and validate input $data = [ 'title' => trim($_POST['title'] ?? ''), 'description' => trim($_POST['description'] ?? ''), 'status' => $_POST['status'] ?? 'draft', 'allow_multiple' => !empty($_POST['allow_multiple']), 'allow_edit' => !empty($_POST['allow_edit']), 'created_by' => $_SESSION['user_id'] ]; // Validate required fields if (empty($data['title'])) { throw new Exception('Survey title is required'); } // Check if survey_id exists and is not empty $surveyId = isset($_POST['survey_id']) && !empty($_POST['survey_id']) ? (int)$_POST['survey_id'] : null; // Create or update survey if ($surveyId) { $result = $surveyManager->updateSurvey($surveyId, $data); } else { $result = $surveyManager->createSurvey($data); // Get the new survey ID if available $surveyId = isset($result['survey_id']) ? $result['survey_id'] : null; } if (!$result['success']) { throw new Exception($result['error'] ?? 'Operation failed'); } echo json_encode([ 'success' => true, 'survey_id' => $surveyId, 'message' => 'Survey saved successfully' ]); } catch (Exception $e) { echo json_encode([ 'success' => false, 'error' => $e->getMessage() ]); } ?>