42 require_once
'../main.inc.php';
43 include_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
44 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
45 require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
46 require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
47 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
48 require_once DOL_DOCUMENT_ROOT.
'/societe/class/client.class.php';
50 require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
51 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcategory.class.php';
55 $langs->loadLangs(array(
"companies",
"commercial",
"customers",
"suppliers",
"bills",
"compta",
"categories",
"cashdesk"));
59 $action =
GETPOST(
'action',
'aZ09');
60 $massaction =
GETPOST(
'massaction',
'alpha');
62 $confirm =
GETPOST(
'confirm',
'alpha');
63 $toselect =
GETPOST(
'toselect',
'array');
64 $contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'thirdpartylist';
65 $optioncss =
GETPOST(
'optioncss',
'alpha');
66 if ($contextpage ==
'poslist') {
69 $mode =
GETPOST(
"mode",
'alpha');
72 $search_all = trim(
GETPOST(
'search_all',
'alphanohtml') ?
GETPOST(
'search_all',
'alphanohtml') :
GETPOST(
'sall',
'alphanohtml'));
73 $search_cti = preg_replace(
'/^0+/',
'', preg_replace(
'/[^0-9]/',
'',
GETPOST(
'search_cti',
'alphanohtml')));
75 $search_id =
GETPOST(
"search_id",
'int');
76 $search_nom = trim(
GETPOST(
"search_nom",
'restricthtml'));
77 $search_alias = trim(
GETPOST(
"search_alias",
'restricthtml'));
78 $search_nom_only = trim(
GETPOST(
"search_nom_only",
'restricthtml'));
79 $search_barcode = trim(
GETPOST(
"search_barcode",
'alpha'));
80 $search_customer_code = trim(
GETPOST(
'search_customer_code',
'alpha'));
81 $search_supplier_code = trim(
GETPOST(
'search_supplier_code',
'alpha'));
82 $search_account_customer_code = trim(
GETPOST(
'search_account_customer_code',
'alpha'));
83 $search_account_supplier_code = trim(
GETPOST(
'search_account_supplier_code',
'alpha'));
84 $search_address = trim(
GETPOST(
'search_address',
'alpha'));
85 $search_zip = trim(
GETPOST(
"search_zip",
'alpha'));
86 $search_town = trim(
GETPOST(
"search_town",
'alpha'));
87 $search_state = trim(
GETPOST(
"search_state",
'alpha'));
88 $search_region = trim(
GETPOST(
"search_region",
'alpha'));
89 $search_email = trim(
GETPOST(
'search_email',
'alpha'));
90 $search_phone = trim(
GETPOST(
'search_phone',
'alpha'));
91 $search_phone_mobile = trim(
GETPOST(
'search_phone_mobile',
'alpha'));
92 $search_fax = trim(
GETPOST(
'search_fax',
'alpha'));
93 $search_url = trim(
GETPOST(
'search_url',
'alpha'));
94 $search_idprof1 = trim(
GETPOST(
'search_idprof1',
'alpha'));
95 $search_idprof2 = trim(
GETPOST(
'search_idprof2',
'alpha'));
96 $search_idprof3 = trim(
GETPOST(
'search_idprof3',
'alpha'));
97 $search_idprof4 = trim(
GETPOST(
'search_idprof4',
'alpha'));
98 $search_idprof5 = trim(
GETPOST(
'search_idprof5',
'alpha'));
99 $search_idprof6 = trim(
GETPOST(
'search_idprof6',
'alpha'));
100 $search_vat = trim(
GETPOST(
'search_vat',
'alpha'));
102 $search_categ_cus =
GETPOSTINT(
"search_categ_cus");
103 $search_categ_sup =
GETPOSTINT(
"search_categ_sup");
104 $searchCategoryCustomerOperator = 0;
105 $searchCategorySupplierOperator = 0;
107 $searchCategoryCustomerOperator =
GETPOST(
'search_category_customer_operator');
108 $searchCategorySupplierOperator =
GETPOST(
'search_category_supplier_operator');
110 $searchCategoryCustomerOperator =
getDolGlobalString(
'MAIN_SEARCH_CAT_OR_BY_DEFAULT');
111 $searchCategorySupplierOperator =
getDolGlobalString(
'MAIN_SEARCH_CAT_OR_BY_DEFAULT');
113 $searchCategoryCustomerList =
GETPOST(
'search_category_customer_list',
'array');
114 if (!empty($search_categ_cus) && empty($searchCategoryCustomerList)) {
115 $searchCategoryCustomerList = array($search_categ_cus);
117 $searchCategorySupplierList =
GETPOST(
'search_category_supplier_list',
'array');
118 if (!empty($search_categ_sup) && empty($searchCategorySupplierList)) {
119 $searchCategorySupplierList = array($search_categ_sup);
121 $search_country =
GETPOST(
"search_country",
'aZ09');
122 $search_type_thirdparty =
GETPOST(
"search_type_thirdparty",
'intcomma');
123 $search_price_level =
GETPOST(
'search_price_level',
'int');
124 $search_staff =
GETPOST(
"search_staff",
'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";
166 if (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));
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",
236 if (($tmp = $langs->transnoentities(
"ProfId4".$mysoc->country_code)) && $tmp !=
"ProfId4".$mysoc->country_code && $tmp !=
'-') {
237 $fieldstosearchall[
's.idprof4'] =
'ProfId4';
239 if (($tmp = $langs->transnoentities(
"ProfId5".$mysoc->country_code)) && $tmp !=
"ProfId5".$mysoc->country_code && $tmp !=
'-') {
240 $fieldstosearchall[
's.idprof5'] =
'ProfId5';
242 if (($tmp = $langs->transnoentities(
"ProfId6".$mysoc->country_code)) && $tmp !=
"ProfId6".$mysoc->country_code && $tmp !=
'-') {
243 $fieldstosearchall[
's.idprof6'] =
'ProfId6';
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);
271 $arrayfields = array(
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 's.phone_mobile' => array(
'label' =>
"PhoneMobile",
'position' => 32,
'checked' => 0),
293 's.siren' => array(
'label' =>
"ProfId1Short",
'position' => 40,
'checked' => $checkedprofid1),
294 's.siret' => array(
'label' =>
"ProfId2Short",
'position' => 41,
'checked' => $checkedprofid2),
295 's.ape' => array(
'label' =>
"ProfId3Short",
'position' => 42,
'checked' => $checkedprofid3),
296 's.idprof4' => array(
'label' =>
"ProfId4Short",
'position' => 43,
'checked' => $checkedprofid4),
297 's.idprof5' => array(
'label' =>
"ProfId5Short",
'position' => 44,
'checked' => $checkedprofid5),
298 's.idprof6' => array(
'label' =>
"ProfId6Short",
'position' => 45,
'checked' => $checkedprofid6),
299 's.tva_intra' => array(
'label' =>
"VATIntraShort",
'position' => 50,
'checked' => 0),
300 'customerorsupplier' => array(
'label' =>
'NatureOfThirdParty',
'position' => 61,
'checked' => 1),
301 's.fk_prospectlevel' => array(
'label' =>
"ProspectLevel",
'position' => 62,
'checked' => $checkprospectlevel),
302 's.fk_stcomm' => array(
'label' =>
"StatusProsp",
'position' => 63,
'checked' => $checkstcomm),
303 's2.nom' => array(
'label' =>
'ParentCompany',
'position' => 64,
'checked' => 0),
304 's.datec' => array(
'label' =>
"DateCreation",
'checked' => 0,
'position' => 500),
305 's.tms' => array(
'label' =>
"DateModificationShort",
'checked' => 0,
'position' => 500),
306 's.status' => array(
'label' =>
"Status",
'checked' => 1,
'position' => 1000),
307 's.import_key' => array(
'label' =>
"ImportId",
'checked' => 0,
'position' => 1100),
310 $arrayfields[
's.price_level'] = array(
'label' =>
"PriceLevel",
'position' => 30,
'checked' => 0);
314 $arrayfields[
'sales.representative'] = array(
'label' => $langs->trans(
"SalesRepresentatives"),
'checked' => 1,
'position' => 12);
317 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_array_fields.tpl.php';
321 '@phan-var-force array<string,array{label:string,checked?:int<0,1>,position?:int,help?:string}> $arrayfields';
326 $socid = $user->socid;
336 if ($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();
372 if (
GETPOST(
'cancel',
'alpha')) {
376 if (!
GETPOST(
'confirmmassaction',
'alpha') && $massaction !=
'presend' && $massaction !=
'confirm_presend') {
380 $parameters = array(
'arrayfields' => &$arrayfields);
381 $reshook = $hookmanager->executeHooks(
'doActions', $parameters,
$object, $action);
386 if (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_date_creation_startmonth =
"";
430 $search_date_creation_startyear =
"";
431 $search_date_creation_startday =
"";
432 $search_date_creation_start =
"";
433 $search_date_creation_endmonth =
"";
434 $search_date_creation_endyear =
"";
435 $search_date_creation_endday =
"";
436 $search_date_creation_end =
"";
437 $search_date_modif_startmonth =
"";
438 $search_date_modif_startyear =
"";
439 $search_date_modif_startday =
"";
440 $search_date_modif_start =
"";
441 $search_date_modif_endmonth =
"";
442 $search_date_modif_endyear =
"";
443 $search_date_modif_endday =
"";
444 $search_date_modif_end =
"";
448 $search_parent_name =
'';
449 $search_import_key =
'';
453 $search_array_options = array();
457 $objectclass =
'Societe';
458 $objectlabel =
'ThirdParty';
459 $permissiontoread = $user->hasRight(
'societe',
'lire');
460 $permissiontodelete = $user->hasRight(
'societe',
'supprimer');
461 $permissiontoadd = $user->hasRight(
"societe",
"creer");
462 $uploaddir = $conf->societe->dir_output;
463 include DOL_DOCUMENT_ROOT.
'/core/actions_massactions.inc.php';
465 if ($action ==
'setstcomm') {
478 if ($search_status ==
'' && empty($search_all)) {
499 $companystatic =
new Societe($db);
500 $companyparent =
new Societe($db);
502 $prospectstatic =
new Client($db);
503 $prospectstatic->client = 2;
504 $prospectstatic->loadCacheOfProspStatus();
508 $title = $langs->trans(
"ThirdParties");
509 if ($type ==
'c' && (empty($search_type) || ($search_type ==
'1,3'))) {
510 $title = $langs->trans(
"Customers");
512 if ($type ==
'p' && (empty($search_type) || ($search_type ==
'2,3'))) {
513 $title = $langs->trans(
"Prospects");
515 if ($type ==
'f' && (empty($search_type) || ($search_type ==
'4'))) {
516 $title = $langs->trans(
"Suppliers");
518 $help_url =
'EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
522 $tab_level = array();
523 $sql =
"SELECT code, label, sortorder";
524 $sql .=
" FROM ".MAIN_DB_PREFIX.
"c_prospectlevel";
525 $sql .=
" WHERE active > 0";
526 $sql .=
" ORDER BY sortorder";
527 $resql = $db->query(
$sql);
529 while ($obj = $db->fetch_object($resql)) {
531 $level = $langs->trans($obj->code);
532 if ($level == $obj->code) {
533 $level = $langs->trans($obj->label);
535 $tab_level[$obj->code] = $level;
543 $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,";
544 $sql .=
" s.entity,";
545 $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,";
546 $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,";
547 $sql .=
" s.tms as date_modification, s.datec as date_creation, s.import_key,";
548 $sql .=
" s.code_compta, s.code_compta_fournisseur, s.parent as fk_parent,s.price_level,";
549 $sql .=
" s2.nom as name2,";
550 $sql .=
" typent.code as typent_code,";
551 $sql .=
" staff.code as staff_code,";
552 $sql .=
" country.code as country_code, country.label as country_label,";
553 $sql .=
" state.code_departement as state_code, state.nom as state_name,";
554 $sql .=
" region.code_region as region_code, region.nom as region_name";
556 if (!empty($extrafields->attributes[
$object->table_element][
'label'])) {
557 foreach ($extrafields->attributes[
$object->table_element][
'label'] as $key => $val) {
558 $sql .= ($extrafields->attributes[
$object->table_element][
'type'][$key] !=
'separate' ?
", ef.".$key.
" as options_".$key :
'');
562 $parameters = array();
563 $reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters,
$object, $action);
564 $sql .= $hookmanager->resPrint;
565 $sql = preg_replace(
'/,\s*$/',
'',
$sql);
570 $sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
571 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"societe as s2 ON s.parent = s2.rowid";
572 if (!empty($extrafields->attributes[
$object->table_element][
'label']) && is_array($extrafields->attributes[
$object->table_element][
'label']) && count($extrafields->attributes[
$object->table_element][
'label'])) {
573 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element.
"_extrafields as ef on (s.rowid = ef.fk_object)";
576 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as country on (country.rowid = s.fk_pays)";
577 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_typent as typent on (typent.id = s.fk_typent)";
578 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_effectif as staff on (staff.id = s.fk_effectif)";
579 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_departements as state on (state.rowid = s.fk_departement)";
580 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_regions as region on (region.code_region = state.fk_region)";
581 $sql .=
' LEFT JOIN '.MAIN_DB_PREFIX.
"c_stcomm as st ON s.fk_stcomm = st.id";
583 $parameters = array();
584 $reshook = $hookmanager->executeHooks(
'printFieldListFrom', $parameters,
$object, $action);
585 $sql .= $hookmanager->resPrint;
586 $sql .=
" WHERE s.entity IN (".getEntity(
'societe').
")";
587 if (!$user->hasRight(
'fournisseur',
'lire')) {
588 $sql .=
" AND (s.fournisseur <> 1 OR s.client <> 0)";
591 if ($search_sale && $search_sale !=
'-1') {
592 if ($search_sale == -2) {
593 $sql .=
" AND NOT EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = s.rowid)";
594 } elseif ($search_sale > 0) {
595 $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).
")";
600 if (!empty($searchCategoryCustomerList)) {
601 $searchCategoryCustomerSqlList = array();
602 $listofcategoryid =
'';
603 foreach ($searchCategoryCustomerList as $searchCategoryCustomer) {
604 if (intval($searchCategoryCustomer) == -2) {
605 $searchCategoryCustomerSqlList[] =
"NOT EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_societe as ck WHERE s.rowid = ck.fk_soc)";
606 } elseif (intval($searchCategoryCustomer) > 0) {
607 if ($searchCategoryCustomerOperator == 0) {
608 $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).
")";
610 $listofcategoryid .= ($listofcategoryid ?
', ' :
'') .((
int) $searchCategoryCustomer);
614 if ($listofcategoryid) {
615 $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).
"))";
617 if ($searchCategoryCustomerOperator == 1) {
618 if (!empty($searchCategoryCustomerSqlList)) {
619 $sql .=
" AND (".implode(
' OR ', $searchCategoryCustomerSqlList).
")";
622 if (!empty($searchCategoryCustomerSqlList)) {
623 $sql .=
" AND (".implode(
' AND ', $searchCategoryCustomerSqlList).
")";
629 if (!empty($searchCategorySupplierList)) {
630 $searchCategorySupplierSqlList = array();
631 $listofcategoryid =
'';
632 foreach ($searchCategorySupplierList as $searchCategorySupplier) {
633 if (intval($searchCategorySupplier) == -2) {
634 $searchCategorySupplierSqlList[] =
"NOT EXISTS (SELECT ck.fk_soc FROM ".MAIN_DB_PREFIX.
"categorie_fournisseur as ck WHERE s.rowid = ck.fk_soc)";
635 } elseif (intval($searchCategorySupplier) > 0) {
636 if ($searchCategorySupplierOperator == 0) {
637 $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).
")";
639 $listofcategoryid .= ($listofcategoryid ?
', ' :
'') .((
int) $searchCategorySupplier);
643 if ($listofcategoryid) {
644 $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).
"))";
646 if ($searchCategorySupplierOperator == 1) {
647 if (!empty($searchCategorySupplierSqlList)) {
648 $sql .=
" AND (".implode(
' OR ', $searchCategorySupplierSqlList).
")";
651 if (!empty($searchCategorySupplierSqlList)) {
652 $sql .=
" AND (".implode(
' AND ', $searchCategorySupplierSqlList).
")";
659 if (strlen($search_cti)) {
662 if ($search_id > 0) {
665 if (empty($arrayfields[
's.name_alias'][
'checked']) && $search_nom) {
676 if ($search_nom_only) {
679 if ($search_customer_code) {
682 if ($search_supplier_code) {
685 if ($search_account_customer_code) {
688 if ($search_account_supplier_code) {
691 if ($search_address) {
694 if (strlen($search_zip)) {
703 if ($search_region) {
706 if ($search_country && $search_country !=
'-1') {
707 $sql .=
" AND s.fk_pays IN (".$db->sanitize($search_country).
')';
712 if (strlen($search_phone)) {
715 if (strlen($search_phone_mobile)) {
718 if (strlen($search_fax)) {
724 if (strlen($search_idprof1)) {
727 if (strlen($search_idprof2)) {
730 if (strlen($search_idprof3)) {
733 if (strlen($search_idprof4)) {
736 if (strlen($search_idprof5)) {
739 if (strlen($search_idprof6)) {
742 if (strlen($search_vat)) {
746 if ($search_type > 0 && in_array($search_type, array(
'1,3',
'1,2,3',
'2,3'))) {
747 $sql .=
" AND s.client IN (".$db->sanitize($search_type).
")";
749 if ($search_type > 0 && in_array($search_type, array(
'4'))) {
750 $sql .=
" AND s.fournisseur = 1";
752 if ($search_type ==
'0') {
753 $sql .=
" AND s.client = 0 AND s.fournisseur = 0";
755 if ($search_status !=
'' && $search_status >= 0) {
761 if ($search_price_level && $search_price_level !=
'-1') {
764 if ($search_type_thirdparty && $search_type_thirdparty > 0) {
767 if (!empty($search_staff) && $search_staff !=
'-1') {
770 if ($search_parent_name) {
776 if ($search_stcomm) {
779 if ($search_import_key) {
782 if ($search_date_creation_start) {
783 $sql .=
" AND s.datec >= '".$db->idate($search_date_creation_start).
"'";
785 if ($search_date_creation_end) {
786 $sql .=
" AND s.datec <= '".$db->idate($search_date_creation_end).
"'";
789 if ($search_date_modif_start) {
790 $sql .=
" AND s.tms >= '".$db->idate($search_date_modif_start).
"'";
792 if ($search_date_modif_end) {
793 $sql .=
" AND s.tms <= '".$db->idate($search_date_modif_end).
"'";
797 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_sql.tpl.php';
799 $parameters = array(
'socid' => $socid);
800 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters,
$object, $action);
801 if (empty($reshook)) {
803 $sql .=
" AND s.rowid = ".((int) $socid);
806 $sql .= $hookmanager->resPrint;
809 $parameters = array(
'fieldstosearchall' => $fieldstosearchall);
810 $reshook = $hookmanager->executeHooks(
'printFieldListGroupBy', $parameters,
$object, $action);
811 $sql .= $hookmanager->resPrint;
814 $nbtotalofrecords =
'';
817 $sqlforcount = preg_replace(
'/^'.preg_quote($sqlfields,
'/').
'/',
'SELECT COUNT(*) as nbtotalofrecords',
$sql);
818 $sqlforcount = preg_replace(
'/GROUP BY .*$/',
'', $sqlforcount);
819 $resql = $db->query($sqlforcount);
821 $objforcount = $db->fetch_object($resql);
822 $nbtotalofrecords = $objforcount->nbtotalofrecords;
827 if (($page * $limit) > $nbtotalofrecords) {
835 $sql .= $db->order($sortfield, $sortorder);
837 $sql .= $db->plimit($limit + 1, $offset);
840 $resql = $db->query(
$sql);
846 $num = $db->num_rows($resql);
850 if ($num == 1 &&
getDolGlobalString(
'MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE') && ($search_all !=
'' || $search_cti !=
'') && $action !=
'list') {
851 $obj = $db->fetch_object($resql);
853 if (
getDolGlobalString(
'SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD')) {
854 if ($obj->client > 0) {
855 header(
"Location: ".DOL_URL_ROOT.
'/comm/card.php?socid='.$id);
858 if ($obj->fournisseur > 0) {
859 header(
"Location: ".DOL_URL_ROOT.
'/fourn/card.php?socid='.$id);
864 header(
"Location: ".DOL_URL_ROOT.
'/societe/card.php?socid='.$id);
872 foreach ($searchCategoryCustomerList as $searchCategoryCustomer) {
873 $paramsCat .=
"&search_category_customer_list[]=".urlencode($searchCategoryCustomer);
875 foreach ($searchCategorySupplierList as $searchCategorySupplier) {
876 $paramsCat .=
"&search_category_supplier_list[]=".urlencode($searchCategorySupplier);
882 $arrayofselected = is_array($toselect) ? $toselect : array();
886 $param .=
'&mode='.urlencode($mode);
888 if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
889 $param .=
'&contextpage='.urlencode($contextpage);
891 if ($limit > 0 && $limit != $conf->liste_limit) {
892 $param .=
'&limit='.((int) $limit);
894 if ($optioncss !=
'') {
895 $param .=
'&optioncss='.urlencode($optioncss);
897 if ($search_all !=
'') {
898 $param =
"&search_all=".urlencode($search_all);
900 if ($search_categ_cus > 0) {
901 $param .=
'&search_categ_cus='.urlencode((
string) ($search_categ_cus));
903 if ($search_categ_sup > 0) {
904 $param .=
'&search_categ_sup='.urlencode((
string) ($search_categ_sup));
906 if ($searchCategoryCustomerOperator == 1) {
907 $param .=
"&search_category_customer_operator=".urlencode((
string) ($searchCategoryCustomerOperator));
909 if ($searchCategorySupplierOperator == 1) {
910 $param .=
"&search_category_supplier_operator=".urlencode((
string) ($searchCategorySupplierOperator));
912 foreach ($searchCategoryCustomerList as $searchCategoryCustomer) {
913 $param .=
"&search_category_customer_list[]=".urlencode($searchCategoryCustomer);
915 foreach ($searchCategorySupplierList as $searchCategorySupplier) {
916 $param .=
"&search_category_supplier_list[]=".urlencode($searchCategorySupplier);
918 if ($search_sale > 0) {
919 $param .=
'&search_sale='.((int) $search_sale);
921 if ($search_id > 0) {
922 $param .=
"&search_id=".((int) $search_id);
924 if ($search_nom !=
'') {
925 $param .=
"&search_nom=".urlencode($search_nom);
927 if ($search_alias !=
'') {
928 $param .=
"&search_alias=".urlencode($search_alias);
930 if ($search_address !=
'') {
931 $param .=
'&search_address='.urlencode($search_address);
933 if ($search_zip !=
'') {
934 $param .=
"&search_zip=".urlencode($search_zip);
936 if ($search_town !=
'') {
937 $param .=
"&search_town=".urlencode($search_town);
939 if ($search_phone !=
'') {
940 $param .=
"&search_phone=".urlencode($search_phone);
942 if ($search_phone_mobile !=
'') {
943 $param .=
"&search_phone_mobile=".urlencode($search_phone_mobile);
945 if ($search_fax !=
'') {
946 $param .=
"&search_fax=".urlencode($search_fax);
948 if ($search_email !=
'') {
949 $param .=
"&search_email=".urlencode($search_email);
951 if ($search_url !=
'') {
952 $param .=
"&search_url=".urlencode($search_url);
954 if ($search_state !=
'') {
955 $param .=
"&search_state=".urlencode($search_state);
957 if ($search_region !=
'') {
958 $param .=
"&search_region=".urlencode($search_region);
960 if ($search_country !=
'') {
961 $param .=
"&search_country=".urlencode($search_country);
963 if ($search_customer_code !=
'') {
964 $param .=
"&search_customer_code=".urlencode($search_customer_code);
966 if ($search_supplier_code !=
'') {
967 $param .=
"&search_supplier_code=".urlencode($search_supplier_code);
969 if ($search_account_customer_code !=
'') {
970 $param .=
"&search_account_customer_code=".urlencode($search_account_customer_code);
972 if ($search_account_supplier_code !=
'') {
973 $param .=
"&search_account_supplier_code=".urlencode($search_account_supplier_code);
975 if ($search_barcode !=
'') {
976 $param .=
"&search_barcode=".urlencode($search_barcode);
978 if ($search_idprof1 !=
'') {
979 $param .=
'&search_idprof1='.urlencode($search_idprof1);
981 if ($search_idprof2 !=
'') {
982 $param .=
'&search_idprof2='.urlencode($search_idprof2);
984 if ($search_idprof3 !=
'') {
985 $param .=
'&search_idprof3='.urlencode($search_idprof3);
987 if ($search_idprof4 !=
'') {
988 $param .=
'&search_idprof4='.urlencode($search_idprof4);
990 if ($search_idprof5 !=
'') {
991 $param .=
'&search_idprof5='.urlencode($search_idprof5);
993 if ($search_idprof6 !=
'') {
994 $param .=
'&search_idprof6='.urlencode($search_idprof6);
996 if ($search_vat !=
'') {
997 $param .=
'&search_vat='.urlencode($search_vat);
999 if ($search_price_level !=
'') {
1000 $param .=
'&search_price_level='.urlencode($search_price_level);
1002 if ($search_type_thirdparty !=
'' && $search_type_thirdparty > 0) {
1003 $param .=
'&search_type_thirdparty='.urlencode((
string) ($search_type_thirdparty));
1005 if ($search_type !=
'') {
1006 $param .=
'&search_type='.urlencode($search_type);
1008 if ($search_status !=
'') {
1009 $param .=
'&search_status='.urlencode((
string) ($search_status));
1011 if (is_array($search_level) && count($search_level)) {
1012 foreach ($search_level as $slevel) {
1013 $param .=
'&search_level[]='.urlencode($slevel);
1016 if (is_array($search_stcomm) && count($search_stcomm)) {
1017 foreach ($search_stcomm as $slevel) {
1018 $param .=
'&search_stcomm[]='.urlencode($slevel);
1021 if ($search_parent_name !=
'') {
1022 $param .=
'&search_parent_name='.urlencode($search_parent_name);
1024 if ($search_import_key !=
'') {
1025 $param .=
'&search_import_key='.urlencode($search_import_key);
1028 $param .=
'&type='.urlencode($type);
1030 if ($search_date_creation_startmonth) {
1031 $param .=
'&search_date_creation_startmonth='.urlencode((
string) ($search_date_creation_startmonth));
1033 if ($search_date_creation_startyear) {
1034 $param .=
'&search_date_creation_startyear='.urlencode((
string) ($search_date_creation_startyear));
1036 if ($search_date_creation_startday) {
1037 $param .=
'&search_date_creation_startday='.urlencode((
string) ($search_date_creation_startday));
1039 if ($search_date_creation_start) {
1040 $param .=
'&search_date_creation_start='.urlencode($search_date_creation_start);
1042 if ($search_date_creation_endmonth) {
1043 $param .=
'&search_date_creation_endmonth='.urlencode((
string) ($search_date_creation_endmonth));
1045 if ($search_date_creation_endyear) {
1046 $param .=
'&search_date_creation_endyear='.urlencode((
string) ($search_date_creation_endyear));
1048 if ($search_date_creation_endday) {
1049 $param .=
'&search_date_creation_endday='.urlencode((
string) ($search_date_creation_endday));
1051 if ($search_date_creation_end) {
1052 $param .=
'&search_date_creation_end='.urlencode($search_date_creation_end);
1054 if ($search_date_modif_startmonth) {
1055 $param .=
'&search_date_modif_startmonth='.urlencode((
string) ($search_date_modif_startmonth));
1057 if ($search_date_modif_startyear) {
1058 $param .=
'&search_date_modif_startyear='.urlencode((
string) ($search_date_modif_startyear));
1060 if ($search_date_modif_startday) {
1061 $param .=
'&search_date_modif_startday='.urlencode((
string) ($search_date_modif_startday));
1063 if ($search_date_modif_start) {
1064 $param .=
'&search_date_modif_start='.urlencode($search_date_modif_start);
1066 if ($search_date_modif_endmonth) {
1067 $param .=
'&search_date_modif_endmonth='.urlencode((
string) ($search_date_modif_endmonth));
1069 if ($search_date_modif_endyear) {
1070 $param .=
'&search_date_modif_endyear='.urlencode((
string) ($search_date_modif_endyear));
1072 if ($search_date_modif_endday) {
1073 $param .=
'&search_date_modif_endday='.urlencode((
string) ($search_date_modif_endday));
1075 if ($search_date_modif_end) {
1076 $param .=
'&search_date_modif_end=' . urlencode($search_date_modif_end);
1080 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_param.tpl.php';
1082 $parameters = array();
1083 $reshook = $hookmanager->executeHooks(
'printFieldListSearchParam', $parameters,
$object, $action);
1084 $param .= $hookmanager->resPrint;
1092 $arrayofmassactions = array(
1093 'presend' =>
img_picto(
'',
'email',
'class="pictofixedwidth"').$langs->trans(
"SendByMail"),
1097 if (
isModEnabled(
'category') && $user->hasRight(
"societe",
"creer")) {
1098 $arrayofmassactions[
'preaffecttag'] =
img_picto(
'',
'category',
'class="pictofixedwidth"').$langs->trans(
"AffectTag");
1100 if ($user->hasRight(
"societe",
"creer")) {
1101 $arrayofmassactions[
'preenable'] =
img_picto(
'',
'stop-circle',
'class="pictofixedwidth"').$langs->trans(
"SetToStatus",
$object->LibStatut($object::STATUS_INACTIVITY));
1103 if ($user->hasRight(
"societe",
"creer")) {
1104 $arrayofmassactions[
'predisable'] =
img_picto(
'',
'stop-circle',
'class="pictofixedwidth"').$langs->trans(
"SetToStatus",
$object->LibStatut($object::STATUS_CEASED));
1106 if ($user->hasRight(
"societe",
"creer")) {
1107 $arrayofmassactions[
'presetcommercial'] =
img_picto(
'',
'user',
'class="pictofixedwidth"').$langs->trans(
"AllocateCommercial");
1108 $arrayofmassactions[
'unsetcommercial'] =
img_picto(
'',
'user',
'class="pictofixedwidth"').$langs->trans(
"UnallocateCommercial");
1111 if ($user->hasRight(
'societe',
'supprimer')) {
1112 $arrayofmassactions[
'predelete'] =
img_picto(
'',
'delete',
'class="pictofixedwidth"').$langs->trans(
"Delete");
1114 if (
GETPOSTINT(
'nomassaction') || in_array($massaction, array(
'presend',
'predelete',
'preaffecttag',
'preenable',
'preclose'))) {
1115 $arrayofmassactions = array();
1117 $massactionbutton =
$form->selectMassAction(
'', $arrayofmassactions);
1120 $label =
'MenuNewThirdParty';
1122 if (!empty($type)) {
1123 $typefilter =
'&type='.$type;
1125 $label =
'MenuNewProspect';
1128 $label =
'MenuNewCustomer';
1131 $label =
'NewSupplier';
1141 if ($contextpage !=
'poslist') {
1142 $url = DOL_URL_ROOT.
'/societe/card.php?action=create'.$typefilter;
1143 if (!empty($socid)) {
1144 $url .=
'&socid='.$socid;
1146 $newcardbutton =
'';
1147 $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'));
1148 $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'));
1149 $newcardbutton .=
dolGetButtonTitle($langs->trans($label),
'',
'fa fa-plus-circle', $url,
'', $user->hasRight(
'societe',
'creer'));
1150 } elseif ($user->hasRight(
'societe',
'creer')) {
1151 $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);
1152 $label =
'MenuNewCustomer';
1153 $newcardbutton =
dolGetButtonTitle($langs->trans($label),
'',
'fa fa-plus-circle', $url);
1156 print
'<form method="POST" id="searchFormList" action="'.$_SERVER[
"PHP_SELF"].
'" name="formfilter" autocomplete="off">'.
"\n";
1157 if ($optioncss !=
'') {
1158 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
1160 print
'<input type="hidden" name="token" value="'.newToken().
'">';
1161 print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
1162 print
'<input type="hidden" name="action" value="list">';
1163 print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
1164 print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
1166 print
'<input type="hidden" name="contextpage" value="'.$contextpage.
'">';
1167 if (!empty($place)) {
1168 print
'<input type="hidden" name="place" value="'.$place.
'">';
1170 print
'<input type="hidden" name="page_y" value="">';
1171 print
'<input type="hidden" name="mode" value="'.$mode.
'">';
1172 if (empty($arrayfields[
'customerorsupplier'][
'checked'])) {
1173 print
'<input type="hidden" name="type" value="'.$type.
'">';
1175 if (!empty($place)) {
1176 print
'<input type="hidden" name="place" value="'.$place.
'">';
1179 print_barre_liste($title, $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords,
'building', 0, $newcardbutton,
'', $limit, 0, 0, 1);
1181 $langs->load(
"other");
1182 $textprofid = array();
1183 foreach (array(1, 2, 3, 4, 5, 6) as $key) {
1184 $label = $langs->transnoentities(
"ProfId".$key.$mysoc->country_code);
1185 $textprofid[$key] =
'';
1186 if ($label !=
"ProfId".$key.$mysoc->country_code) {
1187 if (preg_match(
'/\((.*)\)/i', $label, $reg)) {
1191 $textprofid[$key] = $langs->trans(
"ProfIdShortDesc", $key, $mysoc->country_code, $label);
1196 $topicmail =
"Information";
1197 $modelmail =
"thirdparty";
1198 $objecttmp =
new Societe($db);
1199 $trackid =
'thi'.$object->id;
1200 include DOL_DOCUMENT_ROOT.
'/core/tpl/massactions_pre.tpl.php';
1214 foreach ($fieldstosearchall as $key => $val) {
1215 $fieldstosearchall[$key] = $langs->trans($val);
1216 $setupstring .= $key.
"=".$val.
";";
1218 print
'<!-- Search done like if SOCIETE_QUICKSEARCH_ON_FIELDS = '.$setupstring.
' -->'.
"\n";
1219 print
'<div class="divsearchfieldfilter">'.$langs->trans(
"FilterOnInto", $search_all).implode(
', ', $fieldstosearchall).
'</div>';
1223 $moreforfilter =
'';
1224 if (empty($type) || $type ==
'c' || $type ==
'p') {
1225 if (
isModEnabled(
'category') && $user->hasRight(
'categorie',
'read')) {
1227 $moreforfilter .= $formcategory->getFilterBox(Categorie::TYPE_CUSTOMER, $searchCategoryCustomerList,
'minwidth300', $searchCategoryCustomerOperator ? $searchCategoryCustomerOperator : 0);
1231 if (empty($type) || $type ==
'f') {
1234 $moreforfilter .= $formcategory->getFilterBox(Categorie::TYPE_SUPPLIER, $searchCategorySupplierList,
'minwidth300', $searchCategorySupplierOperator ? $searchCategorySupplierOperator : 0);
1239 if ($user->hasRight(
"societe",
"client",
"voir") || $socid) {
1240 $moreforfilter .=
'<div class="divsearchfield">';
1241 $tmptitle = $langs->trans(
'SalesRepresentatives');
1242 $moreforfilter .=
img_picto($tmptitle,
'user',
'class="pictofixedwidth"');
1243 $moreforfilter .= $formother->select_salesrepresentatives($search_sale,
'search_sale', $user, 0, $langs->trans(
'SalesRepresentatives'), ($conf->dol_optimize_smallscreen ?
'maxwidth200' :
'maxwidth300'), 1);
1244 $moreforfilter .=
'</div>';
1246 if (!empty($moreforfilter)) {
1247 print
'<div class="liste_titre liste_titre_bydiv centpercent">';
1248 print $moreforfilter;
1249 $parameters = array(
'type' => $type);
1250 $reshook = $hookmanager->executeHooks(
'printFieldPreListTitle', $parameters,
$object, $action);
1251 print $hookmanager->resPrint;
1255 $varpage = empty($contextpage) ? $_SERVER[
"PHP_SELF"] : $contextpage;
1256 $htmlofselectarray =
$form->multiSelectArrayWithCheckbox(
'selectedfields', $arrayfields, $varpage,
getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN'));
1257 $selectedfields = ($mode !=
'kanban' ? $htmlofselectarray :
'');
1258 $selectedfields .= ((count($arrayofmassactions) && $contextpage !=
'poslist') ?
$form->showCheckAddButtons(
'checkforselect', 1) :
'');
1260 print
'<div class="div-table-responsive">';
1261 print
'<table class="tagtable nobottomiftotal liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
1265 print
'<tr class="liste_titre_filter">';
1268 print
'<td class="liste_titre maxwidthsearch center actioncolumn">';
1269 $searchpicto =
$form->showFilterButtons(
'left');
1273 if (!empty($arrayfields[
's.rowid'][
'checked'])) {
1274 print
'<td class="liste_titre" data-key="id">';
1275 print
'<input class="flat searchstring" type="text" name="search_id" size="1" value="'.dol_escape_htmltag($search_id).
'">';
1278 if (!empty($arrayfields[
's.nom'][
'checked'])) {
1279 print
'<td class="liste_titre" data-key="ref">';
1280 if (!empty($search_nom_only) && empty($search_nom)) {
1281 $search_nom = $search_nom_only;
1283 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_nom" value="'.dol_escape_htmltag($search_nom).
'">';
1286 if (!empty($arrayfields[
's.name_alias'][
'checked'])) {
1287 print
'<td class="liste_titre">';
1288 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_alias" value="'.dol_escape_htmltag($search_alias).
'">';
1292 if (!empty($arrayfields[
's.barcode'][
'checked'])) {
1293 print
'<td class="liste_titre">';
1294 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_barcode" value="'.dol_escape_htmltag($search_barcode).
'">';
1298 if (!empty($arrayfields[
's.code_client'][
'checked'])) {
1299 print
'<td class="liste_titre">';
1300 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_customer_code" value="'.dol_escape_htmltag($search_customer_code).
'">';
1304 if (!empty($arrayfields[
's.code_fournisseur'][
'checked'])) {
1305 print
'<td class="liste_titre">';
1306 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_supplier_code" value="'.dol_escape_htmltag($search_supplier_code).
'">';
1310 if (!empty($arrayfields[
's.code_compta'][
'checked'])) {
1311 print
'<td class="liste_titre">';
1312 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_account_customer_code" value="'.dol_escape_htmltag($search_account_customer_code).
'">';
1316 if (!empty($arrayfields[
's.code_compta_fournisseur'][
'checked'])) {
1317 print
'<td class="liste_titre">';
1318 print
'<input class="flat maxwidth75imp" type="text" name="search_account_supplier_code" value="'.dol_escape_htmltag($search_account_supplier_code).
'">';
1322 if (!empty($arrayfields[
's.address'][
'checked'])) {
1323 print
'<td class="liste_titre">';
1324 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_address" value="'.dol_escape_htmltag($search_address).
'">';
1328 if (!empty($arrayfields[
'sales.representative'][
'checked'])) {
1329 print
'<td class="liste_titre">';
1333 if (!empty($arrayfields[
's.zip'][
'checked'])) {
1334 print
'<td class="liste_titre">';
1335 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_zip" value="'.dol_escape_htmltag($search_zip).
'">';
1339 if (!empty($arrayfields[
's.town'][
'checked'])) {
1340 print
'<td class="liste_titre">';
1341 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_town" value="'.dol_escape_htmltag($search_town).
'">';
1345 if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1346 print
'<td class="liste_titre">';
1347 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_state" value="'.dol_escape_htmltag($search_state).
'">';
1351 if (!empty($arrayfields[
'region.nom'][
'checked'])) {
1352 print
'<td class="liste_titre">';
1353 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_region" value="'.dol_escape_htmltag($search_region).
'">';
1357 if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1358 print
'<td class="liste_titre center">';
1359 print
$form->select_country($search_country,
'search_country',
'', 0,
'minwidth100imp maxwidth100');
1363 if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1364 print
'<td class="liste_titre maxwidthonsmartphone center">';
1366 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);
1370 if (!empty($arrayfields[
's.price_level'][
'checked'])) {
1371 print
'<td class="liste_titre">';
1372 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_price_level" value="'.dol_escape_htmltag($search_price_level).
'">';
1376 if (!empty($arrayfields[
'staff.code'][
'checked'])) {
1377 print
'<td class="liste_titre maxwidthonsmartphone center">';
1378 print
$form->selectarray(
"search_staff", $formcompany->effectif_array(0), $search_staff, 0, 0, 0,
'', 0, 0, 0,
'ASC',
'maxwidth100', 1);
1381 if (!empty($arrayfields[
's.email'][
'checked'])) {
1383 print
'<td class="liste_titre">';
1384 print
'<input class="flat searchemail maxwidth50imp" type="text" name="search_email" value="'.dol_escape_htmltag($search_email).
'">';
1387 if (!empty($arrayfields[
's.phone'][
'checked'])) {
1389 print
'<td class="liste_titre">';
1390 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_phone" value="'.dol_escape_htmltag($search_phone).
'">';
1393 if (!empty($arrayfields[
's.phone_mobile'][
'checked'])) {
1395 print
'<td class="liste_titre">';
1396 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_phone_mobile" value="'.dol_escape_htmltag($search_phone_mobile).
'">';
1399 if (!empty($arrayfields[
's.fax'][
'checked'])) {
1401 print
'<td class="liste_titre">';
1402 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_fax" value="'.dol_escape_htmltag($search_fax).
'">';
1405 if (!empty($arrayfields[
's.url'][
'checked'])) {
1407 print
'<td class="liste_titre">';
1408 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_url" value="'.dol_escape_htmltag($search_url).
'">';
1411 if (!empty($arrayfields[
's.siren'][
'checked'])) {
1413 print
'<td class="liste_titre">';
1414 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof1" value="'.dol_escape_htmltag($search_idprof1).
'">';
1417 if (!empty($arrayfields[
's.siret'][
'checked'])) {
1419 print
'<td class="liste_titre">';
1420 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof2" value="'.dol_escape_htmltag($search_idprof2).
'">';
1423 if (!empty($arrayfields[
's.ape'][
'checked'])) {
1425 print
'<td class="liste_titre">';
1426 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof3" value="'.dol_escape_htmltag($search_idprof3).
'">';
1429 if (!empty($arrayfields[
's.idprof4'][
'checked'])) {
1431 print
'<td class="liste_titre">';
1432 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof4" value="'.dol_escape_htmltag($search_idprof4).
'">';
1435 if (!empty($arrayfields[
's.idprof5'][
'checked'])) {
1437 print
'<td class="liste_titre">';
1438 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof5" value="'.dol_escape_htmltag($search_idprof5).
'">';
1441 if (!empty($arrayfields[
's.idprof6'][
'checked'])) {
1443 print
'<td class="liste_titre">';
1444 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_idprof6" value="'.dol_escape_htmltag($search_idprof6).
'">';
1447 if (!empty($arrayfields[
's.tva_intra'][
'checked'])) {
1449 print
'<td class="liste_titre">';
1450 print
'<input class="flat searchstring maxwidth50imp" type="text" name="search_vat" value="'.dol_escape_htmltag($search_vat).
'">';
1455 if (!empty($arrayfields[
'customerorsupplier'][
'checked'])) {
1456 print
'<td class="liste_titre maxwidthonsmartphone center">';
1458 print
'<input type="hidden" name="type" value="'.$type.
'">';
1460 print $formcompany->selectProspectCustomerType($search_type,
'search_type',
'search_type',
'list');
1464 if (!empty($arrayfields[
's.fk_prospectlevel'][
'checked'])) {
1465 print
'<td class="liste_titre center">';
1466 print
$form->multiselectarray(
'search_level', $tab_level, $search_level, 0, 0,
'width75', 0, 0,
'',
'',
'', 2);
1470 if (!empty($arrayfields[
's.fk_stcomm'][
'checked'])) {
1471 print
'<td class="liste_titre maxwidthonsmartphone center">';
1472 $arraystcomm = array();
1473 foreach ($prospectstatic->cacheprospectstatus as $key => $val) {
1474 $arraystcomm[$val[
'id']] = ($langs->trans(
"StatusProspect".$val[
'id']) !=
"StatusProspect".$val[
'id'] ? $langs->trans(
"StatusProspect".$val[
'id']) : $val[
'label']);
1477 print
$form->multiselectarray(
'search_stcomm', $arraystcomm, $search_stcomm, 0, 0,
'width100', 0, 0,
'',
'',
'', 2);
1480 if (!empty($arrayfields[
's2.nom'][
'checked'])) {
1481 print
'<td class="liste_titre center">';
1482 print
'<input class="flat searchstring maxwidth75imp" type="text" name="search_parent_name" value="'.dol_escape_htmltag($search_parent_name).
'">';
1486 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_input.tpl.php';
1489 $parameters = array(
'arrayfields' => $arrayfields);
1490 $reshook = $hookmanager->executeHooks(
'printFieldListOption', $parameters,
$object, $action);
1491 print $hookmanager->resPrint;
1493 if (!empty($arrayfields[
's.datec'][
'checked'])) {
1494 print
'<td class="liste_titre center nowraponall">';
1495 print
'<div class="nowrapfordate">';
1496 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'));
1498 print
'<div class="nowrapfordate">';
1499 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'));
1504 if (!empty($arrayfields[
's.tms'][
'checked'])) {
1505 print
'<td class="liste_titre center nowraponall">';
1506 print
'<div class="nowrapfordate">';
1507 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'));
1509 print
'<div class="nowrapfordate">';
1510 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'));
1515 if (!empty($arrayfields[
's.status'][
'checked'])) {
1516 print
'<td class="liste_titre center minwidth75imp parentonrightofpage">';
1517 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);
1520 if (!empty($arrayfields[
's.import_key'][
'checked'])) {
1521 print
'<td class="liste_titre center">';
1522 print
'<input class="flat searchstring maxwidth50" type="text" name="search_import_key" value="'.dol_escape_htmltag($search_import_key).
'">';
1527 print
'<td class="liste_titre center maxwidthsearch actioncolumn">';
1528 $searchpicto =
$form->showFilterButtons();
1535 $totalarray = array();
1536 $totalarray[
'nbfield'] = 0;
1540 print
'<tr class="liste_titre">';
1543 print
getTitleFieldOfList($selectedfields, 0, $_SERVER[
"PHP_SELF"],
'',
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ').
"\n";
1544 $totalarray[
'nbfield']++;
1546 if (!empty($arrayfields[
's.rowid'][
'checked'])) {
1547 print_liste_field_titre($arrayfields[
's.rowid'][
'label'], $_SERVER[
"PHP_SELF"],
"s.rowid",
"", $param,
' data-key="id"', $sortfield, $sortorder,
'');
1548 $totalarray[
'nbfield']++;
1550 if (!empty($arrayfields[
's.nom'][
'checked'])) {
1551 print_liste_field_titre($arrayfields[
's.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s.nom",
"", $param,
' data-key="ref"', $sortfield, $sortorder,
' ');
1552 $totalarray[
'nbfield']++;
1554 if (!empty($arrayfields[
's.name_alias'][
'checked'])) {
1555 print_liste_field_titre($arrayfields[
's.name_alias'][
'label'], $_SERVER[
"PHP_SELF"],
"s.name_alias",
"", $param,
"", $sortfield, $sortorder);
1556 $totalarray[
'nbfield']++;
1558 if (!empty($arrayfields[
's.barcode'][
'checked'])) {
1559 print_liste_field_titre($arrayfields[
's.barcode'][
'label'], $_SERVER[
"PHP_SELF"],
"s.barcode", $param,
'',
'', $sortfield, $sortorder);
1560 $totalarray[
'nbfield']++;
1562 if (!empty($arrayfields[
's.code_client'][
'checked'])) {
1563 print_liste_field_titre($arrayfields[
's.code_client'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_client",
"", $param,
'', $sortfield, $sortorder);
1564 $totalarray[
'nbfield']++;
1566 if (!empty($arrayfields[
's.code_fournisseur'][
'checked'])) {
1567 print_liste_field_titre($arrayfields[
's.code_fournisseur'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_fournisseur",
"", $param,
'', $sortfield, $sortorder);
1568 $totalarray[
'nbfield']++;
1570 if (!empty($arrayfields[
's.code_compta'][
'checked'])) {
1571 print_liste_field_titre($arrayfields[
's.code_compta'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_compta",
"", $param,
'', $sortfield, $sortorder);
1572 $totalarray[
'nbfield']++;
1574 if (!empty($arrayfields[
's.code_compta_fournisseur'][
'checked'])) {
1575 print_liste_field_titre($arrayfields[
's.code_compta_fournisseur'][
'label'], $_SERVER[
"PHP_SELF"],
"s.code_compta_fournisseur",
"", $param,
'', $sortfield, $sortorder);
1576 $totalarray[
'nbfield']++;
1578 if (!empty($arrayfields[
's.address'][
'checked'])) {
1579 print_liste_field_titre($arrayfields[
's.address'][
'label'], $_SERVER[
'PHP_SELF'],
's.address',
'', $param,
'', $sortfield, $sortorder);
1580 $totalarray[
'nbfield']++;
1582 if (!empty($arrayfields[
'sales.representative'][
'checked'])) {
1583 print_liste_field_titre($arrayfields[
'sales.representative'][
'label'], $_SERVER[
'PHP_SELF'],
'',
'', $param,
'', $sortfield, $sortorder);
1584 $totalarray[
'nbfield']++;
1586 if (!empty($arrayfields[
's.zip'][
'checked'])) {
1587 print_liste_field_titre($arrayfields[
's.zip'][
'label'], $_SERVER[
"PHP_SELF"],
"s.zip",
"", $param,
'', $sortfield, $sortorder);
1588 $totalarray[
'nbfield']++;
1590 if (!empty($arrayfields[
's.town'][
'checked'])) {
1591 print_liste_field_titre($arrayfields[
's.town'][
'label'], $_SERVER[
"PHP_SELF"],
"s.town",
"", $param,
'', $sortfield, $sortorder);
1592 $totalarray[
'nbfield']++;
1594 if (!empty($arrayfields[
'state.nom'][
'checked'])) {
1595 print_liste_field_titre($arrayfields[
'state.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"state.nom",
"", $param,
'', $sortfield, $sortorder);
1596 $totalarray[
'nbfield']++;
1598 if (!empty($arrayfields[
'region.nom'][
'checked'])) {
1599 print_liste_field_titre($arrayfields[
'region.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"region.nom",
"", $param,
'', $sortfield, $sortorder);
1600 $totalarray[
'nbfield']++;
1602 if (!empty($arrayfields[
'country.code_iso'][
'checked'])) {
1603 print_liste_field_titre($arrayfields[
'country.code_iso'][
'label'], $_SERVER[
"PHP_SELF"],
"country.code_iso",
"", $param,
'', $sortfield, $sortorder,
'center ');
1604 $totalarray[
'nbfield']++;
1606 if (!empty($arrayfields[
'typent.code'][
'checked'])) {
1607 print_liste_field_titre($arrayfields[
'typent.code'][
'label'], $_SERVER[
"PHP_SELF"],
"typent.code",
"", $param,
"", $sortfield, $sortorder,
'center ');
1608 $totalarray[
'nbfield']++;
1610 if (!empty($arrayfields[
'staff.code'][
'checked'])) {
1611 print_liste_field_titre($arrayfields[
'staff.code'][
'label'], $_SERVER[
"PHP_SELF"],
"staff.code",
"", $param,
'', $sortfield, $sortorder,
'center ');
1612 $totalarray[
'nbfield']++;
1614 if (!empty($arrayfields[
's.price_level'][
'checked'])) {
1615 print_liste_field_titre($arrayfields[
's.price_level'][
'label'], $_SERVER[
"PHP_SELF"],
"s.price_level",
"", $param,
'', $sortfield, $sortorder);
1616 $totalarray[
'nbfield']++;
1618 if (!empty($arrayfields[
's.email'][
'checked'])) {
1619 print_liste_field_titre($arrayfields[
's.email'][
'label'], $_SERVER[
"PHP_SELF"],
"s.email",
"", $param,
'', $sortfield, $sortorder);
1620 $totalarray[
'nbfield']++;
1622 if (!empty($arrayfields[
's.phone'][
'checked'])) {
1623 print_liste_field_titre($arrayfields[
's.phone'][
'label'], $_SERVER[
"PHP_SELF"],
"s.phone",
"", $param,
'', $sortfield, $sortorder);
1624 $totalarray[
'nbfield']++;
1626 if (!empty($arrayfields[
's.phone_mobile'][
'checked'])) {
1627 print_liste_field_titre($arrayfields[
's.phone_mobile'][
'label'], $_SERVER[
"PHP_SELF"],
"s.phone_mobile",
"", $param,
'', $sortfield, $sortorder);
1628 $totalarray[
'nbfield']++;
1630 if (!empty($arrayfields[
's.fax'][
'checked'])) {
1631 print_liste_field_titre($arrayfields[
's.fax'][
'label'], $_SERVER[
"PHP_SELF"],
"s.fax",
"", $param,
'', $sortfield, $sortorder);
1632 $totalarray[
'nbfield']++;
1634 if (!empty($arrayfields[
's.url'][
'checked'])) {
1635 print_liste_field_titre($arrayfields[
's.url'][
'label'], $_SERVER[
"PHP_SELF"],
"s.url",
"", $param,
'', $sortfield, $sortorder);
1636 $totalarray[
'nbfield']++;
1638 if (!empty($arrayfields[
's.siren'][
'checked'])) {
1639 print_liste_field_titre(
$form->textwithpicto($langs->trans(
"ProfId1Short"), $textprofid[1], 1, 0), $_SERVER[
"PHP_SELF"],
"s.siren",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1640 $totalarray[
'nbfield']++;
1642 if (!empty($arrayfields[
's.siret'][
'checked'])) {
1643 print_liste_field_titre(
$form->textwithpicto($langs->trans(
"ProfId2Short"), $textprofid[2], 1, 0), $_SERVER[
"PHP_SELF"],
"s.siret",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1644 $totalarray[
'nbfield']++;
1646 if (!empty($arrayfields[
's.ape'][
'checked'])) {
1647 print_liste_field_titre(
$form->textwithpicto($langs->trans(
"ProfId3Short"), $textprofid[3], 1, 0), $_SERVER[
"PHP_SELF"],
"s.ape",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1648 $totalarray[
'nbfield']++;
1650 if (!empty($arrayfields[
's.idprof4'][
'checked'])) {
1651 print_liste_field_titre(
$form->textwithpicto($langs->trans(
"ProfId4Short"), $textprofid[4], 1, 0), $_SERVER[
"PHP_SELF"],
"s.idprof4",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1652 $totalarray[
'nbfield']++;
1654 if (!empty($arrayfields[
's.idprof5'][
'checked'])) {
1655 print_liste_field_titre(
$form->textwithpicto($langs->trans(
"ProfId5Short"), $textprofid[5], 1, 0), $_SERVER[
"PHP_SELF"],
"s.idprof5",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1656 $totalarray[
'nbfield']++;
1658 if (!empty($arrayfields[
's.idprof6'][
'checked'])) {
1659 print_liste_field_titre(
$form->textwithpicto($langs->trans(
"ProfId6Short"), $textprofid[6], 1, 0), $_SERVER[
"PHP_SELF"],
"s.idprof6",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1660 $totalarray[
'nbfield']++;
1662 if (!empty($arrayfields[
's.tva_intra'][
'checked'])) {
1663 print_liste_field_titre($arrayfields[
's.tva_intra'][
'label'], $_SERVER[
"PHP_SELF"],
"s.tva_intra",
"", $param,
'', $sortfield, $sortorder,
'nowrap ');
1664 $totalarray[
'nbfield']++;
1666 if (!empty($arrayfields[
'customerorsupplier'][
'checked'])) {
1667 print_liste_field_titre($arrayfields[
'customerorsupplier'][
'label'], $_SERVER[
'PHP_SELF'],
'',
'', $param,
'', $sortfield, $sortorder,
'center ');
1668 $totalarray[
'nbfield']++;
1670 if (!empty($arrayfields[
's.fk_prospectlevel'][
'checked'])) {
1671 print_liste_field_titre($arrayfields[
's.fk_prospectlevel'][
'label'], $_SERVER[
"PHP_SELF"],
"s.fk_prospectlevel",
"", $param,
'', $sortfield, $sortorder,
'center ');
1672 $totalarray[
'nbfield']++;
1674 if (!empty($arrayfields[
's.fk_stcomm'][
'checked'])) {
1675 print_liste_field_titre($arrayfields[
's.fk_stcomm'][
'label'], $_SERVER[
"PHP_SELF"],
"s.fk_stcomm",
"", $param,
'', $sortfield, $sortorder,
'center ');
1676 $totalarray[
'nbfield']++;
1678 if (!empty($arrayfields[
's2.nom'][
'checked'])) {
1679 print_liste_field_titre($arrayfields[
's2.nom'][
'label'], $_SERVER[
"PHP_SELF"],
"s2.nom",
"", $param,
'', $sortfield, $sortorder,
'center ');
1680 $totalarray[
'nbfield']++;
1683 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_list_search_title.tpl.php';
1685 $parameters = array(
'arrayfields' => $arrayfields,
'param' => $param,
'sortfield' => $sortfield,
'sortorder' => $sortorder);
1686 $reshook = $hookmanager->executeHooks(
'printFieldListTitle', $parameters,
$object, $action);
1687 print $hookmanager->resPrint;
1688 if (!empty($arrayfields[
's.datec'][
'checked'])) {
1689 print_liste_field_titre($arrayfields[
's.datec'][
'label'], $_SERVER[
"PHP_SELF"],
"s.datec",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1690 $totalarray[
'nbfield']++;
1692 if (!empty($arrayfields[
's.tms'][
'checked'])) {
1693 print_liste_field_titre($arrayfields[
's.tms'][
'label'], $_SERVER[
"PHP_SELF"],
"s.tms",
"", $param,
'', $sortfield, $sortorder,
'center nowrap ');
1694 $totalarray[
'nbfield']++;
1696 if (!empty($arrayfields[
's.status'][
'checked'])) {
1697 print_liste_field_titre($arrayfields[
's.status'][
'label'], $_SERVER[
"PHP_SELF"],
"s.status",
"", $param,
'', $sortfield, $sortorder,
'center ');
1698 $totalarray[
'nbfield']++;
1700 if (!empty($arrayfields[
's.import_key'][
'checked'])) {
1701 print_liste_field_titre($arrayfields[
's.import_key'][
'label'], $_SERVER[
"PHP_SELF"],
"s.import_key",
"", $param,
'', $sortfield, $sortorder,
'center ');
1702 $totalarray[
'nbfield']++;
1706 print
getTitleFieldOfList($selectedfields, 0, $_SERVER[
"PHP_SELF"],
'',
'',
'',
'', $sortfield, $sortorder,
'center maxwidthsearch ').
"\n";
1707 $totalarray[
'nbfield']++;
1715 $savnbfield = $totalarray[
'nbfield'];
1716 $totalarray = array();
1717 $totalarray[
'nbfield'] = 0;
1718 $imaxinloop = ($limit ? min($num, $limit) : $num);
1719 while ($i < $imaxinloop) {
1720 $obj = $db->fetch_object($resql);
1725 $parameters = array(
'staticdata' => $obj);
1728 $reshook = $hookmanager->executeHooks(
'loadStaticObject', $parameters, $companystatic, $action);
1729 if (empty($reshook)) {
1730 $companystatic->id = $obj->rowid;
1731 $companystatic->name = $obj->name;
1732 $companystatic->name_alias = $obj->name_alias;
1733 $companystatic->logo = $obj->logo;
1734 $companystatic->barcode = $obj->barcode;
1735 $companystatic->canvas = $obj->canvas;
1736 $companystatic->client = $obj->client;
1737 $companystatic->status = $obj->status;
1738 $companystatic->email = $obj->email;
1739 $companystatic->address = $obj->address;
1740 $companystatic->zip = $obj->zip;
1741 $companystatic->town = $obj->town;
1742 $companystatic->fournisseur = $obj->fournisseur;
1743 $companystatic->code_client = $obj->code_client;
1744 $companystatic->code_fournisseur = $obj->code_fournisseur;
1745 $companystatic->tva_intra = $obj->tva_intra;
1746 $companystatic->country_code = $obj->country_code;
1748 $companystatic->code_compta_client = $obj->code_compta;
1749 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
1751 $companystatic->fk_prospectlevel = $obj->fk_prospectlevel;
1752 $companystatic->parent = $obj->fk_parent;
1753 $companystatic->entity = $obj->entity;
1758 if ($mode ==
'kanban') {
1760 print
'<tr class="trkanban"><td colspan="'.$savnbfield.
'">';
1761 print
'<div class="box-flex-container kanban">';
1764 print $companystatic->getKanbanView(
'', array(
'selected' => in_array($obj->rowid, $arrayofselected)));
1765 if ($i == ($imaxinloop - 1)) {
1772 print
'<tr data-rowid="'.$companystatic->id.
'" class="oddeven"';
1773 if ($contextpage ==
'poslist') {
1774 print
' onclick="location.href=\'list.php?action=change&contextpage=poslist&idcustomer='.$obj->rowid.
'&place='.urlencode($place).
'\'"';
1778 // Action column (Show the massaction button only when this page is not opend from the Extended POS)
1779 if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
1780 print '<td class="nowrap center actioncolumn
">';
1781 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
1783 if (in_array($obj->rowid, $arrayofselected)) {
1786 print '<input id="cb
'.$obj->rowid.'" class="flat checkforselect
" type="checkbox
" name="toselect[]
" value="'.$obj->rowid.'"'.($selected ? ' checked="checked
"' : '').'>';
1790 $totalarray['nbfield']++;
1793 if (!empty($arrayfields['s.rowid']['checked'])) {
1794 print '<td class="tdoverflowmax50
" data-key="id">';
1795 print dol_escape_htmltag($obj->rowid);
1798 $totalarray['nbfield']++;
1801 if (!empty($arrayfields['s.nom']['checked'])) {
1802 print '<td'.(getDolGlobalString('MAIN_SOCIETE_SHOW_COMPLETE_NAME') ? '' : ' class="tdoverflowmax200
"').' data-key="ref">';
1803 if ($contextpage == 'poslist') {
1804 print dol_escape_htmltag($companystatic->name);
1806 print $companystatic->getNomUrl(1, '', 100, 0, 1, empty($arrayfields['s.name_alias']['checked']) ? 0 : 1);
1810 $totalarray['nbfield']++;
1813 if (!empty($arrayfields['s.name_alias']['checked'])) {
1814 print '<td class="tdoverflowmax150
" title="'.dol_escape_htmltag($companystatic->name_alias).'">';
1815 print dol_escape_htmltag($companystatic->name_alias);
1818 $totalarray['nbfield']++;
1822 if (!empty($arrayfields['s.barcode']['checked'])) {
1823 print '<td class="tdoverflowmax150
" title="'.dol_escape_htmltag($companystatic->barcode).'">'.dol_escape_htmltag($companystatic->barcode).'</td>';
1825 $totalarray['nbfield']++;
1829 if (!empty($arrayfields['s.code_client']['checked'])) {
1830 print '<td class="nowraponall
">'.dol_escape_htmltag($companystatic->code_client).'</td>';
1832 $totalarray['nbfield']++;
1836 if (!empty($arrayfields['s.code_fournisseur']['checked'])) {
1837 print '<td class="nowraponall
">'.dol_escape_htmltag($companystatic->code_fournisseur).'</td>';
1839 $totalarray['nbfield']++;
1842 // Account customer code
1843 if (!empty($arrayfields['s.code_compta']['checked'])) {
1844 print '<td>'.dol_escape_htmltag($companystatic->code_compta_client).'</td>';
1846 $totalarray['nbfield']++;
1849 // Account supplier code
1850 if (!empty($arrayfields['s.code_compta_fournisseur']['checked'])) {
1851 print '<td>'.dol_escape_htmltag($companystatic->code_compta_fournisseur).'</td>';
1853 $totalarray['nbfield']++;
1857 if (!empty($arrayfields['s.address']['checked'])) {
1858 print '<td class="tdoverflowmax250
" title="'.dol_escape_htmltag($companystatic->address).'">'.dol_escape_htmltag($companystatic->address).'</td>';
1860 $totalarray['nbfield']++;
1863 // Sales Representative
1864 if (!empty($arrayfields['sales.representative']['checked'])) {
1865 print '<td class="nowraponall tdoverflowmax200
">';
1866 $listsalesrepresentatives = $companystatic->getSalesRepresentatives($user);
1867 $nbofsalesrepresentative = count($listsalesrepresentatives);
1868 if ($nbofsalesrepresentative > 6) {
1869 // We print only number
1870 print $nbofsalesrepresentative;
1871 } elseif ($nbofsalesrepresentative > 0) {
1872 $userstatic = new User($db);
1874 foreach ($listsalesrepresentatives as $val) {
1875 $userstatic->id = $val['id'];
1876 $userstatic->lastname = $val['lastname'];
1877 $userstatic->firstname = $val['firstname'];
1878 $userstatic->email = $val['email'];
1879 $userstatic->entity = $val['entity'];
1880 $userstatic->photo = $val['photo'];
1881 $userstatic->login = $val['login'];
1882 $userstatic->office_phone = $val['office_phone'];
1883 $userstatic->office_fax = $val['office_fax'];
1884 $userstatic->user_mobile = $val['user_mobile'];
1885 $userstatic->job = $val['job'];
1886 $userstatic->gender = $val['gender'];
1887 print ($nbofsalesrepresentative < 2) ? $userstatic->getNomUrl(-1, '', 0, 0, 12) : $userstatic->getNomUrl(-2);
1889 if ($j < $nbofsalesrepresentative) {
1898 $totalarray['nbfield']++;
1902 if (!empty($arrayfields['s.zip']['checked'])) {
1903 print "<td>
".dol_escape_htmltag($companystatic->zip)."</td>\n
";
1905 $totalarray['nbfield']++;
1909 if (!empty($arrayfields['s.town']['checked'])) {
1910 print '<td class="tdoverflowmax150
" title="'.dol_escape_htmltag($companystatic->town).'">'.dol_escape_htmltag($companystatic->town)."</td>\n
";
1912 $totalarray['nbfield']++;
1916 if (!empty($arrayfields['state.nom']['checked'])) {
1917 print "<td>
".dol_escape_htmltag($obj->state_name)."</td>\n
";
1919 $totalarray['nbfield']++;
1923 if (!empty($arrayfields['region.nom']['checked'])) {
1924 print "<td>
".dol_escape_htmltag($obj->region_name)."</td>\n
";
1926 $totalarray['nbfield']++;
1930 if (!empty($arrayfields['country.code_iso']['checked'])) {
1931 print '<td class="center tdoverflowmax100
">';
1932 $labelcountry = ($companystatic->country_code && ($langs->trans("Country
".$companystatic->country_code) != "Country
".$companystatic->country_code)) ? $langs->trans("Country
".$companystatic->country_code) : $obj->country_label;
1933 print $labelcountry;
1936 $totalarray['nbfield']++;
1940 if (!empty($arrayfields['typent.code']['checked'])) {
1941 if (!isset($typenArray) || !is_array($typenArray) || count($typenArray) == 0) {
1942 $typenArray = $formcompany->typent_array(1);
1944 $labeltypeofcompany = empty($typenArray[$obj->typent_code]) ? '' : $typenArray[$obj->typent_code];
1946 print '<td class="center tdoverflowmax125
" title="'.dol_escape_htmltag($labeltypeofcompany).'">';
1947 print dol_escape_htmltag($labeltypeofcompany);
1950 $totalarray['nbfield']++;
1954 if (!empty($arrayfields['s.price_level']['checked'])) {
1955 print '<td class="center
">'.$obj->price_level."</td>\n
";
1957 $totalarray['nbfield']++;
1961 if (!empty($arrayfields['staff.code']['checked'])) {
1962 print '<td class="center
">';
1963 if (!empty($obj->staff_code)) {
1964 if (empty($conf->cache['staffArray'])) {
1965 $conf->cache['staffArray'] = $formcompany->effectif_array(1);
1967 print $conf->cache['staffArray'][$obj->staff_code];
1971 $totalarray['nbfield']++;
1974 if (!empty($arrayfields['s.email']['checked'])) {
1975 print '<td class="tdoverflowmax150
">'.dol_print_email($obj->email, $obj->rowid, $obj->rowid, 1, 0, 0, 1)."</td>\n
";
1977 $totalarray['nbfield']++;
1980 if (!empty($arrayfields['s.phone']['checked'])) {
1981 print '<td class="nowraponall
">'.dol_print_phone($obj->phone, $companystatic->country_code, 0, $obj->rowid, 'AC_TEL', ' ', 'phone')."</td>\n
";
1983 $totalarray['nbfield']++;
1986 if (!empty($arrayfields['s.phone_mobile']['checked'])) {
1987 print '<td class="nowraponall
">'.dol_print_phone($obj->phone_mobile, $companystatic->country_code, 0, $obj->rowid, 'AC_TEL', ' ', 'phone_mobile')."</td>\n
";
1989 $totalarray['nbfield']++;
1992 if (!empty($arrayfields['s.fax']['checked'])) {
1993 print '<td class="nowraponall
">'.dol_print_phone($obj->fax, $companystatic->country_code, 0, $obj->rowid, 'AC_TEL', ' ', 'fax')."</td>\n
";
1995 $totalarray['nbfield']++;
1998 if (!empty($arrayfields['s.url']['checked'])) {
1999 print "<td>
".dol_print_url($obj->url, '', '', 1)."</td>\n
";
2001 $totalarray['nbfield']++;
2004 if (!empty($arrayfields['s.siren']['checked'])) {
2005 print "<td>
".$obj->idprof1."</td>\n
";
2007 $totalarray['nbfield']++;
2010 if (!empty($arrayfields['s.siret']['checked'])) {
2011 print "<td>
".$obj->idprof2."</td>\n
";
2013 $totalarray['nbfield']++;
2016 if (!empty($arrayfields['s.ape']['checked'])) {
2017 print "<td>
".$obj->idprof3."</td>\n
";
2019 $totalarray['nbfield']++;
2022 if (!empty($arrayfields['s.idprof4']['checked'])) {
2023 print "<td>
".$obj->idprof4."</td>\n
";
2025 $totalarray['nbfield']++;
2028 if (!empty($arrayfields['s.idprof5']['checked'])) {
2029 print "<td>
".$obj->idprof5."</td>\n
";
2031 $totalarray['nbfield']++;
2034 if (!empty($arrayfields['s.idprof6']['checked'])) {
2035 print "<td>
".$obj->idprof6."</td>\n
";
2037 $totalarray['nbfield']++;
2041 if (!empty($arrayfields['s.tva_intra']['checked'])) {
2042 print '<td class="tdoverflowmax125
" title="'.dol_escape_htmltag($companystatic->tva_intra).'">';
2043 if ($companystatic->tva_intra && !isValidVATID($companystatic)) {
2044 print img_warning("BadVATNumber
", '', 'pictofixedwidth');
2046 print $companystatic->tva_intra;
2049 $totalarray['nbfield']++;
2053 if (!empty($arrayfields['customerorsupplier']['checked'])) {
2054 print '<td class="center
">';
2055 print $companystatic->getTypeUrl(1);
2058 $totalarray['nbfield']++;
2062 if (!empty($arrayfields['s.fk_prospectlevel']['checked'])) {
2063 print '<td class="center nowraponall
">';
2064 print $companystatic->getLibProspLevel();
2067 $totalarray['nbfield']++;
2071 if (!empty($arrayfields['s.fk_stcomm']['checked'])) {
2072 print '<td class="center nowraponall
">';
2074 $prospectid = $obj->rowid;
2075 $statusprospect = $obj->stcomm_id;
2077 $formcompany->selectProspectStatus('status_prospect', $prospectstatic, $statusprospect, $prospectid);
2081 $totalarray['nbfield']++;
2085 if (!empty($arrayfields['s2.nom']['checked'])) {
2086 print '<td class="center tdoverflowmax100
">';
2087 if ($companystatic->parent > 0) {
2088 $companyparent->fetch($companystatic->parent);
2089 print $companyparent->getNomUrl(1);
2093 $totalarray['nbfield']++;
2097 include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
2099 $parameters = array('arrayfields' => $arrayfields, 'obj' => $obj, 'i' => $i, 'totalarray' => &$totalarray);
2100 $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
2101 print $hookmanager->resPrint;
2103 if (!empty($arrayfields['s.datec']['checked'])) {
2104 print '<td class="center nowraponall
">';
2105 print dol_print_date($db->jdate($obj->date_creation), 'dayhour', 'tzuser');
2108 $totalarray['nbfield']++;
2111 // Date modification
2112 if (!empty($arrayfields['s.tms']['checked'])) {
2113 print '<td class="center nowraponall
">';
2114 print dol_print_date($db->jdate($obj->date_modification), 'dayhour', 'tzuser');
2117 $totalarray['nbfield']++;
2121 if (!empty($arrayfields['s.status']['checked'])) {
2122 print '<td class="center nowraponall
">'.$companystatic->getLibStatut(5).'</td>';
2124 $totalarray['nbfield']++;
2128 if (!empty($arrayfields['s.import_key']['checked'])) {
2129 print '<td class="tdoverflowmax125
" title="'.dol_escape_htmltag($obj->import_key).'">';
2130 print dol_escape_htmltag($obj->import_key);
2133 $totalarray['nbfield']++;
2136 // Action column (Show the massaction button only when this page is not opend from the Extended POS)
2137 if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
2138 print '<td class="nowrap center actioncolumn
">';
2139 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
2141 if (in_array($obj->rowid, $arrayofselected)) {
2144 print '<input id="cb
'.$obj->rowid.'" class="flat checkforselect
" type="checkbox
" name="toselect[]
" value="'.$obj->rowid.'"'.($selected ? ' checked="checked
"' : '').'>';
2148 $totalarray['nbfield']++;
2158 include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php';
2160 // If no record found
2163 foreach ($arrayfields as $key => $val) {
2164 if (!empty($val['checked'])) {
2168 print '<tr><td colspan="'.$colspan.'"><span class="opacitymedium
">'.$langs->trans("NoRecordFound
").'</span></td></tr>';
2173 $parameters = array('arrayfields' => $arrayfields, 'sql' => $sql);
2174 $reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
2175 print $hookmanager->resPrint;
2177 print '</table>'."\n
";
2178 print '</div>'."\n
";
2180 // Line that calls the select_status function by passing it js as the 5th parameter in order to activate the js script
2181 $formcompany->selectProspectStatus('status_prospect', $prospectstatic, null, null, "js
");
2183 print '</form>'."\n
";
if($user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
if(GETPOST('button_removefilter_x', 'alpha')||GETPOST('button_removefilter.x', 'alpha')||GETPOST('button_removefilter', 'alpha')) if(GETPOST('button_search_x', 'alpha')||GETPOST('button_search.x', 'alpha')||GETPOST('button_search', 'alpha')) if($action=="save" &&empty($cancel)) $help_url
View.
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...)
if(isModEnabled('invoice') && $user->hasRight('facture', 'lire')) if((isModEnabled('fournisseur') &&!getDolGlobalString('MAIN_USE_NEW_SUPPLIERMOD') && $user->hasRight("fournisseur", "facture", "lire"))||(isModEnabled('supplier_invoice') && $user->hasRight("supplier_invoice", "lire"))) if(isModEnabled('don') && $user->hasRight('don', 'lire')) if(isModEnabled('tax') && $user->hasRight('tax', 'charges', 'lire')) if(isModEnabled('invoice') &&isModEnabled('order') && $user->hasRight("commande", "lire") &&!getDolGlobalString('WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER')) $sql
Social contributions to pay.
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
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.
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.
print_barre_liste($titre, $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.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
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.
isModEnabled($module)
Is Dolibarr module enabled.
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.