xref: /plugin/bpmnio/.phpstan/dokuwiki.stub (revision 9ff8d41c7727ff9fa896ee8f49e170f6b8272716)
1*9ff8d41cSJaap de Haan<?php
2*9ff8d41cSJaap de Haan/**
3*9ff8d41cSJaap de Haan * PHPStan stubs for DokuWiki framework classes.
4*9ff8d41cSJaap de Haan * These provide type signatures so PHPStan can analyse DokuWiki plugins
5*9ff8d41cSJaap de Haan * without requiring a full DokuWiki installation.
6*9ff8d41cSJaap de Haan */
7*9ff8d41cSJaap de Haan
8*9ff8d41cSJaap de Haannamespace dokuwiki\Extension {
9*9ff8d41cSJaap de Haan
10*9ff8d41cSJaap de Haan    class Plugin
11*9ff8d41cSJaap de Haan    {
12*9ff8d41cSJaap de Haan        public function getLang(string $key): string
13*9ff8d41cSJaap de Haan        {
14*9ff8d41cSJaap de Haan            return '';
15*9ff8d41cSJaap de Haan        }
16*9ff8d41cSJaap de Haan    }
17*9ff8d41cSJaap de Haan
18*9ff8d41cSJaap de Haan    class ActionPlugin extends Plugin
19*9ff8d41cSJaap de Haan    {
20*9ff8d41cSJaap de Haan        public function register(EventHandler $controller): void
21*9ff8d41cSJaap de Haan        {
22*9ff8d41cSJaap de Haan        }
23*9ff8d41cSJaap de Haan    }
24*9ff8d41cSJaap de Haan
25*9ff8d41cSJaap de Haan    class SyntaxPlugin extends Plugin
26*9ff8d41cSJaap de Haan    {
27*9ff8d41cSJaap de Haan        /** @var object */
28*9ff8d41cSJaap de Haan        public $Lexer;
29*9ff8d41cSJaap de Haan
30*9ff8d41cSJaap de Haan        public function getPType(): string
31*9ff8d41cSJaap de Haan        {
32*9ff8d41cSJaap de Haan            return '';
33*9ff8d41cSJaap de Haan        }
34*9ff8d41cSJaap de Haan
35*9ff8d41cSJaap de Haan        public function getType(): string
36*9ff8d41cSJaap de Haan        {
37*9ff8d41cSJaap de Haan            return '';
38*9ff8d41cSJaap de Haan        }
39*9ff8d41cSJaap de Haan
40*9ff8d41cSJaap de Haan        public function getSort(): int
41*9ff8d41cSJaap de Haan        {
42*9ff8d41cSJaap de Haan            return 0;
43*9ff8d41cSJaap de Haan        }
44*9ff8d41cSJaap de Haan
45*9ff8d41cSJaap de Haan        public function connectTo(string $mode): void
46*9ff8d41cSJaap de Haan        {
47*9ff8d41cSJaap de Haan        }
48*9ff8d41cSJaap de Haan
49*9ff8d41cSJaap de Haan        public function postConnect(): void
50*9ff8d41cSJaap de Haan        {
51*9ff8d41cSJaap de Haan        }
52*9ff8d41cSJaap de Haan
53*9ff8d41cSJaap de Haan        /**
54*9ff8d41cSJaap de Haan         * @param mixed[] $data
55*9ff8d41cSJaap de Haan         * @return mixed[]
56*9ff8d41cSJaap de Haan         */
57*9ff8d41cSJaap de Haan        public function handle(string $match, int $state, int $pos, \Doku_Handler $handler): array
58*9ff8d41cSJaap de Haan        {
59*9ff8d41cSJaap de Haan            return [];
60*9ff8d41cSJaap de Haan        }
61*9ff8d41cSJaap de Haan
62*9ff8d41cSJaap de Haan        /**
63*9ff8d41cSJaap de Haan         * @param mixed[] $data
64*9ff8d41cSJaap de Haan         */
65*9ff8d41cSJaap de Haan        public function render(string $mode, \Doku_Renderer $renderer, array $data): bool
66*9ff8d41cSJaap de Haan        {
67*9ff8d41cSJaap de Haan            return false;
68*9ff8d41cSJaap de Haan        }
69*9ff8d41cSJaap de Haan    }
70*9ff8d41cSJaap de Haan
71*9ff8d41cSJaap de Haan    class EventHandler
72*9ff8d41cSJaap de Haan    {
73*9ff8d41cSJaap de Haan        /**
74*9ff8d41cSJaap de Haan         * @param mixed $param
75*9ff8d41cSJaap de Haan         */
76*9ff8d41cSJaap de Haan        public function register_hook(string $event, string $advise, object $obj, string $method, $param = null): void
77*9ff8d41cSJaap de Haan        {
78*9ff8d41cSJaap de Haan        }
79*9ff8d41cSJaap de Haan    }
80*9ff8d41cSJaap de Haan
81*9ff8d41cSJaap de Haan    class Event
82*9ff8d41cSJaap de Haan    {
83*9ff8d41cSJaap de Haan        /** @var mixed */
84*9ff8d41cSJaap de Haan        public $data;
85*9ff8d41cSJaap de Haan
86*9ff8d41cSJaap de Haan        public function stopPropagation(): void
87*9ff8d41cSJaap de Haan        {
88*9ff8d41cSJaap de Haan        }
89*9ff8d41cSJaap de Haan
90*9ff8d41cSJaap de Haan        public function preventDefault(): void
91*9ff8d41cSJaap de Haan        {
92*9ff8d41cSJaap de Haan        }
93*9ff8d41cSJaap de Haan    }
94*9ff8d41cSJaap de Haan}
95*9ff8d41cSJaap de Haan
96*9ff8d41cSJaap de Haannamespace dokuwiki\File {
97*9ff8d41cSJaap de Haan
98*9ff8d41cSJaap de Haan    class MediaResolver
99*9ff8d41cSJaap de Haan    {
100*9ff8d41cSJaap de Haan        public function __construct(string $id)
101*9ff8d41cSJaap de Haan        {
102*9ff8d41cSJaap de Haan        }
103*9ff8d41cSJaap de Haan
104*9ff8d41cSJaap de Haan        public function resolveId(string $src): string
105*9ff8d41cSJaap de Haan        {
106*9ff8d41cSJaap de Haan            return '';
107*9ff8d41cSJaap de Haan        }
108*9ff8d41cSJaap de Haan    }
109*9ff8d41cSJaap de Haan}
110*9ff8d41cSJaap de Haan
111*9ff8d41cSJaap de Haannamespace dokuwiki\Form {
112*9ff8d41cSJaap de Haan
113*9ff8d41cSJaap de Haan    class Form
114*9ff8d41cSJaap de Haan    {
115*9ff8d41cSJaap de Haan    }
116*9ff8d41cSJaap de Haan}
117*9ff8d41cSJaap de Haan
118*9ff8d41cSJaap de Haannamespace {
119*9ff8d41cSJaap de Haan
120*9ff8d41cSJaap de Haan    class Doku_Handler
121*9ff8d41cSJaap de Haan    {
122*9ff8d41cSJaap de Haan    }
123*9ff8d41cSJaap de Haan
124*9ff8d41cSJaap de Haan    class Doku_Renderer
125*9ff8d41cSJaap de Haan    {
126*9ff8d41cSJaap de Haan        /** @var string */
127*9ff8d41cSJaap de Haan        public string $doc = '';
128*9ff8d41cSJaap de Haan
129*9ff8d41cSJaap de Haan        /**
130*9ff8d41cSJaap de Haan         * @param array<string, mixed> $data
131*9ff8d41cSJaap de Haan         */
132*9ff8d41cSJaap de Haan        public function startSectionEdit(int $start, array $data): string
133*9ff8d41cSJaap de Haan        {
134*9ff8d41cSJaap de Haan            return '';
135*9ff8d41cSJaap de Haan        }
136*9ff8d41cSJaap de Haan
137*9ff8d41cSJaap de Haan        public function finishSectionEdit(int $end = 0): void
138*9ff8d41cSJaap de Haan        {
139*9ff8d41cSJaap de Haan        }
140*9ff8d41cSJaap de Haan    }
141*9ff8d41cSJaap de Haan
142*9ff8d41cSJaap de Haan    class Doku_Form
143*9ff8d41cSJaap de Haan    {
144*9ff8d41cSJaap de Haan        public function setHiddenField(string $name, string $value): void
145*9ff8d41cSJaap de Haan        {
146*9ff8d41cSJaap de Haan        }
147*9ff8d41cSJaap de Haan
148*9ff8d41cSJaap de Haan        public function addHTML(string $html): void
149*9ff8d41cSJaap de Haan        {
150*9ff8d41cSJaap de Haan        }
151*9ff8d41cSJaap de Haan
152*9ff8d41cSJaap de Haan        /** @return int|false */
153*9ff8d41cSJaap de Haan        public function findPositionByAttribute(string $name, string $value)
154*9ff8d41cSJaap de Haan        {
155*9ff8d41cSJaap de Haan            return false;
156*9ff8d41cSJaap de Haan        }
157*9ff8d41cSJaap de Haan
158*9ff8d41cSJaap de Haan        public function removeElement(int $pos): void
159*9ff8d41cSJaap de Haan        {
160*9ff8d41cSJaap de Haan        }
161*9ff8d41cSJaap de Haan    }
162*9ff8d41cSJaap de Haan
163*9ff8d41cSJaap de Haan    class renderer_plugin_dw2pdf extends Doku_Renderer
164*9ff8d41cSJaap de Haan    {
165*9ff8d41cSJaap de Haan    }
166*9ff8d41cSJaap de Haan
167*9ff8d41cSJaap de Haan    // DokuWiki constants
168*9ff8d41cSJaap de Haan    define('DOKU_LEXER_ENTER', 1);
169*9ff8d41cSJaap de Haan    define('DOKU_LEXER_MATCHED', 2);
170*9ff8d41cSJaap de Haan    define('DOKU_LEXER_UNMATCHED', 3);
171*9ff8d41cSJaap de Haan    define('DOKU_LEXER_EXIT', 4);
172*9ff8d41cSJaap de Haan    define('DOKU_LEXER_SPECIAL', 5);
173*9ff8d41cSJaap de Haan    define('AUTH_READ', 1);
174*9ff8d41cSJaap de Haan    define('DOKU_BASE', '/');
175*9ff8d41cSJaap de Haan
176*9ff8d41cSJaap de Haan    /**
177*9ff8d41cSJaap de Haan     * @param string $text
178*9ff8d41cSJaap de Haan     * @return mixed[]
179*9ff8d41cSJaap de Haan     */
180*9ff8d41cSJaap de Haan    function p_get_instructions(string $text): array
181*9ff8d41cSJaap de Haan    {
182*9ff8d41cSJaap de Haan        return [];
183*9ff8d41cSJaap de Haan    }
184*9ff8d41cSJaap de Haan
185*9ff8d41cSJaap de Haan    /**
186*9ff8d41cSJaap de Haan     * @param mixed[] $instructions
187*9ff8d41cSJaap de Haan     * @param mixed[] $info
188*9ff8d41cSJaap de Haan     */
189*9ff8d41cSJaap de Haan    function p_render(string $mode, array $instructions, array &$info): string
190*9ff8d41cSJaap de Haan    {
191*9ff8d41cSJaap de Haan        return '';
192*9ff8d41cSJaap de Haan    }
193*9ff8d41cSJaap de Haan
194*9ff8d41cSJaap de Haan    /**
195*9ff8d41cSJaap de Haan     * @return object|null
196*9ff8d41cSJaap de Haan     */
197*9ff8d41cSJaap de Haan    function plugin_load(string $type, string $name)
198*9ff8d41cSJaap de Haan    {
199*9ff8d41cSJaap de Haan        return null;
200*9ff8d41cSJaap de Haan    }
201*9ff8d41cSJaap de Haan
202*9ff8d41cSJaap de Haan    function auth_quickaclcheck(string $id): int
203*9ff8d41cSJaap de Haan    {
204*9ff8d41cSJaap de Haan        return 0;
205*9ff8d41cSJaap de Haan    }
206*9ff8d41cSJaap de Haan
207*9ff8d41cSJaap de Haan    function mediaFN(string $id): string
208*9ff8d41cSJaap de Haan    {
209*9ff8d41cSJaap de Haan        return '';
210*9ff8d41cSJaap de Haan    }
211*9ff8d41cSJaap de Haan
212*9ff8d41cSJaap de Haan    function msg(string $message, int $lvl = 0): void
213*9ff8d41cSJaap de Haan    {
214*9ff8d41cSJaap de Haan    }
215*9ff8d41cSJaap de Haan}
216