dolibarr  16.0.1
conferenceorbooth_contact.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2007-2017 Laurent Destailleur <eldy@users.sourceforge.net>
3  * Copyright (C) 2021 Florian HENRY <florian.henry@scopen.fr>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17  */
18 
25 require '../main.inc.php';
26 
27 require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
28 require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
29 require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
30 require_once DOL_DOCUMENT_ROOT.'/eventorganization/lib/eventorganization_conferenceorbooth.lib.php';
31 require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
32 require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php';
33 require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
34 require_once DOL_DOCUMENT_ROOT.'/eventorganization/lib/eventorganization_conferenceorbooth.lib.php';
35 require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
36 
37 // Load translation files required by the page
38 $langs->loadLangs(array("eventorganization", "projects", "companies", "other", "mails"));
39 
40 $id = GETPOST('id', 'int');
41 $ref = GETPOST('ref', 'alpha');
42 $lineid = GETPOST('lineid', 'int');
43 $socid = GETPOST('socid', 'int');
44 
45 $action = GETPOST('action', 'aZ09');
46 $confirm = GETPOST('confirm', 'alpha');
47 $cancel = GETPOST('cancel', 'aZ09');
48 $contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'conferenceorboothcard'; // To manage different context of search
49 $backtopage = GETPOST('backtopage', 'alpha');
50 $backtopageforcancel = GETPOST('backtopageforcancel', 'alpha');
51 
52 $withproject = GETPOST('withproject', 'int');
53 
54 // Initialize technical objects
55 $object = new ConferenceOrBooth($db);
56 $extrafields = new ExtraFields($db);
57 $projectstatic = new Project($db);
58 $diroutputmassaction = $conf->eventorganization->dir_output.'/temp/massgeneration/'.$user->id;
59 $hookmanager->initHooks(array('conferenceorboothcontact', 'globalcard')); // Note that conf->hooks_modules contains array
60 // Fetch optionals attributes and labels
61 $extrafields->fetch_name_optionals_label($object->table_element);
62 
63 $search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_');
64 
65 // Load object
66 include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once.
67 
68 // Security check
69 if ($user->socid > 0) {
71 }
72 $isdraft = (($object->status== $object::STATUS_DRAFT) ? 1 : 0);
73 $result = restrictedArea($user, 'eventorganization', $object->id, '', '', 'fk_soc', 'rowid', $isdraft);
74 
75 $permissiontoread = $user->rights->eventorganization->read;
76 $permissiontoadd = $user->rights->eventorganization->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php
77 $permissiontodelete = $user->rights->eventorganization->delete || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
78 $permissionnote = $user->rights->eventorganization->write; // Used by the include of actions_setnotes.inc.php
79 $permissiondellink = $user->rights->eventorganization->write; // Used by the include of actions_dellink.inc.php
80 $upload_dir = $conf->eventorganization->multidir_output[isset($object->entity) ? $object->entity : 1];
81 
82 // Security check
83 if ($user->socid > 0) {
85 }
86 $isdraft = (($object->status== $object::STATUS_DRAFT) ? 1 : 0);
87 $result = restrictedArea($user, 'eventorganization', $object->id, '', '', 'fk_soc', 'rowid', $isdraft);
88 
89 if (!$permissiontoread) {
91 }
92 
93 
94 /*
95  * Actions
96  */
97 
98 $parameters = array();
99 $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
100 if ($reshook < 0) {
101  setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
102 }
103 
104 if ($action == 'addcontact' && $permission) { // Add a new contact
105  $contactid = (GETPOST('userid') ? GETPOST('userid', 'int') : GETPOST('contactid', 'int'));
106  $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type'));
107  $result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09'));
108 
109  if ($result >= 0) {
110  header("Location: ".$_SERVER['PHP_SELF']."?id=".((int) $object->id).(!empty($withproject)?'&withproject=1':''));
111  exit;
112  } else {
113  if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
114  $langs->load("errors");
115  setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'errors');
116  } else {
117  setEventMessages($object->error, $object->errors, 'errors');
118  }
119  }
120 } elseif ($action == 'swapstatut' && $permission) {
121  // Toggle the status of a contact
122  $result = $object->swapContactStatus(GETPOST('ligne', 'int'));
123 } elseif ($action == 'deletecontact' && $permission) {
124  // Deletes a contact
125  $result = $object->delete_contact($lineid);
126 
127  if ($result >= 0) {
128  header("Location: ".$_SERVER['PHP_SELF']."?id=".((int) $object->id).(!empty($withproject)?'&withproject=1':''));
129  exit;
130  } else {
131  dol_print_error($db);
132  }
133 }
134 
135 
136 /*
137  * View
138  */
139 
140 $form = new Form($db);
141 $formcompany = new FormCompany($db);
142 $contactstatic = new Contact($db);
143 $userstatic = new User($db);
144 
145 $title = $langs->trans('ConferenceOrBooth')." - ".$langs->trans('ContactsAddresses');
146 $help_url = '';
147 //$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
148 llxHeader('', $title, $help_url);
149 
150 
151 /* *************************************************************************** */
152 /* */
153 /* View and edit mode */
154 /* */
155 /* *************************************************************************** */
156 
157 $result = $projectstatic->fetch($object->fk_project);
158 if (!empty($conf->global->PROJECT_ALLOW_COMMENT_ON_PROJECT) && method_exists($projectstatic, 'fetchComments') && empty($projectstatic->comments)) {
159  $projectstatic->fetchComments();
160 }
161 if (!empty($projectstatic->socid)) {
162  $projectstatic->fetch_thirdparty();
163 }
164 $withProjectUrl='';
165 $object->project = clone $projectstatic;
166 
167 if (!empty($withproject)) {
168  // Tabs for project
169  $tab = 'eventorganisation';
170  $withProjectUrl = "&withproject=1";
171  $head = project_prepare_head($projectstatic);
172  print dol_get_fiche_head($head, $tab, $langs->trans("Project"), -1, ($projectstatic->public ? 'projectpub' : 'project'), 0, '', '');
173 
174  $param = ($mode == 'mine' ? '&mode=mine' : '');
175 
176  // Project card
177 
178  $linkback = '<a href="'.DOL_URL_ROOT.'/projet/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
179 
180  $morehtmlref = '<div class="refidno">';
181  // Title
182  $morehtmlref .= $projectstatic->title;
183  // Thirdparty
184  if (isset($projectstatic->thirdparty->id) && $projectstatic->thirdparty->id > 0) {
185  $morehtmlref .= '<br>'.$langs->trans('ThirdParty').' : '.$projectstatic->thirdparty->getNomUrl(1, 'project');
186  }
187  $morehtmlref .= '</div>';
188 
189  // Define a complementary filter for search of next/prev ref.
190  if (empty($user->rights->project->all->lire)) {
191  $objectsListId = $projectstatic->getProjectsAuthorizedForUser($user, 0, 0);
192  $projectstatic->next_prev_filter = " rowid IN (".$db->sanitize(count($objectsListId) ?join(',', array_keys($objectsListId)) : '0').")";
193  }
194 
195  dol_banner_tab($projectstatic, 'project_ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
196 
197  print '<div class="fichecenter">';
198  print '<div class="fichehalfleft">';
199  print '<div class="underbanner clearboth"></div>';
200 
201  print '<table class="border tableforfield centpercent">';
202 
203  // Usage
204  if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES) || empty($conf->global->PROJECT_HIDE_TASKS) || !empty($conf->eventorganization->enabled)) {
205  print '<tr><td class="tdtop">';
206  print $langs->trans("Usage");
207  print '</td>';
208  print '<td>';
209  if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) {
210  print '<input type="checkbox" disabled name="usage_opportunity"'.(GETPOSTISSET('usage_opportunity') ? (GETPOST('usage_opportunity', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_opportunity ? ' checked="checked"' : '')).'"> ';
211  $htmltext = $langs->trans("ProjectFollowOpportunity");
212  print $form->textwithpicto($langs->trans("ProjectFollowOpportunity"), $htmltext);
213  print '<br>';
214  }
215  if (empty($conf->global->PROJECT_HIDE_TASKS)) {
216  print '<input type="checkbox" disabled name="usage_task"'.(GETPOSTISSET('usage_task') ? (GETPOST('usage_task', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_task ? ' checked="checked"' : '')).'"> ';
217  $htmltext = $langs->trans("ProjectFollowTasks");
218  print $form->textwithpicto($langs->trans("ProjectFollowTasks"), $htmltext);
219  print '<br>';
220  }
221  if (empty($conf->global->PROJECT_HIDE_TASKS) && !empty($conf->global->PROJECT_BILL_TIME_SPENT)) {
222  print '<input type="checkbox" disabled name="usage_bill_time"'.(GETPOSTISSET('usage_bill_time') ? (GETPOST('usage_bill_time', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_bill_time ? ' checked="checked"' : '')).'"> ';
223  $htmltext = $langs->trans("ProjectBillTimeDescription");
224  print $form->textwithpicto($langs->trans("BillTime"), $htmltext);
225  print '<br>';
226  }
227  if (!empty($conf->eventorganization->enabled)) {
228  print '<input type="checkbox" disabled name="usage_organize_event"'.(GETPOSTISSET('usage_organize_event') ? (GETPOST('usage_organize_event', 'alpha') != '' ? ' checked="checked"' : '') : ($projectstatic->usage_organize_event ? ' checked="checked"' : '')).'"> ';
229  $htmltext = $langs->trans("EventOrganizationDescriptionLong");
230  print $form->textwithpicto($langs->trans("ManageOrganizeEvent"), $htmltext);
231  }
232  print '</td></tr>';
233  }
234 
235  // Visibility
236  print '<tr><td class="titlefield">'.$langs->trans("Visibility").'</td><td>';
237  if ($projectstatic->public) {
238  print $langs->trans('SharedProject');
239  } else {
240  print $langs->trans('PrivateProject');
241  }
242  print '</td></tr>';
243 
244  // Date start - end
245  print '<tr><td>'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td>';
246  $start = dol_print_date($projectstatic->date_start, 'day');
247  print ($start ? $start : '?');
248  $end = dol_print_date($projectstatic->date_end, 'day');
249  print ' - ';
250  print ($end ? $end : '?');
251  if ($projectstatic->hasDelay()) {
252  print img_warning("Late");
253  }
254  print '</td></tr>';
255 
256  // Budget
257  print '<tr><td>'.$langs->trans("Budget").'</td><td>';
258  if (strcmp($projectstatic->budget_amount, '')) {
259  print price($projectstatic->budget_amount, '', $langs, 1, 0, 0, $conf->currency);
260  }
261  print '</td></tr>';
262 
263  // Other attributes
264  $cols = 2;
265  $objectconf = $object;
266  $object = $projectstatic;
267  include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
268  $object = $objectconf;
269 
270  print '</table>';
271 
272  print '</div>';
273 
274  print '<div class="fichehalfright">';
275  print '<div class="underbanner clearboth"></div>';
276 
277  print '<table class="border tableforfield centpercent">';
278 
279  // Description
280  print '<td class="tdtop">'.$langs->trans("Description").'</td><td>';
281  print nl2br($projectstatic->description);
282  print '</td></tr>';
283 
284  // Categories
285  if (isModEnabled('categorie')) {
286  print '<tr><td class="valignmiddle">'.$langs->trans("Categories").'</td><td>';
287  print $form->showCategories($projectstatic->id, Categorie::TYPE_PROJECT, 1);
288  print "</td></tr>";
289  }
290 
291  print '<tr><td>';
292  $typeofdata = 'checkbox:'.($projectstatic->accept_conference_suggestions ? ' checked="checked"' : '');
293  $htmltext = $langs->trans("AllowUnknownPeopleSuggestConfHelp");
294  print $form->editfieldkey('AllowUnknownPeopleSuggestConf', 'accept_conference_suggestions', '', $projectstatic, 0, $typeofdata, '', 0, 0, 'projectid', $htmltext);
295  print '</td><td>';
296  print $form->editfieldval('AllowUnknownPeopleSuggestConf', 'accept_conference_suggestions', '1', $projectstatic, 0, $typeofdata, '', 0, 0, '', 0, '', 'projectid');
297  print "</td></tr>";
298 
299  print '<tr><td>';
300  $typeofdata = 'checkbox:'.($projectstatic->accept_booth_suggestions ? ' checked="checked"' : '');
301  $htmltext = $langs->trans("AllowUnknownPeopleSuggestBoothHelp");
302  print $form->editfieldkey('AllowUnknownPeopleSuggestBooth', 'accept_booth_suggestions', '', $projectstatic, 0, $typeofdata, '', 0, 0, 'projectid', $htmltext);
303  print '</td><td>';
304  print $form->editfieldval('AllowUnknownPeopleSuggestBooth', 'accept_booth_suggestions', '1', $projectstatic, 0, $typeofdata, '', 0, 0, '', 0, '', 'projectid');
305  print "</td></tr>";
306 
307  print '<tr><td>';
308  print $form->editfieldkey($form->textwithpicto($langs->trans('PriceOfBooth'), $langs->trans("PriceOfBoothHelp")), 'price_booth', '', $projectstatic, 0, 'amount', '', 0, 0, 'projectid');
309  print '</td><td>';
310  print $form->editfieldval($form->textwithpicto($langs->trans('PriceOfBooth'), $langs->trans("PriceOfBoothHelp")), 'price_booth', $projectstatic->price_booth, $projectstatic, 0, 'amount', '', 0, 0, '', 0, '', 'projectid');
311  print "</td></tr>";
312 
313  print '<tr><td>';
314  print $form->editfieldkey($form->textwithpicto($langs->trans('PriceOfRegistration'), $langs->trans("PriceOfRegistrationHelp")), 'price_registration', '', $projectstatic, 0, 'amount', '', 0, 0, 'projectid');
315  print '</td><td>';
316  print $form->editfieldval($form->textwithpicto($langs->trans('PriceOfRegistration'), $langs->trans("PriceOfRegistrationHelp")), 'price_registration', $projectstatic->price_registration, $projectstatic, 0, 'amount', '', 0, 0, '', 0, '', 'projectid');
317  print "</td></tr>";
318 
319  print '<tr><td valign="middle">'.$langs->trans("EventOrganizationICSLink").'</td><td>';
320  // Define $urlwithroot
321  $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
322  $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT;
323 
324  // Show message
325  $message = '<a target="_blank" rel="noopener noreferrer" href="'.$urlwithroot.'/public/agenda/agendaexport.php?format=ical'.($conf->entity > 1 ? "&entity=".$conf->entity : "");
326  $message .= '&exportkey='.urlencode(getDolGlobalString('MAIN_AGENDA_XCAL_EXPORTKEY', '...'));
327  $message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').img_picto('', 'download', 'class="paddingleft"').'</a>';
328  print $message;
329  print "</td></tr>";
330 
331  // Link to the submit vote/register page
332  print '<tr><td>';
333  //print '<span class="opacitymedium">';
334  print $form->textwithpicto($langs->trans("SuggestOrVoteForConfOrBooth"), $langs->trans("EvntOrgRegistrationHelpMessage"));
335  //print '</span>';
336  print '</td><td>';
337  $linksuggest = $dolibarr_main_url_root.'/public/project/index.php?id='.((int) $projectstatic->id);
338  $encodedsecurekey = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY').'conferenceorbooth'.((int) $projectstatic->id), 'md5');
339  $linksuggest .= '&securekey='.urlencode($encodedsecurekey);
340  //print '<div class="urllink">';
341  //print '<input type="text" value="'.$linksuggest.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
342  print '<div class="tdoverflowmax200 inline-block valignmiddle"><a target="_blank" href="'.$linksuggest.'" class="quatrevingtpercent">'.$linksuggest.'</a></div>';
343  print '<a target="_blank" rel="noopener noreferrer" href="'.$linksuggest.'">'.img_picto('', 'globe').'</a>';
344  //print '</div>';
345  //print ajax_autoselect("linkregister");
346  print '</td></tr>';
347 
348  // Link to the subscribe
349  print '<tr><td>';
350  //print '<span class="opacitymedium">';
351  print $langs->trans("PublicAttendeeSubscriptionGlobalPage");
352  //print '</span>';
353  print '</td><td>';
354  $link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_new.php?id='.((int) $projectstatic->id).'&type=global';
355  $encodedsecurekey = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY').'conferenceorbooth'.((int) $projectstatic->id), 'md5');
356  $link_subscription .= '&securekey='.urlencode($encodedsecurekey);
357  //print '<div class="urllink">';
358  //print '<input type="text" value="'.$linkregister.'" id="linkregister" class="quatrevingtpercent paddingrightonly">';
359  print '<div class="tdoverflowmax200 inline-block valignmiddle"><a target="_blank" href="'.$link_subscription.'" class="quatrevingtpercent">'.$link_subscription.'</a></div>';
360  print '<a target="_blank" rel="noopener noreferrer" rel="noopener noreferrer" href="'.$link_subscription.'">'.img_picto('', 'globe').'</a>';
361  //print '</div>';
362  //print ajax_autoselect("linkregister");
363  print '</td></tr>';
364 
365  print '</table>';
366 
367  print '</div>';
368  print '</div>';
369 
370  print '<div class="clearboth"></div>';
371 
372  print dol_get_fiche_end();
373 
374  print '<br>';
375 }
376 
377 if ($object->id) {
378  /*
379  * Show tabs
380  */
381  $head = conferenceorboothPrepareHead($object, $withproject);
382 
383  print dol_get_fiche_head($head, 'contact', $langs->trans("ConferenceOrBooth"), -1, $object->picto);
384 
385  $linkback = '<a href="'.dol_buildpath('/eventorganization/conferenceorbooth_list.php', 1).'?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
386 
387  $morehtmlref = '<div class="refidno">';
388  /*
389  // Ref customer
390  $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
391  $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
392  // Thirdparty
393  $morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
394  // Project
395  if (! empty($conf->project->enabled))
396  {
397  $langs->load("projects");
398  $morehtmlref.='<br>'.$langs->trans('Project') . ' ';
399  if ($permissiontoadd)
400  {
401  if ($action != 'classify')
402  //$morehtmlref.='<a class="editfielda" href="' . $_SERVER['PHP_SELF'] . '?action=classify&token='.newToken().'&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
403  $morehtmlref.=' : ';
404  if ($action == 'classify') {
405  //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
406  $morehtmlref.='<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
407  $morehtmlref.='<input type="hidden" name="action" value="classin">';
408  $morehtmlref.='<input type="hidden" name="token" value="'.newToken().'">';
409  $morehtmlref.=$formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
410  $morehtmlref.='<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
411  $morehtmlref.='</form>';
412  } else {
413  $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
414  }
415  } else {
416  if (! empty($object->fk_project)) {
417  $proj = new Project($db);
418  $proj->fetch($object->fk_project);
419  $morehtmlref .= ': '.$proj->getNomUrl();
420  } else {
421  $morehtmlref .= '';
422  }
423  }
424  }*/
425  $morehtmlref .= '</div>';
426 
427  dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1);
428 
429  print dol_get_fiche_end();
430 
431  print '<br>';
432 
433  // Contacts lines (modules that overwrite templates must declare this into descriptor)
434  $dirtpls = array_merge($conf->modules_parts['tpl'], array('/core/tpl'));
435  foreach ($dirtpls as $reldir) {
436  $res = @include dol_buildpath($reldir.'/contacts.tpl.php');
437  if ($res) {
438  break;
439  }
440  }
441 }
442 
443 // End of page
444 llxFooter();
445 $db->close();
project_prepare_head(Project $project, $moreparam= '')
Prepare array with list of tabs.
Definition: project.lib.php:38
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_hash($chain, $type= '0')
Returns a hash of a string.
if($cancel &&!$id) if($action== 'add'&&!$cancel) if($action== 'delete') if($id) $form
Actions.
Definition: card.php:142
Class to manage contact/addresses.
Class to manage Dolibarr users.
Definition: user.class.php:44
if(!function_exists('utf8_encode')) if(!function_exists('utf8_decode')) getDolGlobalString($key, $default= '')
Return dolibarr global constant string value.
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOCSRFCHECK')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
Definition: wrapper.php:59
conferenceorboothPrepareHead($object, $with_project=0)
Prepare array of tabs for ConferenceOrBooth.
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
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.
Definition: agenda.php:116
img_warning($titlealt= 'default', $moreatt= '', $morecss= 'pictowarning')
Show warning logo.
price($amount, $form=0, $outlangs= '', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code= '')
Function to format a value into an amount for visual output Function used into PDF and HTML pages...
Class to build HTML component for third parties management Only common components are here...
Class to manage standard extra fields.
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
Class to manage generation of HTML components Only common components must be here.
Class to manage projects.
img_picto($titlealt, $picto, $moreatt= '', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt= '', $morecss= '', $marginleftonlyshort=2)
Show picto whatever it&#39;s its name (generic function)
accessforbidden($message= '', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
restrictedArea($user, $features, $objectid=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.
dol_get_fiche_head($links=array(), $active= '', $title= '', $notab=0, $picto= '', $pictoisfullpath=0, $morehtmlright= '', $morecss= '', $limittoshow=0, $moretabssuffix= '')
Show tabs of a record.
dol_print_date($time, $format= '', $tzoutput= 'auto', $outputlangs= '', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
Class for ConferenceOrBooth.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
isModEnabled($module)
Is Dolibarr module enabled.
dol_banner_tab($object, $paramid, $morehtml= '', $shownav=1, $fieldid= 'rowid', $fieldref= 'ref', $morehtmlref= '', $moreparam= '', $nodbprefix=0, $morehtmlleft= '', $morehtmlstatus= '', $onlybanner=0, $morehtmlright= '')
Show tab footer of a card.
llxFooter()
Empty footer.
Definition: wrapper.php:73