/**
 * 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));