diff --git includes/interfaces.inc includes/interfaces.inc index c5a559d..2db2854 100644 --- includes/interfaces.inc +++ includes/interfaces.inc @@ -385,19 +385,4 @@ interface VersioncontrolWebviewerUrlHandlerInterface { * or if the two items cannot be diffed for any reason. */ public function getDiffUrl(&$file_item_new, $file_item_old); - - /** - * Retrieve the URL of the issue tracker that displays the issue/case/bug page - * of an issue id which presumably has been mentioned in a commit message. - * As issue tracker URLs are specific to each repository, this also needs - * to be given as argument. - * - * @param $issue_id - * A number that uniquely identifies the mentioned issue/case/bug. - * - * @return - * The issue tracker URL corresponding to the given arguments. - * An empty string is returned if no issue tracker URL has been defined. - */ - public function getTrackerUrl($issue_id); } diff --git includes/plugins/webviewer_url_handlers/VersioncontrolRepositoryUrlHandler.inc includes/plugins/webviewer_url_handlers/VersioncontrolRepositoryUrlHandler.inc index 37ac6b7..87cc4f2 100644 --- includes/plugins/webviewer_url_handlers/VersioncontrolRepositoryUrlHandler.inc +++ includes/plugins/webviewer_url_handlers/VersioncontrolRepositoryUrlHandler.inc @@ -39,10 +39,10 @@ class VersioncontrolRepositoryUrlHandler implements VersioncontrolWebviewerUrlHa } public function getTemplateUrl($name) { - if (empty($this->templateUrls[$name])) { + if (!isset($this->templateUrls[$name]) || empty($this->templateUrls[$name])) { return ''; } - return sprintf('%s/%s', $this->baseUrl, $this->templateUrls[$name]); + return strtr($this->templateUrls[$name], array('%base_url' => $this->baseUrl)); } /** @@ -89,21 +89,18 @@ class VersioncontrolRepositoryUrlHandler implements VersioncontrolWebviewerUrlHa $current_branch = $label->name; } + $placeholders = array( + '%repo_name' => $this->repository->name, + '%path' => $item->path, + '%revision' => $item->revision, + '%branch' => isset($current_branch) ? $current_branch : '', + ); + if ($item->isFile()) { - return strtr($this->getTemplateUrl('file_log_view'), array( - '%repo_name' => $this->repository->name, - '%path' => $item->path, - '%revision' => $item->revision, - '%branch' => isset($current_branch) ? $current_branch : '', - )); + return strtr($this->getTemplateUrl('file_log_view'), $placeholders); } else { // directory - return strtr($this->getTemplateUrl('directory_log_view'), array( - '%repo_name' => $this->repository->name, - '%path' => $item->path, - '%revision' => $item->revision, - '%branch' => isset($current_branch) ? $current_branch : '', - )); + return strtr($this->getTemplateUrl('directory_log_view'), $placeholders); } }