/** * Class copied from XenForo_ControllerAdmin_Import */ public function actionImport() { $importModel = $this->_getImportModel(); $session = new XenForo_ImportSession(); if (!$session->getImporterKey()) { return $this->responseReroute(__CLASS__, 'index'); } $stepInfo = $session->getStepInfo(); $importer = $importModel->getImporter($session->getImporterKey()); $showList = $this->_input->filterSingle('list', XenForo_Input::UINT); if (!$stepInfo['step'] || $showList) { $runStep = false; } else { $runStep = $stepInfo['stepStart'] || $this->_request->isPost(); } if ($runStep) { $response = $this->_runStep($importer, $session, $stepInfo['step'], $stepInfo['stepStart'], $stepInfo['stepOptions']); return $response; } else { $steps = $importModel->addImportStateToSteps($importer->getSteps(), $session->getRunSteps()); $viewParams = array('steps' => $steps, 'importerName' => $importer->getName()); //The template has been changed to allow for a custom message after mapping Wordpress roles to Xenforo Groups return $this->responseView('XenForo_ViewAdmin_Import_Steps', 'import_wordpress_steps', $viewParams); } }
/** * * @see XenForo_ControllerAdmin_Import::actionImport() */ public function actionImport() { $response = parent::actionImport(); if ($response instanceof XenForo_ControllerResponse_View) { $session = new XenForo_ImportSession(); $config = $session->getConfig(); $response->params['isRetainKeys'] = !empty($config['retain_keys']); } return $response; }
public function actionComplete() { if ($this->_request->isPost()) { $session = new XenForo_ImportSession(); $key = $session->getImporterKey(); if (strpos($key, 'sonnb_XenGallery') !== false) { $GLOBALS[sonnb_XenGallery_Listener::SONNB_XENGALLERY_IMPORTING] = true; } } return parent::actionComplete(); }
public function runStep(XenForo_ControllerAdmin_Abstract $controller = null, XenForo_ImportSession $session, $step, $start, array $options = array()) { if (!$step || !method_exists($this, 'step' . $step)) { throw new XenForo_Exception('Invalid step ' . $step); } ignore_user_abort(true); $this->_session = $session; $this->_controller = $controller; $this->_bootstrapImporter($session->getConfig()); $steps = $this->getSteps(); if (isset($steps[$step])) { if (!$this->_importModel->canRunStep($step, $steps, $session->getRunSteps())) { throw new XenForo_Exception('Step ' . $step . ' cannot be run.'); } } return $this->{'step' . $step}($start, $options); }
public function actionComplete() { if ($this->_request->isPost()) { $input = $this->_input->filter(array('archive' => XenForo_Input::UINT, 'table' => XenForo_Input::STRING)); if ($input['archive'] && $input['table']) { if (!$this->_getImportModel()->archiveImportLog($input['table'], $error)) { return $this->responseError($error); } } $session = new XenForo_ImportSession(); $importerKey = $session->getImporterKey(); $session->delete(); XenForo_Application::defer('Atomic', array('simple' => array('User', 'Thread', 'Poll', 'Forum')), 'importRebuild', true); return $this->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, XenForo_Link::buildAdminLink('import/complete', false, array('confirm' => $importerKey))); } else { if ($importerKey = $this->_input->filterSingle('confirm', XenForo_Input::STRING)) { $importer = $this->_getImportModel()->getImporter($importerKey); $messages = $importer ? $importer->getImportCompleteMessages() : array(); return $this->responseView('XenForo_ViewAdmin_Import_Complete', 'import_complete', array('messages' => $messages)); } else { $session = new XenForo_ImportSession(); $config = $session->getConfig(); if (!$session->getImporterKey()) { return $this->responseView('XenForo_ViewAdmin_Import_Complete', 'import_complete', array('messages' => array())); } $viewParams = array('importerName' => $this->_getImportModel()->getImporterName($session->getImporterKey()), 'logSuffix' => $config['db']['dbname']); return $this->responseView('XenForo_ViewAdmin_Import_CompleteConfirm', 'import_complete_confirm', $viewParams); } } }
public function actionComplete() { if ($this->_request->isPost()) { $input = $this->_input->filter(array('archive' => XenForo_Input::UINT, 'table' => XenForo_Input::STRING)); if ($input['archive'] && $input['table']) { if (!$this->_getImportModel()->archiveImportLog($input['table'], $error)) { return $this->responseError($error); } } $session = new XenForo_ImportSession(); $importerKey = $session->getImporterKey(); $session->delete(); $caches = array('User', 'Thread', 'Poll', 'Forum'); return XenForo_CacheRebuilder_Abstract::getRebuilderResponse($this, $caches, XenForo_Link::buildAdminLink('import/complete', false, array('confirm' => $importerKey))); } else { if ($importerKey = $this->_input->filterSingle('confirm', XenForo_Input::STRING)) { $messages = $this->_getImportModel()->getImporter($importerKey)->getImportCompleteMessages(); return $this->responseView('XenForo_ViewAdmin_Import_Complete', 'import_complete', array('messages' => $messages)); } else { $session = new XenForo_ImportSession(); $config = $session->getConfig(); $importer = $this->_getImportModel()->getImporter($session->getImporterKey()); $viewParams = array('importerName' => $importer->getName(), 'logSuffix' => $config['db']['dbname']); return $this->responseView('XenForo_ViewAdmin_Import_CompleteConfirm', 'import_complete_confirm', $viewParams); } } }