dolibarr 20.0.4
advtarget.tpl.php
1<?php
2/* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
3 * Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
4 */
5/*
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 */
20
21if (isModEnabled('category') && $user->hasRight('categorie', 'lire')) {
22 require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
23}
24
25print '<script>
26 $(document).ready(function() {
27
28 // Click Function
29 $(":button[name=addcontact]").click(function() {
30 $(":hidden[name=action]").val("add");
31 $("#find_customer").submit();
32 });
33
34 $(":button[name=loadfilter]").click(function() {
35 $(":hidden[name=action]").val("loadfilter");
36 $("#find_customer").submit();
37 });
38
39 $(":button[name=deletefilter]").click(function() {
40 $(":hidden[name=action]").val("deletefilter");
41 $("#find_customer").submit();
42 });
43
44 $(":button[name=savefilter]").click(function() {
45 $(":hidden[name=action]").val("savefilter");
46 $("#find_customer").submit();
47 });
48
49 $(":button[name=createfilter]").click(function() {
50 $(":hidden[name=action]").val("createfilter");
51 $("#find_customer").submit();
52 });
53 });
54</script>';
55
56
57print load_fiche_titre($langs->trans("AdvTgtTitle"));
58
59print '<div class="tabBar">'."\n";
60print '<form name="find_customer" id="find_customer" action="'.$_SERVER['PHP_SELF'].'?id='.$id.'" method="POST">'."\n";
61print '<input type="hidden" name="token" value="'.newToken().'">'."\n";
62print '<input type="hidden" name="action" value="">'."\n";
63print '<table class="border centpercent">'."\n";
64
65print '<tr>'."\n";
66print '<td colspan="3" class="right">'."\n";
67
68print '<input type="button" name="addcontact" id="addcontact" value="'.$langs->trans('AdvTgtAddContact').'" class="button"/>'."\n";
69
70print '</td>'."\n";
71print '</tr>'."\n";
72
73print '<tr><td>'.$langs->trans('AdvTgtNameTemplate').'</td><td class="valignmiddle">';
74if (!empty($template_id)) {
75 $default_template = $template_id;
76} else {
77 $default_template = $advTarget->id;
78}
79print $formadvtargetemaling->selectAdvtargetemailingTemplate('template_id', $default_template, 0, $advTarget->type_element, 'valignmiddle');
80print '<input type="button" name="loadfilter" id="loadfilter" value="'.$langs->trans('AdvTgtLoadFilter').'" class="button"/>';
81print '<input type="button" name="deletefilter" id="deletefilter" value="'.$langs->trans('AdvTgtDeleteFilter').'" class="button"/>';
82print '<input type="button" name="savefilter" id="savefilter" value="'.$langs->trans('AdvTgtSaveFilter').'" class="button"/>';
83print '</td><td>'."\n";
84print '</td></tr>'."\n";
85
86print '<tr><td>'.$langs->trans('AdvTgtOrCreateNewFilter').'</td><td>';
87print '<input type="text" name="template_name" id="template_name" value=""/>';
88print '<input type="button" name="createfilter" id="createfilter" value="'.$langs->trans('AdvTgtCreateFilter').'" class="button"/>';
89print '</td><td>'."\n";
90print '</td></tr>'."\n";
91
92print '<tr><td>'.$langs->trans('AdvTgtTypeOfIncude').'</td><td>';
93print $form->selectarray('type_of_target', $advTarget->select_target_type, $array_query['type_of_target']);
94print '</td><td>'."\n";
95print $form->textwithpicto('', $langs->trans("AdvTgtTypeOfIncudeHelp"), 1, 'help');
96print '</td></tr>'."\n";
97
98// Customer name
99print '<tr><td>'.$langs->trans('ThirdPartyName');
100if (!empty($array_query['cust_name'])) {
101 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
102}
103print '</td><td><input type="text" name="cust_name" value="'.$array_query['cust_name'].'"/></td><td>'."\n";
104print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
105print '</td></tr>'."\n";
106
107// Code Client
108print '<tr><td>'.$langs->trans('CustomerCode');
109if (!empty($array_query['cust_code'])) {
110 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
111 $cust_code_str = (string) $array_query['cust_code'];
112} else {
113 $cust_code_str = null;
114}
115print '</td><td><input type="text" name="cust_code"'.($cust_code_str!=null?' value="'.$cust_code_str:'').'"/></td><td>'."\n";
116print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
117print '</td></tr>'."\n";
118
119// Address Client
120print '<tr><td>'.$langs->trans('Address');
121if (!empty($array_query['cust_adress'])) {
122 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
123}
124print '</td><td><input type="text" name="cust_adress" value="'.$array_query['cust_adress'].'"/></td><td>'."\n";
125print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
126print '</td></tr>'."\n";
127
128// Zip Client
129print '<tr><td>'.$langs->trans('Zip');
130if (!empty($array_query['cust_zip'])) {
131 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
132}
133print '</td><td><input type="text" name="cust_zip" value="'.$array_query['cust_zip'].'"/></td><td>'."\n";
134print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
135print '</td></tr>'."\n";
136
137// City Client
138print '<tr><td>'.$langs->trans('Town');
139if (!empty($array_query['cust_city'])) {
140 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
141}
142print '</td><td><input type="text" name="cust_city" value="'.$array_query['cust_city'].'"/></td><td>'."\n";
143print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
144print '</td></tr>'."\n";
145
146// State Client
147print '<tr><td>'.$langs->trans('State');
148if (!empty($array_query['cust_state'])) {
149 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
150}
151print '</td><td>'."\n";
152print $formadvtargetemaling->multiselectState('cust_state', $array_query['cust_state']);
153print '</td><td>'."\n";
154print '</td></tr>'."\n";
155
156// Customer Country
157print '<tr><td>'.$langs->trans("Country");
158if (!empty($array_query['cust_country'])) {
159 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
160}
161print '</td><td>'."\n";
162print $formadvtargetemaling->multiselectCountry('cust_country', $array_query['cust_country']);
163print '</td><td>'."\n";
164print '</td></tr>'."\n";
165
166// State Customer
167print '<tr><td>'.$langs->trans('Status').' '.$langs->trans('ThirdParty');
168if (!empty($array_query['cust_status'])) {
169 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
170}
171print '</td><td>';
172print $formadvtargetemaling->advMultiselectarray(
173 'cust_status',
174 array(
175 '0' => $langs->trans('ActivityCeased'),
176 '1' => $langs->trans('InActivity')
177 ),
178 $array_query['cust_status']
179);
180print '</td><td>'."\n";
181print '</td></tr>'."\n";
182
183// Mother Company
184print '<tr><td>'.$langs->trans("ParentCompany");
185if (!empty($array_query['cust_mothercompany'])) {
186 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
187}
188print '</td><td>'."\n";
189print '<input type="text" name="cust_mothercompany" value="'.$array_query['cust_mothercompany'].'"/>';
190print '</td><td>'."\n";
191print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
192print '</td></tr>'."\n";
193
194// Prospect/Customer
195$selected = $array_query['cust_typecust'];
196print '<tr><td>'.$langs->trans('ProspectCustomer').' '.$langs->trans('ThirdParty');
197if (!empty($array_query['cust_typecust'])) {
198 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
199}
200print '</td><td>';
201$options_array = array(
202 2 => $langs->trans('Prospect'),
203 3 => $langs->trans('ProspectCustomer'),
204 1 => $langs->trans('Customer'),
205 0 => $langs->trans('NorProspectNorCustomer')
206);
207print $formadvtargetemaling->advMultiselectarray('cust_typecust', $options_array, $array_query['cust_typecust']);
208print '</td><td>'."\n";
209print '</td></tr>'."\n";
210
211// Prospection status
212print '<tr><td>'.$langs->trans('ProspectLevel');
213if (!empty($array_query['cust_prospect_status'])) {
214 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
215}
216print '</td><td>';
217print $formadvtargetemaling->multiselectProspectionStatus($array_query['cust_prospect_status'], 'cust_prospect_status');
218print '</td><td>'."\n";
219print '</td></tr>'."\n";
220
221// Prospection comm status
222print '<tr><td>'.$langs->trans('StatusProsp');
223if (!empty($array_query['cust_comm_status'])) {
224 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
225}
226print '</td><td>';
227print $formadvtargetemaling->advMultiselectarray('cust_comm_status', $advTarget->type_statuscommprospect, $array_query['cust_comm_status']);
228print '</td><td>'."\n";
229print '</td></tr>'."\n";
230
231// Customer Type
232print '<tr><td>'.$langs->trans("ThirdPartyType");
233if (!empty($array_query['cust_typeent'])) {
234 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
235}
236print '</td><td>'."\n";
237print $formadvtargetemaling->advMultiselectarray('cust_typeent', $formcompany->typent_array(0, " AND id <> 0"), $array_query['cust_typeent']);
238print '</td><td>'."\n";
239print '</td></tr>'."\n";
240
241// Staff number
242print '<td>'.$langs->trans("Staff");
243if (!empty($array_query['cust_effectif_id'])) {
244 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
245}
246print '</td><td>';
247print $formadvtargetemaling->advMultiselectarray("cust_effectif_id", $formcompany->effectif_array(0, " AND id <> 0"), $array_query['cust_effectif_id']);
248print '</td><td>'."\n";
249print '</td></tr>'."\n";
250
251// Sales manager
252print '<tr><td>'.$langs->trans("SalesRepresentatives");
253if (!empty($array_query['cust_saleman'])) {
254 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
255}
256print '</td><td>'."\n";
257print $formadvtargetemaling->multiselectselectSalesRepresentatives('cust_saleman', $array_query['cust_saleman'], $user);
258print '</td><td>'."\n";
259print '</td></tr>'."\n";
260
261// Customer Default Language
262if (getDolGlobalInt('MAIN_MULTILANGS')) {
263 print '<tr><td>'.$langs->trans("DefaultLang");
264 if (!empty($array_query['cust_language'])) {
265 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
266 }
267 print '</td><td>'."\n";
268 print $formadvtargetemaling->multiselectselectLanguage('cust_language', $array_query['cust_language']);
269 print '</td><td>'."\n";
270 print '</td></tr>'."\n";
271}
272
273if (isModEnabled('category') && $user->hasRight('categorie', 'lire')) {
274 // Customer Categories
275 print '<tr><td>'.$langs->trans("CustomersCategoryShort");
276 if (!empty($array_query['cust_categ'])) {
277 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
278 }
279 print '</td><td>'."\n";
280 $cate_arbo = $form->select_all_categories(Categorie::TYPE_CUSTOMER, null, 'parent', null, null, 1);
281 print $form->multiselectarray('cust_categ', $cate_arbo, GETPOST('cust_categ', 'array'), null, null, null, null, "90%");
282 print '</td><td>'."\n";
283 print '</td></tr>'."\n";
284}
285
286// Standard Extrafield feature
287if (!getDolGlobalString('MAIN_EXTRAFIELDS_DISABLED')) {
288 $socstatic = new Societe($db);
289 $elementtype = $socstatic->table_element;
290 // fetch optionals attributes and labels
291 require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
292 $extrafields = new ExtraFields($db);
293 $extrafields->fetch_name_optionals_label($elementtype);
294 foreach ($extrafields->attributes[$elementtype]['label'] as $key => $val) {
295 if ($key != 'ts_nameextra' && $key != 'ts_payeur') {
296 if (isset($extrafields->attributes[$elementtype]['langfile'][$key])) {
297 $langs->load($extrafields->attributes[$elementtype]['langfile'][$key]);
298 }
299 print '<tr><td>'.$langs->trans($extrafields->attributes[$elementtype]['label'][$key]);
300 if (!empty($array_query['options_'.$key]) || (is_array($array_query['options_'.$key]) && count($array_query['options_'.$key]) > 0)) {
301 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
302 }
303 print '</td><td>';
304 if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') || ($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
305 print '<input type="text" name="options_'.$key.'"/></td><td>'."\n";
306 print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
307 } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'int') || ($extrafields->attributes[$elementtype]['type'][$key] == 'double')) {
308 print $langs->trans("AdvTgtMinVal").'<input type="text" name="options'.$key.'_min"/>';
309 print $langs->trans("AdvTgtMaxVal").'<input type="text" name="options'.$key.'_max"/>';
310 print '</td><td>'."\n";
311 print $form->textwithpicto('', $langs->trans("AdvTgtSearchIntHelp"), 1, 'help');
312 } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'date') || ($extrafields->attributes[$elementtype]['type'][$key] == 'datetime')) {
313 print '<table class="nobordernopadding"><tr>';
314 print '<td>'.$langs->trans("AdvTgtStartDt").'</td><td>';
315 print $form->selectDate('', 'options_'.$key.'_st_dt', 0, 0, 1);
316 print '</td><td>'.$langs->trans("AdvTgtEndDt").'</td><td>';
317 print $form->selectDate('', 'options_'.$key.'_end_dt', 0, 0, 1);
318 print '</td></tr></table>';
319
320 print '</td><td>'."\n";
321 print $form->textwithpicto('', $langs->trans("AdvTgtSearchDtHelp"), 1, 'help');
322 } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'boolean')) {
323 print $form->selectarray(
324 'options_'.$key,
325 array(
326 '' => '',
327 '1' => $langs->trans('Yes'),
328 '0' => $langs->trans('No')
329 ),
330 $array_query['options_'.$key]
331 );
332 print '</td><td>'."\n";
333 } elseif ($extrafields->attributes[$elementtype]['type'][$key] == 'select') {
334 print $formadvtargetemaling->advMultiselectarray('options_'.$key, $extrafields->attributes[$elementtype]['param'][$key]['options'], $array_query['options_'.$key]);
335 print '</td><td>'."\n";
336 } elseif ($extrafields->attributes[$elementtype]['type'][$key] == 'sellist') {
337 print $formadvtargetemaling->advMultiselectarraySelllist('options_'.$key, $extrafields->attributes[$elementtype]['param'][$key]['options'], $array_query['options_'.$key]);
338 print '</td><td>'."\n";
339 } else {
340 print '<table class="nobordernopadding"><tr>';
341 print '<td></td><td>';
342 if (is_array($array_query['options_'.$key])) {
343 print $extrafields->showInputField($key, implode(',', $array_query['options_'.$key]), '', '', '', '', 0, 'societe', 1);
344 } else {
345 print $extrafields->showInputField($key, $array_query['options_'.$key], '', '', '', '', 0, 'societe', 1);
346 }
347 print '</td></tr></table>';
348
349 print '</td><td>'."\n";
350 }
351 print '</td></tr>'."\n";
352 }
353 }
354} else {
355 $std_soc = new Societe($db);
356 $action_search = 'query';
357
358 $parameters = array('advtarget' => 1);
359 if (!empty($advTarget->id)) {
360 $parameters = array('array_query' => $advTarget->filtervalue);
361 }
362 // Other attributes
363 $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $std_soc, $action_search);
364 print $hookmanager->resPrint;
365}
366
367// State Contact
368print '<tr><td>'.$langs->trans('Status').' '.$langs->trans('Contact');
369if (!empty($array_query['contact_status'])) {
370 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
371}
372print '</td><td>';
373print $formadvtargetemaling->advMultiselectarray(
374 'contact_status',
375 array(
376 '0' => $langs->trans('ActivityCeased'),
377 '1' => $langs->trans('InActivity')
378 ),
379 $array_query['contact_status']
380);
381print '</td><td>'."\n";
382print $form->textwithpicto('', $langs->trans("AdvTgtContactHelp"), 1, 'help');
383print '</td></tr>'."\n";
384
385// Civility
386print '<tr><td width="15%">'.$langs->trans("UserTitle");
387if (!empty($array_query['contact_civility'])) {
388 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
389}
390print '</td><td>';
391print $formadvtargetemaling->multiselectCivility('contact_civility', $array_query['contact_civility']);
392print '</td></tr>';
393
394// contact name
395print '<tr><td>'.$langs->trans('Contact').' '.$langs->trans('Lastname');
396if (!empty($array_query['contact_lastname'])) {
397 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
398}
399print '</td><td><input type="text" name="contact_lastname" value="'.$array_query['contact_lastname'].'"/></td><td>'."\n";
400print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
401print '</td></tr>'."\n";
402print '<tr><td>'.$langs->trans('Contact').' '.$langs->trans('Firstname');
403if (!empty($array_query['contact_firstname'])) {
404 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
405}
406print '</td><td><input type="text" name="contact_firstname" value="'.$array_query['contact_firstname'].'"/></td><td>'."\n";
407print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
408print '</td></tr>'."\n";
409
410// Contact Country
411print '<tr><td>'.$langs->trans('Contact').' '.$langs->trans("Country");
412if (!empty($array_query['contact_country'])) {
413 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
414}
415print '</td><td>'."\n";
416print $formadvtargetemaling->multiselectCountry('contact_country', $array_query['contact_country']);
417print '</td><td>'."\n";
418print '</td></tr>'."\n";
419
420// Never send mass mailing
421print '<tr><td>'.$langs->trans('Contact').' '.$langs->trans("No_Email");
422if (!empty($array_query['contact_no_email'])) {
423 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
424}
425print '</td><td>'."\n";
426print $form->selectarray(
427 'contact_no_email',
428 array(
429 '' => '',
430 '1' => $langs->trans('Yes'),
431 '0' => $langs->trans('No')
432 ),
433 $array_query['contact_no_email']
434);
435print '</td><td>'."\n";
436print '</td></tr>'."\n";
437
438// Contact Date Create
439print '<tr><td>'.$langs->trans('Contact').' '.$langs->trans("DateCreation");
440if (!empty($array_query['contact_create_st_dt'])) {
441 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
442}
443print '</td><td>'."\n";
444print '<table class="nobordernopadding"><tr>';
445print '<td>'.$langs->trans("AdvTgtStartDt").'</td><td>';
446print $form->selectDate($array_query['contact_create_st_dt'], 'contact_create_st_dt', 0, 0, 1, 'find_customer', 1, 1);
447print '</td><td>'.$langs->trans("AdvTgtEndDt").'</td><td>';
448print $form->selectDate($array_query['contact_create_end_dt'], 'contact_create_end_dt', 0, 0, 1, 'find_customer', 1, 1);
449print '</td></tr></table>';
450print '</td><td>'."\n";
451print '</td></tr>'."\n";
452
453// Contact update Create
454print '<tr><td>'.$langs->trans('Contact').' '.$langs->trans("DateLastModification");
455if (!empty($array_query['contact_update_st_dt'])) {
456 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
457}
458print '</td><td>'."\n";
459print '<table class="nobordernopadding"><tr>';
460print '<td>'.$langs->trans("AdvTgtStartDt").'</td><td>';
461print $form->selectDate($array_query['contact_update_st_dt'], 'contact_update_st_dt', 0, 0, 1, 'find_customer', 1, 1);
462print '</td><td>'.$langs->trans("AdvTgtEndDt").'</td><td>';
463print $form->selectDate($array_query['contact_update_end_dt'], 'contact_update_end_dt', 0, 0, 1, 'find_customer', 1, 1);
464print '</td></tr></table>';
465print '</td><td>'."\n";
466print '</td></tr>'."\n";
467
468if (isModEnabled('category') && $user->hasRight('categorie', 'lire')) {
469 // Customer Categories
470 print '<tr><td>'.$langs->trans("ContactCategoriesShort");
471 if (!empty($array_query['contact_categ'])) {
472 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
473 }
474 print '</td><td>'."\n";
475 $cate_arbo = $form->select_all_categories(Categorie::TYPE_CONTACT, null, 'parent', null, null, 1);
476 print $form->multiselectarray('contact_categ', $cate_arbo, GETPOST('contact_categ', 'array'), null, null, null, null, "90%");
477 print '</td><td>'."\n";
478 print '</td></tr>'."\n";
479}
480
481// Standard Extrafield feature
482if (!getDolGlobalString('MAIN_EXTRAFIELDS_DISABLED')) {
483 $contactstatic = new Contact($db);
484 $elementype = $contactstatic->table_element;
485 // fetch optionals attributes and labels
486 dol_include_once('/core/class/extrafields.class.php');
487 $extrafields = new ExtraFields($db);
488 $extrafields->fetch_name_optionals_label($elementype);
489 if (!empty($extrafields->attributes[$elementtype]['type'])) {
490 foreach ($extrafields->attributes[$elementtype]['type'] as $key => &$value) {
491 if ($value == 'radio') {
492 $value = 'select';
493 }
494 }
495 }
496 if (!empty($extrafields->attributes[$elementtype]['label'])) {
497 foreach ($extrafields->attributes[$elementtype]['label'] as $key => $val) {
498 print '<tr><td>'.$extrafields->attributes[$elementtype]['label'][$key];
499 if ($array_query['options_'.$key.'_cnct'] != '' || (is_array($array_query['options_'.$key.'_cnct']) && count($array_query['options_'.$key.'_cnct']) > 0)) {
500 print img_picto($langs->trans('AdvTgtUse'), 'ok.png@advtargetemailing');
501 }
502 print '</td><td>';
503 if (($extrafields->attributes[$elementtype]['type'][$key] == 'varchar') || ($extrafields->attributes[$elementtype]['type'][$key] == 'text')) {
504 print '<input type="text" name="options_'.$key.'_cnct"/></td><td>'."\n";
505 print $form->textwithpicto('', $langs->trans("AdvTgtSearchTextHelp"), 1, 'help');
506 } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'int') || ($extrafields->attributes[$elementtype]['type'][$key] == 'double')) {
507 print $langs->trans("AdvTgtMinVal").'<input type="text" name="options_'.$key.'_min_cnct"/>';
508 print $langs->trans("AdvTgtMaxVal").'<input type="text" name="options_'.$key.'_max_cnct"/>';
509 print '</td><td>'."\n";
510 print $form->textwithpicto('', $langs->trans("AdvTgtSearchIntHelp"), 1, 'help');
511 } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'date') || ($extrafields->attributes[$elementtype]['type'][$key] == 'datetime')) {
512 print '<table class="nobordernopadding"><tr>';
513 print '<td>'.$langs->trans("AdvTgtStartDt").'</td><td>';
514 print $form->selectDate('', 'options_'.$key.'_st_dt_cnct', 0, 0, 1);
515 print '</td><td>'.$langs->trans("AdvTgtEndDt").'</td><td>';
516 print $form->selectDate('', 'options_'.$key.'_end_dt_cnct', 0, 0, 1);
517 print '</td></tr></table>';
518 print '</td><td>'."\n";
519 print $form->textwithpicto('', $langs->trans("AdvTgtSearchDtHelp"), 1, 'help');
520 } elseif (($extrafields->attributes[$elementtype]['type'][$key] == 'boolean')) {
521 print $form->selectarray(
522 'options_'.$key.'_cnct',
523 array(
524 '' => '',
525 '1' => $langs->trans('Yes'),
526 '0' => $langs->trans('No')
527 ),
528 $array_query['options_'.$key.'_cnct']
529 );
530 print '</td><td>'."\n";
531 } elseif ($extrafields->attributes[$elementtype]['type'][$key] == 'select') {
532 print $formadvtargetemaling->advMultiselectarray('options_'.$key.'_cnct', $extrafields->attributes[$elementtype]['param'][$key]['options'], $array_query['options_'.$key.'_cnct']);
533 print '</td><td>'."\n";
534 } elseif ($extrafields->attributes[$elementtype]['type'][$key] == 'sellist') {
535 print $formadvtargetemaling->advMultiselectarraySelllist('options_'.$key.'_cnct', $extrafields->attributes[$elementtype]['param'][$key]['options'], $array_query['options_'.$key.'_cnct']);
536 print '</td><td>'."\n";
537 } else {
538 if (is_array($array_query['options_'.$key.'_cnct'])) {
539 print $extrafields->showInputField($key, implode(',', $array_query['options_'.$key.'_cnct']), '', '_cnct', '', '', 0, 'socpeople', 1);
540 } else {
541 print $extrafields->showInputField($key, $array_query['options_'.$key.'_cnct'], '', '_cnct', '', '', 0, 'socpeople', 1);
542 }
543 print '</td><td>'."\n";
544 }
545 print '</td></tr>'."\n";
546 }
547 }
548}
549print '<tr>'."\n";
550print '<td colspan="3" class="right">'."\n";
551print '<input type="button" name="addcontact" id="addcontact" value="'.$langs->trans('AdvTgtAddContact').'" class="butAction"/>'."\n";
552print '</td>'."\n";
553print '</tr>'."\n";
554print '</table>'."\n";
555print '</form>'."\n";
556print '</div>'."\n";
557print '<form action="'.$_SERVER['PHP_SELF'].'?action=clear&id='.$object->id.'" method="POST">';
558print '<input type="hidden" name="token" value="'.newToken().'">';
559print load_fiche_titre($langs->trans("ToClearAllRecipientsClickHere"));
560print '<table class="noborder centpercent">';
561print '<tr class="liste_titre">';
562print '<td class="liste_titre right"><input type="submit" class="button" value="'.$langs->trans("TargetsReset").'"></td>';
563print '</tr>';
564print '</table>';
565print '</form>';
566print '<br>';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:58
Class to manage contact/addresses.
Class to manage standard extra fields.
Class to manage third parties objects (customers, suppliers, prospects...)
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
if(!function_exists( 'dol_getprefix')) dol_include_once($relpath, $classname='')
Make an include_once using default root and alternate root if it fails.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.