/** * @param type $deliveryResultIdentifier lis_result_sourcedid * @param type $test ignored * @param taoResultServer_models_classes_Variable $testVariable * @param type $callIdTest ignored */ public function storeTestVariable($deliveryResultIdentifier, $test, taoResultServer_models_classes_Variable $testVariable, $callIdTest) { if (get_class($testVariable) == "taoResultServer_models_classes_OutcomeVariable") { common_Logger::i("Outcome submission VariableId. (" . $testVariable->getIdentifier() . ") Result Identifier (" . $deliveryResultIdentifier . ")Service URL (" . $this->serviceUrl . ")"); $variableIdentifier = $testVariable->getIdentifier(); if ($variableIdentifier == LTI_OUTCOME_VARIABLE_IDENTIFIER) { $grade = (string) $testVariable->getValue(); $message = taoLtiBasicOutcome_helpers_LtiBasicOutcome::buildXMLMessage($deliveryResultIdentifier, $grade, 'replaceResultRequest'); //common_Logger::i("Preparing POX message for the outcome service :".$message."\n"); $credentialResource = taoLti_models_classes_LtiService::singleton()->getCredential($this->consumerKey); //common_Logger::i("Credential for the consumerKey :". $credentialResource->getUri()."\n"); $credentials = new tao_models_classes_oauth_Credentials($credentialResource); //$this->serviceUrl = "http://tao-dev/log.php"; //Building POX raw http message $unSignedOutComeRequest = new common_http_Request($this->serviceUrl, 'POST', array()); $unSignedOutComeRequest->setBody($message); $signingService = new tao_models_classes_oauth_Service(); $signedRequest = $signingService->sign($unSignedOutComeRequest, $credentials, true); common_Logger::i("Request sent (Body)\n" . $signedRequest->getBody() . "\n"); common_Logger::i("Request sent (Headers)\n" . serialize($signedRequest->getHeaders()) . "\n"); common_Logger::i("Request sent (Headers)\n" . serialize($signedRequest->getParams()) . "\n"); //Hack for moodle comaptibility, the header is ignored for the signature computation $signedRequest->setHeader("Content-Type", "application/xml"); $response = $signedRequest->send(); common_Logger::i("\nHTTP Code received: " . $response->httpCode . "\n"); common_Logger::i("\nHTTP From: " . $response->effectiveUrl . "\n"); common_Logger::i("\nHTTP Content received: " . $response->responseData . "\n"); if ($response->httpCode != "200") { throw new common_exception_Error("An HTTP level proble occured when sending the outcome to the service url"); } } } }
/** * Entrypoint of every tool */ public function launch() { try { taoLti_models_classes_LtiService::singleton()->startLtiSession(common_http_Request::currentRequest()); // check if cookie has been set if (tao_models_classes_accessControl_AclProxy::hasAccess('verifyCookie', 'CookieUtils', 'taoLti')) { $this->redirect(_url('verifyCookie', 'CookieUtils', 'taoLti', array('session' => session_id(), 'redirect' => _url('run', null, null, $_GET)))); } else { $this->returnError(__('You are not authorized to use this system')); } } catch (common_user_auth_AuthFailedException $e) { common_Logger::i($e->getMessage()); $this->returnError(__('The LTI connection could not be established'), false); } catch (taoLti_models_classes_LtiException $e) { // In regard of the IMS LTI standard, we have to show a back button that refer to the // launch_presentation_return_url url param. So we have to retrieve this parameter before trying to start // the session $params = common_http_Request::currentRequest()->getParams(); if (isset($params[taoLti_models_classes_LtiLaunchData::TOOL_CONSUMER_INSTANCE_NAME])) { $this->setData('consumerLabel', $params[taoLti_models_classes_LtiLaunchData::TOOL_CONSUMER_INSTANCE_NAME]); } elseif (isset($params[taoLti_models_classes_LtiLaunchData::TOOL_CONSUMER_INSTANCE_DESCRIPTION])) { $this->setData('consumerLabel', $params[taoLti_models_classes_LtiLaunchData::TOOL_CONSUMER_INSTANCE_DESCRIPTION]); } if (isset($params[taoLti_models_classes_LtiLaunchData::LAUNCH_PRESENTATION_RETURN_URL])) { $this->setData('returnUrl', $params[taoLti_models_classes_LtiLaunchData::LAUNCH_PRESENTATION_RETURN_URL]); } common_Logger::i($e->getMessage()); $this->returnError(__('The LTI connection could not be established'), false); } catch (tao_models_classes_oauth_Exception $e) { common_Logger::i($e->getMessage()); $this->returnError(__('The LTI connection could not be established'), false); } }
public function __construct() { parent::__construct(); $authAdapter = new tao_models_classes_HttpBasicAuthAdapter(common_http_Request::currentRequest()); try { $user = $authAdapter->authenticate(); $session = new common_session_RestSession($user); \common_session_SessionManager::startSession($session); } catch (common_user_auth_AuthFailedException $e) { $this->requireLogin(); } /* $this->headers = tao_helpers_Http::getHeaders(); $this->files = tao_helpers_Http::getFiles(); */ if ($this->hasHeader("Accept")) { try { $this->responseEncoding = tao_helpers_Http::acceptHeader($this->acceptedMimeTypes, $this->getHeader("Accept")); } catch (common_exception_ClientException $e) { $this->returnFailure($e); } } if ($this->hasHeader("Accept-Language")) { try { } catch (common_exception_ClientException $e) { $this->returnFailure($e); } } header('Content-Type: ' . $this->responseEncoding); //check auth method requested /**/ }
/** * @deprecated use \oat\tao\model\requiredAction\implementation\RequiredActionRedirectUrlPart instead * * Execute an action * @param array $params * @return mixed */ public function execute(array $params = []) { $context = \Context::getInstance(); $excludedRoutes = $this->getExcludedRoutes(); $currentRoute = ['extension' => $context->getExtensionName(), 'module' => $context->getModuleName(), 'action' => $context->getActionName()]; if (!in_array($currentRoute, $excludedRoutes)) { $currentUrl = \common_http_Request::currentRequest()->getUrl(); $url = $this->url . (parse_url($this->url, PHP_URL_QUERY) ? '&' : '?') . 'return_url=' . urlencode($currentUrl); $flowController = new FlowController(); $flowController->redirect($url); } }
/** * Start the MVC Loop from the ClearFW * @throws ActionEnforcingException in case of wrong module or action * @throws tao_models_classes_UserException when a request try to acces a protected area */ protected function mvc() { $re = \common_http_Request::currentRequest(); $fc = new TaoFrontController(); $fc->legacy($re); }
public function __invoke(ServerRequestInterface $request, ResponseInterface $response) { $request->getUri(); $pRequest = \common_http_Request::currentRequest(); $this->legacy($pRequest, $response); }
private function getOauthRequest(common_http_Request $request) { $params = array(); $params = array_merge($params, $request->getParams()); //$params = array_merge($params, $request->getHeaders()); common_Logger::d("OAuth Request created:" . $request->getUrl() . " using " . $request->getMethod()); $oauthRequest = new OAuthRequest($request->getMethod(), $request->getUrl(), $params); return $oauthRequest; }
/** * * @param common_http_Request $request * @return taoLti_models_classes_LtiLaunchData */ public static function fromRequest(common_http_Request $request) { $extra = self::getParametersFromUrl($request->getUrl()); return new self($request->getParams(), $extra); }