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