Use PhutilBugtraqParser in Phabricator
Summary: Fixes T3840. Depends on D7021. See task for discussion. Also improved some config/help stuff. Test Plan: See screenshot. Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T3840 Differential Revision: https://secure.phabricator.com/D7022
This commit is contained in:
@@ -106,7 +106,7 @@ final class DiffusionCommitController extends DiffusionController {
|
||||
$message = $commit_data->getCommitMessage();
|
||||
|
||||
$revision = $commit->getCommitIdentifier();
|
||||
$message = $repository->linkBugtraq($message, $revision);
|
||||
$message = $this->linkBugtraq($message);
|
||||
|
||||
$message = $engine->markupText($message);
|
||||
|
||||
@@ -999,4 +999,27 @@ final class DiffusionCommitController extends DiffusionController {
|
||||
return $view;
|
||||
}
|
||||
|
||||
private function linkBugtraq($corpus) {
|
||||
$url = PhabricatorEnv::getEnvConfig('bugtraq.url');
|
||||
if (!strlen($url)) {
|
||||
return $corpus;
|
||||
}
|
||||
|
||||
$regexes = PhabricatorEnv::getEnvConfig('bugtraq.logregex');
|
||||
if (!$regexes) {
|
||||
return $corpus;
|
||||
}
|
||||
|
||||
$parser = id(new PhutilBugtraqParser())
|
||||
->setBugtraqPattern("[[ {$url} | %BUGID% ]]")
|
||||
->setBugtraqCaptureExpression(array_shift($regexes));
|
||||
|
||||
$select = array_shift($regexes);
|
||||
if ($select) {
|
||||
$parser->setBugtraqSelectExpression($select);
|
||||
}
|
||||
|
||||
return $parser->processCorpus($corpus);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user