From 320513d789f192be2ec5dde567215e02501f5695 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 25 Sep 2022 21:39:25 +0200 Subject: [PATCH 01/34] FIX Download cheque receipt pdf --- htdocs/core/lib/files.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 0ad7f6d6eb6..3be3c4c24f7 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -2970,7 +2970,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $accessallowed = 1; } $original_file = $conf->resource->dir_output.'/'.$original_file; - } elseif ($modulepart == 'remisecheque' && !empty($conf->bank->dir_output)) { + } elseif (($modulepart == 'remisecheque' || $modulepart == 'chequereceipt') && !empty($conf->bank->dir_output)) { // Wrapping pour les remises de cheques if ($fuser->rights->banque->{$lire} || preg_match('/^specimen/i', $original_file)) { $accessallowed = 1; From 277b81ce1bce0c3e0a30d27e0ca6ae3dfc64e0f4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 25 Sep 2022 22:08:06 +0200 Subject: [PATCH 02/34] Fix loop --- htdocs/core/class/html.formfile.class.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 675300169e4..80cd8bb79e2 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -1782,6 +1782,8 @@ class FormFile $result = 0; if (is_object($object_instance)) { + $object_instance->id = 0; + $object_instance->ref = ''; if ($id) { $result = $object_instance->fetch($id); } else { From e936231ccbbef444c0568c62cffd47ed632e058b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 26 Sep 2022 10:19:24 +0200 Subject: [PATCH 03/34] Trans --- htdocs/compta/facture/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 0fe82b9e7f1..072aa9e67b2 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -4453,7 +4453,7 @@ if ($action == 'create') { if ($result > 0) { print ' '; $s = $langs->trans("CreditNoteConvertedIntoDiscount", '{s1}', '{s2}'); - $s = str_replace('{s1}', $object->getLibType(1), $s); + $s = str_replace('{s1}', $object->getLibType(0), $s); $s = str_replace('{s2}', $discount->getNomUrl(1, 'discount'), $s); print $s; print '
'; From 9e03e11126b08e5e93532caf15c36d4e788b9080 Mon Sep 17 00:00:00 2001 From: Quatadah Nasdami Date: Mon, 26 Sep 2022 13:53:09 +0200 Subject: [PATCH 04/34] fix template03 css --- .../websites/website_template-style03.zip | Bin 238659 -> 252425 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/htdocs/install/doctemplates/websites/website_template-style03.zip b/htdocs/install/doctemplates/websites/website_template-style03.zip index f2a7684cc4eff492973fb7e24b889569e60a69ef..18266bd18d9ac7bf5d1062b699114f89069a0a9c 100644 GIT binary patch delta 38265 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 Hva$aFpZi6x delta 24595 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 Date: Mon, 26 Sep 2022 13:59:51 +0200 Subject: [PATCH 05/34] fix css in template02 --- .../websites/website_template-style02.zip | Bin 0 -> 424703 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 htdocs/install/doctemplates/websites/website_template-style02.zip diff --git a/htdocs/install/doctemplates/websites/website_template-style02.zip b/htdocs/install/doctemplates/websites/website_template-style02.zip new file mode 100644 index 0000000000000000000000000000000000000000..4a5a0a7eacbe342ecbc518b1a4e1d231d258a136 GIT binary patch literal 424703 zcmagEb8uzd7Ve#NY}?k3ZKsoTY}>Zkv2As1+qOEkZChX7^WIx^&-v%uRcr3K=6Y(Z z`HcCiy=$zwFC{WZ|H5va_PIGqbzU{IJ<$L;h+9zQikPv$g_>vodvU zUwbAIN3mrOv8of#e1w0}|BGy0A19Jju=|Ye{l_!PvkoUdp2SyFW)1|N0|iGdZ!~Sk z?vTCzp~gE?3b|xy=WP?=DCPQP@2FE%ktgAgS#6a)`C`#q-2&- zzTSe5fyj`{fT(goueF>R(~G0~7!JIWm-osNvWB}zu+hPDj=Q~$hMXjX%%TWwW~viS@beX`wu@L_z?C)gS(uCrUYqkCX_(tWlvFx2N2n?0IQy^5o&= z=yUsaU$OeuHS@er-|~t^&{rbu4+#DnY8jZtFkuoVWV&2l8QL`Sz@hHaHYD}3>K!#w zTsU;hU{}a$dBda60(Qqfv^XUtlnJ5(@?Sk$e>6H1I~Qk%gaUzYG@+To0h%5%QJYC03XUC zp;cph0fJTMx4Nb165?&y&{!qsOr@yxCz(xNd20JcuP40WquRV$hXp_`ypb*5&lw2i zC0I>I;$-l7N9xrYuIO#yDkJ@(xIG{-9@rNr<7eLdxj-1@R0d=Jbf+I4(_W|PDIj`` zijjd;_fQ)8bCw(tMt@t1wLnF?XeuJflfg8x(Bw{Fk|~GwibJE!rNHF1P{Fh8*KLSF zS+?Bas(0cU(hy55F2?dbyt%SG1lb1m474;4vb;SDKBBZ> zFlZbcJa_J}Bym%mhv-u8H==$XfXY|*nYNCy7B$Wsan^L!WEi$P{8q1zmDmF#%p6Ald%2l2n7nv%U`8 zn%jMtVgEBrJFGXD|6Fh}`FgwQtM~QxHk6pf0{Qbb8CZ_v-s`69=fHsf{O5n+atnZ{-|a>BO1P*_#K^3P-owQ zK@{hZi%@5JfmbE^8EK1fA^)cz5}G+1`b;h@$-@pAR6rmPN>9L#s=wp+zz8BL)?UKL zgqUS3Bp3MaRB?Ie0k{H4#ov$NEkPV`7D6*4GvtTmm^(R_lV*O6$1YRy^t9>5w$i2` zKd z0Rp4L%uf%B^%D~k%sHtqA#Xz`Iy;*$*qOUntIG9}V(|$A1h8Wqr!M|4>Y#u)b5P8Z zRt_K*fPkB#hib!VsSuWU&)?#->0QRZh~Dtb5>g`e=-$_icT!+;N}*Zzza%F}w`9q} z6rk?2hhQbZt#FyC)Cb52f5>~y>oE@yg>63p{tg-J3#>_?6v6#K8ID(8N>JDc*J6xQ zIV1k8Qr<^z<5pdLB`XNe6*EZ&>B8B|A@c%=Go@kq#zQfd35U$Y#6atM*xq_uQ!45=(QwnYwjC&$V7sP9|c3KkKh8CTR#5wwXY<(ZeA`G=s3~A&-!$ zpLsShd{-wqSmhIG31Vr?7M&E*Wvm<%vS<<;*d%;Na=QBzy7n4KFW$WjMr@Obi?#Qp z-nYTh580b73FlU{vBYVL-kH5POiCERkPz7>mQ}UqG1xhxlzK>e3aZTPuB96op%r0m zb#YPR{Jj)qtC31scO!z=tLa6RD~HV$p;^_K>o{MzJGO79pZ$>&RW&L%<^20M)ZZO8 zr+85&v$3_ll_);1om#}0lzaa_cyfDCT(EG8=-@rguybwZmwM>>3VxyM^5Q5cYr*Dj z5MK8@8fcud+s%U0)=a5PR$ldU~2pfy!m>VoOgy#h>-$X?neLiY-G&Cuza98ukzyU;sAM1csTTmMIzPCSGVD z(#MN1M_OGpqHA{l8##ucl;HpidD1&jHuf@hNSHQ^1>z0S$@b8N7lFZ z-8og);_`0g4Ct*mhQj-Ke1Z1e$;Td;|NfO;xA0(LFjKEe;|Iy^D~bob+c`8I2vYH2 z>fmA8aPDR#*IAW^pNn6BG6I7_Q%D{_^3up%C^>3D@XNQ5du@0-h2nhNJEj(GETEjK za)Kt}^N6HUTcY060xVd`MiEW-6jJ);A#au)Ua#-7Ge`_iN)W1jI z3cJQPeJiyL!5lMt8Eav6v0{9EC|W%Stg+pzhldEF7_?UJCR>PIYdl2{78%BEEYz} zp9>zE!W;BD_M}{m(Y1~+K4NQxyRMN{N{*3K2QtDW(mtaq>%a-Ts{=c5A5dPfo>d_?4e%y3By;`xs`I_8x+*u(*d+p;$q~4 z@#b{tH64gmi`okh6aMK&l?%ofT^|B{P47=1{XU_sJ>PY}JOq0E8kxz^Bq$8NC8R2^ zwfBS1ZkNB&F`J713}R=k5W!9^K@1s@Na%`D76!d4mzc1&a<`c3P@z~VB9brD6PbC* zu#$9ZOM>6w{b}^npSd8_CsHYMxUPz=`1dAk_q=)ZDCB7sx8?A46Cae~T|rhPC!Wwy zAx`QCUo%PuS03iz;gy80WA%;z)td&h=Un?Ay61M)bzb;H!f<;pW*LyDQbn^G+F@PH z%@$4>xlf#$^@|+i7siu;irEuZ$!`VLXwq!c$hTo8Oe81dsR_JHbqH}$P2 z1#h>$e)kXU?7VYL&xA9L{4hNu{N-BY#IzH_12<8{xlzCSX5rH+Z;GS*w@PzqaB8<{ zCxUN3tzD8D`i{mwg1tgHQ2^rE&JW2rwonXHR--LqsJ91!D(r!~YL`ND+1I#FLRpp< zXn6gC+wU;riKf}>3*^5`fu6^Q>P|QyAWbqLAoTw(1za8U?d*&l{wV`GHLM-ihLAo1 zAK@?|hJK21i3w>k)F}=RLapgz@nVU44bkJAKYk)1g$mpGkv84Ud%MK(cS~cOT-s4a4_{5u4?gHt52~Zm+@y}OD6atJ=h4el4;(C1y7@YL z_&mDu3)9-&p+hhtpjSzY=1NK}LJs3>kgCKiz$QK0X}M z*nb!(SKVEK+MByuE5|VvFY=)wbSp~`fU;%Kl1%8IrG#46FhjO`3rfzd5&jX50v9us z7QZ7ofT^%Uhdv;Bye}|!e}B5)|8{e5aesJv>aq<7l2xjYI~hEqut~+-BU`NBTplkF zBJTj<>v{hJyV@AMS~v%(6+PESN*w8J?A!%oc6;FG?#A=utA)dv=X+nk*#ZCK*M6^{ z_St}viMylDM-!_$nR{Y&I?4r3Iw~1w=8MbOi2pG-SK1T81yI2Wpe+I!OZLUcG8fO| z@;od$axSRA@O(%*%YM9wLqm*q?M1ZEwO<-lkUe44hMl>n6*fk?6_uSONY=Ms$rk;r z9hf#3lLYR_aiCCb1S05{hz+_qV?@5d^ZDH-KHL@>wB%h7GOa%dPN7BGAKns?0gTlrlcx-Mgi) z{L4{HKkOkw+lBIRWg^R_tAIgK*1SUaz*AU5;a4PO;_YDebJtUF)#xE2uw0Qr+RtkO z2nRU;66Gb^nH3nVn))QddDatj05jg_d2eptn|rDWS5hsu&Q?c}FHZ$=012}+A$`P; z9I20nue5iX^V-RL*pZ*yen>W}*`b)I(u@IMfg%1nMNI1U&w$#OkQ4ks=4#Z6 zd^D*@ONuFr16E#$m8=riMAL!A16^U&$Oz!9BnuTs?iIv29DrL~EuP5&8@&AD}M*a(k^|5b?SGcUR<`Xy1a59f>Z z9N~ra70vIlp)ZnB<{ge+t(kX-{03+hFp3-#6!&|};d*G8IyzE$RhG1vC?FLKqna^- zI^bbLr|1i}Slqc@H|cCwn>JeK_wse}feL5gcn2B@hCQ1HxZ%Eo9Sw>0DXygH+h7&vxGFAAQ2@@9VhfHiGs96o@X zgTSa$$z)hDvnQC^<-mb4f5f@~&z3N4?MXk#I>noE@c}h^of>W)hwxvL2y13;3iC0! z^D81SMGK|TaMeimIFnx`-wMA%AFPW!xpU!>IDBN<6^`Bj6TLsB zH-mHFxT0Sv$&f~fhp6W(EFPg&CG#mG9o&G>zyoWFFh8A0hgpH9(+06XDi*cwDxJ}# zm&3n?93TQ-x#FmQA^j>^SIqeJ;mUNZw#1>X-mNC{IK!u$SW#QWyN7MNUg4oJx|CY5 zfR>g8Lcw@|2L+m{wc^Pel;HpcI@&Qqbf>0dHjyGtch|RlaTb0&7`??Qk<+0@?z(Au z>oTDZq_Iix;l=sMLDb@8gqt?@$$_|abyuX;ot?nORNN}j9FWiPcqT1MNVa+6<{;!E zFC_~CgawRqF=xJx(gIRwUID)U!;?gNA$z>i@5d?zttQ~}f{^@$sR<%3StP}Wldr#9 z-v(*e$SrO#s`4IzAP+!q)ZxcYC5*7{#O}PEbksf9aEJ01Z^9)ePG^mlkrB688ZkhD z+G!jne)6)W8n5`(p42o^l9DI+la7HVK>9gL9cgd}wE;tIl+s6vKG0i!;ab2?-gLW0 z56G-&q=5aNop*^r!1jy+n+DjQtYzzxH>5r6Q`8U`6PC#vi@82DFv5Z!Hq9o@}~ z_JC4U5u(kBlu5Zxz4%_HCjz5SkSFe=O8j`*LM&Y0tQ2^lk}+F&_c*IsdG1pP5nG&rInuYr>m8=;8+Y^v9O=XM>R&0?25M?LYm4 zcoz70B(%Q?eo_156LrMd^)O~COk71Y_ME|K0fdpqrhyX4&+pHJY&>S;8c*5kf0jc{ zE2jAI^UgjnF*j3{dH8g8|1y9q>QC5utXL}#mlUh+1eQT5o%2MCv9mSQ+z}M8qP1q#k<`%GA}On7&;09lX!O$7!58J-wOQfT z9u6%i)Xt10FN-F^Sg&^kx5@>cZG2n#1h_e%32z^i1W?D=+IT$V#YO~`KD@0)yP?=( zJGY`4Zpm4nK5aaEynN(wJ`T>!B@D(e?H?|8*@K-koBwKv#A!q{wKm-9swytIfOd-#QrG5?M@B-e6;{o%i~-@Sc4gFErQJ zu9sGiad6Le5B>$#P9B=~@20~hycPq6Nz-@DKQ&SAhlN#!h+|!C#iB{=-vC6B-kI!wAit>~>PXyS@pfPxPVucZOgL6dW8iPue5#u4t$ zYQlP=RW8H#P0?UobFF^WvCLl7IObk-aslC@c)!^>$}=_B0Z+e_+9*eFuaPEJi}QI! zwgu-ays(;HHns^(Hb!udC!PIqJ%-ULAAOqE4Yu{4TYYE3wK=(N#Rr+r+Z}v~ z&{N5nCC_-H5p5#V!xQNY?`_*Q$$^2MA~x8CIq3Sa?9#Z+LV2N@DaD8fHP7w@(d4*8 z*X&!|^t8v(`o!v(zaZ8Q5LD6LPk`{3BD8p>f~(h1&ol>1LH5uq{`fMw0eTDMmF=9guQ^?min>HZvRw<}vhyo9{|zoz zhf;=o!`;Gb`Y~pG^frM~F2zv%zcPm4_f(fUrHNfu$oXV;`5m30bWmi{sMYInx9}C2 z){l!g=MUK*zn#jGTIXL<3vol8E3_j(Uxm8S4PUcyh^q9JNFUb@Nc3%VjG$Zu#~rd{ zFx;~h#O_|y(mSu<78|Yms4Q9mlGb$lQez7oJsag3xd*_@A636F+vQahr4KF`eW8VK zKHopoc>0IWT?aDiQEooY2z-G`rR|0n#L-*Dgd$7ei^i7x!mExAt@qwE@(>BYe06HT zVBnLx${$>Eii5szRF(;U(L*=jyrkDm&b7#mYIhOJCc_b*9$R;E!Gf?FzFPDw>i#J9 zc%-R`%Q$`96X7@`0B1aW<$#*b3he^Hf?9$J8;WlD8SXa)gUynXp6Cg^yDC@{BI34?C3hb^o#&(QE+G!v zC1=Nw+j-mLS#`?kx8_r5z(Y5X))s}<8YMC>a>73Iir~o2@TMqHfB(%kA+ef=`xZ>87ur%rV? z)7p1sdNLUi*+CrVd@F6)NHLnJv7#8dRNl~O!1&C0Bn(;5X=uyB&e{$56 zv%>a3xDgI7WBCzOJxuvzL!>(Z8Fq`E77{w86b-1%TZZ2Nj0HZ<-k zI<_piL`9pGhkZR{4GYcR6`2fktbB&M{)gE3?7%8p4%axC zkGD!2n)-PTao&7he4YZJ^Y59&O9|CeZqz7KQ8od(wCllxckS7ECit>*_+k$_6bR%qIZ@s^=f4zDt?3rAr^wvJ> z%4Qhe9DUd*!&=$oNp6{k2_R{h?~QnaN`U3wG5$(qOS(BwwFbGIHRO2dO>F!h1aw(F3Ge2_eTQgqUA)N%xrD zd;l){M}l#-G65HS^x!LW1Uwi4UfrJV*gU4(uS@pLE4;8ik0#fgw)+d?y2jyEn-yi@i_d3AMm^mx8`Y%@u%A0;(-IUu55xTMD!6*r)HLJ0{te0-us*jh4mrAF z_thSLkcQ1GH~RJM1d&_ti=ZYgQ%xDS4*YH}Zy+b91ohevw-0}azhKLEThvkDzxEyB z1`TKRu(BT^f=fT0TlupdH6IUR4>++B-vpWXGPjU%`91FvrhRW;_^a^i4V5#&=|3-Y zzmBdS2Q^>ii?1ni5WsDH9u;q=r@_0|uVfcaQt`k8p6cbfB*ClkWs8NKzYZsb?KQ$@ zXDqtC9s3D=8u_)NGeU;v2=ORJ8Ssivwsi?$z~<<)Wn$h8gO+?YGeaZ0@!x|XQOX}K zOq9>5iBV;_`!aiNeebHFu`=fN=Hij;JaklSvC}sJ;~()8DU+9z&D}2x?A>pB?2$d} z9i9Pur5*ex(@*>_@3M)*x}6+o2N72~?A?5Ljk++u#ouZ?SLq`5BCej@4vfMpWHNYn zEZw={1uG#s%q`UAifr*+jGB%`P}_0eKbwEl^8d9jy?hbq9Lbh><7X&*`8`p-r+Aa@ zO%5QLeO)`h-u;yAAb%OLn8~?>pocfghIci>?{d>lQ4w{~;_Wh%%=m3+Pg#%VPYMS6 z+vn?So4XIKgn8JY-50@W==pQ-&niEjDp>A~fcQrw5@s~2|D)P$b3eJ?Lq09z> zg!F3Vba1~ht5&kCNU0a&)X^Z9FHM(?%gdp@Y}fSBs9P4>7J}@su*BK)(wtM$$W_J$ z_bqFVEP3^TNW$9)3DW(fPBTBXxzwHN*>^8`u@!$DH3DyDa247QT~&- zwOxC{=s__KN&8ilOJ`$abgcYWlVPX2@!5^$%CME_C{D~l^U+Tx%!zc^SjY7#oA=8Q|fiYknh_vhAo z*bK?kyE19vb`L8+i9LHIi(Kn(ta4M<>yS(MT`NeXXVpC@u)Nk0JAG=&3aLjd67Glt zexI5*QkRV#ZkRN0u4$E}$Y}m>pl0}~882B@agkfC4(6)o=A{*0{P!y}`?@*^I`6e^%NPN^Z<7&A0sQA-ytNctpRJTz7{!y+ zIPX<%)Z(KNTX8>3%Kz$iZNw%qLFxrCScDD9S(#%HXCM`~4E9%O z8(SJQGLx9L@+-y}!Tj1#zm;gXjnUklFb+^1FwsQujnx1IR&%Beultdsq+*~A9CYYI zA{n06TZneFJG21s>z{B|H!OaQ;hWojK|h#_;BgjJTB6kBlNI^*%Kzc7Zz@<5^YN!B z;|#G)FZ1&GfoASsL2g1V7l%<>w%V{zPAyttvBBGk{5BH4VupD1q;I+yM^>>L4?Ep& zFS}k%6zcHOb3}mE=$e5NQlyPz^5Tn3kU@98N8gCOB8W7IO_8w|5_$ardb@j5V*h)J zb1E9!r{0qk`gQ=)L_yWD99{5`24#UX>2LP&)8t7XE71D>dn4Tu$=UecM45q)d!~l+ z1bqxjdHBl#V`EvWEb|I$VHQula9|yyHEb{E>{Z{NRM;+W@ZeHWn&Cq~=$(B+c2nzI z!wt4_HE7;K1M+AG|C`0bk6bN_hhhkMDtM55VB@=PQdn5IpRU(jLvPJ}SZV~f*k0UU zr<@qQ2zU` z<#glAWAzTt%-kl9|F{NlA)`{f=kuheD5E7oJWZG!J|b-{qxm?K*}6A#VG#UR2-3%t zICo3QJ`WSwzt32yROJ;;>Kw#5n3?JqcR&WA+N`raCdzWfA5iSgd;O5f3 zmZS4=66Z#~wQ-%JYOJEXwSlQMOtZ>DiC(@yq{N6%_!aT$^|<6ZjvE_qWKYn<(W>@%xg_ps)7FF~UG`VM&IfhNT-F8aF*zRJ-hn%n1 z&K*$aIyS4n7kn+L0g#W+ev+OWxnm^ZHI;@tfe<rppfkWc?|OV6q^R=*?Rw#zq8 zz;GhVbtsPn!is0&R+>+)^!+UwW;ine!$*~Ftl-szAy=D0;`*k%l~q-4M}XftqjuhMdi#KS_5$q^R3kWB5Z$0?SogAYl;4U9yoh4b zL@%tWa~tWEGo$O-bR+g!DJ5l{y(;nT-mDhKYeT*!2)SZk2!_OX(tnhtSOo+d)^qa! zlZ?oN{MJbvgf8jk&pdA612U8<@T=jzJ9nVUhd*1^t6!6DLse_SYanl1sYU-hX`zp( z<`BDlfFwAm**cd=9i-4yP--y5+6Hvl~0uKTe|ZDrqS<0(4#3N^Of9WO`M3&AipH| z^<~>M^NtKje^>}`WX^nMF0vMT7eMt#7#I+aiF@GXX3YdEOVPvIbIO026P?*$m&(&V z@SA}a1I8(rq8fH6o4v~3RMA=uucT+xSZhS~!U4!4bJ`u<;y$ZQ2jS_AHBEfLLGo-) zMj%U`jZuSl!2Uh_EreQJ34@Xbn46(8JB>{Bm&&@@jNZh~oWEF1S%9c%NYnmLi|aSf z;8gmezyW-Dlp;iCs@cr7ikOuqxd~1yqq1V!D8reVxd(4?$yRUtKQ9QwAHwzdSdHVi z#Xon8P#gVG8WUqeb;fSsth{5aexF}Posx$vyH9ClMoSI4!v|vWiiOWCg40qn%6M<| z=u_}8*Y-&bKutfq>E(P$ZIsJ^gk`-=%obrJAS}SVX_;ZqL!48ZQFFvaqZ5=NJPOW` z#-c3V#2$;T-V?vbb*8R#LY@XViv(rQ>2xF9Ei0}gDGtbTn*c1u{2ey0vC8-Bi#f|) z4+V8Ym$8vrnbfb>*C?59ogZ4LEPeCY{=__7en4*c;aIz5%mo8j7Zz(X%sn<_=N;6H zM|>6`d1?ixjyoWVshg@HBxU;%Do{~{+b)z!c8I;oty7O76yOamJ``GC&}W+MvEp$0-dDBO^JACey%E7z$&kfp_bx|(yrJ}7X86Cu_ zvde)|fO`RoQob|pk7EpLztstPh%r!v-_VSjk0#q<4CDaJXv zvskB0w*jiOt{5pjHZ2Mr&g?p8F!*1uBGm`5(`B|5=vo$VP;c)-ziJB$k*NLef}dvs zRoQK63(u;nEd}k}3h+3~g&-;<>j!al66gIH5L`2uy7Z`s`7@$he?6;qj1ImpE|Ka- z1<>#80~Gi5MQWbLwrA0DLHOi zY7zZQDEY2-TI;AU@u6m-LyE#54`tt#@%3^o{qa1ThA;{M3TrmK^ApUDIo$Py0VU`i z#M+8KLFKat*^1`L|7Bm0t8MRWG#k&1>Vgd*gC}KXk2go2jd1^!TU-N!V1-C;vmt&c z*wNxhqTb>b7s-o^HV`>LlHw}3F76c{X2ImM&oD3a+B){+kP9wtE%zl-qEEpFp#EYV znFqg#@P^~A*Z-K+>7TMzQyQ_11p`9nDr;t|&@HfB=Egx!GV1+eBm~OsPY0UaOIZuq z!MsKxnCfRV+97&lhKz^t+us$4?@1&jB&(vO09^nRaK6ct)Gt#=Ei;qC0Gb;NG5;~g z0$h2k#)APgJs4#QJ;&_q0kxA#2UHY+Fb7*?4nD&YHs}a^{r%k9ehsN`IgWAidK!}{ z-^XxOS#tv&0-d0r;coYrP%Ko)PzV4{kPW7v6{^=b?O3N_4za%@Gw8J1`CqJ*N*+BZAoL#N zFhVfIzzOj%{U3UE6T(m&U_inqIRgwJ41p7zVfygjgDg-jen9zRpXfb^Oy#7(+&}?_ zbW{o;5}G5h3UUJR7)-YKsSQgfU4S|1DbOC;upw8$Yi+M*WC(94sT`i%s6h|G8lAqH zB6tnOz{MtUddS&dh_hhcPoX&EbL8bSuc!C~+u{ytFr*IRe1SBbF z<#iAfF}NkEE;|}Z^!@ zf#|Eqn3KgB3ROZ$kgP}{Uj5;|6y#HwofigZ&KgBtr{mwHS&F_|9mEPEKBTN(c#X9e z5sq1y-z+^8dFg$E<~TW!Kivi8JiLj^l5v%q?!xQ}FhI@yWJMNo0%qCxkfLvY|AD;= z!xhXpsPQt}K}kaRcohNF_2oknT+EOavD5CSAU69p09o~)ESTnqi%b5@3562p|8^Yn zk7N9A$K=qwFCtQ?9=BnsluqB`@c)SalZ8_hdH3^4io6kzf3m>$ot@&SZ`&5Xz8z2h z<2dmj$Kn4t244Giy!!3fp|0^EY#-I~>^oCvCn!{NrIoS;QhDfn@-KdGA`aw%Zz3FB zFu$iSzNg#roj$D!*+9ciLN#Hpyj$R>u>JGs`~T}xiEo=PZk|~FU#Iu4A_pLsC=yBE zQFs1f1t_P)tH+zT6g%IG826hNtV5Jmn~%TlAUvJ)HAB%+3A(s;B0BPtGR>t)Tl-F#8tyVO zOQiu<`%c+hZn82@rJY~V_MW!TF)2@aeJRy`GDRLd&q51fjA zcT(XgbwLgGELV5A)+MIjk6M4k8CEKJ9zagFm-!jdyb`uS*gA9Bzz03?(gXe8W!=&s zn6@H5h6zAAwgiIoG+11~=R)Y2JPQb1iW$&6dFqksF^PaK$3kcJ{W70sLLug9z=|YY z+57SM;CJ9zb@z9ZfnVy`K$36kwUwQxyn5v`AiX)|sbz(DI}CSa{31qOCTC~u{8*UL z@bM`6{mPCFiEa1j1kMvTQr;Fm<1C93>XQf6v*8b$){VnTt zgM?#;2iI(AKREmlg^oXoA8gDgHSQ6=q*x=Iv4w`?LY$R&QV}r(5)EDw?2rOA*mi(@ zv}NthHsB;516a*D433FenybevT!Ms=H;v- z-_S>#*CXHzRhqY*JYM6@ygeZJ-pPmnYQ_pz2kk0iWAbNy%Gt~HVTN<>Ok3MB2hNdg zrNsnl4lxI1G75y~W{RQZZ}?&9yU<8$UN6Q&TPn=OK8$kbxZC;jlEP~+`S)>yOSS%P zwaME-F6T8cAh0nZIQBgH4?bYkf){wWrW#q%zuZVLneM z411j1muwH?k2~*b)k_IUrVglgUac&iWjBUd=n-f`wG2Lf-y!qW&_-wHT?pa`+?za0 zc*7xG){#4HExZHpUObYjq$(?F^9enC7py(}qC{#9n=~pWvb{uH5?PdeSlAa`E$P|A z?c-Wn<@dpw7DF6B%t)hg20Iv1vSYY7qpuiDDy$uoU5LIP{aH{$24E!&8gbgEE1y^} zW$PtC6bl%GFNgNR;so?XN^qq~uhaa5`_fOf2bA^us6wemBG=J9O*_FT;{t^*v1Qa* zIIpLWt;KU(LS7b3f zSP+?AXqF_K0arnAJCO1Am2$^ha=|Au8WPYpy&0+-)kVbV1d ztk75Try92`(-br^io#yA^Lgm++);e=gCggorr7QW*E_Eh5!~L)4?+>o9J!7zPB7iA z%+mQW(S@7+90diN5w#I{{&7)pZ{%wjgBvMJ=0_~=yjSMODPAQYZ$}>T5t$}7r-%fb z=W)>(e2mF5!8ql4WxUHAnQDmJ_dYt-rJDX)HH_hK%B=UW`_S0&we4^_eufaY8vtXMd#a50qHbd@l_m$LF zi@@d37u){$Y^9WPAJjWUlJZG#RVFBD=ay=#HiB1;MMn3YRwZz~pDPj#&_qkYmgfOf zia&0yelIH{@>6v^)#H0AqjS8064V5(&yi9m)53xHh@7a;bn=3c#;KthHsNg|0GoAl zvq-CIa7kF4bwpi6a>`pv8<7-As`afygTsL2(Qfn6fTx(yfRX&=Uz=_T7Qn*Kb5qrE z9yDrbj;ULn&R>ch_{;nim8Lu3Y56{?^z=ASh&e%lf+Slsw|y-Hw`u^uO~5u*ml!PD z)ltf{lmwk58s9D!w5FA$d_qZliX0j+@yhGawY}v{Ex~NE45Z8-fnc zIx43@{=JD{fSu_St%EpWcmBL^(Pl>Pht;W1s`T(AnUU*%Jak zzwP*vu8hk5Fz}1Ls`ta~jT6^;xBK1uJC8?pY8{_68S*&^HoOQ~;niwom*-QmeCfCM z93%9!EiBb8kF+k_ecjIWqJR}WnJ?HQ`mO6CD&zfP40f^Nn8Dl;nR(U{UzRZh&mA5H zl8PBz7MZw7qeh3xD$ZKYg!}ESh7ShM%FYY8ryWviN18>}y+7gJpNwproJhW_d`ZQV zxqvQ^%C|OTG>9&m37_{<(c3&7M5%rq3rJ7CvVfQv$?L~_2!sR(wt=5W`=D=nPV(%* z%G9{7B-^724%dd+Y`~(8Pjl_M3Mi0Se@BO`UiEH0nz9HY7PyV%6{1Q&^NTjEn-Mfn zs+)(>ReZ?D4z34GZ_+U@LAkAk1*bA_JzSr$>I`qP&EkKgW5LZdt&Nk_bous`L9p+i zhY66iDJU|r4Ab`jvtuI`1=ysLV=tP}T~{w(6vaO9c$qr_OyjWrq0DH@D_36*>2gh)fXxhR|5TP-o_?NX{ocLO*l=owCdLMS@vz3> zDEtCj?lFRQW$~j}2O?*Ca$_L!MTFt-=usN&JT!wV2D#n3*lxnFTsUl@j_8d`d-R$= zwYONJ3HW%*(AJ6N6j_`;S8BlM>E=axrA5mfUTf;hPs?9U%lNCi`*f)16$z%GevW$K z#r{lRnJCK9%YB8I1XR;xpMY@|srHT}qB4zB>zi{WmQ2 zj}z-NQ|H3@Z~8gz916Ngq*bB?@|lz|RJ&MffGYQa(=Eknp=fMr#NE$B@)@di!cciI zv+mf!&2?j7xY?M6kCBDoC*Hr^682x@`22u`V4Q>|7sKPW+_#(u^<V#-eMK<1- zNwNyp1bG6T)a|Z>8=dA?hB3pK5i~;gA-N=+WYp~&^Y)5P#JSEt(c}-7x~{J5PRPds zHS`2c?#7N$bmAJ=k+Dbv!!n_9_J_u}v~``|?`376>z$p}N*lnjO*6+0J_iJjdxt)1 z&7Df(9PlMKhv!)k>7E9I5Ymsk^J%}a28X>qH>}l0kO%(tz!Ff(UDpa?&Gv4B9^yk2 z9ZMiTro+YMHVSngsbE_OGZk~mac`LEeldUYM<~{UZT#7BX2h&bj2=?GL0S`Y7#-YxLpm|blrSv$^nwM*A$nDed$X7zmdT#|{lk`x)A*eHW zI`|2uhA_*FiT5km8xCq+_g?X!Yr4RZFIzmRYY`-5Gx}5@t)&^-ZR4CY!OEt_&vAP7in0F$!e{A3yiFKgwXwlsD_q>8ny$S4wH=DzFaP zC$`rC`qP&xe0e=NejG}DazseG13SjXl-quI)g&anvT;y=|e~0PE2lge-|-pdnNH8Ul=$ay4r*h zFX9K%#-2dn)ZAY1Rf8{o0mW^BVW{aJ1I4DJTwn{iLj96N?F&fi;749gBH#3yQItxA z6bqpT4WqYE+uaVd(L;sgt$mv++f$?K!fm28&5`D=Qo;=c}Q8LS(iadwD+2I@8KF zs&@6Of8>nL*oN-Xy_%@59o?{F<}h8_W9-i_=KCOaX;Z`SO|j45a*brGoy@itMdRk2 zYd>371eFJuit4bPiFUUeVG$eV8hRE?%X$9(o})-j4)4y|!1hBlu_WM~|Ea=WKM+m) z9x1NHRJ$MTmELAn;(oanh^}OYULakc9y#454ylWaq5T7Z=)B-eind1v@FL3U#Q*;Q zbU=&0Bop%2?UY6@+^JbE!wk7+sRxRDaL<0Eag;jC03mY&*5eEbXAKtAh+SD_pml-9 z+dthsV&7eP9c25;q_Bj|v{9fd%4U@0b)t)92%HjI{AD`fr1F5^bTk>vM~lg5KA4VX zlhtrE9VVmkbTpllf2YI@PKKk~lKeBEzfMT;WOTb4&4;7;gl>WjN9lqZ%cBK-pK3aq zQxucYj6g9|a%-500D-@^lpn{Iu_;CPT@5Kqp4%D5 zgh#`bbh5#l`=I!PHT7xGLfR!e>0>`QGd;`>=TN1}++R?q6R|duwwG zSKj74_*lAI--73jdJUI4p@yd3YD1Mrbnti%P)isFr#RU8EgXJgKj`$HS>#*_m$ zurvn(H$&s~np_7lHZ@V_IQ`LM>>MaZJ#mCN@aSrxak`NthvrVr_4X6;)nqnB50Cyf zcNEg`>jAwBF~93)N1+}kI*m=n`F9lnVCT+4Tw^dmpF0dSPM>!ur~nqlMg%{dU4|qj z|Gga4hB5t-A7S#J5hI-UL%*Q6A_(U%2dfMF=lIo2V!;YilUcl&X-*B_+31#7v-8K% z^jl(%k7kXLY9qfLr40ROu3QJK32JC$6#po;Eox~C+qlpwy9Lx|vgn$n)7Aw%uh7j4 zb$);qO}+A8sq-$Gc|y5cfv>D}+6{KGp&O z?T-YQU2=y+)t^`1BXQED`_?^bb%27Hoe~2C+bijVs^HxcNa(I7TQ;R_cT61M+MbDP zFa!5YKri{qyC#TyN9>yj41MjK;P}G#PCC)#+C7OQ&a;1_DvV~60oisF!GP@bOPVu7 z*gj`1iK$h5(UaRYCeh)-&#&8{j=bzX|G*v*~M3>4xo8l!*nx~@Y1ZzgCQFX{}90>8MyI<#&Hph;eu zZKdWJRE^U&@OLGt^*Y;b%8LQ7l$hzS?RxaPtR-Z`uE$I4o2Ob$rQ}B0?$YYWmtf(T zYW6iRR{LY7Uw1U~cWyU%Uh@1l_T6f6jpM1JS6sMC(X+RJCE!O9v8{DOmGGN7kQ=IC zJ$x(V8LG_7OzRaI#pMGZ!oQ6-kAyA^zvjy01)EeuH+703{?reUkw}fU8eqHR4 ztiy3bT&Rm~JR1jVnvtrc142wts0R4By`@Vj>~dD*3$I!F#Wr@(sv_h^#EOw5OG-0MPv+4c8nfXCMJ14TZhO5KvC~9VG?RCBG$O$i%4A+ zk%{N*xD&Yo!o*^|UM1s&ODupI!D2yRvvlPb3sP^9jy+fNrYa&8IZZ})j95S9aT_KSK#kz_W4TQ8$!gRp5sKn=eYeh>io&iDtSItH zKFuL{GTK-XV`+8kRTN|aNfWw&Bu+2Hr7D1yV5wMU%jI(QQB{RK@TjT~RZ&%Od>5f8 zpkozdd9`Zu&>)lri0{U`A)!ddmW62^JN+Vt=CI+>~e`Dh9r2QE_c-TzL-z zgY~xo*c}dF6g~Yk@arI3O7}nngq)VtWxg*lz^k+Sr9A-P{CI?cn zPdnAIjnP6(41BR-;@S$i?yd(4>u&?v^=Lv-+pai3JFt}C75kGC=e|Y@DKYTHN{M4{ zY_sIL`ywc;zYSYT zCPa%&h>tT(+G-M@8RV!1t=ON4ICnl;h=_qNR78k;7^2~fVXj+iLP{t&|EPC2AZEEn zh1Jr8OmEK&$8!o7hF_PPzy?5Z@p3B2tBnq=Zh~y_DPsn?SRubpJJKjs5pDqq43lgI z%!Mi{CKN;T0KJ6?r9y5HYf=4Z%>NmS>9?{bo6;PTKABdpwm9i}@?w~Dn*i-PgX^|} znjZlt-}SUZmUHGKFZj%=0hOif__lMPa?@1IgFFO=2RG6%!W-iu0k}&<(#q^mS#V~q z3LI4Ua?Sf>ltA!3CZ!|1GQDb1M|gK1F@v0lag&hEaFBU;+(tU!`Y0!dV2i;B**>{m5_OcdIMy7Oq@fAl~*NA#L%}BY-IRs|N z_XFSGXKT^E?~P<}la9FlT#J}DMU*0X<&BviFJ91JWsY5T!Km2sn;c5fQ9SS06e5rD zHP6r}-vnhCY`{1a+XK-P%4meVHLay)mRh^{{C#~jEm1ue2_)aUNXDvSZfdBy9WS-l zw5AFZh~quCNWmJ|bv7xWuz}f>*IPMjpacn9RzCB`Da$813vN&h=+!i{B5)6`sj}Ja zq;V)P%KR1d_Uw>C0%YWy_w4<}4p09Q-nF_R9AgY!71wG$hS&2g6Jgmu`F) zsd{t-Rb_0JuWJDH9G)0h5jvsND_RzG^Ax4Y+f%VcjX1a#U`;g@AB)U!dSq7fwrkYW z*bisXYVNc)(q^a>#(O)VmQ*MO1F6L|DHe4v)6R{E22M zp(qaf!=X6xWG-6HHRUx?HDj9HHeVV-8XYntM=oztX2rXrVHiN-kGeG(zT6Ipy#~=l zJ_ka(=uuu~tx3}iS!Jfp7IU&_0H&)k0$XJmv2py2H4=meB;FiNRT_d&i!p@J_%7zRA>+Hv`x#$>=L+LXPoD~vBe-FbXD zjy}gXNyp=m0X~=g46wj+g#jk0I}b3&(dz(D0|&Ub5x(XS_cF#E2N~MR2sT6nGU2C# zNokc2qFxINMWgED?Pqk_#Q--$TJC2+*Re3n^_2_ z)%k`q9|5)mA#y-^;=Vn+)@b3VxXx`OO1e)Y1Pc?Tqmd{lT$W4;16^>RhALKG<9Vm7;&v#0^2~xe+j=5z|B6A+%4D#14xs)#j$+4Sw{bGC@9vi=(Xf zOPa&8#6vyZSc6lDo0;hy+fMrK9JKeO@AC1Dq_W74q`Ccxy@?IQE}*+YM(l#R;k4O3 z7RSx0`3$AW3VxFq6m`Ey(B8snmh>tzEu_1r5lM{T{a@c!5v2x6rlV8L>jaQ&rPx84 z5!@Lq3y-%qSkf51KTUcVe~&ulhzUQ_qD!pIUKEnp-`K21X0v1Znw#9v1U5I!l|5wr zSkL{c1BzGRV2Y1>* z6h;GZ5Ct9@bv=GFPO;D|lnCTUJl8S~qMB+*a1je50)h=>h>@^M@OT5u8eEsf8M67B zw2&@h>VT#&n$(xuLDDEG#Fij`)IE83({N@v2R%9*UtNQt>IFNXB2WJuP_bT7{WVAa zn&wzX4-SGLbd*eR|8Q9l-f^=a;)i9VSSZa=EMf#xB=i-XWo9gzV&2eyhjanD9|#-q zKcA}8W_=kpz7nhBI80L;(efq#MViO-_;JESL_$yWp2v@ zt6v}wnByFqe8Js(IGsCa&^z?j95P^t2~loNDxr~GRESdboAk(fdP?3NlGCH|oV|x? zBqwAScEX+QSB!n4*g&8H|x=cR#v{U)ef=n4C9!DlhWrzyZjW4G1^UbkX zHCd&fwrsbC*;mYEsEn1tUO1X`-eC>LTVwV*Q*Y(OG-#`bcoN(z2HV;SSTJD9I;|Wo za^2b=)$c8oB5qFqS4*CE*Xi);1`xl?-b)vj{KCB?EUwO~V8>H7RYLA7HI-wp95sNB zn?51tprK5#O%Wja4IWE*sVig~!ye8XN1^g2f)VQ1R1JCVK(G9azht0u(!B}zfs*u# zac_UALE}-x^#uV3Zwoi2_>M3n>c}pWs5)})ZX#2_xv?o;k;sd6_EaJs4@G>+mX)p- z=od$FS(A0~sJ`A9L&D;zI|IJ*L$Ia*5?icEbq1Y6+(fP=;h zpW;S6IoUU)m$gRZKPp3Ht!h5e4ki>mBLQe_tx5t9)q)R7fNr3>M0#CzEW}P$bkTN? zZ_HZ}h#GJ`1mM*PUT$h<3YK9VIZ=By4TpzKSsDug`xKS zY2jj!)&TnE;Gfa_r!~h6;@p$0uFNLa*8$TD;cUqKf>`YsWBMklN)plmR;|$zjhC;T zSbPRP#)Y)Y-Te(=roVAn*QQ{&%&Lu;f$Rern`geI9Yv7Q!!|VOeD&@r5FI0SJLn+L zUk};Nh+D$FAp>05*AF=qC!~sPeIYvJclcJOQ3m>?v_dV8=5@Z=?8dCAxua(Ng;m{j zLQRN?1)=Lhv;Lh`e@Ui%ZoH3ZTr1UT)=Nl1wV>(2%UX{73R=BLGM%Gm13|kEFa!CP z(9v~~5UB|~IBC@MkA(8zu;rj&{*gTlXX$n2j?;$bms6^NO>v*H+xi{ z-t(lN?-<^(air}O%aE73=7q*wt*G5p%}}Dz>4QGwBot+9tA5AhHbfs@_=hV?F2)=0}AVN^U#FGnMN^jh8t6+WIKU6ADkiCA>g5rXxwqvL$7SI66?*RmGv zh1D_>eHzlT7H_!JtIvyv@H9MD-Hf_KcZe~w%$W|sWtMThu2@qTl&sT;MW+KAlf!Yx zGzzqm@eW&`{5a&iK-W0@P2Ms4gG*6k)_Nwo;(EC64GFJ)RNo0w9=(U}56LIS6_I5A z49@V{12P5qSR9IsrM;|wG|Htum8OQU`Wc_GCUZ3tc`w$PgfinT}+HQEXpu;L*(apF;H zJ56RVk11BRwZ)ia*c^dSv9zkPq}<@D6K+Oh)RsQoz#9B?vpwvOr;ICjZDCZdfrq!H z=}0RhQ5dQ{eSUBEKC4XrHzv<#G7h)7S8uN0Y9OrHO*LtuS;j_rQ}VZx>lCL(73V@} zRTdllW&wj)?~hwPK47uEz(kFo{87Eg)15C0UJ3&UmdTQ_I(x*gs_N5)J39M|PVF|o zss`NVJ!(J$S)UrvMExmiK%Le;G@yd<>KagKtE&d2sQ#`2+iO65{QA>?DBcgN0nz+S zI<@7)RW%?%-=79FkoBnnP1K*V2GnWoLjx)pudV@=wz_ISit6tgu)PM<$FDyPh~oXQ z8W7K*rjuJAyIe~Jp35Fppnemm!`yAIt)-@!HuZODHQcrNKk)oV*-2|&9oCrM^ zmz3KkEY-?76%_VuK`m@3F#6j9Ol?5-r5IX63%|xI;EBBSxdnym+S$0!pxuuZ_zbY_ z!-qcuqPNP9$}<@Bw>sY~6fo1e)#CWfaVj(#kj*N^ zzvINf2y+~vl2#RPfM|s#gPam#KAxBzF>md1%C`?gI!TBI8a9f?ZiVM$Xr9(ll8!_K zii7c!ibJVA<=60uwf`t@<3E#8u8phZvB=&H=?8c{(Q#le?lf1B;Rkmt5wl{y5^k|jOeO5wxQ#7Kf-tLzIn0C{DvQ0BoUu6- zc+J@b9@Y_=BL&Ef0(1q;niAC=D6LA@4%IV68pC?O7nz^TCkBwl zrEz25HMFBrwe{f!{to9S1g;TkcOw_n~D;YwLC7DIL zP@GSuP)2|=ckJitFMl!B2R`Z;QpF@jc&aULCS$dQ4NbZWbDV$%U8_|VNPDhzSMlzV z!L(uc><+0ib~0X>y8ZCzD*Vtd0`<%cJ_LwHZ>%~s7P$*Qyiy?($mk0?t~zukKr;nM zg#hqYh2(QSs!iaf+mN1u_fkSFHEn5h)btP{b2W4y^Z1d&h*K4E z<`FW<0VCgUqDG20X#+7USo5SGu43Myu&Vav0@8!VSS70gyNm@|B!LKjt|GP^HF5l+ehNcu z=WzUsf)2^u>rd|3wsCucgK`~&MLh{}_oq9xd?Y#&tXNn5j?kf7r=xw7$h1{mf31W;5PN;G^P-nPr#03elc$`%i7ldoh8qE7oG;T`gMNA_p`2pSn#1E$S$y@9=HcAuIX`nqM)T=>Fr|NI zqZu)-8TP?wF}@v)zr7_U;V8YElrvgkNdI1#)#(4r;e4RN4>>&fJk-#RS;6;sMi+bN z8o_gNo7GefCXf45b}ER2c00}sCu_8c++d(*WLAO}07HFhc6}aynNG&5`J|Zs;F-$r z85@~OZ|BR!8dO>egn5&>&b`BrVUo$~L6VH=vE0Nw;#3t?ehJheYE4{;7{{iZM|eH9 zpcIRB!qybm;x$}8kyX$23XWxuBMD@@Pwyd$^Tt=hN>Cui$keKU&Xsvu>Z{*$b@yy# znTlBPw%~M%`r&=HTRl>IP?~6NGa!5zG7X|B7i?>4mB|uPNQ4%G+?V+b6dR4 zuFI$D(KljBNKG8FMr(_)&<@GWEq1^pk8jQq<2CGPlDg>! z^!&zI3Jd;Y}!`TeqgY zWJsKQ>WPRA1nl~YlM2fM#l-kVbEF*AUk_fq!D6)yQe5dnU80X*KV(GYSW-Ya`Q&5b?eAQEz?#m^(exwB$R{k5R+XIJ+x4&#=Zz=f%1Jn z_BNEGQYhuzM{7k+?cTY`>Ac~p;Bwq6v1>t3rUSL~al-36-s3~7y5vt*!Z>9uKtQVE zu(ZUa*+RL~=iUK!JnIL|=^JM;o_7|S_@MSQr@uQZw_`=q6a(zqBl^Me?GY7W?Ld9B z!`$wBTDr_c>|!;5*!Go+!=}m!W2exIs+r=i?%$P>UBR}~9IYsdHKHp*r-p90IW(=W zQ{v?$%d21p#Mh<>1a~~>WsJIX~saCvpoM>bhD1z!17@U^4NXzFi z#*iYXqZfa$T!E?+OFLbOAnH-N6za#LTeOoF`6*8SGRq$dW&eZzs*^mQ zshbR1Irn?)a*fUfQZAl3UW~^^F=Phw5{EZ}=2r){GW1T|U?sSXXLM86v)*pDI$UpA z_?{n7M#72$P@)#Vr&_Fx@k?Sq(I%an9rgfYjybJ)Uu+L2BToQsr_+bf6;Xo?bCA-aJZ zfu;jI#J~=_J`^`tiF-2-7&6f1Q3lR?Tv_uMIjU6p@7%)!1`0bFU^VGME$OdnA~`P` zbEsy01vDE9MCQ$QQ}F~O>c(KbCpSTLwhcaFAw%W9GUu27#*Xg6$eZ@{E=J;^;&9v$ zwqMM7*=#%9PSd+vQ*7z(!D?NkYRoV&Yra^{^XVEKug4ZoNmTpUsl_7?z>+biMM)P_bSwy=|kUPYM5#2aP$%b9USb zjR8$L?{H=ln@kaNpb-ckdpX2?M1-w7mv90SD zG+bG;rwm4wA~MlKJgGIfG28F9cF2)!ja{}Q!*r?#PbhZ&k+C7E>H#FWXua7{1dwK? z6t{xvQHJ!sK%EgX^%?LDmNO$ERefqKzBO7lP12cS7b!KY!%?+NTcoYmx7Fie8wxnm zw=1EmjZ)Q&BuYZ+*?HiUn%PPXWB6ivM+~2ZqoSVwFtB=Ub*}H$nWL_8mX7mDuMe%{ zN@d?EIaJjp2#ynfyB4%?1GTUd|Nb8h##UNP91*poRNp;qm&LK3$nx-?g|*5VyCTYw z9z&7&U(iRsc?ZIgYk9=%AStO?*-v zcx2o=v%^)uDQ4LP&OIu)dHBU{q%Lqw3~pOHXL{=Z2V5ce1xxLPBZSPYM|_s3L#u>Q z*fD+u)!8@xI&f&8x#IP~J8Ux-S?R3c6l5I@8(~)tNbUI5&N^wImc~pscg{u(uj_y~ zrgbzjz@)N?6!6TBeu4ww7| zb_%z8`5W%E_5yg9X}kq}>L1cHhI{Zsn#N!c`kKZd@=tIYhtm0JPh<4?YPi$dGuB_K1C7)1UFPUBEIKkaFZzrhUmT6>4I%RD}}^L;;|c?|d9hcu7D z9`rSjLFAv{JPxJv6Q9TEL&8X}`XZkq9A}E{jP$2K>=vDxuXz+z7xN^SZt0td$3xrRx2b3JGSjOo+)JM zJZlOphmrFW8bd)1Sz+Q?5ji&tHf=hVBDQJ&W$8^<4oBAq`?0i4c2xoypEZ*9J35t(%a@vwfg zTkIq8p!w#yS$#!cgmKaY9mTf(=dHSokBv24%Or61r&Pvc^&J)ZW(s`~h5kQF_-l0Z z0p$^~hS`HD^U>^-``bJA^KCh&bp~@C-B7K0J79Iop`$AQ`&-`j?SNHG zMvL)6A#uzr*^jT(*QwqRhOqqqMxy>YP8H11tK6>GAF|cv#IHwqV9iWF8wS*%V<;dcK$TmpVn#x3=Y z+mKzRH;-4>XC&tK??zaLg{%Dl3auG)Vtuuw+pLKIzPUX_t|-oBjKoC!M=vW%jr$PI&%Y1y3NjFUuZHLD;J1(u`96Z8?(85aTK zyaP7oVCJ5u!NxipOT$!ge+0T%Yp@s$_vdx+kZ$ohiX&=T$cYtQU2YEd10lZk!f4$A zuqDR||F?zb#?)6DASgIjS+qu}JzPS?m z3YdMf#!$XDSP6WK##Sf3y9b7HiI_~-PzB5>Krxvi?bchC5)s7xX@{ zFpT(s2iQ%9s~NG3WbS}$p!CpBe0qC?ub#`Kqjj==n)dwNkbZ#iZ})k9pMqgyzbZD! zOr|d4MIt18tQrWsNalr7S6W`ihrlvRc%gL%w*K7K1kk_%3qvcn5;*F0bORyb2C-%s zV|h0?2G=vK&?BuJs-A4v^=q(_nW7G=#H%>!1&ldDt8chZn^Vb>j4DYDN2YY~H;ac4 zRB}Ov)D>EgsYB{y%0+X%ITy@|lZW-nHD`MnRp$$9(OkC8%ezhA>))G470+tckLK$| znpK*&hRx(*zRAk{gX5}bO^?7TCZ^FN`PzNNvdut8Ya$K+HQ4L0lR9;G{WPrdejuOQ z^z~UXxrWpu=^?v_lg5ZlBODJk*Ra0wPWVQP!&WE4pOqU^?O%?@DY8_kz{6^Fq|e=m zyn#aOnC79fr>>3~%gJgM+dy4VTYvRZc^+b-t_XU3Bh5+(Oc5V8Zo}343!&y74fX1A z^wdELe2o^*#NbH`AX@C;u!#k_ox^4?#FlYsFZE703|P8v!j&WKKz`gSNn6Ah)#OoA z4cDbSxyBeMF*f!(EF}ghH#&pgKO3vZ`$rG!6ylu{De7^h7~-!Qa7+nma5fEfk&_UY zFJ`~_icD84y%x)UHCz^_=b}*4msmojTT1q=R}3IPykmVQ1HAp4kWP3XBg}-cV%&7s z3${h6A|x~7CZzINR95W~(7Qs~x{0WLj;c*@`xX~w*h1S8^&2&c!D}>TnZ)jS+W3Ir zvO#CaJv&GdY8?}FMZ(d>xV0QQ7lFs&LZ>GKEq3`^pM(jj?WI>b4XPk{7d7D!JQ#Bc zt>~ZUfOi7io^LZ(gJQPZ&GwqrUz4%>i#Y*9MmqY|xZHApb_f!Avf=W?y<7EA=(26_ zE8CPtUzO-+ecwk+FZgM2yjgKA-rh`^h|QEXxBfV$^5OMQJ|B?(L4{{~v}>%l0WISf zm3-KfWNM%X!ve#E?xGl$cwwR6XkbB~0J4B?1WI}SjS&V}?XN|MQJICY!8U?s$qu2Nd4QH!1 z6_)y#YJw`v?Tws<&)~k1HMJ#M7V||ov$y$2V76%VLo(ZFGltm)XfMn*aJFXl-CYvS z?DF9wFk3YGA(?Ho8N+M?v=?R@I9oG2N$&2#xqU7_0=Gq@AClWfn=#xrKzre~fwMig zCsEw~IPCr?{O-c=t8ly(%grOOK{t1vqr$pDMHkE2@%0k0zjay**Wm7owBb=dXO zKSv%`s3C3Z%c`jy#9?W_KlFc1BYK#C0)rt_^ZSY|$VPKI2E4?C865jl|heftK*!s9v;JFoOxw@?^t- zXwAOgix-M#U26p61-!bjmSMKx22-QZe%hNvS>eV?M~Nu>iN?kc5BtM`Zu^!*plGh{ z|LZG)=sRe<)y>^lQpEW5N0K(;>f4CMRdY9wtzar!V8nL5x*tN%9qiCFp~n%)QR)=C zydPe%jX988%7I(ZNCeCa*R_0S=Q?s9?4-v3dVdm@fN&OHMOOHpcNb~l6R#hE;kZDF zapj)%QPYvbFjX3hh4z7YJnoIl3hw&Ep$qGnvCt3a=!6FOrao8sfu}muy^f*)byE`r z?RE0jQ~fFe!_KCn#YI$Lr&mn~5ynaVjstFE!!g;0zk@_&E6&P|Y5vLsO=p<4+Goej z0>HyTMu|vDb2*Fw*B=zuZy|jrQK-6p^ia;K;CwT@u44u1HU((lr%@w5kk>$fgzAb~ zv7xpSdz)K80@@R*i&V33Xc-mNN9Y~ZI9JB>574jt;-yQgWQGuHm4w@FJeDNtXudUw z#q_Mf?(<4kBpD=1H?Ui-PYJ{=hm?yoUHF>1pJTB)=CwLv;y zyEWxLH{HagS?@B@-77a+v|uMtKymBT)iZ~6+Pa4UIAKzleDq6+6ggxY1RQO{7=~t) z>e_x^U73AG_rcF)&!T| zi>w~;W7Sc_kueLv3KP>sI8jPYM^g8ImK5abQ+M1~oZnA@+V z+;DS-9}4uOyZLbdsJXRd6hBx~5+1FNatx1J08)&aF6sj#rn@ou0auKVz$WW(&vnYw zZn^k4>^>s%23swh9Y!^huDOsDGKPAC4$Y7%XH`pUyAQ6-Uh{|pJb*JQ2PH-V^>ja~ zKmP8nfNXzz*Mq^!?)zeUI9)=siOHU#xrWp#PBGDso}B!ZXG=(*RvBS-Rh0PMR|n8Y z%Xv^6X-}(1k$!e?$acev8;5cx?M$f>m*+yqu4)EgL%b|9GIm6QA8pgdiCerp;z>0j zPK5~B*-4&186DH_K@P=dkur`>%r(7i|9(?#mYb4AI?9|jo?x%|lClLm2_G#6IyW)KERw5mF4|Cr~2E)&@2kPJ1x^@G!%;`32(>;~H`~*(G z^Y1*ZX$Ud29}qDFeK09}LB@$0hET&({Mg*qf_4?w6Uz5w5vL_}mA5|$%;e*0GeAfH zD8^H0RATW^b|8#yPR^6JKk?`BHCn;>=BLmpehpRQw+?1CJQ|EErXzaP3qc+1(#1CV zhN}GIzGVD#jj*Uk=DL`;z{yh;w0b~nh( zzXQt1D4Fq9q(?EaI1uu+iU;8xyB0lD80!cEO%xJRz`E;I*W}}(N*FP97#<$Iqm!0IH~>93s(CCPP#TDX{A56`+XQnZ6g5?Z^_#McYEwl#wq*k>3nxm$D=2+j_I3 zBjAA8Wm~>oeeDLg3KHFUS6tRdQc?{7=A8D5GU0m_$Nh=sO`gohdGTAL&E+7g>p(z|gmWCauXarJ>z)A*h_)9vKqZ(z%y)jnmdS&qvI!+)fC0&cy%v6O} zjSl*F2hP31DP#<1N(LrHx|jE}31!yhtW% zSl0-ZBJ?7mRVV%`p^Bo-n;vcQC0fjavV-g1EO4LAWG>H1YI(PgH1W`5OxAg?^3^&BhWbl$?xk$ds~a4a zxoynsdcYOq0_Kb>-~pa%H|DAd9mn-N9P+$G4u-l76g3(~^!C*T<4R+3svj*t$3m47 z%jGgP{7s`3ki=_tu*{VP>_4t1J#}d8U#>k;dd%J zF=9VLn=5#fycSMfr?bt~D@8t=t47n-=0abRvzLNT%H|?O^<#7Ch(2MP%lU|pdb<2~ zqw9kjT?$`1TU~;Akycl*X#7abt~TTGH*0sb8H^vf;nilyeuS1+_%L}5ow`nE)2m;S ze70AOrmgLTzol!h2%nVkMTqLh_|g%5%Ep)LO+BSQf49CqwDmRV(fVp@egzB1kH!9K zGa!Gv23VWX__14HZN}`!Xo7{0li%R!%?Rt6D6bjT)ef5m*kPZhA=aNI_Gy}82)V|6 z)yBqx^Ov|SEUSaKeFd0TA=VY10V~wD@|jk;Wfg2#b-a0_vm@gAasvq3LuTGs@D(>` z@xPia6rXqs>S2>ptLdNXnL0-YdpB;PvwT6_6BY~HJ%yEFD=@SGU(Z(Ym@0uopco+6 z>U-a|huidU_S?61BgRBf619j{Jl27<3}C~+)i_IHm>+Aw2G$!;Rmr?rXom&NJ1;On8CU{p2; zWf!$e&pweAgpZb|9a%{CRh_oNdf>UEYh=*w87IQaRRAW201ilf)`mhi7iksXZN!=JKvK z4q0D`(IIa`AnPClZFJSV132UZ;jPU-AoYg@lxp^HlaPaHu~uMzMKUBep~*g8vo&cjn|=A(x)ptUGg#2? ztj68!%Ub{Rj#8tR=d??eoOYjK-#x;>MuTwGNX+7p0~{hm1e(!j3HkW0g4#1_Xbf35 z>fI+tnMY)<*PxM)h-RiH#!C)PANT#=xHFtCh^}!#Ov#iySOvq?V2w$d22QrB2eg~?QaXv5Bc@#XH zf>*0yXU839v)fe`)()(0=BveQ5lCr+!9lC6V^ceu&x-jpuq{9vC3m-rSsc8J(z=FC zXEL3yrjxLCY*m%7vh_F|*g+vHw#l31`D`6X9;CpCkCTiSQSc5TMGYu*^D3X*g|!1{ zw|q63O=mIS4l3&kHj&G5noR-+!&ZFj+x6W#aQ-o92Z_8K7)H{diMIuox7*kP!(TkX5WtRVV-;$dLmRE0Rfl3lAHyLCZi1{uPVCo% zpBV(ZUZxw{z4*-7f5loFCg+5EQYN{6(CK-Cfi7n5M(5`{40JXhrEcgn!J((==ytY9 zrYZd!!NRsboBe+0wkWa{t?Dwn}4+NK(7JSq?HdJVLZx*k2W57Xl_m0x%>zNLK^*O1A@lL2--f*hJeTz-g}xPBrA#k@feoy1~=7HR+g6` z4_N_HgBvx5%)rc+Wx)=8xxIO#{7hu&^tjpGAeNco{L9RrMnPklStT+M$td6lRrHlQ z3&wn(&nV{MHgp`7-RT>X)JHNNLw2G`54E3<*}>e&5bqgyjqREz#P*?rfDQDBeQwjPd5Eswy6 z4wNYL;bMq017bAdY zX0xMk*oD>bA{>}_%R01wW1>0Qr^}w9p4g{g1hwvmG+a26I;hCNBEANrsaD5*SsGaC zk3J;%kSk6|nFa%Mt&8j907L+WP|%0tCf6a^7eC-B6NBGC@=t-FLy;X`2WOu{QLKuZ za|RCf-H(KtZMKOQ&Nv%hE%2jh^pzGp?zdT30(Ayx=2K@`)DtL`dNT7L(r`>7tfWP* z_RtpU@DsfSM)m}xJpy$zrYiEFVHE}+UA@TSXBdI?$6zF4#}?Vh4M)`2>mg>m3lZDL zgZB1fMus|a&V4k~M=+c~|9R#9P%p*Y)D8leDG)SHCj>?;fb~0P0Z`nWs;O&C{!p-) z4i`dZ4JjyvAP+31v7D6L2^=b-*GZh3f(_lgvs zqdaKv%ZZ55R_%W%hWiyE>dV&y`gg#Qyn%IiM)CgptClD)D9Zl`M5(+bWj(i~hrgSj z+3Sn;XC4I~*lsh+LLGS-u&)3b$6FtOY^lCf3WCWO&JS|8<^yy<&Pkny;4UamDRzP6 z19ZdC)fyeaU6F1qd==;e^g~tS8WF*rP=jt%I(&~-3IeoPm^KKM@RSzdP1HyWST&@h z1$ZtaEm}a!5QtVy*U<@WdQCS0+X5#Rptk3S1Ev^Y>H(Z!fD;ek6a$=k0B0EB%mXO* zPVnI+-bxUT)TSa}Yt%q8a}pAUW8oxZ5r#w<|~8LPp9w#BxxHRH;&7xX=2@KIx790GP|NguGU zx6IW;%`jlGg9n_!h9ThRq#%yED3p%jv3Oq`s{*5^DUYDbiPNYOgqA(uIhN?^tPT;t zi3#lAwP%&9$0H3)RNCfWf?KZ#|ss^>tzxr*`8w8g<4FkzJVU8qov$ zzSxx)7vj1`*r_RtFi~Vci#v(nzlu%p-o_QecNLSub08ol3YB&ouOW*(ix(rtf(mSG zq96>JJqfk%Em&YqKnPzr8-U4YAdF%KH1Q04annvmt4ul&Yv7bKSz~fqVvXW8jYg3M zni`=JWU(knOljd*qD6(_(&a?K6fPtTk0l`-Rg`!zM8HJls3PZSJyIs~w3s0ODLeB7 z*PCO-$GhIn9R>s&D7(PHo51QGMhz6&QmO)_fj|=#$bZjB-M6TL{CBj}J&PJBAj*Sp zL1p@|&;3rtP`EKXg3mwX+j_Vgi28Wg50@HnfnXC2EC~ae>Oi4w%`~t{7*M041YDR8 zdDey=*>)GDp?kmtYXV_~m}KA%<>Ognq-??8Kq&qRfZyi3jy+5+&YEB}xV^N83eZ`T zAc5bOBOQB~oSjWU6X@vB4cGju%}V>lQ*92*p3K z@Z-YR9N7orp4zwrXb%;~i!P1~KQ4>{dzd(0EOBJ$abXnb!^H9A7e^Q@P~KqRFj0bG zL&OAz3=;wvHiW@2WFY$>;38z{f&qh9Cm1|*>4Blc78V#bbm4%Z!fNQztvJQH)Y%oQHHP-M1dfQ0TRfWL(LckFc5B{!v*oiCUy%B z$%$HD4;MpraL>iUA58zuZowfre4PbYR8QORm+q2~mX_{r=>|zj$pwUkg(alB8)+6q zKtQ@%I%PpZKvF_L8bt}I@9h75-si3B`u1XG4>NP-%ze-Oo7g>j?&mJQH^~^J_$?}2 z`=-MzV!|RQaU(E2@h}N((b3J&oqZ_q4ic#{b-qN=-t99(hA2s zNsK8A&YE@zJCTK1%HQHi&B7`&#^1P;Y*OZ)W(u72M{77F`j-;uQ`ylwzBC+(9eqKR zDX{L5^~@pBXQ=Zb73c7V5l?@ajNv&5bu=sdJ?9JlFG>m+Nvu)1ocxF(tz0PErUhiU>Un7^JRvs4ir!)1#Lz z?p^TX3ICh7qARAZ3Ujwn>N2!e<w^SA*oX_e#`LZ6F>X&rggYFWioIp^OaHQ-km@l8hB}x@y@#aTQwoqFqaLF>Erp= z#mt|19?5nbYrZ1s+r?;s>fL#oiNn1GcxZ*ic;81UQa_%x%`@aHi5le5OjF?TdHtKl zm4xTy+?c68NOJxI331<7mW{@TWjY?(hTLCF44YB3l{um>Dub>~UTcmPbHcZn^Olb2 z6Smo)mXWoC`xQSYpwy^=*wYD6>f3>5ARinZ#Ujfvyhk$IX#~u5J$U$?88nzqmLmkH zLcE)p{a>@)Bl@)NC@>wYS^*EHUBD;Oc0Zc?-toJAk8Ua5Z{(-^6Sb(Ocjk5&A&GZe zzg(~olgd#I`aB(dSC7|h^ZWh)P1<7+Q?t8zXd?q2^XEo$vL~)$&!j<@yvya~?COST z5UVcB!t+ljSh=}N2Tj0t;veghyS}QXh*QPjG%|OC;*T^6J&ClFu+V4i1D=7j>`NVXX%W3$puC}NM_ea5YGf+^Rk79uj~mOQPCQY;Oa`tb zHBKZY5c>v$JP-2yH=BmaqqkWEKTKWx*+?{J=g{8$ghQvD9X6cT)WmF1)C}iRP~GVQ zHpQgy(ekiGcHhTIlAIb-DM(ZC<(z-)XZXI9mcE!&WXkw+sGA`ij><)4yvAW1#Gb+Z zfice5!;83(9bJ3M$Yj=t)&gwhU1s%%!KqQ~HEI1{ViD69cg`<747GWUOazVj5>U9E zG>mC;GfY%%jg`Ld)6LdsRc#`wHkD@TNAoQQ<5bieNHXjORo`SOGD^>>fRfx0wShD` z-!*0lR2K;3;)fK{l!~SwLB)ljkwxktVSz8gqo^mYv^un(HpBUz#$;23{^>!`GU#xL z#kAgH?CoI>uW=`anMx}B5x<)sq#ZB7W9b}EwU$$9bX}l-VpRt)w&=g{+N}d z@a9bsEj^<+%{BJecam`3Ogwkl6yiv;+R)T$dK+dA7$*An3usYfxrcRh3V%0d!m^e% zUioC%)wm1ee3{$psTBV22h9Xiw4(B z`Gox_bTW%onokWR=`_&Q7=fNtG;FP!OiXN3!0uDUg4-_`)xJ4O?HX${AIe7UWLWh9 zGjAkRM|fHt|A!%3!AR(o@U$tu(;I#CaSl`kck*?HTxDqcP$-)FdeQU;96B`VnXs@! zLG~YCKuNEB%h1pkE%fw0Q2#t)=KsB9`^e{R%8z_LOd2IE;ugQX<-mzOiU!x|X=N_X z7kmbmo`CvfwlZtd`@+bHm8D1GqaUTeO`55amRU4+#ly(*sX0* zG0)G6>ZfyaF=7fSr^DbOfQCBLdSsm=h-uUq|0HlVKakZ-@Y1WRRh3F zubSp_0`0zNhPf4A(v_JpGB=hYvCRQk>-*6i>A!BigGm-3jtDv_-7GY$zvv35Sq)cz zZlEZoh|Sd~79FUtFbcKj_={3#dCC^OE&g?K!+WioI8XpprplU=3@{p+kk z3@=L05Z4%MU(SoWHgs{)y45U@i>{ zxc3sZmn=R|rsul*LHl&2c}!Ooh1=NbYKl9Y-6d6Eq+~(B8NzqU zFj$^{%C4JJw~DY>zAI1zMm*unsv+Jb@g&cTSN!h!?pjI563aegURT+U+05$SUyJU- zZJqoVRFm3!gGR+2`=7k$o!n;oL`pjLLtk>_nPnQQ&*hS(=Nu<+RGpp%h9zY}jDeho( zH&cRXo+zmTQFH8W)@@w!?t-CRpm5uGsZ~jbwvH7~-irO-%;FC1pY005Z5%2l@w=iJ zC%7}Kq1IN6c`NDPWJ@}Du0I+Jx3Tsv#_hI#Z+mcZ(+sX7orH|LKg_JA-d;SJq+{z9 zhb}suV2=+906I%frKD9XcRHceiC~Z4a3I4vrJtm0!QK)F6tBu-EuNe_v+9vR6l?D+ zBqEr%vh}LU$t|GL)-M zVbMIAEk}FdHhVA-eYXSZ86OY@WDocWL>@>5dL)yGR*v_3lL>^-vvlz z@~8ns@vkMBglL-9&8)U&SOVI}YUEOet?2tiIk}mCswD&RmdJ}c&;V{uXea5I>BQsR zW>y8Hho5^T>=IfTL9ghGJGPC{Y1IMw#Q|XUsV5;YRzNJUCeWOGKA;hhks(#s3fvhG ztBFlEZ)I28P`C~FtE@ih>;t|~>57i@bAev#yGZ$o#%`+zq zbQNx+J-c#plbD_X3~(lB#mVhYdyltpn}^0X*1Ve&UTC7rY(qil`_)QHGry0h){8yWRu&jAHz(ut8oZLj!{bP4)ojU-H_T2uV znXKVW3{rv3T|+aS+&VoiMe_26p_5K-k{f_gE$o!Ob#gP3{TsV0`n@XYe;cPhsZo7U{Zn~7Mu)&hk#lAS_u&rW9hw9g~g2X5w42lNh$n-;ujQmFtcEe z0{tKr{hxDEmnwim_&+#22PUKvprcl|(3nh@wUQEdTicg8^HywKfaWID0p?6$w*piS zPfFR1enA7Y^rtA0z2%zlpV=mM0H}pXerN$eqOYi^CV6s^(e+o(JoCnSZ9oB508aK6 zNCh+j3Rtkdq?v>?eD?<`zo`X8@%T$Uvzn!5!3Bs?2oSQOzu*FlL=J#9THhaO{6h#Z zCj1v6C-NMF@1#^=qiR^m#pc4k__`iszz`Z?LQdNg<8;zaj-omX$gh*Vt=0*cxJ4Ww z*3vA{?p;lw5%~guSfY;0z=f)j#_vZ8v;kJ846u<6SbIKK1CXtY1SAXT{czXaAF-R<8kXQ^LvB2I#Vj+&i0w`RZ0z_rK zP$U+cNG!1TkXVQ#v4A770M5zN0qWP@gCeoO-a}#`{tp&YNGziN!2Jqfq$@=LSg|$ViEHX z7UD=OHvhq53cvzTz;r9nwq}Sp5{oGSi+?9Mh$FEOM`8g*VzG(D0vYiD5``2G{)5F7 z5(_923%orf7SMmNm_lMP@DCQ^NG!1TkXS(f!D0%D#lSyUz>!!){)2@$5{sCBVFCXS zEC&9C1^mBZ5%VuBHdp@x3-Nzrfxm~u0*=H2io{|Qi3LzOJc(!ziNzEW3pf&s|I9YA z8$@CegT#Vh4~fMT5{oG$7H}jMfC8)n0R>nf70?7I0ExvE5(}Vm0E;Ok7MuTI0fwFD%6W1B-!wVFCRY7V!VTA{vPWAQpfH z9Ek3Iv&$Im8se`H_EEZhX{Sf8Ggmwf!ZhGL|Zlut|NdM>2Ipq99Op$x4NkK`^r0J^r*URg8k8kx_Uii1Nmz388aVDeF z?&kH9!@&_u^Nd$Cxwi$yy*8q4_z$waNkG5`$@#_t0UHH)2Ld)K@Qy0iMuaA&$P>QZ zH_4tbCJzs?p;gW0`r%q)m4AiIHb!R(fsNmIv3PSO=UlQBlKHTeq$k9tmAF;ln%^t+5nsS1X(rtG3XD*B-Hh zJg6f)6r;+C=J;-;f^H3M%82&i)gMJ32`xOuBRnH2F-eN9Nl7$qwoc(_qcvx_V`Cm% zo@~5ctGIb_add544qM@)HF~)fKRl#dKYTm$kgDDH|GDjRHP?bVcFgd>MJaV9%y1Ex zv2C!XmPFBQ!mRh%_tt7lzWCLw7MG~Bl}4W=aZmGwT5>hFiDeO{aWscXly#XbX%!V( zV5#?J6uJ;rVkhl)Cb=y?t*Yd=O1;@PD^Vt`(L<^zh;y>tUO2<-qkz&?jf5TC=!DbHcq z4Ck;LcHo`=92O&f4wDPp-Lqnv{45ilx1Bp!#r7N8D@9N>c{zN?KtKmYEm)rJuP4P5 zrQ#XLFGStoZ-9!CU8irnqA?Y{LXx}GrR=$y)(Wl z;7D?Gfz{t~JAmltA?-^jx|Cw^=4&mh{FnNN6GMLmTY3=Hd@zmK(A$*BkKV0o8IkoN z!IJc1Rjwx87~>MSMQozsoUH9`X*C>75AqHiYph{fi130;6wF zPO)AlzVQ&u4KEFB_-H8oN`?gcRmGmF{{2GA9Ci6iS~1gW|Fh4^*FEBCC;>7Rjg}(S z@!Q~1`1;=j!V#nW=ueVwZk@en zRX++$8@MthMl!vV&(nG2ippo)?X3;(4ZfGV-#mLw+3hEEwIlZMJO3NO{m$Emo%08u zWqQn)1Q!!>a%AOli{~Hwz0Uy+k01aif@#M;POp1zU^1Sx$uFkeLo}LEA*i)aijo8^g z@u~4}j%)E4t4;9f|J#c^yRNoAJJQKK^nzfQQ;k~#(ZZvN;L!d*ZsjkYy2n`n*RcTt zIS~Gv4|h*@TX!!Quh(lY9z+9fBtJfA`r~v6c011Unl|w&(QT+<38pQxGhxVs8#HLp zWuwHD&WGZ_rc5DPherD7sTL=EhCBLwy7z0npD4?eDkMReYL{YobsW)gTs_e%!% z9Z8c_S*AV~%roD$Rfc-SJ`JiIoj9CGAZ#;}$Hilkh!P9=xJy@`F}o??_}lB9Wu#R& zCN|VIR9#+uSX`NO-#3r?ENejm!{7waIkuX z79FVL|0H-NQDykj_s>8@b%5E^x!id&*Xy3V2*usYt^6V5lM%?pr`pDd2XQOhC!cl( zosBim|Cc9n>AYbR3qVLQR1k>vf9f4#xvCdKD|%>vUEu4d3r3ytT@V2(}U3L?x1nu&vg_L3>Q9}(jnD%!Ijy_~leSjiGg zsq~*e7K(F{Z*utE>99}|g z90A|(Fb~&b^8oi1@kbB6Z*5x_lSr#~O!CI4G z1P%um-B4eSyQz(zX3t)Pc16T>W?kh_5jqA7C902xwIv#yIV-Wwe2KWHFZYLQM&)Z=ox&{`RjsJ9WLYnF z<&4f>b~-)Psfouk2r(KCX*%%YdAX3H3zfhl_3^1s>kAY^benx#C#W?yre>T+Ukz1L z_HMel?KxkNIF^n1)#(6l<~tqr}JWS^vvlo4MxmYPy#AY-78I>K}iB7}_I2S+^d|QhVOGA7P`0i1GFhDl96pAG|bDB#cnrvs>a(T)*dS zsZizC=!Bt4^IHlkq#D*_h5Ru({{G%K@RtzB-Mh}uChQ1p5{@)ArENWy2^sSwPtIqR z(atNysT3eHI_j-eVMxXt@cTiPCF&LtcRN&wFbfV!CfNv6+F9-Sy}zv$tN5ifLlLxw znA&>C3&euD8^$Ip`~I7$`+G{NQ^;OC0X`&7fGoTDtPEM?h)0IkFA z%O|zSAKG^d&`q5m5_N3^FQ|U2KDvm?5~m9}>RuK3LP%6OHz3};?x0AI?z7E|+`!@G7iVZkL(LVfax{*4l@awCzaXQ7`&XE!7hO9E z?qebJzdvRvyZ9BON+V>S4iS2;DW&m0myZ#)RhzX79?GzNrx!Y=@N-69?Mc^=K7Otv z_r#~L=&T_GWpdg3wI;q%KQEqgN!*$|lWCtC+jHk%8Z@KNQ=Ov!QkBEc*8Wb4Q&1Lc zTe}uKA0Fa-6f`M46{x|oEXkLUShZt25%>E;Q*l`e+aVi3|K~a7!N&;q}Y~ykwQcQ>8Y%g`YtXN7;JT$~q%S`#|6KsJgK?L2@S5qw@%d zCUX<`J8+}OXJuE(ASM|sR%mlX*T2S+^gsle1YxOOt!gKa8DrpELmGX7npc9TGjdAiW3Kp4oe@h3C1w z@Ko@f`oe|PdV1lw;_$e972XD2U1%PylCgsD26QjKxOkmeb@cO7hK$wm&sQlXK+^U+ zeckQ^eVu5QjMWZjK)0a7zmqRsw~SU@H;z^%0cjnd7Pse(HE4o+EG`xImXli@j;Y>v z@1_5OJD3d)Gr6{4qUk*Gz0aXFG`|#EG&v<%;oUqwRu%8Gmq_iPsqAeLXKCg%gaIys?4& zAuA8g;wr4^bM!A16APW<=Oh0FKUI<-Kov980{0?_G7Pjao?vLvBnEl>5|YHZaL!b0 zKJKezJW8I-f~^V> zSyHFXH6j8X8E3?sm)wR@96yX;JIXE`8Lu8xQxxY$5m6IxJQnbd9LA-YDEi4pXj|mQ zu%Rq&Jm766%#t{mPZ2)YCcskoRNx!bRd1>POZi{Oz_p*`_p=`yx3G4rWr*E@BuAHX zPCj-o;GgyE{&sNflVwIr#Oxmzo)^AqwrQnRoqDHsil13$QrYK*j$}&rB}Nv>VajZ4 zIa`MfK`mKb{BHYYSfbi)d0)-xckd?mc2@;i(&xs=>19@%8B`tHS+F|&&QidCc2G(t zZ>Cn}&_uTeAoLqrTS{WiU(3M}?hYq-aUZBOY?KUnRq&J5xq4Kca7};b>68lA`(T6n$1Ig%9x}%HRAzy4U9#Q&(P#p*519gc88kbH_MWM-q!ex0*6k2o zdkqrr6Fw`va=XW#=SB+)+N|f`a;HWAgJ>6#hI8Dl9s|>q_N*&Q$rQ;|oK;T`Yysg^ z0;hV<6S1QeF5bgT=K{}AQ(BLR4`Q4Xti}E;-y=|)`yLZ{;ZIU@Q$8x3X1;3l*s*nX z!}7w*8GuN1CXXcMtF0PE>v;RD)tIyQ+i-vQh8L&e*BSNe8$o48SJYO99_yUpW4o{HLc-Z>RJqHQxr}h z7Kplte~N2=_od$LUK`!@=@)j$d6&GMXVFVId-`TjgQPL!{qjt7!JpoH=Q>-*rPRUeeUb6uityhkVg}y zOU2Gaee=_F!c?N@O2vqYC5t>293Ce*K4AXmN)`mtahEg#7O($)VF5=F2YY85*uR&% z|F;mqe-(0u0L$I~Pf^PMUG!heWETg&f1ic@Pb->C&fDFp&_F6cc=G=_%hr(>r~?WL z4-E>@S65My1PiE9Z0$9#e+j3iWXX^=(88`w|OI0@am$M~UtOT%LCbwLk5 z+l_h!+F$nazi#Uh1EEXn$-UbkIM9sv7#`yu@Ir3$Ddx9K-M>1QGQJ9HV>D~WAG(}% zzNlZEXiz4i7E;yZLq5)tXuRHPA0h5*{j+}(I1R$iIWlazs6F}clc;s=%WQzi<|J!u z+^7^!C#rO+%@(^{gVlQE=>mW6G~h_UgsKQp!j-Jw?; zWz>|fvmXW5n~Td}+)^LCcrkTX^CYAy#D;lkzO^MOnThMKk?G7!@UG8mu*79=p+nXn z{zJV(rgj)jYT2?sjXD-H?sM#)+O?JU{CV(gTz|TzjP?ba;HSPi!}2q&kU5_(+m1H{ zz88s*f*UL@wYuuLqSjWO zu(l047Irf5NUA_JXag&N*ymz@Q}j~KvYCi^3mVdURR>{;JR<=yS@%&sJBKYTo1^Y5 zJAEB-q&I);`I8MDfhKRU@VOZ!LVz|qn*hHtSiTg0WQFAWU!lJsIg-Cm%a7xee#epM zoww*s@_3(I;ziUeMqx>pLOHqbR!?h#ZZTl~c>bC?KG>3y!J*k&O|Lz>m9W|SRDfrb z)>Y`UukH!kj4n0nL@HT+QOqEu1@ZO!5-WfdP_`gr&vk%2*j6sK6UzySmdlL=h zr@c|-SwZrQZVCNCAT3TUekBKb*RR*j{Y;)^Xi}Z^Xn~+pz0Yi*7dT&0EH-5+F?e|T z{Ew~(u#?e0U~9XEd4e{+NrHS*eL+_^JlEc%bw8w@aq{56iKI>Qpi|c&+FS&n*BB=* zgHJ$MQY51T4g`Czm8t6$iC$w_ouPwzeiF!wf*6jDhr;cEkt)3$zwqcLs+D_;yrgF>IQx2C*0+#mK?G-0d=b-3=dDX3rUDU z4WgMnvON4b#>!P7?nDKYlaHRyO%2irxsE_CcSIE2Lk@W;%r2Os_(dXBC@k_Q)|kyR zMQOOJ`M%R2`NZ`p8=}`<`_&+?hPN2?Uu>M$F~*OM9Zy~{7RgwS)rPCW+JxFZi`wbh z@`To{DWkz7lQ54^t)_@3kBYo2MdtGd{b4`I>*O!D9DRS;#SrAbGH}Q=GBy>s*bMY& z@5p_nZ8XbD*GDMXv2ERkR@8LJP*p9vO1oHZspTiMGnpY~z+2kQ;a*mKq{e2S$)axD z#aUI|nCG61Cz+&z<|Le>FgcWiWos`5;YqEO%8aoGD9?MlC+=0A;e)+T9XW(xPgx)_O9M@&kkx4fSH&=%QIk8 zjTcu@+=tH5QqR6~bFD5s8TZ$aQBJQem-Z6sBajXKO~`=K zwO`d3fzoxld|szJe9O=EZ8fQCF{>f35t;pJ{|CP16S4l)H79dH@6h4B#wlOzD>kMI zi8VJ`dq(HEd>Ut?wU3kI`tejs=p1sM6`ln!mFX8r4O8l~M;5847&c`B>dfj-KYTCx zoO3ERKSneXnqg_LK5uBpIquT^)P1cW@D2CXH0Y;gG&YFfS10eK*ptrQZ{RN!Z#hv( zzQuvSLbiV;_dl;!n~kUwV*4;M5mxAn$?iY*15>e#NfQt31MvMiIOJetT z&~p)?Scb+}dy+8InoOE?DZi4#k#kNaSqjT`P6>;M-wM9vl_M6mq+8fkgTD_?dX(OA zs$VKdnj{gY!C_frTlDWLf8PD|w_Fr)MC?x}rz<}$+7nrFwyUVjdX&G;%rxS~H{3CA zBZ>d@djkdM#AVmaG4#??!cRiNc#Hs{!cm%edU<$qKNi#|uE}8+EANBaX8S(lN#ed$ ze8A=oH!TU1=bNU{ry2HoM$DpyMk?szdV-=pXtY?}bbTHSOgcs_q*sAVTcoPL@1Kq4 z=}%FGih=T@jYP=gYvk`XK>jXYRj1@nYyPa89e!+E|0!JqA`bIf@xS!xGj}0aC;V-N zQrau+f2w-=v1Q?O?&Y4yRHDe;A@iQvgJ6B{LoZ@Ja?Br;X`UTLNb&wdW?kcr`xZ@PaRto$zUX|2y$&VQKg(2jTEL zB205C*B~r&j#f`kM=1N${OUe)sdzP63|L4U-$!TG6*I>6P|EaMzl{TMF2O#teNgtB z$^LhYP-gWLK|^a>Eccpf)2Yj9k60wGnjwazxkN-Lx$sP#r> z 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 Yu8+P-%M#FwfSr*e*OK- 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 z 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

vH#I&2FDQ8Xa7!;F-q<*{qKZD`(M38Q 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%0A0(iX^CV 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 literal 0 HcmV?d00001 From 1c21b5a9b45312cdb958e265af4c6b459d9ca3ec Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Mon, 26 Sep 2022 18:03:07 +0200 Subject: [PATCH 06/34] Update ChangeLog --- ChangeLog | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index e1030fa18de..4ca56665cee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,8 @@ NEW Minimal PHP version is now PHP 7.0 instead of PHP 5.6 For developers or integrators: ------------------------------ +NEW Minimal PHP version is now PHP 7.0 instead of PHP 5.6 + ... @@ -25,6 +27,7 @@ Following changes may create regressions for some external modules, but were nec * Trigger ORDER_SUPPLIER_DISPATCH is removed, use ORDER_SUPPLIER_RECEIVE and/or LINEORDER_SUPPLIER_DISPATCH instead. + ***** ChangeLog for 16.0.0 compared to 15.0.0 ***** For users: @@ -49,28 +52,24 @@ NEW: ACE Editor is restored at same cursor position after a save. NEW: Add "addMoreActionsButtons" hook to subscription form NEW: Add an option in GUI to show a Quick add button into top menu bar NEW: Add a workflow to auto link contract on a ticket -NEW: Add column date of Signature on proposal list NEW: Add column template invoice in invoice list NEW: Add column "Total HT" to products array on document creation card NEW: Add configuration for text color of button action -NEW: Add entity filter in exports NEW: Show the event block on recurring invoices #20870 NEW: Add firstname, lastname and max number of attendees for module "Event Organization" NEW: Add margin info in proposal and order list -NEW: Add massaction "Edit Extrafield" for Product NEW: Add more fields to detect duplicate during import of thirdparties NEW: Add option to foce delivery on email for purchase order receipt to yes NEW: Add possibility to create contract from invoice NEW: Add possibility with constant MAIN_LOGIN_BADCHARUNAUTHORIZED to define bad character unauthorized into login name -NEW: Add private and public notes on tax files. +NEW: Add private and public notes on tax files NEW: Add substitutions "user numbers" -NEW: allow a ticket to be automatically marked as read when created from backend. NEW: allow cut&paste as real numeric value to excel NEW: A public form to send a message and create a lead is available NEW: automatically set totally received status in reception NEW: Auto set invoice paid when adding credit not and remain to pay is 0 +NEW: Backup tool has an "lowmemory" option for mysqldump on large database NEW: Can enter price with tax for predefined products on purchase objects -NEW: Can filter on a thirdparty on product statistics NEW: Can removed doc templates from setup page of thirdparty NEW: Can use ! to make a search that exclude a string NEW: clean values and amount in FEC import @@ -86,12 +85,13 @@ NEW: Dictionaries - Availibility dictionnary has a new column unit and number NEW: Display errors in a message box after generating documents NEW: Enhance the import. Can use 'auto' for the ref (import of orders) NEW: Events on Proposal to Return to Draft +NEW: Exports - add entity filter in exports NEW: Page to list expense report payments NEW: JS inventory autocalc input NEW: language support for more emailing target selectors NEW: leave requests: add field into type dictionary to block request if balance is negative NEW: Mass action "Close shipments" -NEW: Module BOM - add tabs for nets Bom +NEW: Module BOM - add tabs for nets BOM NEW: Module BOM - add the possibility to add sub-BOMs to BOM NEW: Module Recruitment - Add a public page with list of all open job positions. NEW: Module Recruitment - Add a tab with list of application on the jobposition file. @@ -105,14 +105,18 @@ NEW: Knowledge Management - add status "Obsolete" to KM articles NEW: MRP - split consumption line on MO NEW: MRP - display physical and virtual stock of the products when creating OF from a BOM NEW: MRP - display product ref in "Object link" product tab for BOM +NEW: Orders - support user_modif in order +NEW: Products - add massaction "Edit Extrafield" for Product +NEW: Products - List - add thumbnail field in product list +NEW: Products - Statistics - can filter on a thirdparty NEW: Projects - add filter "opportunity status" on statistics of projects. NEW: Proposals - option update prices on proposal cloning +NEW: Proposals - List - add column date of Signature on proposal list NEW: SEPA XML - option to place payment Type Info at Credit transfer Transaction level NEW: Stocks - stock filter in reassort lists NEW: Stocks - stock limit in stock export CSV NEW: Stocks - Inventory - can change value of AWP during the inventory NEW: Supplier order - Show ref supplier of reception in linked object block -NEW: support user_modif in order NEW: Surveys - Show number of votes into the label of tab "Results" of a survey NEW: TakePOS - barcode rule to insert product in TakePOS NEW: TakePOS - pagination on search results @@ -122,19 +126,18 @@ NEW: TakePOS - add constant to show category description NEW: TakePOS - add constant to show only the products in stock NEW: Themes - add param color button action NEW: Themes - Change in theme colors does not need to use the refresh button -NEW: Themes - more mode for THEME_TOPMENU_DISABLE_IMAGE (2, 3, ...) +NEW: Themes - more modes for THEME_TOPMENU_DISABLE_IMAGE (2, 3, ...) NEW: Themes - MD - add param border table for md theme -NEW: Third-Parties - Add rules "customer accountancy code" is mandatory to validate invoice -NEW: Third-Parties - Can set the parent company during the creation of thirdparty (action=add of societe/card.php) +NEW: Third-Parties - add rules "customer accountancy code" is mandatory to validate invoice +NEW: Third-Parties - can set the parent company during the creation of thirdparty (action=add of societe/card.php) +NEW: Tickets - allow a Ticket to be automatically marked as read when created from backend NEW: Tickets - create Third-party with contact if not found on public ticket NEW: Tickets - option to default check "notify tier at creation" NEW: Tickets - Trigger: allow to automatically send messages on new tickets NEW: Tickets - optional display warning icons on ticket list NEW: Websites Module - supports now the multicompany module NEW: Websites Module - on redirect of page in website module, GET parameters are kept. -NEW: The backup tools has an "lowmemory" option for mysqldump on large database NEW: The 'reposition' class works on ajax constantonoff that make redirects -NEW: thumbnail field in product list NEW: total mark rate in list NEW: uncheck "send message" by default on a ticket when private messages has been checked NEW: VAT Report by month - Show detail by rate and also by code @@ -142,8 +145,8 @@ NEW: Added MMK currency (Myanmar Kyat) NEW: On a form to send an email, we show all emails of contacts of object Modules state -NEW: Module Partnership Management -NEW: Module Event Organization Management +NEW: Module Partnership Management - stable +NEW: Module Event Organization Management - stable For developers or integrators: From 94c730ce198590b8c54609bd95259f0ca4ac84b6 Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Mon, 26 Sep 2022 18:14:55 +0200 Subject: [PATCH 07/34] Update agenda.php --- htdocs/adherents/agenda.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/htdocs/adherents/agenda.php b/htdocs/adherents/agenda.php index ef1daf0b6c8..e13211fb239 100644 --- a/htdocs/adherents/agenda.php +++ b/htdocs/adherents/agenda.php @@ -21,24 +21,26 @@ */ /** - * \file htdocs/adherents/agenda.php - * \ingroup member - * \brief Page of members events + * \file htdocs/adherents/agenda.php + * \ingroup member + * \brief Page of members events */ // Load Dolibarr environment require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; +require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php'; +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php'; // Load translation files required by the page -$langs->loadLangs(array("companies", "members")); +$langs->loadLangs(array('companies', 'members')); +// Get Parameters $id = GETPOST('id', 'int') ?GETPOST('id', 'int') : GETPOST('rowid', 'int'); +// Pagination $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); @@ -72,6 +74,7 @@ $objcanvas = null; // Security check $result = restrictedArea($user, 'adherent', $id); +// Initialize technical objects $object = new Adherent($db); $result = $object->fetch($id); if ($result > 0) { @@ -116,9 +119,7 @@ $contactstatic = new Contact($db); $form = new Form($db); -/* - * Customer and/or supplier category sheet - */ + if ($object->id > 0) { require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; From 68902bb0e59803ce74b1dca9c03c9c83cf5119b6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 26 Sep 2022 19:05:46 +0200 Subject: [PATCH 08/34] css --- htdocs/theme/eldy/dropdown.inc.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/theme/eldy/dropdown.inc.php b/htdocs/theme/eldy/dropdown.inc.php index bfde88726e9..b3f91901575 100644 --- a/htdocs/theme/eldy/dropdown.inc.php +++ b/htdocs/theme/eldy/dropdown.inc.php @@ -183,7 +183,7 @@ div#topmenu-quickadd-dropdown a::after, div#topmenu-bookmark-dropdown a::after { border-top-left-radius: 0; padding: 1px 0 0 0; border-top-width: 0; - width: 300px; + width: 360px; } .topnav .user-menu .dropdown-menu { top: 50px; @@ -522,6 +522,9 @@ div.quickaddblock:focus { max-width: 360px; } + .side-nav-vert .user-menu .dropdown-menu, .topnav .user-menu .dropdown-menu { + width: 300px; + } .dropdown-menu { border: none; -webkit-box-shadow: none; From 1a5f39dc7e8c051f9ab5ddee8a11084ae1c699d9 Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Mon, 26 Sep 2022 19:57:07 +0200 Subject: [PATCH 09/34] Update conf.php.example --- htdocs/conf/conf.php.example | 107 ++++++++++++++++++++++++----------- 1 file changed, 75 insertions(+), 32 deletions(-) diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index 4090130bc36..05c29459ee2 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -2,9 +2,9 @@ // Dolibarr example for conf.php file // // Do not edit this file without changing its name. -// This file is an example of empty config file for Dolibarr than can be used to create "conf.php". +// This file is an example of empty config file for Dolibarr that can be used to create "conf.php". // -// Warning: Be sure to not add line feed or spaces after closing php tag. +// Warning: Be sure not to add line feed or spaces after closing php tag! //################### @@ -12,12 +12,14 @@ //################### // dolibarr_main_url_root +// ====================== // This parameter defines the root URL of your Dolibarr index.php page without ending "/". -// It must link to the directory htdocs. +// It must link to the directory htdocs // In most cases, this is autodetected but it's still required // * to show full url bookmarks for some services (ie: agenda rss export url, ...) // * or when using Apache dir aliases (autodetect fails) // * or when using nginx (autodetect fails) +// // Examples: // $dolibarr_main_url_root='http://localhost'; // $dolibarr_main_url_root='http://mydolibarrvirtualhost'; @@ -28,8 +30,9 @@ $dolibarr_main_url_root=''; // dolibarr_main_document_root -// This parameter contains absolute file system directory of Dolibarr -// htdocs directory +// =========================== +// This parameter contains absolute file system path of Dolibarr htdocs directory +// // Examples: // $dolibarr_main_document_root='/var/www/dolibarr/htdocs'; // $dolibarr_main_document_root='C:/My web sites/dolibarr/htdocs'; @@ -38,10 +41,12 @@ $dolibarr_main_document_root=''; // dolibarr_main_url_root_alt +// ========================== // This parameter defines the relative sub URLs to add to $dolibarr_main_url_root to // forge alternative root directories (used by modules developers). // You can put several values, separated by a coma, but number of entries must match // number of entries into $dolibarr_main_document_root_alt. +// // Examples: // $dolibarr_main_url_root_alt='/custom'; // $dolibarr_main_url_root_alt='/extensions1,/extensions2'; @@ -50,10 +55,11 @@ $dolibarr_main_document_root=''; // dolibarr_main_document_root_alt -// This parameter contains absolute alternative root file system directories (used by -// modules developers). +// =============================== +// This parameter contains absolute alternative root file system directories (used by modules developers). // You can put several values, separated by a coma, but number of entries must match // number of entries into $dolibarr_main_url_root_alt. +// // Examples: // $dolibarr_main_document_root_alt='/var/www/dolibarr/htdocs/custom'; // $dolibarr_main_document_root_alt='C:/My web sites/dolibarr/htdocs/extensions1,C:/My web sites/dolibarr/htdocs/extensions2'; @@ -62,8 +68,10 @@ $dolibarr_main_document_root=''; // dolibarr_main_data_root +// ======================= // This parameter contains absolute file system directory of Dolibarr // directory used to store uploaded and generated physical files. +// // Examples: // $dolibarr_main_data_root='/var/www/dolibarr/documents'; // $dolibarr_main_data_root='E:/My web sites/dolibarr/documents'; @@ -72,8 +80,9 @@ $dolibarr_main_data_root=''; // dolibarr_main_db_host -// This parameter contains host name or ip address of Dolibarr database -// server. +// ===================== +// This parameter contains host name or ip address of Dolibarr database server. +// // Examples: // $dolibarr_main_db_host='localhost'; // $dolibarr_main_db_host='127.0.0.1'; @@ -84,7 +93,9 @@ $dolibarr_main_db_host=''; // dolibarr_main_db_port +// ===================== // This parameter contains the port of the Dolibarr database. +// // Default value: none // Examples: // $dolibarr_main_db_host='3306'; @@ -93,7 +104,9 @@ $dolibarr_main_db_port=''; // dolibarr_main_db_name +// ===================== // This parameter contains name of Dolibarr database. +// // Examples: // $dolibarr_main_db_name='dolibarr'; // $dolibarr_main_db_name='mydatabase'; @@ -102,8 +115,9 @@ $dolibarr_main_db_name=''; // dolibarr_main_db_user -// This parameter contains user name used to read and write into -// Dolibarr database. +// ===================== +// This parameter contains user name used to read and write into Dolibarr database. +// // Examples: // $dolibarr_main_db_user='admin'; // $dolibarr_main_db_user='dolibarruser'; @@ -112,8 +126,9 @@ $dolibarr_main_db_user=''; // dolibarr_main_db_pass -// This parameter contains password used to read and write into -// Dolibarr database. +// ===================== +// This parameter contains password used to read and write into Dolibarr database. +// // Examples: // $dolibarr_main_db_pass='myadminpass'; // $dolibarr_main_db_pass='myuserpassword'; @@ -122,8 +137,9 @@ $dolibarr_main_db_pass=''; // dolibarr_main_db_type -// This parameter contains the name of the driver used to access your -// Dolibarr database. +// ===================== +// This parameter contains the name of the driver used to access your Dolibarr database. +// // Default value: none // Possible values: mysqli, pgsql // Examples: @@ -134,7 +150,9 @@ $dolibarr_main_db_type=''; // dolibarr_main_db_character_set +// ============================== // Database character set used to store data (forced during database creation. value of database is then used). +// // Default value: depends on database driver // Examples: // dolibarr_main_db_character_set='utf8'; @@ -143,7 +161,9 @@ $dolibarr_main_db_character_set='utf8'; // dolibarr_main_db_collation +// ========================== // Database character set used to sort data (forced during database creation. value of database is then used). +// // Default value: depends on database driver // Examples: // $dolibarr_main_db_collation='utf8_unicode_ci'; @@ -152,7 +172,8 @@ $dolibarr_main_db_collation='utf8_unicode_ci'; // dolibarr_main_db_readonly -// Set this to 1 to have the application working in readonly mode. All sql access INSERT/UPDATE/DELETE/CREATE/ALTER/TRUNCATE/DROP will be disabled. +// ========================= +// Set this to 1 to have the application working in readonly mode. All SQL commands INSERT/UPDATE/DELETE/CREATE/ALTER/TRUNCATE/DROP will be disabled. // Default value: 0 // Examples: // $dolibarr_main_db_readonly='0'; @@ -161,6 +182,7 @@ $dolibarr_main_db_readonly=0; // dolibarr_main_instance_unique_id +// ================================ // An secret ID that is unique for each installation. // This value is also visible and never propagated outside of Dolibarr, so it can be used as a salt / key for some encryption (For example to get // a unique hashed key, application will hash the value concatenated with a string. Example: md5('dolibarr'+dolibarr_main_instance_unique_id) @@ -178,6 +200,7 @@ $dolibarr_main_instance_unique_id='84b5bc91f83b56e458db71e0adac2b62'; //################## // dolibarr_main_authentication +// ============================ // This parameter contains the way authentication is done. // If value "ldap" is used, you must also set parameters dolibarr_main_auth_ldap_* // Default value: 'dolibarr' @@ -186,28 +209,29 @@ $dolibarr_main_instance_unique_id='84b5bc91f83b56e458db71e0adac2b62'; // values using a ",". In this case, Dolibarr will check login/pass for each value in // order defined into value. However, note that this can't work with all values. // Examples: -// $dolibarr_main_authentication='dolibarr'; // Use the password defined into application on user file (default). -// $dolibarr_main_authentication='http'; // Use the HTTP Basic authentication -// $dolibarr_main_authentication='ldap'; // Check the password into a LDAP server -// $dolibarr_main_authentication='ldap,dolibarr'; // You can set several mode using a comma as a separator. -// $dolibarr_main_authentication='forceuser'; // This need to add also $dolibarr_auto_user='loginforuser'; -// $dolibarr_main_authentication='twofactor'; // To use Google Authenticator. This need the non official external module "Two Factor" available on www.dolistore.com +// $dolibarr_main_authentication='dolibarr'; // Use the password defined into application on user file (default). +// $dolibarr_main_authentication='http'; // Use the HTTP Basic authentication +// $dolibarr_main_authentication='ldap'; // Check the password into a LDAP server +// $dolibarr_main_authentication='ldap,dolibarr'; // You can set several mode using a comma as a separator. +// $dolibarr_main_authentication='forceuser'; // This need to add also $dolibarr_auto_user='loginforuser'; +// $dolibarr_main_authentication='twofactor'; // To use Google Authenticator. This need the non official external module "Two Factor" available on www.dolistore.com // $dolibarr_main_authentication='dolibarr'; -// Parameters used to setup LDAP authentication. +// Parameters used to setup LDAP authentication +// -------------------------------------------- // Uncomment them if dolibarr_main_authentication = 'ldap' // // $dolibarr_main_auth_ldap_host='127.0.0.1'; // You can define several servers here separated with a comma. // $dolibarr_main_auth_ldap_port='389'; // Port -// $dolibarr_main_auth_ldap_version='3'; -// $dolibarr_main_auth_ldap_servertype='openldap'; // openldap, activedirectory or egroupware -// $dolibarr_main_auth_ldap_login_attribute='loginfield'; // Ex: uid or samaccountname for active directory +// $dolibarr_main_auth_ldap_version='3'; // Version of LDAP +// $dolibarr_main_auth_ldap_servertype='openldap'; // openldap, activedirectory or egroupware +// $dolibarr_main_auth_ldap_login_attribute='loginfield'; // Ex: uid or samaccountname for active directory // $dolibarr_main_auth_ldap_dn='ou=users,dc=my-domain,dc=com'; // Ex: ou=users,dc=my-domain,dc=com // $dolibarr_main_auth_ldap_filter = ''; // If defined, the two previous parameters (dolibarr_main_auth_ldap_login_attribute and dolibarr_main_auth_ldap_dn) are not used to find a user into LDAP. Instead we use this search string. Ex: (uid=%1%) or &(uid=%1%)(isMemberOf=cn=Sales,ou=Groups,dc=opencsi,dc=com). -// $dolibarr_main_auth_ldap_admin_login=''; // Required only if anonymous bind disabled. Ex: cn=admin,dc=example,dc=com -// $dolibarr_main_auth_ldap_admin_pass=''; // Required only if anonymous bind disabled. Ex: secret +// $dolibarr_main_auth_ldap_admin_login=''; // Required only if anonymous bind disabled. Ex: cn=admin,dc=example,dc=com +// $dolibarr_main_auth_ldap_admin_pass=''; // Required only if anonymous bind disabled. Ex: secret // $dolibarr_main_auth_ldap_debug='false'; @@ -224,6 +248,7 @@ $dolibarr_main_authentication='dolibarr'; //################## // dolibarr_main_force_https +// ========================= // This parameter allows to force the HTTPS mode. // 0 = No forced redirect // 1 = Force redirect to https, until SCRIPT_URI start with https into response @@ -241,6 +266,7 @@ $dolibarr_main_authentication='dolibarr'; $dolibarr_main_force_https='0'; // dolibarr_main_prod +// ================== // When this parameter is defined, all errors messages are not reported. // This feature exists for production usage to avoid to give any information to hackers. // Default value: 1 @@ -250,7 +276,8 @@ $dolibarr_main_force_https='0'; // $dolibarr_main_prod='1'; -// $dolibarr_main_restrict_os_commands +// dolibarr_main_restrict_os_commands +// ================================== // To restrict commands you can execute by the backup feature, enter allowed command here. // Note: If you can, defining permission on OS linux (using SELinux for example) may be a better choice. // Default value: 'mysqldump, mysql, pg_dump, pgrestore' @@ -259,7 +286,8 @@ $dolibarr_main_prod='1'; // $dolibarr_main_restrict_os_commands='mysqldump, mysql, pg_dump, pgrestore'; -// $dolibarr_main_restrict_ip +// dolibarr_main_restrict_ip +// ========================= // To restrict access to backoffice to some ip addresses only. Use a comma to separate values. // Note: Pages that does not need login (like public pages, web site) are not protected with this. // Default value: '' @@ -269,6 +297,7 @@ $dolibarr_main_restrict_os_commands='mysqldump, mysql, pg_dump, pgrestore'; $dolibarr_main_restrict_ip=''; // dolibarr_nocsrfcheck +// ==================== // This parameter can be used to disable CSRF protection. // This might be required if you access Dolibarr behind a proxy that make bad URL rewriting, to avoid false alarms. // In most cases, you should always keep this to 0. @@ -280,6 +309,7 @@ $dolibarr_main_restrict_ip=''; $dolibarr_nocsrfcheck='0'; // dolibarr_cron_allow_cli +// ======================= // If set to 1, you will be able to define some command line in the internale Job scheduler module. // Default value: '0' // Examples: '1' @@ -287,6 +317,7 @@ $dolibarr_nocsrfcheck='0'; $dolibarr_cron_allow_cli='0'; // dolibarr_mailing_limit_sendbyweb +// ================================ // Can set a limit for mailing send by web. This overwrite database value. Can be used to restrict on system level. // Default value: '25' // Examples: '-1' (sending by web is forbidden) @@ -294,6 +325,7 @@ $dolibarr_cron_allow_cli='0'; // $dolibarr_mailing_limit_sendbyweb='25'; // dolibarr_mailing_limit_sendbycli +// ================================ // Can set a limit for mailing send by cli. This overwrite database value. Can be used to restrict on system level. // Default value: '0' (no hard limit, use soft database value if exists) // Examples: '-1' (sending by cli is forbidden) @@ -301,18 +333,21 @@ $dolibarr_cron_allow_cli='0'; // $dolibarr_mailing_limit_sendbycli='0'; // MAIN_ANTIVIRUS_COMMAND (as a constant) +// ====================== // Force a value for the antivirus command line tool so setup for admin user interface has no effect. // Default value: '' // Example: '/usr/bin/clamdscan'; // define('MAIN_ANTIVIRUS_COMMAND', '/usr/bin/clamdscan'); // MAIN_ANTIVIRUS_PARAM (as a constant) +// ==================== // Force a value for the antivirus parameters on command line so setup for admin user interface has no effect. // Default value: '' // Example: '--fdpass'; // define('MAIN_ANTIVIRUS_PARAM', '--fdpass'); // php_session_save_handler +// ======================== // Try to use the Dolibarr internal session handler that uses a database instead of the PHP handler (experimental). // If you enable this feature to 'db', you may also want to enable the following constants: // $dolibarr_session_db_type, $dolibarr_session_db_host, $dolibarr_session_db_user, $dolibarr_session_db_pass @@ -323,6 +358,7 @@ $dolibarr_cron_allow_cli='0'; // $php_session_save_handler=''; // force_install_lockinstall +// ========================= // If this value is set to a value, it forces the creation of a file install.lock once an upgrade process into a new version end. // The value is the octal value of permission to set on created file. // The file install.lock prevents the use of the migration process another time. You will have to delete it manually for @@ -338,11 +374,14 @@ $dolibarr_cron_allow_cli='0'; //################## // dolibarr_main_db_prefix -// This parameter contains prefix of Dolibarr database. 'llx_' if not defined. +// ======================= +// This parameter contains prefix of Dolibarr database. +// Default value: 'llx_' if not defined // Examples: // $dolibarr_main_db_prefix='llx_'; // dolibarr_main_limit_users +// ========================= // Can set a limit on the number of users it will be possible to create // (the superadmin not included). Can be used for a restricted mode. // Default value: 0 (unlimited) @@ -350,12 +389,14 @@ $dolibarr_cron_allow_cli='0'; // $dolibarr_main_limit_users='0'; // dolibarr_strict_mode +// ==================== // Set this to 1 to enable the PHP strict mode. For dev environment only. // Default value: 0 (use database value if exist) // Examples: // $dolibarr_strict_mode=0; // dolibarr_allow_download_external_modules +// ======================================== // Provide a link to download the zip of an external modules installed into custom directory from the web admin. // Default value: 0 // Examples: @@ -376,17 +417,19 @@ $dolibarr_cron_allow_cli='0'; //$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap'; //$dolibarr_lib_ODTPHP_PATH=''; //$dolibarr_lib_ODTPHP_PATHTOPCLZIP="/usr/share/php/libphp-pclzip"; + // Value to overwrite path to use shared javascript instead of embedded one //$dolibarr_js_CKEDITOR='/javascript/ckeditor'; //$dolibarr_js_JQUERY='/javascript/jquery'; //$dolibarr_js_JQUERY_UI='/javascript/jquery-ui'; + // Value to overwrite some path to use font instead of embedded one //$dolibarr_font_DOL_DEFAULT_TTF="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf"; //$dolibarr_font_DOL_DEFAULT_TTF_BOLD="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf"; //############################## -// External module +// External modules //############################## From a3b098364e20c6aed7acf15241ab2a62f315356e Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Mon, 26 Sep 2022 21:49:16 +0200 Subject: [PATCH 10/34] Update trips.lang we have trip.lang & new expensereports.lang should we merge and make a migration to expensereports.lang (or shorter expense/expreport) or stay at trip.lang ? --- htdocs/langs/en_US/trips.lang | 68 ++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/htdocs/langs/en_US/trips.lang b/htdocs/langs/en_US/trips.lang index 9210ede360c..9f51df0bf56 100644 --- a/htdocs/langs/en_US/trips.lang +++ b/htdocs/langs/en_US/trips.lang @@ -38,39 +38,6 @@ TripSociete=Information company TripNDF=Informations expense report PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line -TF_OTHER=Other -TF_TRIP=Transportation -TF_LUNCH=Lunch -TF_METRO=Metro -TF_TRAIN=Train -TF_BUS=Bus -TF_CAR=Car -TF_PEAGE=Toll -TF_ESSENCE=Fuel -TF_HOTEL=Hotel -TF_TAXI=Taxi -EX_KME=Mileage costs -EX_FUE=Fuel CV -EX_HOT=Hotel -EX_PAR=Parking CV -EX_TOL=Toll CV -EX_TAX=Various Taxes -EX_IND=Indemnity transportation subscription -EX_SUM=Maintenance supply -EX_SUO=Office supplies -EX_CAR=Car rental -EX_DOC=Documentation -EX_CUR=Customers receiving -EX_OTR=Other receiving -EX_POS=Postage -EX_CAM=CV maintenance and repair -EX_EMM=Employees meal -EX_GUM=Guests meal -EX_BRE=Breakfast -EX_FUE_VP=Fuel PV -EX_TOL_VP=Toll PV -EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair DefaultCategoryCar=Default transportation mode DefaultRangeNumber=Default range number UploadANewFileNow=Upload a new document now @@ -148,3 +115,38 @@ CarCategory=Vehicle category ExpenseRangeOffset=Offset amount: %s RangeIk=Mileage range AttachTheNewLineToTheDocument=Attach the line to an uploaded document + +## Dictionary +EX_BRE=Breakfast +EX_CAM=CV maintenance and repair +EX_CAM_VP=PV maintenance and repair +EX_CAR=Car rental +EX_CUR=Customers receiving +EX_DOC=Documentation +EX_EMM=Employees meal +EX_FUE=Fuel CV +EX_FUE_VP=Fuel PV +EX_GUM=Guests meal +EX_HOT=Hotel +EX_IND=Indemnity transportation subscription +EX_KME=Mileage costs +EX_OTR=Other receiving +EX_PAR=Parking CV +EX_PAR_VP=Parking PV +EX_POS=Postage +EX_SUM=Maintenance supply +EX_SUO=Office supplies +EX_TAX=Various Taxes +EX_TOL=Toll CV +EX_TOL_VP=Toll PV +TF_BUS=Bus +TF_CAR=Car +TF_ESSENCE=Fuel +TF_HOTEL=Hotel +TF_LUNCH=Lunch +TF_METRO=Metro +TF_OTHER=Other +TF_PEAGE=Toll +TF_TAXI=Taxi +TF_TRAIN=Train +TF_TRIP=Transportation From b5a9ad7cf7c1e4cd05e7f594da19dc48eeedf1f5 Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Mon, 26 Sep 2022 21:56:13 +0200 Subject: [PATCH 11/34] Update HOWTO-Translation.txt --- htdocs/langs/HOWTO-Translation.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/langs/HOWTO-Translation.txt b/htdocs/langs/HOWTO-Translation.txt index 0a05133fdb8..7e7d3c68af1 100644 --- a/htdocs/langs/HOWTO-Translation.txt +++ b/htdocs/langs/HOWTO-Translation.txt @@ -3,7 +3,8 @@ An instruction guide for translating Dolibarr in a new language is available on Dolibarr wiki: -English: https://wiki.dolibarr.org/index.php/Translator_documentation -French: https://wiki.dolibarr.org/index.php/Documentation_traducteur -Spanish: https://wiki.dolibarr.org/index.php/Documentaci%C3%B3n_traductores -German: https://wiki.dolibarr.org/index.php/Dokumentation_Uebersetzung +English: https://wiki.dolibarr.org/index.php/Translator_documentation +French: https://wiki.dolibarr.org/index.php/Documentation_traducteur +Spanish: https://wiki.dolibarr.org/index.php/Documentaci%C3%B3n_traductores +German: https://wiki.dolibarr.org/index.php/Dokumentation_Uebersetzung +Chinese: https://wiki.dolibarr.org/index.php/%E7%BF%BB%E8%AF%91%E6%96%87%E6%A1%A3 From 380cdc6ed332e35a81f5b97583c56ee48e682e63 Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Mon, 26 Sep 2022 23:41:51 +0200 Subject: [PATCH 12/34] Update phpstan.neon autoload_files : added missing lib files (with #) --- phpstan.neon | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/phpstan.neon b/phpstan.neon index 02e47e753d7..129ca462921 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -103,6 +103,7 @@ parameters: - %currentWorkingDirectory%/htdocs/core/lib/donation.lib.php - %currentWorkingDirectory%/htdocs/core/lib/ecm.lib.php - %currentWorkingDirectory%/htdocs/core/lib/emailing.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/eventorganization.lib.php - %currentWorkingDirectory%/htdocs/core/lib/expedition.lib.php - %currentWorkingDirectory%/htdocs/core/lib/expensereport.lib.php - %currentWorkingDirectory%/htdocs/core/lib/fichinter.lib.php @@ -110,13 +111,17 @@ parameters: - %currentWorkingDirectory%/htdocs/core/lib/fiscalyear.lib.php #- %currentWorkingDirectory%/htdocs/core/lib/format_cards.lib.php - %currentWorkingDirectory%/htdocs/core/lib/fourn.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/ftp.lib.php - %currentWorkingDirectory%/htdocs/core/lib/functions.lib.php - %currentWorkingDirectory%/htdocs/core/lib/functions2.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/functions_ch.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/functionsnumtoword.lib.php - %currentWorkingDirectory%/htdocs/core/lib/geturl.lib.php - %currentWorkingDirectory%/htdocs/core/lib/holiday.lib.php - %currentWorkingDirectory%/htdocs/core/lib/hrm.lib.php - %currentWorkingDirectory%/htdocs/core/lib/images.lib.php - %currentWorkingDirectory%/htdocs/core/lib/import.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/intracommreport.lib.php - %currentWorkingDirectory%/htdocs/core/lib/invoice.lib.php - %currentWorkingDirectory%/htdocs/core/lib/invoice2.lib.php - %currentWorkingDirectory%/htdocs/core/lib/json.lib.php @@ -132,11 +137,13 @@ parameters: - %currentWorkingDirectory%/htdocs/core/lib/parsemd.lib.php - %currentWorkingDirectory%/htdocs/core/lib/payments.lib.php - %currentWorkingDirectory%/htdocs/core/lib/pdf.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/phpsessionindb.lib.php - %currentWorkingDirectory%/htdocs/core/lib/prelevement.lib.php - %currentWorkingDirectory%/htdocs/core/lib/price.lib.php - %currentWorkingDirectory%/htdocs/core/lib/product.lib.php - %currentWorkingDirectory%/htdocs/core/lib/project.lib.php - %currentWorkingDirectory%/htdocs/core/lib/propal.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/receiptprinter.lib.php - %currentWorkingDirectory%/htdocs/core/lib/reception.lib.php - %currentWorkingDirectory%/htdocs/core/lib/report.lib.php - %currentWorkingDirectory%/htdocs/core/lib/resource.lib.php @@ -155,6 +162,7 @@ parameters: - %currentWorkingDirectory%/htdocs/core/lib/usergroups.lib.php - %currentWorkingDirectory%/htdocs/core/lib/vat.lib.php - %currentWorkingDirectory%/htdocs/core/lib/website.lib.php + #- %currentWorkingDirectory%/htdocs/core/lib/website2.lib.php - %currentWorkingDirectory%/htdocs/core/lib/ws.lib.php - %currentWorkingDirectory%/htdocs/core/lib/xcal.lib.php featureToggles: From 4167fab9633812eac64812cb8f0f6bd5dbdf6d53 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 00:01:29 +0200 Subject: [PATCH 13/34] Standardize API name --- dev/examples/zapier/triggers/action.js | 6 +++--- dev/examples/zapier/triggers/contact.js | 8 ++++---- dev/examples/zapier/triggers/member.js | 8 ++++---- dev/examples/zapier/triggers/order.js | 6 +++--- dev/examples/zapier/triggers/thirdparty.js | 8 ++++---- dev/examples/zapier/triggers/ticket.js | 8 ++++---- dev/examples/zapier/triggers/user.js | 8 ++++---- htdocs/zapier/class/api_zapier.class.php | 2 +- 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/dev/examples/zapier/triggers/action.js b/dev/examples/zapier/triggers/action.js index 0e152473869..86e4b747185 100644 --- a/dev/examples/zapier/triggers/action.js +++ b/dev/examples/zapier/triggers/action.js @@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => { action: bundle.inputData.action }; - const url = bundle.authData.url + '/api/index.php/zapierapi/hook'; + const url = bundle.authData.url + '/api/index.php/zapier/hook'; // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. @@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => { // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. const options = { - url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id, + url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id, method: 'DELETE', }; @@ -84,7 +84,7 @@ const getFallbackRealAction = (z, bundle) => { // // For the test poll, you should get some real data, to aid the setup process. // const module = bundle.inputData.module; // const options = { -// url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/actions', +// url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/actions', // }; // return z.request(options).then((response) => JSON.parse(response.content)); diff --git a/dev/examples/zapier/triggers/contact.js b/dev/examples/zapier/triggers/contact.js index 2ba3bd226f8..ef83970e0b5 100644 --- a/dev/examples/zapier/triggers/contact.js +++ b/dev/examples/zapier/triggers/contact.js @@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => { action: bundle.inputData.action }; - const url = bundle.authData.url + '/api/index.php/zapierapi/hook'; + const url = bundle.authData.url + '/api/index.php/zapier/hook'; // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. @@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => { // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. const options = { - url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id, + url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id, method: 'DELETE', }; @@ -76,7 +76,7 @@ const getFallbackRealContact = (z, bundle) => { // const getModulesChoices = (z/*, bundle*/) => { // // For the test poll, you should get some real data, to aid the setup process. // const options = { -// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices', +// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices', // }; // return z.request(options).then((response) => JSON.parse(response.content)); @@ -94,7 +94,7 @@ const getFallbackRealContact = (z, bundle) => { // // For the test poll, you should get some real data, to aid the setup process. // const module = bundle.inputData.module; // const options = { -// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`, +// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`, // }; // return z.request(options).then((response) => JSON.parse(response.content)); diff --git a/dev/examples/zapier/triggers/member.js b/dev/examples/zapier/triggers/member.js index 3385cdca625..68f80b30009 100644 --- a/dev/examples/zapier/triggers/member.js +++ b/dev/examples/zapier/triggers/member.js @@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => { action: bundle.inputData.action }; - const url = bundle.authData.url + '/api/index.php/zapierapi/hook'; + const url = bundle.authData.url + '/api/index.php/zapier/hook'; // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. @@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => { // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. const options = { - url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id, + url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id, method: 'DELETE', }; @@ -76,7 +76,7 @@ const getFallbackRealMember = (z, bundle) => { // const getModulesChoices = (z/*, bundle*/) => { // // For the test poll, you should get some real data, to aid the setup process. // const options = { -// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices', +// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices', // }; // return z.request(options).then((response) => JSON.parse(response.content)); @@ -94,7 +94,7 @@ const getFallbackRealMember = (z, bundle) => { // // For the test poll, you should get some real data, to aid the setup process. // const module = bundle.inputData.module; // const options = { -// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`, +// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`, // }; // return z.request(options).then((response) => JSON.parse(response.content)); diff --git a/dev/examples/zapier/triggers/order.js b/dev/examples/zapier/triggers/order.js index 061ce218d10..2265c4da288 100644 --- a/dev/examples/zapier/triggers/order.js +++ b/dev/examples/zapier/triggers/order.js @@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => { action: bundle.inputData.action }; - const url = bundle.authData.url + '/api/index.php/zapierapi/hook'; + const url = bundle.authData.url + '/api/index.php/zapier/hook'; // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. @@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => { // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. const options = { - url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id, + url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id, method: 'DELETE', }; @@ -74,7 +74,7 @@ const getFallbackRealOrder = (z, bundle) => { // // For the test poll, you should get some real data, to aid the setup process. // const module = bundle.inputData.module; // const options = { -// url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/orders', +// url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/orders', // }; // return z.request(options).then((response) => JSON.parse(response.content)); diff --git a/dev/examples/zapier/triggers/thirdparty.js b/dev/examples/zapier/triggers/thirdparty.js index 76194acbc9a..6c477b1174f 100644 --- a/dev/examples/zapier/triggers/thirdparty.js +++ b/dev/examples/zapier/triggers/thirdparty.js @@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => { action: bundle.inputData.action }; - const url = bundle.authData.url + '/api/index.php/zapierapi/hook'; + const url = bundle.authData.url + '/api/index.php/zapier/hook'; // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. @@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => { // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. const options = { - url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id, + url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id, method: 'DELETE', }; @@ -83,7 +83,7 @@ const getFallbackRealThirdparty = (z, bundle) => { // const getModulesChoices = (z/*, bundle*/) => { // // For the test poll, you should get some real data, to aid the setup process. // const options = { -// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices', +// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices', // }; // return z.request(options).then((response) => JSON.parse(response.content)); @@ -102,7 +102,7 @@ const getFallbackRealThirdparty = (z, bundle) => { // // For the test poll, you should get some real data, to aid the setup process. // const module = bundle.inputData.module; // const options = { -// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`, +// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`, // }; // return z.request(options).then((response) => JSON.parse(response.content)); diff --git a/dev/examples/zapier/triggers/ticket.js b/dev/examples/zapier/triggers/ticket.js index c642099bd55..ee5a3f8efd7 100644 --- a/dev/examples/zapier/triggers/ticket.js +++ b/dev/examples/zapier/triggers/ticket.js @@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => { action: bundle.inputData.action }; - const url = bundle.authData.url + '/api/index.php/zapierapi/hook'; + const url = bundle.authData.url + '/api/index.php/zapier/hook'; // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. @@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => { // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. const options = { - url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id, + url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id, method: 'DELETE', }; @@ -76,7 +76,7 @@ const getFallbackRealTicket = (z, bundle) => { // const getModulesChoices = (z/*, bundle*/) => { // // For the test poll, you should get some real data, to aid the setup process. // const options = { -// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices', +// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices', // }; // return z.request(options).then((response) => JSON.parse(response.content)); @@ -97,7 +97,7 @@ const getFallbackRealTicket = (z, bundle) => { // // For the test poll, you should get some real data, to aid the setup process. // const module = bundle.inputData.module; // const options = { -// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`, +// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`, // }; // return z.request(options).then((response) => JSON.parse(response.content)); diff --git a/dev/examples/zapier/triggers/user.js b/dev/examples/zapier/triggers/user.js index 92209bb8651..a706bb9a3d6 100644 --- a/dev/examples/zapier/triggers/user.js +++ b/dev/examples/zapier/triggers/user.js @@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => { action: bundle.inputData.action }; - const url = bundle.authData.url + '/api/index.php/zapierapi/hook'; + const url = bundle.authData.url + '/api/index.php/zapier/hook'; // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. @@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => { // You can build requests and our client will helpfully inject all the variables // you need to complete. You can also register middleware to control this. const options = { - url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id, + url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id, method: 'DELETE', }; @@ -73,7 +73,7 @@ const getFallbackRealUser = (z, bundle) => { // const getModulesChoices = (z/*, bundle*/) => { // // For the test poll, you should get some real data, to aid the setup process. // const options = { -// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices', +// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices', // }; // return z.request(options).then((response) => JSON.parse(response.content)); @@ -93,7 +93,7 @@ const getFallbackRealUser = (z, bundle) => { // // For the test poll, you should get some real data, to aid the setup process. // const module = bundle.inputData.module; // const options = { -// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`, +// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`, // }; // return z.request(options).then((response) => JSON.parse(response.content)); diff --git a/htdocs/zapier/class/api_zapier.class.php b/htdocs/zapier/class/api_zapier.class.php index f065a165a54..56ab923435d 100644 --- a/htdocs/zapier/class/api_zapier.class.php +++ b/htdocs/zapier/class/api_zapier.class.php @@ -33,7 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/zapier/class/hook.class.php'; * @access protected * @class DolibarrApiAccess {@requires user,external} */ -class ZapierApi extends DolibarrApi +class Zapier extends DolibarrApi { /** * @var array $FIELDS Mandatory fields, checked when create and update object From 5e6e6e1c987b9e2e09e4e4a03e6d1e4acd338137 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 01:05:22 +0200 Subject: [PATCH 14/34] NEW #22370 Modulebuilder supports 'alwayseditable' (like extrafields) --- htdocs/core/actions_addupdatedelete.inc.php | 28 +++++- htdocs/core/class/html.form.class.php | 16 ++- htdocs/core/lib/modulebuilder.lib.php | 10 +- htdocs/core/tpl/commonfields_view.tpl.php | 99 +++++++++++++------ htdocs/modulebuilder/index.php | 30 +++++- .../template/class/myobject.class.php | 1 + htdocs/mrp/class/mo.class.php | 13 ++- htdocs/mrp/mo_card.php | 4 +- 8 files changed, 155 insertions(+), 46 deletions(-) diff --git a/htdocs/core/actions_addupdatedelete.inc.php b/htdocs/core/actions_addupdatedelete.inc.php index 78a2616058a..6401437ac15 100644 --- a/htdocs/core/actions_addupdatedelete.inc.php +++ b/htdocs/core/actions_addupdatedelete.inc.php @@ -300,8 +300,34 @@ if ($action == 'update' && !empty($permissiontoadd)) { } } +// Action to update one modulebuilder field +$reg = array(); +if (preg_match('/^set(\w+)$/', $action, $reg) && GETPOST('id', 'int') > 0 && !empty($permissiontoadd)) { + $object->fetch(GETPOST('id', 'int')); + + $keyforfield = $reg[1]; + if (property_exists($object, $keyforfield)) { + if (!empty($object->fields[$keyforfield]) && in_array($object->fields[$keyforfield]['type'], array('date', 'datetime', 'timestamp'))) { + $object->$keyforfield = dol_mktime(GETPOST($keyforfield.'hour'), GETPOST($keyforfield.'min'), GETPOST($keyforfield.'sec'), GETPOST($keyforfield.'month'), GETPOST($keyforfield.'day'), GETPOST($keyforfield.'year')); + } else { + $object->$keyforfield = GETPOST($keyforfield); + } + + $result = $object->update($user); + + if ($result > 0) { + setEventMessages($langs->trans('RecordSaved'), null, 'mesgs'); + $action = 'view'; + } else { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + $action = 'edit'.$reg[1]; + } + } +} + // Action to update one extrafield -if ($action == "update_extras" && !empty($permissiontoadd)) { +if ($action == "update_extras" && GETPOST('id', 'int') > 0 && !empty($permissiontoadd)) { $object->fetch(GETPOST('id', 'int')); $attributekey = GETPOST('attribute', 'alpha'); diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 50ce856dec2..6c7f60fc98f 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -211,7 +211,21 @@ class Form // Check parameters if (empty($typeofdata)) { - return 'ErrorBadParameter'; + return 'ErrorBadParameter typeofdata is empty'; + } + // Clean paramater $typeofdata + if ($typeofdata == 'datetime') { + $typeofdata = 'dayhour'; + } + $reg = array(); + if (preg_match('/^(\w+)\((\d+)\)$/', $typeofdata, $reg)) { + if ($reg[1] == 'varchar') { + $typeofdata = 'string'; + } elseif ($reg[1] == 'int') { + $typeofdata = 'numeric'; + } else { + return 'ErrorBadParameter '.$typeofdata; + } } // When option to edit inline is activated diff --git a/htdocs/core/lib/modulebuilder.lib.php b/htdocs/core/lib/modulebuilder.lib.php index 11cbcad7b85..498e587a328 100644 --- a/htdocs/core/lib/modulebuilder.lib.php +++ b/htdocs/core/lib/modulebuilder.lib.php @@ -95,7 +95,7 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir = // Edit class files $contentclass = file_get_contents(dol_osencode($pathoffiletoeditsrc), 'r'); - // Update ->fields (add or remove entries) + // Update ->fields (to add or remove entries defined into $addfieldentry) if (count($object->fields)) { if (is_array($addfieldentry) && count($addfieldentry)) { $name = $addfieldentry['name']; @@ -133,6 +133,9 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir = if (!empty($val['noteditable'])) { $texttoinsert .= " 'noteditable'=>'".$val['noteditable']."',"; } + if (!empty($val['alwayseditable'])) { + $texttoinsert .= " 'alwayseditable'=>'".$val['alwayseditable']."',"; + } if (!empty($val['default']) || (isset($val['default']) && $val['default'] === '0')) { $texttoinsert .= " 'default'=>'".$val['default']."',"; } @@ -189,6 +192,7 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir = } $texttoinsert .= "),\n"; + //print $texttoinsert; } } @@ -212,14 +216,16 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir = $texttoinsert .= "\t".'// END MODULEBUILDER PROPERTIES'; - //print($texttoinsert);exit; + //print($texttoinsert); $contentclass = preg_replace('/\/\/ BEGIN MODULEBUILDER PROPERTIES.*END MODULEBUILDER PROPERTIES/ims', $texttoinsert, $contentclass); + //print $contentclass; dol_mkdir(dirname($pathoffiletoedittarget)); //file_put_contents($pathoffiletoedittmp, $contentclass); $result = file_put_contents(dol_osencode($pathoffiletoedittarget), $contentclass); + if ($result) { @chmod($pathoffiletoedittarget, octdec($newmask)); } else { diff --git a/htdocs/core/tpl/commonfields_view.tpl.php b/htdocs/core/tpl/commonfields_view.tpl.php index 42ead1573f4..9b7e3cd4df1 100644 --- a/htdocs/core/tpl/commonfields_view.tpl.php +++ b/htdocs/core/tpl/commonfields_view.tpl.php @@ -64,15 +64,23 @@ foreach ($object->fields as $key => $val) { print ' tdtop'; } print '">'; + + $labeltoshow = ''; if (!empty($val['help'])) { - print $form->textwithpicto($langs->trans($val['label']), $langs->trans($val['help'])); + $labeltoshow .= $form->textwithpicto($langs->trans($val['label']), $langs->trans($val['help'])); } else { if (isset($val['copytoclipboard']) && $val['copytoclipboard'] == 1) { - print showValueWithClipboardCPButton($value, 0, $langs->transnoentitiesnoconv($val['label'])); + $labeltoshow .= showValueWithClipboardCPButton($value, 0, $langs->transnoentitiesnoconv($val['label'])); } else { - print $langs->trans($val['label']); + $labeltoshow .= $langs->trans($val['label']); } } + if (empty($val['alwayseditable'])) { + print $labeltoshow; + } else { + print $form->editfieldkey($labeltoshow, $key, $value, $object, 1, $val['type']); + } + print ''; print ''; - if (in_array($val['type'], array('text', 'html'))) { - print '

'; + } + } else { + print $form->editfieldval($labeltoshow, $key, $value, $object, 1, $val['type']); } print ''; print ''; @@ -144,10 +156,20 @@ foreach ($object->fields as $key => $val) { $rightpart .= ' tdtop'; } $rightpart.= '">'; + $labeltoshow = ''; if (!empty($val['help'])) { - $rightpart .= $form->textwithpicto($langs->trans($val['label']), $langs->trans($val['help'])); + $labeltoshow .= $form->textwithpicto($langs->trans($val['label']), $langs->trans($val['help'])); } else { - $rightpart .= $langs->trans($val['label']); + if (isset($val['copytoclipboard']) && $val['copytoclipboard'] == 1) { + $labeltoshow .= showValueWithClipboardCPButton($value, 0, $langs->transnoentitiesnoconv($val['label'])); + } else { + $labeltoshow .= $langs->trans($val['label']); + } + } + if (empty($val['alwayseditable'])) { + $rightpart .= $labeltoshow; + } else { + $rightpart .= $form->editfieldkey($labeltoshow, $key, $value, $object, 1, $val['type']); } $rightpart .= ''; $rightpart .= ''; - if (in_array($val['type'], array('text', 'html'))) { - $rightpart .= '
'; - } - $rightpart .= $object->showOutputField($val, $key, $value, '', '', '', 0); - //$rightpart .= dol_escape_htmltag($object->$key, 1, 1); - if (in_array($val['type'], array('text', 'html'))) { - $rightpart .= '
'; + + if (empty($val['alwayseditable'])) { + if (in_array($val['type'], array('text', 'html'))) { + $rightpart .= '
'; + } + if ($key == 'lang') { + $langs->load("languages"); + $labellang = ($value ? $langs->trans('Language_'.$value) : ''); + $rightpart .= picto_from_langcode($value, 'class="paddingrightonly saturatemedium opacitylow"'); + $rightpart .= $labellang; + } else { + if (isset($val['copytoclipboard']) && $val['copytoclipboard'] == 2) { + $out = $object->showOutputField($val, $key, $value, '', '', '', 0); + $rightpart .= showValueWithClipboardCPButton($out, 0, $out); + } else { + $rightpart.= $object->showOutputField($val, $key, $value, '', '', '', 0); + } + } + if (in_array($val['type'], array('text', 'html'))) { + $rightpart .= '
'; + } + } else { + $rightpart .= $form->editfieldval($labeltoshow, $key, $value, $object, 1, $val['type']); } + $rightpart .= ''; $rightpart .= ''; } diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index 8441dd530ee..c510bad66c4 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -913,6 +913,7 @@ if ($dirins && $action == 'initobject' && $module && GETPOST('createtablearray', * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) * 'noteditable' says if field is not editable (1 or 0) + * 'alwayseditable' says if field can be modified also when status is not draft ('1' or '0') * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. * 'index' if we want an index in database. * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). @@ -933,7 +934,7 @@ if ($dirins && $action == 'initobject' && $module && GETPOST('createtablearray', 'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'index'=>1, 'position'=>1, 'comment'=>'Id'), 'ref' =>array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'comment'=>'Reference of object'), 'entity' =>array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'default'=>1, 'notnull'=>1, 'index'=>1, 'position'=>20), - 'label' =>array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth200', 'help'=>'Help text'), + 'label' =>array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth200', 'help'=>'Help text', 'alwayseditable'=>'1'), 'amount' =>array('type'=>'double(24,8)', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text'), 'fk_soc' =>array('type'=>'integer:Societe:societe/class/societe.class.php', 'label'=>'ThirdParty', 'visible'=>1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'searchall'=>1, 'help'=>'LinkToThirdparty'), 'description' =>array('type'=>'text', 'label'=>'Descrption', 'enabled'=>1, 'visible'=>0, 'position'=>60), @@ -1386,14 +1387,19 @@ if ($dirins && $action == 'initobject' && $module && $objectname) { if (!$error) { // Edit the class file to write properties $object = rebuildObjectClass($destdir, $module, $objectname, $newmask); - if (is_numeric($object) && $object < 0) { + + if (is_numeric($object) && $object <= 0) { + $pathoffiletoeditsrc = $destdir.'/class/'.strtolower($objectname).'.class.php'; + setEventMessages($langs->trans('ErrorFailToCreateFile', $pathoffiletoeditsrc), null, 'errors'); $error++; } } if (!$error) { // Edit sql with new properties $result = rebuildObjectSql($destdir, $module, $objectname, $newmask, '', $object); - if ($result < 0) { + + if ($result <= 0) { + setEventMessages($langs->trans('ErrorFailToCreateFile', '.sql'), null); $error++; } } @@ -1503,6 +1509,7 @@ if ($dirins && $action == 'addproperty' && empty($cancel) && !empty($module) && 'csslist'=>GETPOST('propcsslist', 'alpha'), 'default'=>GETPOST('propdefault', 'restricthtml'), 'noteditable'=>intval(GETPOST('propnoteditable', 'int')), + 'alwayseditable'=>intval(GETPOST('propalwayseditable', 'int')), 'validate' => GETPOST('propvalidate', 'int') ); @@ -1528,6 +1535,8 @@ if ($dirins && $action == 'addproperty' && empty($cancel) && !empty($module) && $object = rebuildObjectClass($destdir, $module, $objectname, $newmask, $srcdir, $addfieldentry, $moduletype); if (is_numeric($object) && $object <= 0) { + $pathoffiletoeditsrc = $destdir.'/class/'.strtolower($objectname).'.class.php'; + setEventMessages($langs->trans('ErrorFailToCreateFile', $pathoffiletoeditsrc), null, 'errors'); $error++; } } @@ -1537,6 +1546,7 @@ if ($dirins && $action == 'addproperty' && empty($cancel) && !empty($module) && $result = rebuildObjectSql($destdir, $module, $objectname, $newmask, $srcdir, $object, $moduletype); if ($result <= 0) { + setEventMessages($langs->trans('ErrorFailToCreateFile', '.sql'), null, 'errors'); $error++; } } @@ -1568,7 +1578,10 @@ if ($dirins && $action == 'confirm_deleteproperty' && $propertykey) { // Edit the class file to write properties if (!$error) { $object = rebuildObjectClass($destdir, $module, $objectname, $newmask, $srcdir, array(), $propertykey); + if (is_numeric($object) && $object <= 0) { + $pathoffiletoeditsrc = $destdir.'/class/'.strtolower($objectname).'.class.php'; + setEventMessages($langs->trans('ErrorFailToCreateFile', $pathoffiletoeditsrc), null, 'errors'); $error++; } } @@ -1576,7 +1589,9 @@ if ($dirins && $action == 'confirm_deleteproperty' && $propertykey) { // Edit sql with new properties if (!$error) { $result = rebuildObjectSql($destdir, $module, $objectname, $newmask, $srcdir, $object); + if ($result <= 0) { + setEventMessages($langs->trans('ErrorFailToCreateFile', '.sql'), null, 'errors'); $error++; } } @@ -2911,6 +2926,7 @@ if ($module == 'initmodule') { print ''.$form->textwithpicto($langs->trans("Enabled"), $langs->trans("EnabledDesc")).''; print ''.$form->textwithpicto($langs->trans("Visible"), $langs->trans("VisibleDesc")).''; print ''.$langs->trans("NotEditable").''; + print ''.$langs->trans("AlwaysEditable").''; print ''.$form->textwithpicto($langs->trans("SearchAll"), $langs->trans("SearchAllDesc")).''; print ''.$form->textwithpicto($langs->trans("IsAMeasure"), $langs->trans("IsAMeasureDesc")).''; print ''.$langs->trans("CSSClass").''; @@ -2944,6 +2960,7 @@ if ($module == 'initmodule') { print ''; print ''; print ''; + print ''; print ''; print ''; print ''; @@ -2986,6 +3003,7 @@ if ($module == 'initmodule') { $propenabled = $propval['enabled']; $propvisible = $propval['visible']; $propnoteditable = !empty($propval['noteditable'])?$propval['noteditable']:0; + $propalwayseditable = !empty($propval['alwayseditable'])?$propval['alwayseditable']:0; $propsearchall = !empty($propval['searchall'])?$propval['searchall']:0; $propisameasure = !empty($propval['isameasure'])?$propval['isameasure']:0; $propcss = !empty($propval['css'])?$propval['css']:''; @@ -3044,6 +3062,9 @@ if ($module == 'initmodule') { print ''; print ''; print ''; + print ''; + print ''; + print ''; print ''; print ''; print ''; @@ -3110,6 +3131,9 @@ if ($module == 'initmodule') { print $propnoteditable ? dol_escape_htmltag($propnoteditable) : ''; print ''; print ''; + print $propalwayseditable ? dol_escape_htmltag($propalwayseditable) : ''; + print ''; + print ''; print $propsearchall ? '1' : ''; print ''; print ''; diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index 8265bbadaf8..430f004eecb 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -89,6 +89,7 @@ class MyObject extends CommonObject * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) * 'noteditable' says if field is not editable (1 or 0) + * 'alwayseditable' says if field can be modified also when status is not draft ('1' or '0') * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. * 'index' if we want an index in database. * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). diff --git a/htdocs/mrp/class/mo.class.php b/htdocs/mrp/class/mo.class.php index b58c7169f25..8624713c689 100644 --- a/htdocs/mrp/class/mo.class.php +++ b/htdocs/mrp/class/mo.class.php @@ -105,7 +105,7 @@ class Mo extends CommonObject 'mrptype' => array('type'=>'integer', 'label'=>'Type', 'enabled'=>1, 'visible'=>1, 'position'=>34, 'notnull'=>1, 'default'=>'0', 'arrayofkeyval'=>array(0=>'Manufacturing', 1=>'Disassemble'), 'css'=>'minwidth150', 'csslist'=>'minwidth150 center'), 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:0', 'label'=>'Product', 'enabled'=>'$conf->product->enabled', 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'comment'=>"Product to produce", 'css'=>'maxwidth300', 'csslist'=>'tdoverflowmax100', 'picto'=>'product'), 'qty' => array('type'=>'real', 'label'=>'QtyToProduce', 'enabled'=>1, 'visible'=>1, 'position'=>40, 'notnull'=>1, 'comment'=>"Qty to produce", 'css'=>'width75', 'default'=>1, 'isameasure'=>1), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>42, 'notnull'=>-1, 'searchall'=>1, 'showoncombobox'=>'2', 'css'=>'maxwidth300', 'csslist'=>'tdoverflowmax200'), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>42, 'notnull'=>-1, 'searchall'=>1, 'showoncombobox'=>'2', 'css'=>'maxwidth300', 'csslist'=>'tdoverflowmax200', 'alwayseditable'=>1), 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1', 'label'=>'ThirdParty', 'picto'=>'company', 'enabled'=>'$conf->societe->enabled', 'visible'=>-1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'css'=>'maxwidth400', 'csslist'=>'tdoverflowmax150'), 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1:fk_statut=1', 'label'=>'Project', 'picto'=>'project', 'enabled'=>'$conf->project->enabled', 'visible'=>-1, 'position'=>51, 'notnull'=>-1, 'index'=>1, 'css'=>'minwidth200 maxwidth400', 'csslist'=>'tdoverflowmax100'), 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php:0', 'label'=>'WarehouseForProduction', 'picto'=>'stock', 'enabled'=>'$conf->stock->enabled', 'visible'=>1, 'position'=>52, 'css'=>'maxwidth400', 'csslist'=>'tdoverflowmax200'), @@ -116,8 +116,8 @@ class Mo extends CommonObject 'date_valid' => array('type'=>'datetime', 'label'=>'DateValidation', 'enabled'=>1, 'visible'=>-2, 'position'=>502,), 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-2, 'position'=>510, 'notnull'=>1, 'foreignkey'=>'user.rowid', 'csslist'=>'tdoverflowmax100'), 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'position'=>511, 'notnull'=>-1, 'csslist'=>'tdoverflowmax100'), - 'date_start_planned' => array('type'=>'datetime', 'label'=>'DateStartPlannedMo', 'enabled'=>1, 'visible'=>1, 'position'=>55, 'notnull'=>-1, 'index'=>1, 'help'=>'KeepEmptyForAsap'), - 'date_end_planned' => array('type'=>'datetime', 'label'=>'DateEndPlannedMo', 'enabled'=>1, 'visible'=>1, 'position'=>56, 'notnull'=>-1, 'index'=>1,), + 'date_start_planned' => array('type'=>'datetime', 'label'=>'DateStartPlannedMo', 'enabled'=>1, 'visible'=>1, 'position'=>55, 'notnull'=>-1, 'index'=>1, 'help'=>'KeepEmptyForAsap', 'alwayseditable'=>1), + 'date_end_planned' => array('type'=>'datetime', 'label'=>'DateEndPlannedMo', 'enabled'=>1, 'visible'=>1, 'position'=>56, 'notnull'=>-1, 'index'=>1, 'alwayseditable'=>1), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>1000, 'notnull'=>-1,), 'model_pdf' =>array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'position'=>1010), 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>2, 'position'=>1000, 'default'=>0, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated', '2'=>'InProgress', '3'=>'StatusMOProduced', '9'=>'Canceled')), @@ -613,11 +613,9 @@ class Mo extends CommonObject } if (!$error) { - setEventMessages($langs->trans("RecordModifiedSuccessfully"), null, 'mesgs'); $this->db->commit(); return 1; } else { - setEventMessages($this->error, $this->errors, 'errors'); $this->db->rollback(); return -1; } @@ -636,8 +634,9 @@ class Mo extends CommonObject $role = ""; if ($this->status != self::STATUS_DRAFT) { - $this->error = 'BadStatus'; - return -1; + //$this->error = 'BadStatusForUpdateProduction'; + //return -1; + return 1; } $this->db->begin(); diff --git a/htdocs/mrp/mo_card.php b/htdocs/mrp/mo_card.php index 373dd7b6410..fde5811547a 100644 --- a/htdocs/mrp/mo_card.php +++ b/htdocs/mrp/mo_card.php @@ -136,7 +136,7 @@ if (empty($reshook)) { } $triggermodname = 'MRP_MO_MODIFY'; // Name of trigger action code to execute when we modify record - //Create MO with Childs + // Create MO with Childs if ($action == 'add' && empty($id) && !empty($TBomLineId)) { $noback = 1; include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php'; @@ -165,7 +165,7 @@ if (empty($reshook)) { $res = $object->add_object_linked('mo', $mo_parent->id); } - header("Location: ".dol_buildpath('/mrp/mo_card.php?id='.$moline->fk_mo, 1)); + header("Location: ".dol_buildpath('/mrp/mo_card.php?id='.((int) $moline->fk_mo), 1)); exit; } From 41270d585eda775b2e6c631c474264a316deeca8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 11:17:10 +0200 Subject: [PATCH 15/34] css --- htdocs/commande/list.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 5cde78cd09f..516f303f8eb 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -1283,9 +1283,9 @@ if ($resql) { if ($massaction == 'createbills') { print ''; - print ''; + print '
'; print ''; - print ''; print ''; // VAT - $selectedvat = price2num($line->vatrate).($line->vat_src_code ? ' ('.$line->vat_src_code.')' : ''); + $selectedvat = price2num($line->vatrate).(!empty($line->vat_src_code) ? ' ('.$line->vat_src_code.')' : ''); print ''; // Unit price print ''; // Unit price with tax @@ -2521,19 +2524,19 @@ if ($action == 'create') { // Select date print ''; // Select project if (isModEnabled('project')) { print ''; } // Select type print ''; if (!empty($conf->global->MAIN_USE_EXPENSE_IK)) { @@ -2545,7 +2548,7 @@ if ($action == 'create') { // Add comments print ''; // Select VAT @@ -2554,22 +2557,22 @@ if ($action == 'create') { if (!empty($conf->global->EXPENSEREPORT_NO_DEFAULT_VAT)) { $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none'; } - print $form->load_tva('vatrate', ($vatrate != '' ? $vatrate : $defaultvat), $mysoc, '', 0, 0, '', false, 1); + print $form->load_tva('vatrate', (!empty($vatrate) ? $vatrate : $defaultvat), $mysoc, '', 0, 0, '', false, 1); print ''; // Unit price net print ''; // Unit price with tax print ''; // Quantity print ''; // Picture diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index e0799a46f73..a1afcef74a2 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -771,6 +771,7 @@ class ExpenseReport extends CommonObject $sql .= " f.date_valid as datev,"; $sql .= " f.date_approve as datea,"; $sql .= " f.fk_user_creat as fk_user_creation,"; + $sql .= " f.fk_user_author as fk_user_author,"; $sql .= " f.fk_user_modif as fk_user_modification,"; $sql .= " f.fk_user_valid,"; $sql .= " f.fk_user_approve"; diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 38a9f051288..770276e96b8 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -836,7 +836,7 @@ class CommandeFournisseur extends CommonOrder $label = ''; - if ($user->rights->fournisseur->commande->lire) { + if ($user->hasRight("fournisseur", "commande", "read")) { $label = ''.$langs->trans("SupplierOrder").''; if (isset($this->statut)) { $label .= ' '.$this->getLibStatut(5); diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index 2a4b1072e87..107189e5181 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -74,7 +74,9 @@ if (empty($user->rights->margins->liretous)) { $invoicestatic = new Facture($db); $form = new Form($db); - +$totalMargin = 0; +$marginRate = 0; +$markRate = 0; if ($id > 0 || !empty($ref)) { $result = $object->fetch($id, $ref); @@ -136,7 +138,7 @@ if ($id > 0 || !empty($ref)) { print dol_get_fiche_end(); - if ($user->rights->facture->lire) { + if ($user->hasRight("facture", "read")) { $sql = "SELECT s.nom as name, s.rowid as socid, s.code_client,"; $sql .= " f.rowid as facid, f.ref, f.total_ht,"; $sql .= " f.datef, f.paye, f.fk_statut as statut, f.type,"; diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 53414a0a608..034fa97f86f 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -76,7 +76,7 @@ if ($user->socid) { $socid = $user->socid; } -if (empty($user->rights->fournisseur->lire)) { +if (empty($user->rights->fournisseur->lire) && (empty($conf->margin->enabled) && !$user->hasRight("margin", "liretous"))) { accessforbidden(); } @@ -919,7 +919,7 @@ END; print "\n"; - if ($user->rights->fournisseur->lire) { // Duplicate ? this check is already in the head of this file + if ($user->hasRight("fournisseur", "read")) { // Duplicate ? this check is already in the head of this file $param = ''; if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { $param .= '&contextpage='.urlencode($contextpage); diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index a0299ef3fec..5cb7cf69ef8 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -1016,7 +1016,7 @@ if ($resql) { // Type ent if (!empty($arrayfields['typent.code']['checked'])) { print ''; print '
'; + print ''; print $langs->trans('DateInvoice'); print ''; From 91d0eefd9242f846a4ed72ff75fdb148f091e838 Mon Sep 17 00:00:00 2001 From: lmarcouiller Date: Tue, 27 Sep 2022 11:22:20 +0200 Subject: [PATCH 16/34] Fix : php 8.1 warnings --- htdocs/comm/propal/list.php | 30 +++++++++++++++---- htdocs/core/lib/product.lib.php | 2 +- htdocs/expensereport/card.php | 23 +++++++------- .../class/expensereport.class.php | 1 + .../class/fournisseur.commande.class.php | 2 +- htdocs/margin/tabs/productMargins.php | 6 ++-- htdocs/product/fournisseurs.php | 4 +-- htdocs/supplier_proposal/list.php | 2 +- 8 files changed, 48 insertions(+), 22 deletions(-) diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 5b678a0f7ac..b95d1e5253f 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -1900,7 +1900,11 @@ if ($resql) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 'p.total_ht'; } - $totalarray['val']['p.total_ht'] += $obj->total_ht; + if (empty($totalarray['val']['p.total_ht'])) { + $totalarray['val']['p.total_ht'] = $obj->total_ht; + } else { + $totalarray['val']['p.total_ht'] += $obj->total_ht; + } } // Amount VAT if (!empty($arrayfields['p.total_tva']['checked'])) { @@ -1911,7 +1915,11 @@ if ($resql) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 'p.total_tva'; } - $totalarray['val']['p.total_tva'] += $obj->total_tva; + if (empty($totalarray['val']['p.total_tva'])) { + $totalarray['val']['p.total_tva'] = $obj->total_tva; + } else { + $totalarray['val']['p.total_tva'] += $obj->total_tva; + } } // Amount TTC if (!empty($arrayfields['p.total_ttc']['checked'])) { @@ -1922,7 +1930,11 @@ if ($resql) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 'p.total_ttc'; } - $totalarray['val']['p.total_ttc'] += $obj->total_ttc; + if (empty($totalarray['val']['p.total_ttc'])) { + $totalarray['val']['p.total_ttc'] = $obj->total_ttc; + } else { + $totalarray['val']['p.total_ttc'] += $obj->total_ttc; + } } // Amount invoiced HT if (!empty($arrayfields['p.total_ht_invoiced']['checked'])) { @@ -1933,7 +1945,11 @@ if ($resql) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 'p.total_ht_invoiced'; } - $totalarray['val']['p.total_ht_invoiced'] += $totalInvoicedHT; + if (empty($totalarray['val']['p.total_ht_invoiced'])) { + $totalarray['val']['p.total_ht_invoiced'] = $totalInvoicedHT; + } else { + $totalarray['val']['p.total_ht_invoiced'] += $totalInvoicedHT; + } } // Amount invoiced TTC if (!empty($arrayfields['p.total_invoiced']['checked'])) { @@ -1944,7 +1960,11 @@ if ($resql) { if (!$i) { $totalarray['pos'][$totalarray['nbfield']] = 'p.total_invoiced'; } - $totalarray['val']['p.total_invoiced'] += $totalInvoicedTTC; + if (empty($totalarray['val']['p.total_invoiced'])) { + $totalarray['val']['p.total_invoiced'] = $totalInvoicedTTC; + } else { + $totalarray['val']['p.total_invoiced'] += $totalInvoicedTTC; + } } // Currency if (!empty($arrayfields['p.multicurrency_code']['checked'])) { diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index da6a6c5e1f8..6a9f49ce997 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -62,7 +62,7 @@ function product_prepare_head($object) if (!empty($object->status_buy) || (!empty($conf->margin->enabled) && !empty($object->status))) { // If margin is on and product on sell, we may need the cost price even if product os not on purchase if ((((isModEnabled("fournisseur") && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || isModEnabled("supplier_order") || isModEnabled("supplier_invoice")) && $user->rights->fournisseur->lire) - || (!empty($conf->margin->enabled) && $user->rights->margin->liretous) + || (!empty($conf->margin->enabled) && $user->hasRight("margin", "liretous")) ) { if ($usercancreadprice) { $head[$h][0] = DOL_URL_ROOT."/product/fournisseurs.php?id=".$object->id; diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index c325aae4854..bb4f41861ec 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -155,6 +155,9 @@ $permissiontoadd = $user->rights->expensereport->creer; // Used by the include o /* * Actions */ +$value_unit_ht = price2num(GETPOST('value_unit_ht', 'alpha'), 'MU'); +$value_unit = price2num(GETPOST('value_unit', 'alpha'), 'MU'); +$qty = price2num(GETPOST('qty', 'alpha')); $parameters = array('socid' => $socid); $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks @@ -2370,14 +2373,14 @@ if ($action == 'create') { print ''; print $form->load_tva('vatrate', (GETPOSTISSET("vatrate") ? GETPOST("vatrate") : $selectedvat), $mysoc, '', 0, 0, '', false, 1); print ''; - print ''; + print ''; print ''; - print $form->selectDate($date ? $date : -1, 'date', 0, 0, 0, '', 1, 1); + print $form->selectDate(!empty($date) ? $date : -1, 'date', 0, 0, 0, '', 1, 1); print ''; - $formproject->select_projects(-1, $fk_project, 'fk_project', 0, 0, $projectRequired ? 0 : 1, -1, 0, 0, 0, '', 0, 0, 'maxwidth300'); + $formproject->select_projects(-1, !empty($fk_project) ? $fk_project : 0, 'fk_project', 0, 0, $projectRequired ? 0 : 1, -1, 0, 0, 0, '', 0, 0, 'maxwidth300'); print ''; - print $formexpensereport->selectTypeExpenseReport($fk_c_type_fees, 'fk_c_type_fees', 1); + print $formexpensereport->selectTypeExpenseReport(!empty($fk_c_type_fees) ? $fk_c_type_fees : "", 'fk_c_type_fees', 1); print ''; - print ''; + print ''; print ''; - print ''; + print ''; print ''; - print ''; + print ''; print ''; - print ''; // We must be able to enter decimal qty + print ''; // We must be able to enter decimal qty print ''; - if (count($typenArray) == 0) { + if (empty($typenArray) || !is_array($typenArray) || count($typenArray) == 0) { $typenArray = $formcompany->typent_array(1); } print $typenArray[$obj->typent_code]; From edaa111461ef6f2bb70a6e70c6d6663d36a06f58 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 12:03:54 +0200 Subject: [PATCH 17/34] Replace use of png file for module image with a font awesome image --- htdocs/commande/list.php | 3 +- htdocs/modulebuilder/index.php | 28 ++++++++++-------- htdocs/modulebuilder/template/img/README.md | 14 +++++++++ .../template/img/object_mymodule.png | Bin 219 -> 0 bytes .../template/img/object_mymodule_over.png | Bin 208 -> 0 bytes .../template/img/object_myobject.png | Bin 219 -> 0 bytes 6 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 htdocs/modulebuilder/template/img/README.md delete mode 100644 htdocs/modulebuilder/template/img/object_mymodule.png delete mode 100644 htdocs/modulebuilder/template/img/object_mymodule_over.png delete mode 100644 htdocs/modulebuilder/template/img/object_myobject.png diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 516f303f8eb..3b75994ef00 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -1320,12 +1320,11 @@ if ($resql) { print '
'; - print '
'; print '
'; print ' '; print ''; print '
'; - print '
'; + print '

