/** * Takes the raw request data and - depending on the request method * maps them into the request object. Afterwards all mapped arguments * can be retrieved by the getArgument(s) method, no matter if they * have been GET, POST or PUT arguments before. * * @param \F3\FLOW3\MVC\Web\Request $request The web request which will contain the arguments * @return void * @author Robert Lemke <*****@*****.**> */ protected function setArgumentsFromRawRequestData(\F3\FLOW3\MVC\Web\Request $request) { foreach ($request->getRequestUri()->getArguments() as $argumentName => $argumentValue) { $request->setArgument($argumentName, $argumentValue); } switch ($request->getMethod()) { case 'POST': foreach ($this->environment->getRawPostArguments() as $argumentName => $argumentValue) { $request->setArgument($argumentName, $argumentValue); } foreach ($this->environment->getUploadedFiles() as $argumentName => $argumentValue) { if ($request->hasArgument($argumentName)) { $existingArgumentValue = $request->getArgument($argumentName); if (is_array($existingArgumentValue)) { $request->setArgument($argumentName, \F3\FLOW3\Utility\Arrays::arrayMergeRecursiveOverrule($existingArgumentValue, $argumentValue)); } } else { $request->setArgument($argumentName, $argumentValue); } } break; # case 'PUT' : # $putArguments = array(); # parse_str(file_get_contents("php://input"), $putArguments); # foreach ($putArguments as $argumentName => $argumentValue) { # $request->setArgument($argumentName, $argumentValue); # } # break; } }
/** * Updates the username and password credentials from the POST vars, if the POST parameters * are available. Sets the authentication status to REAUTHENTICATION_NEEDED, if credentials have been sent. * * @return void * @author Andreas Förthner <*****@*****.**> */ public function updateCredentials() { $postArguments = $this->environment->getRawPostArguments(); if (isset($postArguments['F3\\FLOW3\\Security\\Authentication\\Token\\UsernamePassword::username']) && isset($postArguments['F3\\FLOW3\\Security\\Authentication\\Token\\UsernamePassword::password'])) { $this->credentials['username'] = $postArguments['F3\\FLOW3\\Security\\Authentication\\Token\\UsernamePassword::username']; $this->credentials['password'] = $postArguments['F3\\FLOW3\\Security\\Authentication\\Token\\UsernamePassword::password']; $this->setAuthenticationStatus(self::AUTHENTICATION_NEEDED); } }