From 16cb4aa670b182fec5483ecd95422ec4b4181014 Mon Sep 17 00:00:00 2001
From: Gero Lueckemeyer <gero.lueckemeyer@hft-stuttgart.de>
Date: Fri, 29 Dec 2023 01:44:26 +0100
Subject: [PATCH] fixed comments & parameters

---
 dta.zip                          | Bin 24138 -> 24134 bytes
 dta/classes/backend.php          |  10 +++++-----
 dta/classes/database.php         |   6 +++---
 dta/classes/privacy/provider.php |   7 +++++++
 dta/classes/view.php             |   8 ++++----
 5 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/dta.zip b/dta.zip
index b80adcf25a83ba655448c21124b9057bd461a5ba..61dc65696d9f119edea4108f54d7e1b890088db1 100644
GIT binary patch
delta 8667
zcmZvCbxa(<yX``8cXxMpcXwMHwzxyFqKnJoU5dNAySux)d-2jjOQE;Fm)yL2^WG%$
z-<*7zWWJp9oikHCFk?M1$p&BuS}st!8=z^7006k*0RV&m0KnP{#A)RW^7ORv<opP-
za<Xx?=5V)nUj@3jEpuVLCys!HSm4;NwjO>LHb@i0vn14A#bLqfb;d$TbVN5aRN?>l
z&iQ0n&u-}-tILIz&h?7>&gb4RY91Q}z8N<o7ZdAZHN?QaC&aE$fnh(>MkKK!axIIv
z@@IR#c2iq#$kD&Lv0Js!mlntsq{}T4)X2e798y)zr=~e)+2busb?oEeoDJCxPGxY#
zAwO5bi5C}C=CFFXf_ttK4)IU*z99Xc<oigG!;|z$KGZV9R(`euQ`c#ts)tV-%?$5F
zwZNt*^T4|RtzXqp3tV|GxTBd{!@ef1<W#ECf@~fZlkgFp)?8Z7t8Tjk5QKm;4B8>d
zi_JJf&615!C6MPTO=cpY)82I~=IgmhG|x{^T)6EGZ@(EV*d^@^h+pz&xMwxfvWuHN
zjwy7Iqeot6Mcad4AkOJg$o={K*1`7)gL`25wql(a<M4D70Nz?~!&KOXJ~#vb-X03T
z0@r+is8o{bv7tIL#5Ro#g?z^$ny<&f(WClApp)TvHYS42V&~8Y?0dPMuAbmElvp@S
z_BFl~B4a@ShZi|s)C=9|?x#-Y2(iYIxST#m3M)SQ)4AMl>jxTh7EklshIP&W-J_r~
zvSo#G$Q1k)xa%%2is~@0k~22LoVdc^aI^y5BQ+wv*vRg;QM`hZ5)5S#9%`pbnP(Xq
zE<+!K#>A*iBuC5^9eq)#Ym~=I#--nh&a!0WXi!aNaXPQH96hQX2`?jj4g((b%q7aD
zB3A5DtY&AFAw&}oWUq2IWiNnwxe+P4I79Q322K|i+(|eDMpzg_<K*+Zy-&c73v)y0
zRPK>Y!t5f}%AJUZC-R{wPE9+#CfZ<-hC#*66y$n1kI(LF!-Zq6<UcNSwARQ|{sylF
zCu!|tCv!P-Y24vpfkj|q$)N?G;7^Q7T_U0{2&n+pwyyc~7drmlQHzYZQ-yR2@j!41
z{a07PuAllo*RD-&X1^QNFO#bK-w5W4=;@HwbI+*UG|rm;ZU9tyQGC<)9@efsE1Jm1
zq|k`M+^A-=%v0B@mM_I?a-{i`0*tF;U=kf9Gq`F17PM|1?;Iz6Om$cjlu;`Mn~p?L
zLyS0Ts&mrxmg~1P66g})9&QZ6=y}Aj<*Tg0^z*7o*>ss!k$-Sir?N4YceL8?t2{Ug
z2}?0^tae~$7KZs7cUL-NAY1fD>X9*0({O@Fyn=%SfQWN?9KRlAanVrK8Qqxq7k7>p
zC2AmQ%oRtO@wCX!q#_?7eC-;%S8yPGmT&>Vv499)wxI>OJv~9Zljt;h0bgW-Op7fT
ziR^2bt5j)c$F`c#vO@ji=V5<~rHvd0=UlzTJQHc?-Mpe1cbkI!H~O+#SjBOU&>!fP
zV#8+p%BQS|<7G)i<DWc|44e?hXE-mwJ7`U$mUVq}7re8?I?;^UdKTqeR4GMK>+!E;
zR?Kw`Natq9fuM{mqTVW2>-by~e!psP{o<O6Jd3{&kiMX!!B?L1axc)hMBVu(K20yN
ziJ_r`_6=(*TmkTI`-dNuufKA4T5<EVU(9U|G|pvPPJ+2HxSfRnd5JH!MaHwOEQF?Q
z_4)38=YgL5-78=H{IAO=^_BDe#e=aq3&&eNQIl7X^|5tDkM@Vi3F$l<KJhQ$`a<r2
z$1jnzxMgevm*R0HUe3-fQeD?L6hy}VI)3g<%P)zyJzYOd|25jNM=$f!mer|rRky*;
z68*18E0(|>*8~3}KRvTOYLi5Z(-zk@8I3E_4aF7Z^@CSmC2+a_tLFH}1h=l~G8^Ml
zYcV15Z%GW{bM|5v3HKU8ft$o&B8*J};rYbuykpUF)q8<}ds~BXTE@@rrV7UMJ?jFb
z$JSBNp4n_<Hk$~#f({dG0YmMAmaxx#!QPh3$GkvQmbl%K&s1wE9RysgrIn!5Js=t-
z!<hdmEg9ut@33r#H!8==3*0Rwg{yKvT39Yro(kR0=P2v2KlQVm$z3)$N~2BEx&1)Z
ze<F)^Tgh-oEJ#FMrbqbJ4@(fY(uQ=!6~D}5#w9|f=Y-W0+1!)Fq#B-huNdV-f^#CO
z8YG<C&YQU{kc+wGl_n_>8XX-C6uT1@#UAF<xL%($jRcB39P8FdT^cri*cv8Zpm-zU
z0~Si6-&{S=|KTN64UXghtk-PKvDu%@wlL-l%|-lugVR#|0QZlG07!s^f86wL?4@A%
zkDF+T001HYv>!+U9yK)i$3u9*ibs-Uh04zMEtoy%0!&un$~J1fNa{%Xu177liR7Ca
zijgmOWaG*?CT{mq@ZYX;?p{paa<6B%tuw`fmhOhFC;8;!bqDSum_G1?&Fe&Ue8))}
zqqBPp&Z!O1VgHRZ^-jn`P|F0*PWxR6PdvO;jhYG;4?R-=44Ksp|A-KS^r|DxCQDFT
zi_)D5NoL_vMTx31JU-k!I=;b^(2>SJbWfiXMzx%PW#NMlv)v-^Euo&_l_x&gGUoO%
zI8Z6F{g{DQE=4Q>Y$#GWCNV#a#v{>`u2P%k=3e^@&(k=7+wvJbhbZaB`?G~e>={=I
zv-woS5oZMkSUk`=XE;Zu$|3b}87*Py{)g@3<+K-U_;$dH2vGt;JM?v($t4XZe+l2a
z%P_}1s%nu{KEkN@VJ@V4@sx1{ZEqjVjp6y?gXzASYyFs2$2(6L%nrH&G<*8eohz*S
z^5S;-r3#U&Y{jvaq-|7a>M;U@R!JT2boVUI04$CKi$%~IX{&vb+C;gb#hS406$NJ!
z43!#M_nn2xExXcSE#-tM;O?JzKfk<en8fh0irwCKfkW2{(g->8Bti+3H)iZ*<)yfR
zPBZ$BM0P|KA-J{LW0SqAO7~I(ZNYpdNV#)XWiA?ah141}k}v>~#P&T8lFWCS!`{-^
z&hHOkSEOnnQ6P{}BMD#Mxsi_umL8O`bPzg*=h7?=*eapMN5G*6FAP{7LWP=fX>&Hw
zD9?1Cq=z}bF&&Hx$5HA@Y8+=&@LPIAg{3_oP+7H;Gk&5J2LD9O8!)gZuvM`CV8}9D
zz4`g~ukV&#nCJI3tT?<kE0O`b5`J>tQ?vVE3b8H{&1h)Cd6inHcw5kY7zuhOsLm1T
zyuy^4DTT(`Pz?i<$Z)iRqu_SC)FOq5XzXnwm$H}%b&wMPRQULYjnC$S>J`?z$#hF-
zG62caLw>Q0N43n8Y7vqyez0_U58I4-{+$KmEnb4o{eoXg(;%3N9{*hwQ=`P%wB#I2
zlybZL^LI<&n$MKDh_Gz9^6r5JMeD(*#M+>z!(LUx_rbNkGK3G72>>T`BX)64?^Kg&
zrZTPw&+4;N_}@I9qT^YQ7uPig_2u`oEcf|#d-=qu`GddYhexA2d>iqeP52+~82R%P
zACb0SeRl;6(${{|`~{DFgyq0*tyP=?M}c6c72wE;8*Y()Z%jRLv$#z5^>DG3Rj_Da
z8O(!DjTo1{qDo*=#M8jIFf+;7nwROOXoQD2k{8x~Hl;d_*s7)!?JI3!5vx}5VM$}1
z)_=8crQzGDUHqD`dVlj8MJAlWBP~*lh+``l%PL6hqH0B_jp?)P(W?+UR;14emhTrp
z>CE&@zi!)^j?3Y`fls2+Gjg51-eWKv15u>9IY;W1woh)pauRyQC49k7WM|&%`9_z{
z*>2m>jv578)!_?u^~GHQx+Z=X&6cJ2BSB3W^Q<DP+Q{ylRhOEBs~y^z!_cDP=dHP)
zuAjczF&x?NGl@6RYx!FTOFsJ*ykUCnOPKGJLq>j#&z>B<6BrRV5qGw*fl42Zhq7ZL
zTQ|609OJ6>7-}U|HnKrT^XD9Y6F=%XbZbn^o+(+ojN`c!#s&9UyLtVg=i|Vx8`T0r
zeZ-cM<w-vV-20|&+;ky`-l${0z&-jqW?!XEx;E$|cb^L}L5)}!vH6xNxYXabmE(%#
zoTlOSo*?I0eEe4edxxw4HQm_m4scOR?50cYr;V7<ew<A2QIHbmobR%o?_7}E>mvtq
z{d!hU4mx~F+ho1Bi7>45_x)R(sS%9Yd^9in2R*4geN~bg4>v)Ua{Z)9!8U4^rtJ~2
z>8^c2q&1?}<maAlTz%?IFv5cmtqGpV?nM;e2A}MzQ9CJcp;ECk*Chj?|92^&8_;{M
z#<ell=r!ndJf*2a7=hXJ!&|J2Cj?x0h}TU2fXTx;q<cLr+*;cx$Me*yS3BGvc<68b
zE&9BB50tkqa`+48j*Bhq7-HX?l>0DuBfB^FJ{0}ojVVZYW>4(E`tR~V)3wOHu7IYU
zci+#wqdzjMYgdk3Gs^3u=69)QPP2K4XRDTl{F?3Y<uK)P_DaxC9F6>$_g;fdMqK!t
zfn&nx&)HKdA<Lj2<&zKZ%S(%S_?$X(n&x*&(@<^LAf@|pN~jyU7*5VV{=pN=#Xv;;
z$3|QL02Kh5WJuGzj~)gKe$xCsh^pNqLkg{=k+Fm?-`;`JJ|)M$<+c%ds{aUjSTJgm
zin;^Vb4dh*2e%&zuY%dKIlAG*b&gCZlRv(Zfd&YP@KlEFd5HUka(V*(_{Rg?FmlTo
zY0rPXtTrz`G^glFM8CTC(p67<UB@&oIb=uvt3^Fo8&!%gAEzb{W~BCL6c-68o`*~|
z((NKmm4uL<wo>bMs@u|!6BD>Lk76a$Z*xgam8v@ckHO7swk)27xjAa(xgNfTHm|+z
z4)|wtAJ(7A^)zc!2~uzo9?~(S)A~&q7VKXQ+Wmi&Cgqc0x^5y7pB16APSD#E1~ti(
z$>emY2)$S^WgWGE{owdxXn=KVaBQxse|Xkl{}Swg7igXY2!=_5>m#LO+bP2z9}o~k
zV&KMPQ*UK^rCjO7F`<>DB1i{8i#Y9lL54Nho0bgoxGJFGqtD8zDC{3Ou^cI*NR?Vi
zF<S}WOO1FkYp>@t6J5xHow}3?o3#E?Zhn0BL+tKEmFL|C+Z)QemAbWE1XYs$(+<xi
zT`3edG_P26Jw6cL>s{X1#&(rwYE$Wb4N6kPuOsOP18~NE*T5ULw|||^;6yO0kt455
z{Y+&s>~<Pr(zcNw4BsstfP;Tw$vJ&q(O<#Av${K7^b&>sIsO&v$JkRwcD9L}6GQ@+
zdo2#!a`qJr@T!oJj+suob<Ury{y3hXks@Q)w3bS7f0X2+-kE;D7O{Qwcn`vq4z%UD
z;h}gtL4hoX>pJ|2TkF{@k_|zuCG|2z4m?q$#VrvEo+?f)6)v;{QoO=oU|xsnErJUA
z6)MH*XhyGQnJi#Et8oY1;ePP*eIa#@)Qoi;Eb0dbth;HG$@v;$N0*UFuL5!*S-lBg
ze5#|v0yUz+J6Lh0{b8946zT)EJh3c!7k39Tf_loMNhkFQeP}H_eP|;J{jHR;Mv?~A
zpTviF*HSf>tU)~^4?6L;GiK@^qyo<Rl6Tor^1VM;c>54u3KIE?6${f~PN?mdt06(_
zl`X)QXAm?~HPv%l<0z<(UU*Hyq-9h}niMzDlNO6QfoI%sg|yM;;j#Y^H@vazepJUY
zif0S|eTfrYa#R0ew}P>Naj?x7-u}k-on4?oKr~twquROG^mQfkK-WA5E;<~!rJS4R
zOtYH<4S$!wNyxEhFiisWH8!}JS|F+YAPUTtI{QQSPxQpAo?@W1r_0Vbs1vD2KJWI#
zpB8qI$TT>0p=2u&;`zS1h#1N#myzXeDTfk8&Kr4{d*(b5&+MaH=kW3@BtBU(0zd;E
zScw)oi1gINCskxEt<1=dazVI}R2!KYKKzvFUt&8E=(0EsJeMx*^XWpQ59A8hzy&Wb
ztz8bazGB&d3}ejpUuTRXmy#e@W5O})Y3@}me<S8#`P&3HKDy{Us*razD3M0-i`was
z&+`FdWVFt@bg5UZgjtdBX04qs4Ap?#31!HSIG_9Yd?~n2q(4vwpt-&}pNFUBNd%Wa
zcn`YA=s7y2e*2}}Va4uy4s!!86#$<}7pf3j;leIF`A0rotgrh8i<9X{;4L-^J8Ka)
zkF}X1%7IWe^7wbMq=fe2*6OI$q)kz>xL$LNoT6yR*JCImZ^hhg3W|&+QiW5L=~*&C
zoJP*(F4l^_nnzm?w60@*8Ay^D52|LUI7|e54P!QU5!@MX8#b_hz0`T48Uv%?2f#YC
zQ#I(s53P&RG<C!)t>0*!m_!v;+eVx5A11MjP9a%f`?us@lyqgE-Ax2yA0aGs9mWK5
zN>MpG#<fSs%Z_gHHj;O|-YET?+likhA93ZNi#WxbSKaj4Q8KK(QV2VN+;3}F8Ot9v
z((Qcyy+Jn)PqRLyGqhsOOa!i54;#bwHmGgd&|<)0R826hxfN@;zOX@FKXzeLi*=&>
zzI%1^=ct6*{s&wf&H43uJ7wRrXJlz($&~RJ3=2HT7I5dJE!Js!p@}V}8pX-*Y3^qz
zL!hZ>?|SQC&31Gjdo>|wA#YmL`cvj;?kOy$)@S2S+>BU_aZYXJjp*RM%L^2vXJ@ud
zPQkQ4JQO?36mTdKQE>@E5}p2;Rrp_2>G`XdHq}S=vzE$An`f>P%=7Gh9{!ltmun@q
zdm^;*d8><jOTe@GTa`7O6l^kC=@$KM%7@cL(Naz}hHntQ=lnR{$(AQ3Dt|g+^6^V+
zS>2#;B+QRp5x5%1euN<KucjY})-Kf{YjKd@U$3z1E(}?siLxxvAj$~m9M4>?<_VCl
z=F)*vUTl80kh_zYQ(T7Rq{OLn^-z%+7|w3`Wb7|#&$ZpO1%lE)h%tbMu~K#~`UXE@
z%+Y8j9MkItuiPqo*!jmr`j>ZmAD4{G<SNZ;by>Xy__|5wu2=iOe`LO<I-=&~_D3<X
z&--=9gb7T=^@L{?dGFqvZu)ciy-p2cUMtiy&K+L-Xf8ibcUDBsYP!?zMD8v1%5E}S
zxlIc*TW&pz`cvqVUf~+J)q{R?+uu8I+La6ZQZLxH3(}zM4-G`oCnepiCmgbX^s+bi
zhk>1D#lFPm`wiWK&H4HT-WB{qH@~S79~|=lv6yxEkWmI*&eV|d%~uzE9ZJ!%{YL}w
z^hud=S5&^+;;C#rj-r?(U0KCH2glk*TRjb4qNIN}c`aGN+8>E=JHrq2lj3YMsWvs*
zo1!+zrs$2TXhm@kA4b~!`LH~w5!){zM{AF}*=m5&8=^T4-mq6yEoq&0lYP8}1jpXi
z+yGl|B3laPlV|L<UJf7ThUV{Ezfg7GamSS)@C*tD3ariSL1a;~bRwP@SiFCPJsx|O
z%?w6M8kUCyWZ<$q6Y3dWT&40+PGid#twd%Eg8q3p{cbIl)0;>mNeZ}$U&Vfln&~QB
zwsD8P!oXg#n}v`~E?)lR94m2gYGIiDrN>JA{vG%K&d$64w96O*e8B+<08kG7L!=LW
z`98C8ywgdUblhwwLM}x13L6zX0Qj3^#z9RoRLw+k0IlXq<Jr6PVz}}ZJu1e)sqA;4
zEINx1jfwhn^{MScGZV}_dT4VfC*AXF?1(GQj{8EakXliwWDYi}e@4WIG3i8Nr7=d>
z$ZE>@pZi0+1U$D0_Y9YaeTbYvNs(dT&^X5>TyEPB7pw}96K03SRpWztB;oF*q#*(>
z%57mXZjOIeET4={B7027(ULno^E@>qwjq{ep32=uVY`m_Eikzvk&<QXn9249e)ABi
zJQzzVUz%ov3)vV#5-{9N7(H*%FCNkR_I&SpcVOxE_x_FJXWB86$tL!4&mUzl*~<ip
z;^?l{oR(kh05n{2KE?L#FfN@FWB-`w;4*Ibjd7PlEGP)@&w{x-xF0QU=X}OEnB5K+
ztnb#`0+@}(uzDEU9v5aY@*RgLuVcyy+&&9+!t$dbaQP$=X*7-hp<S7W=Y-f*pKE$}
zgfo#<Hj>B|IdVo}DKx>u>i2-H+y!$rwu`y62T=KXFLq>IlBZ9n?dAt;lu9UH><KvC
zBefus5<4GKo*4VImdOz(Cm8u4bjf@s9tU&DdQiz2v%6+d8AH&WcE;ilgr!yScuPRV
zA_RfFq3}BXs6adoDuwwrt18qL>sfSI{7VaXn>2>QK1};Llk1K*y8%pm+`=a{VLc#&
z%$+2`t$F0{&KSnDc<=A7D3Sg16Uov7d?2k8Ah<>TK75Gcae^F<7cN)91}h=3UjEy5
zE?2}iV4zyt$GUs%K0%*hY^U-Q^0(1A8S2BuZ$LNmJIPJS>zlh?e^}qaO5U%{Cgo#F
z(o#Gy9EDM;IT@29r@UY)-Aq@bXG9gr72uE`yLA}B17h-9#Z7i)SdgbKC+)qE>@TLg
zW}?&O0$zfg$%tsFZ-QhtEH(r&_+E|StPlMl9RCxdvtgca>LCQ23r+pEwVv9lI#<VA
zBKjHUEX=ypay5S|Db2IC=JWFe%bfV}xAusz++1uZBFd53?oV*4B6M77%@^JYZ<X0`
zVP}@RtZ)HOw3}X>qBArdD`T-QZyYPZI)vb*#c?qXj8W{+HQ~<YI7gd^l{F&qC1sW9
z9GmbLh{#|hHe%10M?c1cmi&A*Kw*IP>8fclqTBb7#Iy&=C_1Nrk&bb{8F`;?A3jWY
z6r!M!<)Gl3+XTKmk-L=6N@F;>_}%Kn-T~t$`_7bkmnj_&Yt-$0|I^Hnp$A=Ke6yC?
zaU&t0t#u`Jw#e@mh?wmFi;nnr+9Wy8++Kt^>AJbNyroL;V{7@to;wzk&Qp`LC>~7M
z;he_e9n+@oZ!(eR7#j*k0ox9sv~*b_JY)<0t7or2$qLv<<$M4X>#5p`uHV~M)>uw(
z%E{z!9-o4qkgH7KFM-?PwUI6qgHUsLO>-`Sw)}MFfU?IRQUpicaO@xgBqm5rg&Mxr
z|Ki0zCpiyN<LkFv=0A#k!0h**GT-drNwe(QUkqB_2iED?%IeZKvt(mtT^zf{hW)0J
z7V$^L@d8tEdYSXzi48|!6<0ChT5}fzVt*PSH(sUx3ixVLA-@Le8&c>+5!RS8f7Zt&
zTTHwp%y-ORE_N_8b<_P-UOG=Y$&z}eYKH93G6N+f&x=T|PVCc%;t#)eud$W2q<TZ}
z^m}YGW`oQQ1JN`BI)xjIreD6QHB8WFwuHg`EZYH(!@1kp9Z>TB8#Uay%&z7>G$5~Q
zba4f<%@(W4%ptH4i=i8(nw6ETz7yh<jyqpOTUSxfB{4?qWpEX)f#QD_?^YK1*mMb(
z)$Xb#7rxGn)&y4&a^HS9mOG0MH%4%t*@217b(oU!o5f7TIT_duKmkRs{OG*$$5PKt
z>b3z37@)C~h)^;uu6fMhW@714bw<!UiS?}3ru$T99>PNET-mkIuq}}7P?_?s)?np1
z;;WhZLY}ml89Vgy9_j`&nxq4i*`~zo76p~k9}60nS$;Fj`lN_DvS)joTX}xf5{Nym
zNr#w6XOB^?V1&^!;;b9T>pPjRL|v=p>*Rp%6vK^jJy_=rta1n>!*)J?fuxM3RG1%X
zb2lcGkUk}UZsICQt(YfFXhDv=!u1On95=q@m!srh9=7-$vogKC%|Kltl0X7z0fscN
zOfi5=?OkmStZvMW{YdLgv*}dl&zgcjPRrj7b`$HHwL|ar*?n|=k<TInZ1YfHQQ^R%
zzdS=$+~Jjd4-9N0*oi)RSn_7!*XooX+?Z_ZEsR{@`@3j|s`xir<9b{LCN}16<kT~F
zXBBRJbe^2W+L|iT7!W0@u019fpzVOPE~9b0HrHB28wo4qARPqDS~fk7|K;x3i#@F$
zo{tg6UfIm~=4xA&lmhRfaDO>&_`?HCnZK5c_((q>ituRQy6nhjlJ^Sap*5o$0+SN-
z&DAlrG+^j`?Xv~ho0B=Z`Z8Yq4Khjln;q+o(+vjk7QU=B6%riD{S{<A?{DR+q8IfF
zZ!0r*7puTTsOBf2EezD^iaurZzD6=c*R~N3ZFjri>YqPJZRBECUo`6E@Qws`t(9(k
zoj#jR<kOa#&9o&Ptvvqsw4++yp$1D80Lv1J^M%Ft)b+B*mbt@gi_a^sj4Qdol?>h3
z@j9M*3tsbnuHH=+Uf4m?Xti~1{=}4=Pr02XixSy$oCG?N7(8B=O-9>u_4PCOX|;B7
z-U;_+{bYRu{q>xFH&=c^8fV}NJPqCIm$k`HfZw}b0%abX2I9s+{gw@Cp|fy?+kigv
zgH@2z_t15g4%_N111JAh-*1gS8q=CDA1e(0f@e&N#Z*GHmKx~Q!U{esLOMT#i?sJ1
zki8x|l+JEDBZOvg_9+i!uDT0!8tWc@o(C=#mnoDf;%;&nbr_95hLwOD-#-=@vMTA7
zh?5+jx@05<xrz0kND~S%y`*rf6QM8Ed?<K51ioUIS9*zK_EUvbHtR@NsPeWxq*(Np
zZ`n)s<*M(|8~UKrZcFI@=<IU|nxV%u337Edq4bO#G04x}UMv5^S?ZdyVJ(n0ZctiW
zEx%4N^NQDtWx?0b^Q;B-yl-|ucW{iiE!mi4)e_tPdCJ_9B(r(fjsX!$SZm~+Im21l
zZ}ge;qi<{fsxfezq-#;`>f$rmdV9=gowz1b?lK#*$L{2NXN8t@-&@5!>K)kaG0`C+
zNpftGyqO}0YHuY^9HyzUjc%XBmNxe0DKh73pI+5%yhS1D-HrkF|3pyV%mXa4ZYF_V
z#+OA`ROHHJ?+WLYO%9cq%N<g3n<1*`i+*hr2X(YrL=URfuLJ5m+nLfe84CMG$dOw^
z27%=^y#Ck%LA`|cHT0m%BJ&RTA`jgCH|wSGUeeVgND_*Cx%a(S{4eI&MHc6jFTGsG
zxOxTyTZxbI(_7$gib(=-EyCGs^6daflsN{==CCd%f!_C|VTiy@J|t~Ll(@tiQ-fRO
z$Ue8^JDwC>Yh|xbKQaYlzCTjzw)3Rf9iCk*KE|d)Q`Vj{8vpsu_qOq<v*Od3Ho-UV
z^FlKQP;hY7GR`N06UG%7n~6T9pks2o*gaS}v2|yK8cj(TUXW_y(yyZ8r<OoVqkzqi
z)TiXW$Jf2`^r3qS@%PE3&(3;gm3XSR#(m#1Y08YAyDEw%`r#md|NNgw2r6wv)Qm$%
z$BX{IzAQjxfkN<kP&kx3D7860^e+&J`u`Uk(ftdQ{<En5?QLiukP+UyoW=0JF-$NH
z&_qK*sH7nm<^OB?{ZDN6zjK`Mbd=?k|Bd}mz5gY)6#)P|!2iS?d@-Vh=VckO`)>#e
z)ZQ2i3N*rid4$>;8Nv`k`;Dw%R-v@URxqj1Xk%lTZs?J*8O$kE%ETMS587s83L^`}
qH3h+hK)p>(VJe|ZrVcQ6P%$$Qj36}6%mOA5`fjFx@X6pmSNt!8*pI6K

delta 8652
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

diff --git a/dta/classes/backend.php b/dta/classes/backend.php
index a881f9f..c6a0a3a 100644
--- a/dta/classes/backend.php
+++ b/dta/classes/backend.php
@@ -48,8 +48,8 @@ class DtaBackendUtils {
     /**
      * Sends the configuration textfile uploaded by prof to the backend.
      *
-     * @param $assignment assignment this test-config belongs to
-     * @param $file uploaded test-config
+     * @param stdClass $assignment assignment this test-config belongs to
+     * @param stdClass $file uploaded test-config
      * @return bool true if no error occurred
      */
     public static function sendtestconfigtobackend($assignment, $file): bool {
@@ -76,10 +76,10 @@ class DtaBackendUtils {
     }
 
     /**
-     * Sends sumbission config or archive to backend to be tested.
+     * Sends submission config or archive to backend to be tested.
      *
-     * @param $assignment assignment this submission is done for
-     * @param $file submission config file or archive with submission
+     * @param stdClass $assignment assignment for the submission
+     * @param stdClass $file submission config file or archive with submission
      * @return string json string with testresults or null on error
      */
     public static function sendsubmissiontobackend($assignment, $file): ?string {
diff --git a/dta/classes/database.php b/dta/classes/database.php
index 8d54c06..6f5c82a 100644
--- a/dta/classes/database.php
+++ b/dta/classes/database.php
@@ -88,9 +88,9 @@ class DbUtils {
      * save given result summary and single results to database
      * under given assignment and submission id
      *
-     * @param $assignmentid assigment this is submission is linked to
-     * @param $submissionid submission of this result
-     * @param $summary instance to persist
+     * @param int $assignmentid assigment this is submission is linked to
+     * @param int $submissionid submission of this result
+     * @param DtaResultSummary $summary instance to persist
      */
     public static function storeresultsummarytodatabase(
         int $assignmentid,
diff --git a/dta/classes/privacy/provider.php b/dta/classes/privacy/provider.php
index fcbe949..5a445ae 100644
--- a/dta/classes/privacy/provider.php
+++ b/dta/classes/privacy/provider.php
@@ -28,6 +28,13 @@ use core_privacy\local\request\writer;
 use core_privacy\local\request\contextlist;
 use mod_assign\privacy\assign_plugin_request_data;
 
+/**
+ * provider for data privacy
+ *
+ * @package assignsubmission_dta
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @copyright Gero Lueckemeyer and student project teams
+ */
 class provider implements \core_privacy\local\metadata\provider,
         \mod_assign\privacy\assignsubmission_provider,
         \mod_assign\privacy\assignsubmission_user_provider {
diff --git a/dta/classes/view.php b/dta/classes/view.php
index ebd223a..b93d3e5 100644
--- a/dta/classes/view.php
+++ b/dta/classes/view.php
@@ -31,8 +31,8 @@ class view_submission_utils {
     /**
      * generates a short summary html
      *
-     * @param $assignmentid assignment
-     * @param $submissionid submission to create a report for
+     * @param int $assignmentid assignment
+     * @param int $submissionid submission to create a report for
      * @return string html
      */
     public static function generatesummaryhtml(
@@ -87,8 +87,8 @@ class view_submission_utils {
     /**
      * generates detailed view html
      *
-     * @param $assignmentid assignment
-     * @param $submissionid submission to create a report for
+     * @param int $assignmentid assignment
+     * @param int $submissionid submission to create a report for
      */
     public static function generatedetailhtml(
         int $assignmentid,
-- 
GitLab