28require
'../../main.inc.php';
29require_once DOL_DOCUMENT_ROOT.
'/core/lib/asset.lib.php';
30require_once DOL_DOCUMENT_ROOT.
"/core/lib/admin.lib.php";
35$langs->loadLangs(array(
"admin",
"assets"));
43$action =
GETPOST(
'action',
'aZ09');
44$backtopage =
GETPOST(
'backtopage',
'alpha');
46$value =
GETPOST(
'value',
'alpha');
47$label =
GETPOST(
'label',
'alpha');
48$scandir =
GETPOST(
'scan_dir',
'alpha');
51$arrayofparameters = array(
52 'ASSET_ACCOUNTANCY_CATEGORY' => array(
'type' =>
'accountancy_category',
'enabled' => 1),
53 'ASSET_DEPRECIATION_DURATION_PER_YEAR' => array(
'type' =>
'string',
'css' =>
'minwidth200',
'enabled' => 1),
66$dirmodels = array_merge(array(
'/'), (array) $conf->modules_parts[
'models']);
69$myTmpObjects = array();
70$myTmpObjects[
'asset'] = array(
'label' =>
'Asset',
'includerefgeneration' => 1,
'includedocgeneration' => 0,
'class' =>
'Asset');
72$tmpobjectkey =
GETPOST(
'object',
'aZ09');
73if ($tmpobjectkey && !array_key_exists($tmpobjectkey, $myTmpObjects)) {
82include DOL_DOCUMENT_ROOT.
'/core/actions_setmoduleoptions.inc.php';
84if ($action ==
'updateMask') {
85 $maskconst =
GETPOST(
'maskconst',
'alpha');
86 $mask =
GETPOST(
'mask',
'alpha');
88 if ($maskconst && preg_match(
'/_MASK$/', $maskconst)) {
100} elseif ($action ==
'specimen' && $tmpobjectkey) {
101 $modele =
GETPOST(
'module',
'alpha');
103 $className = $myTmpObjects[$tmpobjectkey][
'class'];
104 $tmpobject =
new $className($db);
105 $tmpobject->initAsSpecimen();
110 $dirmodels = array_merge(array(
'/'), (array) $conf->modules_parts[
'models']);
111 foreach ($dirmodels as $reldir) {
112 $file =
dol_buildpath($reldir.
"core/modules/asset/doc/pdf_".$modele.
"_".strtolower($tmpobjectkey).
".modules.php", 0);
113 if (file_exists($file)) {
114 $classname =
"pdf_".$modele;
119 if ($classname !==
'') {
122 $module =
new $classname($db);
123 '@phan-var-force CommonDocGenerator $module';
125 if ($module->write_file($tmpobject, $langs) > 0) {
126 header(
"Location: ".DOL_URL_ROOT.
"/document.php?modulepart=".strtolower($tmpobjectkey).
"&file=SPECIMEN.pdf");
134 dol_syslog($langs->trans(
"ErrorModuleNotFound"), LOG_ERR);
136} elseif ($action ==
'setmod') {
138 if (!empty($tmpobjectkey)) {
139 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
"_ADDON";
142} elseif ($action ==
'set') {
145} elseif ($action ==
'del') {
148 if (!empty($tmpobjectkey)) {
149 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
'_ADDON_PDF';
155} elseif ($action ==
'setdoc') {
157 if (!empty($tmpobjectkey)) {
158 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
'_ADDON_PDF';
162 $conf->global->$constforval = $value;
171} elseif ($action ==
'unsetdoc') {
172 if (!empty($tmpobjectkey)) {
173 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
'_ADDON_PDF';
184$form =
new Form($db);
187$page_name =
"AssetSetup";
189llxHeader(
'', $langs->trans($page_name), $help_url);
192$linkback =
'<a href="'.($backtopage ? $backtopage : DOL_URL_ROOT.
'/admin/modules.php?restore_lastsearch_values=1').
'">'.$langs->trans(
"BackToModuleList").
'</a>';
201echo
'<span class="opacitymedium">'.$langs->trans(
"AssetSetupPage").
'</span>';
204foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) {
205 if ($myTmpObjectArray[
'includerefgeneration']) {
211 print
load_fiche_titre($langs->trans(
"NumberingModules", $myTmpObjectKey),
'',
'');
213 print
'<table class="noborder centpercent">';
214 print
'<tr class="liste_titre">';
215 print
'<td>'.$langs->trans(
"Name").
'</td>';
216 print
'<td>'.$langs->trans(
"Description").
'</td>';
217 print
'<td class="nowrap">'.$langs->trans(
"Example").
'</td>';
218 print
'<td class="center" width="60">'.$langs->trans(
"Status").
'</td>';
219 print
'<td class="center" width="16">'.$langs->trans(
"ShortInfo").
'</td>';
224 foreach ($dirmodels as $reldir) {
228 $handle = opendir($dir);
229 if (is_resource($handle)) {
230 while (($file = readdir($handle)) !==
false) {
231 if (strpos($file,
'mod_'.strtolower($myTmpObjectKey).
'_') === 0 && substr($file,
dol_strlen($file) - 3, 3) ==
'php') {
232 $file = substr($file, 0,
dol_strlen($file) - 4);
234 require_once $dir.
'/'.$file.
'.php';
236 $module =
new $file($db);
237 '@phan-var-force CommonNumRefGenerator $module';
240 if ($module->version ==
'development' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 2) {
243 if ($module->version ==
'experimental' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 1) {
247 if ($module->isEnabled()) {
248 dol_include_once(
'/'.$moduledir.
'/class/'.strtolower($myTmpObjectKey).
'.class.php');
250 print
'<tr class="oddeven"><td>'.$module->name.
"</td><td>\n";
251 print $module->info($langs);
255 print
'<td class="nowrap">';
256 $tmp = $module->getExample();
257 if (preg_match(
'/^Error/', $tmp)) {
258 $langs->load(
"errors");
259 print
'<div class="error">'.$langs->trans($tmp).
'</div>';
260 } elseif ($tmp ==
'NotConfigured') {
261 print $langs->trans($tmp);
267 print
'<td class="center">';
268 $constforvar =
'ASSET_'.strtoupper($myTmpObjectKey).
'_ADDON';
270 print
img_picto($langs->trans(
"Activated"),
'switch_on');
272 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=setmod&token='.
newToken().
'&object='.strtolower($myTmpObjectKey).
'&value='.urlencode($file).
'">';
273 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
278 $className = $myTmpObjectArray[
'class'];
279 $mytmpinstance =
new $className($db);
280 $mytmpinstance->initAsSpecimen();
284 $htmltooltip .=
''.$langs->trans(
"Version").
': <b>'.$module->getVersion().
'</b><br>';
286 $nextval = $module->getNextValue($mytmpinstance);
287 if (
"$nextval" != $langs->trans(
"NotAvailable")) {
288 $htmltooltip .=
''.$langs->trans(
"NextValue").
': ';
290 if (preg_match(
'/^Error/', $nextval) || $nextval ==
'NotConfigured') {
291 $nextval = $langs->trans($nextval);
293 $htmltooltip .= $nextval.
'<br>';
295 $htmltooltip .= $langs->trans($module->error).
'<br>';
299 print
'<td class="center">';
300 print $form->textwithpicto(
'', $htmltooltip, 1, 0);
311 print
"</table><br>\n";
314 if ($myTmpObjectArray[
'includedocgeneration']) {
319 $type = strtolower($myTmpObjectKey);
321 print
load_fiche_titre($langs->trans(
"DocumentModules", $myTmpObjectKey),
'',
'');
326 $sql .=
" FROM ".MAIN_DB_PREFIX.
"document_model";
327 $sql .=
" WHERE type = '".$db->escape($type).
"'";
328 $sql .=
" AND entity = ".$conf->entity;
329 $resql = $db->query($sql);
332 $num_rows = $db->num_rows($resql);
333 while ($i < $num_rows) {
334 $array = $db->fetch_array($resql);
335 if (is_array($array)) {
336 array_push($def, $array[0]);
344 print
"<table class=\"noborder\" width=\"100%\">\n";
345 print
"<tr class=\"liste_titre\">\n";
346 print
'<td>'.$langs->trans(
"Name").
'</td>';
347 print
'<td>'.$langs->trans(
"Description").
'</td>';
348 print
'<td class="center" width="60">'.$langs->trans(
"Status").
"</td>\n";
349 print
'<td class="center" width="60">'.$langs->trans(
"Default").
"</td>\n";
350 print
'<td class="center" width="38">'.$langs->trans(
"ShortInfo").
'</td>';
351 print
'<td class="center" width="38">'.$langs->trans(
"Preview").
'</td>';
356 foreach ($dirmodels as $reldir) {
357 foreach (array(
'',
'/doc') as $valdir) {
358 $realpath = $reldir.
"core/modules/".$moduledir.$valdir;
362 $handle = opendir($dir);
363 if (is_resource($handle)) {
365 while (($file = readdir($handle)) !==
false) {
371 foreach ($filelist as $file) {
372 if (preg_match(
'/\.modules\.php$/i', $file) && preg_match(
'/^(pdf_|doc_)/', $file)) {
373 if (file_exists($dir.
'/'.$file)) {
374 $name = substr($file, 4,
dol_strlen($file) - 16);
375 $classname = substr($file, 0,
dol_strlen($file) - 12);
377 require_once $dir.
'/'.$file;
378 $module =
new $classname($db);
379 '@phan-var-force CommonDocGenerator $module';
381 $modulequalified = 1;
382 if ($module->version ==
'development' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 2) {
383 $modulequalified = 0;
385 if ($module->version ==
'experimental' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 1) {
386 $modulequalified = 0;
389 if ($modulequalified) {
390 print
'<tr class="oddeven"><td width="100">';
391 print(empty($module->name) ? $name : $module->
name);
393 if (method_exists($module,
'info')) {
394 print $module->info($langs);
396 print $module->description;
401 if (in_array($name, $def)) {
402 print
'<td class="center">'.
"\n";
403 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=del&token='.
newToken().
'&value='.urlencode($name).
'">';
404 print
img_picto($langs->trans(
"Enabled"),
'switch_on');
408 print
'<td class="center">'.
"\n";
409 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=set&token='.
newToken().
'&value='.urlencode($name).
'&scan_dir='.urlencode($module->scandir).
'&label='.urlencode($module->name).
'">'.
img_picto($langs->trans(
"Disabled"),
'switch_off').
'</a>';
414 print
'<td class="center">';
415 $constforvar =
'ASSET_'.strtoupper($myTmpObjectKey).
'_ADDON';
419 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=unsetdoc&token='.
newToken().
'&object='.urlencode(strtolower($myTmpObjectKey)).
'&value='.urlencode($name).
'&scan_dir='.urlencode($module->scandir).
'&label='.urlencode($module->name).
'&type='.urlencode($type).
'" alt="'.$langs->trans(
"Disable").
'">'.
img_picto($langs->trans(
"Enabled"),
'on').
'</a>';
421 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=setdoc&token='.
newToken().
'&object='.urlencode(strtolower($myTmpObjectKey)).
'&value='.urlencode($name).
'&scan_dir='.urlencode($module->scandir).
'&label='.urlencode($module->name).
'" alt="'.$langs->trans(
"Default").
'">'.
img_picto($langs->trans(
"Disabled"),
'off').
'</a>';
426 $htmltooltip =
''.$langs->trans(
"Name").
': '.$module->name;
427 $htmltooltip .=
'<br>'.$langs->trans(
"Type").
': '.($module->type ? $module->type : $langs->trans(
"Unknown"));
428 if ($module->type ==
'pdf') {
429 $htmltooltip .=
'<br>'.$langs->trans(
"Width").
'/'.$langs->trans(
"Height").
': '.$module->page_largeur.
'/'.$module->page_hauteur;
431 $htmltooltip .=
'<br>'.$langs->trans(
"Path").
': '.preg_replace(
'/^\//',
'', $realpath).
'/'.$file;
433 $htmltooltip .=
'<br><br><u>'.$langs->trans(
"FeaturesSupported").
':</u>';
434 $htmltooltip .=
'<br>'.$langs->trans(
"Logo").
': '.
yn($module->option_logo, 1, 1);
435 $htmltooltip .=
'<br>'.$langs->trans(
"MultiLanguage").
': '.
yn($module->option_multilang, 1, 1);
437 print
'<td class="center">';
438 print $form->textwithpicto(
'', $htmltooltip, 1, 0);
442 print
'<td class="center">';
443 if ($module->type ==
'pdf') {
444 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=specimen&module='.$name.
'&object='.$myTmpObjectKey.
'">'.
img_object($langs->trans(
"Preview"),
'pdf').
'</a>';
446 print
img_object($langs->trans(
"PreviewNotAvailable"),
'generic');
464if ($action ==
'edit') {
465 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
466 print
'<input type="hidden" name="token" value="'.newToken().
'">';
467 print
'<input type="hidden" name="action" value="update">';
469 print
'<table class="noborder centpercent">';
470 print
'<tr class="liste_titre"><td class="titlefield">'.$langs->trans(
"Parameter").
'</td><td>'.$langs->trans(
"Value").
'</td></tr>';
472 foreach ($arrayofparameters as $constname => $val) {
473 if ($val[
'enabled'] == 1) {
475 print
'<tr class="oddeven"><td>';
476 $tooltiphelp = (($langs->trans($constname .
'Tooltip') != $constname .
'Tooltip') ? $langs->trans($constname .
'Tooltip') :
'');
477 print
'<span id="helplink'.$constname.
'" class="spanforparamtooltip">'.$form->textwithpicto($langs->trans($constname), $tooltiphelp, 1,
'info',
'', 0, 3,
'tootips'.$constname).
'</span>';
480 if ($val[
'type'] ==
'textarea') {
481 print
'<textarea class="flat" name="'.$constname.
'" id="'.$constname.
'" cols="50" rows="5" wrap="soft">' .
"\n";
483 print
"</textarea>\n";
484 } elseif ($val[
'type'] ==
'html') {
485 require_once DOL_DOCUMENT_ROOT .
'/core/class/doleditor.class.php';
486 $doleditor =
new DolEditor($constname,
getDolGlobalString($constname),
'', 160,
'dolibarr_notes',
'',
false,
false, isModEnabled(
'fckeditor'), ROWS_5,
'90%');
487 $doleditor->Create();
488 } elseif ($val[
'type'] ==
'yesno') {
490 } elseif (preg_match(
'/emailtemplate:/', $val[
'type'])) {
491 include_once DOL_DOCUMENT_ROOT .
'/core/class/html.formmail.class.php';
494 $tmp = explode(
':', $val[
'type']);
495 $nboftemplates = $formmail->fetchAllEMailTemplate($tmp[1], $user,
null, 1);
497 $arrayofmessagename = array();
498 if (is_array($formmail->lines_model)) {
499 foreach ($formmail->lines_model as $modelmail) {
502 if (!empty($arrayofmessagename[$modelmail->label])) {
503 $moreonlabel =
' <span class="opacitymedium">(' . $langs->trans(
"SeveralLangugeVariatFound") .
')</span>';
506 $arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace(
'/\(|\)/',
'', $modelmail->label)) . $moreonlabel;
509 print $form->selectarray($constname, $arrayofmessagename,
getDolGlobalString($constname),
'None', 0, 0,
'', 0, 0, 0,
'',
'', 1);
510 } elseif (preg_match(
'/category:/', $val[
'type'])) {
511 require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
512 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
515 $tmp = explode(
':', $val[
'type']);
516 print
img_picto(
'',
'category',
'class="pictofixedwidth"');
517 print $formother->select_categories($tmp[1],
getDolGlobalString($constname), $constname, 0, $langs->trans(
'CustomersProspectsCategoriesShort'));
518 } elseif (preg_match(
'/thirdparty_type/', $val[
'type'])) {
519 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
521 print $formcompany->selectProspectCustomerType(
getDolGlobalString($constname), $constname);
522 } elseif ($val[
'type'] ==
'securekey') {
523 print
'<input required="required" type="text" class="flat" id="'.$constname.
'" name="'.$constname.
'" value="'.(
GETPOST($constname,
'alpha') ?
GETPOST($constname,
'alpha') :
getDolGlobalString($constname)).
'" size="40">';
524 if (!empty($conf->use_javascript_ajax)) {
525 print
' '.img_picto($langs->trans(
'Generate'),
'refresh',
'id="generate_token'.$constname.
'" class="linkobject"');
529 include_once DOL_DOCUMENT_ROOT.
'/core/lib/security2.lib.php';
531 } elseif ($val[
'type'] ==
'product') {
532 if (isModEnabled(
"product") || isModEnabled(
"service")) {
534 $form->select_produits($selected, $constname,
'', 0);
536 } elseif ($val[
'type'] ==
'accountancy_code') {
538 if (isModEnabled(
'accounting')) {
539 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formaccounting.class.php';
541 print $formaccounting->select_account($selected, $constname, 1,
null, 1, 1,
'minwidth150 maxwidth300', 1);
543 print
'<input name="' . $constname .
'" class="maxwidth200" value="' .
dol_escape_htmltag($selected) .
'">';
545 } elseif ($val[
'type'] ==
'accountancy_category') {
547 if (isModEnabled(
'accounting')) {
548 print
'<input type="text" name="' . $constname .
'" list="pcg_type_datalist" value="' . $selected .
'">';
550 print
'<datalist id="pcg_type_datalist">';
551 require_once DOL_DOCUMENT_ROOT .
'/accountancy/class/accountancysystem.class.php';
554 $sql =
'SELECT DISTINCT pcg_type FROM ' . MAIN_DB_PREFIX .
'accounting_account';
555 $sql .=
" WHERE fk_pcg_version = '" . $db->escape($accountsystem->ref) .
"'";
556 $sql .=
' AND entity in ('.getEntity(
'accounting_account', 0).
')';
557 $sql .=
' LIMIT 50000';
558 $resql = $db->query($sql);
560 while ($obj = $db->fetch_object($resql)) {
566 print
'<input name="' . $constname .
'" class="maxwidth200" value="' .
dol_escape_htmltag($selected) .
'">';
569 print
'<input name="'.$constname.
'" class="flat '.(empty($val[
'css']) ?
'minwidth200' : $val[
'css']).
'" value="'.
getDolGlobalString($constname).
'">';
576 print
'<br><div class="center">';
577 print
'<input class="button button-save" type="submit" value="'.$langs->trans(
"Save").
'">';
583 if (!empty($arrayofparameters)) {
584 print
'<table class="noborder centpercent">';
585 print
'<tr class="liste_titre"><td class="titlefield">'.$langs->trans(
"Parameter").
'</td><td>'.$langs->trans(
"Value").
'</td></tr>';
587 foreach ($arrayofparameters as $constname => $val) {
588 if ($val[
'enabled'] == 1) {
590 print
'<tr class="oddeven"><td>';
591 $tooltiphelp = (($langs->trans($constname .
'Tooltip') != $constname .
'Tooltip') ? $langs->trans($constname .
'Tooltip') :
'');
592 print $form->textwithpicto($langs->trans($constname), $tooltiphelp);
595 if ($val[
'type'] ==
'textarea') {
597 } elseif ($val[
'type'] ==
'html') {
599 } elseif ($val[
'type'] ==
'yesno') {
600 print ajax_constantonoff($constname);
601 } elseif (preg_match(
'/emailtemplate:/', $val[
'type'])) {
602 include_once DOL_DOCUMENT_ROOT .
'/core/class/html.formmail.class.php';
605 $tmp = explode(
':', $val[
'type']);
607 $template = $formmail->getEMailTemplate($db, $tmp[1], $user, $langs,
getDolGlobalString($constname));
611 print $langs->trans($template->label);
612 } elseif (preg_match(
'/category:/', $val[
'type'])) {
617 } elseif ($result > 0) {
618 $ways = $c->print_all_ways(
' >> ',
'none', 0, 1);
620 foreach ($ways as $way) {
621 $toprint[] =
'<li class="select2-search-choice-dolibarr noborderoncategories"' . ($c->color ?
' style="background: #' . $c->color .
';"' :
' style="background: #bbb"') .
'>' . $way .
'</li>';
623 print
'<div class="select2-container-multi-dolibarr" style="width: 90%;"><ul class="select2-choices-dolibarr">' . implode(
' ', $toprint) .
'</ul></div>';
625 } elseif (preg_match(
'/thirdparty_type/', $val[
'type'])) {
627 print $langs->trans(
"Prospect");
629 print $langs->trans(
"ProspectCustomer");
631 print $langs->trans(
"Customer");
633 print $langs->trans(
"NorProspectNorCustomer");
635 } elseif ($val[
'type'] ==
'product') {
640 } elseif ($resprod < 0) {
643 } elseif ($val[
'type'] ==
'accountancy_code') {
644 if (isModEnabled(
'accounting')) {
645 require_once DOL_DOCUMENT_ROOT .
'/accountancy/class/accountingaccount.class.php';
649 print $accountingaccount->getNomUrl(0, 1, 1,
'', 1);
662 print
'<div class="tabsAction">';
663 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a>';
666 print
'<br>'.$langs->trans(
"NothingToSetup");
670if (empty($setupnotempty)) {
671 print
'<br>'.$langs->trans(
"NothingToSetup");
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
addDocumentModel($name, $type, $label='', $description='')
Add document model used by doc generator.
dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
dolibarr_del_const($db, $name, $entity=1)
Delete a constant.
delDocumentModel($name, $type)
Delete document model used by doc generator.
assetAdminPrepareHead()
Prepare admin pages header.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage accountancy systems.
Class to manage accounting accounts.
Class to manage categories.
Class to manage a WYSIWYG editor.
Class to manage products or services.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
yn($yesno, $case=1, $color=0)
Return yes or no in current language.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
dol_nl2br($stringtoencode, $nl2brmode=0, $forxml=false)
Replace CRLF in string with a HTML BR tag.
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.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
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 dolibarr global constant string value.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
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...
$conf db name
Only used if Module[ID]Name translation string is not found.
dolJSToSetRandomPassword($htmlname, $htmlnameofbutton='generate_token', $generic=1)
Output javascript to autoset a generated password using default module into a HTML element.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.