public static function responseView(XenForo_Controller $controller, XenForo_Input $input, array $params = array()) { self::$controller = $controller; self::$input = $input; $setup = Nobita_Teams_Setup::getInstance(); self::$setup = $setup; $provider = $setup->getOption('photoProvider'); if ($provider == 'sonnb_xengallery') { $params = array_merge($params, self::_sonnbPhotoIndexParams()); } else { if ($provider == 'XenGallery') { $params = array_merge($params, self::_xenMediaPhotoIndexParams($params['team'])); } } return $controller->getHelper('Nobita_Teams_ControllerHelper_Team')->getTeamViewWrapper('photos', $params['team'], $params['category'], $controller->responseView($params['viewName'], $params['templateName'], $params)); }
public static function checkConfiguration(XenForo_Controller $controller, $class, $prefix, $contentType, array &$configValues, array $configDefinitions) { if ($controller->getInput()->filterSingle('_xfConfirm', XenForo_Input::UINT)) { foreach ($configValues as $name => $value) { $newValue = $controller->getInput()->filterSingle($name, XenForo_Input::STRING); if ($newValue) { $configValues[$name] = $newValue; } elseif (!$configValues[$name] && !empty($configDefinitions[$name]['required'])) { throw $controller->responseException($controller->responseError(new XenForo_Phrase('please_complete_required_fields'))); } } return true; } $methodTemplateId = $controller->getInput()->filterSingle('method_template_id', XenForo_Input::UINT); $viewParams = array('configValues' => $configValues, 'configDefinitions' => $configDefinitions, 'methodTemplateId' => $methodTemplateId, 'class' => $class, 'prefix' => $prefix, 'contentType' => $contentType); throw $controller->responseException($controller->responseView('ThemeHouse_Reflection_ViewAdmin_MethodTemplate_Config', 'th_method_template_config_reflection', $viewParams)); }
public function handleManage(XenForo_Controller $controller, array $user, array $providerData) { $input = $controller->getInput(); if ($controller->isConfirmedPost()) { if ($input->filterSingle('regen', XenForo_Input::BOOLEAN)) { $newProviderData = $this->generateInitialData($user, array()); /** @var XenForo_Model_Tfa $tfaModel */ $tfaModel = XenForo_Model::create('XenForo_Model_Tfa'); $tfaModel->enableUserTfaProvider($user['user_id'], $this->_providerId, $newProviderData); return $controller->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, XenForo_Link::buildPublicLink('account/two-step/manage', null, array('provider' => $this->_providerId))); } else { return null; } } $viewParams = array('provider' => $this, 'providerId' => $this->_providerId, 'user' => $user, 'providerData' => $providerData, 'usedCodes' => $this->_formatCodesForDisplay($providerData['used']), 'availableCodes' => $this->_formatCodesForDisplay($providerData['codes'])); return $controller->responseView('XenForo_ViewPublic_Account_Tfa_BackupManage', 'account_two_step_backup_manage', $viewParams); }
public function handleManage(XenForo_Controller $controller, array $user, array $providerData) { $input = $controller->getInput(); $request = $controller->getRequest(); $session = XenForo_Application::getSession(); $newProviderData = null; $newTriggerData = null; $showSetup = false; if ($controller->isConfirmedPost()) { $sessionKey = 'tfaData_totp'; if ($input->filterSingle('regen', XenForo_Input::BOOLEAN)) { $newProviderData = $this->generateInitialData($user, array()); $newTriggerData = $this->triggerVerification('setup', $user, $request->getClientIp(false), $newProviderData); $session->set($sessionKey, $newProviderData); $showSetup = true; } else { if ($input->filterSingle('confirm', XenForo_Input::BOOLEAN)) { $newProviderData = $session->get($sessionKey); if (!is_array($newProviderData)) { return null; } if (!$this->verifyFromInput('setup', $input, $user, $newProviderData)) { return $controller->responseError(new XenForo_Phrase('two_step_verification_value_could_not_be_confirmed')); } /** @var XenForo_Model_Tfa $tfaModel */ $tfaModel = XenForo_Model::create('XenForo_Model_Tfa'); $tfaModel->enableUserTfaProvider($user['user_id'], $this->_providerId, $newProviderData); $session->remove($sessionKey); return null; } else { return null; } } } $viewParams = array('provider' => $this, 'providerId' => $this->_providerId, 'user' => $user, 'providerData' => $providerData, 'newProviderData' => $newProviderData, 'newTriggerData' => $newTriggerData, 'showSetup' => $showSetup); return $controller->responseView('XenForo_ViewPublic_Account_Tfa_TotpManage', 'account_two_step_totp_manage', $viewParams); }
protected function _generateControllerResponse(XenForo_Controller $controller, OAuth2\Response $response) { if ($response->isRedirection()) { return $controller->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, $response->getHttpHeader('Location')); } $params = $response->getParameters(); $params['_statusCode'] = $response->getStatusCode(); $params['_headers'] = $response->getHttpHeaders(); if ($controller instanceof bdApi_ControllerApi_Abstract) { return $controller->responseData('bdApi_ViewApi_OAuth', $params); } else { if ($response->isClientError()) { return $controller->responseError($response->getParameter('error_description'), $response->getStatusCode()); } else { $controller->getRouteMatch()->setResponseType('json'); return $controller->responseView('bdApi_ViewPublic_OAuth', '', $params); } } }