From 64e841ec4c30a906887137c19eab4b1c2f3d3926 Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 28 Aug 2023 18:35:02 +0300 Subject: [PATCH] add magnet form lock to prevent moderation overwrite --- database/yggtracker.mwb | Bin 27023 -> 27617 bytes src/config/app.php.example | 2 ++ src/library/database.php | 24 +++++++++++++++++++++++- src/public/edit.php | 14 ++++++++++++++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/database/yggtracker.mwb b/database/yggtracker.mwb index c80cb797c1f6140326414101b2bfc447ca54af7a..59fce6f34c6ed2c6f849c9e27db29eb24305830f 100644 GIT binary patch literal 27617 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

(BW~V4%h?&9pfUQJ6gTz zE_{8Uc7;IV4j(_-?K)gjS8v6ZH+Cu;q$_nl*i>quiQUvTx$|Lu+Z~^WB}JCf$*8+L zYw$1@KS~2GZZ&Q5&Ru7bXel-B_<_dh37Lb(=|frVH}Q+a!w;a0Y+TPRG{1xkZ)x+k zL@hu~EMUK+b51JjOX&QgnO@q8I`-KL$$(>zr?WTe0X(#E)E`@;YOePr-VCKlag6jnR@DzeHmxCN zz>rF@$U(!yF_#t}hB$ddF6JOQ-c_KV+qJTtWfXIEp(cM>^YtY%aM77~QN?P+6O0NS z)(fJkYE{sw-(7^!e9(?UAOvu|V=q#L;gLg#Obl!j9MzNSF8$*K@ z4JJtlB{`keTQL?iL0T4&cE42b|7fdZ`sH&sM&Dv!~JEcdCHi^ zbjmd4pzwv&@}#I_CRWn(zPU4ZYQ5cl!Xj8w@8w#-(*MW5i?#QE6l^ayQoUp=vz>|A99MWd>QGR+hT0oJym&}{lsc!4PD;q02 zbckaUmlU6<7;)4Wqaw9k%j|wD_?oMKc9cfcIrN=0z0ml+cEyq^^ZypZZGXjZ(uSZx zsD&|4f7Ba1g&3NFS8RZ%IF~2u&v(jj71WIZi|+;tMlOxw1>>+(%vLyf*|_diBHpQ* zjY3vM;sxcbpfSw99-&Hp(Q&Lcu;8im|6cGKoozUnDnRn&@C>m5LDT^p3LqpC7z*ku2;xnDeJFX>G=G_bJN75DS<~Sr`veAy+I{MD)z~h zpG>=IRAKH$M^w>{kCr7b{@tr&^2u?<#$6dI{NVid09$f>;kAjf(1-lgv9`o z)=Rrtj3370;6SPpD^%cfFU%|k05y2d4ncq@K)f&#O1)ITQxa&EJhg`;*pf9!LZ@;9 zGdF0K*r-8ep6Fo=?MF=I*RpeVmMysMlnL~Mx##7&@91rXA#Re;BI7-z`)FRBy$MW} z&?qFo9qTv^rT->9My;A{K0pNnn`AOjm{37gh0zJoj|s)6s@7 zq9_*O`D1$Tp~RsJA`S{7GVb~do}e{?*yJBZ5H*6bJn!K7wGfub{#gW_qEC?z6g&+s zRtu|yM)$XeVRY5L?&h1^AYE@)3;$7MO~tSkZkg8;(l~-AgNSbB7NHd~vm^L~PM(-? zbRjEM^3?lcsB|*8>iBPnGzIaM7S1~BS;Ju2*%26r$zU5Zme};5T7wGHQ#}rW;)O!| zNZkDU)LCh!y#OFnl(HAFK@I>;z%qHaj%yNhiVA~h1`2^i3dHg0bbXHKpUS^rSDBdn z3BZ6U+(H&}o0MD$nH6reRgRJ-|EzhXTcJu*?ZS#8<$dD1u)-c<|ApPCYjJIp=(bco zHytgLWpAFwpi3Y@K9f{A;bp#*d6?{5sl2))zKobE-E2n(g~w<&`WR{`uQ~fY)oz5@ zVFcmxeCTlmA0tTzg|qnBqELu}gOU%zq%-m4EQ>l(lM6Y~sC~U5#@I-%urkM#2jj^`=|*;K^@38kg*g&m$Rx<|XlU`C*@v zl!8yABhoenX)0G!aS(U;RGd+>(AT(=96l`B=b!;GnjHAX+CIslF>FN8Y$G%|oW39l z)e)tOVkP{Pve;U2E_RLMVesI-hYKi%q}*Vw*mb_?|2!C&4LA)(Kk`&qvbjSFL1A*F z(q-`l{d61-VI~UniQ;8bVJy(nW04bJvmO-UPcYfsNj4uE6mmj{_`kKxHJf?=E)!=( z%e8rzEb|nd1o<6}^HwS<2UI4fw70Cf)mP`)Oim9iK7;u%`OisUH)2GA6ra&R#f6N0 zWr1MY7#|S?LR~23^M9U<6vJK^JKUyo*rtkAx8E!zmO}HuI3gelj3$BKE#PPE@n%s_ z{}h2zMn@DFc%TTjT1OP{+z3wsLn8|O6QFeS&KZhtvnPkS~Pd{-z!jRGos8au=6BT2XXu7Kqftqo?!lxCA*RHRQVJ2kcFVtqtxf7XAk`CZp&iC5@W`6gL;1pM zQb-IF?pmNSP4UZ~4@P9H`GkB%O43@zhnoROD#=RyLd#_Fv)Y|cCWnNoz(9AJhp}Jn zGvTG$eNd*FmA=!g7d_-@ZI*_0rzKgrVf%2yMl_jyRkV@6rp>bw$Hq;eGxAjCAasn{ zy1s;V6;F}*raJIf7yZ>B(|x!9p+PWi>=Vdm-Vad%|H&pF?j)-P@x1sH;v4(2Tr0D7 zLxjIe(EqIai&T-%SdRN}<9{8HIv+?xOS5|SW%nlzlJ7*b?sxiU2XwFtF{hGP2{2YH4x zb!EJVX+S_67BD)7#ef6wqk=5(P1jVRn5Zx&pulLTCKCfc{~ijy3+JS_!tM}07 zH1`astLtBC(u!Ai{x@o>+X}Vw>A57;d(gi?(Wzc=I)G z^JNH7<8kE%Sl$CLKCC)}T3I9~;ej>Q>tH?7+HUye7cGA1<FLGWD+k1SnhfN>O{iSV4=h7T-Y%K8cw0k_>{K}PK}DSXpd*Uz(-QiwW`Z!{9L95 z_l{Ray2rVmdKkCQ=)!-zdp%n8XbFI0F0X5z7gZuTTr6BvQs*yIx23&JFjCplJ>-~D zr@GzzYqmJs>jy_RZ&1}xTvQYnL0Pb7g^6UJlU)ko*%W7xQPqE#Y zgWVWQw+`t03O871?{oH>BFv`IuKG|&Z*blibZ;G`-f0DiYj~?v4WpHfqc?#}&ZAhW zg1ZUDhY5NgI*^YmTt+>-Csp;fp)R67Y6Xx$xe-&jwe-d8@Ic}e+9YPy!D5z~50E&^ zEVv>8D-iUN^z%pCsa=+=;t`t5J@(NoYBTc$O=D;`Vj8!WX|9u;k9y^H05_OpUasSg zX?5}hngTcxVrf}okN3{-J;`JHLCG2i`|&YhREP1Tzj{EfusxWLe583ir#0^K+ds^G zs2c=!8Q_@`NhYWyAcs9j8KZSa!4TL~wn?1{Z$I8&wmHjlB-9u5@R0a@v=6ZyAwsdk z#eTpBVjC}+llrPty<6FTmb`bcd2&dfS?reF18Q^Q3bEXOyn%y08Q6!#J$*h^)byF2 z9f(gduIl2rKtA4#@=wnozvtG!V)SiSr-(*?f6gR>__Spy?v0NpE<{&vO~uRl>SRmY z(|131`z{%to~K?$SpUKGu>bhR5L`bQajQwxZc*jPK+LR3!z^j#$s>$s^XL8-#EcTY zv}a;Q(LoW-3wWlPs1L7v)2$n_)%67-(+nG|>pT|RSTq72k~dQcqT5J1g|KvnLa_uo`PlDJ4#G+_`ZCSqU!r*ZmEi1I>?@e z=4HfZU~(yX;>;X6$UtI*Vjz$_zlSdusa)p%yETh>@sxr8El`@!APtL$!_Hf&TwDl6 zK9)$_i5$_2*D>ho8|Ez~$mn5KUIu2CU+M>q-w+DG7wG#OV&rA*X8@@7E|I~91}h<& zm_<2^A~vuOwf%)jtF`gYcyt@%n?DPdf6ACP(h=$^OiuVx5N1~fOl@$BH12$E^V&WE zelO}-y-pM`q+cio;6Zh7q{}nn`8))NQU#BCsGjvAa&3kj{58=DNoTlFGx1;oRwS3! z2u_PwY_BhoPK&g9>k$?u9rW>*{zCZo5AYh!0+^(trEZ+}f|sX7`zK410mmim9OabjQkEX523=h{C_sYHg(uO^gALD5eu`zP=y{^p2*!$`}IOZzVCfT!GaNkF9XI&lW9MG5i{UQ=onXmUgdN& z6-po|zktp3jn4@gBKowc@!+xARUeFhuZ-f6_6<%E1)@0qTL^MQT7gip$6HZ29T)zD zp+Yv`5`Yk#27gCUW=J-WfFl-wP=OA-qbLxPaLZ6ffGiu4QL<&@>r*0aEl2)TZg_}E z+CCK*aDyc}mB@k-bKskI=|zwfqYP+?#tHql5{qEN7UPSFn9vbZwQvbIl~fQ{S0^Xq zIpnX$$9^>Lv|cM>An zbbu|@5XT{)JJ1~-u4}^d$e2G^&rn_+N+%y)^((!5FsWH zVRNzD!t-MCZGV06!98rfn~$+j*{i=v=~@=aWuJe)LN@!ft!TcA=!?24f@Rv1L0H{O zv#@}3FF;e{4*!_#rr8fT^8cu}kR zT?P?guMs*wZLQQm$N|rJKGC}I?RhrQ`c68ebJ&~>A?ouB@_d!Px+C^7X4=$u^nVI# z1Zcs9xe$lVnNoW7Q*p5%q9sc2ljBn*);tk)gFFNj|Vh)?4U6Myqr|_w*)C(b>knh!)ohxBx~HQ$@D))$Q;=;x!sE7VjbTM{^%h zVqSA#bpl5yNc?`_ufv2#tak9%VJi79ZFZQXX$%jh7#*Xi{h;=AoU|-U0;UKSS4t7D z`-M$s9$iJMGIp&dldHQ445bFfc1lZmrYHt*i^0jl6v{FMm?Sw<-TXv>G@kk#GPD!W zP)r>^fD>llZ+0R3KMHcj=!Xd^wD3`SCiK<3zmW9e<7(bUui(S=OZV3xfvbR^=`wo85h48rsRKK+nlz%&~H0x0#nw$dP^lL^ZlQT0Scl2 zDhA%yvwg_MAN#>w8F=opGO`QvOPkbb$L_PsSfBT=YxXYGBA)OMeXP(@t7W86o(RW! zg>hR#VNw_+Td{v>rJMfQWrklH>E3v3qjj&9e717z*I2v@BOU)-9M#ba&)R;q`W%y? z$6^2l{AJg00PLXcA9mmWV}$MDbak?{XqpI@D?|)bNs+>Ge39XDMOhl7 zRgeFpH;HTOk>2YwL~M{o$J6fM?OiS|j&hbk6v`&4HjJ65uTCXR9tQ~93T1nM2JEqi zu6}>ra&)8b@w#lsW5M{O@oh=cI(txE;66a>_ttSD|Jta*X+_N&nb*M>>bek zZ2LQ)YY=ECy5uaf(pSL@s>A%z))9RI2-Fvxvcb8fRMMuZ2&sFQi=wE(n;1#+`=_RfXGnR}(5@4Qx;&?dAw>7OC({R@p$@3O1@x z0tg8h5y)~$8R_16AoRG#_00R`H#iyD^e(~mV0j;v_#C~%bTY|;U3>zwjn1&?D_@{> zyidh~mr1ZkSCIO*6?HZ6ChY1pAhir;?&Qn62&fEHs%7#1<~ z#>UJ@L!hj2k%oXp0GBb&f;(!ZjA>jUG!G;{;B zX#fV&h;@h#$aTVZaG)@D5ik_+YfO(pXYYi@sLKgDiM9F}!DkGF5m5;mdMbr+F+jf! zh#W1Eao|sWkXX>u4sFmt(35d$usHGfHJD;3l!){1_~4a_w_B=}ae6Et>gS9yY|IhN zXs8hi$}brBSm=}ks$%4Y*yPUU7`&jDSxw*C?V(0wghg&H3KRt~N<^!`x%WrVa7r-H zIK&?l-a#)>42r5)m1yQdu7=7l4RosD1iesp%&s5E27(XTh@W z>s2^Y<9>3@Zdtk#K+6CQG zaa3{T3@g@-!lz(un z(m2*(j7Z(sUmTmn__@s>8G>WSaDojm{{~eEj)m_mlAXYTt;c}WvosQ!Iyzp_A2=4h z-*D1TF31(l8Bm<*2q-_BoP07+p@{H?Cc^5z%Cd%AY z;0uvG?gCp%XXF#X)bI_{rOGDN1X1mo^RR-<$|x8$i2%tiK(C=leTarj|j$GFL{x9 z27VDml(nLHTdfm`NBa&FLeg$DlhNu(vOve->r*zca4gRbRum_S(cAhzrMX3PHj|sef{bM(oJ+1jLmoQ zGuFL*O)#fvq-$WYtIfR!hYV+u*m7eFw)YBc9w zN|g6tu(n^g6-Yb4dn@(H5vk5^$`iKMBQR};Pxw@2c72Zlw*ulKeN#Gv(~|_u>OBNn zLjY9mG@bAxV5ekrLMm&+ysC@M>>WnS5fr z3Rmx?UA>2KsIBi?)yaK9!2t=shT@9uNx^5dsuLB}@=B70$_gr3|MRYs>HTaQt;M;I z`y`}1ao_N(nU@1{0X)Q1JS~0E^E{9^34|nkAuNyo!|VB<#BJo$^Hu(*w2_^}T;>sK zKpQVwn>Al7zey5bJAT9{ISzrD;z(CLl}VCW&5A?7T9p-?O^`7nJ~i9e3H#Vh1p3cW zEOqvuqsceYwI4Tuev6$I9|Z2RbhfcBA_bQNm?1>AVf1ya_$6Q<4-(S_OcKGQvY6pU71N=T7L(&k+BoBk zVEJK-+Wb6`*&kW`C5olZdL5*a(!pMaK>c0R(JKjdfkm6rOPf=1=JQ^39@-Lb%f0{p zH3DrQ%K9&LsC6CSYyy@w4txP@LHKwHWM*VXnv@HJ7t$iIfU(e$&*^{}VHn?_z+x8j zkPnY3FPO8e*2x;W0}anW@Spx^=@+>#tTW`=&_Qjw>Ek|L{WvJDu6_GE$FBl?`}V^@ zGCNogd{)ecGMjjBh@$&_moG3?qb=zj?SJ?2N;YgO{<>54BgF3Kar-WaI9_9;$10$QY!*L*&{0W}~E zRBe4)8hyBWeZB5^=op7cco%Ha0Ad{8asN=>s$aZvW&>g`R24yo9j~f!Vq~Xeiruft zTc}1AK`?iT1+SQk!nV`8DJpN)`*(>5?AiE6-eXVFMzd}&#WyH0F=W|c!h|p1J8qKW zC@IbAd-&peziA60!4gOw6;oD(3;2x zb^BwFv!k|fEN9!Ty?M*UKcdxA)W(#L$YR~Xb`(%-0e7Y7V8A3)yHcyrU|4WCk_;rd zgt27@1Ocn`K*%u91uu|0BnlUR%RsIOYd{r&buJHBK@6@ohk$)7gVG&7-G@AgpO-KVOBnA6-z%hgvs|tUqAO?nQtdT=zLr$t-3^iuc@&pMhl=7hk zr}ILoOf;DYyYrurbF~j!FeYdt>G+0ot?)iV8NFm|N|`NC(s?Fkv)!Lmqf>E!a!Sa( zX7b{Z6cJiuTY%dAbbJ%(`IRoMvo{M<*c{>nfjAyaO0}>lP)fA)eh{EY+Lq#Xz_?F} zjGilvSg_4Pm6g=!NP) zvrY7t;MgJAXB_kI&V1BbO_ZknWq5U8z3gvu%dr!qXXNHtAXeqJJRgo^bA3syAyd7r z93^>0R*6)}%)zBFi61=q;8K~CL3@5l)8|p^Npod*byM6AWoLD>9W%FmX7%GsBg7hs z6Mc!>*e(au3<9-AsK@-sC>r=O?w6ZSG?u%w=-pwOw(l-(?`hF{$1mBqq}Fo(H7?u4 z|1xp;qr?S8&+~6moTH6hf@-`V&PH+5;C`|8nhS2bg8H()Rk@G%=4|58KU{;<8KU9D zpP?K7PWESG{ma;JHc5%oA7vvS(-C8Ut>Q(ivgQo$-c2Bkq#ry;5Is*!=GO|C0`Vs# z^Xuh5-cOO#CMpK=LwS9{_ky9nB2+1bI_8x+M&Q^cKiG2QW&_L z%o2;%%iD6Pd-!b?eOy2B1;qFxuM=L|_%}HNmT)N&b~<}S>Ehqlu~xZl&Ik9= z?PUc!KR8@H|DB+DDry^RaZ`QzgfOrrUB;?My3mbxx!n}wr+Qh}{`D^ z#r!H9olDtpFDW1v4M~(#hz*6s{~~|>qr@3S&-8Di457)KgWMsB^1i5QurW%|^}LF2 z8YvowspYn29HyV&w_q3vr*ckf;H67Tgt4vn3$@w=Xq_G?OT|f)}Eo3Jb%N3BgS>~Euyuj zvUYP${_ZXg)kS&;X8gdQjVGQ%iJ+ZlrUWTxckX+stKWlliTQYmR6T`eeqfk8|+H;(PehveVY#<8MX@50thW-)DjCSM8PuPfnYw3nqcw z&di0M&VEm4+35Mt)+3 zXbYv6f6Vved5PnkJ8&ERj+L3W!bM-pv{Z$SW;QdmbDv>K(@7+M6Y=42Wbr$Zw8K+M zseqSRmBa+Br*&*cW9y$XD4vWVwX#Yg^|PQ-dFlG^lk-+MM;3~Bcx_rIO$d5ht7>+S zG+sPgD~<|Nl#|Jk1_V^3o}4>YoodDgK1>Q(&DwwVXL;DP8K1fg781Uk_@;L>QD+Vj z{P^8hJX{g|NF~=`;B6cWD+)0$qtljwG z7}s}*AnWDq*!N_5&p>)HoBf>s!<|7;D`H0*gN60Eeb*YEYXfZw%^IC>wcYis>r3_? z%i**U%DGZLYm?vH=lxOIPubHrGviV|)y;uCo41ZL+o!kY*OC!q$WsAy!_0R(?c4f+ zO5d-CkB@@pgZ#~3exv(5aphKLcL}@H1seCU)l~f+J6(=Sx~IY#*CEGkuc_9lN{}+G ztRktj#eDf5l=oVmy?qF6w)E-XXyeW6b%QAMw49>wsi`C0tg(8oe&^3q^%;?rU;V&m zqu?dos%|uKCQtLohUnT33W1{T9snAqnZcMOm;EYk~|WF z2Oge>MD}Ql2Sna}u&WI9c%f`w_j+Bi&ak5Nd3ju4)&~iG#V7jFWCml{=#gp4P>|!8 zk^pdx1ayi%BoV1D(jH2265|}+6i04a&%nJxVf5FrY^JJLH^G9QCAnuj3@FE#jg?2fQeub>4M$uT+~Y6d>777g zGK7dxgb=J$#9))WTJ00D+^Q?NI&CE9SsJvq@yW(+y9E{DhkNl~_G#S=-NPD>jm7hI z!L3KFSu?oa*ct?0G3ux=44lF74~qgGE!+6dEh+_i4-O^j|9aUgU$@`I+WYK~wPi ztjU@i+SH3(HnV|Gd&p_}@IFb-a~dz_5BomDZqB1~oFF=@ye9hZma-b1+-zMYjjOEJ55keXmy_pxX@0v?O&ezdOY3N(JQat zgTJ2JhdH@4zUgNKMK6j43iUqzG0T=?7Z#KsX2M%(A4OYoLVsAh=kI#oO*BdyA`&js z>ghj3m7ct;O-h65;XYYu(-Rsgy0q+!3i!w zgS$g;5AM1wwr`XBzq+?xy}MJ>J+;$4)7^9CoayfGd_A7Rv|9U+dlc5+wV85Y4sZ5U zC3UxOZE?QG0LS-XIY*T;7gQWLg(RvbV#zZz}`gSnR=Zl#CpT{pqib%EHepUs-JPCQ>AUq8MfSF4Km0WW1P z$t)_xR7ep0ymj;BRMGlKqxQ4GaB4w73+mkP^yvE6a}7iq8{ApI`{;Ck#(*J#cUjdP zF51(pmysW6s+&~#;h3;{+A+IZT;mpxh#r4BmM>@y_aS1TC^-%32yjG(>~?^0%B$oN zkbPoI{}=EoD?>5=$}M7Cn5p}hB|hM2zB?|aS}vhcC-mxTm4+;TZpwFo1mqc{8Gh7* znM-o+QFr=c$w{jKMtZ9AG!P}OSTRP355ifjb-+^FR(uZ-_&Pw92Az(U>7znCPE|1pLKIYT8dN%r?a$LD0HJcPz^|@3 z$jC^@sgJYR*T3(`F1Z&6?_jgf0zhK7!1ZDska2Ubjo5a|dloRuKau~E=O;m9T zep}$TC!mvSdWCbzx)^%EUV>O%`lSTds3*PH)zqa5V(4;!LzdQzEWxshUIH(fI_A3t z7b76@C=s11FRlN*mz*|44z)-kKr*~5&#Nz~kQjGv3jh&>g?u?M*T8%J;|<_}OoXBIjfi!|EkN{T zN0jOrE@Cb^Fc+|16yL^2A!RItdK-9;4iE`nN?cOBKj}m(a7Zc|O4!vnF#VO^X`ljN zIUtReqD<~_0cfMT69A%d!lW~;41d7msw1{8qTGOCIj_$W)DdY{)&8aZ#>Rhh3#dY8 zWdab8zlbW;Q4t8ImQi5Xj4{IHh@*tKHoYbUM0tf#DiY zqYq#_qi6U^_lF%dVS0@_lrj#;OjbF_H!q=ld@h&Nk20`N;bdu;pwT1dm{qoY(Gd0N zn!^ZaG(m-`Bu^%v&oEPU2$L)JCJG>NlkBJb4SJr;eFX3Tc;LK#piSFUazfUu7Svr2 zWOC~UP;`i{FN|qE10Vwg^y5ltvo^HF;|}mpfPac{Py&J|+}9}95Y$D;1Om(TD6}8Q z95Lo_;)p`m7sbaJdNieilpdc)$>B0wHC!xTLmc3Ms$Jl`#^_y5Q1^)r?mVaCQ65GL zMc)YG<-D0UjgQB}jTYY{^xuK*$#<{*)#@C0s-p8Mj9eAcz*6ZQb=UAe$!69pL5_ zMjrP)#4EQQ3rYa13EF8oI&IqHD8_i)hEI-E-FZGz^lOK9STSi08 zCPaBRE`_yZ4-i2^&GlNmSDL2yWwE(r|1K&bM%b1M1K>jz5D$u?-Dq_`3#{M`$O#r# z;oip(8^?pRAzfX)<%*(a!^e30+{l8ei#2bzL;V`tgaVKgY<}}aqdjd8TZ1CN;vikP zUA7C*E0Y8W=tnwJ4S9C?U=WD5Ngj|L+^NjHf%j_+uOCqz;cn%>{V4pW&o#yIr1l-= z7nq1z3ZbFqcnu{LGUEQ?JolhC`tmGa6Q4T`6(EEY&>vq+0G7_B_#YQz{LjS-t1chH z1wp_v1VO_asJcINdXx#Sx%mRY&4kv@WRB*gmYG#Fyy*&V&?Y=Q-0uF-@#wO4OP^_& z!j|=Q?*k*;&89tM@-HJ01vmClE&G9V8WUr|>qQjSTG*XewGiBo=2dl6J=)W1SDWB+ z&D5g&w`jiPp+a)$*ZR>yj}X@sR>)4i!x&q2^41#GdpnO>yoTk>y5Zerks`;igkBBfh57qLa+$1x{;O@iE?L^E19LcgPd( z{o0GoK=%4YO}I_x6w4mM>^I*V3wQf4WVRM1&-a=h_&6;#s01WXNxG8 zi`Tzy*X#RF>mMCG?Ibvw?8qA*5hm--Vev0`oauRyFniG_+!)lN$C&9Iv3l1m9v-1O zshJt8@J>9~Q6|f2uSNe~Bz3Dvp~*85Z$6P03Zf}4cCottjoM&GJUfu5Se9C~;o>sAn=Zn~zFVPsvSr7+e3J?JLH zh`gHY3rAb;4&UlN48%j+@P|h#_uJ9 zPE&z2mA=v@$ILl=7nDTl^!@YHlHn8@`Cvw;`C)ExY+n_JC13rQScsWx)gZ3fmyJq{ z6v<0{5%D7sv>yG;Qh8!vLbiy?MrYw|RmIVb*>}Fu!;ecV#fdihzkOc?JH(U_aCsST zcKC^RtQ(GD%lP@{wXI0v6P(iEs@p>Py}T=uXsT?;g&}J6HnzJ%wky6l7E8W=DbJKv zylXFZx1)0xgA-I1toSqXKwrEGk891WZ7GXvO~Zf&^Igx$sr6aUw*~I%b+<+9SM5c= zhrDLndWjp}EX|UG93i{6-={o)NB_hTifrN;05lptKQLob=|AriuZ+`@rOeCTnpGQi z-1RW!2KJLCOiu~39~k#xqgH<6H|P!9@bFzL6M~3U@4{x5&wodRMaG}2@vokuxwQ)P z7QET=Af|5v)#K! zk;1y8B#D@Y#-93JEUsyRbo%N16gKzS!Q0(^ zP460CCuH5a28z+}yq{X=TRP_FY&|U)9$#q0H7R_`C=$f&$c3vy%Ke$)_mjyd=@-FRz*hnm1E_}$6Zyh{a#Kc$Vfze=l6_BT7+gm3q`Zk|9B*cV*KK8q;0llG!U9ucZGv%}0Y4@S5=V&~W zT}QN1?0v=BmIjGG1kQyY$`WT)R+QXJR=r=KeOaKe^rr12@ovRhcljIx4V6Z*nn{b# zqN(ti$|&6~R2axBTJ_Ezfl~Ffz7q+{E>;D4eXGv8K=9=KqmA+2!b)wN<@u~8xQ%L1 zIc0PGCN5b#9wrpgHE;Bs>qF%#v`Kgia^T3cHFNZ7q;EC;1*O>W@|b{1^?uTgM|M}8 zTECs`Wdp=`9z4aSEmf_rjaSbzx))EnX?rF>ouH6ntiI$qp}FF|w)J_ZKYg>akME87 zsR@tRR4SSG^LX3h+MlOZ2A9)VyRP6RUayz6?HV~CR1*ynPFMN>cDsRQ2Zx>d~IaHU5E>h@cv7J2Z!>@${~?d$VC zB;F7c>S(yMI=8pH#?}i=c}@OyK1aLdZlUunRo5<6m(swxO4+J=M-nEWfYn|L2zVPw z&rAB1#hUvQw$K-P$v@$w&1+{>|8Ynjzxiz{^N^sn(*Djf@BptBhF8cYmMF%8B~AZ6 zE`K0e%DAR_|CzwD`$Uns+L~{?g3I$RBOucy82hdPVuI>KAWx_zi!)l)Y%`hZzO~a? z9aqM2&^P51VY@b5t|7lpCzQW~`?}#ry*;vxeb-ihnv2Ud<;lsX(dH~_mU$UGW$y(p zLeqIDLM~KzMMt0Ul)o#p1ghp#B(*4$=qk zGBi@_mG#8Q+a&jSA?dF>MQI(9S*mP{C}%sQs)`Ew6Z|t6U<)SdK!W_AHYdMjgr66l zX^Os`BDPO*{4v5@kjkNZEFvSMSW1)jN`>np@wzr>$Ab87V6lna1Ft)7$xJt5Ct%nC zcg2DMC!%o|Jfdah8k)eJlInSW_w=p&5e3<>rzXZV)4=G`6=muEeFk@`=AvCjEki=& z@2?pnlS2AiO=kK#D9xYj)74qJ2iF}nm_uu}gI9(OZH#Y0Eu-Y7EmKA3&X?Ks_U}x2cL=LJ z=x9V#1Mm^>qD-wQelxTv*{G1Iy|xCNYef(luc*f%#;KyAJ<6vHHfVn>n+1;(hE|ux zqQStQ$5PpW9oe)ys<`g2U(f1dLGL^w?>Jgv96M}OU@4jo*sGqniGCMQzMtj9!-VYQ zJzAok5ObZUcmeE_Mf&|Hx{1qNu&g66H0^}f?%f*GRx4@4$jilo1!rwV%pFyEl6Dyn zMV%)K%{WkoESmC6a3jT7(X6^B;Yst|e(3>K9gM0_gj$m;NyFi*=!?=Og zqJEsao;uC|Io#`rS7T8Vjo=m?U{5KI{j2zR7>x0%>^36{-{MH(k`9XDwetr~kvb-= zmgaP3<{BRrnot0PnlT!!Bjmux`3j@UbtrkH}dbG*ls}aNPtHjl5NJimMGBO zMb03zsPNSE&rdT6YGsLFWv)fu3Q)M<0&hjEMy)%?K|4{eHWlll=oG_E8R)eue#lH; z@J^g^)h0anfG#8px~?X#XY6r zep+wKK*r&i;GlEJ*c2nCpu?NwA3Ro5v#YeuB$n6D9KTU_cz#HCi)LyE(Stn}XZGEv z58XVJvJD@b#4MPI74sHb*}X{%detzmFtW?WQ<)P??-Wi!wPaJ*>pT7|p zTFtr2RQo=%SHg_Ls(tO2c|Bj&G6MfXZ}ydulH5xv#9IbkRD(jKEg7K#Y)L5)Thkfa zrKW8>NdyQ^ED2WPneOs>==1eS3R-r2V1;#=3T$-Yi@DJAe0SW2wNspIf&** z{y~l01b9*Zno=SIWF`=aA1}*y{@pxI>Su`3d8MD`vRb~Poro3ujZ7Tdx$mDzbs;Ud zql|}|=)fVZbRo~!Vtc4gDxr}w-=&}n!$020)Afm!B9S%hogeseLkb(g2iDt~nJV*F z#%h<{G49jWmqY8HM#6;i^qqz>+a8=-=-*IDKGs!X3RT+4%0OyrPj%6YQig&{)jX>d zuY?iQL2}HaceyUfm+vvZlWgf!pBc2i`7dXvTLg;^&~v*wMd2Z|D6M1`zI3Ej+RLOg zrT(cpl%-(ul6BaMX%(Vr4gFI}9I-5d@aCGK!;sWzTE(9iwtwr&KmIK(wWU5&gnP1% zfWlHYsF3b&0Orj|`O1%xkrY0gg(@wl8iEKWY*5?!f)BZsWtFQbMfb^3iFd{so1VXD9+(UnMyy$w^SMiLfL%Cjomhh)CF_>&W>(xW9;5> zlv#{UgE>V0QeESCz}OkDZl=)&^AO*d9drJbhORdaL~%MPMe*uyq4XK{3ry4R4-W&> zXrzQw4M=E2ckt=h7F`d<55dh0DZd7Lz50KTN76a=K60+Hb zH+Pq#_1Ux*TsKI1f`6aB+k78QvDA7Fp=NVVE-NyG_~}>+3wZF@@wa$xV(WQ78-_7m zh3|G2fSxXvZSI*Ak$+mupV&e=+?uslz_Er;k8`zqjV!Dwhh-h5`P-pep0&D>U9Wpm zGe-xzQ1WEk^1;W@!#cM)uwaa$zMnjVwdT6ifsxdK`F{5I#8g+$2L!R}_7@+s&7Ymt zX&jq7J69}8he``o(x2^GteNy$4jAx}WbrC9vr}H>`qqc{iyzMJmhX*o4Yl)L_je1+ zRO_g*8FXl^Df=;}mfvW-H;3QUYL93>XzL(*AD90rjlpjy|HuDY4%zlwdmM~fd#uP5 zTEf~n{Op%yHaK`tD^Maj!=rAkZ%Yxal6aHKGlSv@UE3*6gYw3Qv1!y73^5EDwZ12g zOv@dVQn-qVpsViz0RBc|W+rTA#xBOJW+um<-pA|961EH5d1qn7U0!iI3IxQ`n`L>4 z)^rikBP(X{#mRr%@?uI6a;u_Ot^o|1hW8^=Rd2mE>&2(i{uQS5stSNH|0@WalmLS^ z0jQ(u>P@zGq6{TVz~|q;EcvuD4HZ1rb3I)49xKuKz$WB>(B(z)XISg^@?8M$Qiee# ztjlPEYg88|o4IuB2%9^7Sg~p7({;AJ{&jO<><*{DhAhHW;JlCi*YH)i9=!6={my?M zUIOobI=$;SfY-n;slYGpPPqjS@2_o^UP0S$O(0uW&6lr}rbnKGyQ7Q(f2d|mMHvfJ zpmviH#ysy94yk?YNl)q@&mqeae(KerN86>M-bIrgugn4IJ8N|@pA5Z}W)K{cQ>+cO zzvPTew=NQU*gjN&E=3u3EPq^9NMhu+Phk(KwX53%CPqdr4Fn}c{bH&)zh2#34My{Z z*g=>trku;hv-y2ZF71r}xbSq49qH=o5NG*rcg>13zeCshtf%6*zDAbSp23>k;^4Z{ zcBXqg5Cfd9QL$AwVaz1~I>ywPUatp46@BxKI{5Tn*8MHEu6|2`fnnR9-|CNBM}w(j zB94axWhYU3dTrW%{tpABh_*;wmo5Y4|pY5O)oGkg><6%RcOjtE){DiqTXXX36PQ6`K5dp5KcGM#@b<-J|vKjd4 z1NJFv??$Oy?xI>$uis|m{I9By(&1B^gSxrrhN-o=Yi?x@1=Pq`mg zwK77>9t~3)`!jsIPlxA3tqVpUp|8efaCzCrwOZRQz7wXyoYb>+-oi*_!_Hx(Dt@h7 zm&v)`2Ux4r9c3tejwW^Ri>xs!EHNT-_us-u`Ykk z{bpjuyhZ)d3UtI>%d(WYQkN>u%`zk1E1k+8=dp_KNBD zCkv~qtnIZecH+nHOcm=tfHnLGyB0VWgAfw%ifiUTF&W`9==tMEbE zNZsKX34$d`Wkj5-`i*s=(%81;WBl3`CmK|2Tj9W1FS>A7p9#DjUK4&tw*J(a1ZuD* zbbVt9rvdIEcJvv4RAdgryS2l|I>t)VHVF6Ha?~2!?pmo`_)015oj&SP^O#T68qx+! z?A;q+B1Ta%oiWCDrv}yjNYju^0-7(7$jc}kVJo1hhB$aiwY`7~jVa(EQ{|LM1~=^d zb#A@uWSR~IUx@SEUT8psqJ9K$NIVIdiv*~16-bA%^WGXYkziz3p21w|y#0HyJ~}D- zM!Tji3GN2HI$wwwEC=8FF#a4L)?(HN7wu{B6A_39rP=x)^2y@u}-F-(Edw zw%EA4?-I!{hs>mpl7NC7PRJ|JrOfiF2RVk{VoX$*D)L1Z#%&|re&2jglf+CnIfA1E zvqG@~jtQHZssIuPjX%+Y6_&-&u7xhe!LP+0)X!U*33;RNbz9qXx`1OpCZi;!-pHEz z&aA2X*brEQM*RWj$G%%x28#aACbtkUp2@(pI4&>Y@6%rb_8mv)kBJ6 zIVAXS;|%yB2L5#JOui$v-b%?zu>i{9Ws?&mXRgKUiP2E#a zc1Zq~w`>Jl!~ohnyj(kxLvq(--^|B^r|WjEa;5e*vMLvI4b!k(4{eie zZJ_0~U}TN~s>POr#918&9r|uw^@BvffK;#VL?ki2Ii~9c9^FgY3BdNt&Ch?rB)tiY zSBHq`(kfeHvI1cI{P;na6PNLY9+SFsY2gv$2*Ex6E4)QF{+H3_#t=pvm0j%DC?qn5 zwcnT)C&J{5M%e=#aN=}>fr)B14xU@fk1JJGsR|^CBjtvO6EW!}h-YZU&SjOa^!L5; zR*L4N>3rzPCYX|dB_7z?s#5w@!%q(v;XO{rP48<%sIq(uurcw{EwvToYX$>JQv}#b zlqg1UP`cciw}a?t5wUBE1*Fnd8jei4y0FkMq(%r~-&WLP9<--hs@ELQft830TGe zi|;2T>>W5S{NxtC8cyVFtucF4cP;9#Va)Uw0jXEic;$mD2e{oUuQl@19f>p8yggF)L!O1kBJr!L`6;5hKs%;L?;p zy(M^CXk+Gu1m%gg?9p=DN@UJuEwa+Np(dqzgP=&j?PrCJSQzNS|Ft!a*yvNP2)q&M zRCFy}7&zTb6G%Dzkv7C3MOF_){VrX}?u*H>y>)F!^TJ%tz8g0ok)fJNlvSDW1F0Ym zR?EHv8o~Dh`kL%X%E3DO7wcrihlPMddCqs!QuRv`#nVdCtd$K*owt*mmEQv|YQY~I zt$CHc!iE>4e;vT)}33xcxrkdVA`(cOFAO`Pne1LM=%d@2s|RHZh`s9ik-vp>&=x}=c$g?9JmB`7fM zbXOE%)D?>&}itO&!A8Ocwa$;@NrKRCEJT=&hg#(ZIy!YzJk9!J6~@3 z(&-~!oRlR2o9bcl7&Sybd*3ZGWj7yRfu{QydZ9F;6AT+_&N}q^Bi5cu+Zag-j3>%P zsQ5)Vw;p=ye$H?lC;qf;-pQLQ4vk}iG`5O?k;cqr3%P*;A**_~5-U`vXa} zbn8R8iNaXW+n^exYY<|CD^I}P?A$?8rG61tSKV!fSeI}E$Pi}WZLx!Cf5D0rV+@1R zt~W*gRC+M1)V}PaR#Tu<`4gtdF5D@0%5-!CBWZ}fN7tN)whe_QbCztRH$ zb%BhC!~b{rtN)q%|JU*O@7!yMMYR4$H$?UQv*&+Lq9C>sM7(1S00;q;JT=r5DYYO@ zHYQ+uQ%g!Eh#A7A{W4rZ!-w7yk#| CKs<{8 literal 27023 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 diff --git a/src/config/app.php.example b/src/config/app.php.example index 2659267..9feba8d 100644 --- a/src/config/app.php.example +++ b/src/config/app.php.example @@ -78,6 +78,8 @@ define('MAGNET_DEFAULT_PUBLIC', false); define('MAGNET_DEFAULT_COMMENTS', true); define('MAGNET_DEFAULT_SENSITIVE', false); +define('MAGNET_EDITOR_LOCK_TIMEOUT', 60*60); + define('MAGNET_META_TITLE_MIN_LENGTH', 10); define('MAGNET_META_DESCRIPTION_MIN_LENGTH', 0); diff --git a/src/library/database.php b/src/library/database.php index c78a74d..1658d36 100644 --- a/src/library/database.php +++ b/src/library/database.php @@ -839,7 +839,6 @@ class Database { return $this->_db->lastInsertId(); } - public function deleteMagnetToExactSourceByMagnetId(int $magnetId) : int { $this->_debug->query->delete->total++; @@ -938,6 +937,29 @@ class Database { return $this->addMagnetToKeywordTopic($magnetId, $keywordTopicId); } + // Magnet lock + public function addMagnetLock(int $magnetId, int $userId, int $timeAdded) : int { + + $this->_debug->query->insert->total++; + + $query = $this->_db->prepare('INSERT INTO `magnetLock` SET `magnetId` = ?, `userId` = ?, `timeAdded` = ?'); + + $query->execute([$magnetId, $userId, $timeAdded]); + + return $this->_db->lastInsertId(); + } + + public function findLastMagnetLock(int $magnetId) { + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT * FROM `magnetLock` WHERE `magnetId` = ? ORDER BY `magnetLockId` DESC LIMIT 1'); + + $query->execute([$magnetId]); + + return $query->fetch(); + } + // Magnet comment public function getMagnetCommentsTotal(int $magnetId) : int { diff --git a/src/public/edit.php b/src/public/edit.php index 947e736..e142c6e 100644 --- a/src/public/edit.php +++ b/src/public/edit.php @@ -155,6 +155,20 @@ else if (!($user->address == $db->getUser($magnet->userId)->address || in_array( // Process form else { + // Validate magnet lock + if ($lastMagnetLock = $db->findLastMagnetLock($magnet->magnetId)) + { + if ($lastMagnetLock->userId != $user->userId && + $lastMagnetLock->timeAdded > time() - MAGNET_EDITOR_LOCK_TIMEOUT) + { + $response->success = false; + $response->message = _('This form have opened by owner or moderator, to prevent overwriting, try attempt later!'); + } + } + + // Lock form for moderators + $db->addMagnetLock($magnet->magnetId, $user->userId, time()); + // Update form if (!empty($_POST)) {