Deployed 82a7863c to 6.0 with MkDocs 1.4.2 and mike 1.1.2
[GitHub/WoltLab/woltlab.github.io.git] / 6.0 / package / pip / bbcode / index.html
1
2 <!doctype html>
3 <html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11 <link rel="canonical" href="https://docs.woltlab.com/6.0/package/pip/bbcode/">
12
13
14 <link rel="prev" href="../acp-template-delete/">
15
16
17 <link rel="next" href="../box/">
18
19 <link rel="icon" href="../../../assets/default.favicon.ico">
20 <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.3">
21
22
23
24 <title>bbcode - WoltLab Suite Documentation</title>
25
26
27
28 <link rel="stylesheet" href="../../../assets/stylesheets/main.6b71719e.min.css">
29
30
31 <link rel="stylesheet" href="../../../assets/stylesheets/palette.2505c338.min.css">
32
33
34
35
36
37
38
39
40
41 <link rel="stylesheet" href="../../../stylesheets/extra.css">
42
43 <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
44
45
46
47
48
49
50 </head>
51
52
53
54
55
56
57
58 <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="">
59
60
61
62 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
63 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
64 <label class="md-overlay" for="__drawer"></label>
65 <div data-md-component="skip">
66
67
68 <a href="#bbcode-package-installation-plugin" class="md-skip">
69 Skip to content
70 </a>
71
72 </div>
73 <div data-md-component="announce">
74
75 <aside class="md-banner">
76 <div class="md-banner__inner md-grid md-typeset">
77
78
79 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
80
81 </div>
82
83 </aside>
84
85 </div>
86
87 <div data-md-component="outdated" hidden>
88
89 </div>
90
91
92
93
94 <header class="md-header" data-md-component="header">
95 <nav class="md-header__inner md-grid" aria-label="Header">
96 <a href="../../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
97
98 <img src="../../../assets/logo.png" alt="logo">
99
100 </a>
101 <label class="md-header__button md-icon" for="__drawer">
102 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
103 </label>
104 <div class="md-header__title" data-md-component="header-title">
105 <div class="md-header__ellipsis">
106 <div class="md-header__topic">
107 <span class="md-ellipsis">
108 WoltLab Suite Documentation
109 </span>
110 </div>
111 <div class="md-header__topic" data-md-component="header-topic">
112 <span class="md-ellipsis">
113
114 bbcode
115
116 </span>
117 </div>
118 </div>
119 </div>
120
121
122
123 <label class="md-header__button md-icon" for="__search">
124 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
125 </label>
126 <div class="md-search" data-md-component="search" role="dialog">
127 <label class="md-search__overlay" for="__search"></label>
128 <div class="md-search__inner" role="search">
129 <form class="md-search__form" name="search">
130 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
131 <label class="md-search__icon md-icon" for="__search">
132 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
133 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
134 </label>
135 <nav class="md-search__options" aria-label="Search">
136
137 <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
138 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
139 </button>
140 </nav>
141
142 </form>
143 <div class="md-search__output">
144 <div class="md-search__scrollwrap" data-md-scrollfix>
145 <div class="md-search-result" data-md-component="search-result">
146 <div class="md-search-result__meta">
147 Initializing search
148 </div>
149 <ol class="md-search-result__list"></ol>
150 </div>
151 </div>
152 </div>
153 </div>
154 </div>
155
156
157 <div class="md-header__source">
158 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
159 <div class="md-source__icon md-icon">
160
161 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
162 </div>
163 <div class="md-source__repository">
164 GitHub
165 </div>
166 </a>
167 </div>
168
169 </nav>
170
171 </header>
172
173 <div class="md-container" data-md-component="container">
174
175
176
177
178
179
180 <main class="md-main" data-md-component="main">
181 <div class="md-main__inner md-grid">
182
183
184
185 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
186 <div class="md-sidebar__scrollwrap">
187 <div class="md-sidebar__inner">
188
189
190
191 <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
192 <label class="md-nav__title" for="__drawer">
193 <a href="../../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
194
195 <img src="../../../assets/logo.png" alt="logo">
196
197 </a>
198 WoltLab Suite Documentation
199 </label>
200
201 <div class="md-nav__source">
202 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
203 <div class="md-source__icon md-icon">
204
205 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
206 </div>
207 <div class="md-source__repository">
208 GitHub
209 </div>
210 </a>
211 </div>
212
213 <ul class="md-nav__list" data-md-scrollfix>
214
215
216
217
218
219
220
221
222 <li class="md-nav__item">
223 <a href="../../../getting-started/" class="md-nav__link">
224 Getting Started
225 </a>
226 </li>
227
228
229
230
231
232
233
234
235
236
237
238 <li class="md-nav__item md-nav__item--nested">
239
240
241
242
243 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
244
245
246
247 <label class="md-nav__link" for="__nav_2" tabindex="0" aria-expanded="false">
248 PHP API
249 <span class="md-nav__icon md-icon"></span>
250 </label>
251
252 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
253 <label class="md-nav__title" for="__nav_2">
254 <span class="md-nav__icon md-icon"></span>
255 PHP API
256 </label>
257 <ul class="md-nav__list" data-md-scrollfix>
258
259
260
261
262
263
264 <li class="md-nav__item">
265 <a href="../../../php/pages/" class="md-nav__link">
266 Pages
267 </a>
268 </li>
269
270
271
272
273
274
275
276
277
278 <li class="md-nav__item">
279 <a href="../../../php/database-objects/" class="md-nav__link">
280 Database Objects
281 </a>
282 </li>
283
284
285
286
287
288
289
290
291
292 <li class="md-nav__item">
293 <a href="../../../php/database-access/" class="md-nav__link">
294 Database Access
295 </a>
296 </li>
297
298
299
300
301
302
303
304
305
306 <li class="md-nav__item">
307 <a href="../../../php/exceptions/" class="md-nav__link">
308 Exceptions
309 </a>
310 </li>
311
312
313
314
315
316
317
318
319
320
321 <li class="md-nav__item md-nav__item--nested">
322
323
324
325
326 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
327
328
329
330 <label class="md-nav__link" for="__nav_2_5" tabindex="0" aria-expanded="false">
331 API
332 <span class="md-nav__icon md-icon"></span>
333 </label>
334
335 <nav class="md-nav" aria-label="API" data-md-level="2">
336 <label class="md-nav__title" for="__nav_2_5">
337 <span class="md-nav__icon md-icon"></span>
338 API
339 </label>
340 <ul class="md-nav__list" data-md-scrollfix>
341
342
343
344
345
346
347
348 <li class="md-nav__item md-nav__item--nested">
349
350
351
352
353 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2_5_1" type="checkbox" id="__nav_2_5_1" >
354
355
356
357 <label class="md-nav__link" for="__nav_2_5_1" tabindex="0" aria-expanded="false">
358 Caches
359 <span class="md-nav__icon md-icon"></span>
360 </label>
361
362 <nav class="md-nav" aria-label="Caches" data-md-level="3">
363 <label class="md-nav__title" for="__nav_2_5_1">
364 <span class="md-nav__icon md-icon"></span>
365 Caches
366 </label>
367 <ul class="md-nav__list" data-md-scrollfix>
368
369
370
371
372
373
374 <li class="md-nav__item">
375 <a href="../../../php/api/caches/" class="md-nav__link">
376 Overview
377 </a>
378 </li>
379
380
381
382
383
384
385
386
387
388 <li class="md-nav__item">
389 <a href="../../../php/api/caches_persistent-caches/" class="md-nav__link">
390 Persistent Caches
391 </a>
392 </li>
393
394
395
396
397
398
399
400
401
402 <li class="md-nav__item">
403 <a href="../../../php/api/caches_runtime-caches/" class="md-nav__link">
404 Runtime Caches
405 </a>
406 </li>
407
408
409
410
411 </ul>
412 </nav>
413 </li>
414
415
416
417
418
419
420
421
422
423 <li class="md-nav__item">
424 <a href="../../../php/api/comments/" class="md-nav__link">
425 Comments
426 </a>
427 </li>
428
429
430
431
432
433
434
435
436
437 <li class="md-nav__item">
438 <a href="../../../php/api/cronjobs/" class="md-nav__link">
439 Cronjobs
440 </a>
441 </li>
442
443
444
445
446
447
448
449
450
451 <li class="md-nav__item">
452 <a href="../../../php/api/events/" class="md-nav__link">
453 Events
454 </a>
455 </li>
456
457
458
459
460
461
462
463
464
465
466 <li class="md-nav__item md-nav__item--nested">
467
468
469
470
471 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
472
473
474
475 <label class="md-nav__link" for="__nav_2_5_5" tabindex="0" aria-expanded="false">
476 Form Builder
477 <span class="md-nav__icon md-icon"></span>
478 </label>
479
480 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
481 <label class="md-nav__title" for="__nav_2_5_5">
482 <span class="md-nav__icon md-icon"></span>
483 Form Builder
484 </label>
485 <ul class="md-nav__list" data-md-scrollfix>
486
487
488
489
490
491
492 <li class="md-nav__item">
493 <a href="../../../php/api/form_builder/overview/" class="md-nav__link">
494 Overview
495 </a>
496 </li>
497
498
499
500
501
502
503
504
505
506 <li class="md-nav__item">
507 <a href="../../../php/api/form_builder/structure/" class="md-nav__link">
508 Structure
509 </a>
510 </li>
511
512
513
514
515
516
517
518
519
520 <li class="md-nav__item">
521 <a href="../../../php/api/form_builder/form_fields/" class="md-nav__link">
522 Fields
523 </a>
524 </li>
525
526
527
528
529
530
531
532
533
534 <li class="md-nav__item">
535 <a href="../../../php/api/form_builder/validation_data/" class="md-nav__link">
536 Validation and Data
537 </a>
538 </li>
539
540
541
542
543
544
545
546
547
548 <li class="md-nav__item">
549 <a href="../../../php/api/form_builder/dependencies/" class="md-nav__link">
550 Dependencies
551 </a>
552 </li>
553
554
555
556
557 </ul>
558 </nav>
559 </li>
560
561
562
563
564
565
566
567
568
569 <li class="md-nav__item">
570 <a href="../../../php/api/package_installation_plugins/" class="md-nav__link">
571 Package Installation Plugins
572 </a>
573 </li>
574
575
576
577
578
579
580
581
582
583 <li class="md-nav__item">
584 <a href="../../../php/api/user_activity_points/" class="md-nav__link">
585 User Activity Points
586 </a>
587 </li>
588
589
590
591
592
593
594
595
596
597 <li class="md-nav__item">
598 <a href="../../../php/api/user_notifications/" class="md-nav__link">
599 User Notifications
600 </a>
601 </li>
602
603
604
605
606
607
608
609
610
611 <li class="md-nav__item">
612 <a href="../../../php/api/sitemaps/" class="md-nav__link">
613 Sitemaps
614 </a>
615 </li>
616
617
618
619
620 </ul>
621 </nav>
622 </li>
623
624
625
626
627
628
629
630
631
632 <li class="md-nav__item">
633 <a href="../../../php/code-style/" class="md-nav__link">
634 Code Style
635 </a>
636 </li>
637
638
639
640
641
642
643
644
645
646 <li class="md-nav__item">
647 <a href="../../../php/apps/" class="md-nav__link">
648 Apps
649 </a>
650 </li>
651
652
653
654
655
656
657
658
659
660 <li class="md-nav__item">
661 <a href="../../../php/gdpr/" class="md-nav__link">
662 GDPR
663 </a>
664 </li>
665
666
667
668
669 </ul>
670 </nav>
671 </li>
672
673
674
675
676
677
678
679
680
681
682
683 <li class="md-nav__item md-nav__item--nested">
684
685
686
687
688 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
689
690
691
692 <label class="md-nav__link" for="__nav_3" tabindex="0" aria-expanded="false">
693 Languages, Templates & CSS
694 <span class="md-nav__icon md-icon"></span>
695 </label>
696
697 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
698 <label class="md-nav__title" for="__nav_3">
699 <span class="md-nav__icon md-icon"></span>
700 Languages, Templates & CSS
701 </label>
702 <ul class="md-nav__list" data-md-scrollfix>
703
704
705
706
707
708
709 <li class="md-nav__item">
710 <a href="../../../view/languages/" class="md-nav__link">
711 Languages
712 </a>
713 </li>
714
715
716
717
718
719
720
721
722
723 <li class="md-nav__item">
724 <a href="../../../view/templates/" class="md-nav__link">
725 Templates
726 </a>
727 </li>
728
729
730
731
732
733
734
735
736
737 <li class="md-nav__item">
738 <a href="../../../view/template-plugins/" class="md-nav__link">
739 Template Plugins
740 </a>
741 </li>
742
743
744
745
746
747
748
749
750
751 <li class="md-nav__item">
752 <a href="../../../view/css/" class="md-nav__link">
753 CSS
754 </a>
755 </li>
756
757
758
759
760 </ul>
761 </nav>
762 </li>
763
764
765
766
767
768
769
770
771
772
773
774 <li class="md-nav__item md-nav__item--nested">
775
776
777
778
779 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
780
781
782
783 <label class="md-nav__link" for="__nav_4" tabindex="0" aria-expanded="false">
784 TypeScript and JavaScript API
785 <span class="md-nav__icon md-icon"></span>
786 </label>
787
788 <nav class="md-nav" aria-label="TypeScript and JavaScript API" data-md-level="1">
789 <label class="md-nav__title" for="__nav_4">
790 <span class="md-nav__icon md-icon"></span>
791 TypeScript and JavaScript API
792 </label>
793 <ul class="md-nav__list" data-md-scrollfix>
794
795
796
797
798
799
800 <li class="md-nav__item">
801 <a href="../../../javascript/general-usage/" class="md-nav__link">
802 General Usage
803 </a>
804 </li>
805
806
807
808
809
810
811
812
813
814 <li class="md-nav__item">
815 <a href="../../../javascript/typescript/" class="md-nav__link">
816 TypeScript
817 </a>
818 </li>
819
820
821
822
823
824
825
826
827
828
829 <li class="md-nav__item md-nav__item--nested">
830
831
832
833
834 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4_3" type="checkbox" id="__nav_4_3" >
835
836
837
838 <label class="md-nav__link" for="__nav_4_3" tabindex="0" aria-expanded="false">
839 Components
840 <span class="md-nav__icon md-icon"></span>
841 </label>
842
843 <nav class="md-nav" aria-label="Components" data-md-level="2">
844 <label class="md-nav__title" for="__nav_4_3">
845 <span class="md-nav__icon md-icon"></span>
846 Components
847 </label>
848 <ul class="md-nav__list" data-md-scrollfix>
849
850
851
852
853
854
855 <li class="md-nav__item">
856 <a href="../../../javascript/components_confirmation/" class="md-nav__link">
857 Confirmation
858 </a>
859 </li>
860
861
862
863
864
865
866
867
868
869 <li class="md-nav__item">
870 <a href="../../../javascript/components_dialog/" class="md-nav__link">
871 Dialog
872 </a>
873 </li>
874
875
876
877
878
879
880
881
882
883 <li class="md-nav__item">
884 <a href="../../../javascript/components_pagination/" class="md-nav__link">
885 Pagination
886 </a>
887 </li>
888
889
890
891
892 </ul>
893 </nav>
894 </li>
895
896
897
898
899
900
901
902
903
904
905 <li class="md-nav__item md-nav__item--nested">
906
907
908
909
910 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4_4" type="checkbox" id="__nav_4_4" >
911
912
913
914 <label class="md-nav__link" for="__nav_4_4" tabindex="0" aria-expanded="false">
915 New API
916 <span class="md-nav__icon md-icon"></span>
917 </label>
918
919 <nav class="md-nav" aria-label="New API" data-md-level="2">
920 <label class="md-nav__title" for="__nav_4_4">
921 <span class="md-nav__icon md-icon"></span>
922 New API
923 </label>
924 <ul class="md-nav__list" data-md-scrollfix>
925
926
927
928
929
930
931 <li class="md-nav__item">
932 <a href="../../../javascript/new-api_writing-a-module/" class="md-nav__link">
933 Writing a module
934 </a>
935 </li>
936
937
938
939
940
941
942
943
944
945 <li class="md-nav__item">
946 <a href="../../../javascript/new-api_core/" class="md-nav__link">
947 Core Functions
948 </a>
949 </li>
950
951
952
953
954
955
956
957
958
959 <li class="md-nav__item">
960 <a href="../../../javascript/new-api_dom/" class="md-nav__link">
961 DOM
962 </a>
963 </li>
964
965
966
967
968
969
970
971
972
973 <li class="md-nav__item">
974 <a href="../../../javascript/new-api_events/" class="md-nav__link">
975 Event Handling
976 </a>
977 </li>
978
979
980
981
982
983
984
985
986
987 <li class="md-nav__item">
988 <a href="../../../javascript/new-api_ajax/" class="md-nav__link">
989 Ajax
990 </a>
991 </li>
992
993
994
995
996
997
998
999
1000
1001 <li class="md-nav__item">
1002 <a href="../../../javascript/new-api_dialogs/" class="md-nav__link">
1003 Dialogs
1004 </a>
1005 </li>
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015 <li class="md-nav__item">
1016 <a href="../../../javascript/new-api_browser/" class="md-nav__link">
1017 Browser and Screen Sizes
1018 </a>
1019 </li>
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029 <li class="md-nav__item">
1030 <a href="../../../javascript/new-api_ui/" class="md-nav__link">
1031 User Interface
1032 </a>
1033 </li>
1034
1035
1036
1037
1038 </ul>
1039 </nav>
1040 </li>
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050 <li class="md-nav__item">
1051 <a href="../../../javascript/legacy-api/" class="md-nav__link">
1052 Legacy API
1053 </a>
1054 </li>
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064 <li class="md-nav__item">
1065 <a href="../../../javascript/code-snippets/" class="md-nav__link">
1066 Code Snippets
1067 </a>
1068 </li>
1069
1070
1071
1072
1073 </ul>
1074 </nav>
1075 </li>
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1090
1091
1092
1093
1094 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_5" type="checkbox" id="__nav_5" checked>
1095
1096
1097
1098 <label class="md-nav__link" for="__nav_5" tabindex="0" aria-expanded="true">
1099 Package Components
1100 <span class="md-nav__icon md-icon"></span>
1101 </label>
1102
1103 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
1104 <label class="md-nav__title" for="__nav_5">
1105 <span class="md-nav__icon md-icon"></span>
1106 Package Components
1107 </label>
1108 <ul class="md-nav__list" data-md-scrollfix>
1109
1110
1111
1112
1113
1114
1115 <li class="md-nav__item">
1116 <a href="../../package-xml/" class="md-nav__link">
1117 package.xml
1118 </a>
1119 </li>
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1133
1134
1135
1136
1137 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" checked>
1138
1139
1140
1141 <label class="md-nav__link" for="__nav_5_2" tabindex="0" aria-expanded="true">
1142 PIPs
1143 <span class="md-nav__icon md-icon"></span>
1144 </label>
1145
1146 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
1147 <label class="md-nav__title" for="__nav_5_2">
1148 <span class="md-nav__icon md-icon"></span>
1149 PIPs
1150 </label>
1151 <ul class="md-nav__list" data-md-scrollfix>
1152
1153
1154
1155
1156
1157
1158 <li class="md-nav__item">
1159 <a href="../" class="md-nav__link">
1160 Overview
1161 </a>
1162 </li>
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172 <li class="md-nav__item">
1173 <a href="../acl-option/" class="md-nav__link">
1174 aclOption
1175 </a>
1176 </li>
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186 <li class="md-nav__item">
1187 <a href="../acp-menu/" class="md-nav__link">
1188 acpMenu
1189 </a>
1190 </li>
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200 <li class="md-nav__item">
1201 <a href="../acp-search-provider/" class="md-nav__link">
1202 acpSearchProvider
1203 </a>
1204 </li>
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214 <li class="md-nav__item">
1215 <a href="../acp-template/" class="md-nav__link">
1216 acpTemplate
1217 </a>
1218 </li>
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228 <li class="md-nav__item">
1229 <a href="../acp-template-delete/" class="md-nav__link">
1230 acpTemplateDelete
1231 </a>
1232 </li>
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244 <li class="md-nav__item md-nav__item--active">
1245
1246 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
1247
1248
1249
1250
1251
1252 <label class="md-nav__link md-nav__link--active" for="__toc">
1253 bbcode
1254 <span class="md-nav__icon md-icon"></span>
1255 </label>
1256
1257 <a href="./" class="md-nav__link md-nav__link--active">
1258 bbcode
1259 </a>
1260
1261
1262
1263 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1264
1265
1266
1267
1268
1269
1270 <label class="md-nav__title" for="__toc">
1271 <span class="md-nav__icon md-icon"></span>
1272 Table of contents
1273 </label>
1274 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1275
1276 <li class="md-nav__item">
1277 <a href="#components" class="md-nav__link">
1278 Components
1279 </a>
1280
1281 <nav class="md-nav" aria-label="Components">
1282 <ul class="md-nav__list">
1283
1284 <li class="md-nav__item">
1285 <a href="#htmlopen" class="md-nav__link">
1286 &lt;htmlopen&gt;
1287 </a>
1288
1289 </li>
1290
1291 <li class="md-nav__item">
1292 <a href="#htmlclose" class="md-nav__link">
1293 &lt;htmlclose&gt;
1294 </a>
1295
1296 </li>
1297
1298 <li class="md-nav__item">
1299 <a href="#classname" class="md-nav__link">
1300 &lt;classname&gt;
1301 </a>
1302
1303 </li>
1304
1305 <li class="md-nav__item">
1306 <a href="#wysiwygicon" class="md-nav__link">
1307 &lt;wysiwygicon&gt;
1308 </a>
1309
1310 </li>
1311
1312 <li class="md-nav__item">
1313 <a href="#buttonlabel" class="md-nav__link">
1314 &lt;buttonlabel&gt;
1315 </a>
1316
1317 </li>
1318
1319 <li class="md-nav__item">
1320 <a href="#sourcecode" class="md-nav__link">
1321 &lt;sourcecode&gt;
1322 </a>
1323
1324 </li>
1325
1326 <li class="md-nav__item">
1327 <a href="#isblockelement" class="md-nav__link">
1328 &lt;isBlockElement&gt;
1329 </a>
1330
1331 </li>
1332
1333 <li class="md-nav__item">
1334 <a href="#attributes" class="md-nav__link">
1335 &lt;attributes&gt;
1336 </a>
1337
1338 <nav class="md-nav" aria-label="&lt;attributes&gt;">
1339 <ul class="md-nav__list">
1340
1341 <li class="md-nav__item">
1342 <a href="#html" class="md-nav__link">
1343 &lt;html&gt;
1344 </a>
1345
1346 </li>
1347
1348 <li class="md-nav__item">
1349 <a href="#validationpattern" class="md-nav__link">
1350 &lt;validationpattern&gt;
1351 </a>
1352
1353 </li>
1354
1355 <li class="md-nav__item">
1356 <a href="#required" class="md-nav__link">
1357 &lt;required&gt;
1358 </a>
1359
1360 </li>
1361
1362 <li class="md-nav__item">
1363 <a href="#usetext" class="md-nav__link">
1364 &lt;usetext&gt;
1365 </a>
1366
1367 </li>
1368
1369 </ul>
1370 </nav>
1371
1372 </li>
1373
1374 </ul>
1375 </nav>
1376
1377 </li>
1378
1379 <li class="md-nav__item">
1380 <a href="#example" class="md-nav__link">
1381 Example
1382 </a>
1383
1384 </li>
1385
1386 </ul>
1387
1388 </nav>
1389
1390 </li>
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400 <li class="md-nav__item">
1401 <a href="../box/" class="md-nav__link">
1402 box
1403 </a>
1404 </li>
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414 <li class="md-nav__item">
1415 <a href="../clipboard-action/" class="md-nav__link">
1416 clipboardAction
1417 </a>
1418 </li>
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428 <li class="md-nav__item">
1429 <a href="../core-object/" class="md-nav__link">
1430 coreObject
1431 </a>
1432 </li>
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442 <li class="md-nav__item">
1443 <a href="../cronjob/" class="md-nav__link">
1444 cronjob
1445 </a>
1446 </li>
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456 <li class="md-nav__item">
1457 <a href="../database/" class="md-nav__link">
1458 database
1459 </a>
1460 </li>
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470 <li class="md-nav__item">
1471 <a href="../event-listener/" class="md-nav__link">
1472 eventListener
1473 </a>
1474 </li>
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484 <li class="md-nav__item">
1485 <a href="../file/" class="md-nav__link">
1486 file
1487 </a>
1488 </li>
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498 <li class="md-nav__item">
1499 <a href="../file-delete/" class="md-nav__link">
1500 fileDelete
1501 </a>
1502 </li>
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512 <li class="md-nav__item">
1513 <a href="../language/" class="md-nav__link">
1514 language
1515 </a>
1516 </li>
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526 <li class="md-nav__item">
1527 <a href="../media-provider/" class="md-nav__link">
1528 mediaProvider
1529 </a>
1530 </li>
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540 <li class="md-nav__item">
1541 <a href="../menu/" class="md-nav__link">
1542 menu
1543 </a>
1544 </li>
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554 <li class="md-nav__item">
1555 <a href="../menu-item/" class="md-nav__link">
1556 menuItem
1557 </a>
1558 </li>
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568 <li class="md-nav__item">
1569 <a href="../object-type/" class="md-nav__link">
1570 objectType
1571 </a>
1572 </li>
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582 <li class="md-nav__item">
1583 <a href="../object-type-definition/" class="md-nav__link">
1584 objectTypeDefinition
1585 </a>
1586 </li>
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596 <li class="md-nav__item">
1597 <a href="../option/" class="md-nav__link">
1598 option
1599 </a>
1600 </li>
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610 <li class="md-nav__item">
1611 <a href="../page/" class="md-nav__link">
1612 page
1613 </a>
1614 </li>
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624 <li class="md-nav__item">
1625 <a href="../pip/" class="md-nav__link">
1626 pip
1627 </a>
1628 </li>
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638 <li class="md-nav__item">
1639 <a href="../script/" class="md-nav__link">
1640 script
1641 </a>
1642 </li>
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652 <li class="md-nav__item">
1653 <a href="../smiley/" class="md-nav__link">
1654 smiley
1655 </a>
1656 </li>
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666 <li class="md-nav__item">
1667 <a href="../sql/" class="md-nav__link">
1668 sql
1669 </a>
1670 </li>
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680 <li class="md-nav__item">
1681 <a href="../style/" class="md-nav__link">
1682 style
1683 </a>
1684 </li>
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694 <li class="md-nav__item">
1695 <a href="../template/" class="md-nav__link">
1696 template
1697 </a>
1698 </li>
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708 <li class="md-nav__item">
1709 <a href="../template-delete/" class="md-nav__link">
1710 templateDelete
1711 </a>
1712 </li>
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722 <li class="md-nav__item">
1723 <a href="../template-listener/" class="md-nav__link">
1724 templateListener
1725 </a>
1726 </li>
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736 <li class="md-nav__item">
1737 <a href="../user-group-option/" class="md-nav__link">
1738 userGroupOption
1739 </a>
1740 </li>
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750 <li class="md-nav__item">
1751 <a href="../user-menu/" class="md-nav__link">
1752 userMenu
1753 </a>
1754 </li>
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764 <li class="md-nav__item">
1765 <a href="../user-notification-event/" class="md-nav__link">
1766 userNotificationEvent
1767 </a>
1768 </li>
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778 <li class="md-nav__item">
1779 <a href="../user-option/" class="md-nav__link">
1780 userOption
1781 </a>
1782 </li>
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792 <li class="md-nav__item">
1793 <a href="../user-profile-menu/" class="md-nav__link">
1794 userProfileMenu
1795 </a>
1796 </li>
1797
1798
1799
1800
1801 </ul>
1802 </nav>
1803 </li>
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813 <li class="md-nav__item">
1814 <a href="../../database-php-api/" class="md-nav__link">
1815 Database PHP API
1816 </a>
1817 </li>
1818
1819
1820
1821
1822 </ul>
1823 </nav>
1824 </li>
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836 <li class="md-nav__item md-nav__item--nested">
1837
1838
1839
1840
1841 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
1842
1843
1844
1845 <label class="md-nav__link" for="__nav_6" tabindex="0" aria-expanded="false">
1846 Migration
1847 <span class="md-nav__icon md-icon"></span>
1848 </label>
1849
1850 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1851 <label class="md-nav__title" for="__nav_6">
1852 <span class="md-nav__icon md-icon"></span>
1853 Migration
1854 </label>
1855 <ul class="md-nav__list" data-md-scrollfix>
1856
1857
1858
1859
1860
1861
1862
1863 <li class="md-nav__item md-nav__item--nested">
1864
1865
1866
1867
1868 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1869
1870
1871
1872 <label class="md-nav__link" for="__nav_6_1" tabindex="0" aria-expanded="false">
1873 From WoltLab Suite 5.5
1874 <span class="md-nav__icon md-icon"></span>
1875 </label>
1876
1877 <nav class="md-nav" aria-label="From WoltLab Suite 5.5" data-md-level="2">
1878 <label class="md-nav__title" for="__nav_6_1">
1879 <span class="md-nav__icon md-icon"></span>
1880 From WoltLab Suite 5.5
1881 </label>
1882 <ul class="md-nav__list" data-md-scrollfix>
1883
1884
1885
1886
1887
1888
1889 <li class="md-nav__item">
1890 <a href="../../../migration/wsc55/php/" class="md-nav__link">
1891 PHP API
1892 </a>
1893 </li>
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903 <li class="md-nav__item">
1904 <a href="../../../migration/wsc55/javascript/" class="md-nav__link">
1905 TypeScript and JavaScript
1906 </a>
1907 </li>
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917 <li class="md-nav__item">
1918 <a href="../../../migration/wsc55/templates/" class="md-nav__link">
1919 Templates
1920 </a>
1921 </li>
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931 <li class="md-nav__item">
1932 <a href="../../../migration/wsc55/icons/" class="md-nav__link">
1933 Icons
1934 </a>
1935 </li>
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945 <li class="md-nav__item">
1946 <a href="../../../migration/wsc55/dialogs/" class="md-nav__link">
1947 Dialogs
1948 </a>
1949 </li>
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959 <li class="md-nav__item">
1960 <a href="../../../migration/wsc55/libraries/" class="md-nav__link">
1961 Third Party Libraries
1962 </a>
1963 </li>
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973 <li class="md-nav__item">
1974 <a href="../../../migration/wsc55/deprecations_removals/" class="md-nav__link">
1975 Deprecations and Removals
1976 </a>
1977 </li>
1978
1979
1980
1981
1982 </ul>
1983 </nav>
1984 </li>
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995 <li class="md-nav__item md-nav__item--nested">
1996
1997
1998
1999
2000 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
2001
2002
2003
2004 <label class="md-nav__link" for="__nav_6_2" tabindex="0" aria-expanded="false">
2005 From WoltLab Suite 5.4
2006 <span class="md-nav__icon md-icon"></span>
2007 </label>
2008
2009 <nav class="md-nav" aria-label="From WoltLab Suite 5.4" data-md-level="2">
2010 <label class="md-nav__title" for="__nav_6_2">
2011 <span class="md-nav__icon md-icon"></span>
2012 From WoltLab Suite 5.4
2013 </label>
2014 <ul class="md-nav__list" data-md-scrollfix>
2015
2016
2017
2018
2019
2020
2021 <li class="md-nav__item">
2022 <a href="../../../migration/wsc54/php/" class="md-nav__link">
2023 PHP API
2024 </a>
2025 </li>
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035 <li class="md-nav__item">
2036 <a href="../../../migration/wsc54/javascript/" class="md-nav__link">
2037 TypeScript and JavaScript
2038 </a>
2039 </li>
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049 <li class="md-nav__item">
2050 <a href="../../../migration/wsc54/templates/" class="md-nav__link">
2051 Templates
2052 </a>
2053 </li>
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063 <li class="md-nav__item">
2064 <a href="../../../migration/wsc54/libraries/" class="md-nav__link">
2065 Third Party Libraries
2066 </a>
2067 </li>
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077 <li class="md-nav__item">
2078 <a href="../../../migration/wsc54/deprecations_removals/" class="md-nav__link">
2079 Deprecations and Removals
2080 </a>
2081 </li>
2082
2083
2084
2085
2086 </ul>
2087 </nav>
2088 </li>
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099 <li class="md-nav__item md-nav__item--nested">
2100
2101
2102
2103
2104 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
2105
2106
2107
2108 <label class="md-nav__link" for="__nav_6_3" tabindex="0" aria-expanded="false">
2109 From WoltLab Suite 5.3
2110 <span class="md-nav__icon md-icon"></span>
2111 </label>
2112
2113 <nav class="md-nav" aria-label="From WoltLab Suite 5.3" data-md-level="2">
2114 <label class="md-nav__title" for="__nav_6_3">
2115 <span class="md-nav__icon md-icon"></span>
2116 From WoltLab Suite 5.3
2117 </label>
2118 <ul class="md-nav__list" data-md-scrollfix>
2119
2120
2121
2122
2123
2124
2125 <li class="md-nav__item">
2126 <a href="../../../migration/wsc53/php/" class="md-nav__link">
2127 PHP API
2128 </a>
2129 </li>
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139 <li class="md-nav__item">
2140 <a href="../../../migration/wsc53/session/" class="md-nav__link">
2141 Session Handling and Authentication
2142 </a>
2143 </li>
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153 <li class="md-nav__item">
2154 <a href="../../../migration/wsc53/javascript/" class="md-nav__link">
2155 TypeScript and JavaScript
2156 </a>
2157 </li>
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167 <li class="md-nav__item">
2168 <a href="../../../migration/wsc53/templates/" class="md-nav__link">
2169 Templates
2170 </a>
2171 </li>
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181 <li class="md-nav__item">
2182 <a href="../../../migration/wsc53/libraries/" class="md-nav__link">
2183 Third Party Libraries
2184 </a>
2185 </li>
2186
2187
2188
2189
2190 </ul>
2191 </nav>
2192 </li>
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203 <li class="md-nav__item md-nav__item--nested">
2204
2205
2206
2207
2208 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
2209
2210
2211
2212 <label class="md-nav__link" for="__nav_6_4" tabindex="0" aria-expanded="false">
2213 From WoltLab Suite 5.2
2214 <span class="md-nav__icon md-icon"></span>
2215 </label>
2216
2217 <nav class="md-nav" aria-label="From WoltLab Suite 5.2" data-md-level="2">
2218 <label class="md-nav__title" for="__nav_6_4">
2219 <span class="md-nav__icon md-icon"></span>
2220 From WoltLab Suite 5.2
2221 </label>
2222 <ul class="md-nav__list" data-md-scrollfix>
2223
2224
2225
2226
2227
2228
2229 <li class="md-nav__item">
2230 <a href="../../../migration/wsc52/php/" class="md-nav__link">
2231 PHP API
2232 </a>
2233 </li>
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243 <li class="md-nav__item">
2244 <a href="../../../migration/wsc52/templates/" class="md-nav__link">
2245 Templates and Languages
2246 </a>
2247 </li>
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257 <li class="md-nav__item">
2258 <a href="../../../migration/wsc52/libraries/" class="md-nav__link">
2259 Third Party Libraries
2260 </a>
2261 </li>
2262
2263
2264
2265
2266 </ul>
2267 </nav>
2268 </li>
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279 <li class="md-nav__item md-nav__item--nested">
2280
2281
2282
2283
2284 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
2285
2286
2287
2288 <label class="md-nav__link" for="__nav_6_5" tabindex="0" aria-expanded="false">
2289 From WoltLab Suite 3.1
2290 <span class="md-nav__icon md-icon"></span>
2291 </label>
2292
2293 <nav class="md-nav" aria-label="From WoltLab Suite 3.1" data-md-level="2">
2294 <label class="md-nav__title" for="__nav_6_5">
2295 <span class="md-nav__icon md-icon"></span>
2296 From WoltLab Suite 3.1
2297 </label>
2298 <ul class="md-nav__list" data-md-scrollfix>
2299
2300
2301
2302
2303
2304
2305 <li class="md-nav__item">
2306 <a href="../../../migration/wsc31/php/" class="md-nav__link">
2307 PHP API
2308 </a>
2309 </li>
2310
2311
2312
2313
2314 </ul>
2315 </nav>
2316 </li>
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327 <li class="md-nav__item md-nav__item--nested">
2328
2329
2330
2331
2332 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_6" type="checkbox" id="__nav_6_6" >
2333
2334
2335
2336 <label class="md-nav__link" for="__nav_6_6" tabindex="0" aria-expanded="false">
2337 From WoltLab Suite 3.0
2338 <span class="md-nav__icon md-icon"></span>
2339 </label>
2340
2341 <nav class="md-nav" aria-label="From WoltLab Suite 3.0" data-md-level="2">
2342 <label class="md-nav__title" for="__nav_6_6">
2343 <span class="md-nav__icon md-icon"></span>
2344 From WoltLab Suite 3.0
2345 </label>
2346 <ul class="md-nav__list" data-md-scrollfix>
2347
2348
2349
2350
2351
2352
2353 <li class="md-nav__item">
2354 <a href="../../../migration/wsc30/php/" class="md-nav__link">
2355 PHP API
2356 </a>
2357 </li>
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367 <li class="md-nav__item">
2368 <a href="../../../migration/wsc30/javascript/" class="md-nav__link">
2369 JavaScript API
2370 </a>
2371 </li>
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381 <li class="md-nav__item">
2382 <a href="../../../migration/wsc30/templates/" class="md-nav__link">
2383 Templates
2384 </a>
2385 </li>
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395 <li class="md-nav__item">
2396 <a href="../../../migration/wsc30/css/" class="md-nav__link">
2397 CSS
2398 </a>
2399 </li>
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409 <li class="md-nav__item">
2410 <a href="../../../migration/wsc30/package/" class="md-nav__link">
2411 Package Components
2412 </a>
2413 </li>
2414
2415
2416
2417
2418 </ul>
2419 </nav>
2420 </li>
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431 <li class="md-nav__item md-nav__item--nested">
2432
2433
2434
2435
2436 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_7" type="checkbox" id="__nav_6_7" >
2437
2438
2439
2440 <label class="md-nav__link" for="__nav_6_7" tabindex="0" aria-expanded="false">
2441 From WCF 2.1
2442 <span class="md-nav__icon md-icon"></span>
2443 </label>
2444
2445 <nav class="md-nav" aria-label="From WCF 2.1" data-md-level="2">
2446 <label class="md-nav__title" for="__nav_6_7">
2447 <span class="md-nav__icon md-icon"></span>
2448 From WCF 2.1
2449 </label>
2450 <ul class="md-nav__list" data-md-scrollfix>
2451
2452
2453
2454
2455
2456
2457 <li class="md-nav__item">
2458 <a href="../../../migration/wcf21/php/" class="md-nav__link">
2459 PHP API
2460 </a>
2461 </li>
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471 <li class="md-nav__item">
2472 <a href="../../../migration/wcf21/templates/" class="md-nav__link">
2473 Templates
2474 </a>
2475 </li>
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485 <li class="md-nav__item">
2486 <a href="../../../migration/wcf21/css/" class="md-nav__link">
2487 CSS
2488 </a>
2489 </li>
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499 <li class="md-nav__item">
2500 <a href="../../../migration/wcf21/package/" class="md-nav__link">
2501 Package Components
2502 </a>
2503 </li>
2504
2505
2506
2507
2508 </ul>
2509 </nav>
2510 </li>
2511
2512
2513
2514
2515 </ul>
2516 </nav>
2517 </li>
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529 <li class="md-nav__item md-nav__item--nested">
2530
2531
2532
2533
2534 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
2535
2536
2537
2538 <label class="md-nav__link" for="__nav_7" tabindex="0" aria-expanded="false">
2539 Tutorials
2540 <span class="md-nav__icon md-icon"></span>
2541 </label>
2542
2543 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
2544 <label class="md-nav__title" for="__nav_7">
2545 <span class="md-nav__icon md-icon"></span>
2546 Tutorials
2547 </label>
2548 <ul class="md-nav__list" data-md-scrollfix>
2549
2550
2551
2552
2553
2554
2555
2556 <li class="md-nav__item md-nav__item--nested">
2557
2558
2559
2560
2561 <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
2562
2563
2564
2565 <label class="md-nav__link" for="__nav_7_1" tabindex="0" aria-expanded="false">
2566 Tutorial Series
2567 <span class="md-nav__icon md-icon"></span>
2568 </label>
2569
2570 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
2571 <label class="md-nav__title" for="__nav_7_1">
2572 <span class="md-nav__icon md-icon"></span>
2573 Tutorial Series
2574 </label>
2575 <ul class="md-nav__list" data-md-scrollfix>
2576
2577
2578
2579
2580
2581
2582 <li class="md-nav__item">
2583 <a href="../../../tutorial/series/overview/" class="md-nav__link">
2584 Overview
2585 </a>
2586 </li>
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596 <li class="md-nav__item">
2597 <a href="../../../tutorial/series/part_1/" class="md-nav__link">
2598 Part 1
2599 </a>
2600 </li>
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610 <li class="md-nav__item">
2611 <a href="../../../tutorial/series/part_2/" class="md-nav__link">
2612 Part 2
2613 </a>
2614 </li>
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624 <li class="md-nav__item">
2625 <a href="../../../tutorial/series/part_3/" class="md-nav__link">
2626 Part 3
2627 </a>
2628 </li>
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638 <li class="md-nav__item">
2639 <a href="../../../tutorial/series/part_4/" class="md-nav__link">
2640 Part 4
2641 </a>
2642 </li>
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652 <li class="md-nav__item">
2653 <a href="../../../tutorial/series/part_5/" class="md-nav__link">
2654 Part 5
2655 </a>
2656 </li>
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666 <li class="md-nav__item">
2667 <a href="../../../tutorial/series/part_6/" class="md-nav__link">
2668 Part 6
2669 </a>
2670 </li>
2671
2672
2673
2674
2675 </ul>
2676 </nav>
2677 </li>
2678
2679
2680
2681
2682 </ul>
2683 </nav>
2684 </li>
2685
2686
2687
2688 </ul>
2689 </nav>
2690 </div>
2691 </div>
2692 </div>
2693
2694
2695
2696 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2697 <div class="md-sidebar__scrollwrap">
2698 <div class="md-sidebar__inner">
2699
2700
2701 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2702
2703
2704
2705
2706
2707
2708 <label class="md-nav__title" for="__toc">
2709 <span class="md-nav__icon md-icon"></span>
2710 Table of contents
2711 </label>
2712 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2713
2714 <li class="md-nav__item">
2715 <a href="#components" class="md-nav__link">
2716 Components
2717 </a>
2718
2719 <nav class="md-nav" aria-label="Components">
2720 <ul class="md-nav__list">
2721
2722 <li class="md-nav__item">
2723 <a href="#htmlopen" class="md-nav__link">
2724 &lt;htmlopen&gt;
2725 </a>
2726
2727 </li>
2728
2729 <li class="md-nav__item">
2730 <a href="#htmlclose" class="md-nav__link">
2731 &lt;htmlclose&gt;
2732 </a>
2733
2734 </li>
2735
2736 <li class="md-nav__item">
2737 <a href="#classname" class="md-nav__link">
2738 &lt;classname&gt;
2739 </a>
2740
2741 </li>
2742
2743 <li class="md-nav__item">
2744 <a href="#wysiwygicon" class="md-nav__link">
2745 &lt;wysiwygicon&gt;
2746 </a>
2747
2748 </li>
2749
2750 <li class="md-nav__item">
2751 <a href="#buttonlabel" class="md-nav__link">
2752 &lt;buttonlabel&gt;
2753 </a>
2754
2755 </li>
2756
2757 <li class="md-nav__item">
2758 <a href="#sourcecode" class="md-nav__link">
2759 &lt;sourcecode&gt;
2760 </a>
2761
2762 </li>
2763
2764 <li class="md-nav__item">
2765 <a href="#isblockelement" class="md-nav__link">
2766 &lt;isBlockElement&gt;
2767 </a>
2768
2769 </li>
2770
2771 <li class="md-nav__item">
2772 <a href="#attributes" class="md-nav__link">
2773 &lt;attributes&gt;
2774 </a>
2775
2776 <nav class="md-nav" aria-label="&lt;attributes&gt;">
2777 <ul class="md-nav__list">
2778
2779 <li class="md-nav__item">
2780 <a href="#html" class="md-nav__link">
2781 &lt;html&gt;
2782 </a>
2783
2784 </li>
2785
2786 <li class="md-nav__item">
2787 <a href="#validationpattern" class="md-nav__link">
2788 &lt;validationpattern&gt;
2789 </a>
2790
2791 </li>
2792
2793 <li class="md-nav__item">
2794 <a href="#required" class="md-nav__link">
2795 &lt;required&gt;
2796 </a>
2797
2798 </li>
2799
2800 <li class="md-nav__item">
2801 <a href="#usetext" class="md-nav__link">
2802 &lt;usetext&gt;
2803 </a>
2804
2805 </li>
2806
2807 </ul>
2808 </nav>
2809
2810 </li>
2811
2812 </ul>
2813 </nav>
2814
2815 </li>
2816
2817 <li class="md-nav__item">
2818 <a href="#example" class="md-nav__link">
2819 Example
2820 </a>
2821
2822 </li>
2823
2824 </ul>
2825
2826 </nav>
2827 </div>
2828 </div>
2829 </div>
2830
2831
2832
2833 <div class="md-content" data-md-component="content">
2834 <article class="md-content__inner md-typeset">
2835
2836
2837
2838
2839
2840
2841
2842
2843 <h1 id="bbcode-package-installation-plugin">BBCode Package Installation Plugin<a class="headerlink" href="#bbcode-package-installation-plugin" title="Permanent link">#</a></h1>
2844 <p>Registers new BBCodes.</p>
2845 <h2 id="components">Components<a class="headerlink" href="#components" title="Permanent link">#</a></h2>
2846 <p>Each bbcode is described as an <code>&lt;bbcode&gt;</code> element with the mandatory attribute <code>name</code>.
2847 The <code>name</code> attribute must contain alphanumeric characters only and is exposed to the user.</p>
2848 <h3 id="htmlopen"><code>&lt;htmlopen&gt;</code><a class="headerlink" href="#htmlopen" title="Permanent link">#</a></h3>
2849 <div class="admonition info">
2850 <p class="admonition-title">Optional: Must not be provided if the BBCode is being processed a PHP class (<code>&lt;classname&gt;</code>).</p>
2851 </div>
2852 <p>The contents of this tag are literally copied into the opening tag of the bbcode.</p>
2853 <h3 id="htmlclose"><code>&lt;htmlclose&gt;</code><a class="headerlink" href="#htmlclose" title="Permanent link">#</a></h3>
2854 <div class="admonition info">
2855 <p class="admonition-title">Optional: Must not be provided if <code>&lt;htmlopen&gt;</code> is not given.</p>
2856 </div>
2857 <p>Must match the <code>&lt;htmlopen&gt;</code> tag.
2858 Do not provide for self-closing tags.</p>
2859 <h3 id="classname"><code>&lt;classname&gt;</code><a class="headerlink" href="#classname" title="Permanent link">#</a></h3>
2860 <p>The name of the class providing the bbcode output,
2861 the class has to implement the <code>wcf\system\bbcode\IBBCode</code> interface.</p>
2862 <p>BBCodes can be statically converted to HTML during input processing using a
2863 <code>wcf\system\html\metacode\converter\*MetaConverter</code> class. This class does not
2864 need to be registered.</p>
2865 <h3 id="wysiwygicon"><code>&lt;wysiwygicon&gt;</code><a class="headerlink" href="#wysiwygicon" title="Permanent link">#</a></h3>
2866 <p><span class="label label-info">Optional</span></p>
2867 <p>Name of the Font Awesome icon class or path to a <code>gif</code>, <code>jpg</code>, <code>jpeg</code>, <code>png</code>, or <code>svg</code> image (placed inside the <code>icon/</code> directory) to show in the editor toolbar.</p>
2868 <h3 id="buttonlabel"><code>&lt;buttonlabel&gt;</code><a class="headerlink" href="#buttonlabel" title="Permanent link">#</a></h3>
2869 <div class="admonition info">
2870 <p class="admonition-title">Optional: Must be provided if an icon is given.</p>
2871 </div>
2872 <p>Explanatory text to show when hovering the icon.</p>
2873 <h3 id="sourcecode"><code>&lt;sourcecode&gt;</code><a class="headerlink" href="#sourcecode" title="Permanent link">#</a></h3>
2874 <div class="admonition warning">
2875 <p class="admonition-title">Do not set this to <code>1</code> if you don't specify a PHP class for processing. You must perform XSS sanitizing yourself!</p>
2876 </div>
2877 <p>If set to <code>1</code> contents of this BBCode will not be interpreted,
2878 but literally passed through instead.</p>
2879 <h3 id="isblockelement"><code>&lt;isBlockElement&gt;</code><a class="headerlink" href="#isblockelement" title="Permanent link">#</a></h3>
2880 <p>Set to <code>1</code> if the output of this BBCode is a HTML block element (according to the HTML specification).</p>
2881 <h3 id="attributes"><code>&lt;attributes&gt;</code><a class="headerlink" href="#attributes" title="Permanent link">#</a></h3>
2882 <p>Each bbcode is described as an <code>&lt;attribute&gt;</code> element with the mandatory attribute <code>name</code>.
2883 The <code>name</code> attribute is a 0-indexed integer.</p>
2884 <h4 id="html"><code>&lt;html&gt;</code><a class="headerlink" href="#html" title="Permanent link">#</a></h4>
2885 <div class="admonition info">
2886 <p class="admonition-title">Optional: Must not be provided if the BBCode is being processed a PHP class (<code>&lt;classname&gt;</code>).</p>
2887 </div>
2888 <p>The contents of this tag are copied into the opening tag of the bbcode.
2889 <code>%s</code> is replaced by the attribute value.</p>
2890 <h4 id="validationpattern"><code>&lt;validationpattern&gt;</code><a class="headerlink" href="#validationpattern" title="Permanent link">#</a></h4>
2891 <p><span class="label label-info">Optional</span></p>
2892 <p>Defines a regular expression that is used to validate the value of the attribute.</p>
2893 <h4 id="required"><code>&lt;required&gt;</code><a class="headerlink" href="#required" title="Permanent link">#</a></h4>
2894 <p><span class="label label-info">Optional</span></p>
2895 <p>Specifies whether this attribute must be provided.</p>
2896 <h4 id="usetext"><code>&lt;usetext&gt;</code><a class="headerlink" href="#usetext" title="Permanent link">#</a></h4>
2897 <p><span class="label label-info">Optional</span></p>
2898 <div class="admonition info">
2899 <p class="admonition-title">Should only be set to <code>1</code> for the attribute with name <code>0</code>.</p>
2900 </div>
2901 <p>Specifies whether the text content of the BBCode should become this attribute's value.</p>
2902 <h2 id="example">Example<a class="headerlink" href="#example" title="Permanent link">#</a></h2>
2903 <div class="highlight"><table class="highlighttable"><tr><th colspan="2" class="filename"><span class="filename">bbcode.xml <a class="codeBoxTitleGitHubLink" href="https://github.com/WoltLab/docs.woltlab.com/tree/6.0/snippets/package/pip/bbcode.xml" title="View on GitHub"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8v2m9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.71-1.39 3.1-3.1 3.1h-4V17h4a5 5 0 0 0 5-5 5 5 0 0 0-5-5Z"/></svg></span></a></span></th></tr><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
2904 <span class="normal"> 2</span>
2905 <span class="normal"> 3</span>
2906 <span class="normal"> 4</span>
2907 <span class="normal"> 5</span>
2908 <span class="normal"> 6</span>
2909 <span class="normal"> 7</span>
2910 <span class="normal"> 8</span>
2911 <span class="normal"> 9</span>
2912 <span class="normal">10</span>
2913 <span class="normal">11</span>
2914 <span class="normal">12</span>
2915 <span class="normal">13</span>
2916 <span class="normal">14</span>
2917 <span class="normal">15</span>
2918 <span class="normal">16</span>
2919 <span class="normal">17</span>
2920 <span class="normal">18</span>
2921 <span class="normal">19</span>
2922 <span class="normal">20</span>
2923 <span class="normal">21</span>
2924 <span class="normal">22</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
2925 <span class="nt">&lt;data</span><span class="w"> </span><span class="na">xmlns=</span><span class="s">&quot;http://www.woltlab.com&quot;</span><span class="w"> </span><span class="na">xmlns:xsi=</span><span class="s">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span><span class="w"> </span><span class="na">xsi:schemaLocation=</span><span class="s">&quot;http://www.woltlab.com http://www.woltlab.com/XSD/2019/bbcode.xsd&quot;</span><span class="nt">&gt;</span>
2926 <span class="w"> </span><span class="nt">&lt;import&gt;</span>
2927 <span class="w"> </span><span class="nt">&lt;bbcode</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;foo&quot;</span><span class="nt">&gt;</span>
2928 <span class="w"> </span><span class="nt">&lt;classname&gt;</span>wcf\system\bbcode\FooBBCode<span class="nt">&lt;/classname&gt;</span>
2929 <span class="w"> </span><span class="nt">&lt;attributes&gt;</span>
2930 <span class="w"> </span><span class="nt">&lt;attribute</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;0&quot;</span><span class="nt">&gt;</span>
2931 <span class="w"> </span><span class="nt">&lt;validationpattern&gt;</span>^\d+$<span class="nt">&lt;/validationpattern&gt;</span>
2932 <span class="w"> </span><span class="nt">&lt;required&gt;</span>1<span class="nt">&lt;/required&gt;</span>
2933 <span class="w"> </span><span class="nt">&lt;/attribute&gt;</span>
2934 <span class="w"> </span><span class="nt">&lt;/attributes&gt;</span>
2935 <span class="w"> </span><span class="nt">&lt;/bbcode&gt;</span>
2936
2937 <span class="w"> </span><span class="nt">&lt;bbcode</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;example&quot;</span><span class="nt">&gt;</span>
2938 <span class="w"> </span><span class="nt">&lt;htmlopen&gt;</span>div<span class="nt">&lt;/htmlopen&gt;</span>
2939 <span class="w"> </span><span class="nt">&lt;htmlclose&gt;</span>div<span class="nt">&lt;/htmlclose&gt;</span>
2940 <span class="w"> </span><span class="nt">&lt;isBlockElement&gt;</span>1<span class="nt">&lt;/isBlockElement&gt;</span>
2941 <span class="w"> </span><span class="nt">&lt;wysiwygicon&gt;</span>fa-bath<span class="nt">&lt;/wysiwygicon&gt;</span>
2942 <span class="w"> </span><span class="nt">&lt;buttonlabel&gt;</span>wcf.editor.button.example<span class="nt">&lt;/buttonlabel&gt;</span>
2943 <span class="w"> </span><span class="nt">&lt;/bbcode&gt;</span>
2944 <span class="w"> </span><span class="nt">&lt;/import&gt;</span>
2945 <span class="nt">&lt;/data&gt;</span>
2946 </code></pre></div></td></tr></table></div>
2947
2948 <hr>
2949 <div class="md-source-file">
2950 <small>
2951
2952 Last update:
2953 2021-04-23
2954
2955 </small>
2956 </div>
2957
2958
2959
2960
2961
2962
2963 </article>
2964 </div>
2965
2966
2967 </div>
2968
2969 </main>
2970
2971 <footer class="md-footer">
2972
2973 <div class="md-footer-meta md-typeset">
2974 <div class="md-footer-meta__inner md-grid">
2975 <div class="md-copyright">
2976
2977 <div class="md-copyright__highlight">
2978 Copyright © 2020 WoltLab GmbH
2979 </div>
2980
2981
2982 Made with
2983 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2984 Material for MkDocs
2985 </a>
2986
2987 </div>
2988
2989 <div class="md-copyright">
2990 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2991 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2992 </div>
2993
2994 </div>
2995 </div>
2996 </footer>
2997
2998 </div>
2999 <div class="md-dialog" data-md-component="dialog">
3000 <div class="md-dialog__inner md-typeset"></div>
3001 </div>
3002
3003 <script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tracking"], "search": "../../../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
3004
3005
3006 <script src="../../../assets/javascripts/bundle.ba449ae6.min.js"></script>
3007
3008
3009 </body>
3010 </html>