41require_once
'../main.inc.php';
42include_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
43require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
44require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
45require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
46require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
47require_once DOL_DOCUMENT_ROOT.
'/societe/class/client.class.php';
48if (isModEnabled(
'category')) {
49 require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
50 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcategory.class.php';
54$langs->loadLangs(array(
"companies",
"commercial",
"customers",
"suppliers",
"bills",
"compta",
"categories",
"cashdesk"));
58$action =
GETPOST(
'action',
'aZ09');
59$massaction =
GETPOST(
'massaction',
'alpha');
61$confirm =
GETPOST(
'confirm',
'alpha');
62$toselect =
GETPOST(
'toselect',
'array');
63$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'thirdpartylist';
64$optioncss =
GETPOST(
'optioncss',
'alpha');
65if ($contextpage ==
'poslist') {
68$mode =
GETPOST(
"mode",
'alpha');
71$search_all = trim(
GETPOST(
'search_all',
'alphanohtml') ?
GETPOST(
'search_all',
'alphanohtml') :
GETPOST(
'sall',
'alphanohtml'));
72$search_cti = preg_replace(
'/^0+/',
'', preg_replace(
'/[^0-9]/',
'',
GETPOST(
'search_cti',
'alphanohtml')));
74$search_id =
GETPOST(
"search_id",
'int');
75$search_nom = trim(
GETPOST(
"search_nom",
'restricthtml'));
76$search_alias = trim(
GETPOST(
"search_alias",
'restricthtml'));
77$search_nom_only = trim(
GETPOST(
"search_nom_only",
'restricthtml'));
78$search_barcode = trim(
GETPOST(
"search_barcode",
'alpha'));
79$search_customer_code = trim(
GETPOST(
'search_customer_code',
'alpha'));
80$search_supplier_code = trim(
GETPOST(
'search_supplier_code',
'alpha'));
81$search_account_customer_code = trim(
GETPOST(
'search_account_customer_code',
'alpha'));
82$search_account_supplier_code = trim(
GETPOST(
'search_account_supplier_code',
'alpha'));
83$search_address = trim(
GETPOST(
'search_address',
'alpha'));
84$search_zip = trim(
GETPOST(
"search_zip",
'alpha'));
85$search_town = trim(
GETPOST(
"search_town",
'alpha'));
86$search_state = trim(
GETPOST(
"search_state",
'alpha'));
87$search_region = trim(
GETPOST(
"search_region",
'alpha'));
88$search_email = trim(
GETPOST(
'search_email',
'alpha'));
89$search_phone = trim(
GETPOST(
'search_phone',
'alpha'));
90$search_phone_mobile = trim(
GETPOST(
'search_phone_mobile',
'alpha'));
91$search_fax = trim(
GETPOST(
'search_fax',
'alpha'));
92$search_url = trim(
GETPOST(
'search_url',
'alpha'));
93$search_idprof1 = trim(
GETPOST(
'search_idprof1',
'alpha'));
94$search_idprof2 = trim(
GETPOST(
'search_idprof2',
'alpha'));
95$search_idprof3 = trim(
GETPOST(
'search_idprof3',
'alpha'));
96$search_idprof4 = trim(
GETPOST(
'search_idprof4',
'alpha'));
97$search_idprof5 = trim(
GETPOST(
'search_idprof5',
'alpha'));
98$search_idprof6 = trim(
GETPOST(
'search_idprof6',
'alpha'));
99$search_vat = trim(
GETPOST(
'search_vat',
'alpha'));
101$search_categ_cus =
GETPOSTINT(
"search_categ_cus");
102$search_categ_sup =
GETPOSTINT(
"search_categ_sup");
103$searchCategoryCustomerOperator =
GETPOSTINT(
'search_category_customer_operator');
104$searchCategorySupplierOperator =
GETPOSTINT(
'search_category_supplier_operator');
105if (GETPOSTISSET(
'formfilteraction')) {
106 $searchCategoryCustomerOperator =
GETPOST(
'search_category_customer_operator');
107 $searchCategorySupplierOperator =
GETPOST(
'search_category_supplier_operator');
109 $searchCategoryCustomerOperator =
getDolGlobalString(
'MAIN_SEARCH_CAT_OR_BY_DEFAULT');
110 $searchCategorySupplierOperator =
getDolGlobalString(
'MAIN_SEARCH_CAT_OR_BY_DEFAULT');
112$searchCategoryCustomerList =
GETPOST(
'search_category_customer_list',
'array');
113if (!empty($search_categ_cus) && empty($searchCategoryCustomerList)) {
114 $searchCategoryCustomerList = array($search_categ_cus);
116$searchCategorySupplierList =
GETPOST(
'search_category_supplier_list',
'array');
117if (!empty($search_categ_sup) && empty($searchCategorySupplierList)) {
118 $searchCategorySupplierList = array($search_categ_sup);
120$search_country =
GETPOST(
"search_country",
'aZ09');
121$search_type_thirdparty =
GETPOST(
"search_type_thirdparty",
'intcomma');
122$search_price_level =
GETPOST(
'search_price_level',
'int');
123$search_staff =
GETPOST(
"search_staff",
'int');
124$search_legalform =
GETPOST(
"search_legalform",
'int');
125$search_status =
GETPOST(
"search_status",
'intcomma');
126$search_type =
GETPOST(
'search_type',
'alpha');
127$search_level =
GETPOST(
"search_level",
"array:alpha");
128$search_stcomm =
GETPOST(
'search_stcomm',
"array:int");
129$search_import_key = trim(
GETPOST(
"search_import_key",
"alpha"));
130$search_parent_name = trim(
GETPOST(
'search_parent_name',
'alpha'));
132$search_date_creation_startmonth =
GETPOSTINT(
'search_date_creation_startmonth');
133$search_date_creation_startyear =
GETPOSTINT(
'search_date_creation_startyear');
134$search_date_creation_startday =
GETPOSTINT(
'search_date_creation_startday');
135$search_date_creation_start =
dol_mktime(0, 0, 0, $search_date_creation_startmonth, $search_date_creation_startday, $search_date_creation_startyear);
136$search_date_creation_endmonth =
GETPOSTINT(
'search_date_creation_endmonth');
137$search_date_creation_endyear =
GETPOSTINT(
'search_date_creation_endyear');
138$search_date_creation_endday =
GETPOSTINT(
'search_date_creation_endday');
139$search_date_creation_end =
dol_mktime(23, 59, 59, $search_date_creation_endmonth, $search_date_creation_endday, $search_date_creation_endyear);
141$search_date_modif_startmonth =
GETPOSTINT(
'search_date_modif_startmonth');
142$search_date_modif_startyear =
GETPOSTINT(
'search_date_modif_startyear');
143$search_date_modif_startday =
GETPOSTINT(
'search_date_modif_startday');
144$search_date_modif_start =
dol_mktime(0, 0, 0, $search_date_modif_startmonth, $search_date_modif_startday, $search_date_modif_startyear);
145$search_date_modif_endmonth =
GETPOSTINT(
'search_date_modif_endmonth');
146$search_date_modif_endyear =
GETPOSTINT(
'search_date_modif_endyear');
147$search_date_modif_endday =
GETPOSTINT(
'search_date_modif_endday');
148$search_date_modif_end =
dol_mktime(23, 59, 59, $search_date_modif_endmonth, $search_date_modif_endday, $search_date_modif_endyear);
150$type =
GETPOST(
'type',
'alpha');
151$place =
GETPOST(
'place',
'aZ09') ?
GETPOST(
'place',
'aZ09') :
'0';
153$diroutputmassaction = $conf->societe->dir_output.
'/temp/massgeneration/'.$user->id;
157$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
158$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
164 $sortfield =
"s.nom";
166if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
170$offset = $limit * $page;
171$pageprev = $page - 1;
172$pagenext = $page + 1;
175 if (empty($contextpage) || $contextpage ==
'thirdpartylist') {
176 $contextpage =
'customerlist';
178 if ($search_type ==
'') {
179 $search_type =
'1,3';
183 if (empty($contextpage) || $contextpage ==
'thirdpartylist') {
184 $contextpage =
'prospectlist';
186 if ($search_type ==
'') {
187 $search_type =
'2,3';
191 if (empty($contextpage) || $contextpage ==
'poslist') {
192 $contextpage =
'poslist';
194 if ($search_type ==
'') {
195 $search_type =
'1,2,3';
199 if (empty($contextpage) || $contextpage ==
'thirdpartylist') {
200 $contextpage =
'supplierlist';
202 if ($search_type ==
'') {
209$hookmanager->initHooks(array($contextpage,
'thirdpartylist'));
212$extrafields->fetch_name_optionals_label(
$object->table_element);
214$search_array_options = $extrafields->getOptionalsFromPost(
$object->table_element,
'',
'search_');
217$fieldstosearchall = array(
218 's.nom' =>
"ThirdPartyName",
219 's.name_alias' =>
"AliasNameShort",
220 's.code_client' =>
"CustomerCode",
221 's.code_fournisseur' =>
"SupplierCode",
222 's.code_compta' =>
"CustomerAccountancyCodeShort",
223 's.code_compta_fournisseur' =>
"SupplierAccountancyCodeShort",
226 's.email' =>
"EMail",
228 's.tva_intra' =>
"VATIntra",
229 's.siren' =>
"ProfId1",
230 's.siret' =>
"ProfId2",
231 's.ape' =>
"ProfId3",
232 's.phone' =>
"Phone",
233 's.phone_mobile' =>
"PhoneMobile",
236if (($tmp = $langs->transnoentities(
"ProfId4".$mysoc->country_code)) && $tmp !=
"ProfId4".$mysoc->country_code && $tmp !=
'-') {
237 $fieldstosearchall[
's.idprof4'] =
'ProfId4';
239if (($tmp = $langs->transnoentities(
"ProfId5".$mysoc->country_code)) && $tmp !=
"ProfId5".$mysoc->country_code && $tmp !=
'-') {
240 $fieldstosearchall[
's.idprof5'] =
'ProfId5';
242if (($tmp = $langs->transnoentities(
"ProfId6".$mysoc->country_code)) && $tmp !=
"ProfId6".$mysoc->country_code && $tmp !=
'-') {
243 $fieldstosearchall[
's.idprof6'] =
'ProfId6';
245if (isModEnabled(
'barcode')) {
246 $fieldstosearchall[
's.barcode'] =
'Gencod';
255$checkedcustomercode = (in_array($contextpage, array(
'thirdpartylist',
'customerlist',
'prospectlist',
'poslist')) ? 1 : 0);
256$checkedsuppliercode = (in_array($contextpage, array(
'supplierlist')) ? 1 : 0);
257$checkedcustomeraccountcode = (in_array($contextpage, array(
'customerlist')) ? 1 : 0);
258$checkedsupplieraccountcode = (in_array($contextpage, array(
'supplierlist')) ? 1 : 0);
259$checkedtypetiers = 1;
269$checkprospectlevel = (in_array($contextpage, array(
'prospectlist')) ? 1 : 0);
270$checkstcomm = (in_array($contextpage, array(
'prospectlist')) ? 1 : 0);
272 's.rowid' => array(
'label' =>
"TechnicalID",
'position' => 1,
'checked' => -1,
'enabled' => 1),
273 's.nom' => array(
'label' =>
"ThirdPartyName",
'position' => 2,
'checked' => 1),
274 's.name_alias' => array(
'label' =>
"AliasNameShort",
'position' => 3,
'checked' => 1),
275 's.barcode' => array(
'label' =>
"Gencod",
'position' => 5,
'checked' => 1,
'enabled' => (isModEnabled(
'barcode'))),
276 's.code_client' => array(
'label' =>
"CustomerCodeShort",
'position' => 10,
'checked' => $checkedcustomercode),
277 's.code_fournisseur' => array(
'label' =>
"SupplierCodeShort",
'position' => 11,
'checked' => $checkedsuppliercode,
'enabled' => (isModEnabled(
"supplier_order") || isModEnabled(
"supplier_invoice"))),
278 's.code_compta' => array(
'label' =>
"CustomerAccountancyCodeShort",
'position' => 13,
'checked' => $checkedcustomeraccountcode),
279 's.code_compta_fournisseur' => array(
'label' =>
"SupplierAccountancyCodeShort",
'position' => 14,
'checked' => $checkedsupplieraccountcode,
'enabled' => (isModEnabled(
"supplier_order") || isModEnabled(
"supplier_invoice"))),
280 's.address' => array(
'label' =>
"Address",
'position' => 19,
'checked' => 0),
281 's.zip' => array(
'label' =>
"Zip",
'position' => 20,
'checked' => 1),
282 's.town' => array(
'label' =>
"Town",
'position' => 21,
'checked' => 0),
283 'state.nom' => array(
'label' =>
"State",
'position' => 22,
'checked' => 0),
284 'region.nom' => array(
'label' =>
"Region",
'position' => 23,
'checked' => 0),
285 'country.code_iso' => array(
'label' =>
"Country",
'position' => 24,
'checked' => 0),
286 's.email' => array(
'label' =>
"Email",
'position' => 25,
'checked' => 0),
287 's.url' => array(
'label' =>
"Url",
'position' => 26,
'checked' => 0),
288 's.phone' => array(
'label' =>
"Phone",
'position' => 27,
'checked' => 1),
289 's.fax' => array(
'label' =>
"Fax",
'position' => 28,
'checked' => 0),
290 'typent.code' => array(
'label' =>
"ThirdPartyType",
'position' => 29,
'checked' => $checkedtypetiers),
291 'staff.code' => array(
'label' =>
"Workforce",
'position' => 31,
'checked' => 0),
292 'legalform.code' => array(
'label' =>
'JuridicalStatus',
'position'=>32,
'checked' => 0),
293 's.phone_mobile' => array(
'label' =>
"PhoneMobile",
'position' => 35,
'checked' => 0),
294 's.siren' => array(
'label' =>
"ProfId1Short",
'position' => 40,
'checked' => $checkedprofid1),
295 's.siret' => array(
'label' =>
"ProfId2Short",
'position' => 41,
'checked' => $checkedprofid2),
296 's.ape' => array(
'label' =>
"ProfId3Short",
'position' => 42,
'checked' => $checkedprofid3),
297 's.idprof4' => array(
'label' =>
"ProfId4Short",
'position' => 43,
'checked' => $checkedprofid4),
298 's.idprof5' => array(
'label' =>
"ProfId5Short",
'position' => 44,
'checked' => $checkedprofid5),
299 's.idprof6' => array(
'label' =>
"ProfId6Short",
'position' => 45,
'checked' => $checkedprofid6),
300 's.tva_intra' => array(
'label' =>
"VATIntraShort",
'position' => 50,
'checked' => 0),
301 'customerorsupplier' => array(
'label' =>
'NatureOfThirdParty',
'position' => 61,
'checked' => 1),
302 's.fk_prospectlevel' => array(
'label' =>
"ProspectLevel",
'position' => 62,
'checked' => $checkprospectlevel),
303 's.fk_stcomm' => array(
'label' =>
"StatusProsp",
'position' => 63,
'checked' => $checkstcomm),
304 's2.nom' => array(
'label' =>
'ParentCompany',
'position' => 64,
'checked' => 0),
305 's.datec' => array(
'label' =>
"DateCreation",
'checked' => 0,
'position' => 500),
306 's.tms' => array(
'label' =>
"DateModificationShort",
'checked' => 0,
'position' => 500),
307 's.status' => array(
'label' =>
"Status",
'checked' => 1,
'position' => 1000),
308 's.import_key' => array(
'label' =>
"ImportId",
'checked' => 0,
'position' => 1100),
311 $arrayfields[
's.price_level'] = array(
'label' =>
"PriceLevel",
'position' => 30,
'checked' => 0);
315$arrayfields[
'sales.representative'] = array(
'label' => $langs->trans(
"SalesRepresentatives"),
'checked' => 1,
'position' => 12);
318include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_array_fields.tpl.php';
322'@phan-var-force array<string,array{label:string,checked?:int<0,1>,position?:int,help?:string}> $arrayfields';
327 $socid = $user->socid;
336if ($action ==
"change" && $user->hasRight(
'takepos',
'run')) {
340 $sql =
"SELECT rowid FROM ".MAIN_DB_PREFIX.
"facture where ref='(PROV-POS".$_SESSION[
"takeposterminal"].
"-".$place.
")' AND entity IN (".
getEntity(
'invoice').
")";
341 $result = $db->query($sql);
342 $num_lines = $db->num_rows($result);
343 if ($num_lines == 0) {
344 require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
346 $constforthirdpartyid =
'CASHDESK_ID_THIRDPARTY'.$_SESSION[
"takeposterminal"];
349 $invoice->module_source =
'takepos';
350 $invoice->pos_source = $_SESSION[
"takeposterminal"];
351 $placeid = $invoice->create($user);
352 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"facture set ref='(PROV-POS".$_SESSION[
"takeposterminal"].
"-".$place.
")' where rowid = ".((int) $placeid);
356 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"facture set fk_soc=".((int) $idcustomer).
" where ref='(PROV-POS".$_SESSION[
"takeposterminal"].
"-".$place.
")'";
357 $resql = $db->query($sql); ?>
359 console.log(
"Reload page invoice.php with place=<?php print $place; ?>");
360 parent.$(
"#poslines").load(
"invoice.php?place=<?php print $place; ?>",
function() {
362 <?php
if (!$resql) { ?>
363 alert(
'Error failed to update customer on draft invoice.');
365 parent.$.colorbox.close();
372if (
GETPOST(
'cancel',
'alpha')) {
376if (!
GETPOST(
'confirmmassaction',
'alpha') && $massaction !=
'presend' && $massaction !=
'confirm_presend') {
380$parameters = array(
'arrayfields' => &$arrayfields);
381$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
386if (empty($reshook)) {
388 include DOL_DOCUMENT_ROOT.
'/core/actions_changeselectedfields.inc.php';
391 if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
395 $search_categ_cus = 0;
396 $search_categ_sup = 0;
397 $searchCategoryCustomerOperator = 0;
398 $searchCategorySupplierOperator = 0;
399 $searchCategoryCustomerList = array();
400 $searchCategorySupplierList = array();
402 $search_barcode =
"";
403 $search_customer_code =
'';
404 $search_supplier_code =
'';
405 $search_account_customer_code =
'';
406 $search_account_supplier_code =
'';
407 $search_address =
'';
412 $search_country =
'';
415 $search_phone_mobile =
'';
418 $search_idprof1 =
'';
419 $search_idprof2 =
'';
420 $search_idprof3 =
'';
421 $search_idprof4 =
'';
422 $search_idprof5 =
'';
423 $search_idprof6 =
'';
426 $search_price_level =
'';
427 $search_type_thirdparty =
'';
429 $search_legalform =
'';
430 $search_date_creation_startmonth =
"";
431 $search_date_creation_startyear =
"";
432 $search_date_creation_startday =
"";
433 $search_date_creation_start =
"";
434 $search_date_creation_endmonth =
"";
435 $search_date_creation_endyear =
"";
436 $search_date_creation_endday =
"";
437 $search_date_creation_end =
"";
438 $search_date_modif_startmonth =
"";
439 $search_date_modif_startyear =
"";
440 $search_date_modif_startday =
"";
441 $search_date_modif_start =
"";
442 $search_date_modif_endmonth =
"";
443 $search_date_modif_endyear =
"";
444 $search_date_modif_endday =
"";
445 $search_date_modif_end =
"";
449 $search_parent_name =
'';
450 $search_import_key =
'';
454 $search_array_options = array();
458 $objectclass =
'Societe';
459 $objectlabel =
'ThirdParty';
460 $permissiontoread = $user->hasRight(
'societe',
'lire');
461 $permissiontodelete = $user->hasRight(
'societe',
'supprimer');
462 $permissiontoadd = $user->hasRight(
"societe",
"creer");
463 $uploaddir = $conf->societe->dir_output;
464 include DOL_DOCUMENT_ROOT.
'/core/actions_massactions.inc.php';
466 if ($action ==
'setstcomm') {
479if ($search_status ==
'' && empty($search_all)) {
498$form =
new Form($db);
500$companystatic =
new Societe($db);
501$companyparent =
new Societe($db);
503$prospectstatic =
new Client($db);
504$prospectstatic->client = 2;
505$prospectstatic->loadCacheOfProspStatus();
509$title = $langs->trans(
"ThirdParties");
510if ($type ==
'c' && (empty($search_type) || ($search_type ==
'1,3'))) {
511 $title = $langs->trans(
"Customers");
513if ($type ==
'p' && (empty($search_type) || ($search_type ==
'2,3'))) {
514 $title = $langs->trans(
"Prospects");
516if ($type ==
'f' && (empty($search_type) || ($search_type ==
'4'))) {
517 $title = $langs->trans(
"Suppliers");
519$help_url =
'EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
524$sql =
"SELECT code, label, sortorder";
525$sql .=
" FROM ".MAIN_DB_PREFIX.
"c_prospectlevel";
526$sql .=
" WHERE active > 0";
527$sql .=
" ORDER BY sortorder";
528$resql = $db->query($sql);
530 while ($obj = $db->fetch_object($resql)) {
532 $level = $langs->trans($obj->code);
533 if ($level == $obj->code) {
534 $level = $langs->trans($obj->label);
536 $tab_level[$obj->code] = $level;
544$sql =
"SELECT s.rowid, s.nom as name, s.name_alias, s.barcode, s.address, s.town, s.zip, s.datec, s.code_client, s.code_fournisseur, s.logo,";
546$sql .=
" st.libelle as stcomm, st.picto as stcomm_picto, s.fk_stcomm as stcomm_id, s.fk_prospectlevel, s.prefix_comm, s.client, s.fournisseur, s.canvas, s.status as status,";
547$sql .=
" s.email, s.phone, s.phone_mobile, s.fax, s.url, s.siren as idprof1, s.siret as idprof2, s.ape as idprof3, s.idprof4 as idprof4, s.idprof5 as idprof5, s.idprof6 as idprof6, s.tva_intra, s.fk_pays,";
548$sql .=
" s.tms as date_modification, s.datec as date_creation, s.import_key,";
549$sql .=
" s.code_compta, s.code_compta_fournisseur, s.parent as fk_parent,s.price_level,";
550$sql .=
" s2.nom as name2,";
551$sql .=
" typent.code as typent_code,";
552$sql .=
" staff.code as staff_code,";
553$sql .=
" s.fk_forme_juridique as legalform_code,";
554$sql .=
" country.code as country_code, country.label as country_label,";
555$sql .=
" state.code_departement as state_code, state.nom as state_name,";
556$sql .=
" region.code_region as region_code, region.nom as region_name";
558if (!empty($extrafields->attributes[
$object->table_element][
'label'])) {
559 foreach ($extrafields->attributes[
$object->table_element][
'label'] as $key => $val) {
560 $sql .= ($extrafields->attributes[
$object->table_element][
'type'][$key] !=
'separate' ?
", ef.".$key.
" as options_".$key :
'');
564$parameters = array();
565$reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters, $object, $action);
566$sql .= $hookmanager->resPrint;
567$sql = preg_replace(
'/,\s*$/',
'', $sql);
572$sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
573$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe as s2 ON s.parent = s2.rowid";
574if (!empty($extrafields->attributes[
$object->table_element][
'label']) && is_array($extrafields->attributes[
$object->table_element][
'label']) && count($extrafields->attributes[
$object->table_element][
'label'])) {
575 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element.
"_extrafields as ef on (s.rowid = ef.fk_object)";
578$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as country on (country.rowid = s.fk_pays)";
579$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_typent as typent on (typent.id = s.fk_typent)";
580$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_effectif as staff on (staff.id = s.fk_effectif)";
582$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_departements as state on (state.rowid = s.fk_departement)";
583$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_regions as region on (region.code_region = state.fk_region)";
584$sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
"c_stcomm as st ON s.fk_stcomm = st.id";
586$parameters = array();
587$reshook = $hookmanager->executeHooks(
'printFieldListFrom', $parameters, $object, $action);
588$sql .= $hookmanager->resPrint;
589$sql .=
" WHERE s.entity IN (".getEntity(
'societe').
")";
590if (!$user->hasRight(
'fournisseur',
'lire')) {
591 $sql .=
" AND (s.fournisseur <> 1 OR s.client <> 0)";
595if (!$user->hasRight(
'societe',
'client',
'voir') && !$socid) {
596 $search_sale = $user->id;
599if ($search_sale && $search_sale !=
'-1') {
600 if ($search_sale == -2) {
601 $sql .=
" AND NOT EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = s.rowid)";
602 } elseif ($search_sale > 0) {
603 $sql .=
" AND EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = s.rowid AND sc.fk_user = ".((int) $search_sale).
")";
608if (!empty($searchCategoryCustomerList)) {
609 $searchCategoryCustomerSqlList = array();
610 $listofcategoryid =
'';
611 foreach ($searchCategoryCustomerList as $searchCategoryCustomer) {
612 if (intval($searchCategoryCustomer) == -2) {
613 $searchCategoryCustomerSqlList[] =
"NOT EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_societe as ck WHERE s.rowid = ck.fk_soc)";
614 } elseif (intval($searchCategoryCustomer) > 0) {
615 if ($searchCategoryCustomerOperator == 0) {
616 $searchCategoryCustomerSqlList[] =
" EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_societe as ck WHERE s.rowid = ck.fk_soc AND ck.fk_categorie = ".((int) $searchCategoryCustomer).
")";
618 $listofcategoryid .= ($listofcategoryid ?
', ' :
'') .((
int) $searchCategoryCustomer);
622 if ($listofcategoryid) {
623 $searchCategoryCustomerSqlList[] =
" EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_societe as ck WHERE s.rowid = ck.fk_soc AND ck.fk_categorie IN (".$db->sanitize($listofcategoryid).
"))";
625 if ($searchCategoryCustomerOperator == 1) {
626 if (!empty($searchCategoryCustomerSqlList)) {
627 $sql .=
" AND (".implode(
' OR ', $searchCategoryCustomerSqlList).
")";
630 if (!empty($searchCategoryCustomerSqlList)) {
631 $sql .=
" AND (".implode(
' AND ', $searchCategoryCustomerSqlList).
")";
637if (!empty($searchCategorySupplierList)) {
638 $searchCategorySupplierSqlList = array();
639 $listofcategoryid =
'';
640 foreach ($searchCategorySupplierList as $searchCategorySupplier) {
641 if (intval($searchCategorySupplier) == -2) {
642 $searchCategorySupplierSqlList[] =
"NOT EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_fournisseur as ck WHERE s.rowid = ck.fk_soc)";
643 } elseif (intval($searchCategorySupplier) > 0) {
644 if ($searchCategorySupplierOperator == 0) {
645 $searchCategorySupplierSqlList[] =
" EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_fournisseur as ck WHERE s.rowid = ck.fk_soc AND ck.fk_categorie = ".((int) $searchCategorySupplier).
")";
647 $listofcategoryid .= ($listofcategoryid ?
', ' :
'') .((
int) $searchCategorySupplier);
651 if ($listofcategoryid) {
652 $searchCategorySupplierSqlList[] =
" EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_fournisseur as ck WHERE s.rowid = ck.fk_soc AND ck.fk_categorie IN (".$db->sanitize($listofcategoryid).
"))";
654 if ($searchCategorySupplierOperator == 1) {
655 if (!empty($searchCategorySupplierSqlList)) {
656 $sql .=
" AND (".implode(
' OR ', $searchCategorySupplierSqlList).
")";
659 if (!empty($searchCategorySupplierSqlList)) {
660 $sql .=
" AND (".implode(
' AND ', $searchCategorySupplierSqlList).
")";
665 $sql .=
natural_search(array_keys($fieldstosearchall), $search_all);
667if (strlen($search_cti)) {
673if (empty($arrayfields[
's.name_alias'][
'checked']) && $search_nom) {
674 $sql .=
natural_search(array(
"s.nom",
"s.name_alias"), $search_nom);
684if ($search_nom_only) {
687if ($search_customer_code) {
690if ($search_supplier_code) {
691 $sql .=
natural_search(
"s.code_fournisseur", $search_supplier_code);
693if ($search_account_customer_code) {
694 $sql .=
natural_search(
"s.code_compta", $search_account_customer_code);
696if ($search_account_supplier_code) {
697 $sql .=
natural_search(
"s.code_compta_fournisseur", $search_account_supplier_code);
699if ($search_address) {
702if (strlen($search_zip)) {
714if ($search_country && $search_country !=
'-1') {
715 $sql .=
" AND s.fk_pays IN (".$db->sanitize($search_country).
')';
720if (strlen($search_phone)) {
723if (strlen($search_phone_mobile)) {
726if (strlen($search_fax)) {
732if (strlen($search_idprof1)) {
735if (strlen($search_idprof2)) {
738if (strlen($search_idprof3)) {
741if (strlen($search_idprof4)) {
744if (strlen($search_idprof5)) {
747if (strlen($search_idprof6)) {
750if (strlen($search_vat)) {
754if ($search_type > 0 && in_array($search_type, array(
'1,3',
'1,2,3',
'2,3'))) {
755 $sql .=
" AND s.client IN (".$db->sanitize($search_type).
")";
757if ($search_type > 0 && in_array($search_type, array(
'4'))) {
758 $sql .=
" AND s.fournisseur = 1";
760if ($search_type ==
'0') {
761 $sql .=
" AND s.client = 0 AND s.fournisseur = 0";
763if ($search_status !=
'' && $search_status >= 0) {
766if (isModEnabled(
'barcode') && $search_barcode) {
769if ($search_price_level && $search_price_level !=
'-1') {
772if ($search_type_thirdparty && $search_type_thirdparty > 0) {
773 $sql .=
natural_search(
"s.fk_typent", $search_type_thirdparty, 2);
775if (!empty($search_staff) && $search_staff !=
'-1') {
778if (!empty($search_legalform) && $search_legalform !=
'-1') {
779 $sql .=
natural_search(
"s.fk_forme_juridique", $search_legalform, 2);
781if ($search_parent_name) {
785 $sql .=
natural_search(
"s.fk_prospectlevel", implode(
',', $search_level), 3);
788 $sql .=
natural_search(
"s.fk_stcomm", implode(
',', $search_stcomm), 2);
790if ($search_import_key) {
793if ($search_date_creation_start) {
794 $sql .=
" AND s.datec >= '".$db->idate($search_date_creation_start).
"'";
796if ($search_date_creation_end) {
797 $sql .=
" AND s.datec <= '".$db->idate($search_date_creation_end).
"'";
800if ($search_date_modif_start) {
801 $sql .=
" AND s.tms >= '".$db->idate($search_date_modif_start).
"'";
803if ($search_date_modif_end) {
804 $sql .=
" AND s.tms <= '".$db->idate($search_date_modif_end).
"'";
808include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_sql.tpl.php';
810$parameters = array(
'socid' => $socid);
811$reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $object, $action);
812if (empty($reshook)) {
814 $sql .=
" AND s.rowid = ".((int) $socid);
817$sql .= $hookmanager->resPrint;
820$parameters = array(
'fieldstosearchall' => $fieldstosearchall);
821$reshook = $hookmanager->executeHooks(
'printFieldListGroupBy', $parameters, $object, $action);
822$sql .= $hookmanager->resPrint;
825$nbtotalofrecords =
'';
828 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(*) as nbtotalofrecords', $sql);
829 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
830 $resql = $db->query($sqlforcount);
832 $objforcount = $db->fetch_object($resql);
833 $nbtotalofrecords = $objforcount->nbtotalofrecords;
838 if (($page * $limit) > $nbtotalofrecords) {
846$sql .= $db->order($sortfield, $sortorder);
848 $sql .= $db->plimit($limit + 1, $offset);
851$resql = $db->query($sql);
857$num = $db->num_rows($resql);
861if ($num == 1 &&
getDolGlobalString(
'MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE') && ($search_all !=
'' || $search_cti !=
'') && $action !=
'list') {
862 $obj = $db->fetch_object($resql);
864 if (
getDolGlobalString(
'SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD')) {
865 if ($obj->client > 0) {
866 header(
"Location: ".DOL_URL_ROOT.
'/comm/card.php?socid='.$id);
869 if ($obj->fournisseur > 0) {
870 header(
"Location: ".DOL_URL_ROOT.
'/fourn/card.php?socid='.$id);
875 header(
"Location: ".DOL_URL_ROOT.
'/societe/card.php?socid='.$id);
883foreach ($searchCategoryCustomerList as $searchCategoryCustomer) {
884 $paramsCat .=
"&search_category_customer_list[]=".urlencode($searchCategoryCustomer);
886foreach ($searchCategorySupplierList as $searchCategorySupplier) {
887 $paramsCat .=
"&search_category_supplier_list[]=".urlencode($searchCategorySupplier);
890llxHeader(
'', $title, $help_url,
'', 0, 0, array(), array(), $paramsCat,
'bodyforlist');
893$arrayofselected = is_array($toselect) ? $toselect : array();
897 $param .=
'&mode='.urlencode($mode);
899if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
900 $param .=
'&contextpage='.urlencode($contextpage);
902if ($limit > 0 && $limit != $conf->liste_limit) {
903 $param .=
'&limit='.((int) $limit);
905if ($optioncss !=
'') {
906 $param .=
'&optioncss='.urlencode($optioncss);
908if ($search_all !=
'') {
909 $param =
"&search_all=".urlencode($search_all);
911if ($search_categ_cus > 0) {
912 $param .=
'&search_categ_cus='.urlencode((
string) ($search_categ_cus));
914if ($search_categ_sup > 0) {
915 $param .=
'&search_categ_sup='.urlencode((
string) ($search_categ_sup));
917if ($searchCategoryCustomerOperator == 1) {
918 $param .=
"&search_category_customer_operator=".urlencode((
string) ($searchCategoryCustomerOperator));
920if ($searchCategorySupplierOperator == 1) {
921 $param .=
"&search_category_supplier_operator=".urlencode((
string) ($searchCategorySupplierOperator));
923foreach ($searchCategoryCustomerList as $searchCategoryCustomer) {
924 $param .=
"&search_category_customer_list[]=".urlencode($searchCategoryCustomer);
926foreach ($searchCategorySupplierList as $searchCategorySupplier) {
927 $param .=
"&search_category_supplier_list[]=".urlencode($searchCategorySupplier);
929if ($search_sale > 0) {
930 $param .=
'&search_sale='.((int) $search_sale);
933 $param .=
"&search_id=".((int) $search_id);
935if ($search_nom !=
'') {
936 $param .=
"&search_nom=".urlencode($search_nom);
938if ($search_alias !=
'') {
939 $param .=
"&search_alias=".urlencode($search_alias);
941if ($search_address !=
'') {
942 $param .=
'&search_address='.urlencode($search_address);
944if ($search_zip !=
'') {
945 $param .=
"&search_zip=".urlencode($search_zip);
947if ($search_town !=
'') {
948 $param .=
"&search_town=".urlencode($search_town);
950if ($search_phone !=
'') {
951 $param .=
"&search_phone=".urlencode($search_phone);
953if ($search_phone_mobile !=
'') {
954 $param .=
"&search_phone_mobile=".urlencode($search_phone_mobile);
956if ($search_fax !=
'') {
957 $param .=
"&search_fax=".urlencode($search_fax);
959if ($search_email !=
'') {
960 $param .=
"&search_email=".urlencode($search_email);
962if ($search_url !=
'') {
963 $param .=
"&search_url=".urlencode($search_url);
965if ($search_state !=
'') {
966 $param .=
"&search_state=".urlencode($search_state);
968if ($search_region !=
'') {
969 $param .=
"&search_region=".urlencode($search_region);
971if ($search_country !=
'') {
972 $param .=
"&search_country=".urlencode($search_country);
974if ($search_customer_code !=
'') {
975 $param .=
"&search_customer_code=".urlencode($search_customer_code);
977if ($search_supplier_code !=
'') {
978 $param .=
"&search_supplier_code=".urlencode($search_supplier_code);
980if ($search_account_customer_code !=
'') {
981 $param .=
"&search_account_customer_code=".urlencode($search_account_customer_code);
983if ($search_account_supplier_code !=
'') {
984 $param .=
"&search_account_supplier_code=".urlencode($search_account_supplier_code);
986if ($search_barcode !=
'') {
987 $param .=
"&search_barcode=".urlencode($search_barcode);
989if ($search_idprof1 !=
'') {
990 $param .=
'&search_idprof1='.urlencode($search_idprof1);
992if ($search_idprof2 !=
'') {
993 $param .=
'&search_idprof2='.urlencode($search_idprof2);
995if ($search_idprof3 !=
'') {
996 $param .=
'&search_idprof3='.urlencode($search_idprof3);
998if ($search_idprof4 !=
'') {
999 $param .=
'&search_idprof4='.urlencode($search_idprof4);
1001if ($search_idprof5 !=
'') {
1002 $param .=
'&search_idprof5='.urlencode($search_idprof5);
1004if ($search_idprof6 !=
'') {
1005 $param .=
'&search_idprof6='.urlencode($search_idprof6);
1007if ($search_vat !=
'') {
1008 $param .=
'&search_vat='.urlencode($search_vat);
1010if ($search_price_level !=
'') {
1011 $param .=
'&search_price_level='.urlencode($search_price_level);
1013if ($search_type_thirdparty !=
'' && $search_type_thirdparty > 0) {
1014 $param .=
'&search_type_thirdparty='.urlencode((
string) ($search_type_thirdparty));
1016if ($search_type !=
'') {
1017 $param .=
'&search_type='.urlencode($search_type);
1019if ($search_status !=
'') {
1020 $param .=
'&search_status='.urlencode((
string) ($search_status));
1022if (is_array($search_level) && count($search_level)) {
1023 foreach ($search_level as $slevel) {
1024 $param .=
'&search_level[]='.urlencode($slevel);
1027if (is_array($search_stcomm) && count($search_stcomm)) {
1028 foreach ($search_stcomm as $slevel) {
1029 $param .=
'&search_stcomm[]='.urlencode($slevel);
1032if ($search_parent_name !=
'') {
1033 $param .=
'&search_parent_name='.urlencode($search_parent_name);
1035if ($search_import_key !=
'') {
1036 $param .=
'&search_import_key='.urlencode($search_import_key);
1039 $param .=
'&type='.urlencode($type);
1041if ($search_date_creation_startmonth) {
1042 $param .=
'&search_date_creation_startmonth='.urlencode((
string) ($search_date_creation_startmonth));
1044if ($search_date_creation_startyear) {
1045 $param .=
'&search_date_creation_startyear='.urlencode((
string) ($search_date_creation_startyear));
1047if ($search_date_creation_startday) {
1048 $param .=
'&search_date_creation_startday='.urlencode((
string) ($search_date_creation_startday));
1050if ($search_date_creation_start) {
1051 $param .=
'&search_date_creation_start='.urlencode($search_date_creation_start);
1053if ($search_date_creation_endmonth) {
1054 $param .=
'&search_date_creation_endmonth='.urlencode((
string) ($search_date_creation_endmonth));
1056if ($search_date_creation_endyear) {
1057 $param .=
'&search_date_creation_endyear='.urlencode((
string) ($search_date_creation_endyear));
1059if ($search_date_creation_endday) {
1060 $param .=
'&search_date_creation_endday='.urlencode((
string) ($search_date_creation_endday));
1062if ($search_date_creation_end) {
1063 $param .=
'&search_date_creation_end='.urlencode($search_date_creation_end);
1065if ($search_date_modif_startmonth) {
1066 $param .=
'&search_date_modif_startmonth='.urlencode((
string) ($search_date_modif_startmonth));
1068if ($search_date_modif_startyear) {
1069 $param .=
'&search_date_modif_startyear='.urlencode((
string) ($search_date_modif_startyear));
1071if ($search_date_modif_startday) {
1072 $param .=
'&search_date_modif_startday='.urlencode((
string) ($search_date_modif_startday));
1074if ($search_date_modif_start) {
1075 $param .=
'&search_date_modif_start='.urlencode($search_date_modif_start);
1077if ($search_date_modif_endmonth) {
1078 $param .=
'&search_date_modif_endmonth='.urlencode((
string) ($search_date_modif_endmonth));
1080if ($search_date_modif_endyear) {
1081 $param .=
'&search_date_modif_endyear='.urlencode((
string) ($search_date_modif_endyear));
1083if ($search_date_modif_endday) {
1084 $param .=
'&search_date_modif_endday='.urlencode((
string) ($search_date_modif_endday));
1086if ($search_date_modif_end) {
1087 $param .=
'&search_date_modif_end=' . urlencode($search_date_modif_end);
1091include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_param.tpl.php';
1093$parameters = array(
'param' => &$param);
1094$reshook = $hookmanager->executeHooks(
'printFieldListSearchParam', $parameters, $object, $action);
1095$param .= $hookmanager->resPrint;
1103$arrayofmassactions = array(
1104 'presend' =>
img_picto(
'',
'email',
'class="pictofixedwidth"').$langs->trans(
"SendByMail"),
1108if (isModEnabled(
'category') && $user->hasRight(
"societe",
"creer")) {
1109 $arrayofmassactions[
'preaffecttag'] =
img_picto(
'',
'category',
'class="pictofixedwidth"').$langs->trans(
"AffectTag");
1111if ($user->hasRight(
"societe",
"creer")) {
1112 $arrayofmassactions[
'preenable'] =
img_picto(
'',
'stop-circle',
'class="pictofixedwidth"').$langs->trans(
"SetToStatus",
$object->LibStatut($object::STATUS_INACTIVITY));
1114if ($user->hasRight(
"societe",
"creer")) {
1115 $arrayofmassactions[
'predisable'] =
img_picto(
'',
'stop-circle',
'class="pictofixedwidth"').$langs->trans(
"SetToStatus",
$object->LibStatut($object::STATUS_CEASED));
1117if ($user->hasRight(
"societe",
"creer")) {
1118 $arrayofmassactions[
'presetcommercial'] =
img_picto(
'',
'user',
'class="pictofixedwidth"').$langs->trans(
"AllocateCommercial");
1119 $arrayofmassactions[
'unsetcommercial'] =
img_picto(
'',
'user',
'class="pictofixedwidth"').$langs->trans(
"UnallocateCommercial");
1122if ($user->hasRight(
'societe',
'supprimer')) {
1123 $arrayofmassactions[
'predelete'] =
img_picto(
'',
'delete',
'class="pictofixedwidth"').$langs->trans(
"Delete");
1125if (
GETPOSTINT(
'nomassaction') || in_array($massaction, array(
'presend',
'predelete',
'preaffecttag',
'preenable',
'preclose'))) {
1126 $arrayofmassactions = array();
1128$massactionbutton = $form->selectMassAction(
'', $arrayofmassactions);
1131$label =
'MenuNewThirdParty';
1134 $typefilter =
'&type='.$type;
1136 $label =
'MenuNewProspect';
1139 $label =
'MenuNewCustomer';
1142 $label =
'NewSupplier';
1152if ($contextpage !=
'poslist') {
1153 $url = DOL_URL_ROOT.
'/societe/card.php?action=create'.$typefilter;
1154 if (!empty($socid)) {
1155 $url .=
'&socid='.$socid;
1157 $newcardbutton =
'';
1158 $newcardbutton .=
dolGetButtonTitle($langs->trans(
'ViewList'),
'',
'fa fa-bars imgforviewmode', $_SERVER[
"PHP_SELF"].
'?mode=common'.preg_replace(
'/(&|\?)*mode=[^&]+/',
'', $param),
'', ((empty($mode) || $mode ==
'common') ? 2 : 1), array(
'morecss' =>
'reposition'));
1159 $newcardbutton .=
dolGetButtonTitle($langs->trans(
'ViewKanban'),
'',
'fa fa-th-list imgforviewmode', $_SERVER[
"PHP_SELF"].
'?mode=kanban'.preg_replace(
'/(&|\?)*mode=[^&]+/',
'', $param),
'', ($mode ==
'kanban' ? 2 : 1), array(
'morecss' =>
'reposition'));
1160 $newcardbutton .=
dolGetButtonTitle($langs->trans($label),
'',
'fa fa-plus-circle', $url,
'', $user->hasRight(
'societe',
'creer'));
1161} elseif ($user->hasRight(
'societe',
'creer')) {
1162 $url = DOL_URL_ROOT.
'/societe/card.php?action=create&type=t&contextpage=poslist&optioncss=print&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?type=t&contextpage=poslist&nomassaction=1&optioncss=print&place='.$place);
1163 $label =
'MenuNewCustomer';
1164 $newcardbutton =
dolGetButtonTitle($langs->trans($label),
'',
'fa fa-plus-circle', $url);
1167print
'<form method="POST" id="searchFormList" action="'.$_SERVER[
"PHP_SELF"].
'" name="formfilter" autocomplete="off">'.
"\n";
1168if ($optioncss !=
'') {
1169 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
1171print
'<input type="hidden" name="token" value="'.newToken().
'">';
1172print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
1173print
'<input type="hidden" name="action" value="list">';
1174print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
1175print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
1177print
'<input type="hidden" name="contextpage" value="'.$contextpage.
'">';
1178if (!empty($place)) {
1179 print
'<input type="hidden" name="place" value="'.$place.
'">';
1181print
'<input type="hidden" name="page_y" value="">';
1182print
'<input type="hidden" name="mode" value="'.$mode.
'">';
1183if (empty($arrayfields[
'customerorsupplier'][
'checked'])) {
1184 print
'<input type="hidden" name="type" value="'.$type.
'">';
1186if (!empty($place)) {
1187 print
'<input type="hidden" name="place" value="'.$place.
'">';
1190print_barre_liste($title, $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords,
'building', 0, $newcardbutton,
'', $limit, 0, 0, 1);
1192$langs->load(
"other");
1193$textprofid = array();
1194foreach (array(1, 2, 3, 4, 5, 6) as $key) {
1195 $label = $langs->transnoentities(
"ProfId".$key.$mysoc->country_code);
1196 $textprofid[$key] =
'';
1197 if ($label !=
"ProfId".$key.$mysoc->country_code) {
1198 if (preg_match(
'/\((.*)\)/i', $label, $reg)) {
1202 $textprofid[$key] = $langs->trans(
"ProfIdShortDesc", $key, $mysoc->country_code, $label);
1207$topicmail =
"Information";
1208$modelmail =
"thirdparty";
1210$trackid =
'thi'.$object->id;
1211include DOL_DOCUMENT_ROOT.
'/core/tpl/massactions_pre.tpl.php';
1225 foreach ($fieldstosearchall as $key => $val) {
1226 $fieldstosearchall[$key] = $langs->trans($val);
1227 $setupstring .= $key.
"=".$val.
";";
1229 print
'<!-- Search done like if SOCIETE_QUICKSEARCH_ON_FIELDS = '.$setupstring.
' -->'.
"\n";
1230 print
'<div class="divsearchfieldfilter">'.$langs->trans(
"FilterOnInto", $search_all).implode(
', ', $fieldstosearchall).
'</div>';
1236if (empty($type) || $type ==
'c' || $type ==
'p') {
1237 if (isModEnabled(
'category') && $user->hasRight(
'categorie',
'read')) {
1239 $moreforfilter .= $formcategory->getFilterBox(Categorie::TYPE_CUSTOMER, $searchCategoryCustomerList,
'minwidth300', $searchCategoryCustomerOperator ? $searchCategoryCustomerOperator : 0, 1, 1, $langs->transnoentities(
"CustomersProspectsCategoriesShort"));
1244if (empty($type) || $type ==
'f') {
1245 if (isModEnabled(
"fournisseur") && isModEnabled(
'category') && $user->hasRight(
'categorie',
'read')) {
1247 $moreforfilter .= $formcategory->getFilterBox(Categorie::TYPE_SUPPLIER, $searchCategorySupplierList,
'minwidth300', $searchCategorySupplierOperator ? $searchCategorySupplierOperator : 0, 1, 1, $langs->transnoentities(
"SuppliersCategoriesShort"));
1252if ($user->hasRight(
"societe",
"client",
"voir") || $socid) {
1253 $moreforfilter .=
'<div class="divsearchfield">';
1254 $tmptitle = $langs->trans(
'SalesRepresentatives');
1255 $moreforfilter .=
img_picto($tmptitle,
'user',
'class="pictofixedwidth"');
1256 $moreforfilter .= $formother->select_salesrepresentatives($search_sale,
'search_sale', $user, 0, $langs->trans(
'SalesRepresentatives'), ($conf->dol_optimize_smallscreen ?
'maxwidth200' :
'maxwidth300'), 1);
1257 $moreforfilter .=
'</div>';
1259if (!empty($moreforfilter)) {
1260 print
'<div class="liste_titre liste_titre_bydiv centpercent">';
1261 print $moreforfilter;
1262 $parameters = array(
'type' => $type);
1263 $reshook = $hookmanager->executeHooks(
'printFieldPreListTitle', $parameters, $object, $action);
1264 print $hookmanager->resPrint;
1268$varpage = empty($contextpage) ? $_SERVER[
"PHP_SELF"] : $contextpage;
1269$htmlofselectarray = $form->multiSelectArrayWithCheckbox(
'selectedfields', $arrayfields, $varpage,
getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN'));
1270$selectedfields = ($mode !=
'kanban' ? $htmlofselectarray :
'');
1271$selectedfields .= ((count($arrayofmassactions) && $contextpage !=
'poslist') ? $form->showCheckAddButtons(
'checkforselect', 1) :
'');
1273print
'<div class="div-table-responsive">';
1274print
'<table class="tagtable nobottomiftotal liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
1278print
'<tr class="liste_titre_filter">';
1281 print
'<td class="liste_titre maxwidthsearch center actioncolumn">';
1282 $searchpicto = $form->showFilterButtons(
'left');
1286if (!empty($arrayfields[
's.rowid'][
'checked'])) {
1287 print
'<td class="liste_titre" data-key="id">';
1288 print
'<input class="flat searchstring" type="text" name="search_id" size="1" value="'.dol_escape_htmltag($search_id).
'">';
1291if (!empty($arrayfields[
's.nom'][
'checked'])) {
1292 print
'<td class="liste_titre" data-key="ref">';
1293 if (!empty($search_nom_only) && empty($search_nom)) {
1294 $search_nom = $search_nom_only;
1296 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_nom" value="'.dol_escape_htmltag($search_nom).
'">';
1299if (!empty($arrayfields[
's.name_alias'][
'checked'])) {
1300 print
'<td class="liste_titre">';
1301 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_alias" value="'.dol_escape_htmltag($search_alias).
'">';
1305if (!empty($arrayfields[
's.barcode'][
'checked'])) {
1306 print
'<td class="liste_titre">';
1307 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_barcode" value="'.dol_escape_htmltag($search_barcode).
'">';
1311if (!empty($arrayfields[
's.code_client'][
'checked'])) {
1312 print
'<td class="liste_titre">';
1313 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_customer_code" value="'.dol_escape_htmltag($search_customer_code).
'">';
1317if (!empty($arrayfields[
's.code_fournisseur'][
'checked'])) {
1318 print
'<td class="liste_titre">';
1319 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_supplier_code" value="'.dol_escape_htmltag($search_supplier_code).
'">';
1323if (!empty($arrayfields[
's.code_compta'][
'checked'])) {
1324 print
'<td class="liste_titre">';
1325 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_account_customer_code" value="'.dol_escape_htmltag($search_account_customer_code).
'">';
1329if (!empty($arrayfields[
's.code_compta_fournisseur'][
'checked'])) {
1330 print
'<td class="liste_titre">';
1331 print
'<input class="flat maxwidth75imp" type="text" name="search_account_supplier_code" value="'.dol_escape_htmltag($search_account_supplier_code).
'">';
1335if (!empty($arrayfields[
's.address'][
'checked'])) {
1336 print
'<td class="liste_titre">';
1337 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_address" value="'.dol_escape_htmltag($search_address).
'">';
1341if (!empty($arrayfields[
'sales.representative'][
'checked'])) {
1342 print
'<td class="liste_titre">';
1346if (!empty($arrayfields[
's.zip'][
'checked'])) {
1347 print
'<td class="liste_titre">';
1348 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_zip" value="'.dol_escape_htmltag($search_zip).
'">';
1352if (!empty($arrayfields[
's.town'][
'checked'])) {
1353 print
'<td class="liste_titre">';
1354 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_town" value="'.dol_escape_htmltag($search_town).
'">';
1358if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1359 print
'<td class="liste_titre">';
1360 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_state" value="'.dol_escape_htmltag($search_state).
'">';
1364if (!empty($arrayfields[
'region.nom'][
'checked'])) {
1365 print
'<td class="liste_titre">';
1366 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_region" value="'.dol_escape_htmltag($search_region).
'">';
1370if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1371 print
'<td class="liste_titre center">';
1372 print $form->select_country($search_country,
'search_country',
'', 0,
'minwidth100imp maxwidth100');
1376if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1377 print
'<td class="liste_titre maxwidthonsmartphone center">';
1379 print $form->selectarray(
"search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 1, 0, 0,
'', 0, 0, 0, (!
getDolGlobalString(
'SOCIETE_SORT_ON_TYPEENT') ?
'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT),
'minwidth50 maxwidth125', 1);
1383if (!empty($arrayfields[
's.price_level'][
'checked'])) {
1384 print
'<td class="liste_titre">';
1385 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_price_level" value="'.dol_escape_htmltag($search_price_level).
'">';
1389if (!empty($arrayfields[
'staff.code'][
'checked'])) {
1390 print
'<td class="liste_titre maxwidthonsmartphone center">';
1391 print $form->selectarray(
"search_staff", $formcompany->effectif_array(0), $search_staff, 0, 0, 0,
'', 0, 0, 0,
'ASC',
'maxwidth100', 1);
1395if (!empty($arrayfields[
'legalform.code'][
'checked'])) {
1396 print
'<td class="liste_titre maxwidthonsmartphone center">';
1400if (!empty($arrayfields[
's.email'][
'checked'])) {
1402 print
'<td class="liste_titre">';
1403 print
'<input class="flat searchemail maxwidth50imp" type="text" name="search_email" value="'.dol_escape_htmltag($search_email).
'">';
1406if (!empty($arrayfields[
's.phone'][
'checked'])) {
1408 print
'<td class="liste_titre">';
1409 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_phone" value="'.dol_escape_htmltag($search_phone).
'">';
1412if (!empty($arrayfields[
's.phone_mobile'][
'checked'])) {
1414 print
'<td class="liste_titre">';
1415 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_phone_mobile" value="'.dol_escape_htmltag($search_phone_mobile).
'">';
1418if (!empty($arrayfields[
's.fax'][
'checked'])) {
1420 print
'<td class="liste_titre">';
1421 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_fax" value="'.dol_escape_htmltag($search_fax).
'">';
1424if (!empty($arrayfields[
's.url'][
'checked'])) {
1426 print
'<td class="liste_titre">';
1427 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_url" value="'.dol_escape_htmltag($search_url).
'">';
1430if (!empty($arrayfields[
's.siren'][
'checked'])) {
1432 print
'<td class="liste_titre">';
1433 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof1" value="'.dol_escape_htmltag($search_idprof1).
'">';
1436if (!empty($arrayfields[
's.siret'][
'checked'])) {
1438 print
'<td class="liste_titre">';
1439 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof2" value="'.dol_escape_htmltag($search_idprof2).
'">';
1442if (!empty($arrayfields[
's.ape'][
'checked'])) {
1444 print
'<td class="liste_titre">';
1445 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof3" value="'.dol_escape_htmltag($search_idprof3).
'">';
1448if (!empty($arrayfields[
's.idprof4'][
'checked'])) {
1450 print
'<td class="liste_titre">';
1451 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof4" value="'.dol_escape_htmltag($search_idprof4).
'">';
1454if (!empty($arrayfields[
's.idprof5'][
'checked'])) {
1456 print
'<td class="liste_titre">';
1457 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof5" value="'.dol_escape_htmltag($search_idprof5).
'">';
1460if (!empty($arrayfields[
's.idprof6'][
'checked'])) {
1462 print
'<td class="liste_titre">';
1463 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof6" value="'.dol_escape_htmltag($search_idprof6).
'">';
1466if (!empty($arrayfields[
's.tva_intra'][
'checked'])) {
1468 print
'<td class="liste_titre">';
1469 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_vat" value="'.dol_escape_htmltag($search_vat).
'">';
1474if (!empty($arrayfields[
'customerorsupplier'][
'checked'])) {
1475 print
'<td class="liste_titre maxwidthonsmartphone center">';
1477 print
'<input type="hidden" name="type" value="'.$type.
'">';
1479 print $formcompany->selectProspectCustomerType($search_type,
'search_type',
'search_type',
'list');
1483if (!empty($arrayfields[
's.fk_prospectlevel'][
'checked'])) {
1484 print
'<td class="liste_titre center">';
1485 print $form->multiselectarray(
'search_level', $tab_level, $search_level, 0, 0,
'width75', 0, 0,
'',
'',
'', 2);
1489if (!empty($arrayfields[
's.fk_stcomm'][
'checked'])) {
1490 print
'<td class="liste_titre maxwidthonsmartphone center">';
1491 $arraystcomm = array();
1492 foreach ($prospectstatic->cacheprospectstatus as $key => $val) {
1493 $arraystcomm[$val[
'id']] = ($langs->trans(
"StatusProspect".$val[
'id']) !=
"StatusProspect".$val[
'id'] ? $langs->trans(
"StatusProspect".$val[
'id']) : $val[
'label']);
1496 print $form->multiselectarray(
'search_stcomm', $arraystcomm, $search_stcomm, 0, 0,
'width100', 0, 0,
'',
'',
'', 2);
1499if (!empty($arrayfields[
's2.nom'][
'checked'])) {
1500 print
'<td class="liste_titre center">';
1501 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_parent_name" value="'.dol_escape_htmltag($search_parent_name).
'">';
1505include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_input.tpl.php';
1508$parameters = array(
'arrayfields' => $arrayfields);
1509$reshook = $hookmanager->executeHooks(
'printFieldListOption', $parameters, $object, $action);
1510print $hookmanager->resPrint;
1512if (!empty($arrayfields[
's.datec'][
'checked'])) {
1513 print
'<td class="liste_titre center nowraponall">';
1514 print
'<div class="nowrapfordate">';
1515 print $form->selectDate($search_date_creation_start ? $search_date_creation_start : -1,
'search_date_creation_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
1517 print
'<div class="nowrapfordate">';
1518 print $form->selectDate($search_date_creation_end ? $search_date_creation_end : -1,
'search_date_creation_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
1523if (!empty($arrayfields[
's.tms'][
'checked'])) {
1524 print
'<td class="liste_titre center nowraponall">';
1525 print
'<div class="nowrapfordate">';
1526 print $form->selectDate($search_date_modif_start ? $search_date_modif_start : -1,
'search_date_modif_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
1528 print
'<div class="nowrapfordate">';
1529 print $form->selectDate($search_date_modif_end ? $search_date_modif_end : -1,
'search_date_modif_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
1534if (!empty($arrayfields[
's.status'][
'checked'])) {
1535 print
'<td class="liste_titre center minwidth75imp parentonrightofpage">';
1536 print $form->selectarray(
'search_status', array(
'0' => $langs->trans(
'ActivityCeased'),
'1' => $langs->trans(
'InActivity')), $search_status, 1, 0, 0,
'', 0, 0, 0,
'',
'search_status width100 onrightofpage', 1);
1539if (!empty($arrayfields[
's.import_key'][
'checked'])) {
1540 print
'<td class="liste_titre center">';
1541 print
'<input class="flat searchstring maxwidth50" type="text" name="search_import_key" value="'.dol_escape_htmltag($search_import_key).
'">';
1546 print
'<td class="liste_titre center maxwidthsearch actioncolumn">';
1547 $searchpicto = $form->showFilterButtons();
1554$totalarray = array();
1555$totalarray[
'nbfield'] = 0;
1559print
'<tr class="liste_titre">';
1562 print
getTitleFieldOfList($selectedfields, 0, $_SERVER[
"PHP_SELF"],
'',
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ').
"\n";
1563 $totalarray[
'nbfield']++;
1565if (!empty($arrayfields[
's.rowid'][
'checked'])) {
1566 print_liste_field_titre($arrayfields[
's.rowid'][
'label'], $_SERVER[
"PHP_SELF"],
"s.rowid",
"", $param,
' data-key="id"', $sortfield, $sortorder,
'');
1567 $totalarray[
'nbfield']++;
1569if (!empty($arrayfields[
's.nom'][
'checked'])) {
1570 print_liste_field_titre($arrayfields[
's.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s.nom",
"", $param,
' data-key="ref"', $sortfield, $sortorder,
' ');
1571 $totalarray[
'nbfield']++;
1573if (!empty($arrayfields[
's.name_alias'][
'checked'])) {
1574 print_liste_field_titre($arrayfields[
's.name_alias'][
'label'], $_SERVER[
"PHP_SELF"],
"s.name_alias",
"", $param,
"", $sortfield, $sortorder);
1575 $totalarray[
'nbfield']++;
1577if (!empty($arrayfields[
's.barcode'][
'checked'])) {
1578 print_liste_field_titre($arrayfields[
's.barcode'][
'label'], $_SERVER[
"PHP_SELF"],
"s.barcode", $param,
'',
'', $sortfield, $sortorder);
1579 $totalarray[
'nbfield']++;
1581if (!empty($arrayfields[
's.code_client'][
'checked'])) {
1582 print_liste_field_titre($arrayfields[
's.code_client'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_client",
"", $param,
'', $sortfield, $sortorder);
1583 $totalarray[
'nbfield']++;
1585if (!empty($arrayfields[
's.code_fournisseur'][
'checked'])) {
1586 print_liste_field_titre($arrayfields[
's.code_fournisseur'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_fournisseur",
"", $param,
'', $sortfield, $sortorder);
1587 $totalarray[
'nbfield']++;
1589if (!empty($arrayfields[
's.code_compta'][
'checked'])) {
1590 print_liste_field_titre($arrayfields[
's.code_compta'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_compta",
"", $param,
'', $sortfield, $sortorder);
1591 $totalarray[
'nbfield']++;
1593if (!empty($arrayfields[
's.code_compta_fournisseur'][
'checked'])) {
1594 print_liste_field_titre($arrayfields[
's.code_compta_fournisseur'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_compta_fournisseur",
"", $param,
'', $sortfield, $sortorder);
1595 $totalarray[
'nbfield']++;
1597if (!empty($arrayfields[
's.address'][
'checked'])) {
1598 print_liste_field_titre($arrayfields[
's.address'][
'label'], $_SERVER[
'PHP_SELF'],
's.address',
'', $param,
'', $sortfield, $sortorder);
1599 $totalarray[
'nbfield']++;
1601if (!empty($arrayfields[
'sales.representative'][
'checked'])) {
1602 print_liste_field_titre($arrayfields[
'sales.representative'][
'label'], $_SERVER[
'PHP_SELF'],
'',
'', $param,
'', $sortfield, $sortorder);
1603 $totalarray[
'nbfield']++;
1605if (!empty($arrayfields[
's.zip'][
'checked'])) {
1606 print_liste_field_titre($arrayfields[
's.zip'][
'label'], $_SERVER[
"PHP_SELF"],
"s.zip",
"", $param,
'', $sortfield, $sortorder);
1607 $totalarray[
'nbfield']++;
1609if (!empty($arrayfields[
's.town'][
'checked'])) {
1610 print_liste_field_titre($arrayfields[
's.town'][
'label'], $_SERVER[
"PHP_SELF"],
"s.town",
"", $param,
'', $sortfield, $sortorder);
1611 $totalarray[
'nbfield']++;
1613if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1614 print_liste_field_titre($arrayfields[
'state.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"state.nom",
"", $param,
'', $sortfield, $sortorder);
1615 $totalarray[
'nbfield']++;
1617if (!empty($arrayfields[
'region.nom'][
'checked'])) {
1618 print_liste_field_titre($arrayfields[
'region.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"region.nom",
"", $param,
'', $sortfield, $sortorder);
1619 $totalarray[
'nbfield']++;
1621if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1622 print_liste_field_titre($arrayfields[
'country.code_iso'][
'label'], $_SERVER[
"PHP_SELF"],
"country.code_iso",
"", $param,
'', $sortfield, $sortorder,
'center ');
1623 $totalarray[
'nbfield']++;
1625if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1626 print_liste_field_titre($arrayfields[
'typent.code'][
'label'], $_SERVER[
"PHP_SELF"],
"typent.code",
"", $param,
"", $sortfield, $sortorder,
'center ');
1627 $totalarray[
'nbfield']++;
1629if (!empty($arrayfields[
'staff.code'][
'checked'])) {
1630 print_liste_field_titre($arrayfields[
'staff.code'][
'label'], $_SERVER[
"PHP_SELF"],
"staff.code",
"", $param,
'', $sortfield, $sortorder,
'center ');
1631 $totalarray[
'nbfield']++;
1633if (!empty($arrayfields[
'legalform.code'][
'checked'])) {
1635 print_liste_field_titre($arrayfields[
'legalform.code'][
'label'], $_SERVER[
"PHP_SELF"],
"legalform_code",
"", $param,
'', $sortfield, $sortorder);
1636 $totalarray[
'nbfield']++;
1638if (!empty($arrayfields[
's.price_level'][
'checked'])) {
1639 print_liste_field_titre($arrayfields[
's.price_level'][
'label'], $_SERVER[
"PHP_SELF"],
"s.price_level",
"", $param,
'', $sortfield, $sortorder);
1640 $totalarray[
'nbfield']++;
1642if (!empty($arrayfields[
's.email'][
'checked'])) {
1643 print_liste_field_titre($arrayfields[
's.email'][
'label'], $_SERVER[
"PHP_SELF"],
"s.email",
"", $param,
'', $sortfield, $sortorder);
1644 $totalarray[
'nbfield']++;
1646if (!empty($arrayfields[
's.phone'][
'checked'])) {
1647 print_liste_field_titre($arrayfields[
's.phone'][
'label'], $_SERVER[
"PHP_SELF"],
"s.phone",
"", $param,
'', $sortfield, $sortorder);
1648 $totalarray[
'nbfield']++;
1650if (!empty($arrayfields[
's.phone_mobile'][
'checked'])) {
1651 print_liste_field_titre($arrayfields[
's.phone_mobile'][
'label'], $_SERVER[
"PHP_SELF"],
"s.phone_mobile",
"", $param,
'', $sortfield, $sortorder);
1652 $totalarray[
'nbfield']++;
1654if (!empty($arrayfields[
's.fax'][
'checked'])) {
1655 print_liste_field_titre($arrayfields[
's.fax'][
'label'], $_SERVER[
"PHP_SELF"],
"s.fax",
"", $param,
'', $sortfield, $sortorder);
1656 $totalarray[
'nbfield']++;
1658if (!empty($arrayfields[
's.url'][
'checked'])) {
1659 print_liste_field_titre($arrayfields[
's.url'][
'label'], $_SERVER[
"PHP_SELF"],
"s.url",
"", $param,
'', $sortfield, $sortorder);
1660 $totalarray[
'nbfield']++;
1662if (!empty($arrayfields[
's.siren'][
'checked'])) {
1663 print_liste_field_titre($form->textwithpicto($langs->trans(
"ProfId1Short"), $textprofid[1], 1, 0), $_SERVER[
"PHP_SELF"],
"s.siren",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1664 $totalarray[
'nbfield']++;
1666if (!empty($arrayfields[
's.siret'][
'checked'])) {
1667 print_liste_field_titre($form->textwithpicto($langs->trans(
"ProfId2Short"), $textprofid[2], 1, 0), $_SERVER[
"PHP_SELF"],
"s.siret",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1668 $totalarray[
'nbfield']++;
1670if (!empty($arrayfields[
's.ape'][
'checked'])) {
1671 print_liste_field_titre($form->textwithpicto($langs->trans(
"ProfId3Short"), $textprofid[3], 1, 0), $_SERVER[
"PHP_SELF"],
"s.ape",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1672 $totalarray[
'nbfield']++;
1674if (!empty($arrayfields[
's.idprof4'][
'checked'])) {
1675 print_liste_field_titre($form->textwithpicto($langs->trans(
"ProfId4Short"), $textprofid[4], 1, 0), $_SERVER[
"PHP_SELF"],
"s.idprof4",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1676 $totalarray[
'nbfield']++;
1678if (!empty($arrayfields[
's.idprof5'][
'checked'])) {
1679 print_liste_field_titre($form->textwithpicto($langs->trans(
"ProfId5Short"), $textprofid[5], 1, 0), $_SERVER[
"PHP_SELF"],
"s.idprof5",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1680 $totalarray[
'nbfield']++;
1682if (!empty($arrayfields[
's.idprof6'][
'checked'])) {
1683 print_liste_field_titre($form->textwithpicto($langs->trans(
"ProfId6Short"), $textprofid[6], 1, 0), $_SERVER[
"PHP_SELF"],
"s.idprof6",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1684 $totalarray[
'nbfield']++;
1686if (!empty($arrayfields[
's.tva_intra'][
'checked'])) {
1687 print_liste_field_titre($arrayfields[
's.tva_intra'][
'label'], $_SERVER[
"PHP_SELF"],
"s.tva_intra",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1688 $totalarray[
'nbfield']++;
1690if (!empty($arrayfields[
'customerorsupplier'][
'checked'])) {
1691 print_liste_field_titre($arrayfields[
'customerorsupplier'][
'label'], $_SERVER[
'PHP_SELF'],
'',
'', $param,
'', $sortfield, $sortorder,
'center ');
1692 $totalarray[
'nbfield']++;
1694if (!empty($arrayfields[
's.fk_prospectlevel'][
'checked'])) {
1695 print_liste_field_titre($arrayfields[
's.fk_prospectlevel'][
'label'], $_SERVER[
"PHP_SELF"],
"s.fk_prospectlevel",
"", $param,
'', $sortfield, $sortorder,
'center ');
1696 $totalarray[
'nbfield']++;
1698if (!empty($arrayfields[
's.fk_stcomm'][
'checked'])) {
1699 print_liste_field_titre($arrayfields[
's.fk_stcomm'][
'label'], $_SERVER[
"PHP_SELF"],
"s.fk_stcomm",
"", $param,
'', $sortfield, $sortorder,
'center ');
1700 $totalarray[
'nbfield']++;
1702if (!empty($arrayfields[
's2.nom'][
'checked'])) {
1703 print_liste_field_titre($arrayfields[
's2.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s2.nom",
"", $param,
'', $sortfield, $sortorder,
'center ');
1704 $totalarray[
'nbfield']++;
1707include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_title.tpl.php';
1709$parameters = array(
'arrayfields' => $arrayfields,
'param' => $param,
'sortfield' => $sortfield,
'sortorder' => $sortorder);
1710$reshook = $hookmanager->executeHooks(
'printFieldListTitle', $parameters, $object, $action);
1711print $hookmanager->resPrint;
1712if (!empty($arrayfields[
's.datec'][
'checked'])) {
1713 print_liste_field_titre($arrayfields[
's.datec'][
'label'], $_SERVER[
"PHP_SELF"],
"s.datec",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1714 $totalarray[
'nbfield']++;
1716if (!empty($arrayfields[
's.tms'][
'checked'])) {
1717 print_liste_field_titre($arrayfields[
's.tms'][
'label'], $_SERVER[
"PHP_SELF"],
"s.tms",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1718 $totalarray[
'nbfield']++;
1720if (!empty($arrayfields[
's.status'][
'checked'])) {
1721 print_liste_field_titre($arrayfields[
's.status'][
'label'], $_SERVER[
"PHP_SELF"],
"s.status",
"", $param,
'', $sortfield, $sortorder,
'center ');
1722 $totalarray[
'nbfield']++;
1724if (!empty($arrayfields[
's.import_key'][
'checked'])) {
1725 print_liste_field_titre($arrayfields[
's.import_key'][
'label'], $_SERVER[
"PHP_SELF"],
"s.import_key",
"", $param,
'', $sortfield, $sortorder,
'center ');
1726 $totalarray[
'nbfield']++;
1730 print
getTitleFieldOfList($selectedfields, 0, $_SERVER[
"PHP_SELF"],
'',
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ').
"\n";
1731 $totalarray[
'nbfield']++;
1739$savnbfield = $totalarray[
'nbfield'];
1740$totalarray = array();
1741$totalarray[
'nbfield'] = 0;
1742$imaxinloop = ($limit ? min($num, $limit) : $num);
1743while ($i < $imaxinloop) {
1744 $obj = $db->fetch_object($resql);
1749 $parameters = array(
'staticdata' => $obj);
1752 $reshook = $hookmanager->executeHooks(
'loadStaticObject', $parameters, $companystatic, $action);
1753 if (empty($reshook)) {
1754 $companystatic->id = $obj->rowid;
1755 $companystatic->name = $obj->name;
1756 $companystatic->name_alias = $obj->name_alias;
1757 $companystatic->logo = $obj->logo;
1758 $companystatic->barcode = $obj->barcode;
1759 $companystatic->canvas = $obj->canvas;
1760 $companystatic->client = $obj->client;
1761 $companystatic->status = $obj->status;
1762 $companystatic->email = $obj->email;
1763 $companystatic->address = $obj->address;
1764 $companystatic->zip = $obj->zip;
1765 $companystatic->town = $obj->town;
1766 $companystatic->fournisseur = $obj->fournisseur;
1767 $companystatic->code_client = $obj->code_client;
1768 $companystatic->code_fournisseur = $obj->code_fournisseur;
1769 $companystatic->tva_intra = $obj->tva_intra;
1770 $companystatic->country_code = $obj->country_code;
1772 $companystatic->code_compta_client = $obj->code_compta;
1773 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
1775 $companystatic->fk_prospectlevel = $obj->fk_prospectlevel;
1776 $companystatic->parent = $obj->fk_parent;
1777 $companystatic->entity = $obj->entity;
1782 if ($mode ==
'kanban') {
1784 print
'<tr class="trkanban"><td colspan="'.$savnbfield.
'">';
1785 print
'<div class="box-flex-container kanban">';
1788 print $companystatic->getKanbanView(
'', array(
'selected' => in_array($obj->rowid, $arrayofselected)));
1789 if ($i == ($imaxinloop - 1)) {
1796 print
'<tr data-rowid="'.$companystatic->id.
'" class="oddeven"';
1797 if ($contextpage ==
'poslist') {
1798 print
' onclick="location.href=\'list.php?action=change&contextpage=poslist&idcustomer='.$obj->rowid.
'&place='.urlencode($place).
'\'"';
1802 // Action column (Show the massaction button only when this page is not opend from the Extended POS)
1803 if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
1804 print '<td class="nowrap center actioncolumn
">';
1805 if (($massactionbutton || $massaction) && $contextpage != 'poslist') { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
1807 if (in_array($obj->rowid, $arrayofselected)) {
1810 print '<input id="cb
'.$obj->rowid.'" class="flat checkforselect
" type="checkbox
" name="toselect[]
" value="'.$obj->rowid.'"'.($selected ? ' checked="checked
"' : '').'>';
1814 $totalarray['nbfield']++;
1817 if (!empty($arrayfields['s.rowid']['checked'])) {
1818 print '<td class="tdoverflowmax50
" data-key="id">';
1819 print dol_escape_htmltag($obj->rowid);
1822 $totalarray['nbfield']++;
1825 if (!empty($arrayfields['s.nom']['checked'])) {
1826 print '<td'.(getDolGlobalString('MAIN_SOCIETE_SHOW_COMPLETE_NAME') ? '' : ' class="tdoverflowmax200
"').' data-key="ref">';
1827 if ($contextpage == 'poslist') {
1828 print dol_escape_htmltag($companystatic->name);
1830 print $companystatic->getNomUrl(1, '', 100, 0, 1, empty($arrayfields['s.name_alias']['checked']) ? 0 : 1);
1834 $totalarray['nbfield']++;
1837 if (!empty($arrayfields['s.name_alias']['checked'])) {
1838 print '<td class="tdoverflowmax150
" title="'.dol_escape_htmltag($companystatic->name_alias).'">';
1839 print dol_escape_htmltag($companystatic->name_alias);
1842 $totalarray['nbfield']++;
1846 if (!empty($arrayfields['s.barcode']['checked'])) {
1847 print '<td class="tdoverflowmax150
" title="'.dol_escape_htmltag($companystatic->barcode).'">'.dol_escape_htmltag($companystatic->barcode).'</td>';
1849 $totalarray['nbfield']++;
1853 if (!empty($arrayfields['s.code_client']['checked'])) {
1854 print '<td class="nowraponall
">'.dol_escape_htmltag($companystatic->code_client).'</td>';
1856 $totalarray['nbfield']++;
1860 if (!empty($arrayfields['s.code_fournisseur']['checked'])) {
1861 print '<td class="nowraponall
">'.dol_escape_htmltag($companystatic->code_fournisseur).'</td>';
1863 $totalarray['nbfield']++;
1866 // Account customer code
1867 if (!empty($arrayfields['s.code_compta']['checked'])) {
1868 print '<td>'.dol_escape_htmltag($companystatic->code_compta_client).'</td>';
1870 $totalarray['nbfield']++;
1873 // Account supplier code
1874 if (!empty($arrayfields['s.code_compta_fournisseur']['checked'])) {
1875 print '<td>'.dol_escape_htmltag($companystatic->code_compta_fournisseur).'</td>';
1877 $totalarray['nbfield']++;
1881 if (!empty($arrayfields['s.address']['checked'])) {
1882 print '<td class="tdoverflowmax250
" title="'.dol_escape_htmltag($companystatic->address).'">'.dol_escape_htmltag($companystatic->address).'</td>';
1884 $totalarray['nbfield']++;
1887 // Sales Representative
1888 if (!empty($arrayfields['sales.representative']['checked'])) {
1889 print '<td class="nowraponall tdoverflowmax200
">';
1890 $listsalesrepresentatives = $companystatic->getSalesRepresentatives($user);
1891 $nbofsalesrepresentative = count($listsalesrepresentatives);
1892 if ($nbofsalesrepresentative > 6) {
1893 // We print only number
1894 print $nbofsalesrepresentative;
1895 } elseif ($nbofsalesrepresentative > 0) {
1896 $userstatic = new User($db);
1898 foreach ($listsalesrepresentatives as $val) {
1899 $userstatic->id = $val['id'];
1900 $userstatic->lastname = $val['lastname'];
1901 $userstatic->firstname = $val['firstname'];
1902 $userstatic->email = $val['email'];
1903 $userstatic->entity = $val['entity'];
1904 $userstatic->photo = $val['photo'];
1905 $userstatic->login = $val['login'];
1906 $userstatic->office_phone = $val['office_phone'];
1907 $userstatic->office_fax = $val['office_fax'];
1908 $userstatic->user_mobile = $val['user_mobile'];
1909 $userstatic->job = $val['job'];
1910 $userstatic->gender = $val['gender'];
1911 $userstatic->statut = $val['statut'];
1912 print ($nbofsalesrepresentative < 2) ? $userstatic->getNomUrl(-1, '', 0, 0, 12) : $userstatic->getNomUrl(-2);
1914 if ($j < $nbofsalesrepresentative) {
1923 $totalarray['nbfield']++;
1927 if (!empty($arrayfields['s.zip']['checked'])) {
1928 print "<td>
".dol_escape_htmltag($companystatic->zip)."</td>\n
";
1930 $totalarray['nbfield']++;
1934 if (!empty($arrayfields['s.town']['checked'])) {
1935 print '<td class="tdoverflowmax150
" title="'.dol_escape_htmltag($companystatic->town).'">'.dol_escape_htmltag($companystatic->town)."</td>\n
";
1937 $totalarray['nbfield']++;
1941 if (!empty($arrayfields['state.nom']['checked'])) {
1942 print "<td>
".dol_escape_htmltag($obj->state_name)."</td>\n
";
1944 $totalarray['nbfield']++;
1948 if (!empty($arrayfields['region.nom']['checked'])) {
1949 print "<td>
".dol_escape_htmltag($obj->region_name)."</td>\n
";
1951 $totalarray['nbfield']++;
1955 if (!empty($arrayfields['country.code_iso']['checked'])) {
1956 print '<td class="center tdoverflowmax100
">';
1957 $labelcountry = ($companystatic->country_code && ($langs->trans("Country
".$companystatic->country_code) != "Country
".$companystatic->country_code)) ? $langs->trans("Country
".$companystatic->country_code) : $obj->country_label;
1958 print $labelcountry;
1961 $totalarray['nbfield']++;
1965 if (!empty($arrayfields['typent.code']['checked'])) {
1966 if (!isset($typenArray) || !is_array($typenArray) || count($typenArray) == 0) {
1967 $typenArray = $formcompany->typent_array(1);
1969 $labeltypeofcompany = empty($typenArray[$obj->typent_code]) ? '' : $typenArray[$obj->typent_code];
1971 print '<td class="center tdoverflowmax125
" title="'.dol_escape_htmltag($labeltypeofcompany).'">';
1972 print dol_escape_htmltag($labeltypeofcompany);
1975 $totalarray['nbfield']++;
1979 if (!empty($arrayfields['s.price_level']['checked'])) {
1980 print '<td class="center
">'.$obj->price_level."</td>\n
";
1982 $totalarray['nbfield']++;
1986 if (!empty($arrayfields['staff.code']['checked'])) {
1987 print '<td class="center
">';
1988 if (!empty($obj->staff_code)) {
1989 if (empty($conf->cache['staffArray'])) {
1990 $conf->cache['staffArray'] = $formcompany->effectif_array(1);
1992 print $conf->cache['staffArray'][$obj->staff_code];
1996 $totalarray['nbfield']++;
2000 if (!empty($arrayfields['legalform.code']['checked'])) {
2002 if (!empty($obj->legalform_code)) {
2003 if (empty($conf->cache['legalformArray'][$obj->legalform_code])) {
2004 $conf->cache['legalformArray'][$obj->legalform_code] = getFormeJuridiqueLabel($obj->legalform_code);
2006 $labeltoshow = $conf->cache['legalformArray'][$obj->legalform_code];
2008 print '<td class="center tdoverflowmax100
" title="'.dol_escape_htmltag($labeltoshow).'">';
2009 print dol_escape_htmltag($labeltoshow);
2012 $totalarray['nbfield']++;
2016 if (!empty($arrayfields['s.email']['checked'])) {
2017 print '<td class="tdoverflowmax150
">'.dol_print_email($obj->email, $obj->rowid, $obj->rowid, 1, 0, 0, 1)."</td>\n
";
2019 $totalarray['nbfield']++;
2022 if (!empty($arrayfields['s.phone']['checked'])) {
2023 print '<td class="nowraponall
">'.dol_print_phone($obj->phone, $companystatic->country_code, 0, $obj->rowid, 'AC_TEL', ' ', 'phone')."</td>\n
";
2025 $totalarray['nbfield']++;
2028 if (!empty($arrayfields['s.phone_mobile']['checked'])) {
2029 print '<td class="nowraponall
">'.dol_print_phone($obj->phone_mobile, $companystatic->country_code, 0, $obj->rowid, 'AC_TEL', ' ', 'phone_mobile')."</td>\n
";
2031 $totalarray['nbfield']++;
2034 if (!empty($arrayfields['s.fax']['checked'])) {
2035 print '<td class="nowraponall
">'.dol_print_phone($obj->fax, $companystatic->country_code, 0, $obj->rowid, 'AC_TEL', ' ', 'fax')."</td>\n
";
2037 $totalarray['nbfield']++;
2040 if (!empty($arrayfields['s.url']['checked'])) {
2041 print "<td>
".dol_print_url($obj->url, '', '', 1)."</td>\n
";
2043 $totalarray['nbfield']++;
2046 if (!empty($arrayfields['s.siren']['checked'])) {
2047 print "<td>
".$obj->idprof1."</td>\n
";
2049 $totalarray['nbfield']++;
2052 if (!empty($arrayfields['s.siret']['checked'])) {
2053 print "<td>
".$obj->idprof2."</td>\n
";
2055 $totalarray['nbfield']++;
2058 if (!empty($arrayfields['s.ape']['checked'])) {
2059 print "<td>
".$obj->idprof3."</td>\n
";
2061 $totalarray['nbfield']++;
2064 if (!empty($arrayfields['s.idprof4']['checked'])) {
2065 print "<td>
".$obj->idprof4."</td>\n
";
2067 $totalarray['nbfield']++;
2070 if (!empty($arrayfields['s.idprof5']['checked'])) {
2071 print "<td>
".$obj->idprof5."</td>\n
";
2073 $totalarray['nbfield']++;
2076 if (!empty($arrayfields['s.idprof6']['checked'])) {
2077 print "<td>
".$obj->idprof6."</td>\n
";
2079 $totalarray['nbfield']++;
2083 if (!empty($arrayfields['s.tva_intra']['checked'])) {
2084 print '<td class="tdoverflowmax125
" title="'.dol_escape_htmltag($companystatic->tva_intra).'">';
2085 if ($companystatic->tva_intra && !isValidVATID($companystatic)) {
2086 print img_warning("BadVATNumber
", '', 'pictofixedwidth');
2088 print $companystatic->tva_intra;
2091 $totalarray['nbfield']++;
2095 if (!empty($arrayfields['customerorsupplier']['checked'])) {
2096 print '<td class="center
">';
2097 print $companystatic->getTypeUrl(1);
2100 $totalarray['nbfield']++;
2104 if (!empty($arrayfields['s.fk_prospectlevel']['checked'])) {
2105 print '<td class="center nowraponall
">';
2106 print $companystatic->getLibProspLevel();
2109 $totalarray['nbfield']++;
2113 if (!empty($arrayfields['s.fk_stcomm']['checked'])) {
2114 print '<td class="center nowraponall
">';
2116 $prospectid = $obj->rowid;
2117 $statusprospect = $obj->stcomm_id;
2119 $formcompany->selectProspectStatus('status_prospect', $prospectstatic, $statusprospect, $prospectid);
2123 $totalarray['nbfield']++;
2127 if (!empty($arrayfields['s2.nom']['checked'])) {
2128 print '<td class="center tdoverflowmax100
">';
2129 if ($companystatic->parent > 0) {
2130 $companyparent->fetch($companystatic->parent);
2131 print $companyparent->getNomUrl(1);
2135 $totalarray['nbfield']++;
2139 include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
2141 $parameters = array('arrayfields' => $arrayfields, 'obj' => $obj, 'i' => $i, 'totalarray' => &$totalarray);
2142 $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
2143 print $hookmanager->resPrint;
2145 if (!empty($arrayfields['s.datec']['checked'])) {
2146 print '<td class="center nowraponall
">';
2147 print dol_print_date($db->jdate($obj->date_creation), 'dayhour', 'tzuser');
2150 $totalarray['nbfield']++;
2153 // Date modification
2154 if (!empty($arrayfields['s.tms']['checked'])) {
2155 print '<td class="center nowraponall
">';
2156 print dol_print_date($db->jdate($obj->date_modification), 'dayhour', 'tzuser');
2159 $totalarray['nbfield']++;
2163 if (!empty($arrayfields['s.status']['checked'])) {
2164 print '<td class="center nowraponall
">'.$companystatic->getLibStatut(5).'</td>';
2166 $totalarray['nbfield']++;
2170 if (!empty($arrayfields['s.import_key']['checked'])) {
2171 print '<td class="tdoverflowmax125
" title="'.dol_escape_htmltag($obj->import_key).'">';
2172 print dol_escape_htmltag($obj->import_key);
2175 $totalarray['nbfield']++;
2178 // Action column (Show the massaction button only when this page is not opend from the Extended POS)
2179 if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
2180 print '<td class="nowrap center actioncolumn
">';
2181 if (($massactionbutton || $massaction) && $contextpage != 'poslist') { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
2183 if (in_array($obj->rowid, $arrayofselected)) {
2186 print '<input id="cb
'.$obj->rowid.'" class="flat checkforselect
" type="checkbox
" name="toselect[]
" value="'.$obj->rowid.'"'.($selected ? ' checked="checked
"' : '').'>';
2190 $totalarray['nbfield']++;
2200include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php';
2202// If no record found
2205 foreach ($arrayfields as $key => $val) {
2206 if (!empty($val['checked'])) {
2210 print '<tr><td colspan="'.$colspan.'"><span class="opacitymedium
">'.$langs->trans("NoRecordFound
").'</span></td></tr>';
2215$parameters = array('arrayfields' => $arrayfields, 'sql' => $sql);
2216$reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
2217print $hookmanager->resPrint;
2219print '</table>'."\n
";
2222// Line that calls the select_status function by passing it js as the 5th parameter in order to activate the js script
2223$formcompany->selectProspectStatus('status_prospect', $prospectstatic, null, null, "js
");
2225print '</form>'."\n
";
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage customers or prospects.
Class to manage invoices.
Class to manage third parties objects (customers, suppliers, prospects...)
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
dolExplodeIntoArray($string, $delimiter=';', $kv='=')
Split a string with 2 keys into key array.
img_warning($titlealt='default', $moreatt='', $morecss='pictowarning')
Show warning 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.
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...
dol_now($mode='auto')
Return date for now.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_getIdFromCode($db, $key, $tablename, $fieldkey='code', $fieldid='id', $entityfilter=0, $filters='')
Return an id or code from a code or id.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by the value of a given key, which produces ascending (default) or descending out...
print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
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...
get_htmloutput_mesg($mesgstring='', $mesgarray=[], $style='ok', $keepembedded=0)
Get formatted messages to output (Used to show messages on html output).
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
getEntity($element, $shared=1, $currentobject=null)
Get list of entity id to use.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.