From f78806405059646463660f586b2f1680dec11f7e Mon Sep 17 00:00:00 2001 From: haneul Date: Tue, 23 Dec 2008 06:30:56 +0000 Subject: [PATCH] #17569922 : added link to issue and changeset git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5165 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/issuetracker/classes/svn.class.php | 4 ++-- .../issuetracker/issuetracker.controller.php | 2 +- modules/issuetracker/issuetracker.model.php | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/modules/issuetracker/classes/svn.class.php b/modules/issuetracker/classes/svn.class.php index adba14c52..f4466d962 100644 --- a/modules/issuetracker/classes/svn.class.php +++ b/modules/issuetracker/classes/svn.class.php @@ -245,7 +245,7 @@ return $output; } - function getLog($path, $erev=null, $brev=null, $quiet = false, $limit = 2) { + function getLog($path, $erev=null, $brev=null, $quiet = false, $limit = 2, $link = true) { if(strpos($path,'..')!==false) return; $command = sprintf( @@ -287,7 +287,7 @@ $obj->paths[] = $tmp_obj; } - $obj->msg = $this->linkXE($tmp->msg->body); + $obj->msg = $link?$this->linkXE($tmp->msg->body):$tmp->msg->body; $output[] = $obj; } return $output; diff --git a/modules/issuetracker/issuetracker.controller.php b/modules/issuetracker/issuetracker.controller.php index c2e083ba0..a4e77cb0a 100644 --- a/modules/issuetracker/issuetracker.controller.php +++ b/modules/issuetracker/issuetracker.controller.php @@ -396,7 +396,7 @@ $oController = &getController('issuetracker'); if($latestRevision < $status->revision) { - $logs = $oSvn->getLog("/", $latestRevision+1, $status->revision, false, $status->revision-$latestRevision); + $logs = $oSvn->getLog("/", $latestRevision+1, $status->revision, false, $status->revision-$latestRevision, false); foreach($logs as $log) { $obj = null; diff --git a/modules/issuetracker/issuetracker.model.php b/modules/issuetracker/issuetracker.model.php index 5b9e0161d..6112b94d9 100644 --- a/modules/issuetracker/issuetracker.model.php +++ b/modules/issuetracker/issuetracker.model.php @@ -190,6 +190,10 @@ for($k=0;$kcontent = str_replace('r'.$mat[1][$k], sprintf('%s',getUrl('','mid',Context::get('mid'),'act','dispIssuetrackerViewSource','type','compare','erev',$mat[1][$k],'brev',''), 'r'.$mat[1][$k]), $histories[$i]->content); } + preg_match_all('/\[([0-9]+)\]/',$histories[$i]->content, $mat); + for($k=0;$kcontent = str_replace('['.$mat[1][$k].']', sprintf('%s',getUrl('','mid',Context::get('mid'),'act','dispIssuetrackerViewSource','type','compare','erev',$mat[1][$k],'brev',''), '['.$mat[1][$k].']'), $histories[$i]->content); + } } return $histories; } @@ -368,6 +372,16 @@ else return 0; } + function _linkDocument($matches) { + $document_srl = $matches[1]; + return sprintf('#%d', getUrl('','document_srl',$document_srl), $document_srl); + } + + function _linkXE($message) + { + return preg_replace_callback('/^\#?([0-9]+)( |\:)/', array($this, '_linkDocument'), $message); + } + function getChangesets($module_srl, $enddate = null, $limit = 10) { @@ -384,6 +398,10 @@ debugPrint($output); return array(); } + foreach($output->data as $key => $changeset) + { + $changeset->message = $this->_linkXE($changeset->message); + } $solvedHistory = array(); $output2 = executeQueryArray("issuetracker.getHistories", $args);