function init(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { if ($this->check_order($sessionobject, $this->_dependent)) { if ($this->_restart) { if ($this->restart($sessionobject, $displayobject, $Db_target, $Db_source, 'clear_imported_forums')) { $displayobject->display_now("<h4>{$displayobject->phrases['forums_cleared']}</h4>"); $this->_restart = true; } else { $sessionobject->add_error(substr(get_class($this), -3), $displayobject->phrases['forum_restart_failed'], $displayobject->phrases['check_db_permissions']); } } // Start up the table $displayobject->update_basic('title', $displayobject->phrases['import_forum']); $displayobject->update_html($displayobject->do_form_header('index', substr(get_class($this), -3))); $displayobject->update_html($displayobject->make_hidden_code(substr(get_class($this), -3), 'WORKING')); $displayobject->update_html($displayobject->make_hidden_code('import_forum', 'working')); $displayobject->update_html($displayobject->make_table_header($this->_modulestring)); // Ask some questions $displayobject->update_html($displayobject->make_input_code($displayobject->phrases['forums_per_page'], 'forumperpage', 500)); // End the table $displayobject->update_html($displayobject->do_form_footer($displayobject->phrases['continue'], $displayobject->phrases['reset'])); // Reset/Setup counters for this $sessionobject->add_session_var(substr(get_class($this), -3) . '_objects_done', '0'); $sessionobject->add_session_var(substr(get_class($this), -3) . '_objects_failed', '0'); $sessionobject->add_session_var('forumstartat', '0'); $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $sessionobject->add_session_var('categoriesfinished', 'FALSE'); // Default $target_database_type = $sessionobject->get_session_var('targetdatabasetype'); $target_table_prefix = $sessionobject->get_session_var('targettableprefix'); $try = new ImpExData($Db_target, $sessionobject, 'forum'); $try->set_value('mandatory', 'title', 'Default cat'); $try->set_value('mandatory', 'displayorder', '1'); $try->set_value('mandatory', 'parentid', '-1'); $try->set_value('mandatory', 'options', $this->_default_cat_permissions); $try->set_value('mandatory', 'importforumid', '0'); $try->set_value('mandatory', 'importcategoryid', '1'); $try->import_category($Db_target, $target_database_type, $target_table_prefix); unset($try); } else { // Dependant has not been run $displayobject->update_html($displayobject->do_form_header('index', '')); $displayobject->update_html($displayobject->make_description("<p>{$displayobject->phrases['dependant_on']}<i><b> " . $sessionobject->get_module_title($this->_dependent) . "</b> {$displayobject->phrases['cant_run']}</i> .")); $displayobject->update_html($displayobject->do_form_footer($displayobject->phrases['continue'], '')); $sessionobject->set_session_var(substr(get_class($this), -3), 'FALSE'); $sessionobject->set_session_var('module', '000'); } }
function init(&$sessionobject, &$displayobject, &$Db_target, &$Db_source) { if ($this->check_order($sessionobject, $this->_dependent)) { if ($this->_restart) { if ($this->restart($sessionobject, $displayobject, $Db_target, $Db_source, 'clear_imported_forums')) { $displayobject->display_now('<h4>Imported forums have been cleared</h4>'); $this->_restart = true; } else { $sessionobject->add_error('fatal', $this->_modulestring, get_class($this) . '::restart failed , clear_imported_forums', 'Check database permissions'); } } // Start up the table $displayobject->update_basic('title', 'Import Forum'); $displayobject->update_html($displayobject->do_form_header('index', substr(get_class($this), -3))); $displayobject->update_html($displayobject->make_hidden_code(substr(get_class($this), -3), 'WORKING')); $displayobject->update_html($displayobject->make_hidden_code('import_forum', 'working')); $displayobject->update_html($displayobject->make_table_header($this->_modulestring)); // Ask some questions $displayobject->update_html($displayobject->make_input_code('Forums to import per cycle (must be greater than 1)', 'forumperpage', 500)); // End the table $displayobject->update_html($displayobject->do_form_footer('Continue', 'Reset')); // Reset/Setup counters for this $sessionobject->add_session_var(substr(get_class($this), -3) . '_objects_done', '0'); $sessionobject->add_session_var(substr(get_class($this), -3) . '_objects_failed', '0'); $sessionobject->add_session_var('forumstartat', '0'); $sessionobject->add_session_var('forumdone', '0'); // Setup default cat $category_object = new ImpExData($Db_target, $sessionobject, 'forum'); $category_object->set_value('mandatory', 'title', 'Default import category'); $category_object->set_value('mandatory', 'displayorder', '1'); $category_object->set_value('mandatory', 'parentid', '-1'); $category_object->set_value('mandatory', 'options', $this->_default_cat_permissions); $category_object->set_value('mandatory', 'importforumid', '0'); $category_object->set_value('mandatory', 'importcategoryid', '1'); $cat_id = $category_object->import_category($Db_target, $sessionobject->get_session_var('targetdatabasetype'), $sessionobject->get_session_var('targettableprefix')); $sessionobject->add_session_var('importcatid', $cat_id); } else { // Dependant has not been run $displayobject->update_html($displayobject->do_form_header('index', '')); $displayobject->update_html($displayobject->make_description('<p>This module is dependent on <i><b>' . $sessionobject->get_module_title($this->_dependent) . '</b></i> cannot run until that is complete.')); $displayobject->update_html($displayobject->do_form_footer('Continue', '')); $sessionobject->set_session_var(substr(get_class($this), -3), 'FALSE'); $sessionobject->set_session_var('module', '000'); } }
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')); } // Get an array of forum details $forum_array = $this->get_freethreads_forum_details($Db_source, $source_database_type, $source_table_prefix, $forum_start_at, $forum_per_page); if ($sessionobject->get_session_var('categoriesfinished') == 'FALSE') { $category_object = new ImpExData($Db_target, $sessionobject, 'forum'); $category_object->set_value('mandatory', 'title', 'free threads category'); $category_object->set_value('mandatory', 'displayorder', '1'); $category_object->set_value('mandatory', 'parentid', '-1'); $category_object->set_value('mandatory', 'importforumid', '0'); $category_object->set_value('mandatory', 'importcategoryid', '1'); $category_object->set_value('mandatory', 'options', $this->_default_cat_permissions); $category_object->import_category($Db_target, $target_database_type, $target_table_prefix); $sessionobject->add_session_var('categoriesfinished', 'TRUE'); } $cat_ids_array = $this->get_category_ids($Db_target, $target_database_type, $target_table_prefix); // Display count and pass time $displayobject->display_now('<h4>Importing ' . count($forum_array) . ' forums</h4><p><b>From</b> : ' . $forum_start_at . ' :: <b>To</b> : ' . ($forum_start_at + count($forum_array)) . '</p>'); $forum_object = new ImpExData($Db_target, $sessionobject, 'forum'); foreach ($forum_array as $forum_id => $forum_details) { $try = phpversion() < '5' ? $forum_object : clone $forum_object; // Mandatory $try->set_value('mandatory', 'title', $forum_details['NAME']); $try->set_value('mandatory', 'displayorder', $forum_details['RANK']); $try->set_value('mandatory', 'parentid', $cat_ids_array[1]); $try->set_value('mandatory', 'importforumid', $forum_id); $try->set_value('mandatory', 'importcategoryid', '1'); $try->set_value('mandatory', 'options', $this->_default_forum_permissions); // Non Mandatory $try->set_value('nonmandatory', 'description', $forum_details['DESCRIPTION']); $try->set_value('nonmandatory', 'replycount', $forum_details['TOTAL']); $try->set_value('nonmandatory', 'lastpost', $forum_details['LAST']); // Check if forum object is valid if ($try->is_valid()) { if ($try->import_forum($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> :: forum -> ' . $forum_details['NAME']); $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 forum and <b>DID NOT</b> imported to the {$target_database_type} database"); } } else { $displayobject->display_now("<br />Invalid forum object, skipping." . $try->_failedon); } unset($try); } // End foreach // 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->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 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')); } if ($sessionobject->get_session_var('categoriesfinished') == 'FALSE') { $try = new ImpExData($Db_target, $sessionobject, 'forum'); $try->set_value('mandatory', 'title', 'Default vB Lite 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 vB Lite 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); $sessionobject->add_session_var('categoriesfinished', 'TRUE'); } else { // Sort out the forums $forum_array = $this->get_vblite_forum_details($Db_source, $source_database_type, $source_table_prefix, $forum_start_at, $forum_per_page); $cat_ids = $this->get_category_ids($Db_target, $target_database_type, $target_table_prefix); $displayobject->display_now("<h4>Importing " . count($forum_array) . " forums</h4><p><b>From</b> : " . $forum_start_at . " :: <b>To</b> : " . ($forum_start_at + $forum_per_page) . "</p>"); $forum_object = new ImpExData($Db_target, $sessionobject, 'forum'); foreach ($forum_array as $forum_id => $forum) { $try = phpversion() < '5' ? $forum_object : clone $forum_object; $try->set_value('mandatory', 'title', $forum['title']); $try->set_value('mandatory', 'displayorder', $forum['displayorder']); $try->set_value('mandatory', 'parentid', $cat_ids[1]); $try->set_value('mandatory', 'importforumid', $forum['forumid']); $try->set_value('mandatory', 'importcategoryid', '0'); $try->set_value('mandatory', 'options', $this->_default_forum_permissions); $try->set_value('nonmandatory', 'description', $forum['description']); $try->set_value('nonmandatory', 'visible', $forum['active']); if ($try->is_valid()) { if ($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); $imported = true; } else { $sessionobject->add_error('warning', $this->_modulestring, get_class($this) . "::import_category failed for " . $cat['cat_title'] . " get_phpbb2_categories_details was ok.", '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 category " . $cat['cat_title'] . " and <b>DID NOT</b> imported to the " . $target_database_type . " database"); } } else { $displayobject->display_now("<br />Invalid forum object, skipping." . $try->_failedon); } unset($try); } if (count($forum_array) == 0 or count($forum_array) < $forum_per_page) { $this->build_forum_child_lists($Db_target, $target_database_type, $target_table_prefix); $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('forums', 'done'); $sessionobject->set_session_var('module', '000'); $sessionobject->set_session_var('autosubmit', '0'); } $sessionobject->set_session_var('forumsstartat', $forum_start_at + $forum_per_page); } $displayobject->update_html($displayobject->print_redirect('index.php')); }
function parse_folder($data) { /* // this method is not particularly extensible. Using these flags, 2 bits // were found to always be on, 0x180000. Any forum with either of these // bits will now be imported $valid_folder_flags = array( '00181000', '00190800', '00191000', '00193000', '001B1800', '08181000', '08190800', '081B1800', ); if ($data['type'] == 'open' AND in_array($data['attributes']['flags'], $valid_folder_flags)) */ if ($data['type'] == 'open') { if ($forum =& $this->get_first_tag('folder') and !empty($forum['__ignorechildren'])) { // we're ignoring a parent, so ignore this one as well $data['__ignorechildren'] = true; $this->push_stack($data); return; } if (!(hexdec($data['attributes']['flags']) & 0x180000) or in_array(trim($data['attributes']['name']), array('In', 'system', 'common', 'Click Here to Begin', 'Quick Help', 'plugins', 'Templates', 'webxTemplates', 'Images'))) { // wrong flags or is a special forum we don't want, so // don't import it and ignore any children it may have $data['__ignorechildren'] = true; $this->push_stack($data); return; } else { $this->push_stack($data); } $stack_size = $this->fetch_stack_size(); if ($stack_size == 0) { //eeke ! die('no push'); } else { if ($stack_size == 1) { // One deep its a cat $category_object = new ImpExData($this->Db_object, $this->session, 'forum'); $category_object->set_value('mandatory', 'title', $data['attributes']['title'] ? $data['attributes']['title'] : $data['attributes']['name']); $category_object->set_value('mandatory', 'displayorder', '1'); $category_object->set_value('mandatory', 'parentid', '-1'); $category_object->set_value('mandatory', 'importforumid', '0'); $category_object->set_value('mandatory', 'importcategoryid', hexdec($data['attributes']['unique'])); $category_object->set_value('mandatory', 'options', $this->_default_cat_permissions); $category_object->set_value('nonmandatory', 'description', $data['attributes']['heading']); if ($cat_id = $category_object->import_category($this->Db_object, $this->target_db_type, $this->target_db_prefix)) { echo "<br /><span class=\"isucc\">Category -- <b>" . $category_object->how_complete() . "%</b></span> :: " . $category_object->get_value('mandatory', 'title'); $this->session->add_session_var('currentcat', $cat_id); $this->session->add_session_var('currentforum', $cat_id); flush(); } else { echo "<br />'" . trim($attributes['attributes']['name']) . " not imported"; } unset($category_object); } else { if ($stack_size == 2) { // Two deep its a forum $forum_object = new ImpExData($this->Db_object, $this->session, 'forum'); $forum_object->set_value('mandatory', 'parentid', $this->session->get_session_var('currentcat')); $forum_object->set_value('mandatory', 'title', $data['attributes']['name']); $forum_object->set_value('mandatory', 'displayorder', $data['attributes']['sortSeq']); $forum_object->set_value('mandatory', 'importforumid', hexdec($data['attributes']['unique'])); $forum_object->set_value('mandatory', 'importcategoryid', '0'); $forum_object->set_value('mandatory', 'options', $this->_default_forum_permissions); $forum_object->set_value('nonmandatory', 'description', $forum['heading']); $forum_object->set_value('nonmandatory', 'visible', '1'); if ($forum_id = $forum_object->import_forum($this->Db_object, $this->target_db_type, $this->target_db_prefix)) { echo "<br /><span class=\"isucc\">Forum -- <b>" . $forum_object->how_complete() . "%</b></span> :: forum " . $forum_object->get_value('mandatory', 'title'); $this->session->add_session_var('currentforum', $forum_id); flush(); } else { echo "<br />'" . trim($data['attributes']['name']) . " not imported"; } unset($forum_object); } else { // Two deep its a sub forum, with a folder tag $forum_object = new ImpExData($this->Db_object, $this->session, 'forum'); $forum_object->set_value('mandatory', 'parentid', $this->session->get_session_var('currentforum')); $forum_object->set_value('mandatory', 'title', $data['attributes']['name']); $forum_object->set_value('mandatory', 'displayorder', $data['attributes']['sortSeq']); $forum_object->set_value('mandatory', 'importforumid', hexdec($data['attributes']['unique'])); $forum_object->set_value('mandatory', 'importcategoryid', '0'); $forum_object->set_value('mandatory', 'options', $this->_default_forum_permissions); $forum_object->set_value('nonmandatory', 'description', $forum['heading']); $forum_object->set_value('nonmandatory', 'visible', '1'); if ($forum_id = $forum_object->import_forum($this->Db_object, $this->target_db_type, $this->target_db_prefix)) { echo "<br /><span class=\"isucc\">Sub Forum -- <b>" . $forum_object->how_complete() . "%</b></span> :: forum " . $forum_object->get_value('mandatory', 'title'); $this->session->add_session_var('currentforum', $forum_id); flush(); } else { echo "<br />'" . trim($data['attributes']['name']) . " not imported"; } unset($forum_object); } } } } else { if ($data['type'] == 'close') { if ($popdata = $this->pop_first_tag($data['tag_name'])) { //echo "popped $data[tag_name] off<br />\n"; flush(); } } } }
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')); } if ($sessionobject->get_session_var('categoriesfinished') == 'FALSE') { // Sort out the categories $categories_array = $this->get_drupal_cat_details($Db_source, $source_database_type, $source_table_prefix); $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($categories_array) . " {$displayobject->phrases['categories']}</h4>"); $category_object = new ImpExData($Db_target, $sessionobject, 'forum'); foreach ($categories_array as $cat_id => $cat) { $try = phpversion() < '5' ? $category_object : clone $category_object; $try->set_value('mandatory', 'title', $cat['name']); $try->set_value('mandatory', 'displayorder', $cat_id); $try->set_value('mandatory', 'parentid', '-1'); $try->set_value('mandatory', 'options', $this->_default_cat_permissions); $try->set_value('mandatory', 'importforumid', '0'); $try->set_value('mandatory', 'importcategoryid', $cat_id); $try->set_value('nonmandatory', 'description', $forum_details['description']); if ($try->is_valid()) { if ($try->import_category($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span> ' . $displayobject->phrases['forum'] . ' -> ' . $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($try->get_value('mandatory', 'importcategoryid'), $displayobject->phrases['forum_not_imported'], $displayobject->phrases['forum_not_imported_rem']); $displayobject->display_now("<br />{$displayobject->phrases['failed']} :: {$displayobject->phrases['forum_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); } // Default Category $try = new ImpExData($Db_target, $sessionobject, 'forum'); $try->set_value('mandatory', 'title', 'Default Cat'); $try->set_value('mandatory', 'displayorder', '1'); $try->set_value('mandatory', 'parentid', '-1'); $try->set_value('mandatory', 'importforumid', '0'); $try->set_value('mandatory', 'importcategoryid', '99999'); $try->set_value('mandatory', 'options', $this->_default_cat_permissions); $try->set_value('nonmandatory', 'description', 'This is a default category for imported forums'); $try->import_category($Db_target, $target_db_type, $target_table_prefix); $sessionobject->add_session_var('categoriesfinished', 'TRUE'); } else { // Get an array of forum details $forum_array = $this->get_drupal_forum_details($Db_source, $source_database_type, $source_table_prefix, $forum_start_at, $forum_per_page); $cat_ids_array = $this->get_category_ids($Db_target, $target_database_type, $target_table_prefix); // Display count and pass time $displayobject->display_now("<h4>{$displayobject->phrases['importing']} " . count($forum_array) . " {$displayobject->phrases['forums']}</h4><p><b>{$displayobject->phrases['from']}</b> : " . $forum_start_at . " :: <b>{$displayobject->phrases['to']}</b> : " . ($forum_start_at + count($forum_array)) . "</p>"); $forum_object = new ImpExData($Db_target, $sessionobject, 'forum'); foreach ($forum_array as $forum_id => $forum_details) { $try = phpversion() < '5' ? $forum_object : clone $forum_object; // Mandatory $try->set_value('mandatory', 'displayorder', '1'); $try->set_value('mandatory', 'options', $forum_details['options']); $try->set_value('mandatory', 'importcategoryid', '0'); if ($cat_ids_array["{$forum_details['parent']}"]) { $try->set_value('mandatory', 'parentid', $cat_ids_array["{$forum_details['parent']}"]); } else { $try->set_value('mandatory', 'parentid', $cat_ids_array[99999]); } $try->set_value('mandatory', 'title', $forum_details['name']); $try->set_value('mandatory', 'importforumid', $forum_id); $try->set_value('mandatory', 'options', $this->_default_forum_permissions); // Non Mandatory $try->set_value('nonmandatory', 'description', $forum_details['description']); // Check if forum object is valid if ($try->is_valid()) { if ($try->import_forum($Db_target, $target_database_type, $target_table_prefix)) { $displayobject->display_now('<br /><span class="isucc"><b>' . $try->how_complete() . '%</b></span>' . $displayobject->phrases['forum'] . ' -> ' . $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($forum_id, $displayobject->phrases['forum_not_imported'], $displayobject->phrases['forum_not_imported_rem']); $displayobject->display_now("<br />{$impex_phrases['failed']} :: {$displayobject->phrases['forum_not_imported']}"); } } else { $displayobject->display_now("<br />{$impex_phrases['invalid_object']}" . $try->_failedon); } unset($try); } // End foreach if (count($forum_array) == 0 or count($forum_array) < $forum_per_page) { $this->build_forum_child_lists($Db_target, $target_database_type, $target_table_prefix); #$this->get_out_of_sync_parentids($Db_target, $target_database_type, $target_table_prefix); $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('forumstartat', $forum_start_at + $forum_per_page); } $displayobject->update_html($displayobject->print_redirect('index.php', $sessionobject->get_session_var('pagespeed'))); }