Config setup.php for numbering module

Hello.

I’d like to know something about config numbering module for a new module.

I was looking the code and I founf this

$moduledir = ‘memorandum’;
$myTmpObjects = array();
$myTmpObjects[‘MyObject’] = array(‘includerefgeneration’=>0, ‘includedocgeneration’=>0);

foreach ($myTmpObjects as $myTmpObjectKey => $myTmpObjectArray) {
if ($myTmpObjectKey == ‘MyObject’) continue;
if ($myTmpObjectArray[‘includerefgeneration’]) {
/*
* Orders Numbering model
*/
$setupnotempty++;

	print load_fiche_titre($langs->trans("NumberingModules", $myTmpObjectKey), '', '');

	print '<table class="noborder centpercent">';
	print '<tr class="liste_titre">';
	print '<td>'.$langs->trans("Name").'</td>';
	print '<td>'.$langs->trans("Description").'</td>';
	print '<td class="nowrap">'.$langs->trans("Example").'</td>';
	print '<td class="center" width="60">'.$langs->trans("Status").'</td>';
	print '<td class="center" width="16">'.$langs->trans("ShortInfo").'</td>';
	print '</tr>'."\n";

	clearstatcache();

	foreach ($dirmodels as $reldir)
	{
		$dir = dol_buildpath($reldir."core/modules/".$moduledir);

		if (is_dir($dir))
		{
			$handle = opendir($dir);
			if (is_resource($handle))
			{
				while (($file = readdir($handle)) !== false)
				{
					if (strpos($file, 'mod_'.strtolower($myTmpObjectKey).'_') === 0 && substr($file, dol_strlen($file) - 3, 3) == 'php')
					{
						$file = substr($file, 0, dol_strlen($file) - 4);

						require_once $dir.'/'.$file.'.php';

						$module = new $file($db);

						// Show modules according to features level
						if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
						if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;

						if ($module->isEnabled())
						{
							dol_include_once('/'.$moduledir.'/class/'.strtolower($myTmpObjectKey).'.class.php');

							print '<tr class="oddeven"><td>'.$module->name."</td><td>\n";
							print $module->info();
							print '</td>';

							// Show example of numbering model
							print '<td class="nowrap">';
							$tmp = $module->getExample();
							if (preg_match('/^Error/', $tmp)) {
								$langs->load("errors");
								print '<div class="error">'.$langs->trans($tmp).'</div>';
							} elseif ($tmp == 'NotConfigured') print $langs->trans($tmp);
							else print $tmp;
							print '</td>'."\n";

							print '<td class="center">';
							$constforvar = 'MEMORANDUM_'.strtoupper($myTmpObjectKey).'_ADDON';
							if ($conf->global->$constforvar == $file)
							{
								print img_picto($langs->trans("Activated"), 'switch_on');
							} else {
								print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&token='.newToken().'&object='.strtolower($myTmpObjectKey).'&value='.urlencode($file).'">';
								print img_picto($langs->trans("Disabled"), 'switch_off');
								print '</a>';
							}
							print '</td>';

							$mytmpinstance = new $myTmpObjectKey($db);
							$mytmpinstance->initAsSpecimen();

							// Info
							$htmltooltip = '';
							$htmltooltip .= ''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';

							$nextval = $module->getNextValue($mytmpinstance);
							if ("$nextval" != $langs->trans("NotAvailable")) {  // Keep " on nextval
								$htmltooltip .= ''.$langs->trans("NextValue").': ';
								if ($nextval) {
									if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured')
										$nextval = $langs->trans($nextval);
										$htmltooltip .= $nextval.'<br>';
								} else {
									$htmltooltip .= $langs->trans($module->error).'<br>';
								}
							}

							print '<td class="center">';
							print $form->textwithpicto('', $htmltooltip, 1, 0);
							print '</td>';

							print "</tr>\n";
						}
					}
				}
				closedir($handle);
			}
		}
	}
	print "</table><br>\n";
}

So, In the variable $myTmpObjects[‘MyObject’] is t necesary to change the name to the name of the new module? or what changes I have to do? Cause I tried many thins but I couldn’t make it works.

Can you help me?

Dolibarr is a versatile ERP that doesnot need you to change in code unless you are trying to do something very major.

Pl go to setup and check on settings of each module to create custom fields or translation to change names or follow the guide to create a new module for your own.

Hello. thakns for your reply. I just found I had to change this line:
$myTmpObjects[‘MyObject’] = array(‘includerefgeneration’=>0, ‘includedocgeneration’=>0);

to

$myTmpObjects[‘name_of_object’] = array(‘includerefgeneration’=>1, ‘includedocgeneration’=>1);

that allow me to see and config numbering and document generator

1 Like