39require
'../main.inc.php';
40require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formadmin.class.php';
41require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
42require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
43require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
44require_once DOL_DOCUMENT_ROOT.
'/core/class/doleditor.class.php';
45require_once DOL_DOCUMENT_ROOT.
'/core/lib/accounting.lib.php';
46require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formaccounting.class.php';
49const DICT_FORME_JURIDIQUE = 1;
50const DICT_DEPARTEMENTS = 2;
51const DICT_REGIONS = 3;
52const DICT_COUNTRY = 4;
53const DICT_CIVILITY = 5;
54const DICT_ACTIONCOMM = 6;
55const DICT_CHARGESOCIALES = 7;
57const DICT_CURRENCIES = 9;
59const DICT_TYPE_CONTACT = 11;
60const DICT_PAYMENT_TERM = 12;
61const DICT_PAIEMENT = 13;
62const DICT_ECOTAXE = 14;
63const DICT_PAPER_FORMAT = 15;
64const DICT_PROSPECTLEVEL = 16;
65const DICT_TYPE_FEES = 17;
66const DICT_SHIPMENT_MODE = 18;
67const DICT_EFFECTIF = 19;
68const DICT_INPUT_METHOD = 20;
69const DICT_AVAILABILITY = 21;
70const DICT_INPUT_REASON = 22;
71const DICT_REVENUESTAMP = 23;
72const DICT_TYPE_RESOURCE = 24;
73const DICT_TYPE_CONTAINER = 25;
75const DICT_STCOMM = 27;
76const DICT_HOLIDAY_TYPES = 28;
77const DICT_LEAD_STATUS = 29;
78const DICT_FORMAT_CARDS = 30;
79const DICT_INVOICE_SUBTYPE = 31;
80const DICT_HRM_PUBLIC_HOLIDAY = 32;
81const DICT_HRM_DEPARTMENT = 33;
82const DICT_HRM_FUNCTION = 34;
83const DICT_EXP_TAX_CAT = 35;
84const DICT_EXP_TAX_RANGE = 36;
86const DICT_SOCIALNETWORKS = 38;
87const DICT_PROSPECTCONTACTLEVEL = 39;
88const DICT_STCOMMCONTACT = 40;
89const DICT_TRANSPORT_MODE = 41;
90const DICT_PRODUCT_NATURE = 42;
91const DICT_PRODUCTBATCH_QCSTATUS = 43;
92const DICT_ASSET_DISPOSAL_TYPE = 44;
95$langs->loadLangs(array(
"errors",
"admin",
"main",
"companies",
"resource",
"holiday",
"accountancy",
"hrm",
"orders",
"contracts",
"projects",
"propal",
"bills",
"interventions",
"ticket"));
97$action =
GETPOST(
'action',
'alpha') ?
GETPOST(
'action',
'alpha') :
'view';
98$confirm =
GETPOST(
'confirm',
'alpha');
101$rowid =
GETPOST(
'rowid',
'alpha');
102$entity =
GETPOST(
'entity',
'alpha');
103$code =
GETPOST(
'code',
'alpha');
104$from =
GETPOST(
'from',
'alpha');
108$acts[0] =
"activate";
110$actl[0] =
img_picto($langs->trans(
"Disabled"),
'switch_off',
'class="size15x"');
111$actl[1] =
img_picto($langs->trans(
"Activated"),
'switch_on',
'class="size15x"');
114$listoffset =
GETPOST(
'listoffset');
115$listlimit =
GETPOST(
'listlimit') > 0 ?
GETPOST(
'listlimit') : 1000;
116$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
117$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
119if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
123$offset = $listlimit * $page;
124$pageprev = $page - 1;
125$pagenext = $page + 1;
127$search_country_id =
GETPOST(
'search_country_id',
'int');
128$search_code =
GETPOST(
'search_code',
'alpha');
129$search_active =
GETPOST(
'search_active',
'alpha');
132if (!GETPOSTISSET(
'search_country_id') && $search_country_id ==
'' && ($id == DICT_DEPARTEMENTS || $id == DICT_REGIONS || $id == DICT_TVA)) {
133 $search_country_id = $mysoc->country_id;
137$hookmanager->initHooks(array(
'admin',
'dictionaryadmin'));
139$allowed = $user->admin;
140if ($id == DICT_CHARGESOCIALES && $user->hasRight(
'accounting',
'chartofaccount')) {
143if ($id == DICT_TVA && $user->hasRight(
'accounting',
'chartofaccount')) {
146if ($id == DICT_TYPE_FEES && $user->hasRight(
'accounting',
'chartofaccount')) {
153$permissiontoadd = $allowed;
160$taborder = array(DICT_CURRENCIES, DICT_PAPER_FORMAT, DICT_FORMAT_CARDS, 0, DICT_COUNTRY, DICT_REGIONS, DICT_DEPARTEMENTS, 0, DICT_FORME_JURIDIQUE, DICT_TYPENT, DICT_EFFECTIF, DICT_PROSPECTLEVEL, DICT_PROSPECTCONTACTLEVEL, DICT_STCOMM, DICT_STCOMMCONTACT, DICT_SOCIALNETWORKS, 0, DICT_CIVILITY, DICT_TYPE_CONTACT, 0, DICT_ACTIONCOMM, DICT_TYPE_RESOURCE, 0, DICT_LEAD_STATUS, 0, DICT_HRM_DEPARTMENT, DICT_HRM_FUNCTION, DICT_HRM_PUBLIC_HOLIDAY, DICT_HOLIDAY_TYPES, DICT_TYPE_FEES, DICT_EXP_TAX_CAT, DICT_EXP_TAX_RANGE, 0, DICT_TVA, DICT_INVOICE_SUBTYPE, DICT_REVENUESTAMP, DICT_PAYMENT_TERM, DICT_PAIEMENT, DICT_CHARGESOCIALES, 0, DICT_ECOTAXE, 0, DICT_INPUT_REASON, DICT_INPUT_METHOD, DICT_SHIPMENT_MODE, DICT_AVAILABILITY, DICT_TRANSPORT_MODE, 0, DICT_UNITS, DICT_PRODUCT_NATURE, 0, DICT_PRODUCTBATCH_QCSTATUS, 0, DICT_TYPE_CONTAINER, 0, DICT_ASSET_DISPOSAL_TYPE, 0);
164$tabname[DICT_FORME_JURIDIQUE] =
"c_forme_juridique";
165$tabname[DICT_DEPARTEMENTS] =
"c_departements";
166$tabname[DICT_REGIONS] =
"c_regions";
167$tabname[DICT_COUNTRY] =
"c_country";
168$tabname[DICT_CIVILITY] =
"c_civility";
169$tabname[DICT_ACTIONCOMM] =
"c_actioncomm";
170$tabname[DICT_CHARGESOCIALES] =
"c_chargesociales";
171$tabname[DICT_TYPENT] =
"c_typent";
172$tabname[DICT_CURRENCIES] =
"c_currencies";
173$tabname[DICT_TVA] =
"c_tva";
174$tabname[DICT_TYPE_CONTACT] =
"c_type_contact";
175$tabname[DICT_PAYMENT_TERM] =
"c_payment_term";
176$tabname[DICT_PAIEMENT] =
"c_paiement";
177$tabname[DICT_ECOTAXE] =
"c_ecotaxe";
178$tabname[DICT_PAPER_FORMAT] =
"c_paper_format";
179$tabname[DICT_PROSPECTLEVEL] =
"c_prospectlevel";
180$tabname[DICT_TYPE_FEES] =
"c_type_fees";
181$tabname[DICT_SHIPMENT_MODE] =
"c_shipment_mode";
182$tabname[DICT_EFFECTIF] =
"c_effectif";
183$tabname[DICT_INPUT_METHOD] =
"c_input_method";
184$tabname[DICT_AVAILABILITY] =
"c_availability";
185$tabname[DICT_INPUT_REASON] =
"c_input_reason";
186$tabname[DICT_REVENUESTAMP] =
"c_revenuestamp";
187$tabname[DICT_TYPE_RESOURCE] =
"c_type_resource";
188$tabname[DICT_TYPE_CONTAINER] =
"c_type_container";
190$tabname[DICT_STCOMM] =
"c_stcomm";
191$tabname[DICT_HOLIDAY_TYPES] =
"c_holiday_types";
192$tabname[DICT_LEAD_STATUS] =
"c_lead_status";
193$tabname[DICT_FORMAT_CARDS] =
"c_format_cards";
194$tabname[DICT_INVOICE_SUBTYPE] =
"c_invoice_subtype";
195$tabname[DICT_HRM_PUBLIC_HOLIDAY] =
"c_hrm_public_holiday";
196$tabname[DICT_HRM_DEPARTMENT] =
"c_hrm_department";
197$tabname[DICT_HRM_FUNCTION] =
"c_hrm_function";
198$tabname[DICT_EXP_TAX_CAT] =
"c_exp_tax_cat";
199$tabname[DICT_EXP_TAX_RANGE] =
"c_exp_tax_range";
200$tabname[DICT_UNITS] =
"c_units";
201$tabname[DICT_SOCIALNETWORKS] =
"c_socialnetworks";
202$tabname[DICT_PROSPECTCONTACTLEVEL] =
"c_prospectcontactlevel";
203$tabname[DICT_STCOMMCONTACT] =
"c_stcommcontact";
204$tabname[DICT_TRANSPORT_MODE] =
"c_transport_mode";
205$tabname[DICT_PRODUCT_NATURE] =
"c_product_nature";
206$tabname[DICT_PRODUCTBATCH_QCSTATUS] =
"c_productbatch_qcstatus";
207$tabname[DICT_ASSET_DISPOSAL_TYPE] =
"c_asset_disposal_type";
211$tablib[DICT_FORME_JURIDIQUE] =
"DictionaryCompanyJuridicalType";
212$tablib[DICT_DEPARTEMENTS] =
"DictionaryCanton";
213$tablib[DICT_REGIONS] =
"DictionaryRegion";
214$tablib[DICT_COUNTRY] =
"DictionaryCountry";
215$tablib[DICT_CIVILITY] =
"DictionaryCivility";
216$tablib[DICT_ACTIONCOMM] =
"DictionaryActions";
217$tablib[DICT_CHARGESOCIALES] =
"DictionarySocialContributions";
218$tablib[DICT_TYPENT] =
"DictionaryCompanyType";
219$tablib[DICT_CURRENCIES] =
"DictionaryCurrency";
220$tablib[DICT_TVA] =
"DictionaryVAT";
221$tablib[DICT_TYPE_CONTACT] =
"DictionaryTypeContact";
222$tablib[DICT_PAYMENT_TERM] =
"DictionaryPaymentConditions";
223$tablib[DICT_PAIEMENT] =
"DictionaryPaymentModes";
224$tablib[DICT_ECOTAXE] =
"DictionaryEcotaxe";
225$tablib[DICT_PAPER_FORMAT] =
"DictionaryPaperFormat";
226$tablib[DICT_PROSPECTLEVEL] =
"DictionaryProspectLevel";
227$tablib[DICT_TYPE_FEES] =
"DictionaryFees";
228$tablib[DICT_SHIPMENT_MODE] =
"DictionarySendingMethods";
229$tablib[DICT_EFFECTIF] =
"DictionaryStaff";
230$tablib[DICT_INPUT_METHOD] =
"DictionaryOrderMethods";
231$tablib[DICT_AVAILABILITY] =
"DictionaryAvailability";
232$tablib[DICT_INPUT_REASON] =
"DictionarySource";
233$tablib[DICT_REVENUESTAMP] =
"DictionaryRevenueStamp";
234$tablib[DICT_TYPE_RESOURCE] =
"DictionaryResourceType";
235$tablib[DICT_TYPE_CONTAINER] =
"DictionaryTypeOfContainer";
237$tablib[DICT_STCOMM] =
"DictionaryProspectStatus";
238$tablib[DICT_HOLIDAY_TYPES] =
"DictionaryHolidayTypes";
239$tablib[DICT_LEAD_STATUS] =
"DictionaryOpportunityStatus";
240$tablib[DICT_FORMAT_CARDS] =
"DictionaryFormatCards";
241$tablib[DICT_INVOICE_SUBTYPE] =
"DictionaryInvoiceSubtype";
242$tablib[DICT_HRM_PUBLIC_HOLIDAY] =
"DictionaryPublicHolidays";
243$tablib[DICT_HRM_DEPARTMENT] =
"DictionaryDepartment";
244$tablib[DICT_HRM_FUNCTION] =
"DictionaryFunction";
245$tablib[DICT_EXP_TAX_CAT] =
"DictionaryExpenseTaxCat";
246$tablib[DICT_EXP_TAX_RANGE] =
"DictionaryExpenseTaxRange";
247$tablib[DICT_UNITS] =
"DictionaryMeasuringUnits";
248$tablib[DICT_SOCIALNETWORKS] =
"DictionarySocialNetworks";
249$tablib[DICT_PROSPECTCONTACTLEVEL] =
"DictionaryProspectContactLevel";
250$tablib[DICT_STCOMMCONTACT] =
"DictionaryProspectContactStatus";
251$tablib[DICT_TRANSPORT_MODE] =
"DictionaryTransportMode";
252$tablib[DICT_PRODUCT_NATURE] =
"DictionaryProductNature";
253$tablib[DICT_PRODUCTBATCH_QCSTATUS] =
"DictionaryBatchStatus";
254$tablib[DICT_ASSET_DISPOSAL_TYPE] =
"DictionaryAssetDisposalType";
258$tabsql[DICT_FORME_JURIDIQUE] =
"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";
259$tabsql[DICT_DEPARTEMENTS] =
"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";
260$tabsql[DICT_REGIONS] =
"SELECT r.rowid as rowid, r.code_region as 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";
261$tabsql[DICT_COUNTRY] =
"SELECT c.rowid as rowid, c.code, c.label, c.active, c.favorite, c.eec FROM ".MAIN_DB_PREFIX.
"c_country AS c";
262$tabsql[DICT_CIVILITY] =
"SELECT c.rowid as rowid, c.code as code, c.label, c.active FROM ".MAIN_DB_PREFIX.
"c_civility AS c";
263$tabsql[DICT_ACTIONCOMM] =
"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";
264$tabsql[DICT_CHARGESOCIALES] =
"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";
265$tabsql[DICT_TYPENT] =
"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";
266$tabsql[DICT_CURRENCIES] =
"SELECT c.code_iso as code, c.label, c.unicode, c.active FROM ".MAIN_DB_PREFIX.
"c_currencies AS c";
267$tabsql[DICT_TVA] =
"SELECT t.rowid, t.entity, t.type_vat, 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 AND t.entity IN (".
getEntity($tabname[DICT_TVA]).
")";
268$tabsql[DICT_TYPE_CONTACT] =
"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";
269$tabsql[DICT_PAYMENT_TERM] =
"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 IN (".
getEntity($tabname[DICT_PAYMENT_TERM]).
")";
270$tabsql[DICT_PAIEMENT] =
"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 IN (".
getEntity($tabname[DICT_PAIEMENT]).
")";
271$tabsql[DICT_ECOTAXE] =
"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";
272$tabsql[DICT_PAPER_FORMAT] =
"SELECT t.rowid as rowid, t.code, t.label as libelle, t.width, t.height, t.unit, t.active FROM ".MAIN_DB_PREFIX.
"c_paper_format as t";
273$tabsql[DICT_PROSPECTLEVEL] =
"SELECT t.code, t.label as libelle, t.sortorder, t.active FROM ".MAIN_DB_PREFIX.
"c_prospectlevel as t";
274$tabsql[DICT_TYPE_FEES] =
"SELECT t.id as rowid, t.code, t.label, t.accountancy_code, t.active FROM ".MAIN_DB_PREFIX.
"c_type_fees as t";
275$tabsql[DICT_SHIPMENT_MODE] =
"SELECT t.rowid as rowid, t.code, t.libelle, t.tracking, t.active FROM ".MAIN_DB_PREFIX.
"c_shipment_mode as t";
276$tabsql[DICT_EFFECTIF] =
"SELECT t.id as rowid, t.code, t.libelle, t.active FROM ".MAIN_DB_PREFIX.
"c_effectif as t";
277$tabsql[DICT_INPUT_METHOD] =
"SELECT t.rowid as rowid, t.code, t.libelle, t.active FROM ".MAIN_DB_PREFIX.
"c_input_method as t";
278$tabsql[DICT_AVAILABILITY] =
"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";
279$tabsql[DICT_INPUT_REASON] =
"SELECT t.rowid as rowid, t.code, t.label, t.active FROM ".MAIN_DB_PREFIX.
"c_input_reason as t";
280$tabsql[DICT_REVENUESTAMP] =
"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";
281$tabsql[DICT_TYPE_RESOURCE] =
"SELECT t.rowid as rowid, t.code, t.label, t.active FROM ".MAIN_DB_PREFIX.
"c_type_resource as t";
282$tabsql[DICT_TYPE_CONTAINER] =
"SELECT t.rowid as rowid, t.code, t.label, t.active, t.module FROM ".MAIN_DB_PREFIX.
"c_type_container as t WHERE t.entity IN (".
getEntity($tabname[DICT_TYPE_CONTAINER]).
")";
284$tabsql[DICT_STCOMM] =
"SELECT t.id as rowid, t.code, t.libelle, t.picto, t.active FROM ".MAIN_DB_PREFIX.
"c_stcomm as t";
285$tabsql[DICT_HOLIDAY_TYPES] =
"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 WHERE h.entity IN (".
getEntity($tabname[DICT_HOLIDAY_TYPES]).
")";
286$tabsql[DICT_LEAD_STATUS] =
"SELECT t.rowid as rowid, t.code, t.label, percent, t.position, t.active FROM ".MAIN_DB_PREFIX.
"c_lead_status as t";
287$tabsql[DICT_FORMAT_CARDS] =
"SELECT t.rowid, t.code, t.name, t.paper_size, t.orientation, t.metric, t.leftmargin, t.topmargin, t.nx, t.ny, t.spacex, t.spacey, t.width, t.height, t.font_size, t.custom_x, t.custom_y, t.active FROM ".MAIN_DB_PREFIX.
"c_format_cards as t";
288$tabsql[DICT_INVOICE_SUBTYPE] =
"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";
289$tabsql[DICT_HRM_PUBLIC_HOLIDAY] =
"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";
290$tabsql[DICT_HRM_DEPARTMENT] =
"SELECT t.rowid, t.pos, t.code, t.label, t.active FROM ".MAIN_DB_PREFIX.
"c_hrm_department as t";
291$tabsql[DICT_HRM_FUNCTION] =
"SELECT t.rowid, t.pos, t.code, t.label, t.c_level, t.active FROM ".MAIN_DB_PREFIX.
"c_hrm_function as t";
292$tabsql[DICT_EXP_TAX_CAT] =
"SELECT c.rowid, c.label, c.active, c.entity FROM ".MAIN_DB_PREFIX.
"c_exp_tax_cat as c";
293$tabsql[DICT_EXP_TAX_RANGE] =
"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";
294$tabsql[DICT_UNITS] =
"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";
295$tabsql[DICT_SOCIALNETWORKS] =
"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 IN (".
getEntity($tabname[DICT_SOCIALNETWORKS]).
")";
296$tabsql[DICT_PROSPECTCONTACTLEVEL] =
"SELECT t.code, t.label as libelle, t.sortorder, t.active FROM ".MAIN_DB_PREFIX.
"c_prospectcontactlevel as t";
297$tabsql[DICT_STCOMMCONTACT] =
"SELECT t.id as rowid, t.code, t.libelle, t.picto, t.active FROM ".MAIN_DB_PREFIX.
"c_stcommcontact as t";
298$tabsql[DICT_TRANSPORT_MODE] =
"SELECT t.rowid as rowid, t.code, t.label, t.active FROM ".MAIN_DB_PREFIX.
"c_transport_mode as t";
299$tabsql[DICT_PRODUCT_NATURE] =
"SELECT t.rowid as rowid, t.code, t.label, t.active FROM ".MAIN_DB_PREFIX.
"c_product_nature as t";
300$tabsql[DICT_PRODUCTBATCH_QCSTATUS] =
"SELECT t.rowid, t.code, t.label, t.active FROM ".MAIN_DB_PREFIX.
"c_productbatch_qcstatus as t";
301$tabsql[DICT_ASSET_DISPOSAL_TYPE] =
"SELECT t.rowid, t.code, t.label, t.active FROM ".MAIN_DB_PREFIX.
"c_asset_disposal_type as t";
304$tabsqlsort = array();
305$tabsqlsort[DICT_FORME_JURIDIQUE] =
"country ASC, code ASC";
306$tabsqlsort[DICT_DEPARTEMENTS] =
"country ASC, code ASC";
307$tabsqlsort[DICT_REGIONS] =
"country ASC, code ASC";
308$tabsqlsort[DICT_COUNTRY] =
"code ASC";
309$tabsqlsort[DICT_CIVILITY] =
"label ASC";
310$tabsqlsort[DICT_ACTIONCOMM] =
"a.type ASC, a.module ASC, a.position ASC, a.code ASC";
311$tabsqlsort[DICT_CHARGESOCIALES] =
"c.label ASC, a.code ASC, a.libelle ASC";
312$tabsqlsort[DICT_TYPENT] =
"country DESC,".(getDolGlobalString(
'SOCIETE_SORT_ON_TYPEENT') ?
' t.position ASC,' :
'').
" libelle ASC";
313$tabsqlsort[DICT_CURRENCIES] =
"label ASC";
314$tabsqlsort[DICT_TVA] =
"country ASC, code ASC, taux ASC, recuperableonly ASC, localtax1 ASC, localtax2 ASC";
315$tabsqlsort[DICT_TYPE_CONTACT] =
"t.element ASC, t.source ASC, t.position ASC, t.code ASC";
316$tabsqlsort[DICT_PAYMENT_TERM] =
"sortorder ASC, code ASC";
317$tabsqlsort[DICT_PAIEMENT] =
"code ASC";
318$tabsqlsort[DICT_ECOTAXE] =
"country ASC, e.organization ASC, code ASC";
319$tabsqlsort[DICT_PAPER_FORMAT] =
"rowid ASC";
320$tabsqlsort[DICT_PROSPECTLEVEL] =
"sortorder ASC";
321$tabsqlsort[DICT_TYPE_FEES] =
"code ASC";
322$tabsqlsort[DICT_SHIPMENT_MODE] =
"code ASC, libelle ASC";
323$tabsqlsort[DICT_EFFECTIF] =
"id ASC";
324$tabsqlsort[DICT_INPUT_METHOD] =
"code ASC, libelle ASC";
325$tabsqlsort[DICT_AVAILABILITY] =
"position ASC, type_duration ASC, qty ASC";
326$tabsqlsort[DICT_INPUT_REASON] =
"code ASC, label ASC";
327$tabsqlsort[DICT_REVENUESTAMP] =
"country ASC, taux ASC";
328$tabsqlsort[DICT_TYPE_RESOURCE] =
"code ASC, label ASC";
329$tabsqlsort[DICT_TYPE_CONTAINER] =
"t.module ASC, t.code ASC, t.label ASC";
331$tabsqlsort[DICT_STCOMM] =
"code ASC";
332$tabsqlsort[DICT_HOLIDAY_TYPES] =
"sortorder ASC, country ASC, code ASC";
333$tabsqlsort[DICT_LEAD_STATUS] =
"position ASC";
334$tabsqlsort[DICT_FORMAT_CARDS] =
"code ASC";
335$tabsqlsort[DICT_INVOICE_SUBTYPE] =
"country ASC, code ASC";
336$tabsqlsort[DICT_HRM_PUBLIC_HOLIDAY] =
"country, year ASC, month ASC, day ASC";
337$tabsqlsort[DICT_HRM_DEPARTMENT] =
"code ASC";
338$tabsqlsort[DICT_HRM_FUNCTION] =
"code ASC";
339$tabsqlsort[DICT_EXP_TAX_CAT] =
"c.label ASC";
340$tabsqlsort[DICT_EXP_TAX_RANGE] =
"r.fk_c_exp_tax_cat ASC, r.range_ik ASC";
341$tabsqlsort[DICT_UNITS] =
"sortorder ASC";
342$tabsqlsort[DICT_SOCIALNETWORKS] =
"rowid, code ASC";
343$tabsqlsort[DICT_PROSPECTCONTACTLEVEL] =
"sortorder ASC";
344$tabsqlsort[DICT_STCOMMCONTACT] =
"code ASC";
345$tabsqlsort[DICT_TRANSPORT_MODE] =
"code ASC";
346$tabsqlsort[DICT_PRODUCT_NATURE] =
"code ASC";
347$tabsqlsort[DICT_PRODUCTBATCH_QCSTATUS] =
"code ASC";
348$tabsqlsort[DICT_ASSET_DISPOSAL_TYPE] =
"code ASC";
352$tabfield[DICT_FORME_JURIDIQUE] =
"code,libelle,country";
353$tabfield[DICT_DEPARTEMENTS] =
"code,libelle,region_id,region,country";
354$tabfield[DICT_REGIONS] =
"code,libelle,country_id,country";
355$tabfield[DICT_COUNTRY] =
"code,label";
356$tabfield[DICT_CIVILITY] =
"code,label";
357$tabfield[DICT_ACTIONCOMM] =
"code,libelle,type,color,position";
358$tabfield[DICT_CHARGESOCIALES] =
"code,libelle,country,accountancy_code";
359$tabfield[DICT_TYPENT] =
"code,libelle,country_id,country".(getDolGlobalString(
'SOCIETE_SORT_ON_TYPEENT') ?
',position' :
'');
360$tabfield[DICT_CURRENCIES] =
"code,label,unicode";
361$tabfield[DICT_TVA] =
"country_id,country,type_vat,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note";
362$tabfield[DICT_TYPE_CONTACT] =
"element,source,code,libelle,position";
363$tabfield[DICT_PAYMENT_TERM] =
"code,libelle,libelle_facture,deposit_percent,nbjour,type_cdr,decalage,sortorder";
364$tabfield[DICT_PAIEMENT] =
"code,libelle,type";
365$tabfield[DICT_ECOTAXE] =
"code,label,price,organization,country";
366$tabfield[DICT_PAPER_FORMAT] =
"code,libelle,width,height,unit";
367$tabfield[DICT_PROSPECTLEVEL] =
"code,libelle,sortorder";
368$tabfield[DICT_TYPE_FEES] =
"code,label,accountancy_code";
369$tabfield[DICT_SHIPMENT_MODE] =
"code,libelle,tracking";
370$tabfield[DICT_EFFECTIF] =
"code,libelle";
371$tabfield[DICT_INPUT_METHOD] =
"code,libelle";
372$tabfield[DICT_AVAILABILITY] =
"code,label,qty,type_duration,position";
373$tabfield[DICT_INPUT_REASON] =
"code,label";
374$tabfield[DICT_REVENUESTAMP] =
"country_id,country,taux,revenuestamp_type,accountancy_code_sell,accountancy_code_buy,note";
375$tabfield[DICT_TYPE_RESOURCE] =
"code,label";
376$tabfield[DICT_TYPE_CONTAINER] =
"code,label";
378$tabfield[DICT_STCOMM] =
"code,libelle,picto";
379$tabfield[DICT_HOLIDAY_TYPES] =
"code,label,affect,delay,newbymonth,country_id,country,block_if_negative,sortorder";
380$tabfield[DICT_LEAD_STATUS] =
"code,label,percent,position";
381$tabfield[DICT_FORMAT_CARDS] =
"code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y";
382$tabfield[DICT_INVOICE_SUBTYPE] =
"country_id,country,code,label";
383$tabfield[DICT_HRM_PUBLIC_HOLIDAY] =
"code,dayrule,year,month,day,country_id,country";
384$tabfield[DICT_HRM_DEPARTMENT] =
"code,label";
385$tabfield[DICT_HRM_FUNCTION] =
"code,label";
386$tabfield[DICT_EXP_TAX_CAT] =
"label";
387$tabfield[DICT_EXP_TAX_RANGE] =
"range_ik,fk_c_exp_tax_cat";
388$tabfield[DICT_UNITS] =
"code,label,short_label,unit_type,scale,sortorder";
389$tabfield[DICT_SOCIALNETWORKS] =
"code,label,url,icon";
390$tabfield[DICT_PROSPECTCONTACTLEVEL] =
"code,libelle,sortorder";
391$tabfield[DICT_STCOMMCONTACT] =
"code,libelle,picto";
392$tabfield[DICT_TRANSPORT_MODE] =
"code,label";
393$tabfield[DICT_PRODUCT_NATURE] =
"code,label";
394$tabfield[DICT_PRODUCTBATCH_QCSTATUS] =
"code,label";
395$tabfield[DICT_ASSET_DISPOSAL_TYPE] =
"code,label";
398$tabfieldvalue = array();
399$tabfieldvalue[DICT_FORME_JURIDIQUE] =
"code,libelle,country";
400$tabfieldvalue[DICT_DEPARTEMENTS] =
"code,libelle,region";
401$tabfieldvalue[DICT_REGIONS] =
"code,libelle,country";
402$tabfieldvalue[DICT_COUNTRY] =
"code,label";
403$tabfieldvalue[DICT_CIVILITY] =
"code,label";
404$tabfieldvalue[DICT_ACTIONCOMM] =
"code,libelle,type,color,position";
405$tabfieldvalue[DICT_CHARGESOCIALES] =
"code,libelle,country,accountancy_code";
406$tabfieldvalue[DICT_TYPENT] =
"code,libelle,country".(getDolGlobalString(
'SOCIETE_SORT_ON_TYPEENT') ?
',position' :
'');
407$tabfieldvalue[DICT_CURRENCIES] =
"code,label,unicode";
408$tabfieldvalue[DICT_TVA] =
"country,type_vat,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note";
409$tabfieldvalue[DICT_TYPE_CONTACT] =
"element,source,code,libelle,position";
410$tabfieldvalue[DICT_PAYMENT_TERM] =
"code,libelle,libelle_facture,deposit_percent,nbjour,type_cdr,decalage,sortorder";
411$tabfieldvalue[DICT_PAIEMENT] =
"code,libelle,type";
412$tabfieldvalue[DICT_ECOTAXE] =
"code,label,price,organization,country";
413$tabfieldvalue[DICT_PAPER_FORMAT] =
"code,libelle,width,height,unit";
414$tabfieldvalue[DICT_PROSPECTLEVEL] =
"code,libelle,sortorder";
415$tabfieldvalue[DICT_TYPE_FEES] =
"code,label,accountancy_code";
416$tabfieldvalue[DICT_SHIPMENT_MODE] =
"code,libelle,tracking";
417$tabfieldvalue[DICT_EFFECTIF] =
"code,libelle";
418$tabfieldvalue[DICT_INPUT_METHOD] =
"code,libelle";
419$tabfieldvalue[DICT_AVAILABILITY] =
"code,label,qty,type_duration,position";
420$tabfieldvalue[DICT_INPUT_REASON] =
"code,label";
421$tabfieldvalue[DICT_REVENUESTAMP] =
"country,taux,revenuestamp_type,accountancy_code_sell,accountancy_code_buy,note";
422$tabfieldvalue[DICT_TYPE_RESOURCE] =
"code,label";
423$tabfieldvalue[DICT_TYPE_CONTAINER] =
"code,label";
425$tabfieldvalue[DICT_STCOMM] =
"code,libelle,picto";
426$tabfieldvalue[DICT_HOLIDAY_TYPES] =
"code,label,affect,delay,newbymonth,country,block_if_negative,sortorder";
427$tabfieldvalue[DICT_LEAD_STATUS] =
"code,label,percent,position";
428$tabfieldvalue[DICT_FORMAT_CARDS] =
"code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y";
429$tabfieldvalue[DICT_INVOICE_SUBTYPE] =
"country,code,label";
430$tabfieldvalue[DICT_HRM_PUBLIC_HOLIDAY] =
"code,dayrule,day,month,year,country";
431$tabfieldvalue[DICT_HRM_DEPARTMENT] =
"code,label";
432$tabfieldvalue[DICT_HRM_FUNCTION] =
"code,label";
433$tabfieldvalue[DICT_EXP_TAX_CAT] =
"label";
434$tabfieldvalue[DICT_EXP_TAX_RANGE] =
"range_ik,fk_c_exp_tax_cat";
435$tabfieldvalue[DICT_UNITS] =
"code,label,short_label,unit_type,scale,sortorder";
436$tabfieldvalue[DICT_SOCIALNETWORKS] =
"code,label,url,icon";
437$tabfieldvalue[DICT_PROSPECTCONTACTLEVEL] =
"code,libelle,sortorder";
438$tabfieldvalue[DICT_STCOMMCONTACT] =
"code,libelle,picto";
439$tabfieldvalue[DICT_TRANSPORT_MODE] =
"code,label";
440$tabfieldvalue[DICT_PRODUCT_NATURE] =
"code,label";
441$tabfieldvalue[DICT_PRODUCTBATCH_QCSTATUS] =
"code,label";
442$tabfieldvalue[DICT_ASSET_DISPOSAL_TYPE] =
"code,label";
445$tabfieldinsert = array();
446$tabfieldinsert[DICT_FORME_JURIDIQUE] =
"code,libelle,fk_pays";
447$tabfieldinsert[DICT_DEPARTEMENTS] =
"code_departement,nom,fk_region";
448$tabfieldinsert[DICT_REGIONS] =
"code_region,nom,fk_pays";
449$tabfieldinsert[DICT_COUNTRY] =
"code,label";
450$tabfieldinsert[DICT_CIVILITY] =
"code,label";
451$tabfieldinsert[DICT_ACTIONCOMM] =
"code,libelle,type,color,position";
452$tabfieldinsert[DICT_CHARGESOCIALES] =
"code,libelle,fk_pays,accountancy_code";
453$tabfieldinsert[DICT_TYPENT] =
"code,libelle,fk_country".(getDolGlobalString(
'SOCIETE_SORT_ON_TYPEENT') ?
',position' :
'');
454$tabfieldinsert[DICT_CURRENCIES] =
"code_iso,label,unicode";
455$tabfieldinsert[DICT_TVA] =
"fk_pays,type_vat,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note,entity";
456$tabfieldinsert[DICT_TYPE_CONTACT] =
"element,source,code,libelle,position";
457$tabfieldinsert[DICT_PAYMENT_TERM] =
"code,libelle,libelle_facture,deposit_percent,nbjour,type_cdr,decalage,sortorder,entity";
458$tabfieldinsert[DICT_PAIEMENT] =
"code,libelle,type,entity";
459$tabfieldinsert[DICT_ECOTAXE] =
"code,label,price,organization,fk_pays";
460$tabfieldinsert[DICT_PAPER_FORMAT] =
"code,label,width,height,unit";
461$tabfieldinsert[DICT_PROSPECTLEVEL] =
"code,label,sortorder";
462$tabfieldinsert[DICT_TYPE_FEES] =
"code,label,accountancy_code";
463$tabfieldinsert[DICT_SHIPMENT_MODE] =
"code,libelle,tracking";
464$tabfieldinsert[DICT_EFFECTIF] =
"code,libelle";
465$tabfieldinsert[DICT_INPUT_METHOD] =
"code,libelle";
466$tabfieldinsert[DICT_AVAILABILITY] =
"code,label,qty,type_duration,position";
467$tabfieldinsert[DICT_INPUT_REASON] =
"code,label";
468$tabfieldinsert[DICT_REVENUESTAMP] =
"fk_pays,taux,revenuestamp_type,accountancy_code_sell,accountancy_code_buy,note";
469$tabfieldinsert[DICT_TYPE_RESOURCE] =
"code,label";
470$tabfieldinsert[DICT_TYPE_CONTAINER] =
"code,label,entity";
472$tabfieldinsert[DICT_STCOMM] =
"code,libelle,picto";
473$tabfieldinsert[DICT_HOLIDAY_TYPES] =
"code,label,affect,delay,newbymonth,fk_country,block_if_negative,sortorder,entity";
474$tabfieldinsert[DICT_LEAD_STATUS] =
"code,label,percent,position";
475$tabfieldinsert[DICT_FORMAT_CARDS] =
"code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y";
476$tabfieldinsert[DICT_INVOICE_SUBTYPE] =
"fk_country,code,label";
477$tabfieldinsert[DICT_HRM_PUBLIC_HOLIDAY] =
"code,dayrule,day,month,year,fk_country";
478$tabfieldinsert[DICT_HRM_DEPARTMENT] =
"code,label";
479$tabfieldinsert[DICT_HRM_FUNCTION] =
"code,label";
480$tabfieldinsert[DICT_EXP_TAX_CAT] =
"label";
481$tabfieldinsert[DICT_EXP_TAX_RANGE] =
"range_ik,fk_c_exp_tax_cat";
482$tabfieldinsert[DICT_UNITS] =
"code,label,short_label,unit_type,scale,sortorder";
483$tabfieldinsert[DICT_SOCIALNETWORKS] =
"code,label,url,icon,entity";
484$tabfieldinsert[DICT_PROSPECTCONTACTLEVEL] =
"code,label,sortorder";
485$tabfieldinsert[DICT_STCOMMCONTACT] =
"code,libelle,picto";
486$tabfieldinsert[DICT_TRANSPORT_MODE] =
"code,label";
487$tabfieldinsert[DICT_PRODUCT_NATURE] =
"code,label";
488$tabfieldinsert[DICT_PRODUCTBATCH_QCSTATUS] =
"code,label";
489$tabfieldinsert[DICT_ASSET_DISPOSAL_TYPE] =
"code,label";
495$tabrowid[DICT_FORME_JURIDIQUE] =
"";
496$tabrowid[DICT_DEPARTEMENTS] =
"";
497$tabrowid[DICT_REGIONS] =
"";
498$tabrowid[DICT_COUNTRY] =
"rowid";
499$tabrowid[DICT_CIVILITY] =
"rowid";
500$tabrowid[DICT_ACTIONCOMM] =
"id";
501$tabrowid[DICT_CHARGESOCIALES] =
"id";
502$tabrowid[DICT_TYPENT] =
"id";
503$tabrowid[DICT_CURRENCIES] =
"code_iso";
504$tabrowid[DICT_TVA] =
"";
505$tabrowid[DICT_TYPE_CONTACT] =
"rowid";
506$tabrowid[DICT_PAYMENT_TERM] =
"";
507$tabrowid[DICT_PAIEMENT] =
"id";
508$tabrowid[DICT_ECOTAXE] =
"";
509$tabrowid[DICT_PAPER_FORMAT] =
"";
510$tabrowid[DICT_PROSPECTLEVEL] =
"code";
511$tabrowid[DICT_TYPE_FEES] =
"id";
512$tabrowid[DICT_SHIPMENT_MODE] =
"rowid";
513$tabrowid[DICT_EFFECTIF] =
"id";
514$tabrowid[DICT_INPUT_METHOD] =
"";
515$tabrowid[DICT_AVAILABILITY] =
"rowid";
516$tabrowid[DICT_INPUT_REASON] =
"rowid";
517$tabrowid[DICT_REVENUESTAMP] =
"";
518$tabrowid[DICT_TYPE_RESOURCE] =
"";
519$tabrowid[DICT_TYPE_CONTAINER] =
"";
521$tabrowid[DICT_STCOMM] =
"id";
522$tabrowid[DICT_HOLIDAY_TYPES] =
"";
523$tabrowid[DICT_LEAD_STATUS] =
"";
524$tabrowid[DICT_FORMAT_CARDS] =
"";
525$tabrowid[DICT_INVOICE_SUBTYPE] =
"";
526$tabrowid[DICT_HRM_PUBLIC_HOLIDAY] =
"id";
527$tabrowid[DICT_HRM_DEPARTMENT] =
"rowid";
528$tabrowid[DICT_HRM_FUNCTION] =
"rowid";
529$tabrowid[DICT_EXP_TAX_CAT] =
"";
530$tabrowid[DICT_EXP_TAX_RANGE] =
"";
531$tabrowid[DICT_UNITS] =
"";
532$tabrowid[DICT_SOCIALNETWORKS] =
"";
533$tabrowid[DICT_PROSPECTCONTACTLEVEL] =
"code";
534$tabrowid[DICT_STCOMMCONTACT] =
"id";
535$tabrowid[DICT_TRANSPORT_MODE] =
"";
536$tabrowid[DICT_PRODUCT_NATURE] =
"rowid";
537$tabrowid[DICT_PRODUCTBATCH_QCSTATUS] =
"rowid";
538$tabrowid[DICT_ASSET_DISPOSAL_TYPE] =
"rowid";
542$tabcond[DICT_FORME_JURIDIQUE] = (isModEnabled(
"societe"));
543$tabcond[DICT_DEPARTEMENTS] =
true;
544$tabcond[DICT_REGIONS] =
true;
545$tabcond[DICT_COUNTRY] =
true;
546$tabcond[DICT_CIVILITY] = (isModEnabled(
"societe") || isModEnabled(
'member'));
547$tabcond[DICT_ACTIONCOMM] = isModEnabled(
'agenda');
548$tabcond[DICT_CHARGESOCIALES] = isModEnabled(
'tax');
549$tabcond[DICT_TYPENT] = isModEnabled(
"societe");
550$tabcond[DICT_CURRENCIES] =
true;
551$tabcond[DICT_TVA] =
true;
552$tabcond[DICT_TYPE_CONTACT] = (isModEnabled(
"societe"));
553$tabcond[DICT_PAYMENT_TERM] = (isModEnabled(
'order') || isModEnabled(
"propal") || isModEnabled(
'invoice') || isModEnabled(
"supplier_invoice") || isModEnabled(
"supplier_order"));
554$tabcond[DICT_PAIEMENT] = (isModEnabled(
'order') || isModEnabled(
"propal") || isModEnabled(
'invoice') || isModEnabled(
"supplier_invoice") || isModEnabled(
"supplier_order"));
555$tabcond[DICT_ECOTAXE] = (isModEnabled(
"product") && (isModEnabled(
'ecotax') ||
getDolGlobalString(
'MAIN_SHOW_ECOTAX_DICTIONNARY')));
556$tabcond[DICT_PAPER_FORMAT] =
true;
557$tabcond[DICT_PROSPECTLEVEL] = (isModEnabled(
"societe") && !
getDolGlobalString(
'SOCIETE_DISABLE_PROSPECTS'));
558$tabcond[DICT_TYPE_FEES] = (isModEnabled(
'deplacement') || isModEnabled(
'expensereport'));
559$tabcond[DICT_SHIPMENT_MODE] = isModEnabled(
"shipping") || isModEnabled(
"reception");
560$tabcond[DICT_EFFECTIF] = isModEnabled(
"societe");
561$tabcond[DICT_INPUT_METHOD] = isModEnabled(
"supplier_order");
562$tabcond[DICT_AVAILABILITY] = isModEnabled(
"propal");
563$tabcond[DICT_INPUT_REASON] = (isModEnabled(
'order') || isModEnabled(
"propal"));
564$tabcond[DICT_REVENUESTAMP] =
true;
565$tabcond[DICT_TYPE_RESOURCE] = isModEnabled(
'resource');
566$tabcond[DICT_TYPE_CONTAINER] = isModEnabled(
'website');
568$tabcond[DICT_STCOMM] = isModEnabled(
"societe");
569$tabcond[DICT_HOLIDAY_TYPES] = isModEnabled(
'holiday');
570$tabcond[DICT_LEAD_STATUS] = isModEnabled(
'project');
571$tabcond[DICT_FORMAT_CARDS] = (isModEnabled(
'label') || isModEnabled(
'barcode') || isModEnabled(
'member'));
572$tabcond[DICT_INVOICE_SUBTYPE] = ((isModEnabled(
'invoice') || isModEnabled(
'supplier_invoice')) && $mysoc->country_code ==
'GR');
573$tabcond[DICT_HRM_PUBLIC_HOLIDAY] = (isModEnabled(
'holiday') || isModEnabled(
'hrm'));
574$tabcond[DICT_HRM_DEPARTMENT] = isModEnabled(
'hrm');
575$tabcond[DICT_HRM_FUNCTION] = isModEnabled(
'hrm');
576$tabcond[DICT_EXP_TAX_CAT] = isModEnabled(
'expensereport') &&
getDolGlobalString(
'MAIN_USE_EXPENSE_IK');
577$tabcond[DICT_EXP_TAX_RANGE] = isModEnabled(
'expensereport') &&
getDolGlobalString(
'MAIN_USE_EXPENSE_IK');
578$tabcond[DICT_UNITS] = isModEnabled(
"product");
579$tabcond[DICT_SOCIALNETWORKS] = isModEnabled(
'socialnetworks');
580$tabcond[DICT_PROSPECTCONTACTLEVEL] = (isModEnabled(
"societe") && !
getDolGlobalString(
'SOCIETE_DISABLE_PROSPECTS') &&
getDolGlobalString(
'THIRDPARTY_ENABLE_PROSPECTION_ON_ALTERNATIVE_ADRESSES'));
581$tabcond[DICT_STCOMMCONTACT] = (isModEnabled(
"societe") &&
getDolGlobalString(
'THIRDPARTY_ENABLE_PROSPECTION_ON_ALTERNATIVE_ADRESSES'));
582$tabcond[DICT_TRANSPORT_MODE] = isModEnabled(
'intracommreport');
583$tabcond[DICT_PRODUCT_NATURE] = isModEnabled(
"product");
584$tabcond[DICT_PRODUCTBATCH_QCSTATUS] = isModEnabled(
"product") && isModEnabled(
'productbatch') &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') >= 2;
585$tabcond[DICT_ASSET_DISPOSAL_TYPE] = isModEnabled(
'asset');
592 'c_forme_juridique' => array(
593 'picto' =>
'company',
594 'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))
596 'c_departements' => array(
598 'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))
600 'c_regions' => array(
602 'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))
604 'c_country' => array(
'picto' =>
'country',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
605 'c_civility' => array(
'picto' =>
'contact',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
606 'c_actioncomm' => array(
'picto' =>
'action',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'color' => $langs->trans(
"ColorFormat"),
'position' => $langs->trans(
"PositionIntoComboList"))),
607 'c_chargesociales' => array(
'picto' =>
'bill',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
608 'c_typent' => array(
'picto' =>
'company',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'position' => $langs->trans(
"PositionIntoComboList"))),
609 'c_currencies' => array(
'picto' =>
'multicurrency',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'unicode' => $langs->trans(
"UnicodeCurrency"))),
610 '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"))),
611 'c_type_contact' => array(
'picto' =>
'contact',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'position' => $langs->trans(
"PositionIntoComboList"))),
612 '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")))),
613 'c_paiement' => array(
'picto' =>
'bill',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
614 'c_ecotaxe' => array(
'picto' =>
'bill',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
615 'c_paper_format' => array(
'picto' =>
'generic',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
616 'c_prospectlevel' => array(
'picto' =>
'company',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
617 'c_type_fees' => array(
'picto' =>
'trip',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
618 'c_shipment_mode' => array(
'picto' =>
'shipment',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'tracking' => $langs->trans(
"UrlTrackingDesc"))),
619 'c_effectif' => array(
'picto' =>
'company',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
620 'c_input_method' => array(
'picto' =>
'order',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
621 'c_input_reason' => array(
'picto' =>
'order',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'position' => $langs->trans(
"PositionIntoComboList"))),
622 'c_availability' => array(
'picto' =>
'shipment',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
623 'c_revenuestamp' => array(
'picto' =>
'bill',
'help' => array(
'revenuestamp_type' => $langs->trans(
'FixedOrPercent'))),
624 'c_type_resource' => array(
'picto' =>
'resource',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
625 'c_type_container' => array(
'picto' =>
'website',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
626 'c_stcomm' => array(
'picto' =>
'company',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'picto' => $langs->trans(
"PictoHelp"))),
627 'c_holiday_types' => array(
'picto' =>
'holiday',
'help' => array(
'affect' => $langs->trans(
"FollowedByACounter"),
'delay' => $langs->trans(
"MinimumNoticePeriod"),
'newbymonth' => $langs->trans(
"NbAddedAutomatically"))),
628 'c_lead_status' => array(
'picto' =>
'project',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'percent' => $langs->trans(
"OpportunityPercent"),
'position' => $langs->trans(
"PositionIntoComboList"))),
629 'c_format_cards' => array(
'picto' =>
'generic',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'name' => $langs->trans(
"LabelName"),
'paper_size' => $langs->trans(
"LabelPaperSize"))),
630 '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"))),
631 'c_hrm_department' => array(
'picto' =>
'hrm',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
632 'c_hrm_function' => array(
'picto' =>
'hrm',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
633 'c_exp_tax_cat' => array(
'picto' =>
'expensereport',
'help' => array()),
634 'c_exp_tax_range' => array(
'picto' =>
'expensereport',
'help' => array(
'range_ik' => $langs->trans(
'PrevRangeToThisRange'))),
635 'c_units' => array(
'picto' =>
'product',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'unit_type' => $langs->trans(
'Measuringtype_durationDesc'),
'scale' => $langs->trans(
'MeasuringScaleDesc'))),
636 'c_socialnetworks' => array(
'picto' =>
'share-alt',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'url' => $langs->trans(
'UrlSocialNetworksDesc'),
'icon' => $langs->trans(
'FafaIconSocialNetworksDesc'))),
637 'c_prospectcontactlevel' => array(
'picto' =>
'company',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
638 'c_stcommcontact' => array(
'picto' =>
'company',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"),
'picto' => $langs->trans(
"PictoHelp"))),
639 'c_transport_mode' => array(
'picto' =>
'incoterm',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
640 'c_product_nature' => array(
'picto' =>
'product',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
641 'c_productbatch_qcstatus' => array(
'picto' =>
'lot',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
642 'c_asset_disposal_type' => array(
'picto' =>
'asset',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
643 'c_invoice_subtype' => array(
'picto' =>
'bill',
'help' => array(
'code' => $langs->trans(
"EnterAnyCode"))),
648complete_dictionary_with_modules($taborder, $tabname, $tablib, $tabsql, $tabsqlsort, $tabfield, $tabfieldvalue, $tabfieldinsert, $tabrowid, $tabcond, $tabhelp, $tabcomplete);
652foreach ($tabcomplete as $key => $value) {
655 if (!isset($tabcond[$i])) {
658 $tabcomplete[$key][
'id'] = $i;
660 $tabcomplete[$key][
'cond'] = $tabcond[$i];
661 $tabcomplete[$key][
'rowid'] = $tabrowid[$i];
662 $tabcomplete[$key][
'fieldinsert'] = $tabfieldinsert[$i];
663 $tabcomplete[$key][
'fieldvalue'] = $tabfieldvalue[$i];
664 $tabcomplete[$key][
'lib'] = $tablib[$i];
665 $tabcomplete[$key][
'sql'] = $tabsql[$i];
666 $tabcomplete[$key][
'sqlsort'] = $tabsqlsort[$i];
667 $tabcomplete[$key][
'field'] = $tabfield[$i];
674 $arrayofkeys = array_keys($tabcomplete);
675 if (array_key_exists($id - 1, $arrayofkeys)) {
676 $keytable = $arrayofkeys[$id - 1];
681if (empty($sortfield)) {
682 $tmp1 = explode(
',', empty($tabcomplete[$keytable][
'sqlsort']) ?
'' : $tabcomplete[$keytable][
'sqlsort']);
683 $tmp2 = explode(
' ', $tmp1[0]);
684 $sortfield = preg_replace(
'/^.*\./',
'', $tmp2[0]);
685 $sortorder = (!empty($tmp2[1]) ? $tmp2[1] :
'');
690$elementList = array();
691$sourceList = array();
692if ($id == DICT_TYPE_CONTACT) {
693 $elementList = array(
695 'agenda' =>
img_picto(
'',
'action',
'class="pictofixedwidth"').$langs->trans(
'Agenda'),
696 'dolresource' =>
img_picto(
'',
'resource',
'class="pictofixedwidth"').$langs->trans(
'Resource'),
697 'societe' =>
img_picto(
'',
'company',
'class="pictofixedwidth"').$langs->trans(
'ThirdParty'),
703 'project' =>
img_picto(
'',
'project',
'class="pictofixedwidth"').$langs->trans(
'Project'),
704 'project_task' =>
img_picto(
'',
'projecttask',
'class="pictofixedwidth"').$langs->trans(
'Task'),
705 'propal' =>
img_picto(
'',
'propal',
'class="pictofixedwidth"').$langs->trans(
'Proposal'),
706 'commande' =>
img_picto(
'',
'order',
'class="pictofixedwidth"').$langs->trans(
'Order'),
707 'facture' =>
img_picto(
'',
'bill',
'class="pictofixedwidth"').$langs->trans(
'Bill'),
708 'fichinter' =>
img_picto(
'',
'intervention',
'class="pictofixedwidth"').$langs->trans(
'InterventionCard'),
709 'contrat' =>
img_picto(
'',
'contract',
'class="pictofixedwidth"').$langs->trans(
'Contract'),
710 'ticket' =>
img_picto(
'',
'ticket',
'class="pictofixedwidth"').$langs->trans(
'Ticket'),
711 'supplier_proposal' =>
img_picto(
'',
'supplier_proposal',
'class="pictofixedwidth"').$langs->trans(
'SupplierProposal'),
712 'order_supplier' =>
img_picto(
'',
'supplier_order',
'class="pictofixedwidth"').$langs->trans(
'SupplierOrder'),
713 'invoice_supplier' =>
img_picto(
'',
'supplier_invoice',
'class="pictofixedwidth"').$langs->trans(
'SupplierBill'),
714 'conferenceorbooth' =>
img_picto(
'',
'eventorganization',
'class="pictofixedwidth"').$langs->trans(
'ConferenceOrBooth'),
721 'internal' => $langs->trans(
'Internal'),
722 'external' => $langs->trans(
'External')
727$type_vatList = array(
728 "0" => $langs->trans(
"All"),
729 "1" => $langs->trans(
"Sell"),
730 "2" => $langs->trans(
"Buy")
734$localtax_typeList = array(
735 "0" => $langs->trans(
"No"),
736 "1" => $langs->trans(
"Yes").
' ('.$langs->trans(
"Type").
" 1)",
737 "2" => $langs->trans(
"Yes").
' ('.$langs->trans(
"Type").
" 2)",
738 "3" => $langs->trans(
"Yes").
' ('.$langs->trans(
"Type").
" 3)",
739 "4" => $langs->trans(
"Yes").
' ('.$langs->trans(
"Type").
" 4)",
740 "5" => $langs->trans(
"Yes").
' ('.$langs->trans(
"Type").
" 5)",
741 "6" => $langs->trans(
"Yes").
' ('.$langs->trans(
"Type").
" 6)"
755 'confirm' => $confirm,
757 'taborder' => $taborder,
758 'tabname' => $tabname,
761 'tabsqlsort' => $tabsqlsort,
762 'tabfield' => $tabfield,
763 'tabfieldvalue' => $tabfieldvalue,
764 'tabfieldinsert' => $tabfieldinsert,
765 'tabrowid' => $tabrowid,
766 'tabcond' => $tabcond,
767 'tabhelp' => $tabhelp,
768 'tabcomplete' => $tabcomplete
770$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
775if (
GETPOST(
'button_removefilter',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter_x',
'alpha')) {
776 $search_country_id =
'';
781if (empty($reshook)) {
784 $listfield = explode(
',', str_replace(
' ',
'', $tabfield[$id]));
785 $listfieldinsert = explode(
',', $tabfieldinsert[$id]);
786 $listfieldmodify = explode(
',', $tabfieldinsert[$id]);
787 $listfieldvalue = explode(
',', $tabfieldvalue[$id]);
791 foreach ($listfield as $f => $value) {
793 if ($value ==
'country_id' && in_array($tablib[$id], array(
'DictionaryPublicHolidays',
'DictionaryVAT',
'DictionaryInvoiceSubtype',
'DictionaryRegion',
'DictionaryCompanyType',
'DictionaryHolidayTypes',
'DictionaryRevenueStamp',
'DictionaryAccountancysystem',
'DictionaryAccountancyCategory'))) {
796 if ($value ==
'country' && in_array($tablib[$id], array(
'DictionaryPublicHolidays',
'DictionaryCanton',
'DictionaryCompanyType',
'DictionaryHolidayTypes',
'DictionaryRevenueStamp'))) {
800 if ($value ==
'localtax1' && !
GETPOST(
'localtax1_type')) {
803 if ($value ==
'localtax2' && !
GETPOST(
'localtax2_type')) {
806 if ($value ==
'color' && !
GETPOST(
'color')) {
809 if ($value ==
'formula' && !
GETPOST(
'formula')) {
812 if ($value ==
'dayrule' && !
GETPOST(
'dayrule')) {
815 if ($value ==
'sortorder') {
818 if ((!GETPOSTISSET($value) ||
GETPOST($value) ==
'')
820 !in_array($value, array(
'decalage',
'module',
'accountancy_code',
'accountancy_code_sell',
'accountancy_code_buy',
'tracking',
'picto',
'deposit_percent'))
821 && ($id != DICT_TVA || ($value !=
'code' && $value !=
'note'))
825 $fieldnamekey = $value;
827 if ($fieldnamekey ==
'libelle' || ($fieldnamekey ==
'label')) {
828 $fieldnamekey =
'Label';
830 if ($fieldnamekey ==
'libelle_facture') {
831 $fieldnamekey =
'LabelOnDocuments';
833 if ($fieldnamekey ==
'deposit_percent') {
834 $fieldnamekey =
'DepositPercent';
836 if ($fieldnamekey ==
'nbjour') {
837 $fieldnamekey =
'NbOfDays';
839 if ($fieldnamekey ==
'decalage') {
840 $fieldnamekey =
'Offset';
842 if ($fieldnamekey ==
'module') {
843 $fieldnamekey =
'Module';
845 if ($fieldnamekey ==
'code') {
846 $fieldnamekey =
'Code';
848 if ($fieldnamekey ==
'note') {
849 $fieldnamekey =
'Note';
851 if ($fieldnamekey ==
'taux') {
852 $fieldnamekey =
'Rate';
854 if ($fieldnamekey ==
'type') {
855 $fieldnamekey =
'Type';
857 if ($fieldnamekey ==
'position') {
858 $fieldnamekey =
'Position';
860 if ($fieldnamekey ==
'unicode') {
861 $fieldnamekey =
'Unicode';
863 if ($fieldnamekey ==
'deductible') {
864 $fieldnamekey =
'Deductible';
866 if ($fieldnamekey ==
'sortorder') {
867 $fieldnamekey =
'SortOrder';
869 if ($fieldnamekey ==
'category_type') {
870 $fieldnamekey =
'Calculated';
872 if ($fieldnamekey ==
'revenuestamp_type') {
873 $fieldnamekey =
'TypeOfRevenueStamp';
875 if ($fieldnamekey ==
'use_default') {
876 $fieldnamekey =
'UseByDefault';
879 setEventMessages($langs->transnoentities(
"ErrorFieldRequired", $langs->transnoentities($fieldnamekey)),
null,
'errors');
883 if (
GETPOST(
'actionadd') && $tabname[$id] ==
"c_actioncomm" && GETPOSTISSET(
"type") && in_array(
GETPOST(
"type"), array(
'system',
'systemauto'))) {
885 setEventMessages($langs->transnoentities(
'ErrorReservedTypeSystemSystemAuto'),
null,
'errors');
887 if (GETPOSTISSET(
"code")) {
890 setEventMessages($langs->transnoentities(
'ErrorCodeCantContainZero'),
null,
'errors');
893 if (GETPOSTISSET(
"country") && (
GETPOST(
"country") ==
'0') && ($id != DICT_DEPARTEMENTS)) {
894 if (in_array($tablib[$id], array(
'DictionaryCompanyType',
'DictionaryHolidayTypes'))) {
895 $_POST[
"country"] =
'';
898 setEventMessages($langs->transnoentities(
"ErrorFieldRequired", $langs->transnoentities(
"Country")),
null,
'errors');
901 if (($id == DICT_REGIONS || $id == DICT_PRODUCT_NATURE) && !is_numeric(
GETPOST(
"code")) &&
GETPOST(
'actionadd')) {
903 setEventMessages($langs->transnoentities(
"ErrorFieldMustBeANumeric", $langs->transnoentities(
"Code")),
null,
'errors');
905 if ($id == DICT_COUNTRY && strlen(
GETPOST(
"code")) != 2) {
907 setEventMessages($langs->transnoentities(
"ErrorCountryCodeMustBe2Char", $langs->transnoentities(
"Code")),
null,
'errors');
912 $_POST[
"localtax1"] =
'0';
915 $_POST[
"localtax2"] =
'0';
917 if (
GETPOST(
"accountancy_code") <= 0) {
918 $_POST[
"accountancy_code"] =
'';
920 if (
GETPOST(
"accountancy_code_sell") <= 0) {
921 $_POST[
"accountancy_code_sell"] =
'';
923 if (
GETPOST(
"accountancy_code_buy") <= 0) {
924 $_POST[
"accountancy_code_buy"] =
'';
926 if ($id == DICT_TVA && GETPOSTISSET(
"code")) {
927 $_POST[
"code"] = preg_replace(
'/[^a-zA-Z0-9_\-\+]/',
'',
GETPOST(
"code"));
930 $tablename = $tabname[$id];
931 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
934 if ($ok &&
GETPOST(
'actionadd')) {
936 if ($tabrowid[$id] && !in_array($tabrowid[$id], $listfieldinsert)) {
938 $sql =
"SELECT MAX(".$tabrowid[$id].
") as newid FROM ".MAIN_DB_PREFIX.$tablename;
939 $result = $db->query($sql);
941 $obj = $db->fetch_object($result);
942 $newid = ((int) $obj->newid) + 1;
949 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.$tablename.
" (";
951 if ($tabrowid[$id] && !in_array($tabrowid[$id], $listfieldinsert)) {
952 $sql .= $tabrowid[$id].
",";
954 $sql .= $tabfieldinsert[$id];
959 if ($tabrowid[$id] && !in_array($tabrowid[$id], $listfieldinsert)) {
963 foreach ($listfieldinsert as $f => $value) {
964 $keycode = (isset($listfieldvalue[$i]) ? $listfieldvalue[$i] :
'');
965 if (empty($keycode)) {
969 if ($value ==
'price' || preg_match(
'/^amount/i', $value)) {
971 } elseif ($value ==
'taux' || $value ==
'localtax1') {
973 } elseif ($value ==
'entity') {
974 $_POST[$keycode] =
getEntity($tablename);
981 if ($keycode ==
'sortorder') {
983 } elseif (
GETPOST($keycode) ==
'' && !($keycode ==
'code' && $id == DICT_TVA)) {
985 } elseif ($keycode ==
'content') {
986 $sql .=
"'".$db->escape(
GETPOST($keycode,
'restricthtml')).
"'";
987 } elseif (in_array($keycode, array(
'joinfile',
'private',
'pos',
'position',
'scale',
'use_default'))) {
990 $sql .=
"'".$db->escape(
GETPOST($keycode,
'alphanohtml')).
"'";
998 $resql = $db->query($sql);
1000 setEventMessages($langs->transnoentities(
"RecordCreatedSuccessfully"),
null,
'mesgs');
1003 if ($id == DICT_TVA &&
GETPOSTINT(
'country') > 0) {
1006 $_POST = array(
'id' => $id);
1008 if ($db->errno() ==
'DB_ERROR_RECORD_ALREADY_EXISTS') {
1009 setEventMessages($langs->transnoentities(
"ErrorRecordAlreadyExists"),
null,
'errors');
1017 if ($ok &&
GETPOST(
'actionmodify')) {
1018 if ($tabrowid[$id]) {
1019 $rowidcol = $tabrowid[$id];
1021 $rowidcol =
"rowid";
1025 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET ";
1027 if ($tabrowid[$id] && !in_array($tabrowid[$id], $listfieldmodify)) {
1028 $sql .= $tabrowid[$id].
"=";
1029 $sql .=
"'".$db->escape($rowid).
"', ";
1032 foreach ($listfieldmodify as $field) {
1033 $keycode = empty($listfieldvalue[$i]) ?
'' : $listfieldvalue[$i];
1034 if (empty($keycode)) {
1038 if ($field ==
'price' || preg_match(
'/^amount/i', $field)) {
1040 } elseif ($field ==
'taux' || $field ==
'localtax1') {
1042 } elseif ($field ==
'entity') {
1043 $_POST[$keycode] =
getEntity($tablename);
1050 if ($keycode ==
'sortorder') {
1052 } elseif (
GETPOST($keycode) ==
'' && !($keycode ==
'code' && $id == DICT_TVA)) {
1054 } elseif ($keycode ==
'content') {
1055 $sql .=
"'".$db->escape(
GETPOST($keycode,
'restricthtml')).
"'";
1056 } elseif (in_array($keycode, array(
'joinfile',
'private',
'pos',
'position',
'scale',
'use_default'))) {
1059 $sql .=
"'".$db->escape(
GETPOST($keycode,
'alphanohtml')).
"'";
1064 if (in_array($rowidcol, array(
'code',
'code_iso'))) {
1065 $sql .=
" WHERE ".$db->sanitize($rowidcol).
" = '".$db->escape($rowid).
"'";
1067 $sql .=
" WHERE ".$db->sanitize($rowidcol).
" = ".((int) $rowid);
1069 if (in_array(
'entity', $listfieldmodify)) {
1070 $sql .=
" AND entity = ".((int)
getEntity($tablename, 0));
1075 $resql = $db->query($sql);
1081 if (!$ok &&
GETPOST(
'actionadd')) {
1084 if (!$ok &&
GETPOST(
'actionmodify')) {
1089 if ($action ==
'confirm_delete' && $confirm ==
'yes') {
1090 if ($tabrowid[$id]) {
1091 $rowidcol = $tabrowid[$id];
1093 $rowidcol =
"rowid";
1096 $tablename = $tabname[$id];
1097 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
1099 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.$tablename.
" WHERE ".$rowidcol.
" = '".$db->escape($rowid).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1102 $result = $db->query($sql);
1104 if ($db->errno() ==
'DB_ERROR_CHILD_EXISTS') {
1105 setEventMessages($langs->transnoentities(
"ErrorRecordIsUsedByChild"),
null,
'errors');
1113 if ($action == $acts[0]) {
1114 if ($tabrowid[$id]) {
1115 $rowidcol = $tabrowid[$id];
1117 $rowidcol =
"rowid";
1120 $tablename = $tabname[$id];
1121 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
1124 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET active = 1 WHERE ".$rowidcol.
" = '".$db->escape($rowid).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1126 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET active = 1 WHERE code = '".$db->escape(
dol_escape_htmltag($code)).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1129 $result = $db->query($sql);
1136 if ($action == $acts[1]) {
1137 if ($tabrowid[$id]) {
1138 $rowidcol = $tabrowid[$id];
1140 $rowidcol =
"rowid";
1143 $tablename = $tabname[$id];
1144 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
1147 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET active = 0 WHERE ".$rowidcol.
" = '".$db->escape($rowid).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1149 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET active = 0 WHERE code = '".$db->escape(
dol_escape_htmltag($code)).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1152 $result = $db->query($sql);
1159 if ($action ==
'activate_favorite') {
1160 if ($tabrowid[$id]) {
1161 $rowidcol = $tabrowid[$id];
1163 $rowidcol =
"rowid";
1166 $tablename = $tabname[$id];
1167 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
1170 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET favorite = 1 WHERE ".$rowidcol.
" = '".$db->escape($rowid).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1172 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET favorite = 1 WHERE code = '".$db->escape(
dol_escape_htmltag($code)).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1175 $result = $db->query($sql);
1182 if ($action ==
'disable_favorite') {
1183 if ($tabrowid[$id]) {
1184 $rowidcol = $tabrowid[$id];
1186 $rowidcol =
"rowid";
1189 $tablename = $tabname[$id];
1190 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
1193 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET favorite = 0 WHERE ".$rowidcol.
" = '".$db->escape($rowid).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1195 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET favorite = 0 WHERE code = '".$db->escape(
dol_escape_htmltag($code)).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1198 $result = $db->query($sql);
1205 if ($action ==
'activate_eec') {
1206 if ($tabrowid[$id]) {
1207 $rowidcol = $tabrowid[$id];
1209 $rowidcol =
"rowid";
1212 $tablename = $tabname[$id];
1213 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
1216 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET eec = 1 WHERE ".$rowidcol.
" = '".$db->escape($rowid).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1218 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET eec = 1 WHERE code = '".$db->escape(
dol_escape_htmltag($code)).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1221 $result = $db->query($sql);
1228 if ($action ==
'disable_eec') {
1229 if ($tabrowid[$id]) {
1230 $rowidcol = $tabrowid[$id];
1232 $rowidcol =
"rowid";
1235 $tablename = $tabname[$id];
1236 $tablename = preg_replace(
'/^'.preg_quote(MAIN_DB_PREFIX,
'/').
'/',
'', $tablename);
1239 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET eec = 0 WHERE ".$rowidcol.
" = '".$db->escape($rowid).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1241 $sql =
"UPDATE ".MAIN_DB_PREFIX.$tablename.
" SET eec = 0 WHERE code = '".$db->escape(
dol_escape_htmltag($code)).
"'".($entity !=
'' ?
" AND entity = ".(int) $entity :
'');
1244 $result = $db->query($sql);
1256$form =
new Form($db);
1258$title = $langs->trans(
"DictionarySetup");
1260llxHeader(
'', $title,
'',
'', 0, 0,
'',
'',
'',
'mod-admin page-dict');
1263if ($id && empty($from)) {
1264 $title .=
' - '.$langs->trans($tablib[$id]);
1265 $linkback =
'<a href="'.$_SERVER[
'PHP_SELF'].
'">'.$langs->trans(
"BackToDictionaryList").
'</a>';
1267$titlepicto =
'title_setup';
1268if ($id == DICT_TVA &&
GETPOST(
'from') ==
'accountancy') {
1269 $title = $langs->trans(
"MenuVatAccounts");
1270 $titlepicto =
'accountancy';
1272if ($id == DICT_CHARGESOCIALES &&
GETPOST(
'from') ==
'accountancy') {
1273 $title = $langs->trans(
"MenuTaxAccounts");
1274 $titlepicto =
'accountancy';
1277$param =
'&id='.urlencode((
string) ($id));
1278if ($search_country_id || GETPOSTISSET(
'page') ||
GETPOST(
'button_removefilter',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter_x',
'alpha')) {
1279 $param .=
'&search_country_id='.urlencode((
string) ($search_country_id ? $search_country_id : -1));
1281if ($search_code !=
'') {
1282 $param .=
'&search_code='.urlencode($search_code);
1284if ($search_active !=
'') {
1285 $param .=
'&search_active='.urlencode($search_active);
1288 $param .=
'&entity='.(int) $entity;
1291 $param .=
'&from='.urlencode($from);
1293$paramwithsearch = $param;
1295 $paramwithsearch .=
'&sortorder='.urlencode($sortorder);
1298 $paramwithsearch .=
'&sortfield='.urlencode($sortfield);
1301 $paramwithsearch .=
'&from='.urlencode($from);
1306if ($action ==
'delete') {
1307 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);
1313 $sqlfields = $tabsql[$id];
1315 $tablecode =
't.code';
1317 $tableprefixarray = array(
1318 DICT_FORME_JURIDIQUE =>
'f.code',
1319 DICT_DEPARTEMENTS =>
'd.code_departement',
1320 DICT_REGIONS =>
'r.code_region',
1321 DICT_COUNTRY =>
'c.code',
1322 DICT_CIVILITY =>
'c.code',
1323 DICT_ACTIONCOMM =>
'a.code',
1324 DICT_CHARGESOCIALES =>
'a.code',
1325 DICT_TYPENT =>
't.code',
1326 DICT_CURRENCIES =>
'c.code_iso',
1327 DICT_ECOTAXE =>
'e.code',
1328 DICT_HOLIDAY_TYPES =>
'h.code',
1329 DICT_HRM_PUBLIC_HOLIDAY =>
'a.code',
1330 DICT_UNITS =>
'r.code',
1331 DICT_SOCIALNETWORKS =>
's.code',
1337 if (!empty($tableprefixarray[$id])) {
1338 $tablecode = $tableprefixarray[$id];
1339 $tableprefix = preg_replace(
'/\..*$/',
'.', $tablecode);
1342 if (empty($tableprefix) && preg_match(
'/SELECT ([a-z]\.)rowid/i', $sqlfields, $reg)) {
1343 $tableprefix = $reg[1];
1347 if (!preg_match(
'/ WHERE /', $sql)) {
1348 $sql .=
" WHERE 1 = 1";
1350 if ($search_country_id > 0) {
1351 $sql .=
" AND c.rowid = ".((int) $search_country_id);
1353 if ($search_code !=
'') {
1356 if ($search_active ==
'yes') {
1357 $sql .=
" AND ".$db->sanitize($tableprefix).
"active = 1";
1358 } elseif ($search_active ==
'no') {
1359 $sql .=
" AND ".$db->sanitize($tableprefix).
"active = 0";
1364 $nbtotalofrecords =
'';
1367 $sqlforcount = preg_replace(
'/^.*\sFROM\s/',
'SELECT COUNT(*) as nbtotalofrecords FROM ', $sql);
1368 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
1369 $resql = $db->query($sqlforcount);
1371 $objforcount = $db->fetch_object($resql);
1372 $nbtotalofrecords = $objforcount->nbtotalofrecords;
1377 if (($page * $listlimit) > $nbtotalofrecords) {
1386 if ($sortfield ==
'country') {
1387 $sortfield =
'country_code';
1389 $sql .= $db->order($sortfield, $sortorder);
1392 $tabsqlsort[$id] = preg_replace(
'/([a-z]+\.)?'.$sortfield.
' '.$sortorder.
',/i',
'', $tabsqlsort[$id]);
1393 $tabsqlsort[$id] = preg_replace(
'/([a-z]+\.)?'.$sortfield.
',/i',
'', $tabsqlsort[$id]);
1395 $sql .=
" ORDER BY ";
1397 $sql .= $tabsqlsort[$id];
1399 $sql .= $db->plimit($listlimit + 1, $offset);
1401 $resql = $db->query($sql);
1406 $num = $db->num_rows($resql);
1410 if (empty($tabfield[$id])) {
1411 dol_print_error($db,
'The table with id '.$id.
' has no array tabfield defined');
1414 $fieldlist = explode(
',', $tabfield[$id]);
1416 print
'<form action="'.$_SERVER[
'PHP_SELF'].
'?id='.$id.
'" method="POST">';
1417 print
'<input type="hidden" name="token" value="'.newToken().
'">';
1418 print
'<input type="hidden" name="from" value="'.dol_escape_htmltag($from).
'">';
1422 print
info_admin($langs->trans(
"VATIsUsedIsOff", $langs->transnoentities(
"Setup"), $langs->transnoentities(
"CompanyFoundation")));
1429 $resql = $db->query($sql);
1431 $num = $db->num_rows($resql);
1434 $massactionbutton = $linkback;
1436 $newcardbutton =
'';
1441 $newcardbutton .=
dolGetButtonTitle($langs->trans(
'New'),
'',
'fa fa-plus-circle', DOL_URL_ROOT.
'/admin/dict.php?action=create'.$param.
'&backtopage='.urlencode($_SERVER[
'PHP_SELF']),
'', $permissiontoadd);
1443 print_barre_liste($title, $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords,
'tools', 0, $newcardbutton,
'', $listlimit, 1, 0, 1);
1446 if ($action ==
'create') {
1448 if ($tabname[$id]) {
1451 $fieldlist = explode(
',', $tabfield[$id]);
1453 print
'<div class="div-table-responsive-no-min">';
1454 print
'<table class="noborder centpercent">';
1457 print
'<!-- line title to add new entry -->';
1458 $tdsoffields =
'<tr class="liste_titre">';
1459 foreach ($fieldlist as $field => $value) {
1460 if ($value ==
'entity') {
1466 $valuetoshow = ucfirst($value);
1467 $valuetoshow = $langs->trans($valuetoshow);
1470 if ($value ==
'pos') {
1471 $valuetoshow = $langs->trans(
"Position");
1474 if ($value ==
'source') {
1475 $valuetoshow = $langs->trans(
"Contact");
1477 if ($value ==
'price') {
1478 $valuetoshow = $langs->trans(
"PriceUHT");
1480 if ($value ==
'taux') {
1481 if ($tabname[$id] !=
"c_revenuestamp") {
1482 $valuetoshow = $langs->trans(
"Rate");
1484 $valuetoshow = $langs->trans(
"Amount");
1488 if ($value ==
'localtax1_type') {
1489 $valuetoshow = $langs->trans(
"UseLocalTax").
" 2";
1493 if ($value ==
'localtax1') {
1494 $valuetoshow = $langs->trans(
"RateOfTaxN",
'2');
1497 if ($value ==
'localtax2_type') {
1498 $valuetoshow = $langs->trans(
"UseLocalTax").
" 3";
1502 if ($value ==
'localtax2') {
1503 $valuetoshow = $langs->trans(
"RateOfTaxN",
'3');
1506 if ($value ==
'type_vat') {
1507 $valuetoshow = $langs->trans(
"VATType");
1509 if ($value ==
'organization') {
1510 $valuetoshow = $langs->trans(
"Organization");
1512 if ($value ==
'lang') {
1513 $valuetoshow = $langs->trans(
"Language");
1515 if ($value ==
'type') {
1516 if ($tabname[$id] ==
"c_paiement") {
1517 $valuetoshow = $form->textwithtooltip($langs->trans(
"Type"), $langs->trans(
"TypePaymentDesc"), 2, 1,
img_help(1,
''));
1519 $valuetoshow = $langs->trans(
"Type");
1522 if ($value ==
'code') {
1523 $valuetoshow = $langs->trans(
"Code");
1524 $class =
'maxwidth100';
1526 if ($value ==
'libelle' || $value ==
'label') {
1527 $valuetoshow = $form->textwithtooltip($langs->trans(
"Label"), $langs->trans(
"LabelUsedByDefault"), 2, 1,
img_help(1,
''));
1529 if ($value ==
'libelle_facture') {
1530 $valuetoshow = $form->textwithtooltip($langs->trans(
"LabelOnDocuments"), $langs->trans(
"LabelUsedByDefault"), 2, 1,
img_help(1,
''));
1532 if ($value ==
'deposit_percent') {
1533 $valuetoshow = $langs->trans(
'DepositPercent');
1536 if ($value ==
'country') {
1537 if (in_array(
'region_id', $fieldlist)) {
1541 $valuetoshow = $langs->trans(
"Country");
1543 if ($value ==
'recuperableonly') {
1544 $valuetoshow = $langs->trans(
"NPR");
1547 if ($value ==
'nbjour') {
1548 $valuetoshow = $langs->trans(
"NbOfDays");
1551 if ($value ==
'type_cdr') {
1552 $valuetoshow = $langs->trans(
"AtEndOfMonth");
1555 if ($value ==
'decalage') {
1556 $valuetoshow = $langs->trans(
"Offset");
1559 if ($value ==
'width' || $value ==
'nx') {
1560 $valuetoshow = $langs->trans(
"Width");
1562 if ($value ==
'height' || $value ==
'ny') {
1563 $valuetoshow = $langs->trans(
"Height");
1565 if ($value ==
'unit' || $value ==
'metric') {
1566 $valuetoshow = $langs->trans(
"MeasuringUnit");
1568 if ($value ==
'region_id' || $value ==
'country_id') {
1571 if ($value ==
'accountancy_code') {
1572 $valuetoshow = $langs->trans(
"AccountancyCode");
1574 if ($value ==
'accountancy_code_sell') {
1575 $valuetoshow = $langs->trans(
"AccountancyCodeSell");
1577 if ($value ==
'accountancy_code_buy') {
1578 $valuetoshow = $langs->trans(
"AccountancyCodeBuy");
1580 if ($value ==
'pcg_version' || $value ==
'fk_pcg_version') {
1581 $valuetoshow = $langs->trans(
"Pcg_version");
1583 if ($value ==
'account_parent') {
1584 $valuetoshow = $langs->trans(
"Accountparent");
1586 if ($value ==
'pcg_type') {
1587 $valuetoshow = $langs->trans(
"Pcg_type");
1589 if ($value ==
'pcg_subtype') {
1590 $valuetoshow = $langs->trans(
"Pcg_subtype");
1592 if ($value ==
'sortorder') {
1593 $valuetoshow = $langs->trans(
"SortOrder");
1596 if ($value ==
'short_label') {
1597 $valuetoshow = $langs->trans(
"ShortLabel");
1599 if ($value ==
'fk_parent') {
1600 $valuetoshow = $langs->trans(
"ParentID");
1603 if ($value ==
'range_account') {
1604 $valuetoshow = $langs->trans(
"Range");
1606 if ($value ==
'sens') {
1607 $valuetoshow = $langs->trans(
"Sens");
1609 if ($value ==
'category_type') {
1610 $valuetoshow = $langs->trans(
"Calculated");
1612 if ($value ==
'formula') {
1613 $valuetoshow = $langs->trans(
"Formula");
1615 if ($value ==
'paper_size') {
1616 $valuetoshow = $langs->trans(
"PaperSize");
1618 if ($value ==
'orientation') {
1619 $valuetoshow = $langs->trans(
"Orientation");
1621 if ($value ==
'leftmargin') {
1622 $valuetoshow = $langs->trans(
"LeftMargin");
1624 if ($value ==
'topmargin') {
1625 $valuetoshow = $langs->trans(
"TopMargin");
1627 if ($value ==
'spacex') {
1628 $valuetoshow = $langs->trans(
"SpaceX");
1630 if ($value ==
'spacey') {
1631 $valuetoshow = $langs->trans(
"SpaceY");
1633 if ($value ==
'font_size') {
1634 $valuetoshow = $langs->trans(
"FontSize");
1636 if ($value ==
'custom_x') {
1637 $valuetoshow = $langs->trans(
"CustomX");
1639 if ($value ==
'custom_y') {
1640 $valuetoshow = $langs->trans(
"CustomY");
1642 if ($value ==
'percent') {
1643 $valuetoshow = $langs->trans(
"Percentage");
1645 if ($value ==
'affect') {
1646 $valuetoshow = $langs->trans(
"WithCounter");
1648 if ($value ==
'delay') {
1649 $valuetoshow = $langs->trans(
"NoticePeriod");
1651 if ($value ==
'newbymonth') {
1652 $valuetoshow = $langs->trans(
"NewByMonth");
1654 if ($value ==
'fk_tva') {
1655 $valuetoshow = $langs->trans(
"VAT");
1657 if ($value ==
'range_ik') {
1658 $valuetoshow = $langs->trans(
"RangeIk");
1660 if ($value ==
'fk_c_exp_tax_cat') {
1661 $valuetoshow = $langs->trans(
"CarCategory");
1663 if ($value ==
'revenuestamp_type') {
1664 $valuetoshow = $langs->trans(
'TypeOfRevenueStamp');
1666 if ($value ==
'use_default') {
1667 $valuetoshow = $langs->trans(
'Default');
1670 if ($value ==
'unit_type') {
1671 $valuetoshow = $langs->trans(
'TypeOfUnit');
1673 if ($value ==
'public' && $tablib[$id] ==
'TicketDictCategory') {
1674 $valuetoshow = $langs->trans(
'TicketGroupIsPublic');
1677 if ($value ==
'block_if_negative') {
1678 $valuetoshow = $langs->trans(
'BlockHolidayIfNegative');
1680 if ($value ==
'type_duration') {
1681 $valuetoshow = $langs->trans(
'Unit');
1684 if ($id == DICT_DEPARTEMENTS) {
1685 if ($value ==
'region_id') {
1686 $valuetoshow =
' ';
1689 if ($value ==
'region') {
1690 $valuetoshow = $langs->trans(
"Country").
'/'.$langs->trans(
"Region");
1695 if ($valuetoshow !=
'') {
1696 $tooltiphelp = (isset($tabcomplete[$tabname[$id]][
'help'][$value]) ? $tabcomplete[$tabname[$id]][
'help'][$value] :
'');
1698 $tdsoffields .=
'<th'.($class ?
' class="'.$class.
'"' :
'').
'>';
1699 if ($tooltiphelp && preg_match(
'/^http(s*):/i', $tooltiphelp)) {
1700 $tdsoffields .=
'<a href="'.$tooltiphelp.
'" target="_blank">'.$valuetoshow.
' '.
img_help(1, $valuetoshow).
'</a>';
1701 } elseif ($tooltiphelp) {
1702 $tdsoffields .= $form->textwithpicto($valuetoshow, $tooltiphelp);
1704 $tdsoffields .= $valuetoshow;
1706 $tdsoffields .=
'</th>';
1710 if ($id == DICT_COUNTRY) {
1711 $tdsoffields .=
'<th></th>';
1712 $tdsoffields .=
'<th></th>';
1714 $tdsoffields .=
'<th>';
1715 $tdsoffields .=
'<input type="hidden" name="id" value="'.$id.
'">';
1716 if (!is_null($withentity)) {
1717 $tdsoffields .=
'<input type="hidden" name="entity" value="'.$withentity.
'">';
1719 $tdsoffields .=
'</th>';
1720 $tdsoffields .=
'<th style="min-width: 26px;"></th>';
1721 $tdsoffields .=
'<th style="min-width: 26px;"></th>';
1722 $tdsoffields .=
'</tr>';
1728 print
'<!-- line input to add new entry -->';
1729 print
'<tr class="oddeven nodrag nodrop nohover">';
1734 foreach ($fieldlist as $key => $val) {
1741 $tmpaction =
'create';
1742 $parameters = array(
'fieldlist' => $fieldlist,
'tabname' => $tabname[$id]);
1743 $reshook = $hookmanager->executeHooks(
'createDictionaryFieldlist', $parameters, $obj, $tmpaction);
1744 $error = $hookmanager->error;
1745 $errors = $hookmanager->errors;
1747 if ($id == DICT_REGIONS) {
1748 unset($fieldlist[2]);
1751 if (empty($reshook)) {
1752 fieldList($fieldlist, $obj, $tabname[$id],
'add');
1755 if ($id == DICT_COUNTRY) {
1759 print
'<td colspan="3" class="center">';
1760 if ($action !=
'edit') {
1761 print
'<input type="submit" class="button button-add small" name="actionadd" value="'.$langs->trans(
"Add").
'">';
1763 print
'<input type="submit" class="button button-add small disabled" name="actionadd" value="'.$langs->trans(
"Add").
'">';
1775 print
'<form action="'.$_SERVER[
'PHP_SELF'].
'?id='.$id.
'" method="POST">';
1776 print
'<input type="hidden" name="token" value="'.newToken().
'">';
1777 print
'<input type="hidden" name="from" value="'.dol_escape_htmltag(
GETPOST(
'from',
'alpha')).
'">';
1782 foreach ($fieldlist as $field => $value) {
1783 if ($value ==
'entity') {
1788 if ($value ==
'region_id' || $value ==
'country_id') {
1793 if ($value ==
'country') {
1795 } elseif ($value ==
'code') {
1801 print
'<div class="div-table-responsive">';
1802 print
'<table class="noborder centpercent">';
1807 print
'<!-- line title to search record -->'.
"\n";
1808 print
'<tr class="liste_titre_filter">';
1812 print
'<td class="liste_titre center">';
1814 $searchpicto = $form->showFilterAndCheckAddButtons(0);
1821 foreach ($fieldlist as $field => $value) {
1822 if ($value ==
'entity') {
1827 if ($value ==
'region_id' || $value ==
'country_id') {
1832 if ($value ==
'country') {
1833 print
'<td class="liste_titre">';
1834 print $form->select_country($search_country_id,
'search_country_id',
'', 28,
'minwidth100 maxwidth150 maxwidthonsmartphone',
'',
' ');
1837 } elseif ($value ==
'code') {
1838 print
'<td class="liste_titre">';
1839 print
'<input type="text" class="maxwidth100" name="search_code" value="'.dol_escape_htmltag($search_code).
'">';
1843 print
'<td class="liste_titre">';
1849 if ($id == DICT_COUNTRY) {
1857 print
'<td class="liste_titre center">';
1858 print $form->selectyesno(
'search_active', $search_active, 0,
false, 1);
1864 print
'<td class="liste_titre center">';
1866 $searchpicto = $form->showFilterAndCheckAddButtons(0);
1876 print
'<!-- line title of record -->'.
"\n";
1877 print
'<tr class="liste_titre">';
1884 foreach ($fieldlist as $field => $value) {
1885 if ($value ==
'entity') {
1889 if (in_array($value, array(
'label',
'libelle',
'libelle_facture')) && empty($tabcomplete[$tabname[$id]][
'help'][$value])) {
1890 if (!isset($tabcomplete[$tabname[$id]][
'help']) || !is_array($tabcomplete[$tabname[$id]][
'help'])) {
1891 $tabcomplete[$tabname[$id]][
'help'] = array();
1893 $tabcomplete[$tabname[$id]][
'help'][$value] = $langs->trans(
'LabelUsedByDefault');
1901 $valuetoshow = ucfirst($value);
1902 $valuetoshow = $langs->trans($valuetoshow);
1905 if ($value ==
'source') {
1906 $valuetoshow = $langs->trans(
"Contact");
1908 if ($value ==
'price') {
1909 $valuetoshow = $langs->trans(
"PriceUHT");
1911 if ($value ==
'taux') {
1912 if ($tabname[$id] !=
"c_revenuestamp") {
1913 $valuetoshow = $langs->trans(
"Rate");
1915 $valuetoshow = $langs->trans(
"Amount");
1917 $cssprefix =
'center ';
1920 if ($value ==
'type_vat') {
1921 $valuetoshow = $langs->trans(
"VATType");
1922 $cssprefix =
"center ";
1925 if ($value ==
'localtax1_type') {
1926 $valuetoshow = $langs->trans(
"UseLocalTax").
" 2";
1927 $cssprefix =
"center ";
1930 if ($value ==
'localtax1') {
1931 $valuetoshow = $langs->trans(
"RateOfTaxN",
'2');
1932 $cssprefix =
"center ";
1935 if ($value ==
'localtax2_type') {
1936 $valuetoshow = $langs->trans(
"UseLocalTax").
" 3";
1937 $cssprefix =
"center ";
1940 if ($value ==
'localtax2') {
1941 $valuetoshow = $langs->trans(
"RateOfTaxN",
'3');
1942 $cssprefix =
"center ";
1945 if ($value ==
'organization') {
1946 $valuetoshow = $langs->trans(
"Organization");
1948 if ($value ==
'lang') {
1949 $valuetoshow = $langs->trans(
"Language");
1951 if ($value ==
'type') {
1952 $valuetoshow = $langs->trans(
"Type");
1954 if ($value ==
'code') {
1955 $valuetoshow = $langs->trans(
"Code");
1957 if (in_array($value, array(
'pos',
'position'))) {
1958 $valuetoshow = $langs->trans(
"Position");
1959 $cssprefix =
'right ';
1961 if ($value ==
'libelle' || $value ==
'label') {
1962 $valuetoshow = $langs->trans(
"Label");
1964 if ($value ==
'libelle_facture') {
1965 $valuetoshow = $langs->trans(
"LabelOnDocuments");
1967 if ($value ==
'deposit_percent') {
1968 $valuetoshow = $langs->trans(
'DepositPercent');
1969 $cssprefix =
'right ';
1971 if ($value ==
'country') {
1972 $valuetoshow = $langs->trans(
"Country");
1974 if ($value ==
'recuperableonly') {
1975 $valuetoshow = $langs->trans(
"NPR");
1976 $cssprefix =
"center ";
1978 if ($value ==
'nbjour') {
1979 $valuetoshow = $langs->trans(
"NbOfDays");
1980 $cssprefix =
'right ';
1982 if ($value ==
'type_cdr') {
1983 $valuetoshow = $langs->trans(
"AtEndOfMonth");
1984 $cssprefix =
"center ";
1986 if ($value ==
'decalage') {
1987 $valuetoshow = $langs->trans(
"Offset");
1988 $cssprefix =
'right ';
1990 if ($value ==
'width' || $value ==
'nx') {
1991 $valuetoshow = $langs->trans(
"Width");
1993 if ($value ==
'height' || $value ==
'ny') {
1994 $valuetoshow = $langs->trans(
"Height");
1996 if ($value ==
'unit' || $value ==
'metric') {
1997 $valuetoshow = $langs->trans(
"MeasuringUnit");
1999 if ($value ==
'accountancy_code') {
2000 $valuetoshow = $langs->trans(
"AccountancyCode");
2002 if ($value ==
'accountancy_code_sell') {
2003 $valuetoshow = $langs->trans(
"AccountancyCodeSell");
2006 if ($value ==
'accountancy_code_buy') {
2007 $valuetoshow = $langs->trans(
"AccountancyCodeBuy");
2010 if ($value ==
'fk_pcg_version') {
2011 $valuetoshow = $langs->trans(
"Pcg_version");
2013 if ($value ==
'account_parent') {
2014 $valuetoshow = $langs->trans(
"Accountsparent");
2016 if ($value ==
'pcg_type') {
2017 $valuetoshow = $langs->trans(
"Pcg_type");
2019 if ($value ==
'pcg_subtype') {
2020 $valuetoshow = $langs->trans(
"Pcg_subtype");
2022 if ($value ==
'sortorder') {
2023 $valuetoshow = $langs->trans(
"SortOrder");
2024 $cssprefix =
'center ';
2026 if ($value ==
'short_label') {
2027 $valuetoshow = $langs->trans(
"ShortLabel");
2029 if ($value ==
'fk_parent') {
2030 $valuetoshow = $langs->trans(
"ParentID");
2031 $cssprefix =
'center ';
2033 if ($value ==
'range_account') {
2034 $valuetoshow = $langs->trans(
"Range");
2036 if ($value ==
'sens') {
2037 $valuetoshow = $langs->trans(
"Sens");
2039 if ($value ==
'category_type') {
2040 $valuetoshow = $langs->trans(
"Calculated");
2042 if ($value ==
'formula') {
2043 $valuetoshow = $langs->trans(
"Formula");
2045 if ($value ==
'paper_size') {
2046 $valuetoshow = $langs->trans(
"PaperSize");
2048 if ($value ==
'orientation') {
2049 $valuetoshow = $langs->trans(
"Orientation");
2051 if ($value ==
'leftmargin') {
2052 $valuetoshow = $langs->trans(
"LeftMargin");
2054 if ($value ==
'topmargin') {
2055 $valuetoshow = $langs->trans(
"TopMargin");
2057 if ($value ==
'spacex') {
2058 $valuetoshow = $langs->trans(
"SpaceX");
2060 if ($value ==
'spacey') {
2061 $valuetoshow = $langs->trans(
"SpaceY");
2063 if ($value ==
'font_size') {
2064 $valuetoshow = $langs->trans(
"FontSize");
2066 if ($value ==
'custom_x') {
2067 $valuetoshow = $langs->trans(
"CustomX");
2069 if ($value ==
'custom_y') {
2070 $valuetoshow = $langs->trans(
"CustomY");
2072 if ($value ==
'percent') {
2073 $valuetoshow = $langs->trans(
"Percentage");
2075 if ($value ==
'affect') {
2076 $valuetoshow = $langs->trans(
"WithCounter");
2078 if ($value ==
'delay') {
2079 $valuetoshow = $langs->trans(
"NoticePeriod");
2081 if ($value ==
'newbymonth') {
2082 $valuetoshow = $langs->trans(
"NewByMonth");
2084 if ($value ==
'fk_tva') {
2085 $valuetoshow = $langs->trans(
"VAT");
2087 if ($value ==
'range_ik') {
2088 $valuetoshow = $langs->trans(
"RangeIk");
2090 if ($value ==
'fk_c_exp_tax_cat') {
2091 $valuetoshow = $langs->trans(
"CarCategory");
2093 if ($value ==
'revenuestamp_type') {
2094 $valuetoshow = $langs->trans(
'TypeOfRevenueStamp');
2096 if ($value ==
'use_default') {
2097 $valuetoshow = $langs->trans(
'Default');
2098 $cssprefix =
'center ';
2100 if ($value ==
'unit_type') {
2101 $valuetoshow = $langs->trans(
'TypeOfUnit');
2103 if ($value ==
'public' && $tablib[$id] ==
'TicketDictCategory') {
2104 $valuetoshow = $langs->trans(
'TicketGroupIsPublic');
2105 $cssprefix =
'center ';
2107 if ($value ==
'block_if_negative') {
2108 $valuetoshow = $langs->trans(
'BlockHolidayIfNegative');
2110 if ($value ==
'type_duration') {
2111 $valuetoshow = $langs->trans(
'Unit');
2114 if ($value ==
'region_id' || $value ==
'country_id') {
2120 $tooltiphelp = (isset($tabcomplete[$tabname[$id]][
'help'][$value]) ? $tabcomplete[$tabname[$id]][
'help'][$value] :
'');
2122 if ($tooltiphelp && preg_match(
'/^http(s*):/i', $tooltiphelp)) {
2123 $newvaluetoshow =
'<a href="'.$tooltiphelp.
'" target="_blank">'.$valuetoshow.
' '.
img_help(1, $valuetoshow).
'</a>';
2124 } elseif ($tooltiphelp) {
2125 $newvaluetoshow = $form->textwithpicto($valuetoshow, $tooltiphelp);
2127 $newvaluetoshow = $valuetoshow;
2130 print
getTitleFieldOfList($newvaluetoshow, 0, $_SERVER[
"PHP_SELF"], ($sortable ? $value :
''), ($page ?
'page='.$page.
'&' :
''), $param,
'', $sortfield, $sortorder, $cssprefix);
2134 if ($id == DICT_COUNTRY) {
2135 print
getTitleFieldOfList($langs->trans(
"InEEC"), 0, $_SERVER[
"PHP_SELF"],
"eec", ($page ?
'page='.$page.
'&' :
''), $param,
'align="center"', $sortfield, $sortorder,
'', 0, $langs->trans(
"CountryIsInEEC"));
2136 print
getTitleFieldOfList($langs->trans(
"Favorite"), 0, $_SERVER[
"PHP_SELF"],
"favorite", ($page ?
'page='.$page.
'&' :
''), $param,
'align="center"', $sortfield, $sortorder);
2140 print
getTitleFieldOfList($langs->trans(
"Status"), 0, $_SERVER[
"PHP_SELF"],
"active", ($page ?
'page='.$page.
'&' :
''), $param,
'align="center"', $sortfield, $sortorder);
2151 $obj = $db->fetch_object($resql);
2156 if ($id == DICT_COUNTRY) {
2157 if ($obj->code ==
'') {
2167 if (isset($obj->code) && $id != 10 && $id != 42) {
2168 if (($obj->code ==
'0' || $obj->code ==
'' || preg_match(
'/unknown/i', $obj->code))) {
2171 } elseif ($obj->code ==
'RECEP') {
2174 } elseif ($obj->code ==
'EF0') {
2179 if ($id == DICT_TYPE_CONTAINER && in_array($obj->code, array(
'banner',
'blogpost',
'menu',
'page',
'other',
'service',
'library'))) {
2182 if (in_array($obj->code, array(
'banner'))) {
2186 if (isset($obj->type) && in_array($obj->type, array(
'system',
'systemauto'))) {
2189 if (in_array(empty($obj->code) ?
'' : $obj->code, array(
'AC_OTH',
'AC_OTH_AUTO')) || in_array(empty($obj->
type) ?
'' : $obj->
type, array(
'systemauto'))) {
2193 $canbemodified = $iserasable;
2195 if (!empty($obj->code) && $obj->code ==
'RECEP') {
2198 if ($tabname[$id] ==
"c_actioncomm") {
2202 if ($tabname[$id] ==
"c_product_nature" && in_array($obj->code, array(0, 1))) {
2208 $rowidcol = empty($tabrowid[$id]) ?
'rowid' : $tabrowid[$id];
2210 if (empty($rowidcol) || in_array($id, array(DICT_ACTIONCOMM, DICT_CHARGESOCIALES, DICT_TYPENT, DICT_PAIEMENT, DICT_TYPE_FEES, DICT_EFFECTIF, DICT_STCOMM, DICT_HRM_PUBLIC_HOLIDAY))) {
2211 $rowidcol =
'rowid';
2213 $url = $_SERVER[
"PHP_SELF"].
'?'.($page ?
'page='.$page.
'&' :
'').
'sortfield='.$sortfield.
'&sortorder='.$sortorder;
2214 $url .=
'&rowid='.(isset($obj->$rowidcol) ? $obj->$rowidcol : (!empty($obj->code) ? urlencode($obj->code) :
''));
2215 $url .=
'&code='.(!empty($obj->code) ? urlencode($obj->code) :
'');
2216 if (!empty($param)) {
2219 if (!is_null($withentity)) {
2220 $url .=
'&entity='.$withentity;
2226 print
'<tr class="oddeven" id="rowid-'.(empty($obj->rowid) ?
'' : $obj->rowid).
'">';
2230 print
'<td class="center maxwidthsearch nowraponall">';
2232 if ($canbemodified) {
2233 print
'<a class="reposition editfielda marginleftonly paddingleft marginrightonly paddingright" href="'.$url.
'action=edit&token='.
newToken().
'">'.
img_edit().
'</a>';
2238 print
'<a class="reposition marginleftonly paddingleft marginrightonly paddingright" href="'.$url.
'action=delete&token='.
newToken().
'">'.
img_delete().
'</a>';
2244 if ($action ==
'edit' && ($rowid == (!empty($obj->rowid) ? $obj->rowid : $obj->code))) {
2245 $tmpaction =
'edit';
2246 $parameters = array(
'fieldlist' => $fieldlist,
'tabname' => $tabname[$id]);
2247 $reshook = $hookmanager->executeHooks(
'editDictionaryFieldlist', $parameters, $obj, $tmpaction);
2248 $error = $hookmanager->error;
2249 $errors = $hookmanager->errors;
2252 if (empty($reshook)) {
2253 $withentity =
fieldList($fieldlist, $obj, $tabname[$id],
'edit');
2256 print
'<td colspan="3" class="center">';
2257 print
'<div name="'.(!empty($obj->rowid) ? $obj->rowid : $obj->code).
'"></div>';
2258 print
'<input type="hidden" name="page" value="'.dol_escape_htmltag($page).
'">';
2259 print
'<input type="hidden" name="rowid" value="'.dol_escape_htmltag($rowid).
'">';
2260 if (!is_null($withentity)) {
2261 print
'<input type="hidden" name="entity" value="'.$withentity.
'">';
2263 print
'<input type="submit" class="button button-edit smallpaddingimp" name="actionmodify" value="'.$langs->trans(
"Modify").
'">';
2264 print
'<input type="submit" class="button button-cancel smallpaddingimp" name="actioncancel" value="'.$langs->trans(
"Cancel").
'">';
2267 $tmpaction =
'view';
2268 $parameters = array(
'fieldlist' => $fieldlist,
'tabname' => $tabname[$id]);
2269 $reshook = $hookmanager->executeHooks(
'viewDictionaryFieldlist', $parameters, $obj, $tmpaction);
2271 $error = $hookmanager->error;
2272 $errors = $hookmanager->errors;
2274 if (empty($reshook)) {
2277 foreach ($fieldlist as $field => $value) {
2281 $valuetoshow = empty($obj->$value) ?
'' : $obj->$value;
2284 if ($value ==
'entity') {
2285 $withentity = $valuetoshow;
2290 if ($value ==
'code' && $id == DICT_PRODUCT_NATURE) {
2291 $valuetoshow = (int) $valuetoshow;
2292 } elseif ($value ==
'element') {
2293 $valuetoshow = isset($elementList[$valuetoshow]) ? $elementList[$valuetoshow] : $valuetoshow;
2294 } elseif ($value ==
'source') {
2295 $valuetoshow = isset($sourceList[$valuetoshow]) ? $sourceList[$valuetoshow] : $valuetoshow;
2296 } elseif ($valuetoshow ==
'all') {
2297 $valuetoshow = $langs->trans(
'All');
2298 } elseif ($value ==
'country') {
2299 if (empty($obj->country_code)) {
2302 $key = $langs->trans(
"Country".strtoupper($obj->country_code));
2303 $valuetoshow = ($key !=
"Country".strtoupper($obj->country_code) ? $obj->country_code.
" - ".$key : $obj->country);
2305 } elseif ($value ==
'recuperableonly' || $value ==
'deductible' || $value ==
'category_type') {
2306 $valuetoshow =
yn($valuetoshow ? 1 : 0);
2308 } elseif ($value ==
'type_cdr') {
2309 if (empty($valuetoshow)) {
2310 $valuetoshow = $langs->trans(
'None');
2311 } elseif ($valuetoshow == 1) {
2312 $valuetoshow = $langs->trans(
'AtEndOfMonth');
2313 } elseif ($valuetoshow == 2) {
2314 $valuetoshow = $langs->trans(
'CurrentNext');
2317 } elseif ($value ==
'price' || preg_match(
'/^amount/i', $value)) {
2318 $valuetoshow =
price($valuetoshow);
2320 if (in_array($value, array(
'private',
'joinfile',
'use_default'))) {
2322 $valuetoshow =
yn($valuetoshow);
2324 } elseif ($value ==
'libelle_facture') {
2325 $langs->load(
"bills");
2326 $key = $langs->trans(
"PaymentCondition".strtoupper($obj->code));
2327 $valuetoshow = ($obj->code && $key !=
"PaymentCondition".strtoupper($obj->code) ? $key : $obj->$value);
2328 $valuetoshow = nl2br($valuetoshow);
2329 } elseif ($value ==
'label' && $tabname[$id] ==
'c_country') {
2330 $key = $langs->trans(
"Country".strtoupper($obj->code));
2331 $valuetoshow = ($obj->code && $key !=
"Country".strtoupper($obj->code) ? $key : $obj->$value);
2332 } elseif ($value ==
'label' && $tabname[$id] ==
'c_availability') {
2333 $langs->load(
"propal");
2334 $key = $langs->trans(
"AvailabilityType".strtoupper($obj->code));
2335 $valuetoshow = ($obj->code && $key !=
"AvailabilityType".strtoupper($obj->code) ? $key : $obj->$value);
2336 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_actioncomm') {
2337 $key = $langs->trans(
"Action".strtoupper($obj->code));
2338 $valuetoshow = ($obj->code && $key !=
"Action".strtoupper($obj->code) ? $key : $obj->$value);
2339 } elseif (!empty($obj->code_iso) && $value ==
'label' && $tabname[$id] ==
'c_currencies') {
2340 $key = $langs->trans(
"Currency".strtoupper($obj->code_iso));
2341 $valuetoshow = ($obj->code_iso && $key !=
"Currency".strtoupper($obj->code_iso) ? $key : $obj->$value);
2342 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_typent') {
2343 $key = $langs->trans(strtoupper($obj->code));
2344 $valuetoshow = ($key != strtoupper($obj->code) ? $key : $obj->$value);
2345 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_prospectlevel') {
2346 $key = $langs->trans(strtoupper($obj->code));
2347 $valuetoshow = ($key != strtoupper($obj->code) ? $key : $obj->$value);
2348 } elseif ($value ==
'label' && $tabname[$id] ==
'c_civility') {
2349 $key = $langs->trans(
"Civility".strtoupper($obj->code));
2350 $valuetoshow = ($obj->code && $key !=
"Civility".strtoupper($obj->code) ? $key : $obj->$value);
2351 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_type_contact') {
2352 $langs->load(
'agenda');
2353 $key = $langs->trans(
"TypeContact_".$obj->element.
"_".$obj->source.
"_".strtoupper($obj->code));
2354 $valuetoshow = ($obj->code && $key !=
"TypeContact_".$obj->element.
"_".$obj->source.
"_".strtoupper($obj->code) ? $key : $obj->$value);
2355 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_payment_term') {
2356 $langs->load(
"bills");
2357 $key = $langs->trans(
"PaymentConditionShort".strtoupper($obj->code));
2358 $valuetoshow = ($obj->code && $key !=
"PaymentConditionShort".strtoupper($obj->code) ? $key : $obj->$value);
2359 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_paiement') {
2360 $langs->load(
"bills");
2361 $key = $langs->trans(
"PaymentType".strtoupper($obj->code));
2362 $valuetoshow = ($obj->code && $key !=
"PaymentType".strtoupper($obj->code) ? $key : $obj->$value);
2363 } elseif ($value ==
'type' && $tabname[$id] ==
'c_paiement') {
2364 $payment_type_list = array(0 => $langs->trans(
'PaymentTypeCustomer'), 1 => $langs->trans(
'PaymentTypeSupplier'), 2 => $langs->trans(
'PaymentTypeBoth'));
2365 $valuetoshow = $payment_type_list[$valuetoshow];
2366 } elseif ($value ==
'label' && $tabname[$id] ==
'c_input_reason') {
2367 $key = $langs->trans(
"DemandReasonType".strtoupper($obj->code));
2368 $valuetoshow = ($obj->code && $key !=
"DemandReasonType".strtoupper($obj->code) ? $key : $obj->$value);
2369 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_input_method') {
2370 $langs->load(
"orders");
2371 $key = $langs->trans($obj->code);
2372 $valuetoshow = ($obj->code && $key != $obj->code) ? $key : $obj->$value;
2373 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_shipment_mode') {
2374 $langs->load(
"sendings");
2375 $key = $langs->trans(
"SendingMethod".strtoupper($obj->code));
2376 $valuetoshow = ($obj->code && $key !=
"SendingMethod".strtoupper($obj->code) ? $key : $obj->$value);
2377 } elseif ($value ==
'libelle' && $tabname[$id] ==
'c_paper_format') {
2378 $key = $langs->trans(
'PaperFormat'.strtoupper($obj->code));
2379 $valuetoshow = ($obj->code && $key !=
'PaperFormat'.strtoupper($obj->code) ? $key : $obj->$value);
2380 } elseif ($value ==
'label' && $tabname[$id] ==
'c_type_fees') {
2381 $langs->load(
'trips');
2382 $key = $langs->trans(strtoupper($obj->code));
2383 $valuetoshow = ($obj->code && $key != strtoupper($obj->code) ? $key : $obj->$value);
2384 } elseif ($value ==
'region_id' || $value ==
'country_id') {
2386 } elseif ($value ==
'unicode') {
2387 $valuetoshow = $langs->getCurrencySymbol($obj->code, 1);
2388 } elseif ($value ==
'label' && $tabname[
GETPOSTINT(
"id")] ==
'c_units') {
2389 $langs->load(
"products");
2390 $valuetoshow = $langs->trans($obj->$value);
2391 } elseif ($value ==
'short_label' && $tabname[
GETPOSTINT(
"id")] ==
'c_units') {
2392 $langs->load(
"products");
2393 $valuetoshow = $langs->trans($obj->$value);
2394 } elseif (($value ==
'unit') && ($tabname[$id] ==
'c_paper_format')) {
2395 $key = $langs->trans(
'SizeUnit'.strtolower($obj->unit));
2396 $valuetoshow = ($obj->code && $key !=
'SizeUnit'.strtolower($obj->unit) ? $key : $obj->$value);
2397 } elseif ($value ==
'localtax1' || $value ==
'localtax2') {
2399 } elseif ($value ==
'type_vat') {
2400 if ($obj->type_vat != 0) {
2401 $valuetoshow = $type_vatList[$valuetoshow];
2403 $valuetoshow = $langs->transnoentitiesnoconv(
"All");
2406 } elseif ($value ==
'localtax1_type') {
2407 if ($obj->localtax1 != 0) {
2408 $valuetoshow = $localtax_typeList[$valuetoshow];
2413 } elseif ($value ==
'localtax2_type') {
2414 if ($obj->localtax2 != 0) {
2415 $valuetoshow = $localtax_typeList[$valuetoshow];
2420 } elseif ($value ==
'taux') {
2421 $valuetoshow =
price($valuetoshow, 0, $langs, 0, 0);
2423 } elseif (in_array($value, array(
'recuperableonly'))) {
2425 } elseif ($value ==
'accountancy_code' || $value ==
'accountancy_code_sell' || $value ==
'accountancy_code_buy') {
2426 if (isModEnabled(
'accounting')) {
2427 require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingaccount.class.php';
2429 $tmpaccountingaccount->fetch(0, $valuetoshow, 1);
2430 $titletoshow = $langs->transnoentitiesnoconv(
"Pcgtype").
': '.$tmpaccountingaccount->pcg_type;
2433 } elseif ($value ==
'fk_tva') {
2434 foreach ($form->cache_vatrates as $key => $Tab) {
2435 if ($form->cache_vatrates[$key][
'rowid'] == $valuetoshow) {
2436 $valuetoshow = $form->cache_vatrates[$key][
'label'];
2440 } elseif ($value ==
'fk_c_exp_tax_cat') {
2441 $tmpid = $valuetoshow;
2443 $valuetoshow = $langs->trans($valuetoshow ? $valuetoshow : $tmpid);
2444 } elseif ($tabname[$id] ==
'c_exp_tax_cat') {
2445 $valuetoshow = $langs->trans($valuetoshow);
2446 } elseif ($value ==
'label' && $tabname[$id] ==
'c_units') {
2447 $langs->load(
'other');
2448 $key = $langs->trans($obj->label);
2449 $valuetoshow = ($obj->label && $key != strtoupper($obj->label) ? $key : $obj->{$value});
2450 } elseif ($value ==
'label' && $tabname[$id] ==
'c_product_nature') {
2451 $langs->load(
"products");
2452 $valuetoshow = $langs->trans($obj->{$value});
2453 } elseif ($fieldlist[$field] ==
'label' && $tabname[$id] ==
'c_productbatch_qcstatus') {
2454 $langs->load(
"productbatch");
2455 $valuetoshow = $langs->trans($obj->{$value});
2456 } elseif ($value ==
'block_if_negative') {
2457 $valuetoshow =
yn($obj->{$value});
2458 } elseif ($value ==
'icon') {
2459 $valuetoshow = $obj->{$value}.
" ".
img_picto(
"", $obj->{$value});
2460 } elseif ($value ==
'type_duration') {
2461 $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'));
2462 if (!empty($obj->{$value}) && array_key_exists($obj->{$value}, $TDurationTypes)) {
2463 $valuetoshow = $TDurationTypes[$obj->{$value}];
2467 $class .= ($class ?
' ' :
'').
'tddict';
2468 if ($value ==
'note' && $id == DICT_TVA) {
2469 $class .=
' tdoverflowmax200';
2471 if ($value ==
'tracking') {
2472 $class .=
' tdoverflowauto';
2474 if (in_array($value, array(
'nbjour',
'decalage',
'pos',
'position',
'deposit_percent'))) {
2477 if (in_array($value, array(
'type_vat',
'localtax1_type',
'localtax2_type'))) {
2478 $class .=
' nowraponall';
2480 if (in_array($value, array(
'use_default',
'fk_parent',
'sortorder'))) {
2481 $class .=
' center';
2483 if ($value ==
'public') {
2484 $class .=
' center';
2488 print
'<!-- '. $value .
' --><td class="'.$class.
'"'.($titletoshow ?
' title="'.dol_escape_htmltag($titletoshow).
'"' :
'').
'>'.$valuetoshow.
'</td>';
2494 if ($id == DICT_COUNTRY) {
2495 print
'<td class="nowrap center">';
2498 print
'<a class="reposition" href="'.$url.
'action='.$acts[$obj->eec].
'_eec&token='.
newToken().
'">'.$actl[$obj->eec].
'</a>';
2500 print
'<span class="opacitymedium">'.$langs->trans(
"AlwaysActive").
'</span>';
2503 print
'<td class="nowrap center">';
2506 print
'<a class="reposition" href="'.$url.
'action='.$acts[$obj->favorite].
'_favorite&token='.
newToken().
'">'.$actl[$obj->favorite].
'</a>';
2508 print
'<span class="opacitymedium">'.$langs->trans(
"AlwaysActive").
'</span>';
2515 print
'<td class="nowrap center">';
2516 if ($canbedisabled) {
2517 print
'<a class="reposition" href="'.$url.
'action='.$acts[$obj->active].
'&token='.
newToken().
'">'.$actl[$obj->active].
'</a>';
2519 if (in_array($obj->code, array(
'AC_OTH',
'AC_OTH_AUTO'))) {
2520 print $langs->trans(
"AlwaysActive");
2521 } elseif (isset($obj->type) && in_array($obj->type, array(
'systemauto')) && empty($obj->active)) {
2522 print $langs->trans(
"Deprecated");
2523 } elseif (isset($obj->type) && in_array($obj->type, array(
'system')) && !empty($obj->active) && $obj->code !=
'AC_OTH') {
2524 print $langs->trans(
"UsedOnlyWithTypeOption");
2526 print
'<span class="opacitymedium">'.$langs->trans(
"AlwaysActive").
'</span>';
2533 print
'<td class="center maxwidthsearch nowraponall">';
2535 if ($canbemodified) {
2536 print
'<a class="reposition marginleftonly paddingleft marginrightonly paddingright editfielda" href="'.$url.
'action=edit&token='.
newToken().
'">'.
img_edit().
'</a>';
2541 print
'<a class="reposition marginleftonly paddingleft marginrightonly paddingright" href="'.$url.
'action=delete&token='.
newToken().
'">'.
img_delete().
'</a>';
2552 print
'<tr><td colspan="'.$colspan.
'"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
2568 print
'<span class="opacitymedium">'.$langs->trans(
"DictionaryDesc");
2569 print
" ".$langs->trans(
"OnlyActiveElementsAreShown").
"<br>\n";
2570 print
'</span><br>';
2573 $lastlineisempty =
false;
2575 print
'<div class="div-table-responsive-no-min">';
2576 print
'<table class="noborder centpercent">';
2577 print
'<tr class="liste_titre">';
2578 print
'<td>'.$langs->trans(
"Dictionary").
'</td>';
2580 print
'<td class="hideonsmartphone"></td>';
2583 $showemptyline =
'';
2584 foreach ($taborder as $i) {
2585 if (isset($tabname[$i]) && empty($tabcond[$i])) {
2590 if ($showemptyline) {
2591 print
'<tr class="oddeven"><td></td><td></td><td class="hideonsmartphone"></td></tr>';
2596 $value = $tabname[$i];
2597 print
'<tr class="oddeven"><td class="minwidth200">';
2598 if (!empty($tabcond[$i])) {
2599 $tabnamenoprefix = preg_replace(
'/'.MAIN_DB_PREFIX.
'/',
'', $tabname[$i]);
2600 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?id='.$i.
'">';
2601 if (!empty($tabcomplete[$tabnamenoprefix][
'picto'])) {
2602 print
img_picto(
'', $tabcomplete[$tabnamenoprefix][
'picto'],
'class="pictofixedwidth paddingrightonly"');
2604 print $langs->trans($tablib[$i]);
2607 print $langs->trans($tablib[$i]);
2611 print
'<a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$i.
'">';
2615 print
'<td class="right hideonsmartphone">';
2616 print $form->textwithpicto(
'', $langs->trans(
"Table").
': '.MAIN_DB_PREFIX.$tabname[$i]);
2619 $lastlineisempty =
false;
2621 if (!$lastlineisempty) {
2623 $lastlineisempty =
true;
2647function fieldList($fieldlist, $obj =
null, $tabname =
'', $context =
'')
2649 global $conf, $langs, $db, $mysoc;
2652 global $elementList, $sourceList, $localtax_typeList, $type_vatList;
2660 foreach ($fieldlist as $field => $value) {
2661 if ($value ==
'entity' && isset($obj->$value)) {
2662 $withentity = $obj->$value;
2666 if (in_array($value, array(
'code',
'libelle',
'type')) && $tabname ==
"c_actioncomm" && isset($obj->$value) && in_array($obj->type, array(
'system',
'systemauto'))) {
2667 $hidden = (!empty($obj->{$value}) ? $obj->{$value} :
'');
2669 print
'<input type="hidden" name="'. $value .
'" value="'.$hidden.
'">';
2670 print $langs->trans($hidden);
2672 } elseif ($value ==
'country') {
2673 if (in_array(
'region_id', $fieldlist)) {
2680 $selected = (!empty($obj->country_code) ? $obj->country_code : (!empty($obj->country) ? $obj->country :
''));
2681 if (!GETPOSTISSET(
'code')) {
2682 $selected =
GETPOST(
'countryidforinsert');
2684 print $form->select_country($selected, $value,
'', 28,
'minwidth100 maxwidth150 maxwidthonsmartphone');
2686 } elseif ($value ==
'country_id') {
2687 if (!in_array(
'country', $fieldlist)) {
2688 $country_id = (!empty($obj->{$value}) ? $obj->{$value} : 0);
2689 print
'<td class="tdoverflowmax100">';
2690 print
'<input type="hidden" name="'. $value .
'" value="'.$country_id.
'">';
2693 } elseif ($value ==
'region') {
2695 $formcompany->select_region($region_id,
'region');
2697 } elseif ($value ==
'region_id') {
2698 $region_id = (!empty($obj->{$value}) ? $obj->{$value} : 0);
2700 print
'<input type="hidden" name="'. $value .
'" value="'.$region_id.
'">';
2702 } elseif ($value ==
'lang') {
2706 } elseif (in_array($value, array(
'element',
'source'))) {
2707 $tmparray = array();
2708 if ($value ==
'element') {
2709 $tmparray = $elementList;
2711 $tmparray = $sourceList;
2714 print $form->selectarray($value, $tmparray, (!empty($obj->{$value}) ? $obj->{$value} :
''), 0, 0, 0,
'', 0, 0, 0,
'',
'maxwidth250');
2716 } elseif (in_array($value, array(
'public',
'use_default'))) {
2718 print
'<td class="center">';
2720 print $form->selectyesno($value, (!empty($obj->{$value}) ? $obj->{$value} :
''), 1);
2722 } elseif ($value ==
'private') {
2725 print $form->selectyesno(
"private", (!empty($obj->{$value}) ? $obj->{$value} :
''));
2727 } elseif ($value ==
'type' && $tabname ==
"c_actioncomm") {
2728 $type = (!empty($obj->type) ? $obj->type :
'user');
2730 print $type.
'<input type="hidden" name="type" value="'.$type.
'">';
2732 } elseif ($value ==
'type' && $tabname ==
'c_paiement') {
2734 $select_list = array(0 => $langs->trans(
'PaymentTypeCustomer'), 1 => $langs->trans(
'PaymentTypeSupplier'), 2 => $langs->trans(
'PaymentTypeBoth'));
2735 print $form->selectarray($value, $select_list, (!empty($obj->{$value}) ? $obj->{$value} :
'2'));
2737 } elseif ($value ==
'recuperableonly' || $value ==
'type_cdr' || $value ==
'deductible' || $value ==
'category_type') {
2738 if ($value ==
'type_cdr') {
2739 print
'<td class="center">';
2743 if ($value ==
'type_cdr') {
2744 print $form->selectarray($value, array(0 => $langs->trans(
'None'), 1 => $langs->trans(
'AtEndOfMonth'), 2 => $langs->trans(
'CurrentNext')), (!empty($obj->{$value}) ? $obj->{$value} :
''));
2747 print $form->selectyesno($value, (!empty($obj->{$value}) ? $obj->{$value} :
''), 1);
2750 } elseif (in_array($value, array(
'nbjour',
'decalage',
'taux',
'localtax1',
'localtax2'))) {
2752 if (in_array($value, array(
'taux',
'localtax1',
'localtax2'))) {
2755 print
'<td class="'.$class.
'">';
2756 print
'<input type="text" class="flat" value="'.(isset($obj->{$value}) ? $obj->{$value} :
'').
'" size="3" name="'. $value .
'">';
2758 } elseif (in_array($value, array(
'libelle_facture'))) {
2763 if ($tabname ==
'c_payment_term') {
2764 $langs->load(
"bills");
2765 if (isset($obj->code) && !empty($obj->code)) {
2766 $transkey =
"PaymentCondition" . strtoupper($obj->code);
2767 if ($langs->trans($transkey) != $transkey) {
2769 print $form->textwithpicto($langs->trans($transkey), $langs->trans(
"GoIntoTranslationMenuToChangeThis"));
2774 print
'<textarea cols="30" rows="'.ROWS_2.
'" class="flat" name="'. $value .
'">'.(!empty($obj->{$value}) ? $obj->{$value} :
'').
'</textarea>';
2776 print
'<input type="hidden" name="'. $value .
'" value="'.$transkey.
'">';
2779 } elseif ($value ==
'price' || preg_match(
'/^amount/i', $value)) {
2780 print
'<td><input type="text" class="flat minwidth75" value="'.price((!empty($obj->{$value}) ? $obj->{$value} :
'')).
'" name="'. $value .
'"></td>';
2781 } elseif ($value ==
'code' && isset($obj->{$value})) {
2782 print
'<td><input type="text" class="flat minwidth75 maxwidth100" value="'.(!empty($obj->{$value}) ? $obj->{$value} :
'').
'" name="'. $value .
'"></td>';
2783 } elseif ($value ==
'unit') {
2786 'mm' => $langs->trans(
'SizeUnitmm'),
2787 'cm' => $langs->trans(
'SizeUnitcm'),
2788 'point' => $langs->trans(
'SizeUnitpoint'),
2789 'inch' => $langs->trans(
'SizeUnitinch')
2791 print $form->selectarray(
'unit', $units, (!empty($obj->{$value}) ? $obj->{$value} :
''), 0, 0, 0);
2793 } elseif ($value ==
'type_vat') {
2795 print
'<td class="center">';
2796 print $form->selectarray($value, $type_vatList, (!empty($obj->{$value}) ? $obj->{$value} :
''));
2798 } elseif ($value ==
'localtax1_type' || $value ==
'localtax2_type') {
2800 print
'<td class="center">';
2801 print $form->selectarray($value, $localtax_typeList, (!empty($obj->{$value}) ? $obj->{$value} :
''));
2803 } elseif ($value ==
'accountancy_code' || $value ==
'accountancy_code_sell' || $value ==
'accountancy_code_buy') {
2805 if (isModEnabled(
'accounting')) {
2806 $fieldname = $value;
2807 $accountancy_account = (!empty($obj->$fieldname) ? $obj->$fieldname : 0);
2808 print $formaccounting->select_account($accountancy_account,
'.'. $value, 1,
'', 1, 1,
'maxwidth200 maxwidthonsmartphone');
2810 $fieldname = $value;
2811 print
'<input type="text" size="10" class="flat" value="'.(isset($obj->$fieldname) ? $obj->$fieldname :
'').
'" name="'. $value .
'">';
2814 } elseif ($value ==
'fk_tva') {
2816 print $form->load_tva(
'fk_tva', $obj->taux, $mysoc,
new Societe($db), 0, 0,
'',
false, -1);
2818 } elseif ($value ==
'fk_c_exp_tax_cat') {
2820 print $form->selectExpenseCategories($obj->fk_c_exp_tax_cat);
2822 } elseif ($value ==
'fk_range') {
2824 print $form->selectExpenseRanges($obj->fk_range);
2826 } elseif ($value ==
'block_if_negative') {
2828 print $form->selectyesno(
"block_if_negative", (empty($obj->block_if_negative) ?
'' : $obj->block_if_negative), 1);
2830 } elseif ($value ==
'type_duration') {
2832 print $form->selectTypeDuration(
'', (empty($obj->type_duration) ?
'' : $obj->type_duration), array(
'i',
'h'));
2835 $fieldValue = isset($obj->{$value}) ? $obj->{$value} :
'';
2839 if ($value ==
'sortorder') {
2840 $fieldlist[$field] =
'position';
2843 if ($fieldlist[$field] ==
'code') {
2844 $class =
'maxwidth100';
2846 if (in_array($fieldlist[$field], array(
'deposit_percent'))) {
2848 $class =
'maxwidth50 right';
2850 if (in_array($fieldlist[$field], array(
'pos',
'position'))) {
2852 $class =
'maxwidth50 right';
2854 if (in_array($fieldlist[$field], array(
'dayrule',
'day',
'month',
'year',
'use_default',
'affect',
'delay',
'public',
'sortorder',
'sens',
'category_type',
'fk_parent'))) {
2855 $class =
'maxwidth50 center';
2857 if (in_array($fieldlist[$field], array(
'use_default',
'public',
'fk_parent'))) {
2858 $classtd =
'center';
2860 if (in_array($fieldlist[$field], array(
'libelle',
'label',
'tracking'))) {
2861 $class =
'quatrevingtpercent';
2864 if ($fieldlist[$field] ==
'fk_parent') {
2865 if (empty($fieldValue)) {
2872 if (in_array($fieldlist[$field], array(
'libelle',
'label'))) {
2875 case 'c_email_senderprofile':
2876 case 'c_forme_juridique':
2877 case 'c_holiday_types':
2878 case 'c_payment_term':
2879 case 'c_transport_mode':
2880 $maxlength =
' maxlength="255"';
2882 case 'c_email_templates':
2883 $maxlength =
' maxlength="180"';
2885 case 'c_socialnetworks':
2886 $maxlength =
' maxlength="150"';
2889 $maxlength =
' maxlength="128"';
2893 print
'<td class="'.$classtd.
'">';
2896 if (in_array($fieldlist[$field], array(
'label',
'libelle'))) {
2898 if ($tabname ==
'c_civility' && !empty($obj->code)) {
2899 $transkey =
"Civility".strtoupper($obj->code);
2901 if ($tabname ==
'c_payment_term' && !empty($obj->code)) {
2902 $langs->load(
"bills");
2903 $transkey =
"PaymentConditionShort".strtoupper($obj->code);
2905 if ($transkey && $langs->trans($transkey) != $transkey) {
2907 print $form->textwithpicto($langs->trans($transkey), $langs->trans(
"GoIntoTranslationMenuToChangeThis"));
2911 print
'<input type="text" class="flat'.($class ?
' '.$class :
'').
'"'.($maxlength ?
' '.$maxlength :
'').
' value="'.
dol_escape_htmltag($fieldValue).
'" name="'.$fieldlist[$field].
'">';
2913 print
'<input type="hidden" name="'.$fieldlist[$field].
'" value="'.$transkey.
'">';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
length_accountg($account)
Return General accounting account with defined length (used for product and miscellaneous)
complete_dictionary_with_modules(&$taborder, &$tabname, &$tablib, &$tabsql, &$tabsqlsort, &$tabfield, &$tabfieldvalue, &$tabfieldinsert, &$tabrowid, &$tabcond, &$tabhelp, &$tabcomplete)
Add external modules to list of dictionaries.
complete_elementList_with_modules(&$elementList)
Search external modules to complete the list of contact element.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage accounting accounts.
Class to manage third parties objects (customers, suppliers, prospects...)
fieldList($fieldlist, $obj=null, $tabname='', $context='')
Show fields in insert/edit mode.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_help($usehelpcursor=1, $usealttitle=1)
Show help logo with cursor "?".
img_delete($titlealt='default', $other='class="pictodelete"', $morecss='')
Show delete logo.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
yn($yesno, $case=1, $color=0)
Return yes or no in current language.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dolGetButtonTitle($label, $helpText='', $iconClass='fa fa-file', $url='', $id='', $status=1, $params=array())
Function dolGetButtonTitle : this kind of buttons are used in title in list.
natural_search($fields, $value, $mode=0, $nofirstand=0)
Generate natural SQL search string for a criteria (this criteria can be tested on one or several fiel...
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $disablesortlink=0, $tooltip='', $forcenowrapcolumntitle=0)
Get title line of an array.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $hideselectlimit=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
info_admin($text, $infoonimgalt=0, $nodiv=0, $admin='1', $morecss='hideonsmartphone', $textfordropdown='', $picto='')
Show information in HTML for admin users or standard users.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
getDictionaryValue($tablename, $field, $id, $checkentity=false, $rowidfield='rowid')
Return the value of a filed into a dictionary for the record $id.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
getEntity($element, $shared=1, $currentobject=null)
Get list of entity id to use.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.