1b9d35ff2SAnna Dabrowska<?php 2b9d35ff2SAnna Dabrowska/** 3b9d35ff2SAnna Dabrowska * DokuWiki Plugin struct (Syntax Component) 4b9d35ff2SAnna Dabrowska * 5b9d35ff2SAnna Dabrowska * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html 6b9d35ff2SAnna Dabrowska * @author Andreas Gohr, Michael Große, Anna Dabrowska <dokuwiki@cosmocode.de> 7b9d35ff2SAnna Dabrowska */ 8b9d35ff2SAnna Dabrowska 9b9d35ff2SAnna Dabrowskause dokuwiki\plugin\struct\meta\AccessTableData; 10b9d35ff2SAnna Dabrowska 11*03307831SAnna Dabrowskaclass syntax_plugin_struct_serial extends syntax_plugin_struct_lookup { 12b9d35ff2SAnna Dabrowska 13b9d35ff2SAnna Dabrowska /** 14b9d35ff2SAnna Dabrowska * Connect serial pattern to lexer. 15b9d35ff2SAnna Dabrowska * 16b9d35ff2SAnna Dabrowska * @param string $mode Parser mode 17b9d35ff2SAnna Dabrowska */ 18b9d35ff2SAnna Dabrowska public function connectTo($mode) { 19b9d35ff2SAnna Dabrowska $this->Lexer->addSpecialPattern('----+ *struct serial *-+\n.*?\n----+', $mode, 'plugin_struct_serial'); 20b9d35ff2SAnna Dabrowska } 21b9d35ff2SAnna Dabrowska 22b9d35ff2SAnna Dabrowska /** 23b9d35ff2SAnna Dabrowska * Filter based on primary key columns 24b9d35ff2SAnna Dabrowska * 25b9d35ff2SAnna Dabrowska * @param array $config 26b9d35ff2SAnna Dabrowska * @return array 27b9d35ff2SAnna Dabrowska */ 28b9d35ff2SAnna Dabrowska protected function addTypeFilter($config) 29b9d35ff2SAnna Dabrowska { 30b9d35ff2SAnna Dabrowska $config['filter'][] = ['%rowid%', '!=', (string)AccessTableData::DEFAULT_PAGE_RID, 'AND']; 31b9d35ff2SAnna Dabrowska $config['filter'][] = ['%pageid%', '!=', '', 'AND']; 32*03307831SAnna Dabrowska $config['withpid'] = 1; // flag for the editor to distinguish data types 33b9d35ff2SAnna Dabrowska return $config; 34b9d35ff2SAnna Dabrowska } 35b9d35ff2SAnna Dabrowska} 36