Fixed issue 126, easy link to a file in the repository from the tickets.
The syntax src:AUTHORS or src:src/IDF/Scm.php is allowed.
This commit is contained in:
parent
47f84bcb55
commit
9bcf99e3a7
@ -50,6 +50,8 @@ class IDF_Template_IssueComment extends Pluf_Template_Tag
|
|||||||
if ($request->rights['hasSourceAccess']) {
|
if ($request->rights['hasSourceAccess']) {
|
||||||
$text = preg_replace_callback('#(commit\s+)([0-9a-f]{1,40})#im',
|
$text = preg_replace_callback('#(commit\s+)([0-9a-f]{1,40})#im',
|
||||||
array($this, 'callbackCommit'), $text);
|
array($this, 'callbackCommit'), $text);
|
||||||
|
$text = preg_replace_callback('#(src:)([^\s\(\)]+)#im',
|
||||||
|
array($this, 'callbackSource'), $text);
|
||||||
}
|
}
|
||||||
if ($echo) {
|
if ($echo) {
|
||||||
echo $text;
|
echo $text;
|
||||||
@ -102,6 +104,24 @@ class IDF_Template_IssueComment extends Pluf_Template_Tag
|
|||||||
return '<a href="'.Pluf_HTTP_URL_urlForView('IDF_Views_Source::commit', array($this->project->shortname, $co->commit)).'">'.$m[1].$m[2].'</a>';
|
return '<a href="'.Pluf_HTTP_URL_urlForView('IDF_Views_Source::commit', array($this->project->shortname, $co->commit)).'">'.$m[1].$m[2].'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function callbackSource($m)
|
||||||
|
{
|
||||||
|
$branches = $this->scm->getBranches();
|
||||||
|
if (count($branches) == 0) return $m[0];
|
||||||
|
$file = $m[2];
|
||||||
|
if ('commit' != $this->scm->testHash($branches[0], $file)) {
|
||||||
|
return $m[0];
|
||||||
|
}
|
||||||
|
$request_file_info = $this->scm->getFileInfo($file, $branches[0]);
|
||||||
|
if (!$request_file_info) {
|
||||||
|
return $m[0];
|
||||||
|
}
|
||||||
|
if ($request_file_info->type != 'tree') {
|
||||||
|
return $m[1].'<a href="'.Pluf_HTTP_URL_urlForView('IDF_Views_Source::tree', array($this->project->shortname, $branches[0], $file)).'">'.$m[2].'</a>';
|
||||||
|
}
|
||||||
|
return $m[0];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the link to an issue.
|
* Generate the link to an issue.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user