Example #1
0
 /**
  * @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);
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 /**
  * 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);
 }
Example #4
0
 /**
  * Process post data and call create
  *
  * @param Request $request
  * @return mixed
  */
 public function processPostData(Request $request)
 {
     return $this->create($request->getPost()->toArray());
 }
Example #5
0
 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')));
 }
Example #6
0
 /**
  * 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;
 }