[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/inc/parser/ -> parser.php (source)

   1  <?php
   2  
   3  use dokuwiki\Debug\PropertyDeprecationHelper;
   4  use dokuwiki\Parsing\Parser;
   5  
   6  /**
   7   * Define various types of modes used by the parser - they are used to
   8   * populate the list of modes another mode accepts
   9   */
  10  global $PARSER_MODES;
  11  $PARSER_MODES = [
  12      // containers are complex modes that can contain many other modes
  13      // hr breaks the principle but they shouldn't be used in tables / lists
  14      // so they are put here
  15      'container' => ['listblock', 'table', 'quote', 'hr'],
  16      // some mode are allowed inside the base mode only
  17      'baseonly' => ['header'],
  18      // modes for styling text -- footnote behaves similar to styling
  19      'formatting' => [
  20          'strong', 'emphasis', 'underline', 'monospace', 'subscript', 'superscript', 'deleted', 'footnote'
  21      ],
  22      // modes where the token is simply replaced - they can not contain any
  23      // other modes
  24      'substition' => [
  25          'acronym', 'smiley', 'wordblock', 'entity', 'camelcaselink', 'internallink', 'media', 'externallink',
  26          'linebreak', 'emaillink', 'windowssharelink', 'filelink', 'notoc', 'nocache', 'multiplyentity', 'quotes', 'rss'
  27      ],
  28      // modes which have a start and end token but inside which
  29      // no other modes should be applied
  30      'protected' => ['preformatted', 'code', 'file'],
  31      // inside this mode no wiki markup should be applied but lineendings
  32      // and whitespace isn't preserved
  33      'disabled' => ['unformatted'],
  34      // used to mark paragraph boundaries
  35      'paragraphs' => ['eol'],
  36  ];
  37  
  38  /**
  39   * Class Doku_Parser
  40   *
  41   * @deprecated 2018-05-04
  42   */
  43  class Doku_Parser extends Parser
  44  {
  45      use PropertyDeprecationHelper {
  46          __set as protected deprecationHelperMagicSet;
  47          __get as protected deprecationHelperMagicGet;
  48      }
  49  
  50      /** @inheritdoc */
  51      public function __construct(Doku_Handler $handler = null)
  52      {
  53          dbg_deprecated(Parser::class);
  54          $this->deprecatePublicProperty('modes', self::class);
  55          $this->deprecatePublicProperty('connected', self::class);
  56  
  57          if (!$handler instanceof \Doku_Handler) {
  58              $handler = new Doku_Handler();
  59          }
  60  
  61          parent::__construct($handler);
  62      }
  63  
  64      public function __set($name, $value)
  65      {
  66  
  67          if ($name === 'Handler') {
  68              $this->handler = $value;
  69              return;
  70          }
  71  
  72          if ($name === 'Lexer') {
  73              $this->lexer = $value;
  74              return;
  75          }
  76  
  77          $this->deprecationHelperMagicSet($name, $value);
  78      }
  79  
  80      public function __get($name)
  81      {
  82          if ($name === 'Handler') {
  83              return $this->handler;
  84          }
  85  
  86          if ($name === 'Lexer') {
  87              return $this->lexer;
  88          }
  89  
  90          return $this->deprecationHelperMagicGet($name);
  91      }
  92  }