/** * Create a new Redirect response. * * @param RedirectInterface $redirect * @return \Illuminate\Http\RedirectResponse */ public function create(RedirectInterface $redirect) { $parameters = array_merge(array_map(function () { return null; }, array_flip($this->route->parameterNames())), $this->route->parameters()); return $this->redirector->to($this->parser->parse($redirect->getTo(), $parameters), $redirect->getStatus(), [], $redirect->isSecure()); }
/** * Create a new Redirect response. * * @param RedirectInterface $redirect * @return \Illuminate\Http\RedirectResponse */ public function create(RedirectInterface $redirect) { $parameters = array_merge(array_map(function () { return null; }, array_flip($this->route->parameterNames())), $this->route->parameters()); if (!starts_with($url = $redirect->getTo(), ['http://', 'https://', '//'])) { $url = $this->url->to($redirect->getTo(), [], $redirect->isSecure()); } return $this->redirector->to(rtrim($this->parser->parse($url, $parameters), '/'), $redirect->getStatus()); }
/** * Handle the command. * * @param RedirectRepositoryInterface $redirects * @param Redirector $redirector * @param Parser $parser * @param Route $route * @return \Illuminate\Http\RedirectResponse */ public function handle(RedirectRepositoryInterface $redirects, Redirector $redirector, Parser $parser, Route $route) { $redirect = $redirects->find($this->id); $parameters = array_merge(array_map(function () { return null; }, array_flip($route->parameterNames())), $route->parameters()); return $redirector->to($parser->parse($redirect->getTo(), $parameters), $redirect->getStatus(), [], $redirect->isSecure()); }
/** * @param Route $route * @param CmfDbObject $object * @param array $conditions */ protected function addParentIdsConditionsForDbObjectInjection(Route $route, CmfDbObject $object, array &$conditions) { foreach ($route->parameterNames() as $name) { if ($object->_hasField($name)) { $conditions[$name] = $route->parameter($name); } } }
private function hasParameters(Route $route) { return count($route->parameterNames()) !== 0; }
/** * @param Route $route * @param UrlGenerator $urlGenerator * @param $queryString * @return bool */ private static function evaluateTemplated(Route $route, UrlGenerator $urlGenerator, $queryString) { // Does the route have named parameters? http://example.com/users/{users} if (count($route->parameterNames())) { return true; } $url = rawurldecode($urlGenerator->action($route->getActionName())); // Does the route's URI already contain a query string? http://example.com/users?page={page}&per_page={per_page} if (preg_match('/\\?.*=\\{.*?\\}/', $url)) { return true; } // Does the query string contain any parameters? if (preg_match('/\\?.*=\\{.*?\\}/', $queryString)) { return true; } return false; }