function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $custom_pics_start_at = $sessionobject->get_session_var('custompicsstartat'); $custom_pics_per_page = $sessionobject->get_session_var('custompicsperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } $customprofilepic_array = $this->get_details($Db_source, $source_database_type, $source_table_prefix, $custom_pics_start_at, $custom_pics_per_page, 'customprofilepic', 'userid'); $customprofilepic_object = new ImpExData($Db_target, $sessionobject, 'customprofilepic'); $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($customprofilepic_array) . " {$displayobject->phrases['cust_pics']}</h4>"); foreach ($customprofilepic_array as $cust_pic_id => $cus_pic) { $try = phpversion() < '5' ? $customprofilepic_object : clone $customprofilepic_object; $try->set_value('mandatory', 'importcustomprofilepicid', $cust_pic_id); $userid = $idcache->get_id('user', $cus_pic['userid']); if (!$userid) { $displayobject->display_now("<br />Userid error"); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); continue; } $try->set_value('nonmandatory', 'userid', $userid); $try->set_value('nonmandatory', 'filedata', $Db_target->escape_string($cus_pic['profilepicdata'])); $try->set_value('nonmandatory', 'dateline', $cus_pic['dateline']); $try->set_value('nonmandatory', 'filename', $cus_pic['filename']); $try->set_value('nonmandatory', 'visible', $cus_pic['visible']); if ($try->is_valid()) { if ($try->import_custom_profile_pic($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['cus_pic'] . ' -> ' . $try->get_value('nonmandatory', 'filename')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($cust_pic_id, $displayobject->phrases['custom_profile_pic_not_imported'], $displayobject->phrases['custom_profile_pic_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['custom_profile_pic_not_imported']}"); } } else { $displayobject->display_now("<br />Invalid avatar object, skipping." . $try->_failedon); } unset($try); } if (count($customprofilepic_array) == 0 or count($customprofilepic_array) < $custom_pics_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } else { $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); $sessionobject->set_session_var('custompicsstartat', $custom_pics_start_at + $custom_pics_per_page); } }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $user_start_at = $sessionobject->get_session_var('modsstartat'); $user_per_page = $sessionobject->get_session_var('modsperpage'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); $ubbcgipath = $sessionobject->get_session_var('ubbcgipath'); $class_num = substr(get_class($this), -3); if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } $mod_array = $this->get_moderators_list($ubbcgipath, $user_start_at, $user_per_page); $forum_ids_array = $this->get_forum_ids($Db_target, $target_database_type, $target_table_prefix); $moderator_object = new ImpExData($Db_target, $sessionobject, 'moderator'); $displayobject->display_now("<h4>Importing " . (count($mod_array) - 1) . " Forums</h4><p><b>From</b> : " . $user_start_at . " :: <b>To</b> : " . ($user_start_at + count($mod_array)) . "</p>"); foreach ($mod_array as $forumid => $user_array) { foreach ($user_array as $userid) { $try = phpversion() < '5' ? $moderator_object : clone $moderator_object; $userid = intval($userid) == 0 ? 1 : intval($userid); $try->set_value('mandatory', 'userid', $idcache->get_id('user', $userid)); $try->set_value('mandatory', 'forumid', $forum_ids_array[$forumid]); $try->set_value('mandatory', 'importmoderatorid', $userid); $try->set_value('nonmandatory', 'permissions', $this->_default_mod_permissions); if ($try->is_valid()) { if ($result = $try->import_moderator($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now("<br /><span class=\"isucc\"><b>" . $try->how_complete() . "%</b></span> :: " . $idcache->get_id('username', $userid)); flush; $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_user failed for " . trim($userarray[0]) . ". getUserDetails was ok.", 'Check database permissions and user table'); $displayobject->display_now("<br />Got user " . $try->get_value('mandatory', 'username') . " and <b>DID NOT</b> imported to the " . $target_database_type . " database"); } } else { $displayobject->display_now("<br />Invalid user object, skipping." . $try->_failedon); } unset($try); } } $timetaken = date('s', time() - $start); if (count($user_array) == 0 or count($user_array) < $user_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('import_users', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', '1')); } else { $sessionobject->add_session_var('totalusersdone', $sessionobject->get_session_var('totalusersdone') + $doneperpass); $displayobject->update_html($displayobject->print_redirect('index.php', '')); $sessionobject->set_session_var('usersstartat', $user_start_at + $user_per_page); } }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_fireboard_posts($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['posts'], $start_at); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'post'); foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData_object : clone $ImpExData_object; // Mandatory $try->set_value('mandatory', 'threadid', $idcache->get_id('thread', $data['thread'])); $try->set_value('mandatory', 'importthreadid', $data['thread']); $try->set_value('mandatory', 'userid', $idcache->get_id('user', $data['userid'])); // Non mandatory $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'ipaddress', $data['ip']); $try->set_value('nonmandatory', 'showsignature', '1'); $try->set_value('nonmandatory', 'allowsmilie', '1'); $try->set_value('nonmandatory', 'pagetext', $this->html_2_bb($data['post_text'])); $try->set_value('nonmandatory', 'dateline', $data['time']); $try->set_value('nonmandatory', 'title', $data['subject']); $try->set_value('nonmandatory', 'username', $data['name']); $try->set_value('nonmandatory', 'parentid', $idcache->get_id('post', $data['parent'])); $try->set_value('nonmandatory', 'importpostid', $import_id); // Check if object is valid if ($try->is_valid()) { if ($try->import_post($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc">' . $import_id . ' :: <b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['post'] . ' -> ' . $data['subject']); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['post_not_imported'], $displayobject->phrases['post_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['post_not_imported']}"); } // $try->import_post } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); if ($this->update_post_parent_ids($Db_target, $t_db_type, $t_tb_prefix)) { $displayobject->display_now($displayobject->phrases['successful']); } else { $displayobject->display_now($displayobject->phrases['failed']); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); $ImpExData = new ImpExData($Db_target, $sessionobject, 'moderator'); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_phpBB3_mods($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); $forum_ids_array = $this->get_forum_ids($Db_target, $t_db_type, $t_tb_prefix); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['moderators'], $start_at); if ($data_array['count'] > 0) { foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData : clone $ImpExData; // Mandatory if ($idcache->get_id('user', $data['user_id']) > 0) { $try->set_value('mandatory', 'userid', $idcache->get_id('user', $data['user_id'])); } else { continue; } $try->set_value('mandatory', 'forumid', $forum_ids_array["{$data['forum_id']}"]); $this->_dupe_checking = false; // No unique id's $try->set_value('mandatory', 'importmoderatorid', $import_id); // Non mandatory $try->set_value('mandatory', 'permissions', $this->_default_mod_permissions); // Check if object is valid if ($try->is_valid()) { if ($try->import_moderator($Db_target, $t_db_type, $t_tb_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['moderator'] . ' -> ' . $data['username']); $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['moderator_import_error'], $displayobject->phrases['moderator_error_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['moderator_not_imported']}"); } // $try->import_moderator } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach } // End if // Check for page end if ($data['count'] == 0 or $data['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); $pm_text_object = new ImpExData($Db_target, $sessionobject, 'pmtext'); $pm_object = new ImpExData($Db_target, $sessionobject, 'pm'); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_source_data($Db_source, $s_db_type, "{$s_tb_prefix}tx_mmforum_pminbox", 'uid', 0, $start_at, $per_page); // Get some refrence arrays (use and delete as nessesary). // User info #$this->get_vb_userid($Db_target, $t_db_type, $t_tb_prefix, $importuserid); #$this->get_one_username($Db_target, $t_db_type, $t_tb_prefix, $theuserid, $id='importuserid'); #$users_array = $this->get_user_array($Db_target, $t_db_type, $t_tb_prefix, $startat = null, $perpage = null); #$done_user_ids = $this->get_done_user_ids($Db_target, $t_db_type, $t_tb_prefix); #$user_ids_array = $this->get_user_ids($Db_target, $t_db_type, $t_tb_prefix, $do_int_val = false); #$user_name_array = $this->get_username_to_ids($Db_target, $t_db_type, $t_tb_prefix); // Groups info #$user_group_ids_array = $this->get_imported_group_ids($Db_target, $t_db_type, $t_tb_prefix); #$user_group_ids_by_name_array = $this->get_imported_group_ids_by_name($Db_target, $t_db_type, $t_tb_prefix); #$bannded_groupid = $this->get_banned_group($Db_target, $t_db_type, $t_tb_prefix); // Thread info #$this->get_thread_id($Db_target, $t_db_type, $t_tb_prefix, &$importthreadid, &$forumid); // & left to show refrence #$thread_ids_array = $this->get_threads_ids($Db_target, $t_db_type, $t_tb_prefix); // Post info #$this->get_posts_ids($Db_target, $t_db_type, $t_tb_prefix); // Category info #$cat_ids_array = $this->get_category_ids($Db_target, $t_db_type, $t_tb_prefix); #$style_ids_array = $this->get_style_ids($Db_target, $t_db_type, $t_tb_prefix, $pad=0); // Forum info #$forum_ids_array = $this->get_forum_ids($Db_target, $t_db_type, $t_tb_prefix, $pad=0); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['pms'], $start_at); foreach ($data_array['data'] as $pm_id => $pm) { $vB_pm_text = phpversion() < '5' ? $pm_text_object : clone $pm_text_object; $userid = $idcache->get_id('user', $pm['to_uid']); $username = $idcache->get_id('username', $pm['to_uid']); unset($touserarray); $touserarray[$userid] = $username; $vB_pm_text->set_value('mandatory', 'fromuserid', $idcache->get_id('user', $pm['from_uid'])); $vB_pm_text->set_value('mandatory', 'title', $pm['subject']); $vB_pm_text->set_value('mandatory', 'message', $pm['message']); $vB_pm_text->set_value('mandatory', 'importpmid', $pm_id); $vB_pm_text->set_value('mandatory', 'touserarray', addslashes(serialize($touserarray))); $vB_pm_text->set_value('nonmandatory', 'fromusername', $idcache->get_id('username', $pm['from_uid'])); $vB_pm_text->set_value('nonmandatory', 'iconid', ''); $vB_pm_text->set_value('nonmandatory', 'dateline', $pm['tstamp']); $vB_pm_text->set_value('nonmandatory', 'showsignature', '1'); $vB_pm_text->set_value('nonmandatory', 'allowsmilie', '1'); if ($vB_pm_text->is_valid()) { $pm_text_id = $vB_pm_text->import_pm_text($Db_target, $t_db_type, $t_tb_prefix); if ($pm_text_id) { $vB_pm_to = phpversion() < '5' ? $pm_object : clone $pm_object; $vB_pm_from = phpversion() < '5' ? $pm_object : clone $pm_object; // The touser pm $vB_pm_to->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_to->set_value('mandatory', 'userid', $idcache->get_id('user', $pm['to_uid'])); $vB_pm_to->set_value('mandatory', 'importpmid', $pm_id); $vB_pm_to->set_value('nonmandatory', 'folderid', '0'); $vB_pm_to->set_value('nonmandatory', 'messageread', '0'); // The fromuser pm $vB_pm_from->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_from->set_value('mandatory', 'userid', $idcache->get_id('user', $pm['from_uid'])); $vB_pm_from->set_value('mandatory', 'importpmid', $pm_id); $vB_pm_from->set_value('nonmandatory', 'folderid', '-1'); $vB_pm_from->set_value('nonmandatory', 'messageread', '0'); if ($vB_pm_text->is_valid()) { if ($vB_pm_to->import_pm($Db_target, $t_db_type, $t_tb_prefix) and $vB_pm_from->import_pm($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc"><b>' . $vB_pm_to->how_complete() . '%</b></span> ' . $displayobject->phrases['pm'] . ' -> ' . $vB_pm_text->get_value('nonmandatory', 'fromusername')); } $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $pm_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_1']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $pm_id, $displayobject->phrases['invalid_object'], $vB_pm_from->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $vB_pm_from->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $vB_pm_from, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_2']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $pm_id, $displayobject->phrases['invalid_object'], $vB_pm_from->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $vB_pm_text->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($vB_pm_text, $vB_pm_to, $vB_pm_from); } // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); if ($this->update_user_pm_count($Db_target, $t_db_type, $t_tb_prefix)) { $displayobject->display_now($displayobject->phrases['successful']); } else { $displayobject->display_now($displayobject->phrases['failed']); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); // Clone and cache $poll_object = new ImpExData($Db_target, $sessionobject, 'poll'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } if (intval($poll_per_page) == 0) { $poll_per_page = 150; } // Get an array of poll details $poll_array = $this->get_fusionbb_polls_details($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); // Display count and pass time $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($poll_array) . " {$displayobject->phrases['polls']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $poll_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($poll_start_at + count($poll_array)) . "</p>"); foreach ($poll_array as $poll_id => $poll) { $try = phpversion() < '5' ? $poll_object : clone $poll_object; unset($polls_results_array, $poll_voters, $numberoptions, $voters, $options, $votes); $poll_options = $this->get_fusionbb_poll_options($Db_source, $s_db_type, $s_tb_prefix, $poll_id); $poll_voters = $this->get_fusionbb_poll_results_details($Db_source, $s_db_type, $s_tb_prefix, $poll_id); // Get the total number of options $number_of_options = substr_count($poll_options, '|||') + 1; // Use that to build an empty votes array $votes = array(); for ($i = 1; $i <= $number_of_options; $i++) { $votes[$i] = 0; } foreach ($poll_voters as $id => $details) { $voter = $idcache->get_id('user', $details['user_id']); $poll_option = $details['poll_option']; $poll_voters_array[$voter] = $poll_option; $votes[$poll_option]++; } $total_vote_count = array_sum($votes); $votes = implode('|||', $votes); // Mandatory $try->set_value('mandatory', 'importpollid', $poll_id); $try->set_value('mandatory', 'question', $poll['poll_title']); $try->set_value('mandatory', 'dateline', $poll['poll_created']); $try->set_value('mandatory', 'options', $poll_options); $try->set_value('mandatory', 'votes', $votes); // Non Mandatory $try->set_value('nonmandatory', 'active', '1'); $try->set_value('nonmandatory', 'numberoptions', $number_of_options); $try->set_value('nonmandatory', 'timeout', $poll['poll_stop']); // TODO: Is it ? $poll['vote_length'] $try->set_value('nonmandatory', 'multiple', '0'); $try->set_value('nonmandatory', 'voters', $total_vote_count); $try->set_value('nonmandatory', 'public', '1'); if ($try->is_valid()) { $result = $try->import_poll($Db_target, $t_db_type, $t_tb_prefix); $vb_poll_id = $Db_target->insert_id(); if ($result) { if ($try->import_poll_to_thread($Db_target, $t_db_type, $t_tb_prefix, $vb_poll_id, $this->get_fusionbb_threadid($Db_source, $s_db_type, $s_tb_prefix, $poll['post_id']))) { if ($try->import_poll_voters($Db_target, $t_db_type, $t_tb_prefix, $poll_voters_array, $vb_poll_id)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['poll'] . ' -> ' . $try->get_value('mandatory', 'question')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $poll_id, $displayobject->phrases['poll_not_imported_3'], $displayobject->phrases['poll_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['poll_not_imported']}"); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $poll_id, $displayobject->phrases['poll_not_imported_1'], $displayobject->phrases['poll_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['poll_not_imported']}"); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $poll_id, $displayobject->phrases['poll_not_imported_2'], $displayobject->phrases['poll_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['poll_not_imported']}"); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $poll_id, $displayobject->phrases['invalid_object'], $try->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } // End foreach // The real end if (count($poll_array) == 0 or count($poll_array) < $poll_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $poll_start_at + $poll_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $post_start_at = $sessionobject->get_session_var('poststartat'); $post_per_page = $sessionobject->get_session_var('postperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array of post details $post_array = $this->get_communityserver_post_details($Db_source, $source_database_type, $source_table_prefix, $post_start_at, $post_per_page); // Display count and pass time $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($post_array) . " {$displayobject->phrases['posts']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $post_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($post_start_at + count($post_array)) . "</p>"); $post_object = new ImpExData($Db_target, $sessionobject, 'post'); foreach ($post_array as $post_id => $post_details) { $try = phpversion() < '5' ? $post_object : clone $post_object; // Mandatory $try->set_value('mandatory', 'threadid', $idcache->get_id('thread', $post_details['ThreadID'])); $try->set_value('mandatory', 'importthreadid', $post_details['ThreadID']); $try->set_value('mandatory', 'userid', $idcache->get_id('user', $post_details['UserID'])); // Non Mandatory $try->set_value('nonmandatory', 'importpostid', $post_details['PostID']); $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'showsignature', '1'); $try->set_value('nonmandatory', 'allowsmilie', '1'); $try->set_value('nonmandatory', 'pagetext', $this->html_2_bb($post_details['Body'])); $try->set_value('nonmandatory', 'dateline', strtotime($post_details['PostDate'])); $try->set_value('nonmandatory', 'title', $post_details['Subject']); $try->set_value('nonmandatory', 'username', $idcache->get_id('username', $post_details['UserID'])); if ($post_details['ParentID'] == $post_details['PostID']) { $try->set_value('nonmandatory', 'parentid', '0'); } else { $try->set_value('nonmandatory', 'parentid', $this->get_vb_post_id($Db_target, $target_database_type, $target_table_prefix, $post_details['ParentID'])); } // Check if post object is valid if ($try->is_valid()) { if ($try->import_post($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['post'] . ' -> ' . $try->get_value('nonmandatory', 'title')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($post_id, $displayobject->phrases['post_not_imported'], $displayobject->phrases['post_not_imported_rem']); $displayobject->display_now("<br />{$impex_phrases['failed']} :: {$displayobject->phrases['post_not_imported']}"); } } else { $displayobject->display_now("<br />{$impex_phrases['invalid_object']}" . $try->_failedon); } unset($try); } // End foreach // Check for page end if (count($post_array) == 0 or count($post_array) < $post_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->display_now($displayobject->phrases['updating_parent_id']); if ($this->update_post_parent_ids($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now($displayobject->phrases['successful']); } else { $displayobject->display_now($displayobject->phrases['failed']); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('import_post', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } $sessionobject->set_session_var('poststartat', $post_start_at + $post_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { if ($sessionobject->get_session_var('polls') == 'working') { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $polls_start_at = $sessionobject->get_session_var('pollsstartat'); $polls_per_page = $sessionobject->get_session_var('pollsperpage'); $this->_dupe_checking = false; $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } if (intval($polls_per_page) == 0) { $polls_per_page = 150; } $polls_array = $this->get_DCFm_polls_details($Db_source, $source_database_type, $source_table_prefix, $polls_start_at, $polls_per_page); $to = $polls_start_at + $polls_per_page; $last_pass = $sessionobject->get_session_var('last_pass'); $displayobject->display_now("<h4>Importing " . count($polls_array) . " polls</h4><p><b>From</b> : " . $polls_start_at . " :: <b>To</b> : " . ($polls_start_at + count($polls_array)) . "</p><p><b>Last pass took</b> : " . $last_pass . " seconds</p>"); $start = time(); $poll_object = new ImpExData($Db_target, $sessionobject, 'poll'); foreach ($polls_array as $poll_id => $poll) { unset($votes); unset($poll_voters); unset($options); $votes = $this->get_DCFm_poll_results_details($Db_source, $source_database_type, $source_table_prefix, $poll_id); #'DCFm_user_id' => 'vote_option' $poll_voters = $this->get_DCFm_vote_voters($Db_source, $source_database_type, $source_table_prefix, $poll_id); foreach ($poll_voters as $DCFnm_user_id => $vote_option) { $userid = $idcache->get_id('user', $DCFnm_user_id); $poll_voters_array[$userid] = $vote_option; } $try = phpversion() < '5' ? $poll_object : clone $poll_object; if ($poll['choice_1']) { $options .= $poll['choice_1'] . '|||'; $numberoptions++; } if ($poll['choice_2']) { $options .= $poll['choice_2'] . '|||'; $numberoptions++; } if ($poll['choice_3']) { $options .= $poll['choice_3'] . '|||'; $numberoptions++; } if ($poll['choice_4']) { $options .= $poll['choice_4'] . '|||'; $numberoptions++; } if ($poll['choice_5']) { $options .= $poll['choice_5'] . '|||'; $numberoptions++; } if ($poll['choice_6']) { $options .= $poll['choice_6'] . '|||'; $numberoptions++; } $options = substr($options, 0, -3); $question = $this->get_DCFm_poll_question($Db_target, $target_database_type, $target_table_prefix, $poll['forum_id'] . '000000' . $poll['topic_id']); $try->set_value('mandatory', 'importpollid', $poll_id); $try->set_value('mandatory', 'question', $question); $try->set_value('mandatory', 'dateline', time()); $try->set_value('mandatory', 'options', $options); $try->set_value('mandatory', 'votes', $votes['votes']); $try->set_value('nonmandatory', 'active', '1'); $try->set_value('nonmandatory', 'numberoptions', $votes['options']); $try->set_value('nonmandatory', 'timeout', '0'); // TODO: Is it ? $poll['vote_length'] $try->set_value('nonmandatory', 'multiple', '0'); $try->set_value('nonmandatory', 'voters', $votes['voters']); $try->set_value('nonmandatory', 'public', '1'); if ($try->is_valid()) { $result = $try->import_poll($Db_target, $target_database_type, $target_table_prefix); $vb_poll_id = $Db_target->insert_id(); $imported = false; if ($result) { if ($try->import_poll_to_thread($Db_target, $target_database_type, $target_table_prefix, $vb_poll_id, $poll['forum_id'] . '000000' . $poll['topic_id'])) { if ($try->import_poll_voters($Db_target, $target_database_type, $target_table_prefix, $poll_voters_array, $vb_poll_id)) { $displayobject->display_now("<br /><span class=\"isucc\"><b>" . $try->how_complete() . "%</b></span> :: Poll -> " . $try->get_value('mandatory', 'question')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); $imported = true; } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll_to_thread worked but did not attached voters", 'Check database permissions and thread table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Got poll " . $poll['vote_text'] . " and <b>DID NOT</b> attach voters"); } } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll_to_thread failed Poll imported but not attached to thread", 'Check database permissions and thread table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Got poll " . $poll['vote_text'] . " and <b>DID NOT</b> attach to the correct thread"); } } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll failed", 'Check database permissions and thread table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Poll " . $poll['vote_text'] . " failed"); } if (!$imported) { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll failed for " . $poll['topic_id'] . " Have to check 3 tables", 'Check database permissions and user table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Problem with poll on thread " . $poll['topic_id']); } } else { $displayobject->display_now("<br />Invalid post object, skipping." . $try->_failedon); } unset($try); unset($poll); } $the_end = time() - $start; $sessionobject->add_session_var('last_pass', $the_end); if (count($polls_array) == 0 or count($polls_array) < $polls_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('polls', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', '1')); } else { $sessionobject->set_session_var('pollsstartat', $polls_start_at + $polls_per_page); $displayobject->update_html($displayobject->print_redirect('index.php')); } } else { $displayobject->display_now('Going to the main page...'); $displayobject->update_html($displayobject->print_redirect('index.php')); } }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $moderator_start_at = $sessionobject->get_session_var('moderatorstartat'); $moderator_per_page = $sessionobject->get_session_var('moderatorperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array of moderator details $moderator_array = $this->get_details($Db_source, $source_database_type, $source_table_prefix, $moderator_start_at, $moderator_per_page, 'moderator', 'moderatorid'); $forum_ids_array = $this->get_forum_ids($Db_target, $target_database_type, $target_table_prefix); // Display count and pass time $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($moderator_array) . " {$displayobject->phrases['users']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $moderator_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($moderator_start_at + count($moderator_array)) . "</p>"); $moderator_object = new ImpExData($Db_target, $sessionobject, 'moderator'); foreach ($moderator_array as $moderator_id => $moderator_details) { $try = phpversion() < '5' ? $moderator_object : clone $moderator_object; // Mandatory $try->set_value('mandatory', 'userid', $idcache->get_id('user', $moderator_details['userid'])); $try->set_value('mandatory', 'forumid', $forum_ids_array["{$moderator_details['forumid']}"]); $try->set_value('mandatory', 'importmoderatorid', $moderator_details['importmoderatorid']); // Non Mandatory $permissions = 0; if ($moderator_details['caneditposts']) { $permissions += 1; } if ($moderator_details['candeleteposts']) { $permissions += 2; } if ($moderator_details['canopenclose']) { $permissions += 4; } if ($moderator_details['caneditthreads']) { $permissions += 8; } if ($moderator_details['canmanagethreads']) { $permissions += 16; } if ($moderator_details['canannounce']) { $permissions += 32; } if ($moderator_details['canmoderateposts']) { $permissions += 64; } if ($moderator_details['canmoderateattachments']) { $permissions += 128; } if ($moderator_details['canmassmove']) { $permissions += 256; } if ($moderator_details['canmassprune']) { $permissions += 512; } if ($moderator_details['canviewips']) { $permissions += 1024; } if ($moderator_details['canbanusers']) { $permissions += 4096; } if ($moderator_details['canunbanusers']) { $permissions += 8192; } if ($moderator_details['newthreademail']) { $permissions += 16384; } if ($moderator_details['newpostemail']) { $permissions += 32768; } $try->set_value('nonmandatory', 'permissions', $permissions); // Check if moderator object is valid if ($try->is_valid()) { if ($try->import_moderator($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['moderator'] . ' -> ' . $idcache->get_id('username', $moderator_details['userid'])); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($moderator_id, $displayobject->phrases['moderator_not_imported'], $displayobject->phrases['moderator_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['moderator_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } // End foreach // Check for page end if (count($moderator_array) == 0 or count($moderator_array) < $moderator_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('moderatorstartat', $moderator_start_at + $moderator_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); // Per page vars $poll_start_at = $sessionobject->get_session_var('pollstartat'); $poll_per_page = $sessionobject->get_session_var('pollperpage'); $class_num = substr(get_class($this), -3); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array of poll details $poll_array = $this->get_ASPPlayground_poll_details($Db_source, $source_database_type, $source_table_prefix, $poll_start_at, $poll_per_page); // Display count and pass time $displayobject->display_now('<h4>Importing ' . count($poll_array) . ' polls</h4><p><b>From</b> : ' . $poll_start_at . ' :: <b>To</b> : ' . ($poll_start_at + count($poll_array)) . '</p>'); $poll_object = new ImpExData($Db_target, $sessionobject, 'poll'); foreach ($poll_array as $poll_id => $poll) { $try = phpversion() < '5' ? $poll_object : clone $poll_object; unset($options, $votes, $numberoptions, $voters, $no_voters, $poll_voters_array, $ASPP_voters_array); $ASPP_voters_array = $this->get_ASPPlayground_vote_voters($Db_source, $source_database_type, $source_table_prefix, $poll_id); if (count($ASPP_voters_array) == 0) { $no_voters = true; } foreach ($poll as $vote_option_id => $option) { $options .= $option['option'] . '|||'; $votes .= $option['votes'] . '|||'; $voters += intval($option['votes']); $numberoptions++; } $options = substr($options, 0, -3); $votes = substr($votes, 0, -3); foreach ($ASPP_voters_array as $vid => $info) { $memberid = $idcache->get_id('user', $info['userid']); $poll_voters_array[$memberid] = $info['choiceid']; } $try->set_value('mandatory', 'importpollid', $poll_id); $try->set_value('mandatory', 'question', 'A poll'); $try->set_value('mandatory', 'dateline', time()); $try->set_value('mandatory', 'options', $options); $try->set_value('mandatory', 'votes', $votes); $try->set_value('nonmandatory', 'active', '1'); $try->set_value('nonmandatory', 'numberoptions', $numberoptions); $try->set_value('nonmandatory', 'timeout', '0'); $try->set_value('nonmandatory', 'multiple', '0'); $try->set_value('nonmandatory', 'voters', $voters); $try->set_value('nonmandatory', 'public', '1'); if ($try->is_valid()) { $result = $try->import_poll($Db_target, $target_database_type, $target_table_prefix); $vb_poll_id = $Db_target->insert_id(); $imported = false; if ($result) { if ($try->import_poll_to_thread($Db_target, $target_database_type, $target_table_prefix, $vb_poll_id, $poll_id)) { if ($try->import_poll_voters($Db_target, $target_database_type, $target_table_prefix, $poll_voters_array, $vb_poll_id) or $no_voters) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . "%</b></span> :: Poll -> " . $try->get_value('mandatory', 'question')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); $imported = true; } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll_to_thread worked but did not attached voters", 'Check database permissions and thread table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Got poll " . $poll['vote_text'] . " and <b>DID NOT</b> attach voters"); } } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll_to_thread failed Poll imported but not attached to thread", 'Check database permissions and thread table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Got poll " . $poll['vote_text'] . " and <b>DID NOT</b> attach to the correct thread"); } } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll failed", 'Check database permissions and thread table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Poll " . $poll['vote_text'] . " failed"); } if (!$imported) { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_poll failed for " . $poll['topic_id'] . " Have to check 3 tables", 'Check database permissions and user table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Problem with poll on thread " . $poll['topic_id']); } } else { $displayobject->display_now("<br />Invalid post object, skipping." . $try->_failedon); } unset($try); } // End foreach // Check for page end if (count($poll_array) == 0 or count($poll_array) < $poll_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('import_poll', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', '1')); } $sessionobject->set_session_var('pollstartat', $poll_start_at + $poll_per_page); $displayobject->update_html($displayobject->print_redirect('index.php')); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_fireboard_threads($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); // Get some refrence arrays (use and delete as nessesary). // User info #$this->get_vb_userid($Db_target, $t_db_type, $t_tb_prefix, $importuserid); #$this->get_one_username($Db_target, $t_db_type, $t_tb_prefix, $theuserid, $id='importuserid'); #$users_array = $this->get_user_array($Db_target, $t_db_type, $t_tb_prefix, $startat = null, $perpage = null); #$done_user_ids = $this->get_done_user_ids($Db_target, $t_db_type, $t_tb_prefix); #$user_ids_array = $this->get_user_ids($Db_target, $t_db_type, $t_tb_prefix, $do_int_val = false); #$user_name_array = $this->get_username_to_ids($Db_target, $t_db_type, $t_tb_prefix); // Groups info #$user_group_ids_array = $this->get_imported_group_ids($Db_target, $t_db_type, $t_tb_prefix); #$user_group_ids_by_name_array = $this->get_imported_group_ids_by_name($Db_target, $t_db_type, $t_tb_prefix); #$bannded_groupid = $this->get_banned_group($Db_target, $t_db_type, $t_tb_prefix); // Thread info #$this->get_thread_id($Db_target, $t_db_type, $t_tb_prefix, &$importthreadid, &$forumid); // & left to show refrence #$thread_ids_array = $this->get_threads_ids($Db_target, $t_db_type, $t_tb_prefix); // Post info #$this->get_posts_ids($Db_target, $t_db_type, $t_tb_prefix); // Category info #$cat_ids_array = $this->get_category_ids($Db_target, $t_db_type, $t_tb_prefix); #$style_ids_array = $this->get_style_ids($Db_target, $t_db_type, $t_tb_prefix, $pad=0); // Forum info $forum_ids_array = $this->get_forum_ids($Db_target, $t_db_type, $t_tb_prefix); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['threads'], $start_at); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'thread'); foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData_object : clone $ImpExData_object; // Mandatory $try->set_value('mandatory', 'title', $data['subject']); $try->set_value('mandatory', 'importforumid', $data['catid']); $try->set_value('mandatory', 'importthreadid', $import_id); $try->set_value('mandatory', 'forumid', $forum_ids_array["{$data['catid']}"]); // Non mandatory $try->set_value('nonmandatory', 'sticky', $data['locked']); $try->set_value('nonmandatory', 'views', $data['hits']); $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'open', $data['locked'] == 0 ? 1 : 0); $try->set_value('nonmandatory', 'dateline', $data['time']); $try->set_value('nonmandatory', 'postusername', $idcache->get_id('username', $data['userid'])); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('user', $data['userid'])); // Check if object is valid if ($try->is_valid()) { if ($try->import_thread($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc">' . $import_id . ' :: <b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $data['subject']); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['thread_not_imported'], $displayobject->phrases['thread_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['thread_not_imported']}"); } // $try->import_thread } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'cms_layout', 'cms'); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_source_data($Db_source, $s_db_type, "{$s_tb_prefix}cms_layout", 'layoutid', 0, $start_at, $per_page); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['cms_layouts'], $start_at); foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData_object : clone $ImpExData_object; // mandatory $try->set_value('mandatory', 'importcmslayoutid', $import_id); $try->set_value('mandatory', 'title', $data['title']); $try->set_value('mandatory', 'gridid', $idcache->get_id('grid', $data['gridid'])); // non $try->set_value('nonmandatory', 'template', $data['template']); $try->set_value('nonmandatory', 'status', $data['status']); $try->set_value('nonmandatory', 'contentcolumn', $data['contentcolumn']); $try->set_value('nonmandatory', 'contentindex', $data['contentindex']); // Check if object is valid if ($try->is_valid()) { if ($try->import_cms_layout($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now("<br /><span class=\"isucc\">{$import_id} :: <b>" . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['cms_layout'] . ' -> ' . $data['title']); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['cms_layout_not_imported'], $displayobject->phrases['cms_layout_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['cms_layout_not_imported']}"); } // $try->import_blog_group_membership } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $post_start_at = $sessionobject->get_session_var('poststartat'); $post_per_page = $sessionobject->get_session_var('postsperpage'); $forum_start_id = $sessionobject->get_session_var('forum_start_id'); $forum_end_id = $sessionobject->get_session_var('forum_end_id'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); $class_num = substr(get_class($this), -3); if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } $posts_array = $this->get_DCFm_posts_details($Db_source, $source_database_type, $source_table_prefix, $post_start_at, $post_per_page, $forum_start_id); // Sort out the threads $displayobject->display_now("<h4>Importing " . count($posts_array) . " posts, from forum {$forum_start_id} of {$forum_end_id}</h4><p><b>From</b> : " . $post_start_at . " :: <b>To</b> : " . ($post_start_at + count($posts_array)) . "</p>"); $post_object = new ImpExData($Db_target, $sessionobject, 'post'); foreach ($posts_array as $post_id => $details) { $try = phpversion() < '5' ? $post_object : clone $post_object; if ($details['top_id']) { $thread_num = $forum_start_id . '000000' . $details['top_id']; } else { $thread_num = $forum_start_id . '000000' . $details['id']; } // Mandatory $try->set_value('mandatory', 'threadid', $idcache->get_id('thread', $thread_num)); $try->set_value('mandatory', 'userid', $idcache->get_id('user', $details['author_id'])); $try->set_value('mandatory', 'importthreadid', $thread_num); // Non Mandatory if ($details['parent_id'] != 0) { // {FORUM}000000{post_id} #$temp = "{$forum_start_id}000000" . $details["parent_id"]; #$try->set_value('nonmandatory', 'parentid', $this->get_vb_post_id($Db_target, $target_database_type, $target_table_prefix, $temp)); } $try->set_value('nonmandatory', 'parentid', '0'); $try->set_value('nonmandatory', 'username', $details['author_name']); $try->set_value('nonmandatory', 'title', $details['subject']); $try->set_value('nonmandatory', 'dateline', $this->do_dcf_date($details['mesg_date'])); $try->set_value('nonmandatory', 'pagetext', $this->html_2_bb($details['message'])); $try->set_value('nonmandatory', 'showsignature', $details['use_signature']); $try->set_value('nonmandatory', 'importpostid', "{$forum_start_id}000000{$post_id}"); if ($details['disable_smilies']) { $try->set_value('nonmandatory', 'allowsmilie', '1'); } else { $try->set_value('nonmandatory', 'allowsmilie', '0'); } if ($this->option2bin($details['topic_hidden'])) { $try->set_value('nonmandatory', 'visible', '0'); } else { $try->set_value('nonmandatory', 'visible', '1'); } // There isn't one #$try->set_value('nonmandatory', 'ipaddress', $details['ipaddress']); #$try->set_value('nonmandatory', 'iconid', $details['iconid']); #$try->set_value('nonmandatory', 'attach', $details['attach']); if ($try->is_valid()) { if ($try->import_post($Db_target, $target_database_type, $target_table_prefix)) { // Get the post id with the thread order, because the children will need it $displayobject->display_now("<br /><span class=\"isucc\"><b>" . $try->how_complete() . "%</b></span> :: Post from -> " . $try->get_value('nonmandatory', 'username')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); $imported = true; } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_post failed for " . $details['author_name'], 'Check database permissions and user table'); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $displayobject->display_now("<br />Got post " . $details['author_name'] . " and <b>DID NOT</b> imported to the " . $target_database_type . " database"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } if (count($posts_array) == 0 or count($posts_array) < $post_per_page) { if ($forum_start_id < $forum_end_id) { $sessionobject->set_session_var('forum_start_id', $forum_start_id + 1); $sessionobject->add_session_var('poststartat', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', '0')); } else { // TODo: Remove when threding is imported $displayobject->display_now('Updateing parent ids to allow for a threaded view....'); if ($this->update_post_parent_ids($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('Done !'); } else { $displayobject->display_now('Error updating parent ids'); } $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('posts', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $sessionobject->set_session_var('threadsstartat', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', '1')); } } else { $sessionobject->set_session_var('poststartat', $post_start_at + $post_per_page); $displayobject->update_html($displayobject->print_redirect('index.php')); } }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); $ImpExData = new ImpExData($Db_target, $sessionobject, 'thread'); $poll_object = new ImpExData($Db_target, $sessionobject, 'poll'); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data if ($s_db_type == 'mysql') { $data_array = $this->get_source_data($Db_source, $s_db_type, "{$s_tb_prefix}topics", 'topic_id', 0, $start_at, $per_page); } else { $data_array = $this->get_phpbb3_threads($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); } $forum_ids_array = $this->get_forum_ids($Db_target, $t_db_type, $t_tb_prefix); $cat_ids_array = $this->get_category_ids($Db_target, $t_db_type, $t_tb_prefix); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['threads'], $start_at); foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData : clone $ImpExData; // Mandatory $try->set_value('mandatory', 'title', $data["topic_title"]); $try->set_value('mandatory', 'importforumid', $data["forum_id"]); $try->set_value('mandatory', 'importthreadid', $import_id); if ($forum_ids_array["{$data['forum_id']}"]) { $try->set_value('mandatory', 'forumid', $forum_ids_array["{$data['forum_id']}"]); } else { $try->set_value('mandatory', 'forumid', $cat_ids_array["{$data['forum_id']}"]); } // Non mandatory $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'open', $data['topic_status'] == 0 ? 1 : 0); $try->set_value('nonmandatory', 'sticky', $data['topic_type'] != 0 ? 1 : 0); $try->set_value('nonmandatory', 'replycount', $data["topic_replies"]); $try->set_value('nonmandatory', 'postusername', $data['topic_first_poster_name']); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('user', $data['topic_poster'])); $try->set_value('nonmandatory', 'views', $data['topic_views']); // Check if object is valid if ($try->is_valid()) { if ($try->import_thread($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $data['topic_title']); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); // Do the polls here for ease if ($data["poll_start"]) { unset($poll, $poll_voters, $p_try, $poll_voters_array); $p_try = phpversion() < '5' ? $poll_object : clone $poll_object; $poll = $this->get_phpbb3_polls_details($Db_source, $s_db_type, $s_tb_prefix, $import_id); $poll_voters = $this->get_phpbb3_poll_voters($Db_source, $s_db_type, $s_tb_prefix, $import_id); foreach ($poll_voters as $phpBB_user_id => $vote) { $voter = $idcache->get_id('user', $phpBB_user_id); $poll_voters_array[$voter] = $vote + 1; } // Mandatory $p_try->set_value('mandatory', 'importpollid', $import_id); $p_try->set_value('mandatory', 'question', $data['poll_title']); $p_try->set_value('mandatory', 'dateline', $data['poll_start']); $p_try->set_value('mandatory', 'options', $poll['options']); $p_try->set_value('mandatory', 'votes', $poll['votes']); // Non Mandatory $p_try->set_value('nonmandatory', 'active', '1'); $p_try->set_value('nonmandatory', 'numberoptions', $poll['numberoptions']); $p_try->set_value('nonmandatory', 'timeout', '0'); // TODO: Is it ? $poll['vote_length'] $p_try->set_value('nonmandatory', 'multiple', '0'); $p_try->set_value('nonmandatory', 'voters', $poll['totalvotes']); $p_try->set_value('nonmandatory', 'public', '1'); if ($p_try->is_valid()) { $result = $p_try->import_poll($Db_target, $t_db_type, $t_tb_prefix); $vb_poll_id = $Db_target->insert_id(); if ($result) { if ($p_try->import_poll_to_thread($Db_target, $t_db_type, $t_tb_prefix, $vb_poll_id, $import_id)) { if ($p_try->import_poll_voters($Db_target, $t_db_type, $t_tb_prefix, $poll_voters_array, $vb_poll_id)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $p_try->how_complete() . '%</b></span> ' . $displayobject->phrases['poll'] . ' -> ' . $p_try->get_value('mandatory', 'question')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($import_id, $displayobject->phrases['poll_not_imported_3'], $displayobject->phrases['poll_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['poll_not_imported']}"); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($import_id, $displayobject->phrases['poll_not_imported_1'], $displayobject->phrases['poll_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['poll_not_imported']}"); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($import_id, $displayobject->phrases['poll_not_imported_2'], $displayobject->phrases['poll_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['poll_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $p_try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($p_try); } } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['thread_not_imported'], $displayobject->phrases['thread_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['thread_not_imported']}"); } // $try->import_thread } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $section_start_at = $sessionobject->get_session_var('startat'); $section_per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); // Clone and cache $section_object = new ImpExData($Db_target, $sessionobject, 'cms_sectionorder', 'cms'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $section_array = $this->get_cms_section_order($Db_source, $source_database_type, $source_table_prefix, $section_start_at, $section_per_page); $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($section_array) . " {$displayobject->phrases['section_orders']}</h4>"); foreach ($section_array as $id => $data) { $section = phpversion() < '5' ? $section_object : clone $section_object; // Mandatory $section->set_value('mandatory', 'importid', 1); $section->set_value('mandatory', 'sectionid', $idcache->get_id('cmsnode', $data['sectionid'])); $section->set_value('mandatory', 'nodeid', $idcache->get_id('cmsnode', $data['nodeid'])); $section->set_value('nonmandatory', 'displayorder', $data['displayorder']); if ($section->is_valid()) { if ($section->import_cms_section_order($Db_target, $target_database_type, $target_table_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /> <span class="isucc"><b>' . $section->how_complete() . '%</b></span> ' . $displayobject->phrases['cms_sectin_order'] . ' -> ' . $idcache->get_id('cmsnode', $data['sectionid']) . '-' . $idcache->get_id('cmsnode', $data['nodeid'])); } $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $id, $displayobject->phrases['cms_section_order_not_imported'], $displayobject->phrases['cms_section_order_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['cms_section_order_not_imported']}"); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $id, $displayobject->phrases['invalid_object'], $section_order->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $section_order->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($data); } if (count($section_array) == 0 or count($section_array < $section_per_page)) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } else { $sessionobject->set_session_var('startat', $section_start_at + $section_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { $displayobject->update_basic('displaymodules', 'FALSE'); // Set up working variables. $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $moderator_start_at = $sessionobject->get_session_var('moderatorstartat'); $moderator_per_page = $sessionobject->get_session_var('moderatorperpage'); $class_num = substr(get_class($this), -3); $moderator_object = new ImpExData($Db_target, $sessionobject, 'moderator'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); if (intval($moderator_per_page) == 0) { $moderator_per_page = 200; } if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } $moderator_array = $this->get_details($Db_source, $source_database_type, $source_table_prefix, $moderator_start_at, $moderator_per_page, 'moderator', 'moderatorid'); $forumids_array = $this->get_forum_ids($Db_target, $target_database_type, $target_table_prefix); $last_pass = $sessionobject->get_session_var('last_pass'); $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($moderator_array) . " {$displayobject->phrases['users']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $moderator_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($moderator_start_at + count($moderator_array)) . "</p>"); foreach ($moderator_array as $mod_id => $details) { $try = phpversion() < '5' ? $moderator_object : clone $moderator_object; // Mandatory # cache $try->set_value('mandatory', 'userid', $idcache->get_id('user', $details['userid'])); $try->set_value('mandatory', 'forumid', $forumids_array["{$details['forumid']}"]); $try->set_value('mandatory', 'importmoderatorid', $mod_id); // Non Mandatory $try->set_value('nonmandatory', 'permissions', $details['permissions']); if ($try->is_valid()) { if ($try->import_moderator($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['moderator'] . ' -> ' . $idcache->get_id('user', $details['username'])); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($mod_id, $displayobject->phrases['moderator_not_imported'], $displayobject->phrases['moderator_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['moderator_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } if (count($moderator_array) == 0 or count($moderator_array) < $moderator_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', '1')); } $sessionobject->set_session_var('moderatorstartat', $moderator_start_at + $moderator_per_page); $displayobject->update_html($displayobject->print_redirect('index.php')); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); // Clone and cache $pm_text_object = new ImpExData($Db_target, $sessionobject, 'pmtext'); $pm_object = new ImpExData($Db_target, $sessionobject, 'pm'); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_fusionbb2_pm($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['pms'], $start_at); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'pm'); foreach ($data_array['data'] as $import_id => $data) { $vB_pm_text = phpversion() < '5' ? $pm_text_object : clone $pm_text_object; $userid = $idcache->get_id('user', $pm['participants_user_id']); $username = $idcache->get_id('username', $pm['participants_user_id']); unset($touserarray); $touserarray[$userid] = $username; $vB_pm_text->set_value('mandatory', 'fromuserid', $idcache->get_id('user', $data['user_id'])); $vB_pm_text->set_value('mandatory', 'title', $data['topic_subject']); $vB_pm_text->set_value('mandatory', 'message', $this->html_2_bb($data['post_raw_body'])); $vB_pm_text->set_value('mandatory', 'importpmid', $import_id); $vB_pm_text->set_value('mandatory', 'touserarray', addslashes(serialize($touserarray))); $vB_pm_text->set_value('nonmandatory', 'fromusername', $idcache->get_id('username', $data['user_id'])); $vB_pm_text->set_value('nonmandatory', 'iconid', ''); $vB_pm_text->set_value('nonmandatory', 'dateline', $data['post_posted']); $vB_pm_text->set_value('nonmandatory', 'showsignature', $data['post_include_sig']); $vB_pm_text->set_value('nonmandatory', 'allowsmilie', $data['post_disable_smilies'] == 0 ? 1 : 0); if ($vB_pm_text->is_valid()) { $pm_text_id = $vB_pm_text->import_pm_text($Db_target, $t_db_type, $t_tb_prefix); if ($pm_text_id) { $vB_pm_to = phpversion() < '5' ? $pm_object : clone $pm_object; $vB_pm_from = phpversion() < '5' ? $pm_object : clone $pm_object; // The touser pm $vB_pm_to->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_to->set_value('mandatory', 'userid', $idcache->get_id('user', $data['participants_user_id'])); $vB_pm_to->set_value('mandatory', 'importpmid', $import_id); $vB_pm_to->set_value('nonmandatory', 'folderid', '0'); $vB_pm_to->set_value('nonmandatory', 'messageread', '0'); // The fromuser pm $vB_pm_from->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_from->set_value('mandatory', 'userid', $idcache->get_id('user', $data['user_id'])); $vB_pm_from->set_value('mandatory', 'importpmid', $import_id); $vB_pm_from->set_value('nonmandatory', 'folderid', '-1'); $vB_pm_from->set_value('nonmandatory', 'messageread', '0'); if ($vB_pm_text->is_valid()) { if ($vB_pm_to->import_pm($Db_target, $t_db_type, $t_tb_prefix) and $vB_pm_from->import_pm($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc"><b>' . $vB_pm_to->how_complete() . '%</b></span> ' . $displayobject->phrases['pm'] . ' -> ' . $vB_pm_text->get_value('nonmandatory', 'fromusername')); } $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $pmtext_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_1']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $pmtext_id, $displayobject->phrases['invalid_object'], $try->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $pmtext_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_2']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $pm_id, $displayobject->phrases['invalid_object'], $try->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $vB_pm_text->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($vB_pm_text, $vB_pm_to, $vB_pm_from); } // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); if ($this->update_user_pm_count($Db_target, $t_db_type, $t_tb_prefix)) { $displayobject->display_now($displayobject->phrases['successful']); } else { $displayobject->display_now($displayobject->phrases['failed']); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $pm_start_at + $pm_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $thread_start_at = $sessionobject->get_session_var('threadstartat'); $thread_per_page = $sessionobject->get_session_var('threadperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); $thread_object = new ImpExData($Db_target, $sessionobject, 'thread'); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array of thread details #$thread_array = $this->get_details($Db_source, $source_database_type, $source_table_prefix, $thread_start_at, $thread_per_page, 'thread', 'threadid'); $source_data_array = $this->get_source_data($Db_source, $source_database_type, "{$source_table_prefix}thread", "threadid", null, $thread_start_at, $thread_per_page); $forum_ids_array = $this->get_forum_ids($Db_target, $target_database_type, $target_table_prefix); // Display count and pass time $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($source_data_array['data']) . " {$displayobject->phrases['threads']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $thread_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($thread_start_at + count($source_data_array['data'])) . "</p>"); foreach ($source_data_array['data'] as $thread_id => $thread_details) { $try = phpversion() < '5' ? $thread_object : clone $thread_object; // Mandatory $try->set_value('mandatory', 'title', $thread_details['title']); $try->set_value('mandatory', 'forumid', $forum_ids_array["{$thread_details['forumid']}"]); $try->set_value('mandatory', 'importthreadid', $thread_id); $try->set_value('mandatory', 'importforumid', $thread_details['forumid']); // Non Mandatory $try->set_value('nonmandatory', 'lastpost', $thread_details['lastpost']); $try->set_value('nonmandatory', 'pollid', $thread_details['pollid']); $try->set_value('nonmandatory', 'open', $thread_details['open']); $try->set_value('nonmandatory', 'replycount', $thread_details['replycount']); $try->set_value('nonmandatory', 'postusername', $thread_details['postusername']); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('user', $thread_details['postuserid'])); $try->set_value('nonmandatory', 'lastposter', $thread_details['lastposter']); $try->set_value('nonmandatory', 'dateline', $thread_details['dateline']); $try->set_value('nonmandatory', 'views', $thread_details['views']); $try->set_value('nonmandatory', 'iconid', $thread_details['iconid']); $try->set_value('nonmandatory', 'notes', $thread_details['notes']); $try->set_value('nonmandatory', 'visible', $thread_details['visible']); $try->set_value('nonmandatory', 'sticky', $thread_details['sticky']); $try->set_value('nonmandatory', 'votenum', $thread_details['votenum']); $try->set_value('nonmandatory', 'votetotal', $thread_details['votetotal']); $try->set_value('nonmandatory', 'attach', $thread_details['attach']); // Check if thread object is valid if ($try->is_valid()) { if ($try->import_thread($Db_target, $target_database_type, $target_table_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br />' . $thread_id . ' <span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $try->get_value('mandatory', 'title')); } $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($thread_id, $displayobject->phrases['thread_not_imported'], $displayobject->phrases['thread_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['thread_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } // End foreach // Check for page end if (count($source_data_array['data']) == 0 or count($source_data_array['data']) < $thread_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); // vB2 specific $displayobject->display_now("</ br>Updating pollid's to new thread id's"); $this->update_poll_ids($Db_target, $target_database_type, $target_table_prefix); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('threadstartat', $source_data_array['lastid']); #$sessionobject->set_session_var('threadstartat',$thread_start_at+$thread_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); $class_num = substr(get_class($this), -3); $ID_blog_text = new ImpExData($Db_target, $sessionobject, 'blog_text', 'blog'); $ID_blog = new ImpExData($Db_target, $sessionobject, 'blog', 'blog'); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_vBBlog_blog($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['blogs'], $start_at); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'blog'); foreach ($data_array['data'] as $import_id => $data) { $blog_text = phpversion() < '5' ? $ID_blog_text : clone $ID_blog_text; $blog = phpversion() < '5' ? $ID_blog : clone $ID_blog; ########### # # Blog text # ########### // Mandatory blog_text $blog_text->set_value('mandatory', 'blogid', "0"); // Set to 0 then update when the blog is imported $blog_text->set_value('mandatory', 'bloguserid', $idcache->get_id('user', $data['blog_text']['bloguserid'])); $blog_text->set_value('mandatory', 'pagetext', $this->html_2_bb($data['blog_text']['pagetext'])); $blog_text->set_value('mandatory', 'dateline', $data['blog_text']['dateline']); $blog_text->set_value('mandatory', 'userid', $idcache->get_id('user', $data['blog_text']['userid'])); $blog_text->set_value('mandatory', 'importblogtextid', $import_id); // Non mandatory blog_text $blog_text->set_value('nonmandatory', 'title', $data['blog_text']['title']); $blog_text->set_value('nonmandatory', 'allowsmilie', $data['blog_text']['allowsmilie']); $blog_text->set_value('nonmandatory', 'username', $idcache->get_id('username', $data['blog_text']['userid'])); $blog_text->set_value('nonmandatory', 'ipaddress', $data['blog_text']['ipaddress']); $blog_text->set_value('nonmandatory', 'reportthreadid', "0"); $blog_text->set_value('nonmandatory', 'state', $data['blog_text']['state']); // enum('moderation', 'visible', 'deleted') $blog_text->set_value('nonmandatory', 'htmlstate', $data['blog_text']['htmlstate']); ########### # # Blog # ########### // Mandatory $blog->set_value('mandatory', 'firstblogtextid', "0"); $blog->set_value('mandatory', 'userid', $idcache->get_id('user', $data['userid'])); $blog->set_value('mandatory', 'postedby_userid', $idcache->get_id('user', $data['postedby_userid'])); $blog->set_value('mandatory', 'dateline', $data['dateline']); $blog->set_value('mandatory', 'options', $data['options']); $blog->set_value('mandatory', 'title', $data['title']); $blog->set_value('mandatory', 'importblogid', $import_id); // Non mandatory $blog->set_value('nonmandatory', 'username', $idcache->get_id('username', $data['userid'])); $blog->set_value('nonmandatory', 'postedby_username', $idcache->get_id('username', $data['postedby_userid'])); $blog->set_value('nonmandatory', 'views', $data['views']); $blog->set_value('nonmandatory', 'state', $data['state']); $blog->set_value('nonmandatory', 'pending', $data['pending']); $blog->set_value('nonmandatory', 'taglist', $data['taglist']); $blog->set_value('nonmandatory', 'categories', $data['categories']); // Defaults // // Attachment import sets this field #$blog->set_value('nonmandatory', 'attach', $data['attach']); // Check if object is valid if ($blog_text->is_valid()) { if ($blog_text_id = $blog_text->import_blog_text($Db_target, $t_db_type, $t_tb_prefix)) { // Mandatory $blog->set_value('mandatory', 'firstblogtextid', $blog_text_id); // Blog text is ok, do blog if ($blog->is_valid()) { if ($blog->import_blog($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc">' . $import_id . ' :: <b>' . $blog->how_complete() . '%</b></span> ' . $displayobject->phrases['blog'] . ' -> ' . $data['title']); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['blog_not_imported'], $displayobject->phrases['blog_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['blog_not_imported']}"); } // $blog->import_blog } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $blog->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $blog->_failedon); } // is_valid unset($blog); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['blog_text_not_imported'], $displayobject->phrases['blog_text_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['blog_text_not_imported']}"); } // $blog_text->import_blog_text } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $blog_text->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $blog_text->_failedon); } // is_valid unset($blog_text); // Check if object is valid } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_gossamer_threads_threads($Db_source, $s_db_type, $s_tb_prefix, $start_at, $per_page); $forum_ids_array = $this->get_forum_ids($Db_target, $t_db_type, $t_tb_prefix); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['threads'], $start_at); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'thread'); foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData_object : clone $ImpExData_object; // Mandatory $try->set_value('mandatory', 'title', htmlspecialchars($data['post_subject'])); $try->set_value('mandatory', 'importforumid', $data['forum_id_fk']); $try->set_value('mandatory', 'importthreadid', $import_id); $try->set_value('mandatory', 'forumid', $forum_ids_array["{$data['forum_id_fk']}"]); // Non mandatory $try->set_value('nonmandatory', 'parentid', $idcache->get_id('post', $data['post_father_id'])); $try->set_value('nonmandatory', 'visible', $data['post_deleted'] == 0 ? 1 : 0); $try->set_value('nonmandatory', 'sticky', $data['post_sticky']); $try->set_value('nonmandatory', 'open', $data['post_locked'] == 0 ? 1 : 0); $try->set_value('nonmandatory', 'postusername', $data['post_username']); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('user', $data['user_id_fk'])); $try->set_value('nonmandatory', 'lastposter', $data['post_latest_poster']); $try->set_value('nonmandatory', 'dateline', $data['post_time']); $try->set_value('nonmandatory', 'views', $this->get_gossamer_thread_views($Db_source, $s_db_type, $s_tb_prefix, $import_id)); $post_icon = 0; switch ($data['post_icon']) { case 'big_grin.gif': $post_icon = 10; break; case 'idea.gif': $post_icon = 3; break; case 'important.gif': $post_icon = 4; break; case 'arg.gif': $post_icon = 8; break; case 'news.gif': $post_icon = 1; break; default: $post_icon = 0; } $try->set_value('nonmandatory', 'iconid', $post_icon); // Check if object is valid if ($try->is_valid()) { if ($try->import_thread($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc">' . $import_id . ' :: <b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $try->get_value('mandatory', 'title')); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['thread_not_imported'], $displayobject->phrases['thread_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['thread_not_imported']}"); } // $try->import_thread } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $pm_start_at = $sessionobject->get_session_var('pmstartat'); $pm_per_page = $sessionobject->get_session_var('pmperpage'); $class_num = substr(get_class($this), -3); // Clone and cache $pm_text_object = new ImpExData($Db_target, $sessionobject, 'pmtext'); $pm_object = new ImpExData($Db_target, $sessionobject, 'pm'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); // Start the timings. if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get the PM's for this pass and some refrence arrays $pm_array = $this->get_phpbb2_pm_details($Db_source, $source_database_type, $source_table_prefix, $pm_start_at, $pm_per_page); // Give the user some info $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($pm_array) . " {$displayobject->phrases['pm']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $pm_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($pm_start_at + count($pm_array)) . "</p>"); // Get on with it foreach ($pm_array as $pm_id => $pm) { // 0,1,3,4,5 allowed, skip an all others switch ($pm['privmsgs_type']) { case 0: case 1: case 3: case 4: case 5: break; default: continue; } $vB_pm_text = phpversion() < '5' ? $pm_text_object : clone $pm_text_object; $pm_text = $this->get_phpbb2_pm_text($Db_source, $source_database_type, $source_table_prefix, $pm['privmsgs_id']); $userid = $idcache->get_id('user', $pm['privmsgs_to_userid']); $username = $idcache->get_id('username', $pm['privmsgs_to_userid']); unset($touserarray); $touserarray[$userid] = $username; $vB_pm_text->set_value('mandatory', 'fromuserid', $idcache->get_id('user', $pm['privmsgs_from_userid'])); $vB_pm_text->set_value('mandatory', 'title', $pm['privmsgs_subject']); $vB_pm_text->set_value('mandatory', 'message', $this->html_2_bb($this->phpbb_html($pm_text['privmsgs_text']))); $vB_pm_text->set_value('mandatory', 'importpmid', $pm_id); $vB_pm_text->set_value('mandatory', 'touserarray', addslashes(serialize($touserarray))); $vB_pm_text->set_value('nonmandatory', 'fromusername', $idcache->get_id('username', $pm['privmsgs_from_userid'])); $vB_pm_text->set_value('nonmandatory', 'iconid', ''); $vB_pm_text->set_value('nonmandatory', 'dateline', $pm['privmsgs_date']); $vB_pm_text->set_value('nonmandatory', 'showsignature', $pm['privmsgs_attach_sig']); $vB_pm_text->set_value('nonmandatory', 'allowsmilie', $pm['privmsgs_enable_smilies']); if ($vB_pm_text->is_valid()) { $pm_text_id = $vB_pm_text->import_pm_text($Db_target, $target_database_type, $target_table_prefix); if ($pm_text_id) { $vB_pm_to = phpversion() < '5' ? $pm_object : clone $pm_object; $vB_pm_from = phpversion() < '5' ? $pm_object : clone $pm_object; // The touser pm $vB_pm_to->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_to->set_value('mandatory', 'userid', $idcache->get_id('user', $pm['privmsgs_to_userid'])); $vB_pm_to->set_value('mandatory', 'importpmid', $pm_id); if ($pm['privmsgs_type'] == 3) { $vB_pm_to->set_value('nonmandatory', 'folderid', $this->get_custom_pm_folder_id($Db_target, $target_database_type, $target_table_prefix, $idcache->get_id('user', $pm['privmsgs_to_userid']), 'Imported Saved Recived Messages')); } elseif ($pm['privmsgs_type'] == 4) { $vB_pm_to->set_value('nonmandatory', 'folderid', $this->get_custom_pm_folder_id($Db_target, $target_database_type, $target_table_prefix, $idcache->get_id('user', $pm['privmsgs_to_userid']), 'Imported Saved Sent Messages')); } else { $vB_pm_to->set_value('nonmandatory', 'folderid', '0'); } $vB_pm_to->set_value('nonmandatory', 'messageread', '0'); // The fromuser pm $vB_pm_from->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_from->set_value('mandatory', 'userid', $idcache->get_id('user', $pm['privmsgs_from_userid'])); $vB_pm_from->set_value('mandatory', 'importpmid', $pm_id); $vB_pm_from->set_value('nonmandatory', 'folderid', '-1'); $vB_pm_from->set_value('nonmandatory', 'messageread', '0'); if ($vB_pm_text->is_valid()) { if ($vB_pm_to->import_pm($Db_target, $target_database_type, $target_table_prefix) and $vB_pm_from->import_pm($Db_target, $target_database_type, $target_table_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc"><b>' . $vB_pm_to->how_complete() . '%</b></span> ' . $displayobject->phrases['pm'] . ' -> ' . $vB_pm_text->get_value('nonmandatory', 'fromusername')); } $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $pmtext_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_1']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $pmtext_id, $displayobject->phrases['invalid_object'], $try->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $pmtext_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_2']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $pm_id, $displayobject->phrases['invalid_object'], $try->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $vB_pm_text->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($vB_pm_text, $vB_pm_to, $vB_pm_from); } // Check for page end if (count($pm_array) == 0 or count($pm_array) < $pm_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); if ($this->update_user_pm_count($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now($displayobject->phrases['completed']); } else { $displayobject->display_now($displayobject->phrases['failed']); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('pmstartat', $pm_start_at + $pm_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $thread_start_at = $sessionobject->get_session_var('threadstartat'); $threads_per_page = $sessionobject->get_session_var('threadperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); // Start at and timing if (!$sessionobject->get_session_var('threadperpage')) { $threads_per_page = 0; } if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get all the first messagese that make up the beginning of the threads in that forum. #$threads_array = $this->get_ipb_thread_details($Db_source, $source_database_type, $source_table_prefix, $thread_start_at, $threads_per_page); $threads_array = $this->get_source_data($Db_source, $source_database_type, "{$source_table_prefix}topics", 'tid', 0, $thread_start_at, $threads_per_page); $forum_ids = $this->get_forum_ids($Db_target, $target_database_type, $target_table_prefix); # $users_ids = $this->get_user_ids($Db_target, $target_database_type, $target_table_prefix); # $user_names = $this->get_username($Db_target, $target_database_type, $target_table_prefix); // Sort out the threads $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . $threads_array['count'] . " {$displayobject->phrases['threads']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $thread_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($thread_start_at + $threads_array['count']) . "</p>"); $thread_object = new ImpExData($Db_target, $sessionobject, 'thread'); foreach ($threads_array['data'] as $thread_id => $thread) { $try = phpversion() < '5' ? $thread_object : clone $thread_object; $try->set_value('mandatory', 'title', $thread['title']); $try->set_value('mandatory', 'forumid', $forum_ids[$thread['forum_id']]); $try->set_value('mandatory', 'importthreadid', $thread_id); $try->set_value('mandatory', 'importforumid', $thread['forum_id']); $try->set_value('nonmandatory', 'notes', $thread['description']); $try->set_value('nonmandatory', 'replycount', $thread['posts']); $try->set_value('nonmandatory', 'postusername', $idcache->get_id('username', $thread['starter_id'])); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('user', $thread['starter_id'])); $try->set_value('nonmandatory', 'dateline', $thread['start_date']); $try->set_value('nonmandatory', 'lastpost', $thread['last_poster_name']); $try->set_value('nonmandatory', 'views', $thread['views']); $try->set_value('nonmandatory', 'sticky', $thread['pinned']); $try->set_value('nonmandatory', 'votetotal', $thread['total_votes']); if ($thread['state'] == 'open') { $try->set_value('nonmandatory', 'open', '1'); } else { if ($thread['state'] == 'closed') { $try->set_value('nonmandatory', 'open', '0'); } } /* else if ($thread['state'] == 'link') { // What to do ? $try->set_value('nonmandatory', 'open', ''); } */ $try->set_value('nonmandatory', 'visible', '1'); if ($try->is_valid()) { if ($try->import_thread($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $try->get_value('mandatory', 'title')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($thread_id, $displayobject->phrases['thread_not_imported'], $displayobject->phrases['thread_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['thread_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } if ($threads_array['count'] == 0 or $threads_array['count'] < $threads_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $sessionobject->set_session_var('threadstartat', '0'); } $sessionobject->set_session_var('threadstartat', $threads_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); $dir = $sessionobject->get_session_var('attachmentsfolder'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array data $data_array = $this->get_source_data($Db_source, $s_db_type, "{$s_tb_prefix}Attachment", 'AttachID', 0, $start_at, $per_page); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['attachments'], $start_at); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'attachment'); foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData_object : clone $ImpExData_object; if (!is_file($dir . '/' . $data['AttachID'] . '.mvn')) { $displayobject->display_now("<br /><b>{$displayobject->phrases['source_file_not']} </b> :: {$data['AttachFilename']}" . '/' . $data['AttachID'] . '.mvn'); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['attachment_not_imported'], $data['AttachID'] . ' - ' . $displayobject->phrases['attachment_not_imported_rem_1']); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); continue; } $file = $this->vb_file_get_contents($dir . '/' . $data['AttachID'] . '.mvn'); // Mandatory $try->set_value('mandatory', 'importattachmentid', $data['AttachID']); $try->set_value('mandatory', 'filename', $data['AttachFilename']); $try->set_value('mandatory', 'filedata', $file); // Non mandatory $try->set_value('nonmandatory', 'extension', substr($data['AttachFilename'], strripos($data['AttachFilename'], ".") + 1)); #$try->set_value('nonmandatory', 'thumbnail_dateline', $data['thumbnail_dateline']); #$try->set_value('nonmandatory', 'thumbnail', $data['thumbnail']); #$try->set_value('nonmandatory', 'posthash', $data['posthash']); $try->set_value('nonmandatory', 'filehash', md5($file)); $try->set_value('nonmandatory', 'postid', $data['PostID']); $try->set_value('nonmandatory', 'filesize', $data['AttachFileSize']); $try->set_value('nonmandatory', 'counter', $data['AttachDownloadCount']); $try->set_value('nonmandatory', 'visible', '1'); // AttachOption ? $try->set_value('nonmandatory', 'dateline', $data['AttachCreationDate']); $try->set_value('nonmandatory', 'userid', $idcache->get_id('user', $data['MemberID'])); // Check if object is valid if ($try->is_valid()) { if ($try->import_attachment($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc">' . $import_id . ' :: <b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['attachment'] . ' -> ' . $data['AttachFilename']); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['attachment_not_imported'], $displayobject->phrases['attachment_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['attachment_not_imported']}"); } // $try->import_attachment } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', $data_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $article_start_at = $sessionobject->get_session_var('startat'); $article_per_page = $sessionobject->get_session_var('perpage'); $class_num = substr(get_class($this), -3); // Clone and cache $article_object = new ImpExData($Db_target, $sessionobject, 'cms_article', 'cms'); $node_object = new ImpExData($Db_target, $sessionobject, 'cms_node', 'cms'); $nodeinfo_object = new ImpExData($Db_target, $sessionobject, 'cms_nodeinfo', 'cms'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } $article_array = $this->get_joomla_content_details($Db_source, $source_database_type, $source_table_prefix, $article_start_at, $article_per_page); $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . $article_array['count'] . " nodes</h4><p><b>{$displayobject->phrases['from']}</b> : " . $article_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . $article_array['lastid'] . "</p>"); foreach ($article_array['data'] as $article_id => $data) { $article = phpversion() < '5' ? $article_object : clone $article_object; $node = phpversion() < '5' ? $node_object : clone $node_object; $nodeinfo = phpversion() < '5' ? $nodeinfo_object : clone $nodeinfo_object; // Mandatory $article->set_value('mandatory', 'importcmsarticleid', $article_id); $article->set_value('mandatory', 'pagetext', $data['fulltext'] != NULL ? $data['fulltext'] : $data['introtext']); $article->set_value('nonmandatory', 'title', $data['title']); $article->set_value('nonmandatory', 'poststarter', $idcache->get_id('user', $data['created_by'])); $article->set_value('nonmandatory', 'postauthor', $idcache->get_id('username', $data['created_by'])); $article->set_value('nonmandatory', 'previewtext', substr($data['introtext'], 0, 2040)); $article->set_value('nonmandatory', 'post_posted', $data['created']); $article->set_value('nonmandatory', 'post_started', $data['created']); if ($article->is_valid()) { if (!method_exists($article, 'import_cms_article')) { die('You have not selected the CMS target system, restart the import and ensure you select the correct target'); } if ($contentid = $article->import_cms_article($Db_target, $target_database_type, $target_table_prefix)) { $parentnode = 1; $node->set_value('nonmandatory', 'contentid', $contentid); $node->set_value('mandatory', 'importcmsnodeid', 1); $node->set_value('mandatory', 'contenttypeid', $contenttypeid); $node->set_value('nonmandatory', 'url', $data['title']); $node->set_value('nonmandatory', 'userid', $idcache->get_id('user', $data['created_by'])); $node->set_value('nonmandatory', 'publishdate', $data['created']); $node->set_value('nonmandatory', 'permissionsfrom', 1); if ($node->is_valid()) { $nodeinfo->set_value('nommandatory', 'description', $data['title']); $nodeinfo->set_value('nonmandatory', 'title', $data['title']); $nodeinfo->set_value('nonmandatory', 'html_title', $data['title']); $nodeinfo->set_value('nonmandatory', 'creationdate', $data['created']); $nodeinfo->set_value('nonmandatory', 'workflowstatus', 'published'); if ($node->import_cms_node($Db_target, $target_database_type, $target_table_prefix, $data, $nodeinfo)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br />' . $data['article_id'] . ' <span class="isucc"><b>' . $article->how_complete() . '%</b></span> ' . $displayobject->phrases['cms_article'] . ' -> ' . $data['title']); } $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $article_id, $displayobject->phrases['cms_node_not_imported'], $displayobject->phrases['cms_node_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['cms_node_not_imported']}"); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $article_id, $displayobject->phrases['invalid_object'], $node->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $node->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $data['article_id'], $displayobject->phrases['cms_article_not_imported'], $displayobject->phrases['cms_article_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['cms_article_not_imported']}"); } } else { $sessionobject->add_error($Db_target, 'invalid', $class_num, $data['article_id'], $displayobject->phrases['invalid_object'], $article->_failedon); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $article->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($article); } if (empty($article_array['count']) or $article_array['count'] < $article_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } else { $sessionobject->set_session_var('startat', $article_array['lastid']); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $t_db_type = $sessionobject->get_session_var('targetdatabasetype'); $t_tb_prefix = $sessionobject->get_session_var('targettableprefix'); $s_db_type = $sessionobject->get_session_var('sourcedatabasetype'); $s_tb_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $start_at = $sessionobject->get_session_var('startat'); $per_page = $sessionobject->get_session_var('perpage'); $stepping = $sessionobject->get_session_var('stepping'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $t_db_type, $t_tb_prefix); $current_board = $this->get_next_ultra_forum($Db_source, $s_db_type, $s_tb_prefix, $stepping); $sessionobject->set_session_var('currentboard', $current_board); // Start the timing if (!$sessionobject->get_session_var("{$class_num}_start")) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } $data_array = array(); // Get an array data if ($current_board) { $data_array = $this->get_ultraboard_threads($Db_source, $s_db_type, "{$s_tb_prefix}B{$current_board}", $start_at, $per_page); } $forum_ids_array = $this->get_forum_ids($Db_target, $t_db_type, $t_tb_prefix); // Display count and pass time $displayobject->print_per_page_pass($data_array['count'], $displayobject->phrases['threads'] . " {$s_tb_prefix}B{$current_board}", $start_at); $ImpExData_object = new ImpExData($Db_target, $sessionobject, 'thread'); foreach ($data_array['data'] as $import_id => $data) { $try = phpversion() < '5' ? $ImpExData_object : clone $ImpExData_object; // Mandatory $try->set_value('mandatory', 'title', $data['SUBJECT']); $try->set_value('mandatory', 'importforumid', $current_board); $try->set_value('mandatory', 'importthreadid', $data['ID']); $try->set_value('mandatory', 'forumid', $forum_ids_array[$current_board]); // Non mandatory $try->set_value('nonmandatory', 'views', $data['HITS']); $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'sticky', '0'); $try->set_value('nonmandatory', 'open', '1'); $try->set_value('nonmandatory', 'replycount', $data['NUMBER_REPLIES']); $try->set_value('nonmandatory', 'postusername', $data['USERNAME']); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('usernametoid', $data['USERNAME'])); $try->set_value('nonmandatory', 'lastposter', $data['LAST_POST_USERNAME']); $try->set_value('nonmandatory', 'dateline', $data['POST_SECOND']); // Check if object is valid if ($try->is_valid()) { if ($try->import_thread($Db_target, $t_db_type, $t_tb_prefix)) { if (shortoutput) { $displayobject->display_now('.'); } else { $displayobject->display_now('<br /><span class="isucc">' . $import_id . ' :: <b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $data['SUBJECT']); } $sessionobject->add_session_var("{$class_num}_objects_done", intval($sessionobject->get_session_var("{$class_num}_objects_done")) + 1); } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'warning', $class_num, $import_id, $displayobject->phrases['thread_not_imported'], $displayobject->phrases['thread_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['thread_not_imported']}"); } // $try->import_thread } else { $sessionobject->add_session_var("{$class_num}_objects_failed", intval($sessionobject->get_session_var("{$class_num}_objects_failed")) + 1); $sessionobject->add_error($Db_target, 'invalid', $class_num, $import_id, $displayobject->phrases['invalid_object'] . ' ' . $try->_failedon, $displayobject->phrases['invalid_object_rem']); $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); } // is_valid unset($try); } // End foreach // Check for page end if ($data_array['count'] == 0 or $data_array['count'] < $per_page) { if ($stepping < 0) { $sessionobject->set_session_var('stepping', 1); } else { $stepping++; $sessionobject->set_session_var('stepping', $stepping); } if (!$current_board) { // All done $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var("{$class_num}_start"); $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('startat', 0); } else { $sessionobject->set_session_var('startat', $start_at + $per_page); } $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $pm_start_at = $sessionobject->get_session_var('pmstartat'); $pm_per_page = $sessionobject->get_session_var('pmperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); $pm_text_object = new ImpExData($Db_target, $sessionobject, 'pmtext'); $pm_object = new ImpExData($Db_target, $sessionobject, 'pm'); // Start the timings. if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } if (intval($pm_per_page) == 0) { $pm_per_page = 150; } // Get the PM's for this pass and some refrence arrays $pm_array = $this->get_details($Db_source, $source_database_type, $source_table_prefix, $pm_start_at, $pm_per_page, 'pmtext', 'pmtextid'); // Give the user some info $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($pm_array) . " {$displayobject->phrases['pm']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $pm_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($pm_start_at + count($pm_array)) . "</p>"); foreach ($pm_array as $pm_id => $details) { $pm_text = phpversion() < '5' ? $pm_text_object : clone $pm_text_object; unset($touserarray); $old_array = unserialize($details['touserarray']); if (!is_array($old_array)) { continue; } foreach ($old_array as $old_user_id => $username) { $userid = $idcache->get_id('user', $old_user_id); $touserarray[$userid] = $username; } // Mandatory # cache $pm_text->set_value('mandatory', 'fromuserid', $idcache->get_id('user', $details['fromuserid'])); $pm_text->set_value('mandatory', 'title', $details['title']); $pm_text->set_value('mandatory', 'message', $details['message']); $pm_text->set_value('mandatory', 'touserarray', addslashes(serialize($touserarray))); $pm_text->set_value('mandatory', 'importpmid', $pm_id); // Non Mandatory $pm_text->set_value('nonmandatory', 'fromusername', $details['fromusername']); $pm_text->set_value('nonmandatory', 'iconid', $details['iconid']); $pm_text->set_value('nonmandatory', 'dateline', $details['dateline']); $pm_text->set_value('nonmandatory', 'showsignature', $details['showsignature']); $pm_text->set_value('nonmandatory', 'allowsmilie', $details['allowsmilie']); if ($pm_text->is_valid()) { $pm_text_id = $pm_text->import_pm_text($Db_target, $target_database_type, $target_table_prefix); if ($pm_text_id) { $pms = $this->get_vb3_pms($Db_source, $source_database_type, $source_table_prefix, $pm_id); foreach ($pms as $pm => $details) { $pm = $pm_object; $pm->set_value('mandatory', 'pmtextid', $pm_text_id); $pm->set_value('mandatory', 'userid', $idcache->get_id('user', $details['userid'])); $pm->set_value('mandatory', 'importpmid', $pm_id); // Not creating default folders atm, if its not default stuff it in the inbox if ($details['folderid'] == 0 or $details['folderid'] == -1) { $pm->set_value('nonmandatory', 'folderid', $details['folderid']); } else { $pm->set_value('nonmandatory', 'folderid', '-1'); } $pm->set_value('nonmandatory', 'messageread', $details['messageread']); if ($pm->is_valid()) { if ($pm->import_pm($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $pm->how_complete() . '%</b></span> ' . $displayobject->phrases['pm'] . ' -> ' . $pm_text->get_value('nonmandatory', 'fromusername')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($pmtext_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_2']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($pm); } } } unset($pm_text); } if (count($pm_array) == 0 or count($pm_array) < $pm_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); if ($this->update_user_pm_count($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('Count updated'); } else { $displayobject->display_now('Count update error'); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('pmstartat', $pm_start_at + $pm_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function import_cms_widget(&$Db_object, &$databasetype, &$tableprefix, &$data, &$widgetconfig, &$layoutwidget) { switch ($databasetype) { // MySQL database case 'mysql': $widgettype = $Db_object->query_first("\n\t\t\t\t\tSELECT w.widgettypeid\n\t\t\t\t\tFROM {$tableprefix}cms_widgettype as w\n\t\t\t\t\tINNER JOIN {$tableprefix}package AS p ON (w.packageid = p.packageid)\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tw.class = '" . addslashes($data['widgettype']['class']) . "'\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\tp.productid = 'vbcms'\n\t\t\t\t"); if (!$widgettype) { return false; } $Db_object->query("\n\t\t\t\t\tINSERT INTO {$tableprefix}cms_widget\n\t\t\t\t\t(\n\t\t\t\t\t\twidgettypeid, varname, title, description, importcmswidgetid\n\t\t\t\t\t)\n\t\t\t\t\tVALUES\n\t\t\t\t\t(\n\t\t\t\t\t\t" . intval($widgettype['widgettypeid']) . ",\n\t\t\t\t\t\t'" . addslashes($this->get_value('nonmandatory', 'varname')) . "',\n\t\t\t\t\t\t'" . addslashes($this->get_value('nonmandatory', 'title')) . "',\n\t\t\t\t\t\t'" . addslashes($this->get_value('nonmandatory', 'description')) . "',\n\t\t\t\t\t\t" . intval($this->get_value('mandatory', 'importcmswidgetid')) . "\n\t\t\t\t\t)\n\t\t\t\t"); $widgetid = $Db_object->insert_id(); if (!$widgetid) { return false; } else { $idcache = new ImpExCache($Db_object, $databasetype, $tableprefix); foreach ($data['widgetconfig'] as $_widgetconfig) { $widgetconfig->set_value('mandatory', 'widgetid', $widgetid); $widgetconfig->set_value('mandatory', 'importid', 1); $widgetconfig->set_value('mandatory', 'name', $_widgetconfig['name']); $widgetconfig->set_value('nonmandatory', 'nodeid', $idcache->get_id('cmsnode', $_widgetconfig['nodeid'])); $widgetconfig->set_value('nonmandatory', 'value', $_widgetconfig['value']); $widgetconfig->set_value('nonmandatory', 'serialized', $_widgetconfig['serialized']); if (!$widgetconfig->is_valid() or !$widgetconfig->import_cms_widgetconfig($Db_object, $databasetype, $tableprefix)) { return false; } } foreach ($data['layoutwidget'] as $_layoutwidget) { $layoutwidget->set_value('mandatory', 'widgetid', $widgetid); $layoutwidget->set_value('mandatory', 'importid', 1); $layoutwidget->set_value('mandatory', 'layoutid', $idcache->get_id('layout', $_layoutwidget['layoutid'])); $layoutwidget->set_value('nonmandatory', 'layoutcolumn', $_layoutwidget['layoutcolumn']); $layoutwidget->set_value('nonmandatory', 'layoutindex', $_layoutwidget['layoutindex']); if (!$layoutwidget->is_valid() or !$layoutwidget->import_cms_layoutwidget($Db_object, $databasetype, $tableprefix)) { return false; } } return $widgetid; } // Postgres database // Postgres database case 'postgresql': return false; // other // other default: return false; } }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $pm_start_at = $sessionobject->get_session_var('pmstartat'); $pm_per_page = $sessionobject->get_session_var('pmperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); $pm_text_object = new ImpExData($Db_target, $sessionobject, 'pmtext'); $pm_object = new ImpExData($Db_target, $sessionobject, 'pm'); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array of pmtext details $pm_array = $this->get_snitz_pmtext_details($Db_source, $source_database_type, $source_table_prefix, $pm_start_at, $pm_per_page); $users_ids = $this->get_user_ids($Db_target, $target_database_type, $target_table_prefix); $user_names = $this->get_username($Db_target, $target_database_type, $target_table_prefix); // Display count and pass time $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($pm_array) . " {$displayobject->phrases['pm']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $pm_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($pm_start_at + count($pm_array)) . "</p>"); foreach ($pm_array as $pm_id => $pm) { $done_pm_ids[$pm_id] = $pm_id; $vB_pm_text = phpversion() < '5' ? $pm_text_object : clone $pm_text_object; $userid = $idcache->get_id('user', $pm['M_TO']); $username = $idcache->get_id('username', $pm['M_TO']); unset($touserarray); $touserarray[$userid] = $username; $vB_pm_text->set_value('mandatory', 'fromuserid', $userid); $vB_pm_text->set_value('mandatory', 'title', $pm['M_SUBJECT']); $vB_pm_text->set_value('mandatory', 'message', $this->html_2_bb($pm['M_MESSAGE'])); $vB_pm_text->set_value('mandatory', 'importpmid', $pm_id); $vB_pm_text->set_value('mandatory', 'touserarray', addslashes(serialize($touserarray))); $vB_pm_text->set_value('nonmandatory', 'fromusername', $idcache->get_id('username', $pm['M_FROM'])); $vB_pm_text->set_value('nonmandatory', 'iconid', ''); $vB_pm_text->set_value('nonmandatory', 'dateline', $this->time_to_stamp($pm['M_SENT'])); $vB_pm_text->set_value('nonmandatory', 'showsignature', '1'); $vB_pm_text->set_value('nonmandatory', 'allowsmilie', '1'); if ($vB_pm_text->is_valid()) { $pm_text_id = $vB_pm_text->import_pm_text($Db_target, $target_database_type, $target_table_prefix); if ($pm_text_id) { $vB_pm_to = phpversion() < '5' ? $pm_object : clone $pm_object; $vB_pm_from = phpversion() < '5' ? $pm_object : clone $pm_object; // The touser pm $vB_pm_to->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_to->set_value('mandatory', 'userid', $idcache->get_id('user', $pm['M_TO'])); $vB_pm_to->set_value('nonmandatory', 'folderid', '0'); $vB_pm_to->set_value('nonmandatory', 'messageread', '0'); // The fromuser pm $vB_pm_from->set_value('mandatory', 'pmtextid', $pm_text_id); $vB_pm_from->set_value('mandatory', 'userid', $idcache->get_id('user', $pm['M_FROM'])); $vB_pm_from->set_value('nonmandatory', 'folderid', '-1'); $vB_pm_from->set_value('nonmandatory', 'messageread', '0'); if ($vB_pm_text->is_valid()) { if ($vB_pm_to->import_pm($Db_target, $target_database_type, $target_table_prefix) and $vB_pm_from->import_pm($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $vB_pm_to->how_complete() . '%</b></span> ' . $displayobject->phrases['pm'] . ' -> ' . $vB_pm_text->get_value('nonmandatory', 'fromusername')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($pmtext_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_1']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($pmtext_id, $displayobject->phrases['pm_not_imported'], $displayobject->phrases['pm_not_imported_rem_2']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['pm_not_imported']}"); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($vB_pm_text, $vB_pm_to, $vB_pm_from); } // Check for page end if (count($pm_array) == 0 or count($pm_array) < $pm_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); if ($this->update_user_pm_count($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now($displayobject->phrases['completed']); } else { $displayobject->display_now($displayobject->phrases['failed']); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('pmstartat', $pm_start_at + $pm_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); // Per page vars $thread_start_at = $sessionobject->get_session_var('threadstartat'); $thread_per_page = $sessionobject->get_session_var('threadperpage'); $class_num = substr(get_class($this), -3); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); $thread_object = new ImpExData($Db_target, $sessionobject, 'thread'); $post_object = new ImpExData($Db_target, $sessionobject, 'post'); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } $cat_ids_array = $this->get_category_ids($Db_target, $target_database_type, $target_table_prefix); $forum_ids_array = $this->get_forum_ids($Db_target, $target_database_type, $target_table_prefix, $pad = 0); if ($sessionobject->get_session_var('nonarchivefinished') == 'FALSE') { $thread_array = $this->get_snitz_thread_details($Db_source, $source_database_type, $source_table_prefix, $thread_start_at, $thread_per_page); // Display count and pass time $displayobject->display_now('<h4>Importing normal ' . count($thread_array) . ' threads</h4><p><b>From</b> : ' . $thread_start_at . ' :: <b>To</b> : ' . ($thread_start_at + count($thread_array)) . '</p>'); foreach ($thread_array as $thread_id => $thread_details) { $try = phpversion() < '5' ? $thread_object : clone $thread_object; // Mandatory $try->set_value('mandatory', 'title', $thread_details['T_SUBJECT']); $try->set_value('mandatory', 'forumid', $forum_ids_array["{$thread_details['FORUM_ID']}"]); $try->set_value('mandatory', 'importthreadid', $thread_details['TOPIC_ID']); $try->set_value('mandatory', 'importforumid', $thread_details['FORUM_ID']); // Non Mandatory $try->set_value('nonmandatory', 'open', $thread_details['T_STATUS']); $try->set_value('nonmandatory', 'replycount', $thread_details['T_REPLIES']); $try->set_value('nonmandatory', 'postusername', $idcache->get_id('username', $thread_details['T_AUTHOR'])); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('user', $thread_details['T_AUTHOR'])); $try->set_value('nonmandatory', 'lastposter', $idcache->get_id('user', $thread_details['T_LAST_POST_AUTHOR'])); $try->set_value('nonmandatory', 'dateline', $this->time_to_stamp($thread_details['T_DATE'])); $try->set_value('nonmandatory', 'views', $thread_details['T_VIEW_COUNT']); $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'sticky', $thread_details['T_STICKY']); // Check if thread object is valid if ($try->is_valid()) { $thread_id = $try->import_thread($Db_target, $target_database_type, $target_table_prefix); if ($thread_id) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $try->get_value('mandatory', 'title')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); // Also do the first post as that is in the thread details as well $first_post = $post_object; // Mandatory $first_post->set_value('mandatory', 'threadid', $thread_id); $first_post->set_value('mandatory', 'userid', $idcache->get_id('user', $thread_details['T_AUTHOR'])); $first_post->set_value('mandatory', 'importthreadid', $thread_details['TOPIC_ID']); // Non Mandatory $first_post->set_value('nonmandatory', 'parentid', '0'); $first_post->set_value('nonmandatory', 'username', $idcache->get_id('username', $thread_details['T_AUTHOR'])); $first_post->set_value('nonmandatory', 'title', $thread_details['T_SUBJECT']); $first_post->set_value('nonmandatory', 'dateline', $this->time_to_stamp($thread_details['T_DATE'])); $first_post->set_value('nonmandatory', 'pagetext', $this->snitz_html($this->html_2_bb($thread_details['T_MESSAGE']))); $first_post->set_value('nonmandatory', 'ipaddress', $thread_details['T_IP']); $first_post->set_value('nonmandatory', 'visible', '1'); $first_post->set_value('nonmandatory', 'allowsmilie', '1'); // Check if post object is valid if ($first_post->is_valid()) { if ($first_post->import_post($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['post'] . ' -> ' . $first_post->get_value('nonmandatory', 'username')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($post_id, $displayobject->phrases['post_not_imported'], $displayobject->phrases['post_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['post_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($first_post); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($post_id, $displayobject->phrases['post_not_imported'], $displayobject->phrases['post_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['post_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } // End resume // Check for page end if (count($thread_array) == 0 or count($thread_array) < $thread_per_page) { $sessionobject->add_session_var('nonarchivefinished', 'TRUE'); $sessionobject->add_session_var('threadstartat', '0'); $sessionobject->add_session_var('threaddone', '0'); } else { $sessionobject->set_session_var('threadstartat', $thread_start_at + $thread_per_page); } $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } else { $thread_array = $this->get_snitz_archive_thread_details($Db_source, $source_database_type, $source_table_prefix, $thread_start_at, $thread_per_page); // Display count and pass time $displayobject->display_now('<h4>Importing ' . count($thread_array) . ' archive threads</h4><p><b>From</b> : ' . $thread_start_at . ' :: <b>To</b> : ' . ($thread_start_at + count($thread_array)) . '</p>'); foreach ($thread_array as $thread_id => $thread_details) { $try = phpversion() < '5' ? $thread_object : clone $thread_object; // Mandatory $try->set_value('mandatory', 'title', $thread_details['T_SUBJECT']); $try->set_value('mandatory', 'forumid', $forum_ids_array["{$thread_details['FORUM_ID']}"]); $try->set_value('mandatory', 'importthreadid', $thread_details['TOPIC_ID']); $try->set_value('mandatory', 'importforumid', $thread_details['FORUM_ID']); // Non Mandatory $try->set_value('nonmandatory', 'open', $thread_details['T_STATUS']); $try->set_value('nonmandatory', 'replycount', $thread_details['T_REPLIES']); $try->set_value('nonmandatory', 'postusername', $idcache->get_id('username', $thread_details['T_AUTHOR'])); $try->set_value('nonmandatory', 'postuserid', $idcache->get_id('user', $thread_details['T_AUTHOR'])); $try->set_value('nonmandatory', 'lastposter', $idcache->get_id('user', $thread_details['T_LAST_POST_AUTHOR'])); $try->set_value('nonmandatory', 'dateline', $this->time_to_stamp($thread_details['T_DATE'])); $try->set_value('nonmandatory', 'views', $thread_details['T_VIEW_COUNT']); $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'sticky', $thread_details['T_STICKY']); // Check if thread object is valid if ($try->is_valid()) { $thread_id = $try->import_thread($Db_target, $target_database_type, $target_table_prefix); if ($thread_id) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['thread'] . ' -> ' . $try->get_value('mandatory', 'title')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); // Also do the first post as that is in the thread details as well $first_post = $post_object; // Mandatory $first_post->set_value('mandatory', 'threadid', $thread_id); $first_post->set_value('mandatory', 'userid', $user_ids_array["{$thread_details['T_AUTHOR']}"]); $first_post->set_value('mandatory', 'importthreadid', $thread_details['TOPIC_ID']); // Non Mandatory $first_post->set_value('nonmandatory', 'parentid', '0'); $first_post->set_value('nonmandatory', 'username', $idcache->get_id('username', $thread_details['T_AUTHOR'])); $first_post->set_value('nonmandatory', 'title', $thread_details['T_SUBJECT']); $first_post->set_value('nonmandatory', 'dateline', $this->time_to_stamp($thread_details['T_DATE'])); $first_post->set_value('nonmandatory', 'pagetext', $this->snitz_html($this->html_2_bb($thread_details['T_MESSAGE']))); $first_post->set_value('nonmandatory', 'ipaddress', $thread_details['T_IP']); $first_post->set_value('nonmandatory', 'visible', '1'); $first_post->set_value('nonmandatory', 'allowsmilie', '1'); // Check if post object is valid if ($first_post->is_valid()) { if ($first_post->import_post($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['post'] . ' -> ' . $first_post->get_value('nonmandatory', 'username')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($post_id, $displayobject->phrases['post_not_imported'], $displayobject->phrases['post_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['post_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($first_post); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error($post_id, $displayobject->phrases['post_not_imported'], $displayobject->phrases['post_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['post_not_imported']}"); } } else { $displayobject->display_now("<br />{$displayobject->phrases['invalid_object']}" . $try->_failedon); $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); } unset($try); } // End foreach // The real end if (count($thread_array) == 0 or count($thread_array) < $thread_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->update_html($displayobject->module_finished("{$displayobject->phrases['import']} {$displayobject->phrases['threads']}", $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('import_thread', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('threadstartat', $thread_start_at + $thread_per_page); $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); } // End else }
function resume(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { // Set up working variables. $displayobject->update_basic('displaymodules', 'FALSE'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $source_database_type = $sessionobject->get_session_var('sourcedatabasetype'); $source_table_prefix = $sessionobject->get_session_var('sourcetableprefix'); $idcache = new ImpExCache($Db_target, $target_database_type, $target_table_prefix); $post_start_at = $sessionobject->get_session_var('poststartat'); $post_per_page = $sessionobject->get_session_var('postperpage'); $class_num = substr(get_class($this), -3); // Start the timing if (!$sessionobject->get_session_var($class_num . '_start')) { $sessionobject->timing($class_num, 'start', $sessionobject->get_session_var('autosubmit')); } // Get an array of post details $post_array = $this->get_ASPPlayground_post_details($Db_source, $source_database_type, $source_table_prefix, $post_start_at, $post_per_page); // Display count and pass time $displayobject->display_now('<h4>Importing ' . count($post_array) . ' posts</h4><p><b>From</b> : ' . $post_start_at . ' :: <b>To</b> : ' . ($post_start_at + count($post_array)) . '</p>'); $post_object = new ImpExData($Db_target, $sessionobject, 'post'); foreach ($post_array as $post_id => $post_details) { $try = phpversion() < '5' ? $post_object : clone $post_object; // Mandatory $try->set_value('mandatory', 'threadid', $idcache->get_id('thread', $post_details['threadid'])); $try->set_value('mandatory', 'userid', $idcache->get_id('user', $post_details['userid'])); $try->set_value('mandatory', 'importthreadid', $post_details['threadid']); // Non Mandatory if ($post_details['parent'] == $post_details['threadid']) { $try->set_value('nonmandatory', 'parentid', '0'); } else { $try->set_value('nonmandatory', 'parentid', $idcache->get_id('post', $post_details['parent'])); } $try->set_value('nonmandatory', 'username', $idcache->get_id('username', $post_details['userid'])); $try->set_value('nonmandatory', 'title', $post_details['title']); $try->set_value('nonmandatory', 'dateline', strtotime($post_details['dateline'])); $try->set_value('nonmandatory', 'pagetext', $this->html_2_bb($this->ASPPlayground_html($post_details['pagetext']))); $try->set_value('nonmandatory', 'allowsmilie', '1'); $try->set_value('nonmandatory', 'showsignature', '1'); $try->set_value('nonmandatory', 'ipaddress', $post_details['ipaddress']); #$try->set_value('nonmandatory', 'iconid', $post_details['iconid']); $try->set_value('nonmandatory', 'visible', '1'); #$try->set_value('nonmandatory', 'attach', $post_details['attach']); $try->set_value('nonmandatory', 'importpostid', $post_id); // Check if post object is valid if ($try->is_valid()) { if ($try->import_post($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> :: post -> ' . $post_details['title']); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); } else { $sessionobject->set_session_var($class_num . '_objects_failed', $sessionobject->get_session_var($class_num . '_objects_failed') + 1); $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . '::import_custom_profile_pic failed.', 'Check database permissions and database table'); $displayobject->display_now("<br />Found avatar post and <b>DID NOT</b> imported to the {$target_database_type} database"); } } else { $displayobject->display_now("<br />Invalid post object, skipping." . $try->_failedon); } unset($try); } // End foreach // Check for page end if (count($post_array) == 0 or count($post_array) < $post_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $displayobject->display_now('Updateing parent ids to allow for a threaded view....'); if ($this->update_post_parent_ids($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('Done !'); } else { $displayobject->display_now('Error updating parent ids'); } $displayobject->update_html($displayobject->module_finished($this->_modulestring, $sessionobject->return_stats($class_num, '_time_taken'), $sessionobject->return_stats($class_num, '_objects_done'), $sessionobject->return_stats($class_num, '_objects_failed'))); $sessionobject->set_session_var($class_num, 'FINISHED'); $sessionobject->set_session_var('import_post', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); $displayobject->update_html($displayobject->print_redirect('index.php', '1')); } $sessionobject->set_session_var('poststartat', $post_start_at + $post_per_page); $displayobject->update_html($displayobject->print_redirect('index.php')); }