/** * @param string $param * @param mixed $default * @return mixed */ public function fromQuery($param = null, $default = null) { if ($param === null) { return $this->request->getQuery($param, $default)->toArray(); } return $this->request->getPost($param, $default); }
/** * Mimics zf1 Request::getParam behavior * * Route match -> GET -> POST */ public static function staticGetParam(RouteMatch $routeMatch, Request $request, $param = null, $default = null) { if ($param === null) { $params = (array) $routeMatch->getParams(); if ($request instanceof ConsoleRequest) { return $params + (array) $request->getParams(); } return $params + $request->getQuery()->toArray() + $request->getPost()->toArray(); } if ($request instanceof ConsoleRequest) { $default = $request->getParam($param, $default); } else { $default = $request->getQuery($param, $request->getPost($param, $default)); } return $routeMatch->getParam($param, $default); }
/** * Process post data and call create * * This method is overridden from the AbstractRestfulController to allow * processing of multipart POSTs. * * @param Request $request * @return mixed */ public function processPostData(Request $request) { $contentType = $request->getHeader('content-type'); if ($contentType->match('multipart/form-data')) { $content = $request->getPost('data'); $fileData = $request->getFiles()->toArray(); } else { $content = $request->getContent(); $fileData = null; } $data = Json::decode($content, $this->jsonDecodeType); return $this->create($data, $fileData); }
/** * Process post data and call create * * @param Request $request * @return mixed */ public function processPostData(Request $request) { return $this->create($request->getPost()->toArray()); }
public function setMethod(Request $request, $uri) { $method = $this->getMethodType($uri); $request->getQuery()->set('viewMethod', strtolower($method ?: 'html')); $request->getQuery()->set('method', strtoupper($request->getQuery()->get('method') ?: $request->getPost()->get('method') ?: filter_input(INPUT_SERVER, 'REQUEST_METHOD'))); }
/** * Support method for init() -- figure out which theme option is active. * * @param Request $request Request object (for obtaining user parameters). * * @return string */ protected function pickTheme(Request $request) { // Load standard configuration options: $standardTheme = $this->config->Site->theme; $mobileTheme = isset($this->config->Site->mobile_theme) ? $this->config->Site->mobile_theme : false; // Find out if the user has a saved preference in the POST, URL or cookies: $selectedUI = $request->getPost()->get('ui', $request->getQuery()->get('ui', isset($request->getCookie()->ui) ? $request->getCookie()->ui : null)); if (empty($selectedUI)) { $selectedUI = $mobileTheme && Mobile::detect() ? 'mobile' : 'standard'; } // Save the current setting to a cookie so it persists: $_COOKIE['ui'] = $selectedUI; setcookie('ui', $selectedUI, null, '/'); // Do we have a valid mobile selection? if ($mobileTheme && $selectedUI == 'mobile') { return $mobileTheme; } // Do we have a non-standard selection? if ($selectedUI != 'standard' && isset($this->config->Site->alternate_themes)) { // Check the alternate theme settings for a match: $parts = explode(',', $this->config->Site->alternate_themes); foreach ($parts as $part) { $subparts = explode(':', $part); if (trim($subparts[0]) == trim($selectedUI) && isset($subparts[1]) && !empty($subparts[1])) { return $subparts[1]; } } } // If we got this far, we either have a standard option or the user chose // an invalid non-standard option; either way, we need to default to the // standard theme: return $standardTheme; }