diff options
-rw-r--r-- | app/Templates/comment_show.php | 15 | ||||
-rw-r--r-- | app/Templates/task_comments.php | 2 | ||||
-rw-r--r-- | app/Templates/task_public.php | 20 | ||||
-rw-r--r-- | app/Templates/task_show.php | 2 | ||||
-rw-r--r-- | app/Templates/task_show_description.php | 15 | ||||
-rw-r--r-- | app/helpers.php | 14 |
6 files changed, 59 insertions, 9 deletions
diff --git a/app/Templates/comment_show.php b/app/Templates/comment_show.php index 5069120d..b2ccc25a 100644 --- a/app/Templates/comment_show.php +++ b/app/Templates/comment_show.php @@ -21,7 +21,20 @@ <?php endif ?> <div class="markdown"> - <?= Helper\markdown($comment['comment']) ?> + <?php if (isset($is_public) && $is_public): ?> + <?= Helper\markdown( + $comment['comment'], + array( + 'controller' => 'task', + 'action' => 'readonly', + 'params' => array( + 'token' => $project['token'] + ) + ) + ) ?> + <?php else: ?> + <?= Helper\markdown($comment['comment']) ?> + <?php endif ?> </div> </div> diff --git a/app/Templates/task_comments.php b/app/Templates/task_comments.php index 12deff98..5cfa99ce 100644 --- a/app/Templates/task_comments.php +++ b/app/Templates/task_comments.php @@ -8,7 +8,9 @@ <?= Helper\template('comment_show', array( 'comment' => $comment, 'task' => $task, + 'project' => $project, 'not_editable' => isset($not_editable) && $not_editable, + 'is_public' => isset($is_public) && $is_public, )) ?> <?php endforeach ?> diff --git a/app/Templates/task_public.php b/app/Templates/task_public.php index 3f44ceec..13fef1ed 100644 --- a/app/Templates/task_public.php +++ b/app/Templates/task_public.php @@ -4,10 +4,24 @@ <p class="pull-right"><?= Helper\a(t('Back to the board'), 'board', 'readonly', array('token' => $project['token'])) ?></p> - <?= Helper\template('task_show_description', array('task' => $task)) ?> + <?= Helper\template('task_show_description', array( + 'task' => $task, + 'project' => $project, + 'is_public' => true + )) ?> - <?= Helper\template('subtask_show', array('task' => $task, 'subtasks' => $subtasks, 'not_editable' => true)) ?> + <?= Helper\template('subtask_show', array( + 'task' => $task, + 'subtasks' => $subtasks, + 'not_editable' => true + )) ?> - <?= Helper\template('task_comments', array('task' => $task, 'comments' => $comments, 'not_editable' => true)) ?> + <?= Helper\template('task_comments', array( + 'task' => $task, + 'comments' => $comments, + 'project' => $project, + 'not_editable' => true, + 'is_public' => true, + )) ?> </section>
\ No newline at end of file diff --git a/app/Templates/task_show.php b/app/Templates/task_show.php index 0964a8f0..ec5d5da4 100644 --- a/app/Templates/task_show.php +++ b/app/Templates/task_show.php @@ -4,4 +4,4 @@ <?= Helper\template('subtask_show', array('task' => $task, 'subtasks' => $subtasks)) ?> <?= Helper\template('task_timesheet', array('timesheet' => $timesheet)) ?> <?= Helper\template('file_show', array('task' => $task, 'files' => $files)) ?> -<?= Helper\template('task_comments', array('task' => $task, 'comments' => $comments)) ?>
\ No newline at end of file +<?= Helper\template('task_comments', array('task' => $task, 'comments' => $comments, 'project' => $project)) ?>
\ No newline at end of file diff --git a/app/Templates/task_show_description.php b/app/Templates/task_show_description.php index 67a38444..25312149 100644 --- a/app/Templates/task_show_description.php +++ b/app/Templates/task_show_description.php @@ -5,7 +5,20 @@ </div> <article class="markdown task-show-description"> - <?= Helper\markdown($task['description']) ?: t('There is no description.') ?> + <?php if (! isset($is_public)): ?> + <?= Helper\markdown($task['description']) ?> + <?php else: ?> + <?= Helper\markdown( + $task['description'], + array( + 'controller' => 'task', + 'action' => 'readonly', + 'params' => array( + 'token' => $project['token'] + ) + ) + ) ?> + <?php endif ?> </article> </div> <?php endif ?>
\ No newline at end of file diff --git a/app/helpers.php b/app/helpers.php index 9e0c2698..cd6d630e 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -103,17 +103,25 @@ function get_user_id() /** * Markdown transformation * - * @param string $text Markdown content + * @param string $text Markdown content + * @param array $link Link parameters for replacement * @return string */ -function markdown($text) +function markdown($text, array $link = array('controller' => 'task', 'action' => 'show', 'params' => array())) { $html = Parsedown::instance() ->setMarkupEscaped(true) # escapes markup (HTML) ->text($text); // Replace task #123 by a link to the task - $html = preg_replace('!#(\d+)!i', '<a href="?controller=task&action=show&task_id=$1">$0</a>', $html); + $html = preg_replace_callback('!#(\d+)!i', function($matches) use ($link) { + return a( + $matches[0], + $link['controller'], + $link['action'], + $link['params'] + array('task_id' => $matches[1]) + ); + }, $html); return $html; } |