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 $forum_start_at = $sessionobject->get_session_var('forumstartat'); $forum_per_page = $sessionobject->get_session_var('forumperpage'); $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')); } ###################################### # Temp ###################################### $forum_object = new ImpExData($Db_target, $sessionobject, 'forum'); $try = phpversion() < '5' ? $forum_object : clone $forum_object; $try->set_value('mandatory', 'title', 'Default Yahoo Category'); $try->set_value('mandatory', 'displayorder', '1'); $try->set_value('mandatory', 'parentid', '-1'); $try->set_value('mandatory', 'importforumid', '0'); $try->set_value('mandatory', 'importcategoryid', '1'); $try->set_value('mandatory', 'options', $this->_default_cat_permissions); $try->set_value('nonmandatory', 'description', 'Default Yahoo Category Description'); $cat_id = $try->import_category($Db_target, $target_database_type, $target_table_prefix); $displayobject->display_now("<br /><span class=\"isucc\"><b>" . $try->how_complete() . "%</b></span> :: " . $try->get_value('mandatory', 'title')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); unset($try); $try = phpversion() < '5' ? $forum_object : clone $forum_object; $try->set_value('mandatory', 'title', 'Default Yahoo Forum'); $try->set_value('mandatory', 'displayorder', '1'); $try->set_value('mandatory', 'parentid', $cat_id); $try->set_value('mandatory', 'importforumid', '1'); $try->set_value('mandatory', 'importcategoryid', '0'); $try->set_value('nonmandatory', 'description', 'Default Yahoo Forum'); $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('mandatory', 'options', $this->_default_forum_permissions); $forum_id = $try->import_forum($Db_target, $target_database_type, $target_table_prefix); $displayobject->display_now("<br /><span class=\"isucc\"><b>" . $try->how_complete() . "%</b></span> :: " . $try->get_value('mandatory', 'title')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); unset($try); $try = new ImpExData($Db_target, $sessionobject, 'thread'); $try->set_value('mandatory', 'title', 'Yahoo catchments thread'); $try->set_value('mandatory', 'forumid', $forum_id); $try->set_value('mandatory', 'importthreadid', '2'); $try->set_value('mandatory', 'importforumid', '1'); // Non Mandatory $try->set_value('nonmandatory', 'visible', '1'); $try->set_value('nonmandatory', 'open', '1'); $try->set_value('nonmandatory', 'dateline', time()); $displayobject->display_now("<br /><span class=\"isucc\"><b>" . $try->how_complete() . "%</b></span> :: " . $try->get_value('mandatory', 'title')); $sessionobject->add_session_var($class_num . '_objects_done', intval($sessionobject->get_session_var($class_num . '_objects_done')) + 1); $thread_id = $try->import_thread($Db_target, $target_database_type, $target_table_prefix); $sessionobject->set_session_var('catch_thread', $thread_id); ###################################### # Temp ###################################### // Check for page end if (count($forum_array) == 0 or count($forum_array) < $forum_per_page) { $sessionobject->timing($class_num, 'stop', $sessionobject->get_session_var('autosubmit')); $sessionobject->remove_session_var($class_num . '_start'); $forum_ids_array = $this->get_forum_ids($Db_target, $target_database_type, $target_table_prefix); $this->clean_nested_forums($Db_target, $target_database_type, $target_table_prefix, $forum_ids_array); $this->build_forum_child_lists($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('import_forum', '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('forumstartat', $forum_start_at + $forum_per_page); $displayobject->update_html($displayobject->print_redirect('index.php')); }
function parse_discussion($data) { if (!($forum =& $this->get_first_tag('folder'))) { // not in a forum return; } else { if (!empty($forum['__ignorechildren'])) { // in an ignored forum return; } } if ($data['type'] == 'open') { /* echo str_repeat('--', sizeof($this->stack)) . " <i>discussion</i><br />\n"; flush(); */ $this->push_stack($data); $user_names = $this->get_username($this->Db_object, $this->target_db_type, $this->target_db_prefix); $users_ids = $this->get_user_ids($Db_target, $target_database_type, $target_table_prefix); ### Import the thread first #### // Thread $thread_object = new ImpExData($this->Db_object, $this->session, 'thread'); $thread_object->set_value('mandatory', 'title', htmlspecialchars($data['attributes']['title'])); $thread_object->set_value('mandatory', 'forumid', $this->session->get_session_var('currentforum')); $thread_object->set_value('mandatory', 'importthreadid', hexdec($data['attributes']['unique'])); $thread_object->set_value('mandatory', 'importforumid', $this->session->get_session_var('currentforum')); $userid = hexdec($data['attributes']['author']); $thread_object->set_value('nonmandatory', 'postusername', $user_names[$userid]); $thread_object->set_value('nonmandatory', 'postuserid', $users_ids[$userid]); $thread_object->set_value('nonmandatory', 'dateline', strtotime($data['attributes']['created'])); $thread_object->set_value('nonmandatory', 'visible', '1'); $thread_object->set_value('nonmandatory', 'open', '1'); $thread_object->set_value('nonmandatory', 'sticky', '0'); if ($thread_id = $thread_object->import_thread($this->Db_object, $this->target_db_type, $this->target_db_prefix)) { echo "<br /><span class=\"isucc\">Thread -- <b>" . $thread_object->how_complete() . "%</b></span> :: thread " . $thread_object->get_value('mandatory', 'title'); $this->session->add_session_var('currentthread', $thread_id); flush(); } else { echo "<br />'" . trim($data['attributes']['title']) . " not imported"; } ### Put the data in the first post ### // Post $post_object = new ImpExData($this->Db_object, $this->session, 'post'); $post_object->set_value('mandatory', 'threadid', $thread_id); $post_object->set_value('mandatory', 'userid', $users_ids[$userid]); $post_object->set_value('mandatory', 'importthreadid', hexdec($data['attributes']['unique'])); $post_object->set_value('nonmandatory', 'visible', '1'); $post_object->set_value('nonmandatory', 'dateline', strtotime(str_replace('.', ' ', $data['attributes']['created']))); $post_object->set_value('nonmandatory', 'allowsmilie', '1'); $post_object->set_value('nonmandatory', 'showsignature', '1'); $post_object->set_value('nonmandatory', 'username', $user_names[$userid]); $post_object->set_value('nonmandatory', 'ipaddress', $data['attributes']['sourceIp']); $post_object->set_value('nonmandatory', 'title', htmlspecialchars($data['attributes']['title'])); $post_object->set_value('nonmandatory', 'pagetext', $this->html_2_bb($data['attributes']['heading'])); $post_object->set_value('nonmandatory', 'importpostid', hexdec($data['attributes']['unique'])); if ($post_object->import_post($this->Db_object, $this->target_db_type, $this->target_db_prefix)) { echo "<br /><span class=\"isucc\">Post -- <b>" . $post_object->how_complete() . "%</b></span> :: Post from - " . $post_object->get_value('nonmandatory', 'username'); flush(); } else { echo "<br />'" . trim($data['attributes']['title']) . " not imported"; } unset($post_object, $thread_object); } else { if ($data['type'] == 'close') { if ($popdata = $this->pop_first_tag($data['tag_name'])) { //echo "popped $data[tag_name] off<br />\n"; flush(); } } } }