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'); }
/** * 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()); }