26require
'../../main.inc.php';
27require_once DOL_DOCUMENT_ROOT.
'/core/lib/asset.lib.php';
28require_once DOL_DOCUMENT_ROOT.
"/core/lib/admin.lib.php";
33$langs->loadLangs(array(
"admin",
"assets"));
41$action =
GETPOST(
'action',
'aZ09');
42$backtopage =
GETPOST(
'backtopage',
'alpha');
44$value =
GETPOST(
'value',
'alpha');
45$label =
GETPOST(
'label',
'alpha');
46$scandir =
GETPOST(
'scan_dir',
'alpha');
49$arrayofparameters = array(
50 'ASSET_ACCOUNTANCY_CATEGORY'=>array(
'type'=>
'accountancy_category',
'enabled'=>1),
51 'ASSET_DEPRECIATION_DURATION_PER_YEAR'=>array(
'type'=>
'string',
'css'=>
'minwidth200',
'enabled'=>1),
64$dirmodels = array_merge(array(
'/'), (array) $conf->modules_parts[
'models']);
71include DOL_DOCUMENT_ROOT.
'/core/actions_setmoduleoptions.inc.php';
73if ($action ==
'updateMask') {
74 $maskconst =
GETPOST(
'maskconst',
'alpha');
75 $mask =
GETPOST(
'mask',
'alpha');
77 if ($maskconst && preg_match(
'/_MASK$/', $maskconst)) {
89} elseif ($action ==
'specimen') {
90 $modele =
GETPOST(
'module',
'alpha');
91 $tmpobjectkey =
GETPOST(
'object');
93 $tmpobject =
new $tmpobjectkey($db);
94 $tmpobject->initAsSpecimen();
100 $dirmodels = array_merge(array(
'/'), (array) $conf->modules_parts[
'models']);
101 foreach ($dirmodels as $reldir) {
102 $file =
dol_buildpath($reldir.
"core/modules/asset/doc/pdf_".$modele.
"_".strtolower($tmpobjectkey).
".modules.php", 0);
103 if (file_exists($file)) {
105 $classname =
"pdf_".$modele;
113 $module =
new $classname($db);
115 if ($module->write_file($tmpobject, $langs) > 0) {
116 header(
"Location: ".DOL_URL_ROOT.
"/document.php?modulepart=".strtolower($tmpobjectkey).
"&file=SPECIMEN.pdf");
124 dol_syslog($langs->trans(
"ErrorModuleNotFound"), LOG_ERR);
126} elseif ($action ==
'setmod') {
128 $tmpobjectkey =
GETPOST(
'object');
129 if (!empty($tmpobjectkey)) {
130 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
"_ADDON";
133} elseif ($action ==
'set') {
136} elseif ($action ==
'del') {
139 $tmpobjectkey =
GETPOST(
'object');
140 if (!empty($tmpobjectkey)) {
141 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
'_ADDON_PDF';
147} elseif ($action ==
'setdoc') {
149 $tmpobjectkey =
GETPOST(
'object');
150 if (!empty($tmpobjectkey)) {
151 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
'_ADDON_PDF';
155 $conf->global->$constforval = $value;
164} elseif ($action ==
'unsetdoc') {
165 $tmpobjectkey =
GETPOST(
'object');
166 if (!empty($tmpobjectkey)) {
167 $constforval =
'ASSET_'.strtoupper($tmpobjectkey).
'_ADDON_PDF';
178$form =
new Form($db);
181$page_name =
"AssetSetup";
183llxHeader(
'', $langs->trans($page_name), $help_url);
186$linkback =
'<a href="'.($backtopage ? $backtopage : DOL_URL_ROOT.
'/admin/modules.php?restore_lastsearch_values=1').
'">'.$langs->trans(
"BackToModuleList").
'</a>';
195echo
'<span class="opacitymedium">'.$langs->trans(
"AssetSetupPage").
'</span>';
199$myTmpObjects = array();
200$myTmpObjects[
'Asset'] = array(
'includerefgeneration'=>1,
'includedocgeneration'=>0);
203foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) {
204 if ($myTmpObjectKey ==
'MyObject') {
207 if ($myTmpObjectArray[
'includerefgeneration']) {
213 print
load_fiche_titre($langs->trans(
"NumberingModules", $myTmpObjectKey),
'',
'');
215 print
'<table class="noborder centpercent">';
216 print
'<tr class="liste_titre">';
217 print
'<td>'.$langs->trans(
"Name").
'</td>';
218 print
'<td>'.$langs->trans(
"Description").
'</td>';
219 print
'<td class="nowrap">'.$langs->trans(
"Example").
'</td>';
220 print
'<td class="center" width="60">'.$langs->trans(
"Status").
'</td>';
221 print
'<td class="center" width="16">'.$langs->trans(
"ShortInfo").
'</td>';
226 foreach ($dirmodels as $reldir) {
230 $handle = opendir($dir);
231 if (is_resource($handle)) {
232 while (($file = readdir($handle)) !==
false) {
233 if (strpos($file,
'mod_'.strtolower($myTmpObjectKey).
'_') === 0 && substr($file,
dol_strlen($file) - 3, 3) ==
'php') {
234 $file = substr($file, 0,
dol_strlen($file) - 4);
236 require_once $dir.
'/'.$file.
'.php';
238 $module =
new $file($db);
241 if ($module->version ==
'development' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 2) {
244 if ($module->version ==
'experimental' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 1) {
248 if ($module->isEnabled()) {
249 dol_include_once(
'/'.$moduledir.
'/class/'.strtolower($myTmpObjectKey).
'.class.php');
251 print
'<tr class="oddeven"><td>'.$module->name.
"</td><td>\n";
252 print $module->info($langs);
256 print
'<td class="nowrap">';
257 $tmp = $module->getExample();
258 if (preg_match(
'/^Error/', $tmp)) {
259 $langs->load(
"errors");
260 print
'<div class="error">'.$langs->trans($tmp).
'</div>';
261 } elseif ($tmp ==
'NotConfigured') {
262 print $langs->trans($tmp);
268 print
'<td class="center">';
269 $constforvar =
'ASSET_'.strtoupper($myTmpObjectKey).
'_ADDON';
271 print
img_picto($langs->trans(
"Activated"),
'switch_on');
273 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=setmod&token='.newToken().
'&object='.strtolower($myTmpObjectKey).
'&value='.urlencode($file).
'">';
274 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
279 $mytmpinstance =
new $myTmpObjectKey($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 array_push($def, $array[0]);
342 print
"<table class=\"noborder\" width=\"100%\">\n";
343 print
"<tr class=\"liste_titre\">\n";
344 print
'<td>'.$langs->trans(
"Name").
'</td>';
345 print
'<td>'.$langs->trans(
"Description").
'</td>';
346 print
'<td class="center" width="60">'.$langs->trans(
"Status").
"</td>\n";
347 print
'<td class="center" width="60">'.$langs->trans(
"Default").
"</td>\n";
348 print
'<td class="center" width="38">'.$langs->trans(
"ShortInfo").
'</td>';
349 print
'<td class="center" width="38">'.$langs->trans(
"Preview").
'</td>';
354 foreach ($dirmodels as $reldir) {
355 foreach (array(
'',
'/doc') as $valdir) {
356 $realpath = $reldir.
"core/modules/".$moduledir.$valdir;
360 $handle = opendir($dir);
361 if (is_resource($handle)) {
362 while (($file = readdir($handle)) !==
false) {
368 foreach ($filelist as $file) {
369 if (preg_match(
'/\.modules\.php$/i', $file) && preg_match(
'/^(pdf_|doc_)/', $file)) {
370 if (file_exists($dir.
'/'.$file)) {
371 $name = substr($file, 4,
dol_strlen($file) - 16);
372 $classname = substr($file, 0,
dol_strlen($file) - 12);
374 require_once $dir.
'/'.$file;
375 $module =
new $classname($db);
377 $modulequalified = 1;
378 if ($module->version ==
'development' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 2) {
379 $modulequalified = 0;
381 if ($module->version ==
'experimental' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 1) {
382 $modulequalified = 0;
385 if ($modulequalified) {
386 print
'<tr class="oddeven"><td width="100">';
387 print(empty($module->name) ? $name : $module->
name);
389 if (method_exists($module,
'info')) {
390 print $module->info($langs);
392 print $module->description;
397 if (in_array($name, $def)) {
398 print
'<td class="center">'.
"\n";
399 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=del&token='.newToken().
'&value='.urlencode($name).
'">';
400 print
img_picto($langs->trans(
"Enabled"),
'switch_on');
404 print
'<td class="center">'.
"\n";
405 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>';
410 print
'<td class="center">';
411 $constforvar =
'ASSET_'.strtoupper($myTmpObjectKey).
'_ADDON';
415 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>';
417 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>';
422 $htmltooltip =
''.$langs->trans(
"Name").
': '.$module->name;
423 $htmltooltip .=
'<br>'.$langs->trans(
"Type").
': '.($module->type ? $module->type : $langs->trans(
"Unknown"));
424 if ($module->type ==
'pdf') {
425 $htmltooltip .=
'<br>'.$langs->trans(
"Width").
'/'.$langs->trans(
"Height").
': '.$module->page_largeur.
'/'.$module->page_hauteur;
427 $htmltooltip .=
'<br>'.$langs->trans(
"Path").
': '.preg_replace(
'/^\//',
'', $realpath).
'/'.$file;
429 $htmltooltip .=
'<br><br><u>'.$langs->trans(
"FeaturesSupported").
':</u>';
430 $htmltooltip .=
'<br>'.$langs->trans(
"Logo").
': '.
yn($module->option_logo, 1, 1);
431 $htmltooltip .=
'<br>'.$langs->trans(
"MultiLanguage").
': '.
yn($module->option_multilang, 1, 1);
433 print
'<td class="center">';
434 print $form->textwithpicto(
'', $htmltooltip, 1, 0);
438 print
'<td class="center">';
439 if ($module->type ==
'pdf') {
440 print
'<a href="'.$_SERVER[
"PHP_SELF"].
'?action=specimen&module='.$name.
'&object='.$myTmpObjectKey.
'">'.
img_object($langs->trans(
"Preview"),
'pdf').
'</a>';
442 print
img_object($langs->trans(
"PreviewNotAvailable"),
'generic');
460if ($action ==
'edit') {
461 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
462 print
'<input type="hidden" name="token" value="'.newToken().
'">';
463 print
'<input type="hidden" name="action" value="update">';
465 print
'<table class="noborder centpercent">';
466 print
'<tr class="liste_titre"><td class="titlefield">'.$langs->trans(
"Parameter").
'</td><td>'.$langs->trans(
"Value").
'</td></tr>';
468 foreach ($arrayofparameters as $constname => $val) {
469 if ($val[
'enabled']==1) {
471 print
'<tr class="oddeven"><td>';
472 $tooltiphelp = (($langs->trans($constname .
'Tooltip') != $constname .
'Tooltip') ? $langs->trans($constname .
'Tooltip') :
'');
473 print
'<span id="helplink'.$constname.
'" class="spanforparamtooltip">'.$form->textwithpicto($langs->trans($constname), $tooltiphelp, 1,
'info',
'', 0, 3,
'tootips'.$constname).
'</span>';
476 if ($val[
'type'] ==
'textarea') {
477 print
'<textarea class="flat" name="'.$constname.
'" id="'.$constname.
'" cols="50" rows="5" wrap="soft">' .
"\n";
479 print
"</textarea>\n";
480 } elseif ($val[
'type']==
'html') {
481 require_once DOL_DOCUMENT_ROOT .
'/core/class/doleditor.class.php';
482 $doleditor =
new DolEditor($constname,
getDolGlobalString($constname),
'', 160,
'dolibarr_notes',
'',
false,
false, isModEnabled(
'fckeditor'), ROWS_5,
'90%');
483 $doleditor->Create();
484 } elseif ($val[
'type'] ==
'yesno') {
486 } elseif (preg_match(
'/emailtemplate:/', $val[
'type'])) {
487 include_once DOL_DOCUMENT_ROOT .
'/core/class/html.formmail.class.php';
490 $tmp = explode(
':', $val[
'type']);
491 $nboftemplates = $formmail->fetchAllEMailTemplate($tmp[1], $user,
null, 1);
493 $arrayofmessagename = array();
494 if (is_array($formmail->lines_model)) {
495 foreach ($formmail->lines_model as $modelmail) {
498 if (!empty($arrayofmessagename[$modelmail->label])) {
499 $moreonlabel =
' <span class="opacitymedium">(' . $langs->trans(
"SeveralLangugeVariatFound") .
')</span>';
502 $arrayofmessagename[$modelmail->id] = $langs->trans(preg_replace(
'/\(|\)/',
'', $modelmail->label)) . $moreonlabel;
505 print $form->selectarray($constname, $arrayofmessagename,
getDolGlobalString($constname),
'None', 0, 0,
'', 0, 0, 0,
'',
'', 1);
506 } elseif (preg_match(
'/category:/', $val[
'type'])) {
507 require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
508 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
511 $tmp = explode(
':', $val[
'type']);
512 print
img_picto(
'',
'category',
'class="pictofixedwidth"');
513 print $formother->select_categories($tmp[1],
getDolGlobalString($constname), $constname, 0, $langs->trans(
'CustomersProspectsCategoriesShort'));
514 } elseif (preg_match(
'/thirdparty_type/', $val[
'type'])) {
515 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
517 print $formcompany->selectProspectCustomerType(
getDolGlobalString($constname), $constname);
518 } elseif ($val[
'type'] ==
'securekey') {
519 print
'<input required="required" type="text" class="flat" id="'.$constname.
'" name="'.$constname.
'" value="'.(
GETPOST($constname,
'alpha') ?
GETPOST($constname,
'alpha') :
getDolGlobalString($constname)).
'" size="40">';
520 if (!empty($conf->use_javascript_ajax)) {
521 print
' '.img_picto($langs->trans(
'Generate'),
'refresh',
'id="generate_token'.$constname.
'" class="linkobject"');
525 include_once DOL_DOCUMENT_ROOT.
'/core/lib/security2.lib.php';
527 } elseif ($val[
'type'] ==
'product') {
528 if (isModEnabled(
"product") || isModEnabled(
"service")) {
530 $form->select_produits($selected, $constname,
'', 0);
532 } elseif ($val[
'type'] ==
'accountancy_code') {
534 if (isModEnabled(
'accounting')) {
535 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formaccounting.class.php';
537 print $formaccounting->select_account($selected, $constname, 1,
null, 1, 1,
'minwidth150 maxwidth300', 1);
539 print
'<input name="' . $constname .
'" class="maxwidth200" value="' .
dol_escape_htmltag($selected) .
'">';
541 } elseif ($val[
'type'] ==
'accountancy_category') {
543 if (isModEnabled(
'accounting')) {
544 print
'<input type="text" name="' . $constname .
'" list="pcg_type_datalist" value="' . $selected .
'">';
546 print
'<datalist id="pcg_type_datalist">';
547 require_once DOL_DOCUMENT_ROOT .
'/accountancy/class/accountancysystem.class.php';
550 $sql =
'SELECT DISTINCT pcg_type FROM ' . MAIN_DB_PREFIX .
'accounting_account';
551 $sql .=
" WHERE fk_pcg_version = '" . $db->escape($accountsystem->ref) .
"'";
552 $sql .=
' AND entity in ('.getEntity(
'accounting_account', 0).
')';
553 $sql .=
' LIMIT 50000';
554 $resql = $db->query($sql);
556 while ($obj = $db->fetch_object($resql)) {
562 print
'<input name="' . $constname .
'" class="maxwidth200" value="' .
dol_escape_htmltag($selected) .
'">';
565 print
'<input name="'.$constname.
'" class="flat '.(empty($val[
'css']) ?
'minwidth200' : $val[
'css']).
'" value="'.
getDolGlobalString($constname).
'">';
572 print
'<br><div class="center">';
573 print
'<input class="button button-save" type="submit" value="'.$langs->trans(
"Save").
'">';
579 if (!empty($arrayofparameters)) {
580 print
'<table class="noborder centpercent">';
581 print
'<tr class="liste_titre"><td class="titlefield">'.$langs->trans(
"Parameter").
'</td><td>'.$langs->trans(
"Value").
'</td></tr>';
583 foreach ($arrayofparameters as $constname => $val) {
584 if ($val[
'enabled']==1) {
586 print
'<tr class="oddeven"><td>';
587 $tooltiphelp = (($langs->trans($constname .
'Tooltip') != $constname .
'Tooltip') ? $langs->trans($constname .
'Tooltip') :
'');
588 print $form->textwithpicto($langs->trans($constname), $tooltiphelp);
591 if ($val[
'type'] ==
'textarea') {
593 } elseif ($val[
'type']==
'html') {
595 } elseif ($val[
'type'] ==
'yesno') {
596 print ajax_constantonoff($constname);
597 } elseif (preg_match(
'/emailtemplate:/', $val[
'type'])) {
598 include_once DOL_DOCUMENT_ROOT .
'/core/class/html.formmail.class.php';
601 $tmp = explode(
':', $val[
'type']);
603 $template = $formmail->getEMailTemplate($db, $tmp[1], $user, $langs,
getDolGlobalString($constname));
607 print $langs->trans($template->label);
608 } elseif (preg_match(
'/category:/', $val[
'type'])) {
613 } elseif ($result > 0) {
614 $ways = $c->print_all_ways(
' >> ',
'none', 0, 1);
616 foreach ($ways as $way) {
617 $toprint[] =
'<li class="select2-search-choice-dolibarr noborderoncategories"' . ($c->color ?
' style="background: #' . $c->color .
';"' :
' style="background: #bbb"') .
'>' . $way .
'</li>';
619 print
'<div class="select2-container-multi-dolibarr" style="width: 90%;"><ul class="select2-choices-dolibarr">' . implode(
' ', $toprint) .
'</ul></div>';
621 } elseif (preg_match(
'/thirdparty_type/', $val[
'type'])) {
623 print $langs->trans(
"Prospect");
625 print $langs->trans(
"ProspectCustomer");
627 print $langs->trans(
"Customer");
629 print $langs->trans(
"NorProspectNorCustomer");
631 } elseif ($val[
'type'] ==
'product') {
636 } elseif ($resprod < 0) {
639 } elseif ($val[
'type'] ==
'accountancy_code') {
640 if (isModEnabled(
'accounting')) {
641 require_once DOL_DOCUMENT_ROOT .
'/accountancy/class/accountingaccount.class.php';
645 print $accountingaccount->getNomUrl(0, 1, 1,
'', 1);
658 print
'<div class="tabsAction">';
659 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=edit&token='.newToken().
'">'.$langs->trans(
"Modify").
'</a>';
662 print
'<br>'.$langs->trans(
"NothingToSetup");
666if (empty($setupnotempty)) {
667 print
'<br>'.$langs->trans(
"NothingToSetup");
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($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
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_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
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.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
if(!function_exists( 'dol_getprefix')) dol_include_once($relpath, $classname='')
Make an include_once using default root and alternate root if it fails.
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.
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)
Ouput javacript 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.