Add a method to get the absolute url for a route

Fix #10926
This commit is contained in:
Joas Schilling 2014-09-08 14:43:14 +02:00
parent 637cff68ac
commit c5b5378558
2 changed files with 22 additions and 1 deletions

View File

@ -35,13 +35,26 @@ class URLGenerator implements IURLGenerator {
* @internal param array $args with param=>value, will be appended to the returned url * @internal param array $args with param=>value, will be appended to the returned url
* @return string the url * @return string the url
* *
* Returns a url to the given app and file. * Returns a url to the given route.
*/ */
public function linkToRoute($route, $parameters = array()) { public function linkToRoute($route, $parameters = array()) {
$urlLinkTo = \OC::$server->getRouter()->generate($route, $parameters); $urlLinkTo = \OC::$server->getRouter()->generate($route, $parameters);
return $urlLinkTo; return $urlLinkTo;
} }
/**
* Creates an absolute url using a defined route
* @param string $route
* @param array $parameters
* @internal param array $args with param=>value, will be appended to the returned url
* @return string the url
*
* Returns an absolute url to the given route.
*/
public function linkToRouteAbsolute($routeName, $arguments = array()) {
return $this->getAbsoluteURL($this->linkToRoute($routeName, $arguments));
}
/** /**
* Creates an url * Creates an url
* @param string $app app * @param string $app app

View File

@ -42,6 +42,14 @@ interface IURLGenerator {
*/ */
public function linkToRoute($routeName, $arguments = array()); public function linkToRoute($routeName, $arguments = array());
/**
* Returns the absolute URL for a route
* @param string $routeName the name of the route
* @param array $arguments an array with arguments which will be filled into the url
* @return string the absolute url
*/
public function linkToRouteAbsolute($routeName, $arguments = array());
/** /**
* Returns an URL for an image or file * Returns an URL for an image or file
* @param string $appName the name of the app * @param string $appName the name of the app