1<?php 2 3namespace dokuwiki\Parsing\ParserMode; 4 5class Footnote extends AbstractMode 6{ 7 /** 8 * Footnote constructor. 9 */ 10 public function __construct() 11 { 12 global $PARSER_MODES; 13 14 $this->allowedModes = array_merge( 15 $PARSER_MODES['container'], 16 $PARSER_MODES['formatting'], 17 $PARSER_MODES['substition'], 18 $PARSER_MODES['protected'], 19 $PARSER_MODES['disabled'] 20 ); 21 22 unset($this->allowedModes[array_search('footnote', $this->allowedModes)]); 23 } 24 25 /** @inheritdoc */ 26 public function connectTo($mode) 27 { 28 $this->Lexer->addEntryPattern( 29 '\x28\x28(?=.*\x29\x29)', 30 $mode, 31 'footnote' 32 ); 33 } 34 35 /** @inheritdoc */ 36 public function postConnect() 37 { 38 $this->Lexer->addExitPattern( 39 '\x29\x29', 40 'footnote' 41 ); 42 } 43 44 /** @inheritdoc */ 45 public function getSort() 46 { 47 return 150; 48 } 49} 50