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 >
* Copyright ( C ) 2004 - 2005 Laurent Destailleur < eldy @ users . sourceforge . net >
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
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 .
*
* $Id $
* $Source $
*/
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
\brief Page d ' administration des dictionnaires de donn<EFBFBD> es
\version $Revision $
*/
2004-02-16 13:22:32 +01:00
require ( " ./pre.inc.php " );
2004-08-08 21:52:53 +02:00
$langs -> load ( " main " );
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 ;
2004-08-08 20:22:01 +02: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)
2005-10-04 02:10:41 +02:00
$taborder = array ( 9 , 0 , 4 , 3 , 2 , 0 , 1 , 8 , 0 , 5 , 11 , 0 , 6 , 0 , 10 , 12 , 0 , 7 );
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 " ;
2004-02-16 13:22:32 +01:00
2004-06-26 19:13:30 +02: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 " );
2004-02-16 13:22:32 +01:00
2004-06-26 19:13:30 +02: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 " ;
$tabsql [ 2 ] = " SELECT d.rowid as rowid, d.code_departement as code , d.nom as libelle, 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 " ;
$tabsql [ 3 ] = " SELECT r.rowid as rowid, code_region as code , nom as libelle, 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 " ;
$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 " ;
$tabsql [ 7 ] = " SELECT a.id as rowid, a.id as code, a.libelle AS libelle, a.deductible, a.active FROM " . MAIN_DB_PREFIX . " c_chargesociales AS a " ;
$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 " ;
2005-09-08 00:43:44 +02:00
$tabsql [ 10 ] = " SELECT t.rowid, t.taux, p.libelle as pays, 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 " ;
2005-10-04 02:10:41 +02:00
$tabsql [ 12 ] = " SELECT rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, active FROM " . MAIN_DB_PREFIX . " cond_reglement AS c " ;
2004-06-26 19:13:30 +02:00
// Tri par defaut
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 " ;
2004-06-26 19:13:30 +02:00
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 " ;
2005-07-18 23:03:06 +02:00
$tabfield [ 2 ] = " code,libelle,region " ; // "code,libelle,region"
2004-06-09 20:37:17 +02:00
$tabfield [ 3 ] = " code,libelle,pays " ;
$tabfield [ 4 ] = " code,libelle " ;
2004-09-18 19:17:19 +02:00
$tabfield [ 5 ] = " code,libelle " ;
$tabfield [ 6 ] = " code,libelle,type " ;
2004-10-03 20:31:51 +02:00
$tabfield [ 7 ] = " libelle,deductible " ;
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 " ;
2005-08-20 00:32:32 +02:00
$tabfield [ 10 ] = " pays,taux,recuperableonly,note " ;
2005-09-17 19:38:02 +02:00
$tabfield [ 11 ] = " element,source,code,libelle " ;
2005-10-04 02:10:41 +02:00
$tabfield [ 12 ] = " code,libelle,libelle_facture,nbjour,fdm " ;
2004-02-16 13:22:32 +01: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 " ;
2004-10-03 20:31:51 +02:00
$tabfieldinsert [ 7 ] = " libelle,deductible " ;
2005-05-14 02:54:19 +02:00
$tabfieldinsert [ 8 ] = " code,libelle " ;
2006-01-19 23:28:42 +01:00
$tabfieldinsert [ 9 ] = " 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 " ;
2005-10-04 02:10:41 +02:00
$tabfieldinsert [ 12 ] = " code,libelle,libelle_facture,nbjour,fdm " ;
2004-06-26 19:13:30 +02:00
2004-08-08 20:22:01 +02:00
// Nom du rowid si le champ n'est pas de type autoincr<63> ment
$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 " ;
2004-06-26 19:13:30 +02:00
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 " ];
2004-10-03 20:31:51 +02:00
/*
* Actions ajout d ' une entr<EFBFBD> e dans un dictionnaire de donn<EFBFBD> e
*/
2005-08-20 00:32:32 +02:00
if ( $_POST [ " actionadd " ])
{
2004-08-08 20:22:01 +02:00
$listfield = split ( ',' , $tabfield [ $_POST [ " id " ]]);
// Verifie que tous les champs sont renseign<67> s
$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
}
// Si verif ok, on ajoute la ligne
if ( $ok ) {
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 " ]] . " ( " ;
if ( $tabrowid [ $_POST [ " id " ]]) $sql .= $tabrowid [ $_POST [ " id " ]] . " , " ;
$sql .= $tabfieldinsert [ $_POST [ " id " ]];
$sql .= " ,active) " ;
$sql .= " VALUES( " ;
// Ajoute valeur des champs
2006-01-19 23:28:42 +01:00
if ( $tabrowid [ $_POST [ " id " ]] &&
! in_array ( $tabrowid [ $_POST [ " id " ]], $listfield )) $sql .= $newid . " , " ;
2004-08-08 20:22:01 +02:00
$i = 0 ;
foreach ( $listfield as $f => $value ) {
if ( $i ) $sql .= " , " ;
$sql .= " ' " . $_POST [ $value ] . " ' " ;
$i ++ ;
}
$sql .= " ,1) " ;
$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 );
}
}
}
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
}
if ( $_GET [ " action " ] == 'delete' ) // delete
{
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
$sql = " DELETE from " . $tabname [ $_GET [ " id " ]] . " WHERE $rowidcol =' " . $_GET [ " rowid " ] . " ' " ;
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 " ]) {
$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 " ]) {
$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
}
2004-06-09 20:37:17 +02:00
llxHeader ();
2004-02-16 13:22:32 +01:00
2004-08-08 20:22:01 +02:00
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
{
2005-10-14 22:53:49 +02:00
print_fiche_titre ( $langs -> trans ( " DictionnarySetup " ) . ' - ' . $tablib [ $_GET [ " id " ]]);
2004-02-16 13:22:32 +01:00
2004-08-08 20:22:01 +02:00
if ( $msg ) {
print $msg . '<br>' ;
}
2004-06-26 19:13:30 +02:00
// Compl<70> te requete recherche valeurs avec critere de tri
$sql = $tabsql [ $_GET [ " id " ]];
if ( $_GET [ " sortfield " ]) {
$sql .= " ORDER BY " . $_GET [ " sortfield " ];
if ( $_GET [ " sortorder " ]) {
$sql .= " " . $_GET [ " sortorder " ];
}
$sql .= " , " ;
}
else {
$sql .= " ORDER BY " ;
}
$sql .= $tabsqlsort [ $_GET [ " id " ]];
$fieldlist = split ( ',' , $tabfield [ $_GET [ " id " ]]);
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
2004-08-08 20:22:01 +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 " ]]);
2004-09-18 19:17:19 +02:00
print '<table class="noborder" width="100%">' ;
2004-06-26 19:13:30 +02:00
2004-08-08 20:22:01 +02:00
print '<form action="dict.php" method="post">' ;
print '<input type="hidden" name="id" value="' . $_GET [ " id " ] . '">' ;
// Ligne de titre d'ajout
2004-06-26 19:13:30 +02:00
print '<tr class="liste_titre">' ;
foreach ( $fieldlist as $field => $value ) {
2004-08-08 20:22:01 +02:00
// Determine le nom du champ par rapport aux noms possibles
// dans les dictionnaires de donn<6E> es
$valuetoshow = ucfirst ( $fieldlist [ $field ]); // Par defaut
2005-09-17 19:38:02 +02:00
if ( $fieldlist [ $field ] == 'source' ) $valuetoshow = $langs -> trans ( " Contact " );
2005-08-20 00:32:32 +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 " );
if ( $fieldlist [ $field ] == 'libelle' ) $valuetoshow = $langs -> trans ( " Label " ) . " * " ;
2005-10-04 02:10:41 +02:00
if ( $fieldlist [ $field ] == 'libelle_facture' ) $valuetoshow = $langs -> trans ( " LabelOnDocuments " ) . " * " ;
2005-08-20 00:32:32 +02:00
if ( $fieldlist [ $field ] == 'pays' ) $valuetoshow = $langs -> trans ( " Country " );
2005-10-08 21:13:58 +02:00
if ( $fieldlist [ $field ] == 'recuperableonly' ) $valuetoshow = MENTION_NPR ;
2005-10-04 02:10:41 +02:00
if ( $fieldlist [ $field ] == 'nbjour' ) $valuetoshow = $langs -> trans ( " NbOfDays " );
if ( $fieldlist [ $field ] == 'fdm' ) $valuetoshow = $langs -> trans ( " AtEndOfMonth " );
2004-06-26 19:13:30 +02:00
print '<td>' ;
2004-08-08 20:22:01 +02:00
print $valuetoshow ;
2004-06-26 19:13:30 +02:00
print '</td>' ;
2005-08-20 00:32:32 +02:00
if ( $fieldlist [ $field ] == 'libelle' ) $alabelisused = 1 ;
2004-06-26 19:13:30 +02:00
}
print '<td> </td>' ;
2004-08-08 20:22:01 +02:00
print '<td> </td>' ;
2004-06-26 19:13:30 +02:00
print '</td>' ;
2004-08-08 20:22:01 +02:00
// Ligne d'ajout
2004-06-26 19:13:30 +02:00
print " <tr $bc[$var] class= \" value \" > " ;
2004-08-08 20:22:01 +02:00
$html = new Form ( $db );
2004-06-26 19:13:30 +02:00
foreach ( $fieldlist as $field => $value ) {
if ( $fieldlist [ $field ] == 'pays' ) {
print '<td>' ;
2004-08-08 20:22:01 +02:00
$html -> select_pays ( '' , 'pays' );
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'region' ) {
print '<td>' ;
$html -> select_region ( '' , 'region' );
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'lang' ) {
print '<td>' ;
$html -> select_lang ( MAIN_LANG_DEFAULT , 'lang' );
print '</td>' ;
}
2005-09-17 19:38:02 +02:00
// 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 " );
2005-09-08 00:43:44 +02:00
print '<td>' ;
2005-09-17 19:38:02 +02:00
$elementList = array ( " commande " => $langs -> trans ( " Order " ),
" contrat " => $langs -> trans ( " Contract " ),
" projet " => $langs -> trans ( " Project " ),
" propal " => $langs -> trans ( " Propal " ),
" facture " => $langs -> trans ( " Bill " ));
2005-09-08 00:43:44 +02:00
$html -> select_array ( 'element' , $elementList );
print '</td>' ;
}
2005-09-17 19:38:02 +02:00
// 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 );
print '</td>' ;
}
2004-08-08 20:22:01 +02:00
elseif ( $fieldlist [ $field ] == 'type' ) {
print '<td>' ;
print 'user<input type="hidden" name="type" value="user">' ;
2004-06-26 19:13:30 +02:00
print '</td>' ;
}
2005-08-20 00:32:32 +02:00
elseif ( $fieldlist [ $field ] == 'recuperableonly' ) {
print '<td>' ;
$html -> selectyesno ( 'recuperableonly' , '' , 1 );
print '</td>' ;
}
2005-10-04 02:10:41 +02:00
elseif ( $fieldlist [ $field ] == 'nbjour' ) {
print '<td><input type="text" class="flat" value="" size="3" name="' . $fieldlist [ $field ] . '"></td>' ;
}
elseif ( $fieldlist [ $field ] == 'fdm' ) {
print '<td>' ;
$html -> selectyesno ( 'fdm' , '' , 1 );
print '</td>' ;
}
2004-06-26 19:13:30 +02:00
else {
2005-04-28 02:26:34 +02:00
print '<td><input type="text" class="flat" value="" name="' . $fieldlist [ $field ] . '"></td>' ;
2004-06-26 19:13:30 +02:00
}
}
2005-04-28 02:26:34 +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
2005-08-20 00:32:32 +02:00
if ( $alabelisused ) // Si un des champs est un libell<6C>
{
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-08-08 20:22:01 +02:00
print '</form>' ;
2004-06-26 19:13:30 +02:00
}
2004-06-09 20:37:17 +02:00
// Affiche table des valeurs
2004-06-26 19:13:30 +02:00
if ( $db -> query ( $sql ))
2004-02-16 13:22:32 +01:00
{
2004-06-26 19:13:30 +02:00
$num = $db -> num_rows ();
$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">' ;
foreach ( $fieldlist as $field => $value ) {
2004-08-08 20:22:01 +02:00
// Determine le nom du champ par rapport aux noms possibles
// dans les dictionnaires de donn<6E> es
$valuetoshow = ucfirst ( $fieldlist [ $field ]); // Par defaut
2005-09-17 19:38:02 +02:00
if ( $fieldlist [ $field ] == 'source' ) $valuetoshow = $langs -> trans ( " Contact " );
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' ) $valuetoshow = $langs -> trans ( " Label " ) . " * " ;
2005-10-04 02:10:41 +02:00
if ( $fieldlist [ $field ] == 'libelle_facture' ) $valuetoshow = $langs -> trans ( " LabelOnDocuments " ) . " * " ;
2005-09-17 19:38:02 +02:00
if ( $fieldlist [ $field ] == 'pays' ) $valuetoshow = $langs -> trans ( " Country " );
2005-10-08 21:13:58 +02:00
if ( $fieldlist [ $field ] == 'recuperableonly' ) $valuetoshow = MENTION_NPR ;
2005-10-04 02:10:41 +02:00
if ( $fieldlist [ $field ] == 'nbjour' ) $valuetoshow = $langs -> trans ( " NbOfDays " );
if ( $fieldlist [ $field ] == 'fdm' ) $valuetoshow = $langs -> trans ( " AtEndOfMonth " );
2004-08-08 20:22:01 +02:00
// Affiche nom du champ
2004-10-31 14:00:04 +01:00
print_liste_field_titre ( $valuetoshow , " dict.php " , $fieldlist [ $field ], " &id= " . $_GET [ " id " ], " " , " " , $sortfield );
2004-06-26 19:13:30 +02:00
}
2004-10-31 14:00:04 +01:00
print_liste_field_titre ( $langs -> trans ( " Activate " ) . " / " . $langs -> trans ( " Disable " ), " dict.php " , " active " , " &id= " . $_GET [ " id " ], " " , " " , $sortfield );
2004-08-08 20:22:01 +02:00
print '<td> </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 )
{
2004-10-23 18:55:07 +02:00
$obj = $db -> fetch_object ();
2004-06-26 19:13:30 +02:00
$var =! $var ;
print " <tr $bc[$var] class= \" value \" > " ;
foreach ( $fieldlist as $field => $value ) {
2004-08-08 20:22:01 +02:00
$valuetoshow = $obj -> $fieldlist [ $field ];
2005-09-08 00:43:44 +02:00
2004-08-08 20:22:01 +02:00
if ( $valuetoshow == 'all' ) {
$valuetoshow = $langs -> trans ( 'All' );
}
2005-08-20 00:32:32 +02:00
if ( $fieldlist [ $field ] == 'recuperableonly' ) {
$valuetoshow = yn ( $valuetoshow );
}
2005-10-04 02:10:41 +02:00
if ( $fieldlist [ $field ] == 'fdm' ) {
$valuetoshow = yn ( $valuetoshow );
}
2004-08-08 20:22:01 +02:00
print '<td>' . $valuetoshow . '</td>' ;
2004-06-26 19:13:30 +02:00
}
print '<td>' ;
2004-08-08 20:22:01 +02:00
// Est-ce une entr<74> e du dictionnaire qui peut etre d<> sactiv<69> e ?
$iserasable = 1 ; // Oui par defaut
2005-05-14 02:54:19 +02:00
if ( isset ( $obj -> code ) && ( $obj -> code == '0' || $obj -> code == '' || eregi ( 'unknown' , $obj -> code ))) $iserasable = 0 ;
2004-08-08 20:22:01 +02:00
if ( $obj -> type && $obj -> type == 'system' ) $iserasable = 0 ;
if ( $iserasable ) {
2006-01-19 23:28:42 +01:00
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>' ;
2004-06-26 19:13:30 +02:00
} else {
2004-08-08 20:22:01 +02:00
print $langs -> trans ( " AlwaysActive " );
2004-06-26 19:13:30 +02:00
}
print " </td> " ;
2004-08-08 20:22:01 +02:00
if ( $iserasable ) {
2006-01-19 23:28:42 +01:00
print '<td><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>' ;
2004-08-08 20:22:01 +02:00
} else {
print '<td> </td>' ;
}
2004-06-26 19:13:30 +02:00
print " </tr> \n " ;
$i ++ ;
}
}
}
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>' ;
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-10-14 22:53:49 +02:00
print_fiche_titre ( $langs -> trans ( " DictionnarySetup " ));
2005-04-28 02:26:34 +02:00
2005-04-28 02:42:34 +02:00
$var = true ;
2005-04-28 02:26:34 +02:00
print '<table class="noborder" width="100%">' ;
print '<tr class="liste_titre"><td>' . $langs -> trans ( " Dictionnary " ) . '</td><td>' . $langs -> trans ( " Table " ) . '</td></tr>' ;
2004-06-26 19:13:30 +02:00
2006-01-18 21:10:08 +01:00
foreach ( $taborder as $i )
{
2005-04-28 02:26:34 +02:00
$var =! $var ;
2006-01-18 21:10:08 +01:00
if ( $i )
{
2004-10-31 14:00:04 +01:00
$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>' ;
2004-10-31 14:00:04 +01:00
}
else
{
2005-04-28 02:26:34 +02:00
print '<tr ' . $bc [ $var ] . '><td width="30%"> </td><td> </td></tr>' ;
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 ();
llxFooter ();
2004-02-16 13:22:32 +01:00
?>