Compare commits
617 Commits
4.0.0-beta
...
4.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a5bafc2dd | ||
|
|
11ddc722f1 | ||
|
|
4215ec3ca9 | ||
|
|
6ddd264178 | ||
|
|
989d6e7bc8 | ||
|
|
1becfbd7b6 | ||
|
|
661526f822 | ||
|
|
5e88de7e2c | ||
|
|
72ccedba98 | ||
|
|
0d992b2b99 | ||
|
|
bc8e203019 | ||
|
|
5d7414dcc3 | ||
|
|
e7c05a778b | ||
|
|
9f40f346cb | ||
|
|
874db10dbe | ||
|
|
9c4d60fd5d | ||
|
|
ed25c0fda5 | ||
|
|
c298bb62ba | ||
|
|
848d046b46 | ||
|
|
b81de6b383 | ||
|
|
6b3cbc918d | ||
|
|
ab4997d26f | ||
|
|
317132fea4 | ||
|
|
0839a9fa4f | ||
|
|
1fc5715040 | ||
|
|
f06545a3fe | ||
|
|
9c22d94bd3 | ||
|
|
919b73b4c4 | ||
|
|
83107746ad | ||
|
|
137f1c4e4f | ||
|
|
fead7967f2 | ||
|
|
7e8b8e9462 | ||
|
|
f9d707ff48 | ||
|
|
88afc4ad5a | ||
|
|
660fcacef2 | ||
|
|
58fc64982f | ||
|
|
69e6f6a489 | ||
|
|
eea175b7e7 | ||
|
|
33ceb5d626 | ||
|
|
f7bb2483d8 | ||
|
|
ddc480b6c9 | ||
|
|
90c918bec6 | ||
|
|
63c5425991 | ||
|
|
5c51cb0f29 | ||
|
|
00443dae3a | ||
|
|
282c50ef34 | ||
|
|
0cb7440647 | ||
|
|
2afc567a53 | ||
|
|
caa0dd75aa | ||
|
|
ba8c2dbf9f | ||
|
|
47489265b1 | ||
|
|
6724901b9e | ||
|
|
a1323756a9 | ||
|
|
c385b86793 | ||
|
|
0ac090e959 | ||
|
|
3932a32399 | ||
|
|
aa17564e93 | ||
|
|
b7420372b7 | ||
|
|
b6f9aa4592 | ||
|
|
f9a9d4d2d8 | ||
|
|
5c92cc7fa3 | ||
|
|
0907465fcf | ||
|
|
3b509db141 | ||
|
|
adc0a73e93 | ||
|
|
5ac175b7e4 | ||
|
|
bf2955909a | ||
|
|
86c90ade3f | ||
|
|
4df9af1ba0 | ||
|
|
7cc7ac5485 | ||
|
|
f674b24945 | ||
|
|
300da71b9c | ||
|
|
55a83f9d8d | ||
|
|
07412b2f79 | ||
|
|
e9962bb887 | ||
|
|
1313ef99d5 | ||
|
|
26df66f9ac | ||
|
|
4e39c41215 | ||
|
|
b52648674d | ||
|
|
cdd84244b2 | ||
|
|
8028b77966 | ||
|
|
b5771ebbfc | ||
|
|
c442ff0d2b | ||
|
|
c391ca5b32 | ||
|
|
cd8585da63 | ||
|
|
d38ff5c246 | ||
|
|
5bb3b5c074 | ||
|
|
43ffb061ef | ||
|
|
9a0fed93d1 | ||
|
|
a1d1396919 | ||
|
|
8c63d68083 | ||
|
|
a2f1291f94 | ||
|
|
8718edc5fd | ||
|
|
321814fae3 | ||
|
|
82b14e30d7 | ||
|
|
4a1fbffba3 | ||
|
|
29fdebe0d9 | ||
|
|
7b6755cfcd | ||
|
|
dd905debb4 | ||
|
|
2262c1c7dd | ||
|
|
54b47d7f4f | ||
|
|
fb3f6972eb | ||
|
|
beadb19fea | ||
|
|
95a66e7e63 | ||
|
|
90cb71f341 | ||
|
|
15f187c466 | ||
|
|
94487cf411 | ||
|
|
4cf01bc685 | ||
|
|
e1e8254bcf | ||
|
|
1b10e27618 | ||
|
|
782ab6a02b | ||
|
|
40723b264a | ||
|
|
c2e81b6edb | ||
|
|
112b945e6b | ||
|
|
5555037346 | ||
|
|
bdf779dfd2 | ||
|
|
16c7d51abc | ||
|
|
48fe3524d5 | ||
|
|
d76c57fed9 | ||
|
|
81fc86ba06 | ||
|
|
5247faf50f | ||
|
|
e0b9496f9e | ||
|
|
182338beb1 | ||
|
|
11ab49d85d | ||
|
|
af150c35fc | ||
|
|
caa987fb61 | ||
|
|
f14ef7b50f | ||
|
|
da84fac390 | ||
|
|
7c97bf900f | ||
|
|
5f415478ac | ||
|
|
965011c8bc | ||
|
|
51a4f9e5d7 | ||
|
|
597f5dae15 | ||
|
|
28efc3e50f | ||
|
|
0d536bff54 | ||
|
|
27603b966e | ||
|
|
21e753d510 | ||
|
|
da274f0ca4 | ||
|
|
abbe204c97 | ||
|
|
6ae8d26a89 | ||
|
|
216ec6ac4b | ||
|
|
88dcb27981 | ||
|
|
176b52f305 | ||
|
|
3ea7a1fcab | ||
|
|
75b909ce93 | ||
|
|
5144f21c6c | ||
|
|
cc21909909 | ||
|
|
86f576f8d3 | ||
|
|
54df49aebe | ||
|
|
fdfe333f69 | ||
|
|
f232ae9160 | ||
|
|
dd2e43754e | ||
|
|
e335ce6f45 | ||
|
|
dfc38351ef | ||
|
|
a35dd9f2d1 | ||
|
|
5eda10e0dd | ||
|
|
a02c539a82 | ||
|
|
7dec327995 | ||
|
|
1e90d0a54c | ||
|
|
4410057106 | ||
|
|
bb99209b5e | ||
|
|
621a7d93fa | ||
|
|
97dd1f4bbb | ||
|
|
58c18f438c | ||
|
|
803fe68061 | ||
|
|
9a0494bd64 | ||
|
|
e998a4b8a5 | ||
|
|
417dd6465c | ||
|
|
e0c232548e | ||
|
|
fb2444c7a3 | ||
|
|
8ce5fcd980 | ||
|
|
0b7a5a4af9 | ||
|
|
4a0eb496fa | ||
|
|
4ee4de4a00 | ||
|
|
3cdb2d45c2 | ||
|
|
26f98a2ab7 | ||
|
|
30ec33f152 | ||
|
|
63220eae18 | ||
|
|
ee7023422a | ||
|
|
1e037a9b95 | ||
|
|
20a2282efc | ||
|
|
ce3b01cf6a | ||
|
|
5f0951dcda | ||
|
|
51e941b9b4 | ||
|
|
0f544919e0 | ||
|
|
33495847b7 | ||
|
|
1b6da075f7 | ||
|
|
64fbff3abc | ||
|
|
e3df4b81f8 | ||
|
|
0414f09e48 | ||
|
|
44b02f1d6c | ||
|
|
b165a31c0d | ||
|
|
8ada144f6e | ||
|
|
04e814d1a6 | ||
|
|
5aa5c5259d | ||
|
|
9191692bb2 | ||
|
|
654ac318d4 | ||
|
|
a87c2f9579 | ||
|
|
246321cd8f | ||
|
|
e5583f1544 | ||
|
|
857de64607 | ||
|
|
7678940e50 | ||
|
|
a6147ee73b | ||
|
|
e3f0ab9109 | ||
|
|
ceb6199e87 | ||
|
|
b3dab8a6f7 | ||
|
|
7a72b9bb09 | ||
|
|
b630f0b710 | ||
|
|
5b4c215526 | ||
|
|
3c3df0c4f6 | ||
|
|
ff9d6ce02a | ||
|
|
45d354ad82 | ||
|
|
eafaa6f4dd | ||
|
|
69247afd06 | ||
|
|
a7b21db210 | ||
|
|
9a4240c292 | ||
|
|
45e38efdfa | ||
|
|
0c456add13 | ||
|
|
9fabfe029b | ||
|
|
45e37c82cd | ||
|
|
b85bb8c0f8 | ||
|
|
b3cdb1f163 | ||
|
|
27243069cb | ||
|
|
86c2ced714 | ||
|
|
537a51b367 | ||
|
|
501a25e1da | ||
|
|
4cadf0e5a3 | ||
|
|
a40ea9387b | ||
|
|
e4f8b9a4b0 | ||
|
|
20144c9883 | ||
|
|
5d97ce038b | ||
|
|
74a9bbbf38 | ||
|
|
80ac99e9b1 | ||
|
|
25a3f8a8fd | ||
|
|
5bc51a3439 | ||
|
|
7b72965315 | ||
|
|
c13c15188b | ||
|
|
b47e6e4520 | ||
|
|
e8b5fc5d06 | ||
|
|
629271cf85 | ||
|
|
e5d0258f33 | ||
|
|
463a130a60 | ||
|
|
0334b58a4b | ||
|
|
fb8f0ed657 | ||
|
|
2a28d77eeb | ||
|
|
889b15689b | ||
|
|
972baa34e7 | ||
|
|
c242e53db6 | ||
|
|
7e37cbb9e3 | ||
|
|
0e79cae9d4 | ||
|
|
968827172d | ||
|
|
799226728d | ||
|
|
12514d0f81 | ||
|
|
58faf94dfc | ||
|
|
5fa8a6c311 | ||
|
|
38471f1670 | ||
|
|
3b1d6818b8 | ||
|
|
4d1885eb59 | ||
|
|
eb06f56164 | ||
|
|
eddac89bad | ||
|
|
f71b5d0605 | ||
|
|
e4f51b7f32 | ||
|
|
03767286ef | ||
|
|
7dc01fc9c1 | ||
|
|
700421179f | ||
|
|
c23fe43b62 | ||
|
|
198adcf440 | ||
|
|
51566970ce | ||
|
|
8959b13bc3 | ||
|
|
a790a97009 | ||
|
|
86e4340287 | ||
|
|
2e4bebbaf9 | ||
|
|
227c6906a8 | ||
|
|
3b57727542 | ||
|
|
c9fa12a8f9 | ||
|
|
7eed738fce | ||
|
|
1ef27913d7 | ||
|
|
a167d56d5a | ||
|
|
7481cfc1a3 | ||
|
|
b615b52f47 | ||
|
|
2866d60240 | ||
|
|
b4a88ca312 | ||
|
|
f0fa9205a2 | ||
|
|
caf963351b | ||
|
|
e0f5a3cfe9 | ||
|
|
fc1c38420c | ||
|
|
8f0738f792 | ||
|
|
71b8ab8336 | ||
|
|
d8f77abf31 | ||
|
|
3029fd0fe1 | ||
|
|
e59a4d510b | ||
|
|
3ef3a038cf | ||
|
|
a9d75b2c91 | ||
|
|
250d29542f | ||
|
|
834356b61e | ||
|
|
efe1cde388 | ||
|
|
4448c5e86f | ||
|
|
23753d849c | ||
|
|
9661f08b38 | ||
|
|
50f76cbb9c | ||
|
|
60c71d88f7 | ||
|
|
59e9d7f397 | ||
|
|
343561be7a | ||
|
|
867a0072e3 | ||
|
|
1b9b4395b9 | ||
|
|
b085ce6916 | ||
|
|
07d0f457b4 | ||
|
|
d7f557c7ed | ||
|
|
5bbd8eded9 | ||
|
|
c0d8bce2df | ||
|
|
1624894346 | ||
|
|
f90946dbde | ||
|
|
80d99651a4 | ||
|
|
3a08a14d56 | ||
|
|
80354cd8d6 | ||
|
|
2d037eb34e | ||
|
|
441a8c4a74 | ||
|
|
ae18178d56 | ||
|
|
42be661b1d | ||
|
|
d71754f577 | ||
|
|
058c431483 | ||
|
|
ff9b2803e7 | ||
|
|
0428d9c887 | ||
|
|
774e327831 | ||
|
|
972d998f7e | ||
|
|
9ebe704506 | ||
|
|
52e5403660 | ||
|
|
6e1d7aebb3 | ||
|
|
918bc9cc26 | ||
|
|
ffa1102949 | ||
|
|
01c140ecac | ||
|
|
455add4130 | ||
|
|
5ea72c8d56 | ||
|
|
7479933c27 | ||
|
|
c5ebb8f983 | ||
|
|
038526bb71 | ||
|
|
fd7c494cb6 | ||
|
|
2c77a901b3 | ||
|
|
621a29d0e0 | ||
|
|
10cd5ba730 | ||
|
|
9a0367db0d | ||
|
|
5e654e8cb3 | ||
|
|
e5235be7d0 | ||
|
|
d3344f5291 | ||
|
|
bc4674bdce | ||
|
|
c37c3d1939 | ||
|
|
bf67cf9dc2 | ||
|
|
1914b98375 | ||
|
|
4382724b86 | ||
|
|
9b47d7e05d | ||
|
|
e52d6db3fd | ||
|
|
60384f6d66 | ||
|
|
970d088510 | ||
|
|
9973f03f3b | ||
|
|
5eeb630a14 | ||
|
|
90a84335ab | ||
|
|
e6da7c5574 | ||
|
|
3b56370060 | ||
|
|
25d9969590 | ||
|
|
653bfd5d43 | ||
|
|
8a303fd4d8 | ||
|
|
587484fabb | ||
|
|
1232e25859 | ||
|
|
4d86291527 | ||
|
|
d0380adc39 | ||
|
|
c3bf1b2619 | ||
|
|
58caf89aab | ||
|
|
87c31d0761 | ||
|
|
931531232c | ||
|
|
e299bad2b5 | ||
|
|
6f489c1fbd | ||
|
|
5aa63ffe73 | ||
|
|
970c4bea75 | ||
|
|
553981426e | ||
|
|
4b854fb33d | ||
|
|
68227d91d9 | ||
|
|
a037e2f2d6 | ||
|
|
feef5b2eff | ||
|
|
cd0849209c | ||
|
|
2ed446d014 | ||
|
|
0c5851d566 | ||
|
|
0f4f4ea61c | ||
|
|
fdfe4d9ac5 | ||
|
|
258662e616 | ||
|
|
241fd8db98 | ||
|
|
9bd937a3bc | ||
|
|
10e7fa51fc | ||
|
|
dc51eb0b75 | ||
|
|
015b941966 | ||
|
|
c787e7f2a1 | ||
|
|
fc5b308605 | ||
|
|
df74fa37de | ||
|
|
490336b2e8 | ||
|
|
73f574b649 | ||
|
|
baeedd3690 | ||
|
|
f972b15f5f | ||
|
|
f1b348da34 | ||
|
|
572b2fdec7 | ||
|
|
9c06e07f07 | ||
|
|
dc138e20e7 | ||
|
|
1756fdbc9f | ||
|
|
f618f330b3 | ||
|
|
7facaac973 | ||
|
|
4b1dfbc2fb | ||
|
|
b72123e7ec | ||
|
|
329bdfc9fd | ||
|
|
d5f221452e | ||
|
|
0367cee671 | ||
|
|
7e000d4ce2 | ||
|
|
1efedbdade | ||
|
|
2e372ced1e | ||
|
|
0291b6f5d7 | ||
|
|
1f7bc1d518 | ||
|
|
914d56bb1b | ||
|
|
db7f7a420b | ||
|
|
c6ab11a9e5 | ||
|
|
2ec7d47869 | ||
|
|
bfb48ecce9 | ||
|
|
a258663175 | ||
|
|
d01796a214 | ||
|
|
03dbf6e747 | ||
|
|
0e4dcb301c | ||
|
|
8504e09e72 | ||
|
|
8961f1077a | ||
|
|
e228d8e549 | ||
|
|
93c9e81c33 | ||
|
|
47d7ac8031 | ||
|
|
a48c79b68b | ||
|
|
0f23cef46c | ||
|
|
87b834e1cb | ||
|
|
bc5b9bd8a2 | ||
|
|
d8d938e82c | ||
|
|
298c55b3ed | ||
|
|
a95335d869 | ||
|
|
999341c1a2 | ||
|
|
d940cc392a | ||
|
|
f47fc3c6ba | ||
|
|
964001bda2 | ||
|
|
2c297bbcc8 | ||
|
|
9895084627 | ||
|
|
931089a924 | ||
|
|
f911450017 | ||
|
|
fec2d86ec5 | ||
|
|
9c63a7497d | ||
|
|
043ff934fb | ||
|
|
df16aaea0c | ||
|
|
02439bed8b | ||
|
|
9192587ef2 | ||
|
|
5ebbe02853 | ||
|
|
56e374ff0d | ||
|
|
24a798ed2f | ||
|
|
3566c3fd6e | ||
|
|
3c6c509358 | ||
|
|
9b5bcc6dcd | ||
|
|
2af7a8c584 | ||
|
|
96172a5910 | ||
|
|
240dcc78fb | ||
|
|
1957af52b1 | ||
|
|
63ad970a27 | ||
|
|
804159f3f3 | ||
|
|
f756f3db0e | ||
|
|
b2d4fb94d6 | ||
|
|
e55ae1476a | ||
|
|
d7bc30fc4e | ||
|
|
16e3a3d294 | ||
|
|
d22ef4f371 | ||
|
|
4503659cba | ||
|
|
061ccadd03 | ||
|
|
a8f06d78b1 | ||
|
|
8505c5db09 | ||
|
|
148f2e4c00 | ||
|
|
b77edf9f32 | ||
|
|
840601a491 | ||
|
|
646e6f4996 | ||
|
|
759b265eeb | ||
|
|
16c1816e7c | ||
|
|
f39558ebb0 | ||
|
|
0af555126c | ||
|
|
8e9a7cb629 | ||
|
|
c360189d94 | ||
|
|
8e19b235f1 | ||
|
|
9249a7c736 | ||
|
|
a2e26e6ba0 | ||
|
|
97eedb866b | ||
|
|
da5228aaa9 | ||
|
|
10885f0cf2 | ||
|
|
6749e60079 | ||
|
|
a669b61b69 | ||
|
|
770da29de4 | ||
|
|
50c5efc374 | ||
|
|
b4c8822281 | ||
|
|
d658e2cf31 | ||
|
|
fc2e7fb1ad | ||
|
|
22f028d101 | ||
|
|
23cac5b157 | ||
|
|
fa6570d9cb | ||
|
|
c24d68a038 | ||
|
|
0649c41bbf | ||
|
|
9992704398 | ||
|
|
de157d9099 | ||
|
|
bad758f248 | ||
|
|
f3eb564d5f | ||
|
|
32acdaecc1 | ||
|
|
ce3f45c2a2 | ||
|
|
e9797538b3 | ||
|
|
ad82909d08 | ||
|
|
6a903b17e6 | ||
|
|
29cbab1647 | ||
|
|
838852619e | ||
|
|
b654c7d6fe | ||
|
|
a8b1699abb | ||
|
|
3d72f788b9 | ||
|
|
fe86ef5774 | ||
|
|
9a75d40d56 | ||
|
|
525b2cf297 | ||
|
|
7d9671f6d3 | ||
|
|
3eaf0bc4bf | ||
|
|
76d24ac8ca | ||
|
|
91d2d573c3 | ||
|
|
0639bafa6b | ||
|
|
c8c51dd96d | ||
|
|
02e35f8c76 | ||
|
|
0e7889a68c | ||
|
|
59f86a12d2 | ||
|
|
e557502504 | ||
|
|
cf5de9d0c8 | ||
|
|
09b824d819 | ||
|
|
2520ee921a | ||
|
|
08fbc21bb1 | ||
|
|
7118c8b39b | ||
|
|
bfcc72b8d8 | ||
|
|
b12bd9b070 | ||
|
|
45767b9b6b | ||
|
|
f8b1d0d7ca | ||
|
|
38d6438bd5 | ||
|
|
15e79cf089 | ||
|
|
07fd911770 | ||
|
|
2c5e1c17fe | ||
|
|
62d7303d8f | ||
|
|
74378e2c65 | ||
|
|
5713d293e3 | ||
|
|
625213580c | ||
|
|
9e82a8b4e6 | ||
|
|
102179028c | ||
|
|
3645bd8f69 | ||
|
|
1d0e14be62 | ||
|
|
6066b711af | ||
|
|
05384b2f88 | ||
|
|
29e26c2342 | ||
|
|
c9300bae35 | ||
|
|
a439661ac7 | ||
|
|
5c11192c7c | ||
|
|
f3821c30f3 | ||
|
|
d4226a038e | ||
|
|
3ddd56a326 | ||
|
|
f2bb51ad02 | ||
|
|
05a5a2b6c5 | ||
|
|
03c420b34e | ||
|
|
578a58527f | ||
|
|
b09c6533ee | ||
|
|
db0b806c7b | ||
|
|
4023da5a3f | ||
|
|
ae1fd5bbb2 | ||
|
|
3611161b67 | ||
|
|
215f397f33 | ||
|
|
37ee64ae9b | ||
|
|
d004f3a538 | ||
|
|
855550e274 | ||
|
|
8097298c80 | ||
|
|
38dcb0de49 | ||
|
|
388bd5ca48 | ||
|
|
aa67a29115 | ||
|
|
75bb161930 | ||
|
|
0ffe106e2c | ||
|
|
02169478d0 | ||
|
|
fa73dbe8e9 | ||
|
|
97fe75f198 | ||
|
|
22bc44620b | ||
|
|
542be965b3 | ||
|
|
c73c1a577a | ||
|
|
1740166d28 | ||
|
|
e4a2b5abb3 | ||
|
|
bdba5dce3a | ||
|
|
5950178c7a | ||
|
|
a57a41a07d | ||
|
|
383641e086 | ||
|
|
0be23553a4 | ||
|
|
f7427e7366 | ||
|
|
e8b4a3a8ae | ||
|
|
34fddbf3bc | ||
|
|
d1850be261 | ||
|
|
9b044ec5ec | ||
|
|
ea3e851ec0 | ||
|
|
a55a166df3 | ||
|
|
76a113257e | ||
|
|
5f5328c3d8 | ||
|
|
ab444af8c2 | ||
|
|
933ec6c118 | ||
|
|
dcfc385645 | ||
|
|
1e9cee1b07 | ||
|
|
8bcd2e581f | ||
|
|
dfc4f3e7fe | ||
|
|
4708f0114c | ||
|
|
6c0f842843 | ||
|
|
2c97d0855a | ||
|
|
7e8506e25f | ||
|
|
d9035e5308 | ||
|
|
1fdd434528 | ||
|
|
9b1caefbf9 | ||
|
|
b529a53501 | ||
|
|
5aa561598f | ||
|
|
d0be7877d3 | ||
|
|
eb9d26a9e0 | ||
|
|
b6700c70d6 | ||
|
|
aa1207d77a | ||
|
|
1368e6d462 | ||
|
|
321ccce438 | ||
|
|
0a5ded20a3 |
@@ -170,7 +170,7 @@ source_file = htdocs/langs/en_US/interventions.lang
|
||||
source_lang = en_US
|
||||
type = MOZILLAPROPERTIES
|
||||
|
||||
[dolibarr.languages]
|
||||
[dolibarr.languages-not-res]
|
||||
file_filter = htdocs/langs/<lang>/languages.lang
|
||||
source_file = htdocs/langs/en_US/languages.lang
|
||||
source_lang = en_US
|
||||
|
||||
99
ChangeLog
@@ -161,7 +161,41 @@ So if you included it into your module, change your code like this to be compati
|
||||
if (! $res) include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php';
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 3.9.3 compared to 3.9.2 *****
|
||||
FIX: #4383 $userid not defined
|
||||
FIX: #4448 $filebonprev is not used, $this->filename now
|
||||
FIX: #4455
|
||||
FIX: #4749
|
||||
FIX: #4756
|
||||
FIX: #4828
|
||||
FIX: #4926
|
||||
FIX: #4964 buyprice in customer from shipping buyprice wasn't load in expedition::fetch_lines
|
||||
FIX: #5004
|
||||
FIX: #5068
|
||||
FIX: #5170 tva sign with INVOICE_POSITIVE_CREDIT_NOTE option
|
||||
FIX: #5338 use of not initialized var $aphour, $apmin, etc
|
||||
FIX: #5343
|
||||
FIX: #5380
|
||||
FIX: #5383 bad object id on don delete
|
||||
FIX: #5414
|
||||
FIX: #5470 User of expense report in bank transactions page is not correct
|
||||
FIX: a case of corrupted ODT by Word that insert <text:s> when it should not.
|
||||
FIX: Can't create thirdparty or validate invoice if profid is mandatory and profid does not exists for other countries
|
||||
FIX: dasboard wrong for late invoice
|
||||
FIX: duplicate jquery.js files
|
||||
FIX: extrafield cloned on project clone
|
||||
FIX: Failed to open file
|
||||
FIX: Filter on opportunity amount and budget
|
||||
FIX: form_confirm to delete payment on supplier invoice
|
||||
FIX: javascript error with german-switzerland language
|
||||
FIX: large expense note
|
||||
FIX: Missing original .js file (license violation if sources are not provided)
|
||||
FIX: Option strict mode compatibility
|
||||
FIX: product stats all bloc module without enbaled test
|
||||
FIX: receiving link never works
|
||||
FIX: task ODT company object not correctly retrieved
|
||||
FIX: Translate group perms as it is done into user perms
|
||||
FIX: We must take the last recent defined price when using price level
|
||||
|
||||
***** ChangeLog for 3.9.2 compared to 3.9.1 *****
|
||||
FIX: #4813 Won translation for the key OppStatusWON instead OppStatusWIN
|
||||
@@ -425,7 +459,68 @@ This is list of hooks modified:
|
||||
- Remove deprecated Product::hidden property
|
||||
|
||||
|
||||
|
||||
|
||||
***** ChangeLog for 3.8.5 compared to 3.8.4 *****
|
||||
FIX: #3815 Call to undefined function local_by_date().
|
||||
FIX: #4424 Missing email of user popup in supplier orders area
|
||||
FIX: #4442 Missing translation in Banks menu
|
||||
FIX: #4448 $filebonprev is not used, $this->filename now
|
||||
FIX: #4455
|
||||
FIX: #4737 Bank transacion type selector translation is cropped
|
||||
FIX: #4742 Able to delete a supplier invoice with a registered payment
|
||||
FIX: #4743 UI glitch in project summary page
|
||||
FIX: #4747 Missing UI background when registering a supplier invoice payment
|
||||
FIX: #4748 Supplier invoice payment confirmation amount is not translated
|
||||
FIX: #4749
|
||||
FIX: #4756
|
||||
FIX: #4766 VAT not shown in supplier invoice popup
|
||||
FIX: #4809 - Duplicate functions with different content
|
||||
FIX: #4851 Project selector in supplier invoices shows the project label twice
|
||||
FIX: #4870
|
||||
FIX: #5008 SQL error when editing the reference of a supplier invoice that already exists
|
||||
FIX: #5048 Product supplier list display only one produc
|
||||
FIX: #5170 tva sign with INVOICE_POSITIVE_CREDIT_NOTE option
|
||||
FIX: #5203
|
||||
FIX: #5207
|
||||
FIX: #5338 use of not initialized var $aphour, $apmin, etc
|
||||
FIX: #5380
|
||||
FIX: #5383 bad object id on don delete
|
||||
FIX: #5474 Country_id of "Don" object is still empty
|
||||
FIX: Accountancy - 3.8 - Chart of accounts are limited on only one country
|
||||
FIX: Bad include and param for project numbering module call
|
||||
FIX: Box disabled because bugged
|
||||
FIX: bug on email template
|
||||
FIX: Can correct stock of lot using eatby or sell by date
|
||||
FIX: Can make a movement on "out of sell" products
|
||||
FIX: Can't create thirdparty or validate invoice if profid is mandatory and profid does not exists for other countries
|
||||
FIX: can't fetch by siret or siren because of first "if"
|
||||
FIX: Check stock of product by warehouse if $entrepot_id defined on shippings
|
||||
FIX: correct display of minimum buying price
|
||||
FIX: Creation of thumb image for size "small" was not done.
|
||||
FIX: Direction of movement lost if an error occurs
|
||||
FIX: dont retrieve new buying price on margin display
|
||||
FIX: Duplicate records into export
|
||||
FIX: Email templates not compatible with Multicompany
|
||||
FIX: end of select when no fournprice
|
||||
FIX: finished parameters not used
|
||||
FIX: hook on group card called but not initialized
|
||||
FIX: It doesn't check if there is enough stock to update the lines of orders/invoices
|
||||
FIX: large expense note
|
||||
FIX: missing column when module was installed before standard integration
|
||||
FIX: Missing database escaping on supplier price insert/update
|
||||
FIX: Not filtering correctly when come from dashboard
|
||||
FIX: PROPAL_MERGE_PDF with PRODUCT_USE_OLD_PATH
|
||||
FIX: real min buying price
|
||||
FIX: receiving link never works
|
||||
FIX: same page added several times on mergepropal option
|
||||
FIX: search on date into supplier invoice list dont work because of status -1
|
||||
FIX: Search supplier ref on contract
|
||||
FIX: SQL error function on getAvailableDiscounts function, on bill create mode if socid is empty
|
||||
FIX: systematic rounding causes prices to be updated without reason
|
||||
FIX: task ODT company object not correctly retrieved
|
||||
FIX: Template email must take care of positino column
|
||||
FIX: VAT rate can be negative. Example spain selling to morroco.
|
||||
|
||||
***** ChangeLog for 3.8.4 compared to 3.8.3 *****
|
||||
FIX: #3694
|
||||
FIX: #3798 #2519 Cron jobs would never be executed
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Dolibarr ERP & CRM est un logiciel moderne pour gérer votre activité (société, association, auto-entrepreneurs, artisans).
|
||||
Il est simple d'utilisation et modulaire, vous permettant de n'activez que les fonctions dont vous avez besoin (contacts, fournisseurs, factures, commandes, stocks, agenda, ...).
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ Ubuntu) ou DoliRpm (la version tout-en-un de Dolibarr pour Fedora, Redhat,
|
||||
OpenSuse, Mandriva ou Mageia).
|
||||
|
||||
Vous pouvez les télécharger depuis la rubrique *download* du portail officiel:
|
||||
http://www.dolibarr.org/
|
||||
https://www.dolibarr.org/
|
||||
|
||||
Si vous avez déjà installé un serveur Web avec PHP et une base de donnée (Mysql),
|
||||
vous pouvez installer Dolibarr avec cette version de la manière suivante:
|
||||
@@ -139,13 +139,13 @@ Suivez le projet Dolibarr project sur les réseaux francophones
|
||||
|
||||
- Facebook: <https://www.facebook.com/dolibarr.fr>
|
||||
- Google+: <https://plus.google.com/+DolibarrFrance>
|
||||
- Twitter: <http://www.twitter.com/dolibarr_france>
|
||||
- Twitter: <https://www.twitter.com/dolibarr_france>
|
||||
|
||||
ou sur les réseaux anglophones
|
||||
|
||||
- [Facebook](https://www.facebook.com/dolibarr)
|
||||
- [Google+](https://plus.google.com/+DolibarrOrg)
|
||||
- [Twitter](http://www.twitter.com/dolibarr)
|
||||
- [Twitter](https://www.twitter.com/dolibarr)
|
||||
- [LinkedIn](https://www.linkedin.com/company/association-dolibarr)
|
||||
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
|
||||
- [GitHub](https://github.com/Dolibarr/dolibarr)
|
||||
|
||||
12
README.md
@@ -2,15 +2,15 @@
|
||||
|
||||
 
|
||||
|
||||
Dolibarr ERP & CRM is a modern software to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...).
|
||||
Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...).
|
||||
|
||||
It's an Open Source software (wrote in PHP language) designed for small and medium companies, foundation and freelances.
|
||||
It's an Open Source software (wrote in PHP language) designed for small, medium or large companies, foundations and freelances.
|
||||
|
||||
You can freely use, study, modify or distribute it according to its Free Software licence.
|
||||
|
||||
You can use it as a standalone application or as a web application to be able to access it from the Internet or a LAN.
|
||||
|
||||

|
||||

|
||||
|
||||
## LICENSE
|
||||
|
||||
@@ -24,7 +24,7 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git
|
||||
|
||||
### Download
|
||||
|
||||
Releases can be downloaded from [official website](http://www.dolibarr.org/).
|
||||
Releases can be downloaded from [official website](https://www.dolibarr.org/).
|
||||
|
||||
### Simple setup
|
||||
|
||||
@@ -133,7 +133,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
||||
|
||||
### Extending
|
||||
|
||||
Dolibarr can be extended with a lot of other external modules from third party developers available at the [DoliStore](http://www.dolistore.com).
|
||||
Dolibarr can be extended with a lot of other external modules from third party developers available at the [DoliStore](https://www.dolistore.com).
|
||||
|
||||
## FUTURE
|
||||
|
||||
@@ -165,7 +165,7 @@ Follow Dolibarr project on:
|
||||
|
||||
- [Facebook](https://www.facebook.com/dolibarr)
|
||||
- [Google+](https://plus.google.com/+DolibarrOrg)
|
||||
- [Twitter](http://www.twitter.com/dolibarr)
|
||||
- [Twitter](https://www.twitter.com/dolibarr)
|
||||
- [LinkedIn](https://www.linkedin.com/company/association-dolibarr)
|
||||
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
|
||||
- [GitHub](https://github.com/Dolibarr/dolibarr)
|
||||
|
||||
@@ -13,7 +13,7 @@ Architecture: all
|
||||
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
|
||||
php5-cli,
|
||||
# Required PHP extensions
|
||||
php5-mysql | php5-mysqli, php5-curl, php5-gd, php5-ldap, php5-geoip,
|
||||
php5-mysql | php5-mysqli, php5-curl, php5-gd, php5-ldap,
|
||||
# Required PHP libraries
|
||||
php-pear, php-mail-mime,
|
||||
# php-tcpdf, libfpdi-php,
|
||||
@@ -31,10 +31,10 @@ Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm |
|
||||
${misc:Depends},
|
||||
${perl:Depends}
|
||||
Recommends: apache2 | lighttpd | httpd
|
||||
Suggests: www-browser
|
||||
Suggests: www-browser, php5-geoip
|
||||
Description: Web based software to manage a company or foundation
|
||||
Dolibarr ERP & CRM is an easy to use open source/free software for small
|
||||
and medium companies, foundations or freelances. It includes different
|
||||
Dolibarr ERP & CRM is an easy to use open source/free software package for
|
||||
companies, foundations or freelances. It includes different
|
||||
features for Enterprise Resource Planning (ERP) and Customer Relationship
|
||||
Management (CRM) but also for different other activities.
|
||||
.
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
README.md
|
||||
README-FR.md
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# Remove warning, we want to keep both standard and minified sources.
|
||||
dolibarr: source-contains-prebuilt-javascript-object htdocs/includes/jsgantt/*
|
||||
dolibarr: source-contains-prebuilt-javascript-object htdocs/includes/jquery/*
|
||||
dolibarr: source-contains-prebuilt-javascript-object htdocs/includes/jquery/*
|
||||
# This is a textual data file
|
||||
source-is-missing htdocs/includes/mobiledetect/mobiledetectlib/Mobile_Detect.json
|
||||
@@ -2,4 +2,4 @@
|
||||
version=3
|
||||
|
||||
#http://sf.net/dolibarr/dolibarr-(.+)\.tgz
|
||||
http://www.dolibarr.org/files/stable/standard/dolibarr-(.+)\.tgz
|
||||
http://www.dolibarr.org/files/stable/package_debian-ubuntu/dolibarr_(.+)\.orig\.tar\.gz
|
||||
|
||||
@@ -4,17 +4,14 @@ File added into doxygen generated documentation
|
||||
|
||||
|
||||
<!-- Google analytics -->
|
||||
<script type="text/javascript">
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', 'UA-9049390-1']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
ga('create', 'UA-9049390-16', 'auto');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
<!-- End google analytics -->
|
||||
@@ -22,7 +19,7 @@ File added into doxygen generated documentation
|
||||
|
||||
<hr class="footer" />
|
||||
<address class="footer"><small>Generated on $datetime
|
||||
for <a href="http://www.dolibarr.org">$projectname</a> by Doxygen $doxygenversion </small></address>
|
||||
for <a href="https://www.dolibarr.org">$projectname</a> by Doxygen $doxygenversion </small></address>
|
||||
|
||||
|
||||
<!-- Google AdSense -->
|
||||
@@ -35,11 +32,20 @@ google_ad_width = 468;
|
||||
google_ad_height = 60;
|
||||
//-->
|
||||
</script>
|
||||
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
|
||||
<script type="text/javascript" src="https://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
|
||||
</div>
|
||||
<!-- End google adsense -->
|
||||
<br>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Twitter ad collector -->
|
||||
<script src="//platform.twitter.com/oct.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">twttr.conversion.trackPid('ntm4n', { tw_sale_amount: 0, tw_order_quantity: 0 });</script>
|
||||
<noscript>
|
||||
<img height="1" width="1" style="display:none;" alt="" src="https://analytics.twitter.com/i/adsct?txn_id=ntm4n&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
|
||||
<img height="1" width="1" style="display:none;" alt="" src="//t.co/i/adsct?txn_id=ntm4n&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
|
||||
</noscript>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,6 +1,4 @@
|
||||
<!--
|
||||
File added into doxygen generated documentation
|
||||
-->
|
||||
<!-- File added into doxygen generated documentation -->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
@@ -14,7 +12,23 @@ File added into doxygen generated documentation
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css" />
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
<!-- End from dolibarr.org -->
|
||||
|
||||
<!-- Facebook Pixel Code -->
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
|
||||
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
|
||||
document,'script','//connect.facebook.net/en_US/fbevents.js');
|
||||
|
||||
fbq('init', '1998533953704960');
|
||||
fbq('track', "PageView");</script>
|
||||
<noscript><img height="1" width="1" style="display:none"
|
||||
src="https://www.facebook.com/tr?id=1998533953704960&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Facebook Pixel Code -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="top">
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ DoYouWantToStart=Vol iniciar el proc
|
||||
TechnicalParameters=Par<61>metres t<>cnics
|
||||
IfFirstInstall=Si es tracta de la primera instal laci<63>, haur<75> d'especificar alguns par<61>metres t<>cnics. Si no els ent<6E>n, no sabeu o va a procedir a una actualitzaci<63>, deixi els camps amb els valors proposats per defecte.
|
||||
|
||||
; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS
|
||||
; WARNING !!! STRINGS HERE MUST BE LOWER THAN 70 CHARACTERS
|
||||
SMTPServer=Servidor SMTP (El seu o el del seu ISP, <20>nicament primera instal.laci<63>) :
|
||||
ApachePort=Puerto Apache (<28>nicament primera instal.laci<63>, normalment <20>s el 80) :
|
||||
MySqlPort=Puerto Mysql (<28>nicament primera instal.laci<63>, normalment <20>s el 3306) :
|
||||
@@ -31,6 +31,7 @@ FailedToDeleteLock=FailedToDeleteLock=Error en l'eliminaci
|
||||
PortAlreadyInUse=Sembla que el port %1 ja est<73> sent utilitzat. Es recomana cancel<65>lar, tornar enrere i especificar un altre valor per al port% 2. Cancel<65>lar i escollir un altre valor?
|
||||
|
||||
FirefoxDetected=S'ha detectat Firefox al seu ordinador. Voleu activar per defecte com a navegador per Dolibarr?
|
||||
ChromeDetected=S'ha detectat Chrome al seu ordinador. Voleu activar per defecte com a navegador per Dolibarr?
|
||||
ChooseDefaultBrowser=Esculli el seu navegador per defecte. Si no est<73> segur, simplement feu clic a Obrir:
|
||||
|
||||
LaunchNow=Llan<61>ar ara Dolibarr
|
||||
|
||||
@@ -31,6 +31,7 @@ FailedToDeleteLock=Failed to delete the file %1/www/dolibarr/install.lock. You c
|
||||
PortAlreadyInUse=Port %1 seems to be already in use. You should cancel to go back and choose another value for %2 port. Cancel choice and choose another value ?
|
||||
|
||||
FirefoxDetected=Firefox has been detected on your computer. Would you like to use it as the default browser for Dolibarr ?
|
||||
ChromeDetected=Chrome has been detected on your computer. Would you like to use it as the default browser for Dolibarr ?
|
||||
ChooseDefaultBrowser=Please choose your default browser. If you are not sure, just click Open :
|
||||
|
||||
LaunchNow=Launch Dolibarr now
|
||||
|
||||
@@ -21,10 +21,10 @@ TechnicalParameters=Param
|
||||
IfFirstInstall=S'il s'agit de la premi<6D>re installation, merci de sp<73>cifier ces quelques param<61>tres techniques. Si vous ne les comprennez pas, <20>tes non s<>r, ou proc<6F>dez <20> une mise <20> jour, laissez les champs avec les valeurs propos<6F>es par d<>faut.
|
||||
|
||||
|
||||
; WARNING !!! STRINGS FOR THIS 4 STRINGS MUST BE LOWER THAN 60 CHARACTERS
|
||||
SMTPServer=Serveur SMTP (le votre ou celui de votre FAI, premi<6D>re installation uniquement) :
|
||||
ApachePort=Port Apache (premi<6D>re installation uniquement, le choix standard est 80) :
|
||||
MySqlPort=Port Mysql (premi<6D>re installation uniquement, le choix standard est 3306) :
|
||||
; WARNING !!! STRINGS FOR THIS 4 STRINGS MUST BE LOWER THAN 70 CHARACTERS
|
||||
SMTPServer=Serveur SMTP (le votre ou de votre FAI, premi<6D>re installation uniquement):
|
||||
ApachePort=Port Apache (premi<6D>re installation uniquement, le choix standard est 80):
|
||||
MySqlPort=Port Mysql (premi<6D>re installation uniquement, le choix standard est 3306):
|
||||
MySqlPassword=Mot de passe serveur+base MySql de root (premi<6D>re installation uniquement):
|
||||
|
||||
FailedToDeleteLock=Echec de la suppression du fichier %1/www/dolibarr/install.lock. Vous pouvez ignorer l'avertissement mais il est possible que vous deviez le supprimer manuellement plus tard. Dans ce cas, cela vous sera signal<61>. Cliquez sur OK pour continuer...
|
||||
@@ -32,6 +32,7 @@ FailedToDeleteLock=Echec de la suppression du fichier %1/www/dolibarr/install.lo
|
||||
PortAlreadyInUse=Le port %1 semble d<>j<EFBFBD> utilis<69>. Il est recommand<6E> d'annuler pour revenir en arri<72>re et sp<73>cifier une autre valeur pour le port %2. Annuler le choix et choisir une autre valeur ?
|
||||
|
||||
FirefoxDetected=Firefox a <20>t<EFBFBD> d<>tect<63> sur votre ordinateur. Voulez-vous en faire votre navigateur par d<>faut pour Dolibarr ?
|
||||
ChromeDetected=Chrome a <20>t<EFBFBD> d<>tect<63> sur votre ordinateur. Voulez-vous en faire votre navigateur par d<>faut pour Dolibarr ?
|
||||
ChooseDefaultBrowser=Merci de choisir votre navigateur par d<>faut. Si vous n'<27>tes pas s<>r, cliquez simplement sur Ouvrir :
|
||||
|
||||
LaunchNow=Lancer Dolibarr maintenant
|
||||
|
||||
@@ -20,7 +20,7 @@ DoYouWantToStart=
|
||||
TechnicalParameters=Par<61>metros t<>cnicos
|
||||
IfFirstInstall=Si se trata de la primera instalaci<63>n, deber<65> especificar algunos par<61>metros t<>cnicos. Si no los entiende, no est<73> seguro o va a proceder a una actualizaci<63>n, deje los campos con los valores propuestos por defecto.
|
||||
|
||||
; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS
|
||||
; WARNING !!! STRINGS HERE MUST BE LOWER THAN 70 CHARACTERS
|
||||
SMTPServer=Servidor SMTP (El suyo o el de su ISP, <20>nicamente primera instalaci<63>n) :
|
||||
ApachePort=Puerto Apache (<28>nicamente primera instalaci<63>n, normalmente es el 80) :
|
||||
MySqlPort=Puerto Mysql (<28>nicamente primera instalaci<63>n, normalmente es el 3306) :
|
||||
@@ -31,6 +31,7 @@ FailedToDeleteLock=Error en la eliminaci
|
||||
PortAlreadyInUse=Parece que el puerto %1 ya esta siendo usado. Se recomienda cancelar, volver atras y especificar otro valor para el puerto %2. <20>Cancelar y escojer otro valor?
|
||||
|
||||
FirefoxDetected=Se ha detectado Firefox en su ordenador. Desea activarlo por defecto como navegador para Dolibarr ?
|
||||
ChromeDetected=Se ha detectado Chrome en su ordenador. Desea activarlo por defecto como navegador para Dolibarr ?
|
||||
ChooseDefaultBrowser=Escoja su navegador por defecto. Si no est<73> seguro, simplementa haga clic en Abrir :
|
||||
|
||||
LaunchNow=Lanzar ahora Dolibarr
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/"
|
||||
|
||||
# NOTE:
|
||||
# NOTE FOR APACHE 2.2:
|
||||
# To restrict access to dolibarr from outside set lines
|
||||
#
|
||||
# Order Deny,Allow
|
||||
@@ -12,10 +12,18 @@ Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/"
|
||||
# Order Allow,Deny
|
||||
# Allow from all
|
||||
#
|
||||
# NOTE FOR APACHE 2.3:
|
||||
# To restrict access to dolibarr from outside set lines
|
||||
#
|
||||
# Require local
|
||||
#
|
||||
# instead of
|
||||
#
|
||||
# Require all granted
|
||||
#
|
||||
|
||||
<Directory "WAMPROOT/www/dolibarr/htdocs/">
|
||||
Options Indexes FollowSymLinks MultiViews
|
||||
AllowOverride all
|
||||
Order Allow,Deny
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
@@ -42,6 +42,7 @@ SolidCompression=yes
|
||||
WizardImageFile=build\exe\doliwamp\doliwamp.bmp
|
||||
WizardSmallImageFile=build\exe\doliwamp\doliwampsmall.bmp
|
||||
SetupIconFile=doc\images\dolibarr.ico
|
||||
;To say the installer must be ran as admin
|
||||
PrivilegesRequired=admin
|
||||
DisableProgramGroupPage=yes
|
||||
ChangesEnvironment=no
|
||||
@@ -99,13 +100,13 @@ Source: "build\exe\doliwamp\builddemosslfiles.bat.install"; DestDir: "{app}\"; F
|
||||
Source: "build\exe\doliwamp\UsedPort.exe"; DestDir: "{app}\"; Flags: ignoreversion;
|
||||
; PhpMyAdmin, Apache, Php, Mysql
|
||||
; Put here path of Wampserver applications
|
||||
; 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 or 5.1.36
|
||||
; Value OK: apache 2.2.11, php 5.3.0 (if no php_exif, php_pgsql, php_zip), mysql 5.0.45 or 5.1.36
|
||||
; Value ???: apache 2.4.19, php 5.5.12, mysql 5.6.17
|
||||
; 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 ???: apache 2.4.19, 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)
|
||||
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:\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\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\mysql\mysql5.6.17\*.*"; DestDir: "{app}\bin\mysql\mysql5.6.17"; Flags: ignoreversion recursesubdirs; Excludes: "my.ini,data\*,wampserver.conf,*.log,*_log,MySQLInstanceConfig.exe"
|
||||
Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\mysql\mysql5.0.45"; Flags: ignoreversion recursesubdirs; Excludes: "my.ini,data\*,wampserver.conf,*.log,*_log,MySQLInstanceConfig.exe"
|
||||
; Mysql data files (does not overwrite if exists)
|
||||
Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db"
|
||||
; Dolibarr
|
||||
@@ -119,8 +120,8 @@ Source: "build\exe\doliwamp\phpmyadmin.conf.install"; DestDir: "{app}\alias"; Fl
|
||||
Source: "build\exe\doliwamp\dolibarr.conf.install"; DestDir: "{app}\alias"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\config.inc.php.install"; DestDir: "{app}\apps\phpmyadmin4.1.14"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\httpd.conf.install"; DestDir: "{app}\bin\apache\apache2.4.9\conf"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\my.ini.install"; DestDir: "{app}\bin\mysql\mysql5.5.12"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\php.ini.install"; DestDir: "{app}\bin\php\php5.6.17"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\my.ini.install"; DestDir: "{app}\bin\mysql\mysql5.0.45"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\php.ini.install"; DestDir: "{app}\bin\php\php5.5.12"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\index.php.install"; DestDir: "{app}\www"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\install.forced.php.install"; DestDir: "{app}\www\dolibarr\htdocs\install"; Flags: ignoreversion;
|
||||
Source: "build\exe\doliwamp\openssl.conf"; DestDir: "{app}"; Flags: ignoreversion;
|
||||
@@ -146,6 +147,16 @@ Name: "{userdesktop}\Dolibarr Help center"; Filename: "{app}\rundolihelp.bat"; W
|
||||
;Name: "{userstartup}\DoliWamp server"; Filename: "{app}\startdoliwamp.bat"; WorkingDir: "{app}"; Flags: runminimized; IconFilename: {app}\www\dolibarr\doc\images\dolibarr.ico
|
||||
|
||||
|
||||
[Registry]
|
||||
; Add "run as admin" flag. Same than command line: reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<Path to your exe>" /t REG_SZ /d RUNASADMIN
|
||||
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN";
|
||||
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN";
|
||||
Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN";
|
||||
Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN";
|
||||
Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN"; Check: IsWin64
|
||||
Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN"; Check: IsWin64
|
||||
|
||||
|
||||
[Code]
|
||||
|
||||
//variables globales
|
||||
@@ -198,7 +209,7 @@ begin
|
||||
//version des applis, a modifier pour chaque version de WampServer 2
|
||||
apacheVersion := '2.4.9';
|
||||
phpVersion := '5.5.12' ;
|
||||
mysqlVersion := '5.6.17';
|
||||
mysqlVersion := '5.0.45';
|
||||
phpmyadminVersion := '4.1.14';
|
||||
|
||||
smtpServer := 'localhost';
|
||||
@@ -233,9 +244,9 @@ begin
|
||||
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\MSCRM','SMTPServer', value) then
|
||||
begin
|
||||
if value <> '' then smtpServer:=value;
|
||||
end
|
||||
end
|
||||
end
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp','apachePort', value) then
|
||||
@@ -256,14 +267,13 @@ begin
|
||||
|
||||
// Prepare an object calle "Page" of type wpInstalling.
|
||||
// Object will be show later in NextButtonClick function.
|
||||
Page := CreateInputQueryPage(wpInstalling,
|
||||
CustomMessage('TechnicalParameters'), '',
|
||||
CustomMessage('IfFirstInstall'));
|
||||
Page := CreateInputQueryPage(wpInstalling, CustomMessage('TechnicalParameters'), '', CustomMessage('IfFirstInstall'));
|
||||
|
||||
// TODO Add control differently if first install or update
|
||||
if firstinstall
|
||||
then
|
||||
begin
|
||||
// False means it's not a password edit
|
||||
Page.Add(CustomMessage('SMTPServer'), False);
|
||||
Page.Add(CustomMessage('ApachePort'), False);
|
||||
Page.Add(CustomMessage('MySqlPort'), False);
|
||||
@@ -271,6 +281,7 @@ begin
|
||||
end
|
||||
else
|
||||
begin
|
||||
// False means it's not a password edit
|
||||
Page.Add(CustomMessage('SMTPServer'), False);
|
||||
Page.Add(CustomMessage('ApachePort'), False);
|
||||
Page.Add(CustomMessage('MySqlPort'), False);
|
||||
@@ -310,8 +321,7 @@ function NextButtonClick(CurPageID: Integer): Boolean;
|
||||
var myResult: Integer;
|
||||
var res: Boolean;
|
||||
var paramok: Boolean;
|
||||
var datadirold: String;
|
||||
var datadirnew: String;
|
||||
var datadir: String;
|
||||
var exedirold: String;
|
||||
var exedirnew: String;
|
||||
var themessage: String;
|
||||
@@ -330,10 +340,22 @@ begin
|
||||
winPath := ExpandConstant('{win}');
|
||||
pathWithSlashes := path;
|
||||
StringChange (pathWithSlashes, '\','/');
|
||||
datadirold := pathWithSlashes+'/bin/mysql/mysql5.6.17/data';
|
||||
datadirnew := pathWithSlashes+'/bin/mysql/data';
|
||||
exedirold := pathWithSlashes+'/bin/mysql/mysql5.6.17';
|
||||
exedirnew := pathWithSlashes+'/bin/mysql/mysql5.6.17';
|
||||
datadir := pathWithSlashes+'/bin/mysql/data';
|
||||
exedirold := pathWithSlashes+'/bin/mysql/mysql5.0.45';
|
||||
exedirnew := pathWithSlashes+'/bin/mysql/mysql5.0.45';
|
||||
|
||||
|
||||
//----------------------------------------------
|
||||
// Test if msvcr110 DLL has been installed
|
||||
//----------------------------------------------
|
||||
|
||||
if not FileExists ('c:/windows/system32/msvcr110.dll') and not FileExists ('c:/windows/sysWOW64/msvcr110.dll') and not FileExists ('c:/winnt/system32/msvcr110.dll') and not FileExists ('c:/winnt/sysWOW64/msvcr110.dll') then
|
||||
begin
|
||||
// TODO Copy file or ask to install package ?
|
||||
//CustomMessage('YouWillInstallDoliWamp')+#13#13
|
||||
MsgBox('The package vcredist_x86.exe must have been installed first. It seems it is not. Please install it first from <a href="http://ccc">http://www.microsoft.com/en-us/download/details.aspx?id=30679</a> then restart DoliWamp installation/upgrade.',mbInformation,MB_OK);
|
||||
end;
|
||||
|
||||
|
||||
// If we have a new database version, we should only copy old my.ini file into new directory
|
||||
// and change only all basedir= strings to use new version. Like this, data dir is still correct.
|
||||
@@ -402,7 +424,7 @@ begin
|
||||
begin
|
||||
themessage := FmtMessage(CustomMessage('FailedToDeleteLock'),[pathWithSlashes]);
|
||||
MsgBox(themessage,mbInformation,MB_OK);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
// Check if parameters already defined in conf.php file
|
||||
@@ -523,13 +545,29 @@ begin
|
||||
begin
|
||||
//navigateur
|
||||
browser := 'iexplore.exe';
|
||||
if FileExists (pfPath+'/Mozilla Firefox/firefox.exe') then
|
||||
|
||||
if browser = 'iexplore.exe' then
|
||||
begin
|
||||
if MsgBox(CustomMessage('FirefoxDetected'),mbConfirmation,MB_YESNO) = IDYES then
|
||||
if FileExists (pfPath+'/Google/Chrome/Application/chrome.exe') then
|
||||
begin
|
||||
browser := pfPath+'/Mozilla Firefox/firefox.exe';
|
||||
if MsgBox(CustomMessage('ChromeDetected'),mbConfirmation,MB_YESNO) = IDYES then
|
||||
begin
|
||||
browser := pfPath+'/Google/Chrome/Application/chrome.exe';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if browser = 'iexplore.exe' then
|
||||
begin
|
||||
if FileExists (pfPath+'/Mozilla Firefox/firefox.exe') then
|
||||
begin
|
||||
if MsgBox(CustomMessage('FirefoxDetected'),mbConfirmation,MB_YESNO) = IDYES then
|
||||
begin
|
||||
browser := pfPath+'/Mozilla Firefox/firefox.exe';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
if browser = 'iexplore.exe' then
|
||||
begin
|
||||
if FileExists (pfPath+'/Internet Explorer/iexplore.exe') then
|
||||
@@ -559,7 +597,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
|
||||
SaveStringToFile(destFileA,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
if MsgBox(CustomMessage('DoliWampWillStartApacheMysql'),mbConfirmation,MB_YESNO) = IDYES then
|
||||
@@ -582,7 +620,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPPHPMYADMINVERSION', phpmyadminVersion, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
DeleteFile(srcFile);
|
||||
|
||||
|
||||
@@ -594,15 +632,29 @@ begin
|
||||
destFile := pathWithSlashes+'/alias/dolibarr.conf';
|
||||
srcFile := pathWithSlashes+'/alias/dolibarr.conf.install';
|
||||
|
||||
if not FileExists (destFile) and FileExists(srcFile) then
|
||||
if FileExists(srcFile) then
|
||||
begin
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
if not FileExists (destFile) then
|
||||
begin
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
|
||||
StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
|
||||
SaveStringToFile(destFile, srcContents, False);
|
||||
end
|
||||
SaveStringToFile(destFile, srcContents, False);
|
||||
end
|
||||
else
|
||||
begin
|
||||
// We must replace to use format 2.4 of apache
|
||||
DeleteFile(destFile);
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
|
||||
StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
|
||||
SaveStringToFile(destFile, srcContents, False);
|
||||
end;
|
||||
end;
|
||||
DeleteFile(srcFile);
|
||||
|
||||
|
||||
@@ -615,14 +667,25 @@ begin
|
||||
destFile := pathWithSlashes+'/apps/phpmyadmin'+phpmyadminVersion+'/config.inc.php';
|
||||
srcFile := pathWithSlashes+'/apps/phpmyadmin'+phpmyadminVersion+'/config.inc.php.install';
|
||||
|
||||
if not FileExists (destFile) and FileExists (srcFile) then
|
||||
if FileExists(srcFile) then
|
||||
begin
|
||||
// sinon on prends le fichier par defaut
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
if not FileExists (destFile) then
|
||||
begin
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
else
|
||||
begin
|
||||
// We must replace to use format 2.4 of apache
|
||||
DeleteFile(destFile);
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -645,7 +708,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -664,10 +727,10 @@ begin
|
||||
//installDir et version de php
|
||||
StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLVERSION', myport, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -699,7 +762,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
|
||||
SaveStringToFile(destFile, srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -722,7 +785,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -738,32 +801,12 @@ begin
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
|
||||
//version de apache et mysql
|
||||
StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
|
||||
|
||||
|
||||
//----------------------------------------------
|
||||
// Create file install_services_auto.bat (always)
|
||||
//----------------------------------------------
|
||||
|
||||
destFile := pathWithSlashes+'/install_services_auto.bat';
|
||||
srcFile := pathWithSlashes+'/install_services_auto.bat.install';
|
||||
|
||||
if FileExists (srcFile) then
|
||||
begin
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
|
||||
//version de apache et mysql
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -779,11 +822,12 @@ begin
|
||||
LoadStringFromFile (srcFile, srcContents);
|
||||
|
||||
//version de apache et mysql
|
||||
StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -804,7 +848,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
//----------------------------------------------
|
||||
@@ -825,7 +869,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
//----------------------------------------------
|
||||
@@ -846,7 +890,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
//----------------------------------------------
|
||||
@@ -865,7 +909,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
|
||||
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
//----------------------------------------------
|
||||
@@ -882,7 +926,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True);
|
||||
StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True);
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
//----------------------------------------------
|
||||
// Create file php.ini in apache (if not exists)
|
||||
@@ -898,7 +942,7 @@ begin
|
||||
StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True);
|
||||
StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True);
|
||||
SaveStringToFile(destFile,srcContents, False);
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
|
||||
@@ -940,7 +984,7 @@ begin
|
||||
|
||||
res := False;
|
||||
|
||||
end
|
||||
end;
|
||||
|
||||
end
|
||||
else
|
||||
@@ -950,9 +994,9 @@ begin
|
||||
|
||||
res := False;
|
||||
|
||||
end
|
||||
end;
|
||||
|
||||
end
|
||||
end;
|
||||
|
||||
|
||||
Result := res;
|
||||
@@ -967,7 +1011,6 @@ end;
|
||||
procedure DeinitializeSetup();
|
||||
begin
|
||||
// DeleteFile(path+'\install_services.bat');
|
||||
// DeleteFile(path+'\install_services_auto.bat');
|
||||
end;
|
||||
|
||||
|
||||
@@ -1004,7 +1047,7 @@ Filename: "{app}\rundoliwamp.bat"; Description: {cm:LaunchNow}; Flags: shellexec
|
||||
|
||||
[UninstallDelete]
|
||||
Type: files; Name: "{app}\*.*"
|
||||
Type: files; Name: "{app}\bin\mysql\mysql5.6.17\*.*"
|
||||
Type: files; Name: "{app}\bin\mysql\mysql5.0.45\*.*"
|
||||
Type: filesandordirs; Name: "{app}\alias"
|
||||
Type: filesandordirs; Name: "{app}\apps"
|
||||
Type: filesandordirs; Name: "{app}\bin\apache"
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 3.2 KiB |
@@ -66,19 +66,23 @@ Listen WAMPAPACHEPORT
|
||||
#
|
||||
LoadModule actions_module modules/mod_actions.so
|
||||
LoadModule alias_module modules/mod_alias.so
|
||||
LoadModule allowmethods_module modules/mod_allowmethods.so
|
||||
LoadModule asis_module modules/mod_asis.so
|
||||
LoadModule auth_basic_module modules/mod_auth_basic.so
|
||||
#LoadModule auth_digest_module modules/mod_auth_digest.so
|
||||
#LoadModule authn_anon_module modules/mod_authn_anon.so
|
||||
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
|
||||
LoadModule authn_default_module modules/mod_authn_default.so
|
||||
LoadModule authn_file_module modules/mod_authn_file.so
|
||||
LoadModule authz_core_module modules/mod_authz_core.so
|
||||
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
|
||||
LoadModule authz_default_module modules/mod_authz_default.so
|
||||
#LoadModule authz_default_module modules/mod_authz_default.so
|
||||
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
|
||||
LoadModule authz_host_module modules/mod_authz_host.so
|
||||
LoadModule authz_user_module modules/mod_authz_user.so
|
||||
LoadModule autoindex_module modules/mod_autoindex.so
|
||||
LoadModule buffer_module modules/mod_buffer.so
|
||||
LoadModule cache_module modules/mod_cache.so
|
||||
LoadModule cache_disk_module modules/mod_cache_disk.so
|
||||
#LoadModule cern_meta_module modules/mod_cern_meta.so
|
||||
LoadModule cgi_module modules/mod_cgi.so
|
||||
#LoadModule dav_module modules/mod_dav.so
|
||||
@@ -96,23 +100,23 @@ LoadModule isapi_module modules/mod_isapi.so
|
||||
LoadModule log_config_module modules/mod_log_config.so
|
||||
LoadModule mime_module modules/mod_mime.so
|
||||
#LoadModule mime_magic_module modules/mod_mime_magic.so
|
||||
LoadModule negotiation_module modules/mod_negotiation.so
|
||||
#LoadModule proxy_module modules/mod_proxy.so
|
||||
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
|
||||
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
|
||||
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
|
||||
#LoadModule proxy_http_module modules/mod_proxy_http.so
|
||||
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
|
||||
LoadModule negotiation_module modules/mod_negotiation.so
|
||||
LoadModule rewrite_module modules/mod_rewrite.so
|
||||
LoadModule setenvif_module modules/mod_setenvif.so
|
||||
#LoadModule speling_module modules/mod_speling.so
|
||||
#LoadModule ssl_module modules/mod_ssl.so
|
||||
LoadModule status_module modules/mod_status.so
|
||||
#LoadModule unique_id_module modules/mod_unique_id.so
|
||||
LoadModule userdir_module modules/mod_userdir.so
|
||||
#LoadModule usertrack_module modules/mod_usertrack.so
|
||||
LoadModule vhost_alias_module modules/mod_vhost_alias.so
|
||||
#LoadModule ssl_module modules/mod_ssl.so
|
||||
LoadModule php5_module "WAMPROOT/bin/php/phpWAMPPHPVERSION/php5apache2_2.dll"
|
||||
LoadModule php5_module "WAMPROOT/bin/php/phpWAMPPHPVERSION/php5apache2_4.dll"
|
||||
|
||||
#
|
||||
# ExtendedStatus controls whether Apache will generate "full" status
|
||||
@@ -123,9 +127,9 @@ ExtendedStatus On
|
||||
|
||||
<Location /server-status>
|
||||
SetHandler server-status
|
||||
Order Deny,Allow
|
||||
Deny from all
|
||||
Allow from localhost, 127.0.0.1
|
||||
Require local
|
||||
#Require ip 1.2.3.4
|
||||
#Require host 1.2.3.4
|
||||
</Location>
|
||||
|
||||
|
||||
@@ -211,9 +215,7 @@ KeepAliveTimeout 30
|
||||
<Directory />
|
||||
Options FollowSymLinks
|
||||
AllowOverride None
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Satisfy all
|
||||
Require all denied
|
||||
</Directory>
|
||||
|
||||
#
|
||||
@@ -253,9 +255,13 @@ KeepAliveTimeout 30
|
||||
# Controls who can get stuff from this server.
|
||||
#
|
||||
# onlineoffline tag - don't remove
|
||||
Order Deny,Allow
|
||||
Deny from all
|
||||
Allow from 127.0.0.1
|
||||
|
||||
Require all granted
|
||||
|
||||
<RequireAny>
|
||||
Require ip 127.0.0.1
|
||||
Require host localhost
|
||||
</RequireAny>
|
||||
|
||||
</Directory>
|
||||
|
||||
@@ -272,8 +278,7 @@ KeepAliveTimeout 30
|
||||
# viewed by Web clients.
|
||||
#
|
||||
<FilesMatch "^\.ht">
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
|
||||
#
|
||||
@@ -359,8 +364,7 @@ LogLevel warn
|
||||
<Directory "cgi-bin">
|
||||
AllowOverride None
|
||||
Options None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
#
|
||||
@@ -410,7 +414,7 @@ LogLevel warn
|
||||
# keep browsers from trying to display binary files as though they are
|
||||
# text.
|
||||
#
|
||||
DefaultType text/plain
|
||||
#DefaultType text/plain
|
||||
|
||||
<IfModule mime_module>
|
||||
#
|
||||
|
||||
@@ -8,6 +8,8 @@ echo ---- Execute install_services.bat >> doliwamp.log 2>>&1
|
||||
REM NET STOP doliwampapache
|
||||
REM NET STOP doliwampmysqld
|
||||
|
||||
cd "WAMPROOT"
|
||||
|
||||
REM Apache x.x
|
||||
.\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -k install -n doliwampapache
|
||||
REM reg add HKLM\SYSTEM\CurrentControlSet\Services\doliwampapache /V Start /t REG_DWORD /d 3 /f
|
||||
@@ -19,3 +21,5 @@ REM Mysql 5.1+
|
||||
REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --install doliwampmysqld
|
||||
|
||||
echo ---- End script >> doliwamp.log 2>>&1
|
||||
|
||||
REM pause
|
||||
|
||||
@@ -77,10 +77,6 @@ log-error=WAMPROOT/logs/mysql.log
|
||||
#Path to the database root
|
||||
datadir=WAMPROOT/bin/mysql/data
|
||||
|
||||
# The default character set that will be used when a new schema or table is
|
||||
# created and no character set is defined
|
||||
default-character-set=latin1
|
||||
|
||||
# The default storage engine that will be used when create new tables when
|
||||
default-storage-engine=INNODB
|
||||
|
||||
@@ -101,13 +97,6 @@ max_connections=255
|
||||
# slowdown instead of a performance improvement.
|
||||
query_cache_size=8M
|
||||
|
||||
# The number of open tables for all threads. Increasing this value
|
||||
# increases the number of file descriptors that mysqld requires.
|
||||
# Therefore you have to make sure to set the amount of open files
|
||||
# allowed to at least 4096 in the variable "open-files-limit" in
|
||||
# section [mysqld_safe]
|
||||
table_cache=510
|
||||
|
||||
# Maximum size for internal (in-memory) temporary tables. If a table
|
||||
# grows larger than this value, it is automatically converted to disk
|
||||
# based table This limitation is for a single table. There can be many
|
||||
@@ -125,18 +114,6 @@ thread_cache_size=12
|
||||
|
||||
#*** MyISAM Specific options
|
||||
|
||||
# The maximum size of the temporary file MySQL is allowed to use while
|
||||
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
|
||||
# If the file-size would be bigger than this, the index will be created
|
||||
# through the key cache (which is slower).
|
||||
myisam_max_sort_file_size=100G
|
||||
|
||||
# If the temporary file used for fast index creation would be bigger
|
||||
# than using the key cache by the amount specified here, then prefer the
|
||||
# key cache method. This is mainly used to force long character keys in
|
||||
# large tables to use the slower key cache method to create the index.
|
||||
myisam_max_extra_sort_file_size=100G
|
||||
|
||||
# If the temporary file used for fast index creation would be bigger
|
||||
# than using the key cache by the amount specified here, then prefer the
|
||||
# key cache method. This is mainly used to force long character keys in
|
||||
@@ -170,13 +147,6 @@ sort_buffer_size=203K
|
||||
# and speed up some things.
|
||||
#skip-innodb
|
||||
|
||||
# Additional memory pool that is used by InnoDB to store metadata
|
||||
# information. If InnoDB requires more memory for this purpose it will
|
||||
# start to allocate it from the OS. As this is fast enough on most
|
||||
# recent operating systems, you normally do not need to change this
|
||||
# value. SHOW INNODB STATUS will display the current amount used.
|
||||
innodb_additional_mem_pool_size=2M
|
||||
|
||||
# If set to 1, InnoDB will flush (fsync) the transaction logs to the
|
||||
# disk at each commit, which offers full ACID behavior. If you are
|
||||
# willing to compromise this safety, and you are running small
|
||||
@@ -226,7 +196,7 @@ port=WAMPMYSQLPORT
|
||||
|
||||
|
||||
#Path to installation directory. All paths are usually resolved relative to this.
|
||||
basedir=WAMPROOT/bin/mysql/mysql5.6.17
|
||||
basedir=WAMPROOT/bin/mysql/mysqlWAMPMYSQLVERSION
|
||||
|
||||
#log file
|
||||
log-error=WAMPROOT/logs/mysql.log
|
||||
@@ -234,10 +204,6 @@ log-error=WAMPROOT/logs/mysql.log
|
||||
#Path to the database root
|
||||
datadir=WAMPROOT/bin/mysql/data
|
||||
|
||||
# The default character set that will be used when a new schema or table is
|
||||
# created and no character set is defined
|
||||
default-character-set=latin1
|
||||
|
||||
# The default storage engine that will be used when create new tables when
|
||||
default-storage-engine=INNODB
|
||||
|
||||
@@ -258,13 +224,6 @@ max_connections=255
|
||||
# slowdown instead of a performance improvement.
|
||||
query_cache_size=8M
|
||||
|
||||
# The number of open tables for all threads. Increasing this value
|
||||
# increases the number of file descriptors that mysqld requires.
|
||||
# Therefore you have to make sure to set the amount of open files
|
||||
# allowed to at least 4096 in the variable "open-files-limit" in
|
||||
# section [mysqld_safe]
|
||||
table_cache=510
|
||||
|
||||
# Maximum size for internal (in-memory) temporary tables. If a table
|
||||
# grows larger than this value, it is automatically converted to disk
|
||||
# based table This limitation is for a single table. There can be many
|
||||
@@ -282,18 +241,6 @@ thread_cache_size=12
|
||||
|
||||
#*** MyISAM Specific options
|
||||
|
||||
# The maximum size of the temporary file MySQL is allowed to use while
|
||||
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
|
||||
# If the file-size would be bigger than this, the index will be created
|
||||
# through the key cache (which is slower).
|
||||
myisam_max_sort_file_size=100G
|
||||
|
||||
# If the temporary file used for fast index creation would be bigger
|
||||
# than using the key cache by the amount specified here, then prefer the
|
||||
# key cache method. This is mainly used to force long character keys in
|
||||
# large tables to use the slower key cache method to create the index.
|
||||
myisam_max_extra_sort_file_size=100G
|
||||
|
||||
# If the temporary file used for fast index creation would be bigger
|
||||
# than using the key cache by the amount specified here, then prefer the
|
||||
# key cache method. This is mainly used to force long character keys in
|
||||
@@ -327,13 +274,6 @@ sort_buffer_size=203K
|
||||
# and speed up some things.
|
||||
#skip-innodb
|
||||
|
||||
# Additional memory pool that is used by InnoDB to store metadata
|
||||
# information. If InnoDB requires more memory for this purpose it will
|
||||
# start to allocate it from the OS. As this is fast enough on most
|
||||
# recent operating systems, you normally do not need to change this
|
||||
# value. SHOW INNODB STATUS will display the current amount used.
|
||||
innodb_additional_mem_pool_size=2M
|
||||
|
||||
# If set to 1, InnoDB will flush (fsync) the transaction logs to the
|
||||
# disk at each commit, which offers full ACID behavior. If you are
|
||||
# willing to compromise this safety, and you are running small
|
||||
|
||||
@@ -1,22 +1,29 @@
|
||||
Alias /phpmyadmin "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/"
|
||||
|
||||
# to give access to phpmyadmin from outside
|
||||
# replace the lines
|
||||
# NOTE FOR APACHE 2.2:
|
||||
# To grant access to dolibarr from outside set lines
|
||||
#
|
||||
# Order Deny,Allow
|
||||
# Order Allow,Deny
|
||||
# Allow from all
|
||||
#
|
||||
# instead of
|
||||
#
|
||||
# Order Deny,Allow
|
||||
# Deny from all
|
||||
# Allow from 127.0.0.1
|
||||
#
|
||||
# by
|
||||
# NOTE FOR APACHE 2.3:
|
||||
# To grant access to dolibarr from outside set lines
|
||||
#
|
||||
# Order Allow,Deny
|
||||
# Allow from all
|
||||
# Require all granted
|
||||
#
|
||||
# instead of
|
||||
#
|
||||
# Require local
|
||||
#
|
||||
|
||||
<Directory "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/">
|
||||
Options Indexes FollowSymLinks MultiViews
|
||||
AllowOverride all
|
||||
Order Deny,Allow
|
||||
Deny from all
|
||||
Allow from 127.0.0.1
|
||||
Require local
|
||||
</Directory>
|
||||
@@ -10,9 +10,11 @@ NET START doliwampapache >> doliwamp.log 2>>&1
|
||||
echo NET START doliwampmysqld >> doliwamp.log 2>>&1
|
||||
NET START doliwampmysqld >> doliwamp.log 2>>&1
|
||||
|
||||
REM You can also check logs into c:/dolibarr/logs if start fails
|
||||
|
||||
echo Please wait...
|
||||
echo ---- End script >> doliwamp.log 2>>&1
|
||||
|
||||
REM sleep is not a Windows commande
|
||||
REM sleep 1
|
||||
ping 1.1.1.1 -n 1 -w 1000 > nul
|
||||
REM sleep 2
|
||||
ping 127.0.0.1 -n 2 -w 1000 > nul
|
||||
|
||||
@@ -13,5 +13,6 @@ echo
|
||||
|
||||
echo Running Mysql as user process (this process does not return so we use "start")
|
||||
start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console
|
||||
REM start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console
|
||||
|
||||
pause
|
||||
@@ -15,4 +15,6 @@ echo ---- End script >> doliwamp.log 2>>&1
|
||||
|
||||
REM sleep is not a Windows command
|
||||
REM sleep 1
|
||||
ping 1.1.1.1 -n 1 -w 1000 > nul
|
||||
ping 1.1.1.1 -n 1 -w 1000 > nul
|
||||
|
||||
REM pause
|
||||
|
||||
@@ -3,10 +3,19 @@ REM --------------------------------------------------------
|
||||
REM This script install Apache and Mysql DoliWamp services
|
||||
REM --------------------------------------------------------
|
||||
|
||||
cd "WAMPROOT"
|
||||
|
||||
echo ---- Execute uninstall_services.bat >> doliwamp.log 2>>&1
|
||||
NET STOP doliwampapache
|
||||
.\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -k uninstall -n doliwampapache
|
||||
|
||||
NET STOP doliwampmysqld
|
||||
REM Mysql 5.0-
|
||||
.\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --remove doliwampmysqld
|
||||
REM Mysql 5.1+
|
||||
REM .\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld.exe --remove doliwampmysqld
|
||||
|
||||
REM wampmanager.exe -quit -id={doliwampserver}
|
||||
echo ---- End script >> doliwamp.log 2>>&1
|
||||
|
||||
REM pause
|
||||
|
||||
@@ -173,6 +173,7 @@ $build =~ s/-.*$//g;
|
||||
# now build is 0+nmu1 for example
|
||||
$FILENAMEDEBNATIVE="${PROJECT}_${MAJOR}.${MINOR}.${build}";
|
||||
$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${newbuild}";
|
||||
$FILENAMEDEBSHORT="${PROJECT}_${MAJOR}.${MINOR}.${build}";
|
||||
|
||||
|
||||
my $copyalreadydone=0;
|
||||
@@ -389,10 +390,15 @@ if ($nboftargetok) {
|
||||
{
|
||||
print 'Run git tag -a -f -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n";
|
||||
$ret=`git tag -a -f -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD"`;
|
||||
print 'Run git push -f --tags'."\n";
|
||||
$ret=`git push -f --tags`;
|
||||
}
|
||||
}
|
||||
print 'Run git push --tags'."\n";
|
||||
$ret=`git push --tags`;
|
||||
else
|
||||
{
|
||||
print 'Run git push --tags'."\n";
|
||||
$ret=`git push --tags`;
|
||||
}
|
||||
chdir("$olddir");
|
||||
}
|
||||
|
||||
@@ -597,7 +603,7 @@ if ($nboftargetok) {
|
||||
if ($target eq 'TGZ')
|
||||
{
|
||||
$NEWDESTI=$DESTI;
|
||||
if ($NEWPUBLISH =~ /stable/)
|
||||
if ($NEWDESTI =~ /stable/)
|
||||
{
|
||||
mkdir($DESTI.'/standard');
|
||||
if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; }
|
||||
@@ -629,7 +635,7 @@ if ($nboftargetok) {
|
||||
if ($target eq 'XZ')
|
||||
{
|
||||
$NEWDESTI=$DESTI;
|
||||
if ($NEWPUBLISH =~ /stable/)
|
||||
if ($NEWDESTI =~ /stable/)
|
||||
{
|
||||
mkdir($DESTI.'/standard');
|
||||
if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; }
|
||||
@@ -666,7 +672,7 @@ if ($nboftargetok) {
|
||||
if ($target eq 'ZIP')
|
||||
{
|
||||
$NEWDESTI=$DESTI;
|
||||
if ($NEWPUBLISH =~ /stable/)
|
||||
if ($NEWDESTI =~ /stable/)
|
||||
{
|
||||
mkdir($DESTI.'/standard');
|
||||
if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; }
|
||||
@@ -707,7 +713,7 @@ if ($nboftargetok) {
|
||||
if ($target =~ /FEDO/i) { $subdir="package_rpm_redhat-fedora"; }
|
||||
if ($target =~ /MAND/i) { $subdir="package_rpm_mandriva"; }
|
||||
if ($target =~ /OPEN/i) { $subdir="package_rpm_opensuse"; }
|
||||
if ($NEWPUBLISH =~ /stable/)
|
||||
if ($NEWDESTI =~ /stable/)
|
||||
{
|
||||
mkdir($DESTI.'/'.$subdir);
|
||||
if (-d $DESTI.'/'.$subdir) { $NEWDESTI=$DESTI.'/'.$subdir; }
|
||||
@@ -793,7 +799,7 @@ if ($nboftargetok) {
|
||||
if ($target eq 'DEB')
|
||||
{
|
||||
$NEWDESTI=$DESTI;
|
||||
if ($NEWPUBLISH =~ /stable/)
|
||||
if ($NEWDESTI =~ /stable/)
|
||||
{
|
||||
mkdir($DESTI.'/package_debian-ubuntu');
|
||||
if (-d $DESTI.'/package_debian-ubuntu') { $NEWDESTI=$DESTI.'/package_debian-ubuntu'; }
|
||||
@@ -824,7 +830,7 @@ if ($nboftargetok) {
|
||||
$ret=`$cmd`;
|
||||
|
||||
print "Remove other files\n";
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/README-FR`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/README-FR.md`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README-FR`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/aps`;
|
||||
@@ -996,7 +1002,7 @@ if ($nboftargetok) {
|
||||
if ($target eq 'APS')
|
||||
{
|
||||
$NEWDESTI=$DESTI;
|
||||
if ($NEWPUBLISH =~ /stable/)
|
||||
if ($NEWDESTI =~ /stable/)
|
||||
{
|
||||
mkdir($DESTI.'/package_aps');
|
||||
if (-d $DESTI.'/package_aps') { $NEWDESTI=$DESTI.'/package_aps'; }
|
||||
@@ -1082,7 +1088,7 @@ if ($nboftargetok) {
|
||||
if ($target eq 'EXEDOLIWAMP')
|
||||
{
|
||||
$NEWDESTI=$DESTI;
|
||||
if ($NEWPUBLISH =~ /stable/)
|
||||
if ($NEWDESTI =~ /stable/)
|
||||
{
|
||||
mkdir($DESTI.'/package_windows');
|
||||
if (-d $DESTI.'/package_windows') { $NEWDESTI=$DESTI.'/package_windows'; }
|
||||
@@ -1111,6 +1117,7 @@ if ($nboftargetok) {
|
||||
print "Move $SOURCE/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n";
|
||||
$ret=`mv "$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`;
|
||||
|
||||
print "Remove tmp file $SOURCE/build/exe/doliwamp/doliwamp.tmp.iss\n";
|
||||
$ret=`rm "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`;
|
||||
|
||||
next;
|
||||
@@ -1127,6 +1134,7 @@ if ($nboftargetok) {
|
||||
%filestoscansf=(
|
||||
"$DESTI/package_rpm_generic/$FILENAMERPM"=>'Dolibarr installer for Fedora-Redhat-Mandriva-Opensuse (DoliRpm)',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'Dolibarr installer for Debian-Ubuntu (DoliDeb)',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'none',
|
||||
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'Dolibarr installer for Windows (DoliWamp)',
|
||||
"$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM',
|
||||
"$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM'
|
||||
@@ -1134,6 +1142,7 @@ if ($nboftargetok) {
|
||||
%filestoscanstableasso=(
|
||||
"$DESTI/package_rpm_generic/$FILENAMERPM"=>'package_rpm_generic',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'package_debian-ubuntu',
|
||||
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'package_debian-ubuntu',
|
||||
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'package_windows',
|
||||
"$DESTI/standard/$FILENAMETGZ.tgz"=>'standard',
|
||||
"$DESTI/standard/$FILENAMETGZ.zip"=>'standard'
|
||||
@@ -1195,7 +1204,7 @@ if ($nboftargetok) {
|
||||
|
||||
print "\n";
|
||||
|
||||
if ($target eq 'SF') {
|
||||
if ($target eq 'SF' && $filestoscan{$file} ne 'none') {
|
||||
$destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD;
|
||||
}
|
||||
elsif ($target eq 'ASSO' and $NEWPUBLISH =~ /stable/) {
|
||||
|
||||
@@ -1,195 +1,195 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<PADGEN_PML>
|
||||
<AppVerInfo>PADGen 3.1.1.47</AppVerInfo>
|
||||
<CompanyName />
|
||||
<Program_Info>
|
||||
<Program_Name>DoliWamp</Program_Name>
|
||||
<Program_Version>3.5.0</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>Install and Uninstall</Program_Install_Support>
|
||||
<Program_OS_Support>Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Dutch,Finnish,French,German,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>http://www.dolibarr.org</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>26048004</File_Size_Bytes>
|
||||
<File_Size_K>25437</File_Size_K>
|
||||
<File_Size_MB>24.84</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM for Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, the easy to use Dolibarr for Windows to manage your company,foundation</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp is the Dolibarr ERP/CRM for Windows, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs.</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp is the Dolibarr ERP/CRM autoinstaller for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. Dolibarr ERP/CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations.</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop.
|
||||
|
||||
DoliWamp is the auto-installer for Windows users with no technical knowledge to install Dolibarr ERP/CRM and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file.</Char_Desc_2000>
|
||||
</English>
|
||||
<French>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations, entreprises, PME, TPE</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM pour Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, la distribution de Dolibarr pour gérer votre entreprise ou association</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_2000>
|
||||
</French>
|
||||
<Italian>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM per Windows</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.nltechno.com/pages/dolibarrwinbin.php</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.nltechno.com/pages/dolibarrwinbin.php</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_doliwamp.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<Affiliates_Yaskifo_Maximum_Commission_Rate />
|
||||
</Affiliates>
|
||||
<ASP>
|
||||
<ASP_FORM>Y</ASP_FORM>
|
||||
<ASP_Member>N</ASP_Member>
|
||||
<ASP_Member_Number />
|
||||
</ASP>
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<PADGEN_PML>
|
||||
<AppVerInfo>PADGen 3.1.1.47</AppVerInfo>
|
||||
<CompanyName />
|
||||
<Program_Info>
|
||||
<Program_Name>DoliWamp</Program_Name>
|
||||
<Program_Version>3.5.0</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>Install and Uninstall</Program_Install_Support>
|
||||
<Program_OS_Support>Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Dutch,Finnish,French,German,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>http://www.dolibarr.org</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>26048004</File_Size_Bytes>
|
||||
<File_Size_K>25437</File_Size_K>
|
||||
<File_Size_MB>24.84</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM for Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, the easy to use Dolibarr for Windows to manage your company,foundation</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp is the Dolibarr ERP/CRM for Windows, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs.</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp is the Dolibarr ERP/CRM autoinstaller for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. Dolibarr ERP/CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations.</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop.
|
||||
DoliWamp is the auto-installer for Windows users with no technical knowledge to install Dolibarr ERP/CRM and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file.</Char_Desc_2000>
|
||||
</English>
|
||||
<French>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations, entreprises, PME, TPE</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM pour Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, la distribution de Dolibarr pour gérer votre entreprise ou association</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_2000>
|
||||
</French>
|
||||
<Italian>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM per Windows</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.nltechno.com/pages/dolibarrwinbin.php</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.nltechno.com/pages/dolibarrwinbin.php</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_doliwamp.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<Affiliates_Yaskifo_Maximum_Commission_Rate />
|
||||
</Affiliates>
|
||||
<ASP>
|
||||
<ASP_FORM>Y</ASP_FORM>
|
||||
<ASP_Member>N</ASP_Member>
|
||||
<ASP_Member_Number />
|
||||
</ASP>
|
||||
</PADGEN_PML>
|
||||
|
||||
@@ -1,202 +1,202 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<PADGEN_PML>
|
||||
<AppVerInfo>PADGen 3.1.1.47</AppVerInfo>
|
||||
<CompanyName />
|
||||
<Program_Info>
|
||||
<Program_Name>Dolibarr</Program_Name>
|
||||
<Program_Version>3.5.0</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>No Install Support</Program_Install_Support>
|
||||
<Program_OS_Support>Linux,Mac OS X,Mac Other,Unix,Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Danish,Dutch,Finnish,French,German,Greek,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>http://www.dolibarr.org</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>9359175</File_Size_Bytes>
|
||||
<File_Size_K>9139</File_Size_K>
|
||||
<File_Size_MB>8.93</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, the easy to use open source software to manage your activity</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs to follow.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or medium companies, freelancers or foundations. We can say Dolibarr is an ERP or CRM. Dolibarr is also available with an auto-installer for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. See DoliWamp software for this.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. We can say Dolibarr is an ERP or CRM (or both depending on activated modules). It's an OpenSource project base on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems). Dolibarr differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple:
|
||||
|
||||
Simple to install
|
||||
|
||||
Simple to use
|
||||
|
||||
Simple to develop
|
||||
|
||||
Note that Dolibarr is also available with an auto-installer for Windows or Ubuntu users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. This version is called DoliWamp (for Windows) or DoliBuntu (for Ubuntu/Debian).</Char_Desc_2000>
|
||||
</English>
|
||||
<Italian>
|
||||
<Keywords>erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>Gestionale open source e gratuito</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
<French>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, le gestionnaire simple pour gérer votre activité</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP/CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP).</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP/CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP). Dolibarr vient compléter les offres déjà nombreuses de logiciels de cette catégorie (comme OpenBravo, OpenERP, SugarCRM, Neogia, Compiere, etc.) mais se démarque par le fait qu'ici tout est fait pour offrir de la simplicité (règle des 3 S):
|
||||
|
||||
Simple pour l'installation (avec au choix des installeurs clé en main pour ceux qui ignorent comment installer un serveur Web, ou une installation manuelle)
|
||||
|
||||
Simple pour l'utilisation (fonctions modulaires pour ne pas surcharger les menus, informations claires à la saisie)
|
||||
|
||||
Simple pour le développement (pas de frameworks lourds).
|
||||
|
||||
Dolibarr intègre en effet sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que le PHP. </Char_Desc_2000>
|
||||
</French>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.dolibarr.org</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.dolibarr.org</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_dolibarr.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<PADGEN_PML>
|
||||
<AppVerInfo>PADGen 3.1.1.47</AppVerInfo>
|
||||
<CompanyName />
|
||||
<Program_Info>
|
||||
<Program_Name>Dolibarr</Program_Name>
|
||||
<Program_Version>3.5.0</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>No Install Support</Program_Install_Support>
|
||||
<Program_OS_Support>Linux,Mac OS X,Mac Other,Unix,Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Danish,Dutch,Finnish,French,German,Greek,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>http://www.dolibarr.org</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>9359175</File_Size_Bytes>
|
||||
<File_Size_K>9139</File_Size_K>
|
||||
<File_Size_MB>8.93</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, the easy to use open source software to manage your activity</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs to follow.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or medium companies, freelancers or foundations. We can say Dolibarr is an ERP or CRM. Dolibarr is also available with an auto-installer for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. See DoliWamp software for this.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. We can say Dolibarr is an ERP or CRM (or both depending on activated modules). It's an OpenSource project base on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems). Dolibarr differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple:
|
||||
Simple to install
|
||||
Simple to use
|
||||
Simple to develop
|
||||
Note that Dolibarr is also available with an auto-installer for Windows or Ubuntu users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. This version is called DoliWamp (for Windows) or DoliBuntu (for Ubuntu/Debian).</Char_Desc_2000>
|
||||
</English>
|
||||
<Italian>
|
||||
<Keywords>erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>Gestionale open source e gratuito</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
<French>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, le gestionnaire simple pour gérer votre activité</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP/CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP).</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP/CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP). Dolibarr vient compléter les offres déjà nombreuses de logiciels de cette catégorie (comme OpenBravo, OpenERP, SugarCRM, Neogia, Compiere, etc.) mais se démarque par le fait qu'ici tout est fait pour offrir de la simplicité (règle des 3 S):
|
||||
Simple pour l'installation (avec au choix des installeurs clé en main pour ceux qui ignorent comment installer un serveur Web, ou une installation manuelle)
|
||||
Simple pour l'utilisation (fonctions modulaires pour ne pas surcharger les menus, informations claires à la saisie)
|
||||
Simple pour le développement (pas de frameworks lourds).
|
||||
Dolibarr intègre en effet sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que le PHP. </Char_Desc_2000>
|
||||
</French>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.dolibarr.org</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.dolibarr.org</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_dolibarr.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<Affiliates_Yaskifo_Maximum_Commission_Rate />
|
||||
</Affiliates>
|
||||
<ASP>
|
||||
<ASP_FORM>Y</ASP_FORM>
|
||||
<ASP_Member>N</ASP_Member>
|
||||
<ASP_Member_Number />
|
||||
</ASP>
|
||||
</PADGEN_PML>
|
||||
|
||||
@@ -1,232 +1,232 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XML_DIZ_INFO>
|
||||
<MASTER_PAD_VERSION_INFO>
|
||||
<MASTER_PAD_VERSION>3.11</MASTER_PAD_VERSION>
|
||||
<MASTER_PAD_EDITOR>PADGen 3.1.1.47 http://www.padgen.org</MASTER_PAD_EDITOR>
|
||||
<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://pad.asp-software.org</MASTER_PAD_INFO>
|
||||
</MASTER_PAD_VERSION_INFO>
|
||||
<Company_Info>
|
||||
<Company_Name>Dolibarr team</Company_Name>
|
||||
<Address_1>11 rue raymond Queneau</Address_1>
|
||||
<Address_2 />
|
||||
<City_Town>Rueil Malmaison</City_Town>
|
||||
<State_Province />
|
||||
<Zip_Postal_Code>92500</Zip_Postal_Code>
|
||||
<Country>FRANCE</Country>
|
||||
<Company_WebSite_URL>http://www.dolibarr.org</Company_WebSite_URL>
|
||||
<Contact_Info>
|
||||
<Author_First_Name>Dolibarr team</Author_First_Name>
|
||||
<Author_Last_Name>Dolibarr team</Author_Last_Name>
|
||||
<Author_Email>dolibarr-dev@nongnu.org</Author_Email>
|
||||
<Contact_First_Name>Dolibarr team</Contact_First_Name>
|
||||
<Contact_Last_Name>Dolibarr team</Contact_Last_Name>
|
||||
<Contact_Email>dolibarr-dev@nongnu.org</Contact_Email>
|
||||
</Contact_Info>
|
||||
<Support_Info>
|
||||
<Sales_Email>dolibarr-dev@nongnu.org</Sales_Email>
|
||||
<Support_Email>dolibarr-dev@nongnu.org</Support_Email>
|
||||
<General_Email>dolibarr-dev@nongnu.org</General_Email>
|
||||
<Sales_Phone />
|
||||
<Support_Phone />
|
||||
<General_Phone />
|
||||
<Fax_Phone />
|
||||
</Support_Info>
|
||||
</Company_Info>
|
||||
<Program_Info>
|
||||
<Program_Name>Dolibarr</Program_Name>
|
||||
<Program_Version>3.5</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>No Install Support</Program_Install_Support>
|
||||
<Program_OS_Support>Linux,Mac OS X,Mac Other,Unix,Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Danish,Dutch,Finnish,French,German,Greek,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>Increase performances, Setup process is easier, Reduce number of clicks required to use software</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>18037439</File_Size_Bytes>
|
||||
<File_Size_K>18037</File_Size_K>
|
||||
<File_Size_MB>18.03</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, the easy to use open source software to manage your activity</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs to manage.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or medium companies, freelancers or foundations. We can say Dolibarr is an ERP or CRM. Dolibarr is also available with an auto-installer for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. See DoliWamp software for this.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. We can say Dolibarr is an ERP or CRM (or both depending on activated modules). It's an OpenSource project base on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems). Dolibarr differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple:
|
||||
|
||||
Simple to install
|
||||
|
||||
Simple to use
|
||||
|
||||
Simple to develop
|
||||
|
||||
Note that Dolibarr is also available with an auto-installer for Windows or Ubuntu users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. This version is called DoliWamp (for Windows) or DoliBuntu (for Ubuntu/Debian).</Char_Desc_2000>
|
||||
</English>
|
||||
<French>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, le gestionnaire simple pour gérer votre activité</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP & CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP).</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP & CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP). Dolibarr vient compléter les offres déjà nombreuses de logiciels de cette catégorie (comme OpenBravo, OpenERP, SugarCRM, Neogia, Compiere, etc.) mais se démarque par le fait qu'ici tout est fait pour offrir de la simplicité (règle des 3 S):
|
||||
|
||||
Simple pour l'installation (avec au choix des installeurs clé en main pour ceux qui ignorent comment installer un serveur Web, ou une installation manuelle)
|
||||
|
||||
Simple pour l'utilisation (fonctions modulaires pour ne pas surcharger les menus, informations claires à la saisie)
|
||||
|
||||
Simple pour le développement (pas de frameworks lourds).
|
||||
|
||||
Dolibarr intègre en effet sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que le PHP. </Char_Desc_2000>
|
||||
</French>
|
||||
<Italian>
|
||||
<Keywords>erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>Gestionale open source e gratuito</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.dolibarr.org</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.dolibarr.org</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_dolibarr.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XML_DIZ_INFO>
|
||||
<MASTER_PAD_VERSION_INFO>
|
||||
<MASTER_PAD_VERSION>3.11</MASTER_PAD_VERSION>
|
||||
<MASTER_PAD_EDITOR>PADGen 3.1.1.47 http://www.padgen.org</MASTER_PAD_EDITOR>
|
||||
<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://pad.asp-software.org</MASTER_PAD_INFO>
|
||||
</MASTER_PAD_VERSION_INFO>
|
||||
<Company_Info>
|
||||
<Company_Name>Dolibarr team</Company_Name>
|
||||
<Address_1>11 rue raymond Queneau</Address_1>
|
||||
<Address_2 />
|
||||
<City_Town>Rueil Malmaison</City_Town>
|
||||
<State_Province />
|
||||
<Zip_Postal_Code>92500</Zip_Postal_Code>
|
||||
<Country>FRANCE</Country>
|
||||
<Company_WebSite_URL>http://www.dolibarr.org</Company_WebSite_URL>
|
||||
<Contact_Info>
|
||||
<Author_First_Name>Dolibarr team</Author_First_Name>
|
||||
<Author_Last_Name>Dolibarr team</Author_Last_Name>
|
||||
<Author_Email>dolibarr-dev@nongnu.org</Author_Email>
|
||||
<Contact_First_Name>Dolibarr team</Contact_First_Name>
|
||||
<Contact_Last_Name>Dolibarr team</Contact_Last_Name>
|
||||
<Contact_Email>dolibarr-dev@nongnu.org</Contact_Email>
|
||||
</Contact_Info>
|
||||
<Support_Info>
|
||||
<Sales_Email>dolibarr-dev@nongnu.org</Sales_Email>
|
||||
<Support_Email>dolibarr-dev@nongnu.org</Support_Email>
|
||||
<General_Email>dolibarr-dev@nongnu.org</General_Email>
|
||||
<Sales_Phone />
|
||||
<Support_Phone />
|
||||
<General_Phone />
|
||||
<Fax_Phone />
|
||||
</Support_Info>
|
||||
</Company_Info>
|
||||
<Program_Info>
|
||||
<Program_Name>Dolibarr</Program_Name>
|
||||
<Program_Version>3.5</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>No Install Support</Program_Install_Support>
|
||||
<Program_OS_Support>Linux,Mac OS X,Mac Other,Unix,Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Danish,Dutch,Finnish,French,German,Greek,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>Increase performances, Setup process is easier, Reduce number of clicks required to use software</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>18037439</File_Size_Bytes>
|
||||
<File_Size_K>18037</File_Size_K>
|
||||
<File_Size_MB>18.03</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, the easy to use open source software to manage your activity</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs to manage.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or medium companies, freelancers or foundations. We can say Dolibarr is an ERP or CRM. Dolibarr is also available with an auto-installer for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. See DoliWamp software for this.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations. We can say Dolibarr is an ERP or CRM (or both depending on activated modules). It's an OpenSource project base on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems). Dolibarr differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple:
|
||||
Simple to install
|
||||
Simple to use
|
||||
Simple to develop
|
||||
Note that Dolibarr is also available with an auto-installer for Windows or Ubuntu users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. This version is called DoliWamp (for Windows) or DoliBuntu (for Ubuntu/Debian).</Char_Desc_2000>
|
||||
</English>
|
||||
<French>
|
||||
<Keywords>dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management, sme, doliwamp</Keywords>
|
||||
<Char_Desc_45>Dolibarr ERP & CRM</Char_Desc_45>
|
||||
<Char_Desc_80>Dolibarr ERP & CRM, le gestionnaire simple pour gérer votre activité</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr ERP & CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr ERP & CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP).</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr ERP & CRM est un logiciel modulaire (on n'active que les fonctions que l'on désire) de gestions de TPE/PME, d'indépendants, d'entrepreneurs ou d'associations. En terme plus techniques, c'est un ERP et CRM. C'est un projet OpenSource qui s'exécute au sein d'un serveur Web et peut donc être accessible depuis n'importe quel lieu disposant d'une connexion Internet (Projet basé sur un serveur WAMP, MAMP ou LAMP: Apache, MySQL, PHP). Dolibarr vient compléter les offres déjà nombreuses de logiciels de cette catégorie (comme OpenBravo, OpenERP, SugarCRM, Neogia, Compiere, etc.) mais se démarque par le fait qu'ici tout est fait pour offrir de la simplicité (règle des 3 S):
|
||||
Simple pour l'installation (avec au choix des installeurs clé en main pour ceux qui ignorent comment installer un serveur Web, ou une installation manuelle)
|
||||
Simple pour l'utilisation (fonctions modulaires pour ne pas surcharger les menus, informations claires à la saisie)
|
||||
Simple pour le développement (pas de frameworks lourds).
|
||||
Dolibarr intègre en effet sa propre architecture (design patterns) permettant à tout développeur d'être tout de suite opérationnel sans connaissances particulières autre que le PHP. </Char_Desc_2000>
|
||||
</French>
|
||||
<Italian>
|
||||
<Keywords>erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>Gestionale open source e gratuito</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.dolibarr.org</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.dolibarr.org</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_dolibarr.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/dolibarr.tgz</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<Affiliates_Yaskifo_Maximum_Commission_Rate />
|
||||
</Affiliates>
|
||||
<ASP>
|
||||
<ASP_FORM>Y</ASP_FORM>
|
||||
<ASP_Member>N</ASP_Member>
|
||||
<ASP_Member_Number />
|
||||
</ASP>
|
||||
</XML_DIZ_INFO>
|
||||
|
||||
@@ -1,225 +1,225 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XML_DIZ_INFO>
|
||||
<MASTER_PAD_VERSION_INFO>
|
||||
<MASTER_PAD_VERSION>3.11</MASTER_PAD_VERSION>
|
||||
<MASTER_PAD_EDITOR>PADGen 3.1.1.47 http://www.padgen.org</MASTER_PAD_EDITOR>
|
||||
<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://pad.asp-software.org</MASTER_PAD_INFO>
|
||||
</MASTER_PAD_VERSION_INFO>
|
||||
<Company_Info>
|
||||
<Company_Name>NLTechno</Company_Name>
|
||||
<Address_1>11 Rue raymond Queneau</Address_1>
|
||||
<Address_2 />
|
||||
<City_Town>Rueil Malmaison</City_Town>
|
||||
<State_Province />
|
||||
<Zip_Postal_Code>92500</Zip_Postal_Code>
|
||||
<Country>FRANCE</Country>
|
||||
<Company_WebSite_URL>http://www.nltechno.com</Company_WebSite_URL>
|
||||
<Contact_Info>
|
||||
<Author_First_Name>NLTechno</Author_First_Name>
|
||||
<Author_Last_Name>NLTechno</Author_Last_Name>
|
||||
<Author_Email>contact@nltechno.com</Author_Email>
|
||||
<Contact_First_Name>NLTechno</Contact_First_Name>
|
||||
<Contact_Last_Name>NLTechno</Contact_Last_Name>
|
||||
<Contact_Email>contact@nltechno.com</Contact_Email>
|
||||
</Contact_Info>
|
||||
<Support_Info>
|
||||
<Sales_Email>support@nltechno.com</Sales_Email>
|
||||
<Support_Email>support@nltechno.com</Support_Email>
|
||||
<General_Email>support@nltechno.com</General_Email>
|
||||
<Sales_Phone />
|
||||
<Support_Phone />
|
||||
<General_Phone />
|
||||
<Fax_Phone />
|
||||
</Support_Info>
|
||||
</Company_Info>
|
||||
<Program_Info>
|
||||
<Program_Name>DoliWamp</Program_Name>
|
||||
<Program_Version>3.5</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>Install and Uninstall</Program_Install_Support>
|
||||
<Program_OS_Support>Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Dutch,Finnish,French,German,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>Increase performances, Setup process is easier, Reduce number of clicks required to use software</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>26048004</File_Size_Bytes>
|
||||
<File_Size_K>25437</File_Size_K>
|
||||
<File_Size_MB>24.84</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM for Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, the easy to use Dolibarr for Windows to manage your company,foundation</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp is the Dolibarr ERP/CRM for Windows, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs.</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp is the Dolibarr ERP/CRM autoinstaller for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. Dolibarr ERP/CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations.</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop.
|
||||
|
||||
DoliWamp is the auto-installer for Windows users with no technical knowledge to install Dolibarr ERP/CRM and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file.</Char_Desc_2000>
|
||||
</English>
|
||||
<French>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations, entreprises, PME, TPE</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM pour Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, la distribution de Dolibarr pour gérer votre entreprise ou association</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_2000>
|
||||
</French>
|
||||
<Italian>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM per Windows</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.nltechno.com/doliwamp/</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.nltechno.com/doliwamp/</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_doliwamp.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<Affiliates_Yaskifo_Maximum_Commission_Rate />
|
||||
</Affiliates>
|
||||
<ASP>
|
||||
<ASP_FORM>Y</ASP_FORM>
|
||||
<ASP_Member>N</ASP_Member>
|
||||
<ASP_Member_Number />
|
||||
</ASP>
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XML_DIZ_INFO>
|
||||
<MASTER_PAD_VERSION_INFO>
|
||||
<MASTER_PAD_VERSION>3.11</MASTER_PAD_VERSION>
|
||||
<MASTER_PAD_EDITOR>PADGen 3.1.1.47 http://www.padgen.org</MASTER_PAD_EDITOR>
|
||||
<MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://pad.asp-software.org</MASTER_PAD_INFO>
|
||||
</MASTER_PAD_VERSION_INFO>
|
||||
<Company_Info>
|
||||
<Company_Name>NLTechno</Company_Name>
|
||||
<Address_1>11 Rue raymond Queneau</Address_1>
|
||||
<Address_2 />
|
||||
<City_Town>Rueil Malmaison</City_Town>
|
||||
<State_Province />
|
||||
<Zip_Postal_Code>92500</Zip_Postal_Code>
|
||||
<Country>FRANCE</Country>
|
||||
<Company_WebSite_URL>http://www.nltechno.com</Company_WebSite_URL>
|
||||
<Contact_Info>
|
||||
<Author_First_Name>NLTechno</Author_First_Name>
|
||||
<Author_Last_Name>NLTechno</Author_Last_Name>
|
||||
<Author_Email>contact@nltechno.com</Author_Email>
|
||||
<Contact_First_Name>NLTechno</Contact_First_Name>
|
||||
<Contact_Last_Name>NLTechno</Contact_Last_Name>
|
||||
<Contact_Email>contact@nltechno.com</Contact_Email>
|
||||
</Contact_Info>
|
||||
<Support_Info>
|
||||
<Sales_Email>support@nltechno.com</Sales_Email>
|
||||
<Support_Email>support@nltechno.com</Support_Email>
|
||||
<General_Email>support@nltechno.com</General_Email>
|
||||
<Sales_Phone />
|
||||
<Support_Phone />
|
||||
<General_Phone />
|
||||
<Fax_Phone />
|
||||
</Support_Info>
|
||||
</Company_Info>
|
||||
<Program_Info>
|
||||
<Program_Name>DoliWamp</Program_Name>
|
||||
<Program_Version>3.5</Program_Version>
|
||||
<Program_Release_Month>01</Program_Release_Month>
|
||||
<Program_Release_Day>01</Program_Release_Day>
|
||||
<Program_Release_Year>2014</Program_Release_Year>
|
||||
<Program_Cost_Dollars />
|
||||
<Program_Cost_Other_Code />
|
||||
<Program_Cost_Other />
|
||||
<Program_Type>Freeware</Program_Type>
|
||||
<Program_Release_Status>Major Update</Program_Release_Status>
|
||||
<Program_Install_Support>Install and Uninstall</Program_Install_Support>
|
||||
<Program_OS_Support>Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
|
||||
<Program_Language>English,Arabic,Catalan,Chinese,Dutch,Finnish,French,German,Icelandic,Italian,Norwegian,Polish,Portuguese,Romanian,Russian,Slovenian,Spanish,Swedish,Turkish</Program_Language>
|
||||
<Program_Change_Info>Increase performances, Setup process is easier, Reduce number of clicks required to use software</Program_Change_Info>
|
||||
<Program_Specific_Category>Business</Program_Specific_Category>
|
||||
<Program_Category_Class>Business::Accounting & Finance</Program_Category_Class>
|
||||
<Program_System_Requirements>None</Program_System_Requirements>
|
||||
<File_Info>
|
||||
<File_Size_Bytes>26048004</File_Size_Bytes>
|
||||
<File_Size_K>25437</File_Size_K>
|
||||
<File_Size_MB>24.84</File_Size_MB>
|
||||
</File_Info>
|
||||
<Expire_Info>
|
||||
<Has_Expire_Info>N</Has_Expire_Info>
|
||||
<Expire_Count />
|
||||
<Expire_Based_On>Days</Expire_Based_On>
|
||||
<Expire_Other_Info />
|
||||
<Expire_Month />
|
||||
<Expire_Day />
|
||||
<Expire_Year />
|
||||
</Expire_Info>
|
||||
</Program_Info>
|
||||
<Program_Descriptions>
|
||||
<English>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, invoices, commercial proposals, orders, accounting, stock, products, agenda, bank, business, company, foundation, management</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM for Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, the easy to use Dolibarr for Windows to manage your company,foundation</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp is the Dolibarr ERP/CRM for Windows, the easy to use open source software to manage your activity (invoices, customers, suppliers, contracts, agenda, emailings...) and any other things a small or mid-sized business or a foundation needs.</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp is the Dolibarr ERP/CRM autoinstaller for Windows users with no technical knowledge to install Dolibarr and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file. Dolibarr ERP/CRM is a software package built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations.</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp is the Dolibarr ERP/CRM for Windows. Dolibarr ERP & CRM is a software built by modules addition (you enable only features you need), to manage small or mid-sized businesses, freelancers or foundations (You can manage or follow contacts, invoices, orders, commercial proposals, products, stock management, agenda, mass emailings, members of a foundation, bank accounts...). Based on a WAMP, MAMP or LAMP server (Apache, Mysql, PHP for all Operating Systems), you can install it as a standalone program or use it from anywhere with any web browser. Dolibarr is an OpenSource project. It differs from other ERP or CRM softwares (like OpenAguila, OpenBravo, OpenERP, Neogia, Compiere, etc) because everything was made to be more simple: Simple to install, Simple to use, Simple to develop.
|
||||
DoliWamp is the auto-installer for Windows users with no technical knowledge to install Dolibarr ERP/CRM and all its prerequisites (Apache, Mysql, PHP) with just one auto-exe file.</Char_Desc_2000>
|
||||
</English>
|
||||
<French>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations, entreprises, PME, TPE</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM pour Windows</Char_Desc_45>
|
||||
<Char_Desc_80>DoliWamp, la distribution de Dolibarr pour gérer votre entreprise ou association</Char_Desc_80>
|
||||
<Char_Desc_250>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_250>
|
||||
<Char_Desc_450>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_450>
|
||||
<Char_Desc_2000>DoliWamp est la version spécialisée pour Windows de Dolibarr ERP-CRM, le logiciel simple et OpenSource pour gérer votre activité (factures, devis, facturation, commandes, compta, trésorerie, stocks, produits, agenda, comptes bancaires, associations)</Char_Desc_2000>
|
||||
</French>
|
||||
<Italian>
|
||||
<Keywords>doliwamp, dolibarr, erp, crm, gestionale, medie imprese, fondazioni</Keywords>
|
||||
<Char_Desc_45>DoliWamp, Dolibarr ERP/CRM per Windows</Char_Desc_45>
|
||||
<Char_Desc_80>Gestionale open source e gratuito per piccole e medie imprese, fondazioni</Char_Desc_80>
|
||||
<Char_Desc_250>Dolibarr è un a gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività.</Char_Desc_250>
|
||||
<Char_Desc_450>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_450>
|
||||
<Char_Desc_2000>Dolibarr è un programma gestionale open source e gratuito per piccole e medie imprese, fondazioni e liberi professionisti. Include varie funzionalità per Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare. Dolibar è completamente web-based, progettato per poter fornire solo ciò di cui hai bisogno ed essere facile da usare.</Char_Desc_2000>
|
||||
</Italian>
|
||||
</Program_Descriptions>
|
||||
<Web_Info>
|
||||
<Application_URLs>
|
||||
<Application_Info_URL>http://www.nltechno.com/doliwamp/</Application_Info_URL>
|
||||
<Application_Order_URL>http://www.nltechno.com/doliwamp/</Application_Order_URL>
|
||||
<Application_Screenshot_URL>http://www.dolibarr.org/images/dolibarr_screenshot1.png</Application_Screenshot_URL>
|
||||
<Application_Icon_URL>http://www.dolibarr.org/images/dolibarr.gif</Application_Icon_URL>
|
||||
<Application_XML_File_URL>http://www.dolibarr.org/files/pad_doliwamp.xml</Application_XML_File_URL>
|
||||
</Application_URLs>
|
||||
<Download_URLs>
|
||||
<Primary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Primary_Download_URL>
|
||||
<Secondary_Download_URL>http://www.dolibarr.org/files/doliwamp.exe</Secondary_Download_URL>
|
||||
<Additional_Download_URL_1 />
|
||||
<Additional_Download_URL_2 />
|
||||
</Download_URLs>
|
||||
</Web_Info>
|
||||
<Permissions>
|
||||
<Distribution_Permissions>GNU GPL</Distribution_Permissions>
|
||||
<EULA>GNU GPL</EULA>
|
||||
</Permissions>
|
||||
<Affiliates>
|
||||
<Affiliates_FORM>Y</Affiliates_FORM>
|
||||
<Affiliates_VERSION>1.4</Affiliates_VERSION>
|
||||
<Affiliates_URL>http://pad.asp-software.org/extensions/Affiliates.htm</Affiliates_URL>
|
||||
<Affiliates_Information_Page />
|
||||
<Affiliates_Avangate_Order_Page />
|
||||
<Affiliates_Avangate_Vendor_ID />
|
||||
<Affiliates_Avangate_Product_ID />
|
||||
<Affiliates_Avangate_Maximum_Commission_Rate />
|
||||
<Affiliates_BMTMicro_Order_Page />
|
||||
<Affiliates_BMTMicro_Vendor_ID />
|
||||
<Affiliates_BMTMicro_Product_ID />
|
||||
<Affiliates_BMTMicro_Maximum_Commission_Rate />
|
||||
<Affiliates_Cleverbridge_Order_Page />
|
||||
<Affiliates_Cleverbridge_Vendor_ID />
|
||||
<Affiliates_Cleverbridge_Product_ID />
|
||||
<Affiliates_Cleverbridge_Maximum_Commission_Rate />
|
||||
<Affiliates_clixGalore_Order_Page />
|
||||
<Affiliates_clixGalore_Vendor_ID />
|
||||
<Affiliates_clixGalore_Product_ID />
|
||||
<Affiliates_clixGalore_Maximum_Commission_Rate />
|
||||
<Affiliates_CommissionJunction_Order_Page />
|
||||
<Affiliates_CommissionJunction_Vendor_ID />
|
||||
<Affiliates_CommissionJunction_Product_ID />
|
||||
<Affiliates_CommissionJunction_Maximum_Commission_Rate />
|
||||
<Affiliates_DigiBuy_Order_Page />
|
||||
<Affiliates_DigiBuy_Vendor_ID />
|
||||
<Affiliates_DigiBuy_Product_ID />
|
||||
<Affiliates_DigiBuy_Maximum_Commission_Rate />
|
||||
<Affiliates_DigitalCandle_Order_Page />
|
||||
<Affiliates_DigitalCandle_Vendor_ID />
|
||||
<Affiliates_DigitalCandle_Product_ID />
|
||||
<Affiliates_DigitalCandle_Maximum_Commission_Rate />
|
||||
<Affiliates_Emetrix_Order_Page />
|
||||
<Affiliates_Emetrix_Vendor_ID />
|
||||
<Affiliates_Emetrix_Product_ID />
|
||||
<Affiliates_Emetrix_Maximum_Commission_Rate />
|
||||
<Affiliates_eSellerate_Order_Page />
|
||||
<Affiliates_eSellerate_Vendor_ID />
|
||||
<Affiliates_eSellerate_Product_ID />
|
||||
<Affiliates_eSellerate_Maximum_Commission_Rate />
|
||||
<Affiliates_Kagi_Order_Page />
|
||||
<Affiliates_Kagi_Vendor_ID />
|
||||
<Affiliates_Kagi_Product_ID />
|
||||
<Affiliates_Kagi_Maximum_Commission_Rate />
|
||||
<Affiliates_LinkShare_Order_Page />
|
||||
<Affiliates_LinkShare_Vendor_ID />
|
||||
<Affiliates_LinkShare_Product_ID />
|
||||
<Affiliates_LinkShare_Maximum_Commission_Rate />
|
||||
<Affiliates_NorthStarSol_Order_Page />
|
||||
<Affiliates_NorthStarSol_Vendor_ID />
|
||||
<Affiliates_NorthStarSol_Product_ID />
|
||||
<Affiliates_NorthStarSol_Maximum_Commission_Rate />
|
||||
<Affiliates_OneNetworkDirect_Order_Page />
|
||||
<Affiliates_OneNetworkDirect_Vendor_ID />
|
||||
<Affiliates_OneNetworkDirect_Product_ID />
|
||||
<Affiliates_OneNetworkDirect_Maximum_Commission_Rate />
|
||||
<Affiliates_Order1_Order_Page />
|
||||
<Affiliates_Order1_Vendor_ID />
|
||||
<Affiliates_Order1_Product_ID />
|
||||
<Affiliates_Order1_Maximum_Commission_Rate />
|
||||
<Affiliates_Osolis_Order_Page />
|
||||
<Affiliates_Osolis_Vendor_ID />
|
||||
<Affiliates_Osolis_Product_ID />
|
||||
<Affiliates_Osolis_Maximum_Commission_Rate />
|
||||
<Affiliates_Plimus_Order_Page />
|
||||
<Affiliates_Plimus_Vendor_ID />
|
||||
<Affiliates_Plimus_Product_ID />
|
||||
<Affiliates_Plimus_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnet_Order_Page />
|
||||
<Affiliates_Regnet_Vendor_ID />
|
||||
<Affiliates_Regnet_Product_ID />
|
||||
<Affiliates_Regnet_Maximum_Commission_Rate />
|
||||
<Affiliates_Regnow_Order_Page />
|
||||
<Affiliates_Regnow_Vendor_ID />
|
||||
<Affiliates_Regnow_Product_ID />
|
||||
<Affiliates_Regnow_Maximum_Commission_Rate />
|
||||
<Affiliates_Regsoft_Order_Page />
|
||||
<Affiliates_Regsoft_Vendor_ID />
|
||||
<Affiliates_Regsoft_Product_ID />
|
||||
<Affiliates_Regsoft_Maximum_Commission_Rate />
|
||||
<Affiliates_ShareIt_Order_Page />
|
||||
<Affiliates_ShareIt_Vendor_ID />
|
||||
<Affiliates_ShareIt_Product_ID />
|
||||
<Affiliates_ShareIt_Maximum_Commission_Rate />
|
||||
<Affiliates_Shareasale_Order_Page />
|
||||
<Affiliates_Shareasale_Vendor_ID />
|
||||
<Affiliates_Shareasale_Product_ID />
|
||||
<Affiliates_Shareasale_Maximum_Commission_Rate />
|
||||
<Affiliates_SWReg_Order_Page />
|
||||
<Affiliates_SWReg_Vendor_ID />
|
||||
<Affiliates_SWReg_Product_ID />
|
||||
<Affiliates_SWReg_Maximum_Commission_Rate />
|
||||
<Affiliates_V-Share_Order_Page />
|
||||
<Affiliates_V-Share_Vendor_ID />
|
||||
<Affiliates_V-Share_Product_ID />
|
||||
<Affiliates_V-Share_Maximum_Commission_Rate />
|
||||
<Affiliates_VFree_Order_Page />
|
||||
<Affiliates_VFree_Vendor_ID />
|
||||
<Affiliates_VFree_Product_ID />
|
||||
<Affiliates_VFree_Maximum_Commission_Rate />
|
||||
<Affiliates_Yaskifo_Order_Page />
|
||||
<Affiliates_Yaskifo_Vendor_ID />
|
||||
<Affiliates_Yaskifo_Product_ID />
|
||||
<Affiliates_Yaskifo_Maximum_Commission_Rate />
|
||||
</Affiliates>
|
||||
<ASP>
|
||||
<ASP_FORM>Y</ASP_FORM>
|
||||
<ASP_Member>N</ASP_Member>
|
||||
<ASP_Member_Number />
|
||||
</ASP>
|
||||
</XML_DIZ_INFO>
|
||||
|
||||
@@ -2,4 +2,4 @@ README
|
||||
------
|
||||
|
||||
Scripts in this directory can be used to load or purge data of a database instance.
|
||||
WARNING: This may erase data.
|
||||
WARNING: Some of this script may delete definitely data.
|
||||
|
||||
@@ -31,8 +31,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
|
||||
}
|
||||
|
||||
// Recupere root dolibarr
|
||||
$path=preg_replace('/generate-facture.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require ($path."../../htdocs/master.inc.php");
|
||||
//$path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require (__DIR__. '/../../htdocs/master.inc.php');
|
||||
require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/societe/class/societe.class.php");
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
|
||||
}
|
||||
|
||||
// Recupere root dolibarr
|
||||
$path=preg_replace('/generate-commande.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require ($path."../../htdocs/master.inc.php");
|
||||
//$path=preg_replace('/generate-commande.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require (__DIR__. '/../../htdocs/master.inc.php');
|
||||
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||
|
||||
@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
|
||||
}
|
||||
|
||||
// Recupere root dolibarr
|
||||
$path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require ($path."../../htdocs/master.inc.php");
|
||||
//$path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require (__DIR__. '/../../htdocs/master.inc.php');
|
||||
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||
|
||||
@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
|
||||
}
|
||||
|
||||
// Recupere root dolibarr
|
||||
$path=preg_replace('/generate-propale.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require ($path."../../htdocs/master.inc.php");
|
||||
//$path=preg_replace('/generate-propale.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require (__DIR__. '/../../htdocs/master.inc.php');
|
||||
require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/comm/propal/class/propal.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/commande/class/commande.class.php");
|
||||
|
||||
@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
|
||||
}
|
||||
|
||||
// Recupere root dolibarr
|
||||
$path=preg_replace('/generate-societe.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require ($path."../../htdocs/master.inc.php");
|
||||
//$path=preg_replace('/generate-societe.php/i','',$_SERVER["PHP_SELF"]);
|
||||
require (__DIR__. '/../../htdocs/master.inc.php');
|
||||
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||
|
||||
|
After Width: | Height: | Size: 33 KiB |
BIN
dev/initdemo/documents_demo/produit/DOLICLOUD/dolicloud_logo.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 17 KiB |
BIN
dev/initdemo/documents_demo/societe/contact/10/eldy_php.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
BIN
dev/initdemo/documents_demo/users/9/1/eldy_php.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_mini.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_small.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
@@ -15,7 +15,7 @@
|
||||
|
||||
|
||||
export mydir=`echo "$0" | sed -e 's/initdemo.sh//'`;
|
||||
if [ "x$mydir" = "x" ]
|
||||
if [ "x$mydir" = 'x' -o "x$mydir" = 'x./' ]
|
||||
then
|
||||
export mydir="."
|
||||
fi
|
||||
@@ -132,24 +132,7 @@ then
|
||||
exit;;
|
||||
esac
|
||||
|
||||
# ---------------------------- chemin d'acces du repertoire documents
|
||||
#DIALOG=${DIALOG=dialog}
|
||||
#fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
|
||||
#trap "rm -f $fichtemp" 0 1 2 5 15
|
||||
#$DIALOG --title "Init Dolibarr with demo values" --clear \
|
||||
# --inputbox "Full path to documents directory (ex: /var/www/dolibarr/documents)- no / at end :" 16 55 2> $fichtemp
|
||||
|
||||
#valret=$?
|
||||
|
||||
#case $valret in
|
||||
# 0)
|
||||
#docs=`cat $fichtemp`;;
|
||||
# 1)
|
||||
#exit;;
|
||||
# 255)
|
||||
#exit;;
|
||||
#esac
|
||||
|
||||
|
||||
# ---------------------------- confirmation
|
||||
DIALOG=${DIALOG=dialog}
|
||||
$DIALOG --title "Init Dolibarr with demo values" --clear \
|
||||
@@ -177,6 +160,25 @@ echo "mysql -P$port -u$admin -p***** $base < $mydir/$dumpfile"
|
||||
mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile
|
||||
export res=$?
|
||||
|
||||
|
||||
# ---------------------------- copy demo files
|
||||
export documentdir=`cat $mydir/../../htdocs/conf/conf.php | grep '^\$dolibarr_main_data_root' | sed -e 's/$dolibarr_main_data_root=//' | sed -e 's/;//' | sed -e "s/'//g" `
|
||||
if [ "x$documentdir" != "x" ]
|
||||
then
|
||||
echo cp -pr $mydir/documents_demo/* "$documentdir/"
|
||||
cp -pr $mydir/documents_demo/* "$documentdir/"
|
||||
echo cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/"
|
||||
cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/"
|
||||
mkdir -p "$documentdir/ecm/Administrative documents"
|
||||
mkdir -p "$documentdir/ecm/Images"
|
||||
echo cp -pr $mydir/../../doc/images/* "$documentdir/ecm/Images"
|
||||
cp -pr $mydir/../../doc/images/* "$documentdir/ecm/Images"
|
||||
else
|
||||
echo Detection of documents directory failed so demo files were not copied.
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ "x$res" = "x0" ]
|
||||
then
|
||||
echo "Success, file successfully loaded."
|
||||
|
||||
8576
dev/initdemo/mysqldump_dolibarr_4.0.0.sql
Normal file
@@ -187,7 +187,6 @@ export list="
|
||||
--ignore-table=$base.llx_bt_webseedfiles
|
||||
--ignore-table=$base.llx_c_civilite
|
||||
--ignore-table=$base.llx_c_dolicloud_plans
|
||||
--ignore-table=$base.llx_c_lead_status
|
||||
--ignore-table=$base.llx_c_source
|
||||
--ignore-table=$base.llx_cabinetmed_c_banques
|
||||
--ignore-table=$base.llx_cabinetmed_c_ccam
|
||||
|
||||
126
dev/initdemo/updatedemo.php
Executable file
@@ -0,0 +1,126 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/* Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* or see http://www.gnu.org/
|
||||
*
|
||||
* Get a distant dump file and load it into a mysql database
|
||||
*/
|
||||
|
||||
$sapi_type = php_sapi_name();
|
||||
$script_file = basename(__FILE__);
|
||||
$path=dirname(__FILE__).'/';
|
||||
|
||||
// Test if batch mode
|
||||
if (substr($sapi_type, 0, 3) == 'cgi') {
|
||||
echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
// Global variables
|
||||
$error=0;
|
||||
|
||||
$confirm=isset($argv[1])?$argv[1]:'';
|
||||
|
||||
// Include Dolibarr environment
|
||||
$res=0;
|
||||
if (! $res && file_exists($path."../../master.inc.php")) $res=@include($path."../../master.inc.php");
|
||||
if (! $res && file_exists($path."../../htdocs/master.inc.php")) $res=@include($path."../../htdocs/master.inc.php");
|
||||
if (! $res && file_exists("../master.inc.php")) $res=@include("../master.inc.php");
|
||||
if (! $res && file_exists("../../master.inc.php")) $res=@include("../../master.inc.php");
|
||||
if (! $res && file_exists("../../../master.inc.php")) $res=@include("../../../master.inc.php");
|
||||
if (! $res && preg_match('/\/nltechno([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include($path."../../../dolibarr".$reg[1]."/htdocs/master.inc.php"); // Used on dev env only
|
||||
if (! $res && preg_match('/\/nltechno([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include("../../../dolibarr".$reg[1]."/htdocs/master.inc.php"); // Used on dev env only
|
||||
if (! $res) die ("Failed to include master.inc.php file\n");
|
||||
include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
|
||||
|
||||
|
||||
/*
|
||||
* Main
|
||||
*/
|
||||
|
||||
if (empty($confirm))
|
||||
{
|
||||
print "Usage: $script_file confirm\n";
|
||||
print "Return code: 0 if success, <>0 if error\n";
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
|
||||
$tmp=dol_getdate(dol_now());
|
||||
|
||||
|
||||
$tables=array(
|
||||
'propal'=>array(0=>'datep', 1=>'fin_validite', 2=>'date_valid', 3=>'date_cloture'),
|
||||
'commande'=>array(0=>'date_commande', 1=>'date_valid', 2=>'date_cloture'),
|
||||
'facture'=>array(0=>'datef', 1=>'date_valid', 2=>'date_lim_reglement'),
|
||||
'paiement'=>array(0=>'datep'),
|
||||
'bank'=>array(0=>'datev', 1=>'dateo'),
|
||||
'commande_fournisseur'=>array(0=>'date_commande', 1=>'date_valid', 3=>'date_creation', 4=>'date_approve', 5=>'date_approve2', 6=>'date_livraison'),
|
||||
'supplier_proposal'=>array(0=>'datec', 1=>'date_valid', 2=>'date_cloture')
|
||||
);
|
||||
|
||||
$year=2010;
|
||||
$currentyear=$tmp['year'];
|
||||
while ($year <= $currentyear)
|
||||
{
|
||||
//$year=2021;
|
||||
$delta=($currentyear - $year);
|
||||
//$delta=-1;
|
||||
|
||||
if ($delta)
|
||||
{
|
||||
foreach($tables as $tablekey => $tableval)
|
||||
{
|
||||
print "\nCorrect ".$tablekey." for year ".$year." and move them to current year ".$currentyear." ";
|
||||
$sql="select rowid from ".MAIN_DB_PREFIX.$tablekey." where ".$tableval[0]." between '".$year."-01-01' and '".$year."-12-31' and ".$tableval[0]." < DATE_ADD(NOW(), INTERVAL -1 YEAR)";
|
||||
//$sql="select rowid from ".MAIN_DB_PREFIX.$tablekey." where ".$tableval[0]." between '".$year."-01-01' and '".$year."-12-31' and ".$tableval[0]." > NOW()";
|
||||
$resql = $db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i=0;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj=$db->fetch_object($resql);
|
||||
if ($obj)
|
||||
{
|
||||
print ".";
|
||||
$sql2="UPDATE ".MAIN_DB_PREFIX.$tablekey." set ";
|
||||
$j=0;
|
||||
foreach($tableval as $field)
|
||||
{
|
||||
if ($j) $sql2.=", ";
|
||||
$sql2.= $field." = DATE_ADD(".$field.", INTERVAL ".$delta." YEAR)";
|
||||
$j++;
|
||||
}
|
||||
$sql2.=" WHERE rowid = ".$obj->rowid;
|
||||
//print $sql2."\n";
|
||||
$resql2 = $db->query($sql2);
|
||||
if (! $resql2) dol_print_error($db);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else dol_print_error($db);
|
||||
}
|
||||
}
|
||||
|
||||
$year++;
|
||||
}
|
||||
|
||||
print "\n";
|
||||
|
||||
exit(0);
|
||||
@@ -1,2 +1 @@
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Require all granted
|
||||
|
||||
@@ -587,11 +587,10 @@ foreach ($skeletonfiles as $skeletonfile => $outfile)
|
||||
{
|
||||
if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime'])
|
||||
{
|
||||
$varprop.="if (! empty(\$arrayfields['t.".$prop['field']."']['checked'])) print_liste_field_titre(\$arrayfields['t.".$prop['field']."']['label'],\$_SERVER['PHP_SELF'],'t.".$prop['field']."','',\$param,'',\$sortfield,\$sortorder);\n";
|
||||
$varprop.="if (! empty(\$arrayfields['t.".$prop['field']."']['checked'])) print_liste_field_titre(\$arrayfields['t.".$prop['field']."']['label'],\$_SERVER['PHP_SELF'],'t.".$prop['field']."','',\$params,'',\$sortfield,\$sortorder);\n";
|
||||
}
|
||||
}
|
||||
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field1']['checked'])) print_liste_field_titre(\$langs->trans('field1'),\$_SERVER['PHP_SELF'],'t.field1','',\$param,'',\$sortfield,\$sortorder);",'/').'/', $varprop, $targetcontent);
|
||||
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field2']['checked'])) print_liste_field_titre(\$langs->trans('field2'),\$_SERVER['PHP_SELF'],'t.field2','',\$param,'',\$sortfield,\$sortorder);",'/').'/', '', $targetcontent);
|
||||
$targetcontent=preg_replace('/LIST_OF_TD_TITLE_FIELDS/', $varprop, $targetcontent);
|
||||
|
||||
// Substitute fields title search
|
||||
$varprop="\n";
|
||||
@@ -603,8 +602,7 @@ foreach ($skeletonfiles as $skeletonfile => $outfile)
|
||||
$varprop.="if (! empty(\$arrayfields['t.".$prop['field']."']['checked'])) print '<td class=\"liste_titre\"><input type=\"text\" class=\"flat\" name=\"search_".$prop['field']."\" value=\"'.\$search_".$prop['field'].".'\" size=\"10\"></td>';\n";
|
||||
}
|
||||
}
|
||||
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field1']['checked'])) print '<td class=\"liste_titre\"><input type=\"text\" class=\"flat\" name=\"search_field1\" value=\"'.\$search_field1.'\" size=\"10\"></td>';",'/').'/', $varprop, $targetcontent);
|
||||
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field2']['checked'])) print '<td class=\"liste_titre\"><input type=\"text\" class=\"flat\" name=\"search_field2\" value=\"'.\$search_field2.'\" size=\"10\"></td>';",'/').'/', '', $targetcontent);
|
||||
$targetcontent=preg_replace('/LIST_OF_TD_TITLE_SEARCH/', $varprop, $targetcontent);
|
||||
|
||||
// Substitute where for <td>.fieldx.</td>
|
||||
$varprop="\n";
|
||||
@@ -656,6 +654,10 @@ foreach ($skeletonfiles as $skeletonfile => $outfile)
|
||||
$targetcontent=preg_replace('/LIST_OF_TD_LABEL_FIELDS_VIEW/', $varprop, $targetcontent);
|
||||
|
||||
|
||||
// LIST_OF_TD_FIELDS_LIST
|
||||
|
||||
|
||||
|
||||
// Build file
|
||||
$fp=fopen($outfile,"w");
|
||||
if ($fp)
|
||||
|
||||
@@ -90,7 +90,7 @@ class modMyModule extends DolibarrModules
|
||||
// 'models' => 0, // Set this to 1 if module has its own models directory (core/modules/xxx)
|
||||
// 'css' => array('/mymodule/css/mymodule.css.php'), // Set this to relative path of css file if module has its own css file
|
||||
// 'js' => array('/mymodule/js/mymodule.js'), // Set this to relative path of js file if module must load a js on all pages
|
||||
// 'hooks' => array('hookcontext1','hookcontext2') // Set here all hooks context managed by module
|
||||
// 'hooks' => array('hookcontext1','hookcontext2',...) // Set here all hooks context managed by module. You can also set hook context 'all'
|
||||
// 'dir' => array('output' => 'othermodulename'), // To force the default directories names
|
||||
// 'workflow' => array('WORKFLOW_MODULE1_YOURACTIONTYPE_MODULE2'=>array('enabled'=>'! empty($conf->module1->enabled) && ! empty($conf->module2->enabled)', 'picto'=>'yourpicto@mymodule')) // Set here all workflow context managed by module
|
||||
// );
|
||||
|
||||
@@ -104,7 +104,7 @@ $arrayfields=array(
|
||||
't.field1'=>array('label'=>$langs->trans("Field1"), 'checked'=>1),
|
||||
't.field2'=>array('label'=>$langs->trans("Field2"), 'checked'=>1),
|
||||
//'t.entity'=>array('label'=>$langs->trans("Entity"), 'checked'=>1, 'enabled'=>(! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode))),
|
||||
't.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500),
|
||||
't.datec'=>array('label'=>$langs->trans("DateCreationShort"), 'checked'=>0, 'position'=>500),
|
||||
't.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500),
|
||||
//'t.statut'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>1000),
|
||||
);
|
||||
@@ -188,12 +188,16 @@ if (empty($reshook))
|
||||
* Put here all code to build page
|
||||
****************************************************/
|
||||
|
||||
llxHeader('','MyPageName','');
|
||||
$now=dol_now();
|
||||
|
||||
$form=new Form($db);
|
||||
|
||||
// Put here content of your page
|
||||
//$help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes";
|
||||
$help_url='';
|
||||
$title = $langs->trans('MyModuleListTitle');
|
||||
llxHeader('', $title, $help_url);
|
||||
|
||||
// Put here content of your page
|
||||
|
||||
// Example : Adding jquery code
|
||||
print '<script type="text/javascript" language="javascript">
|
||||
@@ -317,8 +321,9 @@ if ($resql)
|
||||
|
||||
// Fields title
|
||||
print '<tr class="liste_titre">';
|
||||
if (! empty($arrayfields['t.field1']['checked'])) print_liste_field_titre($arrayfields['t.field1']['label'],$_SERVER['PHP_SELF'],'t.field1','',$param,'',$sortfield,$sortorder);
|
||||
if (! empty($arrayfields['t.field2']['checked'])) print_liste_field_titre($arrayfields['t.field2']['label'],$_SERVER['PHP_SELF'],'t.field2','',$param,'',$sortfield,$sortorder);
|
||||
// LIST_OF_TD_TITLE_FIELDS
|
||||
//if (! empty($arrayfields['t.field1']['checked'])) print_liste_field_titre($arrayfields['t.field1']['label'],$_SERVER['PHP_SELF'],'t.field1','',$params,'',$sortfield,$sortorder);
|
||||
//if (! empty($arrayfields['t.field2']['checked'])) print_liste_field_titre($arrayfields['t.field2']['label'],$_SERVER['PHP_SELF'],'t.field2','',$params,'',$sortfield,$sortorder);
|
||||
// Extra fields
|
||||
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
|
||||
{
|
||||
@@ -343,8 +348,9 @@ if ($resql)
|
||||
|
||||
// Fields title search
|
||||
print '<tr class="liste_titre">';
|
||||
if (! empty($arrayfields['t.field1']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field1" value="'.$search_field1.'" size="10"></td>';
|
||||
if (! empty($arrayfields['t.field2']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field2" value="'.$search_field2.'" size="10"></td>';
|
||||
// LIST_OF_TD_TITLE_SEARCH
|
||||
//if (! empty($arrayfields['t.field1']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field1" value="'.$search_field1.'" size="10"></td>';
|
||||
//if (! empty($arrayfields['t.field2']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field2" value="'.$search_field2.'" size="10"></td>';
|
||||
// Extra fields
|
||||
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
|
||||
{
|
||||
@@ -407,8 +413,12 @@ if ($resql)
|
||||
$obj = $db->fetch_object($resql);
|
||||
if ($obj)
|
||||
{
|
||||
// You can use here results
|
||||
print '<tr>';
|
||||
$var = !$var;
|
||||
|
||||
// Show here line of result
|
||||
print '<tr '.$bc[$var].'>';
|
||||
// LIST_OF_TD_FIELDS_LIST
|
||||
/*
|
||||
if (! empty($arrayfields['t.field1']['checked']))
|
||||
{
|
||||
print '<td>'.$obj->field1.'</td>';
|
||||
@@ -418,7 +428,7 @@ if ($resql)
|
||||
{
|
||||
print '<td>'.$obj->field2.'</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
}*/
|
||||
// Extra fields
|
||||
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
|
||||
{
|
||||
|
||||
@@ -293,6 +293,12 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a
|
||||
if (preg_match('/^Language_/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/^DescADHERENT_/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/^SubmitTranslation/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/^ModuleCompanyCode/', $value)) $qualifiedforclean=0;
|
||||
// boxes.lang
|
||||
if (preg_match('/^BoxTitleLast/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/^BoxTitleLatest/', $value)) $qualifiedforclean=0;
|
||||
// install.lang
|
||||
if (preg_match('/^KeepDefaultValues/', $value)) $qualifiedforclean=0;
|
||||
// main.lang
|
||||
if (preg_match('/^Duration/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/^FormatDate/', $value)) $qualifiedforclean=0;
|
||||
@@ -324,7 +330,8 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a
|
||||
if (preg_match('/GlobalVariableUpdaterHelp$/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/OppStatus/', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/AvailabilityType/', $value)) $qualifiedforclean=0;
|
||||
|
||||
if (preg_match('/CardProduct/', $value)) $qualifiedforclean=0;
|
||||
|
||||
if (preg_match('/sms/i', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/TF_/i', $value)) $qualifiedforclean=0;
|
||||
if (preg_match('/WithBankUsing/i', $value)) $qualifiedforclean=0;
|
||||
@@ -336,7 +343,7 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a
|
||||
}
|
||||
|
||||
//$search = '\'trans("'.$value.'")\'';
|
||||
$search = '-e "\''.$value.'\'" -e \'"'.$value.'"\' -e "('.$value.')"';
|
||||
$search = '-e "\''.$value.'\'" -e \'"'.$value.'"\' -e "('.$value.')" -e "('.$value.',"';
|
||||
$string = 'grep -R -m 1 -F --exclude=includes/* --include=*.php '.$search.' '.$htdocs.'* '.$scripts.'*';
|
||||
//print $string."<br>\n";
|
||||
exec($string,$output);
|
||||
|
||||
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 228 KiB |
|
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 57 KiB |
BIN
doc/images/dolibarr_screenshot6_1280x800.png
Normal file
|
After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 232 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 171 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -58,11 +58,21 @@ if ($action == 'add') {
|
||||
$obj = $db->fetch_object($result);
|
||||
|
||||
// Clean code
|
||||
$account_number = clean_account(GETPOST('account_number')); // Accounting account without zero on the right
|
||||
if (GETPOST('account_category') <= 0) {
|
||||
$account_parent = '';
|
||||
|
||||
// To manage zero or not at the end of the accounting account
|
||||
if($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
|
||||
{
|
||||
$account_number = GETPOST('account_number');
|
||||
}
|
||||
else
|
||||
{
|
||||
$account_number = clean_account(GETPOST('account_number'));
|
||||
}
|
||||
|
||||
if (GETPOST('account_parent') <= 0) {
|
||||
$account_parent = 0;
|
||||
} else {
|
||||
$account_parent = GETPOST('account_category','int');
|
||||
$account_parent = GETPOST('account_parent','int');
|
||||
}
|
||||
|
||||
$object->fk_pcg_version = $obj->pcg_version;
|
||||
@@ -88,7 +98,7 @@ if ($action == 'add') {
|
||||
header("Location: account.php");
|
||||
exit;
|
||||
} else if ($action == 'edit') {
|
||||
if (! GETPOST('cancel', 'alpha')) {
|
||||
if (! $cancel) {
|
||||
$result = $object->fetch($id);
|
||||
|
||||
$sql = 'SELECT pcg_version FROM ' . MAIN_DB_PREFIX . 'accounting_system WHERE rowid=' . $conf->global->CHARTOFACCOUNTS;
|
||||
@@ -98,11 +108,21 @@ if ($action == 'add') {
|
||||
$obj = $db->fetch_object($result2);
|
||||
|
||||
// Clean code
|
||||
$account_number = clean_account(GETPOST('account_number')); // Accounting account without zero on the right
|
||||
if (GETPOST('account_category') <= 0) {
|
||||
$account_parent = '';
|
||||
|
||||
// To manage zero or not at the end of the accounting account
|
||||
if($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
|
||||
{
|
||||
$account_number = GETPOST('account_number');
|
||||
}
|
||||
else
|
||||
{
|
||||
$account_number = clean_account(GETPOST('account_number'));
|
||||
}
|
||||
|
||||
if (GETPOST('account_parent') <= 0) {
|
||||
$account_parent = 0;
|
||||
} else {
|
||||
$account_parent = GETPOST('account_category','int');
|
||||
$account_parent = GETPOST('account_parent','int');
|
||||
}
|
||||
|
||||
$object->fk_pcg_version = $obj->pcg_version;
|
||||
@@ -145,7 +165,9 @@ if ($action == 'add') {
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
llxheader('', $langs->trans('AccountAccounting'));
|
||||
$title = $langs->trans('AccountAccounting') ." - ". $langs->trans('Card');
|
||||
$helpurl = '';
|
||||
llxheader('', $title, $helpurl);
|
||||
|
||||
$form = new Form($db);
|
||||
$htmlacc = new FormVentilation($db);
|
||||
@@ -164,7 +186,7 @@ if ($action == 'create') {
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Account number
|
||||
print '<tr><td width="25%"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
|
||||
print '<tr><td class="titlefieldcreate"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
|
||||
print '<td><input name="account_number" size="30" value="' . $object->account_number . '"</td></tr>';
|
||||
|
||||
// Label
|
||||
@@ -227,7 +249,7 @@ if ($action == 'create') {
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Account number
|
||||
print '<tr><td width="25%"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
|
||||
print '<tr><td class="titlefieldcreate"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
|
||||
print '<td><input name="account_number" size="30" value="' . $object->account_number . '"</td></tr>';
|
||||
|
||||
// Label
|
||||
@@ -279,7 +301,7 @@ if ($action == 'create') {
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Account number
|
||||
print '<tr><td width="25%">' . $langs->trans("AccountNumber") . '</td>';
|
||||
print '<tr><td class="titlefield">' . $langs->trans("AccountNumber") . '</td>';
|
||||
print '<td>' . $object->account_number . '</td>';
|
||||
print '<td align="right" width="25%">' . $linkback . '</td></tr>';
|
||||
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/accountancy/admin/categories.php
|
||||
* \ingroup Advanced accountancy
|
||||
* \brief Page to assign mass categories to accounts
|
||||
* \file htdocs/accountancy/admin/categories.php
|
||||
* \ingroup Advanced accountancy
|
||||
* \brief Page to assign mass categories to accounts
|
||||
*/
|
||||
require '../../main.inc.php';
|
||||
|
||||
@@ -36,11 +36,11 @@ $langs->load("accountancy");
|
||||
$mesg = '';
|
||||
$action = GETPOST('action');
|
||||
$cat_id = GETPOST('account_category');
|
||||
$selectcpt = GETPOST('cpt_bk');
|
||||
$selectcpt = GETPOST('cpt_bk', 'array');
|
||||
$cpt_id = GETPOST('cptid');
|
||||
|
||||
if($cat_id == 0){
|
||||
$cat_id = null;
|
||||
if ($cat_id == 0) {
|
||||
$cat_id = null;
|
||||
}
|
||||
|
||||
$id = GETPOST('id', 'int');
|
||||
@@ -54,31 +54,30 @@ if (! $user->admin)
|
||||
$AccCat = new AccountancyCategory($db);
|
||||
|
||||
// si ajout de comptes
|
||||
if(!empty($selectcpt)){
|
||||
$cpts = array();
|
||||
$i = 0;
|
||||
foreach ($selectcpt as $selectedOption){
|
||||
$cpts[$i] = "'".$selectedOption."'";
|
||||
$i++;
|
||||
if (! empty($selectcpt)) {
|
||||
$cpts = array ();
|
||||
foreach ( $selectcpt as $selectedOption ) {
|
||||
if (! array_key_exists($selectedOption, $cpts))
|
||||
$cpts[$selectedOption] = "'" . $selectedOption . "'";
|
||||
}
|
||||
|
||||
if($AccCat->updateAccAcc($cat_id, $cpts)){
|
||||
|
||||
$return= $AccCat->updateAccAcc($cat_id, $cpts);
|
||||
|
||||
if ($return<0) {
|
||||
setEventMessages($langs->trans('errors'), $AccCat->errors, 'errors');
|
||||
} else {
|
||||
setEventMessages($langs->trans('Saved'), null, 'mesgs');
|
||||
}else{
|
||||
setEventMessages($langs->trans('errors'), null, 'errors');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if ($action == 'delete') {
|
||||
if($cpt_id){
|
||||
if($AccCat->deleteCptCat($cpt_id)){
|
||||
if ($cpt_id) {
|
||||
if ($AccCat->deleteCptCat($cpt_id)) {
|
||||
setEventMessages($langs->trans('Deleted'), null, 'mesgs');
|
||||
}else{
|
||||
} else {
|
||||
setEventMessages($langs->trans('errors'), null, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* View
|
||||
@@ -88,65 +87,69 @@ llxheader('', $langs->trans('AccountAccounting'));
|
||||
$formaccounting = new FormAccounting($db);
|
||||
$form = new Form($db);
|
||||
|
||||
print load_fiche_titre($langs->trans('Categories'));
|
||||
print load_fiche_titre($langs->trans('Categories'));
|
||||
|
||||
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||
print '<input type="hidden" name="action" value="display">';
|
||||
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||
print '<input type="hidden" name="action" value="display">';
|
||||
|
||||
dol_fiche_head();
|
||||
dol_fiche_head();
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
// Category
|
||||
print '<tr><td>' . $langs->trans("AccountingCategory") . '</td>';
|
||||
print '<td>';
|
||||
$formaccounting->select_accounting_category($cat_id, 'account_category', 1);
|
||||
print '<input class="button" type="submit" value="' . $langs->trans("Display") . '">';
|
||||
print '</td></tr>';
|
||||
print '<table class="border" width="100%">';
|
||||
// Category
|
||||
print '<tr><td>' . $langs->trans("AccountingCategory") . '</td>';
|
||||
print '<td>';
|
||||
$formaccounting->select_accounting_category($cat_id, 'account_category', 1);
|
||||
print '<input class="button" type="submit" value="' . $langs->trans("Display") . '">';
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
if(!empty($cat_id)){
|
||||
$obj = $AccCat->getCptBK($cat_id);
|
||||
print '<tr><td>' . $langs->trans("AddCompteFromBK") . '</td>';
|
||||
print '<td>';
|
||||
if(!empty($obj)){
|
||||
print '<select size="'.count($obj).'" name="cpt_bk[]" multiple>';
|
||||
foreach ( $obj as $cpt ) {
|
||||
print '<option value="'.length_accountg($cpt->numero_compte).'">' . length_accountg($cpt->numero_compte) . ' ('.$cpt->label_compte.' '.$cpt->doc_ref.')</option>';
|
||||
|
||||
}
|
||||
print '</select> - <input class="button" type="submit" id="" class="action-delete" value="' . $langs->trans("add") . '"> ';
|
||||
}
|
||||
print '</td></tr>';
|
||||
if (! empty($cat_id)) {
|
||||
$return = $AccCat->getCptBK($cat_id);
|
||||
if ($return < 0) {
|
||||
setEventMessages(null, $AccCat->errors, 'errors');
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
print '<tr><td>' . $langs->trans("AddCompteFromBK") . '</td>';
|
||||
print '<td>';
|
||||
if (is_array($AccCat->lines_cptbk) && count($AccCat->lines_cptbk) > 0) {
|
||||
print '<select size="' . count($obj) . '" name="cpt_bk[]" multiple>';
|
||||
foreach ( $AccCat->lines_cptbk as $cpt ) {
|
||||
print '<option value="' . length_accountg($cpt->numero_compte) . '">' . length_accountg($cpt->numero_compte) . ' (' . $cpt->label_compte . ' ' . $cpt->doc_ref . ')</option>';
|
||||
}
|
||||
print '</select> - <input class="button" type="submit" id="" class="action-delete" value="' . $langs->trans("add") . '"> ';
|
||||
}
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
dol_fiche_end();
|
||||
print '</table>';
|
||||
|
||||
print '</form>';
|
||||
dol_fiche_end();
|
||||
|
||||
print '</form>';
|
||||
|
||||
if ($action == 'display' || $action == 'delete') {
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
|
||||
print '<tr class="liste_titre"><th class="liste_titre">'.$langs->trans("Numerocompte").'</th><th class="liste_titre">'.$langs->trans("Description").'</th><th class="liste_titre" width="60" align="center">Action</th></tr>';
|
||||
print '<tr class="liste_titre"><th class="liste_titre">' . $langs->trans("Numerocompte") . '</th><th class="liste_titre">' . $langs->trans("Description") . '</th><th class="liste_titre" width="60" align="center">Action</th></tr>';
|
||||
|
||||
if(!empty($cat_id)){
|
||||
$obj = $AccCat->display($cat_id);
|
||||
$j=1;
|
||||
if(!empty($obj)){
|
||||
foreach ( $obj as $cpt ) {
|
||||
if (! empty($cat_id)) {
|
||||
$return = $AccCat->display($cat_id);
|
||||
if ($return < 0) {
|
||||
setEventMessages(null, $AccCat->errors, 'errors');
|
||||
}
|
||||
$j = 1;
|
||||
if (is_array($AccCat->lines_display) && count($AccCat->lines_display) > 0) {
|
||||
foreach ( $AccCat->lines_display as $cpt ) {
|
||||
$var = ! $var;
|
||||
print '<tr'. $bc[$var].'>';
|
||||
print '<tr' . $bc[$var] . '>';
|
||||
print '<td>' . length_accountg($cpt->account_number) . '</td>';
|
||||
print '<td>' . $cpt->label . '</td>';
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?account_category=$cat_id&cptid=".$cpt->rowid, $langs->trans("DeleteCptCategory"), $langs->trans("ConfirmDeleteCptCategory"), "delete", '', 0, "action-delete".$j);
|
||||
print '<td><input class="button" type="button" id="action-delete'.$j.'" value="' . $langs->trans("Delete") . '"></td>';
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"] . "?account_category=$cat_id&cptid=" . $cpt->rowid, $langs->trans("DeleteCptCategory"), $langs->trans("ConfirmDeleteCptCategory"), "delete", '', 0, "action-delete" . $j);
|
||||
print '<td><input class="button" type="button" id="action-delete' . $j . '" value="' . $langs->trans("Delete") . '"></td>';
|
||||
print "</tr>\n";
|
||||
$j++;
|
||||
$j ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "</table>";
|
||||
|
||||
@@ -81,6 +81,9 @@ if ($action == 'update') {
|
||||
if (! dolibarr_set_const($db, 'ACCOUNTING_EXPORT_MODELCSV', $modelcsv, 'chaine', 0, '', $conf->entity)) {
|
||||
$error ++;
|
||||
}
|
||||
if ($modelcsv==AccountancyExport::$EXPORT_TYPE_QUADRATUS || $modelcsv==AccountancyExport::$EXPORT_TYPE_CIEL) {
|
||||
dolibarr_set_const($db, 'ACCOUNTING_EXPORT_FORMAT', 'txt', 'chaine', 0, '', $conf->entity);
|
||||
}
|
||||
} else {
|
||||
$error ++;
|
||||
}
|
||||
|
||||
@@ -130,6 +130,7 @@ if ($action == 'update') {
|
||||
}
|
||||
}
|
||||
|
||||
// TO DO Mutualize code for yes/no constants
|
||||
if ($action == 'setlistsorttodo') {
|
||||
$setlistsorttodo = GETPOST('value', 'int');
|
||||
$res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_TODO", $setlistsorttodo, 'yesno', 0, '', $conf->entity);
|
||||
@@ -155,6 +156,30 @@ if ($action == 'setlistsortdone') {
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'setmanagezero') {
|
||||
$setmanagezero = GETPOST('value', 'int');
|
||||
$res = dolibarr_set_const($db, "ACCOUNTING_MANAGE_ZERO", $setmanagezero, 'yesno', 0, '', $conf->entity);
|
||||
if (! $res > 0)
|
||||
$error ++;
|
||||
if (! $error) {
|
||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||
} else {
|
||||
setEventMessages($langs->trans("Error"), null, 'mesgs');
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'setdisabledirectinput') {
|
||||
$setdisabledirectinput = GETPOST('value', 'int');
|
||||
$res = dolibarr_set_const($db, "BANK_DISABLE_DIRECT_INPUT", $setdisabledirectinput, 'yesno', 0, '', $conf->entity);
|
||||
if (! $res > 0)
|
||||
$error ++;
|
||||
if (! $error) {
|
||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||
} else {
|
||||
setEventMessages($langs->trans("Error"), null, 'mesgs');
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
@@ -286,6 +311,7 @@ foreach ( $list_account as $key ) {
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
// TO DO Mutualize code for yes/no constants
|
||||
$var = ! $var;
|
||||
print "<tr " . $bc[$var] . ">";
|
||||
print '<td width="80%">' . $langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_TODO") . '</td>';
|
||||
@@ -314,6 +340,34 @@ if (! empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE)) {
|
||||
}
|
||||
print '</tr>';
|
||||
|
||||
$var = ! $var;
|
||||
print "<tr " . $bc[$var] . ">";
|
||||
print '<td width="80%">' . $langs->trans("ACCOUNTING_MANAGE_ZERO") . '</td>';
|
||||
if (! empty($conf->global->ACCOUNTING_MANAGE_ZERO)) {
|
||||
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setmanagezero&value=0">';
|
||||
print img_picto($langs->trans("Activated"), 'switch_on');
|
||||
print '</a></td>';
|
||||
} else {
|
||||
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setmanagezero&value=1">';
|
||||
print img_picto($langs->trans("Disabled"), 'switch_off');
|
||||
print '</a></td>';
|
||||
}
|
||||
print '</tr>';
|
||||
|
||||
$var = ! $var;
|
||||
print "<tr " . $bc[$var] . ">";
|
||||
print '<td width="80%">' . $langs->trans("BANK_DISABLE_DIRECT_INPUT") . '</td>';
|
||||
if (! empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) {
|
||||
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setdisabledirectinput&value=0">';
|
||||
print img_picto($langs->trans("Activated"), 'switch_on');
|
||||
print '</a></td>';
|
||||
} else {
|
||||
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setdisabledirectinput&value=1">';
|
||||
print img_picto($langs->trans("Disabled"), 'switch_off');
|
||||
print '</a></td>';
|
||||
}
|
||||
print '</tr>';
|
||||
|
||||
print "</table>\n";
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/accountancy/bookkeeping/card.php
|
||||
* \ingroup Advanced accountancy
|
||||
* \brief Page to show book-entry
|
||||
* \file htdocs/accountancy/bookkeeping/card.php
|
||||
* \ingroup Advanced accountancy
|
||||
* \brief Page to show book-entry
|
||||
*/
|
||||
require '../../main.inc.php';
|
||||
|
||||
@@ -62,17 +62,17 @@ if (! empty($update)) {
|
||||
}
|
||||
|
||||
if ($action == "confirm_update") {
|
||||
|
||||
|
||||
$error = 0;
|
||||
|
||||
|
||||
if ((floatval($debit) != 0.0) && (floatval($credit) != 0.0)) {
|
||||
setEventMessages($langs->trans('ErrorDebitCredit'), null, 'errors');
|
||||
$error ++;
|
||||
}
|
||||
|
||||
|
||||
if (empty($error)) {
|
||||
$book = new BookKeeping($db);
|
||||
|
||||
|
||||
$result = $book->fetch($id);
|
||||
if ($result < 0) {
|
||||
setEventMessages($book->error, $book->errors, 'errors');
|
||||
@@ -82,7 +82,7 @@ if ($action == "confirm_update") {
|
||||
$book->label_compte = $label_compte;
|
||||
$book->debit = $debit;
|
||||
$book->credit = $credit;
|
||||
|
||||
|
||||
if (floatval($debit) != 0.0) {
|
||||
$book->montant = $debit;
|
||||
$book->sens = 'D';
|
||||
@@ -91,7 +91,7 @@ if ($action == "confirm_update") {
|
||||
$book->montant = $credit;
|
||||
$book->sens = 'C';
|
||||
}
|
||||
|
||||
|
||||
$result = $book->update($user);
|
||||
if ($result < 0) {
|
||||
setEventMessages($book->error, $book->errors, 'errors');
|
||||
@@ -101,19 +101,19 @@ if ($action == "confirm_update") {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == "add") {
|
||||
$error = 0;
|
||||
|
||||
|
||||
if ((floatval($debit) != 0.0) && (floatval($credit) != 0.0)) {
|
||||
setEventMessages($langs->trans('ErrorDebitCredit'), null, 'errors');
|
||||
$error ++;
|
||||
}
|
||||
|
||||
|
||||
if (empty($error)) {
|
||||
$book = new BookKeeping($db);
|
||||
|
||||
|
||||
$book->numero_compte = $account_number;
|
||||
$book->code_tiers = $code_tiers;
|
||||
$book->label_compte = $label_compte;
|
||||
@@ -126,17 +126,17 @@ else if ($action == "add") {
|
||||
$book->code_journal = GETPOST('code_journal');
|
||||
$book->fk_doc = GETPOST('fk_doc');
|
||||
$book->fk_docdet = GETPOST('fk_docdet');
|
||||
|
||||
|
||||
if (floatval($debit) != 0.0) {
|
||||
$book->montant = $debit;
|
||||
$book->sens = 'D';
|
||||
}
|
||||
|
||||
|
||||
if (floatval($credit) != 0.0) {
|
||||
$book->montant = $credit;
|
||||
$book->sens = 'C';
|
||||
}
|
||||
|
||||
|
||||
$result = $book->createStd($user);
|
||||
if ($result < 0) {
|
||||
setEventMessages($book->error, $book->errors, 'errors');
|
||||
@@ -145,15 +145,15 @@ else if ($action == "add") {
|
||||
$action = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == "confirm_delete") {
|
||||
$book = new BookKeeping($db);
|
||||
|
||||
|
||||
$result = $book->fetch($id);
|
||||
|
||||
|
||||
$piece_num = $book->piece_num;
|
||||
|
||||
|
||||
if ($result < 0) {
|
||||
setEventMessages($book->error, $book->errors, 'errors');
|
||||
} else {
|
||||
@@ -163,11 +163,11 @@ else if ($action == "confirm_delete") {
|
||||
}
|
||||
}
|
||||
$action = '';
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == "confirm_create") {
|
||||
$book = new BookKeeping($db);
|
||||
|
||||
|
||||
$book->label_compte = '';
|
||||
$book->debit = 0;
|
||||
$book->credit = 0;
|
||||
@@ -178,9 +178,9 @@ else if ($action == "confirm_create") {
|
||||
$book->code_journal = GETPOST('code_journal');
|
||||
$book->fk_doc = 0;
|
||||
$book->fk_docdet = 0;
|
||||
|
||||
|
||||
$book->montant = 0;
|
||||
|
||||
|
||||
$result = $book->createStd($user);
|
||||
if ($result < 0) {
|
||||
setEventMessages($book->error, $book->errors, 'errors');
|
||||
@@ -209,15 +209,15 @@ if ($action == 'delete') {
|
||||
|
||||
if ($action == 'create') {
|
||||
print load_fiche_titre($langs->trans("CreateMvts"));
|
||||
|
||||
|
||||
$code_journal_array = array (
|
||||
$conf->global->ACCOUNTING_SELL_JOURNAL => $conf->global->ACCOUNTING_SELL_JOURNAL,
|
||||
$conf->global->ACCOUNTING_PURCHASE_JOURNAL => $conf->global->ACCOUNTING_PURCHASE_JOURNAL,
|
||||
$conf->global->ACCOUNTING_SOCIAL_JOURNAL => $conf->global->ACCOUNTING_SOCIAL_JOURNAL,
|
||||
$conf->global->ACCOUNTING_MISCELLANEOUS_JOURNAL => $conf->global->ACCOUNTING_MISCELLANEOUS_JOURNAL,
|
||||
$conf->global->ACCOUNTING_EXPENSEREPORT_JOURNAL => $conf->global->ACCOUNTING_EXPENSEREPORT_JOURNAL
|
||||
$conf->global->ACCOUNTING_EXPENSEREPORT_JOURNAL => $conf->global->ACCOUNTING_EXPENSEREPORT_JOURNAL
|
||||
);
|
||||
|
||||
|
||||
$sql = 'SELECT DISTINCT accountancy_journal FROM ' . MAIN_DB_PREFIX . 'bank_account WHERE clos=0';
|
||||
$resql = $db->query($sql);
|
||||
if (! $resql) {
|
||||
@@ -229,52 +229,52 @@ if ($action == 'create') {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$book = new BookKeeping($db);
|
||||
$next_num_mvt = $book->getNextNumMvt();
|
||||
|
||||
|
||||
print '<form action="' . $_SERVER["PHP_SELF"] . '" name="create_mvt" method="POST">';
|
||||
print '<input type="hidden" name="action" value="confirm_create">' . "\n";
|
||||
print '<input type="hidden" name="next_num_mvt" value="' . $next_num_mvt . '">' . "\n";
|
||||
|
||||
|
||||
dol_fiche_head();
|
||||
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr>';
|
||||
print '<td width="25%">' . $langs->trans("NumMvts") . '</td>';
|
||||
print '<td>' . $next_num_mvt . '</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
print '<tr>';
|
||||
print '<td>' . $langs->trans("Docdate") . '</td>';
|
||||
print '<td>';
|
||||
print $html->select_date('', 'doc_date', '', '', '', "create_mvt", 1, 1);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
print '<tr>';
|
||||
print '<td>' . $langs->trans("Codejournal") . '</td>';
|
||||
print '<td>' . $html->selectarray('code_journal', $code_journal_array) . '</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
print '<tr>';
|
||||
print '<td>' . $langs->trans("Docref") . '</td>';
|
||||
print '<td><input type="text" size="20" name="doc_ref" value=""/></td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
print '<tr>';
|
||||
print '<td>' . $langs->trans("Doctype") . '</td>';
|
||||
print '<td><input type="text" size="20" name="doc_type" value=""/></td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
print '</table>';
|
||||
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
|
||||
print '<div align="center"><input type="submit" class="button" value="' . $langs->trans("Create") . '">';
|
||||
print ' <input type="button" value="' . $langs->trans("Cancel") . '" class="button" onclick="history.go(-1)" />';
|
||||
print '</div>';
|
||||
|
||||
|
||||
print '</form>';
|
||||
} else {
|
||||
$book = new BookKeeping($db);
|
||||
@@ -283,9 +283,9 @@ if ($action == 'create') {
|
||||
setEventMessages($book->error, $book->errors, 'errors');
|
||||
}
|
||||
if (! empty($book->piece_num)) {
|
||||
|
||||
|
||||
print load_fiche_titre($langs->trans("UpdateMvts"), '<a href="list.php">' . $langs->trans('BackToList') . '</a>');
|
||||
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr class="pair">';
|
||||
print '<td width="25%">' . $langs->trans("NumMvts") . '</td>';
|
||||
@@ -309,14 +309,14 @@ if ($action == 'create') {
|
||||
print '</tr>';
|
||||
print '</table>';
|
||||
print '<br />';
|
||||
|
||||
|
||||
$result = $book->fetch_all_per_mvt($piece_num);
|
||||
if ($result < 0) {
|
||||
setEventMessages($book->error, $book->errors, 'errors');
|
||||
} else {
|
||||
|
||||
|
||||
print load_fiche_titre($langs->trans("ListeMvts"));
|
||||
|
||||
|
||||
print '<form action="' . $_SERVER["PHP_SELF"] . '?piece_num=' . $book->piece_num . '" method="post">';
|
||||
print '<input type="hidden" name="doc_date" value="' . $book->doc_date . '">' . "\n";
|
||||
print '<input type="hidden" name="doc_type" value="' . $book->doc_type . '">' . "\n";
|
||||
@@ -324,15 +324,15 @@ if ($action == 'create') {
|
||||
print '<input type="hidden" name="code_journal" value="' . $book->code_journal . '">' . "\n";
|
||||
print '<input type="hidden" name="fk_doc" value="' . $book->fk_doc . '">' . "\n";
|
||||
print '<input type="hidden" name="fk_docdet" value="' . $book->fk_docdet . '">' . "\n";
|
||||
|
||||
|
||||
print "<table class=\"noborder\" width=\"100%\">";
|
||||
if (count($book->linesmvt) > 0) {
|
||||
|
||||
|
||||
$total_debit = 0;
|
||||
$total_credit = 0;
|
||||
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
|
||||
|
||||
print_liste_field_titre($langs->trans("AccountAccountingShort"));
|
||||
print_liste_field_titre($langs->trans("Code_tiers"));
|
||||
print_liste_field_titre($langs->trans("Labelcompte"));
|
||||
@@ -341,18 +341,18 @@ if ($action == 'create') {
|
||||
print_liste_field_titre($langs->trans("Amount"), "", "", "", "", 'align="center"');
|
||||
print_liste_field_titre($langs->trans("Sens"), "", "", "", "", 'align="center"');
|
||||
print_liste_field_titre($langs->trans("Action"), "", "", "", "", 'width="60" align="center"');
|
||||
|
||||
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
foreach ( $book->linesmvt as $line ) {
|
||||
$var = ! $var;
|
||||
print '<tr'. $bc[$var].'>';
|
||||
|
||||
print '<tr' . $bc[$var] . '>';
|
||||
|
||||
$total_debit += $line->debit;
|
||||
$total_credit += $line->credit;
|
||||
|
||||
|
||||
if ($action == 'update' && $line->id == $id) {
|
||||
|
||||
|
||||
print '<td>';
|
||||
print $formventilation->select_account($line->numero_compte, 'account_number', 0, array (), 1, 1, '');
|
||||
print '</td>';
|
||||
@@ -376,7 +376,7 @@ if ($action == 'create') {
|
||||
print '<td align="right">' . price($line->credit) . '</td>';
|
||||
print '<td align="right">' . price($line->montant) . '</td>';
|
||||
print '<td align="center">' . $line->sens . '</td>';
|
||||
|
||||
|
||||
print '<td align="center">';
|
||||
print '<a href="./card.php?action=update&id=' . $line->id . '&piece_num=' . $line->piece_num . '">';
|
||||
print img_edit();
|
||||
@@ -384,23 +384,21 @@ if ($action == 'create') {
|
||||
print '<a href="./card.php?action=delete&id=' . $line->id . '&piece_num=' . $line->piece_num . '">';
|
||||
print img_delete();
|
||||
print '</a>';
|
||||
|
||||
|
||||
print '</td>';
|
||||
}
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
|
||||
if ($total_debit != $total_credit) {
|
||||
setEventMessages(null, array (
|
||||
'MvtNotCorrectlyBalanced',
|
||||
$total_credit,
|
||||
$total_debit
|
||||
$langs->trans('MvtNotCorrectlyBalanced', $total_credit, $total_debit)
|
||||
), 'errors');
|
||||
}
|
||||
|
||||
|
||||
if ($action == "" || $action == 'add') {
|
||||
$var = ! $var;
|
||||
print '<tr'. $bc[$var].'>';
|
||||
print '<tr' . $bc[$var] . '>';
|
||||
print '<td>';
|
||||
print $formventilation->select_account($account_number, 'account_number', 0, array (), 1, 1, '');
|
||||
print '</td>';
|
||||
|
||||
@@ -202,14 +202,22 @@ if ($action == 'delbookkeeping') {
|
||||
if ($action == 'delbookkeepingyearconfirm') {
|
||||
|
||||
$delyear = GETPOST('delyear', 'int');
|
||||
if ($delyear==-1) {
|
||||
$delyear=0;
|
||||
}
|
||||
$deljournal = GETPOST('deljournal','alpha');
|
||||
if ($deljournal==-1) {
|
||||
$deljournal=0;
|
||||
}
|
||||
|
||||
if (! empty($delyear)) {
|
||||
$result = $object->deleteByYear($delyear);
|
||||
|
||||
if (! empty($delyear) || ! empty($deljournal)) {
|
||||
$result = $object->deleteByYearAndJournal($delyear,$deljournal);
|
||||
if ($result < 0) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
Header("Location: list.php");
|
||||
exit();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
if ($action == 'delmouvconfirm') {
|
||||
@@ -222,7 +230,7 @@ if ($action == 'delmouvconfirm') {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
Header("Location: list.php");
|
||||
exit();
|
||||
exit;
|
||||
}
|
||||
}
|
||||
if ($action == 'export_csv') {
|
||||
@@ -276,11 +284,13 @@ if ($action == 'delbookkeepingyear') {
|
||||
|
||||
$form_question = array ();
|
||||
$delyear = GETPOST('delyear');
|
||||
$deljournal = GETPOST('deljournal');
|
||||
|
||||
if (empty($delyear)) {
|
||||
$delyear = dol_print_date(dol_now(), '%Y');
|
||||
}
|
||||
$year_array = $formventilation->selectyear_accountancy_bookkepping($delyear, 'delyear', 0, 'array');
|
||||
$journal_array = $formventilation->selectjournal_accountancy_bookkepping($deljournal, 'deljournal', 0, 'array');
|
||||
|
||||
$form_question['delyear'] = array (
|
||||
'name' => 'delyear',
|
||||
@@ -289,6 +299,13 @@ if ($action == 'delbookkeepingyear') {
|
||||
'values' => $year_array,
|
||||
'default' => $delyear
|
||||
);
|
||||
$form_question['deljournal'] = array (
|
||||
'name' => 'deljournal',
|
||||
'type' => 'select',
|
||||
'label' => $langs->trans('DelJournal'),
|
||||
'values' => $journal_array,
|
||||
'default' => $deljournal
|
||||
);
|
||||
|
||||
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'delbookkeepingyearconfirm', $form_question, 0, 1);
|
||||
print $formconfirm;
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/accountancy/class/accountancycategory.class.php
|
||||
* \ingroup Advanced accountancy
|
||||
* \brief File of class to manage categories of an accounting category_type
|
||||
* \file htdocs/accountancy/class/accountancycategory.class.php
|
||||
* \ingroup Advanced accountancy
|
||||
* \brief File of class to manage categories of an accounting category_type
|
||||
*/
|
||||
|
||||
// Class
|
||||
@@ -32,18 +32,20 @@ class AccountancyCategory
|
||||
{
|
||||
private $db;
|
||||
public $error;
|
||||
public $errors = array();
|
||||
//public $element='accounting_category';
|
||||
//public $table_element='c_accounting_category';
|
||||
public $errors = array ();
|
||||
public $element = 'accounting_category';
|
||||
public $table_element = 'c_accounting_category';
|
||||
public $id;
|
||||
public $lines_cptbk;
|
||||
public $lines_display;
|
||||
public $sdc;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Constructor
|
||||
*
|
||||
* @param DoliDB $db Database handler
|
||||
* @param DoliDB $db Database handler
|
||||
*/
|
||||
public function __construct($db)
|
||||
{
|
||||
public function __construct($db) {
|
||||
$this->db = $db;
|
||||
|
||||
return 1;
|
||||
@@ -52,122 +54,136 @@ class AccountancyCategory
|
||||
/**
|
||||
* Function to select all accounting accounts from an accounting category
|
||||
*
|
||||
* @param int $id Id
|
||||
* @param int $id Id
|
||||
*
|
||||
* @return int <0 if KO, 0 if not found, >0 if OK
|
||||
*/
|
||||
public function display($id)
|
||||
{
|
||||
*/
|
||||
public function display($id) {
|
||||
$sql = "SELECT t.rowid, t.account_number, t.label";
|
||||
$sql.= " FROM " . MAIN_DB_PREFIX . "accounting_account as t";
|
||||
$sql.= " WHERE t.fk_accounting_category = " . $id;
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as t";
|
||||
$sql .= " WHERE t.fk_accounting_category = " . $id;
|
||||
|
||||
$this->lines_display = array ();
|
||||
|
||||
dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$obj = '';
|
||||
$num = $this->db->num_rows($resql);
|
||||
if ($num) {
|
||||
while ( $i < $num ) {
|
||||
$obj[$i] = $this->db->fetch_object($resql);
|
||||
$i ++;
|
||||
while ( $obj = $this->db->fetch_object($resql) ) {
|
||||
$this->lines_display[] = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
return $obj;
|
||||
return $num;
|
||||
} else {
|
||||
$this->error = "Error " . $this->db->lasterror();
|
||||
dol_syslog(__METHOD__ . " " . $this->error, LOG_ERR);
|
||||
$this->errors[] = $this->error;
|
||||
dol_syslog(__METHOD__ . " " . implode(',' . $this->errors), LOG_ERR);
|
||||
|
||||
return -1;
|
||||
return - 1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to select accountiing category of an accounting account present in chart of accounts
|
||||
*
|
||||
* @param int $id Id category
|
||||
* @param int $id Id category
|
||||
*
|
||||
* @return int <0 if KO, 0 if not found, >0 if OK
|
||||
*/
|
||||
public function getCptBK($id)
|
||||
{
|
||||
public function getCptBK($id) {
|
||||
global $conf;
|
||||
|
||||
$sql = "SELECT t.numero_compte, t.label_compte, t.doc_ref";
|
||||
$sql.= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t";
|
||||
$sql.= " WHERE t.numero_compte NOT IN (";
|
||||
$sql.= " SELECT t.account_number";
|
||||
$sql.= " FROM " . MAIN_DB_PREFIX . "accounting_account as t";
|
||||
$sql.= " WHERE t.fk_accounting_category = " . $id .")";
|
||||
$sql.= " AND t.numero_compte IN (";
|
||||
$sql.= " SELECT DISTINCT aa.account_number";
|
||||
$sql.= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql.= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
|
||||
$sql.= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql.= " AND aa.active = 1)";
|
||||
$sql.= " GROUP BY t.numero_compte";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t";
|
||||
$sql .= " WHERE t.numero_compte NOT IN (";
|
||||
$sql .= " SELECT t.account_number";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as t";
|
||||
$sql .= " WHERE t.fk_accounting_category = " . $id . ")";
|
||||
$sql .= " AND t.numero_compte IN (";
|
||||
$sql .= " SELECT DISTINCT aa.account_number";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
|
||||
$sql .= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql .= " AND aa.active = 1)";
|
||||
$sql .= " GROUP BY t.numero_compte, t.label_compte, t.doc_ref";
|
||||
$sql .= " ORDER BY t.numero_compte";
|
||||
|
||||
dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG);
|
||||
$this->lines_CptBk = array ();
|
||||
|
||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$obj = '';
|
||||
$num = $this->db->num_rows($resql);
|
||||
if ($num) {
|
||||
while ( $i < $num ) {
|
||||
$obj[$i] = $this->db->fetch_object($resql);
|
||||
$i ++;
|
||||
while ( $obj = $this->db->fetch_object($resql) ) {
|
||||
$this->lines_cptbk[] = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
return $obj;
|
||||
return $num;
|
||||
} else {
|
||||
$this->error = "Error " . $this->db->lasterror();
|
||||
dol_syslog(__METHOD__ . " " . $this->error, LOG_ERR);
|
||||
$this->errors[] = $this->error;
|
||||
dol_syslog(__METHOD__ . " " . implode(',' . $this->errors), LOG_ERR);
|
||||
|
||||
return -1;
|
||||
return - 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Function to add an accounting account in an accounting category
|
||||
*
|
||||
* @param int $id_cat Id category
|
||||
* @param array $cpts list of accounts array
|
||||
* @param int $id_cat Id category
|
||||
* @param array $cpts list of accounts array
|
||||
*
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function updateAccAcc($id_cat, $cpts = array())
|
||||
{
|
||||
public function updateAccAcc($id_cat, $cpts = array()) {
|
||||
global $conf;
|
||||
$error = 0;
|
||||
|
||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql.= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
|
||||
$sql.= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql.= " AND aa.active = 1";
|
||||
$sql.= " SET fk_accounting_category=" . $id_cat;
|
||||
$sql.= " WHERE aa.account_number IN (" . join(',',$cpts) .")";
|
||||
$this->db->begin();
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
||||
|
||||
dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG);
|
||||
$sql = "SELECT aa.rowid,aa.account_number ";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
|
||||
$sql .= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql .= " AND aa.active = 1";
|
||||
|
||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) {
|
||||
$error ++;
|
||||
$this->errors[] = "Error " . $this->db->lasterror();
|
||||
return -1;
|
||||
}
|
||||
|
||||
$this->db->begin();
|
||||
while ( $obj = $this->db->fetch_object($resql)) {
|
||||
if (array_key_exists(length_accountg($obj->account_number), $cpts)) {
|
||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account";
|
||||
$sql .= " SET fk_accounting_category=" . $id_cat;
|
||||
$sql .= " WHERE rowid=".$obj->rowid;
|
||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) {
|
||||
$error ++;
|
||||
$this->errors[] = "Error " . $this->db->lasterror();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Commit or rollback
|
||||
if ($error) {
|
||||
foreach ($this->errors as $errmsg) {
|
||||
foreach ( $this->errors as $errmsg ) {
|
||||
dol_syslog(__METHOD__ . " " . $errmsg, LOG_ERR);
|
||||
$this->error.=($this->error ? ', ' . $errmsg : $errmsg);
|
||||
$this->error .= ($this->error ? ', ' . $errmsg : $errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
|
||||
return -1 * $error;
|
||||
return - 1 * $error;
|
||||
} else {
|
||||
$this->db->commit();
|
||||
|
||||
@@ -178,17 +194,16 @@ class AccountancyCategory
|
||||
/**
|
||||
* Function to delete an accounting account from an accounting category
|
||||
*
|
||||
* @param int $cpt_id Id of accounting account
|
||||
* @param int $cpt_id Id of accounting account
|
||||
*
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
public function deleteCptCat($cpt_id)
|
||||
{
|
||||
public function deleteCptCat($cpt_id) {
|
||||
$error = 0;
|
||||
|
||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql.= " SET fk_accounting_category= 0";
|
||||
$sql.= " WHERE aa.rowid= " . $cpt_id;
|
||||
$sql .= " SET fk_accounting_category= 0";
|
||||
$sql .= " WHERE aa.rowid= " . $cpt_id;
|
||||
$this->db->begin();
|
||||
|
||||
dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG);
|
||||
@@ -200,13 +215,13 @@ class AccountancyCategory
|
||||
|
||||
// Commit or rollback
|
||||
if ($error) {
|
||||
foreach ($this->errors as $errmsg) {
|
||||
foreach ( $this->errors as $errmsg ) {
|
||||
dol_syslog(__METHOD__ . " " . $errmsg, LOG_ERR);
|
||||
$this->error.=($this->error ? ', ' . $errmsg : $errmsg);
|
||||
$this->error .= ($this->error ? ', ' . $errmsg : $errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
|
||||
return -1 * $error;
|
||||
return - 1 * $error;
|
||||
} else {
|
||||
$this->db->commit();
|
||||
|
||||
@@ -217,57 +232,51 @@ class AccountancyCategory
|
||||
/**
|
||||
* Function to know all category from accounting account
|
||||
*
|
||||
* @return array Result in table
|
||||
* @return array Result in table
|
||||
*/
|
||||
public function getCatsCpts()
|
||||
{
|
||||
public function getCatsCpts() {
|
||||
global $mysoc;
|
||||
$sql = "";
|
||||
|
||||
if (empty($mysoc->country_id) && empty($mysoc->country_code))
|
||||
{
|
||||
dol_print_error('','Call to select_accounting_account with mysoc country not yet defined');
|
||||
exit;
|
||||
}
|
||||
if (empty($mysoc->country_id) && empty($mysoc->country_code)) {
|
||||
dol_print_error('', 'Call to select_accounting_account with mysoc country not yet defined');
|
||||
exit();
|
||||
}
|
||||
|
||||
if (! empty($mysoc->country_id))
|
||||
{
|
||||
$sql = "SELECT t.rowid, t.account_number, t.label as name_cpt, cat.code, cat.position, cat.label as name_cat, cat.sens ";
|
||||
$sql.= " FROM " . MAIN_DB_PREFIX . "accounting_account as t, ".MAIN_DB_PREFIX."c_accounting_category as cat";
|
||||
$sql.= " WHERE t.fk_accounting_category IN ( SELECT c.rowid ";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_accounting_category as c";
|
||||
$sql.= " WHERE c.active = 1";
|
||||
$sql.= " AND c.fk_country = ".$mysoc->country_id.")";
|
||||
$sql.= " AND cat.rowid = t.fk_accounting_category";
|
||||
$sql.= " ORDER BY cat.position ASC";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = "SELECT c.rowid, c.code, c.label, c.category_type ";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_accounting_category as c, ".MAIN_DB_PREFIX."c_country as co";
|
||||
$sql.= " WHERE c.active = 1 AND c.fk_country = co.rowid";
|
||||
$sql.= " AND co.code = '".$mysoc->country_code."'";
|
||||
$sql.= " ORDER BY c.position ASC";
|
||||
}
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if (! empty($mysoc->country_id)) {
|
||||
$sql = "SELECT t.rowid, t.account_number, t.label as name_cpt, cat.code, cat.position, cat.label as name_cat, cat.sens ";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as t, " . MAIN_DB_PREFIX . "c_accounting_category as cat";
|
||||
$sql .= " WHERE t.fk_accounting_category IN ( SELECT c.rowid ";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "c_accounting_category as c";
|
||||
$sql .= " WHERE c.active = 1";
|
||||
$sql .= " AND c.fk_country = " . $mysoc->country_id . ")";
|
||||
$sql .= " AND cat.rowid = t.fk_accounting_category";
|
||||
$sql .= " ORDER BY cat.position ASC";
|
||||
} else {
|
||||
$sql = "SELECT c.rowid, c.code, c.label, c.category_type ";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "c_accounting_category as c, " . MAIN_DB_PREFIX . "c_country as co";
|
||||
$sql .= " WHERE c.active = 1 AND c.fk_country = co.rowid";
|
||||
$sql .= " AND co.code = '" . $mysoc->country_code . "'";
|
||||
$sql .= " ORDER BY c.position ASC";
|
||||
}
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$obj = '';
|
||||
$num = $this->db->num_rows($resql);
|
||||
$data = array();
|
||||
$data = array ();
|
||||
if ($num) {
|
||||
while ( $i < $num ) {
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
while ( $obj = $this->db->fetch_object($resql) ) {
|
||||
$name_cat = $obj->name_cat;
|
||||
$data[$name_cat][$i] = array(
|
||||
'id' => $obj->rowid,
|
||||
'code' => $obj->code,
|
||||
'position' => $obj->position,
|
||||
'account_number' => $obj->account_number,
|
||||
'name_cpt' => $obj->name_cpt,
|
||||
'sens' => $obj->sens,
|
||||
);
|
||||
$data[$name_cat][$i] = array (
|
||||
'id' => $obj->rowid,
|
||||
'code' => $obj->code,
|
||||
'position' => $obj->position,
|
||||
'account_number' => $obj->account_number,
|
||||
'name_cpt' => $obj->name_cpt,
|
||||
'sens' => $obj->sens
|
||||
);
|
||||
$i ++;
|
||||
}
|
||||
}
|
||||
@@ -276,29 +285,28 @@ class AccountancyCategory
|
||||
$this->error = "Error " . $this->db->lasterror();
|
||||
dol_syslog(__METHOD__ . " " . $this->error, LOG_ERR);
|
||||
|
||||
return -1;
|
||||
return - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to show result of an accounting account from the general ledger with a sens and a period
|
||||
*
|
||||
* @param int $cpt Id accounting account
|
||||
* @param string $month Specifig month - Can be empty
|
||||
* @param string $year Specific year
|
||||
* @param int $sens Sens of the account 0: credit - debit 1: debit - credit
|
||||
*
|
||||
* @return array Result in table
|
||||
* @param int $cpt Id accounting account
|
||||
* @param string $month Specifig month - Can be empty
|
||||
* @param string $year Specific year
|
||||
* @param int $sens Sens of the account 0: credit - debit 1: debit - credit
|
||||
*
|
||||
* @return integer Result in table
|
||||
*/
|
||||
public function getResult($cpt, $month, $year, $sens)
|
||||
{
|
||||
$sql = "SELECT SUM(t.debit) as debit, SUM(t.credit) as credit";
|
||||
$sql.= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t";
|
||||
$sql.= " WHERE t.numero_compte = " . $cpt;
|
||||
$sql.= " AND YEAR(t.doc_date) = " . $year;
|
||||
public function getResult($cpt, $month, $year, $sens) {
|
||||
$sql = "SELECT SUM(t.debit) as debit, SUM(t.credit) as credit";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as t";
|
||||
$sql .= " WHERE t.numero_compte = '" . $cpt."'";
|
||||
$sql .= " AND YEAR(t.doc_date) = " . $year;
|
||||
|
||||
if(! empty($month)){
|
||||
$sql.= " AND MONTH(t.doc_date) = " . $month;
|
||||
if (! empty($month)) {
|
||||
$sql .= " AND MONTH(t.doc_date) = " . $month;
|
||||
}
|
||||
|
||||
dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG);
|
||||
@@ -306,81 +314,77 @@ class AccountancyCategory
|
||||
|
||||
if ($resql) {
|
||||
$num = $this->db->num_rows($resql);
|
||||
$sdc = 0;
|
||||
$this->sdc = 0;
|
||||
if ($num) {
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
if($sens == 1){
|
||||
$sdc = $obj->debit - $obj->credit;
|
||||
}else{
|
||||
$sdc = $obj->credit - $obj->debit;
|
||||
if ($sens == 1) {
|
||||
$this->sdc = $obj->debit - $obj->credit;
|
||||
} else {
|
||||
$this->sdc = $obj->credit - $obj->debit;
|
||||
}
|
||||
}
|
||||
return $sdc;
|
||||
return $num;
|
||||
} else {
|
||||
$this->error = "Error " . $this->db->lasterror();
|
||||
dol_syslog(__METHOD__ . " " . $this->error, LOG_ERR);
|
||||
|
||||
return -1;
|
||||
return - 1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to call category from a specific country
|
||||
*
|
||||
* @return array Result in table
|
||||
* @return array Result in table
|
||||
*/
|
||||
public function getCatsCal()
|
||||
{
|
||||
global $db,$langs,$user,$mysoc;
|
||||
public function getCatsCal() {
|
||||
global $db, $langs, $user, $mysoc;
|
||||
|
||||
if (empty($mysoc->country_id) && empty($mysoc->country_code))
|
||||
{
|
||||
dol_print_error('','Call to select_accounting_account with mysoc country not yet defined');
|
||||
exit;
|
||||
}
|
||||
if (empty($mysoc->country_id) && empty($mysoc->country_code)) {
|
||||
dol_print_error('', 'Call to select_accounting_account with mysoc country not yet defined');
|
||||
exit();
|
||||
}
|
||||
|
||||
if (! empty($mysoc->country_id))
|
||||
{
|
||||
$sql = "SELECT c.rowid, c.code, c.label, c.formula, c.position";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_accounting_category as c";
|
||||
$sql.= " WHERE c.active = 1 AND c.category_type = 1 ";
|
||||
$sql.= " AND c.fk_country = ".$mysoc->country_id;
|
||||
$sql.= " ORDER BY c.position ASC";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = "SELECT c.rowid, c.code, c.label, c.formula, c.position";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_accounting_category as c, ".MAIN_DB_PREFIX."c_country as co";
|
||||
$sql.= " WHERE c.active = 1 AND c.category_type = 1 AND c.fk_country = co.rowid";
|
||||
$sql.= " AND co.code = '".$mysoc->country_code."'";
|
||||
$sql.= " ORDER BY c.position ASC";
|
||||
}
|
||||
if (! empty($mysoc->country_id)) {
|
||||
$sql = "SELECT c.rowid, c.code, c.label, c.formula, c.position";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "c_accounting_category as c";
|
||||
$sql .= " WHERE c.active = 1 AND c.category_type = 1 ";
|
||||
$sql .= " AND c.fk_country = " . $mysoc->country_id;
|
||||
$sql .= " ORDER BY c.position ASC";
|
||||
} else {
|
||||
$sql = "SELECT c.rowid, c.code, c.label, c.formula, c.position";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "c_accounting_category as c, " . MAIN_DB_PREFIX . "c_country as co";
|
||||
$sql .= " WHERE c.active = 1 AND c.category_type = 1 AND c.fk_country = co.rowid";
|
||||
$sql .= " AND co.code = '" . $mysoc->country_code . "'";
|
||||
$sql .= " ORDER BY c.position ASC";
|
||||
}
|
||||
|
||||
dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG);
|
||||
dol_syslog(__METHOD__ . " sql=" . $sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$obj = '';
|
||||
$num = $this->db->num_rows($resql);
|
||||
$data = array();
|
||||
$data = array ();
|
||||
if ($num) {
|
||||
while ( $i < $num ) {
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
$position = $obj->position;
|
||||
$data[$position] = array(
|
||||
'code' => $obj->code,
|
||||
'label' => $obj->label,
|
||||
'formula' => $obj->formula
|
||||
);
|
||||
$data[$position] = array (
|
||||
'code' => $obj->code,
|
||||
'label' => $obj->label,
|
||||
'formula' => $obj->formula
|
||||
);
|
||||
$i ++;
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
} else {
|
||||
$this->error = "Error " . $this->db->lasterror();
|
||||
dol_syslog(__METHOD__ . " " . $this->error, LOG_ERR);
|
||||
$this->errors[] = $this->error;
|
||||
dol_syslog(__METHOD__ . " " . implode(',' . $this->errors), LOG_ERR);
|
||||
|
||||
return -1;
|
||||
return - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ class AccountancyExport
|
||||
public static $EXPORT_TYPE_CIEL = 5;
|
||||
public static $EXPORT_TYPE_QUADRATUS = 6;
|
||||
public static $EXPORT_TYPE_EBP = 7;
|
||||
public static $EXPORT_TYPE_COGILOG = 8;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -91,6 +92,7 @@ class AccountancyExport
|
||||
self::$EXPORT_TYPE_CIEL => $langs->trans('Modelcsv_ciel'),
|
||||
self::$EXPORT_TYPE_QUADRATUS => $langs->trans('Modelcsv_quadratus'),
|
||||
self::$EXPORT_TYPE_EBP => $langs->trans('Modelcsv_ebp'),
|
||||
self::$EXPORT_TYPE_COGILOG => $langs->trans('Modelcsv_cogilog'),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -137,7 +139,10 @@ class AccountancyExport
|
||||
case self::$EXPORT_TYPE_EBP :
|
||||
$this->exportEbp($TData);
|
||||
break;
|
||||
default :
|
||||
case self::$EXPORT_TYPE_COGILOG :
|
||||
$this->exportCogilog($TData);
|
||||
break;
|
||||
default:
|
||||
$this->errors[] = $langs->trans('accountancy_error_modelnotfound');
|
||||
break;
|
||||
}
|
||||
@@ -151,6 +156,8 @@ class AccountancyExport
|
||||
* @return void
|
||||
*/
|
||||
public function exportNormal($objectLines) {
|
||||
global $conf;
|
||||
|
||||
foreach ( $objectLines as $line ) {
|
||||
// Std export
|
||||
$date = dol_print_date($line->doc_date, $conf->global->ACCOUNTING_EXPORT_DATE);
|
||||
@@ -188,6 +195,37 @@ class AccountancyExport
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Export format : COGILOG
|
||||
*
|
||||
* @param array $objectLines data
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function exportCogilog($objectLines) {
|
||||
foreach ( $objectLines as $line ) {
|
||||
$date = dol_print_date($line->doc_date, '%d%m%Y');
|
||||
|
||||
print $line->code_journal . $this->separator;
|
||||
print $date . $this->separator;
|
||||
print $line->piece_num . $this->separator;
|
||||
print length_accountg($line->numero_compte) . $this->separator;
|
||||
print '' . $this->separator;
|
||||
print $line->label_compte . $this->separator;
|
||||
print $date . $this->separator;
|
||||
if ($line->sens=='D') {
|
||||
print price($line->montant) . $this->separator;
|
||||
print '' . $this->separator;
|
||||
}elseif ($line->sens=='C') {
|
||||
print '' . $this->separator;
|
||||
print price($line->montant) . $this->separator;
|
||||
}
|
||||
print $line->doc_ref . $this->separator;
|
||||
print $line->label_compte . $this->separator;
|
||||
print $this->end_line;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Export format : COALA
|
||||
*
|
||||
@@ -257,6 +295,8 @@ class AccountancyExport
|
||||
public function exportCiel(&$TData) {
|
||||
global $conf;
|
||||
|
||||
$this->end_line ="\r\n";
|
||||
|
||||
$i = 1;
|
||||
$date_ecriture = dol_print_date(time(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be yyyymmdd
|
||||
foreach ( $TData as $data ) {
|
||||
@@ -295,6 +335,8 @@ class AccountancyExport
|
||||
public function exportQuadratus(&$TData) {
|
||||
global $conf;
|
||||
|
||||
$this->end_line ="\r\n";
|
||||
|
||||
$date_ecriture = dol_print_date(time(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be ddmmyy
|
||||
foreach ( $TData as $data ) {
|
||||
$code_compta = $data->numero_compte;
|
||||
|
||||
@@ -58,7 +58,7 @@ class FormVentilation extends Form
|
||||
|
||||
return Form::selectarray($htmlname, $options, $selectedkey);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return list of accounts with label by chart of accounts
|
||||
*
|
||||
@@ -69,23 +69,23 @@ class FormVentilation extends Form
|
||||
* @param int $select_in $selectid value is a aa.rowid (0 default) or aa.account_number (1)
|
||||
* @param int $select_out set value returned by select 0=rowid (default), 1=account_number
|
||||
* @param int $aabase set accounting_account base class to display empty=all or from 1 to 8 will display only account beginning by this number
|
||||
*
|
||||
*
|
||||
* @return string String with HTML select
|
||||
*/
|
||||
function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array(), $select_in = 0, $select_out = 0, $aabase = '') {
|
||||
global $conf;
|
||||
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
|
||||
|
||||
$trunclength = defined('ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT') ? $conf->global->ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT : 50;
|
||||
|
||||
|
||||
$sql = "SELECT DISTINCT aa.account_number, aa.label, aa.rowid, aa.fk_pcg_version";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
|
||||
$sql .= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql .= " AND aa.active = 1";
|
||||
$sql .= " ORDER BY aa.account_number";
|
||||
|
||||
|
||||
dol_syslog(get_class($this) . "::select_account", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
@@ -127,7 +127,7 @@ class FormVentilation extends Form
|
||||
$this->db->free($resql);
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return list of accounts with label by class of accounts
|
||||
*
|
||||
@@ -135,18 +135,18 @@ class FormVentilation extends Form
|
||||
* @param string $htmlname Name of field in html form
|
||||
* @param int $showempty Add an empty field
|
||||
* @param array $event Event options
|
||||
*
|
||||
*
|
||||
* @return string String with HTML select
|
||||
*/
|
||||
function select_pcgtype($selectid, $htmlname = 'pcg_type', $showempty = 0, $event = array()) {
|
||||
global $conf;
|
||||
|
||||
|
||||
$sql = "SELECT DISTINCT pcg_type ";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
|
||||
$sql .= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql .= " ORDER BY pcg_type";
|
||||
|
||||
|
||||
dol_syslog(get_class($this) . "::select_pcgtype", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
@@ -168,7 +168,7 @@ class FormVentilation extends Form
|
||||
$this->db->free($resql);
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return list of accounts with label by sub_class of accounts
|
||||
*
|
||||
@@ -176,18 +176,18 @@ class FormVentilation extends Form
|
||||
* @param string $htmlname Name of field in html form
|
||||
* @param int $showempty Add an empty field
|
||||
* @param array $event Event options
|
||||
*
|
||||
*
|
||||
* @return string String with HTML select
|
||||
*/
|
||||
function select_pcgsubtype($selectid, $htmlname = 'pcg_subtype', $showempty = 0, $event = array()) {
|
||||
global $conf;
|
||||
|
||||
|
||||
$sql = "SELECT DISTINCT pcg_subtype ";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_account as aa";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
|
||||
$sql .= " AND asy.rowid = " . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql .= " ORDER BY pcg_subtype";
|
||||
|
||||
|
||||
dol_syslog(get_class($this) . "::select_pcgsubtype", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
@@ -209,7 +209,7 @@ class FormVentilation extends Form
|
||||
$this->db->free($resql);
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return list of auxilary thirdparty accounts
|
||||
*
|
||||
@@ -217,7 +217,7 @@ class FormVentilation extends Form
|
||||
* @param string $htmlname Name of field in html form
|
||||
* @param int $showempty Add an empty field
|
||||
* @param array $event Event options
|
||||
*
|
||||
*
|
||||
* @return string String with HTML select
|
||||
*/
|
||||
function select_auxaccount($selectid, $htmlname = 'account_num_aux', $showempty = 0, $event = array()) {
|
||||
@@ -246,7 +246,7 @@ class FormVentilation extends Form
|
||||
// Auxiliary supplier account
|
||||
$sql = "SELECT DISTINCT code_compta_fournisseur, nom ";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe";
|
||||
$sql .= " ORDER BY code_compta";
|
||||
$sql .= " ORDER BY code_compta_fournisseur";
|
||||
dol_syslog(get_class($this)."::select_auxaccount", LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
@@ -268,7 +268,7 @@ class FormVentilation extends Form
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return HTML combo list of years existing into book keepping
|
||||
*
|
||||
@@ -284,7 +284,7 @@ class FormVentilation extends Form
|
||||
|
||||
$sql = "SELECT DISTINCT date_format(doc_date,'%Y') as dtyear";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping";
|
||||
$sql .= " ORDER BY doc_date";
|
||||
$sql .= " ORDER BY date_format(doc_date,'%Y')";
|
||||
dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
@@ -304,4 +304,40 @@ class FormVentilation extends Form
|
||||
return $out_array;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return HTML combo list of years existing into book keepping
|
||||
*
|
||||
* @param string $selected Preselected value
|
||||
* @param string $htmlname Name of HTML select object
|
||||
* @param int $useempty Affiche valeur vide dans liste
|
||||
* @param string $output_format (html/opton (for option html only)/array (to return options arrays
|
||||
* @return string/array
|
||||
*/
|
||||
function selectjournal_accountancy_bookkepping($selected = '', $htmlname = 'journalid', $useempty = 0, $output_format = 'html')
|
||||
{
|
||||
$out_array = array();
|
||||
|
||||
$sql = "SELECT DISTINCT code_journal";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping";
|
||||
$sql .= " ORDER BY code_journal";
|
||||
dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
if (!$resql) {
|
||||
$this->error = "Error ".$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::".__METHOD__.$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
while ($obj = $this->db->fetch_object($resql)) {
|
||||
$out_array[$obj->code_journal] = $obj->code_journal;
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
if ($output_format == 'html') {
|
||||
return Form::selectarray($htmlname, $out_array, $selected, $useempty, 0, 0, 'placeholder="aa"');
|
||||
} else {
|
||||
return $out_array;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ if ($user->societe_id > 0)
|
||||
accessforbidden();
|
||||
if (! $user->rights->accounting->ventilation->read)
|
||||
accessforbidden();
|
||||
|
||||
|
||||
// Filter
|
||||
$year = $_GET["year"];
|
||||
if ($year == 0) {
|
||||
@@ -57,17 +57,17 @@ if ($year == 0) {
|
||||
// Validate History
|
||||
$action = GETPOST('action');
|
||||
if ($action == 'validatehistory') {
|
||||
|
||||
|
||||
$error = 0;
|
||||
$db->begin();
|
||||
|
||||
|
||||
if ($db->type == 'pgsql') {
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet";
|
||||
$sql1 .= " SET fk_code_ventilation = accnt.rowid";
|
||||
$sql1 .= " FROM " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
|
||||
$sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql1 .= " WHERE " . MAIN_DB_PREFIX . "facturedet.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number";
|
||||
$sql1 .= " AND fd.fk_code_ventilation = 0";
|
||||
$sql1 .= " AND " . MAIN_DB_PREFIX . "facturedet.fk_code_ventilation = 0";
|
||||
} else {
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
|
||||
@@ -75,9 +75,9 @@ if ($action == 'validatehistory') {
|
||||
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number";
|
||||
$sql1 .= " AND fd.fk_code_ventilation = 0";
|
||||
}
|
||||
|
||||
|
||||
dol_syslog("htdocs/accountancy/customer/index.php sql=" . $sql, LOG_DEBUG);
|
||||
|
||||
|
||||
$resql1 = $db->query($sql1);
|
||||
if (! $resql1) {
|
||||
$error ++;
|
||||
@@ -90,7 +90,7 @@ if ($action == 'validatehistory') {
|
||||
} elseif ($action == 'fixaccountancycode') {
|
||||
$error = 0;
|
||||
$db->begin();
|
||||
|
||||
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
|
||||
@@ -98,9 +98,9 @@ if ($action == 'validatehistory') {
|
||||
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
|
||||
$sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst';
|
||||
$sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')';
|
||||
|
||||
|
||||
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||
|
||||
|
||||
$resql1 = $db->query($sql1);
|
||||
if (! $resql1) {
|
||||
$error ++;
|
||||
@@ -113,15 +113,15 @@ if ($action == 'validatehistory') {
|
||||
} elseif ($action == 'cleanaccountancycode') {
|
||||
$error = 0;
|
||||
$db->begin();
|
||||
|
||||
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||
$sql1 .= " WHERE fd.fk_facture IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture as f";
|
||||
$sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
|
||||
$sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')";
|
||||
|
||||
|
||||
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||
|
||||
|
||||
$resql1 = $db->query($sql1);
|
||||
if (! $resql1) {
|
||||
$error ++;
|
||||
@@ -196,11 +196,10 @@ $sql .= " GROUP BY fd.fk_code_ventilation,aa.account_number,aa.label";
|
||||
dol_syslog("htdocs/accountancy/customer/index.php sql=" . $sql, LOG_DEBUG);
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
while ( $i < $num ) {
|
||||
$row = $db->fetch_row($resql);
|
||||
|
||||
while ( $row = $db->fetch_row($resql)) {
|
||||
|
||||
$var = ! $var;
|
||||
print '<tr ' . $bc[$var] . '><td>' . length_accountg($row[0]) . '</td>';
|
||||
print '<td align="left">' . $row[1] . '</td>';
|
||||
@@ -210,7 +209,6 @@ if ($resql) {
|
||||
print '<td align="right">' . price($row[13]) . '</td>';
|
||||
print '<td align="right"><b>' . price($row[14]) . '</b></td>';
|
||||
print '</tr>';
|
||||
$i ++;
|
||||
}
|
||||
$db->free($resql);
|
||||
} else {
|
||||
@@ -245,10 +243,8 @@ $resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
while ( $i < $num ) {
|
||||
$row = $db->fetch_row($resql);
|
||||
|
||||
|
||||
while ($row = $db->fetch_row($resql)) {
|
||||
print '<tr><td>' . $row[0] . '</td>';
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
print '<td align="right">' . price($row[$i]) . '</td>';
|
||||
@@ -271,37 +267,34 @@ if (! empty($conf->margin->enabled)) {
|
||||
print '<td width="60" align="center">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
|
||||
}
|
||||
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
|
||||
|
||||
$sql = "SELECT '" . $langs->trans("Vide") . "' AS 'Marge',";
|
||||
|
||||
$sql = "SELECT '" . $langs->trans("Vide") . "' AS marge,";
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
$sql .= " SUM(" . $db->ifsql('MONTH(f.datef)=' . $i, '(fd.total_ht-(fd.qty * fd.buy_price_ht))', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
|
||||
}
|
||||
$sql .= " SUM((fd.total_ht-(fd.qty * fd.buy_price_ht))) as 'Total'";
|
||||
$sql .= " SUM((fd.total_ht-(fd.qty * fd.buy_price_ht))) as total";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture as f ON f.rowid = fd.fk_facture";
|
||||
$sql .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($y, 1, false)) . "'";
|
||||
$sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'";
|
||||
|
||||
|
||||
if (! empty($conf->multicompany->enabled)) {
|
||||
$sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")";
|
||||
}
|
||||
|
||||
|
||||
dol_syslog('htdocs/accountancy/customer/index.php:: $sql=' . $sql);
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
while ( $i < $num ) {
|
||||
$row = $db->fetch_row($resql);
|
||||
|
||||
|
||||
while ($row = $db->fetch_row($resql)) {
|
||||
|
||||
print '<tr><td>' . $row[0] . '</td>';
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
print '<td align="right">' . price($row[$i]) . '</td>';
|
||||
}
|
||||
print '<td align="right"><b>' . price($row[13]) . '</b></td>';
|
||||
print '</tr>';
|
||||
$i ++;
|
||||
}
|
||||
$db->free($resql);
|
||||
} else {
|
||||
|
||||
@@ -185,7 +185,7 @@ $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = l.fk_product
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON p.accountancy_code_sell = aa.account_number";
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_system as accsys ON accsys.pcg_version = aa.fk_pcg_version";
|
||||
$sql .= " WHERE f.fk_statut > 0";
|
||||
$sql .= " AND fk_code_ventilation <= 0";
|
||||
$sql .= " AND l.fk_code_ventilation <= 0";
|
||||
$sql .= " AND product_type <= 2";
|
||||
$sql .= " AND (accsys.rowid='" . $conf->global->CHARTOFACCOUNTS . "' OR p.accountancy_code_sell IS NULL OR p.accountancy_code_sell ='')";
|
||||
|
||||
@@ -307,6 +307,7 @@ if ($result) {
|
||||
// Ref Invoice
|
||||
$facture_static->ref = $objp->facnumber;
|
||||
$facture_static->id = $objp->facid;
|
||||
$facture_static->type = $objp->ftype;
|
||||
print '<td>' . $facture_static->getNomUrl(1) . '</td>';
|
||||
// Ref Product
|
||||
$product_static->ref = $objp->product_ref;
|
||||
|
||||
@@ -138,7 +138,7 @@ if ($result) {
|
||||
//Define array for display vat tx
|
||||
$def_tva[$obj->rowid]=price($obj->tva_tx);
|
||||
|
||||
$tabfac[$obj->rowid]["date"] = $obj->df;
|
||||
$tabfac[$obj->rowid]["date"] = $db->jdate($obj->df);
|
||||
$tabfac[$obj->rowid]["ref"] = $obj->ref_supplier . ' (' . $obj->ref . ')';
|
||||
$tabfac[$obj->rowid]["refsologest"] = $obj->ref;
|
||||
$tabfac[$obj->rowid]["refsuppliersologest"] = $obj->ref_supplier;
|
||||
@@ -166,14 +166,13 @@ if ($action == 'writebookkeeping') {
|
||||
$now = dol_now();
|
||||
$error = 0;
|
||||
|
||||
foreach ( $tabfac as $key => $val ) {
|
||||
|
||||
foreach ($tabfac as $key => $val)
|
||||
{
|
||||
$companystatic = new Societe($db);
|
||||
$invoicestatic = new FactureFournisseur($db);
|
||||
|
||||
$invoicestatic->id = $key;
|
||||
$invoicestatic->ref = $val["ref"];
|
||||
$invoicestatic->ref = $val["refsologest"];
|
||||
$invoicestatic->ref = (string) $val["refsologest"];
|
||||
$invoicestatic->refsupplier = $val["refsuppliersologest"];
|
||||
$invoicestatic->type = $val["type"];
|
||||
$invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32));
|
||||
@@ -193,7 +192,7 @@ if ($action == 'writebookkeeping') {
|
||||
$bookkeeping->fk_doc = $key;
|
||||
$bookkeeping->fk_docdet = $val["fk_facturefourndet"];
|
||||
$bookkeeping->code_tiers = $tabcompany[$key]['code_fournisseur'];
|
||||
$bookkeeping->label_compte = utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("Code_tiers");
|
||||
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("Code_tiers");
|
||||
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER;
|
||||
$bookkeeping->montant = $mt;
|
||||
$bookkeeping->sens = ($mt >= 0) ? 'C' : 'D';
|
||||
@@ -225,7 +224,7 @@ if ($action == 'writebookkeeping') {
|
||||
$bookkeeping->fk_doc = $key;
|
||||
$bookkeeping->fk_docdet = $val["fk_facturefourndet"];
|
||||
$bookkeeping->code_tiers = '';
|
||||
$bookkeeping->label_compte = utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->refsupplier . ' - ' . utf8_decode($accountingaccount->label);
|
||||
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $accountingaccount->label;
|
||||
$bookkeeping->numero_compte = $k;
|
||||
$bookkeeping->montant = $mt;
|
||||
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
|
||||
@@ -256,7 +255,7 @@ if ($action == 'writebookkeeping') {
|
||||
$bookkeeping->fk_doc = $key;
|
||||
$bookkeeping->fk_docdet = $val["fk_facturefourndet"];
|
||||
$bookkeeping->code_tiers = '';
|
||||
$bookkeeping->label_compte = utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("VAT"). ' '.$def_tva[$key];
|
||||
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("VAT"). ' '.$def_tva[$key];
|
||||
$bookkeeping->numero_compte = $k;
|
||||
$bookkeeping->montant = $mt;
|
||||
$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
|
||||
@@ -297,7 +296,7 @@ if ($action == 'export_csv') {
|
||||
$sep = ";";
|
||||
|
||||
foreach ( $tabfac as $key => $val ) {
|
||||
$date = dol_print_date($db->jdate($val["date"]), '%d%m%Y');
|
||||
$date = dol_print_date($val["date"], '%d%m%Y');
|
||||
|
||||
// Product / Service
|
||||
foreach ( $tabht[$key] as $k => $mt ) {
|
||||
@@ -340,7 +339,7 @@ if ($action == 'export_csv') {
|
||||
print length_accounta(html_entity_decode($k)) . $sep;
|
||||
print ($mt < 0 ? 'D' : 'C') . $sep;
|
||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||
print utf8_decode($companystatic->name) . $sep;
|
||||
print $companystatic->name . $sep;
|
||||
print $val["ref"];
|
||||
print "\n";
|
||||
}
|
||||
@@ -356,7 +355,7 @@ if ($action == 'export_csv') {
|
||||
$invoicestatic->type = $val["type"];
|
||||
$invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32));
|
||||
|
||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||
$date = dol_print_date($val["date"], 'day');
|
||||
|
||||
$companystatic->id = $tabcompany[$key]['id'];
|
||||
$companystatic->name = $tabcompany[$key]['name'];
|
||||
@@ -370,7 +369,7 @@ if ($action == 'export_csv') {
|
||||
print '"' . $date . '"' . $sep;
|
||||
print '"' . $val["ref"] . '"' . $sep;
|
||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||
print '"' . utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $val["refsuppliersologest"] . ' - ' . utf8_decode(dol_trunc($accountingaccount->label, 32)) . '"' . $sep;
|
||||
print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $val["refsuppliersologest"] . ' - ' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
||||
// print '"' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
||||
@@ -384,7 +383,7 @@ if ($action == 'export_csv') {
|
||||
print '"' . $val["ref"] . '"' . $sep;
|
||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||
// print '"' . $langs->trans("VAT") . '"' . $sep;
|
||||
print '"' . utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $val["refsuppliersologest"] . ' - ' . $langs->trans("VAT") . '"' . $sep;
|
||||
print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $val["refsuppliersologest"] . ' - ' . $langs->trans("VAT") . '"' . $sep;
|
||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
||||
print "\n";
|
||||
@@ -396,8 +395,7 @@ if ($action == 'export_csv') {
|
||||
print '"' . $date . '"' . $sep;
|
||||
print '"' . $val["ref"] . '"' . $sep;
|
||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
||||
// print '"' . utf8_decode($companystatic->name) . '"' . $sep;
|
||||
print '"' . utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $val["refsuppliersologest"] . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
|
||||
print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $val["refsuppliersologest"] . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
|
||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||
}
|
||||
@@ -427,7 +425,7 @@ if ($action == 'export_csv') {
|
||||
'action' => ''
|
||||
));
|
||||
|
||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 || $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
|
||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 && $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
|
||||
print '<input type="button" class="butActionRefused" style="float: right;" value="' . $langs->trans("Export") . '" disabeld="disabled" title="' . $langs->trans('ExportNotSupported') . '"/>';
|
||||
} else {
|
||||
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
||||
@@ -479,7 +477,7 @@ if ($action == 'export_csv') {
|
||||
$invoicestatic->type = $val["type"];
|
||||
$invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32));
|
||||
|
||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||
$date = dol_print_date($val["date"], 'day');
|
||||
|
||||
// Product / Service
|
||||
foreach ( $tabht[$key] as $k => $mt ) {
|
||||
|
||||
@@ -161,7 +161,7 @@ if ($result) {
|
||||
}
|
||||
|
||||
// Invoice lines
|
||||
$tabfac[$obj->rowid]["date"] = $obj->df;
|
||||
$tabfac[$obj->rowid]["date"] = $db->jdate($obj->df);
|
||||
$tabfac[$obj->rowid]["ref"] = $obj->facnumber;
|
||||
$tabfac[$obj->rowid]["type"] = $obj->type;
|
||||
$tabfac[$obj->rowid]["description"] = $obj->label_compte;
|
||||
@@ -207,7 +207,7 @@ if ($action == 'writebookkeeping') {
|
||||
$companystatic->client = $tabcompany[$key]['code_client'];
|
||||
|
||||
$invoicestatic->id = $key;
|
||||
$invoicestatic->ref = $val["ref"];
|
||||
$invoicestatic->ref = (string) $val["ref"];
|
||||
|
||||
foreach ( $tabttc[$key] as $k => $mt ) {
|
||||
$bookkeeping = new BookKeeping($db);
|
||||
@@ -220,7 +220,7 @@ if ($action == 'writebookkeeping') {
|
||||
$bookkeeping->code_tiers = $tabcompany[$key]['code_client'];
|
||||
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
|
||||
// $bookkeeping->label_compte = $tabcompany[$key]['name'];
|
||||
$bookkeeping->label_compte = utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers");
|
||||
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers");
|
||||
$bookkeeping->montant = $mt;
|
||||
$bookkeeping->sens = ($mt >= 0) ? 'D' : 'C';
|
||||
$bookkeeping->debit = ($mt >= 0) ? $mt : 0;
|
||||
@@ -250,7 +250,7 @@ if ($action == 'writebookkeeping') {
|
||||
$bookkeeping->fk_docdet = $val["fk_facturedet"];
|
||||
$bookkeeping->code_tiers = '';
|
||||
$bookkeeping->numero_compte = $k;
|
||||
$bookkeeping->label_compte = utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . utf8_decode($accountingaccount->label);
|
||||
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount->label;
|
||||
$bookkeeping->montant = $mt;
|
||||
$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
|
||||
$bookkeeping->debit = ($mt < 0) ? $mt : 0;
|
||||
@@ -280,7 +280,7 @@ if ($action == 'writebookkeeping') {
|
||||
$bookkeeping->fk_docdet = $val["fk_facturedet"];
|
||||
$bookkeeping->code_tiers = '';
|
||||
$bookkeeping->numero_compte = $k;
|
||||
$bookkeeping->label_compte = utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT").' '.$def_tva[$key];
|
||||
$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT").' '.$def_tva[$key];
|
||||
$bookkeeping->montant = $mt;
|
||||
$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
|
||||
$bookkeeping->debit = ($mt < 0) ? $mt : 0;
|
||||
@@ -324,7 +324,7 @@ if ($action == 'export_csv') {
|
||||
$invoicestatic->id = $key;
|
||||
$invoicestatic->ref = $val["ref"];
|
||||
|
||||
$date = dol_print_date($db->jdate($val["date"]), '%d%m%Y');
|
||||
$date = dol_print_date($val["date"], '%d%m%Y');
|
||||
|
||||
foreach ( $tabttc[$key] as $k => $mt ) {
|
||||
print $date . $sep;
|
||||
@@ -333,8 +333,7 @@ if ($action == 'export_csv') {
|
||||
print length_accounta(html_entity_decode($k)) . $sep;
|
||||
print ($mt < 0 ? 'C' : 'D') . $sep;
|
||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||
print utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . $sep;
|
||||
// print utf8_decode($companystatic->name) . $sep;
|
||||
print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . $sep;
|
||||
print $val["ref"];
|
||||
print "\n";
|
||||
}
|
||||
@@ -349,8 +348,7 @@ if ($action == 'export_csv') {
|
||||
print $sep;
|
||||
print ($mt < 0 ? 'D' : 'C') . $sep;
|
||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||
print utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . utf8_decode(utf8_decode($accountingaccount_static->label)) . $sep;
|
||||
// print dol_trunc($accountingaccount_static->label, 32) . $sep;
|
||||
print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount_static->label . $sep;
|
||||
print $val["ref"];
|
||||
print "\n";
|
||||
}
|
||||
@@ -365,7 +363,7 @@ if ($action == 'export_csv') {
|
||||
print $sep;
|
||||
print ($mt < 0 ? 'D' : 'C') . $sep;
|
||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||
print utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . $sep;
|
||||
print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . $sep;
|
||||
// print $langs->trans("VAT") . $sep;
|
||||
print $val["ref"];
|
||||
print "\n";
|
||||
@@ -382,14 +380,13 @@ if ($action == 'export_csv') {
|
||||
$invoicestatic->id = $key;
|
||||
$invoicestatic->ref = $val["ref"];
|
||||
|
||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||
$date = dol_print_date($val["date"], 'day');
|
||||
|
||||
foreach ( $tabttc[$key] as $k => $mt ) {
|
||||
print '"' . $date . '"' . $sep;
|
||||
print '"' . $val["ref"] . '"' . $sep;
|
||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
||||
print '"' . utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
|
||||
// print '"' . utf8_decode($companystatic->name) . '"' . $sep;
|
||||
print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
|
||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
|
||||
print "\n";
|
||||
@@ -404,8 +401,7 @@ if ($action == 'export_csv') {
|
||||
print '"' . $date . '"' . $sep;
|
||||
print '"' . $val["ref"] . '"' . $sep;
|
||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||
print '"' . utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . utf8_decode(dol_trunc($accountingaccount->label, 32)) . '"' . $sep;
|
||||
// print '"' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
||||
print '"' . dol_trunc($companystatic->name, 16) . ' - ' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
|
||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||
print "\n";
|
||||
@@ -418,8 +414,7 @@ if ($action == 'export_csv') {
|
||||
print '"' . $date . '"' . $sep;
|
||||
print '"' . $val["ref"] . '"' . $sep;
|
||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||
print '"' . utf8_decode(dol_trunc($companystatic->name, 16)) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . '"' . $sep;
|
||||
// print '"' . $langs->trans("VAT") . '"' . $sep;
|
||||
print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . '"' . $sep;
|
||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"';
|
||||
print "\n";
|
||||
@@ -448,7 +443,7 @@ if ($action == 'export_csv') {
|
||||
'action' => ''
|
||||
));
|
||||
|
||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 || $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
|
||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 && $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
|
||||
print '<input type="button" class="butActionRefused" style="float: right;" value="' . $langs->trans("Export") . '" disabeld="disabled" title="' . $langs->trans('ExportNotSupported') . '"/>';
|
||||
} else {
|
||||
print '<input type="button" class="butAction" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
||||
@@ -497,7 +492,7 @@ if ($action == 'export_csv') {
|
||||
$invoicestatic->ref = $val["ref"];
|
||||
$invoicestatic->type = $val["type"];
|
||||
|
||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||
$date = dol_print_date($val["date"], 'day');
|
||||
|
||||
// Third party
|
||||
foreach ( $tabttc[$key] as $k => $mt ) {
|
||||
@@ -527,7 +522,7 @@ if ($action == 'export_csv') {
|
||||
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
||||
print "<td>" . length_accountg($k) . "</td>";
|
||||
// print "<td>" . $accountingaccount->label . "</td>";
|
||||
print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref . ' - ' . utf8_decode(utf8_decode($accountingaccount->label)) . "</td>";
|
||||
print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount->label . "</td>";
|
||||
print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
|
||||
print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
|
||||
print "</tr>";
|
||||
|
||||
@@ -53,7 +53,7 @@ if ($year == 0) {
|
||||
}
|
||||
|
||||
if($cat_id == 0){
|
||||
$cat_id = null;
|
||||
$cat_id = null;
|
||||
}
|
||||
|
||||
// Security check
|
||||
@@ -76,31 +76,31 @@ $textprevyear = '<a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current -
|
||||
$textnextyear = ' <a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current + 1) . '">' . img_next() . '</a>';
|
||||
|
||||
print load_fiche_titre($langs->trans('ReportInOut') . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
||||
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
$months = array( $langs->trans("JanuaryMin"),
|
||||
$langs->trans("FebruaryMin"),
|
||||
$langs->trans("MarchMin"),
|
||||
$langs->trans("AprilMin"),
|
||||
$langs->trans("MayMin"),
|
||||
$langs->trans("JuneMin"),
|
||||
$langs->trans("JulyMin"),
|
||||
$langs->trans("AugustMin"),
|
||||
$langs->trans("SeptemberMin"),
|
||||
$langs->trans("OctoberMin"),
|
||||
$langs->trans("NovemberMin"),
|
||||
|
||||
$months = array( $langs->trans("JanuaryMin"),
|
||||
$langs->trans("FebruaryMin"),
|
||||
$langs->trans("MarchMin"),
|
||||
$langs->trans("AprilMin"),
|
||||
$langs->trans("MayMin"),
|
||||
$langs->trans("JuneMin"),
|
||||
$langs->trans("JulyMin"),
|
||||
$langs->trans("AugustMin"),
|
||||
$langs->trans("SeptemberMin"),
|
||||
$langs->trans("OctoberMin"),
|
||||
$langs->trans("NovemberMin"),
|
||||
$langs->trans("DecemberMin"),
|
||||
);
|
||||
|
||||
print '<tr class="liste_titre"><th class="liste_titre">'.$langs->trans("Account").'</th>';
|
||||
print '<th class="liste_titre">'.$langs->trans("Description").'</th>';
|
||||
print '<th class="liste_titre" align="center">N-1</th>';
|
||||
print '<th class="liste_titre" align="center">N-1</th>';
|
||||
print '<th class="liste_titre" align="center">'.$langs->trans("NReal").'</th>';
|
||||
foreach($months as $k => $v){
|
||||
print '<th class="liste_titre" align="center">'.$langs->trans($v).'</th>';
|
||||
}
|
||||
print '</tr>';
|
||||
print '</tr>';
|
||||
|
||||
$cats = $AccCat->getCatsCpts();
|
||||
$catsCalcule = $AccCat->getCatsCal();
|
||||
@@ -123,22 +123,41 @@ if(!empty($cats))
|
||||
$position = $cpt['position'];
|
||||
$code = $cpt['code'];
|
||||
|
||||
$resultNP = $AccCat->getResult($cpt['account_number'], 0, $year_current -1, $cpt['dc']);
|
||||
$resultN = $AccCat->getResult($cpt['account_number'], 0, $year_current, $cpt['dc']);
|
||||
$return = $AccCat->getResult($cpt['account_number'], 0, $year_current -1, $cpt['dc']);
|
||||
if ($return < 0) {
|
||||
setEventMessages(null, $AccCat->errors, 'errors');
|
||||
$resultNP=0;
|
||||
} else {
|
||||
$resultNP=$AccCat->sdc;
|
||||
}
|
||||
|
||||
$return = $AccCat->getResult($cpt['account_number'], 0, $year_current, $cpt['dc']);
|
||||
if ($return < 0) {
|
||||
setEventMessages(null, $AccCat->errors, 'errors');
|
||||
$resultN=0;
|
||||
} else {
|
||||
$resultN=$AccCat->sdc;
|
||||
}
|
||||
$sommes[$code]['NP'] += $resultNP;
|
||||
$sommes[$code]['N'] += $resultN;
|
||||
$sommes[$code]['N'] += $resultN;
|
||||
print '<tr'. $bc[$var].'>';
|
||||
print '<td>' . $cpt['account_number'] . '</td>';
|
||||
print '<td>' . $cpt['name_cpt'] . '</td>';
|
||||
print '<td>' . price($resultNP) . '</td>';
|
||||
print '<td>' . price($resultN) . '</td>';
|
||||
|
||||
|
||||
foreach($months as $k => $v){
|
||||
$resultM = $AccCat->getResult($cpt['account_number'], $k+1, $year_current, $cpt['dc']);
|
||||
$return = $AccCat->getResult($cpt['account_number'], $k+1, $year_current, $cpt['dc']);
|
||||
if ($return < 0) {
|
||||
setEventMessages(null, $AccCat->errors, 'errors');
|
||||
$resultM=0;
|
||||
} else {
|
||||
$resultM=$AccCat->sdc;
|
||||
}
|
||||
$sommes[$code]['M'][$k] += $resultM;
|
||||
print '<td align="right">' . price($resultM) . '</td>';
|
||||
}
|
||||
|
||||
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
@@ -168,9 +187,9 @@ if(!empty($cats))
|
||||
}
|
||||
$result = strtr($formula, $vars);
|
||||
eval( '$result = (' . $result . ');' );
|
||||
print '<td align="right">' . price($result) . '</td>';
|
||||
print '<td align="right">' . price($result) . '</td>';
|
||||
$sommes[$code]['N'] += $result;
|
||||
|
||||
|
||||
// Detail by month
|
||||
foreach($months as $k => $v){
|
||||
foreach($sommes as $code => $det){
|
||||
@@ -181,14 +200,14 @@ if(!empty($cats))
|
||||
print '<td align="right">' . price($result) . '</td>';
|
||||
$sommes[$code]['M'][$k] += $result;
|
||||
}
|
||||
|
||||
|
||||
//print '<td colspan="15">' . $catsCalcule[$p]['formula'] . '</td>';
|
||||
print "</tr>\n";
|
||||
unset($catsCalcule[$p]); // j'élimine la catégorie calculée après affichage
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
|
||||
|
||||
// Others calculed category
|
||||
foreach($catsCalcule as $p => $catc)
|
||||
{
|
||||
@@ -215,7 +234,7 @@ if(!empty($cats))
|
||||
}
|
||||
$result = strtr($formula, $vars);
|
||||
eval( '$result = (' . $result . ');' );
|
||||
print '<td align="right">' . price($result) . '</td>';
|
||||
print '<td align="right">' . price($result) . '</td>';
|
||||
$sommes[$code]['N'] += $result;
|
||||
|
||||
// Detail by month
|
||||
|
||||
@@ -41,7 +41,7 @@ if ($user->societe_id > 0)
|
||||
accessforbidden();
|
||||
if (! $user->rights->accounting->ventilation->read)
|
||||
accessforbidden();
|
||||
|
||||
|
||||
// Filter
|
||||
$year = $_GET["year"];
|
||||
if ($year == 0) {
|
||||
@@ -55,17 +55,17 @@ if ($year == 0) {
|
||||
// Validate History
|
||||
$action = GETPOST('action');
|
||||
if ($action == 'validatehistory') {
|
||||
|
||||
|
||||
$error = 0;
|
||||
$db->begin();
|
||||
|
||||
|
||||
if ($db->type == 'pgsql') {
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det";
|
||||
$sql1 .= " SET fk_code_ventilation = accnt.rowid";
|
||||
$sql1 .= " FROM " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
|
||||
$sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql1 .= " WHERE " . MAIN_DB_PREFIX . "facture_fourn_det.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
|
||||
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_buy=accnt.account_number";
|
||||
$sql1 .= " AND fd.fk_code_ventilation = 0";
|
||||
$sql1 .= " AND " . MAIN_DB_PREFIX . "facture_fourn_det.fk_code_ventilation = 0";
|
||||
} else {
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
|
||||
@@ -73,7 +73,7 @@ if ($action == 'validatehistory') {
|
||||
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_buy=accnt.account_number";
|
||||
$sql1 .= " AND fd.fk_code_ventilation = 0";
|
||||
}
|
||||
|
||||
|
||||
$resql1 = $db->query($sql1);
|
||||
if (! $resql1) {
|
||||
$error ++;
|
||||
@@ -86,7 +86,7 @@ if ($action == 'validatehistory') {
|
||||
} elseif ($action == 'fixaccountancycode') {
|
||||
$error = 0;
|
||||
$db->begin();
|
||||
|
||||
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
|
||||
@@ -94,9 +94,9 @@ if ($action == 'validatehistory') {
|
||||
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
|
||||
$sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst';
|
||||
$sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')';
|
||||
|
||||
|
||||
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||
|
||||
|
||||
$resql1 = $db->query($sql1);
|
||||
if (! $resql1) {
|
||||
$error ++;
|
||||
@@ -109,15 +109,15 @@ if ($action == 'validatehistory') {
|
||||
} elseif ($action == 'cleanaccountancycode') {
|
||||
$error = 0;
|
||||
$db->begin();
|
||||
|
||||
|
||||
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
|
||||
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||
$sql1 .= " WHERE fd.fk_facture_fourn IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture_fourn as f";
|
||||
$sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
|
||||
$sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')";
|
||||
|
||||
|
||||
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||
|
||||
|
||||
$resql1 = $db->query($sql1);
|
||||
if (! $resql1) {
|
||||
$error ++;
|
||||
@@ -154,35 +154,17 @@ $var = true;
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td width="200" align="left">' . $langs->trans("Account") . '</td>';
|
||||
print '<td width="200" align="left">' . $langs->trans("Label") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("JanuaryMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("FebruaryMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("MarchMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("AprilMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("MayMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("JuneMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("JulyMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("AugustMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("SeptemberMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("OctoberMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("NovemberMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("DecemberMin") . '</td>';
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
print '<td width="60" align="center">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
|
||||
}
|
||||
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
|
||||
|
||||
$sql = "SELECT IF(aa.account_number IS NULL, 'Non pointe', aa.account_number) AS 'code comptable',";
|
||||
$sql .= " IF(aa.label IS NULL, 'Non pointe', aa.label) AS 'Intitulé',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=1,ffd.total_ht,0)),2) AS 'Janvier',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=2,ffd.total_ht,0)),2) AS 'Fevrier',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=3,ffd.total_ht,0)),2) AS 'Mars',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=4,ffd.total_ht,0)),2) AS 'Avril',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=5,ffd.total_ht,0)),2) AS 'Mai',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=6,ffd.total_ht,0)),2) AS 'Juin',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=7,ffd.total_ht,0)),2) AS 'Juillet',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=8,ffd.total_ht,0)),2) AS 'Aout',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=9,ffd.total_ht,0)),2) AS 'Septembre',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=10,ffd.total_ht,0)),2) AS 'Octobre',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=11,ffd.total_ht,0)),2) AS 'Novembre',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=12,ffd.total_ht,0)),2) AS 'Decembre',";
|
||||
$sql .= " ROUND(SUM(ffd.total_ht),2) as 'Total'";
|
||||
$sql = "SELECT ".$db->ifsql('aa.account_number IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.account_number') ." AS codecomptable,";
|
||||
$sql .= " " . $db->ifsql('aa.label IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.label') . " AS intitule,";
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
$sql .= " SUM(" . $db->ifsql('MONTH(ff.datef)=' . $i, 'ffd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
|
||||
}
|
||||
$sql .= " ROUND(SUM(ffd.total_ht),2) as total";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn_det as ffd";
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture_fourn as ff ON ff.rowid = ffd.fk_facture_fourn";
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.rowid = ffd.fk_code_ventilation";
|
||||
@@ -194,35 +176,24 @@ if (! empty($conf->multicompany->enabled)) {
|
||||
$sql .= " AND ff.entity IN (" . getEntity("facture_fourn", 1) . ")";
|
||||
}
|
||||
|
||||
$sql .= " GROUP BY ffd.fk_code_ventilation";
|
||||
$sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label";
|
||||
|
||||
dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql);
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
while ( $i < $num ) {
|
||||
|
||||
$row = $db->fetch_row($resql);
|
||||
|
||||
while ( $row = $db->fetch_row($resql)) {
|
||||
|
||||
$var = ! $var;
|
||||
print '<tr ' . $bc[$var] . '><td>' . length_accountg($row[0]) . '</td>';
|
||||
print '<td align="left">' . $row[1] . '</td>';
|
||||
print '<td align="right">' . price($row[2]) . '</td>';
|
||||
print '<td align="right">' . price($row[3]) . '</td>';
|
||||
print '<td align="right">' . price($row[4]) . '</td>';
|
||||
print '<td align="right">' . price($row[5]) . '</td>';
|
||||
print '<td align="right">' . price($row[6]) . '</td>';
|
||||
print '<td align="right">' . price($row[7]) . '</td>';
|
||||
print '<td align="right">' . price($row[8]) . '</td>';
|
||||
print '<td align="right">' . price($row[9]) . '</td>';
|
||||
print '<td align="right">' . price($row[10]) . '</td>';
|
||||
print '<td align="right">' . price($row[11]) . '</td>';
|
||||
print '<td align="right">' . price($row[12]) . '</td>';
|
||||
for($i = 2; $i <= 12; $i ++) {
|
||||
print '<td align="right">' . price($row[$i]) . '</td>';
|
||||
}
|
||||
print '<td align="right">' . price($row[13]) . '</td>';
|
||||
print '<td align="right"><b>' . price($row[14]) . '</b></td>';
|
||||
print '</tr>';
|
||||
$i ++;
|
||||
}
|
||||
$db->free($resql);
|
||||
} else {
|
||||
@@ -233,34 +204,16 @@ print "</table>\n";
|
||||
print "<br>\n";
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td width="400" align="left">' . $langs->trans("Total") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("JanuaryMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("FebruaryMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("MarchMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("AprilMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("MayMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("JuneMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("JulyMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("AugustMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("SeptemberMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("OctoberMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("NovemberMin") . '</td>';
|
||||
print '<td width="60" align="center">' . $langs->trans("DecemberMin") . '</td>';
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
print '<td width="60" align="center">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
|
||||
}
|
||||
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
|
||||
|
||||
$sql = "SELECT '" . $langs->trans("CAHTF") . "' AS 'Total',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=1,ffd.total_ht,0)),2) AS 'Janvier',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=2,ffd.total_ht,0)),2) AS 'Fevrier',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=3,ffd.total_ht,0)),2) AS 'Mars',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=4,ffd.total_ht,0)),2) AS 'Avril',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=5,ffd.total_ht,0)),2) AS 'Mai',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=6,ffd.total_ht,0)),2) AS 'Juin',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=7,ffd.total_ht,0)),2) AS 'Juillet',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=8,ffd.total_ht,0)),2) AS 'Aout',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=9,ffd.total_ht,0)),2) AS 'Septembre',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=10,ffd.total_ht,0)),2) AS 'Octobre',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=11,ffd.total_ht,0)),2) AS 'Novembre',";
|
||||
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=12,ffd.total_ht,0)),2) AS 'Decembre',";
|
||||
$sql .= " ROUND(SUM(ffd.total_ht),2) as 'Total'";
|
||||
$sql = "SELECT '" . $langs->trans("CAHTF") . "' AS label,";
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
$sql .= " SUM(" . $db->ifsql('MONTH(ff.datef)=' . $i, 'ffd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
|
||||
}
|
||||
$sql .= " ROUND(SUM(ffd.total_ht),2) as total";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn_det as ffd";
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture_fourn as ff ON ff.rowid = ffd.fk_facture_fourn";
|
||||
$sql .= " WHERE ff.datef >= '" . $db->idate(dol_get_first_day($y, 1, false)) . "'";
|
||||
@@ -274,31 +227,19 @@ if (! empty($conf->multicompany->enabled)) {
|
||||
dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql);
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$i = 0;
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
while ( $i < $num ) {
|
||||
$row = $db->fetch_row($resql);
|
||||
|
||||
|
||||
while ( $row = $db->fetch_row($resql)) {
|
||||
|
||||
|
||||
print '<tr><td>' . $row[0] . '</td>';
|
||||
print '<td align="right">' . $row[1] . '</td>';
|
||||
print '<td align="right">' . price($row[2]) . '</td>';
|
||||
print '<td align="right">' . price($row[3]) . '</td>';
|
||||
print '<td align="right">' . price($row[4]) . '</td>';
|
||||
print '<td align="right">' . price($row[5]) . '</td>';
|
||||
print '<td align="right">' . price($row[6]) . '</td>';
|
||||
print '<td align="right">' . price($row[7]) . '</td>';
|
||||
print '<td align="right">' . price($row[8]) . '</td>';
|
||||
print '<td align="right">' . price($row[9]) . '</td>';
|
||||
print '<td align="right">' . price($row[10]) . '</td>';
|
||||
print '<td align="right">' . price($row[11]) . '</td>';
|
||||
print '<td align="right">' . price($row[12]) . '</td>';
|
||||
for($i = 1; $i <= 12; $i ++) {
|
||||
print '<td align="right">' . price($row[$i]) . '</td>';
|
||||
}
|
||||
print '<td align="right"><b>' . price($row[13]) . '</b></td>';
|
||||
print '</tr>';
|
||||
|
||||
$i ++;
|
||||
}
|
||||
|
||||
|
||||
$db->free($resql);
|
||||
} else {
|
||||
print $db->lasterror(); // Show last sql error
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2012-2016 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||
* Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||
*
|
||||
* 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
|
||||
@@ -1418,11 +1418,11 @@ else
|
||||
// Login
|
||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
||||
{
|
||||
print '<tr><td>'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.' </td></tr>';
|
||||
print '<tr><td class="titlefield">'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.' </td></tr>';
|
||||
}
|
||||
|
||||
// Type
|
||||
print '<tr><td>'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
|
||||
print '<tr><td class="titlefield">'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
|
||||
|
||||
// Morphy
|
||||
print '<tr><td>'.$langs->trans("Nature").'</td><td class="valeur" >'.$object->getmorphylib().'</td>';
|
||||
@@ -1463,7 +1463,7 @@ else
|
||||
print '<table class="border tableforfield" width="100%">';
|
||||
|
||||
// Birthday
|
||||
print '<tr><td>'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
|
||||
print '<tr><td class="titlefield">'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
|
||||
|
||||
// Public
|
||||
print '<tr><td>'.$langs->trans("Public").'</td><td class="valeur">'.yn($object->public).'</td></tr>';
|
||||
|
||||
@@ -591,11 +591,11 @@ if ($rowid > 0)
|
||||
// Login
|
||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
||||
{
|
||||
print '<tr><td>'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.' </td></tr>';
|
||||
print '<tr><td class="titlefield">'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.' </td></tr>';
|
||||
}
|
||||
|
||||
// Type
|
||||
print '<tr><td>'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
|
||||
print '<tr><td class="titlefield">'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
|
||||
|
||||
// Morphy
|
||||
print '<tr><td>'.$langs->trans("Nature").'</td><td class="valeur" >'.$object->getmorphylib().'</td>';
|
||||
@@ -630,7 +630,7 @@ if ($rowid > 0)
|
||||
print '<table class="border tableforfield" width="100%">';
|
||||
|
||||
// Birthday
|
||||
print '<tr><td>'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
|
||||
print '<tr><td class="titlefield">'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
|
||||
|
||||
// Public
|
||||
print '<tr><td>'.$langs->trans("Public").'</td><td class="valeur">'.yn($object->public).'</td></tr>';
|
||||
|
||||
@@ -316,7 +316,7 @@ class Adherent extends CommonObject
|
||||
if ($id > 0)
|
||||
{
|
||||
$this->id=$id;
|
||||
$this->ref=$id;
|
||||
$this->ref=(string) $id;
|
||||
|
||||
// Update minor fields
|
||||
$result=$this->update($user,1,1,0,0,'add'); // nosync is 1 to avoid update data of user
|
||||
@@ -1578,6 +1578,7 @@ class Adherent extends CommonObject
|
||||
$label.= '<br><b>' . $langs->trans('Name') . ':</b> ' . $this->getFullName($langs);
|
||||
$linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
|
||||
|
||||
$link=''; $linkend='';
|
||||
if ($option == 'card')
|
||||
{
|
||||
$link = '<a href="'.DOL_URL_ROOT.'/adherents/card.php?rowid='.$this->id.$linkclose;
|
||||
|
||||
@@ -190,11 +190,12 @@ class Cotisation extends CommonObject
|
||||
*/
|
||||
function delete($user)
|
||||
{
|
||||
$accountline=new AccountLine($this->db);
|
||||
|
||||
// It subscription is linked to a bank transaction, we get it
|
||||
if ($this->fk_bank)
|
||||
if ($this->fk_bank > 0)
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
||||
$accountline=new AccountLine($this->db);
|
||||
$result=$accountline->fetch($this->fk_bank);
|
||||
}
|
||||
|
||||
@@ -213,7 +214,7 @@ class Cotisation extends CommonObject
|
||||
$result=$member->fetch($this->fk_adherent);
|
||||
$result=$member->update_end_date($user);
|
||||
|
||||
if ($accountline->id > 0) // If we found bank account line (this means this->fk_bank defined)
|
||||
if (is_object($accountline) && $accountline->id > 0) // If we found bank account line (this means this->fk_bank defined)
|
||||
{
|
||||
$result=$accountline->delete($user); // Return false if refused because line is conciliated
|
||||
if ($result > 0)
|
||||
|
||||
@@ -83,7 +83,7 @@ $search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search
|
||||
// List of fields to search into when doing a "search in all"
|
||||
$fieldstosearchall = array(
|
||||
'd.rowid'=>'Ref',
|
||||
//'d.ref'=>'Ref',
|
||||
'd.login'=>'Login',
|
||||
'd.lastname'=>'Lastname',
|
||||
'd.firstname'=>'Firstname',
|
||||
'd.login'=>'Login',
|
||||
@@ -610,6 +610,13 @@ if ($resql)
|
||||
print "<td>";
|
||||
print $memberstatic->getNomUrl(1);
|
||||
print "</td>\n";
|
||||
}
|
||||
// Firstname
|
||||
if (! empty($arrayfields['d.firstname']['checked']))
|
||||
{
|
||||
print "<td>";
|
||||
print $obj->firstname;
|
||||
print "</td>\n";
|
||||
}
|
||||
// Lastname
|
||||
if (! empty($arrayfields['d.lastname']['checked']))
|
||||
@@ -617,13 +624,6 @@ if ($resql)
|
||||
print "<td>";
|
||||
print $obj->lastname;
|
||||
print "</td>\n";
|
||||
}
|
||||
// Firstname
|
||||
if (! empty($arrayfields['d.firstname']['checked']))
|
||||
{
|
||||
print "<td>";
|
||||
print $obj->firstname;
|
||||
print "</td>\n";
|
||||
}
|
||||
// Company
|
||||
if (! empty($arrayfields['d.company']['checked']))
|
||||
|
||||
@@ -54,7 +54,7 @@ $langs->load("companies");
|
||||
|
||||
$memberstatic=new Adherent($db);
|
||||
|
||||
llxHeader('',$langs->trans("MembersStatisticsByProperties"),'','',0,0,array('http://www.google.com/jsapi'));
|
||||
llxHeader('',$langs->trans("MembersStatisticsByProperties"),'','',0,0,array('https://www.google.com/jsapi'));
|
||||
|
||||
$title=$langs->trans("MembersStatisticsByProperties");
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ $langs->load("companies");
|
||||
* View
|
||||
*/
|
||||
|
||||
$arrayjs=array('http://www.google.com/jsapi');
|
||||
$arrayjs=array('https://www.google.com/jsapi');
|
||||
if (! empty($conf->dol_use_jmobile)) $arrayjs=array();
|
||||
|
||||
$title=$langs->trans("Statistics");
|
||||
|
||||