26if (!defined(
'NOLOGIN')) {
29if (!defined(
'NOCSRFCHECK')) {
30 define(
"NOCSRFCHECK", 1);
32if (!defined(
'NOIPCHECK')) {
33 define(
'NOIPCHECK',
'1');
35if (!defined(
'NOBROWSERNOTIF')) {
36 define(
'NOBROWSERNOTIF',
'1');
43$entity = (!empty($_GET[
'entity']) ? (int) $_GET[
'entity'] : (!empty($_POST[
'entity']) ? (int) $_POST[
'entity'] : 1));
44if (is_numeric($entity)) {
45 define(
"DOLENTITY", $entity);
49require
'../../main.inc.php';
50require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
51require_once DOL_DOCUMENT_ROOT.
'/eventorganization/class/conferenceorbooth.class.php';
52require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
53require_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
54require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
55require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
56require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/paymentterm.class.php';
57require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
58require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
76$backtopage =
GETPOST(
'backtopage',
'alpha');
77$action =
GETPOST(
'action',
'aZ09');
89$resultproject = $project->fetch((
int) $id);
90if ($resultproject < 0) {
92 $errmsg .= $project->error;
96$securekeyreceived =
GETPOST(
'securekey',
'alpha');
99if ($securekeytocompare != $securekeyreceived) {
100 print $langs->trans(
'MissingOrBadSecureKey');
105$langs->loadLangs(array(
"main",
"companies",
"install",
"other",
"eventorganization"));
108$hookmanager->initHooks(array(
'publicnewmembercard',
'globalcard'));
110$user->loadDefaultValues();
113$arrayofconfboothtype = $cactioncomm->liste_array(
'',
'id',
'', 0,
"module:=:'booth@eventorganization'");
114if ($arrayofconfboothtype == -1) {
115 $arrayofconfboothtype = [];
137function llxHeaderVierge($title, $head =
"", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [], $ws =
'')
141 top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
143 print
'<body id="mainbody" class="publicnewmemberform">';
146 $urllogo = DOL_URL_ROOT.
'/theme/common/login_logo.png';
148 if (!empty(
$mysoc->logo_small) && is_readable(
$conf->mycompany->dir_output.
'/logos/thumbs/'.
$mysoc->logo_small)) {
149 $urllogo = DOL_URL_ROOT.
'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode(
'logos/thumbs/'.
$mysoc->logo_small);
150 } elseif (!empty(
$mysoc->logo) && is_readable(
$conf->mycompany->dir_output.
'/logos/'.
$mysoc->logo)) {
151 $urllogo = DOL_URL_ROOT.
'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode(
'logos/'.
$mysoc->logo);
152 } elseif (is_readable(DOL_DOCUMENT_ROOT.
'/theme/dolibarr_logo.svg')) {
153 $urllogo = DOL_URL_ROOT.
'/theme/dolibarr_logo.svg';
156 print
'<div class="center">';
160 print
'<div class="backgreypublicpayment">';
161 print
'<div class="logopublicpayment">';
162 print
'<img id="dolpaymentlogo" src="'.$urllogo.
'"';
166 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>';
172 print
'<div class="backimagepublicsuggestbooth">';
173 print
'<img id="idPROJECT_IMAGE_PUBLIC_SUGGEST_BOOTH" src="' .
getDolGlobalString(
'PROJECT_IMAGE_PUBLIC_SUGGEST_BOOTH').
'">';
179 print
'<div class="divmainbodylarge">';
205$parameters = array();
207$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $project, $action);
213if (empty($reshook) && $action ==
'add') {
222 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Name")).
"<br>\n";
226 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Email")).
"<br>\n";
228 if (!
GETPOST(
"country_id") && !empty((
float) $project->price_booth)) {
230 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Country")).
"<br>\n";
234 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"ThirdParty")).
"<br>\n";
238 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Label")).
"<br>\n";
242 $errmsg .= $langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Note")).
"<br>\n";
246 $langs->load(
"errors");
247 $errmsg .= $langs->trans(
"ErrorBadEMail",
GETPOST(
"email")).
"<br>\n";
255 $resultfetchthirdparty = $thirdparty->fetch(0, $societe);
257 if ($resultfetchthirdparty < 0) {
260 $errmsg .= $thirdparty->error;
261 $errors = array_merge($errors, $thirdparty->errors);
262 } elseif ($resultfetchthirdparty == 0) {
264 $genericcompanyname =
'Unknown company';
266 if (!empty($societe)) {
267 $thirdparty->name = $societe;
269 $thirdparty->name = $genericcompanyname;
271 $thirdparty->address =
GETPOST(
"address");
272 $thirdparty->zip =
GETPOST(
"zipcode");
273 $thirdparty->town =
GETPOST(
"town");
274 $thirdparty->client = $thirdparty::PROSPECT;
275 $thirdparty->fournisseur = 0;
276 $thirdparty->country_id =
GETPOSTINT(
"country_id");
277 $thirdparty->state_id =
GETPOSTINT(
"state_id");
278 $thirdparty->email = ($emailcompany ? $emailcompany : $email);
282 if (substr($module, 0, 15) ==
'mod_codeclient_' && substr($module, -3) ==
'php') {
283 $module = substr($module, 0,
dol_strlen($module) - 4);
285 $dirsociete = array_merge(array(
'/core/modules/societe/'),
$conf->modules_parts[
'societe']);
286 foreach ($dirsociete as $dirroot) {
292 $modCodeClient =
new $module(
$db);
293 '@phan-var-force ModeleThirdPartyCode $modCodeClient';
296 if (empty($tmpcode) && !empty($modCodeClient->code_auto)) {
297 $tmpcode = $modCodeClient->getNextValue($thirdparty, 0);
299 $thirdparty->code_client = $tmpcode;
300 $readythirdparty = $thirdparty->create($user);
301 if ($readythirdparty < 0) {
303 $errmsg .= $thirdparty->error;
304 $errors = array_merge($errors, $thirdparty->errors);
306 $thirdparty->country_code =
getCountry($thirdparty->country_id,
'2',
$db, $langs);
307 $thirdparty->country =
getCountry($thirdparty->country_code,
'',
$db, $langs);
313 $resultcontact = $contact->fetch(0,
null,
'', $email);
314 if ($resultcontact <= 0) {
316 $contact->socid = $thirdparty->id;
318 $contact->firstname = (
string)
GETPOST(
"firstname",
'alpha');
322 $contact->country_id =
GETPOSTINT(
"country_id");
324 $contact->email = $email;
325 $contact->status = 1;
326 $contact->statut = 1;
328 $resultcreatecontact = $contact->create($user);
329 if ($resultcreatecontact < 0) {
331 $errmsg .= $contact->error;
340 $resultcategory = $category->fetch(
getDolGlobalInt(
'EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH'));
342 if ($resultcategory <= 0) {
344 $errmsg .= $category->error;
346 $resultsetcategory = $thirdparty->setCategoriesCommon(array($category->id), Categorie::TYPE_CUSTOMER,
false);
347 if ($resultsetcategory < 0) {
349 $errmsg .= $thirdparty->error;
351 $thirdparty->fournisseur = 1;
355 if (substr($module, 0, 15) ==
'mod_codeclient_' && substr($module, -3) ==
'php') {
356 $module = substr($module, 0,
dol_strlen($module) - 4);
358 $dirsociete = array_merge(array(
'/core/modules/societe/'),
$conf->modules_parts[
'societe']);
359 foreach ($dirsociete as $dirroot) {
365 $modCodeFournisseur =
new $module(
$db);
366 '@phan-var-force ModeleThirdPartyCode $modCodeFournisseur';
368 if (empty($tmpcode) && !empty($modCodeFournisseur->code_auto)) {
369 $tmpcode = $modCodeFournisseur->getNextValue($thirdparty, 1);
371 $thirdparty->code_fournisseur = $tmpcode;
373 $res = $thirdparty->update(0, $user, 1, 1, 1);
385 $conforbooth->label = $label;
386 $conforbooth->fk_soc = $thirdparty->id;
387 $conforbooth->fk_project = $project->id;
388 $conforbooth->note = $note;
389 $conforbooth->fk_action = $eventtype;
390 $conforbooth->datep = $datestart;
391 $conforbooth->datep2 = $dateend;
392 $conforbooth->datec =
dol_now();
396 $nb_post_max =
getDolGlobalInt(
"MAIN_SECURITY_MAX_POST_ON_PUBLIC_PAGES_BY_IP_ADDRESS", 200);
402 if ($nb_post_max > 0) {
403 $sql =
"SELECT COUNT(ref) as nb_confs";
404 $sql .=
" FROM ".MAIN_DB_PREFIX.
"actioncomm";
405 $sql .=
" WHERE ip = '".$db->escape($conforbooth->ip).
"'";
406 $sql .=
" AND datec > '".$db->idate($minmonthpost).
"'";
407 $resql =
$db->query($sql);
409 $num =
$db->num_rows($resql);
413 $obj =
$db->fetch_object($resql);
414 $nb_post_ip = $obj->nb_confs;
419 $resultconforbooth = 0;
421 if ($nb_post_max > 0 && $nb_post_ip >= $nb_post_max) {
423 $errmsg .= $langs->trans(
"AlreadyTooMuchPostOnThisIPAdress");
424 array_push($conforbooth->errors, $langs->trans(
"AlreadyTooMuchPostOnThisIPAdress"));
427 $resultconforbooth = $conforbooth->create($user);
429 if ($resultconforbooth <= 0) {
431 $errmsg .= $conforbooth->error;
434 $resultaddcontact = $conforbooth->add_contact($contact->id,
'RESPONSIBLE');
435 if ($resultaddcontact < 0) {
437 $errmsg .= $conforbooth->error;
441 if (!empty((
float) $project->price_booth)) {
443 $resultprod = $productforinvoicerow->fetch(
getDolGlobalInt(
'SERVICE_BOOTH_LOCATION'));
444 if ($resultprod < 0) {
446 $errmsg .= $productforinvoicerow->error;
450 $facture->socid = $thirdparty->id;
453 $facture->cond_reglement_id = $contact->cond_reglement_id;
454 $facture->fk_project = $project->id;
456 if (empty($facture->cond_reglement_id)) {
457 $paymenttermstatic =
new PaymentTerm($contact->db);
458 $facture->cond_reglement_id = $paymenttermstatic->getDefaultId();
459 if (empty($facture->cond_reglement_id)) {
461 $contact->error =
'ErrorNoPaymentTermRECEPFound';
462 $contact->errors[] = $contact->error;
465 $resultfacture = $facture->create($user);
466 if ($resultfacture <= 0) {
467 $contact->setErrorsFromObject($facture);
471 $facture->add_object_linked($conforbooth->element, $conforbooth->id);
475 if (!$error && is_object($facture)) {
478 $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')), (
float) $project->price_booth, 1, $vattouse, 0, 0, $productforinvoicerow->id, 0,
dol_now(),
'', 0, 0, 0,
'HT', 0, 1);
480 $contact->setErrorsFromObject($facture);
497 $conforbooth->status = ConferenceOrBooth::STATUS_SUGGESTED;
498 $conforbooth->update($user);
505 if (!$error && is_object($thirdparty)) {
509 require_once DOL_DOCUMENT_ROOT.
'/core/class/CMailFile.class.php';
510 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formmail.class.php';
514 $outputlangs->setDefaultLang(empty($thirdparty->default_lang) ?
$mysoc->default_lang : $thirdparty->default_lang);
516 $outputlangs->loadLangs(array(
"main",
"members",
"eventorganization"));
518 $arraydefaultmessage =
null;
520 $labeltouse =
getDolGlobalInt(
'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH');
521 if (!empty($labeltouse)) {
522 $arraydefaultmessage = $formmail->getEMailTemplate(
$db,
'conferenceorbooth', $user, $outputlangs, $labeltouse, 1,
'');
527 if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
528 $subject = $arraydefaultmessage->topic;
529 $msg = $arraydefaultmessage->content;
532 $substitutionarray = getCommonSubstitutionArray($outputlangs, 0,
null, $thirdparty);
538 $sendto = $thirdparty->email;
540 $urlback = $_SERVER[
"REQUEST_URI"];
541 $trackid =
'proj'.$project->id;
545 $mailfile =
new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(),
'',
'', 0, $ishtml ? 1 : 0,
'',
'', $trackid);
547 $result = $mailfile->sendfile();
549 dol_syslog(
"EMail sent to ".$sendto, LOG_DEBUG, 0,
'_payment');
551 dol_syslog(
"Failed to send EMail to ".$sendto, LOG_ERR, 0,
'_payment');
556 header(
"Location: ".$redirection);
574print
'<div align="center">';
575print
'<div id="divsubscribe">';
580print
'<div class="center subscriptionformbanner subbanner justify margintoponly paddingtop marginbottomonly padingbottom">';
581print
load_fiche_titre($langs->trans(
"NewSuggestionOfBooth"),
'',
'', 0,
'',
'center');
583print
'<span class="opacitymedium">'.$langs->trans(
"EvntOrgRegistrationWelcomeMessage").
'</span>';
586print
'<span class="eventlabel large">'.dol_escape_htmltag($project->title .
' '. $project->label).
'</span><br>';
591print
'<div class="justify subscriptionformhelptext">';
593if ($project->date_start_event || $project->date_end_event) {
594 print
'<br><span class="fa fa-calendar pictofixedwidth opacitymedium"></span>';
596if ($project->date_start_event) {
598 $tmparray =
dol_getdate($project->date_start_event,
false,
'');
599 if ($tmparray[
'hours'] || $tmparray[
'minutes'] || $tmparray[
'minutes']) {
604if ($project->date_start_event && $project->date_end_event) {
607if ($project->date_end_event) {
609 $tmparray =
dol_getdate($project->date_end_event,
false,
'');
610 if ($tmparray[
'hours'] || $tmparray[
'minutes'] || $tmparray[
'minutes']) {
615if ($project->date_start_event || $project->date_end_event) {
618if ($project->location) {
619 print
'<span class="fa fa-map-marked-alt pictofixedwidth opacitymedium"></span>'.dol_escape_htmltag($project->location).
'<br>';
621if ($project->note_public) {
622 print
'<br><!-- note public --><span class="opacitymedium">'.dol_htmlentitiesbr($project->note_public).
'</span><br>';
633print
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="POST" name="newmember">'.
"\n";
634print
'<input type="hidden" name="token" value="'.newToken().
'" / >';
635print
'<input type="hidden" name="entity" value="'.$entity.
'" />';
636print
'<input type="hidden" name="action" value="add" />';
637print
'<input type="hidden" name="id" value="'.$id.
'" />';
638print
'<input type="hidden" name="securekey" value="'.$securekeyreceived.
'" />';
641print
'<br><span class="opacitymedium">'.$langs->trans(
"FieldsWithAreMandatory",
'*').
'</span><br>';
646print
'<script type="text/javascript">
647jQuery(document).ready(function () {
648 jQuery(document).ready(function () {
649 jQuery("#selectcountry_id").change(function() {
650 document.newmember.action.value="create";
651 document.newmember.submit();
657print
'<table class="border" summary="form to subscribe" id="tablesubscribe">'.
"\n";
660print
'<tr><td><label for="lastname">'.$langs->trans(
"Lastname").
'<span class="star">*</span></label></td>';
661print
'<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>';
664print
'<tr><td>'.$langs->trans(
"Email").
'<span class="star">*</span></td><td><input type="text" name="email" maxlength="255" class="minwidth150" value="'.
dol_escape_htmltag(
GETPOST(
'email')).
'"></td></tr>'.
"\n";
666print
'<tr id="trcompany" class="trcompany"><td>'.$langs->trans(
"Company").
'<span class="star">*</span>';
667print
' </td><td><input type="text" name="societe" class="minwidth150" value="'.dol_escape_htmltag(
GETPOST(
'societe')).
'"></td></tr>'.
"\n";
669print
'<tr><td>'.$langs->trans(
"Address").
'</td><td>'.
"\n";
670print
'<textarea name="address" id="address" wrap="soft" class="quatrevingtpercent" rows="'.ROWS_3.
'">'.
dol_escape_htmltag(
GETPOST(
'address',
'restricthtml'), 0, 1).
'</textarea></td></tr>'.
"\n";
672print
'<tr><td>'.$langs->trans(
'Zip').
' / '.$langs->trans(
'Town').
'</td><td>';
673print $formcompany->select_ziptown(
GETPOST(
'zipcode'),
'zipcode', array(
'town',
'selectcountry_id',
'state_id'), 6, 1);
675print $formcompany->select_ziptown(
GETPOST(
'town'),
'town', array(
'zipcode',
'selectcountry_id',
'state_id'), 0, 1);
678print
'<tr><td>'.$langs->trans(
'Country');
679print
'<span class="star">*</span>';
681$country_id =
GETPOST(
'country_id');
683 $country_id =
getCountry(
$conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE,
'2',
$db, $langs);
685if (!$country_id && !empty(
$conf->geoipmaxmind->enabled)) {
689 $new_country_id =
getCountry($country_code,
'3',
$db, $langs);
691 if ($new_country_id) {
692 $country_id = $new_country_id;
697print $form->select_country($country_id,
'country_id');
701 print
'<tr><td>'.$langs->trans(
'State').
'</td><td>';
703 print $formcompany->select_state(
GETPOSTINT(
"state_id"), $country_code);
710print
'<tr><td>'.$langs->trans(
"Format").
'<span class="star">*</span></td>'.
"\n";
711print
'<td>'.Form::selectarray(
'eventtype', $arrayofconfboothtype, $eventtype, 1).
'</td>';
713print
'<tr><td>'.$langs->trans(
"LabelOfBooth").
'<span class="star">*</span></td>'.
"\n";
714print
'</td><td><input type="text" name="label" class="minwidth150" value="'.dol_escape_htmltag(
GETPOST(
'label')).
'"></td></tr>'.
"\n";
716print
'<tr><td>'.$langs->trans(
"Description").
'<span class="star">*</span></td>'.
"\n";
717print
'<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";
725print
'<div class="center">';
727print
'<input type="submit" value="'.$langs->trans(
"SuggestBooth").
'" name="suggestbooth" id="suggestbooth" class="button">';
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
global $dolibarr_main_url_root
llxFooterVierge()
Footer function.
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=null, $outputlangs=null, $entconv=1, $searchlabel='')
Return country label, code or id from an id, code or label.
dol_time_plus_duree($time, $duration_value, $duration_unit, $ruleforendofmonth=0)
Add a delay to a date.
dol_now($mode='gmt')
Return date for now.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
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_user_country()
Return country code for current user.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
setEventMessage($mesgs, $style='mesgs', $noduplicate=0, $attop=0)
Set event message 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.
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.
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.
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).
getUserRemoteIP($trusted=0)
Return the real IP of remote user.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
isValidEmail($address, $acceptsupervisorkey=0, $acceptuserkey=0)
Return true if email syntax is ok.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
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 formatted 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.
dol_getdate($timestamp, $fast=false, $forcetimezone='')
Return an array with locale date info.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
print $langs trans("Show") . '< td style="' . $timeColor . '" align="center"> s</td > badge status0 badge status4 badge status3 Error badge status8< td align="center">< span class="badge ' . $badge . '"></span ></td >< td align="center">< a href="#" class="button button-small" onclick="openLogModal(this)" data-req="' . dol_escape_htmltag($reqSafe) . '" data-res="' . dol_escape_htmltag($resSafe) . '" data-err="' . dol_escape_htmltag($errSafe) . '">< span class="fa fa-search-plus"></span ></a ></td ></tr >< tr >< td colspan="' . $colspan . '" class="opacitymedium"></td ></tr ></table ></div ></form > logModal none logModal none s a JSON string
buildzip.php
top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs=array(), $arrayofcss=array(), $disableforlogin=0, $disablenofollow=0, $disablenoindex=0)
Output 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', $nosalt=0, $mode=0)
Returns a hash (non reversible encryption) of a string.
if($arrayofconfboothtype==-1) if(!isModEnabled( 'eventorganization')) llxHeaderVierge($title, $head="", $disablejs=0, $disablehead=0, $arrayofjs=[], $arrayofcss=[], $ws='')
Show header for new member.