Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 395
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3use MediaWiki\Extension\UploadWizard\Config;
4
5return [
6    "type" => "object",
7    "id" => "#campaignnode",
8    "required" => true,
9    "properties" => [
10        "title" => [
11            "type" => "string"
12        ],
13        "description" => [
14            "type" => "string"
15        ],
16        "enabled" => [
17            "type" => "boolean",
18            "required" => true,
19        ],
20        "start" => [
21            "type" => "string",
22        ],
23        "end" => [
24            "type" => "string",
25        ],
26        "autoAdd" => [
27            "type" => "object",
28            "properties" => [
29                "categories" => [
30                    "type" => "array",
31                    "items" => [
32                        [
33                            "type" => "string"
34                        ]
35                    ]
36                ],
37                "wikitext" => [
38                    "type" => "string"
39                ]
40            ]
41        ],
42        "fields" => [
43            "type" => "array",
44            "items" => [
45                [
46                    "type" => "object",
47                    "properties" => [
48                        "wikitext" => [
49                            "type" => "string"
50                        ],
51                        "label" => [
52                            "type" => "string"
53                        ],
54                        "maxLength" => [
55                            "type" => "integer"
56                        ],
57                        "initialValue" => [
58                            "type" => "string"
59                        ],
60                        "required" => [
61                            "type" => "boolean"
62                        ],
63                        "type" => [
64                            "type" => "string"
65                        ],
66                        "options" => [
67                            "type" => "object",
68                            "properties" => [],
69                            "additionalProperties" => true
70                        ]
71                    ]
72                ]
73            ]
74        ],
75        "defaults" => [
76            "type" => "object",
77            "properties" => [
78                "alt" => [
79                    "type" => "number"
80                ],
81                "categories" => [
82                    "type" => "array",
83                    "items" => [
84                        [
85                            "type" => "string"
86                        ]
87                    ]
88                ],
89                "description" => [
90                    "type" => "string"
91                ],
92                "lat" => [
93                    "type" => "number"
94                ],
95                "lon" => [
96                    "type" => "number"
97                ],
98                "statements" => [
99                    "type" => "array",
100                    "items" => [
101                        [
102                            "type" => "object",
103                            "properties" =>
104                                [
105                                    "propertyId" => [
106                                        "type" => "string"
107                                    ],
108                                    "dataType" => [
109                                        // ATM only properties with dataType 'wikibase-entityid'
110                                        // are supported
111                                        "type" => "string"
112                                    ],
113                                    "values" => [
114                                        "type" => "array",
115                                        "items" => [
116                                            [
117                                                "value" => "string"
118                                            ]
119                                        ]
120                                    ]
121                                ]
122                        ]
123                    ]
124                ]
125            ]
126        ],
127        "display" => [
128            "type" => "object",
129            "properties" => [
130                "headerLabel" => [
131                    "type" => "string"
132                ],
133                "thanksLabel" => [
134                    "type" => "string"
135                ],
136                "homeButton" => [
137                    "type" => "object",
138                    "properties" => [
139                        "label" => [
140                            "type" => "string"
141                        ],
142                        "target" => [
143                            "type" => "string"
144                        ]
145                    ]
146                ],
147                "beginButton" => [
148                    "type" => "object",
149                    "properties" => [
150                        "label" => [
151                            "type" => "string"
152                        ],
153                        "target" => [
154                            "type" => "string"
155                        ]
156                    ]
157                ],
158                "labelPickImage" => [
159                    "type" => "string"
160                ],
161                "noticeExistingImage" => [
162                    "type" => "string"
163                ],
164                "noticeUpdateDelay" => [
165                    "type" => "string"
166                ]
167            ]
168        ],
169        "licensing" => [
170            "type" => "object",
171            "properties" => [
172                "defaultType" => [
173                    "type" => "string"
174                ],
175                "ownWorkDefault" => [
176                    "type" => "string"
177                ],
178                "ownWork" => [
179                    "type" => "object",
180                    "properties" => [
181                        "defaults" => [
182                            "type" => "array",
183                            "items" => [
184                                [
185                                    "type" => "string",
186                                    "enum" => array_keys( Config::getSetting( 'licenses' ) )
187                                ]
188                            ]
189                        ],
190                        "licenses" => [
191                            "type" => "array",
192                            "items" => [
193                                [
194                                    "type" => "string",
195                                    "enum" => array_keys( Config::getSetting( 'licenses' ) )
196                                ]
197                            ]
198
199                        ],
200                        "template" => [
201                            "type" => "string"
202                        ],
203                        "type" => [
204                            "type" => "string"
205                        ]
206                    ]
207                ],
208                "thirdParty" => [
209                    "type" => "object",
210                    "properties" => [
211                        "defaults" => [
212                            "type" => "array",
213                            "items" => [
214                                [
215                                    "type" => "string",
216                                    "enum" => array_keys( Config::getSetting( 'licenses' ) )
217                                ]
218                            ]
219                        ],
220                        "licenseGroups" => [
221                            "type" => "array",
222                            "items" => [
223                                [
224                                    "type" => "object",
225                                    "properties" => [
226                                        "defaults" => [
227                                            "type" => "array",
228                                            "items" => [
229                                                [
230                                                    "type" => "string",
231                                                    "enum" => array_keys( Config::getSetting( 'licenses' ) )
232                                                ]
233                                            ]
234                                        ],
235                                        "head" => [
236                                            "type" => "string"
237                                        ],
238                                        "icons" => [
239                                            "type" => "array",
240                                            "items" => [
241                                                [
242                                                    "type" => "string",
243                                                    "enum" => [
244                                                        "cc-by",
245                                                        "cc-public-domain",
246                                                        "cc-sa",
247                                                        "cc-zero"
248                                                    ]
249                                                ],
250                                            ],
251                                        ],
252                                        "licenses" => [
253                                            "type" => "array",
254                                            "items" => [
255                                                [
256                                                    "type" => "string",
257                                                    "enum" => array_keys( Config::getSetting( 'licenses' ) )
258                                                ]
259                                            ]
260                                        ],
261                                        "subhead" => [
262                                            "type" => "string"
263                                        ],
264                                        "type" => [
265                                            "type" => "array",
266                                            "items" => [
267                                                [
268                                                    "type" => "string",
269                                                    "enum" => [
270                                                        "and",
271                                                        "or"
272                                                    ]
273                                                ],
274                                            ],
275                                        ],
276                                        "url" => [
277                                            "oneOf" => [
278                                                [
279                                                    "type" => "string",
280                                                ],
281                                                [
282                                                    "type" => "array",
283                                                    "items" => [
284                                                        [
285                                                            "type" => "string"
286                                                        ],
287                                                    ],
288                                                ],
289                                            ]
290                                        ]
291                                    ],
292                                    "required" => [ "head" ]
293                                ]
294                            ]
295                        ],
296                        "type" => [
297                            "type" => "string"
298                        ]
299                    ]
300                ]
301            ]
302        ],
303        "tutorial" => [
304            "type" => "object",
305            "properties" => [
306                "skip" => [
307                    "type" => "boolean"
308                ],
309                "helpdeskCoords" => [
310                    "type" => "string"
311                ],
312                "template" => [
313                    "type" => "string"
314                ],
315                "width" => [
316                    "type" => "number"
317                ]
318            ]
319        ],
320        "whileActive" => [
321            "type" => "object",
322            "properties" => [
323                "display" => [
324                    "type" => "object",
325                    "properties" => [
326                        "headerLabel" => [
327                            "type" => "string"
328                        ],
329                        "thanksLabel" => [
330                            "type" => "string"
331                        ],
332                    ],
333                ],
334
335                "autoAdd" => [
336                    "type" => "object",
337                    "properties" => [
338                        "categories" => [
339                            "type" => "array",
340                            "items" => [
341                                [
342                                    "type" => "string"
343                                ],
344                            ],
345                        ],
346                        "wikitext" => [
347                            "type" => "string"
348                        ],
349                    ],
350                ],
351            ],
352        ],
353        "beforeActive" => [
354            "type" => "object",
355            "properties" => [
356                "display" => [
357                    "type" => "object",
358                    "properties" => [
359                        "headerLabel" => [
360                            "type" => "string"
361                        ],
362                        "thanksLabel" => [
363                            "type" => "string"
364                        ],
365                    ],
366                ],
367            ],
368        ],
369        "afterActive" => [
370            "type" => "object",
371            "properties" => [
372                "display" => [
373                    "type" => "object",
374                    "properties" => [
375                        "headerLabel" => [
376                            "type" => "string"
377                        ],
378                        "thanksLabel" => [
379                            "type" => "string"
380                        ],
381                    ],
382                ],
383            ],
384        ],
385        "wikibase" => [
386            "type" => "object",
387            "properties" => [
388                'enabled' => [
389                    "type" => "boolean",
390                ],
391                'captions' => [
392                    "type" => "boolean",
393                ],
394                'statements' => [
395                    "type" => "boolean",
396                ],
397                'nonDefaultStatements' => [
398                    "type" => "boolean",
399                ]
400            ]
401        ],
402    ]
403];