From 4e9e1d465ebd4980d60cd825af4da1df5075cb6b Mon Sep 17 00:00:00 2001 From: Mohamed Alsharaf Date: Mon, 27 Jan 2014 10:34:37 +1300 Subject: [PATCH] new feature: convert issue no. text into the issue url --- .../models/project/issue/comment.php | 5 ++++- app/application/routes.php | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/application/models/project/issue/comment.php b/app/application/models/project/issue/comment.php index 18ae559e8..98019ce3f 100644 --- a/app/application/models/project/issue/comment.php +++ b/app/application/models/project/issue/comment.php @@ -111,6 +111,9 @@ public static function delete_comment($comment) */ public static function format($body) { - return \Sparkdown\Markdown($body); + $body = \Sparkdown\Markdown($body); + + // convert issue numbers into issue url + return preg_replace('/((?:' . __('tinyissue.issue') . ')?)(\s*)#(\d+)/i', '$1 #$3', $body); } } diff --git a/app/application/routes.php b/app/application/routes.php index 46c114327..efc708aaf 100644 --- a/app/application/routes.php +++ b/app/application/routes.php @@ -110,6 +110,11 @@ Route::filter('project', function() { + // find project id from issue object + if (Request::route()->parameters[0] == 0) { + return; + } + Project::load_project(Request::route()->parameters[0]); if(!Project::current()) @@ -126,9 +131,19 @@ { return Response::error('404'); } + + // load project + if (Request::route()->parameters[0] == 0) { + Request::route()->parameters = array( + Project\Issue::current()->project_id, + Project\Issue::current()->id + ); + + Project::load_project(Request::route()->parameters[0]); + } }); Route::filter('permission', function($permission) { if(!Auth::user()->permission($permission)) return Response::error('500'); -}); \ No newline at end of file +});