Compare commits
1638 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
192510316b | ||
|
|
6f83c8c6f3 | ||
|
|
8213756c37 | ||
|
|
a254412c61 | ||
|
|
cc1a3080d0 | ||
|
|
b5f887b3e4 | ||
|
|
694357d48e | ||
|
|
c4f80b4e71 | ||
|
|
ece9f3037a | ||
|
|
8dd44246b0 | ||
|
|
76470c9548 | ||
|
|
19be5f662d | ||
|
|
3eebbc0b14 | ||
|
|
d27c0b31fc | ||
|
|
a1534955a1 | ||
|
|
79371f66b0 | ||
|
|
4569cb82b2 | ||
|
|
04d33f4594 | ||
|
|
af6e95aa79 | ||
|
|
5d942c9d1a | ||
|
|
cc57d3dbc1 | ||
|
|
87b187bded | ||
|
|
df0b20aad3 | ||
|
|
e085c3989a | ||
|
|
e67c208b57 | ||
|
|
e13038dc30 | ||
|
|
744b84cb09 | ||
|
|
5c3b0847c2 | ||
|
|
f1af7ca2f2 | ||
|
|
035bc32323 | ||
|
|
a70d45b3ab | ||
|
|
1574254dcf | ||
|
|
1c129fd3ea | ||
|
|
97575854d0 | ||
|
|
2e744a4517 | ||
|
|
1ad8700810 | ||
|
|
1c8c98ac0f | ||
|
|
92cb95a184 | ||
|
|
96c7a9f77c | ||
|
|
3ebdb89133 | ||
|
|
d819d427c3 | ||
|
|
db81b32a5d | ||
|
|
793e43c7c6 | ||
|
|
d9bac75a63 | ||
|
|
e4c1978e12 | ||
|
|
a0154503f4 | ||
|
|
a9c76f2e44 | ||
|
|
5b6133ad62 | ||
|
|
90c3c90864 | ||
|
|
cacff0c2d4 | ||
|
|
22f6d204a2 | ||
|
|
b110ca6ead | ||
|
|
400f6b244b | ||
|
|
cde290c78a | ||
|
|
b23b82bd6f | ||
|
|
7dfb369a98 | ||
|
|
265aeb76e6 | ||
|
|
5ee74d7c07 | ||
|
|
1541e20870 | ||
|
|
53709cf509 | ||
|
|
10e32c056e | ||
|
|
8728ad2eff | ||
|
|
5de6c193ff | ||
|
|
1f6e9a1a9e | ||
|
|
26c6908f66 | ||
|
|
08685cc6b0 | ||
|
|
7bdfc998bf | ||
|
|
76a0caf116 | ||
|
|
c57dc82eaa | ||
|
|
f16166c47c | ||
|
|
d82c1f34e0 | ||
|
|
0a72aed3d7 | ||
|
|
856b010a45 | ||
|
|
9d6ddced56 | ||
|
|
36ba158a8b | ||
|
|
140cca7596 | ||
|
|
a5b8d0cd4b | ||
|
|
d149596043 | ||
|
|
cf05f38e54 | ||
|
|
57ebcf94c0 | ||
|
|
826bde0656 | ||
|
|
d84d09556c | ||
|
|
7937a798b7 | ||
|
|
ce8312c744 | ||
|
|
cf4beafb68 | ||
|
|
9a72f147d1 | ||
|
|
f5343c55c3 | ||
|
|
1361abffe5 | ||
|
|
9d2fb782fa | ||
|
|
632147ad88 | ||
|
|
1129222064 | ||
|
|
7cb657c991 | ||
|
|
efb9d184e4 | ||
|
|
44d4ab6f9c | ||
|
|
8f96383186 | ||
|
|
db975bbcc2 | ||
|
|
23249751d5 | ||
|
|
7af883abc1 | ||
|
|
e365a14b5a | ||
|
|
e188855dca | ||
|
|
9aa5c94612 | ||
|
|
ba724204a4 | ||
|
|
8518c772fb | ||
|
|
33e40c12c8 | ||
|
|
19b9412c13 | ||
|
|
23749b57ec | ||
|
|
3959d12a39 | ||
|
|
dd8d4e9e98 | ||
|
|
9247bbcc1d | ||
|
|
01c6de1085 | ||
|
|
6d918ad1c7 | ||
|
|
ff696e0dad | ||
|
|
3dcd1aa05d | ||
|
|
8dfe4fe05f | ||
|
|
65d59405da | ||
|
|
0e2e8fe27f | ||
|
|
7232e38dbe | ||
|
|
f2c282305e | ||
|
|
54b81312b5 | ||
|
|
1336d3e791 | ||
|
|
eb8d7f92c3 | ||
|
|
c998abe54e | ||
|
|
181991ee47 | ||
|
|
c8bcd01a10 | ||
|
|
983e28691b | ||
|
|
29950a6afa | ||
|
|
00b617d17f | ||
|
|
fc0c4295bd | ||
|
|
17773f8414 | ||
|
|
e1af439a6d | ||
|
|
bd52613331 | ||
|
|
3875d26a2f | ||
|
|
db3d16f080 | ||
|
|
bc230dbfc2 | ||
|
|
371c75e76a | ||
|
|
3a32787f15 | ||
|
|
57052e2fba | ||
|
|
2da16ade6c | ||
|
|
68ac62d09c | ||
|
|
5910d10021 | ||
|
|
eba377cdf0 | ||
|
|
10f0434116 | ||
|
|
6d00097c89 | ||
|
|
fc4a16b356 | ||
|
|
d0508d557b | ||
|
|
422191def1 | ||
|
|
620d7109b5 | ||
|
|
332fa77d90 | ||
|
|
c3d539abff | ||
|
|
6abe6462e6 | ||
|
|
505517d142 | ||
|
|
1c43a83a8b | ||
|
|
571d130c3c | ||
|
|
88cd8fface | ||
|
|
87bb971d75 | ||
|
|
65c4a21898 | ||
|
|
9d89e48d15 | ||
|
|
68bc85124b | ||
|
|
456f25d57e | ||
|
|
74f3b98ea9 | ||
|
|
cd09099409 | ||
|
|
d09d036f06 | ||
|
|
b28180d759 | ||
|
|
a0378549b8 | ||
|
|
bdf8c3ddc6 | ||
|
|
35e48f3a27 | ||
|
|
9d285ea232 | ||
|
|
35ebaf7b79 | ||
|
|
16c290f735 | ||
|
|
f88abb9a6f | ||
|
|
0d467972cd | ||
|
|
dd70d68b4c | ||
|
|
eba55d0cf2 | ||
|
|
dad251493a | ||
|
|
ab8f78f29a | ||
|
|
8da328b183 | ||
|
|
3964bd28db | ||
|
|
e637a1e59a | ||
|
|
087e269103 | ||
|
|
b610cc1c6c | ||
|
|
08f21e3fc4 | ||
|
|
108a5ff7cb | ||
|
|
864a8b4b3e | ||
|
|
9d234a8541 | ||
|
|
a983dc7506 | ||
|
|
b77ec22590 | ||
|
|
f4ed3941a7 | ||
|
|
12b2ba64eb | ||
|
|
ca6dd8850a | ||
|
|
262dd1600b | ||
|
|
c9a46ab0cc | ||
|
|
bd731d9213 | ||
|
|
cd63ede35a | ||
|
|
97e829c7de | ||
|
|
7acebd28ca | ||
|
|
712f0b897d | ||
|
|
a7cef1aa15 | ||
|
|
e93a362a0d | ||
|
|
90fa36b46a | ||
|
|
0fe46b53d8 | ||
|
|
14f52f2871 | ||
|
|
be62c2f7f4 | ||
|
|
a345d38320 | ||
|
|
026f38fe06 | ||
|
|
eea90cef56 | ||
|
|
d03cbd88ae | ||
|
|
a7f850dafb | ||
|
|
cc54ba1866 | ||
|
|
3c5bc3fef4 | ||
|
|
246f7b054e | ||
|
|
8772c53723 | ||
|
|
ce18eff133 | ||
|
|
e2c4a14939 | ||
|
|
80759541b4 | ||
|
|
0472ab4690 | ||
|
|
fa28a02d74 | ||
|
|
c3cbd29542 | ||
|
|
90be70be58 | ||
|
|
7eddf43aef | ||
|
|
c9d4ccd40a | ||
|
|
9c657206b3 | ||
|
|
56212508e7 | ||
|
|
de57769d92 | ||
|
|
c8326c1365 | ||
|
|
51eaecdc6b | ||
|
|
98a0959b64 | ||
|
|
e4056b8a1d | ||
|
|
ce9dbfccd7 | ||
|
|
96da2a6a37 | ||
|
|
50bc832532 | ||
|
|
9769e33eab | ||
|
|
5b8a6f1d71 | ||
|
|
eeef78760a | ||
|
|
657972b79b | ||
|
|
745ad8b403 | ||
|
|
564a3b66c2 | ||
|
|
33553f3347 | ||
|
|
c8a41fab11 | ||
|
|
819aa108e9 | ||
|
|
1d9310055e | ||
|
|
e81023c35a | ||
|
|
6078267f86 | ||
|
|
dcca3011ee | ||
|
|
e41a3a2f42 | ||
|
|
5117be4b36 | ||
|
|
0f91c4cfa2 | ||
|
|
65f8405ca4 | ||
|
|
6bf9a72dab | ||
|
|
06201fa9bb | ||
|
|
4e66e134bd | ||
|
|
41d9324600 | ||
|
|
a8f11fec31 | ||
|
|
057d91698f | ||
|
|
794b10ec54 | ||
|
|
0315f45198 | ||
|
|
3f72f9b544 | ||
|
|
96656ff148 | ||
|
|
c44a368213 | ||
|
|
24f8b6386e | ||
|
|
5d6735f364 | ||
|
|
92b20d3595 | ||
|
|
b7ba9df6b4 | ||
|
|
8a46fd376f | ||
|
|
0c6f3a2616 | ||
|
|
f5be9b6244 | ||
|
|
9ed7a3a5c5 | ||
|
|
729c12a8e4 | ||
|
|
4d5aa723d4 | ||
|
|
08186fdff1 | ||
|
|
b216c81c60 | ||
|
|
c37c371392 | ||
|
|
0a23cf029d | ||
|
|
5d9aa40065 | ||
|
|
4b6fb7dd47 | ||
|
|
a4f3792cec | ||
|
|
37433ffee7 | ||
|
|
e64c27e1c3 | ||
|
|
1aca7efce3 | ||
|
|
36accba5c9 | ||
|
|
d1d305e470 | ||
|
|
9b0605f979 | ||
|
|
164fe9fb4a | ||
|
|
aafb074b41 | ||
|
|
f875bcfe09 | ||
|
|
c91b9d613a | ||
|
|
3ebe6eb014 | ||
|
|
3187c096c3 | ||
|
|
1753e980b8 | ||
|
|
5c3923240d | ||
|
|
9c83bdff51 | ||
|
|
b3a6bcd34f | ||
|
|
1d5b8cbb19 | ||
|
|
2ac9099e7d | ||
|
|
6d637bf1e1 | ||
|
|
60176f7f5e | ||
|
|
7d223beae5 | ||
|
|
3359ae93d8 | ||
|
|
04e9f2c988 | ||
|
|
93558d5bbb | ||
|
|
865ecf7a94 | ||
|
|
e8d9e9e697 | ||
|
|
90443e26ac | ||
|
|
5fd4da66cb | ||
|
|
e2e6d4ba14 | ||
|
|
4bb18db905 | ||
|
|
57732d4265 | ||
|
|
90d159fbc3 | ||
|
|
6b12dd4143 | ||
|
|
6170b28c3b | ||
|
|
df2297bca3 | ||
|
|
a865f49d72 | ||
|
|
c54e010126 | ||
|
|
cb9db6e3a8 | ||
|
|
a3aba28c95 | ||
|
|
547f1dd370 | ||
|
|
985301939d | ||
|
|
5305a983c7 | ||
|
|
f923c70f38 | ||
|
|
2637f9af63 | ||
|
|
fd6147578a | ||
|
|
892a38e681 | ||
|
|
592cfb5e93 | ||
|
|
b8b2928dd1 | ||
|
|
5a15dbf545 | ||
|
|
6a2afabcac | ||
|
|
fc22565532 | ||
|
|
829f6520bd | ||
|
|
7af0bda3a5 | ||
|
|
1cbe0e3f2d | ||
|
|
db32f882e8 | ||
|
|
acadef72c1 | ||
|
|
c577d1c51e | ||
|
|
56d78cf12a | ||
|
|
8dc1e1cb33 | ||
|
|
3683461c40 | ||
|
|
b5c88d5817 | ||
|
|
c2fa19a0b4 | ||
|
|
82400ca2a5 | ||
|
|
9971aee835 | ||
|
|
8fb474c687 | ||
|
|
2fda3b1b46 | ||
|
|
f6f4968af6 | ||
|
|
824a601014 | ||
|
|
9ce23ac6b2 | ||
|
|
a4d93424dc | ||
|
|
63292255cc | ||
|
|
139ae3db00 | ||
|
|
6574e54a41 | ||
|
|
17cb441569 | ||
|
|
540e4f3d2e | ||
|
|
e6b4f1eab6 | ||
|
|
33a20ae9a1 | ||
|
|
6e4962bb39 | ||
|
|
6c1e0919c8 | ||
|
|
27e2c69e4e | ||
|
|
0d4eaca3e8 | ||
|
|
08c85a88c8 | ||
|
|
81b964db45 | ||
|
|
5e98d99321 | ||
|
|
749aeeb233 | ||
|
|
4174ebd9c0 | ||
|
|
965eb2d639 | ||
|
|
68415322ec | ||
|
|
0a871546ee | ||
|
|
e8c2085abd | ||
|
|
ea19747bc6 | ||
|
|
2e9cf8d00b | ||
|
|
9513f25a36 | ||
|
|
c7f38c4cf0 | ||
|
|
098582d7a7 | ||
|
|
b3f8a6758e | ||
|
|
804eac55e9 | ||
|
|
7a6edfd61f | ||
|
|
e9b8e81773 | ||
|
|
5a6d3b7c88 | ||
|
|
f66c506011 | ||
|
|
3d3fb17da3 | ||
|
|
c5775cc902 | ||
|
|
2ab17c44e9 | ||
|
|
ce022ab36c | ||
|
|
ee96fb6470 | ||
|
|
e2d7e84072 | ||
|
|
74345c4f21 | ||
|
|
318a783237 | ||
|
|
8c428081ab | ||
|
|
ff8aae1209 | ||
|
|
5b6439ca5e | ||
|
|
37f44f4a07 | ||
|
|
f8fcf7c16b | ||
|
|
e8bf09862f | ||
|
|
9ddd1cf8cd | ||
|
|
c35c15e782 | ||
|
|
91bf759242 | ||
|
|
7df09b6e9e | ||
|
|
bd88806982 | ||
|
|
a0e423f1b8 | ||
|
|
5e9ce734a7 | ||
|
|
1880cb92a4 | ||
|
|
ddaaabfb7a | ||
|
|
521dec7792 | ||
|
|
b6faa6b605 | ||
|
|
14a62442c4 | ||
|
|
b4f638602a | ||
|
|
6057d8aabd | ||
|
|
eabe5ae616 | ||
|
|
8c08b3945b | ||
|
|
b9a91f92ea | ||
|
|
56ae51375d | ||
|
|
30543bda71 | ||
|
|
4f693b86c2 | ||
|
|
af593099df | ||
|
|
d5865dbfcc | ||
|
|
2df54d5da7 | ||
|
|
2de2f1ce4d | ||
|
|
d89d0782c9 | ||
|
|
26dc897042 | ||
|
|
cb4c047aa3 | ||
|
|
d852816101 | ||
|
|
b3757a6f69 | ||
|
|
a29a9e5435 | ||
|
|
66bbc7f54f | ||
|
|
971b97d78f | ||
|
|
b5edfdf6f6 | ||
|
|
a5f6ee5889 | ||
|
|
631aad94e7 | ||
|
|
d905d92434 | ||
|
|
fede7b7a15 | ||
|
|
815a7683a2 | ||
|
|
7a2e28497d | ||
|
|
43836836e4 | ||
|
|
c209d9b45e | ||
|
|
b798535af9 | ||
|
|
7cb10eae2e | ||
|
|
8b555d33e7 | ||
|
|
20c30bade8 | ||
|
|
5c7685c1b8 | ||
|
|
67c6577177 | ||
|
|
cbb7751a15 | ||
|
|
c0c9ac439f | ||
|
|
e5d8267786 | ||
|
|
1ad04bb67a | ||
|
|
98c7814fa3 | ||
|
|
6aa929cbf8 | ||
|
|
7543b63a6e | ||
|
|
6de6782458 | ||
|
|
eda0b4dc37 | ||
|
|
672a07fdac | ||
|
|
c41b59b14c | ||
|
|
bf775855f6 | ||
|
|
5fd341bbd3 | ||
|
|
ef789376e7 | ||
|
|
d20ba5a665 | ||
|
|
861b583668 | ||
|
|
5afc0e33c9 | ||
|
|
8bfa7565bd | ||
|
|
2cc635fd09 | ||
|
|
5c0fba26e2 | ||
|
|
549136efeb | ||
|
|
99a17cadb7 | ||
|
|
8e8efce7d1 | ||
|
|
9db211b1a7 | ||
|
|
d59ee06438 | ||
|
|
eee936b91c | ||
|
|
c010cab47e | ||
|
|
9b0659c50a | ||
|
|
45fda63a20 | ||
|
|
d7c3cc4d18 | ||
|
|
dc3377f0f0 | ||
|
|
556651a3ae | ||
|
|
efb9ee458a | ||
|
|
57e9277376 | ||
|
|
cafc6a3da2 | ||
|
|
0c73cdb129 | ||
|
|
1d6893e928 | ||
|
|
6132843586 | ||
|
|
a848069178 | ||
|
|
a779ce36f3 | ||
|
|
73cd5e144b | ||
|
|
c306e8ebe9 | ||
|
|
e1334f34b6 | ||
|
|
83f9451b43 | ||
|
|
a249f4f35a | ||
|
|
cb4cfbd27d | ||
|
|
90d1b2d349 | ||
|
|
1282494211 | ||
|
|
9c535d6d7e | ||
|
|
0e2c27d795 | ||
|
|
e5f6a64846 | ||
|
|
71a2c20d4b | ||
|
|
a84bc05f01 | ||
|
|
1efee54541 | ||
|
|
8acc5e1486 | ||
|
|
6bcb63c53d | ||
|
|
ff6b5c768d | ||
|
|
dbbebba497 | ||
|
|
8b3c872f2a | ||
|
|
3b1143df91 | ||
|
|
ff3707b650 | ||
|
|
78052e3239 | ||
|
|
a143635f53 | ||
|
|
25823d7b90 | ||
|
|
ff9070ff9c | ||
|
|
9f9ace0565 | ||
|
|
cb94216098 | ||
|
|
414a2366fb | ||
|
|
0e1353733d | ||
|
|
d8a33b46de | ||
|
|
4428e2b18e | ||
|
|
87c8d917e9 | ||
|
|
c888ce08c1 | ||
|
|
7d14cde45e | ||
|
|
d8c262691b | ||
|
|
e9fa5a647d | ||
|
|
cdd2c165ef | ||
|
|
3f862bf43e | ||
|
|
1b55935577 | ||
|
|
3006cf770c | ||
|
|
b58b3a4932 | ||
|
|
c5f73ec12a | ||
|
|
91c594a66a | ||
|
|
041decaf93 | ||
|
|
4bba124c3f | ||
|
|
2576973dc3 | ||
|
|
83e32f96b7 | ||
|
|
c16ed62ada | ||
|
|
8b6de8fe26 | ||
|
|
6ab723e85c | ||
|
|
e9b5a52a4f | ||
|
|
3132877349 | ||
|
|
d3d0617996 | ||
|
|
3b050c3452 | ||
|
|
fc1d8a2c5b | ||
|
|
99ccfee9ed | ||
|
|
d023afb66f | ||
|
|
188ed6984f | ||
|
|
08aa3eac00 | ||
|
|
9ef5f26624 | ||
|
|
d80709a7b9 | ||
|
|
758d91b4a3 | ||
|
|
726e0ceff0 | ||
|
|
80714d8d6d | ||
|
|
244ee05a9c | ||
|
|
4f73d26f6a | ||
|
|
413fc95f9a | ||
|
|
62622a2065 | ||
|
|
1a52eb5ffa | ||
|
|
099fcd7e4e | ||
|
|
33964c659e | ||
|
|
d637bbd7e9 | ||
|
|
c63a124d1c | ||
|
|
2f98d8035c | ||
|
|
19a5caf212 | ||
|
|
2be157c91f | ||
|
|
8dfe39258b | ||
|
|
76fb64e8fe | ||
|
|
dd70bee773 | ||
|
|
e431b5aacb | ||
|
|
35448e3307 | ||
|
|
9a754625bd | ||
|
|
ae2b61d5ef | ||
|
|
9b6b1e055c | ||
|
|
86e853f27d | ||
|
|
2acf2353a3 | ||
|
|
5aba1f9ccd | ||
|
|
0e684abceb | ||
|
|
a55d23f363 | ||
|
|
12b3b72fe3 | ||
|
|
640cf50b7f | ||
|
|
755de9fff2 | ||
|
|
a0fe2a8abc | ||
|
|
560d401cff | ||
|
|
a81b3a0d61 | ||
|
|
0917b37bb9 | ||
|
|
b2d790b46a | ||
|
|
d69ce5b917 | ||
|
|
a8cdecf1b8 | ||
|
|
6b61545189 | ||
|
|
2baeec1537 | ||
|
|
7195a6880f | ||
|
|
a109dd8948 | ||
|
|
c4f8e81d5d | ||
|
|
1cd0f71c09 | ||
|
|
33a0cf078c | ||
|
|
440f923b01 | ||
|
|
8b9287055e | ||
|
|
1d5182adf0 | ||
|
|
871691bf69 | ||
|
|
fb14f7c0b8 | ||
|
|
60ab32c7fb | ||
|
|
d3cbcedce3 | ||
|
|
fd5948f716 | ||
|
|
727751e0c1 | ||
|
|
0fa7134bd1 | ||
|
|
ea47a55144 | ||
|
|
1cf86931b3 | ||
|
|
11100b3017 | ||
|
|
7e30812529 | ||
|
|
2b9ce6995f | ||
|
|
33d7998a96 | ||
|
|
e5ef455628 | ||
|
|
77f213832e | ||
|
|
080ffa6a51 | ||
|
|
f17474a8de | ||
|
|
788ef257a9 | ||
|
|
fe7be8362f | ||
|
|
a3fd6f07e9 | ||
|
|
243b227c33 | ||
|
|
24c926b32f | ||
|
|
8ca639b79f | ||
|
|
1b7d194e18 | ||
|
|
1aa7e4adeb | ||
|
|
0dc182553e | ||
|
|
2a31ca969f | ||
|
|
8918299364 | ||
|
|
42e45d4a7a | ||
|
|
93323f6d61 | ||
|
|
8f1617884a | ||
|
|
679948e207 | ||
|
|
654cf2d990 | ||
|
|
9e50a06f2b | ||
|
|
a955df21bf | ||
|
|
170814c718 | ||
|
|
7f21332533 | ||
|
|
17306bc715 | ||
|
|
d3bc6aadec | ||
|
|
7372a18283 | ||
|
|
33b138b5ba | ||
|
|
99066eaf5c | ||
|
|
4f2c6e2901 | ||
|
|
fead1b7e86 | ||
|
|
35d74035be | ||
|
|
142800f951 | ||
|
|
2be2cdaadf | ||
|
|
cf324f75d7 | ||
|
|
f9ae8acbc7 | ||
|
|
99b977a08e | ||
|
|
5164a96aa0 | ||
|
|
e8ba4de832 | ||
|
|
ca557cfacd | ||
|
|
e44b14364a | ||
|
|
19ee163f31 | ||
|
|
50b5226d10 | ||
|
|
4b9bb824d0 | ||
|
|
92a4314779 | ||
|
|
6f15683709 | ||
|
|
2f932330d3 | ||
|
|
7161ca9e70 | ||
|
|
58e33c59f4 | ||
|
|
5709216427 | ||
|
|
ca6899c138 | ||
|
|
1960c712df | ||
|
|
bb22f2ccaf | ||
|
|
d892d8c3c7 | ||
|
|
e190b010d3 | ||
|
|
8ad5dc81de | ||
|
|
f462f68056 | ||
|
|
fd4dab495f | ||
|
|
d46eb08083 | ||
|
|
a8d15fafd2 | ||
|
|
65edc377c3 | ||
|
|
40d19e6c36 | ||
|
|
79da047802 | ||
|
|
1ec763fc14 | ||
|
|
c6c697cb43 | ||
|
|
9e04217e35 | ||
|
|
a336e45098 | ||
|
|
0e2b7d8b3c | ||
|
|
c3326a0963 | ||
|
|
49a1268ba1 | ||
|
|
26791714ce | ||
|
|
d2af03856c | ||
|
|
3abceadb86 | ||
|
|
739695c442 | ||
|
|
360a85cbbc | ||
|
|
60d8fb4719 | ||
|
|
7d1d588225 | ||
|
|
8658f903fa | ||
|
|
77c335c5f3 | ||
|
|
f273273129 | ||
|
|
33f8c53cca | ||
|
|
8c87050703 | ||
|
|
ba86448bce | ||
|
|
31790e255c | ||
|
|
a61c07a205 | ||
|
|
22b2247442 | ||
|
|
f10c69680c | ||
|
|
c97fcaec87 | ||
|
|
b5db5f7474 | ||
|
|
f79dec80e6 | ||
|
|
73dfa7d44a | ||
|
|
768e143188 | ||
|
|
b04cc22350 | ||
|
|
f0d787debb | ||
|
|
6bbc25e8c3 | ||
|
|
27542ed8ed | ||
|
|
36d6b472ce | ||
|
|
10ac74162e | ||
|
|
1c32f44814 | ||
|
|
cb2c1f3ece | ||
|
|
17bd362d3c | ||
|
|
9ca2e98a66 | ||
|
|
b80bd8d1f8 | ||
|
|
7a93c11ae0 | ||
|
|
943f1022c0 | ||
|
|
5f9b53004b | ||
|
|
56c32e3c81 | ||
|
|
4f79fdb4ab | ||
|
|
7886a6e838 | ||
|
|
04c233c229 | ||
|
|
35b3d4f40a | ||
|
|
ac34fce015 | ||
|
|
4fc57d096e | ||
|
|
57b3b3db3a | ||
|
|
2592344601 | ||
|
|
b3d49c4dce | ||
|
|
4fcd3fe493 | ||
|
|
ad4a8eac52 | ||
|
|
bcf4f65cc9 | ||
|
|
7360fcd03e | ||
|
|
89854ea137 | ||
|
|
75b8794d72 | ||
|
|
51128c1d55 | ||
|
|
34e7943d09 | ||
|
|
4e72543fde | ||
|
|
111d6aa621 | ||
|
|
996e01fe6a | ||
|
|
485fe0fc62 | ||
|
|
617c9f7ea9 | ||
|
|
7c77a0d84b | ||
|
|
ee9c938ea2 | ||
|
|
669205af1c | ||
|
|
f871ade545 | ||
|
|
7ad70c7c21 | ||
|
|
d1c66059cd | ||
|
|
12b15a3d90 | ||
|
|
3770eef8dc | ||
|
|
c1b6e58bbd | ||
|
|
49db52134b | ||
|
|
e0b737b622 | ||
|
|
c69821794e | ||
|
|
aeda250df4 | ||
|
|
283d4742f4 | ||
|
|
bc7cb4a148 | ||
|
|
46bb49c490 | ||
|
|
628257d771 | ||
|
|
223205cf9d | ||
|
|
d22646e6ae | ||
|
|
2c9e490853 | ||
|
|
ddf82f3e7a | ||
|
|
b9461322d9 | ||
|
|
575bb7d420 | ||
|
|
5218550014 | ||
|
|
7685ed8295 | ||
|
|
94d57cd462 | ||
|
|
c752bfe1a6 | ||
|
|
d712e1e6d4 | ||
|
|
7a5a6a14f0 | ||
|
|
0a24298385 | ||
|
|
ac30348081 | ||
|
|
df48704154 | ||
|
|
8a7f7b3551 | ||
|
|
a1428c963b | ||
|
|
c8eaa4743c | ||
|
|
ac29db92cb | ||
|
|
35766fb5bf | ||
|
|
068587fcee | ||
|
|
af4f473c93 | ||
|
|
0ad6ee209a | ||
|
|
b324425db8 | ||
|
|
0fd865d8af | ||
|
|
17d5bb5cd4 | ||
|
|
589da1d4b9 | ||
|
|
bc1dc1e9f0 | ||
|
|
8d64485705 | ||
|
|
a2dca42965 | ||
|
|
4918b41384 | ||
|
|
662fe4c358 | ||
|
|
1c4876b417 | ||
|
|
3caf65ce6f | ||
|
|
5ec351911d | ||
|
|
fde7c4ffb3 | ||
|
|
627d09d75e | ||
|
|
7870a33fd3 | ||
|
|
9ee37153f7 | ||
|
|
560194c3b9 | ||
|
|
4f762cf73d | ||
|
|
0046bfc53f | ||
|
|
58eaef37d2 | ||
|
|
d45fe6c17f | ||
|
|
d3a2aa664f | ||
|
|
df17c2f26a | ||
|
|
c6b2ee57ca | ||
|
|
5ed2bbb204 | ||
|
|
4a5cdd0092 | ||
|
|
ac3c129735 | ||
|
|
26f07992a9 | ||
|
|
6de24e0c2e | ||
|
|
4da4499569 | ||
|
|
b043442b91 | ||
|
|
22c2cfd9ec | ||
|
|
dfa161ca30 | ||
|
|
3ccc9d3e57 | ||
|
|
bd780a8c51 | ||
|
|
f91226a9f0 | ||
|
|
168e35a035 | ||
|
|
16e3baeff2 | ||
|
|
551256b779 | ||
|
|
c9371e9eb0 | ||
|
|
a734e1caa7 | ||
|
|
3f1c00dcb2 | ||
|
|
9b1dbf8d2a | ||
|
|
d17ecbeccd | ||
|
|
7eec1155a0 | ||
|
|
faa33f2d3c | ||
|
|
817de18a5d | ||
|
|
14ea3a1697 | ||
|
|
53208e620e | ||
|
|
6042b8df4e | ||
|
|
69ea0ea791 | ||
|
|
c7d886c918 | ||
|
|
890f7a0602 | ||
|
|
5822fcfbed | ||
|
|
9cb5673c36 | ||
|
|
c5278197fb | ||
|
|
e7dbc8407f | ||
|
|
fbc911aea1 | ||
|
|
3c84962891 | ||
|
|
6c75997b27 | ||
|
|
f7228d96af | ||
|
|
823e399d8d | ||
|
|
4ae121d870 | ||
|
|
6ce006f853 | ||
|
|
217aa9c420 | ||
|
|
8ac3d5f9bf | ||
|
|
7fdc63faa6 | ||
|
|
556888d55c | ||
|
|
5e1cd459b1 | ||
|
|
b9192744cc | ||
|
|
30681f9179 | ||
|
|
f101b3e43d | ||
|
|
dff5b13700 | ||
|
|
44c5988853 | ||
|
|
2425cf82d3 | ||
|
|
0c37d31e04 | ||
|
|
0764cb2abd | ||
|
|
777ae9af9b | ||
|
|
02158928cc | ||
|
|
dd46ca9c3c | ||
|
|
2907df8253 | ||
|
|
ad05451427 | ||
|
|
b16af0a7c3 | ||
|
|
2db08c8e0d | ||
|
|
73df033000 | ||
|
|
fb27c98f9c | ||
|
|
8458025e1d | ||
|
|
4a5c7d299f | ||
|
|
59abed9153 | ||
|
|
18d4840f85 | ||
|
|
c529a92b92 | ||
|
|
bf27c56fa7 | ||
|
|
0a078da8e4 | ||
|
|
617c930574 | ||
|
|
2f11f4e104 | ||
|
|
a017943083 | ||
|
|
047785b273 | ||
|
|
4689d42afd | ||
|
|
6080e5335f | ||
|
|
9380ea4bc5 | ||
|
|
a5328f4230 | ||
|
|
6bb598498e | ||
|
|
4b7c8a0d1d | ||
|
|
e505586926 | ||
|
|
1f483d7c28 | ||
|
|
3ce7a23c70 | ||
|
|
a39ff26def | ||
|
|
bae05bbe7d | ||
|
|
f25a6b2e67 | ||
|
|
400acf9f65 | ||
|
|
2cdbfa2048 | ||
|
|
72160deef7 | ||
|
|
ad922bfde6 | ||
|
|
49ccf2a3cb | ||
|
|
45f834cb15 | ||
|
|
63a03cdad6 | ||
|
|
41b938047d | ||
|
|
9113ecedfa | ||
|
|
623cb54480 | ||
|
|
a4d2927f82 | ||
|
|
d9ca9fe22d | ||
|
|
2deb1e6107 | ||
|
|
61cb99117a | ||
|
|
5504e3b236 | ||
|
|
1a02504792 | ||
|
|
f51b02026c | ||
|
|
840ca73464 | ||
|
|
f5a156ee06 | ||
|
|
1b5bcaccc6 | ||
|
|
ec0c8e0c79 | ||
|
|
263b679af4 | ||
|
|
925669ee33 | ||
|
|
f22017080d | ||
|
|
d7ac505cd0 | ||
|
|
e79a061c19 | ||
|
|
ee4a827627 | ||
|
|
d7225327e7 | ||
|
|
2a386b6fea | ||
|
|
91cf5de54d | ||
|
|
980cb095da | ||
|
|
5e2962ef38 | ||
|
|
b1b7a7c725 | ||
|
|
89dcbfae82 | ||
|
|
c3f0f3cc4a | ||
|
|
20c00d0c43 | ||
|
|
a4af2e94a9 | ||
|
|
f02a35d398 | ||
|
|
6363a6cd60 | ||
|
|
47dfe633f9 | ||
|
|
866934e6c5 | ||
|
|
a33d34a165 | ||
|
|
027c5582c3 | ||
|
|
5943e784ec | ||
|
|
00b49dba18 | ||
|
|
ffc961599c | ||
|
|
da4f3fab14 | ||
|
|
7806bdabb3 | ||
|
|
214cd2c99b | ||
|
|
43fd659d2a | ||
|
|
12289ceb9e | ||
|
|
e57cd74f22 | ||
|
|
f18a13b2d4 | ||
|
|
78a52eda96 | ||
|
|
50ede5224a | ||
|
|
c58d3d0cf7 | ||
|
|
ca66df2a7b | ||
|
|
3ee618d736 | ||
|
|
2c2142ddba | ||
|
|
adeddc70ca | ||
|
|
3f839c2a96 | ||
|
|
fd1f5bbe01 | ||
|
|
5694a19c6a | ||
|
|
1b82b6af4d | ||
|
|
9dfc08d2bd | ||
|
|
ec0da6921a | ||
|
|
6bc0630c5f | ||
|
|
baa86d773b | ||
|
|
b80d135fcb | ||
|
|
02ef5ad3b9 | ||
|
|
b6db71e5e6 | ||
|
|
b02c734c69 | ||
|
|
d21f51a35e | ||
|
|
309691f1e7 | ||
|
|
680ae60b6f | ||
|
|
7080c8491d | ||
|
|
bedfb7ac8d | ||
|
|
50da1cd95e | ||
|
|
cf4ea4168d | ||
|
|
377c44eeab | ||
|
|
53a76dc01f | ||
|
|
edbf4dc375 | ||
|
|
0e25843baa | ||
|
|
c9a73cc380 | ||
|
|
62420c5e7b | ||
|
|
e0e4da481a | ||
|
|
d9aa83e699 | ||
|
|
15bbba3f52 | ||
|
|
e811a9b13e | ||
|
|
b4581b6af8 | ||
|
|
594d9e321e | ||
|
|
a17c391efe | ||
|
|
cfcac7e053 | ||
|
|
a826e328c1 | ||
|
|
31f1ab73b1 | ||
|
|
72505b2ad4 | ||
|
|
10a3786bab | ||
|
|
c8936f9919 | ||
|
|
3369379ba1 | ||
|
|
34dd486b6c | ||
|
|
0f435f9901 | ||
|
|
a9117fe864 | ||
|
|
1795ec6a9d | ||
|
|
8ce929d509 | ||
|
|
c2ad40043f | ||
|
|
648efbc0cb | ||
|
|
ca93f732c8 | ||
|
|
b9e6b188bc | ||
|
|
10a8ce82a9 | ||
|
|
5a52534675 | ||
|
|
37749e8e9c | ||
|
|
88df2ef36d | ||
|
|
9775728b7d | ||
|
|
a232a19e7d | ||
|
|
732f236c32 | ||
|
|
d521ad6db4 | ||
|
|
46a31f443d | ||
|
|
56db7d6c64 | ||
|
|
509819c119 | ||
|
|
93a97492ae | ||
|
|
0a9293c9c6 | ||
|
|
a96c193ab0 | ||
|
|
be79791561 | ||
|
|
7605cb1871 | ||
|
|
70790009a9 | ||
|
|
c9e62845e8 | ||
|
|
d9074e70e1 | ||
|
|
e23a289553 | ||
|
|
b0641e6d69 | ||
|
|
a5e195d1c7 | ||
|
|
13dfa56c2f | ||
|
|
d4fd71d0b3 | ||
|
|
529dfb8dfb | ||
|
|
b09a618f38 | ||
|
|
a2d242356a | ||
|
|
f2fafe04b6 | ||
|
|
fb3d18f962 | ||
|
|
6bba249935 | ||
|
|
e7992131ec | ||
|
|
6277422115 | ||
|
|
a9a519e890 | ||
|
|
4eddcb7503 | ||
|
|
3d68ab4059 | ||
|
|
75290d1bd4 | ||
|
|
c3a02d0391 | ||
|
|
b9aee876e9 | ||
|
|
32d823c739 | ||
|
|
b9cbd84d4e | ||
|
|
4a3ffbb6d4 | ||
|
|
d283e8f649 | ||
|
|
1691fcedfb | ||
|
|
d3b6ada4eb | ||
|
|
f1f1f2b9c8 | ||
|
|
496d429dcd | ||
|
|
57702a1fb1 | ||
|
|
d40dea8084 | ||
|
|
bf7d5b56fb | ||
|
|
0b9783b7ed | ||
|
|
efd5924bdc | ||
|
|
231a866838 | ||
|
|
06bec1bff0 | ||
|
|
3b7b4312cb | ||
|
|
c7784076c5 | ||
|
|
e854cce158 | ||
|
|
3bf12ca193 | ||
|
|
74ae9a2618 | ||
|
|
84105e996a | ||
|
|
04f8de4188 | ||
|
|
b0d20f92dc | ||
|
|
e247b2de61 | ||
|
|
6933b7ec9c | ||
|
|
989074f13a | ||
|
|
496150d747 | ||
|
|
8d3ebad52b | ||
|
|
a68ba1704b | ||
|
|
63415e9728 | ||
|
|
ca16606b4f | ||
|
|
dd1904c521 | ||
|
|
f217959740 | ||
|
|
ca0dcb4db0 | ||
|
|
5ed7b43214 | ||
|
|
9e48920e1d | ||
|
|
ae16b45a5b | ||
|
|
08afb586f8 | ||
|
|
f7e5079e4e | ||
|
|
71ab4c4a70 | ||
|
|
78cf3c24c1 | ||
|
|
af2bd76500 | ||
|
|
69660d1a9d | ||
|
|
331db5e367 | ||
|
|
26a2fea8c7 | ||
|
|
e9c101349b | ||
|
|
3840d6c0a7 | ||
|
|
272b98faab | ||
|
|
711339945c | ||
|
|
88714cfb18 | ||
|
|
cee28d0253 | ||
|
|
cdc9d3dd1b | ||
|
|
8d08290f21 | ||
|
|
0fa139f4e3 | ||
|
|
4d134ade72 | ||
|
|
ea3f9e5e64 | ||
|
|
2625b94c83 | ||
|
|
2f5a2d0e28 | ||
|
|
f15ee475f1 | ||
|
|
f5f2ea57e3 | ||
|
|
a2efdee865 | ||
|
|
2f89d526eb | ||
|
|
aaad3c3b75 | ||
|
|
4e16db1e5f | ||
|
|
3f78d8fe25 | ||
|
|
676d70d86d | ||
|
|
e558dc3f27 | ||
|
|
c16cd91d8e | ||
|
|
259737f082 | ||
|
|
29414251f5 | ||
|
|
a6dcf5f1c1 | ||
|
|
628978be53 | ||
|
|
43c167f0c8 | ||
|
|
6c1700d84a | ||
|
|
1b5a0ce3bf | ||
|
|
57b7666bf1 | ||
|
|
e388123a3a | ||
|
|
4a7df01339 | ||
|
|
0b82860582 | ||
|
|
5c9ad3ec9b | ||
|
|
5ff7e37696 | ||
|
|
b6b2553501 | ||
|
|
10ce4029d7 | ||
|
|
9c49123a1f | ||
|
|
fcbc48fa28 | ||
|
|
0dcd85485a | ||
|
|
7a9332815c | ||
|
|
f92f8d0fc4 | ||
|
|
d38c557fba | ||
|
|
019a825bf4 | ||
|
|
93af72c272 | ||
|
|
5a93628611 | ||
|
|
80ec1ad69f | ||
|
|
905f676c71 | ||
|
|
dd8b5ce023 | ||
|
|
693a8430a5 | ||
|
|
0fc6e9b84f | ||
|
|
fcfe5423f4 | ||
|
|
6d7f5ef0a8 | ||
|
|
438e884c01 | ||
|
|
c4ef21a8f2 | ||
|
|
3ca379c9e6 | ||
|
|
83bb3bdb00 | ||
|
|
dc562be441 | ||
|
|
f8065eb4ed | ||
|
|
74c452678a | ||
|
|
4decf20aaa | ||
|
|
5d3168c2a0 | ||
|
|
37c9afebd9 | ||
|
|
8740778aa8 | ||
|
|
f09aea90df | ||
|
|
56a9f5c48b | ||
|
|
0b2aa2b01d | ||
|
|
07556e061d | ||
|
|
19c0738b14 | ||
|
|
f453e43cca | ||
|
|
142a27d472 | ||
|
|
5d8b9056b4 | ||
|
|
ca52b5755f | ||
|
|
55e3f8365e | ||
|
|
6928b6543c | ||
|
|
bc457ebb66 | ||
|
|
23c4cfe913 | ||
|
|
3182537566 | ||
|
|
09558d0ce9 | ||
|
|
40acd8a386 | ||
|
|
907a1b56e6 | ||
|
|
33d7e766b6 | ||
|
|
1344874e43 | ||
|
|
e1d117b52d | ||
|
|
06a73539fe | ||
|
|
afc6155783 | ||
|
|
06d31e8b9a | ||
|
|
4c6b0ed5b5 | ||
|
|
701b83db38 | ||
|
|
b2288ad2d9 | ||
|
|
a891211f78 | ||
|
|
c40ec37b60 | ||
|
|
c3ba8f7843 | ||
|
|
18b20a5587 | ||
|
|
d0698735d6 | ||
|
|
0d9d9498e2 | ||
|
|
a4fb16b4f3 | ||
|
|
76fc8330a3 | ||
|
|
1c523abbd8 | ||
|
|
5ea3f09e17 | ||
|
|
709542e27d | ||
|
|
990af9d5cf | ||
|
|
ae857e7008 | ||
|
|
ec13d3811e | ||
|
|
d44952011f | ||
|
|
0bdd1c0c17 | ||
|
|
134369ada9 | ||
|
|
29a45c46d5 | ||
|
|
e41afeacf4 | ||
|
|
8fc9b78b47 | ||
|
|
04329c38b3 | ||
|
|
05a2fc6186 | ||
|
|
358f8357f9 | ||
|
|
0cccaa7271 | ||
|
|
7944c21fe5 | ||
|
|
59d5391c2a | ||
|
|
b517050e17 | ||
|
|
c3ac446cf2 | ||
|
|
5c34b26f39 | ||
|
|
4a60725f6c | ||
|
|
87d9dfa009 | ||
|
|
5a0622c906 | ||
|
|
6bd6b285fd | ||
|
|
23accef5c2 | ||
|
|
86ce4315be | ||
|
|
e7e05f47ac | ||
|
|
ca6e57b2f7 | ||
|
|
5dee3b5b2f | ||
|
|
92e231e121 | ||
|
|
10d3405219 | ||
|
|
a2db403abe | ||
|
|
2e7f588cac | ||
|
|
2e609d448c | ||
|
|
e21b3f6681 | ||
|
|
9bd5ed627f | ||
|
|
bb92e64e43 | ||
|
|
b0a15f958f | ||
|
|
c17bc8b3c8 | ||
|
|
162da37f1a | ||
|
|
134a47a93f | ||
|
|
ffb3d810de | ||
|
|
4c0e1d20d6 | ||
|
|
f8bd7946a5 | ||
|
|
e4e5ca3934 | ||
|
|
84b2929604 | ||
|
|
eb0c76f613 | ||
|
|
723a263cd3 | ||
|
|
68286199eb | ||
|
|
c25463a4ba | ||
|
|
173ad057f9 | ||
|
|
4d622316a8 | ||
|
|
215085e0e6 | ||
|
|
7ddf85cd33 | ||
|
|
a5d1f1f68f | ||
|
|
ad63434f3e | ||
|
|
e52d71a880 | ||
|
|
00fce1d18a | ||
|
|
57951e1285 | ||
|
|
c6bdd27d4c | ||
|
|
593f3b81e5 | ||
|
|
e95361fed4 | ||
|
|
dda5775dd6 | ||
|
|
84a096e234 | ||
|
|
243f59b9e9 | ||
|
|
9b3f13458f | ||
|
|
9268955256 | ||
|
|
0adf267f66 | ||
|
|
05d82a0684 | ||
|
|
ff621cb146 | ||
|
|
9da4946955 | ||
|
|
0944e8b156 | ||
|
|
8115acbf82 | ||
|
|
d765b03bd1 | ||
|
|
f819509442 | ||
|
|
74eac1d06a | ||
|
|
38d53cc03d | ||
|
|
49f8a6e733 | ||
|
|
4fa6d86127 | ||
|
|
03557b69c2 | ||
|
|
7a183ea026 | ||
|
|
b44d6744f9 | ||
|
|
7eb003c684 | ||
|
|
7a53e191a9 | ||
|
|
e32b99fb21 | ||
|
|
b1b88676b0 | ||
|
|
6685cc5bc8 | ||
|
|
9b7691c8d2 | ||
|
|
bf28201685 | ||
|
|
015e1a8dab | ||
|
|
b6af947042 | ||
|
|
065ace5301 | ||
|
|
76315fa6ac | ||
|
|
dd87362ce3 | ||
|
|
646d5cc9c8 | ||
|
|
881a9b7c04 | ||
|
|
bd5e35c15f | ||
|
|
142ce7c03f | ||
|
|
eba4d44c81 | ||
|
|
95c25bc1b7 | ||
|
|
fbb162aa9b | ||
|
|
b4d2bf98fa | ||
|
|
6b36502e1e | ||
|
|
fbd4323dd8 | ||
|
|
3556004f02 | ||
|
|
d4a502629e | ||
|
|
d21bda604d | ||
|
|
e685a96716 | ||
|
|
e3beec3e1f | ||
|
|
c63d54631c | ||
|
|
5952ae28b8 | ||
|
|
487d26c7db | ||
|
|
68b6fdb508 | ||
|
|
0245eb102c | ||
|
|
69d73ac528 | ||
|
|
8bfa6df1a6 | ||
|
|
6e1702c1a5 | ||
|
|
86a31d17a5 | ||
|
|
5a6f459db5 | ||
|
|
a76d4daff8 | ||
|
|
657e6a2037 | ||
|
|
4c0785e996 | ||
|
|
03e8a0737c | ||
|
|
65ceaac42e | ||
|
|
d5acc85ef0 | ||
|
|
6851e24c3b | ||
|
|
fe0b1c5ee4 | ||
|
|
52f20a1047 | ||
|
|
39a422ef94 | ||
|
|
056a503200 | ||
|
|
2b393d04e1 | ||
|
|
d35c7ed49b | ||
|
|
9e8ed3bf54 | ||
|
|
48323059e8 | ||
|
|
04be66eab7 | ||
|
|
f385e02c53 | ||
|
|
d784c621c9 | ||
|
|
990217fcb0 | ||
|
|
7ce1d36b59 | ||
|
|
f22398a9d3 | ||
|
|
355d62e7db | ||
|
|
3eb23d3325 | ||
|
|
4e6b7289f2 | ||
|
|
b1735b0f80 | ||
|
|
c4d8a25c5a | ||
|
|
f014365b65 | ||
|
|
10df9777b5 | ||
|
|
6e01ffd5ac | ||
|
|
dde83c8fcc | ||
|
|
deabfcf403 | ||
|
|
537b58b446 | ||
|
|
b5749af5b4 | ||
|
|
4855b49698 | ||
|
|
030df58fea | ||
|
|
795754273e | ||
|
|
bd5c4603e3 | ||
|
|
e69616110d | ||
|
|
0dda5ca4d6 | ||
|
|
00804c1020 | ||
|
|
dec0e418e3 | ||
|
|
dd773d33fd | ||
|
|
ada7b74ba1 | ||
|
|
5482a3134a | ||
|
|
ac48576b88 | ||
|
|
7e629d7ef4 | ||
|
|
71a6cf1207 | ||
|
|
f132f272f2 | ||
|
|
4376ca4c94 | ||
|
|
47cf447310 | ||
|
|
68a3716fd2 | ||
|
|
2cdb17a110 | ||
|
|
ed6acfa1e7 | ||
|
|
c52c4229c5 | ||
|
|
284378232b | ||
|
|
921be56379 | ||
|
|
022fb23cee | ||
|
|
16828b8cec | ||
|
|
edd19419ad | ||
|
|
61e194bb6d | ||
|
|
582ae36e6c | ||
|
|
c2b03e49e1 | ||
|
|
dcec2516ae | ||
|
|
c6ee80eefd | ||
|
|
46cafcc445 | ||
|
|
3e6ae9bebf | ||
|
|
53acd8cffd | ||
|
|
215242a4a1 | ||
|
|
da59bb811f | ||
|
|
37f1b27bd2 | ||
|
|
01babc452c | ||
|
|
5b0d04609c | ||
|
|
b40177a8c8 | ||
|
|
fbcf95ba02 | ||
|
|
641d9a6565 | ||
|
|
ce960c8d0d | ||
|
|
0b7aec1fa0 | ||
|
|
73ea5b0e2d | ||
|
|
12b9a73ca5 | ||
|
|
4785e84c43 | ||
|
|
2fd430bd2c | ||
|
|
ef0f7cfa6f | ||
|
|
375fe3f3e8 | ||
|
|
9cb5735165 | ||
|
|
c8bff3a71e | ||
|
|
1cf3422e05 | ||
|
|
24a9a5ac2d | ||
|
|
fb5b29a32b | ||
|
|
76624122dd | ||
|
|
0884678264 | ||
|
|
eefa2bcaba | ||
|
|
9d4e672475 | ||
|
|
a3f7cbd63d | ||
|
|
70d68669d2 | ||
|
|
587ca48312 | ||
|
|
8d88217434 | ||
|
|
70ad2fcee0 | ||
|
|
7a077a2d99 | ||
|
|
1a62a36b86 | ||
|
|
7b6ef7aca8 | ||
|
|
20a11b0f46 | ||
|
|
5d20f47473 | ||
|
|
e16fd45972 | ||
|
|
11f14b8fe5 | ||
|
|
9a5d0ab0a2 | ||
|
|
30560397e4 | ||
|
|
241a97fd19 | ||
|
|
83a9be2428 | ||
|
|
3c85d27e1f | ||
|
|
39a5583930 | ||
|
|
4587031481 | ||
|
|
bd8e8a4087 | ||
|
|
b0cafd47a0 | ||
|
|
f11accf4c2 | ||
|
|
085fe5f7ba | ||
|
|
2076d18825 | ||
|
|
08167b959c | ||
|
|
2aaae47aef | ||
|
|
13202dfc7c | ||
|
|
0e03578e91 | ||
|
|
96581ef1f4 | ||
|
|
81467e1d09 | ||
|
|
f62717a16a | ||
|
|
778a856adb | ||
|
|
2d192431bc | ||
|
|
b6a3938921 | ||
|
|
8c34acbf55 | ||
|
|
defbd26f95 | ||
|
|
c2bb0431f0 | ||
|
|
576363f353 | ||
|
|
d59bcd3f5b | ||
|
|
bbfca90260 | ||
|
|
55f3a8b4f8 | ||
|
|
9926eac192 | ||
|
|
e64b8eaf40 | ||
|
|
72b2fb442b | ||
|
|
63b15dd1b6 | ||
|
|
b026896a98 | ||
|
|
c35a103694 | ||
|
|
66d4b7372e | ||
|
|
ecfdb4bbac | ||
|
|
5e6254634f | ||
|
|
1edfa4a4fb | ||
|
|
b57ec55812 | ||
|
|
608656ae89 | ||
|
|
9aa9852e85 | ||
|
|
8c4b4e233d | ||
|
|
91db3b9344 | ||
|
|
817912ea40 | ||
|
|
328a25abea | ||
|
|
3bfd7644a4 | ||
|
|
0b46fcb4f8 | ||
|
|
0d71cd4279 | ||
|
|
f80b54e573 | ||
|
|
d4e21538db | ||
|
|
255dc71823 | ||
|
|
448cd1cd36 | ||
|
|
9a9eef428b | ||
|
|
e7fedd5c2d | ||
|
|
0bf678e09e | ||
|
|
618c85ceb1 | ||
|
|
8b879ee23b | ||
|
|
54410189bc | ||
|
|
3eb8796b0d | ||
|
|
9dc904f0a5 | ||
|
|
491f72accc | ||
|
|
d08b3513dc | ||
|
|
6a5427ee4f | ||
|
|
3d79950c27 | ||
|
|
2c12a761ee | ||
|
|
8045cff888 | ||
|
|
930ae84dac | ||
|
|
ab4b1b1f29 | ||
|
|
4a291f181f | ||
|
|
c93a4c7fc0 | ||
|
|
566f683c54 | ||
|
|
eaef99b7af | ||
|
|
f2390e85b9 | ||
|
|
454a804b4e | ||
|
|
878b268a5e | ||
|
|
377e331e6a | ||
|
|
6bd450dcd0 | ||
|
|
3c6eb5e0e2 | ||
|
|
b3b3042afc | ||
|
|
d9191c74d8 | ||
|
|
cb8c8a1d50 | ||
|
|
d2e730f8e5 | ||
|
|
85c5f423b1 | ||
|
|
391fcc799b | ||
|
|
44cfb77622 | ||
|
|
41483df689 | ||
|
|
c4b3781df0 | ||
|
|
8ee5b16e89 | ||
|
|
d214dbb5fd | ||
|
|
b480fb2dfc | ||
|
|
9f0c3b0db1 | ||
|
|
45eca85bae | ||
|
|
d46d34915e | ||
|
|
4e4f0a4575 | ||
|
|
98064f7329 | ||
|
|
ee55b82a8d | ||
|
|
8c06e3577d | ||
|
|
25994e61bc | ||
|
|
6d8060bc50 | ||
|
|
19b550009b | ||
|
|
9798bb1b30 | ||
|
|
0011e09248 | ||
|
|
26c253113b | ||
|
|
714481f7e5 | ||
|
|
d945ef67e1 | ||
|
|
353e99c26a | ||
|
|
cdf7261c7e | ||
|
|
378c45fe5c | ||
|
|
93348630bf | ||
|
|
dd86c21382 | ||
|
|
573feed66f | ||
|
|
c48a294a2b | ||
|
|
e3126ec999 | ||
|
|
1bd00ac775 | ||
|
|
960416f9bf | ||
|
|
b82b6736d1 | ||
|
|
6d4b113c72 | ||
|
|
d6f1a897f6 | ||
|
|
f68be08c67 | ||
|
|
a6e728a4d8 | ||
|
|
4e4e737ff2 | ||
|
|
fb1c226e56 | ||
|
|
cd5982e45f | ||
|
|
ff4ec934e9 | ||
|
|
943e7c988f | ||
|
|
c699d71abc | ||
|
|
6261fa191f | ||
|
|
8273dbcd49 | ||
|
|
94498b191b | ||
|
|
e0d22b739d | ||
|
|
db9fc264d9 | ||
|
|
34a9eee7a6 | ||
|
|
0f4e00a2a3 | ||
|
|
99935ce11f | ||
|
|
431b207dab | ||
|
|
0890b15077 | ||
|
|
c6c1830e70 | ||
|
|
e5a16c530d | ||
|
|
921e904acc | ||
|
|
55e65bbabf | ||
|
|
fc1de5b4f3 | ||
|
|
7bc683b234 | ||
|
|
255bd6b26c | ||
|
|
e2592d9049 | ||
|
|
fe0c37f43d | ||
|
|
55298317e3 | ||
|
|
734a6de996 | ||
|
|
2c5e96bb28 | ||
|
|
3cdabbaaff | ||
|
|
c2030a7db5 | ||
|
|
d598039f20 | ||
|
|
521c4679d9 | ||
|
|
f26a64fb88 | ||
|
|
48adeb9dd7 | ||
|
|
6fdd5ea73a | ||
|
|
ee74740384 | ||
|
|
16d486e211 | ||
|
|
32410b59c4 | ||
|
|
3069eaa5c0 | ||
|
|
c30491284f | ||
|
|
1e6273b92d | ||
|
|
f3e3c47af3 | ||
|
|
15cdb3ed79 | ||
|
|
ac92a9fa40 | ||
|
|
a252c87c82 | ||
|
|
384cb22d3a | ||
|
|
f61b6a1c31 | ||
|
|
cbc8187616 | ||
|
|
eef66ae6ed | ||
|
|
bb4543167f | ||
|
|
ecfcbeef26 | ||
|
|
f07a1a6d1e | ||
|
|
6ad8145645 | ||
|
|
3e55699275 | ||
|
|
d2e528d8c1 | ||
|
|
3148a181e7 | ||
|
|
1bc1fd4cb4 | ||
|
|
f4074428f8 | ||
|
|
72e0250117 | ||
|
|
1173059e7b | ||
|
|
96d26be1d4 | ||
|
|
045fbad616 | ||
|
|
32e4635e84 | ||
|
|
7b5072a21b | ||
|
|
2f8968478d | ||
|
|
6aae68bb07 | ||
|
|
eede2f9944 | ||
|
|
73aa91af8b | ||
|
|
c3375b176d | ||
|
|
ff5a2d459d | ||
|
|
071b909d38 | ||
|
|
79a6246666 | ||
|
|
86744a2e0c | ||
|
|
7cdb832c24 | ||
|
|
a36c6a8dda | ||
|
|
2cc7e88f8e | ||
|
|
7fdccf4eb8 | ||
|
|
e8dd99a9cd | ||
|
|
d18188d565 | ||
|
|
fd95551940 | ||
|
|
25509e74d3 | ||
|
|
cb7f78e9d3 | ||
|
|
6b5f46624c | ||
|
|
b8721e0c64 | ||
|
|
6ed2ae188e | ||
|
|
f756864670 | ||
|
|
49faaf750f | ||
|
|
ce1649233d | ||
|
|
8589e122c6 | ||
|
|
56c90c289a | ||
|
|
1dfd2d565b | ||
|
|
edb4aac8d3 | ||
|
|
37401df106 | ||
|
|
f2adc3de4f | ||
|
|
61c60b50fd | ||
|
|
df297f89d0 | ||
|
|
ee5ebdb6ef | ||
|
|
4202a71381 | ||
|
|
eb7dd74026 | ||
|
|
88f6c71e88 | ||
|
|
d41f2dcd86 | ||
|
|
5bae9db0a8 | ||
|
|
d27bbe5232 | ||
|
|
15359afa1c | ||
|
|
479de9a7d3 | ||
|
|
4eb50ac339 | ||
|
|
02c67fe2fa | ||
|
|
1591b76050 | ||
|
|
a05ea83c5c | ||
|
|
8d900baa82 | ||
|
|
e3b9012486 | ||
|
|
2749f1726c | ||
|
|
a44ffbf40c | ||
|
|
b8586d4950 | ||
|
|
db00366c5d | ||
|
|
896891130d | ||
|
|
5e4a412ec7 | ||
|
|
20fd489194 | ||
|
|
13c3a8d3b3 | ||
|
|
ee3226900c | ||
|
|
1041a58cb9 | ||
|
|
df89db3ed6 | ||
|
|
6929efc417 | ||
|
|
0d4c784a0e | ||
|
|
232f201007 | ||
|
|
145caacbea |
1
.gitignore
vendored
1
.gitignore
vendored
@ -16,6 +16,7 @@ default.properties
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
.idea
|
.idea
|
||||||
*.iml
|
*.iml
|
||||||
|
*.orig
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
/dolibarr_genesis.mp4
|
/dolibarr_genesis.mp4
|
||||||
# Log files
|
# Log files
|
||||||
|
|||||||
78
.travis.yml
78
.travis.yml
@ -5,7 +5,7 @@
|
|||||||
# We use dist: xenial to have php 5.6+ available
|
# We use dist: xenial to have php 5.6+ available
|
||||||
os: linux
|
os: linux
|
||||||
dist: xenial
|
dist: xenial
|
||||||
sudo: required
|
#dist: bionic
|
||||||
|
|
||||||
language: php
|
language: php
|
||||||
|
|
||||||
@ -31,53 +31,25 @@ addons:
|
|||||||
# We need pgloader for import mysql database into pgsql
|
# We need pgloader for import mysql database into pgsql
|
||||||
- pgloader
|
- pgloader
|
||||||
|
|
||||||
php:
|
|
||||||
- '5.6'
|
|
||||||
- '7.0'
|
|
||||||
- '7.1'
|
|
||||||
- '7.2'
|
|
||||||
- '7.3'
|
|
||||||
- '7.4'
|
|
||||||
- nightly
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
# Set to true for very verbose output
|
# Set to true for very verbose output
|
||||||
- DEBUG=false
|
- DEBUG=false
|
||||||
jobs:
|
|
||||||
# MariaDB overrides MySQL installation so it's not possible to test both yet
|
|
||||||
#- DB=mariadb
|
|
||||||
- DB=mysql
|
|
||||||
- DB=postgresql
|
|
||||||
# See https://docs.travis-ci.com/user/languages/php/#Apache-%2B-PHP
|
|
||||||
#- WS=apache
|
|
||||||
# See https://github.com/DracoBlue/travis-ci-nginx-php-fpm-test
|
|
||||||
#- WS=nginx
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- php: nightly
|
- php: nightly
|
||||||
# We exclude some combinations not usefull to save Travis CPU
|
include:
|
||||||
exclude:
|
- if: type = push
|
||||||
- php: '7.0'
|
php: '5.6'
|
||||||
env: DB=mysql
|
env: DB=postgresql
|
||||||
- php: '7.1'
|
- if: type = pull_request OR type = push
|
||||||
env: DB=mysql
|
php: '7.4'
|
||||||
- php: '7.2'
|
env: DB=mysql
|
||||||
env: DB=mysql
|
- if: type = push AND branch = develop
|
||||||
- php: '7.3'
|
php: nightly
|
||||||
env: DB=mysql
|
env: DB=mysql
|
||||||
- php: '7.0'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: '7.1'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: '7.2'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: '7.3'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: nightly
|
|
||||||
env: DB=postgresql
|
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
@ -110,11 +82,11 @@ install:
|
|||||||
echo "Updating Composer"
|
echo "Updating Composer"
|
||||||
rm $TRAVIS_BUILD_DIR/composer.json
|
rm $TRAVIS_BUILD_DIR/composer.json
|
||||||
rm $TRAVIS_BUILD_DIR/composer.lock
|
rm $TRAVIS_BUILD_DIR/composer.lock
|
||||||
|
composer -V
|
||||||
composer self-update
|
composer self-update
|
||||||
# To have composer making parallel downloads
|
|
||||||
composer global require hirak/prestissimo
|
|
||||||
composer -n init
|
composer -n init
|
||||||
composer -n config vendor-dir htdocs/includes
|
composer -n config vendor-dir htdocs/includes
|
||||||
|
composer -n config -g vendor-dir htdocs/includes
|
||||||
echo
|
echo
|
||||||
|
|
||||||
- |
|
- |
|
||||||
@ -143,6 +115,9 @@ install:
|
|||||||
- |
|
- |
|
||||||
echo "Adding path of binaries tools installed by composer to the PATH"
|
echo "Adding path of binaries tools installed by composer to the PATH"
|
||||||
export PATH="$TRAVIS_BUILD_DIR/htdocs/includes/bin:$PATH"
|
export PATH="$TRAVIS_BUILD_DIR/htdocs/includes/bin:$PATH"
|
||||||
|
echo $PATH
|
||||||
|
ls $TRAVIS_BUILD_DIR/vendor
|
||||||
|
ls $TRAVIS_BUILD_DIR/htdocs/includes/bin
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
|
||||||
@ -169,15 +144,20 @@ before_script:
|
|||||||
|
|
||||||
- |
|
- |
|
||||||
echo "Versions information"
|
echo "Versions information"
|
||||||
|
echo
|
||||||
# Check PHP
|
# Check PHP
|
||||||
echo "PHP version"
|
echo "PHP version"
|
||||||
php -i | head -
|
php -i | head -
|
||||||
# Check PHP CodeSniffer installation
|
# Check Parallel-lint version
|
||||||
|
echo "Parallel-lint version"
|
||||||
|
which parallel-lint
|
||||||
|
parallel-lint -V
|
||||||
|
# Check PHP CodeSniffer version
|
||||||
echo "PHPCS version"
|
echo "PHPCS version"
|
||||||
which phpcs
|
which phpcs
|
||||||
phpcs --version | head -
|
phpcs --version | head -
|
||||||
phpcs -i | head -
|
phpcs -i | head -
|
||||||
# Check PHPUnit installation
|
# Check PHPUnit version
|
||||||
echo "PHPUnit version"
|
echo "PHPUnit version"
|
||||||
which phpunit
|
which phpunit
|
||||||
phpunit --version | head -
|
phpunit --version | head -
|
||||||
@ -282,17 +262,18 @@ script:
|
|||||||
# Ensure we catch errors
|
# Ensure we catch errors
|
||||||
set -e
|
set -e
|
||||||
#parallel-lint --exclude htdocs/includes --blame .
|
#parallel-lint --exclude htdocs/includes --blame .
|
||||||
parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/myclabs --exclude htdocs/includes/webmozart --exclude htdocs/includes/phpspec --exclude dev/initdata/dbf/includes --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer --exclude htdocs/includes/jakub-onderka --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/ --exclude htdocs/includes/composer/autoload_static.php --blame .
|
parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/composer --exclude htdocs/includes/myclabs --exclude htdocs/includes/webmozart --exclude htdocs/includes/phpspec --exclude dev/initdata/dbf/includes --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer --exclude htdocs/includes/jakub-onderka --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/ --exclude htdocs/includes/composer/autoload_static.php --blame .
|
||||||
set +e
|
set +e
|
||||||
echo
|
echo
|
||||||
|
|
||||||
- |
|
- |
|
||||||
echo "Checking coding style (excluding Pull Requests builds)"
|
echo "Checking coding style (excluding Pull Requests builds to not overload travis, excluding also some jobs to avoid duplicate tests)"
|
||||||
# Ensure we catch errors
|
# Ensure we catch errors
|
||||||
set -e
|
set -e
|
||||||
# Exclusions are defined in the ruleset.xml file
|
# Exclusions are defined in the ruleset.xml file
|
||||||
#phpcs -s -n -p -d memory_limit=-1 --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 .
|
if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_PHP_VERSION" = "7.4" ] && [ "$DB" = "mysql" ]; then
|
||||||
if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .; fi
|
phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .;
|
||||||
|
fi
|
||||||
set +e
|
set +e
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@ -404,6 +385,7 @@ script:
|
|||||||
php upgrade.php 11.0.0 12.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade11001200.log
|
php upgrade.php 11.0.0 12.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade11001200.log
|
||||||
php upgrade2.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-2.log
|
php upgrade2.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-2.log
|
||||||
php step5.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-3.log
|
php step5.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-3.log
|
||||||
|
|
||||||
# Enable modules not enabled into original dump
|
# Enable modules not enabled into original dump
|
||||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKETSUP,MAIN_MODULE_ACCOUNTING > $TRAVIS_BUILD_DIR/enablemodule.log
|
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKETSUP,MAIN_MODULE_ACCOUNTING > $TRAVIS_BUILD_DIR/enablemodule.log
|
||||||
echo $?
|
echo $?
|
||||||
@ -424,7 +406,7 @@ script:
|
|||||||
|
|
||||||
after_script:
|
after_script:
|
||||||
- |
|
- |
|
||||||
echo "After script - Output lines of dolibarr.log"
|
echo "After script - Output last lines of dolibarr.log"
|
||||||
ls $TRAVIS_BUILD_DIR/documents
|
ls $TRAVIS_BUILD_DIR/documents
|
||||||
#cat $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
#cat $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
||||||
sudo tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
sudo tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
||||||
|
|||||||
257
ChangeLog
257
ChangeLog
@ -3,6 +3,263 @@ English Dolibarr ChangeLog
|
|||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
***** ChangeLog for 12.0.5 compared to 12.0.4 *****
|
||||||
|
FIX: before crediting a withdrawal receipt, check whether it has been credited already
|
||||||
|
FIX: mandatory extrafields of type sellist
|
||||||
|
FIX: when a mandatory extrafield of type sellist contains '0' it should be considered empty and trigger an error message upon insertion
|
||||||
|
FIX: when a new intervention is created from an object, a new $extrafields object is instantiated but not initialized
|
||||||
|
FIX: "openall" filter on ticket list does not include read tickets
|
||||||
|
FIX: ticket - extrafields of type 'date' are not saved
|
||||||
|
FIX: ticket - the "openall" filter on the ticket list does not include tickets with status READ
|
||||||
|
FIX: #14290 #15900
|
||||||
|
FIX: #15388 #15891
|
||||||
|
FIX: #15465 External user sees last 5 shipments to other customers in the dashboard
|
||||||
|
FIX: #15629
|
||||||
|
FIX: #15751 Miscellaneous payment type change to 0 after updating subledger account
|
||||||
|
FIX: #15946
|
||||||
|
FIX: #15966 #15967
|
||||||
|
FIX: Accountancy - Fix some problems on CEGID export
|
||||||
|
FIX: Accountancy - label_operation is used instead of label_compte
|
||||||
|
FIX: Accountancy - Retire entire opening balance feature
|
||||||
|
FIX: add autofix of count of email target when data is corrupted
|
||||||
|
FIX: add categories params on llxHeader filter
|
||||||
|
FIX: Add critical price patch from 12 to 11.
|
||||||
|
FIX: Bad cleaning of VAT rate when numbers are into code
|
||||||
|
FIX: Bad dates filtering in the ticket list causes sql error
|
||||||
|
FIX: balance starting and ending fiscal month #14197
|
||||||
|
FIX: bom line unit display #13831
|
||||||
|
FIX: cash fence for takepos with multientity
|
||||||
|
FIX: Check of customer/vendor code fails in some cases
|
||||||
|
FIX: create ticket : thirdparty/contact notification #15629
|
||||||
|
FIX: Creation of thirdparty when setup is empty
|
||||||
|
FIX: Dates of sales start in TakePOS
|
||||||
|
FIX: dupliacete customer or supplier code must be error dipslayed with new code proposed
|
||||||
|
FIX: Export FEC - Force Carriage Return Line Feed
|
||||||
|
FIX: Facture Situation Out : status condition
|
||||||
|
FIX: Filter on date of next generation on template invoices
|
||||||
|
FIX: Fix detect dispatched product and set to received completely when the supplier order have services (support STOCK_SUPPORTS_SERVICES)
|
||||||
|
FIX: Invoice Situation Out : status condition
|
||||||
|
FIX: issue 15659 : Missing test if supplier conf is enabled
|
||||||
|
FIX: link to create event when task is in a project with a thirdparty
|
||||||
|
FIX: Localtax must be converted with price2num
|
||||||
|
FIX: manage price min for PRODUIT_CUSTOMER_PRICES
|
||||||
|
FIX: missing GETPOST parameters on card_presend.tpl.php
|
||||||
|
FIX: missing socid into link to create event from project agenda tab
|
||||||
|
FIX: Must delete extrafields before main table on product deletion.
|
||||||
|
FIX: (path) htdocs removed
|
||||||
|
FIX: php alert sms.php
|
||||||
|
FIX: right to show VAT rate in product list
|
||||||
|
FIX: select default mail template
|
||||||
|
FIX: Timeout during import
|
||||||
|
FIX: update order by api
|
||||||
|
FIX: useless tracking number displayed on pdf if empty issue #14501
|
||||||
|
FIX: Visible date of payment
|
||||||
|
FIX: warning when adding a line if $remise_percent is an empty string
|
||||||
|
FIX: When creating a new POS sell, the creation date must be modified.
|
||||||
|
FIX: wrong name for search status param issue #15516
|
||||||
|
|
||||||
|
***** ChangeLog for 12.0.4 compared to 12.0.3 *****
|
||||||
|
FIX: make formConfirm an addreplace-type hook
|
||||||
|
FIX: regex to remove 'action' parameter: taking feedback from PR#15213 into account
|
||||||
|
FIX: remove 'action' parameter from redirect URL when reordering lines on a document
|
||||||
|
FIX: error when displaying lines on order after adding a line if both MAIN_MULTILANGS and MAIN_DISABLE_PDF_AUTOUPDATE are activated
|
||||||
|
FIX: on survey creation, entity is always set to 1 ⇒ set it to $conf->entity
|
||||||
|
FIX: set entity to $conf->entity (instead of 1 by default) when creating a survey; otherwise the survey cannot be listed from the entity it was created on unless it is the main entity
|
||||||
|
FIX: the stringent XSS protection provided by 'alphanohtml' causes problems with some clients who used basic tags (bold, italic, underline) in product labels. Using 'restricthtml' instead could be a good compromise.
|
||||||
|
FIX: third party of object is not always fetched when initiating the e-mail presend action (e.g. from an order)
|
||||||
|
FIX: when the cronjob 'params' field is empty, the cron method is called with one empty string param instead of no params at all
|
||||||
|
FIX: XSS protection too stringent -> replace 'alphanohtml' with 'restricthtml'
|
||||||
|
FIX: #13067 including opening balance in calculation of displayed balance
|
||||||
|
FIX: #14326
|
||||||
|
FIX: #14649
|
||||||
|
FIX: #14901
|
||||||
|
FIX: #14927 Change ContratLigne property type to product_type
|
||||||
|
FIX: #14979
|
||||||
|
FIX: #15074
|
||||||
|
FIX: #15111 Fix special characters output in PDF
|
||||||
|
FIX: #15161 MO translation conflict
|
||||||
|
FIX: #15163
|
||||||
|
FIX: #15199
|
||||||
|
FIX: #15208
|
||||||
|
FIX: #15303
|
||||||
|
FIX: #15365 export of extrafields for user and resources
|
||||||
|
FIX: #15374 : "New" doesn't clear total amounts
|
||||||
|
FIX: #15501
|
||||||
|
FIX: #15572
|
||||||
|
FIX: #15590
|
||||||
|
FIX: #15618
|
||||||
|
FIX: supplier proposals as linked objects of events are not correctly fetched
|
||||||
|
FIX: when users create an event from a supplier proposal, the "linked objects" section says "Deleted"
|
||||||
|
FIX: Accountancy - Some ajustments on length of the account (general & auxiliary)
|
||||||
|
FIX: admin conf selected
|
||||||
|
FIX: also check if there is a method $object->fetch_thirdparty() before calling it
|
||||||
|
FIX: autofocus on first setup
|
||||||
|
FIX: Bad rigths to send contract
|
||||||
|
FIX: Better error message with IMAP when connection fails
|
||||||
|
FIX: Can create user but not update user with activedirectory
|
||||||
|
FIX: Can receipt of a product that required lot after disabling stock and
|
||||||
|
FIX: Can't create shipment for virtual product. Add
|
||||||
|
FIX: cant empty action comm desc
|
||||||
|
FIX: CA report by product/service : subcategory filter
|
||||||
|
FIX: Clean orphan records in llx_ecm_files into repair script.
|
||||||
|
FIX: default accountancy values and posted values
|
||||||
|
FIX: Deletion of expensereport + other generated object not complete.
|
||||||
|
FIX: disabled users must not be available in sales representative list on societe edit mode
|
||||||
|
FIX: Dol print error : conf usage thirdparty propagate extrafields to
|
||||||
|
FIX: Don't display inactive users in birthday box and company card
|
||||||
|
FIX: empty value is needed on filter list
|
||||||
|
FIX: enable HTML in product labels depending on conf MAIN_SECURITY_ALLOW_UNSECURED_LABELS_WITH_HTML
|
||||||
|
FIX: error 500 on cash closure
|
||||||
|
FIX: excess comma
|
||||||
|
FIX: Export FEC - Remove line at zero
|
||||||
|
FIX: extrafield required error after submit
|
||||||
|
FIX: filter on project list
|
||||||
|
FIX: force payment mode to withdraw
|
||||||
|
FIX: formating of prices with foreign languages
|
||||||
|
FIX: handling $heightforinfotot when he's superior to a page height
|
||||||
|
FIX: if no PDF default model in admin for expense report, do not create a PDF
|
||||||
|
FIX: invoice payment terms edition: error management
|
||||||
|
FIX: list of fields in list of recurring invoices was empty
|
||||||
|
FIX: load default linked options for linked sellist extra fields
|
||||||
|
FIX: Loan - Return on list when you cancel create form or delete a loan
|
||||||
|
FIX: Missing lang trans
|
||||||
|
FIX: no empty value in required extrafield
|
||||||
|
FIX: Param joinfiles not sanitized
|
||||||
|
FIX: Payment by BankTransfer
|
||||||
|
FIX: pdf_getlinetotalwithtax must show total incl tax
|
||||||
|
FIX: Problem on supplier payment card
|
||||||
|
FIX: product auto volume calculation
|
||||||
|
FIX: product customer prices: missing triggers in CRUD class
|
||||||
|
FIX: Request on purchase orders in timeout even on very small databases
|
||||||
|
FIX: set paid on total discount of a product in cash desk
|
||||||
|
FIX: several warning with the barcode use in ODT templates
|
||||||
|
FIX: SHIP MODE install v12 bug insert
|
||||||
|
FIX: stripe for connect mode
|
||||||
|
FIX: subcat filter
|
||||||
|
FIX: supplier invoice: automatically calculate payment term when modifying payment condition
|
||||||
|
FIX: SUPPLIER PROPOSAL v12 bug add
|
||||||
|
FIX: table making extrafield input too small on advance target mailing
|
||||||
|
FIX: table making extrafield too small advtagertmailing
|
||||||
|
FIX: Unable to edit extrafields in expense report
|
||||||
|
FIX: update margins rates on object line edit
|
||||||
|
FIX: uses price2numjs
|
||||||
|
FIX: various payments: bad data handling for subledger account + useless db commit/rollback
|
||||||
|
FIX: virtual products: displayed value is by unit
|
||||||
|
FIX: virtual products: supplier discount was not applied in component list
|
||||||
|
FIX: warning for purchase order delivery late.
|
||||||
|
FIX: Warning on late purchase order delivery
|
||||||
|
FIX: WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING must not consider services while STOCK_SUPPORTS_SERVICES is empty
|
||||||
|
FIX: wrong tab
|
||||||
|
FIX: Yogosha report 4425 (backport)
|
||||||
|
FIX: Yogosha report 4434 (backport)
|
||||||
|
|
||||||
|
***** ChangeLog for 12.0.3 compared to 12.0.2 *****
|
||||||
|
FIX: 10.0 - when the mime file name is different from the filesystem name, the attachment name should be the mime filename
|
||||||
|
FIX: 11.0 - expenses lines overlapping the total amounts frame
|
||||||
|
FIX: 12.0 - round value of virtual stock on product stock reassort list
|
||||||
|
FIX: #14469
|
||||||
|
FIX: #14474 Error when deleting
|
||||||
|
FIX: #14530
|
||||||
|
FIX: #14703
|
||||||
|
FIX: - Accountancy balance Error SQL on entity
|
||||||
|
FIX: Bad number of subscription (forgotten when member was resiliated)
|
||||||
|
FIX: bad route url to delete subproduct with API
|
||||||
|
FIX: Category for suplements not saved
|
||||||
|
FIX: Compatibility with modules without document generation
|
||||||
|
FIX: Cron load lang
|
||||||
|
FIX: CSS
|
||||||
|
FIX: Error management. Do no try to approve PO if validation fails.
|
||||||
|
FIX: expenses lines overlapping the frame for total amounts.
|
||||||
|
FIX: Filter in "billed" of orders was not saved
|
||||||
|
FIX: infinite fetch object linked loop
|
||||||
|
FIX: Intervention lose html tags when updating
|
||||||
|
FIX: JS CRASH - bad usage of moreparam
|
||||||
|
FIX: lang fr retained warranty
|
||||||
|
FIX: Look and feel v12: First tab must be name of object
|
||||||
|
FIX: missing entity check
|
||||||
|
FIX: missing param for hook
|
||||||
|
FIX: Missing transaction on PO actions
|
||||||
|
FIX: MySql Strict mode
|
||||||
|
FIX: param entity in html form file
|
||||||
|
FIX: Problems on FEC format
|
||||||
|
FIX: round stock value on product list
|
||||||
|
FIX: - Send mail from contact : select mail model
|
||||||
|
FIX: set sales representatives on create company card
|
||||||
|
FIX: Setup of stock increase/decrease
|
||||||
|
FIX: sign of amount with credit note and multicurrencies
|
||||||
|
FIX: Static property called as non static
|
||||||
|
FIX: task leftmenu
|
||||||
|
FIX: title button attribute id empty
|
||||||
|
FIX: unit price divided by quantity when accepting supplier price proposal
|
||||||
|
FIX: Update extrafields on line only if it is supported
|
||||||
|
FIX: Update line of BOM
|
||||||
|
FIX: using decimal on stock correction
|
||||||
|
FIX: Visualization rights correction on last modified contacts box
|
||||||
|
FIX: Wrong redirection
|
||||||
|
FIX: Yogosha report 4425 (backport)
|
||||||
|
|
||||||
|
***** ChangeLog for 12.0.2 compared to 12.0.1 *****
|
||||||
|
FIX: computation of the bottom margin of <body> returns NaN because body is not loaded yet
|
||||||
|
FIX: DebugBar hides content at page bottom
|
||||||
|
FIX: allow more harmless html tags
|
||||||
|
FIX: Bad back to link
|
||||||
|
FIX: Bad param
|
||||||
|
FIX: Can go on page even when module is disabled
|
||||||
|
FIX: Change position of line in BOM
|
||||||
|
FIX: Checkbox "drop table" was not checked when using php method to generate backup dump
|
||||||
|
FIX: ClickToDial tab of users has disappeared
|
||||||
|
FIX: CSS
|
||||||
|
FIX: date in supplier price log tooltip.
|
||||||
|
FIX: Debug module direct debit order. Solve conflict with credit transfer
|
||||||
|
FIX: Debug setup of receipt printer module
|
||||||
|
FIX: dolGetElementUrl and agenda page for external modules
|
||||||
|
FIX: DO not erase variable $key and $label during output of extrafields
|
||||||
|
FIX: duration fields size with firefox
|
||||||
|
FIX: Edit extrafield of type long text loose carriage returns
|
||||||
|
FIX: Fails to retraive accounting code of social contribution sometimes
|
||||||
|
FIX: Filter too large for extrafields with type text or html
|
||||||
|
FIX: If using a rounding step, localtax1+2 not included in total
|
||||||
|
FIX: input field of extrafields must keep data if form submit fails.
|
||||||
|
FIX: Label of opportunities in graph with special chars badly encoded
|
||||||
|
FIX: locataxes lost on lines when cloning a vendor invoice
|
||||||
|
FIX: Look and feel v12
|
||||||
|
FIX: Missing PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE conf support in supplier order
|
||||||
|
FIX: Navigation in object fails to find the next ref in some cases
|
||||||
|
FIX: null required
|
||||||
|
FIX: order by amount ht uses wrong column
|
||||||
|
FIX: Order by amount in product propal stats must be done on d.total_ht and not p.total
|
||||||
|
FIX: page for confirmation of payments is empty
|
||||||
|
FIX: Param of fetch_name_optionals_label must be object->table_element
|
||||||
|
FIX: Picto of HRM module
|
||||||
|
FIX: product label and desc were never updated when modifying translation
|
||||||
|
FIX: redirect on contact card from main search
|
||||||
|
FIX: Reposition and nav
|
||||||
|
FIX: search warehouse list
|
||||||
|
FIX: Setup of clicktodial hang on smartphone
|
||||||
|
FIX: Setup of currency limit and accuracy
|
||||||
|
FIX: shipping creation: checks not done on weight and sizes
|
||||||
|
FIX: Should not be able to edit qty on shipment when no stock available
|
||||||
|
FIX: Size of image on the help popup of modules
|
||||||
|
FIX: Sql error on stat by referring entries of a product
|
||||||
|
FIX: Warning if no bank account defined
|
||||||
|
FIX: We need to see unit line on PDF even though it's an option
|
||||||
|
FIX: wrong element var for fetch_name_optionals_label function with expeditions
|
||||||
|
FIX: wrong link to third invoice templates
|
||||||
|
FIX: Disable svg as supported image by default (can contains javascript). Set MAIN_ALLOW_SVG_FILES_AS_IMAGES to 1 to have svg accepted
|
||||||
|
FIX: #14076
|
||||||
|
FIX: #14146
|
||||||
|
FIX: #14209
|
||||||
|
FIX: #14222
|
||||||
|
FIX: #14236
|
||||||
|
FIX: #14241 Mysql 8 compatibility
|
||||||
|
FIX: #14253
|
||||||
|
FIX: #14256
|
||||||
|
FIX: #14259
|
||||||
|
FIX: #14279
|
||||||
|
FIX: #14291
|
||||||
|
FIX: #14292
|
||||||
|
FIX: #14336
|
||||||
|
|
||||||
***** ChangeLog for 12.0.1 compared to 12.0.0 *****
|
***** ChangeLog for 12.0.1 compared to 12.0.0 *****
|
||||||
FIX: reposition was broken if url end with #anchor
|
FIX: reposition was broken if url end with #anchor
|
||||||
FIX: $_POST must be GETPOST
|
FIX: $_POST must be GETPOST
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Architecture: all
|
|||||||
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5 | libapache2-mod-php | libapache2-mod-phpfilter | php-cgi | php-fpm | php,
|
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5 | libapache2-mod-php | libapache2-mod-phpfilter | php-cgi | php-fpm | php,
|
||||||
php5-cli | php-cli,
|
php5-cli | php-cli,
|
||||||
# Required PHP extensions
|
# Required PHP extensions
|
||||||
php5-mysql | php5-mysqli | php-mysql | php-mysqli, php5-curl | php-curl, php5-gd | php-gd, php5-ldap | php-gd,
|
php5-mysql | php5-mysqli | php-mysql | php-mysqli, php5-curl | php-curl, php5-gd | php-gd, php5-ldap | php-gd, php5-zip | php-zip,
|
||||||
# Required PHP libraries
|
# Required PHP libraries
|
||||||
php-pear, php-mail-mime,
|
php-pear, php-mail-mime,
|
||||||
# php-tcpdf,
|
# php-tcpdf,
|
||||||
|
|||||||
@ -542,7 +542,7 @@ $cfg['ThemePerServer'] = FALSE; // allow diferent theme for each co
|
|||||||
* %f will be replaced by a list of field names.
|
* %f will be replaced by a list of field names.
|
||||||
* (%t and %f only applies to DefaultQueryTable)
|
* (%t and %f only applies to DefaultQueryTable)
|
||||||
*/
|
*/
|
||||||
$cfg['DefaultQueryTable'] = 'SELECT * FROM %t WHERE 1';
|
$cfg['DefaultQueryTable'] = 'SELECT * FROM %t WHERE 1 = 1';
|
||||||
$cfg['DefaultQueryDatabase'] = '';
|
$cfg['DefaultQueryDatabase'] = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -104,8 +104,8 @@ Source: "build\exe\doliwamp\UsedPort.exe"; DestDir: "{app}\"; Flags: ignoreversi
|
|||||||
; Value OK: apache 2.2.6, php 5.2.5 (5.2.11, 5.3.0 and 5.3.1 fails if php_exif, php_pgsql, php_zip is on), mysql 5.0.45
|
; Value OK: apache 2.2.6, php 5.2.5 (5.2.11, 5.3.0 and 5.3.1 fails if php_exif, php_pgsql, php_zip is on), mysql 5.0.45
|
||||||
; Value OK: apache 2.2.11, php 5.3.0 (if no php_exif, php_pgsql, php_zip), mysql 5.0.45
|
; Value OK: apache 2.2.11, php 5.3.0 (if no php_exif, php_pgsql, php_zip), mysql 5.0.45
|
||||||
; Value OK: apache 2.4.9, php 5.5.12, mysql 5.0.45 instead of 5.6.17 (wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe)
|
; Value OK: apache 2.4.9, php 5.5.12, mysql 5.0.45 instead of 5.6.17 (wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe)
|
||||||
; Value To test: apache 2.4.41, php 7.3.12, mariadb10.4.10 (wampserver3.2.0_x64.exe)
|
; Value OK: apache 2.4.41, php 7.3.12, mariadb10.4.10 (wampserver3.2.0_x64.exe)
|
||||||
Source: "C:\Program Files\Wamp\apps\phpmyadmin4.1.14\*.*"; DestDir: "{app}\apps\phpmyadmin4.1.14"; Flags: ignoreversion recursesubdirs; Excludes: "config.inc.php,wampserver.conf,*.log,*_log,darkblue_orange"
|
Source: "C:\wamp64\apps\phpmyadmin4.9.2\*.*"; DestDir: "{app}\apps\phpmyadmin4.9.2"; Flags: ignoreversion recursesubdirs; Excludes: "config.inc.php,wampserver.conf,*.log,*_log,darkblue_orange"
|
||||||
;Source: "C:\Program Files\Wamp\bin\apache\apache2.4.9\*.*"; DestDir: "{app}\bin\apache\apache2.4.9"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log"
|
;Source: "C:\Program Files\Wamp\bin\apache\apache2.4.9\*.*"; DestDir: "{app}\bin\apache\apache2.4.9"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log"
|
||||||
Source: "C:\wamp64\bin\apache\apache2.4.41\*.*"; DestDir: "{app}\bin\apache\apache2.4.41"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log"
|
Source: "C:\wamp64\bin\apache\apache2.4.41\*.*"; DestDir: "{app}\bin\apache\apache2.4.41"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log"
|
||||||
;Source: "C:\Program Files\Wamp\bin\php\php5.5.12\*.*"; DestDir: "{app}\bin\php\php5.5.12"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log"
|
;Source: "C:\Program Files\Wamp\bin\php\php5.5.12\*.*"; DestDir: "{app}\bin\php\php5.5.12"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log"
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
"vendor-dir" : "htdocs/includes"
|
"vendor-dir" : "htdocs/includes"
|
||||||
},
|
},
|
||||||
"require" : {
|
"require" : {
|
||||||
"php" : ">=5.5.0",
|
"php" : ">=5.6.0",
|
||||||
"ext-curl" : "*",
|
"ext-curl" : "*",
|
||||||
"ckeditor/ckeditor" : "4.12.1",
|
"ckeditor/ckeditor" : "4.12.1",
|
||||||
"mike42/escpos-php" : "2.2",
|
"mike42/escpos-php" : "2.2",
|
||||||
|
|||||||
@ -8,6 +8,7 @@ ALL:
|
|||||||
Check "@CHANGE"
|
Check "@CHANGE"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PrestaShopWebservice:
|
PrestaShopWebservice:
|
||||||
---------------------
|
---------------------
|
||||||
Replace
|
Replace
|
||||||
@ -27,6 +28,19 @@ With
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DEBUGBAR:
|
||||||
|
---------
|
||||||
|
|
||||||
|
Move
|
||||||
|
this.options = {
|
||||||
|
bodyMarginBottom: true,
|
||||||
|
bodyMarginBottomHeight: parseInt($('body').css('margin-bottom')),
|
||||||
|
};
|
||||||
|
few line lower in the
|
||||||
|
initialize: function() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ESCPOS:
|
ESCPOS:
|
||||||
-------
|
-------
|
||||||
Replace
|
Replace
|
||||||
@ -161,6 +175,18 @@ In htdocs/includes/tecnickcom/tcpdf/tcpdf.php
|
|||||||
- protected $default_monospaced_font = 'courier';
|
- protected $default_monospaced_font = 'courier';
|
||||||
+ protected $default_monospaced_font = 'freemono';
|
+ protected $default_monospaced_font = 'freemono';
|
||||||
|
|
||||||
|
* In tecnickcom/tcpdf/include/tcpdf_static, in function intToRoman, right at the beginning
|
||||||
|
of the function, replace:
|
||||||
|
|
||||||
|
$roman = '';
|
||||||
|
|
||||||
|
with:
|
||||||
|
|
||||||
|
$roman = '';
|
||||||
|
if ($number >= 4000) {
|
||||||
|
// do not represent numbers above 4000 in Roman numerals
|
||||||
|
return strval($number);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -306,7 +332,7 @@ SELECT2
|
|||||||
Edit CSS to restore line removed between 4.0.5 and 4.0.6. It generates this bug: https://github.com/select2/select2/issues/5832
|
Edit CSS to restore line removed between 4.0.5 and 4.0.6. It generates this bug: https://github.com/select2/select2/issues/5832
|
||||||
|
|
||||||
.select2-hidden-accessible {
|
.select2-hidden-accessible {
|
||||||
margin: -1px !important; /* line to restore */
|
margin: -10000px !important; /* line to restore */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1326,7 +1326,7 @@ CREATE TABLE `llx_boxes_def` (
|
|||||||
|
|
||||||
LOCK TABLES `llx_boxes_def` WRITE;
|
LOCK TABLES `llx_boxes_def` WRITE;
|
||||||
/*!40000 ALTER TABLE `llx_boxes_def` DISABLE KEYS */;
|
/*!40000 ALTER TABLE `llx_boxes_def` DISABLE KEYS */;
|
||||||
INSERT INTO `llx_boxes_def` VALUES (188,'box_services_vendus.php',1,'2013-08-05 20:40:27',NULL),(323,'box_actions.php',2,'2015-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2015-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2015-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2015-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2015-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2015-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2015-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2015-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2015-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2015-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2015-03-13 20:33:09',NULL),(347,'box_clients.php',1,'2017-11-15 22:05:57',NULL),(348,'box_prospect.php',1,'2017-11-15 22:05:57',NULL),(349,'box_contacts.php',1,'2017-11-15 22:05:57',NULL),(350,'box_activity.php',1,'2017-11-15 22:05:57','(WarningUsingThisBoxSlowDown)'),(374,'box_services_contracts.php',1,'2017-11-15 22:38:37',NULL),(377,'box_project.php',1,'2017-11-15 22:38:44',NULL),(378,'box_task.php',1,'2017-11-15 22:38:44',NULL),(388,'box_contracts.php',1,'2017-11-15 22:39:52',NULL),(389,'box_services_expired.php',1,'2017-11-15 22:39:52',NULL),(390,'box_ficheinter.php',1,'2017-11-15 22:39:56',NULL),(392,'box_graph_propales_permonth.php',1,'2017-11-15 22:41:47',NULL),(393,'box_propales.php',1,'2017-11-15 22:41:47',NULL),(396,'box_graph_product_distribution.php',1,'2017-11-15 22:41:47',NULL),(403,'box_goodcustomers.php',1,'2018-07-30 11:13:20','(WarningUsingThisBoxSlowDown)'),(404,'box_external_rss.php',1,'2018-07-30 11:15:25','1 (Dolibarr.org News)'),(409,'box_produits.php',1,'2018-07-30 13:38:11',NULL),(410,'box_produits_alerte_stock.php',1,'2018-07-30 13:38:11',NULL),(411,'box_commandes.php',1,'2018-07-30 13:38:11',NULL),(412,'box_graph_orders_permonth.php',1,'2018-07-30 13:38:11',NULL),(413,'box_graph_invoices_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(414,'box_graph_orders_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(415,'box_fournisseurs.php',1,'2018-07-30 13:38:11',NULL),(416,'box_factures_fourn_imp.php',1,'2018-07-30 13:38:11',NULL),(417,'box_factures_fourn.php',1,'2018-07-30 13:38:11',NULL),(418,'box_supplier_orders.php',1,'2018-07-30 13:38:11',NULL),(419,'box_actions.php',1,'2018-07-30 15:42:32',NULL),(424,'box_factures_imp.php',1,'2017-02-07 18:56:12',NULL),(425,'box_factures.php',1,'2017-02-07 18:56:12',NULL),(426,'box_graph_invoices_permonth.php',1,'2017-02-07 18:56:12',NULL),(427,'box_comptes.php',1,'2017-02-07 18:56:12',NULL),(429,'box_lastlogin.php',1,'2017-08-27 13:29:14',NULL),(430,'box_bookmarks.php',1,'2018-01-19 11:27:34',NULL),(431,'box_members.php',1,'2018-01-19 11:27:56',NULL),(432,'box_birthdays.php',1,'2019-06-05 08:45:40',NULL),(433,'box_last_ticket',1,'2019-06-05 09:15:29',NULL),(434,'box_last_modified_ticket',1,'2019-06-05 09:15:29',NULL),(436,'box_accountancy_last_manual_entries.php',1,'2019-11-28 11:52:58',NULL),(437,'box_accountancy_suspense_account.php',1,'2019-11-28 11:52:58',NULL),(438,'box_supplier_orders_awaiting_reception.php',1,'2019-11-28 11:52:59',NULL),(439,'box_mos.php',1,'2019-11-29 08:57:42',NULL),(445,'box_shipments.php',1,'2020-01-13 14:38:20',NULL);
|
INSERT INTO `llx_boxes_def` VALUES (323,'box_actions.php',2,'2015-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2015-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2015-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2015-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2015-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2015-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2015-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2015-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2015-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2015-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2015-03-13 20:33:09',NULL),(347,'box_clients.php',1,'2017-11-15 22:05:57',NULL),(348,'box_prospect.php',1,'2017-11-15 22:05:57',NULL),(349,'box_contacts.php',1,'2017-11-15 22:05:57',NULL),(350,'box_activity.php',1,'2017-11-15 22:05:57','(WarningUsingThisBoxSlowDown)'),(374,'box_services_contracts.php',1,'2017-11-15 22:38:37',NULL),(377,'box_project.php',1,'2017-11-15 22:38:44',NULL),(378,'box_task.php',1,'2017-11-15 22:38:44',NULL),(388,'box_contracts.php',1,'2017-11-15 22:39:52',NULL),(389,'box_services_expired.php',1,'2017-11-15 22:39:52',NULL),(390,'box_ficheinter.php',1,'2017-11-15 22:39:56',NULL),(392,'box_graph_propales_permonth.php',1,'2017-11-15 22:41:47',NULL),(393,'box_propales.php',1,'2017-11-15 22:41:47',NULL),(396,'box_graph_product_distribution.php',1,'2017-11-15 22:41:47',NULL),(403,'box_goodcustomers.php',1,'2018-07-30 11:13:20','(WarningUsingThisBoxSlowDown)'),(404,'box_external_rss.php',1,'2018-07-30 11:15:25','1 (Dolibarr.org News)'),(409,'box_produits.php',1,'2018-07-30 13:38:11',NULL),(410,'box_produits_alerte_stock.php',1,'2018-07-30 13:38:11',NULL),(411,'box_commandes.php',1,'2018-07-30 13:38:11',NULL),(412,'box_graph_orders_permonth.php',1,'2018-07-30 13:38:11',NULL),(413,'box_graph_invoices_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(414,'box_graph_orders_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(415,'box_fournisseurs.php',1,'2018-07-30 13:38:11',NULL),(416,'box_factures_fourn_imp.php',1,'2018-07-30 13:38:11',NULL),(417,'box_factures_fourn.php',1,'2018-07-30 13:38:11',NULL),(418,'box_supplier_orders.php',1,'2018-07-30 13:38:11',NULL),(419,'box_actions.php',1,'2018-07-30 15:42:32',NULL),(424,'box_factures_imp.php',1,'2017-02-07 18:56:12',NULL),(425,'box_factures.php',1,'2017-02-07 18:56:12',NULL),(426,'box_graph_invoices_permonth.php',1,'2017-02-07 18:56:12',NULL),(427,'box_comptes.php',1,'2017-02-07 18:56:12',NULL),(429,'box_lastlogin.php',1,'2017-08-27 13:29:14',NULL),(430,'box_bookmarks.php',1,'2018-01-19 11:27:34',NULL),(431,'box_members.php',1,'2018-01-19 11:27:56',NULL),(432,'box_birthdays.php',1,'2019-06-05 08:45:40',NULL),(433,'box_last_ticket',1,'2019-06-05 09:15:29',NULL),(434,'box_last_modified_ticket',1,'2019-06-05 09:15:29',NULL),(436,'box_accountancy_last_manual_entries.php',1,'2019-11-28 11:52:58',NULL),(437,'box_accountancy_suspense_account.php',1,'2019-11-28 11:52:58',NULL),(438,'box_supplier_orders_awaiting_reception.php',1,'2019-11-28 11:52:59',NULL),(439,'box_mos.php',1,'2019-11-29 08:57:42',NULL),(445,'box_shipments.php',1,'2020-01-13 14:38:20',NULL);
|
||||||
/*!40000 ALTER TABLE `llx_boxes_def` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `llx_boxes_def` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
|||||||
172
dev/resources/sepa/sample-credit-transfer.xml
Normal file
172
dev/resources/sepa/sample-credit-transfer.xml
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
|
||||||
|
<CstmrCdtTrfInitn>
|
||||||
|
<GrpHdr>
|
||||||
|
<MsgId>message-id-001</MsgId>
|
||||||
|
<CreDtTm>2010-09-28T14:07:00</CreDtTm>
|
||||||
|
<NbOfTxs>1</NbOfTxs>
|
||||||
|
<CtrlSum>10.1</CtrlSum>
|
||||||
|
<InitgPty>
|
||||||
|
<Nm>Bedrijfsnaam</Nm>
|
||||||
|
<Id>
|
||||||
|
<OrgId>
|
||||||
|
<Othr>
|
||||||
|
<Id>123456789123456</Id>
|
||||||
|
</Othr>
|
||||||
|
</OrgId>
|
||||||
|
</Id>
|
||||||
|
</InitgPty>
|
||||||
|
</GrpHdr>
|
||||||
|
<PmtInf>
|
||||||
|
<PmtInfId>minimaal gevuld</PmtInfId>
|
||||||
|
<PmtMtd>TRF</PmtMtd>
|
||||||
|
<NbOfTxs>1</NbOfTxs>
|
||||||
|
<CtrlSum>10.1</CtrlSum>
|
||||||
|
<ReqdExctnDt>2009-11-01</ReqdExctnDt>
|
||||||
|
<Dbtr>
|
||||||
|
<Nm>Naam</Nm>
|
||||||
|
</Dbtr>
|
||||||
|
<DbtrAcct>
|
||||||
|
<Id>
|
||||||
|
<IBAN>NL44RABO0123456789</IBAN>
|
||||||
|
</Id>
|
||||||
|
</DbtrAcct>
|
||||||
|
<DbtrAgt>
|
||||||
|
<FinInstnId>
|
||||||
|
<BIC>RABONL2U</BIC>
|
||||||
|
</FinInstnId>
|
||||||
|
</DbtrAgt>
|
||||||
|
<CdtTrfTxInf>
|
||||||
|
<PmtId>
|
||||||
|
<EndToEndId>non ref</EndToEndId>
|
||||||
|
</PmtId>
|
||||||
|
<Amt>
|
||||||
|
<InstdAmt Ccy="EUR">10.1</InstdAmt>
|
||||||
|
</Amt>
|
||||||
|
<ChrgBr>SLEV</ChrgBr>
|
||||||
|
<CdtrAgt>
|
||||||
|
<FinInstnId>
|
||||||
|
<BIC>ABNANL2A</BIC>
|
||||||
|
</FinInstnId>
|
||||||
|
</CdtrAgt>
|
||||||
|
<Cdtr>
|
||||||
|
<Nm>Naam creditor</Nm>
|
||||||
|
</Cdtr>
|
||||||
|
<CdtrAcct>
|
||||||
|
<Id>
|
||||||
|
<IBAN>NL90ABNA0111111111</IBAN>
|
||||||
|
</Id>
|
||||||
|
</CdtrAcct>
|
||||||
|
<RmtInf>
|
||||||
|
<Ustrd>vrije tekst</Ustrd>
|
||||||
|
</RmtInf>
|
||||||
|
</CdtTrfTxInf>
|
||||||
|
</PmtInf>
|
||||||
|
<PmtInf>
|
||||||
|
<PmtInfId>maximaal gevuld</PmtInfId>
|
||||||
|
<PmtMtd>TRF</PmtMtd>
|
||||||
|
<BtchBookg>true</BtchBookg>
|
||||||
|
<NbOfTxs>1</NbOfTxs>
|
||||||
|
<CtrlSum>20.2</CtrlSum>
|
||||||
|
<PmtTpInf>
|
||||||
|
<InstrPrty>NORM</InstrPrty>
|
||||||
|
<SvcLvl>
|
||||||
|
<Cd>SEPA</Cd>
|
||||||
|
</SvcLvl>
|
||||||
|
<LclInstrm>
|
||||||
|
<Cd>IDEAL</Cd>
|
||||||
|
</LclInstrm>
|
||||||
|
<CtgyPurp>
|
||||||
|
<Cd>SECU</Cd>
|
||||||
|
</CtgyPurp>
|
||||||
|
</PmtTpInf>
|
||||||
|
<ReqdExctnDt>2009-11-01</ReqdExctnDt>
|
||||||
|
<Dbtr>
|
||||||
|
<Nm>Naam</Nm>
|
||||||
|
<PstlAdr>
|
||||||
|
<Ctry>NL</Ctry>
|
||||||
|
<AdrLine>Debtor straat 1</AdrLine>
|
||||||
|
<AdrLine>9999 XX Plaats debtor</AdrLine>
|
||||||
|
</PstlAdr>
|
||||||
|
</Dbtr>
|
||||||
|
<DbtrAcct>
|
||||||
|
<Id>
|
||||||
|
<IBAN>NL44RABO0123456789</IBAN>
|
||||||
|
</Id>
|
||||||
|
</DbtrAcct>
|
||||||
|
<DbtrAgt>
|
||||||
|
<FinInstnId>
|
||||||
|
<BIC>RABONL2U</BIC>
|
||||||
|
</FinInstnId>
|
||||||
|
</DbtrAgt>
|
||||||
|
<UltmtDbtr>
|
||||||
|
<Id>
|
||||||
|
<OrgId>
|
||||||
|
<Othr>
|
||||||
|
<Id>12345678</Id>
|
||||||
|
<SchmeNm>
|
||||||
|
<Prtry>klantnummer</Prtry>
|
||||||
|
</SchmeNm>
|
||||||
|
<Issr>klantnummer uitgifte instantie</Issr>
|
||||||
|
</Othr>
|
||||||
|
</OrgId>
|
||||||
|
</Id>
|
||||||
|
</UltmtDbtr>
|
||||||
|
<ChrgBr>SLEV</ChrgBr>
|
||||||
|
<CdtTrfTxInf>
|
||||||
|
<PmtId>
|
||||||
|
<InstrId>debtor-to-debtor-bank-01</InstrId>
|
||||||
|
<EndToEndId>End-to-end-id-debtor-to-creditor-01</EndToEndId>
|
||||||
|
</PmtId>
|
||||||
|
<Amt>
|
||||||
|
<InstdAmt Ccy="EUR">20.2</InstdAmt>
|
||||||
|
</Amt>
|
||||||
|
<CdtrAgt>
|
||||||
|
<FinInstnId>
|
||||||
|
<BIC>ABNANL2A</BIC>
|
||||||
|
</FinInstnId>
|
||||||
|
</CdtrAgt>
|
||||||
|
<Cdtr>
|
||||||
|
<Nm>Naam creditor</Nm>
|
||||||
|
<PstlAdr>
|
||||||
|
<Ctry>NL</Ctry>
|
||||||
|
<AdrLine>Straat creditor 1</AdrLine>
|
||||||
|
<AdrLine>9999 XX Plaats creditor</AdrLine>
|
||||||
|
</PstlAdr>
|
||||||
|
</Cdtr>
|
||||||
|
<CdtrAcct>
|
||||||
|
<Id>
|
||||||
|
<IBAN>NL90ABNA0111111111</IBAN>
|
||||||
|
</Id>
|
||||||
|
</CdtrAcct>
|
||||||
|
<UltmtCdtr>
|
||||||
|
<Id>
|
||||||
|
<PrvtId>
|
||||||
|
<DtAndPlcOfBirth>
|
||||||
|
<BirthDt>1969-07-03</BirthDt>
|
||||||
|
<CityOfBirth>PLAATS</CityOfBirth>
|
||||||
|
<CtryOfBirth>NL</CtryOfBirth>
|
||||||
|
</DtAndPlcOfBirth>
|
||||||
|
</PrvtId>
|
||||||
|
</Id>
|
||||||
|
</UltmtCdtr>
|
||||||
|
<Purp>
|
||||||
|
<Cd>CHAR</Cd>
|
||||||
|
</Purp>
|
||||||
|
<RmtInf>
|
||||||
|
<Strd>
|
||||||
|
<CdtrRefInf>
|
||||||
|
<Tp>
|
||||||
|
<CdOrPrtry>
|
||||||
|
<Cd>SCOR</Cd>
|
||||||
|
</CdOrPrtry>
|
||||||
|
<Issr>CUR</Issr>
|
||||||
|
</Tp>
|
||||||
|
<Ref>1234567</Ref>
|
||||||
|
</CdtrRefInf>
|
||||||
|
</Strd>
|
||||||
|
</RmtInf>
|
||||||
|
</CdtTrfTxInf>
|
||||||
|
</PmtInf>
|
||||||
|
</CstmrCdtTrfInitn>
|
||||||
|
</Document>
|
||||||
@ -1,2 +1,8 @@
|
|||||||
|
Spec for credit transfer:
|
||||||
|
https://docs.oracle.com/cd/E39124_01/doc.91/e60210/fields_sepa_pay_file_appx.htm#EOAEL00515
|
||||||
|
|
||||||
|
To validate a SEPA file:
|
||||||
|
xmllint --schema pain.001.001.03.xsd T200801.xml --noout
|
||||||
|
|
||||||
To test a SEPA file:
|
To test a SEPA file:
|
||||||
https://www.mesfluxdepaiement.fr/testez-vos-fichiers-sepa
|
https://www.mesfluxdepaiement.fr/testez-vos-fichiers-sepa
|
||||||
|
|||||||
@ -17,8 +17,6 @@ on Internet on web following sites:<br>
|
|||||||
<br>
|
<br>
|
||||||
* <a href="https://demo.dolibarr.org">Dolibarr demo (online)</a><br>
|
* <a href="https://demo.dolibarr.org">Dolibarr demo (online)</a><br>
|
||||||
<br>
|
<br>
|
||||||
* <a href="https://www.nltechno.com/pages/dolibarrwinbin.php">DoliWamp, the Dolibarr for Windows</a><br>
|
|
||||||
<br>
|
|
||||||
* <a href="https://www.dolistore.com">DoliStore (official addons/plugins market place)</a><br>
|
* <a href="https://www.dolistore.com">DoliStore (official addons/plugins market place)</a><br>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@ -19,7 +19,7 @@ Download
|
|||||||
Install
|
Install
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* For a Quick guide, take a look at README file into root directory.
|
* For a Quick guide, take a look at README.md file into root directory.
|
||||||
|
|
||||||
* More complete documentations are also available on line on the Dolibarr Wiki:
|
* More complete documentations are also available on line on the Dolibarr Wiki:
|
||||||
https://wiki.dolibarr.org
|
https://wiki.dolibarr.org
|
||||||
|
|||||||
@ -22,7 +22,7 @@ Download / Herunterladen
|
|||||||
Installation
|
Installation
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* Für eine kurze Einleitung, schau auf die README Datei im Hauptverzeichnis.
|
* Für eine kurze Einleitung, schau auf die README.md Datei im Hauptverzeichnis.
|
||||||
|
|
||||||
* Umfangreiche Dokumentationen sind im Dolibarr Wiki zu finden:
|
* Umfangreiche Dokumentationen sind im Dolibarr Wiki zu finden:
|
||||||
https://wiki.dolibarr.org/index.php/Hauptseite
|
https://wiki.dolibarr.org/index.php/Hauptseite
|
||||||
|
|||||||
@ -19,9 +19,7 @@ https://www.dolistore.org
|
|||||||
Documentation utilisateur
|
Documentation utilisateur
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* Pour une prise en main et installation rapide, consultez le fichier
|
* Pour une prise en main et installation rapide, consultez le fichier README-FR.md à la racine.
|
||||||
README-FR à la racine.
|
|
||||||
|
|
||||||
* Une documentation utilisateur francophone plus consistante est disponible en
|
* Une documentation utilisateur francophone plus consistante est disponible en ligne sur le wiki de Dolibarr à l'adresse:
|
||||||
ligne sur le wiki de Dolibarr à l'adresse:
|
https://wiki.dolibarr.org
|
||||||
https://wiki.dolibarr.org
|
|
||||||
|
|||||||
@ -4,4 +4,5 @@ User guide
|
|||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* All Dolibarr guides are available, on line, on the Dolibarr Web site:
|
* All Dolibarr guides are available, on line, on the Dolibarr Web site:
|
||||||
|
|
||||||
https://www.dolibarr.org
|
https://www.dolibarr.org
|
||||||
|
|||||||
@ -3,9 +3,6 @@ README (french)
|
|||||||
Documentation utilisateur
|
Documentation utilisateur
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* Pour une prise en main et installation rapide, consultez le fichier
|
La documentation utilisateur francophone est disponible en ligne sur le site Web de Dolibarr à l'adresse:
|
||||||
README-FR à la racine.
|
|
||||||
|
|
||||||
* Une documentation utilisateur francophone plus consistante est disponible en
|
|
||||||
ligne sur le site Web de Dolibarr à l'adresse:
|
|
||||||
https://www.dolibarr.fr
|
https://www.dolibarr.fr
|
||||||
|
|||||||
@ -618,7 +618,7 @@ if ($result)
|
|||||||
if (empty($defaultvalue)) $defaultvalue = $compta_prodbuy;
|
if (empty($defaultvalue)) $defaultvalue = $compta_prodbuy;
|
||||||
$codesell = length_accountg($obj->accountancy_code_buy);
|
$codesell = length_accountg($obj->accountancy_code_buy);
|
||||||
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
||||||
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
|
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1, 0, 'maxwidth300 maxwidthonsmartphone productforselect');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
|
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
|
||||||
// Accounting account buy intra (In EEC)
|
// Accounting account buy intra (In EEC)
|
||||||
@ -628,7 +628,7 @@ if ($result)
|
|||||||
$codesell = length_accountg($obj->accountancy_code_buy_intra);
|
$codesell = length_accountg($obj->accountancy_code_buy_intra);
|
||||||
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
||||||
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
||||||
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
|
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1, 0, 'maxwidth300 maxwidthonsmartphone productforselect');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
|
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
|
||||||
// Accounting account buy export (Out of EEC)
|
// Accounting account buy export (Out of EEC)
|
||||||
@ -638,7 +638,7 @@ if ($result)
|
|||||||
$codesell = length_accountg($obj->accountancy_code_buy_export);
|
$codesell = length_accountg($obj->accountancy_code_buy_export);
|
||||||
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
||||||
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
||||||
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
|
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1, 0, 'maxwidth300 maxwidthonsmartphone productforselect');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
|
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
|
||||||
// Accounting account sell
|
// Accounting account sell
|
||||||
@ -648,7 +648,7 @@ if ($result)
|
|||||||
$codesell = length_accountg($obj->accountancy_code_sell);
|
$codesell = length_accountg($obj->accountancy_code_sell);
|
||||||
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
||||||
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
||||||
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
|
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1, 0, 'maxwidth300 maxwidthonsmartphone productforselect');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
|
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
|
||||||
// Accounting account sell intra (In EEC)
|
// Accounting account sell intra (In EEC)
|
||||||
@ -658,7 +658,7 @@ if ($result)
|
|||||||
$codesell = length_accountg($obj->accountancy_code_sell_intra);
|
$codesell = length_accountg($obj->accountancy_code_sell_intra);
|
||||||
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
|
||||||
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
||||||
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
|
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1, 0, 'maxwidth300 maxwidthonsmartphone productforselect');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
} else {
|
} else {
|
||||||
// Accounting account sell export (Out of EEC)
|
// Accounting account sell export (Out of EEC)
|
||||||
@ -667,13 +667,13 @@ if ($result)
|
|||||||
if (empty($defaultvalue)) $defaultvalue = $compta_prodsell;
|
if (empty($defaultvalue)) $defaultvalue = $compta_prodsell;
|
||||||
$codesell = length_accountg($obj->accountancy_code_sell_export);
|
$codesell = length_accountg($obj->accountancy_code_sell_export);
|
||||||
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
|
||||||
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
|
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1, 0, 'maxwidth300 maxwidthonsmartphone productforselect');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checkbox select
|
// Checkbox select
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print '<input type="checkbox" class="checkforselect" name="chk_prod[]" value="'.$obj->rowid.'"/></td>';
|
print '<input type="checkbox" class="checkforselect productforselectcodeventil_'.$product_static->id.'" name="chk_prod[]" value="'.$obj->rowid.'"/></td>';
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -697,7 +697,17 @@ if ($result)
|
|||||||
if (atleastoneselected) jQuery("#changeaccount").attr(\'class\',\'button\');
|
if (atleastoneselected) jQuery("#changeaccount").attr(\'class\',\'button\');
|
||||||
else jQuery("#changeaccount").attr(\'class\',\'button\');
|
else jQuery("#changeaccount").attr(\'class\',\'button\');
|
||||||
}
|
}
|
||||||
jQuery(".checkforselect, #checkallactions").click(function() {
|
|
||||||
|
jQuery(".checkforselect").change(function() {
|
||||||
|
init_savebutton();
|
||||||
|
});
|
||||||
|
jQuery(".productforselect").change(function() {
|
||||||
|
console.log($(this).attr("id")+" "+$(this).val());
|
||||||
|
if ($(this).val() && $(this).val() != -1) {
|
||||||
|
$(".productforselect"+$(this).attr("id")).prop(\'checked\', true);
|
||||||
|
} else {
|
||||||
|
$(".productforselect"+$(this).attr("id")).prop(\'checked\', false);
|
||||||
|
}
|
||||||
init_savebutton();
|
init_savebutton();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -77,7 +77,7 @@ $form = new Form($db);
|
|||||||
if (empty($search_date_start) && !GETPOSTISSET('formfilteraction'))
|
if (empty($search_date_start) && !GETPOSTISSET('formfilteraction'))
|
||||||
{
|
{
|
||||||
$sql = "SELECT date_start, date_end from ".MAIN_DB_PREFIX."accounting_fiscalyear ";
|
$sql = "SELECT date_start, date_end from ".MAIN_DB_PREFIX."accounting_fiscalyear ";
|
||||||
$sql .= " where date_start < '".$db->idate(dol_now())."' and date_end > '".$db->idate(dol_now())."'";
|
$sql .= " WHERE date_start < '".$db->idate(dol_now())."' AND date_end > '".$db->idate(dol_now())."'";
|
||||||
$sql .= $db->plimit(1);
|
$sql .= $db->plimit(1);
|
||||||
$res = $db->query($sql);
|
$res = $db->query($sql);
|
||||||
if ($res->num_rows > 0) {
|
if ($res->num_rows > 0) {
|
||||||
@ -87,6 +87,7 @@ if (empty($search_date_start) && !GETPOSTISSET('formfilteraction'))
|
|||||||
} else {
|
} else {
|
||||||
$month_start = ($conf->global->SOCIETE_FISCAL_MONTH_START ? ($conf->global->SOCIETE_FISCAL_MONTH_START) : 1);
|
$month_start = ($conf->global->SOCIETE_FISCAL_MONTH_START ? ($conf->global->SOCIETE_FISCAL_MONTH_START) : 1);
|
||||||
$year_start = dol_print_date(dol_now(), '%Y');
|
$year_start = dol_print_date(dol_now(), '%Y');
|
||||||
|
if (dol_print_date(dol_now(), '%m') < $month_start) $year_start--; // If current month is lower that starting fiscal month, we start last year
|
||||||
$year_end = $year_start + 1;
|
$year_end = $year_start + 1;
|
||||||
$month_end = $month_start - 1;
|
$month_end = $month_start - 1;
|
||||||
if ($month_end < 1)
|
if ($month_end < 1)
|
||||||
@ -157,11 +158,11 @@ if ($action == 'export_csv')
|
|||||||
|
|
||||||
foreach ($object->lines as $line)
|
foreach ($object->lines as $line)
|
||||||
{
|
{
|
||||||
print length_accountg($line->numero_compte).$sep;
|
print '"'.length_accountg($line->numero_compte).'"'.$sep;
|
||||||
print $object->get_compte_desc($line->numero_compte).$sep;
|
print '"'.$object->get_compte_desc($line->numero_compte).'"'.$sep;
|
||||||
print price($line->debit).$sep;
|
print '"'.price($line->debit).'"'.$sep;
|
||||||
print price($line->credit).$sep;
|
print '"'.price($line->credit).'"'.$sep;
|
||||||
print price($line->debit - $line->credit).$sep;
|
print '"'.price($line->debit - $line->credit).'"'.$sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,7 +238,8 @@ if ($action != 'export_csv')
|
|||||||
print '<table class="liste '.($moreforfilter ? "listwithfilterbefore" : "").'">';
|
print '<table class="liste '.($moreforfilter ? "listwithfilterbefore" : "").'">';
|
||||||
|
|
||||||
print '<tr class="liste_titre_filter">';
|
print '<tr class="liste_titre_filter">';
|
||||||
print '<td class="liste_titre" colspan="6">';
|
$colspan = (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE) ? 6 : 5);
|
||||||
|
print '<td class="liste_titre" colspan="'.$colspan.'">';
|
||||||
print $langs->trans('From');
|
print $langs->trans('From');
|
||||||
print $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, '');
|
print $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, '');
|
||||||
print ' ';
|
print ' ';
|
||||||
@ -254,7 +256,7 @@ if ($action != 'export_csv')
|
|||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre("AccountAccounting", $_SERVER['PHP_SELF'], "t.numero_compte", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("AccountAccounting", $_SERVER['PHP_SELF'], "t.numero_compte", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Label", $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder);
|
print_liste_field_titre("Label", $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre("OpeningBalance", $_SERVER['PHP_SELF'], "", $param, "", 'class="right"', $sortfield, $sortorder);
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) print_liste_field_titre("OpeningBalance", $_SERVER['PHP_SELF'], "", $param, "", 'class="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Debit", $_SERVER['PHP_SELF'], "t.debit", "", $param, 'class="right"', $sortfield, $sortorder);
|
print_liste_field_titre("Debit", $_SERVER['PHP_SELF'], "t.debit", "", $param, 'class="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Credit", $_SERVER['PHP_SELF'], "t.credit", "", $param, 'class="right"', $sortfield, $sortorder);
|
print_liste_field_titre("Credit", $_SERVER['PHP_SELF'], "t.credit", "", $param, 'class="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Balance", $_SERVER["PHP_SELF"], "", $param, "", 'class="right"', $sortfield, $sortorder);
|
print_liste_field_titre("Balance", $_SERVER["PHP_SELF"], "", $param, "", 'class="right"', $sortfield, $sortorder);
|
||||||
@ -265,16 +267,28 @@ if ($action != 'export_csv')
|
|||||||
$total_credit = 0;
|
$total_credit = 0;
|
||||||
$sous_total_debit = 0;
|
$sous_total_debit = 0;
|
||||||
$sous_total_credit = 0;
|
$sous_total_credit = 0;
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||||
|
$total_opening_balance = 0;
|
||||||
|
$sous_total_opening_balance = 0;
|
||||||
|
}
|
||||||
$displayed_account = "";
|
$displayed_account = "";
|
||||||
|
|
||||||
$sql = "select t.numero_compte, (SUM(t.debit) - SUM(t.credit)) as opening_balance from ".MAIN_DB_PREFIX."accounting_bookkeeping as t where entity in ".$conf->entity;
|
// TODO Debug - In French accounting, this functionality is dangerous, it takes all the entries and adds all the accounts
|
||||||
$sql .= " AND t.doc_date < '".$db->idate($search_date_start)."' GROUP BY t.numero_compte";
|
// without time and class limits (Class 6 and 7 accounts ???) and does not take into account the "a-nouveau" journal.
|
||||||
$resql = $db->query($sql);
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||||
$nrows = $resql->num_rows;
|
$sql = "SELECT t.numero_compte, (SUM(t.debit) - SUM(t.credit)) as opening_balance";
|
||||||
$opening_balances = array();
|
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t";
|
||||||
for ($i = 0; $i < $nrows; $i++) {
|
$sql .= " WHERE t.entity = " . $conf->entity; // Never do sharing into accounting features
|
||||||
$arr = $resql->fetch_array();
|
$sql .= " AND t.doc_date < '" . $db->idate($search_date_start) . "'";
|
||||||
$opening_balances["'".$arr['numero_compte']."'"] = $arr['opening_balance'];
|
$sql .= " GROUP BY t.numero_compte";
|
||||||
|
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
$nrows = $resql->num_rows;
|
||||||
|
$opening_balances = array();
|
||||||
|
for ($i = 0; $i < $nrows; $i++) {
|
||||||
|
$arr = $resql->fetch_array();
|
||||||
|
$opening_balances["'" . $arr['numero_compte'] . "'"] = $arr['opening_balance'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($object->lines as $line)
|
foreach ($object->lines as $line)
|
||||||
@ -284,53 +298,84 @@ if ($action != 'export_csv')
|
|||||||
$total_credit += $line->credit;
|
$total_credit += $line->credit;
|
||||||
$description = $object->get_compte_desc($line->numero_compte); // Search description of the account
|
$description = $object->get_compte_desc($line->numero_compte); // Search description of the account
|
||||||
$root_account_description = $object->get_compte_racine($line->numero_compte);
|
$root_account_description = $object->get_compte_racine($line->numero_compte);
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||||
|
$opening_balance = isset($opening_balances["'".$line->numero_compte."'"]) ? $opening_balances["'".$line->numero_compte."'"] : 0;
|
||||||
|
$total_opening_balance += $opening_balance;
|
||||||
|
}
|
||||||
if (empty($description)) {
|
if (empty($description)) {
|
||||||
$link = '<a href="'.DOL_URL_ROOT.'/accountancy/admin/card.php?action=create&accountingaccount='.length_accountg($line->numero_compte).'">'.img_edit_add().'</a>';
|
$link = '<a href="'.DOL_URL_ROOT.'/accountancy/admin/card.php?action=create&accountingaccount='.length_accountg($line->numero_compte).'">'.img_edit_add().'</a>';
|
||||||
}
|
}
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
// Permet d'afficher le compte comptable
|
// Display the accounting account
|
||||||
if (empty($displayed_account) || $root_account_description != $displayed_account)
|
if (empty($displayed_account) || $root_account_description != $displayed_account)
|
||||||
{
|
{
|
||||||
// Affiche un Sous-Total par compte comptable
|
// Display a sub-total per account
|
||||||
if ($displayed_account != "") {
|
if ($displayed_account != "") {
|
||||||
print '<tr class="liste_total"><td class="right" colspan="3">'.$langs->trans("SubTotal").':</td><td class="nowrap right">'.price($sous_total_debit).'</td><td class="nowrap right">'.price($sous_total_credit).'</td><td class="nowrap right">'.price(price2num($sous_total_credit - $sous_total_debit)).'</td>';
|
print '<tr class="liste_total"><td class="right" colspan="2">'.$langs->trans("SubTotal").':</td>';
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) print '<td class="nowrap right">'.price($sous_total_opening_balance).'</td>';
|
||||||
|
print '<td class="nowrap right">'.price($sous_total_debit).'</td>';
|
||||||
|
print '<td class="nowrap right">'.price($sous_total_credit).'</td>';
|
||||||
|
print '<td class="nowrap right">'.price(price2num($sous_total_credit - $sous_total_debit)).'</td>';
|
||||||
print "<td> </td>\n";
|
print "<td> </td>\n";
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show first line of a break
|
// Show first line of a break
|
||||||
print '<tr class="trforbreak">';
|
print '<tr class="trforbreak">';
|
||||||
print '<td colspan="7" style="font-weight:bold; border-bottom: 1pt solid black;">'.$line->numero_compte.($root_account_description ? ' - '.$root_account_description : '').'</td>';
|
$colspan = (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE) ? 7 : 6);
|
||||||
|
print '<td colspan="'.$colspan.'" style="font-weight:bold; border-bottom: 1pt solid black;">'.$line->numero_compte.($root_account_description ? ' - '.$root_account_description : '').'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
$displayed_account = $root_account_description;
|
$displayed_account = $root_account_description;
|
||||||
$sous_total_debit = 0;
|
$sous_total_debit = 0;
|
||||||
$sous_total_credit = 0;
|
$sous_total_credit = 0;
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) $sous_total_opening_balance = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// $object->get_compte_racine($line->numero_compte);
|
// $object->get_compte_racine($line->numero_compte);
|
||||||
|
|
||||||
print '<td>'.length_accountg($line->numero_compte).'</td>';
|
print '<td>'.length_accountg($line->numero_compte).'</td>';
|
||||||
print '<td>'.$description.'</td>';
|
print '<td>'.$description.'</td>';
|
||||||
print '<td class="nowraponall right">'.price($opening_balances["'".$line->numero_compte."'"]).'</td>';
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) print '<td class="nowraponall right">'.price($opening_balance).'</td>';
|
||||||
print '<td class="nowraponall right">'.price($line->debit).'</td>';
|
print '<td class="nowraponall right">'.price($line->debit).'</td>';
|
||||||
print '<td class="nowraponall right">'.price($line->credit).'</td>';
|
print '<td class="nowraponall right">'.price($line->credit).'</td>';
|
||||||
print '<td class="nowraponall right">'.price($line->debit - $line->credit).'</td>';
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||||
|
print '<td class="nowraponall right">'.price($opening_balance + $line->debit - $line->credit).'</td>';
|
||||||
|
} else {
|
||||||
|
print '<td class="nowraponall right">'.price($line->debit - $line->credit).'</td>';
|
||||||
|
}
|
||||||
print '<td class="center">'.$link;
|
print '<td class="center">'.$link;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
// Comptabilise le sous-total
|
// Records the sub-total
|
||||||
$sous_total_debit += $line->debit;
|
$sous_total_debit += $line->debit;
|
||||||
$sous_total_credit += $line->credit;
|
$sous_total_credit += $line->credit;
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) $sous_total_opening_balance += $opening_balance;
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<tr class="liste_total"><td class="right" colspan="3">'.$langs->trans("SubTotal").':</td><td class="nowrap right">'.price($sous_total_debit).'</td><td class="nowrap right">'.price($sous_total_credit).'</td><td class="nowrap right">'.price(price2num($sous_total_debit - $sous_total_credit)).'</td>';
|
print '<tr class="liste_total"><td class="right" colspan="2">'.$langs->trans("SubTotal").':</td>';
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) print '<td class="nowrap right">'.price($sous_total_opening_balance).'</td>';
|
||||||
|
print '<td class="nowrap right">'.price($sous_total_debit).'</td>';
|
||||||
|
print '<td class="nowrap right">'.price($sous_total_credit).'</td>';
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||||
|
print '<td class="nowrap right">' . price(price2num($sous_total_opening_balance + $sous_total_debit - $sous_total_credit, 'MT')) . '</td>';
|
||||||
|
} else {
|
||||||
|
print '<td class="nowrap right">' . price(price2num($sous_total_debit - $sous_total_credit, 'MT')) . '</td>';
|
||||||
|
}
|
||||||
print "<td> </td>\n";
|
print "<td> </td>\n";
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '<tr class="liste_total"><td class="right" colspan="3">'.$langs->trans("AccountBalance").':</td><td class="nowrap right">'.price($total_debit).'</td><td class="nowrap right">'.price($total_credit).'</td><td class="nowrap right">'.price(price2num($total_debit - $total_credit)).'</td>';
|
print '<tr class="liste_total"><td class="right" colspan="2">'.$langs->trans("AccountBalance").':</td>';
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) print '<td class="nowrap right">'.price($total_opening_balance).'</td>';
|
||||||
|
print '<td class="nowrap right">'.price($total_debit).'</td>';
|
||||||
|
print '<td class="nowrap right">'.price($total_credit).'</td>';
|
||||||
|
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||||
|
print '<td class="nowrap right">' . price(price2num($total_opening_balance + $total_debit - $total_credit, 'MT')) . '</td>';
|
||||||
|
} else {
|
||||||
|
print '<td class="nowrap right">' . price(price2num($total_debit - $total_credit, 'MT')) . '</td>';
|
||||||
|
}
|
||||||
print "<td> </td>\n";
|
print "<td> </td>\n";
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
|||||||
@ -45,14 +45,14 @@ $search_mvt_num = GETPOST('search_mvt_num', 'int');
|
|||||||
$search_doc_type = GETPOST("search_doc_type", 'alpha');
|
$search_doc_type = GETPOST("search_doc_type", 'alpha');
|
||||||
$search_doc_ref = GETPOST("search_doc_ref", 'alpha');
|
$search_doc_ref = GETPOST("search_doc_ref", 'alpha');
|
||||||
$search_date_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int'));
|
$search_date_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int'));
|
||||||
$search_date_end = dol_mktime(0, 0, 0, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int'));
|
$search_date_end = dol_mktime(23, 59, 59, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int'));
|
||||||
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
|
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
|
||||||
$search_date_creation_start = dol_mktime(0, 0, 0, GETPOST('date_creation_startmonth', 'int'), GETPOST('date_creation_startday', 'int'), GETPOST('date_creation_startyear', 'int'));
|
$search_date_creation_start = dol_mktime(0, 0, 0, GETPOST('date_creation_startmonth', 'int'), GETPOST('date_creation_startday', 'int'), GETPOST('date_creation_startyear', 'int'));
|
||||||
$search_date_creation_end = dol_mktime(0, 0, 0, GETPOST('date_creation_endmonth', 'int'), GETPOST('date_creation_endday', 'int'), GETPOST('date_creation_endyear', 'int'));
|
$search_date_creation_end = dol_mktime(23, 59, 59, GETPOST('date_creation_endmonth', 'int'), GETPOST('date_creation_endday', 'int'), GETPOST('date_creation_endyear', 'int'));
|
||||||
$search_date_modification_start = dol_mktime(0, 0, 0, GETPOST('date_modification_startmonth', 'int'), GETPOST('date_modification_startday', 'int'), GETPOST('date_modification_startyear', 'int'));
|
$search_date_modification_start = dol_mktime(0, 0, 0, GETPOST('date_modification_startmonth', 'int'), GETPOST('date_modification_startday', 'int'), GETPOST('date_modification_startyear', 'int'));
|
||||||
$search_date_modification_end = dol_mktime(0, 0, 0, GETPOST('date_modification_endmonth', 'int'), GETPOST('date_modification_endday', 'int'), GETPOST('date_modification_endyear', 'int'));
|
$search_date_modification_end = dol_mktime(23, 59, 59, GETPOST('date_modification_endmonth', 'int'), GETPOST('date_modification_endday', 'int'), GETPOST('date_modification_endyear', 'int'));
|
||||||
$search_date_export_start = dol_mktime(0, 0, 0, GETPOST('date_export_startmonth', 'int'), GETPOST('date_export_startday', 'int'), GETPOST('date_export_startyear', 'int'));
|
$search_date_export_start = dol_mktime(0, 0, 0, GETPOST('date_export_startmonth', 'int'), GETPOST('date_export_startday', 'int'), GETPOST('date_export_startyear', 'int'));
|
||||||
$search_date_export_end = dol_mktime(0, 0, 0, GETPOST('date_export_endmonth', 'int'), GETPOST('date_export_endday', 'int'), GETPOST('date_export_endyear', 'int'));
|
$search_date_export_end = dol_mktime(23, 59, 59, GETPOST('date_export_endmonth', 'int'), GETPOST('date_export_endday', 'int'), GETPOST('date_export_endyear', 'int'));
|
||||||
|
|
||||||
//var_dump($search_date_start);exit;
|
//var_dump($search_date_start);exit;
|
||||||
if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_delmvt")) {
|
if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_delmvt")) {
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
/* Copyright (C) 2016 Neil Orley <neil.orley@oeris.fr>
|
/* Copyright (C) 2016 Neil Orley <neil.orley@oeris.fr>
|
||||||
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2013-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -31,6 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ $langs->loadLangs(array("accountancy"));
|
|||||||
|
|
||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
$search_date_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int'));
|
$search_date_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int'));
|
||||||
$search_date_end = dol_mktime(0, 0, 0, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int'));
|
$search_date_end = dol_mktime(23, 59, 59, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int'));
|
||||||
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
|
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
|
||||||
|
|
||||||
$search_accountancy_code = GETPOST("search_accountancy_code");
|
$search_accountancy_code = GETPOST("search_accountancy_code");
|
||||||
@ -293,6 +294,7 @@ if ($action == 'delmouvconfirm' && $user->rights->accounting->mouvements->suppri
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$formaccounting = new FormAccounting($db);
|
$formaccounting = new FormAccounting($db);
|
||||||
|
$formfile = new FormFile($db);
|
||||||
$formother = new FormOther($db);
|
$formother = new FormOther($db);
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
@ -551,7 +553,7 @@ while ($i < min($num, $limit))
|
|||||||
|
|
||||||
// Show the break account
|
// Show the break account
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print '<td colspan="'.$totalarray['nbfield'].'" style="font-weight:bold; border-bottom: 1pt solid black;">';
|
print '<td colspan="'.($totalarray['nbfield'] ? $totalarray['nbfield'] : 9).'" style="font-weight:bold; border-bottom: 1pt solid black;">';
|
||||||
if ($line->numero_compte != "" && $line->numero_compte != '-1') print length_accountg($line->numero_compte).' : '.$object->get_compte_desc($line->numero_compte);
|
if ($line->numero_compte != "" && $line->numero_compte != '-1') print length_accountg($line->numero_compte).' : '.$object->get_compte_desc($line->numero_compte);
|
||||||
else print '<span class="error">'.$langs->trans("Unknown").'</span>';
|
else print '<span class="error">'.$langs->trans("Unknown").'</span>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
* Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
* Copyright (C) 2016 Pierre-Henry Favre <phf@atm-consulting.fr>
|
* Copyright (C) 2016 Pierre-Henry Favre <phf@atm-consulting.fr>
|
||||||
* Copyright (C) 2016-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2016-2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2017 Elarifr. Ari Elbaz <github@accedinfo.com>
|
* Copyright (C) 2017 Elarifr. Ari Elbaz <github@accedinfo.com>
|
||||||
* Copyright (C) 2017-2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2017-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||||
@ -332,9 +332,9 @@ class AccountancyExport
|
|||||||
print length_accountg($line->numero_compte).$separator;
|
print length_accountg($line->numero_compte).$separator;
|
||||||
print length_accounta($line->subledger_account).$separator;
|
print length_accounta($line->subledger_account).$separator;
|
||||||
print $line->sens.$separator;
|
print $line->sens.$separator;
|
||||||
print price($line->montant).$separator;
|
print price2fec(abs($line->montant)).$separator;
|
||||||
print $line->label_operation.$separator;
|
print dol_string_unaccent($line->label_operation).$separator;
|
||||||
print $line->doc_ref;
|
print dol_string_unaccent($line->doc_ref);
|
||||||
print $end_line;
|
print $end_line;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -386,6 +386,7 @@ class AccountancyExport
|
|||||||
|
|
||||||
foreach ($objectLines as $line) {
|
foreach ($objectLines as $line) {
|
||||||
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
|
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
|
||||||
|
|
||||||
print $date.$separator;
|
print $date.$separator;
|
||||||
print $line->code_journal.$separator;
|
print $line->code_journal.$separator;
|
||||||
print length_accountg($line->numero_compte).$separator;
|
print length_accountg($line->numero_compte).$separator;
|
||||||
@ -394,7 +395,7 @@ class AccountancyExport
|
|||||||
print price($line->debit).$separator;
|
print price($line->debit).$separator;
|
||||||
print price($line->credit).$separator;
|
print price($line->credit).$separator;
|
||||||
print 'E'.$separator;
|
print 'E'.$separator;
|
||||||
print length_accountg($line->subledger_account).$separator;
|
print length_accounta($line->subledger_account).$separator;
|
||||||
print $end_line;
|
print $end_line;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -438,33 +439,43 @@ class AccountancyExport
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Export format : CIEL
|
* Export format : CIEL (Format XIMPORT)
|
||||||
|
* Format since 2003 compatible CIEL version > 2002 / Sage50
|
||||||
|
* Last review for this format : 2021/07/28 Alexandre Spangaro (aspangaro@open-dsi.fr)
|
||||||
|
*
|
||||||
|
* Help : https://sage50c.online-help.sage.fr/aide-technique/
|
||||||
|
* In sage software | Use menu : "Exchange" > "Importing entries..."
|
||||||
|
*
|
||||||
|
* If you want to force filename to "XIMPORT.TXT" for automatically import file present in a directory :
|
||||||
|
* use constant ACCOUNTING_EXPORT_XIMPORT_FORCE_FILENAME
|
||||||
*
|
*
|
||||||
* @param array $TData data
|
* @param array $TData data
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function exportCiel(&$TData)
|
public function exportCiel(&$TData)
|
||||||
{
|
{
|
||||||
global $conf;
|
|
||||||
|
|
||||||
$end_line = "\r\n";
|
$end_line = "\r\n";
|
||||||
|
|
||||||
$i = 1;
|
$i = 1;
|
||||||
$date_ecriture = dol_print_date(dol_now(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be yyyymmdd
|
|
||||||
foreach ($TData as $data) {
|
foreach ($TData as $data) {
|
||||||
$code_compta = $data->numero_compte;
|
$code_compta = length_accountg($data->numero_compte);
|
||||||
if (!empty($data->subledger_account))
|
if (!empty($data->subledger_account)) {
|
||||||
$code_compta = $data->subledger_account;
|
$code_compta = length_accounta($data->subledger_account);
|
||||||
|
}
|
||||||
|
|
||||||
|
$date_document = dol_print_date($data->doc_date, '%Y%m%d');
|
||||||
|
$date_echeance = dol_print_date($data->date_lim_reglement, '%Y%m%d');
|
||||||
|
|
||||||
$Tab = array();
|
$Tab = array();
|
||||||
$Tab['num_ecriture'] = str_pad($i, 5);
|
$Tab['num_ecriture'] = str_pad($data->piece_num, 5);
|
||||||
$Tab['code_journal'] = str_pad($data->code_journal, 2);
|
$Tab['code_journal'] = str_pad($data->code_journal, 2);
|
||||||
$Tab['date_ecriture'] = $date_ecriture;
|
$Tab['date_ecriture'] = str_pad($date_document, 8, ' ', STR_PAD_LEFT);
|
||||||
$Tab['date_ope'] = dol_print_date($data->doc_date, $conf->global->ACCOUNTING_EXPORT_DATE);
|
$Tab['date_echeance'] = str_pad($date_echeance, 8, ' ', STR_PAD_LEFT);
|
||||||
$Tab['num_piece'] = str_pad(self::trunc($data->piece_num, 12), 12);
|
$Tab['num_piece'] = str_pad(self::trunc($data->doc_ref, 12), 12);
|
||||||
$Tab['num_compte'] = str_pad(self::trunc($code_compta, 11), 11);
|
$Tab['num_compte'] = str_pad(self::trunc($code_compta, 11), 11);
|
||||||
$Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).dol_string_unaccent($data->label_operation), 25), 25);
|
$Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).dol_string_unaccent($data->label_operation), 25), 25);
|
||||||
$Tab['montant'] = str_pad(abs($data->montant), 13, ' ', STR_PAD_LEFT);
|
$Tab['montant'] = str_pad(price2fec(abs($data->montant)), 13, ' ', STR_PAD_LEFT);
|
||||||
$Tab['type_montant'] = str_pad($data->sens, 1);
|
$Tab['type_montant'] = str_pad($data->sens, 1);
|
||||||
$Tab['vide'] = str_repeat(' ', 18);
|
$Tab['vide'] = str_repeat(' ', 18);
|
||||||
$Tab['intitule_compte'] = str_pad(self::trunc(dol_string_unaccent($data->label_operation), 34), 34);
|
$Tab['intitule_compte'] = str_pad(self::trunc(dol_string_unaccent($data->label_operation), 34), 34);
|
||||||
@ -518,9 +529,8 @@ class AccountancyExport
|
|||||||
$Tab['contrepartie'] = str_repeat(' ', 8);
|
$Tab['contrepartie'] = str_repeat(' ', 8);
|
||||||
|
|
||||||
// elarifr: date format must be fixed format : 6 char ddmmyy = %d%m%yand not defined by user / dolibarr setting
|
// elarifr: date format must be fixed format : 6 char ddmmyy = %d%m%yand not defined by user / dolibarr setting
|
||||||
if (!empty($data->date_echeance))
|
if (!empty($data->date_lim_reglement))
|
||||||
//$Tab['date_echeance'] = dol_print_date($data->date_echeance, $conf->global->ACCOUNTING_EXPORT_DATE);
|
$Tab['date_echeance'] = dol_print_date($data->date_lim_reglement, '%d%m%y'); // elarifr: format must be ddmmyy
|
||||||
$Tab['date_echeance'] = dol_print_date($data->date_echeance, '%d%m%y'); // elarifr: format must be ddmmyy
|
|
||||||
else
|
else
|
||||||
$Tab['date_echeance'] = '000000';
|
$Tab['date_echeance'] = '000000';
|
||||||
|
|
||||||
@ -616,9 +626,8 @@ class AccountancyExport
|
|||||||
|
|
||||||
$Tab['code_stat'] = str_repeat(' ', 4);
|
$Tab['code_stat'] = str_repeat(' ', 4);
|
||||||
|
|
||||||
if (!empty($data->date_echeance))
|
if (!empty($data->date_lim_reglement))
|
||||||
//$Tab['date_echeance'] = dol_print_date($data->date_echeance, $conf->global->ACCOUNTING_EXPORT_DATE);
|
$Tab['date_echeance'] = dol_print_date($data->date_lim_reglement, '%d%m%Y');
|
||||||
$Tab['date_echeance'] = dol_print_date($data->date_echeance, '%d%m%Y');
|
|
||||||
else
|
else
|
||||||
$Tab['date_echeance'] = dol_print_date($data->doc_date, '%d%m%Y');
|
$Tab['date_echeance'] = dol_print_date($data->doc_date, '%d%m%Y');
|
||||||
|
|
||||||
@ -784,7 +793,7 @@ class AccountancyExport
|
|||||||
public function exportFEC($objectLines)
|
public function exportFEC($objectLines)
|
||||||
{
|
{
|
||||||
$separator = "\t";
|
$separator = "\t";
|
||||||
$end_line = "\n";
|
$end_line = "\r\n";
|
||||||
|
|
||||||
print "JournalCode".$separator;
|
print "JournalCode".$separator;
|
||||||
print "JournalLib".$separator;
|
print "JournalLib".$separator;
|
||||||
@ -807,65 +816,70 @@ class AccountancyExport
|
|||||||
print $end_line;
|
print $end_line;
|
||||||
|
|
||||||
foreach ($objectLines as $line) {
|
foreach ($objectLines as $line) {
|
||||||
$date_creation = dol_print_date($line->date_creation, '%Y%m%d');
|
if ($line->debit == 0 && $line->credit == 0) {
|
||||||
$date_doc = dol_print_date($line->doc_date, '%Y%m%d');
|
unset($array[$line]);
|
||||||
$date_valid = dol_print_date($line->date_validated, '%Y%m%d');
|
} else {
|
||||||
|
$date_creation = dol_print_date($line->date_creation, '%Y%m%d');
|
||||||
|
$date_document = dol_print_date($line->doc_date, '%Y%m%d');
|
||||||
|
$date_lettering = dol_print_date($line->date_lettering, '%Y%m%d');
|
||||||
|
$date_validation = dol_print_date($line->date_validated, '%Y%m%d');
|
||||||
|
|
||||||
// FEC:JournalCode
|
// FEC:JournalCode
|
||||||
print $line->code_journal.$separator;
|
print $line->code_journal.$separator;
|
||||||
|
|
||||||
// FEC:JournalLib
|
// FEC:JournalLib
|
||||||
print $line->journal_label.$separator;
|
print $line->journal_label.$separator;
|
||||||
|
|
||||||
// FEC:EcritureNum
|
// FEC:EcritureNum
|
||||||
print $line->piece_num.$separator;
|
print $line->piece_num.$separator;
|
||||||
|
|
||||||
// FEC:EcritureDate
|
// FEC:EcritureDate
|
||||||
print $date_creation.$separator;
|
print $date_document . $separator;
|
||||||
|
|
||||||
// FEC:CompteNum
|
// FEC:CompteNum
|
||||||
print $line->numero_compte.$separator;
|
print $line->numero_compte.$separator;
|
||||||
|
|
||||||
// FEC:CompteLib
|
// FEC:CompteLib
|
||||||
print $line->label_compte.$separator;
|
print dol_string_unaccent($line->label_compte) . $separator;
|
||||||
|
|
||||||
// FEC:CompAuxNum
|
// FEC:CompAuxNum
|
||||||
print $line->subledger_account.$separator;
|
print $line->subledger_account.$separator;
|
||||||
|
|
||||||
// FEC:CompAuxLib
|
// FEC:CompAuxLib
|
||||||
print $line->subledger_label.$separator;
|
print dol_string_unaccent($line->subledger_label).$separator;
|
||||||
|
|
||||||
// FEC:PieceRef
|
// FEC:PieceRef
|
||||||
print $line->doc_ref.$separator;
|
print $line->doc_ref.$separator;
|
||||||
|
|
||||||
// FEC:PieceDate
|
// FEC:PieceDate
|
||||||
print $date_doc.$separator;
|
print $date_creation.$separator;
|
||||||
|
|
||||||
// FEC:EcritureLib
|
// FEC:EcritureLib
|
||||||
print $line->label_operation.$separator;
|
print dol_string_unaccent($line->label_operation).$separator;
|
||||||
|
|
||||||
// FEC:Debit
|
// FEC:Debit
|
||||||
print price2fec($line->debit).$separator;
|
print price2fec($line->debit).$separator;
|
||||||
|
|
||||||
// FEC:Credit
|
// FEC:Credit
|
||||||
print price2fec($line->credit).$separator;
|
print price2fec($line->credit).$separator;
|
||||||
|
|
||||||
// FEC:EcritureLet
|
// FEC:EcritureLet
|
||||||
print $line->lettering_code.$separator;
|
print $line->lettering_code.$separator;
|
||||||
|
|
||||||
// FEC:DateLet
|
// FEC:DateLet
|
||||||
print $line->date_lettering.$separator;
|
print $date_lettering.$separator;
|
||||||
|
|
||||||
// FEC:ValidDate
|
// FEC:ValidDate
|
||||||
print $date_valid.$separator;
|
print $date_validation.$separator;
|
||||||
|
|
||||||
// FEC:Montantdevise
|
// FEC:Montantdevise
|
||||||
print $line->multicurrency_amount.$separator;
|
print $line->multicurrency_amount.$separator;
|
||||||
|
|
||||||
// FEC:Idevise
|
// FEC:Idevise
|
||||||
print $line->multicurrency_code;
|
print $line->multicurrency_code;
|
||||||
|
|
||||||
print $end_line;
|
print $end_line;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -488,7 +488,7 @@ class AccountingAccount extends CommonObject
|
|||||||
{
|
{
|
||||||
if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER))
|
if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER))
|
||||||
{
|
{
|
||||||
$label = $langs->trans("ShowAccoutingAccount");
|
$label = $langs->trans("ShowAccountingAccount");
|
||||||
$linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"';
|
$linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"';
|
||||||
}
|
}
|
||||||
$linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"';
|
$linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"';
|
||||||
|
|||||||
@ -365,7 +365,7 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= ", ".(!empty($this->subledger_account) ? ("'".$this->db->escape($this->subledger_account)."'") : "NULL");
|
$sql .= ", ".(!empty($this->subledger_account) ? ("'".$this->db->escape($this->subledger_account)."'") : "NULL");
|
||||||
$sql .= ", ".(!empty($this->subledger_label) ? ("'".$this->db->escape($this->subledger_label)."'") : "NULL");
|
$sql .= ", ".(!empty($this->subledger_label) ? ("'".$this->db->escape($this->subledger_label)."'") : "NULL");
|
||||||
$sql .= ", '".$this->db->escape($this->numero_compte)."'";
|
$sql .= ", '".$this->db->escape($this->numero_compte)."'";
|
||||||
$sql .= ", ".(!empty($this->label_operation) ? ("'".$this->db->escape($this->label_operation)."'") : "NULL");
|
$sql .= ", ".(!empty($this->label_compte) ? ("'".$this->db->escape($this->label_compte)."'") : "NULL");
|
||||||
$sql .= ", '".$this->db->escape($this->label_operation)."'";
|
$sql .= ", '".$this->db->escape($this->label_operation)."'";
|
||||||
$sql .= ", ".$this->debit;
|
$sql .= ", ".$this->debit;
|
||||||
$sql .= ", ".$this->credit;
|
$sql .= ", ".$this->credit;
|
||||||
|
|||||||
@ -31,6 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
||||||
@ -64,9 +65,9 @@ $sortfield = GETPOST('sortfield', 'alpha');
|
|||||||
$sortorder = GETPOST('sortorder', 'alpha');
|
$sortorder = GETPOST('sortorder', 'alpha');
|
||||||
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
||||||
if (empty($page) || $page < 0) $page = 0;
|
if (empty($page) || $page < 0) $page = 0;
|
||||||
|
$offset = $limit * $page;
|
||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
$offset = $limit * $page;
|
|
||||||
if (!$sortfield)
|
if (!$sortfield)
|
||||||
$sortfield = "f.datef, f.ref, fd.rowid";
|
$sortfield = "f.datef, f.ref, fd.rowid";
|
||||||
if (!$sortorder) {
|
if (!$sortorder) {
|
||||||
@ -91,7 +92,7 @@ $formaccounting = new FormAccounting($db);
|
|||||||
// Purge search criteria
|
// Purge search criteria
|
||||||
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
|
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
|
||||||
{
|
{
|
||||||
$search_societe='';
|
$search_societe = '';
|
||||||
$search_lineid = '';
|
$search_lineid = '';
|
||||||
$search_ref = '';
|
$search_ref = '';
|
||||||
$search_invoice = '';
|
$search_invoice = '';
|
||||||
@ -120,9 +121,9 @@ if (is_array($changeaccount) && count($changeaccount) > 0) {
|
|||||||
{
|
{
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
$sql1 = "UPDATE ".MAIN_DB_PREFIX."facturedet as l";
|
$sql1 = "UPDATE ".MAIN_DB_PREFIX."facturedet";
|
||||||
$sql1 .= " SET l.fk_code_ventilation=".(GETPOST('account_parent', 'int') > 0 ? GETPOST('account_parent', 'int') : '0');
|
$sql1 .= " SET fk_code_ventilation=".(GETPOST('account_parent', 'int') > 0 ? GETPOST('account_parent', 'int') : '0');
|
||||||
$sql1 .= ' WHERE l.rowid IN ('.implode(',', $changeaccount).')';
|
$sql1 .= ' WHERE rowid IN ('.implode(',', $changeaccount).')';
|
||||||
|
|
||||||
dol_syslog('accountancy/customer/lines.php::changeaccount sql= '.$sql1);
|
dol_syslog('accountancy/customer/lines.php::changeaccount sql= '.$sql1);
|
||||||
$resql1 = $db->query($sql1);
|
$resql1 = $db->query($sql1);
|
||||||
@ -175,7 +176,8 @@ print '<script type="text/javascript">
|
|||||||
$sql = "SELECT f.rowid as facid, f.ref as ref, f.type, f.datef, f.ref_client,";
|
$sql = "SELECT f.rowid as facid, f.ref as ref, f.type, f.datef, f.ref_client,";
|
||||||
$sql .= " fd.rowid, fd.description, fd.product_type as line_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.vat_src_code, fd.total_ttc,";
|
$sql .= " fd.rowid, fd.description, fd.product_type as line_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.vat_src_code, fd.total_ttc,";
|
||||||
$sql .= " s.rowid as socid, s.nom as name, s.code_compta, s.code_client,";
|
$sql .= " s.rowid as socid, s.nom as name, s.code_compta, s.code_client,";
|
||||||
$sql .= " p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.accountancy_code_sell, aa.rowid as fk_compte, aa.account_number, aa.label as label_compte,";
|
$sql .= " p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.accountancy_code_sell,";
|
||||||
|
$sql .= " aa.rowid as fk_compte, aa.account_number, aa.label, aa.labelshort,";
|
||||||
$sql .= " fd.situation_percent,";
|
$sql .= " fd.situation_percent,";
|
||||||
$sql .= " co.code as country_code, co.label as country,";
|
$sql .= " co.code as country_code, co.label as country,";
|
||||||
$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur";
|
$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur";
|
||||||
@ -343,16 +345,17 @@ if ($result) {
|
|||||||
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder);
|
||||||
$clickpicto = $form->showCheckAddButtons();
|
$checkpicto = $form->showCheckAddButtons();
|
||||||
print_liste_field_titre($clickpicto, '', '', '', '', '', '', '', 'center ');
|
print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$thirdpartystatic=new Societe($db);
|
$thirdpartystatic = new Societe($db);
|
||||||
$facture_static = new Facture($db);
|
$facture_static = new Facture($db);
|
||||||
$product_static = new Product($db);
|
$product_static = new Product($db);
|
||||||
|
$accountingaccountstatic = new AccountingAccount($db);
|
||||||
|
|
||||||
while ($objp = $db->fetch_object($result)) {
|
while ($i < min($num_lines, $limit)) {
|
||||||
$codecompta = length_accountg($objp->account_number).' - <span class="opacitymedium">'.$objp->label_compte.'</span>';
|
$objp = $db->fetch_object($result);
|
||||||
|
|
||||||
$facture_static->ref = $objp->ref;
|
$facture_static->ref = $objp->ref;
|
||||||
$facture_static->id = $objp->facid;
|
$facture_static->id = $objp->facid;
|
||||||
@ -374,6 +377,11 @@ if ($result) {
|
|||||||
$product_static->label = $objp->product_label;
|
$product_static->label = $objp->product_label;
|
||||||
$product_static->type = $objp->line_type;
|
$product_static->type = $objp->line_type;
|
||||||
|
|
||||||
|
$accountingaccountstatic->rowid = $objp->fk_compte;
|
||||||
|
$accountingaccountstatic->label = $objp->label;
|
||||||
|
$accountingaccountstatic->labelshort = $objp->labelshort;
|
||||||
|
$accountingaccountstatic->account_number = $objp->account_number;
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
// Line id
|
// Line id
|
||||||
@ -386,7 +394,7 @@ if ($result) {
|
|||||||
print '<td class="center">'.dol_print_date($db->jdate($objp->datef), 'day').'</td>';
|
print '<td class="center">'.dol_print_date($db->jdate($objp->datef), 'day').'</td>';
|
||||||
|
|
||||||
// Ref Product
|
// Ref Product
|
||||||
print '<td>';
|
print '<td class="tdoverflowmax100">';
|
||||||
if ($product_static->id > 0) print $product_static->getNomUrl(1);
|
if ($product_static->id > 0) print $product_static->getNomUrl(1);
|
||||||
if ($product_static->id > 0 && $objp->product_label) print '<br>';
|
if ($product_static->id > 0 && $objp->product_label) print '<br>';
|
||||||
if ($objp->product_label) print '<span class="opacitymedium">'.$objp->product_label.'</span>';
|
if ($objp->product_label) print '<span class="opacitymedium">'.$objp->product_label.'</span>';
|
||||||
@ -416,19 +424,16 @@ if ($result) {
|
|||||||
print '<td>'.$objp->tva_intra.'</td>';
|
print '<td>'.$objp->tva_intra.'</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $codecompta.' <a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
print $accountingaccountstatic->getNomUrl(0, 1, 1).' <a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a>';
|
print '</a></td>';
|
||||||
print '</td>';
|
|
||||||
|
|
||||||
print '<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.'"/></td>';
|
print '<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.'"/></td>';
|
||||||
|
|
||||||
print "</tr>";
|
print '</tr>';
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
print '</table>';
|
||||||
print "</table>";
|
print "</div>";
|
||||||
print "</div>";
|
|
||||||
|
|
||||||
if ($nbtotalofrecords > $limit) {
|
if ($nbtotalofrecords > $limit) {
|
||||||
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords, '', 0, '', '', $limit, 1);
|
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords, '', 0, '', '', $limit, 1);
|
||||||
|
|||||||
@ -27,10 +27,10 @@
|
|||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
@ -162,7 +162,7 @@ print '<script type="text/javascript">
|
|||||||
*/
|
*/
|
||||||
$sql = "SELECT er.ref, er.rowid as erid,";
|
$sql = "SELECT er.ref, er.rowid as erid,";
|
||||||
$sql .= " erd.rowid, erd.fk_c_type_fees, erd.comments, erd.total_ht, erd.fk_code_ventilation, erd.tva_tx, erd.vat_src_code, erd.date,";
|
$sql .= " erd.rowid, erd.fk_c_type_fees, erd.comments, erd.total_ht, erd.fk_code_ventilation, erd.tva_tx, erd.vat_src_code, erd.date,";
|
||||||
$sql .= " aa.label, aa.account_number,";
|
$sql .= " aa.label, aa.labelshort, aa.account_number,";
|
||||||
$sql .= " f.id as type_fees_id, f.code as type_fees_code, f.label as type_fees_label";
|
$sql .= " f.id as type_fees_id, f.code as type_fees_code, f.label as type_fees_label";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as er";
|
$sql .= " FROM ".MAIN_DB_PREFIX."expensereport as er";
|
||||||
$sql .= " , ".MAIN_DB_PREFIX."accounting_account as aa";
|
$sql .= " , ".MAIN_DB_PREFIX."accounting_account as aa";
|
||||||
@ -265,8 +265,7 @@ if ($result) {
|
|||||||
print '<td class="liste_titre right"><input type="text" class="flat maxwidth50" name="search_amount" value="'.dol_escape_htmltag($search_amount).'"></td>';
|
print '<td class="liste_titre right"><input type="text" class="flat maxwidth50" name="search_amount" value="'.dol_escape_htmltag($search_amount).'"></td>';
|
||||||
print '<td class="liste_titre center"><input type="text" class="flat maxwidth50" name="search_vat" size="1" placeholder="%" value="'.dol_escape_htmltag($search_vat).'"></td>';
|
print '<td class="liste_titre center"><input type="text" class="flat maxwidth50" name="search_vat" size="1" placeholder="%" value="'.dol_escape_htmltag($search_vat).'"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).'"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).'"></td>';
|
||||||
print '<td class="liste_titre right"></td>';
|
print '<td class="liste_titre center">';
|
||||||
print '<td class="liste_titre right">';
|
|
||||||
$searchpicto = $form->showFilterButtons();
|
$searchpicto = $form->showFilterButtons();
|
||||||
print $searchpicto;
|
print $searchpicto;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -284,20 +283,24 @@ if ($result) {
|
|||||||
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "erd.total_ht", "", $param, '', $sortfield, $sortorder, 'right ');
|
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "erd.total_ht", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||||
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "erd.tva_tx", "", $param, '', $sortfield, $sortorder, 'center ');
|
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "erd.tva_tx", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||||
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre('');
|
$checkpicto = $form->showCheckAddButtons();
|
||||||
$checkpicto = $form->showCheckAddButtons();
|
|
||||||
print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center ');
|
print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$expensereport_static = new ExpenseReport($db);
|
$expensereport_static = new ExpenseReport($db);
|
||||||
|
$accountingaccountstatic = new AccountingAccount($db);
|
||||||
|
|
||||||
while ($i < min($num_lines, $limit)) {
|
while ($i < min($num_lines, $limit)) {
|
||||||
$objp = $db->fetch_object($result);
|
$objp = $db->fetch_object($result);
|
||||||
$codeCompta = length_accountg($objp->account_number).' - <span class="opacitymedium">'.$objp->label.'</span>';
|
|
||||||
|
|
||||||
$expensereport_static->ref = $objp->ref;
|
$expensereport_static->ref = $objp->ref;
|
||||||
$expensereport_static->id = $objp->erid;
|
$expensereport_static->id = $objp->erid;
|
||||||
|
|
||||||
|
$accountingaccountstatic->rowid = $objp->fk_compte;
|
||||||
|
$accountingaccountstatic->label = $objp->label;
|
||||||
|
$accountingaccountstatic->labelshort = $objp->labelshort;
|
||||||
|
$accountingaccountstatic->account_number = $objp->account_number;
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
print '<td>'.$objp->rowid.'</td>';
|
print '<td>'.$objp->rowid.'</td>';
|
||||||
@ -324,12 +327,10 @@ if ($result) {
|
|||||||
|
|
||||||
print '<td class="center">'.vatrate($objp->tva_tx.($objp->vat_src_code ? ' ('.$objp->vat_src_code.')' : '')).'</td>';
|
print '<td class="center">'.vatrate($objp->tva_tx.($objp->vat_src_code ? ' ('.$objp->vat_src_code.')' : '')).'</td>';
|
||||||
|
|
||||||
print '<td>'.$codeCompta.'</td>';
|
print '<td>';
|
||||||
|
print $accountingaccountstatic->getNomUrl(0, 1, 1).' <a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
||||||
print '<td class="left"><a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
|
|
||||||
print '<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.'"/></td>';
|
print '<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.'"/></td>';
|
||||||
|
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|||||||
@ -93,87 +93,88 @@ if ($conf->accounting->enabled)
|
|||||||
print '<div class="'.($helpisexpanded ? '' : 'hideobject').'" id="idfaq">'; // hideobject is to start hidden
|
print '<div class="'.($helpisexpanded ? '' : 'hideobject').'" id="idfaq">'; // hideobject is to start hidden
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
print '<span class="opacitymedium">'.$langs->trans("AccountancyAreaDescIntro")."</span><br>\n";
|
print '<span class="opacitymedium">'.$langs->trans("AccountancyAreaDescIntro")."</span><br>\n";
|
||||||
print "<br>\n"; print "<br>\n";
|
if (!empty($user->rights->accounting->chartofaccount)){
|
||||||
|
print "<br>\n"; print "<br>\n";
|
||||||
|
|
||||||
print load_fiche_titre('<span class="fa fa-calendar-check-o"></span> '.$langs->trans("AccountancyAreaDescActionOnce"), '', '')."\n";
|
print load_fiche_titre('<span class="fa fa-calendar-check-o"></span> '.$langs->trans("AccountancyAreaDescActionOnce"), '', '')."\n";
|
||||||
print '<hr>';
|
print '<hr>';
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
// STEPS
|
// STEPS
|
||||||
$step++;
|
$step++;
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescJournalSetup", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/journals_list.php?id=35"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("AccountingJournals").'</strong></a>');
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescJournalSetup", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/journals_list.php?id=35"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("AccountingJournals").'</strong></a>');
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
$step++;
|
$step++;
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChartModel", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/accountmodel.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Pcg_version").'</strong></a>');
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChartModel", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/accountmodel.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Pcg_version").'</strong></a>');
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
$step++;
|
$step++;
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChart", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/account.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Chartofaccounts").'</strong></a>');
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescChart", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/account.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Chartofaccounts").'</strong></a>');
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
print $langs->trans("AccountancyAreaDescActionOnceBis");
|
print $langs->trans("AccountancyAreaDescActionOnceBis");
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
$step++;
|
$step++;
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescDefault", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/defaultaccounts.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong></a>');
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescDefault", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/defaultaccounts.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong></a>');
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
$step++;
|
$step++;
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBank", $step, '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuBankAccounts").'</strong></a>')."\n";
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescBank", $step, '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuBankAccounts").'</strong></a>')."\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
$step++;
|
$step++;
|
||||||
$textlink = '<a href="'.DOL_URL_ROOT.'/admin/dict.php?id=10&from=accountancy"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuVatAccounts").'</strong></a>';
|
$textlink = '<a href="'.DOL_URL_ROOT.'/admin/dict.php?id=10&from=accountancy"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuVatAccounts").'</strong></a>';
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescVat", $step, $textlink);
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescVat", $step, $textlink);
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
if (!empty($conf->tax->enabled))
|
if (!empty($conf->tax->enabled))
|
||||||
{
|
{
|
||||||
$textlink = '<a href="'.DOL_URL_ROOT.'/admin/dict.php?id=7&from=accountancy"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuTaxAccounts").'</strong></a>';
|
$textlink = '<a href="'.DOL_URL_ROOT.'/admin/dict.php?id=7&from=accountancy"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuTaxAccounts").'</strong></a>';
|
||||||
$step++;
|
$step++;
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescContrib", $step, $textlink);
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescContrib", $step, $textlink);
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
}
|
||||||
|
/*if (! empty($conf->salaries->enabled))
|
||||||
|
{
|
||||||
|
$step++;
|
||||||
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescSal", $step, '<strong>'.$langs->transnoentitiesnoconv("MenuFinancial").'-'.$langs->transnoentitiesnoconv("MenuAccountancy").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
||||||
|
// htdocs/admin/salaries.php
|
||||||
|
print "<br>\n";
|
||||||
|
print "<br>\n";
|
||||||
|
}*/
|
||||||
|
if (!empty($conf->expensereport->enabled)) // TODO Move this in the default account page because this is only one accounting account per purpose, not several.
|
||||||
|
{
|
||||||
|
$step++;
|
||||||
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescExpenseReport", $step, '<a href="'.DOL_URL_ROOT.'/admin/dict.php?id=17&from=accountancy"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuExpenseReportAccounts").'</strong></a>');
|
||||||
|
print "<br>\n";
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
if (! empty($conf->loan->enabled))
|
||||||
|
{
|
||||||
|
$step++;
|
||||||
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescLoan", $step, '<strong>'.$langs->transnoentitiesnoconv("MenuSpecialExpenses").' - '.$langs->transnoentitiesnoconv("Loans").'</strong> '.$langs->transnoentitiesnoconv("or").' <strong>'.$langs->transnoentitiesnoconv("MenuFinancial").'-'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
||||||
|
print "<br>\n";
|
||||||
|
}
|
||||||
|
if (! empty($conf->don->enabled))
|
||||||
|
{
|
||||||
|
$step++;
|
||||||
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescDonation", $step, '<strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
||||||
|
print "<br>\n";
|
||||||
|
}
|
||||||
|
if (! empty($conf->adherents->enabled))
|
||||||
|
{
|
||||||
|
$step++;
|
||||||
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescSubscription", $step, '<strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
||||||
|
print "<br>\n";
|
||||||
|
}*/
|
||||||
|
|
||||||
|
$step++;
|
||||||
|
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescProd", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/productaccount.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("ProductsBinding").'</strong></a>');
|
||||||
|
print "<br>\n";
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
}
|
}
|
||||||
/*if (! empty($conf->salaries->enabled))
|
|
||||||
{
|
|
||||||
$step++;
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescSal", $step, '<strong>'.$langs->transnoentitiesnoconv("MenuFinancial").'-'.$langs->transnoentitiesnoconv("MenuAccountancy").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
|
||||||
// htdocs/admin/salaries.php
|
|
||||||
print "<br>\n";
|
|
||||||
print "<br>\n";
|
|
||||||
}*/
|
|
||||||
if (!empty($conf->expensereport->enabled)) // TODO Move this in the default account page because this is only one accounting account per purpose, not several.
|
|
||||||
{
|
|
||||||
$step++;
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescExpenseReport", $step, '<a href="'.DOL_URL_ROOT.'/admin/dict.php?id=17&from=accountancy"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuExpenseReportAccounts").'</strong></a>');
|
|
||||||
print "<br>\n";
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
if (! empty($conf->loan->enabled))
|
|
||||||
{
|
|
||||||
$step++;
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescLoan", $step, '<strong>'.$langs->transnoentitiesnoconv("MenuSpecialExpenses").' - '.$langs->transnoentitiesnoconv("Loans").'</strong> '.$langs->transnoentitiesnoconv("or").' <strong>'.$langs->transnoentitiesnoconv("MenuFinancial").'-'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
|
||||||
print "<br>\n";
|
|
||||||
}
|
|
||||||
if (! empty($conf->don->enabled))
|
|
||||||
{
|
|
||||||
$step++;
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescDonation", $step, '<strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
|
||||||
print "<br>\n";
|
|
||||||
}
|
|
||||||
if (! empty($conf->adherents->enabled))
|
|
||||||
{
|
|
||||||
$step++;
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescSubscription", $step, '<strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>');
|
|
||||||
print "<br>\n";
|
|
||||||
}*/
|
|
||||||
|
|
||||||
$step++;
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("AccountancyAreaDescProd", $step, '<a href="'.DOL_URL_ROOT.'/accountancy/admin/productaccount.php"><strong>'.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("ProductsBinding").'</strong></a>');
|
|
||||||
print "<br>\n";
|
|
||||||
|
|
||||||
|
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
// Step A - E
|
// Step A - E
|
||||||
|
|
||||||
|
|||||||
@ -254,6 +254,8 @@ if ($result) {
|
|||||||
} else {
|
} else {
|
||||||
$tabpay[$obj->rowid]["lib"] = dol_trunc($obj->label, 60);
|
$tabpay[$obj->rowid]["lib"] = dol_trunc($obj->label, 60);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Load of url links to the line into llx_bank
|
||||||
$links = $object->get_url($obj->rowid); // Get an array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> )
|
$links = $object->get_url($obj->rowid); // Get an array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> )
|
||||||
|
|
||||||
//var_dump($i);
|
//var_dump($i);
|
||||||
@ -320,6 +322,7 @@ if ($result) {
|
|||||||
$chargestatic->ref = $links[$key]['url_id'];
|
$chargestatic->ref = $links[$key]['url_id'];
|
||||||
|
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' '.$chargestatic->getNomUrl(2);
|
$tabpay[$obj->rowid]["lib"] .= ' '.$chargestatic->getNomUrl(2);
|
||||||
|
$reg = array();
|
||||||
if (preg_match('/^\((.*)\)$/i', $links[$key]['label'], $reg)) {
|
if (preg_match('/^\((.*)\)$/i', $links[$key]['label'], $reg)) {
|
||||||
if ($reg[1] == 'socialcontribution')
|
if ($reg[1] == 'socialcontribution')
|
||||||
$reg[1] = 'SocialContribution';
|
$reg[1] = 'SocialContribution';
|
||||||
@ -331,11 +334,13 @@ if ($result) {
|
|||||||
$tabpay[$obj->rowid]["soclib"] = $chargestatic->getNomUrl(1, 30);
|
$tabpay[$obj->rowid]["soclib"] = $chargestatic->getNomUrl(1, 30);
|
||||||
$tabpay[$obj->rowid]["paymentscid"] = $chargestatic->id;
|
$tabpay[$obj->rowid]["paymentscid"] = $chargestatic->id;
|
||||||
|
|
||||||
|
// Retreive the accounting code of the social contribution of the payment from link of payment.
|
||||||
|
// Note: We have the social contribution id, it can be faster to get accounting code from social contribution id.
|
||||||
$sqlmid = 'SELECT cchgsoc.accountancy_code';
|
$sqlmid = 'SELECT cchgsoc.accountancy_code';
|
||||||
$sqlmid .= " FROM ".MAIN_DB_PREFIX."c_chargesociales cchgsoc ";
|
$sqlmid .= " FROM ".MAIN_DB_PREFIX."c_chargesociales cchgsoc";
|
||||||
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."chargesociales as chgsoc ON chgsoc.fk_type=cchgsoc.id";
|
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."chargesociales as chgsoc ON chgsoc.fk_type=cchgsoc.id";
|
||||||
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."paiementcharge as paycharg ON paycharg.fk_charge=chgsoc.rowid";
|
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."paiementcharge as paycharg ON paycharg.fk_charge=chgsoc.rowid";
|
||||||
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."bank_url as bkurl ON bkurl.url_id=paycharg.rowid";
|
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."bank_url as bkurl ON bkurl.url_id=paycharg.rowid AND bkurl.type = 'payment_sc'";
|
||||||
$sqlmid .= " WHERE bkurl.fk_bank=".$obj->rowid;
|
$sqlmid .= " WHERE bkurl.fk_bank=".$obj->rowid;
|
||||||
|
|
||||||
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=".$sqlmid, LOG_DEBUG);
|
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=".$sqlmid, LOG_DEBUG);
|
||||||
@ -858,7 +863,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"'.$date.'"'.$sep;
|
print '"'.$date.'"'.$sep;
|
||||||
print '"'.$val["type_payment"].'"'.$sep;
|
print '"'.$val["type_payment"].'"'.$sep;
|
||||||
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
||||||
print " ".$sep;
|
print " ".$sep;
|
||||||
print '"'.$reflabel.'"'.$sep;
|
print '"'.$reflabel.'"'.$sep;
|
||||||
print '"'.($mt >= 0 ? price($mt) : '').'"'.$sep;
|
print '"'.($mt >= 0 ? price($mt) : '').'"'.$sep;
|
||||||
@ -888,7 +893,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"'.$key.'"'.$sep;
|
print '"'.$key.'"'.$sep;
|
||||||
print '"'.$date.'"'.$sep;
|
print '"'.$date.'"'.$sep;
|
||||||
print '"'.$val["type_payment"].'"'.$sep;
|
print '"'.$val["type_payment"].'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
||||||
if ($tabtype[$key] == 'payment_supplier') {
|
if ($tabtype[$key] == 'payment_supplier') {
|
||||||
print '"'.$conf->global->ACCOUNTING_ACCOUNT_SUPPLIER.'"'.$sep;
|
print '"'.$conf->global->ACCOUNTING_ACCOUNT_SUPPLIER.'"'.$sep;
|
||||||
} elseif ($tabtype[$key] == 'payment') {
|
} elseif ($tabtype[$key] == 'payment') {
|
||||||
@ -898,7 +903,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
} elseif ($tabtype[$key] == 'payment_salary') {
|
} elseif ($tabtype[$key] == 'payment_salary') {
|
||||||
print '"'.$conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT.'"'.$sep;
|
print '"'.$conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT.'"'.$sep;
|
||||||
} else {
|
} else {
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
||||||
}
|
}
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.$reflabel.'"'.$sep;
|
print '"'.$reflabel.'"'.$sep;
|
||||||
@ -921,7 +926,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"'.$date.'"'.$sep;
|
print '"'.$date.'"'.$sep;
|
||||||
print '"'.$val["type_payment"].'"'.$sep;
|
print '"'.$val["type_payment"].'"'.$sep;
|
||||||
print '"'.length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE).'"'.$sep;
|
print '"'.length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE).'"'.$sep;
|
||||||
print '"'.length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE).'"'.$sep;
|
print '"'.length_accounta($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE).'"'.$sep;
|
||||||
print "".$sep;
|
print "".$sep;
|
||||||
print '"'.$reflabel.'"'.$sep;
|
print '"'.$reflabel.'"'.$sep;
|
||||||
print '"'.($mt < 0 ? price(-$mt) : '').'"'.$sep;
|
print '"'.($mt < 0 ? price(-$mt) : '').'"'.$sep;
|
||||||
@ -1125,7 +1130,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
if ($tabtype[$key] == 'payment_vat') $account_ledger = $conf->global->ACCOUNTING_VAT_PAY_ACCOUNT;
|
if ($tabtype[$key] == 'payment_vat') $account_ledger = $conf->global->ACCOUNTING_VAT_PAY_ACCOUNT;
|
||||||
if ($tabtype[$key] == 'member') $account_ledger = $conf->global->ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT;
|
if ($tabtype[$key] == 'member') $account_ledger = $conf->global->ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT;
|
||||||
if ($tabtype[$key] == 'payment_various') $account_ledger = $tabpay[$key]["account_various"];
|
if ($tabtype[$key] == 'payment_various') $account_ledger = $tabpay[$key]["account_various"];
|
||||||
$accounttoshow = length_accounta($account_ledger);
|
$accounttoshow = length_accountg($account_ledger);
|
||||||
if (empty($accounttoshow) || $accounttoshow == 'NotDefined')
|
if (empty($accounttoshow) || $accounttoshow == 'NotDefined')
|
||||||
{
|
{
|
||||||
if ($tabtype[$key] == 'unknown')
|
if ($tabtype[$key] == 'unknown')
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info>
|
* Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info>
|
||||||
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2013-2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
@ -265,7 +265,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$bookkeeping->montant = $mt;
|
$bookkeeping->montant = $mt;
|
||||||
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
|
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
|
||||||
$bookkeeping->debit = ($mt > 0) ? $mt : 0;
|
$bookkeeping->debit = ($mt > 0) ? $mt : 0;
|
||||||
$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
|
$bookkeeping->credit = ($mt <= 0) ? -$mt : 0;
|
||||||
$bookkeeping->code_journal = $journal;
|
$bookkeeping->code_journal = $journal;
|
||||||
$bookkeeping->journal_label = $journal_label;
|
$bookkeeping->journal_label = $journal_label;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
@ -325,7 +325,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$bookkeeping->montant = $mt;
|
$bookkeeping->montant = $mt;
|
||||||
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
|
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
|
||||||
$bookkeeping->debit = ($mt > 0) ? $mt : 0;
|
$bookkeeping->debit = ($mt > 0) ? $mt : 0;
|
||||||
$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
|
$bookkeeping->credit = ($mt <= 0) ? -$mt : 0;
|
||||||
$bookkeeping->code_journal = $journal;
|
$bookkeeping->code_journal = $journal;
|
||||||
$bookkeeping->journal_label = $journal_label;
|
$bookkeeping->journal_label = $journal_label;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
@ -608,7 +608,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
print "<td>".$expensereportstatic->getNomUrl(1)."</td>";
|
print "<td>".$expensereportstatic->getNomUrl(1)."</td>";
|
||||||
// Account
|
// Account
|
||||||
print "<td>";
|
print "<td>";
|
||||||
$accountoshow = length_accounta($conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT);
|
$accountoshow = length_accountg($conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT);
|
||||||
if (($accountoshow == "") || $accountoshow == 'NotDefined')
|
if (($accountoshow == "") || $accountoshow == 'NotDefined')
|
||||||
{
|
{
|
||||||
print '<span class="error">'.$langs->trans("MainAccountForUsersNotDefined").'</span>';
|
print '<span class="error">'.$langs->trans("MainAccountForUsersNotDefined").'</span>';
|
||||||
@ -625,7 +625,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
else print $accountoshow;
|
else print $accountoshow;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "<td>".$userstatic->getNomUrl(0, 'user', 16).' - '.$langs->trans("SubledgerAccount")."</td>";
|
print "<td>".$userstatic->getNomUrl(0, 'user', 16).' - '.$langs->trans("SubledgerAccount")."</td>";
|
||||||
print '<td class="right nowraponall">'.($mt < 0 ? -price(-$mt) : '')."</td>";
|
print '<td class="right nowraponall">'.($mt < 0 ? price(-$mt) : '')."</td>";
|
||||||
print '<td class="right nowraponall">'.($mt >= 0 ? price($mt) : '')."</td>";
|
print '<td class="right nowraponall">'.($mt >= 0 ? price($mt) : '')."</td>";
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info>
|
* Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info>
|
||||||
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2013-2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
@ -92,7 +92,7 @@ if (!GETPOSTISSET('date_startmonth') && (empty($date_start) || empty($date_end))
|
|||||||
$date_end = dol_get_last_day($pastmonthyear, $pastmonth, false);
|
$date_end = dol_get_last_day($pastmonthyear, $pastmonth, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "SELECT f.rowid, f.ref as ref, f.type, f.datef as df, f.libelle,f.ref_supplier, f.date_lim_reglement as dlf, f.close_code,";
|
$sql = "SELECT f.rowid, f.ref as ref, f.type, f.datef as df, f.libelle,f.ref_supplier, f.date_lim_reglement as dlr, f.close_code,";
|
||||||
$sql .= " fd.rowid as fdid, fd.description, fd.product_type, fd.total_ht, fd.tva as total_tva, fd.total_localtax1, fd.total_localtax2, fd.tva_tx, fd.total_ttc, fd.vat_src_code,";
|
$sql .= " fd.rowid as fdid, fd.description, fd.product_type, fd.total_ht, fd.tva as total_tva, fd.total_localtax1, fd.total_localtax2, fd.tva_tx, fd.total_ttc, fd.vat_src_code,";
|
||||||
$sql .= " s.rowid as socid, s.nom as name, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur,";
|
$sql .= " s.rowid as socid, s.nom as name, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur,";
|
||||||
$sql .= " p.accountancy_code_buy , aa.rowid as fk_compte, aa.account_number as compte, aa.label as label_compte";
|
$sql .= " p.accountancy_code_buy , aa.rowid as fk_compte, aa.account_number as compte, aa.label as label_compte";
|
||||||
@ -628,7 +628,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"'.$val["refsologest"].'"'.$sep;
|
print '"'.$val["refsologest"].'"'.$sep;
|
||||||
print '"'.utf8_decode(dol_trunc($companystatic->name, 32)).'"'.$sep;
|
print '"'.utf8_decode(dol_trunc($companystatic->name, 32)).'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.$conf->global->ACCOUNTING_ACCOUNT_SUPPLIER.'"'.$sep;
|
print '"'.length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER).'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.$langs->trans("Thirdparty").'"'.$sep;
|
print '"'.$langs->trans("Thirdparty").'"'.$sep;
|
||||||
print '"'.utf8_decode(dol_trunc($companystatic->name, 16)).' - '.$val["refsuppliersologest"].' - '.$langs->trans("Thirdparty").'"'.$sep;
|
print '"'.utf8_decode(dol_trunc($companystatic->name, 16)).' - '.$val["refsuppliersologest"].' - '.$langs->trans("Thirdparty").'"'.$sep;
|
||||||
@ -694,9 +694,9 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"'.$date.'"'.$sep;
|
print '"'.$date.'"'.$sep;
|
||||||
print '"'.$val["refsologest"].'"'.$sep;
|
print '"'.$val["refsologest"].'"'.$sep;
|
||||||
print '"'.utf8_decode(dol_trunc($companystatic->name, 32)).'"'.$sep;
|
print '"'.utf8_decode(dol_trunc($companystatic->name, 32)).'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accountg(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.$langs->trans("Thirdparty").'"'.$sep;
|
print '"'.$langs->trans("Thirdparty").'"'.$sep;
|
||||||
print '"'.utf8_decode(dol_trunc($companystatic->name, 16)).' - '.$val["refsuppliersologest"].' - '.$langs->trans("VAT").' NPR"'.$sep;
|
print '"'.utf8_decode(dol_trunc($companystatic->name, 16)).' - '.$val["refsuppliersologest"].' - '.$langs->trans("VAT").' NPR"'.$sep;
|
||||||
print '"'.($mt < 0 ? price(-$mt) : '').'"'.$sep;
|
print '"'.($mt < 0 ? price(-$mt) : '').'"'.$sep;
|
||||||
@ -867,7 +867,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
print "<td>".$invoicestatic->getNomUrl(1)."</td>";
|
print "<td>".$invoicestatic->getNomUrl(1)."</td>";
|
||||||
// Account
|
// Account
|
||||||
print "<td>";
|
print "<td>";
|
||||||
$accountoshow = length_accounta($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER);
|
$accountoshow = length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER);
|
||||||
if (($accountoshow == "") || $accountoshow == 'NotDefined')
|
if (($accountoshow == "") || $accountoshow == 'NotDefined')
|
||||||
{
|
{
|
||||||
print '<span class="error">'.$langs->trans("MainAccountForSuppliersNotDefined").'</span>';
|
print '<span class="error">'.$langs->trans("MainAccountForSuppliersNotDefined").'</span>';
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||||
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2013-2021 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
@ -586,7 +586,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"'.$val["ref"].'"'.$sep;
|
print '"'.$val["ref"].'"'.$sep;
|
||||||
print '"'.utf8_decode(dol_trunc($companystatic->name, 32)).'"'.$sep;
|
print '"'.utf8_decode(dol_trunc($companystatic->name, 32)).'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.$conf->global->ACCOUNTING_ACCOUNT_CUSTOMER.'"'.$sep;
|
print '"'.length_accountg($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER).'"'.$sep;
|
||||||
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
print '"'.length_accounta(html_entity_decode($k)).'"'.$sep;
|
||||||
print '"'.$langs->trans("Thirdparty").'"'.$sep;
|
print '"'.$langs->trans("Thirdparty").'"'.$sep;
|
||||||
print '"'.utf8_decode(dol_trunc($companystatic->name, 16)).' - '.$invoicestatic->ref.' - '.$langs->trans("Thirdparty").'"'.$sep;
|
print '"'.utf8_decode(dol_trunc($companystatic->name, 16)).' - '.$invoicestatic->ref.' - '.$langs->trans("Thirdparty").'"'.$sep;
|
||||||
@ -803,7 +803,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
print "<td>".$invoicestatic->getNomUrl(1)."</td>";
|
print "<td>".$invoicestatic->getNomUrl(1)."</td>";
|
||||||
// Account
|
// Account
|
||||||
print "<td>";
|
print "<td>";
|
||||||
$accountoshow = length_accounta($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER);
|
$accountoshow = length_accountg($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER);
|
||||||
if (($accountoshow == "") || $accountoshow == 'NotDefined')
|
if (($accountoshow == "") || $accountoshow == 'NotDefined')
|
||||||
{
|
{
|
||||||
print '<span class="error">'.$langs->trans("MainAccountForCustomersNotDefined").'</span>';
|
print '<span class="error">'.$langs->trans("MainAccountForCustomersNotDefined").'</span>';
|
||||||
|
|||||||
@ -32,7 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
||||||
@ -123,9 +123,9 @@ if (is_array($changeaccount) && count($changeaccount) > 0) {
|
|||||||
{
|
{
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
$sql1 = "UPDATE ".MAIN_DB_PREFIX."facture_fourn_det as l";
|
$sql1 = "UPDATE ".MAIN_DB_PREFIX."facture_fourn_det";
|
||||||
$sql1 .= " SET l.fk_code_ventilation=".(GETPOST('account_parent', 'int') > 0 ? GETPOST('account_parent', 'int') : '0');
|
$sql1 .= " SET fk_code_ventilation=".(GETPOST('account_parent', 'int') > 0 ? GETPOST('account_parent', 'int') : '0');
|
||||||
$sql1 .= ' WHERE l.rowid IN ('.implode(',', $changeaccount).')';
|
$sql1 .= ' WHERE rowid IN ('.implode(',', $changeaccount).')';
|
||||||
|
|
||||||
dol_syslog('accountancy/supplier/lines.php::changeaccount sql= '.$sql1);
|
dol_syslog('accountancy/supplier/lines.php::changeaccount sql= '.$sql1);
|
||||||
$resql1 = $db->query($sql1);
|
$resql1 = $db->query($sql1);
|
||||||
@ -177,7 +177,7 @@ print '<script type="text/javascript">
|
|||||||
*/
|
*/
|
||||||
$sql = "SELECT f.rowid as facid, f.ref as ref, f.ref_supplier, f.libelle as invoice_label, f.datef, f.fk_soc,";
|
$sql = "SELECT f.rowid as facid, f.ref as ref, f.ref_supplier, f.libelle as invoice_label, f.datef, f.fk_soc,";
|
||||||
$sql .= " l.rowid, l.fk_product, l.product_type as line_type, l.description, l.total_ht , l.qty, l.tva_tx, l.vat_src_code,";
|
$sql .= " l.rowid, l.fk_product, l.product_type as line_type, l.description, l.total_ht , l.qty, l.tva_tx, l.vat_src_code,";
|
||||||
$sql .= " aa.label, aa.account_number, ";
|
$sql .= " aa.label, aa.labelshort, aa.account_number, ";
|
||||||
$sql .= " p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.fk_product_type as type,";
|
$sql .= " p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.fk_product_type as type,";
|
||||||
$sql .= " co.code as country_code, co.label as country,";
|
$sql .= " co.code as country_code, co.label as country,";
|
||||||
$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur";
|
$sql .= " s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur";
|
||||||
@ -261,9 +261,8 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
|||||||
|
|
||||||
$sql .= $db->plimit($limit + 1, $offset);
|
$sql .= $db->plimit($limit + 1, $offset);
|
||||||
|
|
||||||
dol_syslog('accountancy/supplier/lines.php');
|
dol_syslog("accountancy/supplier/lines.php", LOG_DEBUG);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$num_lines = $db->num_rows($result);
|
$num_lines = $db->num_rows($result);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
@ -271,7 +270,7 @@ if ($result) {
|
|||||||
$param = '';
|
$param = '';
|
||||||
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
||||||
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
||||||
if ($search_societe) $param .= "&search_societe=" . urlencode($search_societe);
|
if ($search_societe) $param .= "&search_societe=".urlencode($search_societe);
|
||||||
if ($search_invoice) $param .= "&search_invoice=".urlencode($search_invoice);
|
if ($search_invoice) $param .= "&search_invoice=".urlencode($search_invoice);
|
||||||
if ($search_ref) $param .= "&search_ref=".urlencode($search_ref);
|
if ($search_ref) $param .= "&search_ref=".urlencode($search_ref);
|
||||||
if ($search_label) $param .= "&search_label=".urlencode($search_label);
|
if ($search_label) $param .= "&search_label=".urlencode($search_label);
|
||||||
@ -294,12 +293,11 @@ if ($result) {
|
|||||||
print '<input type="hidden" name="page" value="'.$page.'">';
|
print '<input type="hidden" name="page" value="'.$page.'">';
|
||||||
|
|
||||||
print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num_lines, $nbtotalofrecords, 'title_accountancy', 0, '', '', $limit);
|
print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num_lines, $nbtotalofrecords, 'title_accountancy', 0, '', '', $limit);
|
||||||
|
|
||||||
print '<span class="opacitymedium">'.$langs->trans("DescVentilDoneSupplier").'</span><br>';
|
print '<span class="opacitymedium">'.$langs->trans("DescVentilDoneSupplier").'</span><br>';
|
||||||
|
|
||||||
print '<br><div class="inline-block divButAction">'.$langs->trans("ChangeAccount").'<br>';
|
print '<br><div class="inline-block divButAction">'.$langs->trans("ChangeAccount").'<br>';
|
||||||
print $formaccounting->select_account($account_parent, 'account_parent', 2, array(), 0, 0, 'maxwidth300 maxwidthonsmartphone valignmiddle');
|
print $formaccounting->select_account($account_parent, 'account_parent', 2, array(), 0, 0, 'maxwidth300 maxwidthonsmartphone valignmiddle');
|
||||||
print '<input type="submit" class="button valignmiddle" value="'.$langs->trans("ChangeBinding").'" /></div>';
|
print '<input type="submit" class="button valignmiddle" value="'.$langs->trans("ChangeBinding").'"/></div>';
|
||||||
|
|
||||||
$moreforfilter = '';
|
$moreforfilter = '';
|
||||||
|
|
||||||
@ -328,10 +326,9 @@ if ($result) {
|
|||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_tvaintra" value="'.dol_escape_htmltag($search_tvaintra).'"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_tvaintra" value="'.dol_escape_htmltag($search_tvaintra).'"></td>';
|
||||||
print '<td class="liste_titre center"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).'"></td>';
|
print '<td class="liste_titre center"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).'"></td>';
|
||||||
print '<td class="liste_titre center">';
|
print '<td class="liste_titre center">';
|
||||||
$searchpicto = $form->showFilterButtons();
|
$searchpicto = $form->showFilterButtons();
|
||||||
print $searchpicto;
|
print $searchpicto;
|
||||||
print '</td>';
|
print "</td></tr>\n";
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre("LineId", $_SERVER["PHP_SELF"], "l.rowid", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("LineId", $_SERVER["PHP_SELF"], "l.rowid", "", $param, '', $sortfield, $sortorder);
|
||||||
@ -351,15 +348,14 @@ if ($result) {
|
|||||||
print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center ');
|
print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$thirdpartystatic = new Societe($db);
|
$thirdpartystatic = new Societe($db);
|
||||||
$facturefournisseur_static = new FactureFournisseur($db);
|
$facturefournisseur_static = new FactureFournisseur($db);
|
||||||
$product_static = new ProductFournisseur($db);
|
$product_static = new ProductFournisseur($db);
|
||||||
|
$accountingaccountstatic = new AccountingAccount($db);
|
||||||
|
|
||||||
while ($i < min($num_lines, $limit)) {
|
while ($i < min($num_lines, $limit)) {
|
||||||
$objp = $db->fetch_object($result);
|
$objp = $db->fetch_object($result);
|
||||||
|
|
||||||
$codecompta = length_accountg($objp->account_number).' - <span class="opacitymedium">'.$objp->label.'</span>';
|
|
||||||
|
|
||||||
$facturefournisseur_static->ref = $objp->ref;
|
$facturefournisseur_static->ref = $objp->ref;
|
||||||
$facturefournisseur_static->id = $objp->facid;
|
$facturefournisseur_static->id = $objp->facid;
|
||||||
|
|
||||||
@ -379,6 +375,11 @@ if ($result) {
|
|||||||
$product_static->label = $objp->product_label;
|
$product_static->label = $objp->product_label;
|
||||||
$product_static->type = $objp->line_type;
|
$product_static->type = $objp->line_type;
|
||||||
|
|
||||||
|
$accountingaccountstatic->rowid = $objp->fk_compte;
|
||||||
|
$accountingaccountstatic->label = $objp->label;
|
||||||
|
$accountingaccountstatic->labelshort = $objp->labelshort;
|
||||||
|
$accountingaccountstatic->account_number = $objp->account_number;
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
// Line id
|
// Line id
|
||||||
@ -394,15 +395,14 @@ if ($result) {
|
|||||||
// Date invoice
|
// Date invoice
|
||||||
print '<td class="center">'.dol_print_date($db->jdate($objp->datef), 'day').'</td>';
|
print '<td class="center">'.dol_print_date($db->jdate($objp->datef), 'day').'</td>';
|
||||||
|
|
||||||
// Ref product
|
// Ref Product
|
||||||
print '<td class="tdoverflowmax100">';
|
print '<td class="tdoverflowmax100">';
|
||||||
if ($product_static->id > 0) print $product_static->getNomUrl(1);
|
if ($product_static->id > 0) print $product_static->getNomUrl(1);
|
||||||
if ($product_static->id > 0 && $objp->product_label) print '<br>';
|
if ($product_static->id > 0 && $objp->product_label) print '<br>';
|
||||||
if ($objp->product_label) print '<span class="opacitymedium">'.$objp->product_label.'</span>';
|
if ($objp->product_label) print '<span class="opacitymedium">'.$objp->product_label.'</span>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Description
|
print '<td class="tdoverflowonsmartphone">';
|
||||||
print '<td>';
|
|
||||||
$text = dolGetFirstLineOfText(dol_string_nohtmltag($objp->description));
|
$text = dolGetFirstLineOfText(dol_string_nohtmltag($objp->description));
|
||||||
$trunclength = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
|
$trunclength = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
|
||||||
print $form->textwithtooltip(dol_trunc($text, $trunclength), $objp->description);
|
print $form->textwithtooltip(dol_trunc($text, $trunclength), $objp->description);
|
||||||
@ -426,7 +426,7 @@ if ($result) {
|
|||||||
print '<td>'.$objp->tva_intra.'</td>';
|
print '<td>'.$objp->tva_intra.'</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $codecompta.' <a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
print $accountingaccountstatic->getNomUrl(0, 1, 1).' <a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
print '<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.'"/></td>';
|
print '<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.'"/></td>';
|
||||||
|
|||||||
@ -58,9 +58,9 @@ if ($accountancyexport->getFormatCode($formatexportset) == $accountancyexport::$
|
|||||||
$endaccountingperiod = dol_print_date(dol_get_last_day($tmparray['year'], $tmparray['mon']), 'dayxcard');
|
$endaccountingperiod = dol_print_date(dol_get_last_day($tmparray['year'], $tmparray['mon']), 'dayxcard');
|
||||||
|
|
||||||
$completefilename = $siren."FEC".$endaccountingperiod.".txt";
|
$completefilename = $siren."FEC".$endaccountingperiod.".txt";
|
||||||
}
|
} elseif ($accountancyexport->getFormatCode($formatexportset) == $accountancyexport::$EXPORT_TYPE_CIEL && $type_export == "general_ledger" && !empty($conf->global->ACCOUNTING_EXPORT_XIMPORT_FORCE_FILENAME)) {
|
||||||
else
|
$completefilename = "XIMPORT.TXT";
|
||||||
{
|
} else {
|
||||||
$completefilename = ($code ? $code."_" : "").($prefix ? $prefix."_" : "").$filename.($nodateexport ? "" : $date_export).".".$format;
|
$completefilename = ($code ? $code."_" : "").($prefix ? $prefix."_" : "").$filename.($nodateexport ? "" : $date_export).".".$format;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -93,6 +93,7 @@ if ($action == 'update' || $action == 'add')
|
|||||||
$constnote = (GETPOSTISSET('constnote_'.$constname) ? GETPOST('constnote_'.$constname, 'none') : GETPOST('constnote'));
|
$constnote = (GETPOSTISSET('constnote_'.$constname) ? GETPOST('constnote_'.$constname, 'none') : GETPOST('constnote'));
|
||||||
|
|
||||||
$typetouse = empty($oldtypetonewone[$consttype]) ? $consttype : $oldtypetonewone[$consttype];
|
$typetouse = empty($oldtypetonewone[$consttype]) ? $consttype : $oldtypetonewone[$consttype];
|
||||||
|
$constvalue = preg_replace('/:member$/', '', $constvalue);
|
||||||
|
|
||||||
$res = dolibarr_set_const($db, $constname, $constvalue, $typetouse, 0, $constnote, $conf->entity);
|
$res = dolibarr_set_const($db, $constname, $constvalue, $typetouse, 0, $constnote, $conf->entity);
|
||||||
|
|
||||||
@ -108,26 +109,6 @@ if ($action == 'update' || $action == 'add')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Action to enable a submodule of the adherent module
|
|
||||||
if ($action == 'set')
|
|
||||||
{
|
|
||||||
$result = dolibarr_set_const($db, GETPOST('name', 'alpha'), GETPOST('value'), '', 0, '', $conf->entity);
|
|
||||||
if ($result < 0)
|
|
||||||
{
|
|
||||||
print $db->error();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Action to disable a submodule of the adherent module
|
|
||||||
if ($action == 'unset')
|
|
||||||
{
|
|
||||||
$result = dolibarr_del_const($db, GETPOST('name', 'alpha'), $conf->entity);
|
|
||||||
if ($result < 0)
|
|
||||||
{
|
|
||||||
print $db->error();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -286,7 +286,7 @@ if (empty($reshook))
|
|||||||
$object->firstname = trim(GETPOST("firstname", 'alphanohtml'));
|
$object->firstname = trim(GETPOST("firstname", 'alphanohtml'));
|
||||||
$object->lastname = trim(GETPOST("lastname", 'alphanohtml'));
|
$object->lastname = trim(GETPOST("lastname", 'alphanohtml'));
|
||||||
$object->gender = trim(GETPOST("gender", 'alphanohtml'));
|
$object->gender = trim(GETPOST("gender", 'alphanohtml'));
|
||||||
$object->login = trim(GETPOST("login", 'alpha'));
|
$object->login = trim(GETPOST("login", 'alphanohtml'));
|
||||||
$object->pass = trim(GETPOST("pass", 'alpha'));
|
$object->pass = trim(GETPOST("pass", 'alpha'));
|
||||||
|
|
||||||
$object->societe = trim(GETPOST("societe", 'alphanohtml')); // deprecated
|
$object->societe = trim(GETPOST("societe", 'alphanohtml')); // deprecated
|
||||||
@ -326,7 +326,7 @@ if (empty($reshook))
|
|||||||
$object->public = GETPOST("public", 'alpha');
|
$object->public = GETPOST("public", 'alpha');
|
||||||
|
|
||||||
// Fill array 'array_options' with data from add form
|
// Fill array 'array_options' with data from add form
|
||||||
$ret = $extrafields->setOptionalsFromPost(null, $object);
|
$ret = $extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET');
|
||||||
if ($ret < 0) $error++;
|
if ($ret < 0) $error++;
|
||||||
|
|
||||||
// Check if we need to also synchronize user information
|
// Check if we need to also synchronize user information
|
||||||
@ -459,7 +459,7 @@ if (empty($reshook))
|
|||||||
// $facebook=GETPOST("member_facebook", 'alpha');
|
// $facebook=GETPOST("member_facebook", 'alpha');
|
||||||
// $linkedin=GETPOST("member_linkedin", 'alpha');
|
// $linkedin=GETPOST("member_linkedin", 'alpha');
|
||||||
$email = preg_replace('/\s+/', '', GETPOST("member_email", 'alpha'));
|
$email = preg_replace('/\s+/', '', GETPOST("member_email", 'alpha'));
|
||||||
$login = GETPOST("member_login", 'alpha');
|
$login = GETPOST("member_login", 'alphanohtml');
|
||||||
$pass = GETPOST("password", 'alpha');
|
$pass = GETPOST("password", 'alpha');
|
||||||
$photo = GETPOST("photo", 'alpha');
|
$photo = GETPOST("photo", 'alpha');
|
||||||
//$comment=GETPOST("comment",'none');
|
//$comment=GETPOST("comment",'none');
|
||||||
@ -941,7 +941,7 @@ else
|
|||||||
// Login
|
// Login
|
||||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
||||||
{
|
{
|
||||||
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="member_login" class="minwidth300" maxlength="50" value="'.(isset($_POST["member_login"]) ?GETPOST("member_login", 'alpha', 2) : $object->login).'" autofocus="autofocus"></td></tr>';
|
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="member_login" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET("member_login") ? GETPOST("member_login", 'alphanohtml', 2) : $object->login).'" autofocus="autofocus"></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Password
|
// Password
|
||||||
@ -1185,7 +1185,7 @@ else
|
|||||||
// Login
|
// Login
|
||||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
||||||
{
|
{
|
||||||
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="login" class="minwidth300" maxlength="50" value="'.(isset($_POST["login"]) ?GETPOST("login", 'alpha', 2) : $object->login).'"></td></tr>';
|
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="login" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET("login") ? GETPOST("login", 'alphanohtml', 2) : $object->login).'"></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Password
|
// Password
|
||||||
|
|||||||
@ -1380,7 +1380,7 @@ class Adherent extends CommonObject
|
|||||||
$this->first_subscription_amount = $obj->subscription;
|
$this->first_subscription_amount = $obj->subscription;
|
||||||
}
|
}
|
||||||
$this->last_subscription_date = $this->db->jdate($obj->datec);
|
$this->last_subscription_date = $this->db->jdate($obj->datec);
|
||||||
$this->last_subscription_date_start = $this->db->jdate($obj->datef);
|
$this->last_subscription_date_start = $this->db->jdate($obj->dateh);
|
||||||
$this->last_subscription_date_end = $this->db->jdate($obj->datef);
|
$this->last_subscription_date_end = $this->db->jdate($obj->datef);
|
||||||
$this->last_subscription_amount = $obj->subscription;
|
$this->last_subscription_amount = $obj->subscription;
|
||||||
|
|
||||||
|
|||||||
@ -68,7 +68,7 @@ class AdherentStats extends Stats
|
|||||||
|
|
||||||
$this->field = 'subscription';
|
$this->field = 'subscription';
|
||||||
|
|
||||||
$this->where .= " m.statut != 0";
|
$this->where .= " m.statut != -1";
|
||||||
$this->where .= " AND p.fk_adherent = m.rowid AND m.entity IN (".getEntity('adherent').")";
|
$this->where .= " AND p.fk_adherent = m.rowid AND m.entity IN (".getEntity('adherent').")";
|
||||||
//if (!$user->rights->societe->client->voir && !$user->socid) $this->where .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id;
|
//if (!$user->rights->societe->client->voir && !$user->socid) $this->where .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id;
|
||||||
if ($this->memberid)
|
if ($this->memberid)
|
||||||
|
|||||||
@ -257,13 +257,18 @@ class Subscription extends CommonObject
|
|||||||
{
|
{
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
|
if (!is_numeric($this->amount)) {
|
||||||
|
$this->error = 'BadValueForParameterAmount';
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."subscription SET ";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."subscription SET ";
|
||||||
$sql .= " fk_type = ".$this->fk_type.",";
|
$sql .= " fk_type = ".$this->fk_type.",";
|
||||||
$sql .= " fk_adherent = ".$this->fk_adherent.",";
|
$sql .= " fk_adherent = ".$this->fk_adherent.",";
|
||||||
$sql .= " note=".($this->note ? "'".$this->db->escape($this->note)."'" : 'null').",";
|
$sql .= " note=".($this->note ? "'".$this->db->escape($this->note)."'" : 'null').",";
|
||||||
$sql .= " subscription = '".price2num($this->amount)."',";
|
$sql .= " subscription = ".price2num($this->amount).",";
|
||||||
$sql .= " dateadh='".$this->db->idate($this->dateh)."',";
|
$sql .= " dateadh='".$this->db->idate($this->dateh)."',";
|
||||||
$sql .= " datef='".$this->db->idate($this->datef)."',";
|
$sql .= " datef='".$this->db->idate($this->datef)."',";
|
||||||
$sql .= " datec='".$this->db->idate($this->datec)."',";
|
$sql .= " datec='".$this->db->idate($this->datec)."',";
|
||||||
|
|||||||
@ -865,7 +865,7 @@ while ($i < min($num, $limit))
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td class="nowrap left">';
|
print '<td class="nowrap left">';
|
||||||
if ($obj->subscription == 'yes')
|
if (!empty($obj->subscription))
|
||||||
{
|
{
|
||||||
print $langs->trans("SubscriptionNotReceived");
|
print $langs->trans("SubscriptionNotReceived");
|
||||||
if ($obj->statut > 0) print " ".img_warning();
|
if ($obj->statut > 0) print " ".img_warning();
|
||||||
|
|||||||
@ -108,19 +108,19 @@ dol_fiche_head($head, 'statsbyproperties', $langs->trans("Statistics"), -1, 'use
|
|||||||
// Print title
|
// Print title
|
||||||
if (!count($data))
|
if (!count($data))
|
||||||
{
|
{
|
||||||
print $langs->trans("NoValidatedMemberYet").'<br>';
|
print '<span class="opacitymedium">'.$langs->trans("NoValidatedMemberYet").'</span><br>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print $langs->trans("MembersByNature").'<br>';
|
print '<span class="opacitymedium">'.$langs->trans("MembersByNature").'</span><br>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print array
|
// Print array
|
||||||
print '<table class="liste centpercent">';
|
print '<table class="liste centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Nature").'</td>';
|
print '<td>'.$langs->trans("MemberNature").'</td>';
|
||||||
print '<td class="right">'.$langs->trans("NbOfMembers").'</td>';
|
print '<td class="right">'.$langs->trans("NbOfMembers").'</td>';
|
||||||
print '<td class="center">'.$langs->trans("LastMemberDate").'</td>';
|
print '<td class="center">'.$langs->trans("LastMemberDate").'</td>';
|
||||||
print '<td class="center">'.$langs->trans("LatestSubscriptionDate").'</td>';
|
print '<td class="center">'.$langs->trans("LatestSubscriptionDate").'</td>';
|
||||||
|
|||||||
@ -221,13 +221,13 @@ if ($mode && !count($data))
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($mode == 'memberbycountry') print $langs->trans("MembersByCountryDesc").'<br>';
|
if ($mode == 'memberbycountry') print '<span class="opacitymedium">'.$langs->trans("MembersByCountryDesc").'</span><br>';
|
||||||
elseif ($mode == 'memberbystate') print $langs->trans("MembersByStateDesc").'<br>';
|
elseif ($mode == 'memberbystate') print '<span class="opacitymedium">'.$langs->trans("MembersByStateDesc").'</span><br>';
|
||||||
elseif ($mode == 'memberbytown') print $langs->trans("MembersByTownDesc").'<br>';
|
elseif ($mode == 'memberbytown') print '<span class="opacitymedium">'.$langs->trans("MembersByTownDesc").'</span><br>';
|
||||||
elseif ($mode == 'memberbyregion') print $langs->trans("MembersByRegion").'<br>'; //+
|
elseif ($mode == 'memberbyregion') print '<span class="opacitymedium">'.$langs->trans("MembersByRegion").'</span><br>'; //+
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print $langs->trans("MembersStatisticsDesc").'<br>';
|
print '<span class="opacitymedium">'.$langs->trans("MembersStatisticsDesc").'</span><br>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '<a href="'.$_SERVER["PHP_SELF"].'?mode=memberbycountry">'.$langs->trans("MembersStatisticsByCountries").'</a><br>';
|
print '<a href="'.$_SERVER["PHP_SELF"].'?mode=memberbycountry">'.$langs->trans("MembersStatisticsByCountries").'</a><br>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|||||||
@ -183,9 +183,9 @@ foreach ($data as $val)
|
|||||||
$oldyear--;
|
$oldyear--;
|
||||||
print '<tr class="oddeven" height="24">';
|
print '<tr class="oddeven" height="24">';
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print '<a href="month.php?year='.$oldyear.'&mode='.$mode.'">';
|
//print '<a href="month.php?year='.$oldyear.'&mode='.$mode.'">';
|
||||||
print $oldyear;
|
print $oldyear;
|
||||||
print '</a>';
|
//print '</a>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td class="right">0</td>';
|
print '<td class="right">0</td>';
|
||||||
print '<td class="right">0</td>';
|
print '<td class="right">0</td>';
|
||||||
|
|||||||
@ -175,7 +175,7 @@ if ($action == 'update' && $user->rights->adherent->configurer)
|
|||||||
$object->vote = (boolean) trim($vote);
|
$object->vote = (boolean) trim($vote);
|
||||||
|
|
||||||
// Fill array 'array_options' with data from add form
|
// Fill array 'array_options' with data from add form
|
||||||
$ret = $extrafields->setOptionalsFromPost(null, $object);
|
$ret = $extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET');
|
||||||
if ($ret < 0) $error++;
|
if ($ret < 0) $error++;
|
||||||
|
|
||||||
$ret = $object->update($user);
|
$ret = $object->update($user);
|
||||||
@ -510,7 +510,7 @@ if ($rowid > 0)
|
|||||||
$sql .= " AND t.rowid = ".$object->id;
|
$sql .= " AND t.rowid = ".$object->id;
|
||||||
if ($sall)
|
if ($sall)
|
||||||
{
|
{
|
||||||
$sql .= natural_search(array("f.firstname", "d.lastname", "d.societe", "d.email", "d.login", "d.address", "d.town", "d.note_public", "d.note_private"), $sall);
|
$sql .= natural_search(array("d.firstname", "d.lastname", "d.societe", "d.email", "d.login", "d.address", "d.town", "d.note_public", "d.note_private"), $sall);
|
||||||
}
|
}
|
||||||
if ($status != '')
|
if ($status != '')
|
||||||
{
|
{
|
||||||
@ -709,7 +709,7 @@ if ($rowid > 0)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td class="nowrap left">';
|
print '<td class="nowrap left">';
|
||||||
if ($objp->subscription == 'yes')
|
if (!empty($objp->subscription))
|
||||||
{
|
{
|
||||||
print $langs->trans("SubscriptionNotReceived");
|
print $langs->trans("SubscriptionNotReceived");
|
||||||
if ($objp->statut > 0) print " ".img_warning();
|
if ($objp->statut > 0) print " ".img_warning();
|
||||||
|
|||||||
@ -66,6 +66,7 @@ if (($action == 'update' && !GETPOST("cancel", 'alpha'))
|
|||||||
|
|
||||||
if ($action != 'updateedit' && !$error)
|
if ($action != 'updateedit' && !$error)
|
||||||
{
|
{
|
||||||
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
header("Location: ".$_SERVER["PHP_SELF"]);
|
header("Location: ".$_SERVER["PHP_SELF"]);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -97,8 +97,10 @@ if ($action == 'add') {
|
|||||||
{
|
{
|
||||||
if (!$error && $fk_user != '')
|
if (!$error && $fk_user != '')
|
||||||
{
|
{
|
||||||
|
$arrayofexistingboxid = array();
|
||||||
$nbboxonleft = $nbboxonright = 0;
|
$nbboxonleft = $nbboxonright = 0;
|
||||||
$sql = "SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE position = ".$pos." AND fk_user = ".$fk_user." AND entity = ".$conf->entity;
|
$sql = "SELECT box_id, box_order FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
|
$sql .= " WHERE position = ".$pos." AND fk_user = ".$fk_user." AND entity = ".$conf->entity;
|
||||||
dol_syslog("boxes.php activate box", LOG_DEBUG);
|
dol_syslog("boxes.php activate box", LOG_DEBUG);
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
@ -108,22 +110,27 @@ if ($action == 'add') {
|
|||||||
$boxorder = $obj->box_order;
|
$boxorder = $obj->box_order;
|
||||||
if (preg_match('/A/', $boxorder)) $nbboxonleft++;
|
if (preg_match('/A/', $boxorder)) $nbboxonleft++;
|
||||||
if (preg_match('/B/', $boxorder)) $nbboxonright++;
|
if (preg_match('/B/', $boxorder)) $nbboxonright++;
|
||||||
|
$arrayofexistingboxid[$obj->box_id] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else dol_print_error($db);
|
else dol_print_error($db);
|
||||||
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
|
if (empty($arrayofexistingboxid[$boxid['value']])) {
|
||||||
$sql .= "box_id, position, box_order, fk_user, entity";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
|
||||||
$sql .= ") values (";
|
$sql .= "box_id, position, box_order, fk_user, entity";
|
||||||
$sql .= $boxid['value'].", ".$pos.", '".(($nbboxonleft > $nbboxonright) ? 'B01' : 'A01')."', ".$fk_user.", ".$conf->entity;
|
$sql .= ") values (";
|
||||||
$sql .= ")";
|
$sql .= $boxid['value'].", ".$pos.", '".(($nbboxonleft > $nbboxonright) ? 'B01' : 'A01')."', ".$fk_user.", ".$conf->entity;
|
||||||
|
$sql .= ")";
|
||||||
|
|
||||||
dol_syslog("boxes.php activate box", LOG_DEBUG);
|
dol_syslog("boxes.php activate box", LOG_DEBUG);
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if (!$resql)
|
if (!$resql)
|
||||||
{
|
{
|
||||||
setEventMessages($db->lasterror(), null, 'errors');
|
setEventMessages($db->lasterror(), null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dol_syslog("boxes.php activate box - already exists in database", LOG_DEBUG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -324,7 +331,7 @@ $boxactivated = InfoBox::listBoxes($db, 'activated', -1, null);
|
|||||||
|
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
print "\n\n".'<!-- Boxes Available -->'."\n";
|
print "\n\n".'<!-- Boxes Available -->'."\n";
|
||||||
print load_fiche_titre($langs->trans("BoxesAvailable"));
|
print load_fiche_titre($langs->trans("BoxesAvailable"), '', '');
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'">'."\n";
|
print '<input type="hidden" name="token" value="'.newToken().'">'."\n";
|
||||||
@ -353,7 +360,7 @@ foreach ($boxtoadd as $box)
|
|||||||
|
|
||||||
print "\n".'<!-- Box '.$box->boxcode.' -->'."\n";
|
print "\n".'<!-- Box '.$box->boxcode.' -->'."\n";
|
||||||
print '<tr class="oddeven">'."\n";
|
print '<tr class="oddeven">'."\n";
|
||||||
print '<td>'.img_object("", $logo).' '.$langs->transnoentitiesnoconv($box->boxlabel);
|
print '<td>'.img_object("", $logo, 'height="14px"').' '.$langs->transnoentitiesnoconv($box->boxlabel);
|
||||||
if (!empty($box->class) && preg_match('/graph_/', $box->class)) print ' ('.$langs->trans("Graph").')';
|
if (!empty($box->class) && preg_match('/graph_/', $box->class)) print ' ('.$langs->trans("Graph").')';
|
||||||
print '</td>'."\n";
|
print '</td>'."\n";
|
||||||
print '<td>';
|
print '<td>';
|
||||||
@ -368,7 +375,7 @@ foreach ($boxtoadd as $box)
|
|||||||
|
|
||||||
// For each possible position, an activation link is displayed if the box is not already active for that position
|
// For each possible position, an activation link is displayed if the box is not already active for that position
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print $form->selectarray("boxid[".$box->box_id."][pos]", $pos_name, 0, 1, 0, 0, '', 1)."\n";
|
print $form->selectarray("boxid[".$box->box_id."][pos]", $pos_name, -1, 1, 0, 0, '', 1)."\n";
|
||||||
print '<input type="hidden" name="boxid['.$box->box_id.'][value]" value="'.$box->box_id.'">'."\n";
|
print '<input type="hidden" name="boxid['.$box->box_id.'][value]" value="'.$box->box_id.'">'."\n";
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
@ -390,7 +397,7 @@ print "\n".'<!-- End Boxes Available -->'."\n";
|
|||||||
|
|
||||||
//var_dump($boxactivated);
|
//var_dump($boxactivated);
|
||||||
print "<br>\n\n";
|
print "<br>\n\n";
|
||||||
print load_fiche_titre($langs->trans("BoxesActivated"));
|
print load_fiche_titre($langs->trans("BoxesActivated"), '', '');
|
||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="tagtable liste">'."\n";
|
print '<table class="tagtable liste">'."\n";
|
||||||
@ -418,7 +425,7 @@ foreach ($boxactivated as $key => $box)
|
|||||||
|
|
||||||
print "\n".'<!-- Box '.$box->boxcode.' -->'."\n";
|
print "\n".'<!-- Box '.$box->boxcode.' -->'."\n";
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>'.img_object("", $logo).' '.$langs->transnoentitiesnoconv($box->boxlabel);
|
print '<td>'.img_object("", $logo, 'height="14px"').' '.$langs->transnoentitiesnoconv($box->boxlabel);
|
||||||
if (!empty($box->class) && preg_match('/graph_/', $box->class)) print ' ('.$langs->trans("Graph").')';
|
if (!empty($box->class) && preg_match('/graph_/', $box->class)) print ' ('.$langs->trans("Graph").')';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
@ -452,7 +459,7 @@ print '<br>';
|
|||||||
// Other parameters
|
// Other parameters
|
||||||
|
|
||||||
print "\n\n".'<!-- Other Const -->'."\n";
|
print "\n\n".'<!-- Other Const -->'."\n";
|
||||||
print load_fiche_titre($langs->trans("Other"));
|
print load_fiche_titre($langs->trans("Other"), '', '');
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="action" value="addconst">';
|
print '<input type="hidden" name="action" value="addconst">';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.org>
|
* Copyright (C) 2005-2020 Laurent Destailleur <eldy@users.sourceforge.org>
|
||||||
* Copyright (C) 2011-2013 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011-2013 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -33,6 +33,10 @@ if (!$user->admin) accessforbidden();
|
|||||||
|
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
|
|
||||||
|
if (! in_array('clicktodial', $conf->modules)) {
|
||||||
|
accessforbidden($langs->trans("WarningModuleNotActive", $langs->transnoentitiesnoconv("Module58Name")));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
@ -58,6 +62,8 @@ if ($action == 'setvalue' && $user->admin)
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
$user->fetch_clicktodial();
|
$user->fetch_clicktodial();
|
||||||
|
|
||||||
$wikihelp = 'EN:Module_ClickToDial_En|FR:Module_ClickToDial|ES:Módulo_ClickTodial_Es';
|
$wikihelp = 'EN:Module_ClickToDial_En|FR:Module_ClickToDial|ES:Módulo_ClickTodial_Es';
|
||||||
@ -73,6 +79,7 @@ print '<form method="post" action="clicktodial.php">';
|
|||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="action" value="setvalue">';
|
print '<input type="hidden" name="action" value="setvalue">';
|
||||||
|
|
||||||
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Name").'</td>';
|
print '<td>'.$langs->trans("Name").'</td>';
|
||||||
@ -105,6 +112,7 @@ print $langs->trans("Example").':<br>http://myphoneserver/mypage?login=__LOGIN__
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
print '<div class="center"><br><input type="submit" class="button" value="'.$langs->trans("Modify").'"></div>';
|
print '<div class="center"><br><input type="submit" class="button" value="'.$langs->trans("Modify").'"></div>';
|
||||||
|
|
||||||
|
|||||||
@ -111,6 +111,12 @@ if (($action == 'update' && !GETPOST("cancel", 'alpha'))
|
|||||||
|
|
||||||
foreach ($arrayofimages as $varforimage)
|
foreach ($arrayofimages as $varforimage)
|
||||||
{
|
{
|
||||||
|
if ($_FILES[$varforimage]["name"] && ! preg_match('/(\.jpeg|\.jpg|\.png)$/i', $_FILES[$varforimage]["name"])) { // Logo can be used on a lot of different places. Only jpg and png can be supported.
|
||||||
|
$langs->load("errors");
|
||||||
|
setEventMessages($langs->trans("ErrorBadImageFormat"), null, 'errors');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if ($_FILES[$varforimage]["tmp_name"])
|
if ($_FILES[$varforimage]["tmp_name"])
|
||||||
{
|
{
|
||||||
$reg = array();
|
$reg = array();
|
||||||
@ -250,6 +256,7 @@ if (($action == 'update' && !GETPOST("cancel", 'alpha'))
|
|||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
$db->commit();
|
$db->commit();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -415,7 +422,7 @@ print '<tr class="liste_titre"><th class="titlefield wordbreak">'.$langs->trans(
|
|||||||
|
|
||||||
// Name
|
// Name
|
||||||
print '<tr class="oddeven"><td class="fieldrequired wordbreak"><label for="name">'.$langs->trans("CompanyName").'</label></td><td>';
|
print '<tr class="oddeven"><td class="fieldrequired wordbreak"><label for="name">'.$langs->trans("CompanyName").'</label></td><td>';
|
||||||
print '<input name="nom" id="name" class="minwidth200" value="'.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_NOM ? $conf->global->MAIN_INFO_SOCIETE_NOM : GETPOST("nom", 'nohtml')).'"'.(empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ? '' : ' autofocus="autofocus"').'></td></tr>'."\n";
|
print '<input name="nom" id="name" class="minwidth200" value="'.dol_escape_htmltag($conf->global->MAIN_INFO_SOCIETE_NOM ? $conf->global->MAIN_INFO_SOCIETE_NOM : GETPOST("nom", 'nohtml')).'"'.(empty($conf->global->MAIN_INFO_SOCIETE_NOM) ? ' autofocus="autofocus"' : '').'></td></tr>'."\n";
|
||||||
|
|
||||||
// Address
|
// Address
|
||||||
print '<tr class="oddeven"><td><label for="MAIN_INFO_SOCIETE_ADDRESS">'.$langs->trans("CompanyAddress").'</label></td><td>';
|
print '<tr class="oddeven"><td><label for="MAIN_INFO_SOCIETE_ADDRESS">'.$langs->trans("CompanyAddress").'</label></td><td>';
|
||||||
@ -494,10 +501,17 @@ if (!empty($mysoc->logo_mini)) {
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
|
print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
|
||||||
} else {
|
} elseif (!empty($mysoc->logo)) {
|
||||||
print '<div class="inline-block valignmiddle">';
|
if (file_exists($conf->mycompany->dir_output.'/logos/'.$mysoc->logo)) {
|
||||||
print '<img height="60" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.png">';
|
print '<div class="inline-block valignmiddle">';
|
||||||
print '</div>';
|
print '<img style="max-height: 60px" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&file='.urlencode('logos/'.$mysoc->logo).'">';
|
||||||
|
print '</div>';
|
||||||
|
print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
|
||||||
|
} else {
|
||||||
|
print '<div class="inline-block valignmiddle">';
|
||||||
|
print '<img height="60" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.png">';
|
||||||
|
print '</div>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
@ -514,10 +528,18 @@ if (!empty($mysoc->logo_squarred_mini)) {
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removelogosquarred">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
|
print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removelogosquarred">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
|
||||||
} else {
|
} elseif (!empty($mysoc->logo_squarred)) {
|
||||||
print '<div class="inline-block valignmiddle">';
|
if (file_exists($conf->mycompany->dir_output.'/logos/'.$mysoc->logo_squarred)) {
|
||||||
print '<img height="60" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.png">';
|
print '<div class="inline-block valignmiddle">';
|
||||||
print '</div>';
|
print '<img style="max-height: 60px" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&file='.urlencode('logos/'.$mysoc->logo_squarred).'">';
|
||||||
|
print '</div>';
|
||||||
|
print '<div class="inline-block valignmiddle marginrightonly"><a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=removelogosquarred">'.img_delete($langs->trans("Delete"), '', 'marginleftonly').'</a></div>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print '<div class="inline-block valignmiddle">';
|
||||||
|
print '<img height="60" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.png">';
|
||||||
|
print '</div>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@ -93,7 +93,7 @@ print load_fiche_titre($langs->trans("SendingsSetup"), $linkback, 'title_setup')
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
$head = expedition_admin_prepare_head();
|
$head = expedition_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'general', $langs->trans("Sendings"), -1, 'sending');
|
dol_fiche_head($head, 'general', $langs->trans("Sendings"), -1, 'shipment');
|
||||||
|
|
||||||
// Miscellaneous parameters
|
// Miscellaneous parameters
|
||||||
|
|
||||||
|
|||||||
@ -577,6 +577,7 @@ if ($id == 11)
|
|||||||
// 'contract' => $langs->trans('Contract'),
|
// 'contract' => $langs->trans('Contract'),
|
||||||
'project' => $langs->trans('Project'),
|
'project' => $langs->trans('Project'),
|
||||||
'project_task' => $langs->trans('Task'),
|
'project_task' => $langs->trans('Task'),
|
||||||
|
'ticket' => $langs->trans('Ticket'),
|
||||||
'agenda' => $langs->trans('Agenda'),
|
'agenda' => $langs->trans('Agenda'),
|
||||||
'dolresource' => $langs->trans('Resource'),
|
'dolresource' => $langs->trans('Resource'),
|
||||||
// old deprecated
|
// old deprecated
|
||||||
@ -757,8 +758,11 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
|
|||||||
$keycode = $listfieldvalue[$i];
|
$keycode = $listfieldvalue[$i];
|
||||||
if (empty($keycode)) $keycode = $value;
|
if (empty($keycode)) $keycode = $value;
|
||||||
|
|
||||||
if ($value == 'price' || preg_match('/^amount/i', $value) || $value == 'taux') {
|
if ($value == 'price' || preg_match('/^amount/i', $value)) {
|
||||||
$_POST[$keycode] = price2num($_POST[$keycode], 'MU');
|
$_POST[$keycode] = price2num(GETPOST($keycode), 'MU');
|
||||||
|
}
|
||||||
|
elseif ($value == 'taux' || $value == 'localtax1' || $value == 'localtax2') {
|
||||||
|
$_POST[$keycode] = price2num(GETPOST($keycode), 8);
|
||||||
}
|
}
|
||||||
elseif ($value == 'entity') {
|
elseif ($value == 'entity') {
|
||||||
$_POST[$keycode] = getEntity($tabname[$id]);
|
$_POST[$keycode] = getEntity($tabname[$id]);
|
||||||
@ -777,7 +781,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
|
|||||||
elseif (in_array($keycode, array('joinfile', 'private', 'position', 'scale'))) {
|
elseif (in_array($keycode, array('joinfile', 'private', 'position', 'scale'))) {
|
||||||
$sql .= (int) GETPOST($keycode, 'int');
|
$sql .= (int) GETPOST($keycode, 'int');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'";
|
$sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -790,7 +794,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
|
|||||||
if ($result) // Add is ok
|
if ($result) // Add is ok
|
||||||
{
|
{
|
||||||
setEventMessages($langs->transnoentities("RecordSaved"), null, 'mesgs');
|
setEventMessages($langs->transnoentities("RecordSaved"), null, 'mesgs');
|
||||||
$_POST = array('id'=>$id); // Clean $_POST array, we keep only
|
$_POST = array('id'=>$id); // Clean $_POST array, we keep only id
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -823,8 +827,11 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
|
|||||||
$keycode = $listfieldvalue[$i];
|
$keycode = $listfieldvalue[$i];
|
||||||
if (empty($keycode)) $keycode = $field;
|
if (empty($keycode)) $keycode = $field;
|
||||||
|
|
||||||
if ($field == 'price' || preg_match('/^amount/i', $field) || $field == 'taux') {
|
if ($field == 'price' || preg_match('/^amount/i', $field)) {
|
||||||
$_POST[$keycode] = price2num($_POST[$keycode], 'MU');
|
$_POST[$keycode] = price2num(GETPOST($keycode), 'MU');
|
||||||
|
}
|
||||||
|
elseif ($field == 'taux' || $field == 'localtax1' || $field == 'localtax2') {
|
||||||
|
$_POST[$keycode] = price2num(GETPOST($keycode), 8);
|
||||||
}
|
}
|
||||||
elseif ($field == 'entity') {
|
elseif ($field == 'entity') {
|
||||||
$_POST[$keycode] = getEntity($tabname[$id]);
|
$_POST[$keycode] = getEntity($tabname[$id]);
|
||||||
@ -1041,6 +1048,7 @@ if ($id)
|
|||||||
elseif ($search_code != '' && $id == 28) $sql .= natural_search("h.code", $search_code);
|
elseif ($search_code != '' && $id == 28) $sql .= natural_search("h.code", $search_code);
|
||||||
elseif ($search_code != '' && $id == 32) $sql .= natural_search("a.code", $search_code);
|
elseif ($search_code != '' && $id == 32) $sql .= natural_search("a.code", $search_code);
|
||||||
elseif ($search_code != '' && $id == 3) $sql .= natural_search("r.code_region", $search_code);
|
elseif ($search_code != '' && $id == 3) $sql .= natural_search("r.code_region", $search_code);
|
||||||
|
elseif ($search_code != '' && $id == 10) $sql .= natural_search("t.code", $search_code);
|
||||||
elseif ($search_code != '' && $id != 9) $sql .= natural_search("code", $search_code);
|
elseif ($search_code != '' && $id != 9) $sql .= natural_search("code", $search_code);
|
||||||
|
|
||||||
if ($sortfield)
|
if ($sortfield)
|
||||||
@ -1454,6 +1462,7 @@ if ($id)
|
|||||||
foreach ($fieldlist as $field => $value)
|
foreach ($fieldlist as $field => $value)
|
||||||
{
|
{
|
||||||
//var_dump($fieldlist);
|
//var_dump($fieldlist);
|
||||||
|
|
||||||
$class = '';
|
$class = '';
|
||||||
$showfield = 1;
|
$showfield = 1;
|
||||||
$valuetoshow = $obj->{$fieldlist[$field]};
|
$valuetoshow = $obj->{$fieldlist[$field]};
|
||||||
|
|||||||
@ -448,6 +448,8 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
if (!$connection)
|
if (!$connection)
|
||||||
{
|
{
|
||||||
$morehtml .= 'Failed to open IMAP connection '.$connectstringsource;
|
$morehtml .= 'Failed to open IMAP connection '.$connectstringsource;
|
||||||
|
$morehtml .= '<br>'.imap_last_error();
|
||||||
|
//var_dump(imap_errors())
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -197,7 +197,7 @@ print load_fiche_titre($langs->trans("SendingsSetup"), $linkback, 'title_setup')
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
$head = expedition_admin_prepare_head();
|
$head = expedition_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'shipment', $langs->trans("Sendings"), -1, 'sending');
|
dol_fiche_head($head, 'shipment', $langs->trans("Sendings"), -1, 'shipment');
|
||||||
|
|
||||||
// Shipment numbering model
|
// Shipment numbering model
|
||||||
|
|
||||||
|
|||||||
@ -76,7 +76,7 @@ print "<br>\n";
|
|||||||
|
|
||||||
$head = expedition_admin_prepare_head();
|
$head = expedition_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'attributes_shipment', $langs->trans("Sendings"), -1, 'sending');
|
dol_fiche_head($head, 'attributes_shipment', $langs->trans("Sendings"), -1, 'shipment');
|
||||||
|
|
||||||
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
||||||
|
|
||||||
|
|||||||
@ -77,7 +77,7 @@ print "<br>\n";
|
|||||||
|
|
||||||
$head = expedition_admin_prepare_head();
|
$head = expedition_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'attributeslines_shipment', $langs->trans("Sendings"), -1, 'sending');
|
dol_fiche_head($head, 'attributeslines_shipment', $langs->trans("Sendings"), -1, 'shipment');
|
||||||
|
|
||||||
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
||||||
|
|
||||||
|
|||||||
@ -104,12 +104,7 @@ $arrayAvailableType = array(
|
|||||||
Facture::TYPE_SITUATION => $langs->trans("InvoiceSituation"),
|
Facture::TYPE_SITUATION => $langs->trans("InvoiceSituation"),
|
||||||
Facture::TYPE_STANDARD.'+'.Facture::TYPE_SITUATION => $langs->trans("InvoiceSituation").' + '.$langs->trans("InvoiceStandard"),
|
Facture::TYPE_STANDARD.'+'.Facture::TYPE_SITUATION => $langs->trans("InvoiceSituation").' + '.$langs->trans("InvoiceStandard"),
|
||||||
);
|
);
|
||||||
$selected = array();
|
$selected = $conf->global->$confkey;
|
||||||
$implodeglue = '+';
|
|
||||||
if (!empty($conf->global->{$confkey}) && !is_array($conf->global->{$confkey})) {
|
|
||||||
$selected = explode('+', $conf->global->{$confkey});
|
|
||||||
}
|
|
||||||
|
|
||||||
$curentInput = (empty($inputCount) ? 1 : ($inputCount + 1));
|
$curentInput = (empty($inputCount) ? 1 : ($inputCount + 1));
|
||||||
$formSelectInvoiceType = $form->selectarray('value'.$curentInput, $arrayAvailableType, $selected, 1);
|
$formSelectInvoiceType = $form->selectarray('value'.$curentInput, $arrayAvailableType, $selected, 1);
|
||||||
_printInputFormPart($confkey, $langs->trans('AllowedInvoiceForRetainedWarranty'), '', array(), $formSelectInvoiceType);
|
_printInputFormPart($confkey, $langs->trans('AllowedInvoiceForRetainedWarranty'), '', array(), $formSelectInvoiceType);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2007-2020 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2009-2018 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2009-2018 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
@ -34,11 +34,21 @@ if (!$user->admin) accessforbidden();
|
|||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
$currencycode = GETPOST('currencycode', 'alpha');
|
$currencycode = GETPOST('currencycode', 'alpha');
|
||||||
|
|
||||||
|
if (!empty($conf->multicurrency->enabled) && !empty($conf->global->MULTICURRENCY_USE_LIMIT_BY_CURRENCY)) {
|
||||||
|
// When MULTICURRENCY_USE_LIMIT_BY_CURRENCY is on, we use always a defined currency code instead of '' even for default.
|
||||||
|
$currencycode = (!empty($currencycode) ? $currencycode : $conf->currency);
|
||||||
|
}
|
||||||
|
|
||||||
$mainmaxdecimalsunit = 'MAIN_MAX_DECIMALS_UNIT'.(!empty($currencycode) ? '_'.$currencycode : '');
|
$mainmaxdecimalsunit = 'MAIN_MAX_DECIMALS_UNIT'.(!empty($currencycode) ? '_'.$currencycode : '');
|
||||||
$mainmaxdecimalstot = 'MAIN_MAX_DECIMALS_TOT'.(!empty($currencycode) ? '_'.$currencycode : '');
|
$mainmaxdecimalstot = 'MAIN_MAX_DECIMALS_TOT'.(!empty($currencycode) ? '_'.$currencycode : '');
|
||||||
$mainmaxdecimalsshown = 'MAIN_MAX_DECIMALS_SHOWN'.(!empty($currencycode) ? '_'.$currencycode : '');
|
$mainmaxdecimalsshown = 'MAIN_MAX_DECIMALS_SHOWN'.(!empty($currencycode) ? '_'.$currencycode : '');
|
||||||
$mainroundingruletot = 'MAIN_ROUNDING_RULE_TOT'.(!empty($currencycode) ? '_'.$currencycode : '');
|
$mainroundingruletot = 'MAIN_ROUNDING_RULE_TOT'.(!empty($currencycode) ? '_'.$currencycode : '');
|
||||||
|
|
||||||
|
$valmainmaxdecimalsunit = GETPOST($mainmaxdecimalsunit, 'int');
|
||||||
|
$valmainmaxdecimalstot = GETPOST($mainmaxdecimalstot, 'int');
|
||||||
|
$valmainmaxdecimalsshown = GETPOST($mainmaxdecimalsshown, 'int');
|
||||||
|
$valmainroundingruletot = price2num(GETPOST($mainroundingruletot, 'alpha'));
|
||||||
|
|
||||||
if ($action == 'update')
|
if ($action == 'update')
|
||||||
{
|
{
|
||||||
$error = 0;
|
$error = 0;
|
||||||
@ -60,9 +70,9 @@ if ($action == 'update')
|
|||||||
setEventMessages($langs->trans("ErrorNegativeValueNotAllowed"), null, 'errors');
|
setEventMessages($langs->trans("ErrorNegativeValueNotAllowed"), null, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_POST[$mainroundingruletot])
|
if ($valmainroundingruletot)
|
||||||
{
|
{
|
||||||
if ($_POST[$mainroundingruletot] * pow(10, $_POST[$mainmaxdecimalstot]) < 1)
|
if ($valmainroundingruletot * pow(10, $valmainmaxdecimalstot) < 1)
|
||||||
{
|
{
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
$error++;
|
$error++;
|
||||||
@ -72,11 +82,11 @@ if ($action == 'update')
|
|||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
dolibarr_set_const($db, $mainmaxdecimalsunit, $_POST[$mainmaxdecimalsunit], 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, $mainmaxdecimalsunit, $valmainmaxdecimalsunit, 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, $mainmaxdecimalstot, $_POST[$mainmaxdecimalstot], 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, $mainmaxdecimalstot, $valmainmaxdecimalstot, 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, $mainmaxdecimalsshown, $_POST[$mainmaxdecimalsshown], 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, $mainmaxdecimalsshown, $valmainmaxdecimalsshown, 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
dolibarr_set_const($db, $mainroundingruletot, $_POST[$mainroundingruletot], 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, $mainroundingruletot, $valmainroundingruletot, 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup".(!empty($currencycode) ? '¤cycode='.$currencycode : ''));
|
header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup".(!empty($currencycode) ? '¤cycode='.$currencycode : ''));
|
||||||
exit;
|
exit;
|
||||||
@ -94,7 +104,6 @@ llxHeader();
|
|||||||
|
|
||||||
print load_fiche_titre($langs->trans("LimitsSetup"), '', 'title_setup');
|
print load_fiche_titre($langs->trans("LimitsSetup"), '', 'title_setup');
|
||||||
|
|
||||||
$currencycode = (!empty($currencycode) ? $currencycode : $conf->currency);
|
|
||||||
$aCurrencies = array($conf->currency); // Default currency always first position
|
$aCurrencies = array($conf->currency); // Default currency always first position
|
||||||
|
|
||||||
if (!empty($conf->multicurrency->enabled) && !empty($conf->global->MULTICURRENCY_USE_LIMIT_BY_CURRENCY))
|
if (!empty($conf->multicurrency->enabled) && !empty($conf->global->MULTICURRENCY_USE_LIMIT_BY_CURRENCY))
|
||||||
@ -162,9 +171,7 @@ if ($action == 'edit')
|
|||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||||
|
|
||||||
@ -203,9 +210,7 @@ if (empty($mysoc->country_code))
|
|||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
$warnpicto = img_warning($langs->trans("WarningMandatorySetupNotComplete"));
|
$warnpicto = img_warning($langs->trans("WarningMandatorySetupNotComplete"));
|
||||||
print '<br><a href="'.DOL_URL_ROOT.'/admin/company.php?mainmenu=home">'.$warnpicto.' '.$langs->trans("WarningMandatorySetupNotComplete").'</a>';
|
print '<br><a href="'.DOL_URL_ROOT.'/admin/company.php?mainmenu=home">'.$warnpicto.' '.$langs->trans("WarningMandatorySetupNotComplete").'</a>';
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
// Show examples
|
// Show examples
|
||||||
print load_fiche_titre($langs->trans("ExamplesWithCurrentSetup"), '', '');
|
print load_fiche_titre($langs->trans("ExamplesWithCurrentSetup"), '', '');
|
||||||
|
|
||||||
@ -236,9 +241,9 @@ else
|
|||||||
// Add vat rates examples specific to country
|
// Add vat rates examples specific to country
|
||||||
$vat_rates = array();
|
$vat_rates = array();
|
||||||
|
|
||||||
$sql = "SELECT taux as vat_rate";
|
$sql = "SELECT taux as vat_rate, t.code as vat_code, t.localtax1 as localtax_rate1, t.localtax2 as localtax_rate2";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as c";
|
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as c";
|
||||||
$sql .= " WHERE t.active=1 AND t.fk_pays = c.rowid AND c.code='".$mysoc->country_code."' AND t.taux <> 0";
|
$sql .= " WHERE t.active=1 AND t.fk_pays = c.rowid AND c.code='".$mysoc->country_code."' AND (t.taux <> 0 OR t.localtax1 <>0 OR t.localtax2 <>0)";
|
||||||
$sql .= " ORDER BY t.taux ASC";
|
$sql .= " ORDER BY t.taux ASC";
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
@ -249,96 +254,54 @@ else
|
|||||||
for ($i = 0; $i < $num; $i++)
|
for ($i = 0; $i < $num; $i++)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
$vat_rates[$i] = $obj->vat_rate;
|
$vat_rates[] = array('vat_rate'=>$obj->vat_rate, 'code'=>$obj->vat_code, 'localtax_rate1'=>$obj->localtax_rate1, 'locltax_rate2'=>$obj->localtax_rate2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else dol_print_error($db);
|
||||||
else dol_print_error($db);
|
|
||||||
|
|
||||||
if (count($vat_rates))
|
if (count($vat_rates))
|
||||||
{
|
{
|
||||||
foreach ($vat_rates as $vat)
|
foreach ($vat_rates as $vatarray)
|
||||||
{
|
{
|
||||||
|
$vat = $vatarray['vat_rate'];
|
||||||
for ($qty = 1; $qty <= 2; $qty++)
|
for ($qty = 1; $qty <= 2; $qty++)
|
||||||
{
|
{
|
||||||
|
$vattxt = $vat.($vatarray['code'] ? ' ('.$vatarray['code'].')' : '');
|
||||||
|
|
||||||
|
$localtax_array = getLocalTaxesFromRate($vattxt, 0, $mysoc, $mysoc);
|
||||||
|
|
||||||
$s = 10 / 3;
|
$s = 10 / 3;
|
||||||
$tmparray = calcul_price_total(1, $qty * price2num($s, 'MU'), 0, $vat, 0, 0, 0, 'HT', 0, 0, $mysoc);
|
$tmparray = calcul_price_total($qty, price2num($s, 'MU'), 0, $vat, -1, -1, 0, 'HT', 0, 0, $mysoc, $localtax_array);
|
||||||
print '<span class="opacitymedium">'.$langs->trans("UnitPriceOfProduct").":</span> ".price2num($s, 'MU');
|
print '<span class="opacitymedium">'.$langs->trans("UnitPriceOfProduct").":</span> ".price2num($s, 'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
print ' -> <span class="opacitymedium">'.$langs->trans("TotalPriceAfterRounding").":</span> ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
print ($vatarray['code'] ? ' ('.$vatarray['code'].')' : '');
|
||||||
|
print ' -> <span class="opacitymedium">'.$langs->trans("TotalPriceAfterRounding").":</span> ";
|
||||||
|
print $tmparray[0].' / '.$tmparray[1].($tmparray[9] ? '+'.$tmparray[9] : '').($tmparray[10] ? '+'.$tmparray[10] : '').' / '.$tmparray[2];
|
||||||
|
print "<br>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
// More examples if not specific vat rate found
|
// More examples if not specific vat rate found
|
||||||
// This example must be kept for test purpose with current value because value used (2/7, 10/3, and vat 0, 10)
|
// This example must be kept for test purpose with current value because value used (2/7, 10/3, and vat 0, 10)
|
||||||
// were calculated to show all possible cases of rounding. If we change this, examples becomes useless or show the same rounding rule.
|
// were calculated to show all possible cases of rounding. If we change this, examples becomes useless or show the same rounding rule.
|
||||||
|
|
||||||
|
$localtax_array = array();
|
||||||
|
|
||||||
$s = 10 / 3; $qty = 1; $vat = 10;
|
$s = 10 / 3; $qty = 1; $vat = 10;
|
||||||
$tmparray = calcul_price_total(1, $qty * price2num($s, 'MU'), 0, $vat, 0, 0, 0, 'HT', 0, 0, $mysoc);
|
$tmparray = calcul_price_total($qty, price2num($s, 'MU'), 0, $vat, -1, -1, 0, 'HT', 0, 0, $mysoc, $localtax_array);
|
||||||
print '<span class="opacitymedium">'.$langs->trans("UnitPriceOfProduct").":</span> ".price2num($s, 'MU');
|
print '<span class="opacitymedium">'.$langs->trans("UnitPriceOfProduct").":</span> ".price2num($s, 'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
print ' -> <span class="opacitymedium">'.$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
print ' -> <span class="opacitymedium">'.$langs->trans("TotalPriceAfterRounding").":</span> ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
||||||
|
|
||||||
$s = 10 / 3; $qty = 2; $vat = 10;
|
$s = 10 / 3; $qty = 2; $vat = 10;
|
||||||
$tmparray = calcul_price_total(1, $qty * price2num($s, 'MU'), 0, $vat, 0, 0, 0, 'HT', 0, 0, $mysoc);
|
$tmparray = calcul_price_total($qty, price2num($s, 'MU'), 0, $vat, -1, -1, 0, 'HT', 0, 0, $mysoc, $localtax_array);
|
||||||
print '<span class="opacitymedium">'.$langs->trans("UnitPriceOfProduct").":</span> ".price2num($s, 'MU');
|
print '<span class="opacitymedium">'.$langs->trans("UnitPriceOfProduct").":</span> ".price2num($s, 'MU');
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
print " x ".$langs->trans("Quantity").": ".$qty;
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
||||||
print ' -> <span class="opacitymedium">'.$langs->trans("TotalPriceAfterRounding").":</span> ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
print ' -> <span class="opacitymedium">'.$langs->trans("TotalPriceAfterRounding").":</span> ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Important: can debug rounding, to simulate the rounded total
|
|
||||||
/*
|
|
||||||
print '<br><b>'.$langs->trans("VATRoundedByLine").' ('.$langs->trans("DolibarrDefault").')</b><br>';
|
|
||||||
|
|
||||||
foreach($vat_rates as $vat)
|
|
||||||
{
|
|
||||||
for ($qty=1; $qty<=2; $qty++)
|
|
||||||
{
|
|
||||||
$s1=10/3;
|
|
||||||
$s2=2/7;
|
|
||||||
|
|
||||||
// Round by line
|
|
||||||
$tmparray1=calcul_price_total(1,$qty*price2num($s1,'MU'),0,$vat,0,0,0,'HT',0, 0,$mysoc);
|
|
||||||
$tmparray2=calcul_price_total(1,$qty*price2num($s2,'MU'),0,$vat,0,0,0,'HT',0, 0,$mysoc);
|
|
||||||
$total_ht = $tmparray1[0] + $tmparray2[0];
|
|
||||||
$total_tva = $tmparray1[1] + $tmparray2[1];
|
|
||||||
$total_ttc = $tmparray1[2] + $tmparray2[2];
|
|
||||||
|
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".(price2num($s1,'MU') + price2num($s2,'MU'));
|
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
|
||||||
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$total_ht.' / '.$total_tva.' / '.$total_ttc."<br>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<br><b>'.$langs->trans("VATRoundedOnTotal").'</b><br>';
|
|
||||||
|
|
||||||
foreach($vat_rates as $vat)
|
|
||||||
{
|
|
||||||
for ($qty=1; $qty<=2; $qty++)
|
|
||||||
{
|
|
||||||
$s1=10/3;
|
|
||||||
$s2=2/7;
|
|
||||||
|
|
||||||
// Global round
|
|
||||||
$subtotal_ht = (($qty*price2num($s1,'MU')) + ($qty*price2num($s2,'MU')));
|
|
||||||
$tmparray3=calcul_price_total(1,$subtotal_ht,0,$vat,0,0,0,'HT',0, 0,$mysoc);
|
|
||||||
$total_ht = $tmparray3[0];
|
|
||||||
$total_tva = $tmparray3[1];
|
|
||||||
$total_ttc = $tmparray3[2];
|
|
||||||
|
|
||||||
print $langs->trans("UnitPriceOfProduct").": ".price2num($s1+$s2,'MU');
|
|
||||||
print " x ".$langs->trans("Quantity").": ".$qty;
|
|
||||||
print " - ".$langs->trans("VAT").": ".$vat.'%';
|
|
||||||
print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$total_ht.' / '.$total_tva.' / '.$total_ttc."<br>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
|
|||||||
@ -187,7 +187,7 @@ print load_fiche_titre($langs->trans("SendingsSetup"), $linkback, 'title_setup')
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
$head = expedition_admin_prepare_head();
|
$head = expedition_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'receivings', $langs->trans("Receivings"), -1, 'sending');
|
dol_fiche_head($head, 'receivings', $langs->trans("Receivings"), -1, 'shipment');
|
||||||
|
|
||||||
|
|
||||||
// Delivery numbering model
|
// Delivery numbering model
|
||||||
|
|||||||
@ -76,7 +76,7 @@ print "<br>\n";
|
|||||||
|
|
||||||
$head = expedition_admin_prepare_head();
|
$head = expedition_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'attributes_receivings', $langs->trans("Receivings"), -1, 'sending');
|
dol_fiche_head($head, 'attributes_receivings', $langs->trans("Receivings"), -1, 'shipment');
|
||||||
|
|
||||||
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
||||||
|
|
||||||
|
|||||||
@ -77,7 +77,7 @@ print "<br>\n";
|
|||||||
|
|
||||||
$head = expedition_admin_prepare_head();
|
$head = expedition_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'attributeslines_receivings', $langs->trans("Receivings"), -1, 'sending');
|
dol_fiche_head($head, 'attributeslines_receivings', $langs->trans("Receivings"), -1, 'shipment');
|
||||||
|
|
||||||
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
||||||
|
|
||||||
|
|||||||
@ -125,7 +125,7 @@ print '</td></tr>';
|
|||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("MailingDelay").'</td><td>';
|
print $langs->trans("MailingDelay").'</td><td>';
|
||||||
print '<input size="32" type="text" name="MAILING_DELAY" value="'.$conf->global->MAILING_DELAY.'">';
|
print '<input class="width75" type="text" name="MAILING_DELAY" value="'.$conf->global->MAILING_DELAY.'">';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -720,7 +720,7 @@ else
|
|||||||
{
|
{
|
||||||
if (function_exists('fsockopen') && $port && $server)
|
if (function_exists('fsockopen') && $port && $server)
|
||||||
{
|
{
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=testconnect#formmailbeforetitle">'.$langs->trans("DoTestServerAvailability").'</a>';
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=testconnect&date='.dol_now().'#formmailbeforetitle">'.$langs->trans("DoTestServerAvailability").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -764,11 +764,17 @@ else
|
|||||||
|
|
||||||
if ($conf->global->MAIN_MAIL_SENDMODE == 'mail')
|
if ($conf->global->MAIN_MAIL_SENDMODE == 'mail')
|
||||||
{
|
{
|
||||||
// MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS is list of IPs where email is sent from. Example: '1.2.3.4, [aaaa:bbbb:cccc:dddd]'.
|
if (!empty($conf->global->MAIN_EXTERNAL_MAIL_SPF_STRING_TO_ADD))
|
||||||
if (!empty($conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS))
|
|
||||||
{
|
{
|
||||||
// List of IP show as record to add in SPF if we use the mail method
|
// List of string to add in SPF if the setup use the mail method
|
||||||
$text .= ($text ? '<br><br>' : '').$langs->trans("WarningPHPMailSPF", $conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS);
|
$text .= ($text ? '<br><br>' : '').$langs->trans("WarningPHPMailSPF", $conf->global->MAIN_EXTERNAL_MAIL_SPF_STRING_TO_ADD);
|
||||||
|
} else {
|
||||||
|
// MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS is list of IPs where email is sent from. Example: '1.2.3.4, [aaaa:bbbb:cccc:dddd]'.
|
||||||
|
if (!empty($conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS))
|
||||||
|
{
|
||||||
|
// List of IP show as record to add in SPF if we use the mail method
|
||||||
|
$text .= ($text ? '<br><br>' : '').$langs->trans("WarningPHPMailSPF", $conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!empty($conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS))
|
if (!empty($conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS))
|
||||||
@ -776,7 +782,7 @@ else
|
|||||||
// List of IP show as record to add as allowed IP if we use the smtp method
|
// List of IP show as record to add as allowed IP if we use the smtp method
|
||||||
$text .= ($text ? '<br><br>' : '').$langs->trans("WarningPHPMail2", $conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS);
|
$text .= ($text ? '<br><br>' : '').$langs->trans("WarningPHPMail2", $conf->global->MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS);
|
||||||
}
|
}
|
||||||
if (!empty($conf->global->MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD))
|
if (!empty($conf->global->MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD)) // Should be required only if you have set to use your own SMTP and wat to warn users to update their domain name to match your SMTP server.
|
||||||
{
|
{
|
||||||
// List of string to add in SPF if we use the smtp method
|
// List of string to add in SPF if we use the smtp method
|
||||||
$text .= ($text ? '<br><br>' : '').$langs->trans("WarningPHPMailSPF", $conf->global->MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD);
|
$text .= ($text ? '<br><br>' : '').$langs->trans("WarningPHPMailSPF", $conf->global->MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD);
|
||||||
@ -790,6 +796,7 @@ else
|
|||||||
// Run the test to connect
|
// Run the test to connect
|
||||||
if ($action == 'testconnect')
|
if ($action == 'testconnect')
|
||||||
{
|
{
|
||||||
|
print '<div id="formmailaftertstconnect" name="formmailaftertstconnect"></div>';
|
||||||
print load_fiche_titre($langs->trans("DoTestServerAvailability"));
|
print load_fiche_titre($langs->trans("DoTestServerAvailability"));
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
||||||
@ -805,6 +812,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
setEventMessages($errormsg, null, 'errors');
|
setEventMessages($errormsg, null, 'errors');
|
||||||
|
print $errormsg;
|
||||||
}
|
}
|
||||||
print '<br>';
|
print '<br>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -155,20 +155,20 @@ $sourceList = array();
|
|||||||
|
|
||||||
// We save list of template email Dolibarr can manage. This list can found by a grep into code on "->param['models']"
|
// We save list of template email Dolibarr can manage. This list can found by a grep into code on "->param['models']"
|
||||||
$elementList = array();
|
$elementList = array();
|
||||||
if ($conf->propal->enabled) $elementList['propal_send'] = $langs->trans('MailToSendProposal');
|
if ($conf->propal->enabled && $user->rights->propal->lire) $elementList['propal_send'] = $langs->trans('MailToSendProposal');
|
||||||
if ($conf->commande->enabled) $elementList['order_send'] = $langs->trans('MailToSendOrder');
|
if ($conf->commande->enabled && $user->rights->commande->lire) $elementList['order_send'] = $langs->trans('MailToSendOrder');
|
||||||
if ($conf->facture->enabled) $elementList['facture_send'] = $langs->trans('MailToSendInvoice');
|
if ($conf->facture->enabled && $user->rights->facture->lire) $elementList['facture_send'] = $langs->trans('MailToSendInvoice');
|
||||||
if ($conf->expedition->enabled) $elementList['shipping_send'] = $langs->trans('MailToSendShipment');
|
if ($conf->expedition->enabled) $elementList['shipping_send'] = $langs->trans('MailToSendShipment');
|
||||||
if ($conf->reception->enabled) $elementList['reception_send'] = $langs->trans('MailToSendReception');
|
if ($conf->reception->enabled) $elementList['reception_send'] = $langs->trans('MailToSendReception');
|
||||||
if ($conf->ficheinter->enabled) $elementList['fichinter_send'] = $langs->trans('MailToSendIntervention');
|
if ($conf->ficheinter->enabled) $elementList['fichinter_send'] = $langs->trans('MailToSendIntervention');
|
||||||
if ($conf->supplier_proposal->enabled) $elementList['supplier_proposal_send'] = $langs->trans('MailToSendSupplierRequestForQuotation');
|
if ($conf->supplier_proposal->enabled) $elementList['supplier_proposal_send'] = $langs->trans('MailToSendSupplierRequestForQuotation');
|
||||||
if ($conf->fournisseur->enabled && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || $conf->supplier_order->enabled) $elementList['order_supplier_send'] = $langs->trans('MailToSendSupplierOrder');
|
if (($conf->fournisseur->enabled && $user->rights->fournisseur->commande->lire && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || ($conf->supplier_order->enabled && $user->rights->supplier_order->lire)) $elementList['order_supplier_send'] = $langs->trans('MailToSendSupplierOrder');
|
||||||
if ($conf->fournisseur->enabled && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || $conf->supplier_invoice->enabled) $elementList['invoice_supplier_send'] = $langs->trans('MailToSendSupplierInvoice');
|
if (($conf->fournisseur->enabled && $user->rights->fournisseur->facture->lire && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || ($conf->supplier_invoice->enabled && $user->rights->supplier_invoice->lire)) $elementList['invoice_supplier_send'] = $langs->trans('MailToSendSupplierInvoice');
|
||||||
if ($conf->societe->enabled) $elementList['thirdparty'] = $langs->trans('MailToThirdparty');
|
if ($conf->societe->enabled && $user->rights->societe->lire) $elementList['thirdparty'] = $langs->trans('MailToThirdparty');
|
||||||
if ($conf->adherent->enabled) $elementList['member'] = $langs->trans('MailToMember');
|
if ($conf->adherent->enabled && $user->rights->adherent->lire) $elementList['member'] = $langs->trans('MailToMember');
|
||||||
if ($conf->contrat->enabled) $elementList['contract'] = $langs->trans('MailToSendContract');
|
if ($conf->contrat->enabled && $user->rights->contrat->lire) $elementList['contract'] = $langs->trans('MailToSendContract');
|
||||||
if ($conf->projet->enabled) $elementList['project'] = $langs->trans('MailToProject');
|
if ($conf->projet->enabled) $elementList['project'] = $langs->trans('MailToProject');
|
||||||
if ($conf->ticket->enabled) $elementList['ticket_send'] = $langs->trans('MailToTicket');
|
if ($conf->ticket->enabled && $user->rights->ticket->read) $elementList['ticket_send'] = $langs->trans('MailToTicket');
|
||||||
$elementList['user'] = $langs->trans('MailToUser');
|
$elementList['user'] = $langs->trans('MailToUser');
|
||||||
|
|
||||||
$parameters = array('elementList'=>$elementList);
|
$parameters = array('elementList'=>$elementList);
|
||||||
@ -257,7 +257,7 @@ if (empty($reshook))
|
|||||||
$sql = "INSERT INTO ".$tabname[$id]." (";
|
$sql = "INSERT INTO ".$tabname[$id]." (";
|
||||||
// List of fields
|
// List of fields
|
||||||
$sql .= $tabfieldinsert[$id];
|
$sql .= $tabfieldinsert[$id];
|
||||||
$sql .= ",active)";
|
$sql .= ",active,enabled)";
|
||||||
$sql .= " VALUES(";
|
$sql .= " VALUES(";
|
||||||
|
|
||||||
// List of values
|
// List of values
|
||||||
@ -280,7 +280,7 @@ if (empty($reshook))
|
|||||||
elseif ($keycode == 'content') {
|
elseif ($keycode == 'content') {
|
||||||
$sql .= "'".$db->escape(GETPOST($keycode, 'restricthtml'))."'";
|
$sql .= "'".$db->escape(GETPOST($keycode, 'restricthtml'))."'";
|
||||||
}
|
}
|
||||||
elseif (in_array($keycode, array('joinfile', 'private', 'position', 'scale'))) {
|
elseif (in_array($keycode, array('joinfiles', 'private', 'position', 'scale'))) {
|
||||||
$sql .= (int) GETPOST($keycode, 'int');
|
$sql .= (int) GETPOST($keycode, 'int');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -289,7 +289,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$sql .= ", 1)";
|
$sql .= ", 1, 1)";
|
||||||
|
|
||||||
dol_syslog("actionadd", LOG_DEBUG);
|
dol_syslog("actionadd", LOG_DEBUG);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
@ -558,6 +558,7 @@ if (!empty($conf->global->MAIN_EMAIL_TEMPLATES_FOR_OBJECT_LINES)) { $fieldsforco
|
|||||||
foreach ($fieldsforcontent as $tmpfieldlist)
|
foreach ($fieldsforcontent as $tmpfieldlist)
|
||||||
{
|
{
|
||||||
print '<tr class="impair nodrag nodrop nohover"><td colspan="6" class="nobottom">';
|
print '<tr class="impair nodrag nodrop nohover"><td colspan="6" class="nobottom">';
|
||||||
|
|
||||||
// Label
|
// Label
|
||||||
if ($tmpfieldlist == 'topic')
|
if ($tmpfieldlist == 'topic')
|
||||||
{
|
{
|
||||||
@ -571,6 +572,7 @@ foreach ($fieldsforcontent as $tmpfieldlist)
|
|||||||
print $form->textwithpicto($langs->trans("Content"), $tabhelp[$id][$tmpfieldlist], 1, 'help', '', 0, 2, $tmpfieldlist).'<br>';
|
print $form->textwithpicto($langs->trans("Content"), $tabhelp[$id][$tmpfieldlist], 1, 'help', '', 0, 2, $tmpfieldlist).'<br>';
|
||||||
if ($tmpfieldlist == 'content_lines')
|
if ($tmpfieldlist == 'content_lines')
|
||||||
print $form->textwithpicto($langs->trans("ContentForLines"), $tabhelp[$id][$tmpfieldlist], 1, 'help', '', 0, 2, $tmpfieldlist).'<br>';
|
print $form->textwithpicto($langs->trans("ContentForLines"), $tabhelp[$id][$tmpfieldlist], 1, 'help', '', 0, 2, $tmpfieldlist).'<br>';
|
||||||
|
|
||||||
// Input field
|
// Input field
|
||||||
if ($tmpfieldlist == 'topic') {
|
if ($tmpfieldlist == 'topic') {
|
||||||
print '<input type="text" class="flat minwidth500" name="'.$tmpfieldlist.'" value="'.(!empty($obj->{$tmpfieldlist}) ? $obj->{$tmpfieldlist} : '').'">';
|
print '<input type="text" class="flat minwidth500" name="'.$tmpfieldlist.'" value="'.(!empty($obj->{$tmpfieldlist}) ? $obj->{$tmpfieldlist} : '').'">';
|
||||||
@ -652,33 +654,34 @@ if ($resql)
|
|||||||
|
|
||||||
// Title line with search boxes
|
// Title line with search boxes
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|
||||||
$filterfound = 0;
|
$filterfound = 0;
|
||||||
foreach ($fieldlist as $field => $value)
|
foreach ($fieldlist as $field => $value)
|
||||||
{
|
{
|
||||||
if ($value == 'label') print '<td class="liste_titre"><input type="text" name="search_label" class="maxwidth100" value="'.dol_escape_htmltag($search_label).'"></td>';
|
if ($value == 'label') {
|
||||||
elseif ($value == 'lang')
|
print '<td class="liste_titre"><input type="text" name="search_label" class="maxwidth100" value="'.dol_escape_htmltag($search_label).'"></td>';
|
||||||
{
|
} elseif ($value == 'lang') {
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print $formadmin->select_language($search_lang, 'search_lang', 0, null, 1, 0, 0, 'maxwidth100');
|
print $formadmin->select_language($search_lang, 'search_lang', 0, null, 1, 0, 0, 'maxwidth100');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
} elseif ($value == 'fk_user') {
|
||||||
elseif ($value == 'fk_user')
|
|
||||||
{
|
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
$restrictid = array();
|
$restrictid = array();
|
||||||
if (!$user->admin) $restrictid = array($user->id);
|
if (!$user->admin) $restrictid = array($user->id);
|
||||||
//var_dump($restrictid);
|
//var_dump($restrictid);
|
||||||
print $form->select_dolusers($search_fk_user, 'search_fk_user', 1, null, 0, 'hierarchyme', null, 0, 0, 1, '', 0, '', 'maxwidth100');
|
print $form->select_dolusers($search_fk_user, 'search_fk_user', 1, null, 0, 'hierarchyme', null, 0, 0, 1, '', 0, '', 'maxwidth100');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
} elseif ($value == 'topic') {
|
||||||
elseif ($value == 'topic') print '<td class="liste_titre"><input type="text" name="search_topic" value="'.dol_escape_htmltag($search_topic).'"></td>';
|
print '<td class="liste_titre"><input type="text" name="search_topic" value="'.dol_escape_htmltag($search_topic).'"></td>';
|
||||||
elseif ($value == 'type_template')
|
} elseif ($value == 'type_template') {
|
||||||
{
|
|
||||||
print '<td class="liste_titre">'.$form->selectarray('search_type_template', $elementList, $search_type_template, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth100 maxwidth100onsmartphone').'</td>';
|
print '<td class="liste_titre">'.$form->selectarray('search_type_template', $elementList, $search_type_template, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth100 maxwidth100onsmartphone').'</td>';
|
||||||
|
} elseif (!in_array($value, array('content', 'content_lines'))) {
|
||||||
|
print '<td class="liste_titre"></td>';
|
||||||
}
|
}
|
||||||
elseif (!in_array($value, array('content', 'content_lines'))) print '<td class="liste_titre"></td>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($conf->global->MAIN_EMAIL_TEMPLATES_FOR_OBJECT_LINES)) print '<td class="liste_titre"></td>';
|
if (empty($conf->global->MAIN_EMAIL_TEMPLATES_FOR_OBJECT_LINES)) print '<td class="liste_titre"></td>';
|
||||||
|
|
||||||
// Action column
|
// Action column
|
||||||
print '<td class="liste_titre right" width="64">';
|
print '<td class="liste_titre right" width="64">';
|
||||||
$searchpicto = $form->showFilterButtons();
|
$searchpicto = $form->showFilterButtons();
|
||||||
|
|||||||
@ -153,7 +153,7 @@ print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
|
|||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="action" value="update">';
|
print '<input type="hidden" name="action" value="update">';
|
||||||
|
|
||||||
dol_fiche_head($head, 'handler', $langs->trans("Menus"), -1);
|
dol_fiche_head($head, 'handler', '', -1);
|
||||||
|
|
||||||
print '<span class="opacitymedium">'.$langs->trans("MenusDesc")."</span><br>\n";
|
print '<span class="opacitymedium">'.$langs->trans("MenusDesc")."</span><br>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|||||||
@ -235,7 +235,7 @@ $head[$h][1] = $langs->trans("Miscellaneous");
|
|||||||
$head[$h][2] = 'misc';
|
$head[$h][2] = 'misc';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
dol_fiche_head($head, 'editor', $langs->trans("Menus"), -1);
|
dol_fiche_head($head, 'editor', '', -1);
|
||||||
|
|
||||||
print '<span class="opacitymedium">'.$langs->trans("MenusEditorDesc")."</span><br>\n";
|
print '<span class="opacitymedium">'.$langs->trans("MenusEditorDesc")."</span><br>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|||||||
@ -76,7 +76,7 @@ $head[$h][1] = $langs->trans("Miscellaneous");
|
|||||||
$head[$h][2] = 'misc';
|
$head[$h][2] = 'misc';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
dol_fiche_head($head, 'misc', $langs->trans("Menus"), -1);
|
dol_fiche_head($head, 'misc', '', -1);
|
||||||
|
|
||||||
|
|
||||||
// Other Options
|
// Other Options
|
||||||
|
|||||||
@ -272,7 +272,7 @@ print '<div class="centpercent">';
|
|||||||
|
|
||||||
$picto = 'object_'.$objMod->picto;
|
$picto = 'object_'.$objMod->picto;
|
||||||
|
|
||||||
print load_fiche_titre(($modulename ? $modulename : $moduledesc), $moreinfo, $picto);
|
print load_fiche_titre(($modulename ? $modulename : $moduledesc), $moreinfo, $picto, 0, '', 'titlemodulehelp');
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
dol_fiche_head($head, $mode, '', -1);
|
dol_fiche_head($head, $mode, '', -1);
|
||||||
|
|||||||
@ -38,7 +38,7 @@ require_once DOL_DOCUMENT_ROOT.'/admin/dolistore/class/dolistore.class.php';
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("errors", "admin", "modulebuilder"));
|
$langs->loadLangs(array("errors", "admin", "modulebuilder"));
|
||||||
|
|
||||||
$mode = GETPOSTISSET('mode') ? GETPOST('mode', 'alpha') : 'commonkanban';
|
$mode = GETPOSTISSET('mode') ? GETPOST('mode', 'alpha') : (empty($conf->global->MAIN_MODULE_SETUP_ON_LIST_BY_DEFAULT) ? 'commonkanban' : 'common');
|
||||||
if (empty($mode)) $mode = 'common';
|
if (empty($mode)) $mode = 'common';
|
||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
//var_dump($_POST);exit;
|
//var_dump($_POST);exit;
|
||||||
|
|||||||
@ -57,6 +57,7 @@ if (($action == 'update' && !GETPOST("cancel", 'alpha'))
|
|||||||
|
|
||||||
if ($action != 'updateedit' && !$error)
|
if ($action != 'updateedit' && !$error)
|
||||||
{
|
{
|
||||||
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
header("Location: ".$_SERVER["PHP_SELF"]);
|
header("Location: ".$_SERVER["PHP_SELF"]);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,6 +39,8 @@ if (!$user->admin) accessforbidden();
|
|||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
$type = 'paymentorder';
|
$type = 'paymentorder';
|
||||||
|
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
@ -74,35 +76,28 @@ if ($action == "set")
|
|||||||
else $error++;
|
else $error++;
|
||||||
|
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_ICS", GETPOST("PRELEVEMENT_ICS"), 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, "PRELEVEMENT_ICS", GETPOST("PRELEVEMENT_ICS"), 'chaine', 0, '', $conf->entity);
|
||||||
if (!$res > 0) $error++;
|
if (! ($res > 0)) $error++;
|
||||||
|
|
||||||
if (GETPOST("PRELEVEMENT_USER") > 0)
|
if (GETPOST("PRELEVEMENT_USER") > 0) {
|
||||||
{
|
$res = dolibarr_set_const($db, "PRELEVEMENT_USER", GETPOST("PRELEVEMENT_USER"), 'chaine', 0, '', $conf->entity);
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_USER", GETPOST("PRELEVEMENT_USER"), 'chaine', 0, '', $conf->entity);
|
if (! ($res > 0)) $error++;
|
||||||
if (!$res > 0) $error++;
|
}
|
||||||
}
|
if (GETPOST("PRELEVEMENT_END_TO_END") || GETPOST("PRELEVEMENT_END_TO_END") == "") {
|
||||||
if (GETPOST("PRELEVEMENT_END_TO_END") || GETPOST("PRELEVEMENT_END_TO_END") == "")
|
$res = dolibarr_set_const($db, "PRELEVEMENT_END_TO_END", GETPOST("PRELEVEMENT_END_TO_END"), 'chaine', 0, '', $conf->entity);
|
||||||
{
|
if (! ($res > 0)) $error++;
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_END_TO_END", GETPOST("PRELEVEMENT_END_TO_END"), 'chaine', 0, '', $conf->entity);
|
}
|
||||||
if (!$res > 0) $error++;
|
if (GETPOST("PRELEVEMENT_USTRD") || GETPOST("PRELEVEMENT_USTRD") == "") {
|
||||||
}
|
$res = dolibarr_set_const($db, "PRELEVEMENT_USTRD", GETPOST("PRELEVEMENT_USTRD"), 'chaine', 0, '', $conf->entity);
|
||||||
if (GETPOST("PRELEVEMENT_USTRD") || GETPOST("PRELEVEMENT_USTRD") == "")
|
if (! ($res > 0)) $error++;
|
||||||
{
|
}
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_USTRD", GETPOST("PRELEVEMENT_USTRD"), 'chaine', 0, '', $conf->entity);
|
|
||||||
if (!$res > 0) $error++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GETPOST("PRELEVEMENT_ADDDAYS") || GETPOST("PRELEVEMENT_ADDDAYS") == "")
|
$res = dolibarr_set_const($db, "PRELEVEMENT_ADDDAYS", GETPOST("PRELEVEMENT_ADDDAYS"), 'chaine', 0, '', $conf->entity);
|
||||||
{
|
if (! ($res > 0)) $error++;
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_ADDDAYS", GETPOST("PRELEVEMENT_ADDDAYS"), 'chaine', 0, '', $conf->entity);
|
|
||||||
if (!$res > 0) $error++;
|
if (! $error) {
|
||||||
} elseif (!$error)
|
|
||||||
{
|
|
||||||
$db->commit();
|
$db->commit();
|
||||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
setEventMessages($langs->trans("Error"), null, 'errors');
|
setEventMessages($langs->trans("Error"), null, 'errors');
|
||||||
}
|
}
|
||||||
@ -196,9 +191,10 @@ print '</td></tr>';
|
|||||||
//ADDDAYS
|
//ADDDAYS
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("ADDDAYS").'</td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("ADDDAYS").'</td>';
|
||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
if (!$conf->global->PRELEVEMENT_ADDDAYS) $conf->global->PRELEVEMENT_ADDDAYS = 0;
|
if (empty($conf->global->PRELEVEMENT_ADDDAYS)) $conf->global->PRELEVEMENT_ADDDAYS = 0;
|
||||||
print '<input type="text" name="PRELEVEMENT_ADDDAYS" value="'.$conf->global->PRELEVEMENT_ADDDAYS.'" size="5" ></td>';
|
print '<input type="text" name="PRELEVEMENT_ADDDAYS" value="'.$conf->global->PRELEVEMENT_ADDDAYS.'" size="5" ></td>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|||||||
@ -65,13 +65,13 @@ if (!function_exists('gzdecode')) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Action
|
* Action
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action == 'addprinter' && $user->admin) {
|
if ($action == 'addprinter' && $user->admin) {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$db->begin();
|
|
||||||
if (empty($printername)) {
|
if (empty($printername)) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages($langs->trans("PrinterNameEmpty"), null, 'errors');
|
setEventMessages($langs->trans("PrinterNameEmpty"), null, 'errors');
|
||||||
@ -82,7 +82,8 @@ if ($action == 'addprinter' && $user->admin) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $printer->addPrinter($printername, GETPOST('printertypeid', 'int'), GETPOST('printerprofileid', 'int'), $parameter);
|
$db->begin();
|
||||||
|
$result = $printer->addPrinter($printername, GETPOST('printertypeid', 'int'), GETPOST('printerprofileid', 'int'), $parameter);
|
||||||
if ($result > 0) $error++;
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
@ -101,14 +102,14 @@ if ($action == 'addprinter' && $user->admin) {
|
|||||||
|
|
||||||
if ($action == 'deleteprinter' && $user->admin) {
|
if ($action == 'deleteprinter' && $user->admin) {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$db->begin();
|
|
||||||
if (empty($printerid)) {
|
if (empty($printerid)) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages($langs->trans("PrinterIdEmpty"), null, 'errors');
|
setEventMessages($langs->trans("PrinterIdEmpty"), null, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $printer->deletePrinter($printerid);
|
$db->begin();
|
||||||
|
$result = $printer->deletePrinter($printerid);
|
||||||
if ($result > 0) $error++;
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
@ -127,14 +128,14 @@ if ($action == 'deleteprinter' && $user->admin) {
|
|||||||
|
|
||||||
if ($action == 'updateprinter' && $user->admin) {
|
if ($action == 'updateprinter' && $user->admin) {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$db->begin();
|
|
||||||
if (empty($printerid)) {
|
if (empty($printerid)) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages($langs->trans("PrinterIdEmpty"), null, 'errors');
|
setEventMessages($langs->trans("PrinterIdEmpty"), null, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $printer->updatePrinter($printername, GETPOST('printertypeid', 'int'), GETPOST('printerprofileid', 'int'), $parameter, $printerid);
|
$db->begin();
|
||||||
|
$result = $printer->updatePrinter($printername, GETPOST('printertypeid', 'int'), GETPOST('printerprofileid', 'int'), $parameter, $printerid);
|
||||||
if ($result > 0) $error++;
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
@ -193,14 +194,14 @@ if ($action == 'testtemplate' && $user->admin) {
|
|||||||
|
|
||||||
if ($action == 'updatetemplate' && $user->admin) {
|
if ($action == 'updatetemplate' && $user->admin) {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$db->begin();
|
|
||||||
if (empty($templateid)) {
|
if (empty($templateid)) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages($langs->trans("TemplateIdEmpty"), null, 'errors');
|
setEventMessages($langs->trans("TemplateIdEmpty"), null, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $printer->updateTemplate($templatename, $template, $templateid);
|
$db->begin();
|
||||||
|
$result = $printer->updateTemplate($templatename, $template, $templateid);
|
||||||
if ($result > 0) $error++;
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
@ -216,14 +217,14 @@ if ($action == 'updatetemplate' && $user->admin) {
|
|||||||
|
|
||||||
if ($action == 'addtemplate' && $user->admin) {
|
if ($action == 'addtemplate' && $user->admin) {
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$db->begin();
|
|
||||||
if (empty($templatename)) {
|
if (empty($templatename)) {
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages($langs->trans("TemplateNameEmpty"), null, 'errors');
|
setEventMessages($langs->trans("TemplateNameEmpty"), null, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $printer->addTemplate($templatename, $template);
|
$db->begin();
|
||||||
|
$result = $printer->addTemplate($templatename, $template);
|
||||||
if ($result > 0) $error++;
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
@ -237,6 +238,29 @@ if ($action == 'addtemplate' && $user->admin) {
|
|||||||
$action = '';
|
$action = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($action == 'deletetemplate' && $user->admin) {
|
||||||
|
$error = 0;
|
||||||
|
if (empty($templateid)) {
|
||||||
|
$error++;
|
||||||
|
setEventMessages($langs->trans("TemplateIdEmpty"), null, 'errors');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
|
$db->begin();
|
||||||
|
$result = $printer->deleteTemplate($templateid);
|
||||||
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
|
$db->commit();
|
||||||
|
setEventMessages($langs->trans("TemplateDeleted", $templatename), null);
|
||||||
|
} else {
|
||||||
|
$db->rollback();
|
||||||
|
dol_print_error($db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
@ -251,6 +275,7 @@ print load_fiche_titre($langs->trans("ReceiptPrinterSetup"), $linkback, 'title_s
|
|||||||
|
|
||||||
$head = receiptprinteradmin_prepare_head($mode);
|
$head = receiptprinteradmin_prepare_head($mode);
|
||||||
|
|
||||||
|
// mode = config
|
||||||
if ($mode == 'config' && $user->admin) {
|
if ($mode == 'config' && $user->admin) {
|
||||||
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?mode=config" autocomplete="off">';
|
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?mode=config" autocomplete="off">';
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
@ -263,7 +288,7 @@ if ($mode == 'config' && $user->admin) {
|
|||||||
|
|
||||||
dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), -1, 'technic');
|
dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), -1, 'technic');
|
||||||
|
|
||||||
print $langs->trans("ReceiptPrinterDesc")."<br><br>\n";
|
print '<span class="opacitymedium">'.$langs->trans("ReceiptPrinterDesc")."</span><br><br>\n";
|
||||||
|
|
||||||
print '<table class="noborder centpercent">'."\n";
|
print '<table class="noborder centpercent">'."\n";
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@ -276,6 +301,22 @@ if ($mode == 'config' && $user->admin) {
|
|||||||
$ret = $printer->listprinters();
|
$ret = $printer->listprinters();
|
||||||
$nbofprinters = count($printer->listprinters);
|
$nbofprinters = count($printer->listprinters);
|
||||||
|
|
||||||
|
if ($action != 'editprinter') {
|
||||||
|
print '<tr>';
|
||||||
|
print '<td><input size="50" type="text" name="printername"></td>';
|
||||||
|
$ret = $printer->selectTypePrinter();
|
||||||
|
print '<td>'.$printer->resprint.'</td>';
|
||||||
|
$ret = $printer->selectProfilePrinter();
|
||||||
|
print '<td>'.$printer->profileresprint.'</td>';
|
||||||
|
print '<td><input size="60" type="text" name="parameter"></td>';
|
||||||
|
print '<td class="right">';
|
||||||
|
if ($action != 'editprinter') {
|
||||||
|
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Add")).'"></div>';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
if ($ret > 0) {
|
if ($ret > 0) {
|
||||||
setEventMessages($printer->error, $printer->errors, 'errors');
|
setEventMessages($printer->error, $printer->errors, 'errors');
|
||||||
} else {
|
} else {
|
||||||
@ -289,7 +330,9 @@ if ($mode == 'config' && $user->admin) {
|
|||||||
$ret = $printer->selectProfilePrinter($printer->listprinters[$line]['fk_profile']);
|
$ret = $printer->selectProfilePrinter($printer->listprinters[$line]['fk_profile']);
|
||||||
print '<td>'.$printer->profileresprint.'</td>';
|
print '<td>'.$printer->profileresprint.'</td>';
|
||||||
print '<td><input size="60" type="text" name="parameter" value="'.$printer->listprinters[$line]['parameter'].'"></td>';
|
print '<td><input size="60" type="text" name="parameter" value="'.$printer->listprinters[$line]['parameter'].'"></td>';
|
||||||
print '<td></td>';
|
print '<td>';
|
||||||
|
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Save")).'"></div>';
|
||||||
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
} else {
|
} else {
|
||||||
print '<td>'.$printer->listprinters[$line]['name'].'</td>';
|
print '<td>'.$printer->listprinters[$line]['name'].'</td>';
|
||||||
@ -297,15 +340,15 @@ if ($mode == 'config' && $user->admin) {
|
|||||||
print '<td>'.$langs->trans($printer->listprinters[$line]['fk_profile_name']).'</td>';
|
print '<td>'.$langs->trans($printer->listprinters[$line]['fk_profile_name']).'</td>';
|
||||||
print '<td>'.$printer->listprinters[$line]['parameter'].'</td>';
|
print '<td>'.$printer->listprinters[$line]['parameter'].'</td>';
|
||||||
// edit icon
|
// edit icon
|
||||||
print '<td><a href="'.$_SERVER['PHP_SELF'].'?mode=config&action=editprinter&printerid='.$printer->listprinters[$line]['rowid'].'">';
|
print '<td class="right"><a class="editfielda marginrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=config&action=editprinter&printerid='.$printer->listprinters[$line]['rowid'].'">';
|
||||||
print img_picto($langs->trans("Edit"), 'edit');
|
print img_picto($langs->trans("Edit"), 'edit');
|
||||||
print '</a>';
|
print '</a>';
|
||||||
// delete icon
|
// delete icon
|
||||||
print '<a href="'.$_SERVER['PHP_SELF'].'?mode=config&action=deleteprinter&printerid='.$printer->listprinters[$line]['rowid'].'&printername='.$printer->listprinters[$line]['name'].'">';
|
print '<a class="marginrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=config&action=deleteprinter&printerid='.$printer->listprinters[$line]['rowid'].'&printername='.$printer->listprinters[$line]['name'].'">';
|
||||||
print img_picto($langs->trans("Delete"), 'delete');
|
print img_picto($langs->trans("Delete"), 'delete');
|
||||||
print '</a>';
|
print '</a>';
|
||||||
// test icon
|
// test icon
|
||||||
print '<a href="'.$_SERVER['PHP_SELF'].'?mode=config&action=testprinter&printerid='.$printer->listprinters[$line]['rowid'].'&printername='.$printer->listprinters[$line]['name'].'">';
|
print '<a class="marginrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=config&action=testprinter&printerid='.$printer->listprinters[$line]['rowid'].'&printername='.$printer->listprinters[$line]['name'].'">';
|
||||||
print img_picto($langs->trans("TestPrinter"), 'printer');
|
print img_picto($langs->trans("TestPrinter"), 'printer');
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -313,38 +356,10 @@ if ($mode == 'config' && $user->admin) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action != 'editprinter') {
|
|
||||||
if ($nbofprinters > 0) {
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
print '<th>'.$langs->trans("Name").'</th>';
|
|
||||||
print '<th>'.$langs->trans("Type").'</th>';
|
|
||||||
print '<th>'.$langs->trans("Profile").'</th>';
|
|
||||||
print '<th>'.$langs->trans("Parameters").'</th>';
|
|
||||||
print '<th></th>';
|
|
||||||
print "</tr>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<tr>';
|
|
||||||
print '<td><input size="50" type="text" name="printername"></td>';
|
|
||||||
$ret = $printer->selectTypePrinter();
|
|
||||||
print '<td>'.$printer->resprint.'</td>';
|
|
||||||
$ret = $printer->selectProfilePrinter();
|
|
||||||
print '<td>'.$printer->profileresprint.'</td>';
|
|
||||||
print '<td><input size="60" type="text" name="parameter"></td>';
|
|
||||||
print '<td></td>';
|
|
||||||
print '<td></td>';
|
|
||||||
print '<td></td>';
|
|
||||||
print '</tr>';
|
|
||||||
}
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
|
|
||||||
if ($action != 'editprinter') {
|
|
||||||
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Add")).'"></div>';
|
|
||||||
} else {
|
|
||||||
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Save")).'"></div>';
|
|
||||||
}
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
@ -374,8 +389,11 @@ if ($mode == 'config' && $user->admin) {
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// mode = template
|
||||||
if ($mode == 'template' && $user->admin) {
|
if ($mode == 'template' && $user->admin) {
|
||||||
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?mode=template" autocomplete="off">';
|
dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), -1, 'technic');
|
||||||
|
|
||||||
|
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?mode=template" autocomplete="off">';
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
if ($action != 'edittemplate') {
|
if ($action != 'edittemplate') {
|
||||||
print '<input type="hidden" name="action" value="addtemplate">';
|
print '<input type="hidden" name="action" value="addtemplate">';
|
||||||
@ -383,16 +401,11 @@ if ($mode == 'template' && $user->admin) {
|
|||||||
print '<input type="hidden" name="action" value="updatetemplate">';
|
print '<input type="hidden" name="action" value="updatetemplate">';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("ReceiptPrinterTemplateDesc"), '', '')."<br><br>\n";
|
|
||||||
|
|
||||||
print '<table class="noborder centpercent">'."\n";
|
print '<table class="noborder centpercent">'."\n";
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<th>'.$langs->trans("Name").'</th>';
|
print '<th>'.$langs->trans("Name").'</th>';
|
||||||
print '<th>'.$langs->trans("Template").'</th>';
|
print '<th>'.$langs->trans("Template").'</th>';
|
||||||
print '<th></th>';
|
print '<th></th>';
|
||||||
print '<th></th>';
|
|
||||||
print '<th></th>';
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$ret = $printer->listPrintersTemplates();
|
$ret = $printer->listPrintersTemplates();
|
||||||
//print '<pre>'.print_r($printer->listprinterstemplates, true).'</pre>';
|
//print '<pre>'.print_r($printer->listprinterstemplates, true).'</pre>';
|
||||||
@ -405,22 +418,23 @@ if ($mode == 'template' && $user->admin) {
|
|||||||
if ($action == 'edittemplate' && $printer->listprinterstemplates[$line]['rowid'] == $templateid) {
|
if ($action == 'edittemplate' && $printer->listprinterstemplates[$line]['rowid'] == $templateid) {
|
||||||
print '<input type="hidden" name="templateid" value="'.$printer->listprinterstemplates[$line]['rowid'].'">';
|
print '<input type="hidden" name="templateid" value="'.$printer->listprinterstemplates[$line]['rowid'].'">';
|
||||||
print '<td><input size="50" type="text" name="templatename" value="'.$printer->listprinterstemplates[$line]['name'].'"></td>';
|
print '<td><input size="50" type="text" name="templatename" value="'.$printer->listprinterstemplates[$line]['name'].'"></td>';
|
||||||
print '<td><textarea name="template" wrap="soft" cols="120" rows="12">'.$printer->listprinterstemplates[$line]['template'].'</textarea>';
|
print '<td>';
|
||||||
|
print '<textarea name="template" wrap="soft" cols="120" rows="12">'.$printer->listprinterstemplates[$line]['template'].'</textarea>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
} else {
|
} else {
|
||||||
print '<td>'.$printer->listprinterstemplates[$line]['name'].'</td>';
|
print '<td>'.$printer->listprinterstemplates[$line]['name'].'</td>';
|
||||||
print '<td>'.nl2br(htmlentities($printer->listprinterstemplates[$line]['template'])).'</td>';
|
print '<td>'.nl2br(htmlentities($printer->listprinterstemplates[$line]['template'])).'</td>';
|
||||||
// edit icon
|
// edit icon
|
||||||
print '<td><a class="editfielda paddingleftonly paddingrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=template&action=edittemplate&templateid='.$printer->listprinterstemplates[$line]['rowid'].'">';
|
print '<td><a class="editfielda paddingleftonly marginrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=template&action=edittemplate&templateid='.$printer->listprinterstemplates[$line]['rowid'].'">';
|
||||||
print img_picto($langs->trans("Edit"), 'edit');
|
print img_picto($langs->trans("Edit"), 'edit');
|
||||||
print '</a>';
|
print '</a>';
|
||||||
// delete icon
|
// delete icon
|
||||||
print '<a class="paddingleftonly paddingrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=template&action=deletetemplate&templateid='.$printer->listprinterstemplates[$line]['rowid'].'&templatename='.$printer->listprinterstemplates[$line]['name'].'">';
|
print '<a class="paddingleftonly marginrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=template&action=deletetemplate&templateid='.$printer->listprinterstemplates[$line]['rowid'].'&templatename='.$printer->listprinterstemplates[$line]['name'].'">';
|
||||||
print img_picto($langs->trans("Delete"), 'delete');
|
print img_picto($langs->trans("Delete"), 'delete');
|
||||||
print '</a>';
|
print '</a>';
|
||||||
// test icon
|
// test icon
|
||||||
print '<a class="paddingleftonly paddingrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=template&action=testtemplate&templateid='.$printer->listprinterstemplates[$line]['rowid'].'&templatename='.$printer->listprinterstemplates[$line]['name'].'">';
|
print '<a class="paddingleftonly marginrightonly" href="'.$_SERVER['PHP_SELF'].'?mode=template&action=testtemplate&templateid='.$printer->listprinterstemplates[$line]['rowid'].'&templatename='.$printer->listprinterstemplates[$line]['name'].'">';
|
||||||
print img_picto($langs->trans("TestPrinterTemplate"), 'printer');
|
print img_picto($langs->trans("TestPrinterTemplate"), 'printer');
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
}
|
}
|
||||||
@ -428,20 +442,30 @@ if ($mode == 'template' && $user->admin) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
|
||||||
if ($action != 'edittemplate') {
|
if ($action != 'edittemplate') {
|
||||||
print '<input type="hidden" name="templateid" value="'.$printer->listprinterstemplates[$line]['rowid'].'">';
|
print '<tr>';
|
||||||
print '<td><input size="50" type="text" name="templatename" value="'.$printer->listprinterstemplates[$line]['name'].'"></td>';
|
print '<td><input size="50" type="text" name="templatename" value="'.$printer->listprinterstemplates[$line]['name'].'"></td>';
|
||||||
print '<td><textarea name="template" wrap="soft" cols="120" rows="12">'.$printer->listprinterstemplates[$line]['template'].'</textarea>';
|
print '<td>';
|
||||||
|
print '<textarea name="template" wrap="soft" cols="120" rows="12">';
|
||||||
|
print GETPOSTISSET('template') ? GETPOST('template', 'alpha') : $printer->listprinterstemplates[$line]['template'];
|
||||||
|
print '</textarea>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Add")).'"></div>';
|
print '</table>';
|
||||||
|
|
||||||
|
if ($action != 'edittemplate') {
|
||||||
|
print '<input type="hidden" name="templateid" value="'.$printer->listprinterstemplates[$line]['rowid'].'">';
|
||||||
|
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Add")).'"></div>';
|
||||||
} else {
|
} else {
|
||||||
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Save")).'"></div>';
|
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Save")).'"></div>';
|
||||||
}
|
}
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
|
dol_fiche_end();
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print '<table class="noborder centpercent">'."\n";
|
print '<table class="noborder centpercent">'."\n";
|
||||||
|
|||||||
@ -28,7 +28,7 @@ require '../main.inc.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/resource.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/resource.lib.php';
|
||||||
if (!empty($conf->resouce->enabled)) require_once DOL_DOCUMENT_ROOT.'/resource/class/html.formresource.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/resource/class/html.formresource.class.php';
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("admin", "resource"));
|
$langs->loadLangs(array("admin", "resource"));
|
||||||
|
|||||||
@ -310,7 +310,7 @@ else
|
|||||||
$formsms->withfromreadonly = 0;
|
$formsms->withfromreadonly = 0;
|
||||||
$formsms->withsubstit = 0;
|
$formsms->withsubstit = 0;
|
||||||
$formsms->withfrom = 1;
|
$formsms->withfrom = 1;
|
||||||
$formsms->withto = (isset($_POST['sendto']) ? $_POST['sendto'] : $user->user_mobile ? $user->user_mobile : 1);
|
$formsms->withto = (isset($_POST['sendto']) ? $_POST['sendto'] : ($user->user_mobile ? $user->user_mobile : 1));
|
||||||
$formsms->withbody = (isset($_POST['message']) ? (empty($_POST['message']) ? 1 : $_POST['message']) : $langs->trans("ThisIsATestMessage"));
|
$formsms->withbody = (isset($_POST['message']) ? (empty($_POST['message']) ? 1 : $_POST['message']) : $langs->trans("ThisIsATestMessage"));
|
||||||
$formsms->withbodyreadonly = 0;
|
$formsms->withbodyreadonly = 0;
|
||||||
$formsms->withcancel = 1;
|
$formsms->withcancel = 1;
|
||||||
|
|||||||
@ -41,12 +41,31 @@ $action = GETPOST('action', 'alpha');
|
|||||||
/*
|
/*
|
||||||
* Action
|
* Action
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$reg = array();
|
||||||
|
|
||||||
if (preg_match('/set_([a-z0-9_\-]+)/i', $action, $reg))
|
if (preg_match('/set_([a-z0-9_\-]+)/i', $action, $reg))
|
||||||
{
|
{
|
||||||
$code = $reg[1];
|
$code = $reg[1];
|
||||||
|
|
||||||
|
// If constant is for a unique choice, delete other choices
|
||||||
|
if (in_array($code, array('STOCK_CALCULATE_ON_BILL', 'STOCK_CALCULATE_ON_VALIDATE_ORDER', 'STOCK_CALCULATE_ON_SHIPMENT', 'STOCK_CALCULATE_ON_SHIPMENT_CLOSE'))) {
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_BILL', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_VALIDATE_ORDER', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SHIPMENT', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SHIPMENT_CLOSE', $conf->entity);
|
||||||
|
}
|
||||||
|
if (in_array($code, array('STOCK_CALCULATE_ON_SUPPLIER_BILL', 'STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER', 'STOCK_CALCULATE_ON_RECEPTION', 'STOCK_CALCULATE_ON_RECEPTION_CLOSE', 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER'))) {
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SUPPLIER_BILL', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_RECEPTION', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_RECEPTION_CLOSE', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER', $conf->entity);
|
||||||
|
}
|
||||||
|
|
||||||
if (dolibarr_set_const($db, $code, 1, 'chaine', 0, '', $conf->entity) > 0)
|
if (dolibarr_set_const($db, $code, 1, 'chaine', 0, '', $conf->entity) > 0)
|
||||||
{
|
{
|
||||||
header("Location: ".$_SERVER["PHP_SELF"]);
|
header("Location: ".$_SERVER["PHP_SELF"]);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -114,7 +133,7 @@ print '<td class="right">';
|
|||||||
if (!empty($conf->facture->enabled))
|
if (!empty($conf->facture->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_BILL');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_BILL', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_BILL);
|
print $form->selectarray("STOCK_CALCULATE_ON_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_BILL);
|
||||||
@ -134,7 +153,7 @@ print '<td class="right">';
|
|||||||
if (!empty($conf->commande->enabled))
|
if (!empty($conf->commande->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_VALIDATE_ORDER');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_VALIDATE_ORDER', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER);
|
print $form->selectarray("STOCK_CALCULATE_ON_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER);
|
||||||
@ -156,7 +175,7 @@ print '<td class="right">';
|
|||||||
if (!empty($conf->expedition->enabled))
|
if (!empty($conf->expedition->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT);
|
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT);
|
||||||
@ -176,7 +195,7 @@ print '<td class="right">';
|
|||||||
if (!empty($conf->expedition->enabled))
|
if (!empty($conf->expedition->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT_CLOSE');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT_CLOSE', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE);
|
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE);
|
||||||
@ -189,18 +208,12 @@ else
|
|||||||
print "</td>\n</tr>\n";
|
print "</td>\n</tr>\n";
|
||||||
$found++;
|
$found++;
|
||||||
|
|
||||||
/*if (! $found)
|
|
||||||
{
|
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
|
||||||
print '<td colspan="2">'.$langs->trans("NoModuleToManageStockDecrease").'</td>';
|
|
||||||
print "</tr>\n";
|
|
||||||
}*/
|
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|
||||||
// Title rule for stock increase
|
// Title rule for stock increase
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@ -216,7 +229,7 @@ print '<td class="right">';
|
|||||||
if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))
|
if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_BILL');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_BILL', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL);
|
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL);
|
||||||
@ -237,7 +250,7 @@ print '<td class="right">';
|
|||||||
if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))
|
if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER);
|
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER);
|
||||||
@ -257,7 +270,7 @@ if (!empty($conf->reception->enabled))
|
|||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
|
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION);
|
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION);
|
||||||
@ -272,7 +285,7 @@ if (!empty($conf->reception->enabled))
|
|||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
|
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION_CLOSE');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION_CLOSE', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION_CLOSE);
|
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION_CLOSE);
|
||||||
@ -288,7 +301,7 @@ else
|
|||||||
if (!empty($conf->fournisseur->enabled))
|
if (!empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER', array(), null, 0, 0, 0, 2, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER);
|
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER);
|
||||||
|
|||||||
@ -28,21 +28,27 @@ require '../../main.inc.php';
|
|||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
|
|
||||||
if (!$user->admin)
|
if (!$user->admin) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
|
}
|
||||||
|
|
||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
|
|
||||||
|
|
||||||
if ($action == 'convert')
|
if ($action == 'convert')
|
||||||
{
|
{
|
||||||
$sql = "ALTER TABLE ".$db->escape(GETPOST("table", "aZ09"))." ENGINE=INNODB";
|
$sql = "ALTER TABLE ".$db->escape(GETPOST("table", "aZ09"))." ENGINE=INNODB";
|
||||||
$db->query($sql);
|
$db->query($sql);
|
||||||
}
|
}
|
||||||
if ($action == 'convertutf8')
|
if ($action == 'convertutf8')
|
||||||
{
|
{
|
||||||
$sql = "ALTER TABLE ".$db->escape(GETPOST("table", "aZ09"))." CHARACTER SET utf8 COLLATE utf8_unicode_ci";
|
$sql = "ALTER TABLE ".$db->escape(GETPOST("table", "aZ09"))." CHARACTER SET utf8 COLLATE utf8_unicode_ci";
|
||||||
$db->query($sql);
|
$db->query($sql);
|
||||||
|
}
|
||||||
|
if ($action == 'convertdynamic')
|
||||||
|
{
|
||||||
|
$sql = "ALTER TABLE ".$db->escape(GETPOST("table", "aZ09"))." ROW_FORMAT=DYNAMIC;";
|
||||||
|
$db->query($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -87,8 +93,8 @@ else
|
|||||||
{
|
{
|
||||||
if ($base == 1)
|
if ($base == 1)
|
||||||
{
|
{
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder">';
|
print '<table class="noborder">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("TableName").'</td>';
|
print '<td>'.$langs->trans("TableName").'</td>';
|
||||||
print '<td colspan="2">'.$langs->trans("Type").'</td>';
|
print '<td colspan="2">'.$langs->trans("Type").'</td>';
|
||||||
@ -119,13 +125,19 @@ else
|
|||||||
print '<td>'.$obj->Engine.'</td>';
|
print '<td>'.$obj->Engine.'</td>';
|
||||||
if (isset($obj->Engine) && $obj->Engine == "MyISAM")
|
if (isset($obj->Engine) && $obj->Engine == "MyISAM")
|
||||||
{
|
{
|
||||||
print '<td><a class="reposition" href="database-tables.php?action=convert&table='.$obj->Name.'">'.$langs->trans("Convert").' InnoDB</a></td>';
|
print '<td><a class="reposition" href="database-tables.php?action=convert&table='.$obj->Name.'">'.$langs->trans("Convert").' InnoDb</a></td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
}
|
}
|
||||||
print '<td>'.$obj->Row_format.'</td>';
|
print '<td>';
|
||||||
|
print $obj->Row_format;
|
||||||
|
if (isset($obj->Row_format) && (in_array($obj->Row_format, array("Compact"))))
|
||||||
|
{
|
||||||
|
print '<br><a class="reposition" href="database-tables.php?action=convertdynamic&table='.$obj->Name.'">'.$langs->trans("Convert").' Dynamic</a>';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
print '<td align="right">'.$obj->Rows.'</td>';
|
print '<td align="right">'.$obj->Rows.'</td>';
|
||||||
print '<td align="right">'.$obj->Avg_row_length.'</td>';
|
print '<td align="right">'.$obj->Avg_row_length.'</td>';
|
||||||
print '<td align="right">'.$obj->Data_length.'</td>';
|
print '<td align="right">'.$obj->Data_length.'</td>';
|
||||||
@ -136,7 +148,7 @@ else
|
|||||||
print '<td align="right">'.$obj->Collation;
|
print '<td align="right">'.$obj->Collation;
|
||||||
if (isset($obj->Collation) && (in_array($obj->Collation, array("utf8mb4_general_ci", "utf8mb4_unicode_ci", "latin1_swedish_ci"))))
|
if (isset($obj->Collation) && (in_array($obj->Collation, array("utf8mb4_general_ci", "utf8mb4_unicode_ci", "latin1_swedish_ci"))))
|
||||||
{
|
{
|
||||||
print '<br><a class="reposition" href="database-tables.php?action=convertutf8&table='.$obj->Name.'">'.$langs->trans("Convert").' UTF8</a>';
|
print '<br><a class="reposition" href="database-tables.php?action=convertutf8&table='.$obj->Name.'">'.$langs->trans("Convert").' UTF8</a>';
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -149,8 +161,8 @@ else
|
|||||||
|
|
||||||
if ($base == 2)
|
if ($base == 2)
|
||||||
{
|
{
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder">';
|
print '<table class="noborder">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("TableName").'</td>';
|
print '<td>'.$langs->trans("TableName").'</td>';
|
||||||
print '<td>Nb of tuples</td>';
|
print '<td>Nb of tuples</td>';
|
||||||
@ -189,8 +201,8 @@ else
|
|||||||
if ($base == 4)
|
if ($base == 4)
|
||||||
{
|
{
|
||||||
// Sqlite by PDO or by Sqlite3
|
// Sqlite by PDO or by Sqlite3
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder">';
|
print '<table class="noborder">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("TableName").'</td>';
|
print '<td>'.$langs->trans("TableName").'</td>';
|
||||||
print '<td>'.$langs->trans("NbOfRecord").'</td>';
|
print '<td>'.$langs->trans("NbOfRecord").'</td>';
|
||||||
|
|||||||
@ -83,17 +83,23 @@ else
|
|||||||
if (DOL_VERSION != $conf->global->MAIN_VERSION_LAST_UPGRADE) print ' '.img_warning($langs->trans("RunningUpdateProcessMayBeRequired", DOL_VERSION, $conf->global->MAIN_VERSION_LAST_UPGRADE));
|
if (DOL_VERSION != $conf->global->MAIN_VERSION_LAST_UPGRADE) print ' '.img_warning($langs->trans("RunningUpdateProcessMayBeRequired", DOL_VERSION, $conf->global->MAIN_VERSION_LAST_UPGRADE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$version = DOL_VERSION;
|
||||||
|
if (preg_match('/[a-z]+/i', $version)) $version = 'develop'; // If version contains text, it is not an official tagged version, so we use the full change log.
|
||||||
|
print ' <a href="https://raw.githubusercontent.com/Dolibarr/dolibarr/'.$version.'/ChangeLog" target="_blank">'.$langs->trans("SeeChangeLog").'</a>';
|
||||||
|
|
||||||
|
$newversion = '';
|
||||||
if (function_exists('curl_init'))
|
if (function_exists('curl_init'))
|
||||||
{
|
{
|
||||||
$conf->global->MAIN_USE_RESPONSE_TIMEOUT = 10;
|
$conf->global->MAIN_USE_RESPONSE_TIMEOUT = 10;
|
||||||
print ' - ';
|
print ' - ';
|
||||||
if ($action == 'getlastversion')
|
if ($action == 'getlastversion')
|
||||||
{
|
{
|
||||||
if ($sfurl)
|
if ($sfurl) {
|
||||||
{
|
$i = 0;
|
||||||
while (!empty($sfurl->channel[0]->item[$i]->title) && $i < 10000)
|
while (!empty($sfurl->channel[0]->item[$i]->title) && $i < 10000)
|
||||||
{
|
{
|
||||||
$title = $sfurl->channel[0]->item[$i]->title;
|
$title = $sfurl->channel[0]->item[$i]->title;
|
||||||
|
$reg = array();
|
||||||
if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg))
|
if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg))
|
||||||
{
|
{
|
||||||
$newversion = $reg[1];
|
$newversion = $reg[1];
|
||||||
@ -107,25 +113,23 @@ if (function_exists('curl_init'))
|
|||||||
|
|
||||||
// Show version
|
// Show version
|
||||||
print $langs->trans("LastStableVersion").' : <b>'.(($version != '0.0') ? $version : $langs->trans("Unknown")).'</b>';
|
print $langs->trans("LastStableVersion").' : <b>'.(($version != '0.0') ? $version : $langs->trans("Unknown")).'</b>';
|
||||||
}
|
if ($version != '0.0') {
|
||||||
else
|
print ' <a href="https://raw.githubusercontent.com/Dolibarr/dolibarr/'.$version.'/ChangeLog" target="_blank">'.$langs->trans("SeeChangeLog").'</a>';
|
||||||
{
|
}
|
||||||
|
} else {
|
||||||
print $langs->trans("LastStableVersion").' : <b>'.$langs->trans("UpdateServerOffline").'</b>';
|
print $langs->trans("LastStableVersion").' : <b>'.$langs->trans("UpdateServerOffline").'</b>';
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("LastStableVersion").' : <a href="'.$_SERVER["PHP_SELF"].'?action=getlastversion" class="butAction">'.$langs->trans("Check").'</a>';
|
print $langs->trans("LastStableVersion").' : <a href="'.$_SERVER["PHP_SELF"].'?action=getlastversion" class="butAction">'.$langs->trans("Check").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now show link to the changelog
|
// Now show link to the changelog
|
||||||
print ' - ';
|
//print ' - ';
|
||||||
|
|
||||||
$version = DOL_VERSION;
|
$version = DOL_VERSION;
|
||||||
if (preg_match('/[a-z]+/i', $version)) $version = 'develop'; // If version contains text, it is not an official tagged version, so we use the full change log.
|
if (preg_match('/[a-z]+/i', $version)) $version = 'develop'; // If version contains text, it is not an official tagged version, so we use the full change log.
|
||||||
|
|
||||||
print '<a href="https://raw.githubusercontent.com/Dolibarr/dolibarr/'.$version.'/ChangeLog" target="_blank">'.$langs->trans("SeeChangeLog").'</a>';
|
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastUpgrade").' ('.$langs->trans("Database").')</td><td>'.$conf->global->MAIN_VERSION_LAST_UPGRADE.'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastUpgrade").' ('.$langs->trans("Database").')</td><td>'.$conf->global->MAIN_VERSION_LAST_UPGRADE.'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastInstall").'</td><td>'.$conf->global->MAIN_VERSION_LAST_INSTALL.'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastInstall").'</td><td>'.$conf->global->MAIN_VERSION_LAST_INSTALL.'</td></tr>'."\n";
|
||||||
@ -221,7 +225,7 @@ if (($thousand != ',' && $thousand != '.') || ($thousand != ' '))
|
|||||||
print '<tr class="oddeven"><td> => price(1234.56)</td><td>'.price(1234.56).'</td></tr>'."\n";
|
print '<tr class="oddeven"><td> => price(1234.56)</td><td>'.price(1234.56).'</td></tr>'."\n";
|
||||||
// Timezone
|
// Timezone
|
||||||
$txt = $langs->trans("OSTZ").' (variable system TZ): '.(!empty($_ENV["TZ"]) ? $_ENV["TZ"] : $langs->trans("NotDefined")).'<br>'."\n";
|
$txt = $langs->trans("OSTZ").' (variable system TZ): '.(!empty($_ENV["TZ"]) ? $_ENV["TZ"] : $langs->trans("NotDefined")).'<br>'."\n";
|
||||||
$txt .= $langs->trans("PHPTZ").' (php.ini date.timezone): '.(ini_get("date.timezone") ?ini_get("date.timezone") : $langs->trans("NotDefined")).''."<br>\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
|
$txt .= $langs->trans("PHPTZ").' (date_default_timezone_get() / php.ini date.timezone): '.(getServerTimeZoneString()." / ".(ini_get("date.timezone") ? ini_get("date.timezone") : $langs->trans("NotDefined")))."<br>\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
|
||||||
$txt .= $langs->trans("Dolibarr constant MAIN_SERVER_TZ").': '.(empty($conf->global->MAIN_SERVER_TZ) ? $langs->trans("NotDefined") : $conf->global->MAIN_SERVER_TZ);
|
$txt .= $langs->trans("Dolibarr constant MAIN_SERVER_TZ").': '.(empty($conf->global->MAIN_SERVER_TZ) ? $langs->trans("NotDefined") : $conf->global->MAIN_SERVER_TZ);
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("CurrentTimeZone").'</td><td>'; // Timezone server PHP
|
print '<tr class="oddeven"><td>'.$langs->trans("CurrentTimeZone").'</td><td>'; // Timezone server PHP
|
||||||
$a = getServerTimeZoneInt('now');
|
$a = getServerTimeZoneInt('now');
|
||||||
@ -376,8 +380,7 @@ foreach ($configfileparameters as $key => $value)
|
|||||||
print "<td>";
|
print "<td>";
|
||||||
if ($newkey == 'dolibarr_main_db_pass') print preg_replace('/./i', '*', ${$newkey});
|
if ($newkey == 'dolibarr_main_db_pass') print preg_replace('/./i', '*', ${$newkey});
|
||||||
elseif ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/', ${$newkey})) print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT');
|
elseif ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/', ${$newkey})) print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT');
|
||||||
elseif ($newkey == 'dolibarr_main_document_root_alt')
|
elseif ($newkey == 'dolibarr_main_document_root_alt') {
|
||||||
{
|
|
||||||
$tmparray = explode(',', ${$newkey});
|
$tmparray = explode(',', ${$newkey});
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach ($tmparray as $value2)
|
foreach ($tmparray as $value2)
|
||||||
@ -391,9 +394,7 @@ foreach ($configfileparameters as $key => $value)
|
|||||||
}
|
}
|
||||||
++$i;
|
++$i;
|
||||||
}
|
}
|
||||||
}
|
} elseif ($newkey == 'dolibarr_main_instance_unique_id') {
|
||||||
elseif ($newkey == 'dolibarr_main_instance_unique_id')
|
|
||||||
{
|
|
||||||
//print $conf->file->instance_unique_id;
|
//print $conf->file->instance_unique_id;
|
||||||
global $dolibarr_main_cookie_cryptkey;
|
global $dolibarr_main_cookie_cryptkey;
|
||||||
$valuetoshow = ${$newkey} ? ${$newkey} : $dolibarr_main_cookie_cryptkey; // Use $dolibarr_main_instance_unique_id first then $dolibarr_main_cookie_cryptkey
|
$valuetoshow = ${$newkey} ? ${$newkey} : $dolibarr_main_cookie_cryptkey; // Use $dolibarr_main_instance_unique_id first then $dolibarr_main_cookie_cryptkey
|
||||||
@ -402,9 +403,14 @@ foreach ($configfileparameters as $key => $value)
|
|||||||
print img_warning("EditConfigFileToAddEntry", 'dolibarr_main_instance_unique_id');
|
print img_warning("EditConfigFileToAddEntry", 'dolibarr_main_instance_unique_id');
|
||||||
}
|
}
|
||||||
print ' <span class="opacitymedium">('.$langs->trans("HashForPing").'='.md5('dolibarr'.$valuetoshow).')</span>';
|
print ' <span class="opacitymedium">('.$langs->trans("HashForPing").'='.md5('dolibarr'.$valuetoshow).')</span>';
|
||||||
}
|
} elseif ($newkey == 'dolibarr_main_prod') {
|
||||||
else
|
print ${$newkey};
|
||||||
{
|
|
||||||
|
$valuetoshow = ${$newkey};
|
||||||
|
if (empty($valuetoshow)) {
|
||||||
|
print img_warning($langs->trans('SwitchThisForABetterSecurity'));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
print ${$newkey};
|
print ${$newkey};
|
||||||
}
|
}
|
||||||
if ($newkey == 'dolibarr_main_url_root' && ${$newkey} != DOL_MAIN_URL_ROOT) print ' (currently overwritten by autodetected value: '.DOL_MAIN_URL_ROOT.')';
|
if ($newkey == 'dolibarr_main_url_root' && ${$newkey} != DOL_MAIN_URL_ROOT) print ' (currently overwritten by autodetected value: '.DOL_MAIN_URL_ROOT.')';
|
||||||
|
|||||||
@ -273,7 +273,7 @@ if (!$error && $xml)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$out .= '<tr class="oddeven"><td colspan="3" class="opacitymedium">'.$langs->trans("None").'</td></tr>';
|
$out .= '<tr class="oddeven"><td colspan="4" class="opacitymedium">'.$langs->trans("None").'</td></tr>';
|
||||||
}
|
}
|
||||||
$out .= '</table>';
|
$out .= '</table>';
|
||||||
$out .= '</div>';
|
$out .= '</div>';
|
||||||
@ -328,7 +328,7 @@ if (!$error && $xml)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$out .= '<tr class="oddeven"><td colspan="6" class="opacitymedium">'.$langs->trans("None").'</td></tr>';
|
$out .= '<tr class="oddeven"><td colspan="7" class="opacitymedium">'.$langs->trans("None").'</td></tr>';
|
||||||
}
|
}
|
||||||
$out .= '</table>';
|
$out .= '</table>';
|
||||||
$out .= '</div>';
|
$out .= '</div>';
|
||||||
@ -383,7 +383,7 @@ if (!$error && $xml)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$out .= '<tr class="oddeven"><td colspan="5" class="opacitymedium">'.$langs->trans("None").'</td></tr>';
|
$out .= '<tr class="oddeven"><td colspan="6" class="opacitymedium">'.$langs->trans("None").'</td></tr>';
|
||||||
}
|
}
|
||||||
$out .= '</table>';
|
$out .= '</table>';
|
||||||
$out .= '</div>';
|
$out .= '</div>';
|
||||||
|
|||||||
@ -137,7 +137,7 @@ print '</table>';
|
|||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
$activatedExtensions = array_map('strtolower', getActivatedExtensions());
|
$activatedExtensions = array();
|
||||||
$loadedExtensions = array_map('strtolower', get_loaded_extensions(false));
|
$loadedExtensions = array_map('strtolower', get_loaded_extensions(false));
|
||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
@ -154,7 +154,6 @@ $name = "GD";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
//print getTableColumn($name, $activatedExtensions);
|
|
||||||
print getTableColumn($name, $loadedExtensions);
|
print getTableColumn($name, $loadedExtensions);
|
||||||
print getTableColumnFunction($functions);
|
print getTableColumnFunction($functions);
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
@ -165,7 +164,6 @@ $name = "Curl";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
//print getTableColumn($name, $activatedExtensions);
|
|
||||||
print getTableColumn($name, $loadedExtensions);
|
print getTableColumn($name, $loadedExtensions);
|
||||||
print getTableColumnFunction($functions);
|
print getTableColumnFunction($functions);
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
@ -178,7 +176,6 @@ if (empty($_SERVER["SERVER_ADMIN"]) || $_SERVER["SERVER_ADMIN"] != 'doliwamp@loc
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
//print getTableColumn($name, $activatedExtensions);
|
|
||||||
print getTableColumn($name, $loadedExtensions);
|
print getTableColumn($name, $loadedExtensions);
|
||||||
print getTableColumnFunction($functions);
|
print getTableColumnFunction($functions);
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
@ -191,7 +188,6 @@ $name = "xDebug";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
//print getTableColumn($name, $activatedExtensions);
|
|
||||||
print getTableColumn($name, $loadedExtensions);
|
print getTableColumn($name, $loadedExtensions);
|
||||||
print getTableColumnFunction($functions);
|
print getTableColumnFunction($functions);
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
@ -221,7 +217,7 @@ foreach ($phparray as $key => $value)
|
|||||||
print '<td>'.$keyparam.'</td>';
|
print '<td>'.$keyparam.'</td>';
|
||||||
$valtoshow = $keyvalue;
|
$valtoshow = $keyvalue;
|
||||||
if ($keyparam == 'X-ChromePhp-Data') $valtoshow = dol_trunc($keyvalue, 80);
|
if ($keyparam == 'X-ChromePhp-Data') $valtoshow = dol_trunc($keyvalue, 80);
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2" class="wordbreak">';
|
||||||
if ($keyparam == 'Path') $valtoshow = implode('; ', explode(';', trim($valtoshow)));
|
if ($keyparam == 'Path') $valtoshow = implode('; ', explode(';', trim($valtoshow)));
|
||||||
if ($keyparam == 'PATH') $valtoshow = implode('; ', explode(';', trim($valtoshow)));
|
if ($keyparam == 'PATH') $valtoshow = implode('; ', explode(';', trim($valtoshow)));
|
||||||
if ($keyparam == '_SERVER["PATH"]') $valtoshow = implode('; ', explode(';', trim($valtoshow)));
|
if ($keyparam == '_SERVER["PATH"]') $valtoshow = implode('; ', explode(';', trim($valtoshow)));
|
||||||
@ -232,7 +228,7 @@ foreach ($phparray as $key => $value)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>'.$keyparam.'</td>';
|
print '<td class="wordbreak">'.$keyparam.'</td>';
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach ($keyvalue as $keyparam2 => $keyvalue2)
|
foreach ($keyvalue as $keyparam2 => $keyvalue2)
|
||||||
{
|
{
|
||||||
@ -256,78 +252,6 @@ foreach ($phparray as $key => $value)
|
|||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
/**
|
|
||||||
* Return all list with all activated, but possible not loaded PHP extensions
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
function getActivatedExtensions()
|
|
||||||
{
|
|
||||||
$file = getConfigFilePath();
|
|
||||||
$handle = fopen(GetConfigFilePath(), "r");
|
|
||||||
$content = fread($handle, filesize($file));
|
|
||||||
|
|
||||||
fclose($handle);
|
|
||||||
|
|
||||||
$configLines = explode("\r", $content);
|
|
||||||
|
|
||||||
$extensions = array();
|
|
||||||
$lastLine = "";
|
|
||||||
|
|
||||||
foreach ($configLines as $line)
|
|
||||||
{
|
|
||||||
$line = trim($line);
|
|
||||||
|
|
||||||
// ignore comment lines
|
|
||||||
if (substr($line, 0, 1) === ";")
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// extension
|
|
||||||
if (substr($line, 0, 9) === "extension" && substr($line, 0, 10) !== "extension_")
|
|
||||||
{
|
|
||||||
$value = trim(end(explode("=", $line)));
|
|
||||||
|
|
||||||
$extensions[] = $value === "gd2" ? "gd" : $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
// zend_extension
|
|
||||||
if (substr($line, 0, 14) === "zend_extension")
|
|
||||||
{
|
|
||||||
$extensions[] = str_replace("[", "", str_replace("]", "", $lastLine));
|
|
||||||
}
|
|
||||||
|
|
||||||
$lastLine = $line;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_unique($extensions);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the path to the current used php config file
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getConfigFilePath()
|
|
||||||
{
|
|
||||||
$phparray = phpinfo_array();
|
|
||||||
|
|
||||||
foreach ($phparray as $value)
|
|
||||||
{
|
|
||||||
foreach ($value as $keyparam => $keyvalue)
|
|
||||||
{
|
|
||||||
if (strtolower($keyparam) !== "loaded configuration file")
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $keyvalue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a table column with a indicator (okay or warning), based on the given name and list
|
* Return a table column with a indicator (okay or warning), based on the given name and list
|
||||||
@ -400,7 +324,7 @@ function getTableColumnFunction(array $functions)
|
|||||||
* Return a result column with a translated result text
|
* Return a result column with a translated result text
|
||||||
*
|
*
|
||||||
* @param string $name The name of the PHP extension
|
* @param string $name The name of the PHP extension
|
||||||
* @param array $activated A list with all activated PHP extensions
|
* @param array $activated A list with all activated PHP extensions. Deprecated.
|
||||||
* @param array $loaded A list with all loaded PHP extensions
|
* @param array $loaded A list with all loaded PHP extensions
|
||||||
* @param array $functions A list with all PHP functions to check
|
* @param array $functions A list with all PHP functions to check
|
||||||
*
|
*
|
||||||
|
|||||||
@ -350,7 +350,7 @@ if (empty($conf->global->FCKEDITOR_ENABLE_MAIL)) {
|
|||||||
// @todo Use module notification instead...
|
// @todo Use module notification instead...
|
||||||
|
|
||||||
// Email d'envoi des notifications
|
// Email d'envoi des notifications
|
||||||
print '<tr class="oddeven"><td class="fieldrequired">'.$langs->trans("TicketEmailNotificationFrom").'</td>';
|
print '<tr class="oddeven"><td>'.$langs->trans("TicketEmailNotificationFrom").'</td>';
|
||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
print '<input type="text" class="minwidth200" name="TICKET_NOTIFICATION_EMAIL_FROM" value="'.$conf->global->TICKET_NOTIFICATION_EMAIL_FROM.'"></td>';
|
print '<input type="text" class="minwidth200" name="TICKET_NOTIFICATION_EMAIL_FROM" value="'.$conf->global->TICKET_NOTIFICATION_EMAIL_FROM.'"></td>';
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
|
|||||||
@ -241,7 +241,8 @@ if (in_array($type, array('mysql', 'mysqli'))) {
|
|||||||
print '<input type="checkbox" name="sql_structure" value="structure" id="checkbox_sql_structure" checked />';
|
print '<input type="checkbox" name="sql_structure" value="structure" id="checkbox_sql_structure" checked />';
|
||||||
print '<label for="checkbox_sql_structure">'.$langs->trans('ExportStructure').'</label>';
|
print '<label for="checkbox_sql_structure">'.$langs->trans('ExportStructure').'</label>';
|
||||||
print '</legend>';
|
print '</legend>';
|
||||||
print '<input type="checkbox" name="drop"'.(((!isset($_GET["drop"]) && !isset($_POST["drop"])) || GETPOST('drop')) ? ' checked' : '').' id="checkbox_dump_drop" />';
|
|
||||||
|
print '<input type="checkbox" name="drop"'.((! GETPOSTISSET("drop") || GETPOST('drop')) ? ' checked' : '').' id="checkbox_dump_drop" />';
|
||||||
print '<label for="checkbox_dump_drop">'.$langs->trans("AddDropTable").'</label>';
|
print '<label for="checkbox_dump_drop">'.$langs->trans("AddDropTable").'</label>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '</fieldset>';
|
print '</fieldset>';
|
||||||
|
|||||||
@ -34,7 +34,7 @@ $action = GETPOST('action', 'alpha');
|
|||||||
$what = GETPOST('what', 'alpha');
|
$what = GETPOST('what', 'alpha');
|
||||||
$export_type = GETPOST('export_type', 'alpha');
|
$export_type = GETPOST('export_type', 'alpha');
|
||||||
$file = trim(GETPOST('zipfilename_template', 'alpha'));
|
$file = trim(GETPOST('zipfilename_template', 'alpha'));
|
||||||
$compression = GETPOST('compression');
|
$compression = GETPOST('compression', 'aZ09');
|
||||||
|
|
||||||
$file = dol_sanitizeFileName($file);
|
$file = dol_sanitizeFileName($file);
|
||||||
$file = preg_replace('/(\.zip|\.tar|\.tgz|\.gz|\.tar\.gz|\.bz2)$/i', '', $file);
|
$file = preg_replace('/(\.zip|\.tar|\.tgz|\.gz|\.tar\.gz|\.bz2)$/i', '', $file);
|
||||||
|
|||||||
@ -40,7 +40,7 @@ $transkey = GETPOST('transkey', 'alphanohtml');
|
|||||||
$transvalue = GETPOST('transvalue', 'none');
|
$transvalue = GETPOST('transvalue', 'none');
|
||||||
|
|
||||||
|
|
||||||
$mode = GETPOST('mode', 'aZ09') ?GETPOST('mode', 'aZ09') : 'overwrite';
|
$mode = GETPOST('mode', 'aZ09') ?GETPOST('mode', 'aZ09') : 'searchkey';
|
||||||
|
|
||||||
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
|
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
|
||||||
$sortfield = GETPOST("sortfield", 'alpha');
|
$sortfield = GETPOST("sortfield", 'alpha');
|
||||||
@ -197,7 +197,7 @@ if ($action == 'delete')
|
|||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
$formadmin = new FormAdmin($db);
|
$formadmin = new FormAdmin($db);
|
||||||
|
|
||||||
$wikihelp = 'EN:Setup Translation|FR:Paramétrage traduction|ES:Configuración';
|
$wikihelp = 'EN:Setup_Translation|FR:Paramétrage_Traduction|ES:Configuración_Traducción';
|
||||||
llxHeader('', $langs->trans("Setup"), $wikihelp);
|
llxHeader('', $langs->trans("Setup"), $wikihelp);
|
||||||
|
|
||||||
$param = '&mode='.$mode;
|
$param = '&mode='.$mode;
|
||||||
@ -514,7 +514,7 @@ if ($mode == 'searchkey')
|
|||||||
if ($i > ($offset + $limit)) break;
|
if ($i > ($offset + $limit)) break;
|
||||||
print '<tr class="oddeven"><td>'.$langcode.'</td><td>'.$key.'</td><td>';
|
print '<tr class="oddeven"><td>'.$langcode.'</td><td>'.$key.'</td><td>';
|
||||||
print dol_escape_htmltag($val);
|
print dol_escape_htmltag($val);
|
||||||
print '</td><td class="right">';
|
print '</td><td class="right nowraponall">';
|
||||||
if (!empty($newlangfileonly->tab_translate[$key]))
|
if (!empty($newlangfileonly->tab_translate[$key]))
|
||||||
{
|
{
|
||||||
if ($val != $newlangfileonly->tab_translate[$key])
|
if ($val != $newlangfileonly->tab_translate[$key])
|
||||||
@ -534,7 +534,7 @@ if ($mode == 'searchkey')
|
|||||||
print ' ';
|
print ' ';
|
||||||
print '<a href="'.$_SERVER['PHP_SELF'].'?rowid='.$obj->rowid.'&entity='.$conf->entity.'&action=delete">'.img_delete().'</a>';
|
print '<a href="'.$_SERVER['PHP_SELF'].'?rowid='.$obj->rowid.'&entity='.$conf->entity.'&action=delete">'.img_delete().'</a>';
|
||||||
print ' ';
|
print ' ';
|
||||||
$htmltext = $langs->trans("OriginalValueWas", $newlangfileonly->tab_translate[$key]);
|
$htmltext = $langs->trans("OriginalValueWas", '<i>'.$newlangfileonly->tab_translate[$key].'</i>');
|
||||||
print $form->textwithpicto('', $htmltext, 1, 'info');
|
print $form->textwithpicto('', $htmltext, 1, 'info');
|
||||||
}
|
}
|
||||||
elseif (!empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION))
|
elseif (!empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION))
|
||||||
@ -549,7 +549,7 @@ if ($mode == 'searchkey')
|
|||||||
//$transifexurl = 'https://www.transifex.com/dolibarr-association/dolibarr/translate/#'.$langcode.'/'.$transifexlangfile.'?key='.$key;
|
//$transifexurl = 'https://www.transifex.com/dolibarr-association/dolibarr/translate/#'.$langcode.'/'.$transifexlangfile.'?key='.$key;
|
||||||
$transifexurl = 'https://www.transifex.com/dolibarr-association/dolibarr/translate/#'.$langcode.'/'.$transifexlangfile.'?q=key%3A'.$key;
|
$transifexurl = 'https://www.transifex.com/dolibarr-association/dolibarr/translate/#'.$langcode.'/'.$transifexlangfile.'?q=key%3A'.$key;
|
||||||
|
|
||||||
print ' <a href="'.$transifexurl.'" target="transifex">'.img_picto('FixOnTransifex', 'globe').'</a>';
|
print ' <a href="'.$transifexurl.'" target="transifex">'.img_picto($langs->trans('FixOnTransifex'), 'globe').'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
||||||
|
* Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -42,6 +43,8 @@ $action = GETPOST('action', 'alpha');
|
|||||||
$backtopage = GETPOST('backtopage', 'alpha');
|
$backtopage = GETPOST('backtopage', 'alpha');
|
||||||
|
|
||||||
$value = GETPOST('value', 'alpha');
|
$value = GETPOST('value', 'alpha');
|
||||||
|
$label = GETPOST('label', 'alpha');
|
||||||
|
$scandir = GETPOST('scandir', 'alpha');
|
||||||
$type = 'user';
|
$type = 'user';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -32,7 +32,7 @@ class DolibarrApi
|
|||||||
/**
|
/**
|
||||||
* @var DoliDb $db Database object
|
* @var DoliDb $db Database object
|
||||||
*/
|
*/
|
||||||
protected static $db;
|
protected $db;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Restler $r Restler object
|
* @var Restler $r Restler object
|
||||||
|
|||||||
@ -254,15 +254,17 @@ if (!empty($reg[1]) && ($reg[1] != 'explorer' || ($reg[2] != '/swagger.json' &&
|
|||||||
if ($tmpmodule != 'api')
|
if ($tmpmodule != 'api')
|
||||||
$tmpmodule = preg_replace('/api$/i', '', $tmpmodule);
|
$tmpmodule = preg_replace('/api$/i', '', $tmpmodule);
|
||||||
$classfile = str_replace('_', '', $tmpmodule);
|
$classfile = str_replace('_', '', $tmpmodule);
|
||||||
if ($module == 'supplierproposals')
|
|
||||||
|
// Special cases that does not match name rules conventions
|
||||||
|
if ($moduleobject == 'supplierproposals')
|
||||||
$classfile = 'supplier_proposals';
|
$classfile = 'supplier_proposals';
|
||||||
if ($module == 'supplierorders')
|
if ($moduleobject == 'supplierorders')
|
||||||
$classfile = 'supplier_orders';
|
$classfile = 'supplier_orders';
|
||||||
if ($module == 'supplierinvoices')
|
if ($moduleobject == 'supplierinvoices')
|
||||||
$classfile = 'supplier_invoices';
|
$classfile = 'supplier_invoices';
|
||||||
if ($module == 'ficheinter')
|
if ($moduleobject == 'ficheinter')
|
||||||
$classfile = 'interventions';
|
$classfile = 'interventions';
|
||||||
if ($module == 'interventions')
|
if ($moduleobject == 'interventions')
|
||||||
$classfile = 'interventions';
|
$classfile = 'interventions';
|
||||||
|
|
||||||
$dir_part_file = dol_buildpath('/'.$moduledirforclass.'/class/api_'.$classfile.'.class.php', 0, 2);
|
$dir_part_file = dol_buildpath('/'.$moduledirforclass.'/class/api_'.$classfile.'.class.php', 0, 2);
|
||||||
|
|||||||
@ -154,7 +154,7 @@ if ($action == 'update' && $user->rights->asset->write)
|
|||||||
$object->note = trim($comment);
|
$object->note = trim($comment);
|
||||||
|
|
||||||
// Fill array 'array_options' with data from add form
|
// Fill array 'array_options' with data from add form
|
||||||
$ret = $extrafields->setOptionalsFromPost(null, $object);
|
$ret = $extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET');
|
||||||
if ($ret < 0) $error++;
|
if ($ret < 0) $error++;
|
||||||
|
|
||||||
$ret = $object->update($user);
|
$ret = $object->update($user);
|
||||||
|
|||||||
@ -132,7 +132,7 @@ if ($object->id > 0)
|
|||||||
|
|
||||||
// Object card
|
// Object card
|
||||||
// ------------------------------------------------------------
|
// ------------------------------------------------------------
|
||||||
$linkback = '<a href="'.dol_buildpath('/bom/myobject_list.php', 1).'?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.dol_buildpath('/bom/bom_list.php', 1).'?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
$morehtmlref = '<div class="refidno">';
|
$morehtmlref = '<div class="refidno">';
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2017-2020 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -183,6 +183,10 @@ if (empty($reshook))
|
|||||||
unset($_POST['qty']);
|
unset($_POST['qty']);
|
||||||
unset($_POST['qty_frozen']);
|
unset($_POST['qty_frozen']);
|
||||||
unset($_POST['disable_stock_change']);
|
unset($_POST['disable_stock_change']);
|
||||||
|
|
||||||
|
$object->fetchLines();
|
||||||
|
|
||||||
|
$object->calculateCosts();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -194,10 +198,10 @@ if (empty($reshook))
|
|||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
// Set if we used free entry or predefined product
|
// Set if we used free entry or predefined product
|
||||||
$qty = GETPOST('qty', 'int');
|
$qty = price2num(GETPOST('qty', 'alpha'));
|
||||||
$qty_frozen = GETPOST('qty_frozen', 'int');
|
$qty_frozen = GETPOST('qty_frozen', 'int');
|
||||||
$disable_stock_change = GETPOST('disable_stock_change', 'int');
|
$disable_stock_change = GETPOST('disable_stock_change', 'int');
|
||||||
$efficiency = GETPOST('efficiency', 'int');
|
$efficiency = price2num(GETPOST('efficiency', 'int'));
|
||||||
|
|
||||||
if ($qty == '') {
|
if ($qty == '') {
|
||||||
setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), null, 'errors');
|
setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), null, 'errors');
|
||||||
@ -223,6 +227,10 @@ if (empty($reshook))
|
|||||||
unset($_POST['qty']);
|
unset($_POST['qty']);
|
||||||
unset($_POST['qty_frozen']);
|
unset($_POST['qty_frozen']);
|
||||||
unset($_POST['disable_stock_change']);
|
unset($_POST['disable_stock_change']);
|
||||||
|
|
||||||
|
$object->fetchLines();
|
||||||
|
|
||||||
|
$object->calculateCosts();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -545,7 +553,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
|
|
||||||
if (!empty($object->table_element_line))
|
if (!empty($object->table_element_line))
|
||||||
{
|
{
|
||||||
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid', 'int')).'" method="POST">
|
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '').'" method="POST">
|
||||||
<input type="hidden" name="token" value="' . newToken().'">
|
<input type="hidden" name="token" value="' . newToken().'">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
||||||
<input type="hidden" name="mode" value="">
|
<input type="hidden" name="mode" value="">
|
||||||
|
|||||||
@ -945,6 +945,7 @@ class BOM extends CommonObject
|
|||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
$langs->load("mrp");
|
$langs->load("mrp");
|
||||||
|
$outputlangs->load("products");
|
||||||
|
|
||||||
if (!dol_strlen($modele)) {
|
if (!dol_strlen($modele)) {
|
||||||
$modele = 'standard';
|
$modele = 'standard';
|
||||||
|
|||||||
@ -116,7 +116,6 @@ if ($conf->global->PRODUCT_USE_UNITS)
|
|||||||
{
|
{
|
||||||
$coldisplay++;
|
$coldisplay++;
|
||||||
print '<td class="nobottom linecoluseunit left">';
|
print '<td class="nobottom linecoluseunit left">';
|
||||||
print $form->selectUnits($line->fk_unit, "units");
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -112,7 +112,6 @@ if ($conf->global->PRODUCT_USE_UNITS)
|
|||||||
{
|
{
|
||||||
$coldisplay++;
|
$coldisplay++;
|
||||||
print '<td class="nobottom linecoluseunit left">';
|
print '<td class="nobottom linecoluseunit left">';
|
||||||
print $form->selectUnits($line->fk_unit, "units");
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@ print '<td class="linecoldisablestockchange right">'.$form->textwithpicto($langs
|
|||||||
print '<td class="linecolefficiency right">'.$form->textwithpicto($langs->trans('ManufacturingEfficiency'), $langs->trans('ValueOfMeansLoss')).'</td>';
|
print '<td class="linecolefficiency right">'.$form->textwithpicto($langs->trans('ManufacturingEfficiency'), $langs->trans('ValueOfMeansLoss')).'</td>';
|
||||||
|
|
||||||
// Cost
|
// Cost
|
||||||
print '<td class="linecolcost right">'.$langs->trans('CostPrice').'</td>';
|
print '<td class="linecolcost right">'.$form->textwithpicto($langs->trans("TotalCost"), $langs->trans("BOMTotalCost")).'</td>';
|
||||||
|
|
||||||
print '<td class="linecoledit"></td>'; // No width to allow autodim
|
print '<td class="linecoledit"></td>'; // No width to allow autodim
|
||||||
|
|
||||||
|
|||||||
@ -82,7 +82,7 @@ print '</td>';
|
|||||||
if ($conf->global->PRODUCT_USE_UNITS)
|
if ($conf->global->PRODUCT_USE_UNITS)
|
||||||
{
|
{
|
||||||
print '<td class="linecoluseunit nowrap left">';
|
print '<td class="linecoluseunit nowrap left">';
|
||||||
$label = $line->getLabelOfUnit('short');
|
$label = $tmpproduct->getLabelOfUnit('short');
|
||||||
if ($label !== '') {
|
if ($label !== '') {
|
||||||
print $langs->trans($label);
|
print $langs->trans($label);
|
||||||
}
|
}
|
||||||
@ -113,7 +113,7 @@ if ($this->status == 0 && ($object_rights->write) && $action != 'selectlines') {
|
|||||||
$coldisplay++;
|
$coldisplay++;
|
||||||
if (($line->info_bits & 2) == 2 || !empty($disableedit)) {
|
if (($line->info_bits & 2) == 2 || !empty($disableedit)) {
|
||||||
} else {
|
} else {
|
||||||
print '<a class="editfielda reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$this->id.'&action=editline&lineid='.$line->id.'#line_'.$line->id.'">'.img_edit().'</a>';
|
print '<a class="editfielda reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$this->id.'&action=editline&lineid='.$line->id.'">'.img_edit().'</a>';
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
|
|||||||
@ -53,7 +53,7 @@ function printDropdownBookmarksList()
|
|||||||
{
|
{
|
||||||
foreach ($_POST as $key => $val)
|
foreach ($_POST as $key => $val)
|
||||||
{
|
{
|
||||||
if (preg_match('/^search_/', $key) && $val != '') $tmpurl .= ($tmpurl ? '&' : '').$key.'='.$val;
|
if (preg_match('/^search_/', $key) && $val != '') $tmpurl .= ($tmpurl ? '&' : '').http_build_query(array($key => $val));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$url .= ($tmpurl ? '?'.$tmpurl : '');
|
$url .= ($tmpurl ? '?'.$tmpurl : '');
|
||||||
|
|||||||
@ -151,6 +151,7 @@ if ($action == 'create')
|
|||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST" enctype="multipart/form-data">'."\n";
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST" enctype="multipart/form-data">'."\n";
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="action" value="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
|
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("NewBookmark"));
|
print load_fiche_titre($langs->trans("NewBookmark"));
|
||||||
|
|
||||||
|
|||||||
@ -158,7 +158,7 @@ print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
|||||||
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
||||||
|
|
||||||
$newcardbutton = '';
|
$newcardbutton = '';
|
||||||
$newcardbutton .= dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/bookmarks/card.php?action=create', '', !empty($user->rights->bookmark->creer));
|
$newcardbutton .= dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/bookmarks/card.php?action=create&backtopage='.urlencode(DOL_URL_ROOT.'/bookmarks/list.php'), '', !empty($user->rights->bookmark->creer));
|
||||||
|
|
||||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'bookmark', 0, $newcardbutton, '', $limit, 0, 0, 1);
|
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'bookmark', 0, $newcardbutton, '', $limit, 0, 0, 1);
|
||||||
|
|
||||||
|
|||||||
@ -846,8 +846,8 @@ class Categorie extends CommonObject
|
|||||||
|
|
||||||
$objs = array();
|
$objs = array();
|
||||||
|
|
||||||
$tmpclass = $this->MAP_OBJ_CLASS[$type];
|
$classnameforobj = $this->MAP_OBJ_CLASS[$type];
|
||||||
$obj = new $tmpclass($this->db);
|
$obj = new $classnameforobj($this->db);
|
||||||
|
|
||||||
$sql = "SELECT c.fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type]);
|
$sql = "SELECT c.fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type]);
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type])." as c";
|
$sql .= " FROM ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type])." as c";
|
||||||
@ -875,8 +875,11 @@ class Categorie extends CommonObject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$obj = new $this->MAP_OBJ_CLASS[$type]($this->db);
|
$classnameforobj = $this->MAP_OBJ_CLASS[$type];
|
||||||
|
|
||||||
|
$obj = new $classnameforobj($this->db);
|
||||||
$obj->fetch($rec['fk_'.(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])]);
|
$obj->fetch($rec['fk_'.(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])]);
|
||||||
|
|
||||||
$objs[] = $obj;
|
$objs[] = $obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -102,7 +102,7 @@ if ($action == 'update' && $user->rights->categorie->creer)
|
|||||||
}
|
}
|
||||||
if (!$error && empty($object->error))
|
if (!$error && empty($object->error))
|
||||||
{
|
{
|
||||||
$ret = $extrafields->setOptionalsFromPost(null, $object);
|
$ret = $extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET');
|
||||||
if ($ret < 0) $error++;
|
if ($ret < 0) $error++;
|
||||||
|
|
||||||
if (!$error && $object->update($user) > 0)
|
if (!$error && $object->update($user) > 0)
|
||||||
@ -157,7 +157,7 @@ print '</tr>';
|
|||||||
// Description
|
// Description
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>'.$langs->trans("Description").'</td>';
|
print '<td>'.$langs->trans("Description").'</td>';
|
||||||
print '<td >';
|
print '<td>';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor = new DolEditor('description', $object->description, '', 200, 'dolibarr_notes', '', false, true, $conf->fckeditor->enabled, ROWS_6, '90%');
|
$doleditor = new DolEditor('description', $object->description, '', 200, 'dolibarr_notes', '', false, true, $conf->fckeditor->enabled, ROWS_6, '90%');
|
||||||
$doleditor->Create();
|
$doleditor->Create();
|
||||||
@ -166,7 +166,7 @@ print '</td></tr>';
|
|||||||
// Color
|
// Color
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>'.$langs->trans("Color").'</td>';
|
print '<td>'.$langs->trans("Color").'</td>';
|
||||||
print '<td >';
|
print '<td>';
|
||||||
print $formother->selectColor($object->color, 'color');
|
print $formother->selectColor($object->color, 'color');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
|||||||
@ -269,16 +269,19 @@ dol_fiche_end();
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
print "<div class='tabsAction'>\n";
|
print "<div class='tabsAction'>\n";
|
||||||
|
$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
if (empty($reshook)) {
|
||||||
|
if ($user->rights->categorie->creer)
|
||||||
|
{
|
||||||
|
$socid = ($object->socid ? "&socid=".$object->socid : "");
|
||||||
|
print "<a class='butAction' href='edit.php?id=".$object->id.$socid."&type=".$type."'>".$langs->trans("Modify")."</a>";
|
||||||
|
}
|
||||||
|
|
||||||
if ($user->rights->categorie->creer)
|
if ($user->rights->categorie->supprimer)
|
||||||
{
|
{
|
||||||
$socid = ($object->socid ? "&socid=".$object->socid : "");
|
print "<a class='butActionDelete' href='".DOL_URL_ROOT."/categories/viewcat.php?action=delete&id=".$object->id."&type=".$type."'>".$langs->trans("Delete")."</a>";
|
||||||
print "<a class='butAction' href='edit.php?id=".$object->id.$socid."&type=".$type."'>".$langs->trans("Modify")."</a>";
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ($user->rights->categorie->supprimer)
|
|
||||||
{
|
|
||||||
print "<a class='butActionDelete' href='".DOL_URL_ROOT."/categories/viewcat.php?action=delete&id=".$object->id."&type=".$type."'>".$langs->trans("Delete")."</a>";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</div>";
|
print "</div>";
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014 Cedric GROSS <c.gross@kreiz-it.fr>
|
* Copyright (C) 2014 Cedric GROSS <c.gross@kreiz-it.fr>
|
||||||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2019 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2019 Ferran Marcet <fmarcet@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -445,8 +445,8 @@ if (empty($reshook) && $action == 'update')
|
|||||||
$object->fetch_userassigned();
|
$object->fetch_userassigned();
|
||||||
$object->oldcopy = clone $object;
|
$object->oldcopy = clone $object;
|
||||||
|
|
||||||
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, $_POST["apmonth"], $_POST["apday"], $_POST["apyear"]);
|
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'));
|
||||||
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', $_POST["p2month"], $_POST["p2day"], $_POST["p2year"]);
|
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'));
|
||||||
|
|
||||||
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
||||||
$object->label = GETPOST("label", "alphanohtml");
|
$object->label = GETPOST("label", "alphanohtml");
|
||||||
@ -469,7 +469,6 @@ if (empty($reshook) && $action == 'update')
|
|||||||
$object->note_private = trim(GETPOST("note", "none"));
|
$object->note_private = trim(GETPOST("note", "none"));
|
||||||
$object->fk_element = GETPOST("fk_element", "int");
|
$object->fk_element = GETPOST("fk_element", "int");
|
||||||
$object->elementtype = GETPOST("elementtype", "alphanohtml");
|
$object->elementtype = GETPOST("elementtype", "alphanohtml");
|
||||||
|
|
||||||
if (!$datef && $percentage == 100)
|
if (!$datef && $percentage == 100)
|
||||||
{
|
{
|
||||||
$error++; $donotclearsession = 1;
|
$error++; $donotclearsession = 1;
|
||||||
@ -530,7 +529,7 @@ if (empty($reshook) && $action == 'update')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fill array 'array_options' with data from add form
|
// Fill array 'array_options' with data from add form
|
||||||
$ret = $extrafields->setOptionalsFromPost(null, $object);
|
$ret = $extrafields->setOptionalsFromPost(null, $object, '@GETPOSTISSET');
|
||||||
if ($ret < 0) $error++;
|
if ($ret < 0) $error++;
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
@ -1105,6 +1104,7 @@ if ($action == 'create')
|
|||||||
print '<input type="hidden" name="origin" size="10" value="'.GETPOST('origin').'">';
|
print '<input type="hidden" name="origin" size="10" value="'.GETPOST('origin').'">';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$reg = array();
|
||||||
if (GETPOST("datep") && preg_match('/^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$/', GETPOST("datep"), $reg))
|
if (GETPOST("datep") && preg_match('/^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$/', GETPOST("datep"), $reg))
|
||||||
{
|
{
|
||||||
$object->datep = dol_mktime(0, 0, 0, $reg[2], $reg[3], $reg[1]);
|
$object->datep = dol_mktime(0, 0, 0, $reg[2], $reg[3], $reg[1]);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user