Compare commits

...

850 Commits
2.8.1 ... 2.9.0

Author SHA1 Message Date
Regis Houssin
223ef4b268 Fix: bad sql request 2011-01-21 18:26:20 +00:00
Regis Houssin
e5ade4df2b Fix: bad conversion if records is a float number 2010-11-06 19:01:59 +00:00
Regis Houssin
97de42742c Fix: bad conversion if records is a float number 2010-11-06 18:31:33 +00:00
Regis Houssin
d20a950349 Fix: bad conversion if records is a float number 2010-11-06 18:27:35 +00:00
Regis Houssin
68ffff7c19 Fix: error when creating an invoice from a project 2010-11-06 15:18:30 +00:00
Regis Houssin
f4e1484cb9 Fix: empty local tax 2010-11-05 23:48:46 +00:00
Laurent Destailleur
826bd7f2d1 Fix: Remove eclipse errors 2010-10-23 16:36:14 +00:00
Regis Houssin
e3a546e535 Fix: bad increment 2010-10-21 09:41:19 +00:00
Laurent Destailleur
c2d9fdb88f Fix: Fixed a very old bug making file attachment fails with some emails readers when using "mail php function". 2010-10-09 23:24:31 +00:00
Regis Houssin
bba65cb868 Fix: renaming of fk_adresse_livraison impossible with constraint 2010-10-07 09:56:44 +00:00
Laurent Destailleur
4dee91a1ec Fix: A fix to have new version of code able to run old migrate process 2010-10-06 09:39:59 +00:00
Laurent Destailleur
3604a798b0 Fix: A fix to have new version of code able to run old migrate process 2010-10-06 09:16:59 +00:00
Regis Houssin
cb5fde8c62 Fix: bad error management 2010-09-30 20:06:38 +00:00
Regis Houssin
6838247724 Fix: bad link if no payment 2010-09-30 19:41:04 +00:00
Laurent Destailleur
196cb74750 Fix: Rmoved deprecated link 2010-09-29 12:31:58 +00:00
Laurent Destailleur
ccc4e9193e Fix: Style with smartphone 2010-09-29 10:12:22 +00:00
Regis Houssin
329ab8a392 Fix: bad length of field with index in utf8 2010-09-28 06:10:56 +00:00
Regis Houssin
43b4ebdd23 Fix: bad date format
Fix: utf8
2010-09-27 06:58:44 +00:00
Regis Houssin
88f303b083 Fix: photo is lost after card update 2010-09-26 14:52:03 +00:00
Regis Houssin
2cc6df7eee Fix: bad sessiontimeout name 2010-09-25 15:42:54 +00:00
Regis Houssin
36208d4b16 Fix: Do not increase this as file+note must be small to allow index 2010-09-24 11:15:22 +00:00
Regis Houssin
84d7b5a099 Fix : issue for automatic customer and supplier increment code 2010-09-22 20:55:01 +00:00
Regis Houssin
dcf2fa243f Fix: Do not increase this as file+note must be small to allow index 2010-09-21 21:12:18 +00:00
Regis Houssin
4b4aeae842 Fix: best test 2010-09-21 19:09:10 +00:00
Laurent Destailleur
9906ca9707 Fix: mailman disabled 2010-09-19 14:47:02 +00:00
Laurent Destailleur
2f227d8229 Fix: Bad param 2010-09-19 13:34:53 +00:00
Laurent Destailleur
5479c56b94 Fix: Trad 2010-09-18 11:52:27 +00:00
Laurent Destailleur
709d19f494 Add argentina vat rate 2010-09-18 10:59:53 +00:00
Laurent Destailleur
504941e50e Fix: Look 2010-09-18 10:05:31 +00:00
Laurent Destailleur
026a7df6da Fix: Too many problems with triggers outside of standard dir. Only external module triggers must be in module dir. 2010-09-15 17:20:16 +00:00
Laurent Destailleur
fc50485d08 Fix: Too many problems with triggers outside of standard dir. Only external module triggers must be in module dir. 2010-09-15 16:07:27 +00:00
Laurent Destailleur
2638320ede Fix: Error in adding article 2010-09-15 15:31:44 +00:00
Laurent Destailleur
4b771e3750 Fix: Error in adding article 2010-09-15 14:36:44 +00:00
Laurent Destailleur
5b24b7cf46 Fix: Error when capital is not a number 2010-09-15 11:59:46 +00:00
Laurent Destailleur
d2b9d736cd Fix: Detection of country of bank account failed 2010-09-15 10:30:04 +00:00
Laurent Destailleur
d104ae3a27 Fix: Trad and sort on status 2010-09-12 18:07:42 +00:00
Laurent Destailleur
12d831b1ca Fix: Trad 2010-09-12 18:04:10 +00:00
Regis Houssin
3afd8d3893 Fix: bad position of title 2010-09-10 12:07:15 +00:00
Regis Houssin
da27f27f78 Fix: bad link 2010-09-09 21:43:47 +00:00
Regis Houssin
427f0ef325 Fix: missing id line 2010-09-08 22:24:31 +00:00
Regis Houssin
84b96126f1 Fix: bug #30981 2010-09-07 06:58:59 +00:00
Laurent Destailleur
83437a678f Fix: wrong variable 2010-09-06 13:24:07 +00:00
Laurent Destailleur
58ded3b529 Fix: Missing sentence in notification email 2010-09-04 23:56:46 +00:00
Laurent Destailleur
dc6d797a36 Fix: Bad field 2010-09-04 22:46:18 +00:00
Laurent Destailleur
97f22d05d6 Enable php_soap 2010-09-04 14:46:11 +00:00
Laurent Destailleur
725d98aaeb Fix: Update a lot of languages 2010-09-04 00:40:02 +00:00
Laurent Destailleur
013714e63c Trad: Update language 2010-09-04 00:17:15 +00:00
Laurent Destailleur
4119d9e933 Fix: client not loaded 2010-09-01 18:07:47 +00:00
Laurent Destailleur
69cc38dc8b Trad 2010-09-01 13:34:47 +00:00
Laurent Destailleur
b37d683c2d Trad 2010-09-01 12:22:37 +00:00
Laurent Destailleur
0d11642bc0 Fix: Remove not desired warning 2010-09-01 11:50:53 +00:00
Laurent Destailleur
3f60e2926e Fix: No error if no photo 2010-09-01 10:43:11 +00:00
Laurent Destailleur
c2b5fca8b6 Fix: Syntax error 2010-08-31 22:25:09 +00:00
Laurent Destailleur
2a8d5a7ef4 Fix: Error message 2010-08-31 21:42:38 +00:00
Laurent Destailleur
1d86f8cb66 Fix: Bad object 2010-08-31 20:50:37 +00:00
Laurent Destailleur
35ef0407a4 Fix: removed old themes 2010-08-30 07:52:55 +00:00
Laurent Destailleur
a31936d2b7 Fix: Some error on migration 2010-08-29 22:41:35 +00:00
Laurent Destailleur
22f97e86e1 Prepare backward compatibility of modules code 2010-08-29 18:01:46 +00:00
Laurent Destailleur
cfc6cdc4ef Fix: bug #30629 : Ajout de prix fournisseur avec quantité fractionné donne erreur 2010-08-28 23:56:24 +00:00
Laurent Destailleur
0ab9f39756 Fix: bug #29540 : check Vat Popup 2010-08-28 23:35:13 +00:00
Laurent Destailleur
e95ba9080f Fix: Bad url 2010-08-28 22:55:10 +00:00
Laurent Destailleur
045ac251fb Trad: Fix trad 2010-08-27 07:00:53 +00:00
Laurent Destailleur
cb33cdd6a2 Fix bug in translator tool 2010-08-27 06:46:57 +00:00
Laurent Destailleur
f28b3f8aba Fix: Show correct information 2010-08-26 22:33:38 +00:00
Laurent Destailleur
fe53a86868 Fix: Bad parameters order 2010-08-26 22:09:35 +00:00
Laurent Destailleur
1f065fd34a New: Add slovenian language sl_SL 2010-08-26 21:37:37 +00:00
Laurent Destailleur
e12c73d1e0 Fix: Wrong value 2010-08-26 15:58:14 +00:00
Laurent Destailleur
2b7ee9e8f4 Fix:error management 2010-08-26 14:02:39 +00:00
Laurent Destailleur
a5370c0f5a Fix: die error with php 4 2010-08-26 12:39:22 +00:00
Laurent Destailleur
d637e8b83c Wrong param 2010-08-26 12:23:16 +00:00
Laurent Destailleur
c58e63a843 Trad 2010-08-26 12:21:35 +00:00
Laurent Destailleur
6c6bd45acf Fix: Duplicate entry, wrong sort 2010-08-26 11:48:37 +00:00
Laurent Destailleur
020246b136 Doc 2010-08-24 10:10:31 +00:00
Laurent Destailleur
5735b65ed8 Trad 2010-08-23 18:28:36 +00:00
Laurent Destailleur
f441dbc99b Fix: Removed rubish content 2010-08-22 13:42:37 +00:00
Laurent Destailleur
3c2673e528 Fix in coloring negative amounts 2010-08-21 17:45:44 +00:00
Laurent Destailleur
ea8d8a1e28 Fix: Missing trad 2010-08-20 16:06:02 +00:00
Regis Houssin
d765d6d7d1 Fix: the name of a database can contain a hyphen 2010-08-20 11:58:28 +00:00
Laurent Destailleur
332b2fc4d7 Fix: Error when deleting lock file by doliwamp 2010-08-19 22:32:33 +00:00
Laurent Destailleur
fbb59da164 Fix: Error management on delete file 2010-08-18 20:26:51 +00:00
Laurent Destailleur
1432e8dda6 Doc 2010-08-18 07:45:44 +00:00
Laurent Destailleur
9ab758e1fc Fix: Reorder of boxes 2010-08-18 07:44:06 +00:00
Laurent Destailleur
8d8cf0cd21 Fix: Lost permission 2010-08-17 08:20:12 +00:00
Laurent Destailleur
c0b320176b Fix: Bad coding 2010-08-17 00:02:33 +00:00
Laurent Destailleur
a8c914b4cf Fix: Bad coding 2010-08-17 00:01:39 +00:00
Laurent Destailleur
2861d5b033 Fix: Bad old data 2010-08-15 22:17:22 +00:00
Laurent Destailleur
e1b9df9970 Fix: Minor look fix 2010-08-15 17:20:24 +00:00
Laurent Destailleur
47c6cff9c1 Fix: Correct bad old data 2010-08-15 17:17:26 +00:00
Laurent Destailleur
b86537f122 Fix: Error in download attached file on project 2010-08-14 02:22:32 +00:00
Laurent Destailleur
cd86d03d35 Fix: Use good payment type 2010-08-14 01:50:30 +00:00
Laurent Destailleur
9aa83f13d2 Fix: Use good payment type 2010-08-14 01:43:44 +00:00
Laurent Destailleur
fcf5723183 Fix break page on pdf for projects 2010-08-14 00:17:46 +00:00
Laurent Destailleur
382c74fec2 Fix: Error when creating 2 external rss boxes. 2010-08-13 23:34:23 +00:00
Laurent Destailleur
ff6916a5a3 Fix: Error on page when going from some link 2010-08-13 17:42:10 +00:00
Laurent Destailleur
5ab7a296e2 Fix: Removed duplicate button 2010-08-13 17:39:07 +00:00
Laurent Destailleur
81312671e7 Fix: Error in creating line 2010-08-12 22:43:17 +00:00
Laurent Destailleur
35b3f7ed8a Fix: Usage of numbering project ref 2010-08-12 18:51:01 +00:00
Laurent Destailleur
42763321e9 Remove deprecated file 2010-08-12 18:41:28 +00:00
Laurent Destailleur
85c24f4a5f file projects.lang was added on branch DOLIBARR_2_9_BRANCH on 2010-09-04 00:40:48 +0000 2010-08-09 20:45:45 +00:00
Laurent Destailleur
b8b16552ec file boxes.lang was added on branch DOLIBARR_2_9_BRANCH on 2010-09-04 00:40:48 +0000 2010-08-09 20:45:45 +00:00
Laurent Destailleur
8258dd432f file admin.lang was added on branch DOLIBARR_2_9_BRANCH on 2010-09-04 00:40:48 +0000 2010-08-09 20:45:45 +00:00
Laurent Destailleur
ce34028fcd Removed old code 2010-08-09 15:20:36 +00:00
Laurent Destailleur
344b2b38ea For 2.9.1 2010-08-06 16:51:26 +00:00
Laurent Destailleur
f71f33d2da Fix: sql error 2010-08-06 16:14:39 +00:00
Regis Houssin
75506b7794 !!! BUG in 2.9 release !!!
Fix: move llx_product_subproduct to composition module
2010-08-06 12:20:27 +00:00
Laurent Destailleur
c0103034b0 Fix: Use country code 2010-08-05 20:17:44 +00:00
Laurent Destailleur
76b87cd0bb Fix: Bad setup 2010-08-05 19:52:06 +00:00
Regis Houssin
a22bf3fb0a Fix: bad show price 2010-08-05 07:24:13 +00:00
Laurent Destailleur
795d08c14c Removed duplicate entry 2010-08-03 22:11:35 +00:00
Laurent Destailleur
bc954c1a77 file interface_modPhenix_Phenixsynchro.class.php was added on branch DOLIBARR_2_9_BRANCH on 2010-09-15 16:07:27 +0000 2010-05-13 16:32:13 +00:00
Laurent Destailleur
2ee7271c8e file interface_modWebcalendar_Webcalsynchro.class.php was added on branch DOLIBARR_2_9_BRANCH on 2010-09-15 16:07:27 +0000 2010-04-22 20:28:56 +00:00
Philippe Grand
d881cfafd7 upgrade to new directory tree 2010-04-22 20:28:56 +00:00
Laurent Destailleur
11a6acce5a Better size for smartphone 2010-04-22 19:48:46 +00:00
Laurent Destailleur
c6a136930e Fix: Theme was not defined with smartphone 2010-04-22 19:45:59 +00:00
Regis Houssin
3ee92a0de3 Fix: mutualize code and template
Works on workflow management
2010-04-22 18:37:42 +00:00
Regis Houssin
13d8d996e1 Fix: Bypass if workflow module is enabled and if the trigger is compatible 2010-04-22 15:52:28 +00:00
Philippe Grand
5d38b90d04 upgrade to new directory tree
some spelling changes
2010-04-22 10:33:34 +00:00
Regis Houssin
d7843e0e60 Works on workflow 2010-04-22 06:29:34 +00:00
Regis Houssin
d0d02a54bc Fix: missing class 2010-04-21 23:24:10 +00:00
Regis Houssin
6d4fc1b0f5 Works on workflow 2010-04-21 22:50:47 +00:00
Regis Houssin
9bb912d61c Fix: regression 2010-04-21 22:34:05 +00:00
Regis Houssin
997523a07a Works on workflow 2010-04-21 22:23:01 +00:00
Regis Houssin
335c038dd8 Fix: regression 2010-04-21 22:14:11 +00:00
Laurent Destailleur
ba479b95f0 Doxygen 2010-04-21 18:40:18 +00:00
Laurent Destailleur
5490f71326 Fix: Normalize syntax of class file 2010-04-21 18:39:24 +00:00
Laurent Destailleur
9ef72f92fa Qual: Make code easier to understand 2010-04-21 18:35:40 +00:00
Laurent Destailleur
7fbc68abdb Doxygen 2010-04-21 18:23:32 +00:00
Regis Houssin
d288f7d816 Add class exception for the futur full php5 2010-04-21 16:55:19 +00:00
Regis Houssin
621bd68e3b Fix: workflow module is enabled by default
Fix: integration of triggers in the workflow module
!!! we now call "call_workflow" instead of "run_triggers" !!!
2010-04-21 16:29:37 +00:00
Laurent Destailleur
c902acf99a Fix: A lot of duplicate lines. 2010-04-21 08:53:55 +00:00
pit
817a09c77d Modifying general wrapping to be more modular/generic. 2010-04-21 08:47:58 +00:00
Laurent Destailleur
7c11750aa3 Fix: Conditions to reopen closed invoice. 2010-04-21 08:35:11 +00:00
Laurent Destailleur
de8d2f58ee Mutualize code 2010-04-21 08:16:10 +00:00
Regis Houssin
5e22c1456a Works on workflow 2010-04-21 07:34:24 +00:00
Regis Houssin
ffa1c8d451 Works on workflow 2010-04-21 06:22:57 +00:00
Juanjo Menent
48fbdd04f6 Trad: Add box "last contracts" 2010-04-20 21:28:05 +00:00
Juanjo Menent
43c6254253 Trad: Minor fixes 2010-04-20 21:06:02 +00:00
Laurent Destailleur
93076fa3f1 Fix: Removed deprecated function pdate() 2010-04-20 19:00:17 +00:00
Laurent Destailleur
3f4590e5b6 Boxes area output is now in a function.
Contracts boxes show status of each services (status of contracts is deprecated).
2010-04-20 18:35:18 +00:00
Laurent Destailleur
e1c01ac3c8 Boxes area output is now in a function.
Contracts boxes show status of each services (status of contracts is deprecated).
2010-04-20 18:23:55 +00:00
Regis Houssin
56942f72d1 Fix: on verifie si les dependances sont valides 2010-04-20 14:59:15 +00:00
Philippe Grand
d58313488c some spelling changes and other micellaneous 2010-04-20 14:27:47 +00:00
Philippe Grand
952ddd7488 create lang's file and use new tree 2010-04-19 16:55:32 +00:00
Regis Houssin
921df5f94f Fix: Search if module directory name is different of lang file name
we can use "langfile@mymodule" or "@mymodule"
2010-04-19 09:45:53 +00:00
Regis Houssin
c0a32c8fb4 Fix: Search if module directory name is different of lang file name
we can use "langfile@mymodule" or "@mymodule"
2010-04-19 09:34:50 +00:00
Regis Houssin
db8f5ed592 Add possibility to include boxes of external module 2010-04-19 07:55:46 +00:00
Regis Houssin
1d491f7765 Add box "last contracts" 2010-04-19 06:50:14 +00:00
Regis Houssin
bf067d7c59 Add box "last contracts" 2010-04-19 06:43:15 +00:00
Laurent Destailleur
7bccb7dd86 A little speed improvment 2010-04-18 23:17:41 +00:00
Laurent Destailleur
a66d44431d Fix: TTC must always be exactly HT + VAT 2010-04-18 23:03:48 +00:00
Laurent Destailleur
3ad74bb92b Remove pdate function 2010-04-18 21:27:49 +00:00
Laurent Destailleur
48170ff25d Comment 2010-04-18 21:26:10 +00:00
Laurent Destailleur
667f63c0b7 Use crabe by default 2010-04-18 21:20:34 +00:00
Laurent Destailleur
f5ed264c1f Fix: Clean orphelins 2010-04-18 20:56:02 +00:00
Laurent Destailleur
bf50e0a2b1 New: Can filter on cheque number 2010-04-18 20:46:29 +00:00
Laurent Destailleur
8b9c869736 Exclude file 2010-04-18 20:34:15 +00:00
Laurent Destailleur
06126ae683 Doc 2010-04-18 17:05:32 +00:00
Juanjo Menent
6ce69a7b18 Works on enhancement of local taxes. fix : get_default_localtax 2010-04-18 16:44:25 +00:00
Laurent Destailleur
e38b1bfe28 Remove usage of $_ENV 2010-04-18 16:12:18 +00:00
Laurent Destailleur
149d6ae8dd Fix: Do not use $_ENV anymore. 2010-04-18 16:08:53 +00:00
Laurent Destailleur
27acaefb6c Comment 2010-04-18 16:08:09 +00:00
Laurent Destailleur
e790b37d03 Fix: Remove warnings 2010-04-18 15:50:28 +00:00
Juanjo Menent
8516fe4c01 Works on enhancement of local taxes. Trad: Add Amounts for Spanish Local Tax 2010-04-18 15:49:58 +00:00
Laurent Destailleur
26a8da70af Fix: Do not use $_ENV anymore. 2010-04-18 15:49:57 +00:00
Regis Houssin
3268dcbab8 Fix: missing google ad 2010-04-18 14:43:47 +00:00
Laurent Destailleur
a897e62fd3 Comment 2010-04-18 14:37:59 +00:00
Laurent Destailleur
6cf5355b11 New: Can delete several files at once in FTP module 2010-04-18 14:37:44 +00:00
Regis Houssin
ef4df127f9 Fix: missing google ad 2010-04-18 14:31:34 +00:00
Regis Houssin
6e24ebd01f Fix: missing google ad 2010-04-18 14:24:09 +00:00
Regis Houssin
677ab4c128 Fix: missing google ad 2010-04-18 14:23:21 +00:00
Regis Houssin
acfefd03f4 Fix: missing google ad 2010-04-18 14:17:06 +00:00
Juanjo Menent
81eb0cda2a Works on enhancement of local taxes. Changes in calcul_price_total 2010-04-18 12:18:09 +00:00
Regis Houssin
0fcb012234 Fix: allow underscore in module name 2010-04-18 11:48:12 +00:00
Juanjo Menent
b716b87ab7 Trad: EMailing edit page more user firendly 2010-04-17 20:59:39 +00:00
Laurent Destailleur
620cc53ca7 doxygen 2010-04-17 17:18:01 +00:00
Laurent Destailleur
6f337fcd41 Fix: Missing include 2010-04-17 14:49:27 +00:00
Laurent Destailleur
23466a5548 Doc 2010-04-17 14:30:23 +00:00
Laurent Destailleur
a175f5992a Fix: Restore integrity management. Note: With postgresql a commit is changed into a rollback when there is at least one error, even if error is correctly managed (example when inserting a duplicate value). Solution is to change code to avoid error (example: select if exists before inserting). 2010-04-17 13:37:24 +00:00
Laurent Destailleur
fd04ae0500 New: Can join files on emailing campaigns. 2010-04-17 13:23:50 +00:00
Regis Houssin
f6175c2213 Fix: view linked object block 2010-04-17 09:55:10 +00:00
Laurent Destailleur
846ed3688e EMailing edit page more user firendly 2010-04-17 09:47:25 +00:00
Regis Houssin
40814719ee Fix: view linked object block 2010-04-17 09:33:13 +00:00
Regis Houssin
3d641b236f Fix: pgsql compatibility
Todo: probleme d'imbrication de begin/commit
2010-04-17 09:17:31 +00:00
Regis Houssin
9f5a3f4f8e Fix: pgsql compatibility
Todo: paiement COMMIT Transaction but nothing in table
2010-04-17 08:43:01 +00:00
Regis Houssin
d7ffb431a7 Fix: pgsql compatibility 2010-04-17 08:22:29 +00:00
Regis Houssin
0daea22e9b Fix: pgsql compatibility 2010-04-16 18:29:40 +00:00
Regis Houssin
e9288027fd Fix: pgsql compatibility 2010-04-16 18:02:59 +00:00
Regis Houssin
daa8609cb5 Problem with agregate function and "group by" with postgresql 2010-04-16 17:21:53 +00:00
Regis Houssin
567b3d08e5 Fix: pgsql compatibility 2010-04-16 13:35:26 +00:00
Regis Houssin
faef96823f Fix: pgsql compatibility 2010-04-16 09:50:33 +00:00
Regis Houssin
138b3dfef2 Fix: debug postgresql 2010-04-16 09:12:07 +00:00
Juanjo Menent
99a3f0d4df Trad 2010-04-15 21:40:18 +00:00
Laurent Destailleur
218c129dcc Trad 2010-04-15 19:08:48 +00:00
Regis Houssin
e2d2461d1f Fix: category problem 2010-04-15 17:34:44 +00:00
Regis Houssin
62b0105a18 Fix: css 2010-04-15 14:24:54 +00:00
Philippe Grand
4486d25e9d tiny spelling change within admin.lang fr_FR 2010-04-15 14:17:37 +00:00
Regis Houssin
163fba3872 Fix: bad path
Fix: view only image files
2010-04-15 13:44:07 +00:00
Laurent Destailleur
4ecaee9068 Move htdocs/docs dir to dolibarrmod/droitpret module 2010-04-14 22:12:19 +00:00
Laurent Destailleur
62d63bc1b6 Change to support icon on eldy themes 2010-04-14 20:21:47 +00:00
Philippe Grand
1f3bcb3747 tiny spelling change 2010-04-14 15:27:46 +00:00
Laurent Destailleur
908b1fe394 Fix: bug #29396 : Export '...' du .vcf mal compris par Outlook. 2010-04-13 23:40:10 +00:00
Laurent Destailleur
59c791e826 Fix: bug #29396 : Export '...' du .vcf mal compris par Outlook. 2010-04-13 23:30:11 +00:00
Laurent Destailleur
b33b1c56b8 Fix: Default language on login page 2010-04-13 21:56:06 +00:00
Laurent Destailleur
9df4f1ad7e Fix: Warning in nusoap with PHP 5.3 2010-04-13 21:33:02 +00:00
Laurent Destailleur
0e715c7075 Doc 2010-04-13 21:11:38 +00:00
Laurent Destailleur
8fa20217bb Fix: Can provide ip address on smtps. Better error reporting. 2010-04-13 20:58:36 +00:00
Regis Houssin
7cac5f5380 Fix: update api of checkvat
http://ec.europa.eu/taxation_customs/vies/faqvies.do  (Q16)
2010-04-13 20:58:20 +00:00
Laurent Destailleur
c86db093be Fix: Can provide ip address on smtps. Better error reporting. 2010-04-13 20:30:25 +00:00
Laurent Destailleur
b48377312b Add function is_ip 2010-04-13 19:56:24 +00:00
Laurent Destailleur
916e3de6a7 Fix: bug #29526 : Numrotation Proposition Incorrecte aprs duplication 2010-04-13 19:34:40 +00:00
Regis Houssin
4846b9b98b Fix: move service class to product directory 2010-04-13 16:14:47 +00:00
Philippe Grand
ed377157f8 move service.class.php to core directory 2010-04-13 14:46:50 +00:00
Philippe Grand
84f8a18a72 move discount.class.php to core directory 2010-04-13 14:30:11 +00:00
Philippe Grand
e5a5c2ae98 move translate.class.php to core directory 2010-04-13 14:23:31 +00:00
Philippe Grand
684e6bc63c move notify.class.php to core directory 2010-04-13 14:17:01 +00:00
Philippe Grand
f21aed7f61 fix : Cannot redeclare class SoapClient 2010-04-13 14:06:09 +00:00
Philippe Grand
8f171f4336 move module oscommerce_ws to dolibarrmod 2010-04-13 13:41:39 +00:00
Philippe Grand
32f112fa59 move module oscommerce_ws to dolibarrmod 2010-04-13 13:15:18 +00:00
Regis Houssin
db9e0e3790 Fix: prepare to phones template 2010-04-13 12:04:53 +00:00
Regis Houssin
98a1fe553b Qual: update iwebkit to 5.0.4 version 2010-04-12 21:49:40 +00:00
Regis Houssin
6ccd3bbc75 Fix: hide phones directory 2010-04-12 19:11:14 +00:00
Regis Houssin
79d7be01d1 Fix: the core system used php templates by default 2010-04-12 18:56:53 +00:00
Regis Houssin
0e7cfd1ea3 Fix: the core system used php templates by default 2010-04-12 15:55:36 +00:00
Regis Houssin
0a20213909 Fix: the core system used php templates by default 2010-04-12 15:47:45 +00:00
Regis Houssin
78c66bc7a0 Fix: the core system used php templates by default 2010-04-12 15:25:57 +00:00
Juanjo Menent
30dcda109e Works on enhancement of local taxes. Changes in calcul_price_total 2010-04-12 09:53:49 +00:00
Laurent Destailleur
7850c536a1 Fix: Missing include 2010-04-12 00:39:10 +00:00
Laurent Destailleur
0fe708a5f6 Fix: Error when using iphone
Fix: Error in not found class
2010-04-12 00:30:52 +00:00
Laurent Destailleur
47ff342fa4 Fix: Error when using iphone 2010-04-12 00:27:14 +00:00
Laurent Destailleur
ea40998528 Fix: Wrong charset of ticket 2010-04-10 15:02:18 +00:00
Laurent Destailleur
f64b879fac Update doc 2010-04-10 11:37:10 +00:00
Laurent Destailleur
3c909fc752 Doxygen 2010-04-10 10:28:46 +00:00
Regis Houssin
2ca163f388 Fix: class not found
Fix: utf-8
2010-04-09 22:44:55 +00:00
Regis Houssin
b2eac2e248 Fix: utf-8 2010-04-09 22:16:00 +00:00
Regis Houssin
2cc33910f7 Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 12:23:58 +00:00
Regis Houssin
f9c4c30ec5 Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 09:30:40 +00:00
Philippe Grand
a6edf971de fix : class not found 2010-04-09 09:04:28 +00:00
Regis Houssin
f922ad5ff1 Fix: error if used a futur date 2010-04-09 08:58:31 +00:00
Regis Houssin
eaf654ed32 Fix: class not found 2010-04-09 08:44:08 +00:00
Philippe Grand
3e6b55ed67 fix : class not found 2010-04-09 08:42:35 +00:00
Philippe Grand
3146d3c6b9 fix : class not found 2010-04-09 08:34:46 +00:00
Regis Houssin
6caf966ea8 Fix: deprecated date 2010-04-09 08:29:10 +00:00
Regis Houssin
cca1ac28fb Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 08:15:46 +00:00
Regis Houssin
45967843cb Fix: trad 2010-04-09 08:04:18 +00:00
Regis Houssin
73f216fd89 Fix: rename $class to $classname to prevents problems
http://www.manuelphp.com/php/reserved.keywords.php
2010-04-09 07:55:37 +00:00
Regis Houssin
7b1c726424 Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 07:23:32 +00:00
Regis Houssin
47f2586070 Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 06:52:06 +00:00
Regis Houssin
d8982e5d8c Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 06:47:13 +00:00
Regis Houssin
379b3a63ab Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 06:47:13 +00:00
Regis Houssin
8774e69ea9 Add possibility to add linked object block in object card for external module
Fix: templates integration
2010-04-09 06:20:10 +00:00
Regis Houssin
9b2f724ea7 Add possibility to add linked object block in object card for external module 2010-04-08 19:44:45 +00:00
Juanjo Menent
e104888ceb Trad: Minor fixes 2010-04-08 18:10:56 +00:00
Philippe Grand
5b9b581f99 Fix: convert price 2010-04-08 15:07:36 +00:00
Regis Houssin
bd6d534a60 Fix: convert price 2010-04-08 14:07:24 +00:00
Philippe Grand
01991cec89 move stats class to core directory 2010-04-08 13:19:42 +00:00
Philippe Grand
011ea91f81 move interfaces class to core directory 2010-04-08 13:09:00 +00:00
Philippe Grand
bf2e3e80df move companybankaccount class to societe directory 2010-04-08 12:25:10 +00:00
Philippe Grand
90e1903c95 change deprecated code 2010-04-08 08:45:31 +00:00
Laurent Destailleur
7c08376335 New: Add hidden option MAIN_PROFIDx_IN_ADDRESS 2010-04-07 21:14:55 +00:00
Laurent Destailleur
3aa18cfaa9 Fix: W3C 2010-04-07 19:19:56 +00:00
Laurent Destailleur
d3aa15827a Fix: W3C 2010-04-07 19:10:39 +00:00
Regis Houssin
6e3dbf8cac Fix: models generator that need parameters 2010-04-07 15:05:21 +00:00
Regis Houssin
06bee0228d Fix: change some dyslexic code 2010-04-07 11:47:04 +00:00
Regis Houssin
2f015f1c9c Fix: change some dyslexic code 2010-04-07 11:45:49 +00:00
Regis Houssin
6822502876 Fix: change some dyslexic code 2010-04-07 11:37:01 +00:00
Philippe Grand
e3d874f72c change some dyslexic code 2010-04-07 10:44:18 +00:00
Philippe Grand
44fed2ce8b add one forgotten property 2010-04-07 10:21:04 +00:00
Regis Houssin
f182d4999c Fix: css optimizing
Fix: wrong position of link

:link :visited :hover :active
2010-04-07 10:08:57 +00:00
Regis Houssin
c60d5d84f9 Fix: css optimizing 2010-04-07 10:03:44 +00:00
Regis Houssin
f33e176a96 Fix: add country in template example 2010-04-07 09:51:54 +00:00
Philippe Grand
3a4400d72f small changes within array 2010-04-07 09:46:11 +00:00
Regis Houssin
86e27744b9 Fix: css optimizing
Fix: wrong position of link

:link :visited :hover :active
2010-04-07 09:21:30 +00:00
Regis Houssin
6f7f1c7c65 Fix: css optimizing 2010-04-07 08:35:23 +00:00
Regis Houssin
bfc6549ec4 Fix: css optimizing 2010-04-07 06:41:47 +00:00
Regis Houssin
dcfd49668c Fix: css optimizing 2010-04-07 06:29:35 +00:00
Regis Houssin
0e5a0c5167 Fix: Undefined leftmenu error 2010-04-07 05:03:13 +00:00
Laurent Destailleur
3a200ee4cf Update version 2010-04-06 22:06:05 +00:00
Laurent Destailleur
d456c92553 Some code for compatibility 2010-04-06 21:56:03 +00:00
Laurent Destailleur
ab8664a7dd Remove deprecated table 2010-04-06 21:37:26 +00:00
Laurent Destailleur
7993ddea0a Minor fixes 2010-04-06 20:58:24 +00:00
Laurent Destailleur
1f7153e542 Mutualize a lot of code on recipient address forging. This will allow to add features on address fields to show according to country. 2010-04-06 18:40:08 +00:00
Laurent Destailleur
6dae61e84b Change to allow icon on top menu 2010-04-06 17:31:38 +00:00
Philippe Grand
7247b6f443 small spelling changes 2010-04-06 16:24:27 +00:00
Regis Houssin
ecc51347b3 Fix: uniformize code 2010-04-06 16:12:00 +00:00
Laurent Destailleur
8a10f4801b Use default value if none defined. 2010-04-05 23:34:10 +00:00
Laurent Destailleur
e3ec84d202 Perf: Try to optimize speed a little bit 2010-04-05 19:24:23 +00:00
Regis Houssin
6935beece2 Fix: switch the variables "$ver" and "$upgrade->{'version'}"
Fix: call "etape5" page for fix the new version
2010-04-05 19:09:08 +00:00
Laurent Destailleur
b1ccb47200 Move agenda menu into module 2010-04-05 18:46:52 +00:00
Laurent Destailleur
143acdc3f0 Move agenda menu into module 2010-04-05 18:41:34 +00:00
Laurent Destailleur
86b44f460d Change to allow icon on top menu 2010-04-05 17:46:33 +00:00
Regis Houssin
241cd8e282 Fix: switch the variables "$ver" and $upgrade->{'version'}
Fix: call "etape5" page for fix the new version
2010-04-05 17:42:45 +00:00
Laurent Destailleur
f4ee8e54b5 Fix: Postgres compatibility 2010-04-05 17:26:02 +00:00
Laurent Destailleur
209b10467c Doc 2010-04-05 17:02:32 +00:00
Laurent Destailleur
06d2741cfc Change to allow icon on top menu 2010-04-05 13:52:52 +00:00
Laurent Destailleur
c11acda907 Mutualize code. Prepare to build recipient address in same function. 2010-04-05 13:17:55 +00:00
Regis Houssin
b1f01a6330 Fix: syntax 2010-04-05 08:43:53 +00:00
Juanjo Menent
b447657303 Trad: Add statistics page for trips and expenses module 2010-04-05 08:37:36 +00:00
Laurent Destailleur
da9b20d058 Qual: Uniformize code 2010-04-05 01:25:44 +00:00
Laurent Destailleur
2dd4f080f0 New: Add statistics page for trips and expenses module 2010-04-05 01:01:28 +00:00
Laurent Destailleur
b5bc6dac90 Qual: Remove deprecated code 2010-04-04 23:46:53 +00:00
Laurent Destailleur
92df58e7ba Doc 2010-04-04 23:40:34 +00:00
Regis Houssin
8c892221d0 Fix: prevents errors with dollar sign 2010-04-04 09:23:31 +00:00
Regis Houssin
397d8a7a70 Fix: bad call class 2010-04-04 09:22:38 +00:00
Regis Houssin
311454d4c2 Fix: switch the variables "$ver" and $upgrade->{'version'}
Fix: call "etape5" page for fix the new version
2010-04-04 08:15:20 +00:00
Regis Houssin
d883a88e2e Fix: upgrade problem 2010-04-03 23:53:44 +00:00
Regis Houssin
00ae4c6f72 Fix: upgrade problem 2010-04-03 23:16:30 +00:00
Regis Houssin
e7855d0bc7 Fix: remove spaces before sign equal 2010-04-03 15:15:43 +00:00
Laurent Destailleur
fbc31d9cb5 Qual: Separate function of html header from menu header 2010-04-03 15:08:09 +00:00
Laurent Destailleur
d6164deddc Qual: Separate function of html header from menu header 2010-04-03 15:08:09 +00:00
Laurent Destailleur
6910dd0b62 Remove deprecated code 2010-04-03 14:39:24 +00:00
Laurent Destailleur
eda2b05a09 Clean code 2010-04-03 10:52:36 +00:00
Laurent Destailleur
a2e43a4464 Qual: Removed duplicate code 2010-04-03 10:38:28 +00:00
Laurent Destailleur
f6f5346229 For constants that must be stored for allentities, we now must use 'allentities' in const array instead of '0'. This is more clear. 2010-04-03 10:26:33 +00:00
Regis Houssin
933c84c127 Fix: store triggers path to $conf 2010-04-02 17:19:28 +00:00
Regis Houssin
0bee9e9362 Fix: store triggers path to $conf 2010-04-02 17:09:26 +00:00
Juanjo Menent
b484519393 Trad 2010-04-02 15:25:06 +00:00
Regis Houssin
0ac656b218 Fix: check if directory exists 2010-04-02 11:56:23 +00:00
Regis Houssin
2e595643f5 Fix: check if directory exists 2010-04-02 11:56:23 +00:00
Regis Houssin
9793a8f13a Fix: mutualize code 2010-04-02 11:32:34 +00:00
Regis Houssin
488479de5e Add possibility to move trigger in "/mymodule/inc/triggers/" 2010-04-02 09:59:18 +00:00
Regis Houssin
048f3dbe0f Fix: problem with database encodage 2010-04-02 08:22:42 +00:00
Regis Houssin
60823fa517 Fix: bad path if product module is disabled 2010-04-02 07:45:58 +00:00
Regis Houssin
056c8f37a7 Fix: delete W$ thumbs files 2010-04-02 07:25:13 +00:00
Laurent Destailleur
1730e5777c Fix: Trad utf8 lost 2010-04-01 22:51:28 +00:00
Laurent Destailleur
c66b2a3948 New: Some change to allow icons in menu 2010-04-01 22:43:07 +00:00
Laurent Destailleur
831fd399f4 Trad 2010-04-01 20:31:27 +00:00
r2gnl
2716949fd6 corrected translation for all months 2010-04-01 14:49:03 +00:00
Regis Houssin
bf7e5ab338 Fix: call class
Fix: error if origin not defined
2010-04-01 10:21:48 +00:00
Regis Houssin
3d0d2053bb Fix: limited to a certain status 2010-04-01 08:47:41 +00:00
Philippe Grand
397c5487d0 Move file client.class.php to societe directory 2010-04-01 08:12:45 +00:00
Philippe Grand
690199c94d Move file cactioncomm.class.php to comm/action directory 2010-04-01 07:55:55 +00:00
Philippe Grand
57ae19fc71 Move file actioncomm.class.php to comm/action directory 2010-04-01 07:51:59 +00:00
Laurent Destailleur
d6ff0f9176 New: Can reopen a closed customer order (removed a deadlock feature) 2010-03-31 20:08:38 +00:00
Laurent Destailleur
daeab33c0d Fix: Works with mysql strict mode 2010-03-31 19:50:45 +00:00
Regis Houssin
b089fb6ee4 Fix: regression 2010-03-31 17:16:39 +00:00
Regis Houssin
d938cea797 Fix: bad path if product module is disabled 2010-03-31 14:43:45 +00:00
Regis Houssin
3c5afdd783 Fix: mask problem 2010-03-31 06:47:27 +00:00
Regis Houssin
f090580fa1 Fix: bad path 2010-03-31 06:23:28 +00:00
Regis Houssin
d7205fe627 Fix: regression 2010-03-30 21:38:07 +00:00
Laurent Destailleur
226901a7b9 Update example conf file. 2010-03-30 21:35:00 +00:00
Laurent Destailleur
645303d256 Example 2010-03-30 21:26:41 +00:00
Juanjo Menent
055b27695f Trad: Improve bad translation 2010-03-30 20:10:56 +00:00
Juanjo Menent
320fd180b5 Trad 2010-03-30 19:55:26 +00:00
Juanjo Menent
170a099c78 Trad: NL prof id 2010-03-30 19:52:30 +00:00
Laurent Destailleur
893897d4f0 Filter more accurate 2010-03-30 19:28:02 +00:00
Laurent Destailleur
b1c1b6ffd1 Qual: Removed deprecated code 2010-03-30 19:08:07 +00:00
Laurent Destailleur
37a2f537c2 Qual: Removed deprecated code 2010-03-30 18:21:58 +00:00
Laurent Destailleur
b6283b64e5 Qual: Mutualize some code 2010-03-30 18:03:01 +00:00
Regis Houssin
353b972011 Fix: add core path 2010-03-30 17:18:10 +00:00
Regis Houssin
c7134b5027 Add example ! 2010-03-30 17:15:46 +00:00
Regis Houssin
55b313f798 Fix: add "set_include_path" 2010-03-30 17:03:46 +00:00
Regis Houssin
281805991a Fix: add "set_include_path" 2010-03-30 16:40:00 +00:00
Regis Houssin
3239569860 Fix: database name with underscore 2010-03-30 14:35:18 +00:00
Regis Houssin
8e32de74f1 Fix: rename "templates" to "tpl" and add class directory 2010-03-30 13:32:30 +00:00
Regis Houssin
40b5352430 Fix: rename "templates" to "tpl" 2010-03-30 13:26:20 +00:00
Philippe Grand
f4afed58c3 move html.formproduct.class.php to product directory 2010-03-30 12:47:19 +00:00
Regis Houssin
8dafdccf63 Fix: remove lib files 2010-03-30 12:40:35 +00:00
Regis Houssin
a800efb992 Fix: bad name of class 2010-03-30 09:26:42 +00:00
Regis Houssin
491c1b6ecb Fix: appel de classe manquante 2010-03-30 09:05:08 +00:00
Laurent Destailleur
7dddea4abe Fix NL prof id lost because of utf8 pb on file 2010-03-30 00:38:51 +00:00
Philippe Grand
671ce8a542 move societe class file to societe directory 2010-03-29 20:52:30 +00:00
r2gnl
9ba2d6d97f improved translation 2010-03-29 20:40:16 +00:00
Philippe Grand
f19e397652 move commonobjectline class file to core directory 2010-03-29 20:30:54 +00:00
Philippe Grand
78b9faca85 move class file commonobject to core directory 2010-03-29 16:40:57 +00:00
Regis Houssin
6005e8c4fc Works on milestone module 2010-03-29 15:45:48 +00:00
Regis Houssin
6bd01ce7d2 Works on milestone module 2010-03-29 14:51:33 +00:00
r2gnl
0895f0acba Works #2 on ODT module. 2010-03-29 14:19:18 +00:00
Regis Houssin
cb67ca4d03 Fix: add generic wrapper and entity checkout 2010-03-29 14:11:06 +00:00
r2gnl
674307aed8 Works on ODT module. 2010-03-29 14:03:54 +00:00
r2gnl
1cac612e61 improve explanation 2010-03-29 13:15:05 +00:00
r2gnl
aa8b60ea50 Trad 2010-03-29 12:58:05 +00:00
r2gnl
f22b065c81 New: Add module externalsite 2010-03-29 12:44:27 +00:00
r2gnl
0decdac095 New: Can set accountancy code for product (buy and sell)
Fix: migration du module droitpret en module externe
2010-03-29 12:39:08 +00:00
r2gnl
3e2e5d3d75 improve translations 2010-03-29 12:26:02 +00:00
r2gnl
3d77214949 New: Can link trips and expenses to a project. 2010-03-29 12:20:26 +00:00
r2gnl
4e26e0b090 Correcting explanation (+Fix: UTF-8 problem) 2010-03-29 10:28:00 +00:00
r2gnl
04986e3146 Fix: UTF-8 problem 2010-03-29 10:15:20 +00:00
Regis Houssin
ff83edcd31 Fix: UTF-8 problem 2010-03-29 09:41:51 +00:00
r2gnl
26481b5665 correcting typo 2010-03-29 09:33:50 +00:00
r2gnl
f221569858 Add ProfId1NL 2010-03-29 09:29:25 +00:00
r2gnl
4d4f304066 Trad: missing translations
Add ProfId1NL
2010-03-29 09:28:21 +00:00
r2gnl
a52a87d6ef Trad: Missing translation
Add ProfId1NL
2010-03-29 09:27:08 +00:00
r2gnl
024409e35a use order date and add translation of contact types 2010-03-29 09:00:48 +00:00
r2gnl
e506664e36 Add list of notifications sent in notification module 2010-03-29 08:53:36 +00:00
r2gnl
2db3505f79 Fix: Minor change in look of project 2010-03-29 08:45:31 +00:00
Laurent Destailleur
6effbfbefa Trad 2010-03-28 23:44:23 +00:00
Laurent Destailleur
2bc938cf4c Fix: Minor fix 2010-03-28 23:36:52 +00:00
Laurent Destailleur
f076c00dcd Fix: Minor fix 2010-03-28 23:26:14 +00:00
Laurent Destailleur
a266e92bd0 New: Wrong codes are shown in red 2010-03-28 21:49:43 +00:00
Juanjo Menent
fc705a70f8 Fix: Local Taxes. SQL Select bug 2010-03-28 15:41:55 +00:00
Juanjo Menent
c5cbe5f812 Works on enhancement of local taxes. First changes to products 2010-03-28 15:13:17 +00:00
Laurent Destailleur
698fed667e Update theme 2010-03-28 00:33:34 +00:00
Laurent Destailleur
6c779d2b97 Accept url parameter ignoreerrors to show the next step button even if error. 2010-03-28 00:26:01 +00:00
Juanjo Menent
0e0bfe9624 Trad: Add module externalsite 2010-03-27 18:48:34 +00:00
Laurent Destailleur
201cec124d Fix: Menu slection when using frames 2010-03-27 18:39:20 +00:00
Laurent Destailleur
e0610967b7 Fix: W3C 2010-03-27 18:32:18 +00:00
Laurent Destailleur
f5fd07e523 New: Add module externalsite 2010-03-27 18:06:35 +00:00
Laurent Destailleur
9e8b347fdc Add chile VAT rate 2010-03-27 17:40:41 +00:00
Philippe Grand
ac58545a94 correct call to class contact.class.php 2010-03-27 17:37:09 +00:00
Philippe Grand
2dcb267b4b correct call to class commande.class.php 2010-03-27 17:25:06 +00:00
Philippe Grand
cab4356e3d correct call to class commande.class.php 2010-03-27 17:09:09 +00:00
Juanjo Menent
7335f85d95 Works on enhancement of local taxes. First changes to products 2010-03-27 17:08:41 +00:00
Philippe Grand
355bbf5e99 correct call to class commande.class.php 2010-03-27 17:03:41 +00:00
Laurent Destailleur
76d25dad17 New: Add module externalsite 2010-03-27 16:35:49 +00:00
Juanjo Menent
8670dc91e4 Works on enhancement of local taxes. New: Prepare functions 2010-03-27 16:18:10 +00:00
Laurent Destailleur
2bf49cf8d8 Remove pre.inc.php 2010-03-27 15:35:33 +00:00
Laurent Destailleur
b6d8b648d9 Qual: Remove deprecated files 2010-03-27 15:32:56 +00:00
Laurent Destailleur
522863549c New: Add module externalsite 2010-03-27 15:24:59 +00:00
Laurent Destailleur
dc7e368736 Remove pre.inc.php 2010-03-27 15:24:22 +00:00
Laurent Destailleur
e4c2d9cd1f Remove pre.inc.php 2010-03-27 15:13:00 +00:00
Laurent Destailleur
839ceebfc7 Remove pre.inc.php 2010-03-27 15:06:19 +00:00
Laurent Destailleur
3ef00adb4a Remove pre.inc.php 2010-03-27 14:50:05 +00:00
Laurent Destailleur
d2aff43936 Remove pre.inc.php 2010-03-27 14:40:39 +00:00
Juanjo Menent
8e398cc069 Trad: Improved translation for repeatable invoice 2010-03-27 13:10:17 +00:00
Laurent Destailleur
f8329da895 Remove pre.inc.php 2010-03-27 02:35:08 +00:00
Laurent Destailleur
10cb81d756 Remove pre.inc.php 2010-03-27 02:29:49 +00:00
Laurent Destailleur
9f7bb65a1d Works on ODT import 2010-03-27 00:57:49 +00:00
Laurent Destailleur
bdf4bbaa1f Works on ODT import 2010-03-27 00:33:28 +00:00
Laurent Destailleur
eb3e50537b Doxygen 2010-03-26 23:33:57 +00:00
Laurent Destailleur
a28b7e7f18 Better error management 2010-03-26 23:33:15 +00:00
Laurent Destailleur
c973361832 Fix: Load trad 2010-03-26 23:23:38 +00:00
Laurent Destailleur
7df981b7e6 Fix: Error management 2010-03-26 23:03:04 +00:00
Laurent Destailleur
aba2a51fa2 Fix: foreign key to country use same type 2010-03-26 23:02:01 +00:00
Laurent Destailleur
ce1ca0219b Fix: SQL error 2010-03-26 22:12:07 +00:00
Laurent Destailleur
4ba071958d Fix: Default project ref was wrong 2010-03-26 22:11:46 +00:00
Laurent Destailleur
d1ab91671b Remove pre.inc.php 2010-03-26 22:11:11 +00:00
Laurent Destailleur
b60b99213e Better error management 2010-03-26 22:00:58 +00:00
Laurent Destailleur
85ce1f0458 Fix: Postgresql compatibility 2010-03-26 21:41:14 +00:00
Laurent Destailleur
a9f316035a New: Add now button on date selector 2010-03-26 21:39:12 +00:00
Philippe Grand
3ce3c74ba7 Move facture class file to compta/facture directory 2010-03-26 15:45:01 +00:00
Regis Houssin
1574fe2a37 Works on product canvas
Works on custom list
2010-03-26 15:43:17 +00:00
Regis Houssin
d66d765df4 Works on product canvas
Works on custom list
2010-03-26 14:25:06 +00:00
r2gnl
48c5d8b68b expanding measurements 2010-03-26 13:00:25 +00:00
r2gnl
28e39ffd6f English comments only (correcting typo error) 2010-03-26 12:46:31 +00:00
r2gnl
b0e9ae91c3 English comment only 2010-03-26 12:43:47 +00:00
r2gnl
6a7ae51e5f Working on consistancy in translation 2010-03-26 12:21:16 +00:00
r2gnl
1ff4fe8c51 Working on consistency in translation 2010-03-26 12:20:15 +00:00
Regis Houssin
9414877261 Fix: best autonomy of modules 2010-03-26 11:35:38 +00:00
Regis Houssin
653908c77c Fix: best autonomy of modules 2010-03-26 10:27:04 +00:00
Regis Houssin
372f34ebad Fix: best autonomy of modules 2010-03-26 10:13:34 +00:00
Regis Houssin
5ffcdd3ebe Works on canvas capability
Works on custom list
2010-03-25 17:17:40 +00:00
Regis Houssin
08fef48350 Works on canvas capability
Works on custom list
2010-03-25 16:56:22 +00:00
Regis Houssin
3bc4dadc7f Works on canvas capability
Works on custom list
2010-03-25 16:37:57 +00:00
Regis Houssin
42df48f5a5 Works on canvas capability
Works on custom list
2010-03-25 14:16:20 +00:00
Regis Houssin
6ae829dd68 Works on canvas capability
Works on custom list
2010-03-25 14:05:09 +00:00
Philippe Grand
a56832d521 move contact class file to contact directory 2010-03-25 13:51:24 +00:00
Regis Houssin
eba07e7e47 Works on canvas capability
Works on custom list
add php template version
2010-03-25 13:21:33 +00:00
Regis Houssin
649aca796a Fix: move function "getFieldList" to common class 2010-03-25 11:25:10 +00:00
Regis Houssin
6e0d95ac79 Fix: Move functions "verifCond" and "dol_eval" to functions.lib.php 2010-03-25 11:16:42 +00:00
Regis Houssin
84c3679129 Works on canvas capability
Works on custom list
2010-03-25 10:23:20 +00:00
Regis Houssin
99af90546f Works on canvas capability
Works on custom list
2010-03-25 09:28:51 +00:00
Regis Houssin
322e7dac48 Works on canvas capability
Works on custom list
2010-03-24 21:10:27 +00:00
Regis Houssin
c31514a2c4 Works on canvas capability
Works on custom list
2010-03-24 20:58:31 +00:00
Juanjo Menent
2a6781a552 Trad: Works on ODT module. 2010-03-24 20:33:45 +00:00
Regis Houssin
7aaa0680b0 Works on canvas capability
Works on custom list
2010-03-24 20:05:59 +00:00
Regis Houssin
5e609efffe Works on canvas capability
Works on custom list
2010-03-24 16:18:04 +00:00
Regis Houssin
642d07c1ef Works on canvas capability
Works on custom list
2010-03-24 15:16:03 +00:00
Laurent Destailleur
d0f5ddb322 Fix: Postgres compatibility 2010-03-24 13:43:10 +00:00
Laurent Destailleur
9838cb993f Fix: Remove only content of temp directories 2010-03-24 13:39:12 +00:00
Laurent Destailleur
ac6264e1c0 Fix: Postgres compatibility 2010-03-24 13:32:11 +00:00
Laurent Destailleur
ee8d3ff5e6 Fix: Postgres compatibility 2010-03-24 13:26:27 +00:00
Laurent Destailleur
c0b6e97ce8 Add link to wiki 2010-03-24 13:12:34 +00:00
Laurent Destailleur
49600d1423 Fix: Postgres compatibility 2010-03-24 13:06:29 +00:00
Laurent Destailleur
d9334847d8 Fix: standard SQL 2010-03-24 12:00:46 +00:00
Laurent Destailleur
1bf509d551 Better error management 2010-03-24 11:50:20 +00:00
Laurent Destailleur
7ebf5e4172 Prepare upgrade wampserver 2010-03-24 11:25:26 +00:00
Laurent Destailleur
71c7777cc9 Enable pgsql 2010-03-24 11:20:25 +00:00
Regis Houssin
da5f951ff5 Works on canvas capability
Works on custom list
2010-03-24 11:10:24 +00:00
Laurent Destailleur
fa1e2ffe83 Works on ODT module. 2010-03-23 22:46:30 +00:00
Regis Houssin
8dbc2e5340 Fix: move class 2010-03-23 21:31:05 +00:00
Philippe Grand
2ad53b40eb move file class usergroup to user/group directory 2010-03-23 21:27:06 +00:00
Philippe Grand
ff5d7ee824 move file class user to user directory 2010-03-23 21:17:18 +00:00
Philippe Grand
f7aa983481 move file class prospect to comm/prospect directory 2010-03-23 21:04:00 +00:00
Philippe Grand
497c2a9204 move file class propal to comm/propal directory 2010-03-23 20:53:15 +00:00
Juanjo Menent
7dfa83fa63 Trad: Can set accountancy code for product (buy and sell) 2010-03-23 20:05:43 +00:00
Juanjo Menent
4b8aca19e3 Trad: Enhancement in category module 2010-03-23 20:02:41 +00:00
Juanjo Menent
062cb57539 Trad: Can link trips and expenses to a project 2010-03-23 19:57:10 +00:00
Juanjo Menent
27b8208dee Trad: Can link trips and expenses to a project 2010-03-23 19:52:06 +00:00
Regis Houssin
aba0729d22 Works on canvas capability
Works on custom list
2010-03-23 19:48:49 +00:00
Juanjo Menent
b2a23fe29c Trad: ajout de la correspondance des volumes 2010-03-23 19:40:00 +00:00
Laurent Destailleur
acda03709b Fix: Missing DDL order 2010-03-23 19:37:48 +00:00
Laurent Destailleur
7d144cac32 Trad 2010-03-23 18:37:51 +00:00
Regis Houssin
556a6d279b Works on canvas capability
Works on custom list
2010-03-23 16:38:07 +00:00
Regis Houssin
31ced81af6 Works on canvas capability 2010-03-23 11:11:14 +00:00
Regis Houssin
01811b5727 Works on canvas capability 2010-03-23 09:58:05 +00:00
Regis Houssin
2fc70328fa Works on canvas capability 2010-03-23 09:33:06 +00:00
Philippe Grand
6d1d932497 move file class chargesociales to compta directory 2010-03-23 09:20:38 +00:00
Regis Houssin
25b12337e9 Fix: move core class to core directory 2010-03-23 08:58:15 +00:00
Philippe Grand
f51a1f6bbd move file class chargesociales to compta directory 2010-03-23 08:26:27 +00:00
Regis Houssin
7585fd2948 Fix: migration du module droitpret en module externe 2010-03-23 07:57:30 +00:00
Regis Houssin
ecedb7b273 Fix: appel de classe en double 2010-03-23 07:04:00 +00:00
Laurent Destailleur
9003096810 Fix: rename directory 2010-03-22 22:42:11 +00:00
Laurent Destailleur
ac792417b6 New: Change to support a top menu with icons 2010-03-22 22:33:05 +00:00
Regis Houssin
66520afb6d Works on canvas capability 2010-03-22 20:48:57 +00:00
Regis Houssin
e59a1f489c Works on canvas capability 2010-03-22 20:42:59 +00:00
Regis Houssin
dc1df590ab Works on canvas capability 2010-03-22 19:57:16 +00:00
Regis Houssin
9023ec01ff Works on canvas capability 2010-03-22 18:43:39 +00:00
Regis Houssin
97b7207d4b Works on canvas capability 2010-03-22 17:38:43 +00:00
Regis Houssin
39afca958e Fix: uniformize code 2010-03-22 16:58:14 +00:00
Philippe Grand
23d159a31f move module class to his own directory 2010-03-22 16:42:28 +00:00
Regis Houssin
92dc795835 Fix: add category type id 2010-03-22 16:14:59 +00:00
Regis Houssin
024290068c Fix: ajout de la correspondance des volumes 2010-03-22 16:01:42 +00:00
Regis Houssin
c7df8f8807 Fix: move module class to your own directory 2010-03-22 15:31:13 +00:00
Regis Houssin
da437acd5d Fix: remove pre.inc.php 2010-03-22 14:40:04 +00:00
Philippe Grand
352a87afae add volume unit and measure within products 2010-03-22 13:45:35 +00:00
Philippe Grand
f63bec3a34 add volume unit and measure within products 2010-03-22 13:40:31 +00:00
Philippe Grand
435ef3594a add volume unit and measure within products 2010-03-22 13:32:55 +00:00
Regis Houssin
5fe215cf40 Fix: rename option 2010-03-22 13:24:43 +00:00
Regis Houssin
48c113107b Fix: move "editeur" module to external module 2010-03-22 12:13:15 +00:00
Regis Houssin
dd408be68c Fix: reorganisation du fonctionnement des canvas de produits
Fix: migration du module droitpret en module externe
2010-03-22 11:49:10 +00:00
r2gnl
8b93460a90 Move permission "see hidden categories" into "see hidden products/services". 2010-03-22 10:39:08 +00:00
r2gnl
6360fa6b2d Qual: Uniformize code 2010-03-22 10:14:05 +00:00
Laurent Destailleur
c45bf06000 Works on ODT module. 2010-03-21 20:29:29 +00:00
Laurent Destailleur
1129856241 Fix: Trad 2010-03-21 20:11:10 +00:00
Laurent Destailleur
c2d02d4c4e New: Change to support a top menu with icons 2010-03-21 20:10:53 +00:00
Philippe Grand
5cb6e30d78 Change charset for utf-8 2010-03-21 18:13:34 +00:00
Philippe Grand
f606b27160 Corrected validation errors for better compatibility 2010-03-21 18:06:28 +00:00
Laurent Destailleur
435922ae37 New: Can link trips and expenses to a project. 2010-03-21 14:01:39 +00:00
Philippe Grand
0314cd72ac Corrected validation errors for better compatibility 2010-03-21 13:35:07 +00:00
Laurent Destailleur
de5368e66e Fix: Clean orphelins before creating foreign key 2010-03-21 12:00:24 +00:00
Laurent Destailleur
2e11263e72 s's is forbidden in english 2010-03-21 11:53:47 +00:00
Philippe Grand
967f3dac10 Corrected validation errors for better compatibility 2010-03-21 10:02:38 +00:00
Philippe Grand
3ca2070a20 some spelling changes 2010-03-21 09:04:20 +00:00
Laurent Destailleur
9d49b8544f ODT samples in more appropriated directory. 2010-03-21 02:46:59 +00:00
Philippe Grand
a958d47b92 some spelling changes 2010-03-20 22:35:57 +00:00
Philippe Grand
84c401d664 some spelling changes 2010-03-20 22:23:53 +00:00
Laurent Destailleur
e89c3ba08e New: Enhancement in category module 2010-03-20 20:24:32 +00:00
Laurent Destailleur
bab2b22b3a New: Can set accountancy code for product (buy and sell) 2010-03-20 18:39:32 +00:00
Juanjo Menent
2da9b9df22 Trad: Enhancement in category module 2010-03-20 17:19:43 +00:00
Philippe Grand
3670e0b0c3 some spelling changes 2010-03-20 15:14:27 +00:00
Philippe Grand
c798b66863 some spelling changes 2010-03-20 14:50:08 +00:00
Regis Houssin
c43f05ca3e Fix: clean code 2010-03-20 14:15:10 +00:00
Laurent Destailleur
10f1df53e0 New: Enhancement in category module 2010-03-20 13:12:00 +00:00
Laurent Destailleur
95f44eb1bc Fix: Upgrade process must never use DDL instructions, except Drop colum or table. Create/Update must be done in migrate sql. 2010-03-20 13:09:59 +00:00
Juanjo Menent
0519e52a66 Trad: Missing translation 2010-03-20 10:49:08 +00:00
Juanjo Menent
a39603d883 Works on enhancement of local taxes. New: Prepare database, product tables 2010-03-20 10:02:44 +00:00
Juanjo Menent
36532e39aa Trad: Enhancement in category module 2010-03-20 08:29:50 +00:00
Laurent Destailleur
7ba8f38348 New: Enhancement in category module 2010-03-20 00:16:31 +00:00
Laurent Destailleur
5a58b6b6ea New: Enhancement in category module 2010-03-20 00:07:47 +00:00
Regis Houssin
2337235f7e Fix: create Smarty directory if not exist 2010-03-19 11:20:29 +00:00
Regis Houssin
81f2710647 Fix: purge old object link 2010-03-19 08:45:14 +00:00
Juanjo Menent
96f1f41c83 Qual: Uniformize table structure 2010-03-18 22:03:01 +00:00
Juanjo Menent
88517555b6 Qual: Uniformize table structure 2010-03-18 21:50:24 +00:00
Juanjo Menent
6ff9ff11b1 Minor change in look of project 2010-03-18 20:58:50 +00:00
Laurent Destailleur
8e7b3c795c Fix: Minor change in look of project 2010-03-18 20:04:10 +00:00
Laurent Destailleur
4249291d4b Fix: Minor change in look of project 2010-03-18 19:51:50 +00:00
Laurent Destailleur
fc925f9544 Fix: Correct errors on rollup. 2010-03-18 19:47:01 +00:00
Laurent Destailleur
358c43c46f Fix: Show tasks in project PDF 2010-03-18 19:33:57 +00:00
Juanjo Menent
2633a74417 Trad: Add turkish language 2010-03-18 19:27:26 +00:00
Juanjo Menent
0bfcdb9d06 Trad: Better organisation of tax module menus to match other modules 2010-03-18 19:13:23 +00:00
Laurent Destailleur
d7914b690a Spip interface is no more experimental. 2010-03-17 22:25:49 +00:00
Laurent Destailleur
5077734b00 Remove warning 2010-03-17 21:50:31 +00:00
Laurent Destailleur
e3f4dddf02 Add favicon in html header 2010-03-17 21:41:06 +00:00
Laurent Destailleur
003caa7063 Qual: Better organisation of tax module menus to match other modules 2010-03-17 19:26:54 +00:00
Laurent Destailleur
b6626f562c Typo 2010-03-17 18:43:22 +00:00
Regis Houssin
11e90d72c9 Fix: addslashes 2010-03-17 13:33:56 +00:00
Laurent Destailleur
1b112b4bb2 Remove field stock_loc because location of product in a warehouse can't be set into the product table as it can differs between warehouses. Such feature must be stored in the join table. 2010-03-17 11:57:03 +00:00
Laurent Destailleur
4a5bb8a327 Remove field stock_loc because location of product in a warehouse can't be set into the product table as it can differs between warehouses. Such feature must be stored in the join table. 2010-03-17 11:51:51 +00:00
Laurent Destailleur
5d5eb3c829 Remove field stock_loc because location of product in a warehouse can't be set into the product table as it can differs between warehouses. Such feature must be stored in the join table. 2010-03-17 11:51:51 +00:00
Laurent Destailleur
46a5d637aa Fix: Error in total 2010-03-17 01:46:18 +00:00
Laurent Destailleur
e2eb6a5c18 Qual: Mutualize code of menu managers 2010-03-17 00:50:00 +00:00
Laurent Destailleur
db6800335c Uniformize menu entries 2010-03-16 20:28:56 +00:00
Laurent Destailleur
353a63390a New: Can filter on categories for third parties list 2010-03-16 20:05:44 +00:00
Laurent Destailleur
f1216bfe4c New: Can filter on categories for third parties list 2010-03-16 19:50:07 +00:00
Laurent Destailleur
9f722f671e Fix: Code simpler and works even if script file has no path when called by php interpreter 2010-03-16 18:46:28 +00:00
Laurent Destailleur
3ffb11c53d Doc 2010-03-16 18:29:51 +00:00
Laurent Destailleur
c8179af08b Qual: Move droitpret module into secondary repository 2010-03-16 18:26:38 +00:00
Laurent Destailleur
1d911571cb Trad: Add turkish language 2010-03-16 01:58:52 +00:00
Laurent Destailleur
0e9e2f6b21 Fix: Fix regression after removing pre.inc.php 2010-03-16 01:38:40 +00:00
Laurent Destailleur
2fa874513a Trad 2010-03-16 01:27:40 +00:00
Laurent Destailleur
4ca8533ff7 Trad 2010-03-16 01:20:41 +00:00
Laurent Destailleur
d38f72f50a Fix: Fix regression after removing pre.inc.php 2010-03-16 01:18:25 +00:00
Laurent Destailleur
3c9f50d34a Add a directory to store specimen of ODT models 2010-03-16 01:12:41 +00:00
Laurent Destailleur
15c1c818de Can build documents for third parties (Use ODT Templates, need PHP 5.2) 2010-03-16 00:47:30 +00:00
Laurent Destailleur
086c803ca4 Protect double submit on long step 2010-03-16 00:24:52 +00:00
Laurent Destailleur
465cc90759 Fix W3C errors in page forging 2010-03-15 23:54:37 +00:00
Laurent Destailleur
f793dd7398 Doc 2010-03-15 23:37:24 +00:00
Laurent Destailleur
b4fe65e88c Doc 2010-03-15 23:25:19 +00:00
Philippe Grand
c942d1928e Some spelling changes 2010-03-15 09:39:07 +00:00
Philippe Grand
ba5de65c0c Some spelling changes 2010-03-15 09:11:59 +00:00
Philippe Grand
799492d6dc Some spelling changes 2010-03-15 09:03:28 +00:00
Philippe Grand
6daae65520 Some spelling changes 2010-03-15 08:48:00 +00:00
Philippe Grand
faff05ce81 Some spelling changes 2010-03-15 08:29:07 +00:00
Philippe Grand
27376aad9c Some spelling changes 2010-03-15 08:23:26 +00:00
Philippe Grand
430b4cb961 Some spelling changes 2010-03-14 18:39:34 +00:00
Philippe Grand
b1058e93e4 Some spelling changes 2010-03-14 18:22:42 +00:00
Philippe Grand
7617ce4b32 Some spelling changes 2010-03-14 18:04:38 +00:00
Philippe Grand
e1d5c8f0b8 Some spelling changes 2010-03-14 17:42:01 +00:00
Philippe Grand
65d35b3a94 Some spelling changes 2010-03-14 17:26:36 +00:00
Philippe Grand
ec3031fa8d some spelling changes 2010-03-14 17:22:56 +00:00
Philippe Grand
18ab1d14d6 some spelling changes 2010-03-14 17:14:15 +00:00
Philippe Grand
f7af83cff3 some spelling changes 2010-03-14 17:05:45 +00:00
Philippe Grand
3e6a26e72c Some spelling changes 2010-03-14 16:57:17 +00:00
Philippe Grand
c6cc29a22c some spelling changes 2010-03-14 16:51:21 +00:00
Philippe Grand
0309ccf812 Some spelling changes 2010-03-14 16:44:51 +00:00
Philippe Grand
8b153fa48f some spelling changes 2010-03-14 16:22:06 +00:00
Philippe Grand
ce3bf9a18f some spelling changes 2010-03-14 14:20:26 +00:00
Juanjo Menent
d1d40c596b Trad: Group supplier prices and customer prices on continuous tabs 2010-03-14 08:03:07 +00:00
Laurent Destailleur
0061b3c7d8 New: Add field accountancy_code for sell/buy product 2010-03-13 22:54:55 +00:00
Laurent Destailleur
c05a1e066b Fix: Can edit supplier 2010-03-13 22:28:03 +00:00
Laurent Destailleur
0013bd4cd7 Group supplier prices and customer prices on continuous tabs. 2010-03-13 22:27:37 +00:00
Laurent Destailleur
6251f5f8b6 Fix: Can edit supplier 2010-03-13 21:57:40 +00:00
Laurent Destailleur
9c77a7621e Move permission "see hidden categories" into "see hidden products/services". 2010-03-13 21:53:45 +00:00
Laurent Destailleur
3ad6f2639d Move permission "see hidden categories" into "see hidden products/services". 2010-03-13 21:53:45 +00:00
Laurent Destailleur
3cb4335f9a Move permission "see hidden categories" into "see hidden products/services". 2010-03-13 21:53:44 +00:00
Laurent Destailleur
65f68c3283 Remove old fiel hidden category 2010-03-13 21:27:33 +00:00
Philippe Grand
137e32441c Test certif grandoc 2010-03-13 18:26:54 +00:00
Regis Houssin
f213b4f555 Fix: best autonomy of modules
Fix: uniformise fields and code
!! not stable !!
2010-03-13 17:44:27 +00:00
Laurent Destailleur
1959dbb13a Fix in odt library 2010-03-13 17:38:48 +00:00
Laurent Destailleur
ef5d9dbc9b Perf: Optimize page loading of CSS. 2010-03-13 16:27:11 +00:00
Regis Houssin
8ce5c5b66e Fix: add date delivery planned 2010-03-13 16:23:43 +00:00
Laurent Destailleur
ed19e89531 A lot of fix in phpOdt module 2010-03-13 16:05:36 +00:00
Regis Houssin
f1d67cba3c Fix: best autonomy of modules
Fix: uniformise fields and code
!! not stable !!
2010-03-13 15:52:30 +00:00
Laurent Destailleur
64b94af009 Fix: USe user language for popup calendar 2010-03-13 02:00:32 +00:00
Laurent Destailleur
e9d13c5cff Add more fields in product export 2010-03-13 02:00:00 +00:00
Laurent Destailleur
f825999f83 Add more fields in product export 2010-03-13 01:10:27 +00:00
Laurent Destailleur
0bdd4c922a Fix: Export was broken after ODT support. 2010-03-13 01:09:57 +00:00
Laurent Destailleur
0d8d1fe160 Fix: USe user language for popup calendar 2010-03-13 00:21:31 +00:00
Laurent Destailleur
85337e54c3 Fix: USe user language for popup calendar 2010-03-13 00:21:31 +00:00
Laurent Destailleur
0f591d36ad Fix: Default category when editing a supplier. 2010-03-12 23:59:23 +00:00
Laurent Destailleur
a577152057 Fix: Missing translation 2010-03-12 23:52:34 +00:00
Laurent Destailleur
8980d9acc2 Move permission "see hidden categories" into "see hidden products/services". 2010-03-12 23:40:39 +00:00
Regis Houssin
7906b63597 Fix: corrections orthographique par Grandoc 2010-03-12 08:41:56 +00:00
Regis Houssin
6b704d9ae4 Fix: uniformise and clean code 2010-03-11 14:39:40 +00:00
Regis Houssin
6822a1b18b Fix: uniformise and clean code 2010-03-11 14:31:16 +00:00
Regis Houssin
2dc31fa613 Fix: uniformise and clean code 2010-03-11 10:40:58 +00:00
Regis Houssin
92cfaa42d3 Fix: uniformise code
Fix: prepare to compatibility with other module
2010-03-11 10:25:55 +00:00
Laurent Destailleur
7123a37db3 Work on odt module. It works now ! 2010-03-10 21:59:34 +00:00
Laurent Destailleur
f0e95657d5 Work on ODT module 2010-03-10 20:36:30 +00:00
Laurent Destailleur
3f74e78f5f Work on odt module. It works now ! 2010-03-10 20:14:39 +00:00
Laurent Destailleur
3628d600fa UTF8 2010-03-10 20:06:56 +00:00
Laurent Destailleur
504cf83e73 Restore default lib 2010-03-10 19:44:02 +00:00
Laurent Destailleur
23f36d7226 Doxygen 2010-03-10 19:38:25 +00:00
Regis Houssin
55a57aa6bf Add MAIN_SHOW_LOGIN for show/hide user login 2010-03-10 19:27:29 +00:00
Laurent Destailleur
5d69d22c8c Fix: Duplicate line 2010-03-10 18:59:54 +00:00
Regis Houssin
b6012e3bbc Fix: my time machine 2010-03-10 08:49:01 +00:00
Laurent Destailleur
99e2bfb009 Update documentation 2010-03-07 13:17:11 +00:00
Juanjo Menent
1f11eac702 Works on enhancement of local taxes. New: Prepare database, provider invoice tables 2010-03-07 10:00:05 +00:00
Juanjo Menent
cfb8d0b0eb Trad: Fix awfull code for subproduct option 2010-03-07 08:32:25 +00:00
Juanjo Menent
0c4312105e Trad: Work on odt module 2010-03-07 08:22:04 +00:00
Laurent Destailleur
e8163945fe Work on odt module 2010-03-06 19:33:45 +00:00
Regis Houssin
b8c3177eb8 Fix: hide errors 2010-03-06 10:20:36 +00:00
Regis Houssin
36ab2be4da Works on enhancement of project module
Fix: add triggers
2010-03-05 11:30:22 +00:00
Laurent Destailleur
87dccc1e76 Fix: Fix awfull code for subproduct option 2010-03-04 19:42:01 +00:00
Regis Houssin
b7201c5c5d Add task progress in list 2010-03-04 09:04:36 +00:00
Regis Houssin
72d0b60bbe Add JQuery for test 2010-03-04 08:28:30 +00:00
Regis Houssin
f4cbec0c8f Add confirm window when delete a file 2010-03-03 14:51:37 +00:00
Regis Houssin
c9e8aaa108 Fix: utf-8 2010-03-03 10:24:26 +00:00
Regis Houssin
925ead825c Qual: update fpdi libraries:
FPDF_TPL v1.1.4
FPDI v1.3.2
FPDI_Protection v1.0.3
2010-03-03 09:13:45 +00:00
Regis Houssin
3605390156 Fix: add hidden option MAIN_SHOW_LANGUAGE_CODE 2010-03-03 07:42:11 +00:00
Regis Houssin
e4fab24a0a Fix: bug #29045 2010-03-03 06:38:12 +00:00
Laurent Destailleur
1cae3c6083 Default value is 5 on number of subproduct 2010-03-02 23:32:57 +00:00
Regis Houssin
39a1fc5be2 Fix: code more clean 2010-03-02 19:32:13 +00:00
Juanjo Menent
0c32191cda Works on enhancement of local taxes. New: Prepare database, provider order tables 2010-03-02 19:25:30 +00:00
Regis Houssin
ff47f37996 Add document tabs in project and task cards 2010-03-02 19:18:25 +00:00
Regis Houssin
a5ea5f2617 Add document tabs in project and task cards (not finished)
Fix: some bugs
2010-03-02 17:13:39 +00:00
Laurent Destailleur
edf8434655 Rename function with a more english name.
Remove duplicated "default" preselected parameter.
2010-03-02 08:45:49 +00:00
Regis Houssin
2642d924d3 Fix: management of time spent in task card
Fix: Update time spent in seconds
2010-03-02 07:52:31 +00:00
Regis Houssin
e51a002c10 Fix: management of time spent in task card
Fix: Update time spent in seconds
2010-03-02 07:28:59 +00:00
Laurent Destailleur
d9fabf962f Add field hidden for product. Don't know yet if it will be used. 2010-03-01 23:45:01 +00:00
Juanjo Menent
b38f9aef21 Works on enhancement of local taxes. New: Prepare database, costumer order tables 2010-03-01 20:42:24 +00:00
Juanjo Menent
627ef6d371 Works on enhancement of local taxes. New: Prepare database, propal tables 2010-03-01 20:29:22 +00:00
Juanjo Menent
a22276df72 Trad: Update time spent in seconds 2010-03-01 20:13:24 +00:00
Regis Houssin
dd588bda19 Fix: management of time spent in task card
Fix: Update time spent in seconds
2010-03-01 19:36:58 +00:00
Regis Houssin
703e35ad73 Fix: bad language selection 2010-03-01 18:12:38 +00:00
Regis Houssin
205666c206 Try to fix the bad language selection 2010-03-01 17:49:14 +00:00
Regis Houssin
bce9879a95 Qual: First change to remove pre.inc.php 2010-03-01 17:38:35 +00:00
Regis Houssin
65b2ac3e56 Fix: bad link 2010-03-01 16:46:31 +00:00
Regis Houssin
4adf45647a Fix: management of time spent in task card
Fix: Update time spent in seconds
2010-03-01 16:42:02 +00:00
Regis Houssin
ed44821987 Qual: First change to remove pre.inc.php 2010-03-01 09:37:12 +00:00
Regis Houssin
00524039b2 Qual: First change to remove pre.inc.php 2010-03-01 09:30:33 +00:00
Regis Houssin
68c1571d13 Qual: First change to remove pre.inc.php 2010-03-01 09:20:41 +00:00
Regis Houssin
dd4ef1be67 Qual: First change to remove pre.inc.php 2010-03-01 08:55:43 +00:00
Regis Houssin
818fec7e6b Qual: First change to remove pre.inc.php 2010-03-01 08:42:10 +00:00
Laurent Destailleur
2b7f458ec0 Remove borders 2010-03-01 08:34:44 +00:00
Regis Houssin
e04e6631e8 Qual: First change to remove pre.inc.php 2010-03-01 08:28:29 +00:00
Regis Houssin
9647d5a7a6 Qual: First change to remove pre.inc.php 2010-03-01 08:08:49 +00:00
Regis Houssin
a740922190 Qual: First change to remove pre.inc.php 2010-03-01 08:00:49 +00:00
Laurent Destailleur
337ebafceb Work on generic odt generation 2010-02-28 22:49:06 +00:00
Laurent Destailleur
dea8bc6751 Fix: Missing translation 2010-02-28 19:05:01 +00:00
Laurent Destailleur
f49d0eed46 Work on generic odt generation 2010-02-28 18:59:35 +00:00
Laurent Destailleur
0f1d95d7fa Look: Align fields 2010-02-28 18:43:13 +00:00
Laurent Destailleur
16214e7e30 Work on generic odt generation 2010-02-28 18:37:29 +00:00
Juanjo Menent
9ba22b150e Trad 2010-02-28 16:56:44 +00:00
Laurent Destailleur
ca71e16869 Trad 2010-02-28 16:44:53 +00:00
Juanjo Menent
de13f32818 Works on enhancement of local taxes. Spanish RE added as localtax1
Fix: duplicated rowid in Louxembourg and Marroco data
2010-02-28 16:32:54 +00:00
Laurent Destailleur
20d4f65aed Look: Use style fieldrequired on mandatory fields 2010-02-28 16:14:00 +00:00
Laurent Destailleur
de1d313148 Remove pre.inc.php on module directories. 2010-02-28 15:33:31 +00:00
Laurent Destailleur
9da8724714 Qual: Clean a lot of code to prepare remove of pre.inc.php 2010-02-28 15:13:27 +00:00
Laurent Destailleur
43b69e1da0 Qual: Clean a lot of code to prepare remove of pre.inc.php 2010-02-28 14:49:39 +00:00
Laurent Destailleur
99e6134e82 Qual: Clean a lot of code to prepare remove of pre.inc.php 2010-02-28 14:16:46 +00:00
Juanjo Menent
addbd8b132 Works on enhancement of local taxes. Fix migration script field position 2010-02-28 11:49:27 +00:00
Juanjo Menent
72c62e1899 Works on enhancement of local taxes. New: Adapted vat dictionary and table 2010-02-28 11:45:49 +00:00
Juanjo Menent
e7533a2c24 Trad 2010-02-28 10:15:41 +00:00
Laurent Destailleur
40d42b56de Qual: First change to remove pre.inc.php 2010-02-28 04:32:18 +00:00
Laurent Destailleur
d6f7018be6 Qual: Uniformize code 2010-02-28 02:37:04 +00:00
Laurent Destailleur
a642131408 Trad 2010-02-28 02:02:03 +00:00
Laurent Destailleur
2fba5c03f3 Try to change memory limit dynamically 2010-02-28 02:01:46 +00:00
Laurent Destailleur
677b831b24 We store duration of time spent in seconds as this is a more "universal" format.
Fix some bugs.
2010-02-28 01:33:12 +00:00
Laurent Destailleur
0686579e30 Fix: Missing condition on project 2010-02-28 00:42:44 +00:00
Laurent Destailleur
dd97ad310b New: Add flag on product translation page. 2010-02-28 00:27:37 +00:00
Laurent Destailleur
1642cbc098 New: Add flag on product translation page. 2010-02-28 00:09:23 +00:00
Laurent Destailleur
8dab53a7bb Fix: Error on adding user as project contact 2010-02-27 23:46:12 +00:00
Laurent Destailleur
f8d798c031 Fix: Error on project creation 2010-02-27 23:42:45 +00:00
Laurent Destailleur
7e25edfe0a Fix: Error on project creation 2010-02-27 23:40:31 +00:00
Laurent Destailleur
36c4605d17 Mutualize a lot of code about models selection to prepare generic odt generator. 2010-02-27 22:53:27 +00:00
Juanjo Menent
ee867ed6c2 Works on enhancement of local taxes. New: Prepare database, costumer bills tables 2010-02-27 22:12:39 +00:00
Juanjo Menent
1104275318 Trad: reduce content of third parties tab 2010-02-27 21:27:31 +00:00
Laurent Destailleur
60c262c9c5 Removed deprecated code 2010-02-27 20:30:55 +00:00
Laurent Destailleur
ffd1e04f55 Fix: Reduce content of third parties tab 2010-02-27 20:19:55 +00:00
Laurent Destailleur
3d8dc0b7e7 Sec: Fix security permission check 2010-02-27 17:30:17 +00:00
Laurent Destailleur
379d29e867 Trad 2010-02-27 16:58:08 +00:00
Juanjo Menent
bfb3321144 Trad: Can change password if has only permission change password. 2010-02-27 16:55:55 +00:00
Laurent Destailleur
677c2fc6dc Fix: Parameter lost 2010-02-27 16:49:34 +00:00
Juanjo Menent
59288e66ac Trad: task #10113 : Show list of emailing on clicking on "number of mass emailing received"
Corrected the comment ISO lang for catalan projects.lang
2010-02-27 16:45:02 +00:00
Juanjo Menent
b7106c983f Trad: management of time spent in task card 2010-02-27 16:33:40 +00:00
Laurent Destailleur
c001d75785 Fix: Can change password if has only permission change password. 2010-02-27 16:14:52 +00:00
Juanjo Menent
b5acf315b0 Trad: Uniformize code 2010-02-27 16:09:41 +00:00
Laurent Destailleur
b02fcaf835 Fix: Project id was not read correctly 2010-02-27 13:44:51 +00:00
Regis Houssin
8f5b925603 Fix: bad URL 2010-02-27 13:41:24 +00:00
Laurent Destailleur
d30e65cbaa New: Add default language for third parties and use it when multilang is enabled to define default language for document generation. 2010-02-27 13:37:13 +00:00
Laurent Destailleur
ff6cb05477 Fix: Bad utf8 encoding 2010-02-27 13:34:57 +00:00
Laurent Destailleur
0797106c3b Use fieldrequired class on mandatory field
Better error management
2010-02-27 12:28:36 +00:00
Laurent Destailleur
843123d84a Uniformize supplier invoice code with customer invoice code. 2010-02-27 12:05:47 +00:00
Laurent Destailleur
05cc92e3db New: Add default language for third parties and use it when multilang is enabled to define default language for document generation. 2010-02-27 11:05:01 +00:00
Laurent Destailleur
eb2b3c0ea6 New: Add logo of country "near" language in setup pages. 2010-02-27 10:17:06 +00:00
Laurent Destailleur
24efaa6fa1 New: Add logo of country "near" language in setup pages. 2010-02-27 10:11:00 +00:00
Regis Houssin
5e65d811a9 Fix: same session name on some installations 2010-02-26 11:30:35 +00:00
Regis Houssin
dfd0895925 Fix: management of time spent in task card 2010-02-26 10:37:16 +00:00
Regis Houssin
1f52da3e99 Fix: management of time spent in task card
Fix: user rights
2010-02-26 08:45:22 +00:00
Laurent Destailleur
f480baa65e Doc 2010-02-26 07:57:21 +00:00
Laurent Destailleur
6fea17e79b Doc 2010-02-26 07:56:42 +00:00
Laurent Destailleur
b747fb13cb Look: Use filedrequired style for required fields 2010-02-25 21:30:16 +00:00
Laurent Destailleur
9eec20c754 Fix: Project choice lost when create failed 2010-02-25 21:28:17 +00:00
Laurent Destailleur
c08b7def4f Fix maintenance script 2010-02-25 21:07:45 +00:00
Regis Houssin
5b5b95d9d1 Fix: management of time spent in task card 2010-02-25 11:21:06 +00:00
Regis Houssin
52e2fc71dd Fix: management of time spent in task card 2010-02-25 09:44:58 +00:00
Laurent Destailleur
d5d9291449 Qual: Uniformize code 2010-02-24 23:29:46 +00:00
Laurent Destailleur
5723bce76a New: Work on document generation for third parties 2010-02-24 20:46:14 +00:00
Laurent Destailleur
bcaaf8e053 Fix: Alias of dolibarr ico 2010-02-24 19:57:31 +00:00
Laurent Destailleur
8b75708094 Fix: Alias of dolibarr ico 2010-02-24 19:53:38 +00:00
Laurent Destailleur
5634208946 New: Add fields to add joined files to emailings 2010-02-24 19:25:01 +00:00
Laurent Destailleur
8e724570df Remove huge useless file from doliwamp 2010-02-24 19:17:46 +00:00
Laurent Destailleur
ee47cf17cf Qual: Uniformize code and remove useless function 2010-02-24 16:41:19 +00:00
Laurent Destailleur
d08e058726 Qual: Uniformize code and remove useless function 2010-02-24 16:25:34 +00:00
Laurent Destailleur
9a2a1f6c06 Uniformize code 2010-02-24 15:40:29 +00:00
Regis Houssin
d3e8f6f3f9 Fix: bad user rights 2010-02-24 15:38:05 +00:00
Regis Houssin
e4188bf026 Fix: bad user rights 2010-02-24 15:26:54 +00:00
Regis Houssin
4d3abb2f1d Fix: management of time spent in task card 2010-02-24 15:04:10 +00:00
Laurent Destailleur
d3a8fb190a Doxygen 2010-02-24 14:55:22 +00:00
Regis Houssin
da2e8dd348 Fix: management of time spent in task card 2010-02-24 14:54:55 +00:00
Laurent Destailleur
84a6def3b0 Fix: Limit of RCS too small 2010-02-24 14:54:15 +00:00
Laurent Destailleur
cfc13df621 Fix: Hide not required lines 2010-02-24 14:50:42 +00:00
Laurent Destailleur
d13aea4054 Fix: Add warning if install.lock file removing fails 2010-02-24 13:03:55 +00:00
Laurent Destailleur
ffc1308148 Message more clear 2010-02-24 12:27:47 +00:00
Laurent Destailleur
138fb9c401 Changelog 2010-02-24 11:55:47 +00:00
Laurent Destailleur
2578562fe2 Sec: Exclude backup files from packages 2010-02-24 11:53:45 +00:00
Regis Houssin
04cd6e919a Fix: management of time spent in task card 2010-02-24 10:57:37 +00:00
Regis Houssin
ca30725757 Fix: management of time spent in task card 2010-02-24 10:30:26 +00:00
Regis Houssin
f2423b654a Fix: management of time spent in task card 2010-02-24 10:30:26 +00:00
Regis Houssin
dd06f2af7e Fix: management of time spent in task card 2010-02-24 10:30:26 +00:00
Regis Houssin
d2dbbca945 Fix: management of time spent in task card 2010-02-24 09:53:16 +00:00
Regis Houssin
21c5d870ae Fix: bad username and view datetext 2010-02-24 09:18:29 +00:00
Laurent Destailleur
c601834e56 Fix: Numbers works with ar_AR language 2010-02-23 20:30:55 +00:00
Laurent Destailleur
e6c91a10d7 Restore function to kept backward compatibility 2010-02-23 19:44:12 +00:00
Regis Houssin
fb0a558f37 Fix: add state in export 2010-02-23 16:20:50 +00:00
Regis Houssin
329c93078b Fix: need dolibarr version 2010-02-23 11:23:33 +00:00
Regis Houssin
317dcff9e9 Works on multi-company 2010-02-23 11:09:15 +00:00
Regis Houssin
d3998336d5 Fix: move to dolibarrmod 2010-02-23 10:48:48 +00:00
Laurent Destailleur
3ff8509f94 Update svg 2010-02-22 19:58:04 +00:00
Laurent Destailleur
671bf5bff1 Fix: bug #28895 : Cration d'utilisateur impossible. 2010-02-22 19:16:03 +00:00
Regis Houssin
60bf61aada Works on products variants 2010-02-22 10:20:34 +00:00
Regis Houssin
72e78e95cc Works on products variants 2010-02-22 09:08:00 +00:00
Laurent Destailleur
d5140d5121 Different picto for public project and private projects 2010-02-21 22:48:46 +00:00
Laurent Destailleur
22c1f604e7 Trad 2010-02-21 22:48:23 +00:00
Laurent Destailleur
3b00caf734 New: task #10113 : Show list of emailing on clicking on "number of mass emailing received" 2010-02-21 21:21:12 +00:00
Laurent Destailleur
db5642274d Look: Use style fieldrequired on mandatory fields 2010-02-21 19:35:58 +00:00
Laurent Destailleur
623a6e696c Different picto for public project and private projects 2010-02-21 19:28:59 +00:00
Laurent Destailleur
64b7c07e37 Add function to check swiss bvrb number. 2010-02-21 17:27:21 +00:00
Laurent Destailleur
bda51b47a6 Fix: A lot of fix in project permissions 2010-02-21 17:01:45 +00:00
Regis Houssin
fdda3198e1 Fix: bug 2010-02-21 16:38:18 +00:00
Juanjo Menent
21e44be700 Trad: Add more clear information for project view 2010-02-21 16:01:23 +00:00
Juanjo Menent
55f8cf5982 Trad: Add patch from meos to resize images 2010-02-21 15:33:23 +00:00
Juanjo Menent
7629b2faea Trad: view popularity by type 2010-02-21 15:26:50 +00:00
Juanjo Menent
cafc84d3a4 Trad: Add feature to resize or crop images (for product's photo). 2010-02-21 15:21:56 +00:00
Laurent Destailleur
21987a4310 Fix: fix hidden option MAIN_AUTOFILL_TOWNFROMZIP 2010-02-21 15:16:49 +00:00
Juanjo Menent
4ecdeff287 Trad: Add default language of third party
Update id prof for marroco
2010-02-21 15:10:18 +00:00
Laurent Destailleur
389151fab4 Update id prof for marroco 2010-02-21 14:44:33 +00:00
Laurent Destailleur
9087005279 UTF8 2010-02-21 14:30:21 +00:00
Laurent Destailleur
d07140ff0b Remove useless code 2010-02-21 14:06:41 +00:00
Laurent Destailleur
3ccd60c319 New: task #10117 : Add default language of third party 2010-02-21 13:08:02 +00:00
Laurent Destailleur
2e962068cc New: Add default_lang field to define default language of a contact or third party. 2010-02-21 12:19:41 +00:00
Laurent Destailleur
d04578f966 Qual: Uniformize labels 2010-02-21 12:12:14 +00:00
Laurent Destailleur
b4c9331461 New: Add feature to resize or crop images (for product's photo). 2010-02-21 11:50:21 +00:00
Regis Houssin
5af5d306eb Works on products variants 2010-02-21 10:29:28 +00:00
Regis Houssin
094fd7f0d7 Fix: view popularity by type 2010-02-21 10:03:06 +00:00
Regis Houssin
4761e87e6b Fix: trad 2010-02-21 09:30:52 +00:00
Regis Houssin
cf2a359674 Fix: debug multilang 2010-02-21 08:53:42 +00:00
Regis Houssin
7adef0ca3a Fix: uniformize code 2010-02-21 07:50:33 +00:00
Regis Houssin
302ab8b726 Fix: uniformize code 2010-02-21 07:47:39 +00:00
Regis Houssin
0f45a3c3b1 Fix: uniformize code 2010-02-21 07:38:01 +00:00
Regis Houssin
12c93d97bb Fix: bad directory 2010-02-21 07:25:53 +00:00
Laurent Destailleur
2a53d4d2de Comments 2010-02-21 03:14:26 +00:00
Laurent Destailleur
e1e57f52ad New: Add feature to crop/resize image file on product photos 2010-02-21 03:09:45 +00:00
Laurent Destailleur
1c2728547b New: Add patch from meos to resize images 2010-02-21 01:53:01 +00:00
Laurent Destailleur
ae3cfce7cc New: Add patch from meos to resize images 2010-02-21 01:45:58 +00:00
Laurent Destailleur
8e675a9c01 A lot of fix in project module 2010-02-21 00:16:47 +00:00
Laurent Destailleur
2fd6e376da Add more clear information for project view 2010-02-20 20:24:09 +00:00
Laurent Destailleur
df312b361e Look: Use filedrequired style for required fields 2010-02-20 18:48:43 +00:00
Laurent Destailleur
1f8e2aa660 Fix: Error in deleting customer order 2010-02-20 18:43:33 +00:00
Laurent Destailleur
770055cd26 Fix: Delete order 2010-02-20 15:20:10 +00:00
Laurent Destailleur
459855a636 Mutualize code in menu 2010-02-20 15:07:46 +00:00
Laurent Destailleur
a0355cc9b1 Mutualize code in menu 2010-02-20 14:41:02 +00:00
Regis Houssin
e765f83644 Fix: uniformize code 2010-02-20 14:24:47 +00:00
Laurent Destailleur
9cd4d949c3 Fix: Removed deprecated function 2010-02-20 13:15:28 +00:00
Laurent Destailleur
14b660f97d Qual: Uniformise code 2010-02-20 12:31:11 +00:00
Laurent Destailleur
312392860d Remove dependency on dolibarr_main_rul_root 2010-02-20 12:16:35 +00:00
Regis Houssin
ca6fd04aea Fix: uniformize code 2010-02-20 12:02:48 +00:00
Laurent Destailleur
ba32176b35 Prepare 2.9 dev 2010-02-20 12:00:58 +00:00
Laurent Destailleur
73eeda8cb4 Message more clear 2010-02-20 11:54:54 +00:00
Laurent Destailleur
3acd11c13c Move conf file information into page of dolibarr conf information.
New: Enhance https forcing.
2010-02-20 11:40:36 +00:00
Laurent Destailleur
f1af02f79e Fix: Link to check SIRET not visible if SIRET not defined 2010-02-20 11:22:02 +00:00
Regis Houssin
e7529532f3 Fix: uniformize code 2010-02-20 10:36:37 +00:00
Regis Houssin
73ab538669 Fix: uniformize code 2010-02-20 10:29:53 +00:00
Regis Houssin
299db38757 Fix: uniformize code 2010-02-20 10:21:53 +00:00
Laurent Destailleur
e514b5604b Removed change for a test only 2010-02-20 10:03:11 +00:00
Laurent Destailleur
b81aad83dc New: Add "payment due before" field in invoice exports 2010-02-20 09:59:34 +00:00
Regis Houssin
117df1c438 Fix: uniformize code 2010-02-20 09:31:17 +00:00
Regis Houssin
54388ffa9f Works on products variants 2010-02-19 16:34:54 +00:00
Regis Houssin
f85f7eb8f2 Works on products variants 2010-02-19 15:32:42 +00:00
Regis Houssin
9b9cae5570 Works on products variants 2010-02-19 15:08:36 +00:00
r2gnl
a1874eb10a lang: english comments only 2010-02-19 13:50:49 +00:00
r2gnl
11a418029e Fix: traduction of country code 2010-02-19 12:37:35 +00:00
r2gnl
a605a63d20 Fix: traduction of country code + translation 2010-02-19 12:33:41 +00:00
Laurent Destailleur
15561ea6c6 Add comments 2010-02-19 00:01:08 +00:00
Juanjo Menent
36af43816e Fix: traduction of country code 2010-02-18 16:16:03 +00:00
Regis Houssin
8365172200 Fix: traduction of country code 2010-02-18 14:39:51 +00:00
r2gnl
e6849ae6ff lang: english comments only 2010-02-18 14:03:48 +00:00
r2gnl
089fc33c61 lang: english comments only 2010-02-18 13:29:39 +00:00
Regis Houssin
a1012387cf Fix: traduction of country code 2010-02-18 12:58:42 +00:00
Regis Houssin
65fdbc3696 Works on products variants
Fix: uniformize table name, prepare to move fields "label, description and note" in llx_product_lang
2010-02-18 09:04:55 +00:00
Regis Houssin
9431c471ca Add migration script 2010-02-18 08:09:09 +00:00
Laurent Destailleur
d5b1097d13 Qual: Mutualize common code 2010-02-17 18:57:08 +00:00
Laurent Destailleur
c5e01667ee Add class style "photo" to all photos. 2010-02-17 18:27:20 +00:00
Laurent Destailleur
1fce3e6cf1 Add fieldrequired style 2010-02-17 17:46:50 +00:00
Regis Houssin
d2f88397ec Works on products declinations 2010-02-17 10:37:13 +00:00
Regis Houssin
fa77588aff Works on products declinations 2010-02-17 08:20:10 +00:00
r2gnl
98c7f5164a lang: english comments only 2010-02-16 22:26:44 +00:00
Regis Houssin
50d314eb80 Works on products declinations 2010-02-16 15:29:19 +00:00
Laurent Destailleur
5486e96986 Incresae timeout 2010-02-16 09:15:36 +00:00
1920 changed files with 115468 additions and 84368 deletions

View File

@@ -1,3 +1,3 @@
#Thu Aug 13 19:26:05 CEST 2009 #Sun Mar 21 19:12:06 CET 2010
eclipse.preferences.version=1 eclipse.preferences.version=1
encoding/<project>=UTF-8 encoding/<project>=UTF-8

View File

@@ -14,12 +14,13 @@ ArtiChow 1.07 Public Domain Yes Graphics
Php-barcode 0.3pl1 GPL 2.0 Yes Bar code generation Php-barcode 0.3pl1 GPL 2.0 Yes Bar code generation
EFC/XFSS 1.0.1 LGPL 3.0 Yes Enhanced File Crypt/Extended File Stealth System EFC/XFSS 1.0.1 LGPL 3.0 Yes Enhanced File Crypt/Extended File Stealth System
FCKEditor 2.6.4 LGPL 2.1 or Mozilla PL 1.0 Yes Editor WYSIWYG FCKEditor 2.6.4 LGPL 2.1 or Mozilla PL 1.0 Yes Editor WYSIWYG
FPDF 1.53 Public domain Yes PDF generation (original code is modified) FPDF 1.6 Public domain Yes PDF generation (original code is modified)
FPDF_TPL 1.1.2 Apache Software License 2.0 No GPL3 only PDF templates management FPDF_TPL 1.1.4 Apache Software License 2.0 No GPL3 only PDF templates management
FPDI 1.2.1 Apache Software License 2.0 No GPL3 only PDF templates management FPDI 1.3.2 Apache Software License 2.0 No GPL3 only PDF templates management
FPDI_Protection 1.0.2 Apache Software License 2.0 No GPL3 only PDF encryption (8 files) FPDI_Protection 1.0.3 Apache Software License 2.0 No GPL3 only PDF encryption (8 files)
GeoIP x.x Yes GeoIP Maxmind conversion GeoIP x.x Yes GeoIP Maxmind conversion
iWebkit 4.6.2 LGPL 3.0 Yes Iphone templates framework iWebkit 5.0.4 LGPL 3.0 Yes Iphone templates framework
JCrop 0.9.8 MIT Licence Yes JS library to crop images
MagPieRss 0.72 GPL 2.0 Yes Load RSS MagPieRss 0.72 GPL 2.0 Yes Load RSS
NuSoap 0.7.3 LGPL 2.1 Yes Interfaces with third tools NuSoap 0.7.3 LGPL 2.1 Yes Interfaces with third tools
OdtPHP 1.0.1 GPL 2.0 Yes Mibrary to build/edit ODT files OdtPHP 1.0.1 GPL 2.0 Yes Mibrary to build/edit ODT files
@@ -44,6 +45,7 @@ Copyright (C) 2010
- Regis Houssin <regis@dolibarr.fr> - Regis Houssin <regis@dolibarr.fr>
- simnandez - simnandez
- r2gnl - r2gnl
- meos
Copyright (C) 2009 Copyright (C) 2009
- Laurent Destailleur <eldy@users.sourceforge.net> - Laurent Destailleur <eldy@users.sourceforge.net>

129
ChangeLog
View File

@@ -1,5 +1,128 @@
English Dolibarr ChangeLog English Dolibarr ChangeLog
***** ChangeLog for 2.9.1 compared to 2.9 *****
For users:
- Fix: Only few bug fixes in GUI.
- Fix: Fix: Error when deleting lock file by doliwamp.
***** ChangeLog for 2.9 compared to 2.8 *****
For users:
- New: POS module allow to choose which warehouse to use.
- New: Support "Department/State" field on company setup, contact,
bank account and members card.
- New: Can reopen a refused/canceled supplier order.
- New: Add Gant diagramm on project module.
- New: Add a new mode for automatic stock increase: Can be increased
on dispatching of products from a supplier order receipt.
- New: Can set a past delay to limit calendar export.
- New: Can attach files on emailing campaigns.
- New: Add statistics on trips and expenses module.
- New: Can reopen a closed customer order.
- New: Add module externalsite to add a web site/tools inside
menu and a Dolibarr frame.
- New: Can link trips and fees to a project.
- New: Add civility title in foundation module.
- New: Can set accountancy code for product (buy and sell).
- New: Can filter third parties lists on categories.
- New: Can filter products and services lists on categories.
- New: task #10202 : Support categories for members.
- New: Can build documents for third parties (Using ODT templates, need PHP 5.2+).
- New: Support new products properties: length and area.
- New: Add the "payment due before" field in invoice exports.
- New: Add feature to resize or crop image files (for products photos)
- New: task #10113 : Show list of emailing on clicking on "number of mass emailing received"
- New: Add default language for third parties and use it when multilang is enabled
to define default language for document generation.
- New: Can reopen a closed supplier invoice.
- New: Move permission "see hidden categories" into "see hidden products/services".
- New: Can delete several files at once in FTP module.
- New: Add box "last contracts".
- New: Works even if Web hosting provider has disabled PHP "glob" function.
- New: Can now send supplier orders by email.
- New: task #10076 : Show content of message in notification module.
- New: Bank name is shown on invoice.
- New: IBAN value is called IFSC if country is India.
- New: Add option to choose to show firstname then name or name then firstname on PDF.
- New: Add company in fields exported by export of members tool.
- New: Reorganise bank menus.
- New: Bookmarks can be sorted on a particular order.
- New: Support spanish RE and IRPF taxes on invoices.
- New: Module category offers categories for foundation module.
- New: Can filter on category on third parties, products and members listings.
- New: A flag is visible before country labels.
- New: When activating a new module, permissions for admin user are set. This save
time when configuring Dolibarr.
- New: Dolibarr 2.9 is faster than 2.8.
- New: A lot of more predefined VAT values, states, regions for
miscelaneous contries.
- New: Enhance skin engine to make themes easier.
- New: Add images into menu "eldy".
- New: Auguria theme is now more modern.
- New: Update tools refers to www.dolibarr.org but also www.dolistore.com web site.
- New: Postgresql experimental support seems to work completely.
- New: Changes in Dolibarr core to allow to use cache servers (see Memcached module on
dolistore.com).
- New: Default choice for interactive confirm box is yes by default, and no only for
delete actions. This reduce number of clicks required to validate actions and
is still safe to dangerous actions.
- Fix: Durations are correctly shown for languages using PM/AM dates.
- Fix: A lot of fixes in Point of Sale module.
- Fix: Debug experimental module widthrawal.
- Fix: Format number was wrong for ar_AR language.
- Fix: Can change password if user has only permission "change password".
- Fix: Project PDF document shows all tasks.
- Fix: bug #29278 : SMTP fails with IP instead of hostname.
- Fix: Default language on login page was wrong.
- Fix: Complete support of euros sign (even in PDF).
- Fix: Bad setup of phpMyAdmin for DoliWamp installer.
- Fix: Tracking number should be available on sending sheets.
- Fix: Stock value is not reset when product is transfered into other warehouse.
- Fix: A lot of not tracked bugs fixed.
- Fix: Some fixes in barcode management.
- Fix: Access to phpMyAdmin is now ok on new DoliWamp installation.
For tranlators:
- Fix: Major update of italian translation (it_IT).
- Fix: A lot of translation fixes in all languages.
- New: Added translations (sl_SL, is_IS).
- New: Add translations for the DoliWamp installer.
For developers:
- More comments in code.
- Uniformize some code.
- Delete all useless pre.inc.php files (this also increase speed).
- Fix W3C errors in page forging.
- Qual: Mutualize code of menu managers.
- Better isolation of modules files and dolibarr core files.
- Task #8682 : Remove functions unix_timestamp.
- The makepack tool now make pack with UID 500.
- More css class and div to output menu to allow more skins.
- Generated documentation can be build from Eclipse using Doxygen plugin.
- Snapshot is provided with PHPunit tests.
WARNING:
- A lot of class files (*.class.php) has moved into subdirectories. So If you use
or develop non official modules that includes Dolibarr classes, you will have to rename
path to thoose classes into the include function.
- Also, parameters of the "fetch()" method for class "User" has changed to reflect
other fetch methods.
- If you build a personalised themes, you must rename the style sheet into style.css.php.
- This version is also the last one to support PHP 4.*, Mysql 3.1, IE6.
Dolibarr 3.* will be supported with PHP 5+ and MySql 4.1+ only.
***** ChangeLog for 2.8.1 compared to 2.8 *****
For users:
- Fix: Works on database with _ in name.
- Fix: Broken feature in trips and expense module.
- Fix: Can use $ in database and login/pass values.
- Fix: No error on upgrade if there is orphelins tasks.
- Fix: Failed to login when user agent string was longer than 128.
- Fix: bug #29526 : Numérotation Proposition Incorrecte après duplication
***** ChangeLog for 2.8 compared to 2.7 ***** ***** ChangeLog for 2.8 compared to 2.7 *****
@@ -20,9 +143,9 @@ For users:
- New: Add a default errors-to email for emailing module. - New: Add a default errors-to email for emailing module.
- New: Can filter on user on stock movement list. - New: Can filter on user on stock movement list.
- New: When creating a third party from a member, it is set as a new - New: When creating a third party from a member, it is set as a new
customer. customer.
- New: Can use {tttt} in numbering mask setup. It will be replaced - New: Can use {tttt} in numbering mask setup. It will be replaced
with third party type. with third party type.
- New: VAT number is stored in one field. This is more "international". - New: VAT number is stored in one field. This is more "international".
- New: task #9782 : Add possibility to delete a warehouse. - New: task #9782 : Add possibility to delete a warehouse.
- New: task #9640 : Add label for stock movements. - New: task #9640 : Add label for stock movements.
@@ -41,6 +164,8 @@ For users:
- Fix: Running sending-email.php - Fix: Running sending-email.php
- Fix: Warning should not appears for invoice closed - Fix: Warning should not appears for invoice closed
- Fix: Import for companies works even with prefix empty. - Fix: Import for companies works even with prefix empty.
- Fix: bug #28895 : Création d'utilisateur impossible.
- Fix: Can change password if has only permission change password.
For developers: For developers:
- Qual: Reorganize /dev directory. - Qual: Reorganize /dev directory.

4
README
View File

@@ -68,7 +68,7 @@ To upgrade Dolibarr from an old version to this one:
http://yourdolibarrhost/something/install/ http://yourdolibarrhost/something/install/
Then choose the "update" option according to your case. Then choose the "update" option according to your case.
Note: Migrate process can ben runned safely several times. Note: Migrate process can be ran safely several times.
III - WHAT'S NEW III - WHAT'S NEW
@@ -97,7 +97,7 @@ Main modules/features:
- ECM (Electronic Content Management) - ECM (Electronic Content Management)
- EMailings - EMailings
- Agenda with ical,vcal export for third tools integration - Agenda with ical,vcal export for third tools integration
- Management of fundation members - Management of foundation members
- Donation management - Donation management
Other modules: Other modules:

View File

@@ -1,10 +1,10 @@
README (french) README (french)
-------------------------------- --------------------------------
Documentation demarrage rapide Documentation démarrage rapide
-------------------------------- --------------------------------
1) Installer Dolibarr 1) Installer Dolibarr
2) Mettre a jour Dolibarr depuis une ancienne version 2) Mettre à jour Dolibarr depuis une ancienne version
3) Ce qui est nouveau dans cette version 3) Ce qui est nouveau dans cette version
4) Ce que peux faire Dolibarr 4) Ce que peux faire Dolibarr
5) Ce que ne peux pas faire Dolibarr (pas encore) 5) Ce que ne peux pas faire Dolibarr (pas encore)

View File

@@ -4,7 +4,6 @@ Section: web
Priority: optional Priority: optional
Maintainer: Laurent Destailleur <eldy@users.sourceforge.net> Maintainer: Laurent Destailleur <eldy@users.sourceforge.net>
Package: dolibarr Package: dolibarr
Section: web
Architecture: all Architecture: all
Essential: no Essential: no
Depends: wwwconfig-common, apache2, libapache2-mod-php5, php5, php5-cgi, php5-curl, php5-gd, php5-imagick, php5-ldap, php5-mcrypt, php5-mysql, mysql-server, perl Depends: wwwconfig-common, apache2, libapache2-mod-php5, php5, php5-cgi, php5-curl, php5-gd, php5-imagick, php5-ldap, php5-mcrypt, php5-mysql, mysql-server, perl

View File

@@ -12,5 +12,5 @@ $force_install_databaserootlogin='__SUPERUSERLOGIN__';
$force_install_databaserootpass='__SUPERUSERPASSWORD__'; $force_install_databaserootpass='__SUPERUSERPASSWORD__';
$force_install_dolibarrlogin='admin'; $force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1'; $force_install_nophpinfo='1';
$force_install_lockinstall='1'; $force_install_lockinstall='444';
?> ?>

View File

@@ -12,5 +12,5 @@ $force_install_databaserootlogin='root';
$force_install_databaserootpass='root'; $force_install_databaserootpass='root';
$force_install_dolibarrlogin='admin'; $force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1'; $force_install_nophpinfo='1';
$force_install_lockinstall='1'; $force_install_lockinstall='444';
?> ?>

View File

@@ -0,0 +1,42 @@
[CustomMessages]
NameAndVersion=%1 version %2
AdditionalIcons=Ic<49>nes suppl<70>mentaires :
CreateDesktopIcon=Cr<43>er une ic<69>ne sur le &Bureau
CreateQuickLaunchIcon=Cr<43>er une ic<69>ne dans la barre de &Lancement rapide
ProgramOnTheWeb=Page d'accueil de %1
UninstallProgram=D<>sinstaller %1
LaunchProgram=Ex<45>cuter %1
AssocFileExtension=&Associer %1 avec l'extension de fichier %2
AssocingFileExtension=Associe %1 avec l'extension de fichier %2...
YouWillInstallDoliWamp=Vous allez installer ou mettre <20> jour DoliWamp (Apache+Mysql+PHP+Dolibarr) sur votre ordinateur.
ThisAssistantInstallOrUpgrade=Cet assistant installe ou met <20> jour Dolibarr ERP-CRM et tous ses composants pr<70>requis (Apache, Mysql et PHP) optimis<69> pour une utilisation de Dolibarr.
IfYouHaveTechnicalKnowledge=Si vous avez des comp<6D>tences techniques et envisagez de partager votre Apache, Mysql et PHP avec d'autres applications que Dolibarr, vous ne devriez pas utiliser cet assistant mais faire plutot une installation manuelle de Dolibarr sur un socle Apache, Mysql et PHP existant.
ButIfYouLook=Mais si vous recherchez une installation cl<63> en main automatis<69>e, vous <20>tes sur la bonne voie...
DoYouWantToStart=Voulez-vous d<>marrer le processus d'installation/mise <20> jour ?
TechnicalParameters=Param<61>tres techniques
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 surs, ou proc<6F>dez <20> une mise <20> jour, laissez les champs avec les valeurs propos<6F>es par d<>faut.
; WARNING !!! STRINGS HERE MUST BE LOWER THAN 60 CHARACTERS
SMTPServer=Serveur SMTP (le votre ou celui de votre FAI, premi<6D>re install uniquement) :
ApachePort=Port Apache (premi<6D>re install uniquement, le choix standard est 80) :
MySqlPort=Port Mysql (premi<6D>re install uniquement, le choix standard est 3306) :
MySqlPassword=Mot de passe du serveur et base MySql pour root (premi<6D>re install 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>. Cliquer sur OK pour continuer...
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 ?
ChooseDefaultBrowser=Merci de choisir votre navigateur par d<>faut. Si vous n'<27>tes pas sur, cliquer simplement sur Ouvrir :
LaunchNow=Lancer Dolibarr maintenant
ProgramHasBeenRemoved=Les fichiers du programe Dolibarr ont <20>t<EFBFBD> supprim<69>s. Toutefois, tous vos fichiers de donn<6E>es sont toujours dans le r<>pertoire $1. Vous devez supprimer ce r<>pertoire manuellement pour avoir une d<>sinstallation compl<70>te.
DoliWampWillStartApacheMysql=L'installeur DoliWamp va maintenant d<>marrer ou red<65>marrer Apache et Mysql, ceci peut durer de quelques secondes <20> une minute apr<70>s cette confirmation. D<>marrer l'installation ou mise <20> jour du serveur web et base de donn<6E>es requis par Dolibarr ?

View File

@@ -18,13 +18,14 @@
; ----- Change this ----- ; ----- Change this -----
AppName=DoliWamp AppName=DoliWamp
; DoliWamp-x.x.x or DoliWamp-x.x.x-dev or DoliWamp-x.x.x-beta ; DoliWamp-x.x.x or DoliWamp-x.x.x-dev or DoliWamp-x.x.x-beta
AppVerName=DoliWamp-2.8.0-beta AppVerName=DoliWamp-2.9.0
; DoliWamp-x.x x or DoliWamp-x.x.x-dev or DoliWamp-x.x.x-beta ; DoliWamp-x.x x or DoliWamp-x.x.x-dev or DoliWamp-x.x.x-beta
OutputBaseFilename=DoliWamp-2.8.0-beta OutputBaseFilename=DoliWamp-2.9.0
; Define full path from wich all relative path are defined ; Define full path from wich all relative path are defined
; You must modify this to put here your dolibarr root directory ; You must modify this to put here your dolibarr root directory
SourceDir=D:\Mes developpements\dolibarr SourceDir=D:\Mes developpements\dolibarrold
; ----- End of change ; ----- End of change
;OutputManifestFile=build\doliwampbuild.log
AppId=doliwamp AppId=doliwamp
AppPublisher=NLTechno AppPublisher=NLTechno
AppPublisherURL=http://www.nltechno.com AppPublisherURL=http://www.nltechno.com
@@ -41,17 +42,40 @@ SolidCompression=yes
WizardImageFile=build\exe\doliwamp\doliwamp.bmp WizardImageFile=build\exe\doliwamp\doliwamp.bmp
WizardSmallImageFile=build\exe\doliwamp\doliwampsmall.bmp WizardSmallImageFile=build\exe\doliwamp\doliwampsmall.bmp
SetupIconFile=doc\images\dolibarr.ico SetupIconFile=doc\images\dolibarr.ico
PrivilegesRequired=poweruser PrivilegesRequired=admin
DisableProgramGroupPage=yes DisableProgramGroupPage=yes
ChangesEnvironment=no ChangesEnvironment=no
CreateUninstallRegKey=yes CreateUninstallRegKey=yes
;UseSetupLdr=no
;UninstallDisplayIcon={app}\bidon ;UninstallDisplayIcon={app}\bidon
OutputDir=build OutputDir=build
ShowLanguageDialog=auto
ShowUndisplayableLanguages=no
;LanguageDetectionMethod=none
LanguageDetectionMethod=uilanguage
;SignedUninstaller=yes
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl,build\exe\doliwamp\Languages\MyEnglish.isl"
Name: "br"; MessagesFile: "compiler:Languages\Portuguese.isl,build\exe\doliwamp\Languages\MyBrazilianPortuguese.isl"
Name: "ca"; MessagesFile: "compiler:Languages\Catalan.isl,build\exe\doliwamp\Languages\MyCatalan.isl"
Name: "da"; MessagesFile: "compiler:Languages\Danish.isl,build\exe\doliwamp\Languages\MyDanish.isl"
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl,build\exe\doliwamp\Languages\MySpanish.isl"
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl,build\exe\doliwamp\Languages\MyDutch.isl"
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl,build\exe\doliwamp\Languages\MyFinnish.isl"
Name: "fr"; MessagesFile: "compiler:Languages\French.isl,build\exe\doliwamp\Languages\MyFrench.isl"
Name: "ge"; MessagesFile: "compiler:Languages\German.isl,build\exe\doliwamp\Languages\MyGerman.isl"
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl,build\exe\doliwamp\Languages\MyItalian.isl"
Name: "nb"; MessagesFile: "compiler:Languages\Norwegian.isl,build\exe\doliwamp\Languages\MyNorwegian.isl"
Name: "po"; MessagesFile: "compiler:Languages\Polish.isl,build\exe\doliwamp\Languages\MyPolish.isl"
Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl,build\exe\doliwamp\Languages\MyPortuguese.isl"
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl,build\exe\doliwamp\Languages\MyRussian.isl"
Name: "sv"; MessagesFile: "compiler:Languages\Slovenian.isl,build\exe\doliwamp\Languages\MySlovenian.isl"
[Tasks] [Tasks]
;Name: "autostart"; Description: "Automatically launch DoliWamp server on startup. If you check this option, Services will be installed as automatic. Otherwise, services will be installed as manual and will start and stop with the service manager."; GroupDescription: "Auto Start:" ;Flags: unchecked; ;Name: "autostart"; Description: "Automatically launch DoliWamp server on startup. If you check this option, Services will be installed as automatic. Otherwise, services will be installed as manual and will start and stop with the service manager."; GroupDescription: "Auto Start:" ;Flags: unchecked;
Name: quicklaunchicon; Description: "Create a &Quick Launch icon"; GroupDescription: "Additional icons:"; Flags: unchecked Name: "quicklaunchicon"; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: "desktopicon"; Description: "Create a &Desktop icon"; GroupDescription: "Additional icons:"; Flags: unchecked Name: "desktopicon"; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
[Dirs] [Dirs]
Name: "{app}\logs" Name: "{app}\logs"
@@ -79,11 +103,11 @@ Source: "build\exe\doliwamp\UsedPort.exe"; DestDir: "{app}\"; Flags: ignoreversi
Source: "C:\Program Files (x86)\Wamp\apps\phpmyadmin3.2.0.1\*.*"; DestDir: "{app}\apps\phpmyadmin3.2.0.1"; Flags: ignoreversion recursesubdirs; Excludes: "config.inc.php,wampserver.conf,*.log,*_log" Source: "C:\Program Files (x86)\Wamp\apps\phpmyadmin3.2.0.1\*.*"; DestDir: "{app}\apps\phpmyadmin3.2.0.1"; Flags: ignoreversion recursesubdirs; Excludes: "config.inc.php,wampserver.conf,*.log,*_log"
Source: "C:\Program Files (x86)\Wamp\bin\apache\apache2.2.6\*.*"; DestDir: "{app}\bin\apache\apache2.2.6"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log" Source: "C:\Program Files (x86)\Wamp\bin\apache\apache2.2.6\*.*"; DestDir: "{app}\bin\apache\apache2.2.6"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log"
Source: "C:\Program Files (x86)\Wamp\bin\php\php5.2.5\*.*"; DestDir: "{app}\bin\php\php5.2.5"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log" Source: "C:\Program Files (x86)\Wamp\bin\php\php5.2.5\*.*"; DestDir: "{app}\bin\php\php5.2.5"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log"
Source: "C:\Program Files (x86)\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\mysql\mysql5.0.45"; Flags: ignoreversion recursesubdirs; Excludes: "my.ini,data\*,wampserver.conf,*.log,*_log" Source: "C:\Program Files (x86)\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) ; Mysql data files (does not overwrite if exists)
Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\mysql5.0.45\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db" Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\mysql5.0.45\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db"
; Dolibarr ; Dolibarr
Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,telephonie\*,*\conf.php,*\install.forced.php,*\modBookmark4u.class.php,*\modDocument.class.php,*\modDroitPret.class.php,*\modEditeur.class.php,*\modPostnuke.class.php,*\modTelephonie.class.php,*\interface_modEditeur_Editeur.class.php*,*\rodolphe" Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,telephonie\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\install.forced.php,*\modBookmark4u.class.php,*\modDocument.class.php,*\modDroitPret.class.php,*\modEditeur.class.php,*\modPostnuke.class.php,*\modTelephonie.class.php,*\interface_modEditeur_Editeur.class.php*,*\rodolphe"
Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,fpdf\*,initdemo\*,iso-normes\*,samples\*,test\*,uml\*,xdebug\*" Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,fpdf\*,initdemo\*,iso-normes\*,samples\*,test\*,uml\*,xdebug\*"
Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*" Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*"
Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php" Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php"
@@ -135,6 +159,7 @@ var apachePort: String;
var mysqlPort: String; var mysqlPort: String;
var newPassword: String; var newPassword: String;
var lockFile: String;
var srcFile: String; var srcFile: String;
var destFile: String; var destFile: String;
var srcFileH: String; var srcFileH: String;
@@ -162,7 +187,7 @@ var value: String;
//procedures lancees au debut de l'installation //procedures lancees au debut de l'installation
function InitializeSetup(): Boolean; function InitializeSetup(): Boolean;
begin begin
Result := MsgBox('You will install or upgrade DoliWamp (Apache+Mysql+PHP+Dolibarr) on your computer.' #13#13 'This assistant installs or upgrades Dolibarr ERP-CRM and required third party softwares (Apache, Mysql and PHP) configured for a Dolibarr usage.' #13#13 'If you have technical knowledge and plan to share your Apache, Mysql and PHP with other projects than Dolibarr, you should not use this assistant and make a manual installation of Dolibarr on an existing Apache, Mysql and PHP installation. If you don''t need a sophisticated manual setup, you''re on the good way...' #13#13 'Do you want to start installation/upgrade process ?', mbConfirmation, MB_YESNO) = IDYES; Result := MsgBox(CustomMessage('YouWillInstallDoliWamp')+#13#13+CustomMessage('ThisAssistantInstallOrUpgrade')+#13#13+CustomMessage('IfYouHaveTechnicalKnowledge')+#13#13+CustomMessage('ButIfYouLook')+#13#13+CustomMessage('DoYouWantToStart'), mbConfirmation, MB_YESNO) = IDYES;
end; end;
procedure InitializeWizard(); procedure InitializeWizard();
@@ -229,24 +254,24 @@ begin
// Prepare an object calle "Page" of type wpInstalling. // Prepare an object calle "Page" of type wpInstalling.
// Object will be show later in NextButtonClick function. // Object will be show later in NextButtonClick function.
Page := CreateInputQueryPage(wpInstalling, Page := CreateInputQueryPage(wpInstalling,
'Technical parameters', '', CustomMessage('TechnicalParameters'), '',
'If first install, please specify some technical parameters. If you don''t understand, are not sure, or are doing an upgrade, just leave the default values.'); CustomMessage('IfFirstInstall'));
// TODO Add control differently if first install or update // TODO Add control differently if first install or update
if firstinstall if firstinstall
then then
begin begin
Page.Add('SMTP server (your own or ISP SMTP server, first install only) :', False); Page.Add(CustomMessage('SMTPServer'), False);
Page.Add('Apache port (first install only, common choice is 80) :', False); Page.Add(CustomMessage('ApachePort'), False);
Page.Add('Mysql port (first install only, common choice is 3306) :', False); Page.Add(CustomMessage('MySqlPort'), False);
Page.Add('Mysql server and database password you want for root (first install only):', False); Page.Add(CustomMessage('MySqlPassword'), False);
end end
else else
begin begin
Page.Add('SMTP server (your own or ISP SMTP server, first install only) :', False); Page.Add(CustomMessage('SMTPServer'), False);
Page.Add('Apache port (first install only, common choice is 80) :', False); Page.Add(CustomMessage('ApachePort'), False);
Page.Add('Mysql port (first install only, common choice is 3306) :', False); Page.Add(CustomMessage('MySqlPort'), False);
Page.Add('Mysql server and database password you want for root (first install only):', False); Page.Add(CustomMessage('MySqlPassword'), False);
end; end;
// Default values // Default values
@@ -292,7 +317,6 @@ begin
if CurPageID = Page.ID then if CurPageID = Page.ID then
begin begin
// This must be in if curpage.id = page.id, otherwise it is executed after each Next button // This must be in if curpage.id = page.id, otherwise it is executed after each Next button
//---------------------------------------------- //----------------------------------------------
@@ -313,29 +337,38 @@ begin
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'msql.dll'; phpDllCopy := 'msql.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'libmcrypt.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'libmysqli.dll'; phpDllCopy := 'libmysqli.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'ntwdblib.dll'; phpDllCopy := 'ntwdblib.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'php5activescript.dll'; phpDllCopy := 'php5activescript.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'php5isapi.dll'; phpDllCopy := 'php5isapi.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'php5nsapi.dll'; phpDllCopy := 'php5nsapi.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'php5ts.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'ssleay32.dll'; phpDllCopy := 'ssleay32.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'yaz.dll'; phpDllCopy := 'yaz.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
phpDllCopy := 'libmcrypt.dll'; // With Wampserver 2.0i and PHP 5.3
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); phpDllCopy := 'libpq.dll';
phpDllCopy := 'php5ts.dll';
filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False); filecopy (pathWithSlashes+'/bin/php/php'+phpVersion+'/'+phpDllCopy, pathWithSlashes+'/bin/apache/apache'+apacheVersion+'/bin/'+phpDllCopy, False);
// Remove lock file // Remove lock file
DeleteFile(pathWithSlashes+'/www/dolibarr/install.lock'); lockfile := pathWithSlashes+'/www/dolibarr/install.lock';
if FileExists (lockfile) and not DeleteFile(lockfile) then
begin
themessage := FmtMessage(CustomMessage('FailedToDeleteLock'),[pathWithSlashes]);
MsgBox(themessage,mbInformation,MB_OK);
end
// Check if parameters already defined in conf.php file // Check if parameters already defined in conf.php file
@@ -382,7 +415,7 @@ begin
// paramok := False; // paramok := False;
// end; // end;
// end; // end;
if paramok then if paramok then
begin begin
// Test port Apache // Test port Apache
@@ -390,7 +423,7 @@ begin
//MsgBox('batFile = '+batFile,mbConfirmation,MB_YESNO) //MsgBox('batFile = '+batFile,mbConfirmation,MB_YESNO)
Exec(batFile, '-s localhost -p '+myporta, path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); Exec(batFile, '-s localhost -p '+myporta, path+'\', SW_HIDE, ewWaitUntilTerminated, myResult);
//themessage := 'Le port '+myporta+' semble deja pris. Revenez en arriere pour choisir une autre valeur pour le port Apache.'; //themessage := 'Le port '+myporta+' semble deja pris. Revenez en arriere pour choisir une autre valeur pour le port Apache.';
themessage := 'Port '+myporta+' seems to be already in use. Go back to choose another value for Apache port. Cancel choice and choose another value ?'; themessage := FmtMessage(CustomMessage('PortAlreadyInUse'),[myporta,'Apache']);
if ((IntToStr(myResult) = '0') and (MsgBox(themessage,mbConfirmation,MB_YESNO) = IDYES)) then if ((IntToStr(myResult) = '0') and (MsgBox(themessage,mbConfirmation,MB_YESNO) = IDYES)) then
begin begin
paramok := False; paramok := False;
@@ -404,7 +437,7 @@ begin
//MsgBox('batFile = '+batFile,mbConfirmation,MB_YESNO) //MsgBox('batFile = '+batFile,mbConfirmation,MB_YESNO)
Exec(batFile, '-s localhost -p '+myport, path+'\', SW_HIDE, ewWaitUntilTerminated, myResult); Exec(batFile, '-s localhost -p '+myport, path+'\', SW_HIDE, ewWaitUntilTerminated, myResult);
//themessage := 'Le port '+myport+' semble deja pris. Revenez en arriere pour choisir une autre valeur pour le port MySQL.'; //themessage := 'Le port '+myport+' semble deja pris. Revenez en arriere pour choisir une autre valeur pour le port MySQL.';
themessage := 'Port '+myport+' seems to be already in use. Go back to choose another value for MySQL port. Cancel choice and choose another value ?'; themessage := FmtMessage(CustomMessage('PortAlreadyInUse'),[myport,'MySql']);
if ((IntToStr(myResult) = '0') and (MsgBox(themessage,mbConfirmation,MB_YESNO) = IDYES)) then if ((IntToStr(myResult) = '0') and (MsgBox(themessage,mbConfirmation,MB_YESNO) = IDYES)) then
begin begin
paramok := False; paramok := False;
@@ -458,37 +491,37 @@ begin
browser := 'iexplore.exe'; browser := 'iexplore.exe';
if FileExists (pfPath+'/Mozilla Firefox/firefox.exe') then if FileExists (pfPath+'/Mozilla Firefox/firefox.exe') then
begin begin
if MsgBox('Firefox has been detected on your computer. Would you like to use it as the default browser with Dolibarr ?',mbConfirmation,MB_YESNO) = IDYES then if MsgBox(CustomMessage('FirefoxDetected'),mbConfirmation,MB_YESNO) = IDYES then
begin begin
browser := pfPath+'/Mozilla Firefox/firefox.exe'; browser := pfPath+'/Mozilla Firefox/firefox.exe';
end; end;
end; end;
if browser = 'iexplore.exe' then if browser = 'iexplore.exe' then
begin begin
GetOpenFileName('Please choose your default browser. If you are not sure, just click Open :', browser, winPath,'exe files (*.exe)|*.exe|All files (*.*)|*.*' ,'exe'); GetOpenFileName(CustomMessage('ChooseDefaultBrowser'), browser, winPath,'exe files (*.exe)|*.exe|All files (*.*)|*.*' ,'exe');
end; end;
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPBROWSER', browser); StringChangeEx (srcContents, 'WAMPBROWSER', browser, True);
StringChange (srcContents, 'WAMPAPACHEPORT', myporta); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChange (srcContents, 'WAMPAPACHEPSSL', myportas); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
LoadStringFromFile (srcFileH, srcContents); LoadStringFromFile (srcFileH, srcContents);
StringChange (srcContents, 'WAMPBROWSER', browser); StringChangeEx (srcContents, 'WAMPBROWSER', browser, True);
StringChange (srcContents, 'WAMPAPACHEPORT', myporta); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChange (srcContents, 'WAMPAPACHEPSSL', myportas); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFileH,srcContents, False); SaveStringToFile(destFileH,srcContents, False);
LoadStringFromFile (srcFileA, srcContents); LoadStringFromFile (srcFileA, srcContents);
StringChange (srcContents, 'WAMPBROWSER', browser); StringChangeEx (srcContents, 'WAMPBROWSER', browser, True);
StringChange (srcContents, 'WAMPAPACHEPORT', myporta); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChange (srcContents, 'WAMPAPACHEPSSL', myportas); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFileA,srcContents, False); SaveStringToFile(destFileA,srcContents, False);
end end
if MsgBox('DoliWamp installer will now start or restart Apache and Mysql, this may last from several seconds to one minute after this confirmation. Start to install or upgrade the web server and database server ?',mbConfirmation,MB_YESNO) = IDYES then if MsgBox(CustomMessage('DoliWampWillStartApacheMysql'),mbConfirmation,MB_YESNO) = IDYES then
begin begin
@@ -504,8 +537,8 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//installDir et version de phpmyadmin //installDir et version de phpmyadmin
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPPHPMYADMINVERSION', phpmyadminVersion); StringChangeEx (srcContents, 'WAMPPHPMYADMINVERSION', phpmyadminVersion, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -524,8 +557,8 @@ begin
begin begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass); StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
SaveStringToFile(destFile, srcContents, False); SaveStringToFile(destFile, srcContents, False);
end end
@@ -545,7 +578,8 @@ begin
begin begin
// sinon on prends le fichier par defaut // sinon on prends le fichier par defaut
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass); StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -563,10 +597,10 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//installDir et version de php //installDir et version de php
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPPHPVERSION', phpVersion); StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True);
StringChange (srcContents, 'WAMPAPACHEPORT', myporta); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChange (srcContents, 'WAMPAPACHEPSSL', myportas); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -586,8 +620,8 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//installDir et version de php //installDir et version de php
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPMYSQLPORT', myport); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -605,22 +639,22 @@ begin
if not FileExists (destFile) then if not FileExists (destFile) then
begin begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPPHPVERSION', phpVersion); StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True);
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
StringChange (srcContents, 'WAMPAPACHEPORT', myporta); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChange (srcContents, 'WAMPAPACHEPSSL', myportas); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFile, srcContents, False); SaveStringToFile(destFile, srcContents, False);
end end
else else
begin begin
RenameFile(destFile, destFile+'.old'); RenameFile(destFile, destFile+'.old');
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPPHPVERSION', phpVersion); StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True);
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
StringChange (srcContents, 'WAMPAPACHEPORT', myporta); StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChange (srcContents, 'WAMPAPACHEPSSL', myportas); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFile, srcContents, False); SaveStringToFile(destFile, srcContents, False);
end end
@@ -639,10 +673,10 @@ begin
begin begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPMYSQLPORT', myport); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
StringChange (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass); StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -661,8 +695,8 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//version de apache et mysql //version de apache et mysql
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -681,8 +715,8 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//version de apache et mysql //version de apache et mysql
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -702,8 +736,8 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//version de apache et mysql //version de apache et mysql
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -722,9 +756,9 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//version de apache et mysql //version de apache et mysql
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPMYSQLPORT', myport); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
StringChange (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass); StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -742,10 +776,10 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//version de apache et mysql //version de apache et mysql
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPMYSQLPORT', myport); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -763,10 +797,10 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//version de apache et mysql //version de apache et mysql
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
StringChange (srcContents, 'WAMPMYSQLVERSION', mysqlVersion); StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
StringChange (srcContents, 'WAMPMYSQLPORT', myport); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -784,8 +818,8 @@ begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
//version de apache et mysql //version de apache et mysql
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPAPACHEVERSION', apacheVersion); StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -801,8 +835,8 @@ begin
if not FileExists (destFile) and FileExists(srcFile) then if not FileExists (destFile) and FileExists(srcFile) then
begin begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPSMTP', mysmtp); StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -816,8 +850,8 @@ begin
if not FileExists (destFile) and FileExists(srcFile) then if not FileExists (destFile) and FileExists(srcFile) then
begin begin
LoadStringFromFile (srcFile, srcContents); LoadStringFromFile (srcFile, srcContents);
StringChange (srcContents, 'WAMPROOT', pathWithSlashes); StringChangeEx (srcContents, 'WAMPROOT', pathWithSlashes, True);
StringChange (srcContents, 'WAMPSMTP', mysmtp); StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True);
SaveStringToFile(destFile,srcContents, False); SaveStringToFile(destFile,srcContents, False);
end end
@@ -914,13 +948,13 @@ begin
pathWithSlashes := path; pathWithSlashes := path;
StringChange (pathWithSlashes, '\','/'); StringChange (pathWithSlashes, '\','/');
MsgBox('Dolibarr program files have been removed. However, all your old data files are still in directory '+path+'. You must remove this directory manually for a complete uninstall.',mbInformation,MB_OK); MsgBox(FmtMessage(CustomMessage('ProgramHasBeenRemoved'),[path]),mbInformation,MB_OK);
end; end;
[Run] [Run]
; Launch Dolibarr in browser. This is run after Wizard because of postinstall flag ; Launch Dolibarr in browser. This is run after Wizard because of postinstall flag
Filename: "{app}\rundoliwamp.bat"; Description: "Launch Dolibarr now"; Flags: shellexec postinstall skipifsilent runhidden Filename: "{app}\rundoliwamp.bat"; Description: {cm:LaunchNow}; Flags: shellexec postinstall skipifsilent runhidden
[UninstallDelete] [UninstallDelete]

View File

@@ -12,5 +12,5 @@ $force_install_databaserootlogin='root';
$force_install_databaserootpass='WAMPMYSQLNEWPASSWORD'; $force_install_databaserootpass='WAMPMYSQLNEWPASSWORD';
$force_install_dolibarrlogin='admin'; $force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1'; $force_install_nophpinfo='1';
$force_install_lockinstall='1'; $force_install_lockinstall='644';
?> ?>

View File

@@ -686,11 +686,11 @@ extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll ;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll ;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll ;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll extension=php_pgsql.dll
;extension=php_pspell.dll ;extension=php_pspell.dll
extension=php_shmop.dll extension=php_shmop.dll
;extension=php_snmp.dll ;extension=php_snmp.dll
;extension=php_soap.dll extension=php_soap.dll
extension=php_sockets.dll extension=php_sockets.dll
extension=php_sqlite.dll extension=php_sqlite.dll
;extension=php_sybase_ct.dll ;extension=php_sybase_ct.dll

View File

@@ -6,12 +6,12 @@ REM Microsoft add bugs in service packs that prevents
REM servers ran as a service to launch. REM servers ran as a service to launch.
REM ----------------------------------------------------- REM -----------------------------------------------------
echo Running Apache echo Running Apache as user process (this process does not return so we use "start")
WAMPROOT\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -k start start WAMPROOT\bin\apache\apacheWAMPAPACHEVERSION\bin\httpd.exe -f conf\httpd.conf
echo echo
echo Running Mysql echo Running Mysql as user process (this process does not return so we use "start")
WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini start WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\bin\mysqld-nt.exe --defaults-file=WAMPROOT\bin\mysql\mysqlWAMPMYSQLVERSION\my.ini --console
pause pause

View File

@@ -10,8 +10,8 @@ use Cwd;
$PROJECT="dolibarr"; $PROJECT="dolibarr";
$MAJOR="2"; $MAJOR="2";
$MINOR="8"; $MINOR="9";
$BUILD="0-beta"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate $BUILD="0-dev"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate
$RPMSUBVERSION="1"; # A incrementer au moment de la release $RPMSUBVERSION="1"; # A incrementer au moment de la release
@LISTETARGET=("TGZ","ZIP","RPM","DEB","EXE","EXEDOLIWAMP","SNAPSHOT"); # Possible packages @LISTETARGET=("TGZ","ZIP","RPM","DEB","EXE","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
@@ -241,6 +241,7 @@ if ($nboftargetok) {
$ret=`rm -fr $BUILDROOT/$PROJECT/documents`; $ret=`rm -fr $BUILDROOT/$PROJECT/documents`;
$ret=`rm -fr $BUILDROOT/$PROJECT/document`; $ret=`rm -fr $BUILDROOT/$PROJECT/document`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.old`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.postgres`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.postgres`;
$ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`; $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
$ret=`rm -fr $BUILDROOT/$PROJECT/CVS* $BUILDROOT/$PROJECT/*/CVS* $BUILDROOT/$PROJECT/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/CVS*`; $ret=`rm -fr $BUILDROOT/$PROJECT/CVS* $BUILDROOT/$PROJECT/*/CVS* $BUILDROOT/$PROJECT/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/CVS*`;
@@ -260,7 +261,7 @@ if ($nboftargetok) {
print "Compress $BUILDROOT into $FILENAMESNAPSHOT.tgz...\n"; print "Compress $BUILDROOT into $FILENAMESNAPSHOT.tgz...\n";
#$cmd="tar --exclude \"$BUILDROOT/tgz/tar_exclude.txt\" --exclude .cache --exclude .settings --exclude conf.php --directory \"$BUILDROOT\" -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT"; #$cmd="tar --exclude \"$BUILDROOT/tgz/tar_exclude.txt\" --exclude .cache --exclude .settings --exclude conf.php --directory \"$BUILDROOT\" -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT";
$cmd="tar --exclude .cache --exclude .settings --exclude conf.php --directory \"$BUILDROOT\" -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT"; $cmd="tar --exclude .cache --exclude .settings --exclude conf.php --exclude conf.php.mysql --exclude conf.php.old --exclude conf.php.postgres --directory \"$BUILDROOT\" -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT";
print $cmd."\n"; print $cmd."\n";
$ret=`$cmd`; $ret=`$cmd`;
if ($OS =~ /windows/i) if ($OS =~ /windows/i)
@@ -385,6 +386,7 @@ if ($nboftargetok) {
$ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/doc/tshirt`; $ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/doc/tshirt`;
$ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/doc/rollup`; $ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/doc/rollup`;
$ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/htdocs/conf/conf.php.mysql`; $ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/htdocs/conf/conf.php.mysql`;
$ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/htdocs/conf/conf.php.old`;
$ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/htdocs/conf/conf.php.postgres`; $ret=`rm -fr $BUILDROOT/$PROJECT/usr/share/$PROJECT/htdocs/conf/conf.php.postgres`;
print "Edit version in file $BUILDROOT/$PROJECT/DEBIAN/control\n"; print "Edit version in file $BUILDROOT/$PROJECT/DEBIAN/control\n";

View File

@@ -1,9 +1,40 @@
***** Actions to do to release ***** ----- Dolibarr Makepack How To -----
This documentation describe steps to build a BETA or RELREASE versions
of Dolibarr. There is a chapter for BETA version and a chapter vor
RELEASE version.
***** Actions to do a BETA *****
This files describe steps made by Dolibarr packaging team to make a
beta version of Dolibarr, step by step.
- Check all files are commited.
- Update version/info in / directory (README*.txt, ChangeLog...)
- Update version number in build/makepack-dolibarr.pl
- Update version number in build/exe/doliwamp/doliwamp.iss
- Update version number in htdocs/master.inc.php
- Update version number in htdocs/install/inc.php
- Commit all changes.
- Add a CVS Tag (DOLIBARR_x_y_BETA)
- If it's a new branch (Vx.y), create a branch (DOLIBARR_x_y_BRANCH).
- Build Dolibarr and DoliWamp with makepack-dolibarr.pl
- Check content of built packages.
- Move build files (tgz+exe+deb), ChangeLog and PAD/DOAP files into the
Dolibarr web site repository /home/dolibarr/wwwroot/files.
- Update and upload NLTechno web page with DoliWamp version.
- Add/Update entries on joomla web site www.dolibarr.org with links
to files http://www.dolibarr.org/files/XXX.
- Send mail on mailings-list
***** Actions to do a RELEASE *****
This files describe steps made by Dolibarr packaging team to make a This files describe steps made by Dolibarr packaging team to make a
complete release of Dolibarr, step by step. complete release of Dolibarr, step by step.
- Check all files are commited. - Check all files are commited.
- Update files in root directory (README*.txt, ChangeLog...) - Update version/info in / directory (README*.txt, ChangeLog...)
- Update version number in build/makepack-dolibarr.pl - Update version number in build/makepack-dolibarr.pl
- Update version number in build/doxygen/dolibarr-doxygen.doxyfile - Update version number in build/doxygen/dolibarr-doxygen.doxyfile
- Update version number in build/exe/doliwamp/doliwamp.iss - Update version number in build/exe/doliwamp/doliwamp.iss
@@ -12,19 +43,18 @@ complete release of Dolibarr, step by step.
- Update version number in htdocs/install/inc.php - Update version number in htdocs/install/inc.php
- Update PAD and DOAP files. - Update PAD and DOAP files.
- Commit all changes. - Commit all changes.
- Add a CVS Tag - Add a CVS Tag (DOLIBARR_x_y)
- If it's a new branch (Vx.y), create a branch.
- Build Dolibarr and DoliWamp with makepack-dolibarr.pl - Build Dolibarr and DoliWamp with makepack-dolibarr.pl
- Check content of built packages. - Check content of built packages.
- Move build files (tgz+exe), ChangeLog and PAD/DOAP files into Dolibarr - Move build files (tgz+exe+deb), ChangeLog and PAD/DOAP files into the
web site repository /home/dolibarr/wwwroot/files. Dolibarr web site repository /home/dolibarr/wwwroot/files.
- Move links in directory "/home/dolibarr/wwwroot/files" on server to point - Edit symbolic links in directory "/home/dolibarr/wwwroot/files" on server to
to new files. point to new files.
- Upload NLTechno web page with DoliWamp version. - Update and upload NLTechno web page with DoliWamp version.
- Upload files dolibarr.*.tgz and doliwamp.*.exe on sourceforge. - Upload files dolibarr.*.tgz and doliwamp.*.exe on sourceforge.
- Update entries on joomla web site www.dolibarr.org with new sourceforge link. - Add/Update entries on joomla web site www.dolibarr.org with new sourceforge link.
- Send mail on mailings-list - Send mail on mailings-list
- Send news on OpenSource web sites (if major beta or release) - Send news on OpenSource web sites (if major beta or release)

View File

@@ -6,26 +6,26 @@
<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://www.asp-shareware.org/pad</MASTER_PAD_INFO> <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://www.asp-shareware.org/pad</MASTER_PAD_INFO>
</MASTER_PAD_VERSION_INFO> </MASTER_PAD_VERSION_INFO>
<Company_Info> <Company_Info>
<Company_Name>Dolibarr team</Company_Name> <Company_Name>NLTechno</Company_Name>
<Address_1>61 Boulevard Vauban</Address_1> <Address_1>61 Boulevard Vauban</Address_1>
<Address_2 /> <Address_2 />
<City_Town>Montigny-le-Bretonneux</City_Town> <City_Town>Montigny-le-Bretonneux</City_Town>
<State_Province /> <State_Province />
<Zip_Postal_Code>78180</Zip_Postal_Code> <Zip_Postal_Code>78180</Zip_Postal_Code>
<Country>FRANCE</Country> <Country>FRANCE</Country>
<Company_WebSite_URL>http://www.dolibarr.org</Company_WebSite_URL> <Company_WebSite_URL>http://www.nltechno.com</Company_WebSite_URL>
<Contact_Info> <Contact_Info>
<Author_First_Name>Dolibarr team</Author_First_Name> <Author_First_Name>NLTechno</Author_First_Name>
<Author_Last_Name>Dolibarr team</Author_Last_Name> <Author_Last_Name>NLTechno</Author_Last_Name>
<Author_Email>dolibarr-dev@nongnu.org</Author_Email> <Author_Email>dolibarr@nltechno.com</Author_Email>
<Contact_First_Name>Dolibarr team</Contact_First_Name> <Contact_First_Name>NLTechno</Contact_First_Name>
<Contact_Last_Name>Dolibarr team</Contact_Last_Name> <Contact_Last_Name>NLTechno</Contact_Last_Name>
<Contact_Email>dolibarr-dev@nongnu.org</Contact_Email> <Contact_Email>dolibarr@nltechno.com</Contact_Email>
</Contact_Info> </Contact_Info>
<Support_Info> <Support_Info>
<Sales_Email>dolibarr-dev@nongnu.org</Sales_Email> <Sales_Email>dolibarr@nltechno.com</Sales_Email>
<Support_Email>dolibarr-dev@nongnu.org</Support_Email> <Support_Email>dolibarr@nltechno.com</Support_Email>
<General_Email>dolibarr-dev@nongnu.org</General_Email> <General_Email>dolibarr@nltechno.com</General_Email>
<Sales_Phone /> <Sales_Phone />
<Support_Phone /> <Support_Phone />
<General_Phone /> <General_Phone />
@@ -34,8 +34,8 @@
</Company_Info> </Company_Info>
<Program_Info> <Program_Info>
<Program_Name>Dolibarr</Program_Name> <Program_Name>Dolibarr</Program_Name>
<Program_Version>2.8.0</Program_Version> <Program_Version>2.9.0</Program_Version>
<Program_Release_Month>02</Program_Release_Month> <Program_Release_Month>04</Program_Release_Month>
<Program_Release_Day>13</Program_Release_Day> <Program_Release_Day>13</Program_Release_Day>
<Program_Release_Year>2010</Program_Release_Year> <Program_Release_Year>2010</Program_Release_Year>
<Program_Cost_Dollars /> <Program_Cost_Dollars />
@@ -45,8 +45,8 @@
<Program_Release_Status>Major Update</Program_Release_Status> <Program_Release_Status>Major Update</Program_Release_Status>
<Program_Install_Support>No Install Support</Program_Install_Support> <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_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,Catalan,Dutch,French,German,Italian,Norwegian,Portuguese,Spanish</Program_Language> <Program_Language>English,Catalan,Danish,Dutch,French,German,Italian,Norwegian,Portuguese,Romanian,Russian,Spanish</Program_Language>
<Program_Change_Info>http://www.dolibarr.org</Program_Change_Info> <Program_Change_Info>http://www.dolibarr.org/files/ChangeLog</Program_Change_Info>
<Program_Specific_Category>Business</Program_Specific_Category> <Program_Specific_Category>Business</Program_Specific_Category>
<Program_Category_Class>Business::Accounting &amp; Finance</Program_Category_Class> <Program_Category_Class>Business::Accounting &amp; Finance</Program_Category_Class>
<Program_System_Requirements>None</Program_System_Requirements> <Program_System_Requirements>None</Program_System_Requirements>

View File

@@ -34,8 +34,8 @@
</Company_Info> </Company_Info>
<Program_Info> <Program_Info>
<Program_Name>DoliWamp</Program_Name> <Program_Name>DoliWamp</Program_Name>
<Program_Version>2.8.0</Program_Version> <Program_Version>2.9.0</Program_Version>
<Program_Release_Month>02</Program_Release_Month> <Program_Release_Month>04</Program_Release_Month>
<Program_Release_Day>13</Program_Release_Day> <Program_Release_Day>13</Program_Release_Day>
<Program_Release_Year>2010</Program_Release_Year> <Program_Release_Year>2010</Program_Release_Year>
<Program_Cost_Dollars /> <Program_Cost_Dollars />
@@ -45,8 +45,8 @@
<Program_Release_Status>Major Update</Program_Release_Status> <Program_Release_Status>Major Update</Program_Release_Status>
<Program_Install_Support>Install and Uninstall</Program_Install_Support> <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_OS_Support>Win2000,Win7 x32,Win7 x64,Win98,WinOther,WinServer,WinVista,WinVista x64,WinXP,Other</Program_OS_Support>
<Program_Language>English,Catalan,Dutch,French,German,Italian,Norwegian,Portuguese,Spanish</Program_Language> <Program_Language>English,Catalan,Danish,Dutch,French,German,Italian,Norwegian,Portuguese,Romanian,Russian,Spanish</Program_Language>
<Program_Change_Info>http://www.dolibarr.org</Program_Change_Info> <Program_Change_Info>http://www.dolibarr.org/files/ChangeLog</Program_Change_Info>
<Program_Specific_Category>Business</Program_Specific_Category> <Program_Specific_Category>Business</Program_Specific_Category>
<Program_Category_Class>Business::Accounting &amp; Finance</Program_Category_Class> <Program_Category_Class>Business::Accounting &amp; Finance</Program_Category_Class>
<Program_System_Requirements>None</Program_System_Requirements> <Program_System_Requirements>None</Program_System_Requirements>

View File

@@ -23,20 +23,25 @@ sub script_dolibarr_longdesc
return "Dolibarr ERP/CRM is a powerful Open Source software to manage a professional or foundation activity (small and medium enterprises, freelancers)."; return "Dolibarr ERP/CRM is a powerful Open Source software to manage a professional or foundation activity (small and medium enterprises, freelancers).";
} }
sub script_dolibarr_author
{
return "Regis Houssin";
}
# script_dolibarr_versions() # script_dolibarr_versions()
sub script_dolibarr_versions sub script_dolibarr_versions
{ {
return ( "2.7.0", "2.7.1", "2.8.0" ); return ( "2.8.0", "2.7.1" );
} }
sub script_dolibarr_category sub script_dolibarr_category
{ {
return "ERP/CRM"; return "Commerce";
} }
sub script_dolibarr_php_vers sub script_dolibarr_php_vers
{ {
return ( 4, 5 ); return ( 5 );
} }
sub script_dolibarr_php_vars sub script_dolibarr_php_vars
@@ -179,10 +184,10 @@ local $olddocdir = &transname();
local $url; local $url;
$path = &script_path_url($d, $opts); $path = &script_path_url($d, $opts);
if ($path =~ /^https:/) { if ($path =~ /^https:/) {
$url = "https://www.$d->{'dom'}"; $url = "https://$d->{'dom'}";
} }
else { else {
$url = "http://www.$d->{'dom'}"; $url = "http://$d->{'dom'}";
} }
if ($opts->{'path'} =~ /\w/) { if ($opts->{'path'} =~ /\w/) {
$url .= $opts->{'path'}; $url .= $opts->{'path'};
@@ -206,26 +211,37 @@ if ($upgrade) {
# Put back original config file and documents directory # Put back original config file and documents directory
&copy_source_dest_as_domain_user($d, $oldcfile, $cfile); &copy_source_dest_as_domain_user($d, $oldcfile, $cfile);
&copy_source_dest_as_domain_user($d, $olddocdir, $docdir); &copy_source_dest_as_domain_user($d, $olddocdir, $docdir);
# First page (Update database schema) # First page (Update database schema)
local @params = ( [ "action", "upgrade" ], local @params = ( [ "action", "upgrade" ],
[ "versionfrom", $ver ], [ "versionfrom", $upgrade->{'version'} ],
[ "versionto", $upgrade->{'version'} ], [ "versionto", $ver ],
); );
local $err = &call_dolibarr_wizard_page(\@params, "upgrade", $d, $opts); local $err = &call_dolibarr_wizard_page(\@params, "upgrade", $d, $opts);
return (-1, "Dolibarr wizard failed : $err") if ($err); return (-1, "Dolibarr wizard failed : $err") if ($err);
# Second page (Migrate some data) # Second page (Migrate some data)
local @params = ( [ "action", "upgrade" ] ); local @params = ( [ "action", "upgrade" ],
[ "versionfrom", $upgrade->{'version'} ],
[ "versionto", $ver ],
);
local $err = &call_dolibarr_wizard_page(\@params, "upgrade2", $d, $opts); local $err = &call_dolibarr_wizard_page(\@params, "upgrade2", $d, $opts);
return (-1, "Dolibarr wizard failed : $err") if ($err); return (-1, "Dolibarr wizard failed : $err") if ($err);
# Third page (Update version number)
local @params = ( [ "action", "upgrade" ],
[ "versionfrom", $upgrade->{'version'} ],
[ "versionto", $ver ],
);
local $err = &call_dolibarr_wizard_page(\@params, "etape5", $d, $opts);
return (-1, "Dolibarr wizard failed : $err") if ($err);
# Remove the installation directory. # Remove the installation directory.
local $dinstall = "$opts->{'dir'}/install"; local $dinstall = "$opts->{'dir'}/install";
$dinstall =~ s/\/$//; $dinstall =~ s/\/$//;
$out = &run_as_domain_user($d, "rm -rf ".quotemeta($dinstall )."/* "); $out = &run_as_domain_user($d, "rm -rf ".quotemeta($dinstall )."/* ");
$out = &run_as_domain_user($d, "rmdir ".quotemeta($dinstall )); $out = &run_as_domain_user($d, "rmdir ".quotemeta($dinstall ));
} }
else { else {
# First page (Db connection and config file creation) # First page (Db connection and config file creation)
@@ -241,12 +257,12 @@ else {
); );
local $err = &call_dolibarr_wizard_page(\@params, "etape1", $d, $opts); local $err = &call_dolibarr_wizard_page(\@params, "etape1", $d, $opts);
return (-1, "Dolibarr wizard failed : $err") if ($err); return (-1, "Dolibarr wizard failed : $err") if ($err);
# Second page (Populate database) # Second page (Populate database)
local @params = ( [ "action", "set" ] ); local @params = ( [ "action", "set" ] );
local $err = &call_dolibarr_wizard_page(\@params, "etape2", $d, $opts); local $err = &call_dolibarr_wizard_page(\@params, "etape2", $d, $opts);
return (-1, "Dolibarr wizard failed : $err") if ($err); return (-1, "Dolibarr wizard failed : $err") if ($err);
# Third page (Add administrator account) # Third page (Add administrator account)
local @params = ( [ "action", "set" ], local @params = ( [ "action", "set" ],
[ "login", "admin" ], [ "login", "admin" ],
@@ -255,7 +271,7 @@ else {
); );
local $err = &call_dolibarr_wizard_page(\@params, "etape5", $d, $opts); local $err = &call_dolibarr_wizard_page(\@params, "etape5", $d, $opts);
return (-1, "Dolibarr wizard failed : $err") if ($err); return (-1, "Dolibarr wizard failed : $err") if ($err);
# Remove the installation directory and protect config file. # Remove the installation directory and protect config file.
local $dinstall = "$opts->{'dir'}/install"; local $dinstall = "$opts->{'dir'}/install";
$dinstall =~ s/\/$//; $dinstall =~ s/\/$//;
@@ -263,7 +279,7 @@ else {
$out = &run_as_domain_user($d, "rmdir ".quotemeta($dinstall )); $out = &run_as_domain_user($d, "rmdir ".quotemeta($dinstall ));
&set_ownership_permissions(undef, undef, 0644, $cfile); &set_ownership_permissions(undef, undef, 0644, $cfile);
&set_ownership_permissions(undef, undef, 0755, $cfiledir); &set_ownership_permissions(undef, undef, 0755, $cfiledir);
} }
# Return a URL for the user # Return a URL for the user
@@ -320,8 +336,11 @@ return (1, "Dolibarr directory and tables deleted.");
sub script_dolibarr_latest sub script_dolibarr_latest
{ {
local ($ver) = @_; local ($ver) = @_;
return ( "http://www.dolibarr.fr/files/stable/", if ($ver >= 2.8) {
"dolibarr\-(2\.[0-9\.][0-9])" ); return ( "http://www.dolibarr.fr/files/stable/",
"dolibarr\\-(2\\.[0-9\\.]+)" );
}
return ( );
} }
sub script_dolibarr_site sub script_dolibarr_site

View File

@@ -25,6 +25,7 @@ document
documents documents
htdocs/conf/conf.php htdocs/conf/conf.php
htdocs/conf/conf.php.mysql htdocs/conf/conf.php.mysql
htdocs/conf/conf.php.old
htdocs/conf/conf.php.postgres htdocs/conf/conf.php.postgres
htdocs/avoir htdocs/avoir
htdocs/document htdocs/document

View File

@@ -24,6 +24,7 @@
*/documents/* */documents/*
*/htdocs/conf/conf.php */htdocs/conf/conf.php
*/htdocs/conf/conf.php.mysql */htdocs/conf/conf.php.mysql
*/htdocs/conf/conf.php.old
*/htdocs/conf/conf.php.postgres */htdocs/conf/conf.php.postgres
*/htdocs/avoir/* */htdocs/avoir/*
*/htdocs/document/* */htdocs/document/*

Binary file not shown.

View File

@@ -35,10 +35,10 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
// Recupere root dolibarr // Recupere root dolibarr
$path=preg_replace('/generate-commande.php/i','',$_SERVER["PHP_SELF"]); $path=preg_replace('/generate-commande.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../htdocs/master.inc.php"); require ($path."../htdocs/master.inc.php");
include_once(DOL_DOCUMENT_ROOT."/societe.class.php"); include_once(DOL_DOCUMENT_ROOT."/societe/societe.class.php");
include_once(DOL_DOCUMENT_ROOT."/contact.class.php"); include_once(DOL_DOCUMENT_ROOT."/contact/contact.class.php");
include_once(DOL_DOCUMENT_ROOT."/facture.class.php"); include_once(DOL_DOCUMENT_ROOT."/compta/facture/facture.class.php");
include_once(DOL_DOCUMENT_ROOT."/product.class.php"); include_once(DOL_DOCUMENT_ROOT."/product/product.class.php");
include_once(DOL_DOCUMENT_ROOT."/paiement.class.php"); include_once(DOL_DOCUMENT_ROOT."/paiement.class.php");
include_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php"); include_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php");
@@ -160,7 +160,7 @@ for ($s = 0 ; $s < GEN_NUMBER_COMMANDE ; $s++)
$com->date_commande = $dates[rand(1, sizeof($dates)-1)]; $com->date_commande = $dates[rand(1, sizeof($dates)-1)];
$com->note = $_POST["note"]; $com->note = $_POST["note"];
$com->source = 1; $com->source = 1;
$com->projetid = 0; $com->fk_project = 0;
$com->remise_percent = 0; $com->remise_percent = 0;
$nbp = rand(2, 5); $nbp = rand(2, 5);

View File

@@ -34,8 +34,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
// Recupere root dolibarr // Recupere root dolibarr
$path=preg_replace('/generate-facture.php/i','',$_SERVER["PHP_SELF"]); $path=preg_replace('/generate-facture.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../htdocs/master.inc.php"); require ($path."../htdocs/master.inc.php");
require_once(DOL_DOCUMENT_ROOT."/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/facture/facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/societe.class.php"); require_once(DOL_DOCUMENT_ROOT."/societe/societe.class.php");
/* /*

View File

@@ -35,10 +35,10 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
// Recupere root dolibarr // Recupere root dolibarr
$path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]); $path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../htdocs/master.inc.php"); require ($path."../htdocs/master.inc.php");
include_once(DOL_DOCUMENT_ROOT."/societe.class.php"); include_once(DOL_DOCUMENT_ROOT."/societe/societe.class.php");
include_once(DOL_DOCUMENT_ROOT."/contact.class.php"); include_once(DOL_DOCUMENT_ROOT."/contact/contact.class.php");
include_once(DOL_DOCUMENT_ROOT."/facture.class.php"); include_once(DOL_DOCUMENT_ROOT."/compta/facture/facture.class.php");
include_once(DOL_DOCUMENT_ROOT."/product.class.php"); include_once(DOL_DOCUMENT_ROOT."/product/product.class.php");
include_once(DOL_DOCUMENT_ROOT."/paiement.class.php"); include_once(DOL_DOCUMENT_ROOT."/paiement.class.php");
include_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php"); include_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php");

View File

@@ -35,10 +35,10 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
// Recupere root dolibarr // Recupere root dolibarr
$path=preg_replace('/generate-propale.php/i','',$_SERVER["PHP_SELF"]); $path=preg_replace('/generate-propale.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../htdocs/master.inc.php"); require ($path."../htdocs/master.inc.php");
require_once(DOL_DOCUMENT_ROOT."/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/facture/facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/propal.class.php"); require_once(DOL_DOCUMENT_ROOT."/comm/propal/propal.class.php");
require_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php"); require_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php");
require_once(DOL_DOCUMENT_ROOT."/societe.class.php"); require_once(DOL_DOCUMENT_ROOT."/societe/societe.class.php");
/* /*
* Parameters * Parameters

View File

@@ -35,10 +35,10 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
// Recupere root dolibarr // Recupere root dolibarr
$path=preg_replace('/generate-societe.php/i','',$_SERVER["PHP_SELF"]); $path=preg_replace('/generate-societe.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../htdocs/master.inc.php"); require ($path."../htdocs/master.inc.php");
include_once(DOL_DOCUMENT_ROOT."/societe.class.php"); include_once(DOL_DOCUMENT_ROOT."/societe/societe.class.php");
include_once(DOL_DOCUMENT_ROOT."/contact.class.php"); include_once(DOL_DOCUMENT_ROOT."/contact/contact.class.php");
include_once(DOL_DOCUMENT_ROOT."/facture.class.php"); include_once(DOL_DOCUMENT_ROOT."/compta/facture/facture.class.php");
include_once(DOL_DOCUMENT_ROOT."/product.class.php"); include_once(DOL_DOCUMENT_ROOT."/product/product.class.php");
include_once(DOL_DOCUMENT_ROOT."/paiement.class.php"); include_once(DOL_DOCUMENT_ROOT."/paiement.class.php");
include_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php"); include_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php");

File diff suppressed because one or more lines are too long

View File

@@ -26,8 +26,7 @@
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);
$path=str_replace($script_file,'',$_SERVER["PHP_SELF"]); $path=dirname(__FILE__).'/';
$path=preg_replace('@[\\\/]+$@','',$path).'/';
// Test if batch mode // Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') { if (substr($sapi_type, 0, 3) == 'cgi') {

View File

@@ -26,8 +26,7 @@
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);
$path=str_replace($script_file,'',$_SERVER["PHP_SELF"]); $path=dirname(__FILE__).'/';
$path=preg_replace('@[\\\/]+$@','',$path).'/';
// Test if batch mode // Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') { if (substr($sapi_type, 0, 3) == 'cgi') {
@@ -68,7 +67,7 @@ print 'Argument 2='.$argv[2]."\n";
// Start of transaction // Start of transaction
$db->begin(); $db->begin();
require_once(DOL_DOCUMENT_ROOT."/product.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/product.class.php");
// Create instance of object // Create instance of object
$myproduct=new Product($db); $myproduct=new Product($db);

View File

@@ -25,12 +25,11 @@
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);
$path=str_replace($script_file,'',$_SERVER["PHP_SELF"]); $path=dirname(__FILE__).'/';
$path=preg_replace('@[\\\/]+$@','',$path).'/';
// Test if batch mode // Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') { if (substr($sapi_type, 0, 3) == 'cgi') {
echo "Error: You ar usingr PH for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n";
exit; exit;
} }
@@ -123,8 +122,8 @@ else
// Define working variables // Define working variables
$table=strtolower($table); $table=strtolower($table);
$tablenollx=preg_replace('/llx_/i','',$table); $tablenollx=preg_replace('/llx_/i','',$table);
$class=ucfirst($tablenollx); $classname=ucfirst($tablenollx);
$classmin=strtolower($class); $classmin=strtolower($classname);
// Read skeleton_class.class.php file // Read skeleton_class.class.php file
@@ -146,7 +145,7 @@ $targetcontent=$sourcecontent;
$targetcontent=preg_replace('/skeleton_class\.class\.php/', $classmin.'.class.php', $targetcontent); $targetcontent=preg_replace('/skeleton_class\.class\.php/', $classmin.'.class.php', $targetcontent);
$targetcontent=preg_replace('/\$element=\'skeleton\'/', '\$element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/\$element=\'skeleton\'/', '\$element=\''.$classmin.'\'', $targetcontent);
$targetcontent=preg_replace('/\$table_element=\'skeleton\'/', '\$table_element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/\$table_element=\'skeleton\'/', '\$table_element=\''.$classmin.'\'', $targetcontent);
$targetcontent=preg_replace('/Skeleton_class/', $class, $targetcontent); $targetcontent=preg_replace('/Skeleton_class/', $classname, $targetcontent);
// Substitute comments // Substitute comments
$targetcontent=preg_replace('/This file is an example to create a new class file/', 'Put here description of this class', $targetcontent); $targetcontent=preg_replace('/This file is an example to create a new class file/', 'Put here description of this class', $targetcontent);
@@ -377,7 +376,7 @@ $targetcontent=preg_replace('/skeleton_class\.class\.php/', $classmin.'.class.ph
$targetcontent=preg_replace('/skeleton_script\.php/', $classmin.'_script.php', $targetcontent); $targetcontent=preg_replace('/skeleton_script\.php/', $classmin.'_script.php', $targetcontent);
$targetcontent=preg_replace('/\$element=\'skeleton\'/', '\$element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/\$element=\'skeleton\'/', '\$element=\''.$classmin.'\'', $targetcontent);
$targetcontent=preg_replace('/\$table_element=\'skeleton\'/', '\$table_element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/\$table_element=\'skeleton\'/', '\$table_element=\''.$classmin.'\'', $targetcontent);
$targetcontent=preg_replace('/Skeleton_class/', $class, $targetcontent); $targetcontent=preg_replace('/Skeleton_class/', $classname, $targetcontent);
// Substitute comments // Substitute comments
$targetcontent=preg_replace('/This file is an example to create a new class file/', 'Put here description of this class', $targetcontent); $targetcontent=preg_replace('/This file is an example to create a new class file/', 'Put here description of this class', $targetcontent);

View File

@@ -25,8 +25,7 @@
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);
$path=str_replace($script_file,'',$_SERVER["PHP_SELF"]); $path=dirname(__FILE__).'/';
$path=preg_replace('@[\\\/]+$@','',$path).'/';
// Test if batch mode // Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') { if (substr($sapi_type, 0, 3) == 'cgi') {

View File

@@ -1,6 +1,7 @@
<?php <?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -17,7 +18,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/** \defgroup mymodule Module MyModule /**
* \defgroup mymodule Module MyModule
* \brief Example of a module descriptor. * \brief Example of a module descriptor.
* Such a file must be copied into htdocs/includes/module directory. * Such a file must be copied into htdocs/includes/module directory.
*/ */
@@ -31,7 +33,8 @@
include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php"); include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php");
/** \class modMyModule /**
* \class modMyModule
* \brief Description and activation class for module MyModule * \brief Description and activation class for module MyModule
*/ */
class modMyModule extends DolibarrModules class modMyModule extends DolibarrModules
@@ -65,15 +68,18 @@ class modMyModule extends DolibarrModules
$this->special = 0; $this->special = 0;
// Name of image file used for this module. // Name of image file used for this module.
// If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue' // If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue'
// If file is in module/images directory, use this->picto=DOL_URL_ROOT.'/module/images/file.png' // If file is in module/img directory under name object_pictovalue.png, use this->picto='pictovalue@module'
$this->picto='generic'; $this->picto='generic';
// Defined if the directory /mymodule/inc/triggers/ contains triggers or not
$this->triggers = 0;
// Data directories to create when module is enabled. // Data directories to create when module is enabled.
// Example: this->dirs = array("/mymodule/temp"); // Example: this->dirs = array("/mymodule/temp");
$this->dirs = array(); $this->dirs = array();
$r=0; $r=0;
// Relative path to module style sheet if exists. Example: '/mymodule/mycss.css'. // Relative path to module style sheet if exists. Example: '/mymodule/css/mycss.css'.
$this->style_sheet = ''; $this->style_sheet = '';
// Config pages. Put here list of php page names stored in admmin directory used to setup module. // Config pages. Put here list of php page names stored in admmin directory used to setup module.
@@ -87,9 +93,9 @@ class modMyModule extends DolibarrModules
$this->langfiles = array("mymodule"); $this->langfiles = array("mymodule");
// Constants // Constants
$this->const = array(); // List of particular constants to add when module is enabled // Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',0),
//Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',0), // 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0) );
// 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0) ); $this->const = array(); // List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 0 or 'allentities')
// Array to add new pages in new tabs // Array to add new pages in new tabs
$this->tabs = array('entity:Title:@mymodule:/mymodule/mynewtab.php?id=__ID__'); $this->tabs = array('entity:Title:@mymodule:/mymodule/mynewtab.php?id=__ID__');
@@ -142,7 +148,7 @@ class modMyModule extends DolibarrModules
// 'type'=>'top', // This is a Top menu entry // 'type'=>'top', // This is a Top menu entry
// 'titre'=>'MyModule top menu', // 'titre'=>'MyModule top menu',
// 'mainmenu'=>'mymodule', // 'mainmenu'=>'mymodule',
// 'leftmenu'=>'1', // Use 1 if you also want to add left menu entries using this descriptor. Use 0 if left menu entries are defined in a file pre.inc.php (old school). // 'leftmenu'=>'1', // Use 1 if you also want to add left menu entries using this descriptor.
// 'url'=>'/mymodule/pagetop.php', // 'url'=>'/mymodule/pagetop.php',
// 'langs'=>'mylangfile', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. // 'langs'=>'mylangfile', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
// 'position'=>100, // 'position'=>100,

View File

@@ -1,58 +0,0 @@
<?php
/* Copyright (C) 2008 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
* \file htdocs/dev/skeletons/pre.inc.php
* \brief File to manage left menu by default
* \version $Id$
*/
// Include environment and check authentification
require ("../../main.inc.php"); // This include must use a relative link to the main.inc.php file
/**
* \brief Function called by page to show menus (top and left)
* \param head Text to show as head line
* \param title Not used
* \param helppagename Name of a help page ('' by default).
* Syntax is: For a wiki page: EN:EnglishPage|FR:FrenchPage|ES:SpanishPage
* For other external page: http://server/url
*/
function llxHeader($head = '', $title='', $help_url='')
{
global $user, $conf, $langs;
top_menu($head, $title);
$menu = new Menu();
// Create default menu.
// No code here is required if you already added menu entries in
// the module descriptor (recommanded).
// If not you must manually add menu entries here (not recommanded).
/*
$langs->load("mylangfile");
$menu->add(DOL_URL_ROOT."/mylink.php", $langs->trans("MyMenuLabel"));
}
*/
left_menu($menu->liste, $help_url);
}
?>

View File

@@ -27,9 +27,9 @@
*/ */
// Put here all includes required by your class file // Put here all includes required by your class file
//require_once(DOL_DOCUMENT_ROOT."/commonobject.class.php"); //require_once(DOL_DOCUMENT_ROOT."/core/commonobject.class.php");
//require_once(DOL_DOCUMENT_ROOT."/societe.class.php"); //require_once(DOL_DOCUMENT_ROOT."/societe/societe.class.php");
//require_once(DOL_DOCUMENT_ROOT."/product.class.php"); //require_once(DOL_DOCUMENT_ROOT."/product/product.class.php");
/** /**
@@ -108,7 +108,7 @@ class Skeleton_class // extends CommonObject
// want this action call a trigger. // want this action call a trigger.
//// Call triggers //// Call triggers
//include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); //include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
//$interface=new Interfaces($this->db); //$interface=new Interfaces($this->db);
//$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf); //$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
//if ($result < 0) { $error++; $this->errors=$interface->errors; } //if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -217,7 +217,7 @@ class Skeleton_class // extends CommonObject
// want this action call a trigger. // want this action call a trigger.
//// Call triggers //// Call triggers
//include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); //include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
//$interface=new Interfaces($this->db); //$interface=new Interfaces($this->db);
//$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf); //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
//if ($result < 0) { $error++; $this->errors=$interface->errors; } //if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -272,7 +272,7 @@ class Skeleton_class // extends CommonObject
// want this action call a trigger. // want this action call a trigger.
//// Call triggers //// Call triggers
//include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); //include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
//$interface=new Interfaces($this->db); //$interface=new Interfaces($this->db);
//$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
//if ($result < 0) { $error++; $this->errors=$interface->errors; } //if ($result < 0) { $error++; $this->errors=$interface->errors; }

View File

@@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2007 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2007-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) ---Put here your own copyright and developer email--- * Copyright (C) ---Put here your own copyright and developer email---
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@@ -25,8 +25,22 @@
* \author Put author name here * \author Put author name here
* \remarks Put here some comments * \remarks Put here some comments
*/ */
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/../dev/skeletons/skeleton_class.class.php"); //if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1');
//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1');
//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK','1');
//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1');
//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
//if (! defined("NOLOGIN")) define("NOLOGIN",'1');
// Change this following line to use the correct relative path (../, ../../, etc)
require("../main.inc.php");
// Change this following line to use the correct relative path from htdocs (do not remove DOL_DOCUMENT_ROOT)
require_once(DOL_DOCUMENT_ROOT."/skeleton/skeleton_class.class.php");
// Load traductions files requiredby by page // Load traductions files requiredby by page
$langs->load("companies"); $langs->load("companies");
@@ -84,6 +98,21 @@ $form=new Form($db);
// ... // ...
/***************************************************
* LINKED OBJECT BLOCK
*
* Put here code to view linked object
****************************************************/
$myobject->load_object_linked($myobject->id,$myobject->element);
foreach($myobject->linked_object as $object => $objectid)
{
if($conf->$object->enabled)
{
$somethingshown=$myobject->showLinkedObjectBlock($object,$objectid,$somethingshown);
}
}
// End of page // End of page
$db->close(); $db->close();
llxFooter('$Date$ - $Revision$'); llxFooter('$Date$ - $Revision$');

View File

@@ -28,8 +28,7 @@
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);
$path=str_replace($script_file,'',$_SERVER["PHP_SELF"]); $path=dirname(__FILE__).'/';
$path=preg_replace('@[\\\/]+$@','',$path).'/';
// Test if batch mode // Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') { if (substr($sapi_type, 0, 3) == 'cgi') {

View File

@@ -27,8 +27,7 @@
$sapi_type = php_sapi_name(); $sapi_type = php_sapi_name();
$script_file = basename(__FILE__); $script_file = basename(__FILE__);
$path=str_replace($script_file,'',$_SERVER["PHP_SELF"]); $path=dirname(__FILE__).'/';
$path=preg_replace('@[\\\/]+$@','',$path).'/';
// Test if batch mode // Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') { if (substr($sapi_type, 0, 3) == 'cgi') {

View File

@@ -14,10 +14,12 @@
class langAutoParser { class langAutoParser {
private $translatedFiles = array(); private $translatedFiles = array();
private $destLang = string; private $destLang = '';
private $refLang = string; private $refLang = '';
private $langDir = string; private $langDir = '';
private $limittofile = string; private $limittofile = '';
private $time;
private $time_end;
private $outputpagecode = 'UTF-8'; private $outputpagecode = 'UTF-8';
//private $outputpagecode = 'ISO-8859-1'; //private $outputpagecode = 'ISO-8859-1';
const DIR_SEPARATOR = '/'; const DIR_SEPARATOR = '/';
@@ -46,42 +48,77 @@ class langAutoParser {
if ($this->limittofile && $this->limittofile != $file) continue; if ($this->limittofile && $this->limittofile != $file) continue;
$counter++; $counter++;
$fileContent = null; $fileContent = null;
$this->translatedFiles = array();
$refPath = $this->langDir.$this->refLang.self::DIR_SEPARATOR.$file; $refPath = $this->langDir.$this->refLang.self::DIR_SEPARATOR.$file;
$destPath = $this->langDir.$this->destLang.self::DIR_SEPARATOR.$file; $fileContent = file($refPath,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$fileContent = file($refPath,FILE_IGNORE_NEW_LINES | print "Processing file " . $file . ", with ".sizeof($fileContent)." lines<br>\n";
FILE_SKIP_EMPTY_LINES);
print "Processing file " . $file . ", found ".sizeof($fileContent)." records<br>\n"; // Define target dirs
// Check destination file presence $targetlangs=array($this->destLang);
if ( ! file_exists( $destPath ) ){ if ($this->destLang == 'all')
// No file presente generate file {
echo "File not found: " . $file . "<br>\n"; $targetlangs=array();
echo "Generating file " . $file . "<br>\n";
$this->createTranslationFile($destPath); // If we must process all languages
} $arraytmp=dol_dir_list($this->langDir,'directories',0);
// Translate lines foreach($arraytmp as $dirtmp)
$fileContentDest = file($destPath,FILE_IGNORE_NEW_LINES |
FILE_SKIP_EMPTY_LINES);
$newlines=0;
foreach($fileContent as $line){
$key = $this->getLineKey($line);
$value = $this->getLineValue($line);
if ($key && $value)
{ {
$newlines+=$this->translateFileLine($fileContentDest,$file,$key,$value); if ($dirtmp['name'] === $this->refLang) continue; // We discard source language
$tmppart=explode('_',$dirtmp['name']);
if (preg_match('/^en/i',$dirtmp['name'])) continue; // We discard en_* languages
if (preg_match('/^fr/i',$dirtmp['name'])) continue; // We discard fr_* languages
if (preg_match('/^es/i',$dirtmp['name'])) continue; // We discard es_* languages
if (preg_match('/ca_ES/i',$dirtmp['name'])) continue; // We discard es_CA language
if (preg_match('/pt_BR/i',$dirtmp['name'])) continue; // We discard pt_BR language
if (preg_match('/^\./i',$dirtmp['name'])) continue; // We discard files .*
if (preg_match('/^CVS/i',$dirtmp['name'])) continue; // We discard CVS
$targetlangs[]=$dirtmp['name'];
} }
//var_dump($targetlangs);
} }
$this->updateTranslationFile($destPath,$file); // Process translation of source file for each target languages
echo "New translated lines: " . $newlines . "<br>\n"; foreach($targetlangs as $mydestLang)
#if ($counter ==3) die('fim'); {
$this->translatedFiles = array();
$destPath = $this->langDir.$mydestLang.self::DIR_SEPARATOR.$file;
// Check destination file presence
if ( ! file_exists( $destPath ) ){
// No file present, we generate file
echo "File not found: " . $destPath . ". We generate it.<br>\n";
$this->createTranslationFile($destPath,$mydestLang);
}
else
{
echo "Updating file: " . $destPath . "<br>\n";
}
// Translate lines
$fileContentDest = file($destPath,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$newlines=0;
foreach($fileContent as $line){
$key = $this->getLineKey($line);
$value = $this->getLineValue($line);
if ($key && $value)
{
$newlines+=$this->translateFileLine($fileContentDest,$file,$key,$value,$mydestLang);
}
}
$this->updateTranslationFile($destPath,$file);
echo "New translated lines: " . $newlines . "<br>\n";
#if ($counter ==3) die('fim');
}
} }
} }
private function updateTranslationFile($destPath,$file){ private function updateTranslationFile($destPath,$file)
{
$this->time_end = date('Y-m-d H:i:s');
if (count($this->translatedFiles[$file])>0){ if (count($this->translatedFiles[$file])>0)
{
$fp = fopen($destPath, 'a'); $fp = fopen($destPath, 'a');
fwrite($fp, "\r\n"); fwrite($fp, "\r\n");
fwrite($fp, "\r\n"); fwrite($fp, "\r\n");
@@ -90,16 +127,16 @@ FILE_SKIP_EMPTY_LINES);
foreach( $this->translatedFiles[$file] as $line) { foreach( $this->translatedFiles[$file] as $line) {
fwrite($fp, $line . "\r\n"); fwrite($fp, $line . "\r\n");
} }
fwrite($fp, "// STOP - Lines generated via autotranslator.php tool (".$this->time.").\r\n"); fwrite($fp, "// STOP - Lines generated via autotranslator.php tool (".$this->time_end.").\r\n");
fclose($fp); fclose($fp);
} }
return; return;
} }
private function createTranslationFile($path){ private function createTranslationFile($path,$mydestlang){
$fp = fopen($path, 'w+'); $fp = fopen($path, 'w+');
fwrite($fp, "/*\r\n"); fwrite($fp, "/*\r\n");
fwrite($fp, " * Language code: {$this->destLang}\r\n"); fwrite($fp, " * Language code: {$mydestlang}\r\n");
fwrite($fp, " * Automatic generated via autotranslator.php tool\r\n"); fwrite($fp, " * Automatic generated via autotranslator.php tool\r\n");
fwrite($fp, " * Generation date " . $this->time. "\r\n"); fwrite($fp, " * Generation date " . $this->time. "\r\n");
fwrite($fp, " */\r\n"); fwrite($fp, " */\r\n");
@@ -108,15 +145,17 @@ FILE_SKIP_EMPTY_LINES);
} }
/** /**
* Put in array translation of a key * Put in array translatedFiles[$file], line of a new tranlated pair
* *
* @param unknown_type $content Existing content of dest file * @param $content Existing content of dest file
* @param unknown_type $file File name translated (xxxx.lang) * @param $file Target file name translated (xxxx.lang)
* @param unknown_type $key Key to translate * @param $key Key to translate
* @param unknown_type $value Existing key in source file * @param $value Existing value in source file
* @return int 0=Nothing translated, 1=Record translated * @param string Language code (ie: fr_FR)
* @return int 0=Nothing translated, 1=Record translated
*/ */
private function translateFileLine($content,$file,$key,$value){ private function translateFileLine($content,$file,$key,$value,$mydestLang)
{
//print "key =".$key."\n"; //print "key =".$key."\n";
foreach( $content as $line ) { foreach( $content as $line ) {
@@ -125,16 +164,24 @@ FILE_SKIP_EMPTY_LINES);
// If translated return // If translated return
//print "destKey=".$destKey."\n"; //print "destKey=".$destKey."\n";
if ( trim($destKey) == trim($key) ) if ( trim($destKey) == trim($key) )
{ // Found already existing translation { // Found already existing translation (key already exits in dest file)
return 0; return 0;
} }
} }
// If not translated then translate
if ($this->outputpagecode == 'UTF-8') $val=$this->translateTexts(array($value),substr($this->refLang,0,2),substr($this->destLang,0,2));
else $val=utf8_decode($this->translateTexts(array($value),substr($this->refLang,0,2),substr($this->destLang,0,2)));
if ($key == 'CHARSET') $val=$this->outputpagecode; if ($key == 'CHARSET') $val=$this->outputpagecode;
else if (preg_match('/^Format/',$key)) $val=$value;
else if ($value=='-') $val=$value;
else
{
// If not translated then translate
if ($this->outputpagecode == 'UTF-8') $val=$this->translateTexts(array($value),substr($this->refLang,0,2),substr($mydestLang,0,2));
else $val=utf8_decode($this->translateTexts(array($value),substr($this->refLang,0,2),substr($mydestLang,0,2)));
}
$val=trim($val);
if (empty($val)) return 0;
$this->translatedFiles[$file][] = $key . '=' . $val ; $this->translatedFiles[$file][] = $key . '=' . $val ;
return 1; return 1;
@@ -162,8 +209,15 @@ FILE_SKIP_EMPTY_LINES);
return $files; return $files;
} }
private function translateTexts($src_texts = array(), $src_lang, /**
$dest_lang){ * Return translation of a value
*
* @param $src_texts Array with one value
* @param $src_lang
* @param $dest_lang
* @return string Value translated
*/
private function translateTexts($src_texts = array(), $src_lang, $dest_lang){
$tmp=explode('_',$src_lang); $tmp=explode('_',$src_lang);
if ($tmp[0] == $tmp[1]) $src_lang=$tmp[0]; if ($tmp[0] == $tmp[1]) $src_lang=$tmp[0];
@@ -175,9 +229,9 @@ $dest_lang){
$lang_pair = $src_lang.'|'.$dest_lang; $lang_pair = $src_lang.'|'.$dest_lang;
$src_texts_query = ""; $src_texts_query = "";
foreach ($src_texts as $src_text){ $src_text_to_translate=preg_replace('/%s/','SSSSS',join('',$src_texts));
$src_texts_query .= "&q=".urlencode($src_text);
} $src_texts_query .= "&q=".urlencode($src_text_to_translate);
$url = $url =
"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0".$src_texts_query."&langpair=".urlencode($lang_pair); "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0".$src_texts_query."&langpair=".urlencode($lang_pair);
@@ -185,6 +239,8 @@ $dest_lang){
// sendRequest // sendRequest
// note how referer is set manually // note how referer is set manually
//print "Url to translate: ".$url."\n";
$ch = curl_init(); $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
@@ -196,24 +252,16 @@ $dest_lang){
$json = json_decode($body, true); $json = json_decode($body, true);
if ($json['responseStatus'] != 200){ if ($json['responseStatus'] != 200){
print "Error: ".$json['responseStatus']." ".$url."\n";
return false; return false;
} }
$results = $json['responseData']; $rep=$json['responseData']['translatedText'];
$rep=preg_replace('/SSSSS/','%s',$rep);
$return_array = array(); //print "OK ".join('',$src_texts).' => '.$rep."\n";
foreach ($results as $result){ return $rep;
if ($result['responseStatus'] == 200){
$return_array[] = $result['responseData']['translatedText'];
} else {
$return_array[] = false;
}
}
//return translated text
#return $return_array;
return $json['responseData']['translatedText'];
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
doc/images/dolibarr2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

10
doc/tshirts/README Normal file
View File

@@ -0,0 +1,10 @@
README (english)
--------------------------------
Rollups
--------------------------------
This directory contains source for the Inkscape vector
graphic editor (www.inkscape.org) to create tshirts.
Note: You may need to install some font to read correctly files
into this directory. For this, see directory doc/font.

View File

@@ -0,0 +1,281 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1052.3622"
height="744.09448"
id="svg2953"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="dolibarr_tshirts.svg">
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective2959" />
<inkscape:perspective
id="perspective2961"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(0.59172,0,0,0.59172016,-241.72147,287.8142)"
gradientUnits="userSpaceOnUse"
id="linearGradient5510"
xlink:href="#linearGradient3734"
inkscape:collect="always" />
<linearGradient
id="linearGradient3734">
<stop
id="stop3736"
offset="0"
style="stop-color:#0b5b85;stop-opacity:1;" />
<stop
id="stop3738"
offset="1"
style="stop-color:#4fbedf;stop-opacity:1" />
</linearGradient>
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(1.3443321,0,0,1.3443323,-84.203155,-604.54637)"
gradientUnits="userSpaceOnUse"
id="linearGradient2969"
xlink:href="#linearGradient3734"
inkscape:collect="always" />
<linearGradient
id="linearGradient2971">
<stop
id="stop2973"
offset="0"
style="stop-color:#0b5b85;stop-opacity:1;" />
<stop
id="stop2975"
offset="1"
style="stop-color:#4fbedf;stop-opacity:1" />
</linearGradient>
<inkscape:perspective
id="perspective3788"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(0.59172,0,0,0.59172016,-238.06681,287.8142)"
gradientUnits="userSpaceOnUse"
id="linearGradient5510-7"
xlink:href="#linearGradient3734-4"
inkscape:collect="always" />
<linearGradient
id="linearGradient3734-4">
<stop
id="stop3736-0"
offset="0"
style="stop-color:#0b5b85;stop-opacity:1;" />
<stop
id="stop3738-9"
offset="1"
style="stop-color:#4fbedf;stop-opacity:1" />
</linearGradient>
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(0.59172,0,0,0.59172016,-238.06681,287.8142)"
gradientUnits="userSpaceOnUse"
id="linearGradient3796"
xlink:href="#linearGradient3734-4"
inkscape:collect="always" />
<linearGradient
id="linearGradient3798">
<stop
id="stop3800"
offset="0"
style="stop-color:#0b5b85;stop-opacity:1;" />
<stop
id="stop3802"
offset="1"
style="stop-color:#4fbedf;stop-opacity:1" />
</linearGradient>
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(0.64317245,0,0,0.64317264,-265.7108,-221.05337)"
gradientUnits="userSpaceOnUse"
id="linearGradient3808"
xlink:href="#linearGradient3734-4"
inkscape:collect="always" />
<inkscape:perspective
id="perspective3851"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(0.59172,0,0,0.59172016,-239.06564,-128.74015)"
gradientUnits="userSpaceOnUse"
id="linearGradient3808-4"
xlink:href="#linearGradient3734-4-5"
inkscape:collect="always" />
<linearGradient
id="linearGradient3734-4-5">
<stop
id="stop3736-0-5"
offset="0"
style="stop-color:#0b5b85;stop-opacity:1;" />
<stop
id="stop3738-9-1"
offset="1"
style="stop-color:#4fbedf;stop-opacity:1" />
</linearGradient>
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(0.59172,0,0,0.59172016,-239.06564,-128.74015)"
gradientUnits="userSpaceOnUse"
id="linearGradient3859"
xlink:href="#linearGradient3734-4-5"
inkscape:collect="always" />
<linearGradient
id="linearGradient3861">
<stop
id="stop3863"
offset="0"
style="stop-color:#0b5b85;stop-opacity:1;" />
<stop
id="stop3865"
offset="1"
style="stop-color:#4fbedf;stop-opacity:1" />
</linearGradient>
<linearGradient
y2="1317.5959"
x2="1221.0221"
y1="1026.5248"
x1="1223.7272"
gradientTransform="matrix(0.64576725,0,0,0.64576741,-264.21722,120.26204)"
gradientUnits="userSpaceOnUse"
id="linearGradient3871"
xlink:href="#linearGradient3734-4-5"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
inkscape:document-units="mm"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.69799173"
inkscape:cx="509.47445"
inkscape:cy="420.2311"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:snap-global="true"
inkscape:window-width="1280"
inkscape:window-height="968"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-308.2677)">
<text
transform="scale(1.0067426,0.99330258)"
id="text2828-4"
y="621.56976"
x="60.991871"
style="font-size:423.95123291px;font-style:normal;font-weight:normal;fill:url(#linearGradient3808);fill-opacity:1;fill-rule:nonzero;stroke:#010101;stroke-width:2.17207408;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:0.45798322;stroke-dasharray:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
style="font-size:247.90473938px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient3808);fill-opacity:1;fill-rule:nonzero;stroke:#010101;stroke-width:2.17207408;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:0.45798322;stroke-dasharray:none;font-family:Bauhaus 93;-inkscape-font-specification:Bauhaus 93"
y="621.56976"
x="60.991871"
id="tspan2830-8"
sodipodi:role="line">Dolibarr</tspan></text>
<text
transform="scale(0.92379094,1.082496)"
id="text5484-8"
y="438.42856"
x="875.20703"
style="font-size:40.16991425px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="438.42856"
x="875.20703"
id="tspan5486-2"
sodipodi:role="line"
style="fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">ERP/CRM</tspan></text>
<text
transform="scale(1.0026876,0.99731961)"
id="text2828-4-7"
y="966.28461"
x="63.803482"
style="font-size:425.66162109px;font-style:normal;font-weight:normal;fill:url(#linearGradient3871);fill-opacity:1;fill-rule:nonzero;stroke:#010101;stroke-width:2.18083692;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:0.45798322;stroke-dasharray:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
style="font-size:248.90486145px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient3871);fill-opacity:1;fill-rule:nonzero;stroke:#010101;stroke-width:2.18083692;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:0.45798322;stroke-dasharray:none;font-family:Bauhaus 93;-inkscape-font-specification:Bauhaus 93"
y="966.28461"
x="63.803482"
id="tspan2830-8-1"
sodipodi:role="line">Dolibarr</tspan></text>
<text
transform="scale(0.92379094,1.082496)"
id="text5484-8-1"
y="757.02539"
x="877.98615"
style="font-size:40.16991425px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="757.02539"
x="877.98615"
id="tspan5486-2-5"
sodipodi:role="line"
style="fill:#000000;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">ERP/CRM</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

1
documents/.cvsignore Normal file
View File

@@ -0,0 +1 @@
.htaccess

View File

@@ -4,3 +4,4 @@ google
dolibarr_mail dolibarr_mail
demo_pwc demo_pwc
phpsane phpsane
test.php

View File

@@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be> * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
* *
@@ -22,11 +22,11 @@
/** /**
* \file htdocs/about.php * \file htdocs/about.php
* \brief Fichier page a propos * \brief About Dolibarr File page
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("./main.inc.php");
$langs->load("admin"); $langs->load("admin");
@@ -67,7 +67,7 @@ print '<ul>';
print '<li>'; print '<li>';
print '<a target="blank" href="http://www.dolibarr.org/">'.$langs->trans("OfficialWebSite").'</a>'; print '<a target="blank" href="http://www.dolibarr.org/">'.$langs->trans("OfficialWebSite").'</a>';
print '</li>'; print '</li>';
// Si langue francaise, on affiche site web francophone // If the French language, it displays French website
if (preg_match('/^fr_/i',$langs->getDefaultLang())) if (preg_match('/^fr_/i',$langs->getDefaultLang()))
{ {
print '<li>'; print '<li>';

View File

@@ -28,7 +28,7 @@
* \version $Id$ * \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT."/commonobject.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/commonobject.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
@@ -47,6 +47,7 @@ class Adherent extends CommonObject
var $id; var $id;
var $ref; var $ref;
var $civilite_id;
var $prenom; var $prenom;
var $nom; var $nom;
var $fullname; var $fullname;
@@ -148,6 +149,7 @@ class Adherent extends CommonObject
} }
$infos=''; $infos='';
if ($this->civilite_id) $infos.= $langs->trans("UserTitle").": ".$this->getCivilityLabel()."\n";
$infos.= $langs->trans("Lastname").": $this->nom\n"; $infos.= $langs->trans("Lastname").": $this->nom\n";
$infos.= $langs->trans("Firstname").": $this->prenom\n"; $infos.= $langs->trans("Firstname").": $this->prenom\n";
$infos.= $langs->trans("Company").": $this->societe\n"; $infos.= $langs->trans("Company").": $this->societe\n";
@@ -165,7 +167,8 @@ class Adherent extends CommonObject
// Substitutions // Substitutions
$patterns = array ( $patterns = array (
'/%PRENOM%/', '/%CIVILITE%/',
'/%PRENOM%/',
'/%NOM%/', '/%NOM%/',
'/%INFOS%/', '/%INFOS%/',
'/%DOL_MAIN_URL_ROOT%/', '/%DOL_MAIN_URL_ROOT%/',
@@ -181,6 +184,7 @@ class Adherent extends CommonObject
'/%PASSWORD%/' '/%PASSWORD%/'
); );
$replace = array ( $replace = array (
$this->getCivilityLabel(),
$this->prenom, $this->prenom,
$this->nom, $this->nom,
$infos, $infos,
@@ -323,7 +327,7 @@ class Adherent extends CommonObject
if (! $notrigger) if (! $notrigger)
{ {
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
$result=$interface->run_triggers('MEMBER_CREATE',$this,$user,$langs,$conf); $result=$interface->run_triggers('MEMBER_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -388,7 +392,8 @@ class Adherent extends CommonObject
$this->db->begin(); $this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET"; $sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET";
$sql.= " prenom = ".($this->prenom?"'".addslashes($this->prenom)."'":"null"); $sql.= " civilite = ".($this->civilite_id?"'".$this->civilite_id."'":"null");
$sql.= ", prenom = ".($this->prenom?"'".addslashes($this->prenom)."'":"null");
$sql.= ", nom=" .($this->nom?"'".addslashes($this->nom)."'":"null"); $sql.= ", nom=" .($this->nom?"'".addslashes($this->nom)."'":"null");
$sql.= ", login=" .($this->login?"'".addslashes($this->login)."'":"null"); $sql.= ", login=" .($this->login?"'".addslashes($this->login)."'":"null");
$sql.= ", societe=" .($this->societe?"'".addslashes($this->societe)."'":"null"); $sql.= ", societe=" .($this->societe?"'".addslashes($this->societe)."'":"null");
@@ -492,7 +497,7 @@ class Adherent extends CommonObject
{ {
if ($this->user_id > 0 && ! $nosyncuser) if ($this->user_id > 0 && ! $nosyncuser)
{ {
require_once(DOL_DOCUMENT_ROOT."/user.class.php"); require_once(DOL_DOCUMENT_ROOT."/user/user.class.php");
dol_syslog("Adherent::update update linked user"); dol_syslog("Adherent::update update linked user");
@@ -504,6 +509,7 @@ class Adherent extends CommonObject
if ($result >= 0) if ($result >= 0)
{ {
$luser->civilite_id=$this->civilite_id;
$luser->prenom=$this->prenom; $luser->prenom=$this->prenom;
$luser->nom=$this->nom; $luser->nom=$this->nom;
$luser->login=$this->user_login; $luser->login=$this->user_login;
@@ -540,7 +546,7 @@ class Adherent extends CommonObject
$this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0); $this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0);
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
$result=$interface->run_triggers('MEMBER_MODIFY',$this,$user,$langs,$conf); $result=$interface->run_triggers('MEMBER_MODIFY',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -664,7 +670,7 @@ class Adherent extends CommonObject
$this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0); $this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0);
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
$result=$interface->run_triggers('MEMBER_DELETE',$this,$user,$langs,$conf); $result=$interface->run_triggers('MEMBER_DELETE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -761,7 +767,7 @@ class Adherent extends CommonObject
if ($this->user_id && ! $nosyncuser) if ($this->user_id && ! $nosyncuser)
{ {
require_once(DOL_DOCUMENT_ROOT."/user.class.php"); require_once(DOL_DOCUMENT_ROOT."/user/user.class.php");
// This member is linked with a user, so we also update users informations // This member is linked with a user, so we also update users informations
// if this is an update. // if this is an update.
@@ -789,7 +795,7 @@ class Adherent extends CommonObject
if (! $error && ! $notrigger) if (! $error && ! $notrigger)
{ {
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
$result=$interface->run_triggers('MEMBER_NEW_PASSWORD',$this,$user,$langs,$conf); $result=$interface->run_triggers('MEMBER_NEW_PASSWORD',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -926,7 +932,7 @@ class Adherent extends CommonObject
{ {
global $conf, $langs; global $conf, $langs;
$sql = "SELECT d.rowid, d.prenom, d.nom, d.societe, d.fk_soc, d.statut, d.public, d.adresse, d.cp, d.ville, d.note,"; $sql = "SELECT d.rowid, d.civilite, d.prenom, d.nom, d.societe, d.fk_soc, d.statut, d.public, d.adresse, d.cp, d.ville, d.note,";
$sql.= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.login, d.pass,"; $sql.= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.login, d.pass,";
$sql.= " d.photo, d.fk_adherent_type, d.morphy,"; $sql.= " d.photo, d.fk_adherent_type, d.morphy,";
$sql.= " d.datec as datec,"; $sql.= " d.datec as datec,";
@@ -946,8 +952,8 @@ class Adherent extends CommonObject
if ($ref) $sql.= " AND d.rowid='".$ref."'"; if ($ref) $sql.= " AND d.rowid='".$ref."'";
elseif ($fk_soc) $sql.= " AND d.fk_soc='".$fk_soc."'"; elseif ($fk_soc) $sql.= " AND d.fk_soc='".$fk_soc."'";
else $sql.= " AND d.rowid=".$rowid; else $sql.= " AND d.rowid=".$rowid;
dol_syslog("Adherent::fetch sql=".$sql);
dol_syslog("Adherent::fetch sql=".$sql);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
@@ -957,6 +963,7 @@ class Adherent extends CommonObject
$this->ref = $obj->rowid; $this->ref = $obj->rowid;
$this->id = $obj->rowid; $this->id = $obj->rowid;
$this->civilite_id = $obj->civilite;
$this->prenom = $obj->prenom; $this->prenom = $obj->prenom;
$this->nom = $obj->nom; $this->nom = $obj->nom;
$this->fullname = trim($obj->nom.' '.$obj->prenom); $this->fullname = trim($obj->nom.' '.$obj->prenom);
@@ -1009,7 +1016,8 @@ class Adherent extends CommonObject
} }
else else
{ {
$this->error=$this->db->error(); $this->error=$this->db->lasterror();
dol_syslog("Adherent::fetch ".$this->error, LOG_ERR);
return -1; return -1;
} }
} }
@@ -1231,7 +1239,7 @@ class Adherent extends CommonObject
$this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0); $this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0);
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
$result=$interface->run_triggers('MEMBER_SUBSCRIPTION',$this,$user,$langs,$conf); $result=$interface->run_triggers('MEMBER_SUBSCRIPTION',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -1286,7 +1294,7 @@ class Adherent extends CommonObject
$this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0); $this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0);
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
$result=$interface->run_triggers('MEMBER_VALIDATE',$this,$user,$langs,$conf); $result=$interface->run_triggers('MEMBER_VALIDATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -1334,7 +1342,7 @@ class Adherent extends CommonObject
$this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0); $this->use_webcal=($conf->global->PHPWEBCALENDAR_MEMBERSTATUS=='always'?1:0);
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/interfaces.class.php");
$interface=new Interfaces($this->db); $interface=new Interfaces($this->db);
$result=$interface->run_triggers('MEMBER_RESILIATE',$this,$user,$langs,$conf); $result=$interface->run_triggers('MEMBER_RESILIATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; } if ($result < 0) { $error++; $this->errors=$interface->errors; }
@@ -1699,6 +1707,18 @@ class Adherent extends CommonObject
return ''; return '';
} }
/**
* \brief Retourne le libelle de civilite du contact
* \return string Nom traduit de la civilite
*/
function getCivilityLabel()
{
global $langs;
$langs->load("dict");
$code=$this->civilite_id;
return $langs->trans("Civility".$code)!="Civility".$code ? $langs->trans("Civility".$code) : $code;
}
/** /**
* \brief Renvoie nom clicable (avec eventuellement le picto) * \brief Renvoie nom clicable (avec eventuellement le picto)
@@ -1907,6 +1927,7 @@ class Adherent extends CommonObject
// Initialise parametres // Initialise parametres
$this->id=0; $this->id=0;
$this->specimen=1; $this->specimen=1;
$this->civilite_id = 0;
$this->nom = 'DOLIBARR'; $this->nom = 'DOLIBARR';
$this->prenom = 'SPECIMEN'; $this->prenom = 'SPECIMEN';
$this->fullname=trim($this->nom.' '.$this->prenom); $this->fullname=trim($this->nom.' '.$this->prenom);

View File

@@ -26,7 +26,7 @@
* \version $Id$ * \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT."/commonobject.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/commonobject.class.php");
/** /**
@@ -82,7 +82,7 @@ class AdherentType extends CommonObject
function create($userid) function create($userid)
{ {
global $conf; global $conf;
$this->statut=trim($this->statut); $this->statut=trim($this->statut);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."adherent_type ("; $sql = "INSERT INTO ".MAIN_DB_PREFIX."adherent_type (";
@@ -177,7 +177,7 @@ class AdherentType extends CommonObject
$sql = "SELECT d.rowid, d.libelle, d.statut, d.cotisation, d.mail_valid, d.note, d.vote"; $sql = "SELECT d.rowid, d.libelle, d.statut, d.cotisation, d.mail_valid, d.note, d.vote";
$sql .= " FROM ".MAIN_DB_PREFIX."adherent_type as d"; $sql .= " FROM ".MAIN_DB_PREFIX."adherent_type as d";
$sql .= " WHERE d.rowid = ".$rowid; $sql .= " WHERE d.rowid = ".$rowid;
dol_syslog("Adherent_type::fetch sql=".$sql); dol_syslog("Adherent_type::fetch sql=".$sql);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
@@ -200,7 +200,8 @@ class AdherentType extends CommonObject
} }
else else
{ {
$this->error=$this->db->error(); $this->error=$this->db->lasterror();
dol_syslog("Adherent_type::fetch ".$this->error, LOG_ERR);
return -1; return -1;
} }
} }
@@ -212,7 +213,7 @@ class AdherentType extends CommonObject
function liste_array() function liste_array()
{ {
global $conf; global $conf;
$projets = array(); $projets = array();
$sql = "SELECT rowid, libelle"; $sql = "SELECT rowid, libelle";

View File

@@ -21,11 +21,11 @@
/** /**
* \file htdocs/adherents/card_subscriptions.php * \file htdocs/adherents/card_subscriptions.php
* \ingroup member * \ingroup member
* \brief Onglet d'ajout, edition, suppression des adh<EFBFBD>sions d'un adh<EFBFBD>rent * \brief Onglet d'ajout, edition, suppression des adhesions d'un adherent
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php");

View File

@@ -20,13 +20,13 @@
/** /**
* \file htdocs/adherents/cartes/carte.php * \file htdocs/adherents/cartes/carte.php
* \ingroup adherent * \ingroup member
* \brief Page to output members business cards * \brief Page to output members business cards
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/includes/modules/member/cards/modules_cards.php"); require_once(DOL_DOCUMENT_ROOT."/includes/modules/member/cards/modules_cards.php");
@@ -94,7 +94,7 @@ if ($result)
$objp->ville, $objp->ville,
$objp->pays, $objp->pays,
$objp->email, $objp->email,
$objp->naiss, dol_print_date($objp->naiss,'day'),
$objp->type, $objp->type,
$objp->rowid, $objp->rowid,
$year, $year,

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT.'/includes/modules/member/PDF_card.class.php'); require_once(DOL_DOCUMENT_ROOT.'/includes/modules/member/PDF_card.class.php');

View File

@@ -1,66 +0,0 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
\file htdocs/adherents/cartes/pre.inc.php
\ingroup adherent
\brief Fichier de gestion du menu gauche du module adherent
\version $Id$
*/
require("../../main.inc.php");
function llxHeader($head = '', $title='', $help_url='')
{
global $user, $conf, $langs;
top_menu($head);
$menu = new Menu();
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Members"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/fiche.php?action=create",$langs->trans("NewMember"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php",$langs->trans("List"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=-1",$langs->trans("MenuMembersToValidate"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=1",$langs->trans("MenuMembersValidated"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=1&amp;filter=uptodate",$langs->trans("MenuMembersUpToDate"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=0",$langs->trans("MenuMembersResiliated"));
$menu->add(DOL_URL_ROOT."/adherents/public.php?leftmenu=member_public",$langs->trans("MemberPublicLinks"));
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Exports"));
$menu->add_submenu(DOL_URL_ROOT."/exports/index.php?leftmenu=export",$langs->trans("Datas"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/htpasswd.php",$langs->trans("Filehtpasswd"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/cartes/carte.php",$langs->trans("MembersCards"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/cartes/etiquette.php",$langs->trans("MembersTickets"));
$langs->load("compta");
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Accountancy"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/cotisations.php",$langs->trans("Subscriptions"));
$langs->load("banks");
$menu->add_submenu(DOL_URL_ROOT."/compta/bank/",$langs->trans("Bank"));
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Setup"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/type.php",$langs->trans("MembersTypes"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/options.php",$langs->trans("MembersAttributes"));
left_menu($menu->liste);
}
?>

File diff suppressed because it is too large Load Diff

View File

@@ -24,6 +24,8 @@
* \version $Id$ * \version $Id$
*/ */
require_once(DOL_DOCUMENT_ROOT."/core/commonobject.class.php");
/** /**
* \class Cotisation * \class Cotisation
@@ -278,8 +280,8 @@ class Cotisation extends CommonObject
*/ */
function info($id) function info($id)
{ {
$sql = 'SELECT c.rowid, '.$this->db->pdate('c.datec').' as datec,'; $sql = 'SELECT c.rowid, c.datec,';
$sql.= ' '.$this->db->pdate('c.tms').' as datem'; $sql.= ' c.tms as datem';
$sql.= ' FROM '.MAIN_DB_PREFIX.'cotisation as c'; $sql.= ' FROM '.MAIN_DB_PREFIX.'cotisation as c';
$sql.= ' WHERE c.rowid = '.$id; $sql.= ' WHERE c.rowid = '.$id;
@@ -291,8 +293,8 @@ class Cotisation extends CommonObject
$obj = $this->db->fetch_object($result); $obj = $this->db->fetch_object($result);
$this->id = $obj->rowid; $this->id = $obj->rowid;
$this->date_creation = $obj->datec; $this->date_creation = $this->db->jdate($obj->datec);
$this->date_modification = $obj->datem; $this->date_modification = $this->db->jdate($obj->datem);
} }
$this->db->free($result); $this->db->free($result);

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php");
require_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php");
@@ -146,8 +146,8 @@ if ($msg) print $msg.'<br>';
// Liste des cotisations // Liste des cotisations
$sql = "SELECT d.rowid, d.login, d.prenom, d.nom, d.societe,"; $sql = "SELECT d.rowid, d.login, d.prenom, d.nom, d.societe,";
$sql.= " c.rowid as crowid, c.cotisation,"; $sql.= " c.rowid as crowid, c.cotisation,";
$sql.= " ".$db->pdate("c.dateadh")." as dateadh,"; $sql.= " c.dateadh,";
$sql.= " ".$db->pdate("c.datef")." as datef,"; $sql.= " c.datef,";
$sql.= " c.fk_bank as bank, c.note,"; $sql.= " c.fk_bank as bank, c.note,";
$sql.= " b.fk_account"; $sql.= " b.fk_account";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c";
@@ -157,7 +157,7 @@ if (isset($date_select) && $date_select != '')
{ {
$sql.= " AND dateadh LIKE '$date_select%'"; $sql.= " AND dateadh LIKE '$date_select%'";
} }
$sql.= " ORDER BY $sortfield $sortorder"; $sql.= $db->order($sortfield,$sortorder);
$sql.= $db->plimit($conf->liste_limit+1, $offset); $sql.= $db->plimit($conf->liste_limit+1, $offset);
$result = $db->query($sql); $result = $db->query($sql);
@@ -229,7 +229,7 @@ if ($result)
print '<td>'; print '<td>';
if ($allowinsertbankafter && $user->rights->banque->modifier && ! $objp->fk_account && $conf->banque->enabled && $conf->global->ADHERENT_BANK_USE && $objp->cotisation) if ($allowinsertbankafter && $user->rights->banque->modifier && ! $objp->fk_account && $conf->banque->enabled && $conf->global->ADHERENT_BANK_USE && $objp->cotisation)
{ {
print "<input name=\"label\" type=\"text\" class=\"flat\" size=\"30\" value=\"".$langs->trans("Subscriptions").' '.dol_print_date($objp->dateadh,"%Y")."\" >\n"; print "<input name=\"label\" type=\"text\" class=\"flat\" size=\"30\" value=\"".$langs->trans("Subscriptions").' '.dol_print_date($db->jdate($objp->dateadh),"%Y")."\" >\n";
// print "<td><input name=\"debit\" type=\"text\" size=8></td>"; // print "<td><input name=\"debit\" type=\"text\" size=8></td>";
// print "<td><input name=\"credit\" type=\"text\" size=8></td>"; // print "<td><input name=\"credit\" type=\"text\" size=8></td>";
print '<input type="submit" class="button" value="'.$langs->trans("Save").'">'; print '<input type="submit" class="button" value="'.$langs->trans("Save").'">';
@@ -272,10 +272,10 @@ if ($result)
} }
// Date start // Date start
print '<td align="center">'.dol_print_date($objp->dateadh,'day')."</td>\n"; print '<td align="center">'.dol_print_date($db->jdate($objp->dateadh),'day')."</td>\n";
// Date end // Date end
print '<td align="center">'.dol_print_date($objp->datef,'day')."</td>\n"; print '<td align="center">'.dol_print_date($db->jdate($objp->datef),'day')."</td>\n";
// Price // Price
print '<td align="right">'.price($objp->cotisation).'</td>'; print '<td align="right">'.price($objp->cotisation).'</td>';

View File

@@ -21,20 +21,21 @@
/** /**
* \file htdocs/adherents/fiche.php * \file htdocs/adherents/fiche.php
* \ingroup member * \ingroup member
* \brief Page d'ajout, edition, suppression d'une fiche adherent * \brief Page of member
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/images.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/images.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_options.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_options.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/class/cotisation.class.php");
require_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/bank/class/account.class.php");
require_once(DOL_DOCUMENT_ROOT."/core/class/html.formcompany.class.php");
$langs->load("companies"); $langs->load("companies");
$langs->load("bills"); $langs->load("bills");
@@ -143,7 +144,7 @@ if ($_POST['action'] == 'setsocid')
$thirdparty=new Societe($db); $thirdparty=new Societe($db);
$thirdparty->fetch($_POST["socid"]); $thirdparty->fetch($_POST["socid"]);
$error++; $error++;
$mesg='<div class="error">'.$langs->trans("ErrorMemberIsAlreadyLinkedToThisThirdParty",$othermember->fullname,$othermember->login,$thirdparty->nom).'</div>'; $mesg='<div class="error">'.$langs->trans("ErrorMemberIsAlreadyLinkedToThisThirdParty",$othermember->getFullName($langs),$othermember->login,$thirdparty->nom).'</div>';
} }
} }
@@ -211,6 +212,8 @@ if ($_REQUEST["action"] == 'confirm_sendinfo' && $_REQUEST["confirm"] == 'yes')
if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
{ {
require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
$datenaiss=''; $datenaiss='';
if (isset($_POST["naissday"]) && $_POST["naissday"] if (isset($_POST["naissday"]) && $_POST["naissday"]
&& isset($_POST["naissmonth"]) && $_POST["naissmonth"] && isset($_POST["naissmonth"]) && $_POST["naissmonth"]
@@ -218,17 +221,16 @@ if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->adhe
{ {
$datenaiss=dol_mktime(12, 0, 0, $_POST["naissmonth"], $_POST["naissday"], $_POST["naissyear"]); $datenaiss=dol_mktime(12, 0, 0, $_POST["naissmonth"], $_POST["naissday"], $_POST["naissyear"]);
} }
//print $_POST["naissmonth"].", ".$_POST["naissday"].", ".$_POST["naissyear"]." ".$datenaiss." ".adodb_strftime('%Y-%m-%d %H:%M:%S',$datenaiss);
// Create new object // Create new object
if ($result > 0) if ($result > 0)
{ {
$adh->oldcopy=dol_clone($adh); $adh->oldcopy=dol_clone($adh);
// Modifie valeures // Change values
$adh->civilite_id = trim($_POST["civilite_id"]);
$adh->prenom = trim($_POST["prenom"]); $adh->prenom = trim($_POST["prenom"]);
$adh->nom = trim($_POST["nom"]); $adh->nom = trim($_POST["nom"]);
$adh->fullname = trim($adh->prenom.' '.$adh->nom);
$adh->login = trim($_POST["login"]); $adh->login = trim($_POST["login"]);
$adh->pass = trim($_POST["pass"]); $adh->pass = trim($_POST["pass"]);
@@ -236,7 +238,9 @@ if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->adhe
$adh->adresse = trim($_POST["adresse"]); $adh->adresse = trim($_POST["adresse"]);
$adh->cp = trim($_POST["cp"]); $adh->cp = trim($_POST["cp"]);
$adh->ville = trim($_POST["ville"]); $adh->ville = trim($_POST["ville"]);
$adh->pays_id = $_POST["pays"];
$adh->fk_departement = $_POST["departement_id"];
$adh->pays_id = $_POST["pays"];
$adh->phone = trim($_POST["phone"]); $adh->phone = trim($_POST["phone"]);
$adh->phone_perso = trim($_POST["phone_perso"]); $adh->phone_perso = trim($_POST["phone_perso"]);
@@ -250,7 +254,7 @@ if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->adhe
$adh->amount = $_POST["amount"]; $adh->amount = $_POST["amount"];
$adh->photo = $_FILES['photo']['name']; $adh->photo = ($_FILES['photo']['name']?$_FILES['photo']['name']:$adh->oldcopy->photo);
// Get status and public property // Get status and public property
$adh->statut = $_POST["statut"]; $adh->statut = $_POST["statut"];
@@ -283,7 +287,7 @@ if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->adhe
$result=$adh->update($user,0,$nosyncuser,$nosyncuserpass); $result=$adh->update($user,0,$nosyncuser,$nosyncuserpass);
if ($result >= 0 && ! sizeof($adh->errors)) if ($result >= 0 && ! sizeof($adh->errors))
{ {
if (isset($_FILES['photo']['tmp_name']) && trim($_FILES['photo']['tmp_name'])) if (!empty($_FILES['photo']['tmp_name']) && trim($_FILES['photo']['tmp_name']))
{ {
$dir= $conf->adherent->dir_output . '/' . get_exdir($adh->id,2,0,1); $dir= $conf->adherent->dir_output . '/' . get_exdir($adh->id,2,0,1);
@@ -292,7 +296,7 @@ if ($_REQUEST["action"] == 'update' && ! $_POST["cancel"] && $user->rights->adhe
if (@is_dir($dir)) if (@is_dir($dir))
{ {
$newfile=$dir.'/'.$_FILES['photo']['name']; $newfile=$dir.'/'.$_FILES['photo']['name'];
if (! dol_move_uploaded_file($_FILES['photo']['tmp_name'],$newfile,1) > 0) if (! dol_move_uploaded_file($_FILES['photo']['tmp_name'],$newfile,1,0,$_FILES['photo']['error']) > 0)
{ {
$message .= '<div class="error">'.$langs->trans("ErrorFailedToSaveFile").'</div>'; $message .= '<div class="error">'.$langs->trans("ErrorFailedToSaveFile").'</div>';
} }
@@ -347,12 +351,14 @@ if ($_POST["action"] == 'add' && $user->rights->adherent->creer)
} }
$typeid=$_POST["typeid"]; $typeid=$_POST["typeid"];
$civilite_id=$_POST["civilite_id"];
$nom=$_POST["nom"]; $nom=$_POST["nom"];
$prenom=$_POST["prenom"]; $prenom=$_POST["prenom"];
$societe=$_POST["societe"]; $societe=$_POST["societe"];
$adresse=$_POST["adresse"]; $adresse=$_POST["adresse"];
$cp=$_POST["cp"]; $cp=$_POST["cp"];
$ville=$_POST["ville"]; $ville=$_POST["ville"];
$departement_id=$_POST["departement_id"];
$pays_id=$_POST["pays_id"]; $pays_id=$_POST["pays_id"];
$phone=$_POST["phone"]; $phone=$_POST["phone"];
@@ -370,12 +376,14 @@ if ($_POST["action"] == 'add' && $user->rights->adherent->creer)
$userid=$_POST["userid"]; $userid=$_POST["userid"];
$socid=$_POST["socid"]; $socid=$_POST["socid"];
$adh->civilite_id = $civilite_id;
$adh->prenom = $prenom; $adh->prenom = $prenom;
$adh->nom = $nom; $adh->nom = $nom;
$adh->societe = $societe; $adh->societe = $societe;
$adh->adresse = $adresse; $adh->adresse = $adresse;
$adh->cp = $cp; $adh->cp = $cp;
$adh->ville = $ville; $adh->ville = $ville;
$adh->fk_departement = $departement_id;
$adh->pays_id = $pays_id; $adh->pays_id = $pays_id;
$adh->phone = $phone; $adh->phone = $phone;
$adh->phone_perso = $phone_perso; $adh->phone_perso = $phone_perso;
@@ -463,7 +471,7 @@ if ($_POST["action"] == 'add' && $user->rights->adherent->creer)
$crowid=$adh->cotisation($datecotisation, $cotisation); $crowid=$adh->cotisation($datecotisation, $cotisation);
// insertion dans la gestion banquaire si configure pour // insertion dans la gestion banquaire si configure pour
if ($global->conf->ADHERENT_BANK_USE) if ($conf->global->ADHERENT_BANK_USE)
{ {
$dateop=time(); $dateop=time();
$amount=$cotisation; $amount=$cotisation;
@@ -650,10 +658,13 @@ if ($user->rights->adherent->creer && $_POST["action"] == 'confirm_add_spip' &&
llxHeader('',$langs->trans("Member"),'EN:Module_Foundations|FR:Module_Adh&eacute;rents|ES:M&oacute;dulo_Miembros'); llxHeader('',$langs->trans("Member"),'EN:Module_Foundations|FR:Module_Adh&eacute;rents|ES:M&oacute;dulo_Miembros');
$html = new Form($db); $html = new Form($db);
$htmlcompany = new FormCompany($db);
// fetch optionals attributes and labels // fetch optionals attributes and labels
$adho->fetch_name_optionals_label(); $adho->fetch_name_optionals_label();
$countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')';
if ($action == 'edit') if ($action == 'edit')
{ {
@@ -676,9 +687,24 @@ if ($action == 'edit')
$adht->fetch($adh->typeid); $adht->fetch($adh->typeid);
/* // We set pays_id, and pays_code label of the chosen country
* Affichage onglets if (isset($_POST["pays"]) || $adh->pays_id)
*/ {
$sql = "SELECT rowid, code, libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".(isset($_POST["pays"])?$_POST["pays"]:$adh->pays_id);
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
}
else
{
dol_print_error($db);
}
$adh->pays_id=$obj->rowid;
$adh->pays_code=$obj->code;
$adh->pays=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle;
}
$head = member_prepare_head($adh); $head = member_prepare_head($adh);
dol_fiche_head($head, 'general', $langs->trans("Member"), 0, 'user'); dol_fiche_head($head, 'general', $langs->trans("Member"), 0, 'user');
@@ -690,11 +716,11 @@ if ($action == 'edit')
if ($mesg) print '<div class="ok">'.$mesg.'</div>'; if ($mesg) print '<div class="ok">'.$mesg.'</div>';
$rowspan=15; $rowspan=17;
$rowspan+=sizeof($adho->attribute_label); $rowspan+=sizeof($adho->attribute_label);
if ($conf->societe->enabled) $rowspan++; if ($conf->societe->enabled) $rowspan++;
print '<form name="update" action="'.$_SERVER["PHP_SELF"].'" method="post" enctype="multipart/form-data">'; print '<form name="formsoc" action="'.$_SERVER["PHP_SELF"].'" method="post" enctype="multipart/form-data">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print "<input type=\"hidden\" name=\"action\" value=\"update\">"; print "<input type=\"hidden\" name=\"action\" value=\"update\">";
print "<input type=\"hidden\" name=\"rowid\" value=\"$rowid\">"; print "<input type=\"hidden\" name=\"rowid\" value=\"$rowid\">";
@@ -709,18 +735,20 @@ if ($action == 'edit')
$morphys["phy"] = $langs->trans("Physical"); $morphys["phy"] = $langs->trans("Physical");
$morphys["mor"] = $langs->trans("Morale"); $morphys["mor"] = $langs->trans("Morale");
print '<tr><td><span class="fieldrequired">'.$langs->trans("Person").'</span></td><td colspan="2">'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Person").'</span></td><td colspan="2">';
$html->select_array("morphy", $morphys, $adh->morphy); $html->select_array("morphy", $morphys, isset($_POST["morphy"])?$_POST["morphy"]:$adh->morphy);
print "</td></tr>"; print "</td></tr>";
// Societe // Societe
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="2"><input type="text" name="societe" size="40" value="'.$adh->societe.'"></td></tr>'; print '<tr><td>'.$langs->trans("Company").'</td><td colspan="2"><input type="text" name="societe" size="40" value="'.(isset($_POST["societe"])?$_POST["societe"]:$adh->societe).'"></td></tr>';
// Nom // Civilite
print '<tr><td><span class="fieldrequired">'.$langs->trans("Lastname").'</span></td><td><input type="text" name="nom" size="40" value="'.$adh->nom.'"></td>'; print '<tr><td width="20%">'.$langs->trans("UserTitle").'</td><td width="35%">';
print $htmlcompany->select_civilite(isset($_POST["civilite_id"])?$_POST["civilite_id"]:$adh->civilite_id)."\n";
print '</td>';
// Photo // Photo
print '<td align="center" valign="middle" width="25%" rowspan="'.$rowspan.'">'; print '<td align="center" valign="middle" width="25%" rowspan="'.$rowspan.'">';
print $html->showphoto('memberphoto',$adh); print $html->showphoto('memberphoto',$adh)."\n";
if ($caneditfieldmember) if ($caneditfieldmember)
{ {
print '<br><br><table class="nobordernopadding"><tr><td>'.$langs->trans("PhotoFile").'</td></tr>'; print '<br><br><table class="nobordernopadding"><tr><td>'.$langs->trans("PhotoFile").'</td></tr>';
@@ -731,21 +759,25 @@ if ($action == 'edit')
print '</td>'; print '</td>';
print '</tr>'; print '</tr>';
// Prenom // Name
print '<tr><td width="20%"><span class="fieldrequired">'.$langs->trans("Firstname").'</span></td><td width="35%"><input type="text" name="prenom" size="40" value="'.$adh->prenom.'"></td>'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Lastname").'</span></td><td><input type="text" name="nom" size="40" value="'.(isset($_POST["nom"])?$_POST["nom"]:$adh->nom).'"></td>';
print '</tr>';
// Firstname
print '<tr><td width="20%"><span class="fieldrequired">'.$langs->trans("Firstname").'</span></td><td><input type="text" name="prenom" size="40" value="'.(isset($_POST["prenom"])?$_POST["prenom"]:$adh->prenom).'"></td>';
print '</tr>'; print '</tr>';
// Login // Login
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").'</span></td><td><input type="text" name="login" size="30" value="'.$adh->login.'"></td></tr>'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").'</span></td><td><input type="text" name="login" size="30" value="'.(isset($_POST["login"])?$_POST["login"]:$adh->login).'"></td></tr>';
// Password // Password
print '<tr><td><span class="fieldrequired">'.$langs->trans("Password").'</span></td><td><input type="password" name="pass" size="30" value="'.$adh->pass.'"></td></tr>'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Password").'</span></td><td><input type="password" name="pass" size="30" value="'.(isset($_POST["pass"])?$_POST["pass"]:$adh->pass).'"></td></tr>';
// Type // Type
print '<tr><td><span class="fieldrequired">'.$langs->trans("Type").'</span></td><td>'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Type").'</span></td><td>';
if ($user->rights->adherent->creer) if ($user->rights->adherent->creer)
{ {
$html->select_array("typeid", $adht->liste_array(), $adh->typeid); $html->select_array("typeid", $adht->liste_array(), (isset($_POST["typeid"])?$_POST["typeid"]:$adh->typeid));
} }
else else
{ {
@@ -756,36 +788,42 @@ if ($action == 'edit')
// Address // Address
print '<tr><td>'.$langs->trans("Address").'</td><td>'; print '<tr><td>'.$langs->trans("Address").'</td><td>';
print '<textarea name="adresse" wrap="soft" cols="40" rows="2">'.$adh->adresse.'</textarea></td></tr>'; print '<textarea name="adresse" wrap="soft" cols="40" rows="2">'.(isset($_POST["adresse"])?$_POST["adresse"]:$adh->adresse).'</textarea></td></tr>';
// Cp // Zip / Town
print '<tr><td>'.$langs->trans("Zip").'/'.$langs->trans("Town").'</td><td><input type="text" name="cp" size="6" value="'.$adh->cp.'"> <input type="text" name="ville" size="32" value="'.$adh->ville.'"></td></tr>'; print '<tr><td>'.$langs->trans("Zip").'/'.$langs->trans("Town").'</td><td><input type="text" name="cp" size="6" value="'.(isset($_POST["cp"])?$_POST["cp"]:$adh->cp).'"> <input type="text" name="ville" size="32" value="'.(isset($_POST["ville"])?$_POST["ville"]:$adh->ville).'"></td></tr>';
// Country // Country
print '<tr><td>'.$langs->trans("Country").'</td><td>'; print '<tr><td>'.$langs->trans("Country").'</td><td>';
$html->select_pays($adh->pays_code?$adh->pays_code:$mysoc->pays_code,'pays'); $html->select_pays(isset($_POST["pays"])?$_POST["pays"]:$adh->pays_id,'pays',$conf->use_javascript_ajax?' onChange="company_save_refresh_edit()"':'');
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
print '</td></tr>';
// State
print '<tr><td>'.$langs->trans('State').'</td><td>';
$htmlcompany->select_departement($adh->fk_departement,$adh->pays_code);
print '</td></tr>'; print '</td></tr>';
// Tel // Tel
print '<tr><td>'.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.$adh->phone.'"></td></tr>'; print '<tr><td>'.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.(isset($_POST["phone"])?$_POST["phone"]:$adh->phone).'"></td></tr>';
// Tel perso // Tel perso
print '<tr><td>'.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.$adh->phone_perso.'"></td></tr>'; print '<tr><td>'.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.(isset($_POST["phone_perso"])?$_POST["phone_perso"]:$adh->phone_perso).'"></td></tr>';
// Tel mobile // Tel mobile
print '<tr><td>'.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.$adh->phone_mobile.'"></td></tr>'; print '<tr><td>'.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.(isset($_POST["phone_mobile"])?$_POST["phone_mobile"]:$adh->phone_mobile).'"></td></tr>';
// EMail // EMail
print '<tr><td>'.($conf->global->ADHERENT_MAIL_REQUIRED?'<span class="fieldrequired">':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'</span>':'').'</td><td><input type="text" name="email" size="40" value="'.$adh->email.'"></td></tr>'; print '<tr><td>'.($conf->global->ADHERENT_MAIL_REQUIRED?'<span class="fieldrequired">':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'</span>':'').'</td><td><input type="text" name="email" size="40" value="'.(isset($_POST["email"])?$_POST["email"]:$adh->email).'"></td></tr>';
// Date naissance // Date naissance
print "<tr><td>".$langs->trans("Birthday")."</td><td>\n"; print "<tr><td>".$langs->trans("Birthday")."</td><td>\n";
$html->select_date(($adh->naiss ? $adh->naiss : -1),'naiss','','',1,'update'); $html->select_date(($adh->naiss ? $adh->naiss : -1),'naiss','','',1,'formsoc');
print "</td></tr>\n"; print "</td></tr>\n";
// Profil public // Profil public
print "<tr><td>".$langs->trans("Public")."</td><td>\n"; print "<tr><td>".$langs->trans("Public")."</td><td>\n";
print $html->selectyesno("public",$adh->public,1); print $html->selectyesno("public",(isset($_POST["public"])?$_POST["public"]:$adh->public),1);
print "</td></tr>\n"; print "</td></tr>\n";
// Attributs supplementaires // Attributs supplementaires
@@ -821,7 +859,7 @@ if ($action == 'edit')
print '</td></tr>'; print '</td></tr>';
print '<tr><td colspan="3" align="center">'; print '<tr><td colspan="3" align="center">';
print '<input type="submit" class="button" name="submit" value="'.$langs->trans("Save").'">'; print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
print ' &nbsp; &nbsp; &nbsp; '; print ' &nbsp; &nbsp; &nbsp; ';
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">'; print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
print '</td></tr>'; print '</td></tr>';
@@ -840,6 +878,28 @@ if ($action == 'create')
/* Fiche creation */ /* Fiche creation */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
$adh->fk_departement = $_POST["departement_id"];
// We set pays_id, pays_code and label for the selected country
$adh->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS;
if ($adh->pays_id)
{
$sql = "SELECT rowid, code, libelle";
$sql.= " FROM ".MAIN_DB_PREFIX."c_pays";
$sql.= " WHERE rowid = ".$adh->pays_id;
$resql=$db->query($sql);
if ($resql)
{
$obj = $db->fetch_object($resql);
}
else
{
dol_print_error($db);
}
$adh->pays_id=$obj->rowid;
$adh->pays_code=$obj->code;
$adh->pays=$obj->libelle;
}
$adht = new AdherentType($db); $adht = new AdherentType($db);
@@ -851,32 +911,37 @@ if ($action == 'create')
} }
if ($mesg) print '<div class="ok">'.$mesg.'</div>'; if ($mesg) print '<div class="ok">'.$mesg.'</div>';
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="post" enctype="multipart/form-data">'; print '<form name="formsoc" action="'.$_SERVER["PHP_SELF"].'" method="post" enctype="multipart/form-data">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="add">'; print '<input type="hidden" name="action" value="add">';
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
// Moral-Physique // Moral-Physique
$morphys["phy"] = "Physique"; $morphys["phy"] = $langs->trans("Physical");
$morphys["mor"] = "Morale"; $morphys["mor"] = $langs->trans("Moral");
print '<tr><td><span class="fieldrequired">'.$langs->trans("Person")."</span></td><td>\n"; print '<tr><td><span class="fieldrequired">'.$langs->trans("Person")."</span></td><td>\n";
$html->select_array("morphy", $morphys, $adh->morphy, 1); $html->select_array("morphy", $morphys, isset($_POST["morphy"])?$_POST["morphy"]:$adh->morphy, 1);
print "</td>\n"; print "</td>\n";
// Company // Company
print '<tr><td>'.$langs->trans("Company").'</td><td><input type="text" name="societe" size="40" value="'.$adh->societe.'"></td></tr>'; print '<tr><td>'.$langs->trans("Company").'</td><td><input type="text" name="societe" size="40" value="'.(isset($_POST["societe"])?$_POST["societe"]:$adh->societe).'"></td></tr>';
// Civility
print '<tr><td>'.$langs->trans("UserTitle").'</td><td>';
print $htmlcompany->select_civilite(isset($_POST["civilite_id"])?$_POST["civilite_id"]:$adh->civilite_id,'civilite_id').'</td>';
print '</tr>';
// Nom // Nom
print '<tr><td><span class="fieldrequired">'.$langs->trans("Lastname").'</span></td><td><input type="text" name="nom" value="'.$adh->nom.'" size="40"></td>'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Lastname").'</span></td><td><input type="text" name="nom" value="'.(isset($_POST["nom"])?$_POST["nom"]:$adh->nom).'" size="40"></td>';
print '</tr>'; print '</tr>';
// Prenom // Prenom
print '<tr><td><span class="fieldrequired">'.$langs->trans("Firstname").'</span></td><td><input type="text" name="prenom" size="40" value="'.$adh->prenom.'"></td>'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Firstname").'</span></td><td><input type="text" name="prenom" size="40" value="'.(isset($_POST["prenom"])?$_POST["prenom"]:$adh->prenom).'"></td>';
print '</tr>'; print '</tr>';
// Login // Login
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").'</span></td><td><input type="text" name="member_login" size="40" value="'.$adh->login.'"></td></tr>'; print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").'</span></td><td><input type="text" name="member_login" size="40" value="'.(isset($_POST["member_login"])?$_POST["member_login"]:$adh->login).'"></td></tr>';
// Mot de passe // Mot de passe
$generated_password=''; $generated_password='';
@@ -898,7 +963,7 @@ if ($action == 'create')
$listetype=$adht->liste_array(); $listetype=$adht->liste_array();
if (sizeof($listetype)) if (sizeof($listetype))
{ {
$html->select_array("typeid", $listetype, $typeid, 1); $html->select_array("typeid", $listetype, isset($_POST["typeid"])?$_POST["typeid"]:$typeid, 1);
} else { } else {
print '<font class="error">'.$langs->trans("NoTypeDefinedGoToSetup").'</font>'; print '<font class="error">'.$langs->trans("NoTypeDefinedGoToSetup").'</font>';
} }
@@ -906,31 +971,45 @@ if ($action == 'create')
// Address // Address
print '<tr><td valign="top">'.$langs->trans("Address").'</td><td>'; print '<tr><td valign="top">'.$langs->trans("Address").'</td><td>';
print '<textarea name="adresse" wrap="soft" cols="40" rows="2">'.$adh->adresse.'</textarea></td></tr>'; print '<textarea name="adresse" wrap="soft" cols="40" rows="2">'.(isset($_POST["adresse"])?$_POST["adresse"]:$adh->adresse).'</textarea></td></tr>';
// CP / Ville // CP / Ville
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td><input type="text" name="cp" size="8"> <input type="text" name="ville" size="32" value="'.$adh->ville.'"></td></tr>'; print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td><input type="text" name="cp" size="8" value="'.(isset($_POST["cp"])?$_POST["cp"]:$adh->cp).'"> <input type="text" name="ville" size="32" value="'.(isset($_POST["ville"])?$_POST["ville"]:$adh->ville).'"></td></tr>';
// Pays // Country
print '<tr><td>'.$langs->trans("Country").'</td><td>'; $adh->pays_id=$adh->pays_id?$adh->pays_id:$mysoc->pays_id;
$html->select_pays($adh->pays_id ? $adh->pays_id : $mysoc->pays_id,'pays_id'); print '<tr><td>'.$langs->trans("Country").'</td><td>';
print '</td></tr>'; $html->select_pays(isset($_POST["pays_id"])?$_POST["pays_id"]:$adh->pays_id,'pays_id',$conf->use_javascript_ajax?' onChange="company_save_refresh_create()"':'');
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
print '</td></tr>';
// State
print '<tr><td>'.$langs->trans('State').'</td><td colspan="3">';
if ($adh->pays_id)
{
$htmlcompany->select_departement(isset($_POST["departement_id"])?$_POST["departement_id"]:$adh->fk_departement,$adh->pays_code);
}
else
{
print $countrynotdefined;
}
print '</td></tr>';
// Tel pro // Tel pro
print '<tr><td>'.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.$adh->phone.'"></td></tr>'; print '<tr><td>'.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.(isset($_POST["phone"])?$_POST["phone"]:$adh->phone).'"></td></tr>';
// Tel perso // Tel perso
print '<tr><td>'.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.$adh->phone_perso.'"></td></tr>'; print '<tr><td>'.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.(isset($_POST["phone_perso"])?$_POST["phone_perso"]:$adh->phone_perso).'"></td></tr>';
// Tel mobile // Tel mobile
print '<tr><td>'.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.$adh->phone_mobile.'"></td></tr>'; print '<tr><td>'.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.(isset($_POST["phone_mobile"])?$_POST["phone_mobile"]:$adh->phone_mobile).'"></td></tr>';
// EMail // EMail
print '<tr><td>'.($conf->global->ADHERENT_MAIL_REQUIRED?'<span class="fieldrequired">':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'</span>':'').'</td><td><input type="text" name="member_email" size="40" value="'.$adh->email.'"></td></tr>'; print '<tr><td>'.($conf->global->ADHERENT_MAIL_REQUIRED?'<span class="fieldrequired">':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'</span>':'').'</td><td><input type="text" name="member_email" size="40" value="'.(isset($_POST["member_email"])?$_POST["member_email"]:$adh->email).'"></td></tr>';
// Date naissance // Date naissance
print "<tr><td>".$langs->trans("Birthday")."</td><td>\n"; print "<tr><td>".$langs->trans("Birthday")."</td><td>\n";
$html->select_date(($adh->naiss ? $adh->naiss : -1),'naiss','','',1,'add'); $html->select_date(($adh->naiss ? $adh->naiss : -1),'naiss','','',1,'formsoc');
print "</td></tr>\n"; print "</td></tr>\n";
// Profil public // Profil public
@@ -941,7 +1020,7 @@ if ($action == 'create')
// Attribut optionnels // Attribut optionnels
foreach($adho->attribute_label as $key=>$value) foreach($adho->attribute_label as $key=>$value)
{ {
print "<tr><td>$value</td><td><input type=\"text\" name=\"options_$key\" size=\"40\"></td></tr>\n"; print "<tr><td>".$value.'</td><td><input type="text" name="options_'.$key.'" size="40" value="'.(isset($_POST["options_".$key])?$_POST["options_".$key]:'').'"></td></tr>'."\n";
} }
/* /*
@@ -977,11 +1056,14 @@ if ($rowid && $action != 'edit')
$adh = new Adherent($db); $adh = new Adherent($db);
$adh->id = $rowid; $adh->id = $rowid;
$adh->fetch($rowid); $res=$adh->fetch($rowid);
$adh->fetch_optionals($rowid); if ($res < 0) dol_print_error($db);
$res=$adh->fetch_optionals($rowid);
if ($res < 0) dol_print_error($db);
$adht = new AdherentType($db); $adht = new AdherentType($db);
$adht->fetch($adh->typeid); $res=$adht->fetch($adh->typeid);
if ($res < 0) dol_print_error($db);
$html = new Form($db); $html = new Form($db);
@@ -1094,7 +1176,7 @@ if ($rowid && $action != 'edit')
if ($ret == 'html') print '<br>'; if ($ret == 'html') print '<br>';
} }
$rowspan=14+sizeof($adho->attribute_label); $rowspan=15+sizeof($adho->attribute_label);
if ($conf->societe->enabled) $rowspan++; if ($conf->societe->enabled) $rowspan++;
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@@ -1112,11 +1194,15 @@ if ($rowid && $action != 'edit')
// Company // Company
print '<tr><td>'.$langs->trans("Company").'</td><td class="valeur" colspan="2">'.$adh->societe.'</td></tr>'; print '<tr><td>'.$langs->trans("Company").'</td><td class="valeur" colspan="2">'.$adh->societe.'</td></tr>';
// Nom // Civility
print '<tr><td>'.$langs->trans("UserTitle").'</td><td class="valeur" colspan="2">'.$adh->getCivilityLabel().'&nbsp;</td>';
print '</tr>';
// Name
print '<tr><td>'.$langs->trans("Lastname").'</td><td class="valeur" colspan="2">'.$adh->nom.'&nbsp;</td>'; print '<tr><td>'.$langs->trans("Lastname").'</td><td class="valeur" colspan="2">'.$adh->nom.'&nbsp;</td>';
print '</tr>'; print '</tr>';
// Prenom // Firstname
print '<tr><td>'.$langs->trans("Firstname").'</td><td class="valeur" colspan="2">'.$adh->prenom.'&nbsp;</td></tr>'; print '<tr><td>'.$langs->trans("Firstname").'</td><td class="valeur" colspan="2">'.$adh->prenom.'&nbsp;</td></tr>';
// Login // Login
@@ -1135,11 +1221,18 @@ if ($rowid && $action != 'edit')
// Address // Address
print '<tr><td>'.$langs->trans("Address").'</td><td class="valeur">'.nl2br($adh->adresse).'</td></tr>'; print '<tr><td>'.$langs->trans("Address").'</td><td class="valeur">'.nl2br($adh->adresse).'</td></tr>';
// CP / Ville // Zip / Town
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td class="valeur">'.$adh->cp.' '.$adh->ville.'</td></tr>'; print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td class="valeur">'.$adh->cp.' '.$adh->ville.'</td></tr>';
// Pays // Country
print '<tr><td>'.$langs->trans("Country").'</td><td class="valeur">'.getCountryLabel($adh->pays_id).'</td></tr>'; print '<tr><td>'.$langs->trans("Country").'</td><td class="valeur">';
$img=picto_from_langcode($adh->pays_code);
if ($img) print $img.' ';
print getCountry($adh->pays_code);
print '</td></tr>';
// State
print '<tr><td>'.$langs->trans('State').'</td><td class="valeur">'.$adh->departement.'</td>';
// Tel pro. // Tel pro.
print '<tr><td>'.$langs->trans("PhonePro").'</td><td class="valeur">'.dol_print_phone($adh->phone,$adh->pays_code,0,$adh->fk_soc,1).'</td></tr>'; print '<tr><td>'.$langs->trans("PhonePro").'</td><td class="valeur">'.dol_print_phone($adh->phone,$adh->pays_code,0,$adh->fk_soc,1).'</td></tr>';
@@ -1285,11 +1378,12 @@ if ($rowid && $action != 'edit')
} }
// Envoi fiche par mail // Envoi fiche par mail
if ($adh->statut >= 1 && $adh->email) if ($adh->statut >= 1)
{ {
if ($user->rights->adherent->creer) if ($user->rights->adherent->creer)
{ {
print "<a class=\"butAction\" href=\"fiche.php?rowid=$adh->id&action=sendinfo\">".$langs->trans("SendCardByMail")."</a>\n"; if ($adh->email) print "<a class=\"butAction\" href=\"fiche.php?rowid=$adh->id&action=sendinfo\">".$langs->trans("SendCardByMail")."</a>\n";
else print "<a class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NoEMail"))."\">".$langs->trans("SendCardByMail")."</a>\n";
} }
else else
{ {
@@ -1316,7 +1410,7 @@ if ($rowid && $action != 'edit')
if ($user->rights->societe->creer) if ($user->rights->societe->creer)
{ {
if ($adh->statut != -1) print '<a class="butAction" href="fiche.php?rowid='.$adh->id.'&amp;action=create_thirdparty">'.$langs->trans("CreateDolibarrThirdParty").'</a>'; if ($adh->statut != -1) print '<a class="butAction" href="fiche.php?rowid='.$adh->id.'&amp;action=create_thirdparty">'.$langs->trans("CreateDolibarrThirdParty").'</a>';
else print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrLogin").'</a>'; else print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrThirdParty").'</a>';
} }
else else
{ {
@@ -1354,11 +1448,11 @@ if ($rowid && $action != 'edit')
$isinspip=$adh->is_in_spip(); $isinspip=$adh->is_in_spip();
if ($isinspip == 1) if ($isinspip == 1)
{ {
print "<a class=\"butAction\" href=\"fiche.php?rowid=$adh->id&action=del_spip\">Suppression dans Spip</a>\n"; print "<a class=\"butAction\" href=\"fiche.php?rowid=$adh->id&action=del_spip\">".$langs->trans("DeleteIntoSpip")."</a>\n";
} }
if ($isinspip == 0) if ($isinspip == 0)
{ {
print "<a class=\"butAction\" href=\"fiche.php?rowid=$adh->id&action=add_spip\">Ajout dans Spip</a>\n"; print "<a class=\"butAction\" href=\"fiche.php?rowid=$adh->id&action=add_spip\">".$langs->trans("AddIntoSpip")."</a>\n";
} }
if ($isinspip == -1) { if ($isinspip == -1) {
print '<br><font class="error">Failed to connect to SPIP: '.$adh->error.'</font>'; print '<br><font class="error">Failed to connect to SPIP: '.$adh->error.'</font>';

View File

@@ -23,7 +23,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php");

View File

@@ -19,14 +19,14 @@
*/ */
/** /**
\file htdocs/adherents/htpasswd.php * \file htdocs/adherents/htpasswd.php
\ingroup member * \ingroup member
\brief Page d'export htpasswd du fichier des adherents * \brief Page d'export htpasswd du fichier des adherents
\author Rodolphe Quiedeville * \author Rodolphe Quiedeville
\version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/security.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/security.lib.php');
llxHeader(); llxHeader();
@@ -46,14 +46,14 @@ if (! isset($cotis))
$sql = "SELECT d.login, d.pass, ".$db->pdate("d.datefin")." as datefin"; $sql = "SELECT d.login, d.pass, d.datefin";
$sql .= " FROM ".MAIN_DB_PREFIX."adherent as d "; $sql .= " FROM ".MAIN_DB_PREFIX."adherent as d ";
$sql .= " WHERE d.statut = $statut "; $sql .= " WHERE d.statut = $statut ";
if ($cotis==1) if ($cotis==1)
{ {
$sql .= " AND datefin > ".$db->idate(mktime()); $sql .= " AND datefin > ".$db->idate(mktime());
} }
$sql.= " ORDER BY $sortfield $sortorder"; $sql.= $db->order($sortfield,$sortorder);
//$sql.=$db->plimit($conf->liste_limit, $offset); //$sql.=$db->plimit($conf->liste_limit, $offset);
$resql = $db->query($sql); $resql = $db->query($sql);

View File

@@ -24,7 +24,7 @@
* \brief Page accueil module adherents * \brief Page accueil module adherents
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php");
@@ -189,11 +189,11 @@ print "<br>\n";
$max=5; $max=5;
$sql = "SELECT a.rowid, a.statut, a.nom, a.prenom,"; $sql = "SELECT a.rowid, a.statut, a.nom, a.prenom,";
$sql.= " ".$db->pdate("a.tms")." as datem, ".$db->pdate("datefin")." as date_end_subscription,"; $sql.= " a.tms as datem, datefin as date_end_subscription,";
$sql.= " ta.rowid as typeid, ta.libelle, ta.cotisation"; $sql.= " ta.rowid as typeid, ta.libelle, ta.cotisation";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."adherent_type as ta"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."adherent_type as ta";
$sql.= " WHERE a.fk_adherent_type = ta.rowid"; $sql.= " WHERE a.fk_adherent_type = ta.rowid";
$sql.= " ORDER BY a.tms DESC"; $sql.= $db->order("a.tms","DESC");
$sql.= $db->plimit($max, 0); $sql.= $db->plimit($max, 0);
$resql=$db->query($sql); $resql=$db->query($sql);
@@ -219,8 +219,8 @@ if ($resql)
$statictype->libelle=$obj->libelle; $statictype->libelle=$obj->libelle;
print '<td>'.$staticmember->getNomUrl(1,24).'</td>'; print '<td>'.$staticmember->getNomUrl(1,24).'</td>';
print '<td>'.$statictype->getNomUrl(1,16).'</td>'; print '<td>'.$statictype->getNomUrl(1,16).'</td>';
print '<td>'.dol_print_date($obj->datem,'dayhour').'</td>'; print '<td>'.dol_print_date($db->jdate($obj->datem),'dayhour').'</td>';
print '<td align="right">'.$staticmember->LibStatut($obj->statut,($obj->cotisation=='yes'?1:0),$obj->date_end_subscription,5).'</td>'; print '<td align="right">'.$staticmember->LibStatut($obj->statut,($obj->cotisation=='yes'?1:0),$db->jdate($obj->date_end_subscription),5).'</td>';
print '</tr>'; print '</tr>';
$i++; $i++;
} }
@@ -240,7 +240,7 @@ $Number=array();
$tot=0; $tot=0;
$numb=0; $numb=0;
$sql = "SELECT c.cotisation, ".$db->pdate("c.dateadh")." as dateadh"; $sql = "SELECT c.cotisation, c.dateadh";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c";
$sql.= " WHERE d.rowid = c.fk_adherent"; $sql.= " WHERE d.rowid = c.fk_adherent";
if(isset($date_select) && $date_select != '') if(isset($date_select) && $date_select != '')
@@ -255,7 +255,7 @@ if ($result)
while ($i < $num) while ($i < $num)
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$year=dol_print_date($objp->dateadh,"%Y"); $year=dol_print_date($db->jdate($objp->dateadh),"%Y");
$Total[$year]=(isset($Total[$year])?$Total[$year]:0)+$objp->cotisation; $Total[$year]=(isset($Total[$year])?$Total[$year]:0)+$objp->cotisation;
$Number[$year]=(isset($Number[$year])?$Number[$year]:0)+1; $Number[$year]=(isset($Number[$year])?$Number[$year]:0)+1;
$tot+=$objp->cotisation; $tot+=$objp->cotisation;
@@ -298,10 +298,6 @@ print '</td></tr>';
print '</table>'; print '</table>';
$db->close(); $db->close();
llxFooter('$Date$ - $Revision$'); llxFooter('$Date$ - $Revision$');

View File

@@ -24,7 +24,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php");

View File

@@ -24,7 +24,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php");

View File

@@ -24,7 +24,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/member.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/ldap.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/ldap.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/ldap.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/ldap.lib.php");

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php");
@@ -72,7 +72,7 @@ $form=new Form($db);
$membertypestatic=new AdherentType($db); $membertypestatic=new AdherentType($db);
$sql = "SELECT d.rowid, d.login, d.prenom, d.nom, d.societe, "; $sql = "SELECT d.rowid, d.login, d.prenom, d.nom, d.societe, ";
$sql.= " ".$db->pdate("d.datefin")." as datefin,"; $sql.= " d.datefin,";
$sql.= " d.email, d.fk_adherent_type as type_id, d.morphy, d.statut,"; $sql.= " d.email, d.fk_adherent_type as type_id, d.morphy, d.statut,";
$sql.= " t.libelle as type, t.cotisation"; $sql.= " t.libelle as type, t.cotisation";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
@@ -218,6 +218,8 @@ if ($resql)
{ {
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
$datefin=$db->jdate($objp->datefin);
$adh=new Adherent($db); $adh=new Adherent($db);
// Nom // Nom
@@ -250,20 +252,20 @@ if ($resql)
// Statut // Statut
print '<td nowrap="nowrap">'; print '<td nowrap="nowrap">';
print $adh->LibStatut($objp->statut,$objp->cotisation,$objp->datefin,2); print $adh->LibStatut($objp->statut,$objp->cotisation,$datefin,2);
print "</td>"; print "</td>";
// Date fin cotisation // Date fin cotisation
if ($objp->datefin) if ($datefin)
{ {
print '<td align="center" nowrap="nowrap">'; print '<td align="center" nowrap="nowrap">';
if ($objp->datefin < time() && $objp->statut > 0) if ($datefin < time() && $objp->statut > 0)
{ {
print dol_print_date($objp->datefin,'day')." ".img_warning($langs->trans("SubscriptionLate")); print dol_print_date($datefin,'day')." ".img_warning($langs->trans("SubscriptionLate"));
} }
else else
{ {
print dol_print_date($objp->datefin,'day'); print dol_print_date($datefin,'day');
} }
print '</td>'; print '</td>';
} }

View File

@@ -24,7 +24,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/member.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/member.lib.php');
require_once(DOL_DOCUMENT_ROOT.'/adherents/adherent.class.php'); require_once(DOL_DOCUMENT_ROOT.'/adherents/adherent.class.php');

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require(DOL_DOCUMENT_ROOT."/adherents/adherent_options.class.php"); require(DOL_DOCUMENT_ROOT."/adherents/adherent_options.class.php");
$langs->load("members"); $langs->load("members");

View File

@@ -1,70 +0,0 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2005 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/** \file htdocs/adherents/pre.inc.php
* \ingroup member
* \brief Fichier de gestion du menu gauche du module adherent
* \version $Id$
*/
require("../main.inc.php");
function llxHeader($head = '', $title='', $help_url='')
{
global $user, $conf, $langs;
$langs->load("members");
top_menu($head, $title);
$menu = new Menu();
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Members"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/fiche.php?action=create",$langs->trans("NewMember"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php",$langs->trans("List"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=-1",$langs->trans("MenuMembersToValidate"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=1",$langs->trans("MenuMembersValidated"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=1&amp;filter=outofdate",$langs->trans("MenuMembersNotUpToDate"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=1&amp;filter=uptodate",$langs->trans("MenuMembersUpToDate"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/liste.php?statut=0",$langs->trans("MenuMembersResiliated"));
$menu->add(DOL_URL_ROOT."/adherents/public.php?leftmenu=member_public",$langs->trans("MemberPublicLinks"));
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Exports"));
$menu->add_submenu(DOL_URL_ROOT."/exports/index.php?leftmenu=export",$langs->trans("Datas"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/htpasswd.php",$langs->trans("Filehtpasswd"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/cartes/carte.php",$langs->trans("MembersCards"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/cartes/etiquette.php",$langs->trans("MembersTickets"));
$langs->load("compta");
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Accountancy"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/cotisations.php",$langs->trans("Subscriptions"));
$langs->load("banks");
$menu->add_submenu(DOL_URL_ROOT."/compta/bank/",$langs->trans("Banks"));
$menu->add(DOL_URL_ROOT."/adherents/index.php",$langs->trans("Setup"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/type.php",$langs->trans("MembersTypes"));
$menu->add_submenu(DOL_URL_ROOT."/adherents/options.php",$langs->trans("MembersAttributes"));
left_menu($menu->liste, $help_url);
}
?>

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
@@ -48,12 +48,10 @@ print '<br>';
print '<table class="border" cellspacing="0" cellpadding="3">'; print '<table class="border" cellspacing="0" cellpadding="3">';
print '<tr class="liste_titre"><td>'.$langs->trans("Description").'</td><td>'.$langs->trans("URL").'</td></tr>'; print '<tr class="liste_titre"><td>'.$langs->trans("Description").'</td><td>'.$langs->trans("URL").'</td></tr>';
// Should work with DOL_URL_ROOT='' or DOL_URL_ROOT='/dolibarr' // Should work with DOL_URL_ROOT='' or DOL_URL_ROOT='/dolibarr'
$firstpart=$dolibarr_main_url_root; $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',$dolibarr_main_url_root);
$regex='/'.DOL_URL_ROOT.'$/i'; print '<tr><td>'.$langs->trans("BlankSubscriptionForm").'</td><td><a target="_blank" href="'.DOL_URL_ROOT.'/public/members/new.php'.'">'.$urlwithouturlroot.DOL_URL_ROOT.'/public/members/new.php'.'</a></td></tr>';
$firstpart=preg_replace($regex,'',$firstpart); print '<tr><td>'.$langs->trans("PublicMemberList").'</td><td><a target="_blank" href="'.DOL_URL_ROOT.'/public/members/public_list.php'.'">'.$urlwithouturlroot.DOL_URL_ROOT.'/public/members/public_list.php'.'</a></td></tr>';
print '<tr><td>'.$langs->trans("BlankSubscriptionForm").'</td><td><a target="_blank" href="'.DOL_URL_ROOT.'/public/members/new.php'.'">'.$firstpart.DOL_URL_ROOT.'/public/members/new.php'.'</a></td></tr>'; print '<tr><td>'.$langs->trans("PublicMemberCard").'</td><td>'.$urlwithouturlroot.DOL_URL_ROOT.'/public/members/public_card.php?id=xxx'.'</td></tr>';
print '<tr><td>'.$langs->trans("PublicMemberList").'</td><td><a target="_blank" href="'.DOL_URL_ROOT.'/public/members/public_list.php'.'">'.$firstpart.DOL_URL_ROOT.'/public/members/public_list.php'.'</a></td></tr>';
print '<tr><td>'.$langs->trans("PublicMemberCard").'</td><td>'.$firstpart.DOL_URL_ROOT.'/public/members/public_card.php?id=xxx'.'</td></tr>';
print '</table>'; print '</table>';

View File

@@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php");
@@ -128,11 +128,8 @@ llxHeader('',$langs->trans("MembersTypeSetup"),'EN:Module_Foundations|FR:Module_
$form=new Form($db); $form=new Form($db);
/* ************************************************************************** */
/* */ // Liste of members type
/* Liste des types d'adh<64>rents */
/* */
/* ************************************************************************** */
if (! $rowid && $_GET["action"] != 'create' && $_GET["action"] != 'edit') if (! $rowid && $_GET["action"] != 'create' && $_GET["action"] != 'edit')
{ {
@@ -217,7 +214,7 @@ if ($_GET["action"] == 'create')
print '<input type="hidden" name="action" value="add">'; print '<input type="hidden" name="action" value="add">';
print '<tr><td>'.$langs->trans("Label").'</td><td><input type="text" name="libelle" size="40"></td></tr>'; print '<tr><td class="fieldrequired">'.$langs->trans("Label").'</td><td><input type="text" name="libelle" size="40"></td></tr>';
print '<tr><td>'.$langs->trans("SubscriptionRequired").'</td><td>'; print '<tr><td>'.$langs->trans("SubscriptionRequired").'</td><td>';
print $htmls->selectyesno("cotisation",1,1); print $htmls->selectyesno("cotisation",1,1);
@@ -245,11 +242,13 @@ if ($_GET["action"] == 'create')
} }
print '</td></tr>'; print '</td></tr>';
print '<tr><td colspan="2" align="center"><input type="submit" name="button" class="button" value="'.$langs->trans("Add").'"> &nbsp;'; print "</table>\n";
print '<input type="submit" name="button" class="button" value="'.$langs->trans("Cancel").'"></td></tr>';
print '<br>';
print '<center><input type="submit" name="button" class="button" value="'.$langs->trans("Add").'"> &nbsp; &nbsp; ';
print '<input type="submit" name="button" class="button" value="'.$langs->trans("Cancel").'"></center>';
print "</form>\n"; print "</form>\n";
print "</table>\n";
} }
/* ************************************************************************** */ /* ************************************************************************** */
@@ -334,7 +333,7 @@ if ($rowid > 0)
$membertypestatic=new AdherentType($db); $membertypestatic=new AdherentType($db);
$sql = "SELECT d.rowid, d.login, d.prenom, d.nom, d.societe, "; $sql = "SELECT d.rowid, d.login, d.prenom, d.nom, d.societe, ";
$sql.= " ".$db->pdate("d.datefin")." as datefin,"; $sql.= " d.datefin,";
$sql.= " d.email, d.fk_adherent_type as type_id, d.morphy, d.statut,"; $sql.= " d.email, d.fk_adherent_type as type_id, d.morphy, d.statut,";
$sql.= " t.libelle as type, t.cotisation"; $sql.= " t.libelle as type, t.cotisation";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
@@ -485,6 +484,8 @@ if ($rowid > 0)
{ {
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
$datefin=$db->jdate($objp->datefin);
$adh=new Adherent($db); $adh=new Adherent($db);
// Nom // Nom
@@ -518,20 +519,20 @@ if ($rowid > 0)
// Statut // Statut
print '<td nowrap="nowrap">'; print '<td nowrap="nowrap">';
print $adh->LibStatut($objp->statut,$objp->cotisation,$objp->datefin,2); print $adh->LibStatut($objp->statut,$objp->cotisation,$datefin,2);
print "</td>"; print "</td>";
// Date fin cotisation // Date fin cotisation
if ($objp->datefin) if ($datefin)
{ {
print '<td align="center" nowrap="nowrap">'; print '<td align="center" nowrap="nowrap">';
if ($objp->datefin < time() && $objp->statut > 0) if ($datefin < time() && $objp->statut > 0)
{ {
print dol_print_date($objp->datefin,'day')." ".img_warning($langs->trans("SubscriptionLate")); print dol_print_date($datefin,'day')." ".img_warning($langs->trans("SubscriptionLate"));
} }
else else
{ {
print dol_print_date($objp->datefin,'day'); print dol_print_date($datefin,'day');
} }
print '</td>'; print '</td>';
} }

View File

@@ -24,7 +24,7 @@
* \version $Id$ * \version $Id$
*/ */
require('./pre.inc.php'); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load('admin'); $langs->load('admin');

View File

@@ -27,7 +27,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");
@@ -189,31 +189,28 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 1)
/* /*
* Spip * Spip
*/ */
if ($conf->global->MAIN_FEATURES_LEVEL >= 1) $var=!$var;
if ($conf->global->ADHERENT_USE_SPIP)
{ {
$var=!$var; $lien=img_tick().' ';
if ($conf->global->ADHERENT_USE_SPIP) $lien.='<a href="'.DOL_URL_ROOT.'/admin/adherent.php?action=unset&value=0&name=ADHERENT_USE_SPIP">'.$langs->trans("Disable").'</a>';
{ // Edition des varibales globales rattache au theme Mailman
$lien=img_tick().' '; $constantes=array('ADHERENT_USE_SPIP_AUTO',
$lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_USE_SPIP">'.$langs->trans("Disable").'</a>'; 'ADHERENT_SPIP_SERVEUR',
// Edition des varibales globales rattache au theme Mailman 'ADHERENT_SPIP_DB',
$constantes=array('ADHERENT_USE_SPIP_AUTO', 'ADHERENT_SPIP_USER',
'ADHERENT_SPIP_SERVEUR', 'ADHERENT_SPIP_PASS'
'ADHERENT_SPIP_DB', );
'ADHERENT_SPIP_USER', print_fiche_titre("SPIP CMS",$lien,'');
'ADHERENT_SPIP_PASS' form_constantes($constantes);
);
print_fiche_titre("SPIP - Systeme de publication en ligne",$lien,'');
form_constantes($constantes);
}
else
{
$lien='<a href="adherent.php?action=set&value=1&name=ADHERENT_USE_SPIP">'.$langs->trans("Activate").'</a>';
print_fiche_titre("SPIP - Systeme de publication en ligne",$lien,'');
}
print "<hr>\n";
} }
else
{
$lien='<a href="'.DOL_URL_ROOT.'/admin/adherent.php?action=set&value=1&name=ADHERENT_USE_SPIP">'.$langs->trans("Activate").'</a>';
print_fiche_titre("SPIP - CMS",$lien,'');
}
print "<hr>\n";
/* /*
* Edition info modele document * Edition info modele document

View File

@@ -23,7 +23,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/agenda.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/agenda.lib.php");

View File

@@ -23,7 +23,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/agenda.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/agenda.lib.php');

View File

@@ -24,9 +24,9 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/facture.class.php'); require_once(DOL_DOCUMENT_ROOT.'/compta/facture/facture.class.php');
$langs->load("admin"); $langs->load("admin");
$langs->load("companies"); $langs->load("companies");

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/includes/barcode/html.formbarcode.class.php"); require_once(DOL_DOCUMENT_ROOT."/includes/barcode/html.formbarcode.class.php");
@@ -226,7 +226,7 @@ print '<td>&nbsp;</td>';
print '</tr>'; print '</tr>';
// Chemin du binaire genbarcode sous linux // Chemin du binaire genbarcode sous linux
if (!isset($_ENV['windir']) && !file_exists($_ENV['windir'])) if (! isset($_SERVER['WINDIR']))
{ {
$var=!$var; $var=!$var;
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">'; print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
@@ -236,7 +236,7 @@ if (!isset($_ENV['windir']) && !file_exists($_ENV['windir']))
print '<td>'.$langs->trans("GenbarcodeLocation").'</td>'; print '<td>'.$langs->trans("GenbarcodeLocation").'</td>';
print '<td width="60" align="center">'; print '<td width="60" align="center">';
print '<input type="text" size="40" name="genbarcodelocation" value="'.$conf->global->GENBARCODE_LOCATION.'">'; print '<input type="text" size="40" name="genbarcodelocation" value="'.$conf->global->GENBARCODE_LOCATION.'">';
if (! empty($conf->global->GENBARCODE_LOCATION) && ! file_exists($conf->global->GENBARCODE_LOCATION)) if (! empty($conf->global->GENBARCODE_LOCATION) && ! @file_exists($conf->global->GENBARCODE_LOCATION))
{ {
$langs->load("errors"); $langs->load("errors");
print '<br><font class="error">'.$langs->trans("ErrorFileNotFound",$conf->global->GENBARCODE_LOCATION).'</font>'; print '<br><font class="error">'.$langs->trans("ErrorFileNotFound",$conf->global->GENBARCODE_LOCATION).'</font>';

View File

@@ -23,7 +23,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");

View File

@@ -22,13 +22,13 @@
*/ */
/** /**
\file htdocs/admin/boutique.php * \file htdocs/admin/boutique.php
\ingroup boutique * \ingroup boutique
\brief Page d'administration/configuration du module OsCommerce * \brief Page d'administration/configuration du module OsCommerce
\version $Revision$ * \version $Revision$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");

View File

@@ -1,6 +1,7 @@
<?php <?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -18,12 +19,12 @@
*/ */
/** /**
\file htdocs/admin/boxes.php * \file htdocs/admin/boxes.php
\brief Page d'administration/configuration des boites * \brief Page to setup boxes
\version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php"); include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
include_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); include_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
@@ -32,7 +33,7 @@ $langs->load("admin");
if (!$user->admin) if (!$user->admin)
accessforbidden(); accessforbidden();
// D<EFBFBD>finition des positions possibles pour les boites // Definition des positions possibles pour les boites
$pos_array = array(0); // Positions possibles pour une boite (0,1,2,...) $pos_array = array(0); // Positions possibles pour une boite (0,1,2,...)
$pos_name = array(0=>$langs->trans("Home")); // Nom des positions 0=Homepage, 1=... $pos_name = array(0=>$langs->trans("Home")); // Nom des positions 0=Homepage, 1=...
$boxes = array(); $boxes = array();
@@ -48,33 +49,47 @@ if ((isset($_POST["action"]) && $_POST["action"] == 'addconst'))
if ($_POST["action"] == 'add') if ($_POST["action"] == 'add')
{ {
$sql = "SELECT rowid"; $sql = "SELECT rowid";
$sql.= " FROM ".MAIN_DB_PREFIX."boxes"; $sql.= " FROM ".MAIN_DB_PREFIX."boxes";
$sql.= " WHERE fk_user=0 AND box_id=".$_POST["boxid"]." AND position=".$_POST["pos"]; $sql.= " WHERE fk_user = 0";
$resql = $db->query($sql); $sql.= " AND box_id = ".$_POST["boxid"];
dol_syslog("boxes.php::search if box active sql=".$sql); $sql.= " AND position = ".$_POST["pos"];
$resql = $db->query($sql);
dol_syslog("boxes.php::search if box active sql=".$sql);
if ($resql) if ($resql)
{ {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
if ($num == 0) if ($num == 0)
{ {
$db->begin(); $db->begin();
// Si la boite n'est pas deja active, insert with box_order='' // Si la boite n'est pas deja active, insert with box_order=''
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id, position, box_order, fk_user) values (".$_POST["boxid"].",".$_POST["pos"].", '', 0)"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
dol_syslog("boxes.php activate box sql=".$sql); $sql.= "box_id";
$resql = $db->query($sql); $sql.= ", position";
$sql.= ", box_order";
$sql.= ", fk_user";
$sql.= ") values (";
$sql.= $_POST["boxid"];
$sql.= ", ".$_POST["pos"];
$sql.= ", ''";
$sql.= ", 0";
$sql.= ")";
// Remove all personalized setup when a box is activated or disabled dol_syslog("boxes.php activate box sql=".$sql);
$resql = $db->query($sql);
// Remove all personalized setup when a box is activated or disabled
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
$sql.= " WHERE param like 'MAIN_BOXES_%'"; $sql.= " WHERE param LIKE 'MAIN_BOXES_%'";
dol_syslog("boxes.php delete user_param sql=".$sql); dol_syslog("boxes.php delete user_param sql=".$sql);
$resql = $db->query($sql); $resql = $db->query($sql);
$db->commit(); $db->commit();
} }
Header("Location: boxes.php"); Header("Location: boxes.php");
exit; exit;
} }
else else
{ {
@@ -85,15 +100,15 @@ if ($_POST["action"] == 'add')
if ($_GET["action"] == 'delete') if ($_GET["action"] == 'delete')
{ {
$db->begin(); $db->begin();
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
$sql.= " WHERE rowid=".$_GET["rowid"];
$resql = $db->query($sql);
// Remove all personalized setup when a box is activated or disabled $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param"; $sql.= " WHERE rowid=".$_GET["rowid"];
$sql.= " WHERE param like 'MAIN_BOXES_%'"; $resql = $db->query($sql);
$resql = $db->query($sql);
// Remove all personalized setup when a box is activated or disabled
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
$sql.= " WHERE param LIKE 'MAIN_BOXES_%'";
$resql = $db->query($sql);
$db->commit(); $db->commit();
} }
@@ -101,35 +116,34 @@ if ($_GET["action"] == 'delete')
if ($_GET["action"] == 'switch') if ($_GET["action"] == 'switch')
{ {
// On permute les valeur du champ box_order des 2 lignes de la table boxes // On permute les valeur du champ box_order des 2 lignes de la table boxes
$db->begin(); $db->begin();
$objfrom=new ModeleBoxes($db); $objfrom=new ModeleBoxes($db);
$objfrom->fetch($_GET["switchfrom"]); $objfrom->fetch($_GET["switchfrom"]);
$objto=new ModeleBoxes($db); $objto=new ModeleBoxes($db);
$objto->fetch($_GET["switchto"]); $objto->fetch($_GET["switchto"]);
if (is_object($objfrom) && is_object($objto)) if (is_object($objfrom) && is_object($objto))
{ {
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$objto->box_order."' WHERE rowid=".$objfrom->rowid; $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$objto->box_order."' WHERE rowid=".$objfrom->rowid;
//print "xx".$sql; //print "xx".$sql;
$resultupdatefrom = $db->query($sql); $resultupdatefrom = $db->query($sql);
if (! $resultupdatefrom) { dol_print_error($db); } if (! $resultupdatefrom) { dol_print_error($db); }
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$objfrom->box_order."' WHERE rowid=".$objto->rowid; $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$objfrom->box_order."' WHERE rowid=".$objto->rowid;
//print "xx".$sql; //print "xx".$sql;
$resultupdateto = $db->query($sql); $resultupdateto = $db->query($sql);
if (! $resultupdateto) { dol_print_error($db); } if (! $resultupdateto) { dol_print_error($db); }
} }
if ($resultupdatefrom && $resultupdateto)
{
$db->commit();
}
else
{
$db->rollback();
}
if ($resultupdatefrom && $resultupdateto)
{
$db->commit();
}
else
{
$db->rollback();
}
} }
@@ -166,11 +180,11 @@ if ($resql)
$obj = $db->fetch_object($resql); $obj = $db->fetch_object($resql);
$boxes[$obj->position][$obj->box_id]=1; $boxes[$obj->position][$obj->box_id]=1;
$i++; $i++;
array_push($actives,$obj->box_id); array_push($actives,$obj->box_id);
if ($obj->box_order == '' || $obj->box_order == '0' || $decalage) $decalage++; if ($obj->box_order == '' || $obj->box_order == '0' || $decalage) $decalage++;
// On renum<EFBFBD>rote l'ordre des boites si l'une d'elle est <EFBFBD> '' // On renumerote l'ordre des boites si l'une d'elle est a ''
// This occurs just after an insert. // This occurs just after an insert.
if ($decalage) if ($decalage)
{ {
@@ -252,20 +266,29 @@ $var=True;
if ($resql) if ($resql)
{ {
$html=new Form($db); $html=new Form($db);
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
$i = 0; $i = 0;
// Boucle sur toutes les boites // Boucle sur toutes les boites
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($resql); $obj = $db->fetch_object($resql);
$module=preg_replace('/.php$/i','',$obj->file); if (preg_match('/^([^@]+)@([^@]+)$/i',$obj->file,$regs))
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php"); {
$module = $regs[1];
$sourcefile = "/".$regs[2]."/inc/boxes/".$module.".php";
}
else
{
$module=preg_replace('/.php$/i','',$obj->file);
$sourcefile = "/includes/boxes/".$module.".php";
}
include_once(DOL_DOCUMENT_ROOT.$sourcefile);
$box=new $module($db,$obj->note); $box=new $module($db,$obj->note);
// if (in_array($obj->rowid, $actives) && $box->box_multiple <> 1) // if (in_array($obj->rowid, $actives) && $box->box_multiple <> 1)
if (in_array($obj->rowid, $actives)) if (in_array($obj->rowid, $actives))
{ {
@@ -274,15 +297,23 @@ if ($resql)
else else
{ {
$var = ! $var; $var = ! $var;
if (preg_match('/^([^@]+)@([^@]+)$/i',$box->boximg))
{
$logo = $box->boximg;
}
else
{
$logo=preg_replace("/^object_/i","",$box->boximg);
}
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
$logo=preg_replace("/^object_/i","",$box->boximg);
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td>'.img_object("",$logo).' '.$box->boxlabel.'</td>'; print '<td>'.img_object("",$logo).' '.$box->boxlabel.'</td>';
print '<td>' . ($obj->note?$obj->note:'&nbsp;') . '</td>'; print '<td>' . ($obj->note?$obj->note:'&nbsp;') . '</td>';
print '<td>' . $obj->file . '</td>'; print '<td>' . $sourcefile . '</td>';
// Pour chaque position possible, on affiche un lien // Pour chaque position possible, on affiche un lien
// d'activation si boite non deja active pour cette position // d'activation si boite non deja active pour cette position
print '<td align="center">'; print '<td align="center">';
@@ -291,19 +322,19 @@ if ($resql)
print '<input type="hidden" name="boxid" value="'.$obj->rowid.'">'; print '<input type="hidden" name="boxid" value="'.$obj->rowid.'">';
print ' <input type="submit" class="button" name="button" value="'.$langs->trans("Activate").'">'; print ' <input type="submit" class="button" name="button" value="'.$langs->trans("Activate").'">';
print '</td>'; print '</td>';
print '</tr></form>'; print '</tr></form>';
} }
$i++; $i++;
} }
$db->free($resql); $db->free($resql);
} }
print '</table>'; print '</table>';
/* /*
* Boites activ<EFBFBD>es * Boites activees
* *
*/ */
@@ -334,23 +365,41 @@ if ($resql)
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
$i = 0; $i = 0;
$var=true; $var=true;
$box_order=1; $box_order=1;
$foundrupture=1; $foundrupture=1;
// On lit avec un coup d'avance // On lit avec un coup d'avance
$obj = $db->fetch_object($resql); $obj = $db->fetch_object($resql);
while ($obj && $i < $num) while ($obj && $i < $num)
{ {
$var = ! $var; $var = ! $var;
$objnext = $db->fetch_object($resql); $objnext = $db->fetch_object($resql);
$module=preg_replace('/.php$/i','',$obj->file); if (preg_match('/^([^@]+)@([^@]+)$/i',$obj->file,$regs))
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php"); {
$module = $regs[1];
$sourcefile = "/".$regs[2]."/inc/boxes/".$module.".php";
}
else
{
$module=preg_replace('/.php$/i','',$obj->file);
$sourcefile = "/includes/boxes/".$module.".php";
}
include_once(DOL_DOCUMENT_ROOT.$sourcefile);
$box=new $module($db,$obj->note); $box=new $module($db,$obj->note);
$logo=preg_replace("/^object_/i","",$box->boximg); if (preg_match('/^([^@]+)@([^@]+)$/i',$box->boximg))
{
$logo = $box->boximg;
}
else
{
$logo=preg_replace("/^object_/i","",$box->boximg);
}
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td>'.img_object("",$logo).' '.$box->boxlabel.'</td>'; print '<td>'.img_object("",$logo).' '.$box->boxlabel.'</td>';
print '<td>' . ($obj->note?$obj->note:'&nbsp;') . '</td>'; print '<td>' . ($obj->note?$obj->note:'&nbsp;') . '</td>';
@@ -367,17 +416,17 @@ if ($resql)
print '<td align="center">'; print '<td align="center">';
print '<a href="boxes.php?rowid='.$obj->rowid.'&amp;action=delete">'.img_delete().'</a>'; print '<a href="boxes.php?rowid='.$obj->rowid.'&amp;action=delete">'.img_delete().'</a>';
print '</td>'; print '</td>';
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
$box_order++; $box_order++;
if (! $foundrupture) $objprevious = $obj; if (! $foundrupture) $objprevious = $obj;
else $box_order=1; else $box_order=1;
$obj=$objnext; $obj=$objnext;
} }
$db->free($resql); $db->free($resql);
} }

View File

@@ -23,9 +23,9 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/html.formproduct.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/html.formproduct.class.php");
// If socid provided by ajax company selector // If socid provided by ajax company selector
if (! empty($_REQUEST['CASHDESK_ID_THIRDPARTY_id'])) if (! empty($_REQUEST['CASHDESK_ID_THIRDPARTY_id']))

View File

@@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.org> * Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -16,14 +16,15 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
/** \file htdocs/admin/clicktodial.php
\ingroup clicktodial
\brief Page d'administration/configuration du module clicktodial
\version $Id$
*/
require("./pre.inc.php"); /**
* \file htdocs/admin/clicktodial.php
* \ingroup clicktodial
* \brief Page d'administration/configuration du module clicktodial
* \version $Id$
*/
require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");
@@ -51,7 +52,8 @@ if ($_POST["action"] == 'setvalue' && $user->admin)
* *
*/ */
llxHeader(); $wikihelp='EN:Module_ClickToDial_En|FR:Module_ClickToDial|ES:Módulo_ClickTodial_Es';
llxHeader($langs->trans("ClickToDialSetup"),'',$wikihelp);
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>'; $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("ClickToDialSetup"),$linkback,'setup'); print_fiche_titre($langs->trans("ClickToDialSetup"),$linkback,'setup');

View File

@@ -29,7 +29,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/commande/commande.class.php'); require_once(DOL_DOCUMENT_ROOT.'/commande/commande.class.php');

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/images.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/images.lib.php");
@@ -557,7 +557,7 @@ if ((isset($_GET["action"]) && $_GET["action"] == 'edit')
else else
{ {
/* /*
* Affichage des parametres * Show parameters
*/ */
if ($message) print $message.'<br>'; if ($message) print $message.'<br>';
@@ -689,7 +689,7 @@ else
if ($langs->transcountry("ProfId1",$code_pays) != '-') if ($langs->transcountry("ProfId1",$code_pays) != '-')
{ {
print $conf->global->MAIN_INFO_SIREN; print $conf->global->MAIN_INFO_SIREN;
if ($code_pays == 'FR') print ' &nbsp; <a href="http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp" target="_blank">'.$langs->trans("Check").'</a>'; if ($conf->global->MAIN_INFO_SIREN && $code_pays == 'FR') print ' &nbsp; <a href="http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp" target="_blank">'.$langs->trans("Check").'</a>';
} }
print '</td></tr>'; print '</td></tr>';
} }

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require('./pre.inc.php'); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load('admin'); $langs->load('admin');

View File

@@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr> * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
* *
@@ -19,13 +19,13 @@
*/ */
/** /**
\file htdocs/admin/confexped.php * \file htdocs/admin/confexped.php
\ingroup produit * \ingroup produit
\brief Page d'administration/configuration du module Expedition * \brief Page to setup sending module
\version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");
@@ -112,28 +112,22 @@ print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Feature").'</td>'; print '<td>'.$langs->trans("Feature").'</td>';
print '<td align="center" width="20">&nbsp;</td>'; print '<td align="center" width="20">&nbsp;</td>';
print '<td align="center" width="100">'.$langs->trans("Action").'</td>'; print '<td align="center" width="100">'.$langs->trans("Status").'</td>';
print "</tr>\n"; print "</tr>\n";
print "<input type=\"hidden\" name=\"action\" value=\"sending\">"; print "<input type=\"hidden\" name=\"action\" value=\"sending\">";
print "<tr ".$bc[$var].">"; print "<tr ".$bc[$var].">";
print '<td>'.$langs->trans("SendingsAbility").'</td>'; print '<td>'.$langs->trans("SendingsAbility").'</td>';
print '<td align="center" width="20">'; print '<td align="center" width="20">';
if($conf->global->MAIN_SUBMODULE_EXPEDITION == 1)
{
print img_tick();
}
print '</td>'; print '</td>';
print '<td align="center" width="100">'; print '<td align="center" width="100">';
if($conf->global->MAIN_SUBMODULE_EXPEDITION == 0) if($conf->global->MAIN_SUBMODULE_EXPEDITION == 0)
{ {
print '<a href="confexped.php?action=activate_sending">'.$langs->trans("Activate").'</a>'; print '<a href="confexped.php?action=activate_sending">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
else if($conf->global->MAIN_SUBMODULE_EXPEDITION == 1) else if($conf->global->MAIN_SUBMODULE_EXPEDITION == 1)
{ {
print '<a href="confexped.php?action=disable_sending">'.$langs->trans("Disable").'</a>'; print '<a href="confexped.php?action=disable_sending">'.img_picto($langs->trans("Enabled"),'on').'</a>';
} }
print "</td>"; print "</td>";
@@ -150,22 +144,16 @@ print "<input type=\"hidden\" name=\"action\" value=\"delivery\">";
print "<tr ".$bc[$var].">"; print "<tr ".$bc[$var].">";
print '<td>'.$langs->trans("DeliveriesOrderAbility").'</td>'; print '<td>'.$langs->trans("DeliveriesOrderAbility").'</td>';
print '<td align="center" width="20">'; print '<td align="center" width="20">';
if($conf->global->MAIN_SUBMODULE_LIVRAISON == 1)
{
print img_tick();
}
print '</td>'; print '</td>';
print '<td align="center" width="100">'; print '<td align="center" width="100">';
if($conf->global->MAIN_SUBMODULE_LIVRAISON == 0) if($conf->global->MAIN_SUBMODULE_LIVRAISON == 0)
{ {
print '<a href="confexped.php?action=activate_delivery">'.$langs->trans("Activate").'</a>'; print '<a href="confexped.php?action=activate_delivery">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
else if($conf->global->MAIN_SUBMODULE_LIVRAISON == 1) else if($conf->global->MAIN_SUBMODULE_LIVRAISON == 1)
{ {
print '<a href="confexped.php?action=disable_delivery">'.$langs->trans("Disable").'</a>'; print '<a href="confexped.php?action=disable_delivery">'.img_picto($langs->trans("Enabled"),'on').'</a>';
} }
print "</td>"; print "</td>";

View File

@@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@@ -21,11 +21,11 @@
/** /**
* \file htdocs/admin/const.php * \file htdocs/admin/const.php
* \ingroup setup * \ingroup setup
* \brief Admin page to defined miscellaneous constants * \brief Admin page to define miscellaneous constants
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");
@@ -43,9 +43,25 @@ $typeconst=array('yesno','texte','chaine');
if ($_POST["action"] == 'add') if ($_POST["action"] == 'add')
{ {
if (dolibarr_set_const($db, $_POST["constname"],$_POST["constvalue"],$typeconst[$_POST["consttype"]],1,isset($_POST["constnote"])?$_POST["constnote"]:'',$_POST["entity"]) < 0) $error=0;
if (empty($_POST["constname"]))
{ {
print $db->error(); $mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Name")).'</div>';
$error++;
}
if (empty($_POST["constvalue"]))
{
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Value")).'</div>';
$error++;
}
if (! $error)
{
if (dolibarr_set_const($db, $_POST["constname"],$_POST["constvalue"],$typeconst[$_POST["consttype"]],1,isset($_POST["constnote"])?$_POST["constnote"]:'',$_POST["entity"]) < 0)
{
dolibarr_print_error($db);
}
} }
} }
@@ -57,7 +73,7 @@ if (($_POST["const"] && isset($_POST["update"]) && $_POST["update"] == $langs->t
{ {
if (dolibarr_set_const($db, $const["name"],$const["value"],$const["type"],1,$const["note"],$const["entity"]) < 0) if (dolibarr_set_const($db, $const["name"],$const["value"],$const["type"],1,$const["note"],$const["entity"]) < 0)
{ {
print $db->error(); dolibarr_print_error($db);
} }
} }
} }
@@ -68,11 +84,11 @@ if ($_POST["const"] && $_POST["delete"] && $_POST["delete"] == $langs->trans("De
{ {
foreach($_POST["const"] as $const) foreach($_POST["const"] as $const)
{ {
if ($const["check"]) if ($const["check"]) // Is checkbox checked
{ {
if (dolibarr_del_const($db, $const["rowid"], -1) < 0) if (dolibarr_del_const($db, $const["rowid"], -1) < 0)
{ {
print $db->error(); dolibarr_print_error($db);
} }
} }
} }
@@ -83,7 +99,7 @@ if ($_GET["action"] == 'delete')
{ {
if (dolibarr_del_const($db, $_GET["rowid"],$_GET["entity"]) < 0) if (dolibarr_del_const($db, $_GET["rowid"],$_GET["entity"]) < 0)
{ {
print $db->error(); dolibarr_print_error($db);
} }
} }
@@ -92,13 +108,14 @@ if ($_GET["action"] == 'delete')
* View * View
*/ */
llxHeader(); llxHeader('',$langs->trans("OtherSetup"));
print_fiche_titre($langs->trans("OtherSetup"),'','setup'); print_fiche_titre($langs->trans("OtherSetup"),'','setup');
print $langs->trans("ConstDesc")."<br>\n"; print $langs->trans("ConstDesc")."<br>\n";
print "<br>\n"; print "<br>\n";
if ($mesg) print $mesg;
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
@@ -145,7 +162,7 @@ print '</tr>';
print '</form>'; print '</form>';
print "\n"; print "\n";
print '<form action="'.DOL_URL_ROOT.'/admin/const.php" method="POST">'; print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
# Affiche lignes des constantes # Affiche lignes des constantes
@@ -207,7 +224,7 @@ if ($result)
} }
print '<td align="center">'; print '<td align="center">';
if ($conf->use_javascript_ajax) if ($conf->use_javascript_ajax)
{ {
print '<input type="checkbox" id="check_'.$i.'" name="const['.$i.'][check]" value="1" onClick="displayElement(\'delconst\');">'; print '<input type="checkbox" id="check_'.$i.'" name="const['.$i.'][check]" value="1" onClick="displayElement(\'delconst\');">';
print ' &nbsp; '; print ' &nbsp; ';

View File

@@ -25,7 +25,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");

View File

@@ -3,6 +3,7 @@
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -26,7 +27,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php");
require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php");
@@ -104,7 +105,7 @@ $tabsql[6] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.t
$tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.deductible, p.code as pays_code, p.libelle as pays, a.fk_pays as pays_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_pays as p WHERE a.fk_pays=p.rowid and p.active=1"; $tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.deductible, p.code as pays_code, p.libelle as pays, a.fk_pays as pays_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_pays as p WHERE a.fk_pays=p.rowid and p.active=1";
$tabsql[8] = "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_typent"; $tabsql[8] = "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_typent";
$tabsql[9] = "SELECT code, code_iso, label as libelle, active FROM ".MAIN_DB_PREFIX."c_currencies"; $tabsql[9] = "SELECT code, code_iso, label as libelle, active FROM ".MAIN_DB_PREFIX."c_currencies";
$tabsql[10]= "SELECT t.rowid, t.taux, p.libelle as pays, p.code as pays_code, t.fk_pays as pays_id, t.recuperableonly, t.note, t.active FROM ".MAIN_DB_PREFIX."c_tva as t, llx_c_pays as p WHERE t.fk_pays=p.rowid"; $tabsql[10]= "SELECT t.rowid, t.taux, t.localtax1, t.localtax2, p.libelle as pays, p.code as pays_code, t.fk_pays as pays_id, t.recuperableonly, t.note, t.active FROM ".MAIN_DB_PREFIX."c_tva as t, llx_c_pays as p WHERE t.fk_pays=p.rowid";
$tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t"; $tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t";
$tabsql[12]= "SELECT c.rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX."cond_reglement AS c"; $tabsql[12]= "SELECT c.rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX."cond_reglement AS c";
$tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active FROM ".MAIN_DB_PREFIX."c_paiement AS c"; $tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active FROM ".MAIN_DB_PREFIX."c_paiement AS c";
@@ -125,7 +126,7 @@ $tabsqlsort[6] ="a.type ASC, a.code ASC";
$tabsqlsort[7] ="pays ASC, code ASC, a.libelle ASC"; $tabsqlsort[7] ="pays ASC, code ASC, a.libelle ASC";
$tabsqlsort[8] ="libelle ASC"; $tabsqlsort[8] ="libelle ASC";
$tabsqlsort[9] ="code ASC"; $tabsqlsort[9] ="code ASC";
$tabsqlsort[10]="pays ASC, taux ASC, recuperableonly ASC"; $tabsqlsort[10]="pays ASC, taux ASC, recuperableonly ASC, localtax1 ASC, localtax2 ASC";
$tabsqlsort[11]="element ASC, source ASC, code ASC"; $tabsqlsort[11]="element ASC, source ASC, code ASC";
$tabsqlsort[12]="sortorder ASC, code ASC"; $tabsqlsort[12]="sortorder ASC, code ASC";
$tabsqlsort[13]="code ASC"; $tabsqlsort[13]="code ASC";
@@ -146,7 +147,7 @@ $tabfield[6] = "code,libelle,type";
$tabfield[7] = "code,libelle,pays_id,pays,deductible"; $tabfield[7] = "code,libelle,pays_id,pays,deductible";
$tabfield[8] = "code,libelle"; $tabfield[8] = "code,libelle";
$tabfield[9] = "code,code_iso,libelle"; $tabfield[9] = "code,code_iso,libelle";
$tabfield[10]= "pays_id,pays,taux,recuperableonly,note"; $tabfield[10]= "pays_id,pays,taux,recuperableonly,localtax1,localtax2,note";
$tabfield[11]= "element,source,code,libelle"; $tabfield[11]= "element,source,code,libelle";
$tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage"; $tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfield[13]= "code,libelle,type"; $tabfield[13]= "code,libelle,type";
@@ -167,7 +168,7 @@ $tabfieldvalue[6] = "code,libelle,type";
$tabfieldvalue[7] = "code,libelle,pays,deductible"; $tabfieldvalue[7] = "code,libelle,pays,deductible";
$tabfieldvalue[8] = "code,libelle"; $tabfieldvalue[8] = "code,libelle";
$tabfieldvalue[9] = "code,code_iso,libelle"; $tabfieldvalue[9] = "code,code_iso,libelle";
$tabfieldvalue[10]= "pays,taux,recuperableonly,note"; $tabfieldvalue[10]= "pays,taux,recuperableonly,localtax1,localtax2,note";
$tabfieldvalue[11]= "element,source,code,libelle"; $tabfieldvalue[11]= "element,source,code,libelle";
$tabfieldvalue[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage"; $tabfieldvalue[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfieldvalue[13]= "code,libelle,type"; $tabfieldvalue[13]= "code,libelle,type";
@@ -188,7 +189,7 @@ $tabfieldinsert[6] = "code,libelle,type";
$tabfieldinsert[7] = "code,libelle,fk_pays,deductible"; $tabfieldinsert[7] = "code,libelle,fk_pays,deductible";
$tabfieldinsert[8] = "code,libelle"; $tabfieldinsert[8] = "code,libelle";
$tabfieldinsert[9] = "code,code_iso,label"; $tabfieldinsert[9] = "code,code_iso,label";
$tabfieldinsert[10]= "fk_pays,taux,recuperableonly,note"; $tabfieldinsert[10]= "fk_pays,taux,recuperableonly,localtax1,localtax2,note";
$tabfieldinsert[11]= "element,source,code,libelle"; $tabfieldinsert[11]= "element,source,code,libelle";
$tabfieldinsert[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage"; $tabfieldinsert[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfieldinsert[13]= "code,libelle,type"; $tabfieldinsert[13]= "code,libelle,type";

View File

@@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2005-2009 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -22,9 +22,9 @@
* \brief Page d'administration/configuration du module Dons * \brief Page d'administration/configuration du module Dons
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/don.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/dons/don.class.php");
$langs->load("admin"); $langs->load("admin");
$langs->load("donations"); $langs->load("donations");
@@ -122,7 +122,7 @@ if ($_GET["action"] == 'del')
/* /*
* Affiche page * View
*/ */
$dir = "../includes/modules/dons/"; $dir = "../includes/modules/dons/";
@@ -207,20 +207,20 @@ while (($file = readdir($handle))!==false)
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
if ($conf->global->DON_ADDON_MODEL == $name) if ($conf->global->DON_ADDON_MODEL == $name)
{ {
print img_tick($langs->trans("Enabled")); print img_picto($langs->trans("Enabled"),'on');
} }
else else
{ {
print '&nbsp;'; print '&nbsp;';
print '</td><td align="center">'; print '</td><td align="center">';
print '<a href="dons.php?action=setdoc&value='.$name.'">'.$langs->trans("Activate").'</a>'; print '<a href="dons.php?action=setdoc&value='.$name.'">'.img_picto($langs->trans("Enabled"),'on').'</a>';
} }
print '</td>'; print '</td>';
} }
else else
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
print "</td>"; print "</td>";
} }
@@ -228,11 +228,11 @@ while (($file = readdir($handle))!==false)
print "<td align=\"center\">"; print "<td align=\"center\">";
if ($conf->global->DON_ADDON_MODEL == "$name") if ($conf->global->DON_ADDON_MODEL == "$name")
{ {
print img_tick($langs->trans("Default")); print img_picto($langs->trans("Default"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Default").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
print '</td>'; print '</td>';

View File

@@ -1,118 +0,0 @@
<?php
/* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
*
* 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
* \file htdocs/admin/droitpret.php
* \ingroup pret
* \brief Page d'administration/configuration du module DroitPret
* \version $Id$
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/categories/categorie.class.php");
$langs->load("admin");
$langs->load("categories");
if (!$user->admin)
accessforbidden();
// positionne la variable pour le test d'affichage de l'icone
$var=True;
// Action mise a jour ou ajout d'une constante
if ($_POST["action"] == 'update' || $_POST["action"] == 'add')
{
if (! dolibarr_set_const($db, $_POST["constname"],$_POST["constvalue"],$_POST["consttype"],0,isset($_POST["constnote"])?$_POST["constnote"]:'',$conf->entity))
{
print $db->error();
}
else
{
Header("Location: droitpret.php");
exit;
}
}
llxHeader();
/*
* Interface de configuration de certaines variables de la partie adherent
*/
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("PretSetup"),$linkback,'setup');
print "<br>";
print_fiche_titre($langs->trans("MemberMainOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Description").'</td>';
print '<td>'.$langs->trans("Value").'</td>';
print '<td align="center">'.$langs->trans("Action").'</td>';
print "</tr>\n";
$var=true;
$form = new Form($db);
// Categorie
$var=!$var;
print '<form action="droitpret.php" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="constname" value="DROITPRET_CAT">';
print '<input type="hidden" name="consttype" value="chaine">';
print "<tr $bc[$var] class=value><td>".$langs->trans("catActive").'</td><td>';
print $form->select_all_categories(2,$conf->global->DROITPRET_CAT,"constvalue");
print '</td><td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
print "</td></tr>\n";
print '</form>';
// Adresse destination
$var=!$var;
print '<form action="droitpret.php" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="constname" value="DROITPRET_MAIL">';
print '<input type="hidden" name="consttype" value="chaine">';
print "<tr $bc[$var] class=value><td>".$langs->trans("mailDroitPret").'</td>';
print '<td><input type="text" name="constvalue" value="'.$conf->global->DROITPRET_MAIL.'"></td>';
print '<td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
print "</td></tr>\n";
print '</form>';
print '</table>';
print '<br>';
?>

View File

@@ -1,119 +0,0 @@
<?php
/* Copyright (C) 2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2007-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
*
* 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
* \file htdocs/admin/editeur.php
* \ingroup editeur
* \brief Page d'administration/configuration du module Editeur
* \version $Id$
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin");
if (!$user->admin)
accessforbidden();
// Action activation d'un sous module du module adherent
if ($_POST["action"] == 'set')
{
$name = "EDITEUR_LIVRE_FORMAT_".time();
$result=dolibarr_set_const($db, $name, $_POST["format"],'chaine',0,'',$conf->entity);
if ($result < 0)
{
print $db->error();
}
}
// Action desactivation d'un sous module
if ($_GET["action"] == 'unset')
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
$sql.= " WHERE ".$db->decrypt('name');
$sql.= " LIKE 'EDITEUR_LIVRE_FORMAT_%'";
$sql.= " AND rowid='".$_GET["id"]."';";
if ($db->query($sql))
{
Header("Location: editeur.php");
exit;
}
}
/*
* View
*/
llxHeader();
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("Configuration du module Editeur"),$linkback,'setup');
print '<br>';
print '<form action="editeur.php" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="nobordernopadding" width="100%">';
print '<input type="hidden" name="action" value="set">';
print "<tr $bc[$var] class=value><td>".$langs->trans("NewFormat").'</td><td>';
print '<input type="texte" name="format">';
print '</td><td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Add").'" name="Button">';
print "</td></tr>\n";
print '</table>';
print '</form>';
print '<br>';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Formats").'</td>';
print '<td align="center" width="80">'.$langs->trans("Action").'</td>';
print "</tr>\n";
$var=true;
$sql = "SELECT";
$sql.= " rowid";
$sql.= ", ".$db->decrypt('value')." as value";
$sql.= " FROM ".MAIN_DB_PREFIX."const";
$sql.= " WHERE ".$db->decrypt('name');
$sql.= " LIKE 'EDITEUR_LIVRE_FORMAT_%'";
$result = $db->query($sql);
while ($obj = $db->fetch_object($result) )
{
$var=!$var;
print "<tr $bc[$var]><td>".nl2br($obj->value)."</td>\n";
print '<td align="center">';
print '<a href="editeur.php?action=unset&id='.$obj->rowid.'">'.$langs->trans('Delete').'</a>';
print "</td></tr>\n";
}
print '</table>';
$db->close();
llxFooter('$Date$ - $Revision$');
?>

View File

@@ -19,13 +19,14 @@
* $Id$ * $Id$
*/ */
/** \file htdocs/admin/energie.php /**
\ingroup energie * \file htdocs/admin/energie.php
\brief Page d'administration/configuration du module de gestion de l'energie * \ingroup energie
\version $Revision$ * \brief Page d'administration/configuration du module de gestion de l'energie
*/ * \version $Revision$
*/
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");

View File

@@ -23,7 +23,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/agenda.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/agenda.lib.php");

View File

@@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2003-2008 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2008 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
@@ -22,13 +22,13 @@
*/ */
/** /**
\file htdocs/admin/expedition.php * \file htdocs/admin/expedition.php
\ingroup expedition * \ingroup expedition
\brief Page d'administration/configuration du module Expedition * \brief Page d'administration/configuration du module Expedition
\version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/expedition/expedition.class.php'); require_once(DOL_DOCUMENT_ROOT.'/expedition/expedition.class.php');
@@ -97,7 +97,7 @@ if ($_GET["action"] == 'del')
$sql.= " WHERE nom = '".$_GET["value"]."'"; $sql.= " WHERE nom = '".$_GET["value"]."'";
$sql.= " AND type = '".$type."'"; $sql.= " AND type = '".$type."'";
$sql.= " AND entity = ".$conf->entity; $sql.= " AND entity = ".$conf->entity;
if ($db->query($sql)) if ($db->query($sql))
{ {
@@ -141,12 +141,12 @@ if ($_GET["action"] == 'setmethod' || $_GET["action"] == 'setmod')
require_once(DOL_DOCUMENT_ROOT."/includes/modules/expedition/methode_expedition_$module.modules.php"); require_once(DOL_DOCUMENT_ROOT."/includes/modules/expedition/methode_expedition_$module.modules.php");
$class = "methode_expedition_$module"; $classname = "methode_expedition_$module";
$expem = new $class($db); $expem = new $classname($db);
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."expedition_methode"; $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."expedition_methode";
$sql.= " WHERE rowid = ".$moduleid; $sql.= " WHERE rowid = ".$moduleid;
$resql = $db->query($sql); $resql = $db->query($sql);
if ($resql && ($statut == 1 || $_GET["action"] == 'setmod')) if ($resql && ($statut == 1 || $_GET["action"] == 'setmod'))
{ {
@@ -155,7 +155,7 @@ if ($_GET["action"] == 'setmethod' || $_GET["action"] == 'setmod')
$sqlu = "UPDATE ".MAIN_DB_PREFIX."expedition_methode"; $sqlu = "UPDATE ".MAIN_DB_PREFIX."expedition_methode";
$sqlu.= " SET statut=1"; $sqlu.= " SET statut=1";
$sqlu.= " WHERE rowid=".$moduleid; $sqlu.= " WHERE rowid=".$moduleid;
$result=$db->query($sqlu); $result=$db->query($sqlu);
if ($result) if ($result)
{ {
@@ -288,7 +288,7 @@ print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td width="140">'.$langs->trans("Name").'</td>'; print '<td width="140">'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td align="center" width="60">'.$langs->trans("Activated").'</td>'; print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="60">'.$langs->trans("Default").'</td>'; print '<td align="center" width="60">'.$langs->trans("Default").'</td>';
print '<td align="center" width="32" colspan="2">'.$langs->trans("Infos").'</td>'; print '<td align="center" width="32" colspan="2">'.$langs->trans("Infos").'</td>';
print "</tr>\n"; print "</tr>\n";
@@ -319,26 +319,26 @@ if(is_dir($dir))
print $module->description; print $module->description;
print '</td>'; print '</td>';
// Activ // Active
if (in_array($name, $def)) if (in_array($name, $def))
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
if ($conf->global->EXPEDITION_ADDON_PDF != $name) if ($conf->global->EXPEDITION_ADDON_PDF != $name)
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">';
print img_tick($langs->trans("Disable")); print img_picto($langs->trans("Activated"),'on');
print '</a>'; print '</a>';
} }
else else
{ {
print img_tick($langs->trans("Activated")); print img_picto($langs->trans("Activated"),'on');
} }
print "</td>"; print "</td>";
} }
else else
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
print "</td>"; print "</td>";
} }
@@ -346,11 +346,11 @@ if(is_dir($dir))
print "<td align=\"center\">"; print "<td align=\"center\">";
if ($conf->global->EXPEDITION_ADDON_PDF == $name) if ($conf->global->EXPEDITION_ADDON_PDF == $name)
{ {
print img_tick($langs->trans("Default")); print img_picto($langs->trans("Default"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Default").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
print '</td>'; print '</td>';
@@ -378,10 +378,6 @@ else
} }
print '</table>'; print '</table>';
/*
*
*
*/
$db->close(); $db->close();

View File

@@ -27,7 +27,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
include_once(MAGPIERSS_PATH."rss_fetch.inc"); include_once(MAGPIERSS_PATH."rss_fetch.inc");
@@ -40,7 +40,7 @@ $def = array();
$lastexternalrss=0; $lastexternalrss=0;
// positionne la variable pour le nombre de rss externes // positionne la variable pour le nombre de rss externes
$sql ="select MAX(name) name from ".MAIN_DB_PREFIX."const"; $sql ="select MAX(name) as name from ".MAIN_DB_PREFIX."const";
$sql.=" WHERE name like 'EXTERNAL_RSS_URLRSS_%'"; $sql.=" WHERE name like 'EXTERNAL_RSS_URLRSS_%'";
$result=$db->query($sql); $result=$db->query($sql);
if ($result) if ($result)

View File

@@ -23,13 +23,13 @@
/** /**
* \file htdocs/admin/facture.php * \file htdocs/admin/facture.php
* \ingroup facture * \ingroup facture
* \brief Page d'administration/configuration du module Facture * \brief Page to setup invoice module
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/facture.class.php'); require_once(DOL_DOCUMENT_ROOT.'/compta/facture/facture.class.php');
$langs->load("admin"); $langs->load("admin");
$langs->load("companies"); $langs->load("companies");
@@ -190,7 +190,7 @@ if ($_GET["action"] == 'delete')
/* /*
* View page * View
*/ */
llxHeader("",$langs->trans("BillsSetup"),'EN:Invoice_Configuration|FR:Configuration_module_facture|ES:ConfiguracionFactura'); llxHeader("",$langs->trans("BillsSetup"),'EN:Invoice_Configuration|FR:Configuration_module_facture|ES:ConfiguracionFactura');
@@ -223,7 +223,7 @@ print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>'; print '<td>'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td nowrap>'.$langs->trans("Example").'</td>'; print '<td nowrap>'.$langs->trans("Example").'</td>';
print '<td align="center" width="60">'.$langs->trans("Default").'</td>'; print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="16">'.$langs->trans("Infos").'</td>'; print '<td align="center" width="16">'.$langs->trans("Infos").'</td>';
print '</tr>'."\n"; print '</tr>'."\n";
@@ -273,11 +273,11 @@ foreach ($conf->file->dol_document_root as $dirroot)
print '<td align="center">'; print '<td align="center">';
if ($conf->global->FACTURE_ADDON == "$file") if ($conf->global->FACTURE_ADDON == "$file")
{ {
print img_tick($langs->trans("Activated")); print img_picto($langs->trans("Activated"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$file.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Default").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$file.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
print '</td>'; print '</td>';
@@ -367,7 +367,7 @@ print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>'; print '<td>'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td align="center" width="60">'.$langs->trans("Activated").'</td>'; print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="60">'.$langs->trans("Default").'</td>'; print '<td align="center" width="60">'.$langs->trans("Default").'</td>';
print '<td align="center" width="32" colspan="2">'.$langs->trans("Infos").'</td>'; print '<td align="center" width="32" colspan="2">'.$langs->trans("Infos").'</td>';
print "</tr>\n"; print "</tr>\n";
@@ -409,19 +409,19 @@ foreach ($conf->file->dol_document_root as $dirroot)
if ($conf->global->FACTURE_ADDON_PDF != "$name") if ($conf->global->FACTURE_ADDON_PDF != "$name")
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">';
print img_tick($langs->trans("Disable")); print img_picto($langs->trans("Enabled"),'on');
print '</a>'; print '</a>';
} }
else else
{ {
print img_tick($langs->trans("Enabled")); print img_picto($langs->trans("Enabled"),'on');
} }
print "</td>"; print "</td>";
} }
else else
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
print "</td>"; print "</td>";
} }
@@ -429,11 +429,11 @@ foreach ($conf->file->dol_document_root as $dirroot)
print "<td align=\"center\">"; print "<td align=\"center\">";
if ($conf->global->FACTURE_ADDON_PDF == "$name") if ($conf->global->FACTURE_ADDON_PDF == "$name")
{ {
print img_tick($langs->trans("Default")); print img_picto($langs->trans("Default"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Default").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
print '</td>'; print '</td>';

View File

@@ -20,13 +20,13 @@
*/ */
/** /**
\file htdocs/admin/fckeditor.php * \file htdocs/admin/fckeditor.php
\ingroup fckeditor * \ingroup fckeditor
\brief Page d'activation du module FCKeditor dans les autres modules * \brief Page d'activation du module FCKeditor dans les autres modules
\version $Revision$ * \version $Revision$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
$langs->load("admin"); $langs->load("admin");

View File

@@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
@@ -28,7 +28,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/fichinter/fichinter.class.php'); require_once(DOL_DOCUMENT_ROOT.'/fichinter/fichinter.class.php');
@@ -190,7 +190,7 @@ print '<tr class="liste_titre">';
print '<td width="100">'.$langs->trans("Name").'</td>'; print '<td width="100">'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td>'.$langs->trans("Example").'</td>'; print '<td>'.$langs->trans("Example").'</td>';
print '<td align="center" width="60">'.$langs->trans("Activated").'</td>'; print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="16">'.$langs->trans("Infos").'</td>'; print '<td align="center" width="16">'.$langs->trans("Infos").'</td>';
print "</tr>\n"; print "</tr>\n";
@@ -206,7 +206,7 @@ if ($handle)
if (preg_match('/^(mod_.*)\.php$/i',$file,$reg)) if (preg_match('/^(mod_.*)\.php$/i',$file,$reg))
{ {
$file = $reg[1]; $file = $reg[1];
$className = substr($file,4); $classname = substr($file,4);
require_once($dir.$file.".php"); require_once($dir.$file.".php");
@@ -227,13 +227,13 @@ if ($handle)
print '<td nowrap="nowrap">'.$module->getExample()."</td>\n"; print '<td nowrap="nowrap">'.$module->getExample()."</td>\n";
print '<td align="center">'; print '<td align="center">';
if ($conf->global->FICHEINTER_ADDON == $className) if ($conf->global->FICHEINTER_ADDON == $classname)
{ {
print img_tick($langs->trans("Activated")); print img_picto($langs->trans("Activated"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$className.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Default").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$classname.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
print '</td>'; print '</td>';
@@ -294,7 +294,7 @@ print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>'; print '<td>'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td align="center" width="60">'.$langs->trans("Activated")."</td>\n"; print '<td align="center" width="60">'.$langs->trans("Status")."</td>\n";
print '<td align="center" width="60">'.$langs->trans("Default")."</td>\n"; print '<td align="center" width="60">'.$langs->trans("Default")."</td>\n";
print '<td align="center" width="32" colspan="2">'.$langs->trans("Infos").'</td>'; print '<td align="center" width="32" colspan="2">'.$langs->trans("Infos").'</td>';
print "</tr>\n"; print "</tr>\n";
@@ -328,19 +328,19 @@ while (($file = readdir($handle))!==false)
if ($conf->global->FICHEINTER_ADDON_PDF != "$name") if ($conf->global->FICHEINTER_ADDON_PDF != "$name")
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">';
print img_tick($langs->trans("Disable")); print img_picto($langs->trans("Enabled"),'on');
print '</a>'; print '</a>';
} }
else else
{ {
print img_tick($langs->trans("Enabled")); print img_picto($langs->trans("Enabled"),'on');
} }
print "</td>"; print "</td>";
} }
else else
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
print "</td>"; print "</td>";
} }
@@ -348,11 +348,11 @@ while (($file = readdir($handle))!==false)
print "<td align=\"center\">"; print "<td align=\"center\">";
if ($conf->global->FICHEINTER_ADDON_PDF == "$name") if ($conf->global->FICHEINTER_ADDON_PDF == "$name")
{ {
print img_tick($langs->trans("Default")); print img_picto($langs->trans("Default"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Default").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
print '</td>'; print '</td>';

View File

@@ -21,13 +21,13 @@
*/ */
/** /**
\file htdocs/admin/fournisseur.php * \file htdocs/admin/fournisseur.php
\ingroup fournisseur * \ingroup fournisseur
\brief Page d'administration-configuration du module Fournisseur * \brief Page d'administration-configuration du module Fournisseur
\version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/fourn/fournisseur.class.php'); require_once(DOL_DOCUMENT_ROOT.'/fourn/fournisseur.class.php');
require_once(DOL_DOCUMENT_ROOT.'/fourn/fournisseur.commande.class.php'); require_once(DOL_DOCUMENT_ROOT.'/fourn/fournisseur.commande.class.php');
@@ -71,8 +71,8 @@ if ($_GET["action"] == 'specimen')
if ($obj->write_file($commande,$langs) > 0) if ($obj->write_file($commande,$langs) > 0)
{ {
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=commande_fournisseur&file=SPECIMEN.pdf"); header("Location: ".DOL_URL_ROOT."/document.php?modulepart=commande_fournisseur&file=SPECIMEN.pdf");
return; return;
} }
else else
{ {
@@ -177,7 +177,7 @@ print '<tr class="liste_titre">';
print '<td width="100">'.$langs->trans("Name").'</td>'; print '<td width="100">'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td>'.$langs->trans("Example").'</td>'; print '<td>'.$langs->trans("Example").'</td>';
print '<td align="center" width="60">'.$langs->trans("Activated").'</td>'; print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="16">'.$langs->trans("Info").'</td>'; print '<td align="center" width="16">'.$langs->trans("Info").'</td>';
print "</tr>\n"; print "</tr>\n";
@@ -215,11 +215,11 @@ if ($handle)
print '<td align="center">'; print '<td align="center">';
if ($conf->global->COMMANDE_SUPPLIER_ADDON == "$file") if ($conf->global->COMMANDE_SUPPLIER_ADDON == "$file")
{ {
print img_tick($langs->trans("Activated")); print img_picto($langs->trans("Activated"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$file.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Activate").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$file.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
} }
print '</td>'; print '</td>';
@@ -296,7 +296,7 @@ print "<table class=\"noborder\" width=\"100%\">\n";
print "<tr class=\"liste_titre\">\n"; print "<tr class=\"liste_titre\">\n";
print ' <td width="100">'.$langs->trans("Name")."</td>\n"; print ' <td width="100">'.$langs->trans("Name")."</td>\n";
print " <td>".$langs->trans("Description")."</td>\n"; print " <td>".$langs->trans("Description")."</td>\n";
print '<td align="center" width="60">'.$langs->trans("Activated")."</td>\n"; print '<td align="center" width="60">'.$langs->trans("Status")."</td>\n";
print '<td align="center" width="60">'.$langs->trans("Default")."</td>\n"; print '<td align="center" width="60">'.$langs->trans("Default")."</td>\n";
print '<td align="center" width="32" colspan="2">'.$langs->trans("Info").'</td>'; print '<td align="center" width="32" colspan="2">'.$langs->trans("Info").'</td>';
print "</tr>\n"; print "</tr>\n";
@@ -324,35 +324,35 @@ while (($file = readdir($handle))!==false)
// Active // Active
if (in_array($name, $def)) if (in_array($name, $def))
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
if ($conf->global->COMMANDE_SUPPLIER_ADDON_PDF != "$name") if ($conf->global->COMMANDE_SUPPLIER_ADDON_PDF != "$name")
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'">';
print img_tick($langs->trans("Disable")); print img_picto($langs->trans("Enabled"),'on');
print '</a>'; print '</a>';
} }
else else
{ {
print img_tick($langs->trans("Enabled")); print img_picto($langs->trans("Enabled"),'on');
} }
print "</td>"; print "</td>";
} }
else else
{ {
print "<td align=\"center\">\n"; print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>';
print "</td>"; print "</td>";
} }
// Defaut // Defaut
print "<td align=\"center\">"; print "<td align=\"center\">";
if ($conf->global->COMMANDE_SUPPLIER_ADDON_PDF == "$name") if ($conf->global->COMMANDE_SUPPLIER_ADDON_PDF == "$name")
{ {
print img_tick($langs->trans("Default")); print img_picto($langs->trans("Default"),'on');
} }
else else
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.$langs->trans("Default").'</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'on').'</a>';
} }
print '</td>'; print '</td>';

View File

@@ -23,7 +23,7 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/dolgeoip.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/dolgeoip.class.php");

View File

@@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -24,12 +24,14 @@
* \version $Id$ * \version $Id$
*/ */
require("./pre.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php");
$langs->load("admin"); $langs->load("admin");
$langs->load("languages");
$langs->load("other"); $langs->load("other");
$langs->load("companies"); $langs->load("companies");
@@ -302,7 +304,11 @@ else // Show
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td><td>&nbsp;</td></tr>'; print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td><td>&nbsp;</td></tr>';
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("DefaultLanguage").'</td><td>' . ($conf->global->MAIN_LANG_DEFAULT=='auto'?$langs->trans("AutoDetectLang"):$conf->global->MAIN_LANG_DEFAULT) . '</td>'; print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("DefaultLanguage").'</td><td>';
$s=picto_from_langcode($conf->global->MAIN_LANG_DEFAULT);
print ($s?$s.' ':'');
print ($conf->global->MAIN_LANG_DEFAULT=='auto'?$langs->trans("AutoDetectLang"):$langs->trans("Language_".$conf->global->MAIN_LANG_DEFAULT));
print '</td>';
print '<td width="20">&nbsp;</td>'; print '<td width="20">&nbsp;</td>';
print "</tr>"; print "</tr>";
@@ -373,7 +379,7 @@ else // Show
print '<br>'; print '<br>';
// Liste des zone de recherche permanantes support<EFBFBD>es // Liste des zone de recherches permanentes supportees
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td width="35%">'.$langs->trans("PermanentLeftSearchForm").'</td><td>'.$langs->trans("Activated").'</td><td>&nbsp;</td></tr>'; print '<tr class="liste_titre"><td width="35%">'.$langs->trans("PermanentLeftSearchForm").'</td><td>'.$langs->trans("Activated").'</td><td>&nbsp;</td></tr>';
$var=true; $var=true;

Some files were not shown because too many files have changed in this diff Show More