public function testRequestQueriesGettingReplacd() { $request = new \Enlight_Controller_Request_RequestHttp(); $request->setQuery('q', 'someValue'); $request->setQuery('p', 'someOtherValue'); $request->setQuery('someParam', 'someValue'); $mapping = ['sSearch' => 'q', 'sPage' => 'p']; $mapper = new QueryAliasMapper($mapping); $mapper->replaceShortRequestQueries($request); $expected = ['someParam' => 'someValue', 'sSearch' => 'someValue', 'sPage' => 'someOtherValue']; $this->assertEquals($expected, $request->getParams()); }
/** * @param Enlight_Controller_Request_RequestHttp $request */ protected function fixRequest($request) { $aliases = array('sViewport' => 'controller', 'sAction' => 'action'); foreach ($aliases as $key => $alias) { if (($value = $request->getParam($key)) !== null) { $request->setParam($alias, $value); $request->setAlias($key, $alias); } } $request->setQuery($request->getUserParams() + $request->getQuery()); }
/** * Replace all _GET values with provided values * * @param array $values */ public function setAll($values) { $this->request->setQuery($values); }
/** * Sets the shopware cache headers */ public function setControllerOptions() { $controllerName = $this->request->getModuleName() . '/' . $this->request->getControllerName(); if(isset($this->controllerOptions[$controllerName]) && $this->request->getParam('rewriteUrl')) { $options = $this->controllerOptions[$controllerName]; $query = $this->request->getQuery(); $result = array_intersect_key($query, $options); $cookie = 'controller-options-' . $this->request->getBaseUrl() . $this->request->getPathInfo(); if(count($result) > 0) { $options = $this->request->getCookie($cookie); if($options !== null) { parse_str($options, $options); } else { $options = array(); } $options = array_merge($options, $result); ksort($options); $options = http_build_query($options, '', '&'); $this->response->setCookie( $cookie, $options, 0, null, //$this->request->getBasePath() . '/', $this->request->getHttpHost() ); $location = array_diff($query, $result); $location = $this->action->Front()->Router()->assemble($location); $this->action->redirect($location); } else { $options = $this->request->getCookie($cookie); if($options !== null) { parse_str($options, $options); $this->request->setQuery($options); } } } }
/** * @param Symfony\Component\HttpFoundation\Request $request * @return \Enlight_Controller_Request_RequestHttp */ public function createRequest(Request $request) { $request->overrideGlobals(); $request = new ControllerRequest( str_replace(" ","+",$request->getUri()) ); $request->setQuery($request->getQuery()); return $request; }
/** * Replaces the query params with their mathing long form * * @param \Enlight_Controller_Request_RequestHttp $request */ public function replaceShortRequestQueries(\Enlight_Controller_Request_RequestHttp $request) { foreach ($this->getQueryAliases() as $key => $alias) { $value = $request->getQuery($alias); if ($value !== null) { $request->setQuery($key, $value); $request->setQuery($alias, null); } } }
/** * Set GET values method * * @param string|array $spec * @param null|mixed $value * @return Zend_Controller_Request_Http */ public function setQuery($spec, $value = null) { if (!is_array($spec) && $value === null) { unset($_GET[$spec]); return $this; } elseif (is_array($spec) && empty($spec)) { $_GET = array(); return $this; } return parent::setQuery($spec, $value); }