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