'; } if ($sall) { diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index c510bad66c4..b41342abc13 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -202,10 +202,10 @@ foreach ($dirsrootforscan as $dirread) { } $textforlistofdirs .= ''.$dirread.''; if ($dirread == DOL_DOCUMENT_ROOT) { - if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { + if (getDolGlobalInt('MAIN_FEATURES_LEVEL') >= 2) { $textforlistofdirs .= $form->textwithpicto('', $langs->trans("ConstantIsOn", "MAIN_FEATURES_LEVEL")); } - if (!empty($conf->global->MODULEBUILDER_ADD_DOCUMENT_ROOT)) { + if (getDolGlobalString('MODULEBUILDER_ADD_DOCUMENT_ROOT')) { $textforlistofdirs .= $form->textwithpicto('', $langs->trans("ConstantIsOn", "MODULEBUILDER_ADD_DOCUMENT_ROOT")); } } @@ -317,7 +317,6 @@ if ($dirins && $action == 'initmodule' && $modulename) { dol_delete_file($destdir.'/sql/llx_'.strtolower($modulename).'_myobject_extrafields.sql'); dol_delete_file($destdir.'/sql/llx_'.strtolower($modulename).'_myobject.key.sql'); dol_delete_file($destdir.'/sql/llx_'.strtolower($modulename).'_myobject_extrafields.key.sql'); - dol_delete_file($destdir.'/img/object_myobject.png'); dol_delete_file($destdir.'/class/myobject.class.php'); dol_delete_dir($destdir.'/class', 1); @@ -1187,7 +1186,6 @@ if ($dirins && $action == 'initobject' && $module && $objectname) { 'sql/llx_mymodule_myobject_extrafields.sql'=>'sql/llx_'.strtolower($module).'_'.strtolower($objectname).'_extrafields.sql', 'sql/llx_mymodule_myobject_extrafields.key.sql'=>'sql/llx_'.strtolower($module).'_'.strtolower($objectname).'_extrafields.key.sql', //'scripts/mymodule.php'=>'scripts/'.strtolower($objectname).'.php', - 'img/object_myobject.png'=>'img/object_'.strtolower($objectname).'.png', 'class/myobject.class.php'=>'class/'.strtolower($objectname).'.class.php', //'class/api_mymodule.class.php'=>'class/api_'.strtolower($module).'.class.php', ); @@ -1670,7 +1668,6 @@ if ($dirins && $action == 'confirm_deleteobject' && $objectname) { 'sql/llx_mymodule_myobject.key.sql'=>'sql/llx_'.strtolower($module).'_'.strtolower($objectname).'.key.sql', 'sql/llx_mymodule_myobject_extrafields.key.sql'=>'sql/llx_'.strtolower($module).'_'.strtolower($objectname).'_extrafields.key.sql', 'scripts/myobject.php'=>'scripts/'.strtolower($objectname).'.php', - 'img/object_myobject.png'=>'img/object_'.strtolower($objectname).'.png', 'class/myobject.class.php'=>'class/'.strtolower($objectname).'.class.php', 'class/api_myobject.class.php'=>'class/api_'.strtolower($module).'.class.php', 'core/modules/mymodule/mod_myobject_advanced.php'=>'core/modules/'.strtolower($module).'/mod_'.strtolower($objectname).'_advanced.php', @@ -1949,7 +1946,7 @@ if ($message) { } //print $langs->trans("ModuleBuilderDesc3", count($listofmodules), $FILEFLAG).'
'; -$infomodulesfound = '
'.$form->textwithpicto(''.$langs->trans("ModuleBuilderDesc3", count($listofmodules)).'', $langs->trans("ModuleBuilderDesc4", $FILEFLAG).'
'.$textforlistofdirs).'
'; +$infomodulesfound = '
'.$form->textwithpicto('', $langs->trans("ModuleBuilderDesc3", count($listofmodules)).'

