Esempio n. 1
0
    $output->board_list();
} elseif (isset($mybb->input['action']) && $mybb->input['action'] == 'completed') {
    $debug->log->event("Show the merge competion page");
    $import_session['finished_convert'] = 1;
    $import_session['agreement'] = 0;
    $import_session['first_page'] = 0;
    $output->finish_conversion();
} elseif (isset($mybb->input['action']) && $mybb->input['action'] == 'finish') {
    $debug->log->event("Show the merge cleanup page");
    define("BACK_BUTTON", false);
    $output->print_header("MyBB Merge System - Final Step: Cleanup");
    // Delete import fields and update our cache's
    $output->construct_progress_bar();
    echo "<br />\nPerforming final cleanup and maintenance (This may take a while)... \n";
    flush();
    delete_import_fields();
    $cache->update_stats();
    $output->update_progress_bar(30);
    $cache->update_usergroups();
    $output->update_progress_bar(60);
    $cache->update_forums();
    $output->update_progress_bar(90);
    $cache->update_forumpermissions();
    $output->update_progress_bar(120);
    $cache->update_moderators();
    $output->update_progress_bar(150);
    $cache->update_usertitles();
    $output->update_progress_bar(180);
    // Update import session cache
    $import_session['end_date'] = time();
    // Get the converter up.
Esempio n. 2
0
/**
 * Create the temporary importing data fields we use to keep track of, for example, vB's imported user id, etc.
 *
 * @param boolean Show text progress
 */
function create_import_fields($text = true)
{
    global $db, $output;
    if ($text == true) {
        $output->construct_progress_bar();
        echo "<br />Creating fields for tracking data during the Merge process (This may take a while)...";
        flush();
    }
    // First clear all.
    delete_import_fields(false);
    if ($text == true) {
        $output->update_progress_bar(0, "Creating " . TABLE_PREFIX . "trackers table.");
    }
    $db->write_query("CREATE TABLE " . TABLE_PREFIX . "trackers (\n\t  type varchar(20) NOT NULL default '',\n\t  count int NOT NULL default '0',\n\t  PRIMARY KEY (type),\n\t  KEY count (count)\n\t) ENGINE=MyISAM;");
    if ($text == true) {
        $output->update_progress_bar(0, "Creating " . TABLE_PREFIX . "post_trackers table.");
    }
    $db->write_query("CREATE TABLE " . TABLE_PREFIX . "post_trackers (\n\t  pid int NOT NULL default '0',\n\t  import_pid int NOT NULL default '0',\n\t  import_uid int NOT NULL default '0',\n\t  PRIMARY KEY (pid),\n\t  KEY import_pid (import_pid),\n\t  KEY import_uid (import_uid)\n\t) ENGINE=MyISAM;");
    if ($text == true) {
        $output->update_progress_bar(0, "Creating " . TABLE_PREFIX . "privatemessage_trackers table.");
    }
    $db->write_query("CREATE TABLE " . TABLE_PREFIX . "privatemessage_trackers (\n\t  pmid int NOT NULL default '0',\n\t  import_pmid int NOT NULL default '0',\n\t  PRIMARY KEY (pmid),\n\t  KEY import_pmid (import_pmid)\n\t) ENGINE=MyISAM;");
    $add_list = array("int" => array("users" => array('import_uid', 'import_usergroup', 'import_displaygroup'), "forums" => array('import_fid', 'import_pid'), "threads" => array('import_tid', 'import_uid', 'import_poll', 'import_firstpost'), "polls" => array('import_pid', 'import_tid'), "usergroups" => array('import_gid'), "events" => array('import_eid'), "attachments" => array('import_aid')), "text" => array("users" => array('passwordconvert', 'passwordconverttype', 'passwordconvertsalt', 'import_additionalgroups')));
    foreach ($add_list as $array) {
        $increment += count($array, COUNT_RECURSIVE) - count($array);
    }
    $increment = 200 / $increment;
    $progress = 0;
    foreach ($add_list['int'] as $table => $columns) {
        $columns_list = implode(', ', $columns);
        $comma = "";
        $columns_sql = "";
        foreach ($columns as $column) {
            if (!$db->field_exists($column, $table)) {
                $columns_sql .= "{$comma} ADD " . $column . " int NOT NULL default '0'";
                $comma = ",";
            }
        }
        if ($text == true) {
            $output->update_progress_bar($progress, "Adding int columns " . $columns_list . " to table " . TABLE_PREFIX . $table);
            $progress += $increment;
        }
        $db->write_query("ALTER TABLE " . TABLE_PREFIX . $table . "{$columns_sql}");
        if ($db->type == "mysql" || $db->type == "mysqli") {
            foreach ($columns as $column) {
                $db->write_query("ALTER TABLE " . TABLE_PREFIX . $table . " ADD INDEX ( `{$column}` )");
            }
        }
    }
    foreach ($add_list['text'] as $table => $columns) {
        $columns_list = implode(', ', $columns);
        $comma = "";
        $columns_sql = "";
        foreach ($columns as $column) {
            if (!$db->field_exists($column, $table)) {
                $columns_sql .= "{$comma} ADD " . $column . " text";
                $comma = ",";
            }
        }
        $db->write_query("ALTER TABLE " . TABLE_PREFIX . $table . "{$columns_sql}");
        if ($text == true) {
            $output->update_progress_bar($progress, "Adding text columns " . $columns_list . " to table " . TABLE_PREFIX . $table);
            $progress += $increment;
        }
    }
    if ($text == true) {
        $output->update_progress_bar(200, "Please wait...");
        echo " done.<br />\n";
        flush();
    }
}