1
0
mirror of synced 2024-12-16 16:16:04 +03:00
doctrine2/manual/new/lib/Text/Wiki/Parse/Doc/Doclink.php

38 lines
895 B
PHP
Raw Normal View History

<?php
class Text_Wiki_Parse_Doclink extends Text_Wiki_Parse {
var $conf = array(
'toc' => null
);
var $regex = '/\[doc ([a-z0-9-]+(?::[a-z0-9-]+)*)(?: ([^\n\]]*))?]/';
function process(&$matches)
{
$toc = $this->getConf('toc');
if ($toc instanceof Sensei_Doc_Toc) {
$section = $toc->findByPath($matches[1]);
}
if (isset($section)) {
$options = array();
$options['path'] = $matches[1];
if (isset($matches[2])) {
$options['text'] = $matches[2];
} else {
$options['text'] = $section->getIndex() . ' ' . $section->getName(true);
}
return $this->wiki->addToken($this->rule, $options);
} else {
return $matches[0];
}
}
}