2004-10-19 20:58:50 +02:00
< ? php
2017-06-08 10:24:16 +02:00
/* Copyright ( C ) 2004 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
2018-03-16 10:21:53 +01:00
* Copyright ( C ) 2004 - 2018 Laurent Destailleur < eldy @ users . sourceforge . net >
2017-06-08 10:24:16 +02:00
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
2018-10-27 14:43:12 +02:00
* Copyright ( C ) 2005 - 2017 Regis Houssin < regis . houssin @ inodbox . com >
2022-01-21 13:38:59 +01:00
* Copyright ( C ) 2010 - 2022 Juanjo Menent < jmenent @ 2 byte . es >
2021-12-22 17:38:06 +01:00
* Copyright ( C ) 2011 - 2021 Philippe Grand < philippe . grand @ atoo - net . com >
2017-06-08 10:24:16 +02:00
* Copyright ( C ) 2011 Remy Younes < ryounes @ gmail . com >
* Copyright ( C ) 2012 - 2015 Marcos García < marcosgdf @ gmail . com >
* Copyright ( C ) 2012 Christophe Battarel < christophe . battarel @ ltairis . fr >
2022-03-04 07:00:02 +01:00
* Copyright ( C ) 2011 - 2022 Alexandre Spangaro < aspangaro @ open - dsi . fr >
2017-06-08 10:24:16 +02:00
* Copyright ( C ) 2015 Ferran Marcet < fmarcet @ 2 byte . es >
* Copyright ( C ) 2016 Raphaël Doursenaud < rdoursenaud @ gpcsolutions . fr >
2022-08-31 21:57:05 +02:00
* Copyright ( C ) 2019 - 2022 Frédéric France < frederic . france @ netlogic . fr >
2022-02-14 04:20:42 +01:00
* Copyright ( C ) 2020 - 2022 Open - Dsi < support @ open - dsi . fr >
2004-02-16 13:22:32 +01:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
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
2019-09-23 21:55:30 +02:00
* along with this program . If not , see < https :// 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
2022-09-07 20:08:59 +02:00
// Load Dolibarr environment
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' ;
2015-10-21 05:23:49 +02:00
require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php' ;
2015-07-04 11:57:55 +02:00
require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php' ;
2016-01-30 14:32:20 +01:00
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php' ;
2019-08-31 13:31:08 +02:00
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php' ;
2004-02-16 13:22:32 +01:00
2018-05-26 18:41:16 +02:00
// Load translation files required by the page
2021-03-24 12:13:23 +01:00
$langs -> loadLangs ( array ( " errors " , " admin " , " main " , " companies " , " resource " , " holiday " , " accountancy " , " hrm " , " orders " , " contracts " , " projects " , " propal " , " bills " , " interventions " , " ticket " ));
2004-08-08 20:22:01 +02:00
2019-11-13 19:35:02 +01:00
$action = GETPOST ( 'action' , 'alpha' ) ? GETPOST ( 'action' , 'alpha' ) : 'view' ;
$confirm = GETPOST ( 'confirm' , 'alpha' );
$id = GETPOST ( 'id' , 'int' );
$rowid = GETPOST ( 'rowid' , 'alpha' );
$entity = GETPOST ( 'entity' , 'int' );
$code = GETPOST ( 'code' , 'alpha' );
2004-08-08 20:22:01 +02:00
2019-11-13 19:35:02 +01:00
$allowed = $user -> admin ;
2022-09-06 16:40:07 +02:00
if ( $id == 7 && $user -> hasRight ( 'accounting' , 'chartofaccount' )) {
2021-02-26 22:04:03 +01:00
$allowed = 1 ; // Tax page allowed to manager of chart account
}
2022-09-06 16:40:07 +02:00
if ( $id == 10 && $user -> hasRight ( 'accounting' , 'chartofaccount' )) {
2021-02-26 22:04:03 +01:00
$allowed = 1 ; // Vat page allowed to manager of chart account
}
2022-09-06 16:40:07 +02:00
if ( $id == 17 && $user -> hasRight ( 'accounting' , 'chartofaccount' )) {
2021-02-26 22:04:03 +01:00
$allowed = 1 ; // Dictionary with type of expense report and accounting account allowed to manager of chart account
}
if ( ! $allowed ) {
accessforbidden ();
}
2011-10-18 20:16:36 +02:00
2020-04-10 10:59:32 +02:00
$acts = array (); $actl = array ();
2004-08-08 20:22:01 +02:00
$acts [ 0 ] = " activate " ;
$acts [ 1 ] = " disable " ;
2021-04-19 22:52:13 +02:00
$actl [ 0 ] = img_picto ( $langs -> trans ( " Disabled " ), 'switch_off' , 'class="size15x"' );
$actl [ 1 ] = img_picto ( $langs -> trans ( " Activated " ), 'switch_on' , 'class="size15x"' );
2004-02-16 13:22:32 +01:00
2019-11-13 19:35:02 +01:00
$listoffset = GETPOST ( 'listoffset' );
$listlimit = GETPOST ( 'listlimit' ) > 0 ? GETPOST ( 'listlimit' ) : 1000 ; // To avoid too long dictionaries
2004-06-09 20:37:17 +02:00
$active = 1 ;
2022-01-13 11:09:37 +01:00
$sortfield = GETPOST ( 'sortfield' , 'aZ09comma' );
$sortorder = GETPOST ( 'sortorder' , 'aZ09comma' );
2020-03-13 13:07:11 +01:00
$page = GETPOSTISSET ( 'pageplusone' ) ? ( GETPOST ( 'pageplusone' ) - 1 ) : GETPOST ( " page " , 'int' );
2021-02-26 22:04:03 +01:00
if ( empty ( $page ) || $page == - 1 ) {
$page = 0 ;
} // If $page is not defined, or '' or -1
2019-11-13 19:35:02 +01:00
$offset = $listlimit * $page ;
2011-05-29 12:57:38 +02:00
$pageprev = $page - 1 ;
$pagenext = $page + 1 ;
2019-01-27 11:55:16 +01:00
$search_country_id = GETPOST ( 'search_country_id' , 'int' );
2021-02-26 22:04:03 +01:00
if ( ! GETPOSTISSET ( 'search_country_id' ) && $search_country_id == '' && ( $id == 2 || $id == 3 || $id == 10 )) { // Not a so good idea to force on current country for all dictionaries. Some tables have entries that are for all countries, we must be able to see them, so this is done for dedicated dictionaries only.
2017-11-14 11:13:24 +01:00
$search_country_id = $mysoc -> country_id ;
}
2019-01-27 11:55:16 +01:00
$search_code = GETPOST ( 'search_code' , 'alpha' );
2016-10-03 13:42:27 +02:00
2017-06-10 12:56:28 +02:00
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
2022-03-24 09:42:02 +01:00
$hookmanager -> initHooks ( array ( 'admin' , 'dictionaryadmin' ));
2011-05-29 12:57:38 +02:00
2014-02-10 01:30:48 +01:00
// This page is a generic page to edit dictionaries
// Put here declaration of dictionaries properties
2011-10-19 01:51:40 +02:00
2014-02-10 01:30:48 +01:00
// Sort order to show dictionary (0 is space). All other dictionaries (added by modules) will be at end of this.
2023-04-26 12:45:02 +02:00
$taborder = array ( 9 , 15 , 30 , 0 , 4 , 3 , 2 , 0 , 1 , 8 , 19 , 16 , 39 , 27 , 40 , 38 , 0 , 5 , 11 , 0 , 6 , 24 , 0 , 29 , 0 , 33 , 34 , 32 , 28 , 17 , 35 , 36 , 0 , 10 , 31 , 23 , 12 , 13 , 7 , 0 , 14 , 0 , 22 , 20 , 18 , 21 , 41 , 0 , 37 , 42 , 0 , 43 , 0 , 25 , 0 , 44 , 0 );
2004-10-31 14:00:04 +01:00
2014-02-10 01:30:48 +01:00
// Name of SQL tables of dictionaries
2019-11-13 19:35:02 +01:00
$tabname = array ();
2022-05-09 11:16:58 +02:00
$tabname [ 1 ] = " c_forme_juridique " ;
$tabname [ 2 ] = " c_departements " ;
$tabname [ 3 ] = " c_regions " ;
$tabname [ 4 ] = " c_country " ;
$tabname [ 5 ] = " c_civility " ;
$tabname [ 6 ] = " c_actioncomm " ;
$tabname [ 7 ] = " c_chargesociales " ;
$tabname [ 8 ] = " c_typent " ;
$tabname [ 9 ] = " c_currencies " ;
$tabname [ 10 ] = " c_tva " ;
$tabname [ 11 ] = " c_type_contact " ;
$tabname [ 12 ] = " c_payment_term " ;
$tabname [ 13 ] = " c_paiement " ;
$tabname [ 14 ] = " c_ecotaxe " ;
$tabname [ 15 ] = " c_paper_format " ;
$tabname [ 16 ] = " c_prospectlevel " ;
$tabname [ 17 ] = " c_type_fees " ;
$tabname [ 18 ] = " c_shipment_mode " ;
$tabname [ 19 ] = " c_effectif " ;
$tabname [ 20 ] = " c_input_method " ;
$tabname [ 21 ] = " c_availability " ;
$tabname [ 22 ] = " c_input_reason " ;
$tabname [ 23 ] = " c_revenuestamp " ;
$tabname [ 24 ] = " c_type_resource " ;
$tabname [ 25 ] = " c_type_container " ;
//$tabname[26]= "c_units";
$tabname [ 27 ] = " c_stcomm " ;
$tabname [ 28 ] = " c_holiday_types " ;
$tabname [ 29 ] = " c_lead_status " ;
$tabname [ 30 ] = " c_format_cards " ;
2023-04-26 12:45:02 +02:00
$tabname [ 31 ] = " c_invoice_subtype " ;
2022-05-09 11:16:58 +02:00
$tabname [ 32 ] = " c_hrm_public_holiday " ;
$tabname [ 33 ] = " c_hrm_department " ;
$tabname [ 34 ] = " c_hrm_function " ;
$tabname [ 35 ] = " c_exp_tax_cat " ;
$tabname [ 36 ] = " c_exp_tax_range " ;
$tabname [ 37 ] = " c_units " ;
$tabname [ 38 ] = " c_socialnetworks " ;
$tabname [ 39 ] = " c_prospectcontactlevel " ;
$tabname [ 40 ] = " c_stcommcontact " ;
$tabname [ 41 ] = " c_transport_mode " ;
$tabname [ 42 ] = " c_product_nature " ;
$tabname [ 43 ] = " c_productbatch_qcstatus " ;
$tabname [ 44 ] = " c_asset_disposal_type " ;
2004-02-16 13:22:32 +01:00
2009-01-22 23:55:51 +01:00
// Dictionary labels
2019-11-13 19:35:02 +01:00
$tablib = array ();
2014-02-05 17:53:30 +01:00
$tablib [ 1 ] = " DictionaryCompanyJuridicalType " ;
$tablib [ 2 ] = " DictionaryCanton " ;
$tablib [ 3 ] = " DictionaryRegion " ;
$tablib [ 4 ] = " DictionaryCountry " ;
$tablib [ 5 ] = " DictionaryCivility " ;
$tablib [ 6 ] = " DictionaryActions " ;
$tablib [ 7 ] = " DictionarySocialContributions " ;
$tablib [ 8 ] = " DictionaryCompanyType " ;
$tablib [ 9 ] = " DictionaryCurrency " ;
2019-11-13 19:35:02 +01:00
$tablib [ 10 ] = " DictionaryVAT " ;
$tablib [ 11 ] = " DictionaryTypeContact " ;
$tablib [ 12 ] = " DictionaryPaymentConditions " ;
$tablib [ 13 ] = " DictionaryPaymentModes " ;
$tablib [ 14 ] = " DictionaryEcotaxe " ;
$tablib [ 15 ] = " DictionaryPaperFormat " ;
$tablib [ 16 ] = " DictionaryProspectLevel " ;
$tablib [ 17 ] = " DictionaryFees " ;
$tablib [ 18 ] = " DictionarySendingMethods " ;
$tablib [ 19 ] = " DictionaryStaff " ;
$tablib [ 20 ] = " DictionaryOrderMethods " ;
$tablib [ 21 ] = " DictionaryAvailability " ;
$tablib [ 22 ] = " DictionarySource " ;
$tablib [ 23 ] = " DictionaryRevenueStamp " ;
$tablib [ 24 ] = " DictionaryResourceType " ;
$tablib [ 25 ] = " DictionaryTypeOfContainer " ;
2019-02-14 13:02:44 +01:00
//$tablib[26]= "DictionaryUnits";
2019-11-13 19:35:02 +01:00
$tablib [ 27 ] = " DictionaryProspectStatus " ;
$tablib [ 28 ] = " DictionaryHolidayTypes " ;
$tablib [ 29 ] = " DictionaryOpportunityStatus " ;
$tablib [ 30 ] = " DictionaryFormatCards " ;
2023-04-26 12:45:02 +02:00
$tablib [ 31 ] = " DictionaryInvoiceSubtype " ;
2019-11-13 19:35:02 +01:00
$tablib [ 32 ] = " DictionaryPublicHolidays " ;
$tablib [ 33 ] = " DictionaryDepartment " ;
$tablib [ 34 ] = " DictionaryFunction " ;
$tablib [ 35 ] = " DictionaryExpenseTaxCat " ;
$tablib [ 36 ] = " DictionaryExpenseTaxRange " ;
$tablib [ 37 ] = " DictionaryMeasuringUnits " ;
$tablib [ 38 ] = " DictionarySocialNetworks " ;
2020-04-27 17:35:14 +02:00
$tablib [ 39 ] = " DictionaryProspectContactLevel " ;
$tablib [ 40 ] = " DictionaryProspectContactStatus " ;
2020-08-16 22:10:02 +02:00
$tablib [ 41 ] = " DictionaryTransportMode " ;
2020-10-14 16:39:42 +02:00
$tablib [ 42 ] = " DictionaryProductNature " ;
2021-04-20 15:51:02 +02:00
$tablib [ 43 ] = " DictionaryBatchStatus " ;
2022-02-14 04:20:42 +01:00
$tablib [ 44 ] = " DictionaryAssetDisposalType " ;
2004-02-16 13:22:32 +01:00
2014-07-11 13:56:35 +02:00
// Requests to extract data
2019-11-13 19:35:02 +01:00
$tabsql = array ();
2014-08-10 13:37:39 +02:00
$tabsql [ 1 ] = " SELECT f.rowid as rowid, f.code, f.libelle, c.code as country_code, c.label as country, f.active FROM " . MAIN_DB_PREFIX . " c_forme_juridique as f, " . MAIN_DB_PREFIX . " c_country as c WHERE f.fk_pays=c.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, c.code as country_code, c.label as country, d.active FROM " . MAIN_DB_PREFIX . " c_departements as d, " . MAIN_DB_PREFIX . " c_regions as r, " . MAIN_DB_PREFIX . " c_country as c WHERE d.fk_region=r.code_region and r.fk_pays=c.rowid and r.active=1 and c.active=1 " ;
2020-02-02 12:59:11 +01:00
$tabsql [ 3 ] = " SELECT r.rowid as rowid, r.code_region as state_code, r.nom as libelle, r.fk_pays as country_id, c.code as country_code, c.label as country, r.active FROM " . MAIN_DB_PREFIX . " c_regions as r, " . MAIN_DB_PREFIX . " c_country as c WHERE r.fk_pays=c.rowid and c.active=1 " ;
2022-03-04 07:00:02 +01:00
$tabsql [ 4 ] = " SELECT c.rowid as rowid, c.code, c.label, c.active, c.favorite, c.eec FROM " . MAIN_DB_PREFIX . " c_country AS c " ;
2014-08-12 06:03:27 +02:00
$tabsql [ 5 ] = " SELECT c.rowid as rowid, c.code as code, c.label, c.active FROM " . MAIN_DB_PREFIX . " c_civility AS c " ;
2014-09-23 17:54:03 +02:00
$tabsql [ 6 ] = " SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active, a.module, a.color, a.position FROM " . MAIN_DB_PREFIX . " c_actioncomm AS a " ;
2023-04-26 12:45:02 +02:00
$tabsql [ 7 ] = " SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, c.code as country_code, c.label as country, a.fk_pays as country_id, a.active FROM " . MAIN_DB_PREFIX . " c_chargesociales AS a, " . MAIN_DB_PREFIX . " c_country as c WHERE a.fk_pays = c.rowid and c.active = 1 " ;
2016-02-19 21:09:36 +01:00
$tabsql [ 8 ] = " SELECT t.id as rowid, t.code as code, t.libelle, t.fk_country as country_id, c.code as country_code, c.label as country, t.position, t.active FROM " . MAIN_DB_PREFIX . " c_typent as t LEFT JOIN " . MAIN_DB_PREFIX . " c_country as c ON t.fk_country=c.rowid " ;
2015-06-21 03:19:15 +02:00
$tabsql [ 9 ] = " SELECT c.code_iso as code, c.label, c.unicode, c.active FROM " . MAIN_DB_PREFIX . " c_currencies AS c " ;
2023-04-26 12:45:02 +02:00
$tabsql [ 10 ] = " SELECT t.rowid, t.code, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, c.label as country, c.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_country as c WHERE t.fk_pays = c.rowid " ;
2019-11-13 19:35:02 +01:00
$tabsql [ 11 ] = " SELECT t.rowid as rowid, t.element, t.source, t.code, t.libelle, t.position, t.active FROM " . MAIN_DB_PREFIX . " c_type_contact AS t " ;
2021-09-29 11:34:30 +02:00
$tabsql [ 12 ] = " SELECT c.rowid as rowid, c.code, c.libelle, c.libelle_facture, c.deposit_percent, c.nbjour, c.type_cdr, c.decalage, c.active, c.sortorder, c.entity FROM " . MAIN_DB_PREFIX . " c_payment_term AS c WHERE c.entity = " . getEntity ( $tabname [ 12 ]);
2019-11-13 19:35:02 +01:00
$tabsql [ 13 ] = " SELECT c.id as rowid, c.code, c.libelle, c.type, c.active, c.entity FROM " . MAIN_DB_PREFIX . " c_paiement AS c WHERE c.entity = " . getEntity ( $tabname [ 13 ]);
$tabsql [ 14 ] = " SELECT e.rowid as rowid, e.code as code, e.label, e.price, e.organization, e.fk_pays as country_id, c.code as country_code, c.label as country, e.active FROM " . MAIN_DB_PREFIX . " c_ecotaxe AS e, " . MAIN_DB_PREFIX . " c_country as c WHERE e.fk_pays=c.rowid and c.active=1 " ;
$tabsql [ 15 ] = " SELECT rowid as rowid, code, label as libelle, width, height, unit, active FROM " . MAIN_DB_PREFIX . " c_paper_format " ;
$tabsql [ 16 ] = " SELECT code, label as libelle, sortorder, active FROM " . MAIN_DB_PREFIX . " c_prospectlevel " ;
$tabsql [ 17 ] = " SELECT id as rowid, code, label, accountancy_code, active FROM " . MAIN_DB_PREFIX . " c_type_fees " ;
$tabsql [ 18 ] = " SELECT rowid as rowid, code, libelle, tracking, active FROM " . MAIN_DB_PREFIX . " c_shipment_mode " ;
$tabsql [ 19 ] = " SELECT id as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_effectif " ;
$tabsql [ 20 ] = " SELECT rowid as rowid, code, libelle, active FROM " . MAIN_DB_PREFIX . " c_input_method " ;
2022-03-09 10:34:23 +01:00
$tabsql [ 21 ] = " SELECT c.rowid as rowid, c.code, c.label, c.type_duration, c.qty, c.active, c.position FROM " . MAIN_DB_PREFIX . " c_availability AS c " ;
2019-11-13 19:35:02 +01:00
$tabsql [ 22 ] = " SELECT rowid as rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_input_reason " ;
$tabsql [ 23 ] = " SELECT t.rowid as rowid, t.taux, t.revenuestamp_type, c.label as country, c.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_country as c WHERE t.fk_pays=c.rowid " ;
$tabsql [ 24 ] = " SELECT rowid as rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_type_resource " ;
2021-10-21 08:43:20 +02:00
$tabsql [ 25 ] = " SELECT rowid as rowid, code, label, active, module FROM " . MAIN_DB_PREFIX . " c_type_container as t WHERE t.entity = " . getEntity ( $tabname [ 25 ]);
2019-02-14 13:02:44 +01:00
//$tabsql[26]= "SELECT rowid as rowid, code, label, short_label, active FROM ".MAIN_DB_PREFIX."c_units";
2020-04-27 17:35:14 +02:00
$tabsql [ 27 ] = " SELECT id as rowid, code, libelle, picto, active FROM " . MAIN_DB_PREFIX . " c_stcomm " ;
2022-05-19 12:34:05 +02:00
$tabsql [ 28 ] = " SELECT h.rowid as rowid, h.code, h.label, h.affect, h.delay, h.newbymonth, h.fk_country as country_id, c.code as country_code, c.label as country, h.block_if_negative, h.sortorder, h.active FROM " . MAIN_DB_PREFIX . " c_holiday_types as h LEFT JOIN " . MAIN_DB_PREFIX . " c_country as c ON h.fk_country=c.rowid " ;
2019-11-13 19:35:02 +01:00
$tabsql [ 29 ] = " SELECT rowid as rowid, code, label, percent, position, active FROM " . MAIN_DB_PREFIX . " c_lead_status " ;
$tabsql [ 30 ] = " SELECT rowid, code, name, paper_size, orientation, metric, leftmargin, topmargin, nx, ny, spacex, spacey, width, height, font_size, custom_x, custom_y, active FROM " . MAIN_DB_PREFIX . " c_format_cards " ;
2023-04-26 12:45:02 +02:00
$tabsql [ 31 ] = " SELECT t.rowid, t.code, t.label, c.label as country, c.code as country_code, t.fk_country as country_id, t.active FROM " . MAIN_DB_PREFIX . " c_invoice_subtype as t, " . MAIN_DB_PREFIX . " c_country as c WHERE t.fk_country = c.rowid " ;
2019-11-13 19:35:02 +01:00
$tabsql [ 32 ] = " SELECT a.id as rowid, a.entity, a.code, a.fk_country as country_id, c.code as country_code, c.label as country, a.dayrule, a.day, a.month, a.year, a.active FROM " . MAIN_DB_PREFIX . " c_hrm_public_holiday as a LEFT JOIN " . MAIN_DB_PREFIX . " c_country as c ON a.fk_country=c.rowid AND c.active=1 " ;
$tabsql [ 33 ] = " SELECT rowid, pos, code, label, active FROM " . MAIN_DB_PREFIX . " c_hrm_department " ;
$tabsql [ 34 ] = " SELECT rowid, pos, code, label, c_level, active FROM " . MAIN_DB_PREFIX . " c_hrm_function " ;
$tabsql [ 35 ] = " SELECT c.rowid, c.label, c.active, c.entity FROM " . MAIN_DB_PREFIX . " c_exp_tax_cat c " ;
$tabsql [ 36 ] = " SELECT r.rowid, r.fk_c_exp_tax_cat, r.range_ik, r.active, r.entity FROM " . MAIN_DB_PREFIX . " c_exp_tax_range r " ;
2021-10-11 08:58:00 +02:00
$tabsql [ 37 ] = " SELECT r.rowid, r.code, r.sortorder, r.label, r.short_label, r.unit_type, r.scale, r.active FROM " . MAIN_DB_PREFIX . " c_units r " ;
2021-10-21 08:43:20 +02:00
$tabsql [ 38 ] = " SELECT s.rowid, s.entity, s.code, s.label, s.url, s.icon, s.active FROM " . MAIN_DB_PREFIX . " c_socialnetworks as s WHERE s.entity = " . getEntity ( $tabname [ 38 ]);
2020-04-27 17:35:14 +02:00
$tabsql [ 39 ] = " SELECT code, label as libelle, sortorder, active FROM " . MAIN_DB_PREFIX . " c_prospectcontactlevel " ;
$tabsql [ 40 ] = " SELECT id as rowid, code, libelle, picto, active FROM " . MAIN_DB_PREFIX . " c_stcommcontact " ;
2020-08-16 22:10:02 +02:00
$tabsql [ 41 ] = " SELECT rowid as rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_transport_mode " ;
2020-10-14 16:39:42 +02:00
$tabsql [ 42 ] = " SELECT rowid as rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_product_nature " ;
2021-04-29 12:49:15 +02:00
$tabsql [ 43 ] = " SELECT rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_productbatch_qcstatus " ;
2022-02-14 04:20:42 +01:00
$tabsql [ 44 ] = " SELECT rowid, code, label, active FROM " . MAIN_DB_PREFIX . " c_asset_disposal_type " ;
2004-06-26 19:13:30 +02:00
2014-07-11 13:56:35 +02:00
// Criteria to sort dictionaries
2019-11-13 19:35:02 +01:00
$tabsqlsort = array ();
$tabsqlsort [ 1 ] = " country ASC, code ASC " ;
$tabsqlsort [ 2 ] = " country ASC, code ASC " ;
$tabsqlsort [ 3 ] = " country ASC, code ASC " ;
$tabsqlsort [ 4 ] = " code ASC " ;
$tabsqlsort [ 5 ] = " label ASC " ;
$tabsqlsort [ 6 ] = " a.type ASC, a.module ASC, a.position ASC, a.code ASC " ;
2021-01-23 17:32:14 +01:00
$tabsqlsort [ 7 ] = " c.label ASC, a.code ASC, a.libelle ASC " ;
2019-11-13 19:35:02 +01:00
$tabsqlsort [ 8 ] = " country DESC, " . ( ! empty ( $conf -> global -> SOCIETE_SORT_ON_TYPEENT ) ? ' t.position ASC,' : '' ) . " libelle ASC " ;
$tabsqlsort [ 9 ] = " label ASC " ;
$tabsqlsort [ 10 ] = " country ASC, code ASC, taux ASC, recuperableonly ASC, localtax1 ASC, localtax2 ASC " ;
$tabsqlsort [ 11 ] = " t.element ASC, t.source ASC, t.position ASC, t.code ASC " ;
$tabsqlsort [ 12 ] = " sortorder ASC, code ASC " ;
$tabsqlsort [ 13 ] = " code ASC " ;
$tabsqlsort [ 14 ] = " country ASC, e.organization ASC, code ASC " ;
$tabsqlsort [ 15 ] = " rowid ASC " ;
$tabsqlsort [ 16 ] = " sortorder ASC " ;
$tabsqlsort [ 17 ] = " code ASC " ;
$tabsqlsort [ 18 ] = " code ASC, libelle ASC " ;
$tabsqlsort [ 19 ] = " id ASC " ;
$tabsqlsort [ 20 ] = " code ASC, libelle ASC " ;
2022-05-09 11:16:58 +02:00
$tabsqlsort [ 21 ] = " position ASC, type_duration ASC, qty ASC " ;
2019-11-13 19:35:02 +01:00
$tabsqlsort [ 22 ] = " code ASC, label ASC " ;
$tabsqlsort [ 23 ] = " country ASC, taux ASC " ;
$tabsqlsort [ 24 ] = " code ASC, label ASC " ;
$tabsqlsort [ 25 ] = " t.module ASC, t.code ASC, t.label ASC " ;
2019-02-14 13:02:44 +01:00
//$tabsqlsort[26]="code ASC";
2019-11-13 19:35:02 +01:00
$tabsqlsort [ 27 ] = " code ASC " ;
2022-05-19 14:09:50 +02:00
$tabsqlsort [ 28 ] = " sortorder ASC, country ASC, code ASC " ;
2019-11-13 19:35:02 +01:00
$tabsqlsort [ 29 ] = " position ASC " ;
$tabsqlsort [ 30 ] = " code ASC " ;
2023-04-26 12:45:02 +02:00
$tabsqlsort [ 31 ] = " country ASC, code ASC " ;
2019-11-13 19:35:02 +01:00
$tabsqlsort [ 32 ] = " country, year ASC, month ASC, day ASC " ;
$tabsqlsort [ 33 ] = " code ASC " ;
$tabsqlsort [ 34 ] = " code ASC " ;
$tabsqlsort [ 35 ] = " c.label ASC " ;
$tabsqlsort [ 36 ] = " r.fk_c_exp_tax_cat ASC, r.range_ik ASC " ;
2021-10-11 08:58:00 +02:00
$tabsqlsort [ 37 ] = " sortorder ASC " ;
2019-11-13 19:35:02 +01:00
$tabsqlsort [ 38 ] = " rowid, code ASC " ;
2020-04-27 17:35:14 +02:00
$tabsqlsort [ 39 ] = " sortorder ASC " ;
$tabsqlsort [ 40 ] = " code ASC " ;
2020-08-16 22:10:02 +02:00
$tabsqlsort [ 41 ] = " code ASC " ;
2020-10-14 16:39:42 +02:00
$tabsqlsort [ 42 ] = " code ASC " ;
2021-04-20 15:51:02 +02:00
$tabsqlsort [ 43 ] = " code ASC " ;
2022-02-14 04:20:42 +01:00
$tabsqlsort [ 44 ] = " code ASC " ;
2008-05-28 00:30:52 +02:00
2019-09-20 07:02:14 +02:00
// Field names in select result for dictionary display
2019-11-13 19:35:02 +01:00
$tabfield = array ();
2013-02-25 17:56:41 +01:00
$tabfield [ 1 ] = " code,libelle,country " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 2 ] = " code,libelle,region_id,region,country " ; // "code,libelle,region,country_code-country"
2013-02-25 17:56:41 +01:00
$tabfield [ 3 ] = " code,libelle,country_id,country " ;
2014-08-10 13:37:39 +02:00
$tabfield [ 4 ] = " code,label " ;
2014-08-12 06:03:27 +02:00
$tabfield [ 5 ] = " code,label " ;
2014-09-23 17:54:03 +02:00
$tabfield [ 6 ] = " code,libelle,type,color,position " ;
2021-08-06 11:32:39 +02:00
$tabfield [ 7 ] = " code,libelle,country,accountancy_code " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 8 ] = " code,libelle,country_id,country " . ( ! empty ( $conf -> global -> SOCIETE_SORT_ON_TYPEENT ) ? ',position' : '' );
2013-01-18 15:57:11 +01:00
$tabfield [ 9 ] = " code,label,unicode " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 10 ] = " country_id,country,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note " ;
$tabfield [ 11 ] = " element,source,code,libelle,position " ;
2021-09-29 11:34:30 +02:00
$tabfield [ 12 ] = " code,libelle,libelle_facture,deposit_percent,nbjour,type_cdr,decalage,sortorder,entity " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 13 ] = " code,libelle,type,entity " ;
$tabfield [ 14 ] = " code,label,price,organization,country " ;
$tabfield [ 15 ] = " code,libelle,width,height,unit " ;
$tabfield [ 16 ] = " code,libelle,sortorder " ;
$tabfield [ 17 ] = " code,label,accountancy_code " ;
$tabfield [ 18 ] = " code,libelle,tracking " ;
$tabfield [ 19 ] = " code,libelle " ;
$tabfield [ 20 ] = " code,libelle " ;
2022-03-09 10:34:23 +01:00
$tabfield [ 21 ] = " code,label,qty,type_duration,position " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 22 ] = " code,label " ;
$tabfield [ 23 ] = " country_id,country,taux,revenuestamp_type,accountancy_code_sell,accountancy_code_buy,note " ;
$tabfield [ 24 ] = " code,label " ;
$tabfield [ 25 ] = " code,label " ;
2019-02-14 13:02:44 +01:00
//$tabfield[26]= "code,label,short_label";
2020-04-27 17:35:14 +02:00
$tabfield [ 27 ] = " code,libelle,picto " ;
2022-05-19 12:34:05 +02:00
$tabfield [ 28 ] = " code,label,affect,delay,newbymonth,country_id,country,block_if_negative,sortorder " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 29 ] = " code,label,percent,position " ;
$tabfield [ 30 ] = " code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y " ;
2023-04-26 12:45:02 +02:00
$tabfield [ 31 ] = " country_id,country,code,label " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 32 ] = " code,dayrule,year,month,day,country_id,country " ;
$tabfield [ 33 ] = " code,label " ;
$tabfield [ 34 ] = " code,label " ;
$tabfield [ 35 ] = " label " ;
$tabfield [ 36 ] = " range_ik,fk_c_exp_tax_cat " ;
2021-10-11 08:58:00 +02:00
$tabfield [ 37 ] = " code,label,short_label,unit_type,scale,sortorder " ;
2019-11-13 19:35:02 +01:00
$tabfield [ 38 ] = " code,label,url,icon,entity " ;
2020-04-27 17:35:14 +02:00
$tabfield [ 39 ] = " code,libelle,sortorder " ;
$tabfield [ 40 ] = " code,libelle,picto " ;
2020-08-16 22:10:02 +02:00
$tabfield [ 41 ] = " code,label " ;
2020-10-14 16:39:42 +02:00
$tabfield [ 42 ] = " code,label " ;
2021-04-20 15:51:02 +02:00
$tabfield [ 43 ] = " code,label " ;
2022-02-14 04:20:42 +01:00
$tabfield [ 44 ] = " code,label " ;
2016-04-01 06:48:17 +02:00
2019-09-20 07:02:14 +02:00
// Edit field names for editing a record
2019-11-13 19:35:02 +01:00
$tabfieldvalue = array ();
2016-04-01 06:48:17 +02:00
$tabfieldvalue [ 1 ] = " code,libelle,country " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 2 ] = " code,libelle,region " ; // "code,libelle,region"
2016-04-01 06:48:17 +02:00
$tabfieldvalue [ 3 ] = " code,libelle,country " ;
$tabfieldvalue [ 4 ] = " code,label " ;
$tabfieldvalue [ 5 ] = " code,label " ;
$tabfieldvalue [ 6 ] = " code,libelle,type,color,position " ;
2021-08-06 11:32:39 +02:00
$tabfieldvalue [ 7 ] = " code,libelle,country,accountancy_code " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 8 ] = " code,libelle,country " . ( ! empty ( $conf -> global -> SOCIETE_SORT_ON_TYPEENT ) ? ',position' : '' );
2016-04-01 06:48:17 +02:00
$tabfieldvalue [ 9 ] = " code,label,unicode " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 10 ] = " country,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note " ;
$tabfieldvalue [ 11 ] = " element,source,code,libelle,position " ;
2021-09-29 11:34:30 +02:00
$tabfieldvalue [ 12 ] = " code,libelle,libelle_facture,deposit_percent,nbjour,type_cdr,decalage,sortorder " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 13 ] = " code,libelle,type " ;
$tabfieldvalue [ 14 ] = " code,label,price,organization,country " ;
$tabfieldvalue [ 15 ] = " code,libelle,width,height,unit " ;
$tabfieldvalue [ 16 ] = " code,libelle,sortorder " ;
$tabfieldvalue [ 17 ] = " code,label,accountancy_code " ;
$tabfieldvalue [ 18 ] = " code,libelle,tracking " ;
$tabfieldvalue [ 19 ] = " code,libelle " ;
$tabfieldvalue [ 20 ] = " code,libelle " ;
2022-03-09 10:34:23 +01:00
$tabfieldvalue [ 21 ] = " code,label,qty,type_duration,position " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 22 ] = " code,label " ;
$tabfieldvalue [ 23 ] = " country,taux,revenuestamp_type,accountancy_code_sell,accountancy_code_buy,note " ;
$tabfieldvalue [ 24 ] = " code,label " ;
$tabfieldvalue [ 25 ] = " code,label " ;
2019-02-14 13:02:44 +01:00
//$tabfieldvalue[26]= "code,label,short_label";
2020-04-27 17:35:14 +02:00
$tabfieldvalue [ 27 ] = " code,libelle,picto " ;
2022-05-19 12:34:05 +02:00
$tabfieldvalue [ 28 ] = " code,label,affect,delay,newbymonth,country,block_if_negative,sortorder " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 29 ] = " code,label,percent,position " ;
$tabfieldvalue [ 30 ] = " code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y " ;
2023-04-26 12:45:02 +02:00
$tabfieldvalue [ 31 ] = " country,code,label " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 32 ] = " code,dayrule,day,month,year,country " ;
$tabfieldvalue [ 33 ] = " code,label " ;
$tabfieldvalue [ 34 ] = " code,label " ;
$tabfieldvalue [ 35 ] = " label " ;
$tabfieldvalue [ 36 ] = " range_ik,fk_c_exp_tax_cat " ;
2021-10-11 08:58:00 +02:00
$tabfieldvalue [ 37 ] = " code,label,short_label,unit_type,scale,sortorder " ;
2019-11-13 19:35:02 +01:00
$tabfieldvalue [ 38 ] = " code,label,url,icon " ;
2020-04-27 17:35:14 +02:00
$tabfieldvalue [ 39 ] = " code,libelle,sortorder " ;
$tabfieldvalue [ 40 ] = " code,libelle,picto " ;
2020-08-16 22:10:02 +02:00
$tabfieldvalue [ 41 ] = " code,label " ;
2020-10-14 16:39:42 +02:00
$tabfieldvalue [ 42 ] = " code,label " ;
2021-04-20 15:51:02 +02:00
$tabfieldvalue [ 43 ] = " code,label " ;
2022-02-14 04:20:42 +01:00
$tabfieldvalue [ 44 ] = " code,label " ;
2007-07-24 12:35:22 +02:00
2019-09-20 07:02:14 +02:00
// Field names in the table for inserting a record
2019-11-13 19:35:02 +01: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 " ;
2014-08-10 13:37:39 +02:00
$tabfieldinsert [ 4 ] = " code,label " ;
2014-08-12 06:03:27 +02:00
$tabfieldinsert [ 5 ] = " code,label " ;
2014-09-23 17:54:03 +02:00
$tabfieldinsert [ 6 ] = " code,libelle,type,color,position " ;
2021-08-06 11:32:39 +02:00
$tabfieldinsert [ 7 ] = " code,libelle,fk_pays,accountancy_code " ;
2019-11-13 19:35:02 +01:00
$tabfieldinsert [ 8 ] = " code,libelle,fk_country " . ( ! empty ( $conf -> global -> SOCIETE_SORT_ON_TYPEENT ) ? ',position' : '' );
2012-03-08 13:25:03 +01:00
$tabfieldinsert [ 9 ] = " code_iso,label,unicode " ;
2019-11-13 19:35:02 +01:00
$tabfieldinsert [ 10 ] = " fk_pays,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note " ;
$tabfieldinsert [ 11 ] = " element,source,code,libelle,position " ;
2021-09-29 11:34:30 +02:00
$tabfieldinsert [ 12 ] = " code,libelle,libelle_facture,deposit_percent,nbjour,type_cdr,decalage,sortorder,entity " ;
2019-11-13 19:35:02 +01:00
$tabfieldinsert [ 13 ] = " code,libelle,type,entity " ;
$tabfieldinsert [ 14 ] = " code,label,price,organization,fk_pays " ;
$tabfieldinsert [ 15 ] = " code,label,width,height,unit " ;
$tabfieldinsert [ 16 ] = " code,label,sortorder " ;
$tabfieldinsert [ 17 ] = " code,label,accountancy_code " ;
$tabfieldinsert [ 18 ] = " code,libelle,tracking " ;
$tabfieldinsert [ 19 ] = " code,libelle " ;
$tabfieldinsert [ 20 ] = " code,libelle " ;
2022-03-09 10:34:23 +01:00
$tabfieldinsert [ 21 ] = " code,label,qty,type_duration,position " ;
2019-11-13 19:35:02 +01:00
$tabfieldinsert [ 22 ] = " code,label " ;
$tabfieldinsert [ 23 ] = " fk_pays,taux,revenuestamp_type,accountancy_code_sell,accountancy_code_buy,note " ;
$tabfieldinsert [ 24 ] = " code,label " ;
$tabfieldinsert [ 25 ] = " code,label " ;
2019-02-14 13:02:44 +01:00
//$tabfieldinsert[26]= "code,label,short_label";
2020-04-27 17:35:14 +02:00
$tabfieldinsert [ 27 ] = " code,libelle,picto " ;
2022-05-19 12:34:05 +02:00
$tabfieldinsert [ 28 ] = " code,label,affect,delay,newbymonth,fk_country,block_if_negative,sortorder " ;
2019-11-13 19:35:02 +01:00
$tabfieldinsert [ 29 ] = " code,label,percent,position " ;
$tabfieldinsert [ 30 ] = " code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y " ;
2023-04-26 12:45:02 +02:00
$tabfieldinsert [ 31 ] = " fk_country,code,label " ;
2019-11-13 19:35:02 +01:00
$tabfieldinsert [ 32 ] = " code,dayrule,day,month,year,fk_country " ;
$tabfieldinsert [ 33 ] = " code,label " ;
$tabfieldinsert [ 34 ] = " code,label " ;
$tabfieldinsert [ 35 ] = " label " ;
$tabfieldinsert [ 36 ] = " range_ik,fk_c_exp_tax_cat " ;
2021-10-11 08:58:00 +02:00
$tabfieldinsert [ 37 ] = " code,label,short_label,unit_type,scale,sortorder " ;
2019-11-13 19:35:02 +01:00
$tabfieldinsert [ 38 ] = " code,label,url,icon,entity " ;
2020-04-27 17:35:14 +02:00
$tabfieldinsert [ 39 ] = " code,label,sortorder " ;
$tabfieldinsert [ 40 ] = " code,libelle,picto " ;
2020-08-16 22:10:02 +02:00
$tabfieldinsert [ 41 ] = " code,label " ;
2020-10-14 16:39:42 +02:00
$tabfieldinsert [ 42 ] = " code,label " ;
2021-04-20 15:51:02 +02:00
$tabfieldinsert [ 43 ] = " code,label " ;
2022-02-14 04:20:42 +01:00
$tabfieldinsert [ 44 ] = " code,label " ;
2004-06-26 19:13:30 +02:00
2019-09-05 20:06:09 +02:00
// Rowid name of field depending if field is autoincrement on or off..
// Use "" if id field is "rowid" and has autoincrement on
// Use "nameoffield" if id field is not "rowid" or has not autoincrement on
2019-11-13 19:35:02 +01: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 " ;
2019-11-13 19:35:02 +01:00
$tabrowid [ 10 ] = " " ;
$tabrowid [ 11 ] = " rowid " ;
$tabrowid [ 12 ] = " " ;
$tabrowid [ 13 ] = " id " ;
$tabrowid [ 14 ] = " " ;
$tabrowid [ 15 ] = " " ;
$tabrowid [ 16 ] = " code " ;
$tabrowid [ 17 ] = " id " ;
$tabrowid [ 18 ] = " rowid " ;
$tabrowid [ 19 ] = " id " ;
$tabrowid [ 20 ] = " " ;
$tabrowid [ 21 ] = " rowid " ;
$tabrowid [ 22 ] = " rowid " ;
$tabrowid [ 23 ] = " " ;
$tabrowid [ 24 ] = " " ;
$tabrowid [ 25 ] = " " ;
2019-02-14 13:02:44 +01:00
//$tabrowid[26]= "";
2019-11-13 19:35:02 +01:00
$tabrowid [ 27 ] = " id " ;
$tabrowid [ 28 ] = " " ;
$tabrowid [ 29 ] = " " ;
$tabrowid [ 30 ] = " " ;
2023-04-26 12:45:02 +02:00
$tabrowid [ 31 ] = " " ;
2019-11-13 19:35:02 +01:00
$tabrowid [ 32 ] = " id " ;
$tabrowid [ 33 ] = " rowid " ;
$tabrowid [ 34 ] = " rowid " ;
$tabrowid [ 35 ] = " " ;
$tabrowid [ 36 ] = " " ;
$tabrowid [ 37 ] = " " ;
$tabrowid [ 38 ] = " " ;
2020-04-27 17:35:14 +02:00
$tabrowid [ 39 ] = " code " ;
$tabrowid [ 40 ] = " id " ;
2020-08-16 22:10:02 +02:00
$tabrowid [ 41 ] = " " ;
2020-10-14 16:39:42 +02:00
$tabrowid [ 42 ] = " rowid " ;
2021-04-20 15:51:02 +02:00
$tabrowid [ 43 ] = " rowid " ;
2022-02-14 04:20:42 +01:00
$tabrowid [ 44 ] = " rowid " ;
2004-06-26 19:13:30 +02:00
2014-02-10 01:30:48 +01:00
// Condition to show dictionary in setup page
2019-11-13 19:35:02 +01:00
$tabcond = array ();
2022-08-23 20:01:34 +02:00
$tabcond [ 1 ] = ( isModEnabled ( " societe " ));
2006-08-12 19:53:18 +02:00
$tabcond [ 2 ] = true ;
$tabcond [ 3 ] = true ;
$tabcond [ 4 ] = true ;
2022-08-31 21:55:55 +02:00
$tabcond [ 5 ] = ( isModEnabled ( " societe " ) || isModEnabled ( 'adherent' ));
2022-06-09 22:16:48 +02:00
$tabcond [ 6 ] = isModEnabled ( 'agenda' );
2022-08-31 21:55:55 +02:00
$tabcond [ 7 ] = isModEnabled ( 'tax' );
2022-08-23 20:01:34 +02:00
$tabcond [ 8 ] = isModEnabled ( " societe " );
2006-08-12 19:53:18 +02:00
$tabcond [ 9 ] = true ;
2019-11-13 19:35:02 +01:00
$tabcond [ 10 ] = true ;
2022-08-23 20:01:34 +02:00
$tabcond [ 11 ] = ( isModEnabled ( " societe " ));
2023-04-18 16:15:13 +02:00
$tabcond [ 12 ] = ( isModEnabled ( 'commande' ) || isModEnabled ( " propal " ) || isModEnabled ( 'facture' ) || isModEnabled ( " supplier_invoice " ) || isModEnabled ( " supplier_order " ));
$tabcond [ 13 ] = ( isModEnabled ( 'commande' ) || isModEnabled ( " propal " ) || isModEnabled ( 'facture' ) || isModEnabled ( " supplier_invoice " ) || isModEnabled ( " supplier_order " ));
2022-08-31 21:57:05 +02:00
$tabcond [ 14 ] = ( isModEnabled ( " product " ) && ( isModEnabled ( 'ecotax' ) || ! empty ( $conf -> global -> MAIN_SHOW_ECOTAX_DICTIONNARY )));
2019-11-13 19:35:02 +01:00
$tabcond [ 15 ] = true ;
2022-08-23 20:01:34 +02:00
$tabcond [ 16 ] = ( isModEnabled ( " societe " ) && empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS ));
2022-08-31 21:55:55 +02:00
$tabcond [ 17 ] = ( isModEnabled ( 'deplacement' ) || isModEnabled ( 'expensereport' ));
2022-08-23 20:01:34 +02:00
$tabcond [ 18 ] = isModEnabled ( " expedition " ) || isModEnabled ( " reception " );
$tabcond [ 19 ] = isModEnabled ( " societe " );
2023-04-18 16:15:13 +02:00
$tabcond [ 20 ] = isModEnabled ( " supplier_order " );
2022-08-23 20:01:34 +02:00
$tabcond [ 21 ] = isModEnabled ( " propal " );
2022-08-31 21:55:55 +02:00
$tabcond [ 22 ] = ( isModEnabled ( 'commande' ) || isModEnabled ( " propal " ));
2019-11-13 19:35:02 +01:00
$tabcond [ 23 ] = true ;
2022-08-31 21:49:10 +02:00
$tabcond [ 24 ] = isModEnabled ( 'resource' );
$tabcond [ 25 ] = isModEnabled ( 'website' );
2022-08-23 20:01:34 +02:00
//$tabcond[26]= isModEnabled("product");
$tabcond [ 27 ] = isModEnabled ( " societe " );
2022-08-31 21:49:10 +02:00
$tabcond [ 28 ] = isModEnabled ( 'holiday' );
2022-08-31 21:42:34 +02:00
$tabcond [ 29 ] = isModEnabled ( 'project' );
2023-02-22 13:53:46 +01:00
$tabcond [ 30 ] = ( isModEnabled ( 'label' ) || isModEnabled ( 'barcode' ) || isModEnabled ( 'adherent' )); // stickers format dictionary
2023-04-26 12:45:02 +02:00
$tabcond [ 31 ] = (( isModEnabled ( 'facture' ) || isModEnabled ( 'supplier_invoice' )) && $mysoc -> country_code == 'GR' );
2022-08-31 21:49:10 +02:00
$tabcond [ 32 ] = ( isModEnabled ( 'holiday' ) || isModEnabled ( 'hrm' ));
$tabcond [ 33 ] = isModEnabled ( 'hrm' );
$tabcond [ 34 ] = isModEnabled ( 'hrm' );
2022-08-31 21:55:55 +02:00
$tabcond [ 35 ] = isModEnabled ( 'expensereport' ) && ! empty ( $conf -> global -> MAIN_USE_EXPENSE_IK );
$tabcond [ 36 ] = isModEnabled ( 'expensereport' ) && ! empty ( $conf -> global -> MAIN_USE_EXPENSE_IK );
2022-08-23 20:01:34 +02:00
$tabcond [ 37 ] = isModEnabled ( " product " );
2022-08-31 21:49:10 +02:00
$tabcond [ 38 ] = isModEnabled ( 'socialnetworks' );
2022-08-23 20:01:34 +02:00
$tabcond [ 39 ] = ( isModEnabled ( " societe " ) && empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS ) && ! empty ( $conf -> global -> THIRDPARTY_ENABLE_PROSPECTION_ON_ALTERNATIVE_ADRESSES ));
$tabcond [ 40 ] = ( isModEnabled ( " societe " ) && ! empty ( $conf -> global -> THIRDPARTY_ENABLE_PROSPECTION_ON_ALTERNATIVE_ADRESSES ));
2022-08-31 21:49:10 +02:00
$tabcond [ 41 ] = isModEnabled ( 'intracommreport' );
2022-08-23 20:01:34 +02:00
$tabcond [ 42 ] = isModEnabled ( " product " );
2022-08-31 21:55:55 +02:00
$tabcond [ 43 ] = isModEnabled ( " product " ) && isModEnabled ( 'productbatch' ) && $conf -> global -> MAIN_FEATURES_LEVEL >= 2 ;
2022-08-30 11:34:28 +02:00
$tabcond [ 44 ] = isModEnabled ( 'asset' );
2004-02-21 00:37:42 +01:00
2022-05-09 11:16:58 +02:00
// List of help for fields (no more used, help is defined into tabcomplete)
2019-11-13 19:35:02 +01:00
$tabhelp = array ();
2012-04-28 14:52:53 +02:00
2021-05-06 18:06:19 +02:00
// Table to store complete informations (will replace all other table). Key is table name.
2021-05-06 18:31:36 +02:00
$tabcomplete = array (
2022-05-09 11:16:58 +02:00
'c_forme_juridique' => array ( 'picto' => 'company' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_departements' => array ( 'picto' => 'state' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_regions' => array ( 'picto' => 'region' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_country' => array ( 'picto' => 'country' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_civility' => array ( 'picto' => 'contact' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_actioncomm' => array ( 'picto' => 'action' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'color' => $langs -> trans ( " ColorFormat " ), 'position' => $langs -> trans ( " PositionIntoComboList " ))),
'c_chargesociales' => array ( 'picto' => 'bill' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_typent' => array ( 'picto' => 'company' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'position' => $langs -> trans ( " PositionIntoComboList " ))),
'c_currencies' => array ( 'picto' => 'multicurrency' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'unicode' => $langs -> trans ( " UnicodeCurrency " ))),
'c_tva' => array ( 'picto' => 'bill' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'taux' => $langs -> trans ( " SellTaxRate " ), 'recuperableonly' => $langs -> trans ( " RecuperableOnly " ), 'localtax1_type' => $langs -> trans ( " LocalTaxDesc " ), 'localtax2_type' => $langs -> trans ( " LocalTaxDesc " ))),
'c_type_contact' => array ( 'picto' => 'contact' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'position' => $langs -> trans ( " PositionIntoComboList " ))),
'c_payment_term' => array ( 'picto' => 'bill' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'type_cdr' => $langs -> trans ( " TypeCdr " , $langs -> transnoentitiesnoconv ( " NbOfDays " ), $langs -> transnoentitiesnoconv ( " Offset " ), $langs -> transnoentitiesnoconv ( " NbOfDays " ), $langs -> transnoentitiesnoconv ( " Offset " )))),
'c_paiement' => array ( 'picto' => 'bill' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_ecotaxe' => array ( 'picto' => 'bill' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_paper_format' => array ( 'picto' => 'generic' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_prospectlevel' => array ( 'picto' => 'company' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_type_fees' => array ( 'picto' => 'trip' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_shipment_mode' => array ( 'picto' => 'shipment' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'tracking' => $langs -> trans ( " UrlTrackingDesc " ))),
'c_effectif' => array ( 'picto' => 'company' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_input_method' => array ( 'picto' => 'order' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_input_reason' => array ( 'picto' => 'order' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'position' => $langs -> trans ( " PositionIntoComboList " ))),
'c_availability' => array ( 'picto' => 'shipment' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_revenuestamp' => array ( 'picto' => 'bill' , 'help' => array ( 'revenuestamp_type' => $langs -> trans ( 'FixedOrPercent' ))),
'c_type_resource' => array ( 'picto' => 'resource' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_type_container' => array ( 'picto' => 'website' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_stcomm' => array ( 'picto' => 'company' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'picto' => $langs -> trans ( " PictoHelp " ))),
'c_holiday_types' => array ( 'picto' => 'holiday' , 'help' => array ( 'affect' => $langs -> trans ( " FollowedByACounter " ), 'delay' => $langs -> trans ( " MinimumNoticePeriod " ), 'newbymonth' => $langs -> trans ( " NbAddedAutomatically " ))),
'c_lead_status' => array ( 'picto' => 'project' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'percent' => $langs -> trans ( " OpportunityPercent " ), 'position' => $langs -> trans ( " PositionIntoComboList " ))),
'c_format_cards' => array ( 'picto' => 'generic' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'name' => $langs -> trans ( " LabelName " ), 'paper_size' => $langs -> trans ( " LabelPaperSize " ))),
'c_hrm_public_holiday' => array ( 'picto' => 'holiday' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'dayrule' => " Keep empty for a date defined with month and day (most common case).<br>Use a keyword like 'easter', 'eastermonday', ... for a date predefined by complex rules. " , 'country' => $langs -> trans ( " CountryIfSpecificToOneCountry " ), 'year' => $langs -> trans ( " ZeroMeansEveryYear " ))),
'c_hrm_department' => array ( 'picto' => 'hrm' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_hrm_function' => array ( 'picto' => 'hrm' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_exp_tax_cat' => array ( 'picto' => 'expensereport' , 'help' => array ()),
'c_exp_tax_range' => array ( 'picto' => 'expensereport' , 'help' => array ( 'range_ik' => $langs -> trans ( 'PrevRangeToThisRange' ))),
'c_units' => array ( 'picto' => 'product' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'unit_type' => $langs -> trans ( 'Measuringtype_durationDesc' ), 'scale' => $langs -> trans ( 'MeasuringScaleDesc' ))),
'c_socialnetworks' => array ( 'picto' => 'share-alt' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'url' => $langs -> trans ( 'UrlSocialNetworksDesc' ), 'icon' => $langs -> trans ( 'FafaIconSocialNetworksDesc' ))),
'c_prospectcontactlevel' => array ( 'picto' => 'company' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_stcommcontact' => array ( 'picto' => 'company' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ), 'picto' => $langs -> trans ( " PictoHelp " ))),
'c_transport_mode' => array ( 'picto' => 'incoterm' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_product_nature' => array ( 'picto' => 'product' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_productbatch_qcstatus' => array ( 'picto' => 'lot' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
'c_asset_disposal_type' => array ( 'picto' => 'asset' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
2023-04-26 12:45:02 +02:00
'c_invoice_subtype' => array ( 'picto' => 'bill' , 'help' => array ( 'code' => $langs -> trans ( " EnterAnyCode " ))),
2021-05-06 18:31:36 +02:00
);
2011-01-23 20:51:29 +01:00
2021-05-06 18:06:19 +02:00
// Complete all arrays with entries found into modules
2021-05-06 18:31:36 +02:00
complete_dictionary_with_modules ( $taborder , $tabname , $tablib , $tabsql , $tabsqlsort , $tabfield , $tabfieldvalue , $tabfieldinsert , $tabrowid , $tabcond , $tabhelp , $tabcomplete );
2011-01-23 20:51:29 +01:00
2022-05-09 11:16:58 +02:00
// Complete the table $tabcomplete
$i = 0 ;
foreach ( $tabcomplete as $key => $value ) {
$i ++ ;
2022-05-21 23:27:19 +02:00
// When a dictionnary is commented
if ( ! isset ( $tabcond [ $i ])) {
continue ;
}
2022-05-09 11:16:58 +02:00
$tabcomplete [ $key ][ 'id' ] = $i ;
$tabcomplete [ $key ][ 'cond' ] = $tabcond [ $i ];
$tabcomplete [ $key ][ 'rowid' ] = $tabrowid [ $i ];
$tabcomplete [ $key ][ 'fieldinsert' ] = $tabfieldinsert [ $i ];
$tabcomplete [ $key ][ 'fieldvalue' ] = $tabfieldvalue [ $i ];
$tabcomplete [ $key ][ 'lib' ] = $tablib [ $i ];
$tabcomplete [ $key ][ 'sql' ] = $tabsql [ $i ];
$tabcomplete [ $key ][ 'sqlsort' ] = $tabsqlsort [ $i ];
$tabcomplete [ $key ][ 'field' ] = $tabfield [ $i ];
2023-03-05 16:09:00 +01:00
//$tabcomplete[$key]['help'] = $tabhelp[$i]; // array help already loaded into tabcomplete
2022-05-09 11:16:58 +02:00
}
$keytable = '' ;
if ( $id > 0 ) {
$arrayofkeys = array_keys ( $tabcomplete );
$keytable = $arrayofkeys [ $id - 1 ];
}
2017-06-11 19:27:07 +02:00
// Defaut sortorder
2021-02-26 22:04:03 +01:00
if ( empty ( $sortfield )) {
2022-05-09 11:16:58 +02:00
$tmp1 = explode ( ',' , empty ( $tabcomplete [ $keytable ][ 'sqlsort' ]) ? '' : $tabcomplete [ $keytable ][ 'sqlsort' ]);
2020-10-07 15:01:28 +02:00
$tmp2 = explode ( ' ' , $tmp1 [ 0 ]);
$sortfield = preg_replace ( '/^.*\./' , '' , $tmp2 [ 0 ]);
2022-05-21 23:27:19 +02:00
$sortorder = ( ! empty ( $tmp2 [ 1 ]) ? $tmp2 [ 1 ] : '' );
2022-05-09 11:16:58 +02:00
//var_dump($sortfield);var_dump($sortorder);
2017-06-11 19:27:07 +02:00
}
2014-09-29 13:21:03 +02:00
// Define elementList and sourceList (used for dictionary type of contacts "llx_c_type_contact")
2011-05-03 11:26:48 +02:00
$elementList = array ();
2019-11-13 19:35:02 +01:00
$sourceList = array ();
2021-02-26 22:04:03 +01:00
if ( $id == 11 ) {
2020-10-07 15:01:28 +02:00
$elementList = array (
'' => '' ,
2022-07-29 17:05:02 +02:00
'agenda' => img_picto ( '' , 'action' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Agenda' ),
'dolresource' => img_picto ( '' , 'resource' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Resource' ),
'societe' => img_picto ( '' , 'company' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'ThirdParty' ),
2020-10-07 15:01:28 +02:00
// 'proposal' => $langs->trans('Proposal'),
// 'order' => $langs->trans('Order'),
// 'invoice' => $langs->trans('Bill'),
// 'intervention' => $langs->trans('InterventionCard'),
// 'contract' => $langs->trans('Contract'),
2022-07-29 17:05:02 +02:00
'project' => img_picto ( '' , 'project' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Project' ),
'project_task' => img_picto ( '' , 'projecttask' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Task' ),
'propal' => img_picto ( '' , 'propal' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Proposal' ),
'commande' => img_picto ( '' , 'order' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Order' ),
'facture' => img_picto ( '' , 'bill' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Bill' ),
'fichinter' => img_picto ( '' , 'intervention' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'InterventionCard' ),
'contrat' => img_picto ( '' , 'contract' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Contract' ),
'ticket' => img_picto ( '' , 'ticket' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'Ticket' ),
'supplier_proposal' => img_picto ( '' , 'supplier_proposal' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'SupplierProposal' ),
'order_supplier' => img_picto ( '' , 'supplier_order' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'SupplierOrder' ),
'invoice_supplier' => img_picto ( '' , 'supplier_invoice' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'SupplierBill' ),
2012-09-25 19:34:18 +02:00
);
2022-07-29 17:05:02 +02:00
if ( ! empty ( $conf -> global -> MAIN_FEATURES_LEVEL ) && $conf -> global -> MAIN_FEATURES_LEVEL >= 2 ) {
$elementList [ 'conferenceorbooth' ] = img_picto ( '' , 'eventorganization' , 'class="pictofixedwidth"' ) . $langs -> trans ( 'ConferenceOrBooth' );
2021-02-26 22:04:03 +01:00
}
2015-09-08 13:07:13 +02:00
complete_elementList_with_modules ( $elementList );
2022-07-29 17:05:02 +02:00
//asort($elementList);
2012-09-25 19:34:18 +02:00
$sourceList = array (
2022-03-16 21:59:58 +01:00
'internal' => $langs -> trans ( 'Internal' ),
'external' => $langs -> trans ( 'External' )
2012-09-25 19:34:18 +02:00
);
2011-05-03 11:26:48 +02:00
}
2011-01-23 20:51:29 +01:00
2014-09-29 13:21:03 +02:00
// Define localtax_typeList (used for dictionary "llx_c_tva")
2022-05-09 11:16:58 +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"),
" 6 " => $langs -> trans ( " Yes " ) . ' (' . $langs -> trans ( " Type " ) . " 6) " //$langs->trans("%ageOnServiceBeforeVAT"),
);
2004-10-31 14:00:04 +01:00
2016-10-03 13:42:27 +02:00
/*
* Actions
*/
2022-05-09 11:16:58 +02:00
$object = new stdClass ();
2022-03-15 11:18:11 +01:00
$parameters = array (
'id' => $id ,
'rowid' => $rowid ,
'code' => $code ,
'confirm' => $confirm ,
'entity' => $entity ,
'taborder' => $taborder ,
'tabname' => $tabname ,
'tablib' => $tablib ,
'tabsql' => $tabsql ,
'tabsqlsort' => $tabsqlsort ,
'tabfield' => $tabfield ,
'tabfieldvalue' => $tabfieldvalue ,
'tabfieldinsert' => $tabfieldinsert ,
'tabrowid' => $tabrowid ,
'tabcond' => $tabcond ,
'tabhelp' => $tabhelp ,
'tabcomplete' => $tabcomplete
);
$reshook = $hookmanager -> executeHooks ( 'doActions' , $parameters , $object , $action ); // Note that $action and $object may have been modified by some hooks
if ( $reshook < 0 ) {
setEventMessages ( $hookmanager -> error , $hookmanager -> errors , 'errors' );
}
2021-02-26 22:04:03 +01:00
if ( GETPOST ( 'button_removefilter' , 'alpha' ) || GETPOST ( 'button_removefilter.x' , 'alpha' ) || GETPOST ( 'button_removefilter_x' , 'alpha' )) {
2020-10-07 15:01:28 +02:00
$search_country_id = '' ;
$search_code = '' ;
2016-10-03 13:42:27 +02:00
}
2022-03-24 09:41:13 +01:00
if ( empty ( $reshook )) {
2022-03-15 11:18:11 +01:00
// Actions add or modify an entry into a dictionary
if ( GETPOST ( 'actionadd' ) || GETPOST ( 'actionmodify' )) {
$listfield = explode ( ',' , str_replace ( ' ' , '' , $tabfield [ $id ]));
$listfieldinsert = explode ( ',' , $tabfieldinsert [ $id ]);
$listfieldmodify = explode ( ',' , $tabfieldinsert [ $id ]);
$listfieldvalue = explode ( ',' , $tabfieldvalue [ $id ]);
// Check that all mandatory fields are filled
$ok = 1 ;
foreach ( $listfield as $f => $value ) {
// Discard check of mandatory fields for country for some tables
2023-04-26 12:45:02 +02:00
if ( $value == 'country_id' && in_array ( $tablib [ $id ], array ( 'DictionaryPublicHolidays' , 'DictionaryVAT' , 'DictionaryInvoiceSubtype' , 'DictionaryRegion' , 'DictionaryCompanyType' , 'DictionaryHolidayTypes' , 'DictionaryRevenueStamp' , 'DictionaryAccountancysystem' , 'DictionaryAccountancyCategory' ))) {
2022-03-15 11:18:11 +01:00
continue ; // For some pages, country is not mandatory
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if ( $value == 'country' && in_array ( $tablib [ $id ], array ( 'DictionaryPublicHolidays' , 'DictionaryCanton' , 'DictionaryCompanyType' , 'DictionaryHolidayTypes' , 'DictionaryRevenueStamp' ))) {
continue ; // For some pages, country is not mandatory
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
// Discard check of mandatory fiedls for other fields
if ( $value == 'localtax1' && ! GETPOST ( 'localtax1_type' )) {
continue ;
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if ( $value == 'localtax2' && ! GETPOST ( 'localtax2_type' )) {
continue ;
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if ( $value == 'color' && ! GETPOST ( 'color' )) {
continue ;
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if ( $value == 'formula' && ! GETPOST ( 'formula' )) {
continue ;
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if ( $value == 'dayrule' && ! GETPOST ( 'dayrule' )) {
continue ;
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if ( $value == 'sortorder' ) {
continue ; // For a column name 'sortorder', we use the field name 'position'
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if (( ! GETPOSTISSET ( $value ) || GETPOST ( $value ) == '' )
2022-03-25 16:14:53 +01:00
&& ( ! in_array ( $value , array ( 'decalage' , 'module' , 'accountancy_code' , 'accountancy_code_sell' , 'accountancy_code_buy' , 'tracking' , 'picto' , 'deposit_percent' )) // Fields that are not mandatory
2022-03-15 11:18:11 +01:00
&& ( $id != 10 || ( $value != 'code' && $value != 'note' )) // Field code and note is not mandatory for dictionary table 10
)
) {
$ok = 0 ;
$fieldnamekey = $value ;
// We take translate key of field
if ( $fieldnamekey == 'libelle' || ( $fieldnamekey == 'label' )) {
$fieldnamekey = 'Label' ;
}
if ( $fieldnamekey == 'libelle_facture' ) {
$fieldnamekey = 'LabelOnDocuments' ;
}
2022-03-25 16:14:53 +01:00
if ( $fieldnamekey == 'deposit_percent' ) {
$fieldnamekey = 'DepositPercent' ;
}
2022-03-15 11:18:11 +01:00
if ( $fieldnamekey == 'nbjour' ) {
$fieldnamekey = 'NbOfDays' ;
}
if ( $fieldnamekey == 'decalage' ) {
$fieldnamekey = 'Offset' ;
}
if ( $fieldnamekey == 'module' ) {
$fieldnamekey = 'Module' ;
}
if ( $fieldnamekey == 'code' ) {
$fieldnamekey = 'Code' ;
}
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' ;
}
if ( $fieldnamekey == 'deductible' ) {
$fieldnamekey = 'Deductible' ;
}
if ( $fieldnamekey == 'sortorder' ) {
$fieldnamekey = 'SortOrder' ;
}
if ( $fieldnamekey == 'category_type' ) {
$fieldnamekey = 'Calculated' ;
}
if ( $fieldnamekey == 'revenuestamp_type' ) {
$fieldnamekey = 'TypeOfRevenueStamp' ;
}
if ( $fieldnamekey == 'use_default' ) {
$fieldnamekey = 'UseByDefault' ;
}
2012-08-18 09:57:42 +02:00
2022-05-09 11:16:58 +02:00
setEventMessages ( $langs -> transnoentities ( " ErrorFieldRequired " , $langs -> transnoentities ( $fieldnamekey )), null , 'errors' );
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
}
2022-03-15 11:18:11 +01:00
// Other checks
2022-05-09 11:16:58 +02:00
if ( GETPOST ( 'actionadd' ) && $tabname [ $id ] == " c_actioncomm " && GETPOSTISSET ( " type " ) && in_array ( GETPOST ( " type " ), array ( 'system' , 'systemauto' ))) {
2020-10-07 15:01:28 +02:00
$ok = 0 ;
2022-03-15 11:18:11 +01:00
setEventMessages ( $langs -> transnoentities ( 'ErrorReservedTypeSystemSystemAuto' ), null , 'errors' );
2020-10-07 15:01:28 +02:00
}
2022-03-15 11:18:11 +01:00
if ( GETPOSTISSET ( " code " )) {
if ( GETPOST ( " code " ) == '0' ) {
$ok = 0 ;
setEventMessages ( $langs -> transnoentities ( 'ErrorCodeCantContainZero' ), null , 'errors' );
}
2020-10-07 15:01:28 +02:00
}
2022-03-15 11:18:11 +01:00
if ( GETPOSTISSET ( " country " ) && ( GETPOST ( " country " ) == '0' ) && ( $id != 2 )) {
if ( in_array ( $tablib [ $id ], array ( 'DictionaryCompanyType' , 'DictionaryHolidayTypes' ))) { // Field country is no mandatory for such dictionaries
$_POST [ " country " ] = '' ;
2020-10-07 15:01:28 +02:00
} else {
2022-03-15 11:18:11 +01:00
$ok = 0 ;
setEventMessages ( $langs -> transnoentities ( " ErrorFieldRequired " , $langs -> transnoentities ( " Country " )), null , 'errors' );
2020-10-07 15:01:28 +02:00
}
}
2022-03-15 11:18:11 +01:00
if (( $id == 3 || $id == 42 ) && ! is_numeric ( GETPOST ( " code " ))) {
$ok = 0 ;
setEventMessages ( $langs -> transnoentities ( " ErrorFieldMustBeANumeric " , $langs -> transnoentities ( " Code " )), null , 'errors' );
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
2022-03-15 11:18:11 +01:00
// Clean some parameters
if (( GETPOST ( " localtax1_type " ) || ( GETPOST ( 'localtax1_type' ) == '0' )) && ! GETPOST ( " localtax1 " )) {
$_POST [ " localtax1 " ] = '0' ; // If empty, we force to 0
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
if (( GETPOST ( " localtax2_type " ) || ( GETPOST ( 'localtax2_type' ) == '0' )) && ! GETPOST ( " localtax2 " )) {
$_POST [ " localtax2 " ] = '0' ; // If empty, we force to 0
}
if ( GETPOST ( " accountancy_code " ) <= 0 ) {
$_POST [ " accountancy_code " ] = '' ; // If empty, we force to null
}
if ( GETPOST ( " accountancy_code_sell " ) <= 0 ) {
$_POST [ " accountancy_code_sell " ] = '' ; // If empty, we force to null
}
if ( GETPOST ( " accountancy_code_buy " ) <= 0 ) {
$_POST [ " accountancy_code_buy " ] = '' ; // If empty, we force to null
}
if ( $id == 10 && GETPOSTISSET ( " code " )) { // Spaces are not allowed into code for tax dictionary
2022-09-16 20:46:39 +02:00
$_POST [ " code " ] = preg_replace ( '/[^a-zA-Z0-9_\-\+]/' , '' , GETPOST ( " code " ));
2021-02-26 22:04:03 +01:00
}
2022-06-07 09:48:20 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
2022-03-15 11:18:11 +01:00
// If check ok and action add, add the line
if ( $ok && GETPOST ( 'actionadd' )) {
if ( $tabrowid [ $id ]) {
// Get free id for insert
$newid = 0 ;
2022-06-07 09:48:20 +02:00
$sql = " SELECT MAX( " . $tabrowid [ $id ] . " ) as newid FROM " . MAIN_DB_PREFIX . $tablename ;
2022-03-15 11:18:11 +01:00
$result = $db -> query ( $sql );
if ( $result ) {
$obj = $db -> fetch_object ( $result );
$newid = ( $obj -> newid + 1 );
} else {
dol_print_error ( $db );
}
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
// Add new entry
2022-06-07 09:48:20 +02:00
$sql = " INSERT INTO " . MAIN_DB_PREFIX . $tablename . " ( " ;
2022-03-15 11:18:11 +01:00
// List of fields
if ( $tabrowid [ $id ] && ! in_array ( $tabrowid [ $id ], $listfieldinsert )) {
$sql .= $tabrowid [ $id ] . " , " ;
2021-05-18 02:06:35 +02:00
}
2022-03-15 11:18:11 +01:00
$sql .= $tabfieldinsert [ $id ];
$sql .= " ,active) " ;
$sql .= " VALUES( " ;
2021-02-26 22:04:03 +01:00
2022-03-15 11:18:11 +01:00
// List of values
if ( $tabrowid [ $id ] && ! in_array ( $tabrowid [ $id ], $listfieldinsert )) {
$sql .= $newid . " , " ;
2021-02-26 22:04:03 +01:00
}
2022-03-15 11:18:11 +01:00
$i = 0 ;
foreach ( $listfieldinsert as $f => $value ) {
$keycode = $listfieldvalue [ $i ];
if ( empty ( $keycode )) {
$keycode = $value ;
}
2021-02-26 22:04:03 +01:00
2022-03-15 11:18:11 +01:00
if ( $value == 'price' || preg_match ( '/^amount/i' , $value )) {
$_POST [ $keycode ] = price2num ( GETPOST ( $keycode ), 'MU' );
} elseif ( $value == 'taux' || $value == 'localtax1' ) {
$_POST [ $keycode ] = price2num ( GETPOST ( $keycode ), 8 ); // Note that localtax2 can be a list of rates separated by coma like X:Y:Z
} elseif ( $value == 'entity' ) {
2022-06-07 09:48:20 +02:00
$_POST [ $keycode ] = getEntity ( $tablename );
2022-03-15 11:18:11 +01:00
}
if ( $i ) {
$sql .= " , " ;
}
if ( $keycode == 'sortorder' ) { // For column name 'sortorder', we use the field name 'position'
$sql .= ( int ) GETPOST ( 'position' , 'int' );
} elseif ( GETPOST ( $keycode ) == '' && ! ( $keycode == 'code' && $id == 10 )) {
$sql .= " null " ; // For vat, we want/accept code = ''
} elseif ( $keycode == 'content' ) {
$sql .= " ' " . $db -> escape ( GETPOST ( $keycode , 'restricthtml' )) . " ' " ;
} elseif ( in_array ( $keycode , array ( 'joinfile' , 'private' , 'pos' , 'position' , 'scale' , 'use_default' ))) {
$sql .= ( int ) GETPOST ( $keycode , 'int' );
} else {
2022-06-13 10:44:20 +02:00
$sql .= " ' " . $db -> escape ( GETPOST ( $keycode , 'alphanohtml' )) . " ' " ;
2022-03-15 11:18:11 +01:00
}
$i ++ ;
2020-10-07 15:01:28 +02:00
}
2022-03-15 11:18:11 +01:00
$sql .= " ,1) " ;
2020-10-07 15:01:28 +02:00
2022-03-15 11:18:11 +01:00
dol_syslog ( " actionadd " , LOG_DEBUG );
$resql = $db -> query ( $sql );
if ( $resql ) { // Add is ok
setEventMessages ( $langs -> transnoentities ( " RecordCreatedSuccessfully " ), null , 'mesgs' );
// Clean $_POST array, we keep only id of dictionary
if ( $id == 10 && GETPOST ( 'country' , 'int' ) > 0 ) {
$search_country_id = GETPOST ( 'country' , 'int' );
}
$_POST = array ( 'id' => $id );
2020-10-07 15:01:28 +02:00
} else {
2022-03-15 11:18:11 +01:00
if ( $db -> errno () == 'DB_ERROR_RECORD_ALREADY_EXISTS' ) {
setEventMessages ( $langs -> transnoentities ( " ErrorRecordAlreadyExists " ), null , 'errors' );
} else {
dol_print_error ( $db );
}
2020-10-07 15:01:28 +02:00
}
}
2022-03-15 11:18:11 +01:00
// If verif ok and action modify, modify the line
if ( $ok && GETPOST ( 'actionmodify' )) {
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
} else {
$rowidcol = " rowid " ;
}
2021-01-05 14:27:42 +01:00
2022-03-15 11:18:11 +01:00
// Modify entry
2022-06-07 09:48:20 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET " ;
2022-03-15 11:18:11 +01:00
// Modifie valeur des champs
if ( $tabrowid [ $id ] && ! in_array ( $tabrowid [ $id ], $listfieldmodify )) {
$sql .= $tabrowid [ $id ] . " = " ;
$sql .= " ' " . $db -> escape ( $rowid ) . " ', " ;
2021-01-05 14:27:42 +01:00
}
2022-03-15 11:18:11 +01:00
$i = 0 ;
foreach ( $listfieldmodify as $field ) {
$keycode = $listfieldvalue [ $i ];
if ( empty ( $keycode )) {
$keycode = $field ;
}
if ( $field == 'price' || preg_match ( '/^amount/i' , $field )) {
$_POST [ $keycode ] = price2num ( GETPOST ( $keycode ), 'MU' );
} elseif ( $field == 'taux' || $field == 'localtax1' ) {
$_POST [ $keycode ] = price2num ( GETPOST ( $keycode ), 8 ); // Note that localtax2 can be a list of rates separated by coma like X:Y:Z
} elseif ( $field == 'entity' ) {
2022-06-07 09:48:20 +02:00
$_POST [ $keycode ] = getEntity ( $tablename );
2022-03-15 11:18:11 +01:00
}
if ( $i ) {
$sql .= " , " ;
}
$sql .= $field . " = " ;
if ( $listfieldvalue [ $i ] == 'sortorder' ) { // For column name 'sortorder', we use the field name 'position'
$sql .= ( int ) GETPOST ( 'position' , 'int' );
} elseif ( GETPOST ( $keycode ) == '' && ! ( $keycode == 'code' && $id == 10 )) {
$sql .= " null " ; // For vat, we want/accept code = ''
} elseif ( $keycode == 'content' ) {
$sql .= " ' " . $db -> escape ( GETPOST ( $keycode , 'restricthtml' )) . " ' " ;
} elseif ( in_array ( $keycode , array ( 'joinfile' , 'private' , 'pos' , 'position' , 'scale' , 'use_default' ))) {
$sql .= ( int ) GETPOST ( $keycode , 'int' );
} else {
2022-06-13 10:44:20 +02:00
$sql .= " ' " . $db -> escape ( GETPOST ( $keycode , 'alphanohtml' )) . " ' " ;
2022-03-15 11:18:11 +01:00
}
$i ++ ;
}
if ( in_array ( $rowidcol , array ( 'code' , 'code_iso' ))) {
$sql .= " WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " ;
2020-10-07 15:01:28 +02:00
} else {
2022-03-15 11:18:11 +01:00
$sql .= " WHERE " . $rowidcol . " = " . (( int ) $rowid );
}
if ( in_array ( 'entity' , $listfieldmodify )) {
2022-06-07 09:48:20 +02:00
$sql .= " AND entity = " . (( int ) getEntity ( $tablename , 0 ));
2022-03-15 11:18:11 +01:00
}
dol_syslog ( " actionmodify " , LOG_DEBUG );
//print $sql;
$resql = $db -> query ( $sql );
if ( ! $resql ) {
setEventMessages ( $db -> error (), null , 'errors' );
2020-10-07 15:01:28 +02:00
}
}
2022-03-15 11:18:11 +01:00
}
if ( $action == 'confirm_delete' && $confirm == 'yes' ) { // delete
2021-02-26 22:04:03 +01:00
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
} else {
$rowidcol = " rowid " ;
}
2020-10-07 15:01:28 +02:00
2022-06-07 09:48:20 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
$sql = " DELETE FROM " . MAIN_DB_PREFIX . $tablename . " WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2021-02-26 22:04:03 +01:00
2022-03-15 11:18:11 +01:00
dol_syslog ( " delete " , LOG_DEBUG );
$result = $db -> query ( $sql );
if ( ! $result ) {
if ( $db -> errno () == 'DB_ERROR_CHILD_EXISTS' ) {
setEventMessages ( $langs -> transnoentities ( " ErrorRecordIsUsedByChild " ), null , 'errors' );
2020-10-07 15:01:28 +02:00
} else {
2022-03-15 11:18:11 +01:00
dol_print_error ( $db );
2020-10-07 15:01:28 +02:00
}
}
2022-03-15 11:18:11 +01:00
}
// activate
if ( $action == $acts [ 0 ]) {
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
2020-10-25 14:43:33 +01:00
} else {
2022-03-15 11:18:11 +01:00
$rowidcol = " rowid " ;
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
2022-09-02 17:33:24 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
2022-03-15 11:18:11 +01:00
if ( $rowid ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET active = 1 WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
} elseif ( $code ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET active = 1 WHERE code = ' " . $db -> escape ( dol_escape_htmltag ( $code )) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2020-10-07 15:01:28 +02:00
}
2022-03-15 11:18:11 +01:00
$result = $db -> query ( $sql );
if ( ! $result ) {
2020-10-07 15:01:28 +02:00
dol_print_error ( $db );
}
}
2022-03-15 11:18:11 +01:00
// disable
if ( $action == $acts [ 1 ]) {
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
} else {
$rowidcol = " rowid " ;
}
2020-10-07 15:01:28 +02:00
2022-09-02 17:33:24 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
2022-03-15 11:18:11 +01:00
if ( $rowid ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET active = 0 WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
} elseif ( $code ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET active = 0 WHERE code = ' " . $db -> escape ( dol_escape_htmltag ( $code )) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
}
2020-10-07 15:01:28 +02:00
2022-03-15 11:18:11 +01:00
$result = $db -> query ( $sql );
if ( ! $result ) {
dol_print_error ( $db );
}
2020-10-07 15:01:28 +02:00
}
2004-02-16 13:22:32 +01:00
2022-03-15 11:18:11 +01:00
// favorite
if ( $action == 'activate_favorite' ) {
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
} else {
$rowidcol = " rowid " ;
}
2020-10-07 15:01:28 +02:00
2022-09-02 17:33:24 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
2022-03-15 11:18:11 +01:00
if ( $rowid ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET favorite = 1 WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
} elseif ( $code ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET favorite = 1 WHERE code = ' " . $db -> escape ( dol_escape_htmltag ( $code )) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
}
2020-10-07 15:01:28 +02:00
2022-03-15 11:18:11 +01:00
$result = $db -> query ( $sql );
if ( ! $result ) {
dol_print_error ( $db );
}
2020-10-07 15:01:28 +02:00
}
2014-10-12 15:28:01 +02:00
2022-03-15 11:18:11 +01:00
// disable favorite
if ( $action == 'disable_favorite' ) {
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
} else {
$rowidcol = " rowid " ;
}
2020-10-07 15:01:28 +02:00
2022-09-02 17:33:24 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
2022-03-15 11:18:11 +01:00
if ( $rowid ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET favorite = 0 WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
} elseif ( $code ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET favorite = 0 WHERE code = ' " . $db -> escape ( dol_escape_htmltag ( $code )) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
}
2020-10-07 15:01:28 +02:00
2022-03-15 11:18:11 +01:00
$result = $db -> query ( $sql );
if ( ! $result ) {
dol_print_error ( $db );
}
2020-10-07 15:01:28 +02:00
}
2014-10-12 15:28:01 +02:00
2022-03-15 11:18:11 +01:00
// Is in EEC - Activate
if ( $action == 'activate_eec' ) {
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
} else {
$rowidcol = " rowid " ;
}
2022-03-04 07:00:02 +01:00
2022-09-02 17:33:24 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
2022-03-15 11:18:11 +01:00
if ( $rowid ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET eec = 1 WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
} elseif ( $code ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET eec = 1 WHERE code = ' " . $db -> escape ( dol_escape_htmltag ( $code )) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
}
2022-03-04 07:00:02 +01:00
2022-03-15 11:18:11 +01:00
$result = $db -> query ( $sql );
if ( ! $result ) {
dol_print_error ( $db );
}
2022-03-04 07:00:02 +01:00
}
2022-03-15 11:18:11 +01:00
// Is in EEC - Disable
if ( $action == 'disable_eec' ) {
if ( $tabrowid [ $id ]) {
$rowidcol = $tabrowid [ $id ];
} else {
$rowidcol = " rowid " ;
}
2022-03-04 07:00:02 +01:00
2022-09-02 17:33:24 +02:00
$tablename = $tabname [ $id ];
$tablename = preg_replace ( '/^' . preg_quote ( MAIN_DB_PREFIX , '/' ) . '/' , '' , $tablename );
2022-03-15 11:18:11 +01:00
if ( $rowid ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET eec = 0 WHERE " . $rowidcol . " = ' " . $db -> escape ( $rowid ) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
} elseif ( $code ) {
2022-09-02 17:33:24 +02:00
$sql = " UPDATE " . MAIN_DB_PREFIX . $tablename . " SET eec = 0 WHERE code = ' " . $db -> escape ( dol_escape_htmltag ( $code )) . " ' " . ( $entity != '' ? " AND entity = " . ( int ) $entity : '' );
2022-03-15 11:18:11 +01:00
}
2022-03-04 07:00:02 +01:00
2022-03-15 11:18:11 +01:00
$result = $db -> query ( $sql );
if ( ! $result ) {
dol_print_error ( $db );
}
2022-03-04 07:00:02 +01:00
}
}
2022-09-02 17:33:24 +02: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 );
2019-11-13 19:35:02 +01:00
$formadmin = new FormAdmin ( $db );
2007-09-30 19:55:29 +02:00
2019-11-13 19:35:02 +01:00
$title = $langs -> trans ( " DictionarySetup " );
2007-09-30 19:55:29 +02:00
2019-10-02 18:14:41 +02:00
llxHeader ( '' , $title );
2008-05-28 00:30:52 +02:00
2019-11-13 19:35:02 +01:00
$linkback = '' ;
2021-02-26 22:04:03 +01:00
if ( $id ) {
2020-10-07 15:01:28 +02:00
$title .= ' - ' . $langs -> trans ( $tablib [ $id ]);
$linkback = '<a href="' . $_SERVER [ 'PHP_SELF' ] . '">' . $langs -> trans ( " BackToDictionaryList " ) . '</a>' ;
2006-08-12 19:53:18 +02:00
}
2019-11-13 19:35:02 +01:00
$titlepicto = 'title_setup' ;
2021-02-26 22:04:03 +01:00
if ( $id == 10 && GETPOST ( 'from' ) == 'accountancy' ) {
2020-10-07 15:01:28 +02:00
$title = $langs -> trans ( " MenuVatAccounts " );
$titlepicto = 'accountancy' ;
2016-10-21 17:41:05 +02:00
}
2021-02-26 22:04:03 +01:00
if ( $id == 7 && GETPOST ( 'from' ) == 'accountancy' ) {
2020-10-07 15:01:28 +02:00
$title = $langs -> trans ( " MenuTaxAccounts " );
$titlepicto = 'accountancy' ;
2016-10-21 18:05:26 +02:00
}
2019-10-02 18:14:41 +02:00
print load_fiche_titre ( $title , $linkback , $titlepicto );
2006-08-12 19:53:18 +02:00
2021-02-26 22:04:03 +01:00
if ( empty ( $id )) {
2020-10-07 15:01:28 +02:00
print '<span class="opacitymedium">' . $langs -> trans ( " DictionaryDesc " );
print " " . $langs -> trans ( " OnlyActiveElementsAreShown " ) . " <br> \n " ;
print '</span><br>' ;
2008-05-28 00:30:52 +02:00
}
2009-05-06 15:39:43 +02:00
2018-04-25 16:01:06 +02:00
$param = '&id=' . urlencode ( $id );
2021-02-26 22:04:03 +01:00
if ( $search_country_id > 0 ) {
$param .= '&search_country_id=' . urlencode ( $search_country_id );
}
if ( $search_code != '' ) {
2023-04-26 12:45:02 +02:00
$param .= '&search_code=' . urlencode ( $search_code );
2021-02-26 22:04:03 +01:00
}
if ( $entity != '' ) {
$param .= '&entity=' . ( int ) $entity ;
}
2017-05-02 11:27:35 +02:00
$paramwithsearch = $param ;
2021-02-26 22:04:03 +01:00
if ( $sortorder ) {
$paramwithsearch .= '&sortorder=' . urlencode ( $sortorder );
}
if ( $sortfield ) {
$paramwithsearch .= '&sortfield=' . urlencode ( $sortfield );
}
if ( GETPOST ( 'from' )) {
$paramwithsearch .= '&from=' . urlencode ( GETPOST ( 'from' , 'alpha' ));
}
2017-05-02 11:27:35 +02:00
2019-09-20 09:25:46 +02:00
// Confirmation of the deletion of the line
2021-02-26 22:04:03 +01:00
if ( $action == 'delete' ) {
2020-10-07 15:01:28 +02:00
print $form -> formconfirm ( $_SERVER [ " PHP_SELF " ] . '?' . ( $page ? 'page=' . $page . '&' : '' ) . 'rowid=' . urlencode ( $rowid ) . '&code=' . urlencode ( $code ) . $paramwithsearch , $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
/*
2014-02-10 01:30:48 +01:00
* Show a dictionary
2004-10-31 14:00:04 +01:00
*/
2022-05-09 11:16:58 +02:00
if ( $id > 0 ) {
2020-10-07 15:01:28 +02:00
// Complete search values request with sort criteria
$sql = $tabsql [ $id ];
2021-02-26 22:04:03 +01:00
if ( ! preg_match ( '/ WHERE /' , $sql )) {
$sql .= " WHERE 1 = 1 " ;
}
if ( $search_country_id > 0 ) {
2021-04-24 20:18:11 +02:00
$sql .= " AND c.rowid = " . (( int ) $search_country_id );
2021-02-26 22:04:03 +01:00
}
if ( $search_code != '' && $id == 9 ) {
$sql .= natural_search ( " code_iso " , $search_code );
} elseif ( $search_code != '' && $id == 28 ) {
$sql .= natural_search ( " h.code " , $search_code );
2022-08-06 13:44:56 +02:00
} elseif ( $search_code != '' && ( $id == 7 || $id == 32 )) {
2021-02-26 22:04:03 +01:00
$sql .= natural_search ( " a.code " , $search_code );
} elseif ( $search_code != '' && $id == 3 ) {
$sql .= natural_search ( " r.code_region " , $search_code );
2022-08-06 13:44:56 +02:00
} elseif ( $search_code != '' && ( $id == 8 || $id == 10 )) {
2021-09-30 16:28:42 +02:00
$sql .= natural_search ( " t.code " , $search_code );
2022-08-06 13:44:56 +02:00
} elseif ( $search_code != '' && $id == 1 ) {
$sql .= natural_search ( " f.code " , $search_code );
} elseif ( $search_code != '' && $id == 2 ) {
$sql .= natural_search ( " d.code_departement " , $search_code );
2021-02-26 22:04:03 +01:00
} elseif ( $search_code != '' && $id != 9 ) {
$sql .= natural_search ( " code " , $search_code );
}
if ( $sortfield ) {
2020-10-07 15:01:28 +02:00
// If sort order is "country", we use country_code instead
2021-02-26 22:04:03 +01:00
if ( $sortfield == 'country' ) {
$sortfield = 'country_code' ;
}
2020-10-16 20:17:54 +02:00
$sql .= $db -> order ( $sortfield , $sortorder );
2020-10-07 15:01:28 +02:00
$sql .= " , " ;
// 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 ]);
} else {
$sql .= " ORDER BY " ;
}
$sql .= $tabsqlsort [ $id ];
$sql .= $db -> plimit ( $listlimit + 1 , $offset );
//print $sql;
2021-02-26 22:04:03 +01:00
if ( empty ( $tabfield [ $id ])) {
2020-10-07 15:01:28 +02:00
dol_print_error ( $db , 'The table with id ' . $id . ' has no array tabfield defined' );
exit ;
}
$fieldlist = explode ( ',' , $tabfield [ $id ]);
print '<form action="' . $_SERVER [ 'PHP_SELF' ] . '?id=' . $id . '" method="POST">' ;
print '<input type="hidden" name="token" value="' . newToken () . '">' ;
print '<input type="hidden" name="from" value="' . dol_escape_htmltag ( GETPOST ( 'from' , 'alpha' )) . '">' ;
2021-02-26 22:04:03 +01:00
if ( $id == 10 && empty ( $conf -> global -> FACTURE_TVAOPTION )) {
2020-10-07 15:01:28 +02:00
print info_admin ( $langs -> trans ( " VATIsUsedIsOff " , $langs -> transnoentities ( " Setup " ), $langs -> transnoentities ( " CompanyFoundation " )));
print " <br> \n " ;
}
// Form to add a new line
2021-02-26 22:04:03 +01:00
if ( $tabname [ $id ]) {
2020-10-07 15:01:28 +02:00
$withentity = null ;
$fieldlist = explode ( ',' , $tabfield [ $id ]);
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder centpercent">' ;
// Line for title
2022-05-09 11:16:58 +02:00
print '<!-- line title to add new entry -->' ;
2020-10-16 20:17:54 +02:00
$tdsoffields = '<tr class="liste_titre">' ;
2021-02-26 22:04:03 +01:00
foreach ( $fieldlist as $field => $value ) {
2021-04-15 16:36:17 +02:00
if ( $value == 'entity' ) {
2020-10-07 15:01:28 +02:00
$withentity = getEntity ( $tabname [ $id ]);
continue ;
}
// Define field friendly name from its technical name
2021-04-15 16:36:17 +02:00
$valuetoshow = ucfirst ( $value ); // Par defaut
2020-10-07 15:01:28 +02:00
$valuetoshow = $langs -> trans ( $valuetoshow ); // try to translate
$class = '' ;
2021-04-15 16:36:17 +02:00
if ( $value == 'pos' ) {
2021-07-07 18:41:37 +02:00
$valuetoshow = $langs -> trans ( " Position " ); $class = 'right' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'source' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Contact " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'price' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " PriceUHT " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'taux' ) {
2022-05-09 11:16:58 +02:00
if ( $tabname [ $id ] != " c_revenuestamp " ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Rate " );
} else {
$valuetoshow = $langs -> trans ( " Amount " );
}
2019-11-13 19:35:02 +01:00
$class = 'center' ;
2020-10-07 15:01:28 +02:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax1_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " UseLocalTax " ) . " 2 " ; $class = " center " ; $sortable = 0 ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax1' ) {
2021-05-17 19:50:10 +02:00
$valuetoshow = $langs -> trans ( " RateOfTaxN " , '2' ); $class = " center " ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax2_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " UseLocalTax " ) . " 3 " ; $class = " center " ; $sortable = 0 ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax2' ) {
2021-05-17 19:50:10 +02:00
$valuetoshow = $langs -> trans ( " RateOfTaxN " , '3' ); $class = " center " ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'organization' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Organization " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'lang' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Language " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'type' ) {
2022-05-09 11:16:58 +02:00
if ( $tabname [ $id ] == " c_paiement " ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $form -> textwithtooltip ( $langs -> trans ( " Type " ), $langs -> trans ( " TypePaymentDesc " ), 2 , 1 , img_help ( 1 , '' ));
} else {
$valuetoshow = $langs -> trans ( " Type " );
}
}
2021-04-15 16:36:17 +02:00
if ( $value == 'code' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Code " ); $class = 'maxwidth100' ;
2020-10-07 15:01:28 +02:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'libelle' || $value == 'label' ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = $form -> textwithtooltip ( $langs -> trans ( " Label " ), $langs -> trans ( " LabelUsedByDefault " ), 2 , 1 , img_help ( 1 , '' ));
}
2021-04-15 16:36:17 +02:00
if ( $value == 'libelle_facture' ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = $form -> textwithtooltip ( $langs -> trans ( " LabelOnDocuments " ), $langs -> trans ( " LabelUsedByDefault " ), 2 , 1 , img_help ( 1 , '' ));
}
2021-09-29 11:34:30 +02:00
if ( $value == 'deposit_percent' ) {
$valuetoshow = $langs -> trans ( 'DepositPercent' );
$class = 'right' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'country' ) {
2021-02-26 22:04:03 +01:00
if ( in_array ( 'region_id' , $fieldlist )) {
print '<td> </td>' ; continue ;
} // For region page, we do not show the country input
2020-10-07 15:01:28 +02:00
$valuetoshow = $langs -> trans ( " Country " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'recuperableonly' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NPR " ); $class = " center " ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'nbjour' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NbOfDays " );
2022-05-09 11:16:58 +02:00
$class = 'right' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'type_cdr' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AtEndOfMonth " ); $class = " center " ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'decalage' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Offset " );
2022-05-09 11:16:58 +02:00
$class = 'right' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'width' || $value == 'nx' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Width " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'height' || $value == 'ny' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Height " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'unit' || $value == 'metric' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " MeasuringUnit " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'region_id' || $value == 'country_id' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = '' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'accountancy_code' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AccountancyCode " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'accountancy_code_sell' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AccountancyCodeSell " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'accountancy_code_buy' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AccountancyCodeBuy " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'pcg_version' || $value == 'fk_pcg_version' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Pcg_version " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'account_parent' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Accountparent " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'pcg_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Pcg_type " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'pcg_subtype' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Pcg_subtype " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'sortorder' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " SortOrder " );
2022-05-09 11:16:58 +02:00
$class = 'center' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'short_label' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " ShortLabel " );
}
2021-07-07 18:30:10 +02:00
if ( $value == 'fk_parent' ) {
$valuetoshow = $langs -> trans ( " ParentID " ); $class = 'center' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'range_account' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Range " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'sens' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Sens " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'category_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Calculated " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'formula' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Formula " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'paper_size' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " PaperSize " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'orientation' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Orientation " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'leftmargin' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " LeftMargin " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'topmargin' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " TopMargin " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'spacex' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " SpaceX " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'spacey' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " SpaceY " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'font_size' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " FontSize " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'custom_x' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " CustomX " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'custom_y' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " CustomY " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'percent' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Percentage " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'affect' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " WithCounter " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'delay' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NoticePeriod " );
}
2021-09-30 18:30:22 +02:00
if ( $value == 'newbymonth' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NewByMonth " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'fk_tva' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " VAT " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'range_ik' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " RangeIk " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'fk_c_exp_tax_cat' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " CarCategory " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'revenuestamp_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( 'TypeOfRevenueStamp' );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'use_default' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( 'Default' ); $class = 'center' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'unit_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( 'TypeOfUnit' );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'public' && $tablib [ $id ] == 'TicketDictCategory' ) {
2021-03-24 12:13:23 +01:00
$valuetoshow = $langs -> trans ( 'TicketGroupIsPublic' ); $class = 'center' ;
}
2021-06-10 23:04:56 +02:00
if ( $value == 'block_if_negative' ) {
$valuetoshow = $langs -> trans ( 'BlockHolidayIfNegative' );
}
2022-03-07 16:02:49 +01:00
if ( $value == 'type_duration' ) {
$valuetoshow = $langs -> trans ( 'Unit' );
}
2021-02-26 22:04:03 +01:00
if ( $id == 2 ) { // Special case for state page
2021-04-15 16:36:17 +02:00
if ( $value == 'region_id' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = ' ' ; $showfield = 1 ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'region' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Country " ) . '/' . $langs -> trans ( " Region " ); $showfield = 1 ;
}
}
if ( $valuetoshow != '' ) {
2022-05-26 00:30:35 +02:00
$tooltiphelp = ( isset ( $tabcomplete [ $tabname [ $id ]][ 'help' ][ $value ]) ? $tabcomplete [ $tabname [ $id ]][ 'help' ][ $value ] : '' );
2022-05-09 11:16:58 +02:00
$tdsoffields .= '<th' . ( $class ? ' class="' . $class . '"' : '' ) . '>' ;
2022-05-26 00:30:35 +02:00
if ( $tooltiphelp && preg_match ( '/^http(s*):/i' , $tooltiphelp )) {
$tdsoffields .= '<a href="' . $tooltiphelp . '" target="_blank">' . $valuetoshow . ' ' . img_help ( 1 , $valuetoshow ) . '</a>' ;
} elseif ( $tooltiphelp ) {
$tdsoffields .= $form -> textwithpicto ( $valuetoshow , $tooltiphelp );
2021-02-26 22:04:03 +01:00
} else {
$tdsoffields .= $valuetoshow ;
}
2022-05-09 11:16:58 +02:00
$tdsoffields .= '</th>' ;
2020-10-07 15:01:28 +02:00
}
}
2021-02-26 22:04:03 +01:00
if ( $id == 4 ) {
2022-05-09 11:16:58 +02:00
$tdsoffields .= '<th></th>' ;
$tdsoffields .= '<th></th>' ;
2021-02-26 22:04:03 +01:00
}
2022-05-09 11:16:58 +02:00
$tdsoffields .= '<th>' ;
2020-10-16 20:17:54 +02:00
$tdsoffields .= '<input type="hidden" name="id" value="' . $id . '">' ;
2021-02-26 22:04:03 +01:00
if ( ! is_null ( $withentity )) {
2020-10-16 20:17:54 +02:00
$tdsoffields .= '<input type="hidden" name="entity" value="' . $withentity . '">' ;
2021-02-26 22:04:03 +01:00
}
2022-05-09 11:16:58 +02:00
$tdsoffields .= '</th>' ;
$tdsoffields .= '<th style="min-width: 26px;"></th>' ;
$tdsoffields .= '<th style="min-width: 26px;"></th>' ;
2020-10-16 20:17:54 +02:00
$tdsoffields .= '</tr>' ;
print $tdsoffields ;
2020-10-07 15:01:28 +02:00
2021-10-11 16:03:56 +02:00
// Line to enter new values
2022-05-09 11:16:58 +02:00
print '<!-- line input to add new entry -->' ;
2021-10-11 16:03:56 +02:00
print '<tr class="oddeven nodrag nodrop nohover">' ;
2020-10-07 15:01:28 +02:00
$obj = new stdClass ();
// If data was already input, we define them in obj to populate input fields.
2021-02-26 22:04:03 +01:00
if ( GETPOST ( 'actionadd' )) {
foreach ( $fieldlist as $key => $val ) {
if ( GETPOST ( $val ) != '' ) {
2020-10-07 15:01:28 +02:00
$obj -> $val = GETPOST ( $val );
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
}
}
$tmpaction = 'create' ;
$parameters = array ( 'fieldlist' => $fieldlist , 'tabname' => $tabname [ $id ]);
$reshook = $hookmanager -> executeHooks ( 'createDictionaryFieldlist' , $parameters , $obj , $tmpaction ); // Note that $action and $object may have been modified by some hooks
$error = $hookmanager -> error ; $errors = $hookmanager -> errors ;
2021-02-26 22:04:03 +01:00
if ( $id == 3 ) {
unset ( $fieldlist [ 2 ]); // Remove field ??? if dictionary Regions
}
2020-10-07 15:01:28 +02:00
2021-02-26 22:04:03 +01:00
if ( empty ( $reshook )) {
fieldList ( $fieldlist , $obj , $tabname [ $id ], 'add' );
2020-10-07 15:01:28 +02:00
}
2021-02-26 22:04:03 +01:00
if ( $id == 4 ) {
print '<td></td>' ;
2022-03-04 07:00:02 +01:00
print '<td></td>' ;
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
print '<td colspan="3" class="center">' ;
2021-02-26 22:04:03 +01:00
if ( $action != 'edit' ) {
2023-04-26 12:45:02 +02:00
print '<input type="submit" class="button button-add small" name="actionadd" value="' . $langs -> trans ( " Add " ) . '">' ;
} else {
print '<input type="submit" class="button button-add small disabled" name="actionadd" value="' . $langs -> trans ( " Add " ) . '">' ;
2020-10-07 15:01:28 +02:00
}
print '</td>' ;
2020-10-16 20:17:54 +02:00
print " </tr> " ;
2020-10-07 15:01:28 +02:00
print '</table>' ;
2017-09-08 10:09:22 +02:00
print '</div>' ;
2020-10-07 15:01:28 +02:00
}
print '</form>' ;
print '<br>' ;
print '<form action="' . $_SERVER [ 'PHP_SELF' ] . '?id=' . $id . '" method="POST">' ;
print '<input type="hidden" name="token" value="' . newToken () . '">' ;
print '<input type="hidden" name="from" value="' . dol_escape_htmltag ( GETPOST ( 'from' , 'alpha' )) . '">' ;
// List of available record in database
dol_syslog ( " htdocs/admin/dict " , LOG_DEBUG );
$resql = $db -> query ( $sql );
2021-02-26 22:04:03 +01:00
if ( $resql ) {
2020-10-07 15:01:28 +02:00
$num = $db -> num_rows ( $resql );
$i = 0 ;
// There is several pages
2023-04-25 22:15:51 +02:00
if (( $num > $listlimit ) || $page ) {
2020-10-07 15:01:28 +02:00
print_fleche_navigation ( $page , $_SERVER [ " PHP_SELF " ], $paramwithsearch , ( $num > $listlimit ), '<li class="pagination"><span>' . $langs -> trans ( " Page " ) . ' ' . ( $page + 1 ) . '</span></li>' );
print '<div class="clearboth"></div>' ;
}
2023-04-26 12:45:02 +02:00
$filterfound = 0 ;
foreach ( $fieldlist as $field => $value ) {
if ( $value == 'entity' ) {
continue ;
}
$showfield = 1 ; // By default
if ( $value == 'region_id' || $value == 'country_id' ) {
$showfield = 0 ;
}
if ( $showfield ) {
if ( $value == 'country' ) {
$filterfound ++ ;
} elseif ( $value == 'code' ) {
$filterfound ++ ;
}
}
}
2020-10-07 15:01:28 +02:00
print '<div class="div-table-responsive">' ;
print '<table class="noborder centpercent">' ;
// Title line with search input fields
2022-05-09 11:16:58 +02:00
print '<!-- line title to search record -->' . " \n " ;
2020-10-07 15:01:28 +02:00
print '<tr class="liste_titre_filter">' ;
2023-04-26 12:45:02 +02:00
// Action button
if ( getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="liste_titre center">' ;
if ( $filterfound ) {
$searchpicto = $form -> showFilterAndCheckAddButtons ( 0 );
print $searchpicto ;
}
print '</td>' ;
$colspan ++ ;
}
2023-04-25 22:15:51 +02:00
$colspan = 0 ;
2021-02-26 22:04:03 +01:00
foreach ( $fieldlist as $field => $value ) {
2021-04-15 16:36:17 +02:00
if ( $value == 'entity' ) {
2021-02-26 22:04:03 +01:00
continue ;
}
2020-10-07 15:01:28 +02:00
$showfield = 1 ; // By default
2021-04-15 16:36:17 +02:00
if ( $value == 'region_id' || $value == 'country_id' ) {
2021-02-26 22:04:03 +01:00
$showfield = 0 ;
}
2020-10-07 15:01:28 +02:00
2021-02-26 22:04:03 +01:00
if ( $showfield ) {
if ( $value == 'country' ) {
2020-10-07 15:01:28 +02:00
print '<td class="liste_titre">' ;
2022-11-22 15:48:29 +01:00
print $form -> select_country ( $search_country_id , 'search_country_id' , '' , 28 , 'minwidth100 maxwidth150 maxwidthonsmartphone' );
2020-10-07 15:01:28 +02:00
print '</td>' ;
2023-04-25 22:15:51 +02:00
$colspan ++ ;
2021-02-26 22:04:03 +01:00
} elseif ( $value == 'code' ) {
2020-10-07 15:01:28 +02:00
print '<td class="liste_titre">' ;
print '<input type="text" class="maxwidth100" name="search_code" value="' . dol_escape_htmltag ( $search_code ) . '">' ;
print '</td>' ;
2023-04-25 22:15:51 +02:00
$colspan ++ ;
2020-10-07 15:01:28 +02:00
} else {
print '<td class="liste_titre">' ;
print '</td>' ;
2023-04-25 22:15:51 +02:00
$colspan ++ ;
2020-10-07 15:01:28 +02:00
}
}
}
2021-02-26 22:04:03 +01:00
if ( $id == 4 ) {
print '<td></td>' ;
2023-04-25 22:15:51 +02:00
$colspan ++ ;
2022-03-04 07:00:02 +01:00
print '<td></td>' ;
2023-04-25 22:15:51 +02:00
$colspan ++ ;
2021-02-26 22:04:03 +01:00
}
2023-04-26 12:45:02 +02:00
2020-10-07 15:01:28 +02:00
print '<td class="liste_titre"></td>' ;
2023-04-25 22:15:51 +02:00
$colspan ++ ;
2023-04-26 12:45:02 +02:00
// Action button
if ( ! getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="liste_titre center">' ;
if ( $filterfound ) {
$searchpicto = $form -> showFilterAndCheckAddButtons ( 0 );
print $searchpicto ;
}
print '</td>' ;
$colspan ++ ;
2020-10-07 15:01:28 +02:00
}
2023-04-26 12:45:02 +02:00
2020-10-07 15:01:28 +02:00
print '</tr>' ;
// Title of lines
2022-05-09 11:16:58 +02:00
print '<!-- line title of record -->' . " \n " ;
2020-10-07 15:01:28 +02:00
print '<tr class="liste_titre">' ;
2023-04-26 12:45:02 +02:00
// Action button
if ( getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print getTitleFieldOfList ( '' );
}
2021-02-26 22:04:03 +01:00
foreach ( $fieldlist as $field => $value ) {
2021-04-15 16:36:17 +02:00
if ( $value == 'entity' ) {
2021-02-26 22:04:03 +01:00
continue ;
}
2020-10-07 15:01:28 +02:00
2022-05-26 00:30:35 +02:00
if ( in_array ( $value , array ( 'label' , 'libelle' , 'libelle_facture' )) && empty ( $tabcomplete [ $tabname [ $id ]][ 'help' ][ $value ])) {
$tabcomplete [ $tabname [ $id ]][ 'help' ][ $value ] = $langs -> trans ( 'LabelUsedByDefault' );
2020-10-16 20:17:54 +02:00
}
2020-10-07 15:01:28 +02:00
// Determines the name of the field in relation to the possible names
// in data dictionaries
2022-03-04 07:00:02 +01:00
$showfield = 1 ; // By default
2020-10-07 15:01:28 +02:00
$cssprefix = '' ;
$sortable = 1 ;
2022-03-04 07:00:02 +01:00
$valuetoshow = ucfirst ( $value ); // By default
2020-10-07 15:01:28 +02:00
$valuetoshow = $langs -> trans ( $valuetoshow ); // try to translate
// Special cases
2021-04-15 16:36:17 +02:00
if ( $value == 'source' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Contact " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'price' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " PriceUHT " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'taux' ) {
2022-05-09 11:16:58 +02:00
if ( $tabname [ $id ] != " c_revenuestamp " ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Rate " );
} else {
$valuetoshow = $langs -> trans ( " Amount " );
}
2020-01-22 17:00:54 +01:00
$cssprefix = 'center ' ;
2020-10-07 15:01:28 +02:00
}
2021-05-17 19:50:10 +02:00
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax1_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " UseLocalTax " ) . " 2 " ; $cssprefix = " center " ; $sortable = 0 ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax1' ) {
2021-05-17 19:50:10 +02:00
$valuetoshow = $langs -> trans ( " RateOfTaxN " , '2' ); $cssprefix = " center " ; $sortable = 0 ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax2_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " UseLocalTax " ) . " 3 " ; $cssprefix = " center " ; $sortable = 0 ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'localtax2' ) {
2021-05-17 19:50:10 +02:00
$valuetoshow = $langs -> trans ( " RateOfTaxN " , '3' ); $cssprefix = " center " ; $sortable = 0 ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'organization' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Organization " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'lang' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Language " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Type " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'code' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Code " );
}
2021-07-07 18:41:37 +02:00
if ( in_array ( $value , array ( 'pos' , 'position' ))) {
$valuetoshow = $langs -> trans ( " Position " ); $cssprefix = 'right ' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'libelle' || $value == 'label' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Label " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'libelle_facture' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " LabelOnDocuments " );
}
2021-09-29 11:34:30 +02:00
if ( $value == 'deposit_percent' ) {
$valuetoshow = $langs -> trans ( 'DepositPercent' );
$cssprefix = 'right ' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'country' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Country " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'recuperableonly' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NPR " ); $cssprefix = " center " ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'nbjour' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NbOfDays " );
2022-05-09 11:16:58 +02:00
$cssprefix = 'right ' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'type_cdr' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AtEndOfMonth " ); $cssprefix = " center " ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'decalage' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Offset " );
2022-05-09 11:16:58 +02:00
$cssprefix = 'right ' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'width' || $value == 'nx' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Width " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'height' || $value == 'ny' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Height " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'unit' || $value == 'metric' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " MeasuringUnit " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'accountancy_code' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AccountancyCode " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'accountancy_code_sell' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AccountancyCodeSell " ); $sortable = 0 ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'accountancy_code_buy' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " AccountancyCodeBuy " ); $sortable = 0 ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'fk_pcg_version' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Pcg_version " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'account_parent' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Accountsparent " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'pcg_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Pcg_type " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'pcg_subtype' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Pcg_subtype " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'sortorder' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " SortOrder " );
2022-05-09 11:16:58 +02:00
$cssprefix = 'center ' ;
2021-02-26 22:04:03 +01:00
}
2021-04-15 16:36:17 +02:00
if ( $value == 'short_label' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " ShortLabel " );
}
2021-07-07 18:30:10 +02:00
if ( $value == 'fk_parent' ) {
$valuetoshow = $langs -> trans ( " ParentID " ); $cssprefix = 'center ' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'range_account' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Range " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'sens' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Sens " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'category_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Calculated " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'formula' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Formula " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'paper_size' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " PaperSize " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'orientation' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Orientation " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'leftmargin' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " LeftMargin " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'topmargin' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " TopMargin " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'spacex' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " SpaceX " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'spacey' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " SpaceY " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'font_size' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " FontSize " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'custom_x' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " CustomX " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'custom_y' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " CustomY " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'percent' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " Percentage " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'affect' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " WithCounter " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'delay' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NoticePeriod " );
}
2021-09-30 18:30:22 +02:00
if ( $value == 'newbymonth' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " NewByMonth " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'fk_tva' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " VAT " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'range_ik' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " RangeIk " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'fk_c_exp_tax_cat' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( " CarCategory " );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'revenuestamp_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( 'TypeOfRevenueStamp' );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'use_default' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( 'Default' ); $cssprefix = 'center ' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'unit_type' ) {
2021-02-26 22:04:03 +01:00
$valuetoshow = $langs -> trans ( 'TypeOfUnit' );
}
2021-04-15 16:36:17 +02:00
if ( $value == 'public' && $tablib [ $id ] == 'TicketDictCategory' ) {
2021-03-24 12:13:23 +01:00
$valuetoshow = $langs -> trans ( 'TicketGroupIsPublic' ); $cssprefix = 'center ' ;
}
2021-06-10 23:04:56 +02:00
if ( $value == 'block_if_negative' ) {
$valuetoshow = $langs -> trans ( 'BlockHolidayIfNegative' );
}
2022-03-07 16:02:49 +01:00
if ( $value == 'type_duration' ) {
$valuetoshow = $langs -> trans ( 'Unit' );
}
2021-02-26 22:04:03 +01:00
2021-04-15 16:36:17 +02:00
if ( $value == 'region_id' || $value == 'country_id' ) {
2021-02-26 22:04:03 +01:00
$showfield = 0 ;
}
2016-10-03 13:42:27 +02:00
2020-10-07 15:01:28 +02:00
// Show field title
2021-02-26 22:04:03 +01:00
if ( $showfield ) {
2022-05-26 00:30:35 +02:00
$tooltiphelp = ( isset ( $tabcomplete [ $tabname [ $id ]][ 'help' ][ $value ]) ? $tabcomplete [ $tabname [ $id ]][ 'help' ][ $value ] : '' );
if ( $tooltiphelp && preg_match ( '/^http(s*):/i' , $tooltiphelp )) {
$newvaluetoshow = '<a href="' . $tooltiphelp . '" target="_blank">' . $valuetoshow . ' ' . img_help ( 1 , $valuetoshow ) . '</a>' ;
} elseif ( $tooltiphelp ) {
$newvaluetoshow = $form -> textwithpicto ( $valuetoshow , $tooltiphelp );
2021-02-26 22:04:03 +01:00
} else {
$newvaluetoshow = $valuetoshow ;
}
2020-10-16 20:17:54 +02:00
2021-04-15 16:36:17 +02:00
print getTitleFieldOfList ( $newvaluetoshow , 0 , $_SERVER [ " PHP_SELF " ], ( $sortable ? $value : '' ), ( $page ? 'page=' . $page . '&' : '' ), $param , '' , $sortfield , $sortorder , $cssprefix );
2020-10-07 15:01:28 +02:00
}
}
2022-03-04 07:00:02 +01:00
// Favorite & EEC - Only activated on country dictionary
2021-02-26 22:04:03 +01:00
if ( $id == 4 ) {
2022-03-04 07:00:02 +01:00
print getTitleFieldOfList ( $langs -> trans ( " InEEC " ), 0 , $_SERVER [ " PHP_SELF " ], " eec " , ( $page ? 'page=' . $page . '&' : '' ), $param , 'align="center"' , $sortfield , $sortorder , '' , 0 , $langs -> trans ( " CountryIsInEEC " ));
2021-02-26 22:04:03 +01:00
print getTitleFieldOfList ( $langs -> trans ( " Favorite " ), 0 , $_SERVER [ " PHP_SELF " ], " favorite " , ( $page ? 'page=' . $page . '&' : '' ), $param , 'align="center"' , $sortfield , $sortorder );
}
2011-05-29 12:57:38 +02:00
2023-04-26 12:45:02 +02:00
// Status
2019-11-13 19:35:02 +01:00
print getTitleFieldOfList ( $langs -> trans ( " Status " ), 0 , $_SERVER [ " PHP_SELF " ], " active " , ( $page ? 'page=' . $page . '&' : '' ), $param , 'align="center"' , $sortfield , $sortorder );
2023-04-26 12:45:02 +02:00
// Action button
if ( ! getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print getTitleFieldOfList ( '' );
}
2020-10-07 15:01:28 +02:00
print '</tr>' ;
2021-02-26 22:04:03 +01:00
if ( $num ) {
2020-10-07 15:01:28 +02:00
// Lines with values
2021-02-26 22:04:03 +01:00
while ( $i < $num ) {
2020-10-07 15:01:28 +02:00
$obj = $db -> fetch_object ( $resql );
2023-04-25 22:15:51 +02:00
2023-04-26 12:45:02 +02:00
// Can an entry be erased or disabled ?
// all true by default
$iserasable = 1 ;
$canbedisabled = 1 ;
$canbemodified = 1 ;
if ( isset ( $obj -> code ) && $id != 10 && $id != 42 ) {
if (( $obj -> code == '0' || $obj -> code == '' || preg_match ( '/unknown/i' , $obj -> code ))) {
$iserasable = 0 ; $canbedisabled = 0 ;
} elseif ( $obj -> code == 'RECEP' ) {
$iserasable = 0 ; $canbedisabled = 0 ;
} elseif ( $obj -> code == 'EF0' ) {
$iserasable = 0 ; $canbedisabled = 0 ;
}
}
if ( $id == 25 && in_array ( $obj -> code , array ( 'banner' , 'blogpost' , 'other' , 'page' ))) {
$iserasable = 0 ; $canbedisabled = 0 ;
if ( in_array ( $obj -> code , array ( 'banner' ))) {
$canbedisabled = 1 ;
}
}
if ( isset ( $obj -> type ) && in_array ( $obj -> type , array ( 'system' , 'systemauto' ))) {
$iserasable = 0 ;
}
if ( in_array ( empty ( $obj -> code ) ? '' : $obj -> code , array ( 'AC_OTH' , 'AC_OTH_AUTO' )) || in_array ( empty ( $obj -> type ) ? '' : $obj -> type , array ( 'systemauto' ))) {
$canbedisabled = 0 ; $canbedisabled = 0 ;
}
$canbemodified = $iserasable ;
if ( ! empty ( $obj -> code ) && $obj -> code == 'RECEP' ) {
$canbemodified = 1 ;
}
if ( $tabname [ $id ] == " c_actioncomm " ) {
$canbemodified = 1 ;
}
// Build Url. The table is id=, the id of line is rowid=
$rowidcol = $tabrowid [ $id ];
// If rowidcol not defined
if ( empty ( $rowidcol ) || in_array ( $id , array ( 6 , 7 , 8 , 13 , 17 , 19 , 27 , 32 ))) {
$rowidcol = 'rowid' ;
}
$url = $_SERVER [ " PHP_SELF " ] . '?' . ( $page ? 'page=' . $page . '&' : '' ) . 'sortfield=' . $sortfield . '&sortorder=' . $sortorder . '&rowid=' . ( isset ( $obj -> { $rowidcol }) ? $obj -> { $rowidcol } : ( ! empty ( $obj -> code ) ? urlencode ( $obj -> code ) : '' )) . '&code=' . ( ! empty ( $obj -> code ) ? urlencode ( $obj -> code ) : '' );
if ( ! empty ( $param )) {
$url .= '&' . $param ;
}
if ( ! is_null ( $withentity )) {
$url .= '&entity=' . $withentity ;
}
$url .= '&' ;
2020-10-07 15:01:28 +02:00
//print_r($obj);
2021-04-14 22:03:04 +02:00
print '<tr class="oddeven" id="rowid-' . ( empty ( $obj -> rowid ) ? '' : $obj -> rowid ) . '">' ;
2023-04-25 22:15:51 +02:00
2023-04-26 12:45:02 +02:00
// Action button
if ( getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="center maxwidthsearch nowraponall">' ;
// Modify link
if ( $canbemodified ) {
print '<a class="reposition editfielda marginleftonly paddingleft marginrightonly paddingright" href="' . $url . 'action=edit&token=' . newToken () . '">' . img_edit () . '</a>' ;
}
// Delete link
if ( $iserasable ) {
if ( $user -> admin ) {
print '<a class="reposition marginleftonly paddingleft marginrightonly paddingright" href="' . $url . 'action=delete&token=' . newToken () . '">' . img_delete () . '</a>' ;
}
}
print '</td>' ;
}
2021-02-26 22:04:03 +01:00
if ( $action == 'edit' && ( $rowid == ( ! empty ( $obj -> rowid ) ? $obj -> rowid : $obj -> code ))) {
2020-10-07 15:01:28 +02:00
$tmpaction = 'edit' ;
$parameters = array ( 'fieldlist' => $fieldlist , 'tabname' => $tabname [ $id ]);
$reshook = $hookmanager -> executeHooks ( 'editDictionaryFieldlist' , $parameters , $obj , $tmpaction ); // Note that $action and $object may have been modified by some hooks
$error = $hookmanager -> error ; $errors = $hookmanager -> errors ;
// Show fields
if ( empty ( $reshook )) {
$withentity = fieldList ( $fieldlist , $obj , $tabname [ $id ], 'edit' );
}
print '<td colspan="3" class="center">' ;
print '<div name="' . ( ! empty ( $obj -> rowid ) ? $obj -> rowid : $obj -> code ) . '"></div>' ;
print '<input type="hidden" name="page" value="' . dol_escape_htmltag ( $page ) . '">' ;
print '<input type="hidden" name="rowid" value="' . dol_escape_htmltag ( $rowid ) . '">' ;
2021-02-26 22:04:03 +01:00
if ( ! is_null ( $withentity )) {
2020-10-07 15:01:28 +02:00
print '<input type="hidden" name="entity" value="' . $withentity . '">' ;
2021-02-26 22:04:03 +01:00
}
2023-03-02 21:21:16 +01:00
print '<input type="submit" class="button button-edit small" name="actionmodify" value="' . $langs -> trans ( " Modify " ) . '">' ;
print '<input type="submit" class="button button-cancel small" name="actioncancel" value="' . $langs -> trans ( " Cancel " ) . '">' ;
2020-10-07 15:01:28 +02:00
print '</td>' ;
} else {
2021-02-26 22:04:03 +01:00
$tmpaction = 'view' ;
2020-10-07 15:01:28 +02:00
$parameters = array ( 'fieldlist' => $fieldlist , 'tabname' => $tabname [ $id ]);
$reshook = $hookmanager -> executeHooks ( 'viewDictionaryFieldlist' , $parameters , $obj , $tmpaction ); // Note that $action and $object may have been modified by some hooks
$error = $hookmanager -> error ; $errors = $hookmanager -> errors ;
2021-02-26 22:04:03 +01:00
if ( empty ( $reshook )) {
2020-10-07 15:01:28 +02:00
$withentity = null ;
2021-02-26 22:04:03 +01:00
foreach ( $fieldlist as $field => $value ) {
2020-10-07 15:01:28 +02:00
//var_dump($fieldlist);
$class = '' ;
$showfield = 1 ;
2022-12-30 18:43:43 +01:00
$valuetoshow = empty ( $obj -> $value ) ? '' : $obj -> $value ;
2021-12-18 16:48:08 +01:00
$titletoshow = '' ;
2020-10-07 15:01:28 +02:00
2021-04-15 16:36:17 +02:00
if ( $value == 'entity' ) {
2020-10-07 15:01:28 +02:00
$withentity = $valuetoshow ;
continue ;
}
2021-01-06 20:20:37 +01:00
if ( $value == 'element' ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = isset ( $elementList [ $valuetoshow ]) ? $elementList [ $valuetoshow ] : $valuetoshow ;
2021-01-06 20:20:37 +01:00
} elseif ( $value == 'source' ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = isset ( $sourceList [ $valuetoshow ]) ? $sourceList [ $valuetoshow ] : $valuetoshow ;
} elseif ( $valuetoshow == 'all' ) {
$valuetoshow = $langs -> trans ( 'All' );
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'country' ) {
2021-02-26 22:04:03 +01:00
if ( empty ( $obj -> country_code )) {
2020-10-07 15:01:28 +02:00
$valuetoshow = '-' ;
} else {
$key = $langs -> trans ( " Country " . strtoupper ( $obj -> country_code ));
$valuetoshow = ( $key != " Country " . strtoupper ( $obj -> country_code ) ? $obj -> country_code . " - " . $key : $obj -> country );
}
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'recuperableonly' || $value == 'deductible' || $value == 'category_type' ) {
2022-11-30 16:51:07 +01:00
$valuetoshow = yn ( $valuetoshow ? 1 : 0 );
2020-10-07 15:01:28 +02:00
$class = " center " ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'type_cdr' ) {
2021-02-26 22:04:03 +01:00
if ( empty ( $valuetoshow )) {
$valuetoshow = $langs -> trans ( 'None' );
} elseif ( $valuetoshow == 1 ) {
$valuetoshow = $langs -> trans ( 'AtEndOfMonth' );
} elseif ( $valuetoshow == 2 ) {
$valuetoshow = $langs -> trans ( 'CurrentNext' );
}
2020-10-07 15:01:28 +02:00
$class = " center " ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'price' || preg_match ( '/^amount/i' , $value )) {
2020-10-07 15:01:28 +02:00
$valuetoshow = price ( $valuetoshow );
}
2021-02-26 22:04:03 +01:00
if ( $value == 'private' ) {
2022-07-29 17:05:02 +02:00
$valuetoshow = yn ( $valuetoshow );
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'libelle_facture' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " bills " );
$key = $langs -> trans ( " PaymentCondition " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " PaymentCondition " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2020-10-07 15:01:28 +02:00
$valuetoshow = nl2br ( $valuetoshow );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ $id ] == 'c_country' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( " Country " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " Country " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ $id ] == 'c_availability' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " propal " );
$key = $langs -> trans ( " AvailabilityType " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " AvailabilityType " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_actioncomm' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( " Action " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " Action " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( ! empty ( $obj -> code_iso ) && $value == 'label' && $tabname [ $id ] == 'c_currencies' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( " Currency " . strtoupper ( $obj -> code_iso ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code_iso && $key != " Currency " . strtoupper ( $obj -> code_iso ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_typent' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $key != strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_prospectlevel' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $key != strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ $id ] == 'c_civility' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( " Civility " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " Civility " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_type_contact' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( 'agenda' );
$key = $langs -> trans ( " TypeContact_ " . $obj -> element . " _ " . $obj -> source . " _ " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " TypeContact_ " . $obj -> element . " _ " . $obj -> source . " _ " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_payment_term' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " bills " );
$key = $langs -> trans ( " PaymentConditionShort " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " PaymentConditionShort " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_paiement' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " bills " );
$key = $langs -> trans ( " PaymentType " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " PaymentType " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'type' && $tabname [ $id ] == 'c_paiement' ) {
2020-10-07 15:01:28 +02:00
$payment_type_list = array ( 0 => $langs -> trans ( 'PaymentTypeCustomer' ), 1 => $langs -> trans ( 'PaymentTypeSupplier' ), 2 => $langs -> trans ( 'PaymentTypeBoth' ));
$valuetoshow = $payment_type_list [ $valuetoshow ];
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ $id ] == 'c_input_reason' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( " DemandReasonType " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " DemandReasonType " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_input_method' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " orders " );
$key = $langs -> trans ( $obj -> code );
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != $obj -> code ) ? $key : $obj -> $value ;
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_shipment_mode' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " sendings " );
$key = $langs -> trans ( " SendingMethod " . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != " SendingMethod " . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'libelle' && $tabname [ $id ] == 'c_paper_format' ) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( 'PaperFormat' . strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != 'PaperFormat' . strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ $id ] == 'c_type_fees' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( 'trips' );
$key = $langs -> trans ( strtoupper ( $obj -> code ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != strtoupper ( $obj -> code ) ? $key : $obj -> $value );
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'region_id' || $value == 'country_id' ) {
2020-10-07 15:01:28 +02:00
$showfield = 0 ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'unicode' ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = $langs -> getCurrencySymbol ( $obj -> code , 1 );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ GETPOST ( " id " , 'int' )] == 'c_units' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " products " );
2022-12-30 18:43:43 +01:00
$valuetoshow = $langs -> trans ( $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'short_label' && $tabname [ GETPOST ( " id " , 'int' )] == 'c_units' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " products " );
2022-12-30 18:43:43 +01:00
$valuetoshow = $langs -> trans ( $obj -> $value );
2022-05-09 11:16:58 +02:00
} elseif (( $value == 'unit' ) && ( $tabname [ $id ] == 'c_paper_format' )) {
2020-10-07 15:01:28 +02:00
$key = $langs -> trans ( 'SizeUnit' . strtolower ( $obj -> unit ));
2022-12-30 18:43:43 +01:00
$valuetoshow = ( $obj -> code && $key != 'SizeUnit' . strtolower ( $obj -> unit ) ? $key : $obj -> $value );
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'localtax1' || $value == 'localtax2' ) {
2020-10-07 15:01:28 +02:00
$class = " center " ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'localtax1_type' ) {
2021-02-26 22:04:03 +01:00
if ( $obj -> localtax1 != 0 ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = $localtax_typeList [ $valuetoshow ];
2021-02-26 22:04:03 +01:00
} else {
$valuetoshow = '' ;
}
2020-10-07 15:01:28 +02:00
$class = " center " ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'localtax2_type' ) {
2021-02-26 22:04:03 +01:00
if ( $obj -> localtax2 != 0 ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = $localtax_typeList [ $valuetoshow ];
2021-02-26 22:04:03 +01:00
} else {
$valuetoshow = '' ;
}
2020-10-07 15:01:28 +02:00
$class = " center " ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'taux' ) {
2020-10-07 15:01:28 +02:00
$valuetoshow = price ( $valuetoshow , 0 , $langs , 0 , 0 );
$class = " center " ;
2021-04-15 16:36:17 +02:00
} elseif ( in_array ( $value , array ( 'recuperableonly' ))) {
2020-01-22 17:00:54 +01:00
$class = " center " ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'accountancy_code' || $value == 'accountancy_code_sell' || $value == 'accountancy_code_buy' ) {
2022-09-04 13:29:29 +02:00
if ( isModEnabled ( 'accounting' )) {
2021-12-22 17:38:06 +01:00
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php' ;
2021-12-18 16:48:08 +01:00
$tmpaccountingaccount = new AccountingAccount ( $db );
$tmpaccountingaccount -> fetch ( 0 , $valuetoshow , 1 );
$titletoshow = $langs -> transnoentitiesnoconv ( " Pcgtype " ) . ': ' . $tmpaccountingaccount -> pcg_type ;
}
2020-10-07 15:01:28 +02:00
$valuetoshow = length_accountg ( $valuetoshow );
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'fk_tva' ) {
2021-02-26 22:04:03 +01:00
foreach ( $form -> cache_vatrates as $key => $Tab ) {
if ( $form -> cache_vatrates [ $key ][ 'rowid' ] == $valuetoshow ) {
2022-09-04 04:49:09 +02:00
$valuetoshow = $form -> cache_vatrates [ $key ][ 'label' ];
2017-06-15 11:08:53 +02:00
break ;
}
}
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'fk_c_exp_tax_cat' ) {
2021-10-20 14:45:24 +02:00
$tmpid = $valuetoshow ;
2022-05-09 11:16:58 +02:00
$valuetoshow = getDictionaryValue ( 'c_exp_tax_cat' , 'label' , $tmpid );
2021-10-20 14:45:24 +02:00
$valuetoshow = $langs -> trans ( $valuetoshow ? $valuetoshow : $tmpid );
2022-05-09 11:16:58 +02:00
} elseif ( $tabname [ $id ] == 'c_exp_tax_cat' ) {
2017-06-15 11:08:53 +02:00
$valuetoshow = $langs -> trans ( $valuetoshow );
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ $id ] == 'c_units' ) {
2019-02-12 16:58:11 +01:00
$langs -> load ( 'other' );
$key = $langs -> trans ( $obj -> label );
2021-04-15 16:36:17 +02:00
$valuetoshow = ( $obj -> label && $key != strtoupper ( $obj -> label ) ? $key : $obj -> { $value });
} elseif ( $value == 'code' && $id == 3 ) {
2020-02-02 12:59:11 +01:00
$valuetoshow = $obj -> state_code ;
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'label' && $tabname [ $id ] == 'c_product_nature' ) {
2020-10-14 16:39:42 +02:00
$langs -> load ( " products " );
2021-04-15 16:36:17 +02:00
$valuetoshow = $langs -> trans ( $obj -> { $value });
2022-05-09 11:16:58 +02:00
} elseif ( $fieldlist [ $field ] == 'label' && $tabname [ $id ] == 'c_productbatch_qcstatus' ) {
2021-04-29 12:49:15 +02:00
$langs -> load ( " productbatch " );
2021-04-29 13:08:24 +02:00
$valuetoshow = $langs -> trans ( $obj -> { $value });
2021-06-10 23:04:56 +02:00
} elseif ( $value == 'block_if_negative' ) {
$valuetoshow = yn ( $obj -> { $value });
2022-07-18 11:07:48 +02:00
} elseif ( $value == 'icon' ) {
$valuetoshow = $obj -> { $value } . " " . img_picto ( " " , $obj -> { $value });
2022-03-07 16:02:49 +01:00
} elseif ( $value == 'type_duration' ) {
$TDurationTypes = array ( 'y' => $langs -> trans ( 'Years' ), 'm' => $langs -> trans ( 'Month' ), 'w' => $langs -> trans ( 'Weeks' ), 'd' => $langs -> trans ( 'Days' ), 'h' => $langs -> trans ( 'Hours' ), 'i' => $langs -> trans ( 'Minutes' ));
$valuetoshow = $TDurationTypes [ $obj -> { $value }];
2019-02-12 16:58:11 +01:00
}
2020-10-07 15:01:28 +02:00
$class .= ( $class ? ' ' : '' ) . 'tddict' ;
2021-04-15 16:36:17 +02:00
if ( $value == 'note' && $id == 10 ) {
2021-02-26 22:04:03 +01:00
$class .= ' tdoverflowmax200' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'tracking' ) {
2021-02-26 22:04:03 +01:00
$class .= ' tdoverflowauto' ;
}
2022-05-09 11:16:58 +02:00
if ( in_array ( $value , array ( 'nbjour' , 'decalage' , 'pos' , 'position' , 'deposit_percent' ))) {
2021-02-26 22:04:03 +01:00
$class .= ' right' ;
}
2021-07-07 18:30:10 +02:00
if ( in_array ( $value , array ( 'localtax1_type' , 'localtax2_type' ))) {
2022-11-22 15:48:29 +01:00
$class .= ' nowraponall' ;
2021-02-26 22:04:03 +01:00
}
2022-05-09 11:16:58 +02:00
if ( in_array ( $value , array ( 'use_default' , 'fk_parent' , 'sortorder' ))) {
2021-02-26 22:04:03 +01:00
$class .= ' center' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'public' ) {
2021-03-24 12:13:23 +01:00
$class .= ' center' ;
}
2020-10-07 15:01:28 +02:00
// Show value for field
2021-02-26 22:04:03 +01:00
if ( $showfield ) {
2021-12-18 16:48:08 +01:00
print '<!-- ' . $value . ' --><td class="' . $class . '"' . ( $titletoshow ? ' title="' . dol_escape_htmltag ( $titletoshow ) . '"' : '' ) . '>' . $valuetoshow . '</td>' ;
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
}
}
2022-03-04 07:00:02 +01:00
// Favorite & EEC
2014-10-12 15:28:01 +02:00
// Only activated on country dictionary
2021-02-26 22:04:03 +01:00
if ( $id == 4 ) {
2019-03-20 09:47:06 +01:00
print '<td class="nowrap center">' ;
2022-03-04 07:00:02 +01:00
// Is in EEC
if ( $iserasable ) {
print '<a class="reposition" href="' . $url . 'action=' . $acts [ $obj -> eec ] . '_eec&token=' . newToken () . '">' . $actl [ $obj -> eec ] . '</a>' ;
} else {
2022-05-09 11:16:58 +02:00
print '<span class="opacitymedium">' . $langs -> trans ( " AlwaysActive " ) . '</span>' ;
2022-03-04 07:00:02 +01:00
}
print '</td>' ;
print '<td class="nowrap center">' ;
// Favorite
2021-02-26 22:04:03 +01:00
if ( $iserasable ) {
2021-03-31 23:15:33 +02:00
print '<a class="reposition" href="' . $url . 'action=' . $acts [ $obj -> favorite ] . '_favorite&token=' . newToken () . '">' . $actl [ $obj -> favorite ] . '</a>' ;
2021-02-26 22:04:03 +01:00
} else {
2022-05-09 11:16:58 +02:00
print '<span class="opacitymedium">' . $langs -> trans ( " AlwaysActive " ) . '</span>' ;
2021-02-26 22:04:03 +01:00
}
2014-10-12 15:28:01 +02:00
print '</td>' ;
}
2013-04-20 12:55:31 +02:00
2020-10-07 15:01:28 +02:00
// Active
print '<td class="nowrap center">' ;
2021-02-26 22:04:03 +01:00
if ( $canbedisabled ) {
2021-03-31 23:15:33 +02:00
print '<a class="reposition" href="' . $url . 'action=' . $acts [ $obj -> active ] . '&token=' . newToken () . '">' . $actl [ $obj -> active ] . '</a>' ;
2021-02-26 22:04:03 +01:00
} else {
if ( in_array ( $obj -> code , array ( 'AC_OTH' , 'AC_OTH_AUTO' ))) {
print $langs -> trans ( " AlwaysActive " );
} elseif ( isset ( $obj -> type ) && in_array ( $obj -> type , array ( 'systemauto' )) && empty ( $obj -> active )) {
print $langs -> trans ( " Deprecated " );
} elseif ( isset ( $obj -> type ) && in_array ( $obj -> type , array ( 'system' )) && ! empty ( $obj -> active ) && $obj -> code != 'AC_OTH' ) {
print $langs -> trans ( " UsedOnlyWithTypeOption " );
} else {
2022-05-09 11:16:58 +02:00
print '<span class="opacitymedium">' . $langs -> trans ( " AlwaysActive " ) . '</span>' ;
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
}
print " </td> " ;
2023-04-26 12:45:02 +02:00
// Action button
if ( ! getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="center maxwidthsearch">' ;
// Modify link
if ( $canbemodified ) {
print '<a class="reposition marginleftonly paddingleft marginrightonly paddingright editfielda" href="' . $url . 'action=edit&token=' . newToken () . '">' . img_edit () . '</a>' ;
}
// Delete link
if ( $iserasable ) {
if ( $user -> admin ) {
print '<a class="reposition marginleftonly paddingleft marginrightonly paddingright" href="' . $url . 'action=delete&token=' . newToken () . '">' . img_delete () . '</a>' ;
}
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
print '</td>' ;
2021-02-26 22:04:03 +01:00
}
2020-10-07 15:01:28 +02:00
print " </tr> \n " ;
}
$i ++ ;
}
2023-04-25 22:15:51 +02:00
} else {
print '<tr><td colspan="' . $colspan . '"><span class="opacitymedium">' . $langs -> trans ( " NoRecordFound " ) . '</span></td></tr>' ;
2020-10-07 15:01:28 +02:00
}
print '</table>' ;
print '</div>' ;
} else {
dol_print_error ( $db );
}
print '</form>' ;
2020-05-21 09:35:30 +02:00
} else {
2020-10-07 15:01:28 +02:00
/*
2021-02-26 22:04:03 +01:00
* Show list of dictionary to show
*/
2011-01-23 22:24:47 +01:00
2020-10-07 15:01:28 +02:00
$lastlineisempty = false ;
2017-09-08 10:09:22 +02:00
print '<div class="div-table-responsive-no-min">' ;
2020-10-07 15:01:28 +02:00
print '<table class="noborder centpercent">' ;
print '<tr class="liste_titre">' ;
2022-11-22 15:48:29 +01:00
print '<td>' . $langs -> trans ( " Dictionary " ) . '</td>' ;
2021-05-06 18:36:02 +02:00
print '<td></td>' ;
2022-11-22 15:48:29 +01:00
print '<td class="hideonsmartphone"></td>' ;
2020-10-07 15:01:28 +02:00
print '</tr>' ;
$showemptyline = '' ;
2021-02-26 22:04:03 +01:00
foreach ( $taborder as $i ) {
if ( isset ( $tabname [ $i ]) && empty ( $tabcond [ $i ])) {
continue ;
}
2020-10-07 15:01:28 +02:00
2021-02-26 22:04:03 +01:00
if ( $i ) {
if ( $showemptyline ) {
2022-11-22 15:48:29 +01:00
print '<tr class="oddeven"><td></td><td></td><td class="hideonsmartphone"></td></tr>' ;
2020-10-07 15:01:28 +02:00
$showemptyline = 0 ;
}
$value = $tabname [ $i ];
2022-11-22 15:48:29 +01:00
print '<tr class="oddeven"><td class="minwidth200">' ;
2021-02-26 22:04:03 +01:00
if ( ! empty ( $tabcond [ $i ])) {
2021-05-06 18:06:19 +02:00
$tabnamenoprefix = preg_replace ( '/' . MAIN_DB_PREFIX . '/' , '' , $tabname [ $i ]);
print '<a href="' . $_SERVER [ " PHP_SELF " ] . '?id=' . $i . '">' ;
if ( ! empty ( $tabcomplete [ $tabnamenoprefix ][ 'picto' ])) {
print img_picto ( '' , $tabcomplete [ $tabnamenoprefix ][ 'picto' ], 'class="pictofixedwidth paddingrightonly"' );
}
print $langs -> trans ( $tablib [ $i ]);
print '</a>' ;
2020-10-07 15:01:28 +02:00
} else {
print $langs -> trans ( $tablib [ $i ]);
}
print '</td>' ;
print '<td>' ;
2021-05-06 18:45:20 +02:00
print '<a class="editfielda" href="' . $_SERVER [ " PHP_SELF " ] . '?id=' . $i . '">' ;
print img_picto ( 'Edit' , 'edit' , '' );
print '</a>' ;
2020-10-07 15:01:28 +02:00
print '</td>' ;
2022-11-22 15:48:29 +01:00
print '<td class="right hideonsmartphone">' ;
2022-05-09 11:16:58 +02:00
print $form -> textwithpicto ( '' , $langs -> trans ( " Table " ) . ': ' . MAIN_DB_PREFIX . $tabname [ $i ]);
2021-05-06 18:36:02 +02:00
print '</td>' ;
print '</tr>' ;
2020-10-07 15:01:28 +02:00
$lastlineisempty = false ;
} else {
2021-02-26 22:04:03 +01:00
if ( ! $lastlineisempty ) {
2020-10-07 15:01:28 +02:00
$showemptyline = 1 ;
$lastlineisempty = true ;
}
}
}
print '</table>' ;
print '</div>' ;
2004-06-09 20:37:17 +02:00
}
print '<br>' ;
2018-07-28 17:26:56 +02:00
// End of page
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
/**
2014-10-30 17:16:51 +01:00
* Show fields in insert / edit mode
2011-09-14 23:50:17 +02:00
*
2017-05-19 10:46:29 +02:00
* @ param array $fieldlist Array of fields
* @ param Object $obj If we show a particular record , obj is filled with record fields
* @ param string $tabname Name of SQL table
* @ param string $context 'add' = Output field for the " add form " , 'edit' = Output field for the " edit form " , 'hide' = Output field for the " add form " but we dont want it to be rendered
2017-11-14 11:13:24 +01:00
* @ return string '' or value of entity into table
2009-05-06 15:39:43 +02:00
*/
2019-01-27 15:20:16 +01:00
function fieldList ( $fieldlist , $obj = '' , $tabname = '' , $context = '' )
2007-07-23 20:07:27 +02:00
{
2019-11-13 19:35:02 +01:00
global $conf , $langs , $db , $mysoc ;
2012-09-25 19:34:18 +02:00
global $form ;
global $region_id ;
2019-11-13 19:35:02 +01:00
global $elementList , $sourceList , $localtax_typeList ;
2012-09-25 19:34:18 +02:00
$formadmin = new FormAdmin ( $db );
$formcompany = new FormCompany ( $db );
2019-08-31 13:31:08 +02:00
$formaccounting = new FormAccounting ( $db );
2012-09-25 19:34:18 +02:00
2019-11-13 19:35:02 +01:00
$withentity = '' ;
2017-06-08 15:32:08 +02:00
2021-02-26 22:04:03 +01:00
foreach ( $fieldlist as $field => $value ) {
2021-04-15 16:36:17 +02:00
if ( $value == 'entity' ) {
2022-12-30 18:43:43 +01:00
$withentity = $obj -> $value ;
2017-06-08 15:32:08 +02:00
continue ;
}
2022-05-09 11:16:58 +02:00
if ( in_array ( $value , array ( 'code' , 'libelle' , 'type' )) && $tabname == " c_actioncomm " && in_array ( $obj -> type , array ( 'system' , 'systemauto' ))) {
2021-04-15 16:36:17 +02:00
$hidden = ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' );
2020-10-07 15:01:28 +02:00
print '<td>' ;
2021-04-15 16:36:17 +02:00
print '<input type="hidden" name="' . $value . '" value="' . $hidden . '">' ;
2020-10-07 15:01:28 +02:00
print $langs -> trans ( $hidden );
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'country' ) {
2021-02-26 22:04:03 +01:00
if ( in_array ( 'region_id' , $fieldlist )) {
2014-10-30 17:16:51 +01:00
print '<td>' ;
print '</td>' ;
continue ;
} // For state page, we do not show the country input (we link to region, not country)
2012-09-25 19:34:18 +02:00
print '<td>' ;
2023-04-25 22:15:51 +02:00
$selected = ( ! empty ( $obj -> country_code ) ? $obj -> country_code : ( ! empty ( $obj -> country ) ? $obj -> country : '' ));
if ( ! GETPOSTISSET ( 'code' )) {
$selected = GETPOST ( 'countryidforinsert' );
}
print $form -> select_country ( $selected , $value , '' , 28 , 'minwidth100 maxwidth150 maxwidthonsmartphone' );
2012-09-25 19:34:18 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'country_id' ) {
2021-02-26 22:04:03 +01:00
if ( ! in_array ( 'country' , $fieldlist )) { // If there is already a field country, we don't show country_id (avoid duplicate)
2021-04-15 16:36:17 +02:00
$country_id = ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : 0 );
2017-04-14 18:43:34 +02:00
print '<td class="tdoverflowmax100">' ;
2021-04-15 16:36:17 +02:00
print '<input type="hidden" name="' . $value . '" value="' . $country_id . '">' ;
2014-11-20 15:08:13 +01:00
print '</td>' ;
}
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'region' ) {
2012-09-25 19:34:18 +02:00
print '<td>' ;
2019-01-27 11:55:16 +01:00
$formcompany -> select_region ( $region_id , 'region' );
2012-09-25 19:34:18 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'region_id' ) {
$region_id = ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : 0 );
2014-10-30 17:16:51 +01:00
print '<td>' ;
2021-04-15 16:36:17 +02:00
print '<input type="hidden" name="' . $value . '" value="' . $region_id . '">' ;
2014-10-30 17:16:51 +01:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'lang' ) {
2012-09-25 19:34:18 +02:00
print '<td>' ;
2019-01-27 11:55:16 +01:00
print $formadmin -> select_language ( $conf -> global -> MAIN_LANG_DEFAULT , 'lang' );
2012-09-25 19:34:18 +02:00
print '</td>' ;
2022-07-29 16:03:21 +02:00
} elseif ( in_array ( $value , array ( 'element' , 'source' ))) { // Example: the type and source of the element (for contact types)
2022-07-29 17:05:02 +02:00
$tmparray = array ();
if ( $value == 'element' ) {
$tmparray = $elementList ;
} else {
$tmparray = $sourceList ;
}
2012-09-25 19:34:18 +02:00
print '<td>' ;
2022-07-29 17:05:02 +02:00
print $form -> selectarray ( $value , $tmparray , ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ), 0 , 0 , 0 , '' , 0 , 0 , 0 , '' , 'maxwidth250' );
2012-09-25 19:34:18 +02:00
print '</td>' ;
2021-07-07 18:30:10 +02:00
} elseif ( in_array ( $value , array ( 'public' , 'use_default' ))) {
// Fields 0/1 with a combo select Yes/No
print '<td class="center">' ;
print $form -> selectyesno ( $value , ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ), 1 );
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'private' ) {
2021-07-07 18:30:10 +02:00
// Fields 'no'/'yes' with a combo select Yes/No
2017-02-24 11:12:14 +01:00
print '<td>' ;
2021-04-15 16:36:17 +02:00
print $form -> selectyesno ( " private " , ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ));
2017-02-24 11:12:14 +01:00
print '</td>' ;
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'type' && $tabname == " c_actioncomm " ) {
2019-11-13 19:35:02 +01:00
$type = ( ! empty ( $obj -> type ) ? $obj -> type : 'user' ); // Check if type is different of 'user' (external module)
2012-09-25 19:34:18 +02:00
print '<td>' ;
2017-07-03 19:27:21 +02:00
print $type . '<input type="hidden" name="type" value="' . $type . '">' ;
2012-09-25 19:34:18 +02:00
print '</td>' ;
2022-05-09 11:16:58 +02:00
} elseif ( $value == 'type' && $tabname == 'c_paiement' ) {
2019-10-08 15:48:18 +02:00
print '<td>' ;
$select_list = array ( 0 => $langs -> trans ( 'PaymentTypeCustomer' ), 1 => $langs -> trans ( 'PaymentTypeSupplier' ), 2 => $langs -> trans ( 'PaymentTypeBoth' ));
2021-04-15 16:36:17 +02:00
print $form -> selectarray ( $value , $select_list , ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '2' ));
2019-10-08 15:48:18 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'recuperableonly' || $value == 'type_cdr' || $value == 'deductible' || $value == 'category_type' ) {
if ( $value == 'type_cdr' ) {
2021-02-26 22:04:03 +01:00
print '<td class="center">' ;
} else {
print '<td>' ;
}
2021-04-15 16:36:17 +02:00
if ( $value == 'type_cdr' ) {
print $form -> selectarray ( $value , array ( 0 => $langs -> trans ( 'None' ), 1 => $langs -> trans ( 'AtEndOfMonth' ), 2 => $langs -> trans ( 'CurrentNext' )), ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ));
2016-10-04 15:45:23 +02:00
} else {
2021-04-15 16:36:17 +02:00
print $form -> selectyesno ( $value , ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ), 1 );
2016-10-04 15:45:23 +02:00
}
2012-09-25 19:34:18 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( in_array ( $value , array ( 'nbjour' , 'decalage' , 'taux' , 'localtax1' , 'localtax2' ))) {
2022-05-09 11:16:58 +02:00
$class = " right " ;
2021-04-15 16:36:17 +02:00
if ( in_array ( $value , array ( 'taux' , 'localtax1' , 'localtax2' ))) {
2021-02-26 22:04:03 +01:00
$class = " center " ; // Fields aligned on right
}
2020-01-22 17:00:54 +01:00
print '<td class="' . $class . '">' ;
2021-04-15 16:36:17 +02:00
print '<input type="text" class="flat" value="' . ( isset ( $obj -> { $value }) ? $obj -> { $value } : '' ) . '" size="3" name="' . $value . '">' ;
2012-09-25 19:34:18 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( in_array ( $value , array ( 'libelle_facture' ))) {
2020-10-07 15:01:28 +02:00
print '<td>' ;
$transfound = 0 ;
$transkey = '' ;
// Special case for labels
2022-05-09 11:16:58 +02:00
if ( $tabname == 'c_payment_term' ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " bills " );
$transkey = " PaymentCondition " . strtoupper ( $obj -> code );
2021-02-26 22:04:03 +01:00
if ( $langs -> trans ( $transkey ) != $transkey ) {
2020-10-07 15:01:28 +02:00
$transfound = 1 ;
print $form -> textwithpicto ( $langs -> trans ( $transkey ), $langs -> trans ( " GoIntoTranslationMenuToChangeThis " ));
}
}
2021-02-26 22:04:03 +01:00
if ( ! $transfound ) {
2021-04-15 16:36:17 +02:00
print '<textarea cols="30" rows="' . ROWS_2 . '" class="flat" name="' . $value . '">' . ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ) . '</textarea>' ;
2020-10-07 15:01:28 +02:00
} else {
2021-04-15 16:36:17 +02:00
print '<input type="hidden" name="' . $value . '" value="' . $transkey . '">' ;
2020-10-07 15:01:28 +02:00
}
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'price' || preg_match ( '/^amount/i' , $value )) {
print '<td><input type="text" class="flat minwidth75" value="' . price (( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' )) . '" name="' . $value . '"></td>' ;
} elseif ( $value == 'code' && isset ( $obj -> { $value })) {
print '<td><input type="text" class="flat minwidth75 maxwidth100" value="' . ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ) . '" name="' . $value . '"></td>' ;
} elseif ( $value == 'unit' ) {
2012-09-25 19:34:18 +02:00
print '<td>' ;
$units = array (
2022-03-16 21:59:58 +01:00
'mm' => $langs -> trans ( 'SizeUnitmm' ),
'cm' => $langs -> trans ( 'SizeUnitcm' ),
'point' => $langs -> trans ( 'SizeUnitpoint' ),
'inch' => $langs -> trans ( 'SizeUnitinch' )
2012-09-25 19:34:18 +02:00
);
2021-04-15 16:36:17 +02:00
print $form -> selectarray ( 'unit' , $units , ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ), 0 , 0 , 0 );
2012-09-25 19:34:18 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'localtax1_type' || $value == 'localtax2_type' ) {
2021-02-26 22:04:03 +01:00
// Le type de taxe locale
2019-03-20 09:47:06 +01:00
print '<td class="center">' ;
2021-04-15 16:36:17 +02:00
print $form -> selectarray ( $value , $localtax_typeList , ( ! empty ( $obj -> { $value }) ? $obj -> { $value } : '' ));
2012-09-25 19:34:18 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'accountancy_code' || $value == 'accountancy_code_sell' || $value == 'accountancy_code_buy' ) {
2015-12-26 08:19:43 +01:00
print '<td>' ;
2022-09-04 13:29:29 +02:00
if ( isModEnabled ( 'accounting' )) {
2021-04-15 16:36:17 +02:00
$fieldname = $value ;
2019-11-13 19:35:02 +01:00
$accountancy_account = ( ! empty ( $obj -> $fieldname ) ? $obj -> $fieldname : 0 );
2021-04-15 16:36:17 +02:00
print $formaccounting -> select_account ( $accountancy_account , '.' . $value , 1 , '' , 1 , 1 , 'maxwidth200 maxwidthonsmartphone' );
2020-05-21 09:35:30 +02:00
} else {
2021-04-15 16:36:17 +02:00
$fieldname = $value ;
print '<input type="text" size="10" class="flat" value="' . ( isset ( $obj -> $fieldname ) ? $obj -> $fieldname : '' ) . '" name="' . $value . '">' ;
2015-12-26 08:19:43 +01:00
}
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'fk_tva' ) {
2017-06-15 11:08:53 +02:00
print '<td>' ;
print $form -> load_tva ( 'fk_tva' , $obj -> taux , $mysoc , new Societe ( $db ), 0 , 0 , '' , false , - 1 );
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'fk_c_exp_tax_cat' ) {
2017-06-15 11:08:53 +02:00
print '<td>' ;
2017-07-07 10:22:37 +02:00
print $form -> selectExpenseCategories ( $obj -> fk_c_exp_tax_cat );
2017-06-15 11:08:53 +02:00
print '</td>' ;
2021-04-15 16:36:17 +02:00
} elseif ( $value == 'fk_range' ) {
2017-06-15 11:08:53 +02:00
print '<td>' ;
print $form -> selectExpenseRanges ( $obj -> fk_range );
print '</td>' ;
2021-06-10 23:04:56 +02:00
} elseif ( $value == 'block_if_negative' ) {
print '<td>' ;
2023-01-11 20:39:09 +01:00
print $form -> selectyesno ( " block_if_negative " , ( empty ( $obj -> block_if_negative ) ? '' : $obj -> block_if_negative ), 1 );
2021-06-10 23:04:56 +02:00
print '</td>' ;
2022-03-07 16:02:49 +01:00
} elseif ( $value == 'type_duration' ) {
print '<td>' ;
2023-01-11 20:40:15 +01:00
print $form -> selectTypeDuration ( '' , ( empty ( $obj -> type_duration ) ? '' : $obj -> type_duration ), array ( 'i' , 'h' ));
2022-03-07 16:02:49 +01:00
print '</td>' ;
2020-05-21 09:35:30 +02:00
} else {
2021-07-07 18:30:10 +02:00
$fieldValue = isset ( $obj -> { $value }) ? $obj -> { $value } : '' ;
2022-05-09 11:16:58 +02:00
$classtd = '' ; $class = '' ;
2019-07-02 15:44:42 +02:00
2021-04-15 16:36:17 +02:00
if ( $value == 'sortorder' ) {
2020-10-07 15:01:28 +02:00
$fieldlist [ $field ] = 'position' ;
}
2017-09-25 00:08:26 +02:00
2021-02-26 22:04:03 +01:00
if ( $fieldlist [ $field ] == 'code' ) {
$class = 'maxwidth100' ;
}
2022-05-09 11:16:58 +02:00
if ( in_array ( $fieldlist [ $field ], array ( 'deposit_percent' ))) {
2021-07-07 18:41:37 +02:00
$classtd = 'right' ; $class = 'maxwidth50 right' ;
}
2022-05-09 11:16:58 +02:00
if ( in_array ( $fieldlist [ $field ], array ( 'pos' , 'position' ))) {
2023-02-22 15:46:20 +01:00
$classtd = 'right' ; $class = 'maxwidth50 right' ;
2022-05-09 11:16:58 +02:00
}
2021-07-07 18:41:37 +02:00
if ( in_array ( $fieldlist [ $field ], array ( 'dayrule' , 'day' , 'month' , 'year' , 'use_default' , 'affect' , 'delay' , 'public' , 'sortorder' , 'sens' , 'category_type' , 'fk_parent' ))) {
2020-10-16 20:17:54 +02:00
$class = 'maxwidth50 center' ;
}
2021-07-07 18:30:10 +02:00
if ( in_array ( $fieldlist [ $field ], array ( 'use_default' , 'public' , 'fk_parent' ))) {
2020-10-16 20:17:54 +02:00
$classtd = 'center' ;
}
2021-02-26 22:04:03 +01:00
if ( in_array ( $fieldlist [ $field ], array ( 'libelle' , 'label' , 'tracking' ))) {
$class = 'quatrevingtpercent' ;
}
2021-07-07 18:30:10 +02:00
// Fields that must be suggested as '0' instead of ''
if ( $fieldlist [ $field ] == 'fk_parent' ) {
if ( empty ( $fieldValue )) {
$fieldValue = '0' ;
}
}
2022-01-21 13:38:59 +01:00
// Labels Length
$maxlength = '' ;
if ( in_array ( $fieldlist [ $field ], array ( 'libelle' , 'label' ))) {
2022-01-21 13:47:20 +01:00
switch ( $tabname ) {
2022-05-09 11:16:58 +02:00
case 'c_accounting_category' :
case 'c_ecotaxe' :
case 'c_email_senderprofile' :
case 'c_forme_juridique' :
case 'c_holiday_types' :
case 'c_payment_term' :
case 'c_transport_mode' :
2022-01-21 13:47:20 +01:00
$maxlength = ' maxlength="255"' ;
break ;
2022-05-09 11:16:58 +02:00
case 'c_email_templates' :
2022-01-21 13:47:20 +01:00
$maxlength = ' maxlength="180"' ;
break ;
2022-05-09 11:16:58 +02:00
case 'c_socialnetworks' :
2022-01-21 13:47:20 +01:00
$maxlength = ' maxlength="150"' ;
break ;
default :
$maxlength = ' maxlength="128"' ;
2022-01-21 13:38:59 +01:00
}
}
2017-04-14 18:43:34 +02:00
print '<td class="' . $classtd . '">' ;
2019-11-13 19:35:02 +01:00
$transfound = 0 ;
2020-10-07 15:01:28 +02:00
$transkey = '' ;
2021-02-26 22:04:03 +01:00
if ( in_array ( $fieldlist [ $field ], array ( 'label' , 'libelle' ))) { // For label
2020-10-07 15:01:28 +02:00
// Special case for labels
2022-05-09 11:16:58 +02:00
if ( $tabname == 'c_civility' && ! empty ( $obj -> code )) {
2020-10-07 15:01:28 +02:00
$transkey = " Civility " . strtoupper ( $obj -> code );
}
2022-05-09 11:16:58 +02:00
if ( $tabname == 'c_payment_term' && ! empty ( $obj -> code )) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " bills " );
$transkey = " PaymentConditionShort " . strtoupper ( $obj -> code );
}
2021-02-26 22:04:03 +01:00
if ( $transkey && $langs -> trans ( $transkey ) != $transkey ) {
2020-10-07 15:01:28 +02:00
$transfound = 1 ;
print $form -> textwithpicto ( $langs -> trans ( $transkey ), $langs -> trans ( " GoIntoTranslationMenuToChangeThis " ));
}
2017-04-14 19:48:01 +02:00
}
2021-02-26 22:04:03 +01:00
if ( ! $transfound ) {
2022-01-21 13:38:59 +01:00
print '<input type="text" class="flat' . ( $class ? ' ' . $class : '' ) . '"' . ( $maxlength ? ' ' . $maxlength : '' ) . ' value="' . dol_escape_htmltag ( $fieldValue ) . '" name="' . $fieldlist [ $field ] . '">' ;
2020-05-21 09:35:30 +02:00
} else {
2020-10-07 15:01:28 +02:00
print '<input type="hidden" name="' . $fieldlist [ $field ] . '" value="' . $transkey . '">' ;
}
2012-09-25 19:34:18 +02:00
print '</td>' ;
}
}
2017-06-08 15:32:08 +02:00
return $withentity ;
2007-07-23 20:07:27 +02:00
}