project = $request->project; $this->request = $request; // Replace like in the issue text $tag = new IDF_Template_IssueComment(); $text = $tag->start($text, $request, false, false, false, false); // Replace [[PageName]] with corresponding link to the page. // if not the right to see the $text = preg_replace_callback('#\[\[([A-Za-z0-9\-]+)\]\]#im', array($this, 'callbackWikiPage'), $text); $filter = new IDF_Template_MarkdownPrefilter(); echo $filter->go(Pluf_Text_MarkDown_parse($text)); } function callbackWikiPage($m) { $sql = new Pluf_SQL('project=%s AND title=%s', array($this->project->id, $m[1])); $pages = Pluf::factory('IDF_WikiPage')->getList(array('filter'=>$sql->gen())); if ($pages->count() != 1) { return $m[0]; } if (!$this->request->rights['hasWikiAccess']) { return $m[1]; } return ''.$m[1].''; } }