public function testGenerateLinkWithReturnUrlWithQueryParameters()
 {
     $this->assertEquals('some/page?q=something&return=return%2Fpage', UrlUtilities::generateLinkWithReturnUrl('some/page?q=something', 'return/page'));
     $this->assertEquals('some/page?q=something&foo=bar&return=return%2Fpage', UrlUtilities::generateLinkWithReturnUrl('some/page?q=something&foo=bar', 'return/page'));
     $this->assertEquals('some/page?return=return%2Fpage%3Fq%3Dquery', UrlUtilities::generateLinkWithReturnUrl('some/page', 'return/page?q=query'));
     $this->assertEquals('some/page?return=return%2Fpage%3Fq%3Dquery%26x%3Dy', UrlUtilities::generateLinkWithReturnUrl('some/page', 'return/page?q=query&x=y'));
     $this->assertEquals('some/page?q=something&return=return%2Fpage%3Fq%3Dquery', UrlUtilities::generateLinkWithReturnUrl('some/page?q=something', 'return/page?q=query'));
     $this->assertEquals('some/page?q=something&foo=bar&return=return%2Fpage%3Fq%3Dquery%26x%3Dy', UrlUtilities::generateLinkWithReturnUrl('some/page?q=something&foo=bar', 'return/page?q=query&x=y'));
 }
 /**
  * Shortcut method to get the submission URL for the form.
  *
  * @param string $formUrl
  *
  * @return string
  */
 public function getSubmitUrl($formUrl = null)
 {
     $submitUrl = $this->getFormsModule()->getRouteUrl('form', $this->getFormKey());
     return is_null($formUrl) ? $submitUrl : UrlUtilities::generateLinkWithReturnUrl($submitUrl, $formUrl, 'form-url');
 }
Exemple #3
0
 /**
  * Utilise AddTrolleyItemFormBuilder to create the 'add trolley item' form.
  *
  * @param string $moduleName
  * @param string $type
  * @param integer $id
  * @param string $formUrl
  *
  * @return \Sitegear\Form\FormInterface
  */
 public function buildAddTrolleyItemForm($moduleName, $type, $id, $formUrl)
 {
     LoggerRegistry::debug('CustomerModule::buildAddTrolleyItemForm({moduleName}, {type}, {id}, {formUrl})', array('moduleName' => TypeUtilities::describe($moduleName), 'type' => TypeUtilities::describe($type), 'id' => TypeUtilities::describe($id), 'formUrl' => TypeUtilities::describe($formUrl)));
     $submitUrl = $this->getRouteUrl('add-trolley-item');
     $submitUrl = UrlUtilities::generateLinkWithReturnUrl($submitUrl, $formUrl, 'form-url');
     $formBuilder = new AddTrolleyItemFormBuilder($this->getEngine()->forms(), $this->config('add-trolley-item.form-key'));
     $form = $formBuilder->buildForm(array('module-name' => $moduleName, 'type' => $type, 'id' => $id, 'submit-url' => $submitUrl, 'labels' => array('quantity-field' => $this->config('add-trolley-item.quantity-field'), 'no-value-option' => $this->config('add-trolley-item.no-value-option'), 'value-format' => $this->config('add-trolley-item.value-format'))));
     return $form;
 }
 /**
  * Get the URL for a login or logout link according to the specified key.
  *
  * @param string $key Either 'login' or 'logout'.
  * @param Request $request The request providing the URL to return to, after completing the action.
  *
  * @return string Generated URL.
  */
 public function getAuthenticationLinkUrl($key, Request $request)
 {
     return UrlUtilities::generateLinkWithReturnUrl($this->getRouteUrl($key), $request->getUri());
 }