2004-10-19 20:58:50 +02:00
< ? php
2005-01-09 19:22:15 +01:00
/* Copyright ( C ) 2004 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
2008-02-17 16:20:47 +01:00
* Copyright ( C ) 2004 - 2008 Laurent Destailleur < eldy @ users . sourceforge . net >
2005-01-09 19:22:15 +01:00
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
2007-11-01 21:39:36 +01:00
* Copyright ( C ) 2005 - 2007 Regis Houssin < regis @ dolibarr . fr >
2004-02-16 13:22:32 +01:00
*
* 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 .
*/
2004-08-29 14:01:58 +02:00
2005-04-07 02:10:34 +02:00
/**
\file htdocs / admin / dict . php
2004-08-29 14:01:58 +02:00
\ingroup setup
2008-05-28 00:30:52 +02:00
\brief Page to administer data tables
2008-02-17 16:07:11 +01:00
\version $Id $
2004-08-29 14:01:58 +02:00
*/
2004-02-16 13:22:32 +01:00
require ( " ./pre.inc.php " );
2006-01-18 21:10:08 +01:00
$langs -> load ( " other " );
2004-08-08 20:22:01 +02:00
$langs -> load ( " admin " );
2004-08-20 03:29:39 +02:00
$langs -> load ( " companies " );
2004-08-08 20:22:01 +02:00
2004-08-29 14:01:58 +02:00
if ( ! $user -> admin )
accessforbidden ();
2004-08-08 20:22:01 +02:00
$acts [ 0 ] = " activate " ;
$acts [ 1 ] = " disable " ;
$actl [ 0 ] = $langs -> trans ( " Activate " );
$actl [ 1 ] = $langs -> trans ( " Disable " );
2004-02-16 13:22:32 +01:00
2004-06-09 20:37:17 +02:00
$active = 1 ;
2008-03-19 01:39:42 +01:00
// Cette page est une page d'<27> dition g<> n<EFBFBD> rique des dictionnaires de donn<6E> es
// Mettre ici tous les caract<63> ristiques des dictionnaires
2004-06-26 19:13:30 +02:00
2004-10-31 14:00:04 +01:00
// Ordres d'affichage des dictionnaires (0 pour espace)
2008-05-28 00:30:52 +02:00
$taborder = array ( 9 , 0 , 4 , 3 , 2 , 0 , 1 , 8 , 16 , 0 , 5 , 11 , 0 , 6 , 0 , 10 , 12 , 13 , 0 , 14 , 0 , 7 , 17 , 0 , 15 );
2004-10-31 14:00:04 +01:00
2004-06-26 19:13:30 +02:00
// Nom des tables des dictionnaires
2004-08-08 20:22:01 +02:00
$tabname [ 1 ] = MAIN_DB_PREFIX . " c_forme_juridique " ;
$tabname [ 2 ] = MAIN_DB_PREFIX . " c_departements " ;
$tabname [ 3 ] = MAIN_DB_PREFIX . " c_regions " ;
$tabname [ 4 ] = MAIN_DB_PREFIX . " c_pays " ;
$tabname [ 5 ] = MAIN_DB_PREFIX . " c_civilite " ;
$tabname [ 6 ] = MAIN_DB_PREFIX . " c_actioncomm " ;
2004-10-03 20:31:51 +02:00
$tabname [ 7 ] = MAIN_DB_PREFIX . " c_chargesociales " ;
2005-05-14 02:54:19 +02:00
$tabname [ 8 ] = MAIN_DB_PREFIX . " c_typent " ;
2005-07-09 14:18:42 +02:00
$tabname [ 9 ] = MAIN_DB_PREFIX . " c_currencies " ;
2005-08-20 00:32:32 +02:00
$tabname [ 10 ] = MAIN_DB_PREFIX . " c_tva " ;
2005-09-08 00:43:44 +02:00
$tabname [ 11 ] = MAIN_DB_PREFIX . " c_type_contact " ;
2005-10-04 02:10:41 +02:00
$tabname [ 12 ] = MAIN_DB_PREFIX . " cond_reglement " ;
2006-02-25 02:26:19 +01:00
$tabname [ 13 ] = MAIN_DB_PREFIX . " c_paiement " ;
2007-07-24 17:14:12 +02:00
$tabname [ 14 ] = MAIN_DB_PREFIX . " c_ecotaxe " ;
2007-09-30 19:55:29 +02:00
$tabname [ 15 ] = MAIN_DB_PREFIX . " c_paper_format " ;
2008-03-02 20:55:43 +01:00
$tabname [ 16 ] = MAIN_DB_PREFIX . " c_prospectlevel " ;
2008-05-28 00:30:52 +02:00
$tabname [ 17 ] = MAIN_DB_PREFIX . " c_type_fees " ;
2004-02-16 13:22:32 +01:00
2008-03-19 01:39:42 +01:00
// Libell<6C> des dictionnaires
2005-05-14 02:54:19 +02:00
$tablib [ 1 ] = $langs -> trans ( " DictionnaryCompanyJuridicalType " );
2004-08-08 20:22:01 +02:00
$tablib [ 2 ] = $langs -> trans ( " DictionnaryCanton " );
$tablib [ 3 ] = $langs -> trans ( " DictionnaryRegion " );
$tablib [ 4 ] = $langs -> trans ( " DictionnaryCountry " );
$tablib [ 5 ] = $langs -> trans ( " DictionnaryCivility " );
$tablib [ 6 ] = $langs -> trans ( " DictionnaryActions " );
2004-10-03 20:31:51 +02:00
$tablib [ 7 ] = $langs -> trans ( " DictionnarySocialContributions " );
2005-05-14 02:54:19 +02:00
$tablib [ 8 ] = $langs -> trans ( " DictionnaryCompanyType " );
2005-07-09 14:18:42 +02:00
$tablib [ 9 ] = $langs -> trans ( " DictionnaryCurrency " );
2005-08-20 00:32:32 +02:00
$tablib [ 10 ] = $langs -> trans ( " DictionnaryVAT " );
2005-09-08 00:43:44 +02:00
$tablib [ 11 ] = $langs -> trans ( " DictionnaryTypeContact " );
2005-10-04 02:10:41 +02:00
$tablib [ 12 ] = $langs -> trans ( " DictionnaryPaymentConditions " );
2006-02-25 02:26:19 +01:00
$tablib [ 13 ] = $langs -> trans ( " DictionnaryPaymentModes " );
2007-07-24 17:14:12 +02:00
$tablib [ 14 ] = $langs -> trans ( " DictionnaryEcotaxe " );
2007-09-30 19:55:29 +02:00
$tablib [ 15 ] = $langs -> trans ( " DictionnaryPaperFormat " );
2008-03-02 20:55:43 +01:00
$tablib [ 16 ] = $langs -> trans ( " DictionnaryProspectLevel " );
2008-05-28 00:30:52 +02:00
$tablib [ 17 ] = $langs -> trans ( " DictionnaryFees " );
2004-02-16 13:22:32 +01:00
2008-03-19 01:39:42 +01:00
// Requete pour extraction des donn<6E> es des dictionnaires
2005-09-08 00:43:44 +02:00
$tabsql [ 1 ] = " SELECT f.rowid as rowid, f.code, f.libelle, p.libelle as pays, f.active FROM " . MAIN_DB_PREFIX . " c_forme_juridique as f, " . MAIN_DB_PREFIX . " c_pays as p WHERE f.fk_pays=p.rowid " ;
2007-07-23 20:07:27 +02:00
$tabsql [ 2 ] = " SELECT d.rowid as rowid, d.code_departement as code , d.nom as libelle, d.fk_region as region_id, r.nom as region, p.libelle as pays, d.active FROM " . MAIN_DB_PREFIX . " c_departements as d, " . MAIN_DB_PREFIX . " c_regions as r, " . MAIN_DB_PREFIX . " c_pays as p WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid and r.active=1 and p.active=1 " ;
2007-07-24 12:35:22 +02:00
$tabsql [ 3 ] = " SELECT r.rowid as rowid, code_region as code , nom as libelle, r.fk_pays as pays_id, p.libelle as pays, r.active FROM " . MAIN_DB_PREFIX . " c_regions as r, " . MAIN_DB_PREFIX . " c_pays as p WHERE r.fk_pays=p.rowid and p.active=1 " ;
2005-09-08 00:43:44 +02:00
$tabsql [ 4 ] = " SELECT rowid as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_pays " ;
$tabsql [ 5 ] = " SELECT c.rowid as rowid, c.code as code, c.civilite AS libelle, c.active FROM " . MAIN_DB_PREFIX . " c_civilite AS c " ;
$tabsql [ 6 ] = " SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active FROM " . MAIN_DB_PREFIX . " c_actioncomm AS a " ;
2007-11-12 00:04:02 +01:00
$tabsql [ 7 ] = " SELECT a.id as rowid, a.id as code, a.libelle AS libelle, a.deductible, a.actioncompta, a.active FROM " . MAIN_DB_PREFIX . " c_chargesociales AS a " ;
2005-09-08 00:43:44 +02:00
$tabsql [ 8 ] = " SELECT id as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_typent " ;
2006-01-19 23:28:42 +01:00
$tabsql [ 9 ] = " SELECT code, code_iso, label as libelle, active FROM " . MAIN_DB_PREFIX . " c_currencies " ;
2007-11-21 17:51:39 +01:00
$tabsql [ 10 ] = " SELECT t.rowid, t.taux, p.libelle as pays, 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 " ;
2005-09-17 19:38:02 +02:00
$tabsql [ 11 ] = " SELECT t.rowid as rowid, element, source, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_type_contact AS t " ;
2007-07-24 17:14:12 +02:00
$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 " ;
2006-02-25 02:26:19 +01:00
$tabsql [ 13 ] = " SELECT id as rowid, code, c.libelle, type, active FROM " . MAIN_DB_PREFIX . " c_paiement AS c " ;
2007-07-24 17:14:12 +02:00
$tabsql [ 14 ] = " SELECT e.rowid as rowid, e.code as code, e.libelle, e.price, e.organization, e.fk_pays as pays_id, p.libelle as pays, e.active FROM " . MAIN_DB_PREFIX . " c_ecotaxe AS e, " . MAIN_DB_PREFIX . " c_pays as p WHERE e.fk_pays=p.rowid and p.active=1 " ;
2007-09-30 19:55:29 +02:00
$tabsql [ 15 ] = " SELECT rowid as rowid, code, label as libelle, width, height, unit, active FROM " . MAIN_DB_PREFIX . " c_paper_format " ;
2008-03-02 20:55:43 +01:00
$tabsql [ 16 ] = " SELECT code, label as libelle, active FROM " . MAIN_DB_PREFIX . " c_prospectlevel " ;
2008-05-28 00:30:52 +02:00
$tabsql [ 17 ] = " SELECT id as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_type_fees " ;
2004-06-26 19:13:30 +02:00
2006-08-12 19:53:18 +02:00
// Critere de tri du dictionnaire
2005-08-20 00:32:32 +02:00
$tabsqlsort [ 1 ] = " pays, code ASC " ;
$tabsqlsort [ 2 ] = " pays, code ASC " ;
$tabsqlsort [ 3 ] = " pays, code ASC " ;
$tabsqlsort [ 4 ] = " libelle ASC " ;
$tabsqlsort [ 5 ] = " libelle ASC " ;
$tabsqlsort [ 6 ] = " a.type ASC, a.code ASC " ;
$tabsqlsort [ 7 ] = " a.libelle ASC " ;
$tabsqlsort [ 8 ] = " libelle ASC " ;
$tabsqlsort [ 9 ] = " code ASC " ;
$tabsqlsort [ 10 ] = " pays ASC, taux ASC, recuperableonly ASC " ;
2005-09-17 19:38:02 +02:00
$tabsqlsort [ 11 ] = " element ASC, source ASC, code ASC " ;
2005-10-04 02:10:41 +02:00
$tabsqlsort [ 12 ] = " sortorder ASC, code ASC " ;
2006-02-25 02:26:19 +01:00
$tabsqlsort [ 13 ] = " code ASC " ;
2007-07-24 17:14:12 +02:00
$tabsqlsort [ 14 ] = " pays, e.organization ASC, code ASC " ;
2007-09-30 19:55:29 +02:00
$tabsqlsort [ 15 ] = " rowid ASC " ;
2008-03-02 20:55:43 +01:00
$tabsqlsort [ 16 ] = " sortorder ASC " ;
2008-05-28 00:30:52 +02:00
$tabsqlsort [ 17 ] = " code ASC " ;
2004-08-08 20:22:01 +02:00
// Nom des champs en resultat de select pour affichage du dictionnaire
2004-06-11 02:13:15 +02:00
$tabfield [ 1 ] = " code,libelle,pays " ;
2007-07-23 20:07:27 +02:00
$tabfield [ 2 ] = " code,libelle,region_id,region " ; // "code,libelle,region"
2007-07-24 12:35:22 +02:00
$tabfield [ 3 ] = " code,libelle,pays_id,pays " ;
2004-06-09 20:37:17 +02:00
$tabfield [ 4 ] = " code,libelle " ;
2004-09-18 19:17:19 +02:00
$tabfield [ 5 ] = " code,libelle " ;
$tabfield [ 6 ] = " code,libelle,type " ;
2007-11-12 00:04:02 +01:00
$tabfield [ 7 ] = " libelle,deductible,actioncompta " ;
2005-05-14 02:54:19 +02:00
$tabfield [ 8 ] = " code,libelle " ;
2006-01-19 23:28:42 +01:00
$tabfield [ 9 ] = " code,code_iso,libelle " ;
2007-11-21 17:51:39 +01:00
$tabfield [ 10 ] = " pays_id,pays,taux,recuperableonly,note " ;
2005-09-17 19:38:02 +02:00
$tabfield [ 11 ] = " element,source,code,libelle " ;
2006-04-20 20:57:38 +02:00
$tabfield [ 12 ] = " code,libelle,libelle_facture,nbjour,fdm,decalage " ;
2006-02-25 02:26:19 +01:00
$tabfield [ 13 ] = " code,libelle,type " ;
2007-07-24 17:14:12 +02:00
$tabfield [ 14 ] = " code,libelle,price,organization,pays_id,pays " ;
2007-09-30 19:55:29 +02:00
$tabfield [ 15 ] = " code,libelle,width,height,unit " ;
2008-03-02 20:55:43 +01:00
$tabfield [ 16 ] = " code,libelle " ;
2008-05-28 00:30:52 +02:00
$tabfield [ 17 ] = " code,libelle " ;
2004-02-16 13:22:32 +01:00
2008-05-28 00:30:52 +02:00
// Nom des champs d'edition pour modification du dictionnaire
2007-07-24 12:35:22 +02:00
$tabfieldvalue [ 1 ] = " code,libelle,pays " ;
$tabfieldvalue [ 2 ] = " code,libelle,region " ; // "code,libelle,region"
$tabfieldvalue [ 3 ] = " code,libelle,pays " ;
$tabfieldvalue [ 4 ] = " code,libelle " ;
$tabfieldvalue [ 5 ] = " code,libelle " ;
$tabfieldvalue [ 6 ] = " code,libelle,type " ;
2007-11-12 00:04:02 +01:00
$tabfieldvalue [ 7 ] = " libelle,deductible,actioncompta " ;
2007-07-24 12:35:22 +02:00
$tabfieldvalue [ 8 ] = " code,libelle " ;
$tabfieldvalue [ 9 ] = " code,code_iso,libelle " ;
$tabfieldvalue [ 10 ] = " pays,taux,recuperableonly,note " ;
$tabfieldvalue [ 11 ] = " element,source,code,libelle " ;
$tabfieldvalue [ 12 ] = " code,libelle,libelle_facture,nbjour,fdm,decalage " ;
$tabfieldvalue [ 13 ] = " code,libelle,type " ;
2007-07-24 17:14:12 +02:00
$tabfieldvalue [ 14 ] = " code,libelle,price,organization,pays " ;
2007-09-30 19:55:29 +02:00
$tabfieldvalue [ 15 ] = " code,libelle,width,height,unit " ;
2008-03-02 20:55:43 +01:00
$tabfieldvalue [ 16 ] = " code,libelle " ;
2008-05-28 00:30:52 +02:00
$tabfieldvalue [ 17 ] = " code,libelle " ;
2007-07-24 12:35:22 +02:00
2004-08-08 20:22:01 +02:00
// Nom des champs dans la table pour insertion d'un enregistrement
$tabfieldinsert [ 1 ] = " code,libelle,fk_pays " ;
$tabfieldinsert [ 2 ] = " code_departement,nom,fk_region " ;
$tabfieldinsert [ 3 ] = " code_region,nom,fk_pays " ;
$tabfieldinsert [ 4 ] = " code,libelle " ;
2004-09-18 19:17:19 +02:00
$tabfieldinsert [ 5 ] = " code,civilite " ;
$tabfieldinsert [ 6 ] = " code,libelle,type " ;
2007-11-12 00:04:02 +01:00
$tabfieldinsert [ 7 ] = " libelle,deductible,actioncompta " ;
2005-05-14 02:54:19 +02:00
$tabfieldinsert [ 8 ] = " code,libelle " ;
2007-10-31 13:17:31 +01:00
$tabfieldinsert [ 9 ] = " code,code_iso,label " ;
2005-08-20 00:32:32 +02:00
$tabfieldinsert [ 10 ] = " fk_pays,taux,recuperableonly,note " ;
2005-09-17 19:38:02 +02:00
$tabfieldinsert [ 11 ] = " element,source,code,libelle " ;
2006-04-20 20:57:38 +02:00
$tabfieldinsert [ 12 ] = " code,libelle,libelle_facture,nbjour,fdm,decalage " ;
2006-03-16 10:40:49 +01:00
$tabfieldinsert [ 13 ] = " code,libelle,type " ;
2007-07-24 17:14:12 +02:00
$tabfieldinsert [ 14 ] = " code,libelle,price,organization,fk_pays " ;
2007-09-30 19:55:29 +02:00
$tabfieldinsert [ 15 ] = " code,label,width,height,unit " ;
2008-03-02 20:55:43 +01:00
$tabfieldinsert [ 16 ] = " code,label " ;
2008-05-28 00:30:52 +02:00
$tabfieldinsert [ 17 ] = " code,libelle " ;
2004-06-26 19:13:30 +02:00
2008-03-19 01:39:42 +01:00
// Nom du rowid si le champ n'est pas de type autoincr<63> ment
2004-08-08 20:22:01 +02:00
$tabrowid [ 1 ] = " " ;
$tabrowid [ 2 ] = " " ;
$tabrowid [ 3 ] = " " ;
$tabrowid [ 4 ] = " rowid " ;
$tabrowid [ 5 ] = " rowid " ;
$tabrowid [ 6 ] = " id " ;
2005-07-09 14:18:42 +02:00
$tabrowid [ 7 ] = " id " ;
2005-05-14 02:54:19 +02:00
$tabrowid [ 8 ] = " id " ;
2006-01-19 23:28:42 +01:00
$tabrowid [ 9 ] = " code " ;
2005-08-20 00:32:32 +02:00
$tabrowid [ 10 ] = " " ;
2005-09-08 00:43:44 +02:00
$tabrowid [ 11 ] = " rowid " ;
2005-10-04 02:10:41 +02:00
$tabrowid [ 12 ] = " rowid " ;
2006-02-25 02:26:19 +01:00
$tabrowid [ 13 ] = " id " ;
2007-07-24 17:14:12 +02:00
$tabrowid [ 14 ] = " " ;
2007-09-30 19:55:29 +02:00
$tabrowid [ 15 ] = " " ;
2008-03-02 20:55:43 +01:00
$tabrowid [ 16 ] = " code " ;
2008-05-28 00:30:52 +02:00
$tabrowid [ 17 ] = " id " ;
2004-06-26 19:13:30 +02:00
2006-08-12 19:53:18 +02:00
// Condition to show dictionnary in setup page
2008-01-14 19:56:33 +01:00
$tabcond [ 1 ] = true ;
2006-08-12 19:53:18 +02:00
$tabcond [ 2 ] = true ;
$tabcond [ 3 ] = true ;
$tabcond [ 4 ] = true ;
$tabcond [ 5 ] = $conf -> societe -> enabled ;
2008-01-14 19:56:33 +01:00
$tabcond [ 6 ] = $conf -> agenda -> enabled ;
2006-08-12 19:53:18 +02:00
$tabcond [ 7 ] = $conf -> tax -> enabled ;
$tabcond [ 8 ] = $conf -> societe -> enabled ;
$tabcond [ 9 ] = true ;
$tabcond [ 10 ] = true ;
$tabcond [ 11 ] = true ;
$tabcond [ 12 ] = $conf -> facture -> enabled || $conf -> fournisseur -> enabled ;
$tabcond [ 13 ] = $conf -> facture -> enabled || $conf -> fournisseur -> enabled ;
2007-07-24 17:14:12 +02:00
$tabcond [ 14 ] = $conf -> produit -> enabled && $conf -> global -> PRODUIT_USE_ECOTAXE ;
2007-09-30 19:55:29 +02:00
$tabcond [ 15 ] = true ;
2008-03-02 20:55:43 +01:00
$tabcond [ 16 ] = $conf -> societe -> enabled ;
2008-05-28 00:30:52 +02:00
$tabcond [ 17 ] = $conf -> deplacement -> enabled ;
2004-02-21 00:37:42 +01:00
2004-08-08 20:22:01 +02:00
$msg = '' ;
2004-10-31 14:00:04 +01:00
$sortfield = $_GET [ " sortfield " ];
2007-07-25 14:00:15 +02:00
$sortorder = $_GET [ " sortorder " ];
2004-10-31 14:00:04 +01:00
2004-10-03 20:31:51 +02:00
/*
2008-05-28 00:30:52 +02:00
* Actions ajout ou modification d ' une entree dans un dictionnaire de donnee
2004-10-03 20:31:51 +02:00
*/
2007-07-23 20:07:27 +02:00
if ( $_POST [ " actionadd " ] || $_POST [ " actionmodify " ])
2005-08-20 00:32:32 +02:00
{
2004-08-08 20:22:01 +02:00
$listfield = split ( ',' , $tabfield [ $_POST [ " id " ]]);
2007-10-31 13:17:31 +01:00
$listfieldinsert = split ( ',' , $tabfieldinsert [ $_POST [ " id " ]]);
2007-07-24 17:14:12 +02:00
$listfieldmodify = split ( ',' , $tabfieldinsert [ $_POST [ " id " ]]);
$listfieldvalue = split ( ',' , $tabfieldvalue [ $_POST [ " id " ]]);
2004-08-08 20:22:01 +02:00
2008-03-19 01:39:42 +01:00
// Verifie que tous les champs sont renseign<67> s
2004-08-08 20:22:01 +02:00
$ok = 1 ;
foreach ( $listfield as $f => $value ) {
if ( ! isset ( $_POST [ $value ]) || $_POST [ $value ] == '' ) {
$ok = 0 ;
2005-05-14 02:54:19 +02:00
$msg .= $langs -> trans ( " ErrorFieldRequired " , $listfield [ $f ]) . '<br>' ;
2004-08-08 20:22:01 +02:00
}
}
// Autres verif
if ( isset ( $_POST [ " code " ]) && $_POST [ " code " ] == '0' ) {
$ok = 0 ;
$msg .= " Le Code ne peut avoir la valeur 0<br> " ;
}
if ( isset ( $_POST [ " pays " ]) && $_POST [ " pays " ] == '0' ) {
$ok = 0 ;
2005-05-14 02:54:19 +02:00
$msg .= $langs -> trans ( " ErrorFieldRequired " , $langs -> trans ( " Country " )) . '<br>' ;
2004-08-08 20:22:01 +02:00
}
2007-07-23 20:07:27 +02:00
// Si verif ok et action add, on ajoute la ligne
if ( $ok && $_POST [ " actionadd " ]) {
2004-08-08 20:22:01 +02:00
if ( $tabrowid [ $_POST [ " id " ]]) {
// Recupere id libre pour insertion
$newid = 0 ;
$sql = " SELECT max( " . $tabrowid [ $_POST [ " id " ]] . " ) newid from " . $tabname [ $_POST [ " id " ]];
$result = $db -> query ( $sql );
if ( $result )
{
2004-10-23 18:55:07 +02:00
$obj = $db -> fetch_object ( $result );
2004-08-08 20:22:01 +02:00
$newid = ( $obj -> newid + 1 );
} else {
dolibarr_print_error ( $db );
}
}
// Add new entry
$sql = " INSERT INTO " . $tabname [ $_POST [ " id " ]] . " ( " ;
2007-10-31 13:17:31 +01:00
// List of fields
if ( $tabrowid [ $_POST [ " id " ]] &&
! in_array ( $tabrowid [ $_POST [ " id " ]], $listfieldinsert )) $sql .= $tabrowid [ $_POST [ " id " ]] . " , " ;
2006-03-16 10:53:19 +01:00
$sql .= $tabfieldinsert [ $_POST [ " id " ]];
2004-08-08 20:22:01 +02:00
$sql .= " ,active) " ;
$sql .= " VALUES( " ;
2007-10-31 13:17:31 +01:00
// List of values
2006-01-19 23:28:42 +01:00
if ( $tabrowid [ $_POST [ " id " ]] &&
2007-10-31 13:17:31 +01:00
! in_array ( $tabrowid [ $_POST [ " id " ]], $listfieldinsert )) $sql .= $newid . " , " ;
2004-08-08 20:22:01 +02:00
$i = 0 ;
2007-10-31 13:17:31 +01:00
foreach ( $listfieldinsert as $f => $value )
{
2007-07-24 17:14:12 +02:00
if ( $value == 'price' ) { $_POST [ $listfieldvalue [ $i ]] = price2num ( $_POST [ $listfieldvalue [ $i ]], 'MU' ); }
2007-10-31 13:17:31 +01:00
if ( $i ) $sql .= " , " ;
$sql .= " ' " . addslashes ( $_POST [ $listfieldvalue [ $i ]]) . " ' " ;
$i ++ ;
2004-08-08 20:22:01 +02:00
}
$sql .= " ,1) " ;
2007-10-31 13:17:31 +01:00
dolibarr_syslog ( " dict actionadd sql= " . $sql );
2004-08-08 20:22:01 +02:00
$result = $db -> query ( $sql );
if ( ! $result )
{
2005-09-17 19:38:02 +02:00
if ( $db -> errno () == 'DB_ERROR_RECORD_ALREADY_EXISTS' ) {
2005-05-14 02:54:19 +02:00
$msg = $langs -> trans ( " ErrorRecordAlreadyExists " ) . '<br>' ;
2004-08-08 20:22:01 +02:00
}
else {
dolibarr_print_error ( $db );
}
}
}
2007-07-23 20:07:27 +02:00
// Si verif ok et action modify, on modifie la ligne
if ( $ok && $_POST [ " actionmodify " ]) {
if ( $tabrowid [ $_POST [ " id " ]]) { $rowidcol = $tabrowid [ $_POST [ " id " ]]; }
else { $rowidcol = " rowid " ; }
// Modify entry
$sql = " UPDATE " . $tabname [ $_POST [ " id " ]] . " SET " ;
// Modifie valeur des champs
2007-07-23 22:48:50 +02:00
if ( $tabrowid [ $_POST [ " id " ]] && ! in_array ( $tabrowid [ $_POST [ " id " ]], $listfieldmodify ))
2007-07-23 20:07:27 +02:00
{
$sql .= $tabrowid [ $_POST [ " id " ]] . " = " ;
$sql .= " ' " . addslashes ( $_POST [ " rowid " ]) . " ', " ;
}
$i = 0 ;
2007-07-23 22:48:50 +02:00
foreach ( $listfieldmodify as $field ) {
2007-07-24 17:21:45 +02:00
if ( $field == 'price' ) { $_POST [ $listfieldvalue [ $i ]] = price2num ( $_POST [ $listfieldvalue [ $i ]], 'MU' ); }
2007-07-24 17:14:12 +02:00
if ( $i ) $sql .= " , " ;
2007-07-23 22:48:50 +02:00
$sql .= $field . " = " ;
2007-07-24 12:35:22 +02:00
$sql .= " ' " . addslashes ( $_POST [ $listfieldvalue [ $i ]]) . " ' " ;
2007-07-23 20:07:27 +02:00
$i ++ ;
}
$sql .= " WHERE " . $rowidcol . " = ' " . $_POST [ " rowid " ] . " ' " ;
2007-07-23 22:48:50 +02:00
dolibarr_syslog ( " dict actionmodify sql= " . $sql );
//print $sql;
2007-07-23 23:28:07 +02:00
$resql = $db -> query ( $sql );
if ( ! $resql )
2007-07-23 20:07:27 +02:00
{
2007-07-23 23:28:07 +02:00
$msg = $db -> error ();
2007-07-23 20:07:27 +02:00
}
}
2004-08-08 20:22:01 +02:00
2005-08-20 00:32:32 +02:00
if ( $msg ) $msg = '<div class="error">' . $msg . '</div>' ;
2004-08-08 20:22:01 +02:00
$_GET [ " id " ] = $_POST [ " id " ]; // Force affichage dictionnaire en cours d'edition
}
2007-07-25 14:00:15 +02:00
if ( $_POST [ " actioncancel " ])
{
$_GET [ " id " ] = $_POST [ " id " ]; // Force affichage dictionnaire en cours d'edition
}
if ( $_POST [ 'action' ] == 'confirm_delete' && $_POST [ 'confirm' ] == 'yes' ) // delete
2004-08-08 20:22:01 +02:00
{
2005-01-09 19:22:15 +01:00
if ( $tabrowid [ $_GET [ " id " ]]) { $rowidcol = $tabrowid [ $_GET [ " id " ]]; }
else { $rowidcol = " rowid " ; }
2004-08-08 20:22:01 +02:00
2007-07-23 20:07:27 +02:00
$sql = " DELETE from " . $tabname [ $_GET [ " id " ]] . " WHERE " . $rowidcol . " =' " . $_GET [ " rowid " ] . " ' " ;
2004-08-08 20:22:01 +02:00
2007-07-23 22:48:50 +02:00
dolibarr_syslog ( " dict delete sql= " . $sql );
2004-08-08 20:22:01 +02:00
$result = $db -> query ( $sql );
2005-08-29 23:50:10 +02:00
if ( ! $result )
2004-08-08 20:22:01 +02:00
{
2005-08-29 23:50:10 +02:00
if ( $db -> errno () == 'DB_ERROR_CHILD_EXISTS' )
{
$msg = '<div class="error">' . $langs -> trans ( " ErrorRecordIsUsedByChild " ) . '</div>' ;
}
else
{
dolibarr_print_error ( $db );
}
2004-08-08 20:22:01 +02:00
}
}
2004-02-16 13:22:32 +01:00
2004-08-08 20:22:01 +02:00
if ( $_GET [ " action " ] == $acts [ 0 ]) // activate
2004-06-09 20:37:17 +02:00
{
2005-01-09 19:22:15 +01:00
if ( $tabrowid [ $_GET [ " id " ]]) { $rowidcol = $tabrowid [ $_GET [ " id " ]]; }
else { $rowidcol = " rowid " ; }
2004-08-08 20:22:01 +02:00
2005-07-09 14:18:42 +02:00
if ( $_GET [ " rowid " ]) {
2007-07-23 22:48:50 +02:00
$sql = " UPDATE " . $tabname [ $_GET [ " id " ]] . " SET active = 1 WHERE " . $rowidcol . " =' " . $_GET [ " rowid " ] . " ' " ;
2004-06-26 19:13:30 +02:00
}
2005-07-09 14:18:42 +02:00
elseif ( $_GET [ " code " ]) {
$sql = " UPDATE " . $tabname [ $_GET [ " id " ]] . " SET active = 1 WHERE code=' " . $_GET [ " code " ] . " ' " ;
2004-06-26 19:13:30 +02:00
}
$result = $db -> query ( $sql );
if ( ! $result )
{
2004-10-03 20:31:51 +02:00
dolibarr_print_error ( $db );
2004-06-26 19:13:30 +02:00
}
2004-06-09 20:37:17 +02:00
}
2004-08-08 20:22:01 +02:00
if ( $_GET [ " action " ] == $acts [ 1 ]) // disable
2004-02-16 13:22:32 +01:00
{
2005-01-09 19:22:15 +01:00
if ( $tabrowid [ $_GET [ " id " ]]) { $rowidcol = $tabrowid [ $_GET [ " id " ]]; }
else { $rowidcol = " rowid " ; }
2004-08-08 20:22:01 +02:00
2005-07-09 14:18:42 +02:00
if ( $_GET [ " rowid " ]) {
2007-07-23 22:48:50 +02:00
$sql = " UPDATE " . $tabname [ $_GET [ " id " ]] . " SET active = 0 WHERE " . $rowidcol . " =' " . $_GET [ " rowid " ] . " ' " ;
2004-08-08 20:22:01 +02:00
}
2005-07-09 14:18:42 +02:00
elseif ( $_GET [ " code " ]) {
$sql = " UPDATE " . $tabname [ $_GET [ " id " ]] . " SET active = 0 WHERE code=' " . $_GET [ " code " ] . " ' " ;
2004-08-08 20:22:01 +02:00
}
2004-06-26 19:13:30 +02:00
$result = $db -> query ( $sql );
if ( ! $result )
2004-06-09 20:37:17 +02:00
{
2004-10-03 20:31:51 +02:00
dolibarr_print_error ( $db );
2004-06-09 20:37:17 +02:00
}
2004-02-16 13:22:32 +01:00
}
2008-05-28 00:30:52 +02:00
/*
* View
*/
2004-02-16 13:22:32 +01:00
2007-09-30 19:55:29 +02:00
$html = new Form ( $db );
2008-05-28 00:30:52 +02:00
llxHeader ();
2006-08-12 19:53:18 +02:00
$titre = $langs -> trans ( " DictionnarySetup " );
2008-05-28 00:30:52 +02:00
$linkback = '' ;
2006-08-12 19:53:18 +02:00
if ( $_GET [ " id " ])
{
$titre .= ' - ' . $tablib [ $_GET [ " id " ]];
2008-05-28 00:30:52 +02:00
$linkback = '<a href="' . DOL_URL_ROOT . '/admin/dict.php">' . $langs -> trans ( " BackToDictionnaryList " ) . '</a>' ;
2006-08-12 19:53:18 +02:00
}
2008-05-28 00:30:52 +02:00
print_fiche_titre ( $titre , $linkback , 'setup' );
2006-08-12 19:53:18 +02:00
2008-05-28 00:30:52 +02:00
if ( empty ( $_GET [ " id " ]))
{
print $langs -> trans ( " DictionnaryDesc " );
print " " . $langs -> trans ( " OnlyActiveElementsAreShown " ) . " <br> \n " ;
}
print " <br> \n " ;
2004-08-08 20:22:01 +02:00
2008-05-28 00:30:52 +02:00
2007-07-25 14:00:15 +02:00
/*
* Confirmation de la suppression de la ligne
*/
if ( $_GET [ 'action' ] == 'delete' )
{
2008-05-28 00:30:52 +02:00
$html = new Form ( $db );
2007-07-25 14:00:15 +02:00
$html -> form_confirm ( $_SERVER [ " PHP_SELF " ] . '?sortfield=' . $sortfield . '&sortorder=' . $sortorder . '&rowid=' . $_GET [ " rowid " ] . '&code=' . $_GET [ " code " ] . '&id=' . $_GET [ " id " ], $langs -> trans ( 'DeleteLine' ), $langs -> trans ( 'ConfirmDeleteLine' ), 'confirm_delete' );
print '<br>' ;
}
2005-04-28 02:26:34 +02:00
2004-10-31 14:00:04 +01:00
/*
* Affichage d ' un dictionnaire particulier
*/
2004-06-09 20:37:17 +02:00
if ( $_GET [ " id " ])
2004-02-16 13:22:32 +01:00
{
2007-07-23 22:48:50 +02:00
if ( $msg )
{
2004-08-08 20:22:01 +02:00
print $msg . '<br>' ;
}
2008-05-28 00:30:52 +02:00
// Complete requete recherche valeurs avec critere de tri
2004-06-26 19:13:30 +02:00
$sql = $tabsql [ $_GET [ " id " ]];
2006-08-12 19:53:18 +02:00
if ( $_GET [ " sortfield " ])
{
$sql .= " ORDER BY " . $_GET [ " sortfield " ];
if ( $_GET [ " sortorder " ])
{
$sql .= " " . strtoupper ( $_GET [ " sortorder " ]);
2004-06-26 19:13:30 +02:00
}
$sql .= " , " ;
2006-08-12 19:53:18 +02:00
// Remove from default sort order the choosed order
$tabsqlsort [ $_GET [ " id " ]] = eregi_replace ( $_GET [ " sortfield " ] . ' ' . $_GET [ " sortorder " ] . ',' , '' , $tabsqlsort [ $_GET [ " id " ]]);
$tabsqlsort [ $_GET [ " id " ]] = eregi_replace ( $_GET [ " sortfield " ] . ',' , '' , $tabsqlsort [ $_GET [ " id " ]]);
2004-06-26 19:13:30 +02:00
}
else {
$sql .= " ORDER BY " ;
}
$sql .= $tabsqlsort [ $_GET [ " id " ]];
2006-08-12 19:53:18 +02:00
//print $sql;
2004-06-26 19:13:30 +02:00
$fieldlist = split ( ',' , $tabfield [ $_GET [ " id " ]]);
2007-07-23 23:28:07 +02:00
2006-08-27 01:10:52 +02:00
print '<form action="dict.php" method="post">' ;
2004-09-18 19:17:19 +02:00
print '<table class="noborder" width="100%">' ;
2004-06-26 19:13:30 +02:00
// Ligne d'ajout
2006-08-12 19:53:18 +02:00
if ( $tabname [ $_GET [ " id " ]])
{
2005-08-20 00:32:32 +02:00
$alabelisused = 0 ;
2005-04-28 02:42:34 +02:00
$var = false ;
2005-08-20 00:32:32 +02:00
2004-06-26 19:13:30 +02:00
$fieldlist = split ( ',' , $tabfield [ $_GET [ " id " ]]);
2006-08-27 01:10:52 +02:00
// print '<table class="noborder" width="100%">';
2004-08-08 20:22:01 +02:00
// Ligne de titre d'ajout
2004-06-26 19:13:30 +02:00
print '<tr class="liste_titre">' ;
2006-08-12 19:53:18 +02:00
foreach ( $fieldlist as $field => $value )
{
2004-08-08 20:22:01 +02:00
// Determine le nom du champ par rapport aux noms possibles
2008-03-19 01:39:42 +01:00
// dans les dictionnaires de donn<6E> es
2004-08-08 20:22:01 +02:00
$valuetoshow = ucfirst ( $fieldlist [ $field ]); // Par defaut
2007-07-24 17:14:12 +02:00
if ( $fieldlist [ $field ] == 'source' ) { $valuetoshow = $langs -> trans ( " Contact " ); }
if ( $fieldlist [ $field ] == 'price' ) { $valuetoshow = $langs -> trans ( " PriceUHT " ); }
if ( $fieldlist [ $field ] == 'organization' ) { $valuetoshow = $langs -> trans ( " Organization " ); }
if ( $fieldlist [ $field ] == 'lang' ) { $valuetoshow = $langs -> trans ( " Language " ); }
if ( $fieldlist [ $field ] == 'type' ) { $valuetoshow = $langs -> trans ( " Type " ); }
if ( $fieldlist [ $field ] == 'code' ) { $valuetoshow = $langs -> trans ( " Code " ); }
if ( $fieldlist [ $field ] == 'libelle' || $fieldlist [ $field ] == 'label' ) { $valuetoshow = $langs -> trans ( " Label " ) . " * " ; }
if ( $fieldlist [ $field ] == 'libelle_facture' ) { $valuetoshow = $langs -> trans ( " LabelOnDocuments " ) . " * " ; }
if ( $fieldlist [ $field ] == 'pays' ) { $valuetoshow = $langs -> trans ( " Country " ); }
2008-03-19 01:39:42 +01:00
if ( $fieldlist [ $field ] == 'recuperableonly' ) { $valuetoshow = MAIN_LABEL_MENTION_NPR ; }
2007-07-24 17:14:12 +02:00
if ( $fieldlist [ $field ] == 'nbjour' ) { $valuetoshow = $langs -> trans ( " NbOfDays " ); }
if ( $fieldlist [ $field ] == 'fdm' ) { $valuetoshow = $langs -> trans ( " AtEndOfMonth " ); }
if ( $fieldlist [ $field ] == 'decalage' ) { $valuetoshow = $langs -> trans ( " Offset " ); }
2007-09-30 19:55:29 +02:00
if ( $fieldlist [ $field ] == 'width' ) { $valuetoshow = $langs -> trans ( " Width " ); }
if ( $fieldlist [ $field ] == 'height' ) { $valuetoshow = $langs -> trans ( " Height " ); }
2007-09-30 19:55:29 +02:00
if ( $fieldlist [ $field ] == 'unit' ) { $valuetoshow = $langs -> trans ( " MeasuringUnit " ); }
2007-07-24 17:14:12 +02:00
if ( $fieldlist [ $field ] == 'region_id' || $fieldlist [ $field ] == 'pays_id' ) { $valuetoshow = '' ; }
2007-09-30 19:55:29 +02:00
2007-07-23 20:07:27 +02:00
if ( $valuetoshow != '' )
{
print '<td>' ;
print $valuetoshow ;
print '</td>' ;
}
2005-08-20 00:32:32 +02:00
if ( $fieldlist [ $field ] == 'libelle' ) $alabelisused = 1 ;
2004-06-26 19:13:30 +02:00
}
2007-07-23 20:07:27 +02:00
print '<td colspan="3"> </td>' ;
print '<input type="hidden" name="id" value="' . $_GET [ " id " ] . '">' ;
2006-08-27 01:10:52 +02:00
print '</tr>' ;
2004-06-26 19:13:30 +02:00
2004-08-08 20:22:01 +02:00
// Ligne d'ajout
2007-07-23 22:48:50 +02:00
print " <tr " . $bc [ $var ] . " > " ;
2007-07-23 20:07:27 +02:00
fieldList ( $fieldlist );
2007-07-23 22:48:50 +02:00
print '<td colspan="3"><input type="submit" class="button" name="actionadd" value="' . $langs -> trans ( " Add " ) . '"></td>' ;
2004-06-26 19:13:30 +02:00
print " </tr> " ;
2004-08-08 20:22:01 +02:00
2008-03-19 01:39:42 +01:00
if ( $alabelisused ) // Si un des champs est un libell<6C>
2005-08-20 00:32:32 +02:00
{
print '<tr><td colspan="' . ( count ( $fieldlist ) + 2 ) . '">* ' . $langs -> trans ( " LabelUsedByDefault " ) . '.</td></tr>' ;
}
2005-07-19 03:06:39 +02:00
print '<tr><td colspan="' . ( count ( $fieldlist ) + 2 ) . '"> </td></tr>' ;
2004-06-26 19:13:30 +02:00
}
2004-06-09 20:37:17 +02:00
// Affiche table des valeurs
2007-07-23 22:48:50 +02:00
$resql = $db -> query ( $sql );
if ( $resql )
2004-02-16 13:22:32 +01:00
{
2007-07-23 22:48:50 +02:00
$num = $db -> num_rows ( $resql );
2004-06-26 19:13:30 +02:00
$i = 0 ;
2005-04-28 02:42:34 +02:00
$var = true ;
2004-06-26 19:13:30 +02:00
if ( $num )
{
2004-08-08 20:22:01 +02:00
// Ligne de titre
2004-06-26 19:13:30 +02:00
print '<tr class="liste_titre">' ;
2008-02-17 16:20:47 +01:00
foreach ( $fieldlist as $field => $value )
{
2004-08-08 20:22:01 +02:00
// Determine le nom du champ par rapport aux noms possibles
2008-03-19 01:39:42 +01:00
// dans les dictionnaires de donn<6E> es
2007-07-23 22:48:50 +02:00
$showfield = 1 ; // Par defaut
2008-02-17 16:20:47 +01:00
$valuetoshow = ucfirst ( $fieldlist [ $field ]); // Par defaut
2007-07-23 22:48:50 +02:00
if ( $fieldlist [ $field ] == 'source' ) { $valuetoshow = $langs -> trans ( " Contact " ); }
2007-07-24 17:14:12 +02:00
if ( $fieldlist [ $field ] == 'price' ) { $valuetoshow = $langs -> trans ( " PriceUHT " ); }
if ( $fieldlist [ $field ] == 'organization' ) { $valuetoshow = $langs -> trans ( " Organization " ); }
2007-07-23 22:48:50 +02:00
if ( $fieldlist [ $field ] == 'lang' ) { $valuetoshow = $langs -> trans ( " Language " ); }
if ( $fieldlist [ $field ] == 'type' ) { $valuetoshow = $langs -> trans ( " Type " ); }
if ( $fieldlist [ $field ] == 'code' ) { $valuetoshow = $langs -> trans ( " Code " ); }
2007-07-23 23:28:07 +02:00
if ( $fieldlist [ $field ] == 'libelle' || $fieldlist [ $field ] == 'label' ) { $valuetoshow = $langs -> trans ( " Label " ) . " * " ; }
2007-07-23 22:48:50 +02:00
if ( $fieldlist [ $field ] == 'libelle_facture' ) { $valuetoshow = $langs -> trans ( " LabelOnDocuments " ) . " * " ; }
if ( $fieldlist [ $field ] == 'pays' ) { $valuetoshow = $langs -> trans ( " Country " ); }
2008-03-19 01:39:42 +01:00
if ( $fieldlist [ $field ] == 'recuperableonly' ) { $valuetoshow = MAIN_LABEL_MENTION_NPR ; }
2007-07-23 22:48:50 +02:00
if ( $fieldlist [ $field ] == 'nbjour' ) { $valuetoshow = $langs -> trans ( " NbOfDays " ); }
if ( $fieldlist [ $field ] == 'fdm' ) { $valuetoshow = $langs -> trans ( " AtEndOfMonth " ); }
if ( $fieldlist [ $field ] == 'decalage' ) { $valuetoshow = $langs -> trans ( " Offset " ); }
2007-09-30 19:55:29 +02:00
if ( $fieldlist [ $field ] == 'width' ) { $valuetoshow = $langs -> trans ( " Width " ); }
if ( $fieldlist [ $field ] == 'height' ) { $valuetoshow = $langs -> trans ( " Height " ); }
2007-09-30 19:55:29 +02:00
if ( $fieldlist [ $field ] == 'unit' ) { $valuetoshow = $langs -> trans ( " MeasuringUnit " ); }
2007-07-24 12:35:22 +02:00
if ( $fieldlist [ $field ] == 'region_id' || $fieldlist [ $field ] == 'pays_id' ) { $showfield = 0 ; }
2007-07-23 20:07:27 +02:00
2004-08-08 20:22:01 +02:00
// Affiche nom du champ
2007-07-23 22:48:50 +02:00
if ( $showfield )
2007-07-23 20:07:27 +02:00
{
2007-11-11 16:55:45 +01:00
print_liste_field_titre ( $valuetoshow , " dict.php " , $fieldlist [ $field ], " &id= " . $_GET [ " id " ], " " , " " , $sortfield , $sortorder );
2007-07-23 20:07:27 +02:00
}
2004-06-26 19:13:30 +02:00
}
2007-11-11 16:55:45 +01:00
print_liste_field_titre ( $langs -> trans ( " Action " ), " dict.php " , " active " , " &id= " . $_GET [ " id " ], " " , 'align="center"' , $sortfield , $sortorder );
2007-07-23 20:07:27 +02:00
print '<td colspan="2"> </td>' ;
2004-06-26 19:13:30 +02:00
print '</tr>' ;
2004-08-08 20:22:01 +02:00
// Lignes de valeurs
2004-06-26 19:13:30 +02:00
while ( $i < $num )
{
2007-07-23 22:48:50 +02:00
$obj = $db -> fetch_object ( $resql );
2004-06-26 19:13:30 +02:00
$var =! $var ;
2007-07-23 22:48:50 +02:00
//print_r($obj);
2006-08-27 01:10:52 +02:00
print " <tr $bc[$var] > " ;
2007-07-23 20:07:27 +02:00
if ( $_GET [ " action " ] == 'modify' && ( $_GET [ " rowid " ] == ( $obj -> rowid ? $obj -> rowid : $obj -> code )))
{
print '<form action="dict.php" method="post">' ;
print '<input type="hidden" name="id" value="' . $_GET [ " id " ] . '">' ;
print '<input type="hidden" name="rowid" value="' . $_GET [ " rowid " ] . '">' ;
2007-07-25 14:00:15 +02:00
fieldList ( $fieldlist , $obj );
print '<td colspan="3" align="right"><a name="' . ( $obj -> rowid ? $obj -> rowid : $obj -> code ) . '"> </a><input type="submit" class="button" name="actionmodify" value="' . $langs -> trans ( " Modify " ) . '">' ;
print ' <input type="submit" class="button" name="actioncancel" value="' . $langs -> trans ( " Cancel " ) . '"></td>' ;
2007-07-23 20:07:27 +02:00
}
else
2008-02-17 16:20:47 +01:00
{
foreach ( $fieldlist as $field => $value )
{
$showfield = 1 ;
$valuetoshow = $obj -> $fieldlist [ $field ];
if ( $valuetoshow == 'all' ) {
$valuetoshow = $langs -> trans ( 'All' );
}
if ( $fieldlist [ $field ] == 'recuperableonly' || $fieldlist [ $field ] == 'fdm' ) {
$valuetoshow = yn ( $valuetoshow );
}
if ( $fieldlist [ $field ] == 'price' ) {
$valuetoshow = price ( $valuetoshow );
}
if ( $fieldlist [ $field ] == 'region_id' || $fieldlist [ $field ] == 'pays_id' ) {
$showfield = 0 ;
}
if ( $showfield ) print '<td>' . $valuetoshow . '</td>' ;
}
print '<td align="center" nowrap="nowrap">' ;
2008-03-19 01:39:42 +01:00
// Est-ce une entr<74> e du dictionnaire qui peut etre d<> sactiv<69> e ?
2008-02-17 16:20:47 +01:00
$iserasable = 1 ; // Oui par defaut
if ( isset ( $obj -> code ) && ( $obj -> code == '0' || $obj -> code == '' || eregi ( 'unknown' , $obj -> code ))) $iserasable = 0 ;
if ( $obj -> type && $obj -> type == 'system' ) $iserasable = 0 ;
if ( $iserasable ) {
print '<a href="' . " dict.php " . '?sortfield=' . $sortfield . '&sortorder=' . $sortorder . '&rowid=' . ( $obj -> rowid ? $obj -> rowid : $obj -> code ) . '&code=' . $obj -> code . '&id=' . $_GET [ " id " ] . '&action=' . $acts [ $obj -> active ] . '">' . $actl [ $obj -> active ] . '</a>' ;
} else {
print $langs -> trans ( " AlwaysActive " );
}
print " </td> " ;
if ( $iserasable ) {
print '<td align="center"><a href="dict.php?sortfield=' . $sortfield . '&sortorder=' . $sortorder . '&rowid=' . ( $obj -> rowid ? $obj -> rowid : $obj -> code ) . '&code=' . $obj -> code . '&id=' . $_GET [ " id " ] . '&action=modify#' . ( $obj -> rowid ? $obj -> rowid : $obj -> code ) . '">' . img_edit () . '</a></td>' ;
} else {
print '<td> </td>' ;
}
if ( $iserasable ) {
print '<td align="center"><a href="dict.php?sortfield=' . $sortfield . '&sortorder=' . $sortorder . '&rowid=' . ( $obj -> rowid ? $obj -> rowid : $obj -> code ) . '&code=' . $obj -> code . '&id=' . $_GET [ " id " ] . '&action=delete">' . img_delete () . '</a></td>' ;
} else {
print '<td> </td>' ;
}
print " </tr> \n " ;
}
2004-06-26 19:13:30 +02:00
$i ++ ;
2007-07-23 20:07:27 +02:00
}
}
}
else {
2004-08-08 20:22:01 +02:00
dolibarr_print_error ( $db );
2004-02-16 13:22:32 +01:00
}
2004-06-26 19:13:30 +02:00
print '</table>' ;
2006-08-27 01:10:52 +02:00
print '</form>' ;
2004-02-16 13:22:32 +01:00
}
2004-06-09 20:37:17 +02:00
else
{
2004-10-31 14:00:04 +01:00
/*
* Affichage de la liste des dictionnaires
*/
2005-04-28 02:26:34 +02:00
2005-04-28 02:42:34 +02:00
$var = true ;
2008-01-14 19:56:33 +01:00
$lastlineisempty = false ;
2005-04-28 02:26:34 +02:00
print '<table class="noborder" width="100%">' ;
2008-01-14 19:56:33 +01:00
print '<tr class="liste_titre">' ;
//print '<td>'.$langs->trans("Module").'</td>';
print '<td>' . $langs -> trans ( " Dictionnary " ) . '</td>' ;
print '<td>' . $langs -> trans ( " Table " ) . '</td>' ;
print '</tr>' ;
2004-06-26 19:13:30 +02:00
2006-01-18 21:10:08 +01:00
foreach ( $taborder as $i )
{
2006-08-12 19:53:18 +02:00
if ( $tabname [ $i ] && ! $tabcond [ $i ]) continue ; // If dictionnary and condition not true
2006-01-18 21:10:08 +01:00
if ( $i )
{
2008-01-14 19:56:33 +01:00
$var =! $var ;
$value = $tabname [ $i ];
2005-04-28 02:26:34 +02:00
print '<tr ' . $bc [ $var ] . '><td width="30%"><a href="dict.php?id=' . $i . '">' . $tablib [ $i ] . '</a></td><td>' . $tabname [ $i ] . '</td></tr>' ;
2008-01-14 19:56:33 +01:00
$lastlineisempty = false ;
2004-10-31 14:00:04 +01:00
}
else
{
2008-01-14 19:56:33 +01:00
if ( ! $lastlineisempty )
{
$var =! $var ;
print '<tr ' . $bc [ $var ] . '><td width="30%"> </td><td> </td></tr>' ;
$lastlineisempty = true ;
}
2004-10-31 14:00:04 +01:00
}
2004-06-09 20:37:17 +02:00
}
2005-10-14 22:53:49 +02:00
print '</table>' ;
2004-06-09 20:37:17 +02:00
}
print '<br>' ;
$db -> close ();
2006-02-25 02:26:19 +01:00
llxFooter ( '$Date$ - $Revision$' );
2007-07-23 20:07:27 +02:00
/**
\brief Affiche les champs
*/
2007-07-24 12:35:22 +02:00
function fieldList ( $fieldlist , $obj = '' )
2007-07-23 20:07:27 +02:00
{
2007-07-24 12:35:22 +02:00
global $conf , $langs , $db ;
2008-02-17 16:20:47 +01:00
global $region_id ;
2007-07-24 12:35:22 +02:00
2007-07-23 20:07:27 +02:00
$html = new Form ( $db );
foreach ( $fieldlist as $field => $value )
2008-02-17 16:20:47 +01:00
{
if ( $fieldlist [ $field ] == 'pays' ) {
//var_dump($obj);
print '<td>' ;
$html -> select_pays ( $obj -> pays , 'pays' );
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'pays_id' ) {
$pays_id = ( ! empty ( $obj -> $fieldlist [ $field ])) ? $obj -> $fieldlist [ $field ] : 0 ;
print '<input type="hidden" name="' . $fieldlist [ $field ] . '" value="' . $pays_id . '">' ;
}
elseif ( $fieldlist [ $field ] == 'region' ) {
print '<td>' ;
$html -> select_region ( $region_id , 'region' );
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'region_id' ) {
$region_id = $obj -> $fieldlist [ $field ] ? $obj -> $fieldlist [ $field ] : 0 ;
print '<input type="hidden" name="' . $fieldlist [ $field ] . '" value="' . $region_id . '">' ;
}
elseif ( $fieldlist [ $field ] == 'lang' ) {
print '<td>' ;
$html -> select_lang ( $conf -> global -> MAIN_LANG_DEFAULT , 'lang' );
print '</td>' ;
}
// Le type de l'element (pour les type de contact).'
elseif ( $fieldlist [ $field ] == 'element' )
{
$langs -> load ( " orders " );
$langs -> load ( " contracts " );
$langs -> load ( " project " );
$langs -> load ( " propal " );
$langs -> load ( " bills " );
print '<td>' ;
$elementList = array ( " commande " => $langs -> trans ( " Order " ),
" contrat " => $langs -> trans ( " Contract " ),
" projet " => $langs -> trans ( " Project " ),
" propal " => $langs -> trans ( " Propal " ),
" facture " => $langs -> trans ( " Bill " ));
$html -> select_array ( 'element' , $elementList , $obj -> $fieldlist [ $field ]);
print '</td>' ;
}
// La source de l'element (pour les type de contact).'
elseif ( $fieldlist [ $field ] == 'source' )
{
print '<td>' ;
$elementList = array ( " internal " => $langs -> trans ( " Internal " ),
" external " => $langs -> trans ( " External " ));
$html -> select_array ( 'source' , $elementList , $obj -> $fieldlist [ $field ]);
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'type' && $tabname [ $_GET [ " id " ]] == MAIN_DB_PREFIX . " c_actioncomm " )
{
print '<td>' ;
print 'user<input type="hidden" name="type" value="user">' ;
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'recuperableonly' || $fieldlist [ $field ] == 'fdm' ) {
print '<td>' ;
print $html -> selectyesno ( $fieldlist [ $field ], $obj -> $fieldlist [ $field ], 1 );
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'nbjour' || $fieldlist [ $field ] == 'decalage' || $fieldlist [ $field ] == 'taux' ) {
print '<td><input type="text" class="flat" value="' . $obj -> $fieldlist [ $field ] . '" size="3" name="' . $fieldlist [ $field ] . '"></td>' ;
}
elseif ( $fieldlist [ $field ] == 'price' ) {
print '<td><input type="text" class="flat" value="' . price ( $obj -> $fieldlist [ $field ]) . '" size="8" name="' . $fieldlist [ $field ] . '"></td>' ;
}
elseif ( $fieldlist [ $field ] == 'code' ) {
print '<td><input type="text" class="flat" value="' . $obj -> $fieldlist [ $field ] . '" size="10" name="' . $fieldlist [ $field ] . '"></td>' ;
}
elseif ( $fieldlist [ $field ] == 'unit' ) {
print '<td>' ;
$html -> select_array ( 'unit' , array ( 'mm' , 'cm' , 'point' , 'inch' ), $obj -> $fieldlist [ $field ], 0 , 0 , 1 );
print '</td>' ;
}
else
{
print '<td><input type="text" class="flat" value="' . $obj -> $fieldlist [ $field ] . '" name="' . $fieldlist [ $field ] . '" ></td>' ;
}
}
2007-07-23 20:07:27 +02:00
}
2004-02-16 13:22:32 +01:00
?>