MDL-48307 mod_wiki: protect [edit] section link from nwiki parser

This commit is contained in:
Marina Glancy 2016-02-10 14:23:57 +08:00
parent 9d5d9c64ff
commit aaa6bcb61a

View File

@ -178,16 +178,18 @@ abstract class wiki_markup_parser extends generic_parser {
*/
protected function generate_header($text, $level) {
$text = trim($text);
$toctext = $text = trim($text);
if (!$this->pretty_print && $level == 1) {
$text .= ' ' . parser_utils::h('a', '['.get_string('editsection', 'wiki').']',
array('href' => "edit.php?pageid={$this->wiki_page_id}&section=" . urlencode($text),
'class' => 'wiki_edit_section'));
$editlink = '[' . get_string('editsection', 'wiki') . ']';
$url = array('href' => "edit.php?pageid={$this->wiki_page_id}&section=" . urlencode($text),
'class' => 'wiki_edit_section');
$text .= ' ' . parser_utils::h('a', $this->protect($editlink), $url);
$toctext .= ' ' . parser_utils::h('a', $editlink, $url);
}
if ($level <= $this->maxheaderdepth) {
$this->toc[] = array($level, $text);
$this->toc[] = array($level, $toctext);
$num = count($this->toc);
$text = parser_utils::h('a', "", array('name' => "toc-$num")) . $text;
}