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());
 }
Example #2
0
 /**
  * @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());
 }
Example #3
0
 /**
  * Replace all _GET values with provided values
  *
  * @param array $values
  */
 public function setAll($values)
 {
     $this->request->setQuery($values);
 }
Example #4
0
 /**
  * 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);
             }
         }
     }
 }
Example #5
0
    /**
     * @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;
    }
Example #6
0
 /**
  * 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);
         }
     }
 }
Example #7
0
 /**
  * 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);
 }