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