<?php

/**
 * Lead Connector Migrator
 * Copyright (C) 2025 Lead Connector
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

// Common Utilities - Archiver
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/Archiver/class-lcm-archiver.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/Archiver/class-lcm-compressor.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/Archiver/class-lcm-extractor.php';

// Common Utilities - Database
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/database/class-lcm-database.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/database/class-lcm-database-mysql.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/database/class-lcm-database-mysqli.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/database/class-lcm-database-mariadb.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/database/class-lcm-database-sqlite.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/database/class-lcm-database-utility.php';

// Common Utilities - Exceptions
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/exceptions/lcm-exceptions.php';

// Common Utilities - Filters
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/filters/class-lcm-recursive-exclude-filter.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/filters/class-lcm-recursive-extension-filter.php';

// Common Utilities - Iterator
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/iterator/class-lcm-recursive-directory-iterator.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/iterator/class-lcm-recursive-iterator-iterator.php';

// Common Utilities - Status
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/status/class-lcm-status.php';

// Common Utilities - Filesystem
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/filesystem/class-lcm-directory.php';

// Database Export
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/database/class-lcm-export-database.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/database/class-lcm-export-database-file.php';

// Theme Export
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/themes/class-lcm-export-themes.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/themes/class-lcm-export-enumerate-themes.php';

// Plugin Export
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/plugins/class-lcm-export-plugins.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/plugins/class-lcm-export-enumerate-plugins.php';

// Media Export
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/media/class-lcm-export-media.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/media/class-lcm-export-enumerate-media.php';

// Content Export
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/content/class-lcm-export-content.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/content/class-lcm-enumerate-content.php';

// Tables Export
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/tables/class-lcm-export-enumerate-tables.php';

// Configuration
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/config/class-lcm-config-export.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/config/class-lcm-config-export-file.php';

// Export Archive
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/export-archive/class-lcm-export-archive.php';

// Compatibility
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/compatiblity/class-lcm-compatibility.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/compatiblity/class-lcm-check-compatiblity.php';

// Initialization
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/init/class-lcm-init-export.php';

// Finalize
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/finalize/class-lcm-finalize.php';

// Clean 
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/clean/class-lcm-clean.php';

// Stages
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/stages/class-lcm-stages.php';

// GCP Upload Client
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/gcp/class-lcm-gcp-upload-client.php';

// GCP Upload Curl
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/gcp/class-lcm-gcp-upload-curls.php';

// Upload File
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/upload-file/class-lcm-generate-cloud-url.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/upload-file/class-lcm-upload-to-cloud.php';

// Start Server Import
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/import-action/class-lcm-start-server-import.php';

// Import
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/backups/class-lcm-backups.php';

// Import Compatibility
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/compatiblity/class-lcm-import-compatiblity.php';

// Import Download
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/download/class-lcm-url-import-create.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/download/class-lcm-url-import-download.php';

// Import Validate
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/validate/class-lcm-import-validate.php';

// Import Compression
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/compression/class-lcm-import-check-compression.php';

// Import Encryption
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/encryption/class-lcm-import-check-encryption.php';

// Import Confirm
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/confirm/class-lcm-import-confirm.php';

// Import Blogs
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/blogs/class-lcm-import-blogs.php';

// Import Clean
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/clean/class-lcm-import-clean.php';

// Import Done
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/done/class-lcm-import-done.php';

// Import Options
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/options/class-lcm-import-options.php';

// Import User
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/user/class-lcm-import-user.php'; 

// Import Controller
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/controller/class-lcm-import-controller.php';

// Import CLI Command
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/cli/class-lcm-cli-base.php';

// Import CLI Handler
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/cli/class-lcm-cli-import-handler.php';

// Handlers
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/handlers/class-lcm-error-handler.php';

// URL Client 
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/url/class-lcm-url-client.php';

// URL Client Curl
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/url/class-lcm-url-curl.php';

// Import Permalink
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/permalinks/class-lcm-import-permalinks.php';

// Import Options
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/options/class-lcm-import-options.php';

// Import User
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/user/class-lcm-import-user.php';

// Import Enumerate 
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/enumerate/class-lcm-import-enumerate.php';

// Import Content 
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/content/class-lcm-import-content.php';

// Import MU Plugins
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/mu-plugins/class-lcm-import-mu-plugins.php';

// Import Database
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/database/class-lcm-import-database-file.php';
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/database/class-lcm-import-database.php';


// Options Manager 
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/options/class-lcm-option-manager.php';

// Events
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/events/class-lcm-events.php';

// Logger
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/logger/class-lcm-lc-logger.php';

// HTTP Requests
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/http/class-lcm-http-requests.php';

// Constants
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/constants/class-lcm-constants.php';

// Encryption
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/encryption/class-lcm-lc-data-encryption.php';

// Logger Internal 
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/logger/class-lcm-logger.php';

// CRC 
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/common/crc/class-lcm-crc.php';

// Export CRC
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/export/crc/class-lcm-export-crc.php';

// Import CRC
require_once LC_MIGRATOR_SOURCE_PATH . '/v2/import/crc/class-lcm-import-validate-crc.php';