13231ebaeSAnna Dabrowska<?php 23231ebaeSAnna Dabrowska 3*9ab8cbaeSanndause dokuwiki\plugin\struct\meta\AccessTablePage; 43231ebaeSAnna Dabrowskause dokuwiki\plugin\struct\meta\AggregationTable; 53231ebaeSAnna Dabrowska 63231ebaeSAnna Dabrowska/** 73231ebaeSAnna Dabrowska * DokuWiki Plugin structpublish (Syntax Component) 83231ebaeSAnna Dabrowska * 93231ebaeSAnna Dabrowska * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html 103231ebaeSAnna Dabrowska * @author Anna Dabrowska <dokuwiki@cosmocode.de> 113231ebaeSAnna Dabrowska */ 123231ebaeSAnna Dabrowskaclass syntax_plugin_structpublish_table extends syntax_plugin_struct_serial 133231ebaeSAnna Dabrowska{ 143231ebaeSAnna Dabrowska protected $tableclass = AggregationTable::class; 153231ebaeSAnna Dabrowska 168b0ba635SAndreas Gohr /** @inheritdoc */ 173231ebaeSAnna Dabrowska public function connectTo($mode) 183231ebaeSAnna Dabrowska { 193231ebaeSAnna Dabrowska $this->Lexer->addSpecialPattern('----+ *structpublish *-+\n.*?\n?----+', $mode, 'plugin_structpublish_table'); 203231ebaeSAnna Dabrowska } 213231ebaeSAnna Dabrowska 228b0ba635SAndreas Gohr /** @inheritdoc */ 233231ebaeSAnna Dabrowska protected function addTypeFilter($config) 243231ebaeSAnna Dabrowska { 253231ebaeSAnna Dabrowska $config['schemas'][] = ['structpublish', 'structpublish']; 263231ebaeSAnna Dabrowska array_unshift($config['cols'], '%pageid%'); 273231ebaeSAnna Dabrowska $config['filter'][] = [ 288b0ba635SAndreas Gohr '%rowid%', 298b0ba635SAndreas Gohr '!=', 30*9ab8cbaeSannda (string) AccessTablePage::DEFAULT_PAGE_RID, 318b0ba635SAndreas Gohr 'AND' 323231ebaeSAnna Dabrowska ]; 333231ebaeSAnna Dabrowska $config['withpid'] = 1; // flag for the editor to distinguish data types 343231ebaeSAnna Dabrowska return $config; 353231ebaeSAnna Dabrowska } 363231ebaeSAnna Dabrowska} 37