| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- // AJAX-based WordPress import test to bypass form submission issues
- header('Content-Type: application/json');
- error_reporting(E_ALL);
- ini_set('display_errors', 1);
- ini_set('max_execution_time', 60);
- ini_set('memory_limit', '512M');
- require_once '../includes/config.php';
- require_once '../includes/database.php';
- require_once '../includes/wordpress_import.php';
- $response = ['success' => false, 'message' => '', 'step' => ''];
- try {
- $action = $_GET['action'] ?? '';
- $response['step'] = $action;
-
- switch ($action) {
- case 'test_connection':
- // Test connection only
- $wpConfig = [
- 'host' => trim($_GET['wp_host'] ?? ''),
- 'database' => trim($_GET['wp_database'] ?? ''),
- 'username' => trim($_GET['wp_username'] ?? ''),
- 'password' => $_GET['wp_password'] ?? ''
- ];
-
- $response['message'] = 'Testing connection...';
- $importer = new WordPressImport($wpConfig);
- $connectionTest = $importer->testConnection();
-
- if ($connectionTest['success']) {
- $response['success'] = true;
- $response['message'] = 'Connection successful';
- $response['stats'] = $connectionTest['stats'];
- } else {
- $response['message'] = $connectionTest['error'];
- }
- break;
-
- case 'import_categories':
- // Import categories only
- $wpConfig = [
- 'host' => trim($_GET['wp_host'] ?? ''),
- 'database' => trim($_GET['wp_database'] ?? ''),
- 'username' => trim($_GET['wp_username'] ?? ''),
- 'password' => $_GET['wp_password'] ?? ''
- ];
-
- $response['message'] = 'Importing categories...';
- $importer = new WordPressImport($wpConfig);
- $result = $importer->importCategories();
-
- $response['success'] = true;
- $response['message'] = 'Categories imported';
- $response['result'] = $result;
- break;
-
- case 'import_users':
- // Import users only
- $wpConfig = [
- 'host' => trim($_GET['wp_host'] ?? ''),
- 'database' => trim($_GET['wp_database'] ?? ''),
- 'username' => trim($_GET['wp_username'] ?? ''),
- 'password' => $_GET['wp_password'] ?? ''
- ];
-
- $response['message'] = 'Importing users...';
- $importer = new WordPressImport($wpConfig);
- $result = $importer->importUsers();
-
- $response['success'] = true;
- $response['message'] = 'Users imported';
- $response['result'] = $result;
- break;
-
- case 'import_posts':
- // Import posts only (small batch)
- $wpConfig = [
- 'host' => trim($_GET['wp_host'] ?? ''),
- 'database' => trim($_GET['wp_database'] ?? ''),
- 'username' => trim($_GET['wp_username'] ?? ''),
- 'password' => $_GET['wp_password'] ?? ''
- ];
-
- $response['message'] = 'Importing posts (batch)...';
- $importer = new WordPressImport($wpConfig);
- $result = $importer->importPosts();
-
- $response['success'] = true;
- $response['message'] = 'Posts imported';
- $response['result'] = $result;
- break;
-
- default:
- $response['message'] = 'Unknown action';
- }
-
- } catch (Exception $e) {
- $response['message'] = 'Error: ' . $e->getMessage();
- $response['error'] = [
- 'file' => $e->getFile(),
- 'line' => $e->getLine(),
- 'trace' => $e->getTraceAsString()
- ];
- }
- echo json_encode($response);
- ?>
|