/** * * @return XenForo_ControllerResponse_Abstract */ public function actionImport() { $fieldModel = $this->_getFieldModel(); if ($this->isConfirmedPost()) { $input = $this->_input->filter(array('target' => XenForo_Input::STRING, 'display_group' => XenForo_Input::STRING, 'overwrite_field_id' => XenForo_Input::STRING)); $upload = XenForo_Upload::getUploadedFile('upload'); if (!$upload) { return $this->responseError(new XenForo_Phrase('please_upload_valid_field_xml_file')); } if ($input['target'] == 'overwrite') { $field = $this->_getFieldOrError($input['overwrite_field_id']); $input['display_group'] = $field['display_group']; } $document = $this->getHelper('Xml')->getXmlFromFile($upload); $caches = $fieldModel->importFieldXml($document, $input['display_group'], $input['overwrite_field_id']); if (XenForo_Application::$versionId < 1020000) { return XenForo_CacheRebuilder_Abstract::getRebuilderResponse($this, $caches, XenForo_Link::buildAdminLink('user-fields')); } else { return $this->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, XenForo_Link::buildAdminLink('user-fields')); } } else { $fieldModel = $this->_getFieldModel(); $viewParams = array('displayGroups' => $fieldModel->getUserFieldGroups(), 'fields' => $fieldModel->prepareUserFields($fieldModel->getUserFields())); return $this->responseView('Waindigo_CustomFields_ViewAdmin_UserField_Import', 'user_field_import', $viewParams); } }
public function actionImport() { $userGroupModel = $this->_getUserGroupModel(); if ($this->isConfirmedPost()) { $input = $this->_input->filter(array('target' => XenForo_Input::STRING, 'overwrite_user_group_id' => XenForo_Input::UINT)); $upload = XenForo_Upload::getUploadedFile('upload'); if (!$upload) { return $this->responseError(new XenForo_Phrase('th_please_upload_valid_user_group_xml_file_usergroups')); } if ($input['target'] == 'overwrite') { $this->_getUserGroupOrError($input['overwrite_user_group_id']); } else { $input['overwrite_user_group_id'] = 0; } $document = $this->getHelper('Xml')->getXmlFromFile($upload); $caches = $userGroupModel->importUserGroupXml($document, $input['overwrite_user_group_id']); return XenForo_CacheRebuilder_Abstract::getRebuilderResponse($this, $caches, XenForo_Link::buildAdminLink('user-groups')); } else { $viewParams = array('userGroups' => $userGroupModel->getAllUserGroups()); return $this->responseView('ThemeHouse_UserGroups_ViewAdmin_UserGroup_Import', 'th_user_group_import_usergroups', $viewParams); } }
public function rebuildCache(array $input, $redirect, $submitUrl, $doRebuild = false) { $caches = $input['caches']; $position = $input['position']; $viewParams = array('detailedMessage' => ''); if ($doRebuild && $caches) { $cache = array_shift($caches); if (!is_array($cache)) { $options = array(); } else { list($cache, $options) = $cache; } $rebuilt = XenForo_CacheRebuilder_Abstract::getCacheRebuilder($cache)->rebuild($position, $options, $detailedMessage); if (is_int($rebuilt)) { // still doing this one array_unshift($caches, array($cache, $options)); $position = $rebuilt; $viewParams['detailedMessage'] = $detailedMessage; } else { $position = 0; } } if (!$caches) { return $this->_controller->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, $redirect); } $nextCache = reset($caches); if (is_array($nextCache)) { list($nextCache) = $nextCache; } $nextBuilder = XenForo_CacheRebuilder_Abstract::getCacheRebuilder($nextCache); $viewParams['rebuildMessage'] = $nextBuilder->getRebuildMessage(); $viewParams['showExitLink'] = $nextBuilder->showExitLink(); $viewParams['submitUrl'] = $submitUrl; $viewParams['elements'] = array('caches' => json_encode($caches), 'position' => $position, 'redirect' => $redirect); return $viewParams; }
/** * * @param array $cacheRebuilders */ public function addCacheRebuilders(array $cacheRebuilders) { if (self::$_dependencies instanceof XenForo_Dependencies_Admin) { XenForo_CacheRebuilder_Abstract::$builders = array_merge(XenForo_CacheRebuilder_Abstract::$builders, $cacheRebuilders); } }
public function actionImport() { $fieldModel = $this->_getFieldModel(); if ($this->isConfirmedPost()) { $input = $this->_input->filter(array('target' => XenForo_Input::STRING, 'field_group_id' => XenForo_Input::UINT, 'overwrite_field_id' => XenForo_Input::STRING)); $upload = XenForo_Upload::getUploadedFile('upload'); if (!$upload) { return $this->responseError(new XenForo_Phrase('please_upload_valid_field_xml_file')); } if ($input['target'] == 'overwrite') { $field = $this->_getFieldOrError($input['overwrite_field_id']); $input['field_group_id'] = $field['field_group_id']; } $document = $this->getHelper('Xml')->getXmlFromFile($upload); $caches = $fieldModel->importFieldXml($document, $input['field_group_id'], $input['overwrite_field_id']); return XenForo_CacheRebuilder_Abstract::getRebuilderResponse($this, $caches, XenForo_Link::buildAdminLink('thread-fields')); } else { $fieldModel = $this->_getFieldModel(); $viewParams = array('fieldGroupOptions' => $fieldModel->getThreadFieldGroupOptions(), 'fields' => $fieldModel->prepareThreadFields($fieldModel->getThreadFields())); return $this->responseView('Waindigo_CustomFields_ViewAdmin_ThreadField_Import', 'thread_field_import', $viewParams); } }
public function actionImport() { $styleModel = $this->_getStyleModel(); if ($this->isConfirmedPost()) { $input = $this->_input->filter(array('target' => XenForo_Input::STRING, 'parent_style_id' => XenForo_Input::UINT, 'overwrite_style_id' => XenForo_Input::UINT)); $upload = XenForo_Upload::getUploadedFile('upload'); if (!$upload) { return $this->responseError(new XenForo_Phrase('please_upload_valid_style_xml_file')); } if ($input['target'] == 'overwrite') { $this->_getStyleOrError($input['overwrite_style_id']); $input['parent_style_id'] = 0; } else { $input['overwrite_style_id'] = 0; } $document = $this->getHelper('Xml')->getXmlFromFile($upload); $caches = $styleModel->importStyleXml($document, $input['parent_style_id'], $input['overwrite_style_id']); return XenForo_CacheRebuilder_Abstract::getRebuilderResponse($this, $caches, XenForo_Link::buildAdminLink('styles')); } else { $viewParams = array('styles' => $styleModel->getAllStylesAsFlattenedTree()); return $this->responseView('XenForo_ViewAdmin_Style_Import', 'style_import', $viewParams); } }
/** * Upgrades the specified add-on. The given file must match the specified * add-on, or an error will occur. * * @return XenForo_ControllerResponse_Abstract */ public function actionUpgrade() { $this->_assertPostOnly(); $addOnId = $this->_input->filterSingle('addon_id', XenForo_Input::STRING); $addOn = $this->_getAddOnOrError($addOnId); $fileTransfer = new Zend_File_Transfer_Adapter_Http(); if ($fileTransfer->isUploaded('upload_file')) { $fileInfo = $fileTransfer->getFileInfo('upload_file'); $fileName = $fileInfo['upload_file']['tmp_name']; } else { $fileName = $this->_input->filterSingle('server_file', XenForo_Input::STRING); } $caches = $this->_getAddOnModel()->installAddOnXmlFromFile($fileName, $addOn['addon_id']); return XenForo_CacheRebuilder_Abstract::getRebuilderResponse($this, $caches, XenForo_Link::buildAdminLink('add-ons') . $this->getLastHash($addOnId)); }
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); } } }
public function actionImport() { $socialPermissionSetModel = $this->_getSocialPermissionSetModel(); if ($this->isConfirmedPost()) { $upload = XenForo_Upload::getUploadedFile('upload'); if (!$upload) { return $this->responseError(new XenForo_Phrase('th_please_upload_valid_social_permission_set_xml_file_socialperms')); } $document = $this->getHelper('Xml')->getXmlFromFile($upload); $caches = $socialPermissionSetModel->importSocialPermissionSetXml($document); return XenForo_CacheRebuilder_Abstract::getRebuilderResponse($this, $caches, XenForo_Link::buildAdminLink('social-permission-sets')); } else { return $this->responseView('ThemeHouse_SocialPerms_ViewAdmin_SocialPermissionSet_Import', 'th_social_permission_set_import_socialperms'); } }