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