/** * Migrates data from WordPress to Drupal * */ function migrate($wp_settings_array, $d_settings_array, $options_array) { $errors = ""; // Prepare WordPress by clearing out the tables runAlterDatabase($wp_settings_array, QUERY_TRUNCATE_WP_TABLES, $errors); if (isset($options_array['deleteAuthors'])) { runAlterDatabase($wp_settings_array, QUERY_DELETE_WP_AUTHORS, $errors); } // Migrate posts, categories and tags. // Do not change the order of these as some are dependent on // other queries having run first. runAlterDatabase($wp_settings_array, QUERY_CREATE_WP_TAGS, $errors); runAlterDatabase($wp_settings_array, buildQueryConvertDrupalTermsToWPTags($wp_settings_array, $d_settings_array), $errors); runAlterDatabase($wp_settings_array, buildQueryCreateWPPosts($wp_settings_array, $d_settings_array), $errors); runAlterDatabase($wp_settings_array, buildQueryConvertPostTypes($wp_settings_array, $options_array['formContentTypes']), $errors); runAlterDatabase($wp_settings_array, QUERY_SET_TERM_RELATIONSHIPS, $errors); runAlterDatabase($wp_settings_array, QUERY_UPDATE_TAG_COUNTS, $errors); runAlterDatabase($wp_settings_array, QUERY_FIX_TAXONOMY, $errors); runAlterDatabase($wp_settings_array, buildQuerySetCategories($wp_settings_array, $options_array['formTerms']), $errors); runAlterDatabase($wp_settings_array, buildQuerySetDefaultCategory($wp_settings_array, $options_array['formDefaultCategory']), $errors); runAlterDatabase($wp_settings_array, QUERY_HIDE_ADD_COMMENTS, $errors); runAlterDatabase($wp_settings_array, QUERY_UPDATE_COMMENTS_COUNTS, $errors); runAlterDatabase($wp_settings_array, buildQueryUpdateFilepath($options_array['filePath'], $wp_settings_array), $errors); runAlterDatabase($wp_settings_array, QUERY_SET_SITE_NAME, $errors); runAlterDatabase($wp_settings_array, QUERY_SET_SITE_DESC, $errors); runAlterDatabase($wp_settings_array, QUERY_SET_SITE_EMAIL, $errors); runAlterDatabase($wp_settings_array, buildQuerySetPermalinkStructure($wp_settings_array, $options_array['formPermalinkStructure']), $errors); return $errors; }
<?php /******************************************************************************* * WordPress term name field is set 200 chars but Drupal's is term name is 255 chars * Truncate the field to fit WordPress *******************************************************************************/ require_once "functions_database.php"; $result = "ERROR"; $html_output = ""; $database_settings_array = array(); $database_settings_array['host'] = filter_var($_POST['host'], FILTER_SANITIZE_STRING); $database_settings_array['data'] = filter_var($_POST['database'], FILTER_SANITIZE_STRING); $database_settings_array['user'] = filter_var($_POST['user'], FILTER_SANITIZE_STRING); $database_settings_array['pass'] = filter_var($_POST['pass'], FILTER_SANITIZE_STRING); $errors = ""; $update_query = "UPDATE " . $database_settings_array['data'] . ".term_data SET name=SUBSTRING(name, 1, 200);"; $html_output = runAlterDatabase($database_settings_array, $update_query, $errors); print json_encode(array('result' => $errors, 'html_output' => $html_output));
<?php /******************************************************************************* * Fix duplicate terms *******************************************************************************/ require_once "functions_database.php"; $result = "ERROR"; $html_output = ""; $database_settings_array = array(); $database_settings_array['host'] = filter_var($_POST['host'], FILTER_SANITIZE_STRING); $database_settings_array['data'] = filter_var($_POST['database'], FILTER_SANITIZE_STRING); $database_settings_array['user'] = filter_var($_POST['user'], FILTER_SANITIZE_STRING); $database_settings_array['pass'] = filter_var($_POST['pass'], FILTER_SANITIZE_STRING); $errors = ""; $query_clear_tables = "DROP TABLE IF EXISTS " . $database_settings_array['data'] . ".acc_url_alias_dups_removed;"; $query_clear_tables = $query_clear_tables . " DROP TABLE IF EXISTS " . $database_settings_array['data'] . ".url_alias_with_dups;"; $query_remove_duplicates = "CREATE TABLE " . $database_settings_array['data'] . ".acc_url_alias_dups_removed AS SELECT pid, src, dst FROM " . $database_settings_array['data'] . ".url_alias GROUP BY src;"; $query_rename_tables = "RENAME TABLE " . $database_settings_array['data'] . ".url_alias TO " . $database_settings_array['data'] . ".url_alias_with_dups;"; $query_rename_tables = $query_rename_tables . " RENAME TABLE " . $database_settings_array['data'] . ".acc_url_alias_dups_removed TO " . $database_settings_array['data'] . ".url_alias;"; runAlterDatabase($database_settings_array, $query_clear_tables, $errors); runAlterDatabase($database_settings_array, $query_remove_duplicates, $errors); runAlterDatabase($database_settings_array, $query_rename_tables, $errors); print json_encode(array('result' => $errors, 'html_output' => $html_output));