43 print
"Error, template page can't be called as URL";
48$langs->load(
"modulebuilder");
50$listofexamplesforlink =
'Societe:societe/class/societe.class.php<br>Contact:contact/class/contact.class.php<br>Product:product/class/product.class.php<br>Project:projet/class/project.class.php';
54<!-- BEGIN PHP TEMPLATE admin_extrafields_add.tpl.php -->
56 jQuery(document).ready(
function() {
57 function init_typeoffields(
type)
59 console.log(
"admin_extrafields_add select a new type (add) = "+
type);
60 var size = jQuery(
"#size");
61 var computed_value = jQuery(
"#computed_value");
62 var ai_prompt = jQuery(
"#ai_prompt");
63 var langfile = jQuery(
"#langfile");
64 var default_value = jQuery(
"#default_value");
65 var unique = jQuery(
"#unique");
66 var required = jQuery(
"#required");
67 var alwayseditable = jQuery(
"#alwayseditable");
68 var emptyonclone = jQuery(
"#emptyonclone");
69 var list = jQuery(
"#list");
70 var totalizable = jQuery(
"#totalizable");
72 if ((
GETPOST(
'type',
'alpha') !=
"select") && (
GETPOST(
'type',
'alpha') !=
"sellist")) {
73 print
'jQuery("#value_choice").hide();';
76 if (
GETPOST(
'type',
'alpha') ==
"separate") {
77 print
"jQuery('#size, #default_value, #langfile').val('').prop('disabled', true);";
78 print
'jQuery("#value_choice").hide();';
84 jQuery(
"tr.extra_computed_value").show();
86 computed_value.val(
''); jQuery(
"tr.extra_computed_value").hide();
88 if (computed_value.val())
90 console.log(
"We enter a computed formula");
91 jQuery(
"#default_value").val(
'');
93 jQuery(
"#default_value, #unique, #required, #alwayseditable, #emptyonclone, #list").attr(
'disabled',
true);
94 jQuery(
"tr.extra_default_value, tr.extra_unique, tr.extra_required, tr.extra_alwayseditable, tr.extra_emptyonclone, tr.extra_list").hide();
98 console.log(
"No computed formula");
99 jQuery(
"#default_value, #unique, #required, #alwayseditable, #emptyonclone, #list").attr(
'disabled',
false);
100 jQuery(
"tr.extra_default_value, tr.extra_unique, tr.extra_required, tr.extra_alwayseditable, tr.extra_emptyonclone, tr.extra_list").show();
104 if (
type ==
'text' ||
type ==
'varchar' ||
type ==
'int' ||
type ==
'double' ||
type ==
'price' ||
type ==
'html') {
105 jQuery(
"tr.extra_ai_prompt").show();
107 jQuery(ai_prompt).val(
''); jQuery(
"tr.extra_ai_prompt").hide();
110 if (
type ==
'date') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").hide();jQuery(
"#helpchkbxlst").hide(); }
111 else if (
type ==
'datetime') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").hide(); jQuery(
"#helpchkbxlst").hide();}
112 else if (
type ==
'double') { size.val(
'24,8').removeAttr(
'disabled'); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").hide(); jQuery(
"#helpchkbxlst").hide();}
113 else if (
type ==
'int') { size.val(
'10').removeAttr(
'disabled'); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").hide(); jQuery(
"#helpchkbxlst").hide();}
114 else if (
type ==
'text') { size.val(
'2000').removeAttr(
'disabled'); unique.prop(
'disabled',
true).removeAttr(
'checked'); jQuery(
"#value_choice").hide();jQuery(
"#helpchkbxlst").hide(); }
115 else if (
type ==
'html') { size.val(
'2000').removeAttr(
'disabled'); unique.prop(
'disabled',
true).removeAttr(
'checked'); jQuery(
"#value_choice").hide();jQuery(
"#helpchkbxlst").hide(); }
116 else if (
type ==
'varchar') { size.val(
'255').removeAttr(
'disabled'); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").hide();jQuery(
"#helpchkbxlst").hide(); }
117 else if (
type ==
'password') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); required.val(
'').prop(
'disabled',
true); default_value.val(
'').prop(
'disabled',
true); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helppassword").show();}
118 else if (
type ==
'boolean') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").hide();jQuery(
"#helpchkbxlst").hide();}
119 else if (
type ==
'price') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").hide();jQuery(
"#helpchkbxlst").hide();}
120 else if (
type ==
'pricecy') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").hide();jQuery(
"#helpchkbxlst").hide();}
121 else if (
type ==
'select') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helpselect").show();}
122 else if (
type ==
'sellist') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helpsellist").show();}
123 else if (
type ==
'radio') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helpselect").show();}
124 else if (
type ==
'checkbox') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helpselect").show();}
125 else if (
type ==
'chkbxlst') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helpchkbxlst").show();}
126 else if (
type ==
'link') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helplink").show();}
127 else if (
type ==
'point') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helplink").show();}
128 else if (
type ==
'linestrg') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helplink").show();}
129 else if (
type ==
'polygon') { size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").show(); jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helplink").show();}
130 else if (
type ==
'stars') { size.val(
'5').removeAttr(
'disabled'); unique.removeAttr(
'disabled'); jQuery(
"#value_choice").hide(); jQuery(
"#helpchkbxlst").hide();}
131 else if (
type ==
'separate') {
132 langfile.val(
'').prop(
'disabled',
true);size.val(
'').prop(
'disabled',
true); unique.removeAttr(
'checked').prop(
'disabled',
true); required.val(
'').prop(
'disabled',
true);
133 jQuery(
"#value_choice").show();
134 jQuery(
".spanforparamtooltip").hide(); jQuery(
"#helpseparate").show();
137 size.val(
'').prop(
'disabled',
true);
138 unique.removeAttr(
'disabled');
141 if (
type ==
'separate' ||
type ==
'point' ||
type ==
'linestrg' ||
type ==
'polygon')
143 required.removeAttr(
'checked').prop(
'disabled',
true); alwayseditable.removeAttr(
'checked').prop(
'disabled',
true); emptyonclone.removeAttr(
'checked').prop(
'disabled',
true); list.removeAttr(
'checked').prop(
'disabled',
true);
144 jQuery(
'#size, #default_value, #langfile').val(
'').prop(
'disabled',
true);
145 jQuery(
'#list').val(3);
149 default_value.removeAttr(
'disabled');
150 langfile.removeAttr(
'disabled');required.removeAttr(
'disabled'); alwayseditable.removeAttr(
'disabled'); emptyonclone.removeAttr(
'disabled'); list.removeAttr(
'disabled');
153 init_typeoffields(
'<?php echo GETPOST('type', 'alpha
'); ?>');
154 jQuery(
"#type").change(
function() {
155 init_typeoffields($(
this).val());
159 jQuery(
"#computed_value").keyup(
function() {
160 init_typeoffields(jQuery(
'#type').val());
164 <?php
if (!
getDolGlobalInt(
'MAIN_EXTRAFIELDS_CODE_AUTOFILL_DISABLED')) : ?>
165 jQuery(
"#label").keyup(function() {
166 console.log(
"Update new field");
167 $(
"#attrname").val( $(
this).val().normalize(
'NFD').replace(/\s/g,
"_").replace(/[^a-zA-Z0-9_]/g,
'').toLowerCase() );
173<form action=
"<?php echo $_SERVER["PHP_SELF
"]; ?>" method=
"post">
174<input
type=
"hidden" name=
"token" value=
"<?php echo newToken(); ?>">
175<input
type=
"hidden" name=
"action" value=
"add">
179<
table summary=
"listofattributes" class=
"border centpercent">
181<tr><td
class=
"titlefieldcreate fieldrequired"><?php echo $langs->trans(
"LabelOrTranslationKey"); ?></td><td
class=
"valeur"><input
type=
"text" name=
"label" id=
"label" class=
"width200" value=
"<?php echo GETPOST('label', 'alpha'); ?>" autofocus spellcheck=
"false"></td></tr>
183<tr><td
class=
"fieldrequired"><?php echo $form->textwithpicto($langs->trans(
"AttributeCode"), $langs->trans(
"AttributeCodeHelp")); ?></td><td
class=
"valeur"><input
type=
"text" name=
"attrname" id=
"attrname" size=
"10" value=
"<?php echo GETPOST('attrname', 'alpha'); ?>" pattern=
"\w+"> <span
class=
"opacitymedium">(<?php echo $langs->trans(
"AlphaNumOnlyLowerCharsAndNoSpace"); ?>)</span></td></tr>
185<tr><td
class=
"fieldrequired"><?php echo $langs->trans(
"Type"); ?></td><td
class=
"valeur">
188if (empty($formadmin)) {
189 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formadmin.class.php';
192print $formadmin->selectTypeOfFields(
'type',
GETPOST(
'type',
'alpha'));
196<tr
class=
"extra_size"><td><?php echo $langs->trans(
"Size"); ?></td><td
class=
"valeur"><input
id=
"size" type=
"text" name=
"size" class=
"width50" value=
"<?php echo(GETPOST('size', 'alpha') ? GETPOST('size', 'alpha') : ''); ?>"></td></tr>
197<!-- Default Value (
for select list / radio/ checkbox) -->
198<tr
id=
"value_choice">
200 <?php echo $langs->trans(
"Value"); ?>
203 <
table class=
"nobordernopadding">
205 <textarea
name=
"param" id=
"param" cols=
"80" rows=
"<?php echo ROWS_4 ?>" spellcheck=
"false""><?php echo GETPOST('param', 'alpha'); ?></textarea>
207 <span id="helpselect
" class="spanforparamtooltip
"><?php print $form->textwithpicto('', $langs->trans("ExtrafieldParamHelpselect
"), 1, 'info', '', 0, 2, 'helpvalue1')?></span>
208 <span id="helpsellist
" class="spanforparamtooltip
"><?php print $form->textwithpicto('', $langs->trans("ExtrafieldParamHelpsellist
").'<br>'.$langs->trans("ExtrafieldParamHelpsellistb
").'<br>'.$langs->trans("ExtrafieldParamHelpsellistc
").'<br>'.$langs->trans("ExtrafieldParamHelpsellistd
").(getDolGlobalInt('MAIN_FEATUREES_LEVEL') > 0 ? '<br>'.$langs->trans("ExtrafieldParamHelpsellist2
") : ''), 1, 'info', '', 0, 2, 'helpvalue2')?></span>
209 <span id="helpchkbxlst
" class="spanforparamtooltip
"><?php print $form->textwithpicto('', $langs->trans("ExtrafieldParamHelpsellist
").'<br>'.$langs->trans("ExtrafieldParamHelpsellistb
").'<br>'.$langs->trans("ExtrafieldParamHelpsellistc
").'<br>'.$langs->trans("ExtrafieldParamHelpsellistd
").(getDolGlobalInt('MAIN_FEATUREES_LEVEL') > 0 ? '<br>'.$langs->trans("ExtrafieldParamHelpsellist2
") : ''), 1, 'info', '', 0, 2, 'helpvalue3')?></span>
210 <span id="helplink
" class="spanforparamtooltip
"><?php print $form->textwithpicto('', $langs->trans("ExtrafieldParamHelplink
").'<br><br>'.$langs->trans("Examples
").':<br>'.$listofexamplesforlink, 1, 'info', '', 0, 2, 'helpvalue4')?></span>
211 <span id="helppassword
" class="spanforparamtooltip
"><?php print $form->textwithpicto('', $langs->trans("ExtrafieldParamHelpPassword
"), 1, 'info', '', 0, 2, 'helpvalue5')?></span>
212 <span id="helpseparate
" class="spanforparamtooltip
"><?php print $form->textwithpicto('', $langs->trans("ExtrafieldParamHelpSeparator
"), 1, 'info', '', 0, 2, 'helpvalue6')?></span>
218<tr><td class="titlefield
"><?php echo $langs->trans("Position"); ?></td><td class="valeur
"><input type="text
" name="pos
" class="width50
" value="<?php echo GETPOSTISSET(
'pos') ?
GETPOSTINT(
'pos') : 100; ?>
"></td></tr>
219<!-- Language file -->
220<tr><td class="titlefield
"><?php echo $langs->trans("LanguageFile
"); ?></td><td class="valeur
"><input type="text
" id="langfile
" name="langfile
" class="minwidth200
" value="<?php echo
dol_escape_htmltag(
GETPOST(
'langfile',
'alpha')); ?>
"></td></tr>
221<!-- Computed Value -->
222<tr class="extra_computed_value
">
224 global $dolibarr_main_restrict_eval_methods;
225if (!isset($dolibarr_main_restrict_eval_methods)) {
226 $showfunctions = 'getDolGlobalString, getDolGlobalInt, getDolCurrency, getDolEntity, getDolDBType, fetchNoCompute, hasRight, isAdmin, isExternalUser, isModEnabled, isStringVarMatching, abs, min, max, round, dol_now, preg_match';
228 $showfunctions = $dolibarr_main_restrict_eval_methods ? $dolibarr_main_restrict_eval_methods : $langs->transnoentitiesnoconv("None
");
231if (!getDolGlobalString('MAIN_STORE_COMPUTED_EXTRAFIELDS')) {
233 <td><?php echo $form->textwithpicto($langs->trans("ComputedFormula
"), $langs->trans("ComputedFormulaDesc
", '$objectoffield', $showfunctions).'<br>'.$langs->trans("ComputedFormulaDesc2
").'<br><br>'.$langs->trans("ComputedFormulaDesc3
"), 1, 'help', '', 0, 2, 'tooltipcompute'); ?></td>
236 <td><?php echo $form->textwithpicto($langs->trans("ComputedFormula
"), $langs->trans("ComputedFormulaDesc
", '$objectoffield', $showfunctions).'<br>'.$langs->trans("ComputedFormulaDesc2
").'<br><br>'.$langs->trans("ComputedFormulaDesc3
")).$form->textwithpicto($langs->trans("Computedpersistent
"), $langs->trans("ComputedpersistentDesc
"), 1, 'warning'); ?></td>
238<td class="valeur
"><textarea name="computed_value
" id="computed_value
" class="quatrevingtpercent
" rows="<?php echo ROWS_4 ?>
"><?php echo(GETPOSTISSET('computed_value') ? GETPOST('computed_value', 'restricthtml') : ''); ?></textarea></td>
241<tr class="extra_ai_prompt
">
243 if ($elementtype == "projet
") {
244 $elementtype = "project
";
246 $elementprop = getElementProperties($elementtype);
247 $object = fetchObjectByElement(0, $elementtype);
248 if ($elementprop["module
"] == "adherent
") {
249 $elementprop["module
"] = "member
";
251 if ($elementprop["module
"] == "projet
") {
252 $elementprop["module
"] = "project
";
254 if ($elementprop["module
"] == "contrat
") {
255 $elementprop["module
"] = "contract
";
256 $object->element = "contract
";
258 if ($elementprop["module
"] == "ficheinter
") {
259 $elementprop["module
"] = "intervention
";
261 $substitutionarray = getCommonSubstitutionArray($langs, 1, null, $object, array("object", $elementprop["module
"]));
262 $texthelp = $langs->trans("AIPromptExtrafieldDesc
").'<br><br>';
263 $texthelp .= $langs->trans("FollowingConstantsWillBeSubstituted
").'<br><small>';
264 foreach ($substitutionarray as $key => $val) {
265 $texthelp .= $key.' -> '.$val.'<br>';
267 $texthelp .= '</small>';
268 echo $form->textwithpicto($langs->trans("AIPromptExtrafield
"), $texthelp, 1, 'help', 'valignmiddle', 0, 3, 'abc');?></td>
269<td class="valeur
"><textarea name="ai_prompt
" id="ai_prompt
" class="quatrevingtpercent
" rows="<?php echo ROWS_4 ?>
"><?php echo(GETPOSTISSET('ai_prompt') ? GETPOST('ai_prompt', 'restricthtml') : ''); ?></textarea></td></tr>
270<!-- Default Value (at sql setup level) -->
271<tr class="extra_default_value
"><td><?php echo $langs->trans("DefaultValue
").' <span class="opacitymedium small
">('.$langs->trans("Database").')</span>'; ?></td><td class="valeur
"><input id="default_value
" type="text
" name="default_value
" class="minwidth200
" value="<?php echo(
GETPOST(
'default_value',
'alpha') ?
GETPOST(
'default_value',
'alpha') :
''); ?>
" spellcheck="false"></td></tr>
273<tr class="extra_unique
"><td><?php echo $langs->trans("Unique
").' <span class="opacitymedium small
">('.$langs->trans("Database").')</span>'; ?></td><td class="valeur
"><input id="unique
" type="checkbox
" name="unique
"<?php echo(GETPOST('unique', 'alpha') ? ' checked' : ''); ?>></td></tr>
275<tr class="extra_required
"><td><?php echo $langs->trans("Mandatory
").' <span class="opacitymedium small
">('.$langs->trans("Database").')</span>'; ?></td><td class="valeur
"><input id="required
" type="checkbox
" name="required
"<?php echo(GETPOST('required', 'alpha') ? ' checked' : ''); ?>></td></tr>
276<!-- Always editable -->
277<tr class="extra_alwayseditable
"><td><?php echo $form->textwithpicto($langs->trans("AlwaysEditable
"), $langs->trans("EditableWhenDraftOnly
")); ?></td><td class="valeur
"><input id="alwayseditable
" type="checkbox
" name="alwayseditable
"<?php echo((GETPOST('alwayseditable', 'alpha') || !GETPOST('button', 'alpha')) ? ' checked' : ''); ?>></td></tr>
278<!-- Empty on clone -->
279<tr class="extra_emptyonclone
"><td><?php echo $form->textwithpicto($langs->trans("EmptyOnClone
"), $langs->trans("EmptyOnCloneDesc
")); ?></td><td class="valeur
"><input id="emptyonclone
" type="checkbox
" name="emptyonclone
"<?php echo((GETPOST('emptyonclone', 'alpha')) ? ' checked' : ''); ?>></td></tr>
280<!-- Personal Data (RGPD) -->
281<tr class="extra_personal_data
"><td><?php echo $form->textwithpicto($langs->trans("IsPersonalData
"), $langs->trans("IsPersonalDataDesc
")); ?></td><td class="valeur
"><input id="personal_data
" type="checkbox
" name="personal_data
" value="1
"<?php echo (GETPOST('personal_data', 'alpha') ? ' checked' : ''); ?>></td></tr>
283<tr><td class="extra_list
"><?php echo $form->textwithpicto($langs->trans("Visibility
"), $langs->trans("VisibleDesc
").'<br><br>'.$langs->trans("ItCanBeAnExpression
")); ?>
284</td><td class="valeur
"><input id="list
" class="minwidth200
" type="text
" name="list
" value="<?php echo GETPOSTISSET(
'list') ?
GETPOST(
'list') :
'1'; ?>
"></td></tr>
285<!-- Visibility for PDF-->
286<tr><td class="extra_pdf
"><?php echo $form->textwithpicto($langs->trans("DisplayOnPdf
"), $langs->trans("DisplayOnPdfDesc
")); ?>
287</td><td class="valeur
"><input id="printable
" class="width50
" type="text
" name="printable
" value="<?php echo
dolPrintHTMLForAttribute(GETPOSTISSET(
'printable') ?
GETPOST(
'printable') :
'0'); ?>
"></td></tr>
289<!-- Visibility for getNomUrl -->
290<tr><td class="extra_showintooltip
"><?php echo $form->textwithpicto($langs->trans("DisplayExtraOnTooltip
"), $langs->trans("DisplayExtraOnTooltipDesc
")); ?>
291</td><td class="valeur
"><input id="showintooltip
" type="checkbox
" name="showintooltip
" value="1
" <?php echo(GETPOST('showintooltip', 'alpha') ? ' checked' : ''); ?>></td></tr>
294<tr class="extra_totalizable
"><td><?php echo $langs->trans("Totalizable
"); ?></td><td class="valeur
"><input id="totalizable
" type="checkbox
" name="totalizable
" <?php echo(GETPOST('totalizable', 'alpha') ? ' checked' : ''); ?> ></td></tr>
296<tr class="help
"><td><?php echo $form->textwithpicto($langs->trans("HelpOnTooltip
"), $langs->trans("HelpOnTooltipDesc
")); ?></td><td class="valeur
"><input id="help
" class="quatrevingtpercent
" type="text
" name="help
" value="<?php echo
dol_escape_htmltag((empty($help) ?
'' : $help)); ?>
"></td></tr>
299<tr class="help
"><td><?php echo $form->textwithpicto($langs->trans("CssOnEdit
"), $langs->trans("HelpCssOnEditDesc
")); ?></td><td class="valeur
"><input id="css
" class="minwidth200
" type="text
" name="css
" value="<?php echo
dol_escape_htmltag((empty($css) ?
'' : $css)); ?>
"></td></tr>
301<tr class="help
"><td><?php echo $form->textwithpicto($langs->trans("CssOnView
"), $langs->trans("HelpCssOnViewDesc
")); ?></td><td class="valeur
"><input id="cssview
" class="minwidth200
" type="text
" name="cssview
" value="<?php echo
dol_escape_htmltag((empty($cssview) ?
'' : $cssview)); ?>
"></td></tr>
303<tr class="help
"><td><?php echo $form->textwithpicto($langs->trans("CssOnList
"), $langs->trans("HelpCssOnListDesc
")); ?></td><td class="valeur
"><input id="csslist
" class="minwidth200
" type="text
" name="csslist
" value="<?php echo
dol_escape_htmltag((empty($csslist) ?
'' : $csslist)); ?>
"></td></tr>
305<?php if (isModEnabled('multicompany')) { ?>
306 <!-- Multicompany entity -->
307 <tr><td><?php echo $langs->trans("AllEntities
"); ?></td><td class="valeur
"><input id="entitycurrentorall
" type="checkbox
" name="entitycurrentorall
"<?php echo(GETPOST('entitycurrentorall', 'alpha') ? ' checked' : ''); ?>></td></tr>
311<?php print dol_get_fiche_end(); ?>
313<div class="center
"><input type="submit
" name="button" class="button button-save
" value="<?php echo $langs->trans(
"Save"); ?>
">
314<input type="submit
" name="button" class="button button-cancel
" value="<?php echo $langs->trans(
"Cancel"); ?>
"></div>
318<!-- END PHP TEMPLATE admin_extrafields_add.tpl.php -->
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.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dolPrintHTMLForAttribute($s, $escapeonlyhtmltags=0, $allowothertags=array())
Return a string ready to be output into an HTML attribute (alt, title, data-html, ....
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
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...
multi select button
0 = Do not include form tag and submit button -1 = Do not include form tag but include submit button
treeview li table
No Email.
Class to manage Dolibarr database access for an SQL database.
if(preg_match('/(crypted|dolcrypt):/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
'integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter[:Sortfield]]]',...
$conf db name
Only used if Module[ID]Name translation string is not found.