Deployed 2063d78 to 5.4 with MkDocs 1.1.2 and mike 0.5.5
[GitHub/WoltLab/woltlab.github.io.git] / 5.4 / migration / wsc30 / templates / index.html
CommitLineData
45ca63d0
TD
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
12 <link rel="shortcut icon" href="../../../assets/default.favicon.ico">
fb88dc6e 13 <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.0.5">
45ca63d0
TD
14
15
16
17 <title>Templates - WoltLab Suite Documentation</title>
18
19
20
fb88dc6e 21 <link rel="stylesheet" href="../../../assets/stylesheets/main.77f3fd56.min.css">
45ca63d0
TD
22
23
24 <link rel="stylesheet" href="../../../assets/stylesheets/palette.7fa14f5b.min.css">
25
26
27
28 <meta name="theme-color" content="#009485">
29
30
31
32
33
fd8430cb
WG
34
35
45ca63d0
TD
36
37
38 <link rel="stylesheet" href="../../../stylesheets/extra.css">
39
40
41
42
43
44 </head>
45
46
47
48
49
50
51
52 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
53
54
55
56 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
57 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
58 <label class="md-overlay" for="__drawer"></label>
59 <div data-md-component="skip">
60
61
62 <a href="#migrating-from-wsc-30-templates" class="md-skip">
63 Skip to content
64 </a>
65
66 </div>
67 <div data-md-component="announce">
68
69 <aside class="md-announce">
70 <div class="md-announce__inner md-grid md-typeset">
71
72 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
73
74 </div>
75 </aside>
76
77 </div>
78
79
80
81<header class="md-header" data-md-component="header">
82 <nav class="md-header__inner md-grid" aria-label="Header">
83 <a href="../../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation">
84
85 <img src="../../../assets/logo.png" alt="logo">
86
87 </a>
88 <label class="md-header__button md-icon" for="__drawer">
89 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
90 </label>
91 <div class="md-header__title" data-md-component="header-title">
92 <div class="md-header__ellipsis">
93 <div class="md-header__topic">
94 <span class="md-ellipsis">
95 WoltLab Suite Documentation
96 </span>
97 </div>
98 <div class="md-header__topic" data-md-component="header-topic">
99 <span class="md-ellipsis">
100
101 Templates
102
103 </span>
104 </div>
105 </div>
106 </div>
107 <div class="md-header__options">
108
109 </div>
110
45ca63d0 111
7124f4cb
WG
112 <div class="md-header__source">
113
114<a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
115 <div class="md-source__icon md-icon">
116
117 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 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>
118 </div>
119 <div class="md-source__repository">
120 GitHub
121 </div>
122</a>
123 </div>
124
45ca63d0
TD
125 </nav>
126</header>
127
128 <div class="md-container" data-md-component="container">
129
130
131
132
133 <main class="md-main" data-md-component="main">
134 <div class="md-main__inner md-grid">
135
136
137
138 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
139 <div class="md-sidebar__scrollwrap">
140 <div class="md-sidebar__inner">
141
142
143
144
145
146<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
147 <label class="md-nav__title" for="__drawer">
148 <a href="../../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation">
149
150 <img src="../../../assets/logo.png" alt="logo">
151
152 </a>
153 WoltLab Suite Documentation
154 </label>
155
7124f4cb
WG
156 <div class="md-nav__source">
157
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"><path d="M439.55 236.05L244 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
45ca63d0
TD
169 <ul class="md-nav__list" data-md-scrollfix>
170
171
172
173
174
175
176
177
178 <li class="md-nav__item">
179 <a href="../../../getting-started/" class="md-nav__link">
180 Getting Started
181 </a>
182 </li>
183
184
185
186
187
188
189
190
191
192
193
194 <li class="md-nav__item md-nav__item--nested">
195
196
197 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
198
199 <label class="md-nav__link" for="__nav_2">
200 PHP API
201 <span class="md-nav__icon md-icon"></span>
202 </label>
203 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
204 <label class="md-nav__title" for="__nav_2">
205 <span class="md-nav__icon md-icon"></span>
206 PHP API
207 </label>
208 <ul class="md-nav__list" data-md-scrollfix>
209
210
211
212
213
214 <li class="md-nav__item">
215 <a href="../../../php/pages/" class="md-nav__link">
216 Pages
217 </a>
218 </li>
219
220
221
222
223
224
225
226 <li class="md-nav__item">
227 <a href="../../../php/database-objects/" class="md-nav__link">
228 Database Objects
229 </a>
230 </li>
231
232
233
234
235
236
237
238 <li class="md-nav__item">
239 <a href="../../../php/database-access/" class="md-nav__link">
240 Database Access
241 </a>
242 </li>
243
244
245
246
247
248
249
250 <li class="md-nav__item">
251 <a href="../../../php/exceptions/" class="md-nav__link">
252 Exceptions
253 </a>
254 </li>
255
256
257
258
259
260
261
262
263 <li class="md-nav__item md-nav__item--nested">
264
265
266 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
267
268 <label class="md-nav__link" for="__nav_2_5">
269 API
270 <span class="md-nav__icon md-icon"></span>
271 </label>
272 <nav class="md-nav" aria-label="API" data-md-level="2">
273 <label class="md-nav__title" for="__nav_2_5">
274 <span class="md-nav__icon md-icon"></span>
275 API
276 </label>
277 <ul class="md-nav__list" data-md-scrollfix>
278
279
280
281
282
283 <li class="md-nav__item">
284 <a href="../../../php/api/caches/" class="md-nav__link">
285 Caches
286 </a>
287 </li>
288
289
290
291
292
293
294
295 <li class="md-nav__item">
296 <a href="../../../php/api/comments/" class="md-nav__link">
297 Comments
298 </a>
299 </li>
300
301
302
303
304
305
306
307 <li class="md-nav__item">
308 <a href="../../../php/api/cronjobs/" class="md-nav__link">
309 Cronjobs
310 </a>
311 </li>
312
313
314
315
316
317
318
319 <li class="md-nav__item">
320 <a href="../../../php/api/events/" class="md-nav__link">
321 Events
322 </a>
323 </li>
324
325
326
327
328
329
330
331
332 <li class="md-nav__item md-nav__item--nested">
333
334
335 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
336
337 <label class="md-nav__link" for="__nav_2_5_5">
338 Form Builder
339 <span class="md-nav__icon md-icon"></span>
340 </label>
341 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
342 <label class="md-nav__title" for="__nav_2_5_5">
343 <span class="md-nav__icon md-icon"></span>
344 Form Builder
345 </label>
346 <ul class="md-nav__list" data-md-scrollfix>
347
348
349
350
351
352 <li class="md-nav__item">
353 <a href="../../../php/api/form_builder/overview/" class="md-nav__link">
354 Overview
355 </a>
356 </li>
357
358
359
360
361
362
363
364 <li class="md-nav__item">
365 <a href="../../../php/api/form_builder/structure/" class="md-nav__link">
366 Structure
367 </a>
368 </li>
369
370
371
372
373
374
375
376 <li class="md-nav__item">
377 <a href="../../../php/api/form_builder/form_fields/" class="md-nav__link">
378 Fields
379 </a>
380 </li>
381
382
383
384
385
386
387
388 <li class="md-nav__item">
389 <a href="../../../php/api/form_builder/validation_data/" class="md-nav__link">
390 Validation and Data
391 </a>
392 </li>
393
394
395
396
397
398
399
400 <li class="md-nav__item">
401 <a href="../../../php/api/form_builder/dependencies/" class="md-nav__link">
402 Dependencies
403 </a>
404 </li>
405
406
407
408 </ul>
409 </nav>
410 </li>
411
412
413
414
415
416
417
418 <li class="md-nav__item">
419 <a href="../../../php/api/package_installation_plugins/" class="md-nav__link">
420 Package Installation Plugins
421 </a>
422 </li>
423
424
425
426
427
428
429
430 <li class="md-nav__item">
431 <a href="../../../php/api/user_activity_points/" class="md-nav__link">
432 User Activity Points
433 </a>
434 </li>
435
436
437
438
439
440
441
442 <li class="md-nav__item">
443 <a href="../../../php/api/user_notifications/" class="md-nav__link">
444 User Notifications
445 </a>
446 </li>
447
448
449
450
451
452
453
454 <li class="md-nav__item">
455 <a href="../../../php/api/sitemaps/" class="md-nav__link">
456 Sitemaps
457 </a>
458 </li>
459
460
461
462 </ul>
463 </nav>
464 </li>
465
466
467
468
469
470
471
472 <li class="md-nav__item">
473 <a href="../../../php/code-style/" class="md-nav__link">
474 Code Style
475 </a>
476 </li>
477
478
479
480
481
482
483
484 <li class="md-nav__item">
485 <a href="../../../php/apps/" class="md-nav__link">
486 Apps
487 </a>
488 </li>
489
490
491
492
493
494
495
496 <li class="md-nav__item">
497 <a href="../../../php/gdpr/" class="md-nav__link">
498 GDPR
499 </a>
500 </li>
501
502
503
504 </ul>
505 </nav>
506 </li>
507
508
509
510
511
512
513
514
515
516
517
518 <li class="md-nav__item md-nav__item--nested">
519
520
521 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
522
523 <label class="md-nav__link" for="__nav_3">
524 Languages, Templates & CSS
525 <span class="md-nav__icon md-icon"></span>
526 </label>
527 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
528 <label class="md-nav__title" for="__nav_3">
529 <span class="md-nav__icon md-icon"></span>
530 Languages, Templates & CSS
531 </label>
532 <ul class="md-nav__list" data-md-scrollfix>
533
534
535
536
537
538 <li class="md-nav__item">
539 <a href="../../../view/languages/" class="md-nav__link">
540 Languages
541 </a>
542 </li>
543
544
545
546
547
548
549
550 <li class="md-nav__item">
551 <a href="../../../view/templates/" class="md-nav__link">
552 Templates
553 </a>
554 </li>
555
556
557
558
559
560
561
562 <li class="md-nav__item">
563 <a href="../../../view/css/" class="md-nav__link">
564 CSS
565 </a>
566 </li>
567
568
569
570 </ul>
571 </nav>
572 </li>
573
574
575
576
577
578
579
580
581
582
583
584 <li class="md-nav__item md-nav__item--nested">
585
586
587 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
588
589 <label class="md-nav__link" for="__nav_4">
590 JavaScript API
591 <span class="md-nav__icon md-icon"></span>
592 </label>
593 <nav class="md-nav" aria-label="JavaScript API" data-md-level="1">
594 <label class="md-nav__title" for="__nav_4">
595 <span class="md-nav__icon md-icon"></span>
596 JavaScript API
597 </label>
598 <ul class="md-nav__list" data-md-scrollfix>
599
600
601
602
603
604 <li class="md-nav__item">
605 <a href="../../../javascript/general-usage/" class="md-nav__link">
606 General Usage
607 </a>
608 </li>
609
610
611
612
613
614
615
616
617 <li class="md-nav__item md-nav__item--nested">
618
619
620 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_2" type="checkbox" id="__nav_4_2" >
621
622 <label class="md-nav__link" for="__nav_4_2">
623 New API
624 <span class="md-nav__icon md-icon"></span>
625 </label>
626 <nav class="md-nav" aria-label="New API" data-md-level="2">
627 <label class="md-nav__title" for="__nav_4_2">
628 <span class="md-nav__icon md-icon"></span>
629 New API
630 </label>
631 <ul class="md-nav__list" data-md-scrollfix>
632
633
634
635
636
637 <li class="md-nav__item">
638 <a href="../../../javascript/new-api_writing-a-module/" class="md-nav__link">
639 Writing a module
640 </a>
641 </li>
642
643
644
645
646
647
648
649 <li class="md-nav__item">
650 <a href="../../../javascript/new-api_data-structures/" class="md-nav__link">
651 Data Structures
652 </a>
653 </li>
654
655
656
657
658
659
660
661 <li class="md-nav__item">
662 <a href="../../../javascript/new-api_core/" class="md-nav__link">
663 Core Functions
664 </a>
665 </li>
666
667
668
669
670
671
672
673 <li class="md-nav__item">
674 <a href="../../../javascript/new-api_dom/" class="md-nav__link">
675 DOM
676 </a>
677 </li>
678
679
680
681
682
683
684
685 <li class="md-nav__item">
686 <a href="../../../javascript/new-api_events/" class="md-nav__link">
687 Event Handling
688 </a>
689 </li>
690
691
692
693
694
695
696
697 <li class="md-nav__item">
698 <a href="../../../javascript/new-api_ajax/" class="md-nav__link">
699 Ajax
700 </a>
701 </li>
702
703
704
705
706
707
708
709 <li class="md-nav__item">
710 <a href="../../../javascript/new-api_dialogs/" class="md-nav__link">
711 Dialogs
712 </a>
713 </li>
714
715
716
717
718
719
720
721 <li class="md-nav__item">
722 <a href="../../../javascript/new-api_browser/" class="md-nav__link">
723 Browser and Screen Sizes
724 </a>
725 </li>
726
727
728
729
730
731
732
733 <li class="md-nav__item">
734 <a href="../../../javascript/new-api_ui/" class="md-nav__link">
735 User Interface
736 </a>
737 </li>
738
739
740
741 </ul>
742 </nav>
743 </li>
744
745
746
747
748
749
750
751 <li class="md-nav__item">
752 <a href="../../../javascript/legacy-api/" class="md-nav__link">
753 Legacy API
754 </a>
755 </li>
756
757
758
759
760
761
762
763 <li class="md-nav__item">
764 <a href="../../../javascript/helper-functions/" class="md-nav__link">
765 Helper Functions
766 </a>
767 </li>
768
769
770
771
772
773
774
775 <li class="md-nav__item">
776 <a href="../../../javascript/code-snippets/" class="md-nav__link">
777 Code Snippets
778 </a>
779 </li>
780
781
782
783 </ul>
784 </nav>
785 </li>
786
787
788
789
790
791
792
793
794
795
796
797 <li class="md-nav__item md-nav__item--nested">
798
799
800 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
801
802 <label class="md-nav__link" for="__nav_5">
803 Package Components
804 <span class="md-nav__icon md-icon"></span>
805 </label>
806 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
807 <label class="md-nav__title" for="__nav_5">
808 <span class="md-nav__icon md-icon"></span>
809 Package Components
810 </label>
811 <ul class="md-nav__list" data-md-scrollfix>
812
813
814
815
816
817 <li class="md-nav__item">
818 <a href="../../../package/package-xml/" class="md-nav__link">
819 package.xml
820 </a>
821 </li>
822
823
824
825
826
827
828
829
830 <li class="md-nav__item md-nav__item--nested">
831
832
833 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
834
835 <label class="md-nav__link" for="__nav_5_2">
836 PIPs
837 <span class="md-nav__icon md-icon"></span>
838 </label>
839 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
840 <label class="md-nav__title" for="__nav_5_2">
841 <span class="md-nav__icon md-icon"></span>
842 PIPs
843 </label>
844 <ul class="md-nav__list" data-md-scrollfix>
845
846
847
848
849
850 <li class="md-nav__item">
851 <a href="../../../package/pip/" class="md-nav__link">
852 Overview
853 </a>
854 </li>
855
856
857
858
859
860
861
862 <li class="md-nav__item">
863 <a href="../../../package/pip/acl-option/" class="md-nav__link">
864 aclOption
865 </a>
866 </li>
867
868
869
870
871
872
873
874 <li class="md-nav__item">
875 <a href="../../../package/pip/acp-menu/" class="md-nav__link">
876 acpMenu
877 </a>
878 </li>
879
880
881
882
883
884
885
886 <li class="md-nav__item">
887 <a href="../../../package/pip/acp-search-provider/" class="md-nav__link">
888 acpSearchProvider
889 </a>
890 </li>
891
892
893
894
895
896
897
898 <li class="md-nav__item">
899 <a href="../../../package/pip/acp-template/" class="md-nav__link">
900 acpTemplate
901 </a>
902 </li>
903
904
905
906
907
908
909
910 <li class="md-nav__item">
911 <a href="../../../package/pip/bbcode/" class="md-nav__link">
912 bbcode
913 </a>
914 </li>
915
916
917
918
919
920
921
922 <li class="md-nav__item">
923 <a href="../../../package/pip/box/" class="md-nav__link">
924 box
925 </a>
926 </li>
927
928
929
930
931
932
933
934 <li class="md-nav__item">
935 <a href="../../../package/pip/clipboard-action/" class="md-nav__link">
936 clipboardAction
937 </a>
938 </li>
939
940
941
942
943
944
945
946 <li class="md-nav__item">
947 <a href="../../../package/pip/core-object/" class="md-nav__link">
948 coreObject
949 </a>
950 </li>
951
952
953
954
955
956
957
958 <li class="md-nav__item">
959 <a href="../../../package/pip/cronjob/" class="md-nav__link">
960 cronjob
961 </a>
962 </li>
963
964
965
966
967
968
969
970 <li class="md-nav__item">
971 <a href="../../../package/pip/event-listener/" class="md-nav__link">
972 eventListener
973 </a>
974 </li>
975
976
977
978
979
980
981
982 <li class="md-nav__item">
983 <a href="../../../package/pip/file/" class="md-nav__link">
984 file
985 </a>
986 </li>
987
988
989
990
991
992
993
994 <li class="md-nav__item">
995 <a href="../../../package/pip/language/" class="md-nav__link">
996 language
997 </a>
998 </li>
999
1000
1001
1002
1003
1004
1005
1006 <li class="md-nav__item">
1007 <a href="../../../package/pip/media-provider/" class="md-nav__link">
1008 mediaProvider
1009 </a>
1010 </li>
1011
1012
1013
1014
1015
1016
1017
1018 <li class="md-nav__item">
1019 <a href="../../../package/pip/menu/" class="md-nav__link">
1020 menu
1021 </a>
1022 </li>
1023
1024
1025
1026
1027
1028
1029
1030 <li class="md-nav__item">
1031 <a href="../../../package/pip/menu-item/" class="md-nav__link">
1032 menuItem
1033 </a>
1034 </li>
1035
1036
1037
1038
1039
1040
1041
1042 <li class="md-nav__item">
1043 <a href="../../../package/pip/object-type/" class="md-nav__link">
1044 objectType
1045 </a>
1046 </li>
1047
1048
1049
1050
1051
1052
1053
1054 <li class="md-nav__item">
1055 <a href="../../../package/pip/object-type-definition/" class="md-nav__link">
1056 objectTypeDefinition
1057 </a>
1058 </li>
1059
1060
1061
1062
1063
1064
1065
1066 <li class="md-nav__item">
1067 <a href="../../../package/pip/option/" class="md-nav__link">
1068 option
1069 </a>
1070 </li>
1071
1072
1073
1074
1075
1076
1077
1078 <li class="md-nav__item">
1079 <a href="../../../package/pip/page/" class="md-nav__link">
1080 page
1081 </a>
1082 </li>
1083
1084
1085
1086
1087
1088
1089
1090 <li class="md-nav__item">
1091 <a href="../../../package/pip/pip/" class="md-nav__link">
1092 pip
1093 </a>
1094 </li>
1095
1096
1097
1098
1099
1100
1101
1102 <li class="md-nav__item">
1103 <a href="../../../package/pip/script/" class="md-nav__link">
1104 script
1105 </a>
1106 </li>
1107
1108
1109
1110
1111
1112
1113
1114 <li class="md-nav__item">
1115 <a href="../../../package/pip/smiley/" class="md-nav__link">
1116 smiley
1117 </a>
1118 </li>
1119
1120
1121
1122
1123
1124
1125
1126 <li class="md-nav__item">
1127 <a href="../../../package/pip/sql/" class="md-nav__link">
1128 sql
1129 </a>
1130 </li>
1131
1132
1133
1134
1135
1136
1137
1138 <li class="md-nav__item">
1139 <a href="../../../package/pip/style/" class="md-nav__link">
1140 style
1141 </a>
1142 </li>
1143
1144
1145
1146
1147
1148
1149
1150 <li class="md-nav__item">
1151 <a href="../../../package/pip/template/" class="md-nav__link">
1152 template
1153 </a>
1154 </li>
1155
1156
1157
1158
1159
1160
1161
1162 <li class="md-nav__item">
1163 <a href="../../../package/pip/template-listener/" class="md-nav__link">
1164 templateListener
1165 </a>
1166 </li>
1167
1168
1169
1170
1171
1172
1173
1174 <li class="md-nav__item">
1175 <a href="../../../package/pip/user-group-option/" class="md-nav__link">
1176 userGroupOption
1177 </a>
1178 </li>
1179
1180
1181
1182
1183
1184
1185
1186 <li class="md-nav__item">
1187 <a href="../../../package/pip/user-menu/" class="md-nav__link">
1188 userMenu
1189 </a>
1190 </li>
1191
1192
1193
1194
1195
1196
1197
1198 <li class="md-nav__item">
1199 <a href="../../../package/pip/user-notification-event/" class="md-nav__link">
1200 userNotificationEvent
1201 </a>
1202 </li>
1203
1204
1205
1206
1207
1208
1209
1210 <li class="md-nav__item">
1211 <a href="../../../package/pip/user-option/" class="md-nav__link">
1212 userOption
1213 </a>
1214 </li>
1215
1216
1217
1218
1219
1220
1221
1222 <li class="md-nav__item">
1223 <a href="../../../package/pip/user-profile-menu/" class="md-nav__link">
1224 userProfileMenu
1225 </a>
1226 </li>
1227
1228
1229
1230 </ul>
1231 </nav>
1232 </li>
1233
1234
1235
1236
1237
1238
1239
1240 <li class="md-nav__item">
1241 <a href="../../../package/database-php-api/" class="md-nav__link">
1242 Database PHP API
1243 </a>
1244 </li>
1245
1246
1247
1248 </ul>
1249 </nav>
1250 </li>
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1265
1266
1267 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" checked>
1268
1269 <label class="md-nav__link" for="__nav_6">
1270 Migration
1271 <span class="md-nav__icon md-icon"></span>
1272 </label>
1273 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1274 <label class="md-nav__title" for="__nav_6">
1275 <span class="md-nav__icon md-icon"></span>
1276 Migration
1277 </label>
1278 <ul class="md-nav__list" data-md-scrollfix>
1279
1280
1281
1282
1283
1284
1285 <li class="md-nav__item md-nav__item--nested">
1286
1287
1288 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1289
1290 <label class="md-nav__link" for="__nav_6_1">
1291 Migrating from WSC 5.3
1292 <span class="md-nav__icon md-icon"></span>
1293 </label>
1294 <nav class="md-nav" aria-label="Migrating from WSC 5.3" data-md-level="2">
1295 <label class="md-nav__title" for="__nav_6_1">
1296 <span class="md-nav__icon md-icon"></span>
1297 Migrating from WSC 5.3
1298 </label>
1299 <ul class="md-nav__list" data-md-scrollfix>
1300
1301
1302
1303
1304
1305 <li class="md-nav__item">
1306 <a href="../../wsc53/php/" class="md-nav__link">
1307 PHP API
1308 </a>
1309 </li>
1310
1311
1312
1313
1314
1315
1316
1317 <li class="md-nav__item">
1318 <a href="../../wsc53/session/" class="md-nav__link">
1319 Session Handling and Authentication
1320 </a>
1321 </li>
1322
1323
1324
1325
1326
1327
1328
1329 <li class="md-nav__item">
1330 <a href="../../wsc53/javascript/" class="md-nav__link">
1331 JavaScript
1332 </a>
1333 </li>
1334
1335
1336
1337
1338
1339
1340
1341 <li class="md-nav__item">
1342 <a href="../../wsc53/templates/" class="md-nav__link">
1343 Templates
1344 </a>
1345 </li>
1346
1347
1348
1349
1350
1351
1352
1353 <li class="md-nav__item">
1354 <a href="../../wsc53/libraries/" class="md-nav__link">
1355 Third Party Libraries
1356 </a>
1357 </li>
1358
1359
1360
1361 </ul>
1362 </nav>
1363 </li>
1364
1365
1366
1367
1368
1369
1370
1371
1372 <li class="md-nav__item md-nav__item--nested">
1373
1374
1375 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1376
1377 <label class="md-nav__link" for="__nav_6_2">
1378 Migrating from WSC 5.2
1379 <span class="md-nav__icon md-icon"></span>
1380 </label>
1381 <nav class="md-nav" aria-label="Migrating from WSC 5.2" data-md-level="2">
1382 <label class="md-nav__title" for="__nav_6_2">
1383 <span class="md-nav__icon md-icon"></span>
1384 Migrating from WSC 5.2
1385 </label>
1386 <ul class="md-nav__list" data-md-scrollfix>
1387
1388
1389
1390
1391
1392 <li class="md-nav__item">
1393 <a href="../../wsc52/php/" class="md-nav__link">
1394 PHP API
1395 </a>
1396 </li>
1397
1398
1399
1400
1401
1402
1403
1404 <li class="md-nav__item">
1405 <a href="../../wsc52/templates/" class="md-nav__link">
1406 Templates and Languages
1407 </a>
1408 </li>
1409
1410
1411
1412
1413
1414
1415
1416 <li class="md-nav__item">
1417 <a href="../../wsc52/libraries/" class="md-nav__link">
1418 Third Party Libraries
1419 </a>
1420 </li>
1421
1422
1423
1424 </ul>
1425 </nav>
1426 </li>
1427
1428
1429
1430
1431
1432
1433
1434
1435 <li class="md-nav__item md-nav__item--nested">
1436
1437
1438 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1439
1440 <label class="md-nav__link" for="__nav_6_3">
1441 Migrating from WSC 3.1
1442 <span class="md-nav__icon md-icon"></span>
1443 </label>
1444 <nav class="md-nav" aria-label="Migrating from WSC 3.1" data-md-level="2">
1445 <label class="md-nav__title" for="__nav_6_3">
1446 <span class="md-nav__icon md-icon"></span>
1447 Migrating from WSC 3.1
1448 </label>
1449 <ul class="md-nav__list" data-md-scrollfix>
1450
1451
1452
1453
1454
1455 <li class="md-nav__item">
1456 <a href="../../wsc31/php/" class="md-nav__link">
1457 PHP API
1458 </a>
1459 </li>
1460
1461
1462
1463 </ul>
1464 </nav>
1465 </li>
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1477
1478
1479 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" checked>
1480
1481 <label class="md-nav__link" for="__nav_6_4">
1482 Migrating from WSC 3.0
1483 <span class="md-nav__icon md-icon"></span>
1484 </label>
1485 <nav class="md-nav" aria-label="Migrating from WSC 3.0" data-md-level="2">
1486 <label class="md-nav__title" for="__nav_6_4">
1487 <span class="md-nav__icon md-icon"></span>
1488 Migrating from WSC 3.0
1489 </label>
1490 <ul class="md-nav__list" data-md-scrollfix>
1491
1492
1493
1494
1495
1496 <li class="md-nav__item">
1497 <a href="../php/" class="md-nav__link">
1498 PHP API
1499 </a>
1500 </li>
1501
1502
1503
1504
1505
1506
1507
1508 <li class="md-nav__item">
1509 <a href="../javascript/" class="md-nav__link">
1510 JavaScript API
1511 </a>
1512 </li>
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522 <li class="md-nav__item md-nav__item--active">
1523
1524 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
1525
1526
1527
1528
1529 <label class="md-nav__link md-nav__link--active" for="__toc">
1530 Templates
1531 <span class="md-nav__icon md-icon"></span>
1532 </label>
1533
1534 <a href="./" class="md-nav__link md-nav__link--active">
1535 Templates
1536 </a>
1537
1538
1539<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1540
1541
1542
1543
1544
1545 <label class="md-nav__title" for="__toc">
1546 <span class="md-nav__icon md-icon"></span>
1547 Table of contents
1548 </label>
1549 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1550
1551 <li class="md-nav__item">
1552 <a href="#comment-system-overhaul" class="md-nav__link">
1553 Comment-System Overhaul
1554 </a>
1555
1556 <nav class="md-nav" aria-label="Comment-System Overhaul">
1557 <ul class="md-nav__list">
1558
1559 <li class="md-nav__item">
1560 <a href="#adding-comments" class="md-nav__link">
1561 Adding Comments
1562 </a>
1563
1564</li>
1565
1566 </ul>
1567 </nav>
1568
1569</li>
1570
1571 <li class="md-nav__item">
1572 <a href="#redesigned-acp-user-list" class="md-nav__link">
1573 Redesigned ACP User List
1574 </a>
1575
1576</li>
1577
1578 <li class="md-nav__item">
1579 <a href="#sidebar-toogle-buttons-on-mobile-device" class="md-nav__link">
1580 Sidebar Toogle-Buttons on Mobile Device
1581 </a>
1582
1583</li>
1584
1585 </ul>
1586
1587</nav>
1588
1589 </li>
1590
1591
1592
1593
1594
1595
1596
1597 <li class="md-nav__item">
1598 <a href="../css/" class="md-nav__link">
1599 CSS
1600 </a>
1601 </li>
1602
1603
1604
1605
1606
1607
1608
1609 <li class="md-nav__item">
1610 <a href="../package/" class="md-nav__link">
1611 Package Components
1612 </a>
1613 </li>
1614
1615
1616
1617 </ul>
1618 </nav>
1619 </li>
1620
1621
1622
1623
1624
1625
1626
1627
1628 <li class="md-nav__item md-nav__item--nested">
1629
1630
1631 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
1632
1633 <label class="md-nav__link" for="__nav_6_5">
1634 Migrating from WCF 2.1
1635 <span class="md-nav__icon md-icon"></span>
1636 </label>
1637 <nav class="md-nav" aria-label="Migrating from WCF 2.1" data-md-level="2">
1638 <label class="md-nav__title" for="__nav_6_5">
1639 <span class="md-nav__icon md-icon"></span>
1640 Migrating from WCF 2.1
1641 </label>
1642 <ul class="md-nav__list" data-md-scrollfix>
1643
1644
1645
1646
1647
1648 <li class="md-nav__item">
1649 <a href="../../wcf21/php/" class="md-nav__link">
1650 PHP API
1651 </a>
1652 </li>
1653
1654
1655
1656
1657
1658
1659
1660 <li class="md-nav__item">
1661 <a href="../../wcf21/templates/" class="md-nav__link">
1662 Templates
1663 </a>
1664 </li>
1665
1666
1667
1668
1669
1670
1671
1672 <li class="md-nav__item">
1673 <a href="../../wcf21/css/" class="md-nav__link">
1674 CSS
1675 </a>
1676 </li>
1677
1678
1679
1680
1681
1682
1683
1684 <li class="md-nav__item">
1685 <a href="../../wcf21/package/" class="md-nav__link">
1686 Package Components
1687 </a>
1688 </li>
1689
1690
1691
1692 </ul>
1693 </nav>
1694 </li>
1695
1696
1697
1698 </ul>
1699 </nav>
1700 </li>
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712 <li class="md-nav__item md-nav__item--nested">
1713
1714
1715 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
1716
1717 <label class="md-nav__link" for="__nav_7">
1718 Tutorials
1719 <span class="md-nav__icon md-icon"></span>
1720 </label>
1721 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
1722 <label class="md-nav__title" for="__nav_7">
1723 <span class="md-nav__icon md-icon"></span>
1724 Tutorials
1725 </label>
1726 <ul class="md-nav__list" data-md-scrollfix>
1727
1728
1729
1730
1731
1732
1733 <li class="md-nav__item md-nav__item--nested">
1734
1735
1736 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
1737
1738 <label class="md-nav__link" for="__nav_7_1">
1739 Tutorial Series
1740 <span class="md-nav__icon md-icon"></span>
1741 </label>
1742 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
1743 <label class="md-nav__title" for="__nav_7_1">
1744 <span class="md-nav__icon md-icon"></span>
1745 Tutorial Series
1746 </label>
1747 <ul class="md-nav__list" data-md-scrollfix>
1748
1749
1750
1751
1752
1753 <li class="md-nav__item">
1754 <a href="../../../tutorial/series/overview/" class="md-nav__link">
1755 Overview
1756 </a>
1757 </li>
1758
1759
1760
1761
1762
1763
1764
1765 <li class="md-nav__item">
1766 <a href="../../../tutorial/series/part_1/" class="md-nav__link">
1767 Part 1
1768 </a>
1769 </li>
1770
1771
1772
1773
1774
1775
1776
1777 <li class="md-nav__item">
1778 <a href="../../../tutorial/series/part_2/" class="md-nav__link">
1779 Part 2
1780 </a>
1781 </li>
1782
1783
1784
1785
1786
1787
1788
1789 <li class="md-nav__item">
1790 <a href="../../../tutorial/series/part_3/" class="md-nav__link">
1791 Part 3
1792 </a>
1793 </li>
1794
1795
1796
1797 </ul>
1798 </nav>
1799 </li>
1800
1801
1802
1803 </ul>
1804 </nav>
1805 </li>
1806
1807
1808
1809 </ul>
1810</nav>
1811 </div>
1812 </div>
1813 </div>
1814
1815
1816
1817 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1818 <div class="md-sidebar__scrollwrap">
1819 <div class="md-sidebar__inner">
1820
1821<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1822
1823
1824
1825
1826
1827 <label class="md-nav__title" for="__toc">
1828 <span class="md-nav__icon md-icon"></span>
1829 Table of contents
1830 </label>
1831 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1832
1833 <li class="md-nav__item">
1834 <a href="#comment-system-overhaul" class="md-nav__link">
1835 Comment-System Overhaul
1836 </a>
1837
1838 <nav class="md-nav" aria-label="Comment-System Overhaul">
1839 <ul class="md-nav__list">
1840
1841 <li class="md-nav__item">
1842 <a href="#adding-comments" class="md-nav__link">
1843 Adding Comments
1844 </a>
1845
1846</li>
1847
1848 </ul>
1849 </nav>
1850
1851</li>
1852
1853 <li class="md-nav__item">
1854 <a href="#redesigned-acp-user-list" class="md-nav__link">
1855 Redesigned ACP User List
1856 </a>
1857
1858</li>
1859
1860 <li class="md-nav__item">
1861 <a href="#sidebar-toogle-buttons-on-mobile-device" class="md-nav__link">
1862 Sidebar Toogle-Buttons on Mobile Device
1863 </a>
1864
1865</li>
1866
1867 </ul>
1868
1869</nav>
1870 </div>
1871 </div>
1872 </div>
1873
1874
1875 <div class="md-content" data-md-component="content">
1876 <article class="md-content__inner md-typeset">
1877
1878
9b8bddda 1879 <a href="https://github.com/WoltLab/docs.woltlab.com/edit/5.4/docs/migration/wsc30/templates.md" title="Edit this page" class="md-content__button md-icon">
7124f4cb
WG
1880 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
1881 </a>
1882
45ca63d0
TD
1883
1884 <h1 id="migrating-from-wsc-30-templates">Migrating from WSC 3.0 - Templates<a class="headerlink" href="#migrating-from-wsc-30-templates" title="Permanent link">#</a></h1>
1885<h2 id="comment-system-overhaul">Comment-System Overhaul<a class="headerlink" href="#comment-system-overhaul" title="Permanent link">#</a></h2>
1886<div class="admonition danger">
1887<p class="admonition-title">Unfortunately, there has been a breaking change related to the creation of comments. You need to apply the changes below before being able to create new comments.</p>
1888</div>
1889<h3 id="adding-comments">Adding Comments<a class="headerlink" href="#adding-comments" title="Permanent link">#</a></h3>
1890<p>Existing implementations need to include a new template right before including the generic <code>commentList</code> template.</p>
1891<div class="highlight"><pre><span></span><code><span class="p">&lt;</span><span class="nt">ul</span> <span class="na">id</span><span class="o">=</span><span class="s">&quot;exampleCommentList&quot;</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;commentList containerList&quot;</span> <span class="na">data-</span><span class="err">...</span><span class="p">&gt;</span>
1892 {include file=&#39;commentListAddComment&#39; wysiwygSelector=&#39;exampleCommentListAddComment&#39;}
1893 {include file=&#39;commentList&#39;}
1894<span class="p">&lt;/</span><span class="nt">ul</span><span class="p">&gt;</span>
1895</code></pre></div>
45ca63d0
TD
1896<h2 id="redesigned-acp-user-list">Redesigned ACP User List<a class="headerlink" href="#redesigned-acp-user-list" title="Permanent link">#</a></h2>
1897<p>Custom interaction buttons were previously added through the template event <code>rowButtons</code> and were merely a link-like element with an icon inside. This is still valid and supported for backwards-compatibility, but it is recommend to adapt to the new drop-down-style options using the new template event <code>dropdownItems</code>.</p>
1898<div class="highlight"><pre><span></span><code><span class="c">&lt;!-- button for usage with the `rowButtons` event --&gt;</span>
1899<span class="p">&lt;</span><span class="nt">span</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;icon icon16 fa-list jsTooltip&quot;</span> <span class="na">title</span><span class="o">=</span><span class="s">&quot;Button Title&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">span</span><span class="p">&gt;</span>
1900
1901<span class="c">&lt;!-- new drop-down item for the `dropdownItems` event --&gt;</span>
1902<span class="p">&lt;</span><span class="nt">li</span><span class="p">&gt;&lt;</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">&quot;#&quot;</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;jsMyButton&quot;</span><span class="p">&gt;</span>Button Title<span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;&lt;/</span><span class="nt">li</span><span class="p">&gt;</span>
1903</code></pre></div>
45ca63d0
TD
1904<h2 id="sidebar-toogle-buttons-on-mobile-device">Sidebar Toogle-Buttons on Mobile Device<a class="headerlink" href="#sidebar-toogle-buttons-on-mobile-device" title="Permanent link">#</a></h2>
1905<div class="admonition info">
1906<p class="admonition-title">You cannot override the button label for sidebars containing navigation menus.</p>
1907</div>
1908<p>The page sidebars are automatically collapsed and presented as one or, when both sidebar are present, two condensed buttons. They use generic sidebar-related labels when open or closed, with the exception of embedded menus which will change the button label to read "Show/Hide Navigation".</p>
1909<p>You can provide a custom label before including the sidebars by assigning the new labels to a few special variables:</p>
1910<div class="highlight"><pre><span></span><code>{assign var=&#39;__sidebarLeftShow&#39; value=&#39;Show Left Sidebar&#39;}
1911{assign var=&#39;__sidebarLeftHide&#39; value=&#39;Hide Left Sidebar&#39;}
1912{assign var=&#39;__sidebarRightShow&#39; value=&#39;Show Right Sidebar&#39;}
1913{assign var=&#39;__sidebarRightHide&#39; value=&#39;Hide Right Sidebar&#39;}
1914</code></pre></div>
1915
4a5c32e1
WG
1916
1917
1918
1919<hr>
1920<div class="md-source-date">
1921 <small>
1922
1923 Last update: 2021-01-08
1924
1925 </small>
1926</div>
1927
1928
45ca63d0
TD
1929
1930
1931
1932
1933
1934
1935 </article>
1936 </div>
1937 </div>
1938 </main>
1939
1940
1941<footer class="md-footer">
1942
1943 <nav class="md-footer__inner md-grid" aria-label="Footer">
1944
1945 <a href="../javascript/" class="md-footer__link md-footer__link--prev" rel="prev">
1946 <div class="md-footer__button md-icon">
1947 <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>
1948 </div>
1949 <div class="md-footer__title">
1950 <div class="md-ellipsis">
1951 <span class="md-footer__direction">
1952 Previous
1953 </span>
1954 JavaScript API
1955 </div>
1956 </div>
1957 </a>
1958
1959
1960 <a href="../css/" class="md-footer__link md-footer__link--next" rel="next">
1961 <div class="md-footer__title">
1962 <div class="md-ellipsis">
1963 <span class="md-footer__direction">
1964 Next
1965 </span>
1966 CSS
1967 </div>
1968 </div>
1969 <div class="md-footer__button md-icon">
1970 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
1971 </div>
1972 </a>
1973
1974 </nav>
1975
1976 <div class="md-footer-meta md-typeset">
1977 <div class="md-footer-meta__inner md-grid">
1978 <div class="md-footer-copyright">
1979
1980 <div class="md-footer-copyright__highlight">
1981 Copyright © 2020 WoltLab GmbH
1982 </div>
1983
1984 Made with
1985 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1986 Material for MkDocs
1987 </a>
fb88dc6e 1988
45ca63d0
TD
1989 </div>
1990 <div class="md-footer-copyright">
1991 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
1992 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
1993</div>
1994 </div>
1995 </div>
1996</footer>
1997
1998 </div>
1999 <div class="md-dialog" data-md-component="dialog">
2000 <div class="md-dialog__inner md-typeset"></div>
2001 </div>
2002 <script id="__config" type="application/json">{"base": "../../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../../assets/javascripts/workers/search.fb4a9340.min.js", "version": {"provider": "mike"}}</script>
2003
2004
fb88dc6e 2005 <script src="../../../assets/javascripts/bundle.5cf3e710.min.js"></script>
45ca63d0
TD
2006
2007
2008 </body>
2009</html>