if ($request->rights['hasSourceAccess']) {␊ |
$text = preg_replace_callback('#(commit\s+)([0-9a-f]{1,40})#im',␊ |
array($this, 'callbackCommit'), $text);␊ |
$text = preg_replace_callback('#(src:)([^\s\(\)]+)#im',␊ |
array($this, 'callbackSource'), $text);␊ |
}␊ |
if ($echo) {␊ |
echo $text;␊ |
|
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.␊ |
*␊ |