1*3231ebaeSAnna Dabrowska<?php 2*3231ebaeSAnna Dabrowska 3*3231ebaeSAnna Dabrowskause dokuwiki\plugin\struct\meta\AggregationTable; 4*3231ebaeSAnna Dabrowska 5*3231ebaeSAnna Dabrowska/** 6*3231ebaeSAnna Dabrowska * DokuWiki Plugin structpublish (Syntax Component) 7*3231ebaeSAnna Dabrowska * 8*3231ebaeSAnna Dabrowska * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html 9*3231ebaeSAnna Dabrowska * @author Anna Dabrowska <dokuwiki@cosmocode.de> 10*3231ebaeSAnna Dabrowska */ 11*3231ebaeSAnna Dabrowska 12*3231ebaeSAnna Dabrowskaclass syntax_plugin_structpublish_table extends syntax_plugin_struct_serial 13*3231ebaeSAnna Dabrowska{ 14*3231ebaeSAnna Dabrowska protected $tableclass = AggregationTable::class; 15*3231ebaeSAnna Dabrowska 16*3231ebaeSAnna Dabrowska /** 17*3231ebaeSAnna Dabrowska * Connect pattern 18*3231ebaeSAnna Dabrowska * 19*3231ebaeSAnna Dabrowska * @param string $mode Parser mode 20*3231ebaeSAnna Dabrowska */ 21*3231ebaeSAnna Dabrowska public function connectTo($mode) 22*3231ebaeSAnna Dabrowska { 23*3231ebaeSAnna Dabrowska $this->Lexer->addSpecialPattern('----+ *structpublish *-+\n.*?\n?----+', $mode, 'plugin_structpublish_table'); 24*3231ebaeSAnna Dabrowska } 25*3231ebaeSAnna Dabrowska 26*3231ebaeSAnna Dabrowska /** 27*3231ebaeSAnna Dabrowska * Filter based on primary key columns 28*3231ebaeSAnna Dabrowska * 29*3231ebaeSAnna Dabrowska * @param array $config 30*3231ebaeSAnna Dabrowska * @return array 31*3231ebaeSAnna Dabrowska */ 32*3231ebaeSAnna Dabrowska protected function addTypeFilter($config) 33*3231ebaeSAnna Dabrowska { 34*3231ebaeSAnna Dabrowska $config['schemas'][] = ['structpublish', 'structpublish']; 35*3231ebaeSAnna Dabrowska array_unshift($config['cols'], '%pageid%'); 36*3231ebaeSAnna Dabrowska $config['filter'][] = [ 37*3231ebaeSAnna Dabrowska '%rowid%', '!=', 38*3231ebaeSAnna Dabrowska (string)\dokuwiki\plugin\struct\meta\AccessTablePage::DEFAULT_PAGE_RID, 'AND' 39*3231ebaeSAnna Dabrowska ]; 40*3231ebaeSAnna Dabrowska $config['withpid'] = 1; // flag for the editor to distinguish data types 41*3231ebaeSAnna Dabrowska return $config; 42*3231ebaeSAnna Dabrowska } 43*3231ebaeSAnna Dabrowska} 44*3231ebaeSAnna Dabrowska 45