24 if (!defined(
'NOLOGIN')) {
27 if (!defined(
'NOCSRFCHECK')) {
28 define(
"NOCSRFCHECK", 1);
30 if (!defined(
'NOIPCHECK')) {
31 define(
'NOIPCHECK',
'1');
33 if (!defined(
'NOBROWSERNOTIF')) {
34 define(
'NOBROWSERNOTIF',
'1');
41 $entity = (!empty($_GET[
'entity']) ? (int) $_GET[
'entity'] : (!empty($_POST[
'entity']) ? (int) $_POST[
'entity'] : 1));
42 if (is_numeric($entity)) {
43 define(
"DOLENTITY", $entity);
47 require
'../../main.inc.php';
48 require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
49 require_once DOL_DOCUMENT_ROOT.
'/core/class/extrafields.class.php';
50 require_once DOL_DOCUMENT_ROOT.
'/eventorganization/class/conferenceorbooth.class.php';
51 require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
52 require_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
53 require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
54 require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
55 require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/paymentterm.class.php';
56 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
57 require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
59 global $dolibarr_main_url_root;
65 $backtopage =
GETPOST(
'backtopage',
'alpha');
66 $action =
GETPOST(
'action',
'aZ09');
68 $eventtype =
GETPOST(
"eventtype");
78 $resultproject = $project->fetch($id);
79 if ($resultproject < 0) {
81 $errmsg .= $project->error;
85 $securekeyreceived =
GETPOST(
"securekey");
86 $securekeytocompare =
dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.
'conferenceorbooth'.$id,
'md5');
88 if ($securekeytocompare != $securekeyreceived) {
89 print $langs->trans(
'MissingOrBadSecureKey');
94 $langs->loadLangs(array(
"main",
"companies",
"install",
"other",
"eventorganization"));
97 $hookmanager->initHooks(array(
'publicnewmembercard',
'globalcard'));
101 $user->loadDefaultValues();
104 $arrayofconfboothtype = $cactioncomm->liste_array(
'',
'id',
'', 0,
"module='booth@eventorganization'");
107 if (empty($conf->eventorganization->enabled)) {
123 function llxHeaderVierge($title, $head =
"", $disablejs = 0, $disablehead = 0, $arrayofjs =
'', $arrayofcss =
'')
125 global $user, $conf, $langs, $mysoc;
127 top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
129 print
'<body id="mainbody" class="publicnewmemberform">';
132 $urllogo = DOL_URL_ROOT.
'/theme/common/login_logo.png';
134 if (!empty($mysoc->logo_small) && is_readable($conf->mycompany->dir_output.
'/logos/thumbs/'.$mysoc->logo_small)) {
135 $urllogo = DOL_URL_ROOT.
'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode(
'logos/thumbs/'.$mysoc->logo_small);
136 } elseif (!empty($mysoc->logo) && is_readable($conf->mycompany->dir_output.
'/logos/'.$mysoc->logo)) {
137 $urllogo = DOL_URL_ROOT.
'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode(
'logos/'.$mysoc->logo);
138 } elseif (is_readable(DOL_DOCUMENT_ROOT.
'/theme/dolibarr_logo.svg')) {
139 $urllogo = DOL_URL_ROOT.
'/theme/dolibarr_logo.svg';
142 print
'<div class="center">';
146 print
'<div class="backgreypublicpayment">';
147 print
'<div class="logopublicpayment">';
148 print
'<img id="dolpaymentlogo" src="'.$urllogo.
'"';
151 if (empty($conf->global->MAIN_HIDE_POWERED_BY)) {
152 print
'<div class="poweredbypublicpayment opacitymedium right"><a class="poweredbyhref" href="https://www.dolibarr.org?utm_medium=website&utm_source=poweredby" target="dolibarr" rel="noopener">'.$langs->trans(
"PoweredBy").
'<br><img class="poweredbyimg" src="'.DOL_URL_ROOT.
'/theme/dolibarr_logo.svg" width="80px"></a></div>';
157 if (!empty($conf->global->PROJECT_IMAGE_PUBLIC_SUGGEST_BOOTH)) {
158 print
'<div class="backimagepublicsuggestbooth">';
159 print
'<img id="idPROJECT_IMAGE_PUBLIC_SUGGEST_BOOTH" src="'.$conf->global->PROJECT_IMAGE_PUBLIC_SUGGEST_BOOTH.
'">';
165 print
'<div class="divmainbodylarge">';
189 $parameters = array();
191 $reshook = $hookmanager->executeHooks(
'doActions', $parameters, $project, $action);
197 if (empty($reshook) && $action ==
'add') {
206 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Email")).
"<br>\n";
210 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Label")).
"<br>\n";
214 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Note")).
"<br>\n";
218 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Email")).
"<br>\n";
222 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Name")).
"<br>\n";
226 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Societe")).
"<br>\n";
230 $langs->load(
"errors");
231 $errmsg .= $langs->trans(
"ErrorBadEMail",
GETPOST(
"email")).
"<br>\n";
233 if (!
GETPOST(
"country_id") && !empty(floatval($project->price_booth))) {
235 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Country")).
"<br>\n";
240 $thirdparty =
new Societe($db);
241 $resultfetchthirdparty = $thirdparty->fetch(
'', $societe);
243 if ($resultfetchthirdparty<=0) {
245 $thirdparty->name = $societe;
246 $thirdparty->address =
GETPOST(
"address");
247 $thirdparty->zip =
GETPOST(
"zipcode");
248 $thirdparty->town =
GETPOST(
"town");
249 $thirdparty->client = 2;
250 $thirdparty->fournisseur = 0;
251 $thirdparty->country_id =
GETPOST(
"country_id",
'int');
252 $thirdparty->state_id =
GETPOST(
"state_id",
'int');
253 $thirdparty->email = $email;
256 $module = (!empty($conf->global->SOCIETE_CODECLIENT_ADDON) ? $conf->global->SOCIETE_CODECLIENT_ADDON :
'mod_codeclient_leopard');
257 if (substr($module, 0, 15) ==
'mod_codeclient_' && substr($module, -3) ==
'php') {
258 $module = substr($module, 0,
dol_strlen($module) - 4);
260 $dirsociete = array_merge(array(
'/core/modules/societe/'), $conf->modules_parts[
'societe']);
261 foreach ($dirsociete as $dirroot) {
267 $modCodeClient =
new $module($db);
269 if (empty($tmpcode) && !empty($modCodeClient->code_auto)) {
270 $tmpcode = $modCodeClient->getNextValue($thirdparty, 0);
272 $thirdparty->code_client = $tmpcode;
273 $readythirdparty = $thirdparty->create($user);
274 if ($readythirdparty <0) {
276 $errmsg .= $thirdparty->error;
278 $thirdparty->country_code =
getCountry($thirdparty->country_id, 2, $db, $langs);
279 $thirdparty->country =
getCountry($thirdparty->country_code, 0, $db, $langs);
285 $resultcontact = $contact->fetch(
'',
'',
'', $email);
286 if ($resultcontact<=0) {
288 $contact->socid = $thirdparty->id;
289 $contact->lastname = (string)
GETPOST(
"lastname",
'alpha');
290 $contact->firstname = (string)
GETPOST(
"firstname",
'alpha');
291 $contact->address = (string)
GETPOST(
"address",
'alpha');
292 $contact->zip = (string)
GETPOST(
"zipcode",
'alpha');
293 $contact->town = (string)
GETPOST(
"town",
'alpha');
294 $contact->country_id = (int)
GETPOST(
"country_id",
'int');
295 $contact->state_id = (int)
GETPOST(
"state_id",
'int');
296 $contact->email = $email;
297 $contact->statut = 1;
299 $resultcreatecontact = $contact->create($user);
300 if ($resultcreatecontact<0) {
302 $errmsg .= $contact->error;
311 $resultcategory = $category->fetch($conf->global->EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH);
313 if ($resultcategory<=0) {
315 $errmsg .= $category->error;
317 $resultsetcategory = $thirdparty->setCategoriesCommon(array($category->id), CATEGORIE::TYPE_CUSTOMER,
false);
318 if ($resultsetcategory < 0) {
320 $errmsg .= $thirdparty->error;
322 $thirdparty->fournisseur = 1;
325 $module = (!empty($conf->global->SOCIETE_CODECLIENT_ADDON) ? $conf->global->SOCIETE_CODECLIENT_ADDON :
'mod_codeclient_leopard');
326 if (substr($module, 0, 15) ==
'mod_codeclient_' && substr($module, -3) ==
'php') {
327 $module = substr($module, 0,
dol_strlen($module) - 4);
329 $dirsociete = array_merge(array(
'/core/modules/societe/'), $conf->modules_parts[
'societe']);
330 foreach ($dirsociete as $dirroot) {
336 $modCodeFournisseur =
new $module;
337 if (empty($tmpcode) && !empty($modCodeFournisseur->code_auto)) {
338 $tmpcode = $modCodeFournisseur->getNextValue($thirdparty, 1);
340 $thirdparty->code_fournisseur = $tmpcode;
342 $res = $thirdparty->update(0, $user, 1, 1, 1);
354 $conforbooth->label = $label;
355 $conforbooth->fk_soc = $thirdparty->id;
356 $conforbooth->fk_project = $project->id;
357 $conforbooth->note = $note;
358 $conforbooth->fk_action = $eventtype;
359 $conforbooth->datep = $datestart;
360 $conforbooth->datep2 = $dateend;
361 $conforbooth->datec =
dol_now();
365 $nb_post_max =
getDolGlobalInt(
"MAIN_SECURITY_MAX_POST_ON_PUBLIC_PAGES_BY_IP_ADDRESS", 200);
371 if ($nb_post_max > 0) {
372 $sql =
"SELECT COUNT(ref) as nb_confs";
373 $sql .=
" FROM ".MAIN_DB_PREFIX.
"actioncomm";
374 $sql .=
" WHERE ip = '".$db->escape($conforbooth->ip).
"'";
375 $sql .=
" AND datec > '".$db->idate($minmonthpost).
"'";
376 $resql = $db->query($sql);
378 $num = $db->num_rows(
$resql);
382 $obj = $db->fetch_object(
$resql);
383 $nb_post_ip = $obj->nb_confs;
388 $resultconforbooth = 0;
390 if ($nb_post_max > 0 && $nb_post_ip >= $nb_post_max) {
392 $errmsg .= $langs->trans(
"AlreadyTooMuchPostOnThisIPAdress");
393 array_push($conforbooth->errors, $langs->trans(
"AlreadyTooMuchPostOnThisIPAdress"));
396 $resultconforbooth = $conforbooth->create($user);
398 if ($resultconforbooth<=0) {
400 $errmsg .= $conforbooth->error;
403 $resultaddcontact = $conforbooth->add_contact($contact->id,
'RESPONSIBLE');
404 if ($resultaddcontact<0) {
406 $errmsg .= $conforbooth->error;
409 if (!empty(floatval($project->price_booth))) {
410 $productforinvoicerow =
new Product($db);
411 $resultprod = $productforinvoicerow->fetch($conf->global->SERVICE_BOOTH_LOCATION);
412 if ($resultprod < 0) {
414 $errmsg .= $productforinvoicerow->error;
418 $facture->socid = $thirdparty->id;
421 $facture->cond_reglement_id = $contact->cond_reglement_id;
422 $facture->fk_project = $project->id;
424 if (empty($facture->cond_reglement_id)) {
425 $paymenttermstatic =
new PaymentTerm($contact->db);
426 $facture->cond_reglement_id = $paymenttermstatic->getDefaultId();
427 if (empty($facture->cond_reglement_id)) {
429 $contact->error =
'ErrorNoPaymentTermRECEPFound';
430 $contact->errors[] = $contact->error;
433 $resultfacture = $facture->create($user);
434 if ($resultfacture <= 0) {
435 $contact->error = $facture->error;
436 $contact->errors = $facture->errors;
440 $facture->add_object_linked($conforbooth->element, $conforbooth->id);
446 $vattouse =
get_default_tva($mysoc, $thirdparty, $productforinvoicerow->id);
447 $result = $facture->addline($langs->trans(
"BoothLocationFee", $conforbooth->label,
dol_print_date($conforbooth->datep,
'%d/%m/%y %H:%M:%S'),
dol_print_date($conforbooth->datep2,
'%d/%m/%y %H:%M:%S')), floatval($project->price_booth), 1, $vattouse, 0, 0, $productforinvoicerow->id, 0,
dol_now(),
'', 0, 0,
'',
'HT', 0, 1);
449 $contact->error = $facture->error;
450 $contact->errors = $facture->errors;
471 $conforbooth->status = ConferenceOrBooth::STATUS_SUGGESTED;
472 $conforbooth->update($user);
482 require_once DOL_DOCUMENT_ROOT.
'/core/class/CMailFile.class.php';
483 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formmail.class.php';
487 $outputlangs->setDefaultLang(empty($thirdparty->default_lang) ? $mysoc->default_lang : $thirdparty->default_lang);
489 $outputlangs->loadLangs(array(
"main",
"members"));
491 $arraydefaultmessage =
null;
493 $labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH;
494 if (!empty($labeltouse)) {
495 $arraydefaultmessage = $formmail->getEMailTemplate($db,
'conferenceorbooth', $user, $outputlangs, $labeltouse, 1,
'');
498 if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
499 $subject = $arraydefaultmessage->topic;
500 $msg = $arraydefaultmessage->content;
509 $sendto = $thirdparty->email;
510 $from = $conf->global->MAILING_EMAIL_FROM;
511 $urlback = $_SERVER[
"REQUEST_URI"];
515 $mailfile =
new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(),
'',
'', 0, $ishtml);
517 $result = $mailfile->sendfile();
519 dol_syslog(
"EMail sent to ".$sendto, LOG_DEBUG, 0,
'_payment');
521 dol_syslog(
"Failed to send EMail to ".$sendto, LOG_ERR, 0,
'_payment');
524 $securekeyurl =
dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.
'conferenceorbooth'.$id, 2);
525 $redirection = $dolibarr_main_url_root.
'/public/eventorganization/subscriptionok.php?id='.$id.
'&securekey='.$securekeyurl;
526 Header(
"Location: ".$redirection);
546 print
'<div class="center">';
547 print
'<span class="large">'.$project->title.
'</span><br>';
548 print
img_picto(
'',
'calendar',
'class="pictofixedwidth"').$langs->trans(
"Date").
': ';
550 if ($project->date_end && $project->date_start != $project->date_end) {
551 print
' - '.dol_print_date($project->date_end,
'daytext');
553 print
'<br><br>'.
"\n";
560 print
load_fiche_titre($langs->trans(
"NewSuggestionOfBooth"),
'',
'', 0, 0,
'center');
563 print
'<div align="center">';
564 print
'<div id="divsubscribe">';
565 print
'<div class="center subscriptionformhelptext justify">';
570 print
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="POST" name="newmember">'.
"\n";
571 print
'<input type="hidden" name="token" value="'.newToken().
'" / >';
572 print
'<input type="hidden" name="entity" value="'.$entity.
'" />';
573 print
'<input type="hidden" name="action" value="add" />';
574 print
'<input type="hidden" name="id" value="'.$id.
'" />';
575 print
'<input type="hidden" name="securekey" value="'.$securekeyreceived.
'" />';
579 print
'<br><span class="opacitymedium">'.$langs->trans(
"FieldsWithAreMandatory",
'*').
'</span><br>';
584 print
'<script type="text/javascript">
585 jQuery(document).ready(function () {
586 jQuery(document).ready(function () {
587 jQuery("#selectcountry_id").change(function() {
588 document.newmember.action.value="create";
589 document.newmember.submit();
595 print
'<table class="border" summary="form to subscribe" id="tablesubscribe">'.
"\n";
598 print
'<tr><td><label for="lastname">'.$langs->trans(
"Lastname").
'<span style="color: red">*</span></label></td>';
599 print
'<td colspan="3"><input name="lastname" id="lastname" type="text" class="maxwidth100onsmartphone" maxlength="80" value="'.dol_escape_htmltag(
GETPOST(
"lastname",
'alpha') ?
GETPOST(
"lastname",
'alpha') : $object->lastname).
'" autofocus="autofocus"></td>';
602 print
'<tr><td>'.$langs->trans(
"Email").
'<span style="color: red">*</span></td><td><input type="text" name="email" maxlength="255" class="minwidth150" value="'.
dol_escape_htmltag(
GETPOST(
'email')).
'"></td></tr>'.
"\n";
604 print
'<tr id="trcompany" class="trcompany"><td>'.$langs->trans(
"Company").
'<span style="color: red">*</span>';
605 print
' </td><td><input type="text" name="societe" class="minwidth150" value="'.dol_escape_htmltag(
GETPOST(
'societe')).
'"></td></tr>'.
"\n";
607 print
'<tr><td>'.$langs->trans(
"Address").
'</td><td>'.
"\n";
608 print
'<textarea name="address" id="address" wrap="soft" class="quatrevingtpercent" rows="'.ROWS_3.
'">'.
dol_escape_htmltag(
GETPOST(
'address',
'restricthtml'), 0, 1).
'</textarea></td></tr>'.
"\n";
610 print
'<tr><td>'.$langs->trans(
'Zip').
' / '.$langs->trans(
'Town').
'</td><td>';
611 print $formcompany->select_ziptown(
GETPOST(
'zipcode'),
'zipcode', array(
'town',
'selectcountry_id',
'state_id'), 6, 1);
613 print $formcompany->select_ziptown(
GETPOST(
'town'),
'town', array(
'zipcode',
'selectcountry_id',
'state_id'), 0, 1);
616 print
'<tr><td>'.$langs->trans(
'Country');
617 print
'<span style="color:red">*</span>';
620 $country_id =
GETPOST(
'country_id');
621 if (!$country_id && !empty($conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE)) {
622 $country_id =
getCountry($conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE, 2, $db, $langs);
624 if (!$country_id && !empty($conf->geoipmaxmind->enabled)) {
628 $new_country_id =
getCountry($country_code, 3, $db, $langs);
630 if ($new_country_id) {
631 $country_id = $new_country_id;
635 $country_code =
getCountry($country_id, 2, $db, $langs);
636 print
$form->select_country($country_id,
'country_id');
639 if (empty($conf->global->SOCIETE_DISABLE_STATE)) {
640 print
'<tr><td>'.$langs->trans(
'State').
'</td><td>';
642 print $formcompany->select_state(
GETPOST(
"state_id"), $country_code);
649 print
'<tr><td>'.$langs->trans(
"Format").
'<span style="color: red">*</span></td>'.
"\n";
650 print
'<td>'.Form::selectarray(
'eventtype', $arrayofconfboothtype, $eventtype, 1).
'</td>';
652 print
'<tr><td>'.$langs->trans(
"LabelOfBooth").
'<span style="color: red">*</span></td>'.
"\n";
653 print
'</td><td><input type="text" name="label" class="minwidth150" value="'.dol_escape_htmltag(
GETPOST(
'label')).
'"></td></tr>'.
"\n";
655 print
'<tr><td>'.$langs->trans(
"Description").
'<span style="color: red">*</span></td>'.
"\n";
656 print
'<td><textarea name="note" id="note" wrap="soft" class="quatrevingtpercent" rows="'.ROWS_3.
'">'.
dol_escape_htmltag(
GETPOST(
'note',
'restricthtml'), 0, 1).
'</textarea></td></tr>'.
"\n";
664 print
'<div class="center">';
666 print
'<input type="submit" value="'.$langs->trans(
"SuggestBooth").
'" name="suggestbooth" id="suggestbooth" class="button">';
674 print
'</div></div>';
Class to manage different types of events.
Class to send emails (with attachments or not) Usage: $mailfile = new CMailFile($subject,...
Class to manage categories.
Class for ConferenceOrBooth.
Class to manage invoices.
const TYPE_STANDARD
Standard invoice.
Class to manage payment terms records in dictionary.
Class to manage products or services.
Class to manage projects.
Class to manage third parties objects (customers, suppliers, prospects...)
Class to manage translations.
getCountry($searchkey, $withcode='', $dbtouse=0, $outputlangs='', $entconv=1, $searchlabel='')
Return country label, code or id from an id, code or label.
if(isModEnabled('facture') &&!empty($user->rights->facture->lire)) if((isModEnabled('fournisseur') &&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) && $user->hasRight("fournisseur", "facture", "lire"))||(isModEnabled('supplier_invoice') && $user->hasRight("supplier_invoice", "lire"))) if(isModEnabled('don') &&!empty($user->rights->don->lire)) if(isModEnabled('tax') &&!empty($user->rights->tax->charges->lire)) if(isModEnabled('facture') &&isModEnabled('commande') && $user->hasRight("commande", "lire") &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) $resql
Social contributions to pay.
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
dol_time_plus_duree($time, $duration_value, $duration_unit, $ruleforendofmonth=0)
Add a delay to a date.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed informations (by default a local PHP server timestamp) Re...
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='')
Show tabs of a record.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields.
dol_user_country()
Return country code for current user.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='')
Set event messages in dol_events session object.
printCommonFooter($zone='private')
Print common footer : conf->global->MAIN_HTML_FOOTER js for switch of menu hider js for conf->global-...
dol_strlen($string, $stringencoding='UTF-8')
Make a strlen call.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
if(!function_exists('dol_getprefix')) dol_include_once($relpath, $classname='')
Make an include_once using default root and alternate root if it fails.
dol_now($mode='auto')
Return date for now.
getDolGlobalInt($key, $default=0)
Return dolibarr global constant int value.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
complete_substitutions_array(&$substitutionarray, $outputlangs, $object=null, $parameters=null, $callfunc="completesubstitutionarray")
Complete the $substitutionarray with more entries coming from external module that had set the "subst...
make_substitutions($text, $substitutionarray, $outputlangs=null, $converttextinhtmlifnecessary=0)
Make substitution into a text string, replacing keys with vals from $substitutionarray (oldval=>newva...
dol_textishtml($msg, $option=0)
Return if a text is a html content.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessage($mesgs, $style='mesgs')
Set event message in dol_events session object.
getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $object=null)
Return array of possible common substitutions.
isValidEmail($address, $acceptsupervisorkey=0, $acceptuserkey=0)
Return true if email syntax is ok.
getUserRemoteIP()
Return the IP of remote user.
get_default_tva(Societe $thirdparty_seller, Societe $thirdparty_buyer, $idprod=0, $idprodfournprice=0)
Function that return vat rate of a product line (according to seller, buyer and product vat rate) VAT...
dol_htmloutput_errors($mesgstring='', $mesgarray=array(), $keepembedded=0)
Print formated error messages to output (Used to show messages on html output).
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $disableforlogin=0, $disablenofollow=0, $disablenoindex=0)
Ouput html header of a page.
httponly_accessforbidden($message=1, $http_response_code=403, $stringalreadysanitized=0)
Show a message to say access is forbidden and stop program.
dol_hash($chain, $type='0')
Returns a hash (non reversible encryption) of a string.
if(empty($conf->eventorganization->enabled)) llxHeaderVierge($title, $head="", $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='')
Show header for new member.
llxFooterVierge()
Show footer for new member.