'.$langs->trans("ModuleBuilderDesc4", $FILEFLAG).'
'.$textforlistofdirs).'
'; // Load module descriptor @@ -2028,8 +2025,10 @@ if (is_array($listofmodules) && count($listofmodules) > 0) { } $urltomodulesetup = '
'.$langs->trans('Home').'-'.$langs->trans("Setup").'-'.$langs->trans("Modules").''; - if (!empty($conf->global->$const_name)) { // If module is already activated - $linktoenabledisable .= ''; + + // Define $linktoenabledisable to show after module title + if (isModEnabled($modulelowercase)) { // If module is already activated + $linktoenabledisable .= ''; $linktoenabledisable .= img_picto($langs->trans("Activated"), 'switch_on', '', false, 0, 0, '', '', 1); $linktoenabledisable .= ''; @@ -2089,7 +2088,7 @@ if (is_array($listofmodules) && count($listofmodules) > 0) { } $head[$h][0] = $_SERVER["PHP_SELF"].'?module=deletemodule'; -$head[$h][1] = $langs->trans("DangerZone"); +$head[$h][1] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("DangerZone"); $head[$h][2] = 'deletemodule'; $h++; @@ -2578,7 +2577,7 @@ if ($module == 'initmodule') { if ($h > 1) { $head3[$h][0] = $_SERVER["PHP_SELF"].'?tab=objects&module='.$module.($forceddirread ? '@'.$dirread : '').'&tabobj=deleteobject'; - $head3[$h][1] = $langs->trans("DangerZone"); + $head3[$h][1] =img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("DangerZone"); $head3[$h][2] = 'deleteobject'; $h++; } @@ -2796,9 +2795,12 @@ if ($module == 'initmodule') { print ' '.$langs->trans("PageForObjLib").' : '.(dol_is_file($realpathtoobjlib) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoobjlib).(dol_is_file($realpathtoobjlib) ? '' : '').''; print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
'; - print ' '.$langs->trans("Image").' : '.(dol_is_file($realpathtopicto) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtopicto).(dol_is_file($realpathtopicto) ? '' : '').''; - //print ' '.img_picto($langs->trans("Edit"), 'edit').''; - print '
'; + // Image + if (dol_is_file($realpathtopicto)) { + print ' '.$langs->trans("Image").' : '.(dol_is_file($realpathtopicto) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtopicto).(dol_is_file($realpathtopicto) ? '' : '').''; + //print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print '
'; + } print '
'; print ' '.$langs->trans("SqlFile").' : '.(dol_is_file($realpathtosql) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtosql).(dol_is_file($realpathtosql) ? '' : '').''; diff --git a/htdocs/modulebuilder/template/img/README.md b/htdocs/modulebuilder/template/img/README.md new file mode 100644 index 00000000000..2fcb4afc087 --- /dev/null +++ b/htdocs/modulebuilder/template/img/README.md @@ -0,0 +1,14 @@ + +Directory for module image files +-------------------------------- + +You can put here the .png files of your module: + + +If the picto of your module is an image (property $picto has been set to 'mymodule.png@mymodule', you can put into this +directory a .png file called *object_mymodule.png* (16x16 or 32x32 pixels) + + +If the picto of an object is an image (property $picto of the object.class.php has been set to 'myobject.png@mymodule', then you can put into this +directory a .png file called *object_myobject.png* (16x16 or 32x32 pixels) + diff --git a/htdocs/modulebuilder/template/img/object_mymodule.png b/htdocs/modulebuilder/template/img/object_mymodule.png deleted file mode 100644 index b421fe3c9e046e26f6f64e996d0ac6f914fb40ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0y_MV>B>Ar*{EFEO$)If}G@TqVsS z;K?HKQqEDJWWfRk&j}*Ij$9LWIdjZaEt_fgC(v|WZuyVE{Cnveqq!8H1nE3^Q+P=1 z>J6pzHFFOi7dG`V>~V=z*^%*0c-;qwr`mTC(p&lbdG0-v^)cLdNGff|;x#+nmA!Ac zG}*~K+qK>KZ`=d6{%iJ$(wftDofmsm&tGc%WKH2wLA_6M?iSg{#s5F~RKfV2apH@l TuYZ$(u4V9a^>bP0l+XkK_svvh diff --git a/htdocs/modulebuilder/template/img/object_mymodule_over.png b/htdocs/modulebuilder/template/img/object_mymodule_over.png deleted file mode 100644 index 7831c3025d7cf644f7299b25ad0c4605c1f0227e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0y_>7Fi*Ar*{!FEO$)IWn|948N<; z;GuND<2y&w0%lfLkESIvxPl}u-BWBiC$!tgo+;TkSkUgk`-79e|I@Z_XSaA0(Cp>& zpnykQmaAuh1HYwSK;({NvR4)EB*}C0%1Jos$DT3hZ7n@h=*-&WYOI>0c$|TaTSHZ3 z+Kxku{(9bUY!sa$$5d-_uT?t5;-EvL;kgqD3;)-DB>Ar*{EFEO$)If}G@TqVsS z;K?HKQqEDJWWfRk&j}*Ij$9LWIdjZaEt_fgC(v|WZuyVE{Cnveqq!8H1nE3^Q+P=1 z>J6pzHFFOi7dG`V>~V=z*^%*0c-;qwr`mTC(p&lbdG0-v^)cLdNGff|;x#+nmA!Ac zG}*~K+qK>KZ`=d6{%iJ$(wftDofmsm&tGc%WKH2wLA_6M?iSg{#s5F~RKfV2apH@l TuYZ$(u4V9a^>bP0l+XkK_svvh From fe6dcb22697e38cd46bc8ffa616325d95c25d8dc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 13:37:38 +0200 Subject: [PATCH 18/34] NEW ModuleBuilder can generate code of class from an existing SQL table --- htdocs/langs/en_US/errors.lang | 1 + htdocs/langs/en_US/modulebuilder.lang | 9 +- htdocs/modulebuilder/index.php | 619 ++++++++++-------- .../template/class/myobject.class.php | 10 +- 4 files changed, 350 insertions(+), 289 deletions(-) diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index e53220e661d..d0e32e480d9 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -294,6 +294,7 @@ ErrorFailedToLoadThirdParty=Failed to find/load thirdparty from id=%s, email=%s, ErrorThisPaymentModeIsNotSepa=This payment mode is not a bank account ErrorStripeCustomerNotFoundCreateFirst=Stripe customer is not set for this thirdparty (or set to a value deleted on Stripe side). Create (or re-attach) it first. ErrorCharPlusNotSupportedByImapForSearch=IMAP search is not able to search into sender or recipient for a string containing the character + +ErrorTableNotFound=Table %s not found # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index c7ca26ee149..cab7667484f 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -133,9 +133,9 @@ UseSpecificEditorURL = Use a specific editor URL UseSpecificFamily = Use a specific family UseSpecificAuthor = Use a specific author UseSpecificVersion = Use a specific initial version -IncludeRefGeneration=The reference of object must be generated automatically by custom numbering rules +IncludeRefGeneration=The reference of this object must be generated automatically by custom numbering rules IncludeRefGenerationHelp=Check this if you want to include code to manage the generation of the reference automatically using custom numbering rules -IncludeDocGeneration=I want to generate some documents from templates for the object +IncludeDocGeneration=I want the feature to generate some documents (PDF, ODT) from templates for this object IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. ShowOnCombobox=Show value into combobox KeyForTooltip=Key for tooltip @@ -156,4 +156,7 @@ LinkToParentMenu=Parent menu (fk_xxxxmenu) ListOfTabsEntries=List of tab entries TabsDefDesc=Define here the tabs provided by your module TabsDefDescTooltip=The tabs provided by your module/application are defined into the array $this->tabs into the module descriptor file. You can edit manually this file or use the embedded editor. -BadValueForType=Bad value for type %s \ No newline at end of file +BadValueForType=Bad value for type %s +DefinePropertiesFromExistingTable=Define properties from an existing table +DefinePropertiesFromExistingTableDesc=If a table in the database (for the object to create) already exists, you can use it to define the properties of the object. +DefinePropertiesFromExistingTableDesc2=Keep empty if not table exists. The code generator will use different kinds of fields to build an example of table that you can edit later. diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index b41342abc13..1c30d709576 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -894,238 +894,7 @@ if ($dirins && $action == 'confirm_removefile' && !empty($module)) { } } - -// Build the $fields array from SQL table (initfromtablename) -if ($dirins && $action == 'initobject' && $module && GETPOST('createtablearray', 'alpha')) { - $tablename = GETPOST('initfromtablename', 'alpha'); - $_results = $db->DDLDescTable($tablename); - if (empty($_results)) { - setEventMessages($langs->trans("ErrorTableNotFound", $tablename), null, 'errors'); - } else { - /** - * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter[:Sortfield]]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') - * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" - * 'label' the translation key. - * 'picto' is code of a picto to show before value in forms - * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM' or 'isModEnabled("multicurrency")' ...) - * 'position' is the sort order of field. - * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). - * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) - * 'noteditable' says if field is not editable (1 or 0) - * 'alwayseditable' says if field can be modified also when status is not draft ('1' or '0') - * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. - * 'index' if we want an index in database. - * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). - * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. - * 'isameasure' must be set to 1 or 2 if field can be used for measure. Field type must be summable like integer or double(24,8). Use 1 in most cases, or 2 if you don't want to see the column total into list (for example for percentage) - * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' - * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. - * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record - * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. - * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' - * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. - * 'comment' is not used. You can store here any text of your choice. It is not used by application. - * 'validate' is 1 if need to validate with $this->validateField() - * 'copytoclipboard' is 1 or 2 to allow to add a picto to copy value into clipboard (1=picto after label, 2=picto after value) - */ - - /*public $fields=array( - 'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'index'=>1, 'position'=>1, 'comment'=>'Id'), - 'ref' =>array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'comment'=>'Reference of object'), - 'entity' =>array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'default'=>1, 'notnull'=>1, 'index'=>1, 'position'=>20), - 'label' =>array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth200', 'help'=>'Help text', 'alwayseditable'=>'1'), - 'amount' =>array('type'=>'double(24,8)', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text'), - 'fk_soc' =>array('type'=>'integer:Societe:societe/class/societe.class.php', 'label'=>'ThirdParty', 'visible'=>1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'searchall'=>1, 'help'=>'LinkToThirdparty'), - 'description' =>array('type'=>'text', 'label'=>'Descrption', 'enabled'=>1, 'visible'=>0, 'position'=>60), - 'note_public' =>array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61), - 'note_private' =>array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>62), - 'date_creation' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>500), - 'tms' =>array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>501), - //'date_valid' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>502), - 'fk_user_creat' =>array('type'=>'integer', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>510), - 'fk_user_modif' =>array('type'=>'integer', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>511), - //'fk_user_valid' =>array('type'=>'integer', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>512), - 'import_key' =>array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'index'=>0, 'position'=>1000), - 'status' =>array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'default'=>0, 'index'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Active', -1=>'Cancel')), - );*/ - - $string = 'public $fields=array('."\n"; - $string .= "
"; - $i = 10; - while ($obj = $db->fetch_object($_results)) { - // fieldname - $fieldname = $obj->Field; - // type - $type = $obj->Type; - if ($type == 'int(11)') { - $type = 'integer'; - } - if ($type == 'float') { - $type = 'real'; - } - if (strstr($type, 'tinyint')) { - $type = 'integer'; - } - if ($obj->Field == 'fk_soc') { - $type = 'integer:Societe:societe/class/societe.class.php'; - } - if (preg_match('/^fk_proj/', $obj->Field)) { - $type = 'integer:Project:projet/class/project.class.php:1:fk_statut=1'; - } - if (preg_match('/^fk_prod/', $obj->Field)) { - $type = 'integer:Product:product/class/product.class.php:1'; - } - if ($obj->Field == 'fk_warehouse') { - $type = 'integer:Entrepot:product/stock/class/entrepot.class.php'; - } - if (preg_match('/^(fk_user|fk_commercial)/', $obj->Field)) { - $type = 'integer:User:user/class/user.class.php'; - } - - // notnull - $notnull = ($obj->Null == 'YES' ? 0 : 1); - if ($fieldname == 'fk_user_modif') { - $notnull = -1; - } - // label - $label = preg_replace('/_/', '', ucfirst($fieldname)); - if ($fieldname == 'rowid') { - $label = 'TechnicalID'; - } - if ($fieldname == 'import_key') { - $label = 'ImportId'; - } - if ($fieldname == 'fk_soc') { - $label = 'ThirdParty'; - } - if ($fieldname == 'tms') { - $label = 'DateModification'; - } - if ($fieldname == 'datec') { - $label = 'DateCreation'; - } - if ($fieldname == 'date_valid') { - $label = 'DateValidation'; - } - if ($fieldname == 'datev') { - $label = 'DateValidation'; - } - if ($fieldname == 'note_private') { - $label = 'NotePublic'; - } - if ($fieldname == 'note_public') { - $label = 'NotePrivate'; - } - if ($fieldname == 'fk_user_creat') { - $label = 'UserAuthor'; - } - if ($fieldname == 'fk_user_modif') { - $label = 'UserModif'; - } - if ($fieldname == 'fk_user_valid') { - $label = 'UserValidation'; - } - // visible - $visible = -1; - if ($fieldname == 'entity') { - $visible = -2; - } - if ($fieldname == 'import_key') { - $visible = -2; - } - if ($fieldname == 'fk_user_creat') { - $visible = -2; - } - if ($fieldname == 'fk_user_modif') { - $visible = -2; - } - if (in_array($fieldname, array('ref_ext', 'model_pdf', 'note_public', 'note_private'))) { - $visible = 0; - } - // enabled - $enabled = 1; - // default - $default = ''; - if ($fieldname == 'entity') { - $default = 1; - } - // position - $position = $i; - if (in_array($fieldname, array('status', 'statut', 'fk_status', 'fk_statut'))) { - $position = 500; - } - if ($fieldname == 'import_key') { - $position = 900; - } - // index - $index = 0; - if ($fieldname == 'entity') { - $index = 1; - } - // css, cssview, csslist - $css = ''; - $cssview = ''; - $csslist = ''; - if (preg_match('/^fk_/', $fieldname)) { - $css = 'maxwidth500 widthcentpercentminusxx'; - } - if ($fieldname == 'label') { - $css = 'minwidth300'; - $cssview = 'wordbreak'; - } - if (in_array($fieldname, array('note_public', 'note_private'))) { - $cssview = 'wordbreak'; - } - - // type - $picto = $obj->Picto; - if ($obj->Field == 'fk_soc') { - $picto = 'company'; - } - if (preg_match('/^fk_proj/', $obj->Field)) { - $picto = 'project'; - } - - // Build the property string - $string .= "'".$obj->Field."'=>array('type'=>'".$type."', 'label'=>'".$label."',"; - if ($default != '') { - $string .= " 'default'=>".$default.","; - } - $string .= " 'enabled'=>".$enabled.","; - $string .= " 'visible'=>".$visible; - if ($notnull) { - $string .= ", 'notnull'=>".$notnull; - } - if ($fieldname == 'ref' || $fieldname == 'code') { - $string .= ", 'showoncombobox'=>1"; - } - $string .= ", 'position'=>".$position; - if ($index) { - $string .= ", 'index'=>".$index; - } - if ($picto) { - $string .= ", 'picto'=>'".$picto."'"; - } - if ($css) { - $string .= ", 'css'=>".$css; - } - if ($cssview) { - $string .= ", 'cssview'=>".$cssview; - } - if ($csslist) { - $string .= ", 'csslist'=>".$csslist; - } - $string .= "),\n"; - $string .= "
"; - $i += 5; - } - $string .= ');'."\n"; - $string .= "
"; - print $string; - exit; - } -} - +// Init an object if ($dirins && $action == 'initobject' && $module && $objectname) { $objectname = ucfirst($objectname); @@ -1169,6 +938,247 @@ if ($dirins && $action == 'initobject' && $module && $objectname) { } } + // If we must reuse a table for properties, define $stringforproperties + $stringforproperties = ''; + $tablename = GETPOST('initfromtablename', 'alpha'); + if ($tablename) { + $_results = $db->DDLDescTable($tablename); + if (empty($_results)) { + $error++; + $langs->load("errors"); + setEventMessages($langs->trans("ErrorTableNotFound", $tablename), null, 'errors'); + } else { + /** + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter[:Sortfield]]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') + * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" + * 'label' the translation key. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM' or 'isModEnabled("multicurrency")' ...) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). + * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) + * 'noteditable' says if field is not editable (1 or 0) + * 'alwayseditable' says if field can be modified also when status is not draft ('1' or '0') + * 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created. + * 'index' if we want an index in database. + * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). + * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. + * 'isameasure' must be set to 1 or 2 if field can be used for measure. Field type must be summable like integer or double(24,8). Use 1 in most cases, or 2 if you don't want to see the column total into list (for example for percentage) + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. + * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * 'validate' is 1 if need to validate with $this->validateField() + * 'copytoclipboard' is 1 or 2 to allow to add a picto to copy value into clipboard (1=picto after label, 2=picto after value) + */ + + /*public $fields=array( + 'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'index'=>1, 'position'=>1, 'comment'=>'Id'), + 'ref' =>array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'comment'=>'Reference of object'), + 'entity' =>array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'default'=>1, 'notnull'=>1, 'index'=>1, 'position'=>20), + 'label' =>array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth200', 'help'=>'Help text', 'alwayseditable'=>'1'), + 'amount' =>array('type'=>'double(24,8)', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text'), + 'fk_soc' =>array('type'=>'integer:Societe:societe/class/societe.class.php', 'label'=>'ThirdParty', 'visible'=>1, 'enabled'=>1, 'position'=>50, 'notnull'=>-1, 'index'=>1, 'searchall'=>1, 'help'=>'LinkToThirdparty'), + 'description' =>array('type'=>'text', 'label'=>'Descrption', 'enabled'=>1, 'visible'=>0, 'position'=>60), + 'note_public' =>array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61), + 'note_private' =>array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>62), + 'date_creation' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>500), + 'tms' =>array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>501), + //'date_valid' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>502), + 'fk_user_creat' =>array('type'=>'integer', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>510), + 'fk_user_modif' =>array('type'=>'integer', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>511), + //'fk_user_valid' =>array('type'=>'integer', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>512), + 'import_key' =>array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'index'=>0, 'position'=>1000), + 'status' =>array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'default'=>0, 'index'=>1, 'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Active', -1=>'Cancel')), + );*/ + + $stringforproperties = '// BEGIN MODULEBUILDER PROPERTIES'."\n"; + $stringforproperties .= 'public $fields=array('."\n"; + $i = 10; + while ($obj = $db->fetch_object($_results)) { + // fieldname + $fieldname = $obj->Field; + // type + $type = $obj->Type; + if ($type == 'int(11)') { + $type = 'integer'; + } + if ($type == 'float') { + $type = 'real'; + } + if (strstr($type, 'tinyint')) { + $type = 'integer'; + } + if ($obj->Field == 'fk_soc') { + $type = 'integer:Societe:societe/class/societe.class.php'; + } + if (preg_match('/^fk_proj/', $obj->Field)) { + $type = 'integer:Project:projet/class/project.class.php:1:fk_statut=1'; + } + if (preg_match('/^fk_prod/', $obj->Field)) { + $type = 'integer:Product:product/class/product.class.php:1'; + } + if ($obj->Field == 'fk_warehouse') { + $type = 'integer:Entrepot:product/stock/class/entrepot.class.php'; + } + if (preg_match('/^(fk_user|fk_commercial)/', $obj->Field)) { + $type = 'integer:User:user/class/user.class.php'; + } + + // notnull + $notnull = ($obj->Null == 'YES' ? 0 : 1); + if ($fieldname == 'fk_user_modif') { + $notnull = -1; + } + // label + $label = preg_replace('/_/', '', ucfirst($fieldname)); + if ($fieldname == 'rowid') { + $label = 'TechnicalID'; + } + if ($fieldname == 'import_key') { + $label = 'ImportId'; + } + if ($fieldname == 'fk_soc') { + $label = 'ThirdParty'; + } + if ($fieldname == 'tms') { + $label = 'DateModification'; + } + if ($fieldname == 'datec') { + $label = 'DateCreation'; + } + if ($fieldname == 'date_valid') { + $label = 'DateValidation'; + } + if ($fieldname == 'datev') { + $label = 'DateValidation'; + } + if ($fieldname == 'note_private') { + $label = 'NotePublic'; + } + if ($fieldname == 'note_public') { + $label = 'NotePrivate'; + } + if ($fieldname == 'fk_user_creat') { + $label = 'UserAuthor'; + } + if ($fieldname == 'fk_user_modif') { + $label = 'UserModif'; + } + if ($fieldname == 'fk_user_valid') { + $label = 'UserValidation'; + } + // visible + $visible = -1; + if ($fieldname == 'entity') { + $visible = -2; + } + if ($fieldname == 'import_key') { + $visible = -2; + } + if ($fieldname == 'fk_user_creat') { + $visible = -2; + } + if ($fieldname == 'fk_user_modif') { + $visible = -2; + } + if (in_array($fieldname, array('ref_ext', 'model_pdf', 'note_public', 'note_private'))) { + $visible = 0; + } + // enabled + $enabled = 1; + // default + $default = ''; + if ($fieldname == 'entity') { + $default = 1; + } + // position + $position = $i; + if (in_array($fieldname, array('status', 'statut', 'fk_status', 'fk_statut'))) { + $position = 500; + } + if ($fieldname == 'import_key') { + $position = 900; + } + // $alwayseditable + if ($fieldname == 'label') { + $alwayseditable = 1; + } + // index + $index = 0; + if ($fieldname == 'entity') { + $index = 1; + } + // css, cssview, csslist + $css = ''; + $cssview = ''; + $csslist = ''; + if (preg_match('/^fk_/', $fieldname)) { + $css = 'maxwidth500 widthcentpercentminusxx'; + } + if ($fieldname == 'label') { + $css = 'minwidth300'; + $cssview = 'wordbreak'; + } + if (in_array($fieldname, array('note_public', 'note_private'))) { + $cssview = 'wordbreak'; + } + if (in_array($fieldname, array('ref', 'label')) || preg_match('/integer:/', $type)) { + $csslist = 'tdoverflowmax150'; + } + + // type + $picto = $obj->Picto; + if ($obj->Field == 'fk_soc') { + $picto = 'company'; + } + if (preg_match('/^fk_proj/', $obj->Field)) { + $picto = 'project'; + } + + // Build the property string + $stringforproperties .= "'".$obj->Field."'=>array('type'=>'".$type."', 'label'=>'".$label."',"; + if ($default != '') { + $stringforproperties .= " 'default'=>".$default.","; + } + $stringforproperties .= " 'enabled'=>".$enabled.","; + $stringforproperties .= " 'visible'=>".$visible; + if ($notnull) { + $stringforproperties .= ", 'notnull'=>".$notnull; + } + if ($alwayseditable) { + $stringforproperties .= ", 'alwayseditable'=>1"; + } + if ($fieldname == 'ref' || $fieldname == 'code') { + $stringforproperties .= ", 'showoncombobox'=>1"; + } + $stringforproperties .= ", 'position'=>".$position; + if ($index) { + $stringforproperties .= ", 'index'=>".$index; + } + if ($picto) { + $stringforproperties .= ", 'picto'=>'".$picto."'"; + } + if ($css) { + $stringforproperties .= ", 'css'=>'".$css."'"; + } + if ($cssview) { + $stringforproperties .= ", 'cssview'=>'".$cssview."'"; + } + if ($csslist) { + $stringforproperties .= ", 'csslist'=>'".$csslist."'"; + } + $stringforproperties .= "),\n"; + $i += 5; + } + $stringforproperties .= ');'."\n"; + $stringforproperties .= '// END MODULEBUILDER PROPERTIES'."\n"; + } + } + if (!$error) { // Copy some files $filetogenerate = array( @@ -1209,20 +1219,33 @@ if ($dirins && $action == 'initobject' && $module && $objectname) { ); } - foreach ($filetogenerate as $srcfile => $destfile) { - $result = dol_copy($srcdir.'/'.$srcfile, $destdir.'/'.$destfile, $newmask, 0); - if ($result <= 0) { - if ($result < 0) { - $error++; - $langs->load("errors"); - setEventMessages($langs->trans("ErrorFailToCopyFile", $srcdir.'/'.$srcfile, $destdir.'/'.$destfile), null, 'errors'); - } else { - // $result == 0 - setEventMessages($langs->trans("FileAlreadyExists", $destfile), null, 'warnings'); + + if (!$error) { + foreach ($filetogenerate as $srcfile => $destfile) { + $result = dol_copy($srcdir.'/'.$srcfile, $destdir.'/'.$destfile, $newmask, 0); + if ($result <= 0) { + if ($result < 0) { + $error++; + $langs->load("errors"); + setEventMessages($langs->trans("ErrorFailToCopyFile", $srcdir.'/'.$srcfile, $destdir.'/'.$destfile), null, 'errors'); + } else { + // $result == 0 + setEventMessages($langs->trans("FileAlreadyExists", $destfile), null, 'warnings'); + } } } } + // Replace property section with $stringforproperties + if (!$error && $stringforproperties) { + //var_dump($stringforproperties);exit; + $arrayreplacement = array( + '/\/\/ BEGIN MODULEBUILDER PROPERTIES.*\/\/ END MODULEBUILDER PROPERTIES/ims' => $stringforproperties + ); + + dolReplaceInFile($destdir.'/class/'.strtolower($objectname).'.class.php', $arrayreplacement, '', 0, 0, 1); + } + // Edit the class 'class/'.strtolower($objectname).'.class.php' if (GETPOST('includerefgeneration', 'aZ09')) { // Replace 'visible'=>1, 'noteditable'=>0, 'default'=>'' @@ -1405,6 +1428,8 @@ if ($dirins && $action == 'initobject' && $module && $objectname) { if (!$error) { setEventMessages($langs->trans('FilesForObjectInitialized', $objectname), null); $tabobj = $objectname; + } else { + $tabobj = 'newobject'; } } @@ -1489,26 +1514,26 @@ if ($dirins && $action == 'addproperty' && empty($cancel) && !empty($module) && if (!$error && !GETPOST('regenerateclasssql')&& !GETPOST('regeneratemissing')) { $addfieldentry = array( - 'name'=>GETPOST('propname', 'aZ09'), - 'label'=>GETPOST('proplabel', 'alpha'), - 'type'=>GETPOST('proptype', 'alpha'), - 'arrayofkeyval'=>GETPOST('proparrayofkeyval', 'restricthtml'), // Example json string '{"0":"Draft","1":"Active","-1":"Cancel"}' - 'visible'=>GETPOST('propvisible', 'int'), - 'enabled'=>GETPOST('propenabled', 'int'), - 'position'=>GETPOST('propposition', 'int'), - 'notnull'=>GETPOST('propnotnull', 'int'), - 'index'=>GETPOST('propindex', 'int'), - 'searchall'=>GETPOST('propsearchall', 'int'), - 'isameasure'=>GETPOST('propisameasure', 'int'), - 'comment'=>GETPOST('propcomment', 'alpha'), - 'help'=>GETPOST('prophelp', 'alpha'), - 'css'=>GETPOST('propcss', 'alpha'), // Can be 'maxwidth500 widthcentpercentminusxx' for example - 'cssview'=>GETPOST('propcssview', 'alpha'), - 'csslist'=>GETPOST('propcsslist', 'alpha'), - 'default'=>GETPOST('propdefault', 'restricthtml'), - 'noteditable'=>intval(GETPOST('propnoteditable', 'int')), - 'alwayseditable'=>intval(GETPOST('propalwayseditable', 'int')), - 'validate' => GETPOST('propvalidate', 'int') + 'name'=>GETPOST('propname', 'aZ09'), + 'label'=>GETPOST('proplabel', 'alpha'), + 'type'=>GETPOST('proptype', 'alpha'), + 'arrayofkeyval'=>GETPOST('proparrayofkeyval', 'restricthtml'), // Example json string '{"0":"Draft","1":"Active","-1":"Cancel"}' + 'visible'=>GETPOST('propvisible', 'int'), + 'enabled'=>GETPOST('propenabled', 'int'), + 'position'=>GETPOST('propposition', 'int'), + 'notnull'=>GETPOST('propnotnull', 'int'), + 'index'=>GETPOST('propindex', 'int'), + 'searchall'=>GETPOST('propsearchall', 'int'), + 'isameasure'=>GETPOST('propisameasure', 'int'), + 'comment'=>GETPOST('propcomment', 'alpha'), + 'help'=>GETPOST('prophelp', 'alpha'), + 'css'=>GETPOST('propcss', 'alpha'), // Can be 'maxwidth500 widthcentpercentminusxx' for example + 'cssview'=>GETPOST('propcssview', 'alpha'), + 'csslist'=>GETPOST('propcsslist', 'alpha'), + 'default'=>GETPOST('propdefault', 'restricthtml'), + 'noteditable'=>intval(GETPOST('propnoteditable', 'int')), + 'alwayseditable'=>intval(GETPOST('propalwayseditable', 'int')), + 'validate' => GETPOST('propvalidate', 'int') ); @@ -2285,6 +2310,8 @@ if ($module == 'initmodule') { $head2[$h][2] = 'buildpackage'; $h++; + $MAXTABFOROBJECT = 15; + print ''; // Note module is inside $dirread @@ -2296,7 +2323,7 @@ if ($module == 'initmodule') { $pathtochangelog = $modulelowercase.'/ChangeLog.md'; if ($action != 'editfile' || empty($file)) { - print dol_get_fiche_head($head2, $tab, '', -1, '', 0, '', '', 0, 'formodulesuffix'); // Description - level 2 + print dol_get_fiche_head($head2, $tab, '', -1, '', 0, '', '', $MAXTABFOROBJECT, 'formodulesuffix'); // Description - level 2 print ''.$langs->trans("ModuleBuilderDesc".$tab).''; $infoonmodulepath = ''; @@ -2456,7 +2483,7 @@ if ($module == 'initmodule') { print ''; } } else { - print dol_get_fiche_head($head2, $tab, '', -1, '', 0, '', '', 0, 'formodulesuffix'); // Level 2 + print dol_get_fiche_head($head2, $tab, '', -1, '', 0, '', '', $MAXTABFOROBJECT, 'formodulesuffix'); // Level 2 } if ($tab == 'languages') { @@ -2603,12 +2630,38 @@ if ($module == 'initmodule') { print ''.$langs->trans("EnterNameOfObjectDesc").'

'; - print '
'; - print '
'; + print '
'; + + print '
'; + print ''.$langs->trans("ObjectKey").'   '; + print '
'; + print '
'; + print '
'; + + print '
'; + print ''.$langs->trans("Picto").'   '; + print '
'; + print ''; + print $form->textwithpicto('', $langs->trans("Example").': fa-generic, fa-globe, ... any font awesome code.
Advanced syntax is fa-fakey[_faprefix[_facolor[_fasize]]]'); + print '
'; + + print '
'; + print ''.$langs->trans("DefinePropertiesFromExistingTable").'   '; + print '
'; + print ''; + print $form->textwithpicto('', $langs->trans("DefinePropertiesFromExistingTableDesc").'
'.$langs->trans("DefinePropertiesFromExistingTableDesc2")); + print '
'; + + print '
'; + + print '
'; + print '
'; print '
'; - print ''; + print '
'; + print ''; print '
'; print '
'; + /* print '
'; print ''.$langs->trans("or").''; print '
'; @@ -2618,6 +2671,7 @@ if ($module == 'initmodule') { print ''; print ''; print '
'; + */ print ''; } elseif ($tabobj == 'deleteobject') { @@ -2679,7 +2733,7 @@ if ($module == 'initmodule') { } if (class_exists($tabobj)) { try { - $tmpobjet = @new $tabobj($db); + $tmpobject = @new $tabobj($db); } catch (Exception $e) { dol_syslog('Failed to load Constructor of class: '.$e->getMessage(), LOG_WARNING); } @@ -2752,13 +2806,22 @@ if ($module == 'initmodule') { $urlofcard = dol_buildpath('/'.$pathtocard, 1); - - - + print ''; print '
'; // Main DAO class file print ' '.$langs->trans("ClassFile").' : '.(dol_is_file($realpathtoclass) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoclass).(dol_is_file($realpathtoclass) ? '' : '').''; print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print '
'; + // Image + if (dol_is_file($realpathtopicto)) { + print ' '.$langs->trans("Image").' : '.(dol_is_file($realpathtopicto) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtopicto).(dol_is_file($realpathtopicto) ? '' : '').''; + //print ' '.img_picto($langs->trans("Edit"), 'edit').''; + print '
'; + } elseif (!empty($tmpobject)) { + print ' '.$langs->trans("Image").' : '.img_picto('', $tmpobject->picto, 'class="pictofixedwidth"'); + print '
'; + } + // API file print '
'; print ' '.$langs->trans("ApiClassFile").' : '.(dol_is_file($realpathtoapi) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoapi).(dol_is_file($realpathtoapi)?'':'').''; @@ -2795,12 +2858,6 @@ if ($module == 'initmodule') { print ' '.$langs->trans("PageForObjLib").' : '.(dol_is_file($realpathtoobjlib) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtoobjlib).(dol_is_file($realpathtoobjlib) ? '' : '').''; print ' '.img_picto($langs->trans("Edit"), 'edit').''; print '
'; - // Image - if (dol_is_file($realpathtopicto)) { - print ' '.$langs->trans("Image").' : '.(dol_is_file($realpathtopicto) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtopicto).(dol_is_file($realpathtopicto) ? '' : '').''; - //print ' '.img_picto($langs->trans("Edit"), 'edit').''; - print '
'; - } print '
'; print ' '.$langs->trans("SqlFile").' : '.(dol_is_file($realpathtosql) ? '' : '').preg_replace('/^'.strtolower($module).'\//', '', $pathtosql).(dol_is_file($realpathtosql) ? '' : '').''; @@ -2888,7 +2945,7 @@ if ($module == 'initmodule') { print '


'; - if (!empty($tmpobjet)) { + if (!empty($tmpobject)) { $reflector = new ReflectionClass($tabobj); $reflectorproperties = $reflector->getProperties(); // Can also use get_object_vars $reflectorpropdefault = $reflector->getDefaultProperties(); // Can also use get_object_vars @@ -2942,9 +2999,9 @@ if ($module == 'initmodule') { print ''; print ''; - // We must use $reflectorpropdefault['fields'] to get list of fields because $tmpobjet->fields may have been + // We must use $reflectorpropdefault['fields'] to get list of fields because $tmpobject->fields may have been // modified during the constructor and we want value into head of class before constructor is called. - //$properties = dol_sort_array($tmpobjet->fields, 'position'); + //$properties = dol_sort_array($tmpobject->fields, 'position'); $properties = dol_sort_array($reflectorpropdefault['fields'], 'position'); if (!empty($properties)) { @@ -2984,7 +3041,7 @@ if ($module == 'initmodule') { { $propname=$propval->getName(); $comment=$propval->getDocComment(); - $type=gettype($tmpobjet->$propname); + $type=gettype($tmpobject->$propname); $default=$propdefault[$propname]; // Discard generic properties if (in_array($propname, array('element', 'childtables', 'table_element', 'table_element_line', 'class_element_line', 'ismultientitymanaged'))) continue; diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index 430f004eecb..b30391becc7 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -116,19 +116,19 @@ class MyObject extends CommonObject 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'noteditable'=>1, 'notnull'=> 1, 'index'=>1, 'position'=>1, 'comment'=>'Id', 'css'=>'left'), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=> 1, 'default'=>1, 'index'=>1, 'position'=>10), 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'noteditable'=>0, 'default'=>'', 'notnull'=> 1, 'showoncombobox'=>1, 'index'=>1, 'position'=>20, 'searchall'=>1, 'comment'=>'Reference of object', 'validate'=>1), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth300', 'cssview'=>'wordbreak', 'help'=>'Help text', 'showoncombobox'=>2, 'validate'=>1), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'searchall'=>1, 'css'=>'minwidth300', 'cssview'=>'wordbreak', 'help'=>'Help text', 'showoncombobox'=>2, 'validate'=>1, 'alwayseditable'=>1), 'amount' => array('type'=>'price', 'label'=>'Amount', 'enabled'=>1, 'visible'=>1, 'default'=>'null', 'position'=>40, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for amount', 'validate'=>1), 'qty' => array('type'=>'real', 'label'=>'Qty', 'enabled'=>1, 'visible'=>1, 'default'=>'0', 'position'=>45, 'searchall'=>0, 'isameasure'=>1, 'help'=>'Help text for quantity', 'css'=>'maxwidth75imp', 'validate'=>1), - 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'picto'=>'company', 'label'=>'ThirdParty', 'visible'=> 1, 'enabled'=>'$conf->societe->enabled', 'position'=>50, 'notnull'=>-1, 'index'=>1, 'help'=>'OrganizationEventLinkToThirdParty', 'validate'=>1, 'css'=>'maxwidth500 widthcentpercentminusxx'), - 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'picto'=>'project', 'enabled'=>'$conf->project->enabled', 'visible'=>-1, 'position'=>52, 'notnull'=>-1, 'index'=>1, 'validate'=>1, 'css'=>'maxwidth500 widthcentpercentminusxx'), + 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'picto'=>'company', 'label'=>'ThirdParty', 'visible'=> 1, 'enabled'=>'$conf->societe->enabled', 'position'=>50, 'notnull'=>-1, 'index'=>1, 'help'=>'OrganizationEventLinkToThirdParty', 'validate'=>1, 'css'=>'maxwidth500 widthcentpercentminusxx', 'csslist'=>'tdoverflowmax150'), + 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'picto'=>'project', 'enabled'=>'$conf->project->enabled', 'visible'=>-1, 'position'=>52, 'notnull'=>-1, 'index'=>1, 'validate'=>1, 'css'=>'maxwidth500 widthcentpercentminusxx', 'csslist'=>'tdoverflowmax150'), 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>3, 'position'=>60, 'validate'=>1), 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61, 'validate'=>1, 'cssview'=>'wordbreak'), 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>62, 'validate'=>1, 'cssview'=>'wordbreak'), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'notnull'=> 1, 'position'=>500), 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'notnull'=> 0, 'position'=>501), //'date_validation ' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>502), - 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'notnull'=> 1, 'position'=>510, 'foreignkey'=>'user.rowid'), - 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>511), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'notnull'=> 1, 'position'=>510, 'foreignkey'=>'user.rowid', 'csslist'=>'tdoverflowmax150'), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>511, 'csslist'=>'tdoverflowmax150'), //'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'position'=>512), 'last_main_doc' => array('type'=>'varchar(255)', 'label'=>'LastMainDoc', 'enabled'=>1, 'visible'=>0, 'notnull'=>0, 'position'=>600), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'index'=>0, 'position'=>1000), From 2b44bb6d97a30c535f37953a44f41b908a97c0c6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 13:39:25 +0200 Subject: [PATCH 19/34] trans --- htdocs/langs/en_US/modulebuilder.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index cab7667484f..0e11bef2bf1 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -137,7 +137,7 @@ IncludeRefGeneration=The reference of this object must be generated automaticall IncludeRefGenerationHelp=Check this if you want to include code to manage the generation of the reference automatically using custom numbering rules IncludeDocGeneration=I want the feature to generate some documents (PDF, ODT) from templates for this object IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. -ShowOnCombobox=Show value into combobox +ShowOnCombobox=Show value into combo boxes KeyForTooltip=Key for tooltip CSSClass=CSS for edit/create form CSSViewClass=CSS for read form @@ -159,4 +159,4 @@ TabsDefDescTooltip=The tabs provided by your module/application are defined into BadValueForType=Bad value for type %s DefinePropertiesFromExistingTable=Define properties from an existing table DefinePropertiesFromExistingTableDesc=If a table in the database (for the object to create) already exists, you can use it to define the properties of the object. -DefinePropertiesFromExistingTableDesc2=Keep empty if not table exists. The code generator will use different kinds of fields to build an example of table that you can edit later. +DefinePropertiesFromExistingTableDesc2=Keep empty if the table does not exist yet. The code generator will use different kinds of fields to build an example of table that you can edit later. From 6df6400792e16a81e25af47e5e60aa66f1844250 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 14:32:50 +0200 Subject: [PATCH 20/34] New Add copy/paste button after LDAP password field in LDAP setup --- htdocs/admin/ldap.php | 3 ++- htdocs/admin/system/dolibarr.php | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index 10e9b90ccd6..b77ddadd8b5 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -245,7 +245,8 @@ print ''.$langs->trans // Pass print ''; print ''.$langs->trans("LDAPPassword").''; -print ''; +print ''; +print showValueWithClipboardCPButton(getDolGlobalString('LDAP_ADMIN_PASS'), 0, ' '); print ''.$langs->trans('Password').' (ex: secret)'; print ''; diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index 80efc0a9891..86c76ca1604 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -411,7 +411,7 @@ foreach ($configfileparameters as $key => $value) { } elseif ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/', ${$newkey})) { print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT'); } elseif ($newkey == 'dolibarr_main_document_root_alt') { - $tmparray = explode(',', ${$newkey}); + $tmparray = explode(',', $dolibarr_main_document_root_alt); $i = 0; foreach ($tmparray as $value2) { if ($i > 0) { @@ -429,7 +429,7 @@ foreach ($configfileparameters as $key => $value) { global $dolibarr_main_cookie_cryptkey, $dolibarr_main_instance_unique_id; $valuetoshow = $dolibarr_main_instance_unique_id ? $dolibarr_main_instance_unique_id : $dolibarr_main_cookie_cryptkey; // Use $dolibarr_main_instance_unique_id first then $dolibarr_main_cookie_cryptkey if (empty($dolibarr_main_prod)) { - print ''; + print ''; print showValueWithClipboardCPButton($valuetoshow, 0, '********'); } else { print '**********'; From 395b71302acbd89c732e38274ccd971e278f0803 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 14:42:52 +0200 Subject: [PATCH 21/34] css --- htdocs/admin/ldap.php | 2 +- htdocs/admin/ldap_contacts.php | 2 +- htdocs/admin/ldap_groups.php | 2 +- htdocs/admin/ldap_members.php | 2 +- htdocs/admin/ldap_members_types.php | 2 +- htdocs/admin/ldap_users.php | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index b77ddadd8b5..926f988567b 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -139,7 +139,7 @@ $formldap = new FormLdap($db); print '
'; print ''; -print dol_get_fiche_head($head, 'ldap', $langs->trans("LDAPSetup"), -1); +print dol_get_fiche_head($head, 'ldap', '', -1); print ''; diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php index 0f8fec1cecc..6ee7b38e0b8 100644 --- a/htdocs/admin/ldap_contacts.php +++ b/htdocs/admin/ldap_contacts.php @@ -140,7 +140,7 @@ if (!function_exists("ldap_connect")) { setEventMessages($langs->trans("LDAPFunctionsNotAvailableOnPHP"), null, 'errors'); } -print dol_get_fiche_head($head, 'contacts', $langs->trans("LDAPSetup"), -1); +print dol_get_fiche_head($head, 'contacts', '', -1); print ''.$langs->trans("LDAPDescContact").'
'; diff --git a/htdocs/admin/ldap_groups.php b/htdocs/admin/ldap_groups.php index 23a4103bc75..5079d6d2d29 100644 --- a/htdocs/admin/ldap_groups.php +++ b/htdocs/admin/ldap_groups.php @@ -114,7 +114,7 @@ if (!function_exists("ldap_connect")) { setEventMessages($langs->trans("LDAPFunctionsNotAvailableOnPHP"), null, 'errors'); } -print dol_get_fiche_head($head, 'groups', $langs->trans("LDAPSetup"), -1); +print dol_get_fiche_head($head, 'groups', '', -1); print ''.$langs->trans("LDAPDescGroups").'
'; diff --git a/htdocs/admin/ldap_members.php b/htdocs/admin/ldap_members.php index b7783c99ca0..b9461430bf9 100644 --- a/htdocs/admin/ldap_members.php +++ b/htdocs/admin/ldap_members.php @@ -188,7 +188,7 @@ if (!function_exists("ldap_connect")) { print ''; print ''; -print dol_get_fiche_head($head, 'members', $langs->trans("LDAPSetup"), -1); +print dol_get_fiche_head($head, 'members', '', -1); print ''.$langs->trans("LDAPDescMembers").'
'; diff --git a/htdocs/admin/ldap_members_types.php b/htdocs/admin/ldap_members_types.php index abb017ea037..7b3ac57192f 100644 --- a/htdocs/admin/ldap_members_types.php +++ b/htdocs/admin/ldap_members_types.php @@ -106,7 +106,7 @@ if (!function_exists("ldap_connect")) { setEventMessages($langs->trans("LDAPFunctionsNotAvailableOnPHP"), null, 'errors'); } -print dol_get_fiche_head($head, 'memberstypes', $langs->trans("LDAPSetup"), -1); +print dol_get_fiche_head($head, 'memberstypes', '', -1); print ''.$langs->trans("LDAPDescMembersTypes").'
'; diff --git a/htdocs/admin/ldap_users.php b/htdocs/admin/ldap_users.php index 2ec3ef169d8..ad84a5889ed 100644 --- a/htdocs/admin/ldap_users.php +++ b/htdocs/admin/ldap_users.php @@ -178,7 +178,7 @@ print ''; -print dol_get_fiche_head($head, 'users', $langs->trans("LDAPSetup"), -1); +print dol_get_fiche_head($head, 'users', '', -1); print ''.$langs->trans("LDAPDescUsers").'
'; print '
'; From 5aaf17a3405dcfc6de81842cc3a786e6fe536896 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 15:01:07 +0200 Subject: [PATCH 22/34] css --- htdocs/user/clicktodial.php | 6 +++--- htdocs/user/group/ldap.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/user/clicktodial.php b/htdocs/user/clicktodial.php index 2302b6e7681..562ab081ab8 100644 --- a/htdocs/user/clicktodial.php +++ b/htdocs/user/clicktodial.php @@ -127,7 +127,7 @@ if ($id > 0) { $langs->load("errors"); print ''.$langs->trans("ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv("ClickToDial")).''; } else { - print '     '.$form->textwithpicto($langs->trans("KeepEmptyToUseDefault").': '.$conf->global->CLICKTODIAL_URL, $langs->trans("ClickToDialUrlDesc")); + print '
'.$form->textwithpicto(''.$langs->trans("KeepEmptyToUseDefault").':
'.$conf->global->CLICKTODIAL_URL, $langs->trans("ClickToDialUrlDesc")); } print ''; print ''; @@ -154,7 +154,7 @@ if ($id > 0) { print '
'; if (!empty($user->admin)) { - print ''; + print ''; print ''; } - print ''; + print ''; print ''; print ""; diff --git a/htdocs/user/group/ldap.php b/htdocs/user/group/ldap.php index dd12669980a..d93ec7851e4 100644 --- a/htdocs/user/group/ldap.php +++ b/htdocs/user/group/ldap.php @@ -108,7 +108,7 @@ dol_banner_tab($object, 'id', $linkback, (!empty($user->rights->user->user->lire print '
'; print '
'; -print '
ClickToDial URL
ClickToDial URL'; if (!empty($conf->global->CLICKTODIAL_URL)) { $url = $conf->global->CLICKTODIAL_URL; @@ -172,7 +172,7 @@ if ($id > 0) { print '
ClickToDial '.$langs->trans("IdPhoneCaller").'
ClickToDial '.$langs->trans("IdPhoneCaller").''.(!empty($object->clicktodial_poste) ? $object->clicktodial_poste : '').'
'; +print '
'; // Name (already in dol_banner, we keep it to have the GlobalGroup picto, but we should move it in dol_banner) if (!empty($conf->mutlicompany->enabled)) { From 147e4bcedb69a9fe916ddb1a57f1beb3488e670b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 15:16:44 +0200 Subject: [PATCH 23/34] Clean code --- htdocs/user/card.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/user/card.php b/htdocs/user/card.php index cf30cc2bb99..9ba58cd069b 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -1000,18 +1000,18 @@ if ($action == 'create' || $action == 'adduserldap') { print ''; $i = 0; $totalarray = array(); +$totalarray['nbfield'] = 0; +$total = 0; + while ($i < min($num, $limit)) { $obj = $db->fetch_object($resql); @@ -523,7 +534,11 @@ while ($i < min($num, $limit)) { $totalarray['nbfield']++; } $totalarray['pos'][$totalarray['nbfield']] = 'amount'; - $totalarray['val']['amount'] += $obj->amount; + if (empty($totalarray['val']['amount'])) { + $totalarray['val']['amount'] = $obj->amount; + } else { + $totalarray['val']['amount'] += $obj->amount; + } } if (!empty($arrayfields['t.status']['checked'])) { diff --git a/htdocs/compta/tva/payments.php b/htdocs/compta/tva/payments.php index 38a5884da1c..33d5b5716bc 100644 --- a/htdocs/compta/tva/payments.php +++ b/htdocs/compta/tva/payments.php @@ -42,6 +42,7 @@ $langs->loadLangs(array('compta', 'bills')); $mode = GETPOST("mode", 'alpha'); $year = GETPOST("year", 'int'); $filtre = GETPOST("filtre", 'alpha'); +$optioncss = GETPOST('optioncss', 'alpha'); if (!$year && $mode != 'tvaonly') { $year = date("Y", time()); } @@ -113,6 +114,8 @@ print ''; print ''; print ''; +$center = ''; + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'title_accountancy', 0, '', '', $limit); if ($year) { diff --git a/htdocs/don/card.php b/htdocs/don/card.php index ae73fdfd15a..761a1ea9522 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -494,7 +494,9 @@ if ($action == 'create') { print ''; print ''; print ''; @@ -504,7 +506,9 @@ if ($action == 'create') { print ''; print ''; print ''; @@ -672,6 +676,7 @@ if (!empty($id) && $action == 'edit') { /* */ /* ************************************************************ */ if (!empty($id) && $action != 'edit') { + $formconfirm = ""; // Confirmation delete if ($action == 'delete') { $text = $langs->trans("ConfirmDeleteADonation"); @@ -802,7 +807,7 @@ if (!empty($id) && $action != 'edit') { $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); - $i = 0; $total = 0; + $i = 0; $total = 0; $totalpaid = 0; print '
'; $valuetoshow = ''; if (preg_match('/ldap/', $dolibarr_main_authentication)) { - $valuetoshow .= ($valuetoshow ? ', ' : '').$langs->trans("PasswordOfUserInLDAP"); + $valuetoshow .= ($valuetoshow ? ' + ' : '').$langs->trans("PasswordOfUserInLDAP").' (hidden)'; } if (preg_match('/http/', $dolibarr_main_authentication)) { - $valuetoshow .= ($valuetoshow ? ', ' : '').$langs->trans("HTTPBasicPassword"); + $valuetoshow .= ($valuetoshow ? ' + ' : '').$langs->trans("HTTPBasicPassword"); } if (preg_match('/dolibarr/', $dolibarr_main_authentication)) { if (!empty($ldap_pass)) { // For very old system comaptibilty. Now clear password can't be viewed from LDAP read - $valuetoshow .= ($valuetoshow ? ', ' : '').''; // Dolibarr password is preffiled with LDAP known password + $valuetoshow .= ($valuetoshow ? ' + ' : '').''; // Dolibarr password is preffiled with LDAP known password $valuetoshow .= preg_replace('/./i', '*', $ldap_pass); } else { // We do not use a field password but a field text to show new password to use. - $valuetoshow .= ($valuetoshow ? ', ' : '').''; + $valuetoshow .= ($valuetoshow ? ' + '.$langs->trans("DolibarrPassword") : '').''; } } From 45be6ab024b8d5ca31757ef243e763dbb120033a Mon Sep 17 00:00:00 2001 From: lmarcouiller Date: Tue, 27 Sep 2022 15:21:10 +0200 Subject: [PATCH 24/34] php 8.1 warnings suite --- .../sociales/class/chargesociales.class.php | 2 +- htdocs/compta/tva/class/tva.class.php | 4 ++-- htdocs/compta/tva/list.php | 19 +++++++++++++++++-- htdocs/compta/tva/payments.php | 3 +++ htdocs/don/card.php | 13 +++++++++---- htdocs/don/class/don.class.php | 8 ++++---- htdocs/don/document.php | 2 +- htdocs/don/list.php | 5 +++-- 8 files changed, 40 insertions(+), 16 deletions(-) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 3b9019868ec..37b3540a0f5 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -612,7 +612,7 @@ class ChargeSociales extends CommonObject } $linkclose = ''; - if (empty($notooltip) && $user->rights->facture->lire) { + if (empty($notooltip) && $user->hasRight("facture", "read")) { if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { $label = $langs->trans("SocialContribution"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; diff --git a/htdocs/compta/tva/class/tva.class.php b/htdocs/compta/tva/class/tva.class.php index 1ce6bed212b..9dce58171ae 100644 --- a/htdocs/compta/tva/class/tva.class.php +++ b/htdocs/compta/tva/class/tva.class.php @@ -345,8 +345,8 @@ class Tva extends CommonObject $this->fk_user_creat = $obj->fk_user_creat; $this->fk_user_modif = $obj->fk_user_modif; $this->fk_account = $obj->fk_account; - $this->fk_type = $obj->fk_type; - $this->rappro = $obj->rappro; + $this->fk_type = !empty($obj->fk_type) ? $obj->fk_type : ""; + $this->rappro = !empty($obj->fk_type) ? $obj->rappro : ""; } $this->db->free($resql); diff --git a/htdocs/compta/tva/list.php b/htdocs/compta/tva/list.php index 309ea1e4a87..ffc2ef8ca68 100644 --- a/htdocs/compta/tva/list.php +++ b/htdocs/compta/tva/list.php @@ -55,6 +55,7 @@ $search_type = GETPOST('search_type', 'int'); $search_account = GETPOST('search_account', 'int'); $search_amount = GETPOST('search_amount', 'alpha'); $search_status = GETPOST('search_status', 'int'); +$ltt = GETPOST("ltt", "int"); $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'aZ09comma'); @@ -278,6 +279,13 @@ if (!empty($search_amount)) { if ($search_status != '' && $search_status != '-1') { $param .= '&search_status='.urlencode($search_status); } +$arrayofmassactions = array( + //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), + //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), +); +$massactionbutton = $form->selectMassAction('', $arrayofmassactions); + +$moreforfilter = ''; print ''; if ($optioncss != '') { @@ -294,7 +302,7 @@ $url = DOL_URL_ROOT.'/compta/tva/card.php?action=create'; if (!empty($socid)) { $url .= '&socid='.$socid; } -$newcardbutton = dolGetButtonTitle($langs->trans('NewVATPayment', ($ltt + 1)), '', 'fa fa-plus-circle', $url, '', $user->rights->tax->charges->creer); +$newcardbutton = dolGetButtonTitle($langs->trans('NewVATPayment'), '', 'fa fa-plus-circle', $url, '', $user->rights->tax->charges->creer); print_barre_liste($langs->trans("VATDeclarations"), $page, $_SERVER['PHP_SELF'], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit, 0, 0, 1); $varpage = empty($contextpage) ? $_SERVER['PHP_SELF'] : $contextpage; @@ -429,6 +437,9 @@ print '
'.$langs->trans('NotePublic').''; - + if (!isset($note_public)) { + $note_public = $object->getDefaultCreateValueFor('note_public'); + } $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, empty($conf->global->FCKEDITOR_ENABLE_NOTE_PUBLIC) ? 0 : 1, ROWS_3, '90%'); print $doleditor->Create(1); print '
'.$langs->trans('NotePrivate').''; - + if (!isset($note_private)) { + $note_private = $object->getDefaultCreateValueFor('note_private'); + } $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, empty($conf->global->FCKEDITOR_ENABLE_NOTE_PRIVATE) ? 0 : 1, ROWS_3, '90%'); print $doleditor->Create(1); print '
'; print ''; print ''; @@ -832,7 +837,7 @@ if (!empty($id) && $action != 'edit') { $remaintopay = $object->amount - $totalpaid; print ""; - print '\n"; + print '\n"; } print "
'.$langs->trans("RefPayment").'
".$langs->trans("RemainderToPay")." :'.price($remaintopay)."
'.price($remaintopay)."
"; $db->free($resql); diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 080ac3b9540..b52e0974b9a 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -406,9 +406,9 @@ class Don extends CommonObject $sql .= ", ".((int) $user->id); $sql .= ", null"; $sql .= ", '".$this->db->idate($this->date)."'"; - $sql .= ", '".$this->db->escape(trim($this->email))."'"; - $sql .= ", '".$this->db->escape(trim($this->phone))."'"; - $sql .= ", '".$this->db->escape(trim($this->phone_mobile))."'"; + $sql .= ", '".(!empty($this->email) ? $this->db->escape(trim($this->email)) : "")."'"; + $sql .= ", '".(!empty($this->phone) ? $this->db->escape(trim($this->phone)) : "")."'"; + $sql .= ", '".(!empty($this->phone_mobile) ? $this->db->escape(trim($this->phone_mobile)) : "")."'"; $sql .= ")"; $resql = $this->db->query($sql); @@ -989,7 +989,7 @@ class Don extends CommonObject $this->user_creation_id = $obj->fk_user_author; $this->user_validation_id = $obj->fk_user_valid; $this->date_creation = $this->db->jdate($obj->datec); - $this->date_modification = $this->db->jdate($obj->tms); + $this->date_modification = (!empty($obj->tms) ? $this->db->jdate($obj->tms) : ""); } $this->db->free($result); } else { diff --git a/htdocs/don/document.php b/htdocs/don/document.php index 219a5116658..b6b7e6a24d3 100644 --- a/htdocs/don/document.php +++ b/htdocs/don/document.php @@ -78,7 +78,7 @@ if (!$sortfield) { $object = new Don($db); $object->fetch($id, $ref); -$upload_dir = $conf->don->dir_output.'/'.get_exdir($filename, 0, 0, 0, $object, 'donation').'/'.dol_sanitizeFileName($object->ref); +$upload_dir = $conf->don->dir_output.'/'.get_exdir($id, 0, 0, 0, $object, 'donation').'/'.dol_sanitizeFileName($object->ref); $modulepart = 'don'; $permissiontoadd = $user->rights->don->creer; // Used by the include of actions_dellink.inc.php diff --git a/htdocs/don/list.php b/htdocs/don/list.php index 1ab7220d894..c3cb4d9ce58 100644 --- a/htdocs/don/list.php +++ b/htdocs/don/list.php @@ -41,6 +41,7 @@ $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); +$type = GETPOST('type', 'aZ'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 @@ -61,7 +62,7 @@ $search_company = GETPOST('search_company', 'alpha'); $search_name = GETPOST('search_name', 'alpha'); $search_amount = GETPOST('search_amount', 'alpha'); $optioncss = GETPOST('optioncss', 'alpha'); - +$moreforfilter = GETPOST('moreforfilter', 'alpha'); if (!$user->rights->don->lire) { accessforbidden(); } @@ -198,7 +199,7 @@ if ($resql) { } print '
'; - print ''."\n"; + print '
'."\n"; // Filters lines print ''; From c7ee2f413cc5c6d8e3be1eda3f016e4216cca1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20France?= Date: Tue, 27 Sep 2022 20:48:47 +0200 Subject: [PATCH 25/34] min php version is 7.0 --- htdocs/core/modules/DolibarrModules.class.php | 2 +- .../core/modules/asset/doc/doc_generic_asset_odt.modules.php | 4 ++-- htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php | 4 ++-- htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php | 4 ++-- .../modules/commande/doc/doc_generic_order_odt.modules.php | 4 ++-- htdocs/core/modules/commande/doc/pdf_einstein.modules.php | 4 ++-- htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php | 4 ++-- .../modules/contract/doc/doc_generic_contract_odt.modules.php | 4 ++-- htdocs/core/modules/contract/doc/pdf_strato.modules.php | 4 ++-- htdocs/core/modules/delivery/doc/pdf_storm.modules.php | 4 ++-- htdocs/core/modules/delivery/doc/pdf_typhon.modules.php | 4 ++-- .../expedition/doc/doc_generic_shipment_odt.modules.php | 4 ++-- htdocs/core/modules/expedition/doc/pdf_espadon.modules.php | 4 ++-- htdocs/core/modules/expedition/doc/pdf_merou.modules.php | 4 ++-- htdocs/core/modules/expedition/doc/pdf_rouget.modules.php | 4 ++-- .../core/modules/expensereport/doc/pdf_standard.modules.php | 4 ++-- htdocs/core/modules/export/export_excel2007.modules.php | 2 +- .../modules/facture/doc/doc_generic_invoice_odt.modules.php | 4 ++-- htdocs/core/modules/facture/doc/pdf_crabe.modules.php | 4 ++-- htdocs/core/modules/facture/doc/pdf_sponge.modules.php | 4 ++-- htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php | 4 ++-- .../core/modules/member/doc/doc_generic_member_odt.class.php | 4 ++-- htdocs/core/modules/modAccounting.class.php | 2 +- htdocs/core/modules/modAdherent.class.php | 2 +- htdocs/core/modules/modAgenda.class.php | 2 +- htdocs/core/modules/modApi.class.php | 2 +- htdocs/core/modules/modAsset.class.php | 2 +- htdocs/core/modules/modBom.class.php | 2 +- htdocs/core/modules/modDataPolicy.class.php | 2 +- htdocs/core/modules/modDav.class.php | 2 +- htdocs/core/modules/modEmailCollector.class.php | 2 +- htdocs/core/modules/modEventOrganization.class.php | 2 +- htdocs/core/modules/modExpenseReport.class.php | 2 +- htdocs/core/modules/modExport.class.php | 2 +- htdocs/core/modules/modExternalRss.class.php | 2 +- htdocs/core/modules/modGeoIPMaxmind.class.php | 2 +- htdocs/core/modules/modGravatar.class.php | 2 +- htdocs/core/modules/modHRM.class.php | 2 +- htdocs/core/modules/modHoliday.class.php | 2 +- htdocs/core/modules/modImport.class.php | 2 +- htdocs/core/modules/modIncoterm.class.php | 2 +- htdocs/core/modules/modIntracommreport.class.php | 2 +- htdocs/core/modules/modKnowledgeManagement.class.php | 2 +- htdocs/core/modules/modLabel.class.php | 2 +- htdocs/core/modules/modLdap.class.php | 2 +- htdocs/core/modules/modLoan.class.php | 2 +- htdocs/core/modules/modMailing.class.php | 2 +- htdocs/core/modules/modMailmanSpip.class.php | 2 +- htdocs/core/modules/modMargin.class.php | 2 +- htdocs/core/modules/modMrp.class.php | 2 +- htdocs/core/modules/modMultiCurrency.class.php | 2 +- htdocs/core/modules/modNotification.class.php | 2 +- htdocs/core/modules/modOauth.class.php | 2 +- htdocs/core/modules/modOpenSurvey.class.php | 2 +- htdocs/core/modules/modPartnership.class.php | 2 +- htdocs/core/modules/modPaybox.class.php | 2 +- htdocs/core/modules/modPaymentByBankTransfer.class.php | 2 +- htdocs/core/modules/modPaypal.class.php | 2 +- htdocs/core/modules/modPrelevement.class.php | 2 +- htdocs/core/modules/modPrinting.class.php | 2 +- htdocs/core/modules/modProduct.class.php | 2 +- htdocs/core/modules/modProductBatch.class.php | 2 +- htdocs/core/modules/modProjet.class.php | 2 +- htdocs/core/modules/modPropale.class.php | 2 +- htdocs/core/modules/modReceiptPrinter.class.php | 2 +- htdocs/core/modules/modRecruitment.class.php | 2 +- htdocs/core/modules/modResource.class.php | 2 +- htdocs/core/modules/modSalaries.class.php | 2 +- htdocs/core/modules/modService.class.php | 2 +- htdocs/core/modules/modSocialNetworks.class.php | 2 +- htdocs/core/modules/modSociete.class.php | 2 +- htdocs/core/modules/modStock.class.php | 2 +- htdocs/core/modules/modStockTransfer.class.php | 2 +- htdocs/core/modules/modStripe.class.php | 2 +- htdocs/core/modules/modSupplierProposal.class.php | 2 +- htdocs/core/modules/modSyslog.class.php | 2 +- htdocs/core/modules/modTakePos.class.php | 2 +- htdocs/core/modules/modTax.class.php | 2 +- htdocs/core/modules/modTicket.class.php | 2 +- htdocs/core/modules/modUser.class.php | 2 +- htdocs/core/modules/modVariants.class.php | 2 +- htdocs/core/modules/modWebServices.class.php | 2 +- htdocs/core/modules/modWebServicesClient.class.php | 2 +- htdocs/core/modules/modWebhook.class.php | 2 +- htdocs/core/modules/modWebsite.class.php | 2 +- htdocs/core/modules/modWorkflow.class.php | 2 +- htdocs/core/modules/modWorkstation.class.php | 2 +- htdocs/core/modules/modZapier.class.php | 2 +- htdocs/core/modules/movement/doc/pdf_standard.modules.php | 4 ++-- htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php | 4 ++-- htdocs/core/modules/mrp/doc/pdf_vinci.modules.php | 4 ++-- .../modules/product/doc/doc_generic_product_odt.modules.php | 4 ++-- htdocs/core/modules/product/doc/pdf_standard.modules.php | 4 ++-- .../modules/project/doc/doc_generic_project_odt.modules.php | 4 ++-- htdocs/core/modules/project/doc/pdf_baleine.modules.php | 4 ++-- htdocs/core/modules/project/doc/pdf_beluga.modules.php | 4 ++-- htdocs/core/modules/project/doc/pdf_timespent.modules.php | 4 ++-- .../modules/project/task/doc/doc_generic_task_odt.modules.php | 4 ++-- .../modules/propale/doc/doc_generic_proposal_odt.modules.php | 4 ++-- htdocs/core/modules/propale/doc/pdf_azur.modules.php | 4 ++-- htdocs/core/modules/propale/doc/pdf_cyan.modules.php | 4 ++-- .../reception/doc/doc_generic_reception_odt.modules.php | 4 ++-- htdocs/core/modules/societe/doc/doc_generic_odt.modules.php | 4 ++-- .../core/modules/stock/doc/doc_generic_stock_odt.modules.php | 4 ++-- htdocs/core/modules/stock/doc/pdf_standard.modules.php | 4 ++-- htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php | 2 +- .../modules/stocktransfer/doc/pdf_eagle_proforma.modules.php | 2 +- .../core/modules/supplier_invoice/doc/pdf_canelle.modules.php | 4 ++-- .../doc/doc_generic_supplier_order_odt.modules.php | 4 ++-- htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php | 4 ++-- .../core/modules/supplier_order/doc/pdf_muscadet.modules.php | 4 ++-- .../modules/supplier_payment/doc/pdf_standard.modules.php | 4 ++-- .../doc/doc_generic_supplier_proposal_odt.modules.php | 4 ++-- .../core/modules/supplier_proposal/doc/pdf_aurore.modules.php | 4 ++-- .../modules/ticket/doc/doc_generic_ticket_odt.modules.php | 4 ++-- htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php | 4 ++-- .../usergroup/doc/doc_generic_usergroup_odt.modules.php | 4 ++-- .../modulebuilder/template/core/modules/modMyModule.class.php | 2 +- .../modules/mymodule/doc/doc_generic_myobject_odt.modules.php | 4 ++-- .../modules/mymodule/doc/pdf_standard_myobject.modules.php | 4 ++-- .../doc/doc_generic_recruitmentjobposition_odt.modules.php | 4 ++-- .../doc/pdf_standard_recruitmentjobposition.modules.php | 4 ++-- 122 files changed, 173 insertions(+), 173 deletions(-) diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 2076c6a348e..763973ac031 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -333,7 +333,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ public $phpmin; diff --git a/htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php b/htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php index 5faf853d7d7..b11e2a7e563 100644 --- a/htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php +++ b/htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php @@ -48,9 +48,9 @@ class doc_generic_asset_odt extends ModelePDFAsset /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php b/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php index 14815f169f2..1e289930cf0 100644 --- a/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php +++ b/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php @@ -70,9 +70,9 @@ class pdf_standard_asset extends ModelePDFAsset /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php b/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php index 514a6c162fd..2dcf5512dc1 100644 --- a/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php +++ b/htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php @@ -48,9 +48,9 @@ class doc_generic_bom_odt extends ModelePDFBom /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index b9ff88c4fe6..9239ec0ed4b 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -48,9 +48,9 @@ class doc_generic_order_odt extends ModelePDFCommandes /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 2b89f229730..ca8d5bd2a74 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -74,9 +74,9 @@ class pdf_einstein extends ModelePDFCommandes /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index df28616276d..77854c9d091 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -74,9 +74,9 @@ class pdf_eratosthene extends ModelePDFCommandes /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php index df584348e5e..222286d5592 100644 --- a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php +++ b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php @@ -46,9 +46,9 @@ class doc_generic_contract_odt extends ModelePDFContract /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php index 5b45d0014be..c395b51df7e 100644 --- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php +++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php @@ -67,9 +67,9 @@ class pdf_strato extends ModelePDFContract /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php index 550957511ba..fe8ca423a2b 100644 --- a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php +++ b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php @@ -66,9 +66,9 @@ class pdf_storm extends ModelePDFDeliveryOrder /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php b/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php index ad8e0bd71a5..0f0657f1e60 100644 --- a/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php +++ b/htdocs/core/modules/delivery/doc/pdf_typhon.modules.php @@ -65,9 +65,9 @@ class pdf_typhon extends ModelePDFDeliveryOrder /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index 8d6e980bdc5..cfb23269ca9 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -48,9 +48,9 @@ class doc_generic_shipment_odt extends ModelePdfExpedition /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php index 485ff20951f..c08beade8ec 100644 --- a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php @@ -63,9 +63,9 @@ class pdf_espadon extends ModelePdfExpedition /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php index 781d581aaf7..1c457595e93 100644 --- a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php @@ -64,9 +64,9 @@ class pdf_merou extends ModelePdfExpedition /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index 3872ad3d4a2..c51dfd374a5 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -64,9 +64,9 @@ class pdf_rouget extends ModelePdfExpedition /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index fae58f49419..411bc009b8e 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -71,9 +71,9 @@ class pdf_standard extends ModeleExpenseReport /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/export/export_excel2007.modules.php b/htdocs/core/modules/export/export_excel2007.modules.php index 13967843a08..fba0dfa1c4a 100644 --- a/htdocs/core/modules/export/export_excel2007.modules.php +++ b/htdocs/core/modules/export/export_excel2007.modules.php @@ -85,7 +85,7 @@ class ExportExcel2007 extends ModeleExports $this->extension = 'xlsx'; // Extension for generated file by this driver $this->picto = 'mime/xls'; // Picto $this->version = '1.30'; // Driver version - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->disabled = 0; diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index f255fa52474..061f18e5442 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -47,9 +47,9 @@ class doc_generic_invoice_odt extends ModelePDFFactures /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index ee4e43bb444..39fa07c638a 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -70,9 +70,9 @@ class pdf_crabe extends ModelePDFFactures /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index 1efca9070d0..94b6011b817 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -70,9 +70,9 @@ class pdf_sponge extends ModelePDFFactures /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php index 2d3e89a6316..097870e21bc 100644 --- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php +++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php @@ -66,9 +66,9 @@ class pdf_soleil extends ModelePDFFicheinter /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php b/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php index 0a196b49ae3..2ab951147b9 100644 --- a/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php +++ b/htdocs/core/modules/member/doc/doc_generic_member_odt.class.php @@ -43,9 +43,9 @@ class doc_generic_member_odt extends ModelePDFMember /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index 4e84f3bd3a0..e5cff7e9301 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -66,7 +66,7 @@ class modAccounting extends DolibarrModules $this->depends = array("modFacture", "modBanque", "modTax"); // List of modules id that must be enabled if this module is enabled $this->requiredby = array(); // List of modules id to disable if this one is disabled $this->conflictwith = array("modComptabilite"); // List of modules are in conflict with this module - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 9); // Minimum version of Dolibarr required by module $this->langfiles = array("accountancy", "compta"); diff --git a/htdocs/core/modules/modAdherent.class.php b/htdocs/core/modules/modAdherent.class.php index 2db6311b172..2422cead7bb 100644 --- a/htdocs/core/modules/modAdherent.class.php +++ b/htdocs/core/modules/modAdherent.class.php @@ -74,7 +74,7 @@ class modAdherent extends DolibarrModules $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array('modMailmanSpip'); // List of module class names as string this module is in conflict with $this->langfiles = array("members", "companies"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Constants $this->const = array(); diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index cac9047e56e..d9858a017e0 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -73,7 +73,7 @@ class modAgenda extends DolibarrModules $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with $this->langfiles = array("companies"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Module parts $this->module_parts = array(); diff --git a/htdocs/core/modules/modApi.class.php b/htdocs/core/modules/modApi.class.php index 6ad632c944e..48420a264d3 100644 --- a/htdocs/core/modules/modApi.class.php +++ b/htdocs/core/modules/modApi.class.php @@ -83,7 +83,7 @@ class modApi extends DolibarrModules $this->depends = array(); // List of modules id that must be enabled if this module is enabled $this->requiredby = array('modZapier'); // List of modules id to disable if this one is disabled $this->conflictwith = array(); // List of modules id this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("other"); // Constants diff --git a/htdocs/core/modules/modAsset.class.php b/htdocs/core/modules/modAsset.class.php index a217cb8d72c..fbe6134c797 100644 --- a/htdocs/core/modules/modAsset.class.php +++ b/htdocs/core/modules/modAsset.class.php @@ -90,7 +90,7 @@ class modAsset extends DolibarrModules $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with $this->langfiles = array("assets"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modBom.class.php b/htdocs/core/modules/modBom.class.php index 2e92d3baeaf..d39affa4d78 100644 --- a/htdocs/core/modules/modBom.class.php +++ b/htdocs/core/modules/modBom.class.php @@ -109,7 +109,7 @@ class modBom extends DolibarrModules $this->requiredby = array('modMrp'); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) $this->langfiles = array("mrp"); - //$this->phpmin = array(5, 6)); // Minimum version of PHP required by module + //$this->phpmin = array(7, 0)); // Minimum version of PHP required by module $this->need_dolibarr_version = array(9, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modDataPolicy.class.php b/htdocs/core/modules/modDataPolicy.class.php index 9145b689f51..2768e7d1d7a 100644 --- a/htdocs/core/modules/modDataPolicy.class.php +++ b/htdocs/core/modules/modDataPolicy.class.php @@ -107,7 +107,7 @@ class modDataPolicy extends DolibarrModules { $this->conflictwith = array(); // List of module class names as string this module is in conflict with $this->langfiles = array("datapolicy"); $this->phpmin = array(5, 3); // Minimum version of PHP required by module - $this->need_dolibarr_version = array(4, 0); // Minimum version of Dolibarr required by module + $this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) //$this->automatic_activation = array('FR'=>'datapolicyWasAutomaticallyActivatedBecauseOfYourCountryChoice'); diff --git a/htdocs/core/modules/modDav.class.php b/htdocs/core/modules/modDav.class.php index 685158141e4..aeea231fd1e 100644 --- a/htdocs/core/modules/modDav.class.php +++ b/htdocs/core/modules/modDav.class.php @@ -91,7 +91,7 @@ class modDav extends DolibarrModules $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with $this->langfiles = array("admin"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modEmailCollector.class.php b/htdocs/core/modules/modEmailCollector.class.php index ef823856a57..03c668910ce 100644 --- a/htdocs/core/modules/modEmailCollector.class.php +++ b/htdocs/core/modules/modEmailCollector.class.php @@ -91,7 +91,7 @@ class modEmailCollector extends DolibarrModules $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with $this->langfiles = array("admin"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modEventOrganization.class.php b/htdocs/core/modules/modEventOrganization.class.php index c2c9309cd44..6708eb4192a 100644 --- a/htdocs/core/modules/modEventOrganization.class.php +++ b/htdocs/core/modules/modEventOrganization.class.php @@ -123,7 +123,7 @@ class modEventOrganization extends DolibarrModules $this->langfiles = array("eventorganization"); // Prerequisites - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(13, -3); // Minimum version of Dolibarr required by module // Messages at activation diff --git a/htdocs/core/modules/modExpenseReport.class.php b/htdocs/core/modules/modExpenseReport.class.php index 53708ece3dd..698a3f4a141 100644 --- a/htdocs/core/modules/modExpenseReport.class.php +++ b/htdocs/core/modules/modExpenseReport.class.php @@ -65,7 +65,7 @@ class modExpenseReport extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled // $this->conflictwith = array("modDeplacement"); // Deactivate for access on old information $this->requiredby = array(); // List of modules id to disable if this one is disabled - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 7); // Minimum version of Dolibarr required by module $this->langfiles = array("companies", "trips"); diff --git a/htdocs/core/modules/modExport.class.php b/htdocs/core/modules/modExport.class.php index 278a70e6339..357e280f9f6 100644 --- a/htdocs/core/modules/modExport.class.php +++ b/htdocs/core/modules/modExport.class.php @@ -62,7 +62,7 @@ class modExport extends DolibarrModules // Dependencies $this->depends = array(); $this->requiredby = array(); - $this->phpmin = array(4, 2, 0); + $this->phpmin = array(7, 0); $this->phpmax = array(); // Constants diff --git a/htdocs/core/modules/modExternalRss.class.php b/htdocs/core/modules/modExternalRss.class.php index d7710687ca6..e60c79e2deb 100644 --- a/htdocs/core/modules/modExternalRss.class.php +++ b/htdocs/core/modules/modExternalRss.class.php @@ -63,7 +63,7 @@ class modExternalRss extends DolibarrModules // Dependencies $this->depends = array(); $this->requiredby = array(); - $this->phpmin = array(4, 2, 0); + $this->phpmin = array(7, 0); $this->phpmax = array(); // Constants diff --git a/htdocs/core/modules/modGeoIPMaxmind.class.php b/htdocs/core/modules/modGeoIPMaxmind.class.php index 41c3d8517d8..092315f65f2 100644 --- a/htdocs/core/modules/modGeoIPMaxmind.class.php +++ b/htdocs/core/modules/modGeoIPMaxmind.class.php @@ -69,7 +69,7 @@ class modGeoIPMaxmind extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); + $this->phpmin = array(7, 0); $this->phpmax = array(); $this->need_dolibarr_version = array(2, 7, -1); // Minimum version of Dolibarr required by module $this->need_javascript_ajax = 1; diff --git a/htdocs/core/modules/modGravatar.class.php b/htdocs/core/modules/modGravatar.class.php index 25163a766bd..b39d4921918 100644 --- a/htdocs/core/modules/modGravatar.class.php +++ b/htdocs/core/modules/modGravatar.class.php @@ -77,7 +77,7 @@ class modGravatar extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(2, 7); // Minimum version of Dolibarr required by module $this->langfiles = array(); diff --git a/htdocs/core/modules/modHRM.class.php b/htdocs/core/modules/modHRM.class.php index 7df3bcc6dcf..0da5663d452 100644 --- a/htdocs/core/modules/modHRM.class.php +++ b/htdocs/core/modules/modHRM.class.php @@ -105,7 +105,7 @@ class modHRM extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("hrm"); diff --git a/htdocs/core/modules/modHoliday.class.php b/htdocs/core/modules/modHoliday.class.php index 429e511de48..61bdc0e8f98 100644 --- a/htdocs/core/modules/modHoliday.class.php +++ b/htdocs/core/modules/modHoliday.class.php @@ -87,7 +87,7 @@ class modHoliday extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("holiday"); diff --git a/htdocs/core/modules/modImport.class.php b/htdocs/core/modules/modImport.class.php index b70806af82a..ad0f33c8da2 100644 --- a/htdocs/core/modules/modImport.class.php +++ b/htdocs/core/modules/modImport.class.php @@ -64,7 +64,7 @@ class modImport extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module - Need auto_detect_line_endings php option to solve MAC pbs. + $this->phpmin = array(7, 0); // Minimum version of PHP required by module - Need auto_detect_line_endings php option to solve MAC pbs. $this->phpmax = array(); $this->need_dolibarr_version = array(2, 7, -1); // Minimum version of Dolibarr required by module $this->need_javascript_ajax = 1; diff --git a/htdocs/core/modules/modIncoterm.class.php b/htdocs/core/modules/modIncoterm.class.php index 110afe442c2..1a4717e9d44 100644 --- a/htdocs/core/modules/modIncoterm.class.php +++ b/htdocs/core/modules/modIncoterm.class.php @@ -68,7 +68,7 @@ class modIncoterm extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("incoterm"); diff --git a/htdocs/core/modules/modIntracommreport.class.php b/htdocs/core/modules/modIntracommreport.class.php index 4a9de11109a..4df6a50183e 100644 --- a/htdocs/core/modules/modIntracommreport.class.php +++ b/htdocs/core/modules/modIntracommreport.class.php @@ -65,7 +65,7 @@ class modIntracommreport extends DolibarrModules $this->depends = array("modFacture", "modTax", "modCategorie"); // List of modules id that must be enabled if this module is enabled $this->requiredby = array(); // List of modules id to disable if this one is disabled $this->conflictwith = array(); // List of modules id this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(13, 0, -5); // Minimum version of Dolibarr required by module $this->langfiles = array("intracommreport"); diff --git a/htdocs/core/modules/modKnowledgeManagement.class.php b/htdocs/core/modules/modKnowledgeManagement.class.php index 0df2f20992f..634f36406a2 100644 --- a/htdocs/core/modules/modKnowledgeManagement.class.php +++ b/htdocs/core/modules/modKnowledgeManagement.class.php @@ -140,7 +140,7 @@ class modKnowledgeManagement extends DolibarrModules $this->langfiles = array("knowledgemanagement"); // Prerequisites - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module // Messages at activation diff --git a/htdocs/core/modules/modLabel.class.php b/htdocs/core/modules/modLabel.class.php index 8c8756c60c7..dff42653c3c 100644 --- a/htdocs/core/modules/modLabel.class.php +++ b/htdocs/core/modules/modLabel.class.php @@ -61,7 +61,7 @@ class modLabel extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Config pages // $this->config_page_url = array("label.php"); diff --git a/htdocs/core/modules/modLdap.class.php b/htdocs/core/modules/modLdap.class.php index 0774f71a583..2b02a1b58c1 100644 --- a/htdocs/core/modules/modLdap.class.php +++ b/htdocs/core/modules/modLdap.class.php @@ -67,7 +67,7 @@ class modLdap extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Constants $this->const = array( diff --git a/htdocs/core/modules/modLoan.class.php b/htdocs/core/modules/modLoan.class.php index 8f9de88b83f..7f2850b075a 100644 --- a/htdocs/core/modules/modLoan.class.php +++ b/htdocs/core/modules/modLoan.class.php @@ -67,7 +67,7 @@ class modLoan extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("loan"); // Constants diff --git a/htdocs/core/modules/modMailing.class.php b/htdocs/core/modules/modMailing.class.php index 7e3d4b6aeb1..bb0a409ae36 100644 --- a/htdocs/core/modules/modMailing.class.php +++ b/htdocs/core/modules/modMailing.class.php @@ -66,7 +66,7 @@ class modMailing extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("mails"); // Config pages diff --git a/htdocs/core/modules/modMailmanSpip.class.php b/htdocs/core/modules/modMailmanSpip.class.php index 2a8d97484e7..86061608d33 100644 --- a/htdocs/core/modules/modMailmanSpip.class.php +++ b/htdocs/core/modules/modMailmanSpip.class.php @@ -66,7 +66,7 @@ class modMailmanSpip extends DolibarrModules $this->depends = array('modAdherent'); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Config pages $this->config_page_url = array('mailman.php'); diff --git a/htdocs/core/modules/modMargin.class.php b/htdocs/core/modules/modMargin.class.php index cb7b4d5e602..55f2a5ed927 100644 --- a/htdocs/core/modules/modMargin.class.php +++ b/htdocs/core/modules/modMargin.class.php @@ -72,7 +72,7 @@ class modMargin extends DolibarrModules $this->depends = array("modPropale", "modProduct"); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 2); // Minimum version of Dolibarr required by module $this->langfiles = array("margins"); diff --git a/htdocs/core/modules/modMrp.class.php b/htdocs/core/modules/modMrp.class.php index 1fd806bdc56..f93ce224662 100644 --- a/htdocs/core/modules/modMrp.class.php +++ b/htdocs/core/modules/modMrp.class.php @@ -122,7 +122,7 @@ class modMrp extends DolibarrModules $this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) $this->langfiles = array("mrp"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(8, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modMultiCurrency.class.php b/htdocs/core/modules/modMultiCurrency.class.php index 28f2f7cdd16..54297d5e77c 100644 --- a/htdocs/core/modules/modMultiCurrency.class.php +++ b/htdocs/core/modules/modMultiCurrency.class.php @@ -88,7 +88,7 @@ class modMultiCurrency extends DolibarrModules $this->depends = array(); // List of modules id that must be enabled if this module is enabled $this->requiredby = array(); // List of modules id to disable if this one is disabled $this->conflictwith = array(); // List of modules id this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("multicurrency"); diff --git a/htdocs/core/modules/modNotification.class.php b/htdocs/core/modules/modNotification.class.php index 072e0607b60..63086fd9112 100644 --- a/htdocs/core/modules/modNotification.class.php +++ b/htdocs/core/modules/modNotification.class.php @@ -63,7 +63,7 @@ class modNotification extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("mails"); // Config pages diff --git a/htdocs/core/modules/modOauth.class.php b/htdocs/core/modules/modOauth.class.php index f66ba404c7e..d93a715f1e7 100644 --- a/htdocs/core/modules/modOauth.class.php +++ b/htdocs/core/modules/modOauth.class.php @@ -71,7 +71,7 @@ class modOauth extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 7, -2); // Minimum version of Dolibarr required by module $this->conflictwith = array(); $this->langfiles = array("oauth"); diff --git a/htdocs/core/modules/modOpenSurvey.class.php b/htdocs/core/modules/modOpenSurvey.class.php index 04a8cd54082..26a49337888 100644 --- a/htdocs/core/modules/modOpenSurvey.class.php +++ b/htdocs/core/modules/modOpenSurvey.class.php @@ -76,7 +76,7 @@ class modOpenSurvey extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 4, 0); // Minimum version of Dolibarr required by module // Constants diff --git a/htdocs/core/modules/modPartnership.class.php b/htdocs/core/modules/modPartnership.class.php index 7ba10ca4536..ccd67542830 100644 --- a/htdocs/core/modules/modPartnership.class.php +++ b/htdocs/core/modules/modPartnership.class.php @@ -147,7 +147,7 @@ class modPartnership extends DolibarrModules $this->langfiles = array("partnership"); // Prerequisites - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module // Messages at activation diff --git a/htdocs/core/modules/modPaybox.class.php b/htdocs/core/modules/modPaybox.class.php index 24af8a3c953..cf6ef512873 100644 --- a/htdocs/core/modules/modPaybox.class.php +++ b/htdocs/core/modules/modPaybox.class.php @@ -73,7 +73,7 @@ class modPayBox extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(2, 6); // Minimum version of Dolibarr required by module $this->langfiles = array("paybox"); diff --git a/htdocs/core/modules/modPaymentByBankTransfer.class.php b/htdocs/core/modules/modPaymentByBankTransfer.class.php index 6b51e25cdc2..27c43a9b3da 100644 --- a/htdocs/core/modules/modPaymentByBankTransfer.class.php +++ b/htdocs/core/modules/modPaymentByBankTransfer.class.php @@ -68,7 +68,7 @@ class modPaymentByBankTransfer extends DolibarrModules $this->depends = array("modFournisseur", "modBanque"); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Config pages $this->config_page_url = array("paymentbybanktransfer.php"); diff --git a/htdocs/core/modules/modPaypal.class.php b/htdocs/core/modules/modPaypal.class.php index a1e979715fe..02caa6c3388 100644 --- a/htdocs/core/modules/modPaypal.class.php +++ b/htdocs/core/modules/modPaypal.class.php @@ -74,7 +74,7 @@ class modPaypal extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array('modPaypalPlus'); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("paypal"); diff --git a/htdocs/core/modules/modPrelevement.class.php b/htdocs/core/modules/modPrelevement.class.php index a42d3c8b5a0..dd6ccd484fa 100644 --- a/htdocs/core/modules/modPrelevement.class.php +++ b/htdocs/core/modules/modPrelevement.class.php @@ -67,7 +67,7 @@ class modPrelevement extends DolibarrModules $this->depends = array("modFacture", "modBanque"); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Config pages $this->config_page_url = array("prelevement.php"); diff --git a/htdocs/core/modules/modPrinting.class.php b/htdocs/core/modules/modPrinting.class.php index c9e99b3d933..6638d16e201 100644 --- a/htdocs/core/modules/modPrinting.class.php +++ b/htdocs/core/modules/modPrinting.class.php @@ -69,7 +69,7 @@ class modPrinting extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 7, -2); // Minimum version of Dolibarr required by module $this->conflictwith = array(); $this->langfiles = array("printing"); diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index 8d6a5fe0508..b190ecde121 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -70,7 +70,7 @@ class modProduct extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array("modStock", "modBarcode", "modProductBatch", "modVariants"); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Config pages $this->config_page_url = array("product.php@product"); diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 4b508d79d7c..6bebb7af25d 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -72,7 +72,7 @@ class modProductBatch extends DolibarrModules $this->depends = array("modProduct", "modStock", "modExpedition", "modFournisseur"); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("productbatch"); diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index 5f1ad7d2099..89e57be51bb 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -68,7 +68,7 @@ class modProjet extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array('modEventOrganization'); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array('projects'); // Constants diff --git a/htdocs/core/modules/modPropale.class.php b/htdocs/core/modules/modPropale.class.php index 524aa0086ea..68900bfa993 100644 --- a/htdocs/core/modules/modPropale.class.php +++ b/htdocs/core/modules/modPropale.class.php @@ -68,7 +68,7 @@ class modPropale extends DolibarrModules $this->depends = array("modSociete"); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->config_page_url = array("propal.php"); $this->langfiles = array("propal", "bills", "companies", "deliveries", "products"); diff --git a/htdocs/core/modules/modReceiptPrinter.class.php b/htdocs/core/modules/modReceiptPrinter.class.php index 1e26de93bcb..4741bc48197 100644 --- a/htdocs/core/modules/modReceiptPrinter.class.php +++ b/htdocs/core/modules/modReceiptPrinter.class.php @@ -71,7 +71,7 @@ class modReceiptPrinter extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 9, -2); // Minimum version of Dolibarr required by module $this->conflictwith = array(); $this->langfiles = array("receiptprinter"); diff --git a/htdocs/core/modules/modRecruitment.class.php b/htdocs/core/modules/modRecruitment.class.php index ed67430bce5..f1fe6f2072c 100644 --- a/htdocs/core/modules/modRecruitment.class.php +++ b/htdocs/core/modules/modRecruitment.class.php @@ -122,7 +122,7 @@ class modRecruitment extends DolibarrModules $this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) $this->langfiles = array("recruitment"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modResource.class.php b/htdocs/core/modules/modResource.class.php index 1d1d37ac240..ab73c8828b4 100644 --- a/htdocs/core/modules/modResource.class.php +++ b/htdocs/core/modules/modResource.class.php @@ -95,7 +95,7 @@ class modResource extends DolibarrModules // List of modules id to disable if this one is disabled $this->requiredby = array('modPlace'); // Minimum version of PHP required by module - $this->phpmin = array(5, 6); + $this->phpmin = array(7, 0); $this->langfiles = array("resource"); // langfiles@resource // Constants diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php index 3464a5e14b3..bfb99e34de4 100644 --- a/htdocs/core/modules/modSalaries.class.php +++ b/htdocs/core/modules/modSalaries.class.php @@ -75,7 +75,7 @@ class modSalaries extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("salaries", "bills"); // Constants diff --git a/htdocs/core/modules/modService.class.php b/htdocs/core/modules/modService.class.php index 7c8a88a5c7e..c7772eab608 100644 --- a/htdocs/core/modules/modService.class.php +++ b/htdocs/core/modules/modService.class.php @@ -68,7 +68,7 @@ class modService extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Config pages $this->config_page_url = array("product.php@product"); diff --git a/htdocs/core/modules/modSocialNetworks.class.php b/htdocs/core/modules/modSocialNetworks.class.php index 3949de6c691..e2b110a383a 100644 --- a/htdocs/core/modules/modSocialNetworks.class.php +++ b/htdocs/core/modules/modSocialNetworks.class.php @@ -69,7 +69,7 @@ class modSocialNetworks extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array(); // Constants diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php index f5d26ed03ae..b5dc6e71ab8 100644 --- a/htdocs/core/modules/modSociete.class.php +++ b/htdocs/core/modules/modSociete.class.php @@ -71,7 +71,7 @@ class modSociete extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array("modExpedition", "modFacture", "modFournisseur", "modFicheinter", "modPropale", "modContrat", "modCommande"); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("companies", 'bills', "compta", "admin", "banks"); // Constants diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php index 87ea6303742..e99742a14c4 100644 --- a/htdocs/core/modules/modStock.class.php +++ b/htdocs/core/modules/modStock.class.php @@ -69,7 +69,7 @@ class modStock extends DolibarrModules $this->depends = array("modProduct"); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array("modProductBatch"); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("stocks"); // Constants diff --git a/htdocs/core/modules/modStockTransfer.class.php b/htdocs/core/modules/modStockTransfer.class.php index 4f99039f8f7..a90b28be5aa 100644 --- a/htdocs/core/modules/modStockTransfer.class.php +++ b/htdocs/core/modules/modStockTransfer.class.php @@ -124,7 +124,7 @@ class modStockTransfer extends DolibarrModules $this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) $this->langfiles = array("stocktransfer@stocktransfer"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modStripe.class.php b/htdocs/core/modules/modStripe.class.php index 2677d3e3fa3..4c5d3deea44 100644 --- a/htdocs/core/modules/modStripe.class.php +++ b/htdocs/core/modules/modStripe.class.php @@ -72,7 +72,7 @@ class modStripe extends DolibarrModules $this->hidden = false; // A condition to hide module $this->depends = array(); // List of modules id that must be enabled if this module is enabled $this->requiredby = array(); // List of modules id to disable if this one is disabled - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(5, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("stripe"); diff --git a/htdocs/core/modules/modSupplierProposal.class.php b/htdocs/core/modules/modSupplierProposal.class.php index 36df0dd27bd..c775744c6e7 100644 --- a/htdocs/core/modules/modSupplierProposal.class.php +++ b/htdocs/core/modules/modSupplierProposal.class.php @@ -70,7 +70,7 @@ class modSupplierProposal extends DolibarrModules $this->depends = array('modFournisseur'); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("supplier_proposal"); // Constants diff --git a/htdocs/core/modules/modSyslog.class.php b/htdocs/core/modules/modSyslog.class.php index 1d85dc2115d..0fa0da9dcdb 100644 --- a/htdocs/core/modules/modSyslog.class.php +++ b/htdocs/core/modules/modSyslog.class.php @@ -71,7 +71,7 @@ class modSyslog extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module // Constants $this->const = array(); diff --git a/htdocs/core/modules/modTakePos.class.php b/htdocs/core/modules/modTakePos.class.php index e0ee972e7ca..8096629c9a4 100644 --- a/htdocs/core/modules/modTakePos.class.php +++ b/htdocs/core/modules/modTakePos.class.php @@ -102,7 +102,7 @@ class modTakePos extends DolibarrModules $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with $this->langfiles = array("cashdesk"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(4, 0); // Minimum version of Dolibarr required by module $this->warnings_activation = array('FR'=>'WarningNoteModulePOSForFrenchLaw'); // Warning to show when we activate module. array('always'='text') or array('FR'='text') $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modTax.class.php b/htdocs/core/modules/modTax.class.php index 222b1c775c1..3f3b5730564 100644 --- a/htdocs/core/modules/modTax.class.php +++ b/htdocs/core/modules/modTax.class.php @@ -71,7 +71,7 @@ class modTax extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("compta", "bills"); // Constants diff --git a/htdocs/core/modules/modTicket.class.php b/htdocs/core/modules/modTicket.class.php index 22e2bed3ee9..f0de03c311a 100644 --- a/htdocs/core/modules/modTicket.class.php +++ b/htdocs/core/modules/modTicket.class.php @@ -97,7 +97,7 @@ class modTicket extends DolibarrModules $this->depends = array('modAgenda'); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("ticket"); // Constants diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index dc0da3e0ac3..6b14d797f15 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -68,7 +68,7 @@ class modUser extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("main", "users", "companies", "members", "salaries", "hrm"); $this->always_enabled = true; // Can't be disabled diff --git a/htdocs/core/modules/modVariants.class.php b/htdocs/core/modules/modVariants.class.php index 8c330044cb0..9dda6194b32 100644 --- a/htdocs/core/modules/modVariants.class.php +++ b/htdocs/core/modules/modVariants.class.php @@ -83,7 +83,7 @@ class modVariants extends DolibarrModules $this->depends = array('modProduct'); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module $this->langfiles = array("products"); diff --git a/htdocs/core/modules/modWebServices.class.php b/htdocs/core/modules/modWebServices.class.php index a88db3dee26..6f2e8e21c3e 100644 --- a/htdocs/core/modules/modWebServices.class.php +++ b/htdocs/core/modules/modWebServices.class.php @@ -63,7 +63,7 @@ class modWebServices extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("other"); // Constants diff --git a/htdocs/core/modules/modWebServicesClient.class.php b/htdocs/core/modules/modWebServicesClient.class.php index f2b75119523..8acd5647c76 100644 --- a/htdocs/core/modules/modWebServicesClient.class.php +++ b/htdocs/core/modules/modWebServicesClient.class.php @@ -63,7 +63,7 @@ class modWebServicesClient extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("other"); // Constants diff --git a/htdocs/core/modules/modWebhook.class.php b/htdocs/core/modules/modWebhook.class.php index ef4bced304d..b1aaea23929 100644 --- a/htdocs/core/modules/modWebhook.class.php +++ b/htdocs/core/modules/modWebhook.class.php @@ -139,7 +139,7 @@ class modWebhook extends DolibarrModules $this->langfiles = array(); // Prerequisites - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module // Messages at activation diff --git a/htdocs/core/modules/modWebsite.class.php b/htdocs/core/modules/modWebsite.class.php index 6e0dc80e41c..bf229791ff3 100644 --- a/htdocs/core/modules/modWebsite.class.php +++ b/htdocs/core/modules/modWebsite.class.php @@ -68,7 +68,7 @@ class modWebsite extends DolibarrModules $this->depends = array('modFckeditor'); // List of modules id that must be enabled if this module is enabled $this->requiredby = array(); // List of modules id to disable if this one is disabled $this->conflictwith = array(); // List of modules id this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->langfiles = array("website"); // Constants diff --git a/htdocs/core/modules/modWorkflow.class.php b/htdocs/core/modules/modWorkflow.class.php index 248d3c006ce..cc7e478e379 100644 --- a/htdocs/core/modules/modWorkflow.class.php +++ b/htdocs/core/modules/modWorkflow.class.php @@ -72,7 +72,7 @@ class modWorkflow extends DolibarrModules $this->depends = array(); // List of module class names as string that must be enabled if this module is enabled $this->requiredby = array(); // List of module ids to disable if this one is disabled $this->conflictwith = array(); // List of module class names as string this module is in conflict with - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(2, 8); // Minimum version of Dolibarr required by module $this->langfiles = array("@workflow"); diff --git a/htdocs/core/modules/modWorkstation.class.php b/htdocs/core/modules/modWorkstation.class.php index da1aca4f770..51094439df0 100644 --- a/htdocs/core/modules/modWorkstation.class.php +++ b/htdocs/core/modules/modWorkstation.class.php @@ -124,7 +124,7 @@ class modWorkstation extends DolibarrModules $this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...) $this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...) $this->langfiles = array("mrp"); - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/modZapier.class.php b/htdocs/core/modules/modZapier.class.php index b0a1daf642e..6d05aa7b283 100644 --- a/htdocs/core/modules/modZapier.class.php +++ b/htdocs/core/modules/modZapier.class.php @@ -125,7 +125,7 @@ class modZapier extends DolibarrModules $this->conflictwith = array(); $this->langfiles = array("zapier"); // Minimum version of PHP required by module - //$this->phpmin = array(5, 6); + //$this->phpmin = array(7, 0); // Minimum version of Dolibarr required by module $this->need_dolibarr_version = array(10, 0); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) diff --git a/htdocs/core/modules/movement/doc/pdf_standard.modules.php b/htdocs/core/modules/movement/doc/pdf_standard.modules.php index eb57e7c5453..596a29c1e2d 100644 --- a/htdocs/core/modules/movement/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/movement/doc/pdf_standard.modules.php @@ -64,9 +64,9 @@ class pdf_standard extends ModelePDFMovement /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php b/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php index 1c08dd7228d..42b3c529fe4 100644 --- a/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php +++ b/htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php @@ -48,9 +48,9 @@ class doc_generic_mo_odt extends ModelePDFMo /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/core/modules/mrp/doc/pdf_vinci.modules.php b/htdocs/core/modules/mrp/doc/pdf_vinci.modules.php index 1a61a588ae3..20fd7b0472b 100644 --- a/htdocs/core/modules/mrp/doc/pdf_vinci.modules.php +++ b/htdocs/core/modules/mrp/doc/pdf_vinci.modules.php @@ -69,9 +69,9 @@ class pdf_vinci extends ModelePDFMo /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php index c4167847986..94d511367e2 100644 --- a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php +++ b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php @@ -45,9 +45,9 @@ class doc_generic_product_odt extends ModelePDFProduct /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/product/doc/pdf_standard.modules.php b/htdocs/core/modules/product/doc/pdf_standard.modules.php index 92cf586f848..df1122a5748 100644 --- a/htdocs/core/modules/product/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/product/doc/pdf_standard.modules.php @@ -58,9 +58,9 @@ class pdf_standard extends ModelePDFProduct /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php index 8a8a4e373b7..0bfdbb0988d 100644 --- a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php +++ b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php @@ -82,9 +82,9 @@ class doc_generic_project_odt extends ModelePDFProjects /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/project/doc/pdf_baleine.modules.php b/htdocs/core/modules/project/doc/pdf_baleine.modules.php index 3bae695f511..876249ba228 100644 --- a/htdocs/core/modules/project/doc/pdf_baleine.modules.php +++ b/htdocs/core/modules/project/doc/pdf_baleine.modules.php @@ -65,9 +65,9 @@ class pdf_baleine extends ModelePDFProjects /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/project/doc/pdf_beluga.modules.php b/htdocs/core/modules/project/doc/pdf_beluga.modules.php index c3ce64e3df7..c3e673abf25 100644 --- a/htdocs/core/modules/project/doc/pdf_beluga.modules.php +++ b/htdocs/core/modules/project/doc/pdf_beluga.modules.php @@ -81,9 +81,9 @@ class pdf_beluga extends ModelePDFProjects /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/project/doc/pdf_timespent.modules.php b/htdocs/core/modules/project/doc/pdf_timespent.modules.php index 02f3f0c8cfb..02f728b5208 100644 --- a/htdocs/core/modules/project/doc/pdf_timespent.modules.php +++ b/htdocs/core/modules/project/doc/pdf_timespent.modules.php @@ -64,9 +64,9 @@ class pdf_timespent extends ModelePDFProjects /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php index 73d1d4e3d12..ba386eedfe7 100644 --- a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php +++ b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php @@ -83,9 +83,9 @@ class doc_generic_task_odt extends ModelePDFTask /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php index dfcc9273505..6715b2e39a5 100644 --- a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php +++ b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php @@ -46,9 +46,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 8214b8243e9..026bc1ba57e 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -70,9 +70,9 @@ class pdf_azur extends ModelePDFPropales /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index 049391450d8..d2aa3cf5390 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -68,9 +68,9 @@ class pdf_cyan extends ModelePDFPropales /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php index 18afd4fd054..4d8edca7f64 100644 --- a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php +++ b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php @@ -43,9 +43,9 @@ class doc_generic_reception_odt extends ModelePdfReception /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php index 4a63e9c91f6..d6804c3a397 100644 --- a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php +++ b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php @@ -44,9 +44,9 @@ class doc_generic_odt extends ModeleThirdPartyDoc /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** diff --git a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php index c5a6ae75389..0f5adc3fc7d 100644 --- a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php +++ b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php @@ -45,9 +45,9 @@ class doc_generic_stock_odt extends ModelePDFStock /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/core/modules/stock/doc/pdf_standard.modules.php b/htdocs/core/modules/stock/doc/pdf_standard.modules.php index 6231fb492b0..c61fb5a5ff3 100644 --- a/htdocs/core/modules/stock/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_standard.modules.php @@ -60,9 +60,9 @@ class pdf_standard extends ModelePDFStock /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php b/htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php index 2971741f078..d658ee77069 100644 --- a/htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php +++ b/htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php @@ -63,7 +63,7 @@ class pdf_eagle extends ModelePdfStockTransfer * @var array Minimum version of PHP required by module. * e.g.: PHP ≥ 5.5 = array(5, 5) */ - public $phpmin = array(5, 5); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php b/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php index 493dd0f2f6f..8be1b5e0d9c 100644 --- a/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php +++ b/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php @@ -72,7 +72,7 @@ class pdf_eagle_proforma extends ModelePDFCommandes * @var array Minimum version of PHP required by module. * e.g.: PHP ≥ 5.5 = array(5, 5) */ - public $phpmin = array(5, 5); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php index 6e340a39981..dba1c61c7e9 100644 --- a/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php @@ -65,9 +65,9 @@ class pdf_canelle extends ModelePDFSuppliersInvoices /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php b/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php index 4e577795ceb..f3177233589 100644 --- a/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php +++ b/htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php @@ -49,9 +49,9 @@ class doc_generic_supplier_order_odt extends ModelePDFSuppliersOrders /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php index a11983991cc..3b12747c924 100644 --- a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php +++ b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php @@ -68,9 +68,9 @@ class pdf_cornas extends ModelePDFSuppliersOrders /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php index 5b9a572736b..2ba9ae7f1ae 100644 --- a/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php @@ -68,9 +68,9 @@ class pdf_muscadet extends ModelePDFSuppliersOrders /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php index a6a272d6274..8b131c4e0f2 100644 --- a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php @@ -66,9 +66,9 @@ class pdf_standard extends ModelePDFSuppliersPayments /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php index b8148a35c5d..fc75445123a 100644 --- a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php @@ -46,9 +46,9 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php index b1129bbb1ed..041a10c2f6d 100644 --- a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php @@ -65,9 +65,9 @@ class pdf_aurore extends ModelePDFSupplierProposal /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php b/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php index 706977f72e6..ff6359be5ce 100644 --- a/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php +++ b/htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php @@ -43,9 +43,9 @@ class doc_generic_ticket_odt extends ModelePDFTicket /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php index 505d68f0441..d129c80f126 100644 --- a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php +++ b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php @@ -43,9 +43,9 @@ class doc_generic_user_odt extends ModelePDFUser /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php index df3804670ad..4bbb39c0086 100644 --- a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php +++ b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php @@ -46,9 +46,9 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php index 169d764b80b..212f02aa4b3 100644 --- a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php +++ b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php @@ -144,7 +144,7 @@ class modMyModule extends DolibarrModules $this->langfiles = array("mymodule@mymodule"); // Prerequisites - $this->phpmin = array(5, 6); // Minimum version of PHP required by module + $this->phpmin = array(7, 0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module // Messages at activation diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php b/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php index 3011c932171..46967d6e4fa 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php @@ -48,9 +48,9 @@ class doc_generic_myobject_odt extends ModelePDFMyObject /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php b/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php index 382b5a0f0ab..312f1215406 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php @@ -70,9 +70,9 @@ class pdf_standard_myobject extends ModelePDFMyObject /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document diff --git a/htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php b/htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php index ba35cb0ba3f..c86713ffb93 100644 --- a/htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php +++ b/htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php @@ -48,9 +48,9 @@ class doc_generic_recruitmentjobposition_odt extends ModelePDFRecruitmentJobPosi /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * @var string Dolibarr version of the loaded document diff --git a/htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php b/htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php index bf267a475c6..007333dfd5d 100644 --- a/htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php +++ b/htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php @@ -70,9 +70,9 @@ class pdf_standard_recruitmentjobposition extends ModelePDFRecruitmentJobPositio /** * @var array Minimum version of PHP required by module. - * e.g.: PHP ≥ 5.6 = array(5, 6) + * e.g.: PHP ≥ 7.0 = array(7, 0) */ - public $phpmin = array(5, 6); + public $phpmin = array(7, 0); /** * Dolibarr version of the loaded document From 00adad02ff1b85d1e59e6370248753db3b58c277 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 27 Sep 2022 22:00:04 +0200 Subject: [PATCH 26/34] FIX Duplicate in list when filtering on categories --- .../knowledgerecord_list.php | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/htdocs/knowledgemanagement/knowledgerecord_list.php b/htdocs/knowledgemanagement/knowledgerecord_list.php index daa0d7b148d..d9fc25fa1fe 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_list.php +++ b/htdocs/knowledgemanagement/knowledgerecord_list.php @@ -246,9 +246,6 @@ $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; if (!empty($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; } -if (!empty($searchCategoryKnowledgemanagementList) || !empty($catid)) { - $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_knowledgemanagement as ck ON t.rowid = ck.fk_knowledgemanagement"; // We'll need this table joined to the select in order to filter by categ -} // Add table from hooks $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook @@ -287,29 +284,29 @@ foreach ($search as $key => $val) { } } } -//Search for tag/category -$searchCategoryKnowledgemanagementSqlList = array(); -if ($searchCategoryKnowledgemanagementOperator == 1) { + +// Search for tag/category ($searchCategoryKnowledgemanagementList is an array of ID) +if (!empty($searchCategoryKnowledgemanagementList)) { + $searchCategoryKnowledgemanagementSqlList = array(); + $listofcategoryid = ''; foreach ($searchCategoryKnowledgemanagementList as $searchCategoryKnowledgemanagement) { if (intval($searchCategoryKnowledgemanagement) == -2) { - $searchCategoryKnowledgemanagementSqlList[] = "ck.fk_categorie IS NULL"; + $searchCategoryKnowledgemanagementSqlList[] = "NOT EXISTS (SELECT ck.fk_knowledgemanagement FROM ".MAIN_DB_PREFIX."categorie_knowledgemanagement as ck WHERE t.rowid = ck.fk_knowledgemanagement)"; } elseif (intval($searchCategoryKnowledgemanagement) > 0) { - $searchCategoryKnowledgemanagementSqlList[] = "ck.fk_categorie = ".$db->escape($searchCategoryKnowledgemanagement); + $listofcategoryid .= ($listofcategoryid ? ', ' : '') .((int) $searchCategoryKnowledgemanagement); } } - if (!empty($searchCategoryKnowledgemanagementSqlList)) { - $sql .= " AND (".implode(' OR ', $searchCategoryKnowledgemanagementSqlList).")"; + if ($listofcategoryid) { + $searchCategoryKnowledgemanagementSqlList[] = " EXISTS (SELECT ck.fk_knowledgemanagement FROM ".MAIN_DB_PREFIX."categorie_knowledgemanagement as ck WHERE t.rowid = ck.fk_knowledgemanagement AND ck.fk_categorie IN (".$db->sanitize($listofcategoryid)."))"; } -} else { - foreach ($searchCategoryKnowledgemanagementList as $searchCategoryKnowledgemanagement) { - if (intval($searchCategoryKnowledgemanagement) == -2) { - $searchCategoryKnowledgemanagementSqlList[] = "ck.fk_categorie IS NULL"; - } elseif (intval($searchCategoryKnowledgemanagement) > 0) { - $searchCategoryKnowledgemanagementSqlList[] = "t.rowid IN (SELECT fk_knowledgemanagement FROM ".MAIN_DB_PREFIX."categorie_knowledgemanagement WHERE fk_categorie = ".((int) $searchCategoryKnowledgemanagement).")"; + if ($searchCategoryKnowledgemanagementOperator == 1) { + if (!empty($searchCategoryKnowledgemanagementSqlList)) { + $sql .= " AND (".implode(' OR ', $searchCategoryKnowledgemanagementSqlList).")"; + } + } else { + if (!empty($searchCategoryKnowledgemanagementSqlList)) { + $sql .= " AND (".implode(' AND ', $searchCategoryKnowledgemanagementSqlList).")"; } - } - if (!empty($searchCategoryKnowledgemanagementSqlList)) { - $sql .= " AND (".implode(' AND ', $searchCategoryKnowledgemanagementSqlList).")"; } } From b753968c188da3520fb858cb70e7fca97b15db6e Mon Sep 17 00:00:00 2001 From: lmarcouiller Date: Wed, 28 Sep 2022 12:27:20 +0200 Subject: [PATCH 27/34] Fix : import module sim message + warnings --- htdocs/core/modules/import/import_csv.modules.php | 4 ++-- htdocs/imports/import.php | 4 ++-- htdocs/langs/en_US/exports.lang | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index 9f5a31109a8..594ab96d955 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -726,7 +726,7 @@ class ImportCsv extends ModeleImports } // Define $listfields and $listvalues to build SQL request - if ($conf->socialnetworks->enabled && strpos($fieldname, "socialnetworks") !== false) { + if (isModEnabled("socialnetworks") && strpos($fieldname, "socialnetworks") !== false) { if (!in_array("socialnetworks", $listfields)) { $listfields[] = "socialnetworks"; } @@ -840,7 +840,7 @@ class ImportCsv extends ModeleImports foreach ($updatekeys as $key) { $col = $objimport->array_import_updatekeys[0][$key]; $key = preg_replace('/^.*\./i', '', $key); - if ($conf->socialnetworks->enabled && strpos($key, "socialnetworks") !== false) { + if (isModEnabled("socialnetworks") && strpos($key, "socialnetworks") !== false) { $tmp = explode("_", $key); $key = $tmp[0]; $socialnetwork = $tmp[1]; diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index 3db5ef13ef5..60c51734aef 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -1910,8 +1910,8 @@ if ($step == 5 && $datatoimport) { print '
'; print '
'; print '
'.$langs->trans("ResultOfSimulationNoError").'
'; - print $langs->trans("NbInsert", empty($obj->nbinsert) ? 0 : $obj->nbinsert).'
'; - print $langs->trans("NbUpdate", empty($obj->nbupdate) ? 0 : $obj->nbupdate).'
'; + print $langs->trans("NbInsertSim", empty($obj->nbinsert) ? 0 : $obj->nbinsert).'
'; + print $langs->trans("NbUpdateSim", empty($obj->nbupdate) ? 0 : $obj->nbupdate).'
'; print '
'; print '
'; } else { diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang index c4c629c9a87..668b5dd7c9d 100644 --- a/htdocs/langs/en_US/exports.lang +++ b/htdocs/langs/en_US/exports.lang @@ -134,7 +134,9 @@ FormatControlRule=Format control rule ## imports updates KeysToUseForUpdates=Key (column) to use for updating existing data NbInsert=Number of inserted lines: %s +NbInsertSim=Number of lines that will be inserted: %s NbUpdate=Number of updated lines: %s +NbUpdateSim=Number of lines that will be updated : %s MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number WarningFirstImportedLine=The first line(s) will not be imported with the current selection From 07371f58d180878321d06006409c20b9872fbe1c Mon Sep 17 00:00:00 2001 From: lmarcouiller Date: Wed, 28 Sep 2022 13:03:42 +0200 Subject: [PATCH 28/34] Fix : export contrat profile --- htdocs/core/modules/modContrat.class.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/core/modules/modContrat.class.php b/htdocs/core/modules/modContrat.class.php index 89081551ddc..8154c3f8902 100644 --- a/htdocs/core/modules/modContrat.class.php +++ b/htdocs/core/modules/modContrat.class.php @@ -162,17 +162,17 @@ class modContrat extends DolibarrModules $this->export_icon[$r] = 'contract'; $this->export_permission[$r] = array(array("contrat", "export")); $this->export_fields_array[$r] = array('s.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode', - 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 's.code_compta'=>'CustomerAccountancyCode', + 's.email'=>'Email', 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 's.code_compta'=>'CustomerAccountancyCode', 's.code_compta_fournisseur'=>'SupplierAccountancyCode', 's.tva_intra'=>'VATIntra', 'co.rowid'=>"Id", 'co.ref'=>"Ref", 'co.datec'=>"DateCreation", 'co.date_contrat'=>"DateContract", - 'co.fin_validite'=>"ContractEndDate", 'co.date_cloture'=>"Closing", 'co.note_private'=>"NotePrivate", 'co.note_public'=>"NotePublic", + 'co.fin_validite'=>"ContractEndDate", 'co.date_cloture'=>"DateClosing", 'co.note_private'=>"NotePrivate", 'co.note_public'=>"NotePublic", 'cod.rowid'=>'LineId', 'cod.label'=>"LineLabel", 'cod.description'=>"LineDescription", 'cod.price_ht'=>"LineUnitPrice", 'cod.tva_tx'=>"LineVATRate", 'cod.qty'=>"LineQty", 'cod.total_ht'=>"LineTotalHT", 'cod.total_tva'=>"LineTotalVAT", 'cod.total_ttc'=>"LineTotalTTC", 'cod.date_ouverture'=>"DateStart", 'cod.date_ouverture_prevue'=>"DateStartPlanned", 'cod.date_fin_validite'=>"DateEndPlanned", 'cod.date_cloture'=>"DateEnd", 'p.rowid'=>'ProductId', 'p.ref'=>'ProductRef', 'p.label'=>'ProductLabel'); $this->export_entities_array[$r] = array('s.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company', - 's.town'=>'company', 'c.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.siret'=>'company', 's.ape'=>'company', + 's.town'=>'company', 'c.code'=>'company', 's.email'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.siret'=>'company', 's.ape'=>'company', 's.idprof4'=>'company', 's.code_compta'=>'company', 's.code_compta_fournisseur'=>'company', 's.tva_intra'=>'company', 'co.rowid'=>"contract", 'co.ref'=>"contract", 'co.datec'=>"contract", 'co.date_contrat'=>"contract", 'co.fin_validite'=>"contract", 'co.date_cloture'=>"contract", 'co.note_private'=>"contract", 'co.note_public'=>"contract", @@ -182,7 +182,7 @@ class modContrat extends DolibarrModules 'p.rowid'=>'product', 'p.ref'=>'product', 'p.label'=>'product'); $this->export_TypeFields_array[$r] = array('s.rowid'=>"Numeric", 's.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'c.code'=>'Text', - 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.code_compta'=>'Text', + 's.email'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.code_compta'=>'Text', 's.code_compta_fournisseur'=>'Text', 's.tva_intra'=>'Text', 'co.ref'=>"Text", 'co.datec'=>"Date", 'co.date_contrat'=>"Date", 'co.fin_validite'=>"Date", 'co.date_cloture'=>"Date", 'co.note_private'=>"Text", 'co.note_public'=>"Text", From eefcc490068008d590f30d36e24f892939a1df23 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 28 Sep 2022 15:58:10 +0200 Subject: [PATCH 29/34] NEW Add index on name for company and contact --- htdocs/install/mysql/migration/16.0.0-17.0.0.sql | 5 +++++ htdocs/install/mysql/tables/llx_societe.key.sql | 2 ++ htdocs/install/mysql/tables/llx_socpeople.key.sql | 2 ++ 3 files changed, 9 insertions(+) diff --git a/htdocs/install/mysql/migration/16.0.0-17.0.0.sql b/htdocs/install/mysql/migration/16.0.0-17.0.0.sql index 84cd1b5665c..874dcb66f1b 100644 --- a/htdocs/install/mysql/migration/16.0.0-17.0.0.sql +++ b/htdocs/install/mysql/migration/16.0.0-17.0.0.sql @@ -178,3 +178,8 @@ ALTER TABLE llx_element_categorie ADD UNIQUE INDEX idx_element_categorie_idx (fk ALTER TABLE llx_element_categorie ADD CONSTRAINT fk_element_categorie_fk_categorie FOREIGN KEY (fk_categorie) REFERENCES llx_categorie(rowid); INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) VALUES ('PROJECT_SENTBYMAIL','Project sent by mail','Executed when a project is sent by email','project',144); + +ALTER TABLE llx_socpeople ADD INDEX idx_socpeople_lastname (lastname); + +ALTER TABLE llx_societe ADD INDEX idx_societe_nom(nom); + diff --git a/htdocs/install/mysql/tables/llx_societe.key.sql b/htdocs/install/mysql/tables/llx_societe.key.sql index 3a2c9540229..58701e4a7f9 100644 --- a/htdocs/install/mysql/tables/llx_societe.key.sql +++ b/htdocs/install/mysql/tables/llx_societe.key.sql @@ -23,6 +23,8 @@ ALTER TABLE llx_societe ADD UNIQUE INDEX uk_societe_code_fournisseur(code_fourni ALTER TABLE llx_societe ADD UNIQUE INDEX uk_societe_barcode (barcode, fk_barcode_type, entity); +ALTER TABLE llx_societe ADD INDEX idx_societe_nom(nom); + ALTER TABLE llx_societe ADD INDEX idx_societe_user_creat(fk_user_creat); ALTER TABLE llx_societe ADD INDEX idx_societe_user_modif(fk_user_modif); diff --git a/htdocs/install/mysql/tables/llx_socpeople.key.sql b/htdocs/install/mysql/tables/llx_socpeople.key.sql index 4d2a453e0fa..36e2b7b7d1c 100644 --- a/htdocs/install/mysql/tables/llx_socpeople.key.sql +++ b/htdocs/install/mysql/tables/llx_socpeople.key.sql @@ -20,5 +20,7 @@ ALTER TABLE llx_socpeople ADD INDEX idx_socpeople_fk_soc (fk_soc); ALTER TABLE llx_socpeople ADD INDEX idx_socpeople_fk_user_creat (fk_user_creat); +ALTER TABLE llx_socpeople ADD INDEX idx_socpeople_lastname (lastname); + ALTER TABLE llx_socpeople ADD CONSTRAINT fk_socpeople_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); ALTER TABLE llx_socpeople ADD CONSTRAINT fk_socpeople_user_creat_user_rowid FOREIGN KEY (fk_user_creat) REFERENCES llx_user (rowid); From 519afdf3779b2ff81f79701c945fae69ef3c206d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 28 Sep 2022 16:02:24 +0200 Subject: [PATCH 30/34] Fix label of error message --- htdocs/imports/import.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index 3db5ef13ef5..5e27f41c47a 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -1857,7 +1857,7 @@ if ($step == 5 && $datatoimport) { //dol_syslog("line ".$sourcelinenb.' - '.$nboflines.' - '.$excludefirstline.' - '.$endatlinenb); $arrayrecord = $obj->import_read_record(); if ($arrayrecord === false) { - $arrayofwarnings[$sourcelinenb][0] = array('lib'=>'File has '.$nboflines.' lines. However we reach end of file after record '.$sourcelinenb.'. This may occurs when some records are split onto several lines. Ensure the complete string is delimited correctly when there is a separator character in the text string.', 'type'=>'EOF_RECORD_ON_SEVERAL_LINES'); + $arrayofwarnings[$sourcelinenb][0] = array('lib'=>'File has '.$nboflines.' lines. However we reach the end of file or an empty line at record '.$sourcelinenb.'. This may occurs when some records are split onto several lines and not correctly delimited by the "Char delimiter", or if there is line with no data on all fields.', 'type'=>'EOF_RECORD_ON_SEVERAL_LINES'); $endoffile++; continue; } @@ -2242,7 +2242,7 @@ if ($step == 6 && $datatoimport) { $sourcelinenb++; $arrayrecord = $obj->import_read_record(); if ($arrayrecord === false) { - $arrayofwarnings[$sourcelinenb][0] = array('lib'=>'File has '.$nboflines.' lines. However we reach end of file after record '.$sourcelinenb.'. This may occurs when some records are split onto several lines.', 'type'=>'EOF_RECORD_ON_SEVERAL_LINES'); + $arrayofwarnings[$sourcelinenb][0] = array('lib'=>'File has '.$nboflines.' lines. However we reach the end of file or an empty line at record '.$sourcelinenb.'. This may occurs when some records are split onto several lines and not correctly delimited by the "Char delimiter", or if there is line with no data on all fields.', 'type'=>'EOF_RECORD_ON_SEVERAL_LINES'); $endoffile++; continue; } From d81e081e1e8aa9690bd49635256c4422514baf25 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 28 Sep 2022 19:03:01 +0200 Subject: [PATCH 31/34] Fix log level --- htdocs/main.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 6865e4b8bf4..6f010215df3 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -850,7 +850,7 @@ if (!defined('NOLOGIN')) { // End test login / passwords if (!$login || (in_array('ldap', $authmode) && empty($passwordtotest))) { // With LDAP we refused empty password because some LDAP are "opened" for anonymous access so connexion is a success. // No data to test login, so we show the login page. - dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"]) ? '' : $_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." - action=".GETPOST('action', 'aZ09')." - actionlogin=".GETPOST('actionlogin', 'aZ09')." - showing the login form and exit", LOG_INFO); + dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"]) ? '' : $_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." - action=".GETPOST('action', 'aZ09')." - actionlogin=".GETPOST('actionlogin', 'aZ09')." - showing the login form and exit", LOG_NOTICE); if (defined('NOREDIRECTBYMAINTOLOGIN')) { // When used with NOREDIRECTBYMAINTOLOGIN set, the http header must already be set when including the main. // See example with selectsearchbox.php. This case is reserverd for the selectesearchbox.php so we can From 3d9cb3e4116fafd3d9fc8e4217f2fce479bb6ad1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 28 Sep 2022 19:59:51 +0200 Subject: [PATCH 32/34] Fix missing test on zip php module --- htdocs/admin/system/phpinfo.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/htdocs/admin/system/phpinfo.php b/htdocs/admin/system/phpinfo.php index aa09cf0a27c..d8a0b384971 100644 --- a/htdocs/admin/system/phpinfo.php +++ b/htdocs/admin/system/phpinfo.php @@ -36,7 +36,6 @@ if (!$user->admin) { } - /* * View */ @@ -218,6 +217,14 @@ print "
"; print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions); print ""; +$functions = array(); +$name = "zip"; + +print ""; +print ""; +print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions); +print ""; + $functions = array(); $name = "xDebug"; From cee45b9808914df40bae6fed0aa26ea7b14ab7d7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 28 Sep 2022 20:01:41 +0200 Subject: [PATCH 33/34] FIX error management of zip extension not found --- htdocs/compta/accounting-files.php | 147 ++++++++++++++--------------- 1 file changed, 73 insertions(+), 74 deletions(-) diff --git a/htdocs/compta/accounting-files.php b/htdocs/compta/accounting-files.php index ea371e804f3..e9a7bdf2ee1 100644 --- a/htdocs/compta/accounting-files.php +++ b/htdocs/compta/accounting-files.php @@ -451,87 +451,86 @@ if (empty($dirfortmpfile)) { if ($result && $action == "dl" && !$error) { if (!extension_loaded('zip')) { setEventMessages('PHPZIPExtentionNotLoaded', null, 'errors'); - exit; - } + } else { + dol_mkdir($dirfortmpfile); - dol_mkdir($dirfortmpfile); - - $log = $langs->transnoentitiesnoconv("Type"); - if (isModEnabled('multicompany') && is_object($mc)) { - $log .= ','.$langs->transnoentitiesnoconv("Entity"); - } - $log .= ','.$langs->transnoentitiesnoconv("Date"); - $log .= ','.$langs->transnoentitiesnoconv("DateDue"); - $log .= ','.$langs->transnoentitiesnoconv("Ref"); - $log .= ','.$langs->transnoentitiesnoconv("TotalHT"); - $log .= ','.$langs->transnoentitiesnoconv("TotalTTC"); - $log .= ','.$langs->transnoentitiesnoconv("TotalVAT"); - $log .= ','.$langs->transnoentitiesnoconv("Paid"); - $log .= ','.$langs->transnoentitiesnoconv("Document"); - $log .= ','.$langs->transnoentitiesnoconv("ItemID"); - $log .= ','.$langs->transnoentitiesnoconv("ThirdParty"); - $log .= ','.$langs->transnoentitiesnoconv("Code"); - $log .= ','.$langs->transnoentitiesnoconv("Country"); - $log .= ','.$langs->transnoentitiesnoconv("VATIntra"); - $log .= ','.$langs->transnoentitiesnoconv("Sens")."\n"; - $zipname = $dirfortmpfile.'/'.dol_print_date($date_start, 'dayrfc', 'tzuserrel')."-".dol_print_date($date_stop, 'dayrfc', 'tzuserrel'); - if (!empty($projectid)) { - $project = new Project($db); - $project->fetch($projectid); - if ($project->ref) { - $zipname .= '_'.$project->ref; + $log = $langs->transnoentitiesnoconv("Type"); + if (isModEnabled('multicompany') && is_object($mc)) { + $log .= ','.$langs->transnoentitiesnoconv("Entity"); } - } - $zipname .='_export.zip'; - - dol_delete_file($zipname); - - $zip = new ZipArchive; - $res = $zip->open($zipname, ZipArchive::OVERWRITE | ZipArchive::CREATE); - if ($res) { - foreach ($filesarray as $key => $file) { - if (!empty($file['files'])) { - foreach ($file['files'] as $filecursor) { - if (file_exists($filecursor["fullname"])) { - $zip->addFile($filecursor["fullname"], $filecursor["relpathnamelang"]); - } - } + $log .= ','.$langs->transnoentitiesnoconv("Date"); + $log .= ','.$langs->transnoentitiesnoconv("DateDue"); + $log .= ','.$langs->transnoentitiesnoconv("Ref"); + $log .= ','.$langs->transnoentitiesnoconv("TotalHT"); + $log .= ','.$langs->transnoentitiesnoconv("TotalTTC"); + $log .= ','.$langs->transnoentitiesnoconv("TotalVAT"); + $log .= ','.$langs->transnoentitiesnoconv("Paid"); + $log .= ','.$langs->transnoentitiesnoconv("Document"); + $log .= ','.$langs->transnoentitiesnoconv("ItemID"); + $log .= ','.$langs->transnoentitiesnoconv("ThirdParty"); + $log .= ','.$langs->transnoentitiesnoconv("Code"); + $log .= ','.$langs->transnoentitiesnoconv("Country"); + $log .= ','.$langs->transnoentitiesnoconv("VATIntra"); + $log .= ','.$langs->transnoentitiesnoconv("Sens")."\n"; + $zipname = $dirfortmpfile.'/'.dol_print_date($date_start, 'dayrfc', 'tzuserrel')."-".dol_print_date($date_stop, 'dayrfc', 'tzuserrel'); + if (!empty($projectid)) { + $project = new Project($db); + $project->fetch($projectid); + if ($project->ref) { + $zipname .= '_'.$project->ref; } - - $log .= '"'.$langs->trans($file['item']).'"'; - if (isModEnabled('multicompany') && is_object($mc)) { - $log .= ',"'.(empty($arrayofentities[$file['entity']]) ? $file['entity'] : $arrayofentities[$file['entity']]).'"'; - } - $log .= ','.dol_print_date($file['date'], 'dayrfc'); - $log .= ','.dol_print_date($file['date_due'], 'dayrfc'); - $log .= ',"'.$file['ref'].'"'; - $log .= ','.$file['amount_ht']; - $log .= ','.$file['amount_ttc']; - $log .= ','.$file['amount_vat']; - $log .= ','.$file['paid']; - $log .= ',"'.$file["name"].'"'; - $log .= ','.$file['fk']; - $log .= ',"'.$file['thirdparty_name'].'"'; - $log .= ',"'.$file['thirdparty_code'].'"'; - $log .= ',"'.$file['country_code'].'"'; - $log .= ',"'.$file['vatnum'].'"'; - $log .= ',"'.$file['sens'].'"'; - $log .= "\n"; } - $zip->addFromString('transactions.csv', $log); - $zip->close(); - - // Then download the zipped file. - header('Content-Type: application/zip'); - header('Content-disposition: attachment; filename='.basename($zipname)); - header('Content-Length: '.filesize($zipname)); - readfile($zipname); + $zipname .='_export.zip'; dol_delete_file($zipname); - exit(); - } else { - setEventMessages($langs->trans("FailedToOpenFile", $zipname), null, 'errors'); + $zip = new ZipArchive; + $res = $zip->open($zipname, ZipArchive::OVERWRITE | ZipArchive::CREATE); + if ($res) { + foreach ($filesarray as $key => $file) { + if (!empty($file['files'])) { + foreach ($file['files'] as $filecursor) { + if (file_exists($filecursor["fullname"])) { + $zip->addFile($filecursor["fullname"], $filecursor["relpathnamelang"]); + } + } + } + + $log .= '"'.$langs->trans($file['item']).'"'; + if (isModEnabled('multicompany') && is_object($mc)) { + $log .= ',"'.(empty($arrayofentities[$file['entity']]) ? $file['entity'] : $arrayofentities[$file['entity']]).'"'; + } + $log .= ','.dol_print_date($file['date'], 'dayrfc'); + $log .= ','.dol_print_date($file['date_due'], 'dayrfc'); + $log .= ',"'.$file['ref'].'"'; + $log .= ','.$file['amount_ht']; + $log .= ','.$file['amount_ttc']; + $log .= ','.$file['amount_vat']; + $log .= ','.$file['paid']; + $log .= ',"'.$file["name"].'"'; + $log .= ','.$file['fk']; + $log .= ',"'.$file['thirdparty_name'].'"'; + $log .= ',"'.$file['thirdparty_code'].'"'; + $log .= ',"'.$file['country_code'].'"'; + $log .= ',"'.$file['vatnum'].'"'; + $log .= ',"'.$file['sens'].'"'; + $log .= "\n"; + } + $zip->addFromString('transactions.csv', $log); + $zip->close(); + + // Then download the zipped file. + header('Content-Type: application/zip'); + header('Content-disposition: attachment; filename='.basename($zipname)); + header('Content-Length: '.filesize($zipname)); + readfile($zipname); + + dol_delete_file($zipname); + + exit(); + } else { + setEventMessages($langs->trans("FailedToOpenFile", $zipname), null, 'errors'); + } } } From 825a1dbf3e7db2025d4540cf6c3aae3bae39b320 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 28 Sep 2022 20:33:57 +0200 Subject: [PATCH 34/34] Update tva.class.php --- htdocs/compta/tva/class/tva.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/tva/class/tva.class.php b/htdocs/compta/tva/class/tva.class.php index 9dce58171ae..d6efb35ef2f 100644 --- a/htdocs/compta/tva/class/tva.class.php +++ b/htdocs/compta/tva/class/tva.class.php @@ -345,8 +345,8 @@ class Tva extends CommonObject $this->fk_user_creat = $obj->fk_user_creat; $this->fk_user_modif = $obj->fk_user_modif; $this->fk_account = $obj->fk_account; - $this->fk_type = !empty($obj->fk_type) ? $obj->fk_type : ""; - $this->rappro = !empty($obj->fk_type) ? $obj->rappro : ""; + $this->fk_type = empty($obj->fk_type) ? "" : $obj->fk_type; + $this->rappro = empty($obj->rappro) ? "" : $obj->rappro; } $this->db->free($resql);
".$name."
".$name."