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