Deployed 68f2cdc5 to 6.0 with MkDocs 1.3.1 and mike 1.1.2
[GitHub/WoltLab/woltlab.github.io.git] / 6.0 / php / api / user_activity_points / 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/php/api/user_activity_points/">
12
13 <link rel="icon" href="../../../assets/default.favicon.ico">
14 <meta name="generator" content="mkdocs-1.3.1, mkdocs-material-8.4.2">
15
16
17
18 <title>User Activity Points - WoltLab Suite Documentation</title>
19
20
21
22 <link rel="stylesheet" href="../../../assets/stylesheets/main.69437709.min.css">
23
24
25 <link rel="stylesheet" href="../../../assets/stylesheets/palette.cbb835fc.min.css">
26
27
28
29 <meta name="theme-color" content="#009485">
30
31
32
33
34
35
36
37
38
39 <link rel="stylesheet" href="../../../stylesheets/extra.css">
40
41 <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>
42
43
44
45
46
47 </head>
48
49
50
51
52
53
54
55 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
56
57
58
59 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
60 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
61 <label class="md-overlay" for="__drawer"></label>
62 <div data-md-component="skip">
63
64
65 <a href="#user-activity-points" class="md-skip">
66 Skip to content
67 </a>
68
69 </div>
70 <div data-md-component="announce">
71
72 <aside class="md-banner">
73 <div class="md-banner__inner md-grid md-typeset">
74
75
76 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
77
78 </div>
79
80 </aside>
81
82 </div>
83
84 <div data-md-component="outdated" hidden>
85
86 </div>
87
88
89
90
91 <header class="md-header" data-md-component="header">
92 <nav class="md-header__inner md-grid" aria-label="Header">
93 <a href="../../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
94
95 <img src="../../../assets/logo.png" alt="logo">
96
97 </a>
98 <label class="md-header__button md-icon" for="__drawer">
99 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
100 </label>
101 <div class="md-header__title" data-md-component="header-title">
102 <div class="md-header__ellipsis">
103 <div class="md-header__topic">
104 <span class="md-ellipsis">
105 WoltLab Suite Documentation
106 </span>
107 </div>
108 <div class="md-header__topic" data-md-component="header-topic">
109 <span class="md-ellipsis">
110
111 User Activity Points
112
113 </span>
114 </div>
115 </div>
116 </div>
117
118
119
120 <label class="md-header__button md-icon" for="__search">
121 <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>
122 </label>
123 <div class="md-search" data-md-component="search" role="dialog">
124 <label class="md-search__overlay" for="__search"></label>
125 <div class="md-search__inner" role="search">
126 <form class="md-search__form" name="search">
127 <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>
128 <label class="md-search__icon md-icon" for="__search">
129 <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>
130 <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>
131 </label>
132 <nav class="md-search__options" aria-label="Search">
133
134 <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
135 <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>
136 </button>
137 </nav>
138
139 </form>
140 <div class="md-search__output">
141 <div class="md-search__scrollwrap" data-md-scrollfix>
142 <div class="md-search-result" data-md-component="search-result">
143 <div class="md-search-result__meta">
144 Initializing search
145 </div>
146 <ol class="md-search-result__list"></ol>
147 </div>
148 </div>
149 </div>
150 </div>
151 </div>
152
153
154 <div class="md-header__source">
155 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
156 <div class="md-source__icon md-icon">
157
158 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.1.2 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>
159 </div>
160 <div class="md-source__repository">
161 GitHub
162 </div>
163 </a>
164 </div>
165
166 </nav>
167
168 </header>
169
170 <div class="md-container" data-md-component="container">
171
172
173
174
175
176
177 <main class="md-main" data-md-component="main">
178 <div class="md-main__inner md-grid">
179
180
181
182 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
183 <div class="md-sidebar__scrollwrap">
184 <div class="md-sidebar__inner">
185
186
187
188 <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
189 <label class="md-nav__title" for="__drawer">
190 <a href="../../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
191
192 <img src="../../../assets/logo.png" alt="logo">
193
194 </a>
195 WoltLab Suite Documentation
196 </label>
197
198 <div class="md-nav__source">
199 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
200 <div class="md-source__icon md-icon">
201
202 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.1.2 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>
203 </div>
204 <div class="md-source__repository">
205 GitHub
206 </div>
207 </a>
208 </div>
209
210 <ul class="md-nav__list" data-md-scrollfix>
211
212
213
214
215
216
217
218
219 <li class="md-nav__item">
220 <a href="../../../getting-started/" class="md-nav__link">
221 Getting Started
222 </a>
223 </li>
224
225
226
227
228
229
230
231
232
233
234
235
236
237 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
238
239
240 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" checked>
241
242
243
244
245 <label class="md-nav__link" for="__nav_2">
246 PHP API
247 <span class="md-nav__icon md-icon"></span>
248 </label>
249
250 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
251 <label class="md-nav__title" for="__nav_2">
252 <span class="md-nav__icon md-icon"></span>
253 PHP API
254 </label>
255 <ul class="md-nav__list" data-md-scrollfix>
256
257
258
259
260
261
262 <li class="md-nav__item">
263 <a href="../../pages/" class="md-nav__link">
264 Pages
265 </a>
266 </li>
267
268
269
270
271
272
273
274
275
276 <li class="md-nav__item">
277 <a href="../../database-objects/" class="md-nav__link">
278 Database Objects
279 </a>
280 </li>
281
282
283
284
285
286
287
288
289
290 <li class="md-nav__item">
291 <a href="../../database-access/" class="md-nav__link">
292 Database Access
293 </a>
294 </li>
295
296
297
298
299
300
301
302
303
304 <li class="md-nav__item">
305 <a href="../../exceptions/" class="md-nav__link">
306 Exceptions
307 </a>
308 </li>
309
310
311
312
313
314
315
316
317
318
319
320
321 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
322
323
324 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" checked>
325
326
327
328
329 <label class="md-nav__link" for="__nav_2_5">
330 API
331 <span class="md-nav__icon md-icon"></span>
332 </label>
333
334 <nav class="md-nav" aria-label="API" data-md-level="2">
335 <label class="md-nav__title" for="__nav_2_5">
336 <span class="md-nav__icon md-icon"></span>
337 API
338 </label>
339 <ul class="md-nav__list" data-md-scrollfix>
340
341
342
343
344
345
346
347 <li class="md-nav__item md-nav__item--nested">
348
349
350 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_1" type="checkbox" id="__nav_2_5_1" >
351
352
353
354
355 <label class="md-nav__link" for="__nav_2_5_1">
356 Caches
357 <span class="md-nav__icon md-icon"></span>
358 </label>
359
360 <nav class="md-nav" aria-label="Caches" data-md-level="3">
361 <label class="md-nav__title" for="__nav_2_5_1">
362 <span class="md-nav__icon md-icon"></span>
363 Caches
364 </label>
365 <ul class="md-nav__list" data-md-scrollfix>
366
367
368
369
370
371
372 <li class="md-nav__item">
373 <a href="../caches/" class="md-nav__link">
374 Overview
375 </a>
376 </li>
377
378
379
380
381
382
383
384
385
386 <li class="md-nav__item">
387 <a href="../caches_persistent-caches/" class="md-nav__link">
388 Persistent Caches
389 </a>
390 </li>
391
392
393
394
395
396
397
398
399
400 <li class="md-nav__item">
401 <a href="../caches_runtime-caches/" class="md-nav__link">
402 Runtime Caches
403 </a>
404 </li>
405
406
407
408
409 </ul>
410 </nav>
411 </li>
412
413
414
415
416
417
418
419
420
421 <li class="md-nav__item">
422 <a href="../comments/" class="md-nav__link">
423 Comments
424 </a>
425 </li>
426
427
428
429
430
431
432
433
434
435 <li class="md-nav__item">
436 <a href="../cronjobs/" class="md-nav__link">
437 Cronjobs
438 </a>
439 </li>
440
441
442
443
444
445
446
447
448
449 <li class="md-nav__item">
450 <a href="../events/" class="md-nav__link">
451 Events
452 </a>
453 </li>
454
455
456
457
458
459
460
461
462
463
464 <li class="md-nav__item md-nav__item--nested">
465
466
467 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
468
469
470
471
472 <label class="md-nav__link" for="__nav_2_5_5">
473 Form Builder
474 <span class="md-nav__icon md-icon"></span>
475 </label>
476
477 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
478 <label class="md-nav__title" for="__nav_2_5_5">
479 <span class="md-nav__icon md-icon"></span>
480 Form Builder
481 </label>
482 <ul class="md-nav__list" data-md-scrollfix>
483
484
485
486
487
488
489 <li class="md-nav__item">
490 <a href="../form_builder/overview/" class="md-nav__link">
491 Overview
492 </a>
493 </li>
494
495
496
497
498
499
500
501
502
503 <li class="md-nav__item">
504 <a href="../form_builder/structure/" class="md-nav__link">
505 Structure
506 </a>
507 </li>
508
509
510
511
512
513
514
515
516
517 <li class="md-nav__item">
518 <a href="../form_builder/form_fields/" class="md-nav__link">
519 Fields
520 </a>
521 </li>
522
523
524
525
526
527
528
529
530
531 <li class="md-nav__item">
532 <a href="../form_builder/validation_data/" class="md-nav__link">
533 Validation and Data
534 </a>
535 </li>
536
537
538
539
540
541
542
543
544
545 <li class="md-nav__item">
546 <a href="../form_builder/dependencies/" class="md-nav__link">
547 Dependencies
548 </a>
549 </li>
550
551
552
553
554 </ul>
555 </nav>
556 </li>
557
558
559
560
561
562
563
564
565
566 <li class="md-nav__item">
567 <a href="../package_installation_plugins/" class="md-nav__link">
568 Package Installation Plugins
569 </a>
570 </li>
571
572
573
574
575
576
577
578
579
580
581
582 <li class="md-nav__item md-nav__item--active">
583
584 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
585
586
587
588
589
590 <a href="./" class="md-nav__link md-nav__link--active">
591 User Activity Points
592 </a>
593
594 </li>
595
596
597
598
599
600
601
602
603
604 <li class="md-nav__item">
605 <a href="../user_notifications/" class="md-nav__link">
606 User Notifications
607 </a>
608 </li>
609
610
611
612
613
614
615
616
617
618 <li class="md-nav__item">
619 <a href="../sitemaps/" class="md-nav__link">
620 Sitemaps
621 </a>
622 </li>
623
624
625
626
627 </ul>
628 </nav>
629 </li>
630
631
632
633
634
635
636
637
638
639 <li class="md-nav__item">
640 <a href="../../code-style/" class="md-nav__link">
641 Code Style
642 </a>
643 </li>
644
645
646
647
648
649
650
651
652
653 <li class="md-nav__item">
654 <a href="../../apps/" class="md-nav__link">
655 Apps
656 </a>
657 </li>
658
659
660
661
662
663
664
665
666
667 <li class="md-nav__item">
668 <a href="../../gdpr/" class="md-nav__link">
669 GDPR
670 </a>
671 </li>
672
673
674
675
676 </ul>
677 </nav>
678 </li>
679
680
681
682
683
684
685
686
687
688
689
690 <li class="md-nav__item md-nav__item--nested">
691
692
693 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
694
695
696
697
698 <label class="md-nav__link" for="__nav_3">
699 Languages, Templates & CSS
700 <span class="md-nav__icon md-icon"></span>
701 </label>
702
703 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
704 <label class="md-nav__title" for="__nav_3">
705 <span class="md-nav__icon md-icon"></span>
706 Languages, Templates & CSS
707 </label>
708 <ul class="md-nav__list" data-md-scrollfix>
709
710
711
712
713
714
715 <li class="md-nav__item">
716 <a href="../../../view/languages/" class="md-nav__link">
717 Languages
718 </a>
719 </li>
720
721
722
723
724
725
726
727
728
729 <li class="md-nav__item">
730 <a href="../../../view/templates/" class="md-nav__link">
731 Templates
732 </a>
733 </li>
734
735
736
737
738
739
740
741
742
743 <li class="md-nav__item">
744 <a href="../../../view/template-plugins/" class="md-nav__link">
745 Template Plugins
746 </a>
747 </li>
748
749
750
751
752
753
754
755
756
757 <li class="md-nav__item">
758 <a href="../../../view/css/" class="md-nav__link">
759 CSS
760 </a>
761 </li>
762
763
764
765
766 </ul>
767 </nav>
768 </li>
769
770
771
772
773
774
775
776
777
778
779
780 <li class="md-nav__item md-nav__item--nested">
781
782
783 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
784
785
786
787
788 <label class="md-nav__link" for="__nav_4">
789 TypeScript and JavaScript API
790 <span class="md-nav__icon md-icon"></span>
791 </label>
792
793 <nav class="md-nav" aria-label="TypeScript and JavaScript API" data-md-level="1">
794 <label class="md-nav__title" for="__nav_4">
795 <span class="md-nav__icon md-icon"></span>
796 TypeScript and JavaScript API
797 </label>
798 <ul class="md-nav__list" data-md-scrollfix>
799
800
801
802
803
804
805 <li class="md-nav__item">
806 <a href="../../../javascript/general-usage/" class="md-nav__link">
807 General Usage
808 </a>
809 </li>
810
811
812
813
814
815
816
817
818
819 <li class="md-nav__item">
820 <a href="../../../javascript/typescript/" class="md-nav__link">
821 TypeScript
822 </a>
823 </li>
824
825
826
827
828
829
830
831
832
833
834 <li class="md-nav__item md-nav__item--nested">
835
836
837 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_3" type="checkbox" id="__nav_4_3" >
838
839
840
841
842 <label class="md-nav__link" for="__nav_4_3">
843 New API
844 <span class="md-nav__icon md-icon"></span>
845 </label>
846
847 <nav class="md-nav" aria-label="New API" data-md-level="2">
848 <label class="md-nav__title" for="__nav_4_3">
849 <span class="md-nav__icon md-icon"></span>
850 New API
851 </label>
852 <ul class="md-nav__list" data-md-scrollfix>
853
854
855
856
857
858
859 <li class="md-nav__item">
860 <a href="../../../javascript/new-api_writing-a-module/" class="md-nav__link">
861 Writing a module
862 </a>
863 </li>
864
865
866
867
868
869
870
871
872
873 <li class="md-nav__item">
874 <a href="../../../javascript/new-api_data-structures/" class="md-nav__link">
875 Data Structures
876 </a>
877 </li>
878
879
880
881
882
883
884
885
886
887 <li class="md-nav__item">
888 <a href="../../../javascript/new-api_core/" class="md-nav__link">
889 Core Functions
890 </a>
891 </li>
892
893
894
895
896
897
898
899
900
901 <li class="md-nav__item">
902 <a href="../../../javascript/new-api_dom/" class="md-nav__link">
903 DOM
904 </a>
905 </li>
906
907
908
909
910
911
912
913
914
915 <li class="md-nav__item">
916 <a href="../../../javascript/new-api_events/" class="md-nav__link">
917 Event Handling
918 </a>
919 </li>
920
921
922
923
924
925
926
927
928
929 <li class="md-nav__item">
930 <a href="../../../javascript/new-api_ajax/" class="md-nav__link">
931 Ajax
932 </a>
933 </li>
934
935
936
937
938
939
940
941
942
943 <li class="md-nav__item">
944 <a href="../../../javascript/new-api_dialogs/" class="md-nav__link">
945 Dialogs
946 </a>
947 </li>
948
949
950
951
952
953
954
955
956
957 <li class="md-nav__item">
958 <a href="../../../javascript/new-api_browser/" class="md-nav__link">
959 Browser and Screen Sizes
960 </a>
961 </li>
962
963
964
965
966
967
968
969
970
971 <li class="md-nav__item">
972 <a href="../../../javascript/new-api_ui/" class="md-nav__link">
973 User Interface
974 </a>
975 </li>
976
977
978
979
980 </ul>
981 </nav>
982 </li>
983
984
985
986
987
988
989
990
991
992 <li class="md-nav__item">
993 <a href="../../../javascript/legacy-api/" class="md-nav__link">
994 Legacy API
995 </a>
996 </li>
997
998
999
1000
1001
1002
1003
1004
1005
1006 <li class="md-nav__item">
1007 <a href="../../../javascript/helper-functions/" class="md-nav__link">
1008 Helper Functions
1009 </a>
1010 </li>
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020 <li class="md-nav__item">
1021 <a href="../../../javascript/code-snippets/" class="md-nav__link">
1022 Code Snippets
1023 </a>
1024 </li>
1025
1026
1027
1028
1029 </ul>
1030 </nav>
1031 </li>
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043 <li class="md-nav__item md-nav__item--nested">
1044
1045
1046 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
1047
1048
1049
1050
1051 <label class="md-nav__link" for="__nav_5">
1052 Package Components
1053 <span class="md-nav__icon md-icon"></span>
1054 </label>
1055
1056 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
1057 <label class="md-nav__title" for="__nav_5">
1058 <span class="md-nav__icon md-icon"></span>
1059 Package Components
1060 </label>
1061 <ul class="md-nav__list" data-md-scrollfix>
1062
1063
1064
1065
1066
1067
1068 <li class="md-nav__item">
1069 <a href="../../../package/package-xml/" class="md-nav__link">
1070 package.xml
1071 </a>
1072 </li>
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083 <li class="md-nav__item md-nav__item--nested">
1084
1085
1086 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
1087
1088
1089
1090
1091 <label class="md-nav__link" for="__nav_5_2">
1092 PIPs
1093 <span class="md-nav__icon md-icon"></span>
1094 </label>
1095
1096 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
1097 <label class="md-nav__title" for="__nav_5_2">
1098 <span class="md-nav__icon md-icon"></span>
1099 PIPs
1100 </label>
1101 <ul class="md-nav__list" data-md-scrollfix>
1102
1103
1104
1105
1106
1107
1108 <li class="md-nav__item">
1109 <a href="../../../package/pip/" class="md-nav__link">
1110 Overview
1111 </a>
1112 </li>
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122 <li class="md-nav__item">
1123 <a href="../../../package/pip/acl-option/" class="md-nav__link">
1124 aclOption
1125 </a>
1126 </li>
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136 <li class="md-nav__item">
1137 <a href="../../../package/pip/acp-menu/" class="md-nav__link">
1138 acpMenu
1139 </a>
1140 </li>
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150 <li class="md-nav__item">
1151 <a href="../../../package/pip/acp-search-provider/" class="md-nav__link">
1152 acpSearchProvider
1153 </a>
1154 </li>
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164 <li class="md-nav__item">
1165 <a href="../../../package/pip/acp-template/" class="md-nav__link">
1166 acpTemplate
1167 </a>
1168 </li>
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178 <li class="md-nav__item">
1179 <a href="../../../package/pip/acp-template-delete/" class="md-nav__link">
1180 acpTemplateDelete
1181 </a>
1182 </li>
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192 <li class="md-nav__item">
1193 <a href="../../../package/pip/bbcode/" class="md-nav__link">
1194 bbcode
1195 </a>
1196 </li>
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206 <li class="md-nav__item">
1207 <a href="../../../package/pip/box/" class="md-nav__link">
1208 box
1209 </a>
1210 </li>
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220 <li class="md-nav__item">
1221 <a href="../../../package/pip/clipboard-action/" class="md-nav__link">
1222 clipboardAction
1223 </a>
1224 </li>
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234 <li class="md-nav__item">
1235 <a href="../../../package/pip/core-object/" class="md-nav__link">
1236 coreObject
1237 </a>
1238 </li>
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248 <li class="md-nav__item">
1249 <a href="../../../package/pip/cronjob/" class="md-nav__link">
1250 cronjob
1251 </a>
1252 </li>
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262 <li class="md-nav__item">
1263 <a href="../../../package/pip/database/" class="md-nav__link">
1264 database
1265 </a>
1266 </li>
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276 <li class="md-nav__item">
1277 <a href="../../../package/pip/event-listener/" class="md-nav__link">
1278 eventListener
1279 </a>
1280 </li>
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290 <li class="md-nav__item">
1291 <a href="../../../package/pip/file/" class="md-nav__link">
1292 file
1293 </a>
1294 </li>
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304 <li class="md-nav__item">
1305 <a href="../../../package/pip/file-delete/" class="md-nav__link">
1306 fileDelete
1307 </a>
1308 </li>
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318 <li class="md-nav__item">
1319 <a href="../../../package/pip/language/" class="md-nav__link">
1320 language
1321 </a>
1322 </li>
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332 <li class="md-nav__item">
1333 <a href="../../../package/pip/media-provider/" class="md-nav__link">
1334 mediaProvider
1335 </a>
1336 </li>
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346 <li class="md-nav__item">
1347 <a href="../../../package/pip/menu/" class="md-nav__link">
1348 menu
1349 </a>
1350 </li>
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360 <li class="md-nav__item">
1361 <a href="../../../package/pip/menu-item/" class="md-nav__link">
1362 menuItem
1363 </a>
1364 </li>
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374 <li class="md-nav__item">
1375 <a href="../../../package/pip/object-type/" class="md-nav__link">
1376 objectType
1377 </a>
1378 </li>
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388 <li class="md-nav__item">
1389 <a href="../../../package/pip/object-type-definition/" class="md-nav__link">
1390 objectTypeDefinition
1391 </a>
1392 </li>
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402 <li class="md-nav__item">
1403 <a href="../../../package/pip/option/" class="md-nav__link">
1404 option
1405 </a>
1406 </li>
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416 <li class="md-nav__item">
1417 <a href="../../../package/pip/page/" class="md-nav__link">
1418 page
1419 </a>
1420 </li>
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430 <li class="md-nav__item">
1431 <a href="../../../package/pip/pip/" class="md-nav__link">
1432 pip
1433 </a>
1434 </li>
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444 <li class="md-nav__item">
1445 <a href="../../../package/pip/script/" class="md-nav__link">
1446 script
1447 </a>
1448 </li>
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458 <li class="md-nav__item">
1459 <a href="../../../package/pip/smiley/" class="md-nav__link">
1460 smiley
1461 </a>
1462 </li>
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472 <li class="md-nav__item">
1473 <a href="../../../package/pip/sql/" class="md-nav__link">
1474 sql
1475 </a>
1476 </li>
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486 <li class="md-nav__item">
1487 <a href="../../../package/pip/style/" class="md-nav__link">
1488 style
1489 </a>
1490 </li>
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500 <li class="md-nav__item">
1501 <a href="../../../package/pip/template/" class="md-nav__link">
1502 template
1503 </a>
1504 </li>
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514 <li class="md-nav__item">
1515 <a href="../../../package/pip/template-delete/" class="md-nav__link">
1516 templateDelete
1517 </a>
1518 </li>
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528 <li class="md-nav__item">
1529 <a href="../../../package/pip/template-listener/" class="md-nav__link">
1530 templateListener
1531 </a>
1532 </li>
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542 <li class="md-nav__item">
1543 <a href="../../../package/pip/user-group-option/" class="md-nav__link">
1544 userGroupOption
1545 </a>
1546 </li>
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556 <li class="md-nav__item">
1557 <a href="../../../package/pip/user-menu/" class="md-nav__link">
1558 userMenu
1559 </a>
1560 </li>
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570 <li class="md-nav__item">
1571 <a href="../../../package/pip/user-notification-event/" class="md-nav__link">
1572 userNotificationEvent
1573 </a>
1574 </li>
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584 <li class="md-nav__item">
1585 <a href="../../../package/pip/user-option/" class="md-nav__link">
1586 userOption
1587 </a>
1588 </li>
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598 <li class="md-nav__item">
1599 <a href="../../../package/pip/user-profile-menu/" class="md-nav__link">
1600 userProfileMenu
1601 </a>
1602 </li>
1603
1604
1605
1606
1607 </ul>
1608 </nav>
1609 </li>
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619 <li class="md-nav__item">
1620 <a href="../../../package/database-php-api/" class="md-nav__link">
1621 Database PHP API
1622 </a>
1623 </li>
1624
1625
1626
1627
1628 </ul>
1629 </nav>
1630 </li>
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642 <li class="md-nav__item md-nav__item--nested">
1643
1644
1645 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
1646
1647
1648
1649
1650 <label class="md-nav__link" for="__nav_6">
1651 Migration
1652 <span class="md-nav__icon md-icon"></span>
1653 </label>
1654
1655 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1656 <label class="md-nav__title" for="__nav_6">
1657 <span class="md-nav__icon md-icon"></span>
1658 Migration
1659 </label>
1660 <ul class="md-nav__list" data-md-scrollfix>
1661
1662
1663
1664
1665
1666
1667
1668 <li class="md-nav__item md-nav__item--nested">
1669
1670
1671 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1672
1673
1674
1675
1676 <label class="md-nav__link" for="__nav_6_1">
1677 From WoltLab Suite 5.5
1678 <span class="md-nav__icon md-icon"></span>
1679 </label>
1680
1681 <nav class="md-nav" aria-label="From WoltLab Suite 5.5" data-md-level="2">
1682 <label class="md-nav__title" for="__nav_6_1">
1683 <span class="md-nav__icon md-icon"></span>
1684 From WoltLab Suite 5.5
1685 </label>
1686 <ul class="md-nav__list" data-md-scrollfix>
1687
1688
1689
1690
1691
1692
1693 <li class="md-nav__item">
1694 <a href="../../../migration/wsc55/php/" class="md-nav__link">
1695 PHP API
1696 </a>
1697 </li>
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707 <li class="md-nav__item">
1708 <a href="../../../migration/wsc55/javascript/" class="md-nav__link">
1709 TypeScript and JavaScript
1710 </a>
1711 </li>
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721 <li class="md-nav__item">
1722 <a href="../../../migration/wsc55/templates/" class="md-nav__link">
1723 Templates
1724 </a>
1725 </li>
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735 <li class="md-nav__item">
1736 <a href="../../../migration/wsc55/libraries/" class="md-nav__link">
1737 Third Party Libraries
1738 </a>
1739 </li>
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749 <li class="md-nav__item">
1750 <a href="../../../migration/wsc55/deprecations_removals/" class="md-nav__link">
1751 Deprecations and Removals
1752 </a>
1753 </li>
1754
1755
1756
1757
1758 </ul>
1759 </nav>
1760 </li>
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771 <li class="md-nav__item md-nav__item--nested">
1772
1773
1774 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1775
1776
1777
1778
1779 <label class="md-nav__link" for="__nav_6_2">
1780 From WoltLab Suite 5.4
1781 <span class="md-nav__icon md-icon"></span>
1782 </label>
1783
1784 <nav class="md-nav" aria-label="From WoltLab Suite 5.4" data-md-level="2">
1785 <label class="md-nav__title" for="__nav_6_2">
1786 <span class="md-nav__icon md-icon"></span>
1787 From WoltLab Suite 5.4
1788 </label>
1789 <ul class="md-nav__list" data-md-scrollfix>
1790
1791
1792
1793
1794
1795
1796 <li class="md-nav__item">
1797 <a href="../../../migration/wsc54/php/" class="md-nav__link">
1798 PHP API
1799 </a>
1800 </li>
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810 <li class="md-nav__item">
1811 <a href="../../../migration/wsc54/javascript/" class="md-nav__link">
1812 TypeScript and JavaScript
1813 </a>
1814 </li>
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824 <li class="md-nav__item">
1825 <a href="../../../migration/wsc54/templates/" class="md-nav__link">
1826 Templates
1827 </a>
1828 </li>
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838 <li class="md-nav__item">
1839 <a href="../../../migration/wsc54/libraries/" class="md-nav__link">
1840 Third Party Libraries
1841 </a>
1842 </li>
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852 <li class="md-nav__item">
1853 <a href="../../../migration/wsc54/deprecations_removals/" class="md-nav__link">
1854 Deprecations and Removals
1855 </a>
1856 </li>
1857
1858
1859
1860
1861 </ul>
1862 </nav>
1863 </li>
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874 <li class="md-nav__item md-nav__item--nested">
1875
1876
1877 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1878
1879
1880
1881
1882 <label class="md-nav__link" for="__nav_6_3">
1883 From WoltLab Suite 5.3
1884 <span class="md-nav__icon md-icon"></span>
1885 </label>
1886
1887 <nav class="md-nav" aria-label="From WoltLab Suite 5.3" data-md-level="2">
1888 <label class="md-nav__title" for="__nav_6_3">
1889 <span class="md-nav__icon md-icon"></span>
1890 From WoltLab Suite 5.3
1891 </label>
1892 <ul class="md-nav__list" data-md-scrollfix>
1893
1894
1895
1896
1897
1898
1899 <li class="md-nav__item">
1900 <a href="../../../migration/wsc53/php/" class="md-nav__link">
1901 PHP API
1902 </a>
1903 </li>
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913 <li class="md-nav__item">
1914 <a href="../../../migration/wsc53/session/" class="md-nav__link">
1915 Session Handling and Authentication
1916 </a>
1917 </li>
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927 <li class="md-nav__item">
1928 <a href="../../../migration/wsc53/javascript/" class="md-nav__link">
1929 TypeScript and JavaScript
1930 </a>
1931 </li>
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941 <li class="md-nav__item">
1942 <a href="../../../migration/wsc53/templates/" class="md-nav__link">
1943 Templates
1944 </a>
1945 </li>
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955 <li class="md-nav__item">
1956 <a href="../../../migration/wsc53/libraries/" class="md-nav__link">
1957 Third Party Libraries
1958 </a>
1959 </li>
1960
1961
1962
1963
1964 </ul>
1965 </nav>
1966 </li>
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977 <li class="md-nav__item md-nav__item--nested">
1978
1979
1980 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
1981
1982
1983
1984
1985 <label class="md-nav__link" for="__nav_6_4">
1986 From WoltLab Suite 5.2
1987 <span class="md-nav__icon md-icon"></span>
1988 </label>
1989
1990 <nav class="md-nav" aria-label="From WoltLab Suite 5.2" data-md-level="2">
1991 <label class="md-nav__title" for="__nav_6_4">
1992 <span class="md-nav__icon md-icon"></span>
1993 From WoltLab Suite 5.2
1994 </label>
1995 <ul class="md-nav__list" data-md-scrollfix>
1996
1997
1998
1999
2000
2001
2002 <li class="md-nav__item">
2003 <a href="../../../migration/wsc52/php/" class="md-nav__link">
2004 PHP API
2005 </a>
2006 </li>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016 <li class="md-nav__item">
2017 <a href="../../../migration/wsc52/templates/" class="md-nav__link">
2018 Templates and Languages
2019 </a>
2020 </li>
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030 <li class="md-nav__item">
2031 <a href="../../../migration/wsc52/libraries/" class="md-nav__link">
2032 Third Party Libraries
2033 </a>
2034 </li>
2035
2036
2037
2038
2039 </ul>
2040 </nav>
2041 </li>
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052 <li class="md-nav__item md-nav__item--nested">
2053
2054
2055 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
2056
2057
2058
2059
2060 <label class="md-nav__link" for="__nav_6_5">
2061 From WoltLab Suite 3.1
2062 <span class="md-nav__icon md-icon"></span>
2063 </label>
2064
2065 <nav class="md-nav" aria-label="From WoltLab Suite 3.1" data-md-level="2">
2066 <label class="md-nav__title" for="__nav_6_5">
2067 <span class="md-nav__icon md-icon"></span>
2068 From WoltLab Suite 3.1
2069 </label>
2070 <ul class="md-nav__list" data-md-scrollfix>
2071
2072
2073
2074
2075
2076
2077 <li class="md-nav__item">
2078 <a href="../../../migration/wsc31/php/" class="md-nav__link">
2079 PHP API
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 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_6" type="checkbox" id="__nav_6_6" >
2103
2104
2105
2106
2107 <label class="md-nav__link" for="__nav_6_6">
2108 From WoltLab Suite 3.0
2109 <span class="md-nav__icon md-icon"></span>
2110 </label>
2111
2112 <nav class="md-nav" aria-label="From WoltLab Suite 3.0" data-md-level="2">
2113 <label class="md-nav__title" for="__nav_6_6">
2114 <span class="md-nav__icon md-icon"></span>
2115 From WoltLab Suite 3.0
2116 </label>
2117 <ul class="md-nav__list" data-md-scrollfix>
2118
2119
2120
2121
2122
2123
2124 <li class="md-nav__item">
2125 <a href="../../../migration/wsc30/php/" class="md-nav__link">
2126 PHP API
2127 </a>
2128 </li>
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138 <li class="md-nav__item">
2139 <a href="../../../migration/wsc30/javascript/" class="md-nav__link">
2140 JavaScript API
2141 </a>
2142 </li>
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152 <li class="md-nav__item">
2153 <a href="../../../migration/wsc30/templates/" class="md-nav__link">
2154 Templates
2155 </a>
2156 </li>
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166 <li class="md-nav__item">
2167 <a href="../../../migration/wsc30/css/" class="md-nav__link">
2168 CSS
2169 </a>
2170 </li>
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180 <li class="md-nav__item">
2181 <a href="../../../migration/wsc30/package/" class="md-nav__link">
2182 Package Components
2183 </a>
2184 </li>
2185
2186
2187
2188
2189 </ul>
2190 </nav>
2191 </li>
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202 <li class="md-nav__item md-nav__item--nested">
2203
2204
2205 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_7" type="checkbox" id="__nav_6_7" >
2206
2207
2208
2209
2210 <label class="md-nav__link" for="__nav_6_7">
2211 From WCF 2.1
2212 <span class="md-nav__icon md-icon"></span>
2213 </label>
2214
2215 <nav class="md-nav" aria-label="From WCF 2.1" data-md-level="2">
2216 <label class="md-nav__title" for="__nav_6_7">
2217 <span class="md-nav__icon md-icon"></span>
2218 From WCF 2.1
2219 </label>
2220 <ul class="md-nav__list" data-md-scrollfix>
2221
2222
2223
2224
2225
2226
2227 <li class="md-nav__item">
2228 <a href="../../../migration/wcf21/php/" class="md-nav__link">
2229 PHP API
2230 </a>
2231 </li>
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241 <li class="md-nav__item">
2242 <a href="../../../migration/wcf21/templates/" class="md-nav__link">
2243 Templates
2244 </a>
2245 </li>
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255 <li class="md-nav__item">
2256 <a href="../../../migration/wcf21/css/" class="md-nav__link">
2257 CSS
2258 </a>
2259 </li>
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269 <li class="md-nav__item">
2270 <a href="../../../migration/wcf21/package/" class="md-nav__link">
2271 Package Components
2272 </a>
2273 </li>
2274
2275
2276
2277
2278 </ul>
2279 </nav>
2280 </li>
2281
2282
2283
2284
2285 </ul>
2286 </nav>
2287 </li>
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299 <li class="md-nav__item md-nav__item--nested">
2300
2301
2302 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
2303
2304
2305
2306
2307 <label class="md-nav__link" for="__nav_7">
2308 Tutorials
2309 <span class="md-nav__icon md-icon"></span>
2310 </label>
2311
2312 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
2313 <label class="md-nav__title" for="__nav_7">
2314 <span class="md-nav__icon md-icon"></span>
2315 Tutorials
2316 </label>
2317 <ul class="md-nav__list" data-md-scrollfix>
2318
2319
2320
2321
2322
2323
2324
2325 <li class="md-nav__item md-nav__item--nested">
2326
2327
2328 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
2329
2330
2331
2332
2333 <label class="md-nav__link" for="__nav_7_1">
2334 Tutorial Series
2335 <span class="md-nav__icon md-icon"></span>
2336 </label>
2337
2338 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
2339 <label class="md-nav__title" for="__nav_7_1">
2340 <span class="md-nav__icon md-icon"></span>
2341 Tutorial Series
2342 </label>
2343 <ul class="md-nav__list" data-md-scrollfix>
2344
2345
2346
2347
2348
2349
2350 <li class="md-nav__item">
2351 <a href="../../../tutorial/series/overview/" class="md-nav__link">
2352 Overview
2353 </a>
2354 </li>
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364 <li class="md-nav__item">
2365 <a href="../../../tutorial/series/part_1/" class="md-nav__link">
2366 Part 1
2367 </a>
2368 </li>
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378 <li class="md-nav__item">
2379 <a href="../../../tutorial/series/part_2/" class="md-nav__link">
2380 Part 2
2381 </a>
2382 </li>
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392 <li class="md-nav__item">
2393 <a href="../../../tutorial/series/part_3/" class="md-nav__link">
2394 Part 3
2395 </a>
2396 </li>
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406 <li class="md-nav__item">
2407 <a href="../../../tutorial/series/part_4/" class="md-nav__link">
2408 Part 4
2409 </a>
2410 </li>
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420 <li class="md-nav__item">
2421 <a href="../../../tutorial/series/part_5/" class="md-nav__link">
2422 Part 5
2423 </a>
2424 </li>
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434 <li class="md-nav__item">
2435 <a href="../../../tutorial/series/part_6/" class="md-nav__link">
2436 Part 6
2437 </a>
2438 </li>
2439
2440
2441
2442
2443 </ul>
2444 </nav>
2445 </li>
2446
2447
2448
2449
2450 </ul>
2451 </nav>
2452 </li>
2453
2454
2455
2456 </ul>
2457 </nav>
2458 </div>
2459 </div>
2460 </div>
2461
2462
2463
2464 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2465 <div class="md-sidebar__scrollwrap">
2466 <div class="md-sidebar__inner">
2467
2468
2469 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2470
2471
2472
2473
2474
2475
2476 </nav>
2477 </div>
2478 </div>
2479 </div>
2480
2481
2482 <div class="md-content" data-md-component="content">
2483 <article class="md-content__inner md-typeset">
2484
2485
2486 <a href="https://github.com/WoltLab/docs.woltlab.com/edit/6.0/docs/php/api/user_activity_points.md" title="Edit this page" class="md-content__button md-icon">
2487 <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>
2488 </a>
2489
2490
2491
2492 <h1 id="user-activity-points">User Activity Points<a class="headerlink" href="#user-activity-points" title="Permanent link">#</a></h1>
2493 <p>Users get activity points whenever they create content to award them for their contribution.
2494 Activity points are used to determine the rank of a user and can also be used for user conditions, for example for automatic user group assignments.</p>
2495 <p>To integrate activity points into your package, you have to register an object type for the defintion <code>com.woltlab.wcf.user.activityPointEvent</code> and specify a default number of points:</p>
2496 <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
2497 <span class="normal">2</span>
2498 <span class="normal">3</span>
2499 <span class="normal">4</span>
2500 <span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nt">&lt;type&gt;</span>
2501 <span class="nt">&lt;name&gt;</span>com.example.foo.activityPointEvent.bar<span class="nt">&lt;/name&gt;</span>
2502 <span class="nt">&lt;definitionname&gt;</span>com.woltlab.wcf.user.activityPointEvent<span class="nt">&lt;/definitionname&gt;</span>
2503 <span class="nt">&lt;points&gt;</span>10<span class="nt">&lt;/points&gt;</span>
2504 <span class="nt">&lt;/type&gt;</span>
2505 </code></pre></div></td></tr></table></div>
2506 <p>The number of points awarded for this type of activity point event can be changed by the administrator in the admin control panel.
2507 For this form and the user activity point list shown in the frontend, you have to provide the language item</p>
2508 <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>wcf.user.activityPoint.objectType.com.example.foo.activityPointEvent.bar
2509 </code></pre></div></td></tr></table></div>
2510 <p>that contains the name of the content for which the activity points are awarded.</p>
2511 <p>If a relevant object is created, you have to use <code>UserActivityPointHandler::fireEvent()</code> which expects the name of the activity point event object type, the id of the object for which the points are awarded (though the object id is not used at the moment) and the user who gets the points:</p>
2512 <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
2513 <span class="normal">2</span>
2514 <span class="normal">3</span>
2515 <span class="normal">4</span>
2516 <span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nx">UserActivityPointHandler</span><span class="o">::</span><span class="na">getInstance</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">fireEvent</span><span class="p">(</span>
2517 <span class="s1">&#39;com.example.foo.activityPointEvent.bar&#39;</span><span class="p">,</span>
2518 <span class="nv">$bar</span><span class="o">-&gt;</span><span class="na">barID</span><span class="p">,</span>
2519 <span class="nv">$bar</span><span class="o">-&gt;</span><span class="na">userID</span>
2520 <span class="p">);</span>
2521 </code></pre></div></td></tr></table></div>
2522 <p>To remove activity points once objects are deleted, you have to use <code>UserActivityPointHandler::removeEvents()</code> which also expects the name of the activity point event object type and additionally an array mapping the id of the user whose activity points will be reduced to the number of objects that are removed for the relevant user:</p>
2523 <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
2524 <span class="normal">2</span>
2525 <span class="normal">3</span>
2526 <span class="normal">4</span>
2527 <span class="normal">5</span>
2528 <span class="normal">6</span>
2529 <span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nx">UserActivityPointHandler</span><span class="o">::</span><span class="na">getInstance</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">removeEvents</span><span class="p">(</span>
2530 <span class="s1">&#39;com.example.foo.activityPointEvent.bar&#39;</span><span class="p">,</span>
2531 <span class="p">[</span>
2532 <span class="mi">1</span> <span class="o">=&gt;</span> <span class="mi">1</span><span class="p">,</span> <span class="c1">// remove points for one object for user with id `1`</span>
2533 <span class="mi">4</span> <span class="o">=&gt;</span> <span class="mi">2</span> <span class="c1">// remove points for two objects for user with id `4`</span>
2534 <span class="p">]</span>
2535 <span class="p">);</span>
2536 </code></pre></div></td></tr></table></div>
2537
2538 <hr>
2539 <div class="md-source-file">
2540 <small>
2541
2542 Last update:
2543 2021-01-08
2544
2545 </small>
2546 </div>
2547
2548
2549
2550
2551
2552 </article>
2553
2554 </div>
2555 </div>
2556
2557 </main>
2558
2559 <footer class="md-footer">
2560
2561
2562 <nav class="md-footer__inner md-grid" aria-label="Footer" >
2563
2564
2565 <a href="../package_installation_plugins/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Package Installation Plugins" rel="prev">
2566 <div class="md-footer__button md-icon">
2567 <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>
2568 </div>
2569 <div class="md-footer__title">
2570 <div class="md-ellipsis">
2571 <span class="md-footer__direction">
2572 Previous
2573 </span>
2574 Package Installation Plugins
2575 </div>
2576 </div>
2577 </a>
2578
2579
2580
2581 <a href="../user_notifications/" class="md-footer__link md-footer__link--next" aria-label="Next: User Notifications" rel="next">
2582 <div class="md-footer__title">
2583 <div class="md-ellipsis">
2584 <span class="md-footer__direction">
2585 Next
2586 </span>
2587 User Notifications
2588 </div>
2589 </div>
2590 <div class="md-footer__button md-icon">
2591 <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>
2592 </div>
2593 </a>
2594
2595 </nav>
2596
2597 <div class="md-footer-meta md-typeset">
2598 <div class="md-footer-meta__inner md-grid">
2599 <div class="md-copyright">
2600
2601 <div class="md-copyright__highlight">
2602 Copyright © 2020 WoltLab GmbH
2603 </div>
2604
2605
2606 Made with
2607 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2608 Material for MkDocs
2609 </a>
2610
2611 </div>
2612
2613 <div class="md-copyright">
2614 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2615 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2616 </div>
2617
2618 </div>
2619 </div>
2620 </footer>
2621
2622 </div>
2623 <div class="md-dialog" data-md-component="dialog">
2624 <div class="md-dialog__inner md-typeset"></div>
2625 </div>
2626
2627 <script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}, "version": {"provider": "mike"}}</script>
2628
2629
2630 <script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
2631
2632
2633 </body>
2634 </html>