You might have to click next_batch a lot of times. If it's the rebuilding_caches step, I think it's possible to skip and XenForo will do it in the background.
You might have to click next_batch a lot of times. If it's the rebuilding_caches step, I think it's possible to skip and XenForo will do it in the background.
- lead developer for VaultWiki
Back with more errors, sorry.
With the Wiki installed, now focussed on transferring the VB VaultWiki 4 stuff to the XF 4 one. A few ways into Step 1 gets the following:
Importing page prefixes
I appreciate this is similar to an error I reported on the previous page and as with that I've gone through all the listed files, with only FrontController.php as an error which I've fixed.Code:An exception occurred: Database Error: SELECT prefixid,prefixkey FROM `vw_prefix` WHERE `prefixkey` IN () LIMIT 0 Mysqli prepare error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') LIMIT 0' at line 1 in /home/[REDACTED]/public_html/[REDACTED]/vault/core/controller/db/xf.php on line 136 vw_DB_Controller_XF->throw_error() in vault/core/controller/db/xf.php at line 150 vw_DB_Controller_XF->query_read() in vault/core/model/db/mysql/vw.php at line 29 vw_DB_MySQL_Model->select() in vault/core/controller/import/handle/vw4/prefix/vw.php at line 61 vw_Import_Handle_VW4_Prefix_Controller->do_prefixes() in vault/core/controller/import/steps/vw4/vw.php at line 81 {closure}() in vault/core/controller/progress/vw.php at line 100 vw_Progress_Controller->call() in vault/core/controller/cp/impex/vw.php at line 114 vw_CP_ImpEx_Controller->import() in vault/core/controller/cp/impex/vw.php at line 35 vw_CP_ImpEx_Controller->execute() in library/vw/XenForo/ControllerAdmin/Wiki.php at line 115 vw_XenForo_ControllerAdmin_Wiki->actionIndex() in library/XenForo/FrontController.php at line 347 XenForo_FrontController->dispatch() in library/XenForo/FrontController.php at line 134 XenForo_FrontController->run() in admin.php at line 13
Aside from the SQL stuff mentioned at the top, the only other thing I can think of is I didn't provide a dependency for the VB VW 4 database in the config file.
I've escalated this to a bug here: https://www.vaultwiki.org/issues/4185/
If you encounter any more errors, please submit a request for Ticket Support service and we will perform the import for you free of charge: https://www.vaultwiki.org/members/?d...e&productid=20
- lead developer for VaultWiki
Many thanks.
I'm hoping I applied the given steps correctly, but am now hitting this-
Step {1}
Importing wiki areas
Code:An exception occurred: Invalid argument supplied for foreach() in /home/[REDACTED]/public_html/[REDACTED]/library/vw/XenForo/DataWriter.php on line 242 XenForo_Application::handlePhpError() in library/vw/XenForo/DataWriter.php at line 242 vw_XenForo_DataWriter->_castValueToType() in library/XenForo/DataWriter.php at line 721 XenForo_DataWriter->_isFieldValueValid() in library/XenForo/DataWriter.php at line 643 XenForo_DataWriter->set() in vault/core/controller/dm/xf.php at line 230 vw_DM_Controller_XF->set() in vault/core/controller/import/handle/vw4/area/vw.php at line 320 vw_Import_Handle_VW4_Area_Controller->do_area() in vault/core/controller/import/handle/vw4/area/vw.php at line 199 vw_Import_Handle_VW4_Area_Controller->nested_import() in vault/core/controller/import/handle/vw4/area/vw.php at line 212 vw_Import_Handle_VW4_Area_Controller->nested_import() in vault/core/controller/import/handle/vw4/area/vw.php at line 162 vw_Import_Handle_VW4_Area_Controller->do_areas() in vault/core/controller/import/steps/vw4/vw.php at line 103 {closure}() in vault/core/controller/progress/vw.php at line 100 vw_Progress_Controller->call() in vault/core/controller/cp/impex/vw.php at line 114 vw_CP_ImpEx_Controller->import() in vault/core/controller/cp/impex/vw.php at line 35 vw_CP_ImpEx_Controller->execute() in library/vw/XenForo/ControllerAdmin/Wiki.php at line 115 vw_XenForo_ControllerAdmin_Wiki->actionIndex() in library/XenForo/FrontController.php at line 347 XenForo_FrontController->dispatch() in library/XenForo/FrontController.php at line 134 XenForo_FrontController->run() in admin.php at line 13
I suspect this is due to the importer not being updated since the blocklist field was added to areas. In vault/core/controller/import/handle/vw4/area/vw.php, find:
After it, add:Code:$this->map_list($area, 'langlist', $this->langmap);
Code:$area['blocklist'] = array(0);
- lead developer for VaultWiki
Thanks
Importing wiki areas
This was after reporting another error I was able to fix and the code you've told me to add to that file should be on line 237Code:Fatal error: Call to a member function get() on a non-object in /home/[REDACTED]/public_html/[REDACTED]/vault/core/controller/import/handle/vw4/area/vw.php on line 329
Code:$this->map_list($area, 'langlist', $this->langmap);$area['blocklist'] = array(0);
Around line 329 I have this code:
I don't see that get() would be on a non-object here, so make sure your code looks like this.Code:$dm->save(); $pageid = $dm->get('pageid'); $this->parentmap[$area['pageid']] = intval($pageid); unset($dm);
- lead developer for VaultWiki
The code for me reads as thus, starting from line 324:
I've tried pasting the mentioned code over the initial part but then the error message continues to mention either line 329 or 330.Code:} $dm->save(); $this->parentmap[$area['pageid']] = $dm->get('pageid'); unset($dm); $this->importrows['area'][] = array( 'sourceid' => $area['pageid'], 'targetid' => $dm->get('pageid') ); $this->importrows['page'][] = array( 'sourceid' => $area['pageid'], 'targetid' => $dm->get('pageid') ); }
Your section is much different from mine. It should be safe to remove the line:
from your above code which will prevent the object from being destroyed before your code uses it.Code:unset($dm);
- lead developer for VaultWiki
Many thanks
Code:Step {1} Importing wiki permissions An exception occurred: Mysqli statement execute error : Duplicate entry '3:1-0-0' for key 'race_condition' in /home/[REDACTED]/public_html/[REDACTED]/library/Zend/Db/Statement/Mysqli.php on line 214 Zend_Db_Statement_Mysqli->_execute() in library/Zend/Db/Statement.php at line 297 Zend_Db_Statement->execute() in library/Zend/Db/Adapter/Abstract.php at line 479 Zend_Db_Adapter_Abstract->query() in library/Zend/Db/Adapter/Abstract.php at line 574 Zend_Db_Adapter_Abstract->insert() in library/XenForo/DataWriter.php at line 1624 XenForo_DataWriter->_insert() in library/XenForo/DataWriter.php at line 1613 XenForo_DataWriter->_save() in library/vw/XenForo/DataWriter.php at line 294 vw_XenForo_DataWriter->_save() in library/XenForo/DataWriter.php at line 1405 XenForo_DataWriter->save() in vault/core/controller/dm/xf.php at line 378 vw_DM_Controller_XF->save() in vault/core/controller/import/handle/vw4/permissions/vw.php at line 261 vw_Import_Handle_VW4_Permissions_Controller->do_permission() in vault/core/controller/import/handle/vw4/permissions/vw.php at line 232 vw_Import_Handle_VW4_Permissions_Controller->do_permissions() in vault/core/controller/import/steps/vw4/vw.php at line 236 {closure}() in vault/core/controller/progress/vw.php at line 100 vw_Progress_Controller->call() in vault/core/controller/cp/impex/vw.php at line 114 vw_CP_ImpEx_Controller->import() in vault/core/controller/cp/impex/vw.php at line 35 vw_CP_ImpEx_Controller->execute() in library/vw/XenForo/ControllerAdmin/Wiki.php at line 115 vw_XenForo_ControllerAdmin_Wiki->actionIndex() in library/XenForo/FrontController.php at line 347 XenForo_FrontController->dispatch() in library/XenForo/FrontController.php at line 134 XenForo_FrontController->run() in admin.php at line 13
In vault/core/controller/dm/permissions/vw.php, find:
Before it, add:Code:vw_Effect::cause('vw_data_permissions', array( 'action' => 'presave', 'dm' => &$this, 'retval' => &$retval ));
Code:$duplicate_check = vw_DB::get()->query()->select(array( 'fields' => array('permissionid'), 'table' => 'vw_permission', 'where' => array( vw_DB::get()->query()->eq('applytypeid', $this->instance->get('applytypeid')), vw_DB::get()->query()->eq('applyid', $this->instance->get('applyid')), vw_DB::get()->query()->eq('nodetypeid', $this->instance->get('nodetypeid')), vw_DB::get()->query()->eq('nodeid', $this->instance->get('nodeid')) ), 'first' => 1 )); if ($duplicate_check AND $duplicate_check['permissionid'] != $this->instance->get_existing('permissionid')) { $this->instance->error('vw_permission_already_exist'); return false; }
- lead developer for VaultWiki
Thanks.
Code:Step {1} Importing wiki permissions An exception occurred: Database Error: SELECT permissionid FROM `vw_permission` WHERE applytypeid = AND applyid = AND nodetypeid = 0 AND nodeid = 0 Mysqli prepare error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND applyid = AND nodetypeid = 0 AND nodeid = 0' at line 1 in /home/[REDACTED]/public_html/[REDACTED]/vault/core/controller/db/xf.php on line 136 vw_DB_Controller_XF->throw_error() in vault/core/controller/db/xf.php at line 218 vw_DB_Controller_XF->query_first() in vault/core/model/db/mysql/vw.php at line 29 vw_DB_MySQL_Model->select() in vault/core/controller/dm/permissions/vw.php at line 225 vw_DM_Permissions_Controller->pre_save() in library/vw/XenForo/DataWriter.php at line 426 vw_XenForo_DataWriter->_preSave() in library/XenForo/DataWriter.php at line 1446 XenForo_DataWriter->preSave() in library/XenForo/DataWriter.php at line 1385 XenForo_DataWriter->save() in vault/core/controller/dm/xf.php at line 378 vw_DM_Controller_XF->save() in vault/core/controller/import/handle/vw4/permissions/vw.php at line 261 vw_Import_Handle_VW4_Permissions_Controller->do_permission() in vault/core/controller/import/handle/vw4/permissions/vw.php at line 232 vw_Import_Handle_VW4_Permissions_Controller->do_permissions() in vault/core/controller/import/steps/vw4/vw.php at line 236 {closure}() in vault/core/controller/progress/vw.php at line 100 vw_Progress_Controller->call() in vault/core/controller/cp/impex/vw.php at line 114 vw_CP_ImpEx_Controller->import() in vault/core/controller/cp/impex/vw.php at line 35 vw_CP_ImpEx_Controller->execute() in library/vw/XenForo/ControllerAdmin/Wiki.php at line 115 vw_XenForo_ControllerAdmin_Wiki->actionIndex() in library/XenForo/FrontController.php at line 347 XenForo_FrontController->dispatch() in library/XenForo/FrontController.php at line 134 XenForo_FrontController->run() in admin.php at line 13
In vault/core/controller/import/handle/vw4/permissions/vw.php, find:
Replace with:Code:$permissions = vw_DB::get($this->from)->query()->select(array( 'fields' => array('*'), 'table' => 'vw_permission' ));
Code:$permissions = vw_DB::get($this->from)->query()->select(array( 'fields' => array('*'), 'table' => 'vw_permission', 'where' => vw_DB::get()->query()->gt('applytypeid', 0) ));
- lead developer for VaultWiki
Hi
There's no vw4 sub folder in the vault/core/controller/import directory, sorry. I've checked the original zip and it's the same thing. Only base, config, handle and steps. handle DOES have a vw4 folder with a permissions among others within. I assume that's the right one?
Yes, sorry about that omission on my part. Updated instructions in the previous post.
- lead developer for VaultWiki
Bookmarks