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 >
2012-04-28 14:52:53 +02:00
* Copyright ( C ) 2004 - 2012 Laurent Destailleur < eldy @ users . sourceforge . net >
2005-01-09 19:22:15 +01:00
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
2012-12-30 15:13:49 +01:00
* Copyright ( C ) 2005 - 2012 Regis Houssin < regis . houssin @ capnetworks . com >
2013-08-14 12:48:00 +02:00
* Copyright ( C ) 2010 - 2013 Juanjo Menent < jmenent @ 2 byte . es >
2011-04-26 19:12:10 +02:00
* Copyright ( C ) 2011 Philippe Grand < philippe . grand @ atoo - net . com >
2011-10-18 20:16:36 +02:00
* Copyright ( C ) 2011 Remy Younes < ryounes @ gmail . com >
2013-04-20 12:57:50 +02:00
* Copyright ( C ) 2012 - 2013 Marcos García < marcosgdf @ gmail . com >
2012-09-16 10:08:41 +02:00
* Copyright ( C ) 2012 Christophe Battarel < christophe . battarel @ ltairis . fr >
2013-04-20 12:57:50 +02:00
* Copyright ( C ) 2011 - 2012 Alexandre Spangaro < alexandre . spangaro @ gmail . com >
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
2013-01-16 15:36:08 +01:00
* the Free Software Foundation ; either version 3 of the License , or
2004-02-16 13:22:32 +01:00
* ( 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
2011-08-01 00:21:57 +02:00
* along with this program . If not , see < http :// www . gnu . org / licenses />.
2004-02-16 13:22:32 +01:00
*/
2004-08-29 14:01:58 +02:00
2005-04-07 02:10:34 +02:00
/**
2008-10-25 19:27:15 +02:00
* \file htdocs / admin / dict . php
* \ingroup setup
* \brief Page to administer data tables
*/
2004-08-29 14:01:58 +02:00
2012-08-22 23:24:21 +02:00
require '../main.inc.php' ;
2012-08-22 23:11:24 +02:00
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formadmin.class.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php' ;
2004-02-16 13:22:32 +01:00
2011-10-29 23:52:05 +02:00
$langs -> load ( " errors " );
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
2012-02-29 16:08:29 +01:00
$action = GETPOST ( 'action' , 'alpha' ) ? GETPOST ( 'action' , 'alpha' ) : 'view' ;
$confirm = GETPOST ( 'confirm' , 'alpha' );
$id = GETPOST ( 'id' , 'int' );
2012-03-08 13:25:03 +01:00
$rowid = GETPOST ( 'rowid' , 'alpha' );
2004-08-08 20:22:01 +02:00
2011-10-19 01:51:40 +02:00
if ( ! $user -> admin ) accessforbidden ();
2011-10-18 20:16:36 +02:00
2004-08-08 20:22:01 +02:00
$acts [ 0 ] = " activate " ;
$acts [ 1 ] = " disable " ;
2011-10-06 11:04:56 +02:00
$actl [ 0 ] = img_picto ( $langs -> trans ( " Disabled " ), 'switch_off' );
$actl [ 1 ] = img_picto ( $langs -> trans ( " Activated " ), 'switch_on' );
2004-02-16 13:22:32 +01:00
2011-05-29 12:57:38 +02:00
$listoffset = GETPOST ( 'listoffset' );
$listlimit = GETPOST ( 'listlimit' ) > 0 ? GETPOST ( 'listlimit' ) : 1000 ;
2004-06-09 20:37:17 +02:00
$active = 1 ;
2011-05-29 12:57:38 +02:00
$sortfield = GETPOST ( " sortfield " , 'alpha' );
$sortorder = GETPOST ( " sortorder " , 'alpha' );
$page = GETPOST ( " page " , 'int' );
if ( $page == - 1 ) { $page = 0 ; }
$offset = $listlimit * $page ;
$pageprev = $page - 1 ;
$pagenext = $page + 1 ;
2011-10-19 01:51:40 +02:00
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
2012-03-02 14:51:16 +01:00
$hookmanager -> initHooks ( array ( 'admin' ));
2011-05-29 12:57:38 +02:00
2012-04-28 14:52:53 +02:00
// This page is a generic page to edit dictionnaries
// Put here declaration of dictionnaries properties
2011-10-19 01:51:40 +02:00
// Sort order to show dictionnary (0 is space). All other dictionnaries (added by modules) will be at end of this.
2013-03-25 13:04:03 +01:00
$taborder = array ( 9 , 0 , 4 , 3 , 2 , 0 , 1 , 8 , 19 , 16 , 0 , 5 , 11 , 0 , 6 , 0 , 10 , 25 , 12 , 13 , 0 , 14 , 0 , 7 , 17 , 0 , 22 , 20 , 18 , 21 , 0 , 15 , 0 , 24 , 23 );
2004-10-31 14:00:04 +01:00
2011-10-19 01:51:40 +02:00
// Name of SQL tables of dictionnaries
2012-04-28 14:52:53 +02:00
$tabname = array ();
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 " ;
2010-09-06 01:39:37 +02:00
$tabname [ 12 ] = MAIN_DB_PREFIX . " c_payment_term " ;
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 " ;
2010-09-06 02:02:55 +02:00
$tabname [ 18 ] = MAIN_DB_PREFIX . " c_shipment_mode " ;
2009-11-19 17:13:39 +01:00
$tabname [ 19 ] = MAIN_DB_PREFIX . " c_effectif " ;
2011-04-24 15:20:55 +02:00
$tabname [ 20 ] = MAIN_DB_PREFIX . " c_input_method " ;
2011-04-01 12:49:57 +02:00
$tabname [ 21 ] = MAIN_DB_PREFIX . " c_availability " ;
2011-05-07 13:36:47 +02:00
$tabname [ 22 ] = MAIN_DB_PREFIX . " c_input_reason " ;
2012-08-26 17:11:19 +02:00
$tabname [ 23 ] = MAIN_DB_PREFIX . " accountingaccount " ;
2012-12-08 14:16:39 +01:00
$tabname [ 24 ] = MAIN_DB_PREFIX . " accounting_system " ;
2013-03-06 16:09:00 +01:00
$tabname [ 25 ] = MAIN_DB_PREFIX . " c_revenuestamp " ;
2004-02-16 13:22:32 +01:00
2009-01-22 23:55:51 +01:00
// Dictionary labels
2012-04-28 14:52:53 +02:00
$tablib = array ();
2011-01-23 22:24:47 +01:00
$tablib [ 1 ] = " DictionnaryCompanyJuridicalType " ;
$tablib [ 2 ] = " DictionnaryCanton " ;
$tablib [ 3 ] = " DictionnaryRegion " ;
$tablib [ 4 ] = " DictionnaryCountry " ;
$tablib [ 5 ] = " DictionnaryCivility " ;
$tablib [ 6 ] = " DictionnaryActions " ;
$tablib [ 7 ] = " DictionnarySocialContributions " ;
$tablib [ 8 ] = " DictionnaryCompanyType " ;
$tablib [ 9 ] = " DictionnaryCurrency " ;
$tablib [ 10 ] = " DictionnaryVAT " ;
$tablib [ 11 ] = " DictionnaryTypeContact " ;
$tablib [ 12 ] = " DictionnaryPaymentConditions " ;
$tablib [ 13 ] = " DictionnaryPaymentModes " ;
$tablib [ 14 ] = " DictionnaryEcotaxe " ;
$tablib [ 15 ] = " DictionnaryPaperFormat " ;
$tablib [ 16 ] = " DictionnaryProspectLevel " ;
$tablib [ 17 ] = " DictionnaryFees " ;
$tablib [ 18 ] = " DictionnarySendingMethods " ;
$tablib [ 19 ] = " DictionnaryStaff " ;
2011-02-23 16:23:42 +01:00
$tablib [ 20 ] = " DictionnaryOrderMethods " ;
2011-04-01 12:49:57 +02:00
$tablib [ 21 ] = " DictionnaryAvailability " ;
2011-04-18 21:39:14 +02:00
$tablib [ 22 ] = " DictionnarySource " ;
2012-08-26 17:11:19 +02:00
$tablib [ 23 ] = " DictionnaryAccountancyplan " ;
2013-03-30 14:27:13 +01:00
$tablib [ 24 ] = " DictionnaryAccountancysystem " ;
$tablib [ 25 ] = " DictionnaryRevenueStamp " ;
2004-02-16 13:22:32 +01:00
2009-01-22 23:55:51 +01:00
// Requete pour extraction des donnees des dictionnaires
2012-04-28 14:52:53 +02:00
$tabsql = array ();
2013-02-25 17:56:41 +01:00
$tabsql [ 1 ] = " SELECT f.rowid as rowid, f.code, f.libelle, p.code as country_code, p.libelle as country, 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, d.fk_region as region_id, r.nom as region, p.code as country_code, p.libelle as country, 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, r.fk_pays as country_id, p.code as country_code, p.libelle as country, 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 " ;
2011-02-02 14:29:54 +01:00
$tabsql [ 6 ] = " SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active, a.module, a.position FROM " . MAIN_DB_PREFIX . " c_actioncomm AS a " ;
2013-02-25 17:56:41 +01:00
$tabsql [ 7 ] = " SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, a.deductible, p.code as country_code, p.libelle as country, a.fk_pays as country_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 " ;
2005-09-08 00:43:44 +02:00
$tabsql [ 8 ] = " SELECT id as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_typent " ;
2013-01-18 15:57:11 +01:00
$tabsql [ 9 ] = " SELECT code_iso as code, label, unicode, active FROM " . MAIN_DB_PREFIX . " c_currencies " ;
2013-04-16 16:02:13 +02:00
$tabsql [ 10 ] = " SELECT t.rowid, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, p.libelle as country, p.code as country_code, t.fk_pays as country_id, t.recuperableonly, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM " . MAIN_DB_PREFIX . " c_tva as t, " . MAIN_DB_PREFIX . " 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 " ;
2010-09-06 01:39:37 +02:00
$tabsql [ 12 ] = " SELECT c.rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM " . MAIN_DB_PREFIX . 'c_payment_term 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 " ;
2013-02-25 17:56:41 +01:00
$tabsql [ 14 ] = " SELECT e.rowid as rowid, e.code as code, e.libelle, e.price, e.organization, e.fk_pays as country_id, p.code as country_code, p.libelle as country, 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 " ;
2014-02-12 22:28:16 +01:00
$tabsql [ 16 ] = " SELECT code, label as libelle, sortorder, 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 " ;
2013-04-19 19:46:49 +02:00
$tabsql [ 18 ] = " SELECT rowid as rowid, code, libelle, tracking, active FROM " . MAIN_DB_PREFIX . " c_shipment_mode " ;
2009-11-19 17:13:39 +01:00
$tabsql [ 19 ] = " SELECT id as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_effectif " ;
2011-04-24 15:22:50 +02:00
$tabsql [ 20 ] = " SELECT rowid as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_input_method " ;
2011-05-29 12:57:38 +02:00
$tabsql [ 21 ] = " SELECT c.rowid as rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_availability AS c " ;
$tabsql [ 22 ] = " SELECT rowid as rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_input_reason " ;
2012-09-25 21:09:55 +02:00
$tabsql [ 23 ] = " SELECT rowid as rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number as accountancy_code, account_parent, label, active FROM " . MAIN_DB_PREFIX . " accountingaccount " ;
2013-03-30 14:27:13 +01:00
$tabsql [ 24 ] = " SELECT s.rowid as rowid, pcg_version, s.fk_pays as country_id, p.code as country_code, p.libelle as pays, s.label, s.active FROM " . MAIN_DB_PREFIX . " accounting_system as s, " . MAIN_DB_PREFIX . " c_pays as p WHERE s.fk_pays=p.rowid and p.active=1 " ;
2013-04-16 16:02:13 +02:00
$tabsql [ 25 ] = " SELECT t.rowid, t.taux, p.libelle as country, p.code as country_code, t.fk_pays as country_id, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM " . MAIN_DB_PREFIX . " c_revenuestamp as t, " . MAIN_DB_PREFIX . " c_pays as p WHERE t.fk_pays=p.rowid " ;
2004-06-26 19:13:30 +02:00
2006-08-12 19:53:18 +02:00
// Critere de tri du dictionnaire
2012-04-28 14:52:53 +02:00
$tabsqlsort = array ();
2013-02-25 17:56:41 +01:00
$tabsqlsort [ 1 ] = " country ASC, code ASC " ;
$tabsqlsort [ 2 ] = " country ASC, code ASC " ;
$tabsqlsort [ 3 ] = " country ASC, code ASC " ;
2009-07-04 00:52:49 +02:00
$tabsqlsort [ 4 ] = " code ASC " ;
2005-08-20 00:32:32 +02:00
$tabsqlsort [ 5 ] = " libelle ASC " ;
2012-09-20 00:14:40 +02:00
$tabsqlsort [ 6 ] = " a.type ASC, a.module ASC, a.position ASC, a.code ASC " ;
2013-02-25 17:56:41 +01:00
$tabsqlsort [ 7 ] = " country ASC, code ASC, a.libelle ASC " ;
2005-08-20 00:32:32 +02:00
$tabsqlsort [ 8 ] = " libelle ASC " ;
2013-01-18 15:57:11 +01:00
$tabsqlsort [ 9 ] = " label ASC " ;
2013-02-25 17:56:41 +01:00
$tabsqlsort [ 10 ] = " country ASC, taux ASC, recuperableonly ASC, localtax1 ASC, localtax2 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 " ;
2013-02-25 17:56:41 +01:00
$tabsqlsort [ 14 ] = " country ASC, 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 " ;
2009-01-22 23:55:51 +01:00
$tabsqlsort [ 18 ] = " code ASC, libelle ASC " ;
2009-11-19 17:13:39 +01:00
$tabsqlsort [ 19 ] = " id ASC " ;
2011-02-23 16:23:42 +01:00
$tabsqlsort [ 20 ] = " code ASC, libelle ASC " ;
2011-04-01 12:49:57 +02:00
$tabsqlsort [ 21 ] = " code ASC, label ASC " ;
2011-04-18 21:39:14 +02:00
$tabsqlsort [ 22 ] = " code ASC, label ASC " ;
2012-09-25 21:09:55 +02:00
$tabsqlsort [ 23 ] = " fk_pcg_version ASC, accountancy_code ASC " ;
2013-03-30 14:27:13 +01:00
$tabsqlsort [ 24 ] = " pcg_version ASC " ;
$tabsqlsort [ 25 ] = " country ASC, taux ASC " ;
2008-05-28 00:30:52 +02:00
2004-08-08 20:22:01 +02:00
// Nom des champs en resultat de select pour affichage du dictionnaire
2012-04-28 14:52:53 +02:00
$tabfield = array ();
2013-02-25 17:56:41 +01:00
$tabfield [ 1 ] = " code,libelle,country " ;
$tabfield [ 2 ] = " code,libelle,region_id,region,country " ; // "code,libelle,region,country_code-country"
$tabfield [ 3 ] = " code,libelle,country_id,country " ;
2004-06-09 20:37:17 +02:00
$tabfield [ 4 ] = " code,libelle " ;
2004-09-18 19:17:19 +02:00
$tabfield [ 5 ] = " code,libelle " ;
2011-02-02 14:29:54 +01:00
$tabfield [ 6 ] = " code,libelle,type,position " ;
2013-02-25 17:56:41 +01:00
$tabfield [ 7 ] = " code,libelle,country_id,country,accountancy_code,deductible " ;
2005-05-14 02:54:19 +02:00
$tabfield [ 8 ] = " code,libelle " ;
2013-01-18 15:57:11 +01:00
$tabfield [ 9 ] = " code,label,unicode " ;
2013-02-25 17:56:41 +01:00
$tabfield [ 10 ] = " country_id,country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,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 " ;
2013-02-25 17:56:41 +01:00
$tabfield [ 14 ] = " code,libelle,price,organization,country_id,country " ;
2007-09-30 19:55:29 +02:00
$tabfield [ 15 ] = " code,libelle,width,height,unit " ;
2014-02-12 22:28:16 +01:00
$tabfield [ 16 ] = " code,libelle,sortorder " ;
2008-05-28 00:30:52 +02:00
$tabfield [ 17 ] = " code,libelle " ;
2013-04-19 19:46:49 +02:00
$tabfield [ 18 ] = " code,libelle,tracking " ;
2009-11-19 17:13:39 +01:00
$tabfield [ 19 ] = " code,libelle " ;
2011-02-23 16:23:42 +01:00
$tabfield [ 20 ] = " code,libelle " ;
2011-04-01 12:49:57 +02:00
$tabfield [ 21 ] = " code,label " ;
2011-04-18 21:39:14 +02:00
$tabfield [ 22 ] = " code,label " ;
2012-09-25 21:09:55 +02:00
$tabfield [ 23 ] = " fk_pcg_version,accountancy_code,account_parent,pcg_type,pcg_subtype,label " ;
2013-03-30 14:27:13 +01:00
$tabfield [ 24 ] = " pcg_version,country_id,country,label " ;
$tabfield [ 25 ] = " country_id,country,taux,accountancy_code_sell,accountancy_code_buy,note " ;
2004-02-16 13:22:32 +01:00
2009-07-04 00:52:49 +02:00
// Nom des champs d'edition pour modification d'un enregistrement
2012-04-28 14:52:53 +02:00
$tabfieldvalue = array ();
2013-02-25 17:56:41 +01:00
$tabfieldvalue [ 1 ] = " code,libelle,country " ;
2007-07-24 12:35:22 +02:00
$tabfieldvalue [ 2 ] = " code,libelle,region " ; // "code,libelle,region"
2013-02-25 17:56:41 +01:00
$tabfieldvalue [ 3 ] = " code,libelle,country " ;
2007-07-24 12:35:22 +02:00
$tabfieldvalue [ 4 ] = " code,libelle " ;
$tabfieldvalue [ 5 ] = " code,libelle " ;
2011-02-02 14:29:54 +01:00
$tabfieldvalue [ 6 ] = " code,libelle,type,position " ;
2013-02-25 17:56:41 +01:00
$tabfieldvalue [ 7 ] = " code,libelle,country,accountancy_code,deductible " ;
2007-07-24 12:35:22 +02:00
$tabfieldvalue [ 8 ] = " code,libelle " ;
2013-01-18 15:57:11 +01:00
$tabfieldvalue [ 9 ] = " code,label,unicode " ;
2013-02-25 17:56:41 +01:00
$tabfieldvalue [ 10 ] = " country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note " ;
2007-07-24 12:35:22 +02:00
$tabfieldvalue [ 11 ] = " element,source,code,libelle " ;
$tabfieldvalue [ 12 ] = " code,libelle,libelle_facture,nbjour,fdm,decalage " ;
$tabfieldvalue [ 13 ] = " code,libelle,type " ;
2013-02-25 17:56:41 +01:00
$tabfieldvalue [ 14 ] = " code,libelle,price,organization,country " ;
2007-09-30 19:55:29 +02:00
$tabfieldvalue [ 15 ] = " code,libelle,width,height,unit " ;
2014-02-12 22:28:16 +01:00
$tabfieldvalue [ 16 ] = " code,libelle,sortorder " ;
2008-05-28 00:30:52 +02:00
$tabfieldvalue [ 17 ] = " code,libelle " ;
2013-04-19 19:46:49 +02:00
$tabfieldvalue [ 18 ] = " code,libelle,tracking " ;
2009-11-19 17:13:39 +01:00
$tabfieldvalue [ 19 ] = " code,libelle " ;
2011-02-23 16:23:42 +01:00
$tabfieldvalue [ 20 ] = " code,libelle " ;
2011-04-01 12:49:57 +02:00
$tabfieldvalue [ 21 ] = " code,label " ;
2011-04-18 21:39:14 +02:00
$tabfieldvalue [ 22 ] = " code,label " ;
2012-09-25 21:09:55 +02:00
$tabfieldvalue [ 23 ] = " fk_pcg_version,accountancy_code,account_parent,pcg_type,pcg_subtype,label " ;
2013-03-30 14:27:13 +01:00
$tabfieldvalue [ 24 ] = " pcg_version,country,label " ;
$tabfieldvalue [ 25 ] = " country,taux,accountancy_code_sell,accountancy_code_buy,note " ;
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
2012-04-28 14:52:53 +02:00
$tabfieldinsert = array ();
2004-08-08 20:22:01 +02:00
$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 " ;
2011-02-02 14:29:54 +01:00
$tabfieldinsert [ 6 ] = " code,libelle,type,position " ;
2012-09-25 21:09:55 +02:00
$tabfieldinsert [ 7 ] = " code,libelle,fk_pays,accountancy_code,deductible " ;
2005-05-14 02:54:19 +02:00
$tabfieldinsert [ 8 ] = " code,libelle " ;
2012-03-08 13:25:03 +01:00
$tabfieldinsert [ 9 ] = " code_iso,label,unicode " ;
2012-09-23 22:09:37 +02:00
$tabfieldinsert [ 10 ] = " fk_pays,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,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 " ;
2014-02-12 22:28:16 +01:00
$tabfieldinsert [ 16 ] = " code,label,sortorder " ;
2008-05-28 00:30:52 +02:00
$tabfieldinsert [ 17 ] = " code,libelle " ;
2013-04-19 19:46:49 +02:00
$tabfieldinsert [ 18 ] = " code,libelle,tracking " ;
2009-11-19 17:13:39 +01:00
$tabfieldinsert [ 19 ] = " code,libelle " ;
2011-02-23 16:23:42 +01:00
$tabfieldinsert [ 20 ] = " code,libelle " ;
2011-04-01 12:49:57 +02:00
$tabfieldinsert [ 21 ] = " code,label " ;
2011-04-18 21:39:14 +02:00
$tabfieldinsert [ 22 ] = " code,label " ;
2012-08-26 17:11:19 +02:00
$tabfieldinsert [ 23 ] = " fk_pcg_version,account_number,account_parent,pcg_type,pcg_subtype,label " ;
2013-03-30 14:27:13 +01:00
$tabfieldinsert [ 24 ] = " pcg_version,fk_pays,label " ;
$tabfieldinsert [ 25 ] = " fk_pays,taux,accountancy_code_sell,accountancy_code_buy,note " ;
2004-06-26 19:13:30 +02:00
2009-01-22 23:55:51 +01:00
// Nom du rowid si le champ n'est pas de type autoincrement
2011-02-02 14:29:54 +01:00
// Example: "" if id field is "rowid" and has autoincrement on
// "nameoffield" if id field is not "rowid" or has not autoincrement on
2012-04-28 14:52:53 +02:00
$tabrowid = array ();
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 " ;
2012-03-08 13:25:03 +01:00
$tabrowid [ 9 ] = " code_iso " ;
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 " ;
2009-01-22 23:55:51 +01:00
$tabrowid [ 18 ] = " rowid " ;
2009-11-19 17:13:39 +01:00
$tabrowid [ 19 ] = " id " ;
2011-02-23 16:23:42 +01:00
$tabrowid [ 20 ] = " " ;
2011-04-06 17:36:45 +02:00
$tabrowid [ 21 ] = " rowid " ;
2011-04-18 21:39:14 +02:00
$tabrowid [ 22 ] = " rowid " ;
2012-08-26 17:11:19 +02:00
$tabrowid [ 23 ] = " " ;
2013-03-30 14:27:13 +01:00
$tabrowid [ 24 ] = " " ;
$tabrowid [ 25 ] = " " ;
2004-06-26 19:13:30 +02:00
2006-08-12 19:53:18 +02:00
// Condition to show dictionnary in setup page
2012-04-28 14:52:53 +02:00
$tabcond = array ();
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 ;
2012-07-10 11:45:38 +02:00
$tabcond [ 5 ] = ( ! empty ( $conf -> societe -> enabled ) || ! empty ( $conf -> adherent -> enabled ));
$tabcond [ 6 ] = ! empty ( $conf -> agenda -> enabled );
$tabcond [ 7 ] = ! empty ( $conf -> tax -> enabled );
$tabcond [ 8 ] = ! empty ( $conf -> societe -> enabled );
2006-08-12 19:53:18 +02:00
$tabcond [ 9 ] = true ;
$tabcond [ 10 ] = true ;
$tabcond [ 11 ] = true ;
2012-07-10 11:45:38 +02:00
$tabcond [ 12 ] = ( ! empty ( $conf -> commande -> enabled ) || ! empty ( $conf -> propal -> enabled ) || ! empty ( $conf -> facture -> enabled ) || ! empty ( $conf -> fournisseur -> enabled ));
$tabcond [ 13 ] = ( ! empty ( $conf -> commande -> enabled ) || ! empty ( $conf -> propal -> enabled ) || ! empty ( $conf -> facture -> enabled ) || ! empty ( $conf -> fournisseur -> enabled ));
$tabcond [ 14 ] = ( ! empty ( $conf -> product -> enabled ) && ! empty ( $conf -> ecotax -> enabled ));
2007-09-30 19:55:29 +02:00
$tabcond [ 15 ] = true ;
2012-07-10 11:45:38 +02:00
$tabcond [ 16 ] = ( ! empty ( $conf -> societe -> enabled ) && empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS ));
$tabcond [ 17 ] = ! empty ( $conf -> deplacement -> enabled );
$tabcond [ 18 ] = ! empty ( $conf -> expedition -> enabled );
$tabcond [ 19 ] = ! empty ( $conf -> societe -> enabled );
$tabcond [ 20 ] = ! empty ( $conf -> fournisseur -> enabled );
$tabcond [ 21 ] = ! empty ( $conf -> propal -> enabled );
$tabcond [ 22 ] = ( ! empty ( $conf -> commande -> enabled ) || ! empty ( $conf -> propal -> enabled ));
2012-08-26 18:54:34 +02:00
$tabcond [ 23 ] = ( ! empty ( $conf -> global -> ACCOUNTING_USEDICTTOEDIT ) && ! empty ( $conf -> accounting -> enabled )); // The accountancy plan should be edited with specific pages. You can set ACCOUNTING_USEDICTTOEDIT to 1 if you want to use dictionnary editor.
2013-03-30 14:27:13 +01:00
$tabcond [ 24 ] = ( ! empty ( $conf -> global -> ACCOUNTING_USEDICTTOEDIT ) && ! empty ( $conf -> accounting -> enabled )); // The accountancy system should be edited with specific pages. You can set ACCOUNTING_USEDICTTOEDIT to 1 if you want to use dictionnary editor.
$tabcond [ 25 ] = true ;
2004-02-21 00:37:42 +01:00
2012-04-28 14:52:53 +02:00
// List of help for fields
$tabhelp = array ();
$tabhelp [ 1 ] = array ();
$tabhelp [ 2 ] = array ();
$tabhelp [ 3 ] = array ();
$tabhelp [ 4 ] = array ();
$tabhelp [ 5 ] = array ();
$tabhelp [ 6 ] = array ();
$tabhelp [ 7 ] = array ();
$tabhelp [ 8 ] = array ();
$tabhelp [ 9 ] = array ();
$tabhelp [ 10 ] = array ();
$tabhelp [ 11 ] = array ();
$tabhelp [ 12 ] = array ();
$tabhelp [ 13 ] = array ();
$tabhelp [ 14 ] = array ();
$tabhelp [ 15 ] = array ();
$tabhelp [ 16 ] = array ();
$tabhelp [ 17 ] = array ();
$tabhelp [ 18 ] = array ();
$tabhelp [ 19 ] = array ();
$tabhelp [ 20 ] = array ();
$tabhelp [ 21 ] = array ();
$tabhelp [ 22 ] = array ();
2012-08-26 17:11:19 +02:00
$tabhelp [ 23 ] = array ();
2013-03-30 14:27:13 +01:00
$tabhelp [ 24 ] = array ();
$tabhelp [ 25 ] = array ();
2012-04-28 14:52:53 +02:00
// Complete all arrays with entries found into modules
complete_dictionnary_with_modules ( $taborder , $tabname , $tablib , $tabsql , $tabsqlsort , $tabfield , $tabfieldvalue , $tabfieldinsert , $tabrowid , $tabcond , $tabhelp );
2011-01-23 20:51:29 +01:00
2011-05-03 11:26:48 +02:00
// Define elementList and sourceList (used for dictionnary "type of contacts")
$elementList = array ();
$sourceList = array ();
2012-02-29 16:08:29 +01:00
if ( $id == 11 )
2011-05-03 11:26:48 +02:00
{
2012-09-25 19:34:18 +02:00
$langs -> load ( " orders " );
$langs -> load ( " contracts " );
$langs -> load ( " projects " );
$langs -> load ( " propal " );
$langs -> load ( " bills " );
$langs -> load ( " interventions " );
$elementList = array (
'commande' => $langs -> trans ( 'Order' ),
'invoice_supplier' => $langs -> trans ( 'SupplierBill' ),
'order_supplier' => $langs -> trans ( 'SupplierOrder' ),
'contrat' => $langs -> trans ( 'Contract' ),
'project' => $langs -> trans ( 'Project' ),
'project_task' => $langs -> trans ( 'Task' ),
'propal' => $langs -> trans ( 'Proposal' ),
'facture' => $langs -> trans ( 'Bill' ),
'facture_fourn' => $langs -> trans ( 'SupplierBill' ),
2012-12-31 05:10:35 +01:00
'fichinter' => $langs -> trans ( 'InterventionCard' ),
'agenda' => $langs -> trans ( 'Agenda' )
2012-09-25 19:34:18 +02:00
);
if ( ! empty ( $conf -> global -> MAIN_SUPPORT_CONTACT_TYPE_FOR_THIRDPARTIES )) $elementList [ " societe " ] = $langs -> trans ( 'ThirdParty' );
$sourceList = array (
'internal' => $langs -> trans ( 'Internal' ),
'external' => $langs -> trans ( 'External' )
);
2011-05-03 11:26:48 +02:00
}
2011-01-23 20:51:29 +01:00
2012-09-16 10:08:41 +02:00
// Define localtax_typeList (used for dictionnary "c_tva")
$localtax_typeList = array ();
2013-04-19 15:38:24 +02:00
if ( $id == 10 )
2012-09-16 10:08:41 +02:00
{
2012-09-25 19:34:18 +02:00
$localtax_typeList = array (
" 0 " => $langs -> trans ( " No " ),
" 1 " => $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 1) " , //$langs->trans("%ageOnAllWithoutVAT"),
" 2 " => $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 2) " , //$langs->trans("%ageOnAllBeforeVAT"),
" 3 " => $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 3) " , //$langs->trans("%ageOnProductsWithoutVAT"),
" 4 " => $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 4) " , //$langs->trans("%ageOnProductsBeforeVAT"),
" 5 " => $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 5) " , //$langs->trans("%ageOnServiceWithoutVAT"),
2013-02-27 01:05:16 +01:00
" 6 " => $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 6) " //$langs->trans("%ageOnServiceBeforeVAT"),
2012-09-25 19:34:18 +02:00
);
2013-02-27 01:05:16 +01:00
if ( ! empty ( $conf -> global -> MAIN_USE_LOCALTAX_TYPE_7 )) $localtax_typeList [ " 7 " ] = $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 7) " ; //$langs->trans("AmountOnOrder") // We will enable this later. For the moment, work only of invoice localtype
2012-09-16 10:08:41 +02:00
}
2004-08-08 20:22:01 +02:00
2004-10-31 14:00:04 +01:00
2012-04-28 14:52:53 +02:00
// Actions ajout ou modification d'une entree dans un dictionnaire de donnee
2012-07-10 11:45:38 +02:00
if ( GETPOST ( 'actionadd' ) || GETPOST ( 'actionmodify' ))
2005-08-20 00:32:32 +02:00
{
2012-02-29 16:08:29 +01:00
$listfield = explode ( ',' , $tabfield [ $id ]);
$listfieldinsert = explode ( ',' , $tabfieldinsert [ $id ]);
$listfieldmodify = explode ( ',' , $tabfieldinsert [ $id ]);
$listfieldvalue = explode ( ',' , $tabfieldvalue [ $id ]);
2011-01-23 22:24:47 +01:00
// Check that all fields are filled
$ok = 1 ;
foreach ( $listfield as $f => $value )
{
2013-02-25 17:56:41 +01:00
if ( $value == 'country' && in_array ( 'region_id' , $listfield )) continue ; // For region page, we do not require the country input
2012-09-16 15:04:55 +02:00
if ( $value == 'localtax1' && empty ( $_POST [ 'localtax1_type' ])) continue ;
if ( $value == 'localtax2' && empty ( $_POST [ 'localtax2_type' ])) continue ;
2011-01-23 22:24:47 +01:00
if (( ! isset ( $_POST [ $value ]) || $_POST [ $value ] == '' )
2012-09-25 21:09:55 +02:00
&& ( ! in_array ( $listfield [ $f ], array ( 'decalage' , 'module' , 'accountancy_code' , 'accountancy_code_sell' , 'accountancy_code_buy' ))) // Fields that are not mandatory
2012-09-16 15:04:55 +02:00
)
2011-01-23 22:24:47 +01:00
{
$ok = 0 ;
$fieldnamekey = $listfield [ $f ];
// We take translate key of field
2012-08-23 08:29:38 +02:00
if ( $fieldnamekey == 'libelle' || ( $fieldnamekey == 'label' )) $fieldnamekey = 'Label' ;
2012-08-18 05:14:21 +02:00
if ( $fieldnamekey == 'libelle_facture' ) $fieldnamekey = 'LabelOnDocuments' ;
2011-02-02 14:29:54 +01:00
if ( $fieldnamekey == 'nbjour' ) $fieldnamekey = 'NbOfDays' ;
2010-08-24 11:39:17 +02:00
if ( $fieldnamekey == 'decalage' ) $fieldnamekey = 'Offset' ;
2011-02-02 14:29:54 +01:00
if ( $fieldnamekey == 'module' ) $fieldnamekey = 'Module' ;
2012-08-18 05:14:21 +02:00
if ( $fieldnamekey == 'code' ) $fieldnamekey = 'Code' ;
2012-08-23 08:29:38 +02:00
if ( $fieldnamekey == 'note' ) $fieldnamekey = 'Note' ;
if ( $fieldnamekey == 'taux' ) $fieldnamekey = 'Rate' ;
if ( $fieldnamekey == 'type' ) $fieldnamekey = 'Type' ;
if ( $fieldnamekey == 'position' ) $fieldnamekey = 'Position' ;
if ( $fieldnamekey == 'unicode' ) $fieldnamekey = 'Unicode' ;
2013-05-08 17:20:20 +02:00
if ( $fieldnamekey == 'deductible' ) $fieldnamekey = 'Deductible' ;
2014-02-12 22:28:16 +01:00
if ( $fieldnamekey == 'sortorder' ) $fieldnamekey = 'SortOrder' ;
2012-08-18 09:57:42 +02:00
2013-08-14 12:48:00 +02:00
setEventMessage ( $langs -> transnoentities ( " ErrorFieldRequired " , $langs -> transnoentities ( $fieldnamekey )), 'errors' );
2011-01-23 22:24:47 +01:00
}
}
2012-09-16 15:04:55 +02:00
// Other checks
2012-09-20 00:14:40 +02:00
if ( $tabname [ $id ] == MAIN_DB_PREFIX . " c_actioncomm " && isset ( $_POST [ " type " ]) && in_array ( $_POST [ " type " ], array ( 'system' , 'systemauto' ))) {
2013-12-15 14:26:27 +01:00
$ok = 0 ;
2013-08-14 12:48:00 +02:00
setEventMessage ( $langs -> transnoentities ( 'ErrorReservedTypeSystemSystemAuto' ), 'errors' );
2011-02-02 14:29:54 +01:00
}
2013-04-19 23:33:54 +02:00
if ( isset ( $_POST [ " code " ]))
2013-04-19 15:38:24 +02:00
{
if ( $_POST [ " code " ] == '0' )
{
$ok = 0 ;
2013-08-14 12:48:00 +02:00
setEventMessage ( $langs -> transnoentities ( 'ErrorCodeCantContainZero' ), 'errors' );
2013-04-19 15:38:24 +02:00
}
2013-12-15 14:26:27 +01:00
/* if ( ! is_numeric ( $_POST [ 'code' ])) // disabled, code may not be in numeric base
2013-04-19 15:38:24 +02:00
{
$ok = 0 ;
$msg .= $langs -> transnoentities ( 'ErrorFieldFormat' , $langs -> transnoentities ( 'Code' )) . '<br />' ;
2013-04-22 16:42:44 +02:00
} */
2011-01-23 22:24:47 +01:00
}
2013-02-25 17:56:41 +01:00
if ( isset ( $_POST [ " country " ]) && $_POST [ " country " ] == '0' ) {
2011-01-23 22:24:47 +01:00
$ok = 0 ;
2013-08-14 12:48:00 +02:00
setEventMessage ( $langs -> transnoentities ( " ErrorFieldRequired " , $langs -> transnoentities ( " Country " )), 'errors' );
2011-01-23 22:24:47 +01:00
}
2013-04-19 15:38:24 +02:00
2012-09-16 15:04:55 +02:00
// Clean some parameters
if ( isset ( $_POST [ " localtax1 " ]) && empty ( $_POST [ " localtax1 " ])) $_POST [ " localtax1 " ] = '0' ; // If empty, we force to 0
2012-09-19 17:53:09 +02:00
if ( isset ( $_POST [ " localtax2 " ]) && empty ( $_POST [ " localtax2 " ])) $_POST [ " localtax2 " ] = '0' ; // If empty, we force to 0
2011-01-23 22:24:47 +01:00
// Si verif ok et action add, on ajoute la ligne
2012-07-10 11:45:38 +02:00
if ( $ok && GETPOST ( 'actionadd' ))
2011-01-23 22:24:47 +01:00
{
2012-02-29 16:08:29 +01:00
if ( $tabrowid [ $id ])
2011-01-23 22:24:47 +01:00
{
// Recupere id libre pour insertion
$newid = 0 ;
2012-02-29 16:08:29 +01:00
$sql = " SELECT max( " . $tabrowid [ $id ] . " ) newid from " . $tabname [ $id ];
2011-01-23 22:24:47 +01:00
$result = $db -> query ( $sql );
if ( $result )
{
$obj = $db -> fetch_object ( $result );
$newid = ( $obj -> newid + 1 );
} else {
dol_print_error ( $db );
}
}
// Add new entry
2012-02-29 16:08:29 +01:00
$sql = " INSERT INTO " . $tabname [ $id ] . " ( " ;
2011-01-23 22:24:47 +01:00
// List of fields
2012-09-25 19:34:18 +02:00
if ( $tabrowid [ $id ] && ! in_array ( $tabrowid [ $id ], $listfieldinsert ))
$sql .= $tabrowid [ $id ] . " , " ;
2012-02-29 16:08:29 +01:00
$sql .= $tabfieldinsert [ $id ];
2011-01-23 22:24:47 +01:00
$sql .= " ,active) " ;
$sql .= " VALUES( " ;
// List of values
2012-09-25 19:34:18 +02:00
if ( $tabrowid [ $id ] && ! in_array ( $tabrowid [ $id ], $listfieldinsert ))
$sql .= $newid . " , " ;
2011-01-23 22:24:47 +01:00
$i = 0 ;
foreach ( $listfieldinsert as $f => $value )
{
2012-02-29 16:08:29 +01:00
if ( $value == 'price' || preg_match ( '/^amount/i' , $value )) {
$_POST [ $listfieldvalue [ $i ]] = price2num ( $_POST [ $listfieldvalue [ $i ]], 'MU' );
}
else if ( $value == 'entity' ) {
$_POST [ $listfieldvalue [ $i ]] = $conf -> entity ;
}
2011-01-23 22:24:47 +01:00
if ( $i ) $sql .= " , " ;
2010-08-24 11:39:17 +02:00
if ( $_POST [ $listfieldvalue [ $i ]] == '' ) $sql .= " null " ;
else $sql .= " ' " . $db -> escape ( $_POST [ $listfieldvalue [ $i ]]) . " ' " ;
2011-01-23 22:24:47 +01:00
$i ++ ;
}
$sql .= " ,1) " ;
dol_syslog ( " actionadd sql= " . $sql );
$result = $db -> query ( $sql );
if ( $result ) // Add is ok
{
2014-05-20 16:08:05 +02:00
$_POST = array ( 'id' => $id ); // Clean $_POST array, we keep only
2011-01-23 22:24:47 +01:00
}
else
{
if ( $db -> errno () == 'DB_ERROR_RECORD_ALREADY_EXISTS' ) {
2013-08-14 12:48:00 +02:00
setEventMessage ( $langs -> transnoentities ( " ErrorRecordAlreadyExists " ), 'errors' );
2011-01-23 22:24:47 +01:00
}
else {
dol_print_error ( $db );
}
}
}
// Si verif ok et action modify, on modifie la ligne
2012-07-10 11:45:38 +02:00
if ( $ok && GETPOST ( 'actionmodify' ))
2011-01-23 22:24:47 +01:00
{
2012-02-29 16:08:29 +01:00
if ( $tabrowid [ $id ]) { $rowidcol = $tabrowid [ $id ]; }
2011-01-23 22:24:47 +01:00
else { $rowidcol = " rowid " ; }
// Modify entry
2012-02-29 16:08:29 +01:00
$sql = " UPDATE " . $tabname [ $id ] . " SET " ;
2011-01-23 22:24:47 +01:00
// Modifie valeur des champs
2012-09-25 19:34:18 +02:00
if ( $tabrowid [ $id ] && ! in_array ( $tabrowid [ $id ], $listfieldmodify ))
2011-01-23 22:24:47 +01:00
{
2012-02-29 16:08:29 +01:00
$sql .= $tabrowid [ $id ] . " = " ;
$sql .= " ' " . $db -> escape ( $rowid ) . " ', " ;
2011-01-23 22:24:47 +01:00
}
$i = 0 ;
foreach ( $listfieldmodify as $field )
{
2012-02-29 16:08:29 +01:00
if ( $field == 'price' || preg_match ( '/^amount/i' , $field )) {
$_POST [ $listfieldvalue [ $i ]] = price2num ( $_POST [ $listfieldvalue [ $i ]], 'MU' );
}
else if ( $field == 'entity' ) {
$_POST [ $listfieldvalue [ $i ]] = $conf -> entity ;
}
2011-01-23 22:24:47 +01:00
if ( $i ) $sql .= " , " ;
$sql .= $field . " = " ;
if ( $_POST [ $listfieldvalue [ $i ]] == '' ) $sql .= " null " ;
else $sql .= " ' " . $db -> escape ( $_POST [ $listfieldvalue [ $i ]]) . " ' " ;
$i ++ ;
}
2012-02-29 16:08:29 +01:00
$sql .= " WHERE " . $rowidcol . " = ' " . $rowid . " ' " ;
2011-01-23 22:24:47 +01:00
dol_syslog ( " actionmodify sql= " . $sql );
//print $sql;
$resql = $db -> query ( $sql );
if ( ! $resql )
{
2013-08-14 12:48:00 +02:00
setEventMessage ( $db -> error (), 'errors' );
2011-01-23 22:24:47 +01:00
}
}
2012-11-07 12:00:17 +01:00
//$_GET["id"]=GETPOST('id', 'int'); // Force affichage dictionnaire en cours d'edition
2004-08-08 20:22:01 +02:00
}
2012-07-10 11:45:38 +02:00
if ( GETPOST ( 'actioncancel' ))
2007-07-25 14:00:15 +02:00
{
2012-11-07 12:00:17 +01:00
//$_GET["id"]=GETPOST('id', 'int'); // Force affichage dictionnaire en cours d'edition
2007-07-25 14:00:15 +02:00
}
2012-02-29 16:08:29 +01:00
if ( $action == 'confirm_delete' && $confirm == 'yes' ) // delete
2004-08-08 20:22:01 +02:00
{
2012-02-29 16:08:29 +01:00
if ( $tabrowid [ $id ]) { $rowidcol = $tabrowid [ $id ]; }
2011-01-23 22:24:47 +01:00
else { $rowidcol = " rowid " ; }
2012-02-29 16:08:29 +01:00
$sql = " DELETE from " . $tabname [ $id ] . " WHERE " . $rowidcol . " =' " . $rowid . " ' " ;
2011-01-23 22:24:47 +01:00
dol_syslog ( " delete sql= " . $sql );
$result = $db -> query ( $sql );
if ( ! $result )
{
if ( $db -> errno () == 'DB_ERROR_CHILD_EXISTS' )
{
2013-08-14 12:48:00 +02:00
setEventMessage ( $langs -> transnoentities ( " ErrorRecordIsUsedByChild " ), 'errors' );
2011-01-23 22:24:47 +01:00
}
else
{
dol_print_error ( $db );
}
}
2004-08-08 20:22:01 +02:00
}
2004-02-16 13:22:32 +01:00
2012-04-28 14:52:53 +02:00
// activate
if ( $action == $acts [ 0 ])
2004-06-09 20:37:17 +02:00
{
2012-02-29 16:08:29 +01:00
if ( $tabrowid [ $id ]) { $rowidcol = $tabrowid [ $id ]; }
2011-01-23 22:24:47 +01:00
else { $rowidcol = " rowid " ; }
2012-02-29 16:08:29 +01:00
if ( $rowid ) {
$sql = " UPDATE " . $tabname [ $id ] . " SET active = 1 WHERE " . $rowidcol . " =' " . $rowid . " ' " ;
2011-01-23 22:24:47 +01:00
}
elseif ( $_GET [ " code " ]) {
2012-02-29 16:08:29 +01:00
$sql = " UPDATE " . $tabname [ $id ] . " SET active = 1 WHERE code=' " . $_GET [ " code " ] . " ' " ;
2011-01-23 22:24:47 +01:00
}
$result = $db -> query ( $sql );
if ( ! $result )
{
dol_print_error ( $db );
}
2004-06-09 20:37:17 +02:00
}
2004-08-08 20:22:01 +02:00
2012-04-28 14:52:53 +02:00
// disable
if ( $action == $acts [ 1 ])
2004-02-16 13:22:32 +01:00
{
2012-02-29 16:08:29 +01:00
if ( $tabrowid [ $id ]) { $rowidcol = $tabrowid [ $id ]; }
2011-01-23 22:24:47 +01:00
else { $rowidcol = " rowid " ; }
2012-02-29 16:08:29 +01:00
if ( $rowid ) {
$sql = " UPDATE " . $tabname [ $id ] . " SET active = 0 WHERE " . $rowidcol . " =' " . $rowid . " ' " ;
2011-01-23 22:24:47 +01:00
}
elseif ( $_GET [ " code " ]) {
2012-02-29 16:08:29 +01:00
$sql = " UPDATE " . $tabname [ $id ] . " SET active = 0 WHERE code=' " . $_GET [ " code " ] . " ' " ;
2011-01-23 22:24:47 +01:00
}
$result = $db -> query ( $sql );
if ( ! $result )
{
dol_print_error ( $db );
}
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
2011-11-08 10:18:45 +01:00
$form = new Form ( $db );
2008-10-25 19:27:15 +02:00
$formadmin = new FormAdmin ( $db );
2007-09-30 19:55:29 +02:00
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 = '' ;
2012-02-29 16:08:29 +01:00
if ( $id )
2006-08-12 19:53:18 +02:00
{
2012-02-29 16:08:29 +01:00
$titre .= ' - ' . $langs -> trans ( $tablib [ $id ]);
2012-09-25 08:10:12 +02:00
$linkback = '<a href="' . $_SERVER [ 'PHP_SELF' ] . '">' . $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
2012-02-29 16:08:29 +01:00
if ( empty ( $id ))
2008-05-28 00:30:52 +02:00
{
2011-01-23 22:24:47 +01:00
print $langs -> trans ( " DictionnaryDesc " );
print " " . $langs -> trans ( " OnlyActiveElementsAreShown " ) . " <br> \n " ;
2008-05-28 00:30:52 +02:00
}
2009-05-06 15:39:43 +02:00
print " <br> \n " ;
2012-04-28 14:52:53 +02:00
// Confirmation de la suppression de la ligne
2012-02-29 16:08:29 +01:00
if ( $action == 'delete' )
2009-05-06 15:39:43 +02:00
{
2013-09-06 11:51:24 +02:00
print $form -> formconfirm ( $_SERVER [ " PHP_SELF " ] . '?' . ( $page ? 'page=' . $page . '&' : '' ) . 'sortfield=' . $sortfield . '&sortorder=' . $sortorder . '&rowid=' . $rowid . '&code=' . $_GET [ " code " ] . '&id=' . $id , $langs -> trans ( 'DeleteLine' ), $langs -> trans ( 'ConfirmDeleteLine' ), 'confirm_delete' , '' , 0 , 1 );
2009-05-06 15:39:43 +02:00
}
2005-04-28 02:26:34 +02:00
2004-10-31 14:00:04 +01:00
/*
2011-05-29 12:57:38 +02:00
* Show a dictionnary
2004-10-31 14:00:04 +01:00
*/
2012-02-29 16:08:29 +01:00
if ( $id )
2004-02-16 13:22:32 +01:00
{
2011-01-23 22:24:47 +01:00
// Complete requete recherche valeurs avec critere de tri
2012-02-29 16:08:29 +01:00
$sql = $tabsql [ $id ];
2012-09-20 00:14:40 +02:00
if ( $sortfield )
2011-01-23 22:24:47 +01:00
{
2013-02-25 17:56:41 +01:00
// If sort order is "country", we use country_code instead
if ( $sortfield == 'country' ) $sortfield = 'country_code' ;
2012-09-20 00:14:40 +02:00
$sql .= " ORDER BY " . $sortfield ;
if ( $sortorder )
2011-01-23 22:24:47 +01:00
{
2012-09-20 00:14:40 +02:00
$sql .= " " . strtoupper ( $sortorder );
2011-01-23 22:24:47 +01:00
}
$sql .= " , " ;
2012-09-20 00:14:40 +02:00
// Clear the required sort criteria for the tabsqlsort to be able to force it with selected value
$tabsqlsort [ $id ] = preg_replace ( '/([a-z]+\.)?' . $sortfield . ' ' . $sortorder . ',/i' , '' , $tabsqlsort [ $id ]);
$tabsqlsort [ $id ] = preg_replace ( '/([a-z]+\.)?' . $sortfield . ',/i' , '' , $tabsqlsort [ $id ]);
2011-01-23 22:24:47 +01:00
}
else {
$sql .= " ORDER BY " ;
}
2012-02-29 16:08:29 +01:00
$sql .= $tabsqlsort [ $id ];
2011-05-29 12:57:38 +02:00
$sql .= $db -> plimit ( $listlimit + 1 , $offset );
2011-01-23 22:24:47 +01:00
//print $sql;
2012-02-29 16:08:29 +01:00
$fieldlist = explode ( ',' , $tabfield [ $id ]);
2011-01-23 22:24:47 +01:00
2012-09-25 08:10:12 +02:00
print '<form action="' . $_SERVER [ 'PHP_SELF' ] . '?id=' . $id . '" method="POST">' ;
2011-01-23 22:24:47 +01:00
print '<input type="hidden" name="token" value="' . $_SESSION [ 'newtoken' ] . '">' ;
print '<table class="noborder" width="100%">' ;
// Form to add a new line
2012-02-29 16:08:29 +01:00
if ( $tabname [ $id ])
2011-01-23 22:24:47 +01:00
{
$alabelisused = 0 ;
$var = false ;
2012-02-29 16:08:29 +01:00
$fieldlist = explode ( ',' , $tabfield [ $id ]);
2011-01-23 22:24:47 +01:00
// Line for title
print '<tr class="liste_titre">' ;
foreach ( $fieldlist as $field => $value )
{
// Determine le nom du champ par rapport aux noms possibles
// dans les dictionnaires de donnees
$valuetoshow = ucfirst ( $fieldlist [ $field ]); // Par defaut
2011-10-18 20:24:49 +02:00
$valuetoshow = $langs -> trans ( $valuetoshow ); // try to translate
2012-09-16 10:08:41 +02:00
$align = " left " ;
2011-01-23 22:24:47 +01:00
if ( $fieldlist [ $field ] == 'source' ) { $valuetoshow = $langs -> trans ( " Contact " ); }
if ( $fieldlist [ $field ] == 'price' ) { $valuetoshow = $langs -> trans ( " PriceUHT " ); }
2013-03-06 16:09:00 +01:00
if ( $fieldlist [ $field ] == 'taux' ) {
if ( $tabname [ $id ] != MAIN_DB_PREFIX . " c_revenuestamp " ) $valuetoshow = $langs -> trans ( " Rate " );
else $valuetoshow = $langs -> trans ( " Amount " );
$align = 'right' ;
}
2012-09-16 15:04:55 +02:00
if ( $fieldlist [ $field ] == 'localtax1_type' ) { $valuetoshow = $form -> textwithtooltip ( $langs -> trans ( " UseLocalTax " ) . " 2 " , $langs -> trans ( " LocalTaxDesc " ), 2 , 1 , img_help ( 1 , '' )); $align = " center " ; $sortable = 0 ; }
2012-09-24 07:08:41 +02:00
if ( $fieldlist [ $field ] == 'localtax1' ) { $valuetoshow = $langs -> trans ( " Rate " ) . " 2 " ;}
2012-09-16 15:04:55 +02:00
if ( $fieldlist [ $field ] == 'localtax2_type' ) { $valuetoshow = $form -> textwithtooltip ( $langs -> trans ( " UseLocalTax " ) . " 3 " , $langs -> trans ( " LocalTaxDesc " ), 2 , 1 , img_help ( 1 , '' )); $align = " center " ; $sortable = 0 ; }
2012-09-24 07:08:41 +02:00
if ( $fieldlist [ $field ] == 'localtax2' ) { $valuetoshow = $langs -> trans ( " Rate " ) . " 3 " ;}
2011-01-23 22:24:47 +01:00
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 " ) . " * " ; }
2013-02-25 17:56:41 +01:00
if ( $fieldlist [ $field ] == 'country' ) {
2011-01-23 22:24:47 +01:00
if ( in_array ( 'region_id' , $fieldlist )) { print '<td> </td>' ; continue ; } // For region page, we do not show the country input
2012-03-08 13:25:03 +01:00
$valuetoshow = $langs -> trans ( " Country " );
}
2013-01-25 19:19:41 +01:00
if ( $fieldlist [ $field ] == 'recuperableonly' ) { $valuetoshow = $langs -> trans ( " NPR " ); $align = " center " ; }
2012-03-08 13:25:03 +01: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 " ); }
if ( $fieldlist [ $field ] == 'width' ) { $valuetoshow = $langs -> trans ( " Width " ); }
if ( $fieldlist [ $field ] == 'height' ) { $valuetoshow = $langs -> trans ( " Height " ); }
if ( $fieldlist [ $field ] == 'unit' ) { $valuetoshow = $langs -> trans ( " MeasuringUnit " ); }
2013-02-25 09:17:38 +01:00
if ( $fieldlist [ $field ] == 'region_id' || $fieldlist [ $field ] == 'country_id' ) { $valuetoshow = '' ; }
2012-09-25 21:09:55 +02:00
if ( $fieldlist [ $field ] == 'accountancy_code' ){ $valuetoshow = $langs -> trans ( " AccountancyCode " ); }
2012-09-23 22:09:37 +02:00
if ( $fieldlist [ $field ] == 'accountancy_code_sell' ){ $valuetoshow = $langs -> trans ( " AccountancyCodeSell " ); }
if ( $fieldlist [ $field ] == 'accountancy_code_buy' ){ $valuetoshow = $langs -> trans ( " AccountancyCodeBuy " ); }
2012-09-26 20:34:58 +02:00
if ( $fieldlist [ $field ] == 'pcg_version' || $fieldlist [ $field ] == 'fk_pcg_version' ) { $valuetoshow = $langs -> trans ( " Pcg_version " ); }
2012-08-26 17:11:19 +02:00
if ( $fieldlist [ $field ] == 'account_parent' ) { $valuetoshow = $langs -> trans ( " Accountparent " ); }
if ( $fieldlist [ $field ] == 'pcg_type' ) { $valuetoshow = $langs -> trans ( " Pcg_type " ); }
if ( $fieldlist [ $field ] == 'pcg_subtype' ) { $valuetoshow = $langs -> trans ( " Pcg_subtype " ); }
2014-02-12 22:28:16 +01:00
if ( $fieldlist [ $field ] == 'sortorder' ) { $valuetoshow = $langs -> trans ( " SortOrder " ); }
2012-03-08 13:25:03 +01:00
if ( $valuetoshow != '' )
{
2012-09-16 10:08:41 +02:00
print '<td align="' . $align . '">' ;
2012-07-10 11:45:38 +02:00
if ( ! empty ( $tabhelp [ $id ][ $value ]) && preg_match ( '/http:/i' , $tabhelp [ $id ][ $value ])) print '<a href="' . $tabhelp [ $id ][ $value ] . '" target="_blank">' . $valuetoshow . '</a>' ;
2012-04-28 14:52:53 +02:00
else if ( ! empty ( $tabhelp [ $id ][ $value ])) print $form -> textwithpicto ( $valuetoshow , $tabhelp [ $id ][ $value ]);
else print $valuetoshow ;
2012-03-08 13:25:03 +01:00
print '</td>' ;
}
if ( $fieldlist [ $field ] == 'libelle' || $fieldlist [ $field ] == 'label' ) $alabelisused = 1 ;
2011-01-23 22:24:47 +01:00
}
print '<td colspan="3">' ;
2012-02-29 16:08:29 +01:00
print '<input type="hidden" name="id" value="' . $id . '">' ;
2011-01-23 22:24:47 +01:00
print ' </td>' ;
print '</tr>' ;
// Line to type new values
print " <tr " . $bc [ $var ] . " > " ;
2013-01-19 14:32:37 +01:00
$obj = new stdClass ();
2011-01-23 22:24:47 +01:00
// If data was already input, we define them in obj to populate input fields.
2012-07-10 11:45:38 +02:00
if ( GETPOST ( 'actionadd' ))
2011-01-23 22:24:47 +01:00
{
foreach ( $fieldlist as $key => $val )
{
2012-08-18 09:57:42 +02:00
if ( GETPOST ( $val ))
$obj -> $val = GETPOST ( $val );
2011-01-23 22:24:47 +01:00
}
}
2012-04-28 14:52:53 +02:00
2011-10-19 02:47:24 +02:00
$tmpaction = 'create' ;
2012-11-07 12:00:17 +01:00
$parameters = array ( 'fieldlist' => $fieldlist , 'tabname' => $tabname [ $id ]);
2011-10-19 02:47:24 +02:00
$reshook = $hookmanager -> executeHooks ( 'createDictionaryFieldlist' , $parameters , $obj , $tmpaction ); // Note that $action and $object may have been modified by some hooks
2011-10-18 20:16:36 +02:00
$error = $hookmanager -> error ; $errors = $hookmanager -> errors ;
2011-01-23 22:24:47 +01:00
2011-10-18 20:16:36 +02:00
if ( empty ( $reshook )) fieldList ( $fieldlist , $obj );
2011-01-23 22:24:47 +01:00
print '<td colspan="3" align="right"><input type="submit" class="button" name="actionadd" value="' . $langs -> trans ( " Add " ) . '"></td>' ;
print " </tr> " ;
2012-09-25 19:34:18 +02:00
if ( ! empty ( $alabelisused )) // Si un des champs est un libelle
2011-01-23 22:24:47 +01:00
{
print '<tr><td colspan="' . ( count ( $fieldlist ) + 2 ) . '">* ' . $langs -> trans ( " LabelUsedByDefault " ) . '.</td></tr>' ;
}
print '<tr><td colspan="' . ( count ( $fieldlist ) + 2 ) . '"> </td></tr>' ;
}
2012-09-22 15:13:23 +02:00
print '</form>' ;
2011-01-23 22:24:47 +01:00
// List of available values in database
dol_syslog ( " htdocs/admin/dict sql= " . $sql , LOG_DEBUG );
$resql = $db -> query ( $sql );
if ( $resql )
{
$num = $db -> num_rows ( $resql );
$i = 0 ;
$var = true ;
if ( $num )
{
2011-05-29 12:57:38 +02:00
// There is several pages
if ( $num > $listlimit )
{
2011-09-14 23:50:17 +02:00
print '<tr class="none"><td align="right" colspan="' . ( 3 + count ( $fieldlist )) . '">' ;
2012-02-29 16:08:29 +01:00
print_fleche_navigation ( $page , $_SERVER [ " PHP_SELF " ], '&id=' . $id ,( $num > $listlimit ), $langs -> trans ( " Page " ) . ' ' . ( $page + 1 ));
2011-05-29 12:57:38 +02:00
print '</td></tr>' ;
}
// Title of lines
2011-01-23 22:24:47 +01:00
print '<tr class="liste_titre">' ;
foreach ( $fieldlist as $field => $value )
{
// Determine le nom du champ par rapport aux noms possibles
// dans les dictionnaires de donnees
$showfield = 1 ; // Par defaut
2012-09-16 15:04:55 +02:00
$align = " left " ;
$sortable = 1 ;
$valuetoshow = '' ;
/*
$tmparray = getLabelOfField ( $fieldlist [ $field ]);
$showfield = $tmp [ 'showfield' ];
2012-09-19 17:53:09 +02:00
$valuetoshow = $tmp [ 'valuetoshow' ];
2012-09-16 15:04:55 +02:00
$align = $tmp [ 'align' ];
$sortable = $tmp [ 'sortable' ];
*/
2011-01-23 22:24:47 +01:00
$valuetoshow = ucfirst ( $fieldlist [ $field ]); // Par defaut
2011-10-18 20:24:49 +02:00
$valuetoshow = $langs -> trans ( $valuetoshow ); // try to translate
2011-01-23 22:24:47 +01:00
if ( $fieldlist [ $field ] == 'source' ) { $valuetoshow = $langs -> trans ( " Contact " ); }
if ( $fieldlist [ $field ] == 'price' ) { $valuetoshow = $langs -> trans ( " PriceUHT " ); }
2013-03-06 16:09:00 +01:00
if ( $fieldlist [ $field ] == 'taux' ) {
if ( $tabname [ $id ] != MAIN_DB_PREFIX . " c_revenuestamp " ) $valuetoshow = $langs -> trans ( " Rate " );
else $valuetoshow = $langs -> trans ( " Amount " );
$align = 'right' ;
}
2012-09-16 15:04:55 +02:00
if ( $fieldlist [ $field ] == 'localtax1_type' ) { $valuetoshow = $form -> textwithtooltip ( $langs -> trans ( " UseLocalTax " ) . " 2 " , $langs -> trans ( " LocalTaxDesc " ), 2 , 1 , img_help ( 1 , '' )); $align = " center " ; $sortable = 0 ; }
2012-09-24 07:08:41 +02:00
if ( $fieldlist [ $field ] == 'localtax1' ) { $valuetoshow = $langs -> trans ( " Rate " ) . " 2 " ; $sortable = 0 ; }
2012-09-16 15:04:55 +02:00
if ( $fieldlist [ $field ] == 'localtax2_type' ) { $valuetoshow = $form -> textwithtooltip ( $langs -> trans ( " UseLocalTax " ) . " 3 " , $langs -> trans ( " LocalTaxDesc " ), 2 , 1 , img_help ( 1 , '' )); $align = " center " ; $sortable = 0 ; }
2012-09-24 07:08:41 +02:00
if ( $fieldlist [ $field ] == 'localtax2' ) { $valuetoshow = $langs -> trans ( " Rate " ) . " 3 " ; $sortable = 0 ; }
2011-01-23 22:24:47 +01:00
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 " ); }
2012-09-16 15:04:55 +02:00
if ( $fieldlist [ $field ] == 'libelle' || $fieldlist [ $field ] == 'label' ) { $valuetoshow = $langs -> trans ( " Label " ) . " * " ; }
2011-01-23 22:24:47 +01:00
if ( $fieldlist [ $field ] == 'libelle_facture' ) { $valuetoshow = $langs -> trans ( " LabelOnDocuments " ) . " * " ; }
2013-02-25 17:56:41 +01:00
if ( $fieldlist [ $field ] == 'country' ) { $valuetoshow = $langs -> trans ( " Country " ); }
2013-01-25 19:19:41 +01:00
if ( $fieldlist [ $field ] == 'recuperableonly' ) { $valuetoshow = $langs -> trans ( " NPR " ); $align = " center " ; }
2011-01-23 22:24:47 +01: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 " ); }
if ( $fieldlist [ $field ] == 'width' ) { $valuetoshow = $langs -> trans ( " Width " ); }
if ( $fieldlist [ $field ] == 'height' ) { $valuetoshow = $langs -> trans ( " Height " ); }
if ( $fieldlist [ $field ] == 'unit' ) { $valuetoshow = $langs -> trans ( " MeasuringUnit " ); }
2013-02-25 09:17:38 +01:00
if ( $fieldlist [ $field ] == 'region_id' || $fieldlist [ $field ] == 'country_id' ) { $showfield = 0 ; }
2012-09-25 21:09:55 +02:00
if ( $fieldlist [ $field ] == 'accountancy_code' ){ $valuetoshow = $langs -> trans ( " AccountancyCode " ); }
2012-09-24 07:08:41 +02:00
if ( $fieldlist [ $field ] == 'accountancy_code_sell' ){ $valuetoshow = $langs -> trans ( " AccountancyCodeSell " ); $sortable = 0 ; }
if ( $fieldlist [ $field ] == 'accountancy_code_buy' ){ $valuetoshow = $langs -> trans ( " AccountancyCodeBuy " ); $sortable = 0 ; }
2014-02-12 22:28:16 +01:00
if ( $fieldlist [ $field ] == 'fk_pcg_version' ) { $valuetoshow = $langs -> trans ( " Pcg_version " ); }
2012-08-26 17:11:19 +02:00
if ( $fieldlist [ $field ] == 'account_parent' ) { $valuetoshow = $langs -> trans ( " Accountsparent " ); }
if ( $fieldlist [ $field ] == 'pcg_type' ) { $valuetoshow = $langs -> trans ( " Pcg_type " ); }
if ( $fieldlist [ $field ] == 'pcg_subtype' ) { $valuetoshow = $langs -> trans ( " Pcg_subtype " ); }
2014-02-12 22:28:16 +01:00
if ( $fieldlist [ $field ] == 'sortorder' ) { $valuetoshow = $langs -> trans ( " SortOrder " ); }
2011-01-23 22:24:47 +01:00
// Affiche nom du champ
if ( $showfield )
{
2012-09-16 15:04:55 +02:00
print getTitleFieldOfList ( $valuetoshow , 0 , $_SERVER [ " PHP_SELF " ],( $sortable ? $fieldlist [ $field ] : '' ),( $page ? 'page=' . $page . '&' : '' ) . '&id=' . $id , " " , " align= " . $align , $sortfield , $sortorder );
2011-01-23 22:24:47 +01:00
}
}
2012-09-16 15:04:55 +02:00
print getTitleFieldOfList ( $langs -> trans ( " Status " ), 0 , $_SERVER [ " PHP_SELF " ], " active " ,( $page ? 'page=' . $page . '&' : '' ) . '&id=' . $id , " " , 'align="center"' , $sortfield , $sortorder );
2011-01-23 22:24:47 +01:00
print '<td colspan="2" class="liste_titre"> </td>' ;
print '</tr>' ;
// Lines with values
while ( $i < $num )
{
2012-09-16 16:56:24 +02:00
$var = ! $var ;
2011-01-23 22:24:47 +01:00
$obj = $db -> fetch_object ( $resql );
//print_r($obj);
2012-09-16 16:56:24 +02:00
print '<tr ' . $bc [ $var ] . ' id="rowid-' . $obj -> rowid . '">' ;
2012-07-10 11:45:38 +02:00
if ( $action == 'edit' && ( $rowid == ( ! empty ( $obj -> rowid ) ? $obj -> rowid : $obj -> code )))
2011-01-23 22:24:47 +01:00
{
2012-09-25 08:10:12 +02:00
print '<form action="' . $_SERVER [ 'PHP_SELF' ] . '?id=' . $id . '" method="POST">' ;
2011-01-23 22:24:47 +01:00
print '<input type="hidden" name="token" value="' . $_SESSION [ 'newtoken' ] . '">' ;
2011-05-29 12:57:38 +02:00
print '<input type="hidden" name="page" value="' . $page . '">' ;
2012-02-29 16:08:29 +01:00
print '<input type="hidden" name="rowid" value="' . $rowid . '">' ;
2012-04-28 14:52:53 +02:00
2011-10-19 02:47:24 +02:00
$tmpaction = 'edit' ;
2012-02-29 16:08:29 +01:00
$parameters = array ( 'fieldlist' => $fieldlist , 'tabname' => $tabname [ $id ]);
2011-10-19 02:47:24 +02:00
$reshook = $hookmanager -> executeHooks ( 'editDictionaryFieldlist' , $parameters , $obj , $tmpaction ); // Note that $action and $object may have been modified by some hooks
2011-10-18 20:16:36 +02:00
$error = $hookmanager -> error ; $errors = $hookmanager -> errors ;
2012-04-28 14:52:53 +02:00
2012-02-29 16:08:29 +01:00
if ( empty ( $reshook )) fieldList ( $fieldlist , $obj , $tabname [ $id ]);
2012-04-28 14:52:53 +02:00
2012-07-10 11:45:38 +02:00
print '<td colspan="3" align="right"><a name="' . ( ! empty ( $obj -> rowid ) ? $obj -> rowid : $obj -> code ) . '"> </a><input type="submit" class="button" name="actionmodify" value="' . $langs -> trans ( " Modify " ) . '">' ;
2011-01-23 22:24:47 +01:00
print ' <input type="submit" class="button" name="actioncancel" value="' . $langs -> trans ( " Cancel " ) . '"></td>' ;
}
else
2012-09-25 08:10:12 +02:00
{
2012-09-16 16:56:24 +02:00
$tmpaction = 'view' ;
$parameters = array ( 'var' => $var , 'fieldlist' => $fieldlist , 'tabname' => $tabname [ $id ]);
2011-10-19 02:47:24 +02:00
$reshook = $hookmanager -> executeHooks ( 'viewDictionaryFieldlist' , $parameters , $obj , $tmpaction ); // Note that $action and $object may have been modified by some hooks
2012-04-28 14:52:53 +02:00
2011-10-18 20:22:19 +02:00
$error = $hookmanager -> error ; $errors = $hookmanager -> errors ;
if ( empty ( $reshook ))
2011-01-23 22:24:47 +01:00
{
2011-10-18 20:22:19 +02:00
foreach ( $fieldlist as $field => $value )
{
$showfield = 1 ;
2012-09-16 10:08:41 +02:00
$align = " left " ;
2011-10-18 20:22:19 +02:00
$valuetoshow = $obj -> $fieldlist [ $field ];
2012-08-17 23:28:15 +02:00
if ( $value == 'element' )
{
2012-09-12 16:56:30 +02:00
$valuetoshow = isset ( $elementList [ $valuetoshow ]) ? $elementList [ $valuetoshow ] : $valuetoshow ;
2012-08-17 23:28:15 +02:00
}
else if ( $value == 'source' )
{
2012-09-12 16:56:30 +02:00
$valuetoshow = isset ( $sourceList [ $valuetoshow ]) ? $sourceList [ $valuetoshow ] : $valuetoshow ;
2012-08-17 23:28:15 +02:00
}
else if ( $valuetoshow == 'all' ) {
2011-10-18 20:22:19 +02:00
$valuetoshow = $langs -> trans ( 'All' );
2011-01-23 22:24:47 +01:00
}
2013-02-25 17:56:41 +01:00
else if ( $fieldlist [ $field ] == 'country' ) {
2013-02-25 09:52:24 +01:00
if ( empty ( $obj -> country_code ))
2011-10-18 20:22:19 +02:00
{
$valuetoshow = '-' ;
}
else
{
2013-02-25 09:52:24 +01:00
$key = $langs -> trans ( " Country " . strtoupper ( $obj -> country_code ));
2013-02-25 17:56:41 +01:00
$valuetoshow = ( $key != " Country " . strtoupper ( $obj -> country_code ) ? $obj -> country_code . " - " . $key : $obj -> country );
2011-10-18 20:22:19 +02:00
}
2011-01-23 22:24:47 +01:00
}
2012-09-10 14:12:31 +02:00
else if ( $fieldlist [ $field ] == 'recuperableonly' || $fieldlist [ $field ] == 'fdm' || $fieldlist [ $field ] == 'deductible' ) {
2011-10-18 20:22:19 +02:00
$valuetoshow = yn ( $valuetoshow );
2012-09-16 16:56:24 +02:00
$align = " center " ;
2011-10-18 20:22:19 +02:00
}
2012-02-29 16:08:29 +01:00
else if ( $fieldlist [ $field ] == 'price' || preg_match ( '/^amount/i' , $fieldlist [ $field ])) {
2011-10-18 20:22:19 +02:00
$valuetoshow = price ( $valuetoshow );
}
else if ( $fieldlist [ $field ] == 'libelle_facture' ) {
$langs -> load ( " bills " );
$key = $langs -> trans ( " PaymentCondition " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " PaymentCondition " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
$valuetoshow = nl2br ( $valuetoshow );
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_pays' ) {
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( " Country " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " Country " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'label' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_availability' ) {
2011-10-18 20:22:19 +02:00
$langs -> load ( " propal " );
$key = $langs -> trans ( " AvailabilityType " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " AvailabilityType " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_actioncomm' ) {
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( " Action " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " Action " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2013-01-18 15:57:11 +01:00
else if ( ! empty ( $obj -> code_iso ) && $fieldlist [ $field ] == 'label' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_currencies' ) {
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( " Currency " . strtoupper ( $obj -> code_iso ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code_iso && $key != " Currency " . strtoupper ( $obj -> code_iso ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_typent' ) {
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $key != strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_prospectlevel' ) {
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $key != strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_civilite' ) {
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( " Civility " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " Civility " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_type_contact' ) {
2013-04-19 23:33:54 +02:00
$langs -> load ( 'agenda' );
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( " TypeContact_ " . $obj -> element . " _ " . $obj -> source . " _ " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " TypeContact_ " . $obj -> element . " _ " . $obj -> source . " _ " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_payment_term' ) {
2011-10-18 20:22:19 +02:00
$langs -> load ( " bills " );
$key = $langs -> trans ( " PaymentConditionShort " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " PaymentConditionShort " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_paiement' ) {
2011-10-18 20:22:19 +02:00
$langs -> load ( " bills " );
$key = $langs -> trans ( " PaymentType " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " PaymentType " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'label' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_input_reason' ) {
2011-10-18 20:22:19 +02:00
$key = $langs -> trans ( " DemandReasonType " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " DemandReasonType " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_input_method' ) {
2011-10-18 20:22:19 +02:00
$langs -> load ( " orders " );
$key = $langs -> trans ( $obj -> code );
$valuetoshow = ( $obj -> code && $key != $obj -> code ) ? $key : $obj -> $fieldlist [ $field ];
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_shipment_mode' ) {
2011-10-18 20:22:19 +02:00
$langs -> load ( " sendings " );
$key = $langs -> trans ( " SendingMethod " . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != " SendingMethod " . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2011-10-18 20:22:19 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_paper_format' )
2012-08-17 23:28:15 +02:00
{
$key = $langs -> trans ( 'PaperFormat' . strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != 'PaperFormat' . strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2012-08-17 23:28:15 +02:00
}
2012-11-07 12:00:17 +01:00
else if ( $fieldlist [ $field ] == 'libelle' && $tabname [ $id ] == MAIN_DB_PREFIX . 'c_type_fees' )
2012-08-17 23:28:15 +02:00
{
$langs -> load ( 'trips' );
$key = $langs -> trans ( strtoupper ( $obj -> code ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != strtoupper ( $obj -> code ) ? $key : $obj -> $fieldlist [ $field ]);
2012-08-17 23:28:15 +02:00
}
2013-02-25 09:17:38 +01:00
else if ( $fieldlist [ $field ] == 'region_id' || $fieldlist [ $field ] == 'country_id' ) {
2011-10-18 20:22:19 +02:00
$showfield = 0 ;
}
2012-07-02 19:30:37 +02:00
else if ( $fieldlist [ $field ] == 'unicode' ) {
2013-01-18 15:57:11 +01:00
$valuetoshow = $langs -> getCurrencySymbol ( $obj -> code , 1 );
2012-03-08 13:25:03 +01:00
}
2012-09-10 15:14:29 +02:00
2012-11-07 12:00:17 +01:00
else if (( $fieldlist [ $field ] == 'unit' ) && ( $tabname [ $id ] == MAIN_DB_PREFIX . 'c_paper_format' ))
2012-09-10 15:14:29 +02:00
{
$key = $langs -> trans ( 'SizeUnit' . strtolower ( $obj -> unit ));
2012-09-25 19:34:18 +02:00
$valuetoshow = ( $obj -> code && $key != 'SizeUnit' . strtolower ( $obj -> unit ) ? $key : $obj -> $fieldlist [ $field ]);
2012-09-10 15:14:29 +02:00
}
2012-09-16 10:08:41 +02:00
else if ( $fieldlist [ $field ] == 'localtax1_type' ) {
if ( $obj -> localtax1 != 0 )
$valuetoshow = $localtax_typeList [ $valuetoshow ];
else
$valuetoshow = '' ;
2012-09-16 15:04:55 +02:00
$align = " center " ;
2012-09-16 10:08:41 +02:00
}
else if ( $fieldlist [ $field ] == 'localtax2_type' ) {
if ( $obj -> localtax2 != 0 )
$valuetoshow = $localtax_typeList [ $valuetoshow ];
else
$valuetoshow = '' ;
2012-09-16 15:04:55 +02:00
$align = " center " ;
2012-09-16 10:08:41 +02:00
}
else if ( $fieldlist [ $field ] == 'localtax1' ) {
if ( $obj -> localtax1 == 0 )
$valuetoshow = '' ;
$align = " right " ;
}
else if ( $fieldlist [ $field ] == 'localtax2' ) {
if ( $obj -> localtax2 == 0 )
$valuetoshow = '' ;
$align = " right " ;
}
2012-09-16 16:56:24 +02:00
else if ( in_array ( $fieldlist [ $field ], array ( 'taux' , 'localtax1' , 'localtax2' )))
{
$align = " right " ;
}
else if ( in_array ( $fieldlist [ $field ], array ( 'recuperableonly' )))
{
$align = " center " ;
}
2012-09-16 10:08:41 +02:00
2012-09-16 16:56:24 +02:00
// Show value for field
2012-09-16 10:08:41 +02:00
if ( $showfield ) print '<td align="' . $align . '">' . $valuetoshow . '</td>' ;
2011-01-23 22:24:47 +01:00
}
}
// Est-ce une entree du dictionnaire qui peut etre desactivee ?
2013-04-20 12:55:31 +02:00
// True by default
$iserasable = 1 ;
if ( isset ( $obj -> code ))
{
if (( $obj -> code == '0' || $obj -> code == '' || preg_match ( '/unknown/i' , $obj -> code ))) $iserasable = 0 ;
else if ( $obj -> code == 'RECEP' ) $iserasable = 0 ;
else if ( $obj -> code == 'EF0' ) $iserasable = 0 ;
2013-12-15 14:26:27 +01:00
}
2013-04-20 12:55:31 +02:00
2012-09-20 00:14:40 +02:00
if ( isset ( $obj -> type ) && in_array ( $obj -> type , array ( 'system' , 'systemauto' ))) $iserasable = 0 ;
2011-01-23 22:24:47 +01:00
2013-04-20 12:55:31 +02:00
$url = $_SERVER [ " PHP_SELF " ] . '?' . ( $page ? 'page=' . $page . '&' : '' ) . 'sortfield=' . $sortfield . '&sortorder=' . $sortorder . '&rowid=' . ( ! empty ( $obj -> rowid ) ? $obj -> rowid : ( ! empty ( $obj -> code ) ? $obj -> code : '' )) . '&code=' . ( ! empty ( $obj -> code ) ? $obj -> code : '' ) . '&id=' . $id . '&' ;
2012-12-01 15:45:05 +01:00
// Active
2013-04-25 01:13:13 +02:00
print '<td align="center" class="nowrap">' ;
2013-04-20 12:55:31 +02:00
if ( $iserasable ) print '<a href="' . $url . 'action=' . $acts [ $obj -> active ] . '">' . $actl [ $obj -> active ] . '</a>' ;
2012-12-01 15:45:05 +01:00
else
{
if ( isset ( $obj -> type ) && in_array ( $obj -> type , array ( 'system' , 'systemauto' )) && empty ( $obj -> active )) print $langs -> trans ( " Deprecated " );
else print $langs -> trans ( " AlwaysActive " );
}
2011-01-23 22:24:47 +01:00
print " </td> " ;
// Modify link
2013-04-20 12:55:31 +02:00
if ( $iserasable ) print '<td align="center"><a href="' . $url . 'action=edit#' . ( ! empty ( $obj -> rowid ) ? $obj -> rowid : ( ! empty ( $obj -> code ) ? $obj -> code : '' )) . '">' . img_edit () . '</a></td>' ;
2011-10-19 01:51:40 +02:00
else print '<td> </td>' ;
2012-04-28 14:52:53 +02:00
2011-01-23 22:24:47 +01:00
// Delete link
2013-04-20 12:55:31 +02:00
if ( $iserasable ) print '<td align="center"><a href="' . $url . 'action=delete">' . img_delete () . '</a></td>' ;
2011-10-19 01:51:40 +02:00
else print '<td> </td>' ;
2011-01-23 22:24:47 +01:00
print " </tr> \n " ;
}
$i ++ ;
}
}
}
else {
dol_print_error ( $db );
}
print '</table>' ;
print '</form>' ;
2004-02-16 13:22:32 +01:00
}
2004-06-09 20:37:17 +02:00
else
{
2011-01-23 22:24:47 +01:00
/*
* Show list of dictionnary to show
*/
$var = true ;
$lastlineisempty = false ;
print '<table class="noborder" width="100%">' ;
print '<tr class="liste_titre">' ;
//print '<td>'.$langs->trans("Module").'</td>';
print '<td colspan="2">' . $langs -> trans ( " Dictionnary " ) . '</td>' ;
print '<td>' . $langs -> trans ( " Table " ) . '</td>' ;
print '</tr>' ;
2012-09-05 19:52:17 +02:00
$showemptyline = '' ;
2011-01-23 22:24:47 +01:00
foreach ( $taborder as $i )
{
2012-07-10 11:45:38 +02:00
if ( isset ( $tabname [ $i ]) && empty ( $tabcond [ $i ])) continue ;
2011-01-23 22:24:47 +01:00
if ( $i )
{
2012-09-05 19:52:17 +02:00
if ( $showemptyline )
{
$var =! $var ;
print '<tr ' . $bc [ $var ] . '><td width="30%"> </td><td> </td><td> </td></tr>' ;
$showemptyline = 0 ;
}
2011-01-23 22:24:47 +01:00
$var =! $var ;
$value = $tabname [ $i ];
2013-04-20 12:55:31 +02:00
print '<tr ' . $bc [ $var ] . '><td width="50%">' ;
2010-08-23 22:32:11 +02:00
if ( ! empty ( $tabcond [ $i ]))
{
2011-10-19 01:51:40 +02:00
print '<a href="' . $_SERVER [ " PHP_SELF " ] . '?id=' . $i . '">' . $langs -> trans ( $tablib [ $i ]) . '</a>' ;
2010-08-23 22:32:11 +02:00
}
else
{
2011-01-23 22:24:47 +01:00
print $langs -> trans ( $tablib [ $i ]);
2010-08-23 22:32:11 +02:00
}
2011-01-23 22:24:47 +01:00
print '</td>' ;
2010-08-23 22:32:11 +02:00
print '<td>' ;
/* if ( empty ( $tabcond [ $i ]))
2011-01-23 22:24:47 +01:00
{
print info_admin ( $langs -> trans ( " DictionnaryDisabledSinceNoModuleNeedIt " ), 1 );
} */
2010-08-23 22:32:11 +02:00
print '</td>' ;
2011-01-23 22:24:47 +01:00
print '<td>' . $tabname [ $i ] . '</td></tr>' ;
$lastlineisempty = false ;
}
else
{
if ( ! $lastlineisempty )
{
2012-09-05 19:52:17 +02:00
$showemptyline = 1 ;
2011-01-23 22:24:47 +01:00
$lastlineisempty = true ;
}
}
}
print '</table>' ;
2004-06-09 20:37:17 +02:00
}
print '<br>' ;
2011-08-27 16:24:16 +02:00
llxFooter ();
2012-07-10 11:45:38 +02:00
$db -> close ();
2007-07-23 20:07:27 +02:00
2009-07-04 00:52:49 +02:00
2007-07-23 20:07:27 +02:00
/**
2011-09-14 23:50:17 +02:00
* Show field
*
* @ param array $fieldlist Array of fields
* @ param Object $obj If we show a particular record , obj is filled with record fields
2011-12-01 17:09:01 +01:00
* @ param string $tabname Name of SQL table
2011-09-21 18:40:52 +02:00
* @ return void
2009-05-06 15:39:43 +02:00
*/
2011-12-01 17:09:01 +01:00
function fieldList ( $fieldlist , $obj = '' , $tabname = '' )
2007-07-23 20:07:27 +02:00
{
2012-09-25 19:34:18 +02:00
global $conf , $langs , $db ;
global $form ;
global $region_id ;
global $elementList , $sourceList , $localtax_typeList ;
$formadmin = new FormAdmin ( $db );
$formcompany = new FormCompany ( $db );
foreach ( $fieldlist as $field => $value )
{
2013-02-25 17:56:41 +01:00
if ( $fieldlist [ $field ] == 'country' ) {
2012-09-25 19:34:18 +02:00
if ( in_array ( 'region_id' , $fieldlist )) { print '<td> </td>' ; continue ; } // For region page, we do not show the country input
print '<td>' ;
2013-02-25 17:56:41 +01:00
print $form -> select_country (( ! empty ( $obj -> country_code ) ? $obj -> country_code : ( ! empty ( $obj -> country ) ? $obj -> country : '' )), 'country' , '' , 28 );
2012-09-25 19:34:18 +02:00
print '</td>' ;
}
2013-02-25 09:17:38 +01:00
elseif ( $fieldlist [ $field ] == 'country_id' ) {
$country_id = ( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : 0 );
print '<input type="hidden" name="' . $fieldlist [ $field ] . '" value="' . $country_id . '">' ;
2012-09-25 19:34:18 +02:00
}
elseif ( $fieldlist [ $field ] == 'region' ) {
print '<td>' ;
$formcompany -> select_region ( $region_id , 'region' );
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'region_id' ) {
$region_id = ( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : 0 );
print '<input type="hidden" name="' . $fieldlist [ $field ] . '" value="' . $region_id . '">' ;
}
elseif ( $fieldlist [ $field ] == 'lang' ) {
print '<td>' ;
print $formadmin -> select_language ( $conf -> global -> MAIN_LANG_DEFAULT , 'lang' );
print '</td>' ;
}
// Le type de l'element (pour les type de contact)
elseif ( $fieldlist [ $field ] == 'element' )
{
print '<td>' ;
print $form -> selectarray ( 'element' , $elementList ,( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ));
print '</td>' ;
}
// La source de l'element (pour les type de contact)
elseif ( $fieldlist [ $field ] == 'source' )
{
print '<td>' ;
print $form -> selectarray ( 'source' , $sourceList ,( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ));
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'type' && $tabname == 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' || $fieldlist [ $field ] == 'deductible' ) {
print '<td>' ;
print $form -> selectyesno ( $fieldlist [ $field ],( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ), 1 );
print '</td>' ;
}
elseif ( in_array ( $fieldlist [ $field ], array ( 'nbjour' , 'decalage' , 'taux' , 'localtax1' , 'localtax2' ))) {
$align = " left " ;
if ( in_array ( $fieldlist [ $field ], array ( 'taux' , 'localtax1' , 'localtax2' ))) $align = " right " ; // Fields aligned on right
print '<td align="' . $align . '">' ;
2012-12-31 04:11:56 +01:00
print '<input type="text" class="flat" value="' . ( isset ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ) . '" size="3" name="' . $fieldlist [ $field ] . '">' ;
2012-09-25 19:34:18 +02:00
print '</td>' ;
}
elseif ( $fieldlist [ $field ] == 'libelle_facture' ) {
print '<td><textarea cols="30" rows="' . ROWS_2 . '" class="flat" name="' . $fieldlist [ $field ] . '">' . ( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ) . '</textarea></td>' ;
}
elseif ( $fieldlist [ $field ] == 'price' || preg_match ( '/^amount/i' , $fieldlist [ $field ])) {
print '<td><input type="text" class="flat" value="' . price (( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' )) . '" size="8" name="' . $fieldlist [ $field ] . '"></td>' ;
}
elseif ( $fieldlist [ $field ] == 'code' && isset ( $obj -> $fieldlist [ $field ])) {
print '<td><input type="text" class="flat" value="' . ( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ) . '" size="10" name="' . $fieldlist [ $field ] . '"></td>' ;
}
elseif ( $fieldlist [ $field ] == 'unit' ) {
print '<td>' ;
$units = array (
'mm' => $langs -> trans ( 'SizeUnitmm' ),
'cm' => $langs -> trans ( 'SizeUnitcm' ),
'point' => $langs -> trans ( 'SizeUnitpoint' ),
'inch' => $langs -> trans ( 'SizeUnitinch' )
);
print $form -> selectarray ( 'unit' , $units , ( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ), 0 , 0 , 0 );
print '</td>' ;
}
// Le type de taxe locale
elseif ( $fieldlist [ $field ] == 'localtax1_type' || $fieldlist [ $field ] == 'localtax2_type' )
{
print '<td align="center">' ;
2012-11-07 12:00:17 +01:00
print $form -> selectarray ( $fieldlist [ $field ], $localtax_typeList , ( ! empty ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ));
2012-09-25 19:34:18 +02:00
print '</td>' ;
}
else
{
print '<td>' ;
$size = '' ;
if ( $fieldlist [ $field ] == 'libelle' ) $size = 'size="32" ' ;
2013-04-19 19:46:49 +02:00
if ( $fieldlist [ $field ] == 'tracking' ) $size = 'size="92" ' ;
2013-12-09 11:00:36 +01:00
if ( $fieldlist [ $field ] == 'accountancy_code' ) $size = 'size="10" ' ;
if ( $fieldlist [ $field ] == 'accountancy_code_sell' ) $size = 'size="10" ' ;
if ( $fieldlist [ $field ] == 'accountancy_code_buy' ) $size = 'size="10" ' ;
2012-09-25 19:34:18 +02:00
print '<input type="text" ' . $size . ' class="flat" value="' . ( isset ( $obj -> $fieldlist [ $field ]) ? $obj -> $fieldlist [ $field ] : '' ) . '" name="' . $fieldlist [ $field ] . '">' ;
print '</td>' ;
}
}
2007-07-23 20:07:27 +02:00
}
2013-01-19 16:29:16 +01:00
?>