31require
'../../main.inc.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
33require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
34require_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
46$langs->loadLangs(array(
"admin",
"accountancy",
"companies",
"other"));
48$action =
GETPOST(
'action',
'aZ09');
49$value =
GETPOST(
'value',
'alpha');
50$modulepart =
GETPOST(
'modulepart',
'aZ09');
65include DOL_DOCUMENT_ROOT.
'/core/actions_setmoduleoptions.inc.php';
67if ($action ==
'setcodeclient') {
74if ($action ==
'setcodecompta') {
81if ($action ==
'updateoptions') {
82 if (GETPOSTISSET(
'COMPANY_USE_SEARCH_TO_SELECT')) {
83 $companysearch =
GETPOST(
'activate_COMPANY_USE_SEARCH_TO_SELECT',
'alpha');
95 if (GETPOSTISSET(
'CONTACT_USE_SEARCH_TO_SELECT')) {
96 $contactsearch =
GETPOST(
'activate_CONTACT_USE_SEARCH_TO_SELECT',
'alpha');
108 if (GETPOSTISSET(
'THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT')) {
109 $customertypedefault =
GETPOSTINT(
'defaultcustomertype');
110 $res =
dolibarr_set_const($db,
"THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT", $customertypedefault,
'chaine', 0,
'',
$conf->entity);
122 $rolessearch =
GETPOST(
'activate_CONTACTS_DEFAULT_ROLES',
'array:aZ09');
123 $res =
dolibarr_set_const($db,
"CONTACTS_DEFAULT_ROLES", implode(
',', $rolessearch),
'chaine', 0,
'',
$conf->entity);
136if ($action ==
'set') {
137 $label =
GETPOST(
'label',
'alpha');
138 $scandir =
GETPOST(
'scan_dir',
'alpha');
141 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"document_model (nom, type, entity, libelle, description)";
142 $sql .=
" VALUES ('".$db->escape($value).
"', '".$db->escape($type).
"', ".((int)
$conf->entity).
", ";
143 $sql .= ($label ?
"'".$db->escape($label).
"'" :
'null').
", ";
144 $sql .= (!empty($scandir) ?
"'".$db->escape($scandir).
"'" :
"null");
147 $resql = $db->query($sql);
154if ($action ==
'del') {
156 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"document_model";
157 $sql .=
" WHERE nom='".$db->escape($value).
"' AND type='".$db->escape($type).
"' AND entity=".((int)
$conf->entity);
158 $resql = $db->query($sql);
165if ($action ==
'setdoc') {
166 $label =
GETPOST(
'label',
'alpha');
167 $scandir =
GETPOST(
'scan_dir',
'alpha');
175 $sql_del =
"DELETE FROM ".MAIN_DB_PREFIX.
"document_model";
176 $sql_del .=
" WHERE nom = '".$db->escape(
GETPOST(
'value',
'alpha')).
"'";
177 $sql_del .=
" AND type = '".$db->escape($type).
"'";
178 $sql_del .=
" AND entity = ".((int)
$conf->entity);
180 $result1 = $db->query($sql_del);
182 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"document_model (nom, type, entity, libelle, description)";
183 $sql .=
" VALUES ('".$db->escape($value).
"', '".$db->escape($type).
"', ".((int)
$conf->entity).
", ";
184 $sql .= ($label ?
"'".$db->escape($label).
"'" :
'null').
", ";
185 $sql .= (!empty($scandir) ?
"'".$db->escape($scandir).
"'" :
"null");
188 $result2 = $db->query($sql);
189 if ($result1 && $result2) {
197if ($action ==
"setaccountancycodecustomerinvoicemandatory") {
198 $setaccountancycodecustomerinvoicemandatory =
GETPOSTINT(
'value');
199 $res =
dolibarr_set_const($db,
"SOCIETE_ACCOUNTANCY_CODE_CUSTOMER_INVOICE_MANDATORY", $setaccountancycodecustomerinvoicemandatory,
'yesno', 0,
'',
$conf->entity);
211if ($action ==
"setaddrefinlist") {
225if ($action ==
"setvatinlist") {
239if ($action ==
"setaddadressinlist") {
253if ($action ==
"setaddemailphonetownincontactlist") {
255 $res =
dolibarr_set_const($db,
"CONTACT_SHOW_EMAIL_PHONE_TOWN_SELECTLIST", $val,
'yesno', 0,
'',
$conf->entity);
267if ($action ==
"setaskforshippingmet") {
269 $res =
dolibarr_set_const($db,
"SOCIETE_ASK_FOR_SHIPPING_METHOD", $setaskforshippingmet,
'yesno', 0,
'',
$conf->entity);
281if ($action ==
"setdisableprospectcustomer") {
282 $setdisableprospectcustomer =
GETPOSTINT(
'value');
283 $res =
dolibarr_set_const($db,
"SOCIETE_DISABLE_PROSPECTSCUSTOMERS", $setdisableprospectcustomer,
'yesno', 0,
'',
$conf->entity);
295if ($action ==
'setprofid') {
296 $status =
GETPOST(
'status',
'alpha');
298 $idprof =
"SOCIETE_".$value.
"_UNIQUE";
306if ($action ==
'setprofidmandatory') {
307 $status =
GETPOST(
'status',
'alpha');
309 $idprof =
"SOCIETE_".$value.
"_MANDATORY";
317if ($action ==
'setprofidinvoicemandatory' || $action ==
'setprofidinvoicemandatoryeeconly') {
318 $status =
GETPOST(
'status',
'alpha');
319 if ($status ==
'1' && $action ==
'setprofidinvoicemandatoryeeconly') {
322 $idprof =
"SOCIETE_".$value.
"_INVOICE_MANDATORY";
330if ($action ==
'sethideinactivethirdparty') {
331 $status =
GETPOST(
'status',
'alpha');
333 $result =
dolibarr_set_const($db,
"COMPANY_HIDE_INACTIVE_IN_COMBOBOX", $status,
'chaine', 0,
'',
$conf->entity);
338if ($action ==
'setonsearchandlistgooncustomerorsuppliercard') {
339 $setonsearchandlistgooncustomerorsuppliercard =
GETPOSTINT(
'value');
340 $res =
dolibarr_set_const($db,
"SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD", $setonsearchandlistgooncustomerorsuppliercard,
'yesno', 0,
'',
$conf->entity);
358$form =
new Form($db);
360$help_url =
'EN:Module Third Parties setup|FR:Paramétrage_du_module_Tiers|ES:Configuración_del_módulo_terceros';
361llxHeader(
'', $langs->trans(
"CompanySetup"), $help_url);
363$linkback =
'<a href="'.DOL_URL_ROOT.
'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToModuleList").
'</a>';
364print
load_fiche_titre($langs->trans(
"CompanySetup"), $linkback,
'title_setup');
369print
dol_get_fiche_head($head,
'general', $langs->trans(
"ThirdParties"), -1,
'company');
371$dirsociete = array_merge(array(
'/core/modules/societe/'),
$conf->modules_parts[
'societe']);
372foreach (
$conf->modules_parts[
'models'] as $mo) {
373 $dirsociete[] = $mo.
'core/modules/societe/';
380print
'<div class="div-table-responsive-no-min">';
381print
'<table class="noborder centpercent">'.
"\n";
382print
'<tr class="liste_titre">'.
"\n";
383print
' <td>'.$langs->trans(
"Name").
'</td>';
384print
' <td>'.$langs->trans(
"Description").
'</td>';
385print
' <td>'.$langs->trans(
"Example").
'</td>';
386print
' <td class="center" width="80">'.$langs->trans(
"Status").
'</td>';
387print
' <td class="center" width="60">'.$langs->trans(
"ShortInfo").
'</td>';
390$arrayofmodules = array();
392foreach ($dirsociete as $dirroot) {
395 $handle = @opendir($dir);
396 if (is_resource($handle)) {
398 while (($file = readdir($handle)) !==
false) {
399 if (substr($file, 0, 15) ==
'mod_codeclient_' && substr($file, -3) ==
'php') {
400 $file = substr($file, 0,
dol_strlen($file) - 4);
409 $modCodeTiers =
new $file($db);
410 '@phan-var-force ModeleThirdPartyCode $modCodeTiers';
413 if ($modCodeTiers->version ==
'development' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 2) {
416 if ($modCodeTiers->version ==
'experimental' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 1) {
420 $arrayofmodules[$file] = $modCodeTiers;
430foreach ($arrayofmodules as $file => $modCodeTiers) {
431 print
'<tr class="oddeven">'.
"\n";
432 print
'<td width="140">'.$modCodeTiers->name.
'</td>'.
"\n";
433 print
'<td>'.$modCodeTiers->info($langs).
'</td>'.
"\n";
434 print
'<td class="nowrap">'.$modCodeTiers->getExample($langs).
'</td>'.
"\n";
436 if (
$conf->global->SOCIETE_CODECLIENT_ADDON == (
string) $file) {
437 print
'<td class="center">'.
"\n";
438 print
img_picto($langs->trans(
"Activated"),
'switch_on');
441 $disabled = (isModEnabled(
'multicompany') && ((is_object($mc) && !empty($mc->sharings[
'referent'])) && ($mc->sharings[
'referent'] !=
$conf->entity)));
442 print
'<td class="center">';
444 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setcodeclient&token='.
newToken().
'&value='.urlencode($file).
'">';
446 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
453 print
'<td class="center">';
454 $s = $modCodeTiers->getToolTip($langs,
null, -1);
455 print $form->textwithpicto(
'', $s, 1);
470print
'<div class="div-table-responsive-no-min">';
471print
'<table class="noborder centpercent">';
472print
'<tr class="liste_titre">';
473print
'<td width="140">'.$langs->trans(
"Name").
'</td>';
474print
'<td>'.$langs->trans(
"Description").
'</td>';
475print
'<td>'.$langs->trans(
"Example").
'</td>';
476print
'<td class="center" width="80">'.$langs->trans(
"Status").
'</td>';
477print
'<td class="center" width="60">'.$langs->trans(
"ShortInfo").
'</td>';
480$arrayofmodules = array();
482foreach ($dirsociete as $dirroot) {
485 $handle = @opendir($dir);
486 if (is_resource($handle)) {
487 while (($file = readdir($handle)) !==
false) {
488 if (substr($file, 0, 15) ==
'mod_codecompta_' && substr($file, -3) ==
'php') {
489 $file = substr($file, 0,
dol_strlen($file) - 4);
497 $modCodeCompta =
new $file();
498 '@phan-var-force ModeleAccountancyCode $modCodeTiers';
500 $arrayofmodules[$file] = $modCodeCompta;
508'@phan-var-force array<string,ModeleAccountancyCode> $arrayofmodules';
511foreach ($arrayofmodules as $file => $modCodeCompta) {
512 print
'<tr class="oddeven">';
513 print
'<td>'.$modCodeCompta->name.
"</td><td>\n";
514 print $modCodeCompta->info($langs);
516 print
'<td class="nowrap">'.$modCodeCompta->getExample($langs).
"</td>\n";
518 if (
$conf->global->SOCIETE_CODECOMPTA_ADDON ==
"$file") {
519 print
'<td class="center">';
520 print
img_picto($langs->trans(
"Activated"),
'switch_on');
523 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setcodecompta&token='.
newToken().
'&value='.urlencode($file).
'">';
524 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
527 print
'<td class="center">';
528 $s = $modCodeCompta->getToolTip($langs,
null, -1);
529 print $form->textwithpicto(
'', $s, 1);
546$sql .=
" FROM ".MAIN_DB_PREFIX.
"document_model";
547$sql .=
" WHERE type = 'company'";
548$sql .=
" AND entity = ".$conf->entity;
549$resql = $db->query($sql);
552 $num_rows = $db->num_rows($resql);
553 while ($i < $num_rows) {
554 $array = $db->fetch_array($resql);
555 if (is_array($array)) {
556 array_push($def, $array[0]);
564print
'<div class="div-table-responsive-no-min">';
565print
'<table class="noborder centpercent">';
566print
'<tr class="liste_titre">';
567print
'<td width="140">'.$langs->trans(
"Name").
'</td>';
568print
'<td>'.$langs->trans(
"Description").
'</td>';
569print
'<td class="center" width="80">'.$langs->trans(
"Status").
'</td>';
570print
'<td class="center" width="60">'.$langs->trans(
"ShortInfo").
'</td>';
571print
'<td class="center" width="60">'.$langs->trans(
"Preview").
'</td>';
574foreach ($dirsociete as $dirroot) {
577 $handle = @opendir($dir);
578 if (is_resource($handle)) {
579 while (($file = readdir($handle)) !==
false) {
580 if (preg_match(
'/\.modules\.php$/i', $file)) {
581 $name = substr($file, 4,
dol_strlen($file) - 16);
582 $classname = substr($file, 0,
dol_strlen($file) - 12);
590 $module =
new $classname($db);
591 '@phan-var-force ModeleThirdPartyDoc $module';
593 $modulequalified = 1;
594 if (!empty($module->version)) {
595 if ($module->version ==
'development' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 2) {
596 $modulequalified = 0;
597 } elseif ($module->version ==
'experimental' &&
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 1) {
598 $modulequalified = 0;
602 if ($modulequalified) {
603 print
'<tr class="oddeven"><td width="100">';
606 if (method_exists($module,
'info')) {
607 print $module->info($langs);
609 print $module->description;
614 if (in_array($name, $def)) {
615 print
'<td class="center">'.
"\n";
616 print
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=del&token='.
newToken().
'&value='.urlencode($name).
'&token='.
newToken().
'&scan_dir='.$module->scandir.
'&label='.urlencode($module->name).
'">';
617 print
img_picto($langs->trans(
"Enabled"),
'switch_on');
622 print
'<td class="center">'.
"\n";
623 print
img_picto(
dol_escape_htmltag($langs->trans(
"ErrorModuleRequirePHPVersion", implode(
'.', $module->phpmin))),
'switch_off',
'class="opacitymedium"');
626 print
'<td class="center">'.
"\n";
627 print
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=set&value='.urlencode($name).
'&token='.
newToken().
'&scan_dir='.urlencode($module->scandir).
'&label='.urlencode($module->name).
'">'.
img_picto($langs->trans(
"Disabled"),
'switch_off').
'</a>';
633 $htmltooltip =
''.$langs->trans(
"Name").
': '.$module->name;
634 $htmltooltip .=
'<br>'.$langs->trans(
"Type").
': '.($module->type ? $module->type : $langs->trans(
"Unknown"));
635 if ($module->type ==
'pdf') {
636 $htmltooltip .=
'<br>'.$langs->trans(
"Height").
'/'.$langs->trans(
"Width").
': '.$module->page_hauteur.
'/'.$module->page_largeur;
638 $htmltooltip .=
'<br><br><u>'.$langs->trans(
"FeaturesSupported").
':</u>';
639 $htmltooltip .=
'<br>'.$langs->trans(
"WatermarkOnDraft").
': '.
yn((isset($module->option_draft_watermark) ? $module->option_draft_watermark :
''), 1, 1);
641 print
'<td class="center nowrap">';
642 print $form->textwithpicto(
'', $htmltooltip, 1,
'info');
646 print
'<td class="center nowrap">';
647 if ($module->type ==
'pdf') {
648 $linkspec =
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=specimen&token='.
newToken().
'&module='.$name.
'">'.
img_object($langs->trans(
"Preview"),
'pdf').
'</a>';
650 $linkspec =
img_object($langs->transnoentitiesnoconv(
"PreviewNotAvailable"),
'generic');
670print
'<div class="div-table-responsive-no-min">';
671print
'<table class="noborder centpercent">';
672print
'<tr class="liste_titre">';
673print
'<td>'.$langs->trans(
"Name").
'</td>';
674print
'<td>'.$langs->trans(
"Description").
'</td>';
675print
'<td class="center">'.$langs->trans(
"MustBeUnique").
'</td>';
676print
'<td class="center">'.$langs->trans(
"MustBeMandatory").
'</td>';
677print
'<td class="center">'.$langs->trans(
"MustBeInvoiceMandatory").
'</td>';
680$profid = array(
'IDPROF1' => array(),
'IDPROF2' => array(),
'IDPROF3' => array(),
'IDPROF4' => array(),
'IDPROF5' => array(),
'IDPROF6' => array(),
'EMAIL' => array());
681$profid[
'IDPROF1'][0] = $langs->trans(
"ProfId1");
682$profid[
'IDPROF1'][1] = $langs->transcountry(
'ProfId1', $mysoc->country_code);
683$profid[
'IDPROF2'][0] = $langs->trans(
"ProfId2");
684$profid[
'IDPROF2'][1] = $langs->transcountry(
'ProfId2', $mysoc->country_code);
685$profid[
'IDPROF3'][0] = $langs->trans(
"ProfId3");
686$profid[
'IDPROF3'][1] = $langs->transcountry(
'ProfId3', $mysoc->country_code);
687$profid[
'IDPROF4'][0] = $langs->trans(
"ProfId4");
688$profid[
'IDPROF4'][1] = $langs->transcountry(
'ProfId4', $mysoc->country_code);
689$profid[
'IDPROF5'][0] = $langs->trans(
"ProfId5");
690$profid[
'IDPROF5'][1] = $langs->transcountry(
'ProfId5', $mysoc->country_code);
691$profid[
'IDPROF6'][0] = $langs->trans(
"ProfId6");
692$profid[
'IDPROF6'][1] = $langs->transcountry(
'ProfId6', $mysoc->country_code);
693$profid[
'EMAIL'][0] = $langs->trans(
"EMail");
694$profid[
'EMAIL'][1] = $langs->trans(
'Email');
695if (isModEnabled(
'accounting')) {
696 $profid[
'ACCOUNTANCY_CODE_CUSTOMER'] = array();
697 $profid[
'ACCOUNTANCY_CODE_CUSTOMER'][0] = $langs->trans(
"CustomerAccountancyCodeShort");
698 $profid[
'ACCOUNTANCY_CODE_CUSTOMER'][1] = $langs->trans(
'CustomerAccountancyCodeShort');
699 $profid[
'ACCOUNTANCY_CODE_SUPPLIER'] = array();
700 $profid[
'ACCOUNTANCY_CODE_SUPPLIER'][0] = $langs->trans(
"SupplierAccountancyCodeShort");
701 $profid[
'ACCOUNTANCY_CODE_SUPPLIER'][1] = $langs->trans(
'SupplierAccountancyCodeShort');
704$nbofloop = count($profid);
705foreach ($profid as $key => $val) {
706 if ($profid[$key][1] !=
'-') {
707 print
'<tr class="oddeven">';
708 print
'<td>'.$profid[$key][0].
"</td><td>\n";
709 print $profid[$key][1];
712 $idprof_unique =
'SOCIETE_'.$key.
'_UNIQUE';
713 $idprof_mandatory =
'SOCIETE_'.$key.
'_MANDATORY';
714 $idprof_invoice_mandatory =
'SOCIETE_'.$key.
'_INVOICE_MANDATORY';
716 $verif = !empty(
$conf->global->$idprof_unique);
717 $mandatory = !empty(
$conf->global->$idprof_mandatory);
718 $invoice_mandatory = !empty(
$conf->global->$idprof_invoice_mandatory);
721 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofid&token='.
newToken().
'&value='.$key.
'&status=0">';
722 print
img_picto($langs->trans(
"Activated"),
'switch_on');
725 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofid&token='.
newToken().
'&value='.$key.
'&status=1">';
726 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
731 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidmandatory&token='.
newToken().
'&value='.$key.
'&status=0">';
732 print
img_picto($langs->trans(
"Activated"),
'switch_on');
735 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidmandatory&token='.
newToken().
'&value='.$key.
'&status=1">';
736 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
740 if ($invoice_mandatory) {
741 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatory&token='.
newToken().
'&value='.$key.
'&status=0">';
742 print
img_picto($langs->trans(
"Activated"),
'switch_on');
745 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatory&token='.
newToken().
'&value='.$key.
'&status=1">';
746 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
755print
'<tr class="oddeven">';
756print
'<td colspan="2">'.$langs->trans(
'VATIntra').
"</td>\n";
759 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofid&token='.
newToken().
'&value='.$key.
'&status=0">';
760 print
img_picto($langs->trans(
"Activated"),
'switch_on',
'class="valignmiddle"');
763 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofid&token='.
newToken().
'&value='.$key.
'&status=1">';
764 print
img_picto($langs->trans(
"Disabled"),
'switch_off',
'class="valignmiddle"');
768 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidmandatory&token='.
newToken().
'&value='.$key.
'&status=0">';
769 print
img_picto($langs->trans(
"Activated"),
'switch_on',
'class="valignmiddle"');
772 print
'<td class="center"><a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidmandatory&token='.
newToken().
'&value='.$key.
'&status=1">';
773 print
img_picto($langs->trans(
"Disabled"),
'switch_off',
'class="valignmiddle"');
776print
'<td class="center">';
778 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatoryeeconly&token='.
newToken().
'&value='.$key.
'&status=0">';
779 print
img_picto($langs->trans(
"Activated"),
'switch_on',
'class="valignmiddle paddingrightonly"');
781 print $langs->trans(
"SaleEEC").
'<br>';
782 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatory&token='.
newToken().
'&value='.$key.
'&status=1">';
783 print
img_picto($langs->trans(
"Activated"),
'switch_off',
'class="valignmiddle paddingrightonly"');
785 print $langs->trans(
"AnySale");
787 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatoryeeconly&token='.
newToken().
'&value='.$key.
'&status=1">';
788 print
img_picto($langs->trans(
"Activated"),
'switch_off',
'class="valignmiddle paddingrightonly"');
790 print $langs->trans(
"SaleEEC").
'<br>';
791 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatory&token='.
newToken().
'&value='.$key.
'&status=0">';
792 print
img_picto($langs->trans(
"Activated"),
'switch_on',
'class="valignmiddle paddingrightonly"');
794 print $langs->trans(
"AnySale");
796 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatoryeeconly&token='.
newToken().
'&value='.$key.
'&status=1">';
797 print
img_picto($langs->trans(
"Disabled"),
'switch_off',
'class="valignmiddle paddingrightonly"');
799 print $langs->trans(
"SaleEEC").
'<br>';
800 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setprofidinvoicemandatory&token='.
newToken().
'&value='.$key.
'&status=1">';
801 print
img_picto($langs->trans(
"Disabled"),
'switch_off',
'class="valignmiddle paddingrightonly"');
803 print $langs->trans(
"AnySale");
816$form =
new Form($db);
818print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'">';
819print
'<input type="hidden" name="token" value="'.newToken().
'">';
820print
'<input type="hidden" name="page_y" value="">';
821print
'<input type="hidden" name="action" value="updateoptions">';
823print
'<div class="div-table-responsive-no-min">';
824print
'<table class="noborder centpercent">';
825print
'<tr class="liste_titre">';
826print
"<td>".$langs->trans(
"Parameters").
"</td>\n";
827print
'<td class="right" width="60">'.$langs->trans(
"Value").
'</td>'.
"\n";
828print
'<td width="80"> </td></tr>'.
"\n";
832print
'<tr class="oddeven">';
833print
'<td width="80%">'.$form->textwithpicto($langs->trans(
"DelaiedFullListToSelectCompany"), $langs->trans(
'UseSearchToSelectCompanyTooltip'), 1).
' </td>';
834if (!
$conf->use_javascript_ajax) {
835 print
'<td class="nowrap right" colspan="2">';
836 print $langs->trans(
"NotAvailableWhenAjaxDisabled");
839 print
'<td width="60" class="right">';
840 $arrval = array(
'0' => $langs->trans(
"No"),
841 '1' => $langs->trans(
"Yes").
' - <span class="opacitymedium">'.$langs->trans(
"NumberOfKeyToSearch", 1).
'</span>',
842 '2' => $langs->trans(
"Yes").
' - <span class="opacitymedium">'.$langs->trans(
"NumberOfKeyToSearch", 2).
'</span>',
843 '3' => $langs->trans(
"Yes").
' - <span class="opacitymedium">'.$langs->trans(
"NumberOfKeyToSearch", 3).
'</span>',
845 print $form->selectarray(
"activate_COMPANY_USE_SEARCH_TO_SELECT", $arrval,
getDolGlobalString(
'COMPANY_USE_SEARCH_TO_SELECT'), 0, 0, 0,
'', 0, 0, 0,
'',
'minwidth75imp maxwidth400');
846 print
'</td><td class="right">';
847 print
'<input type="submit" class="button small reposition" name="COMPANY_USE_SEARCH_TO_SELECT" value="'.$langs->trans(
"Modify").
'">';
853print
'<tr class="oddeven">';
854print
'<td width="80%">'.$form->textwithpicto($langs->trans(
"DelaiedFullListToSelectContact"), $langs->trans(
'UseSearchToSelectContactTooltip'), 1).
'</td>';
855if (!
$conf->use_javascript_ajax) {
856 print
'<td class="nowrap right" colspan="2">';
857 print $langs->trans(
"NotAvailableWhenAjaxDisabled");
860 print
'<td width="60" class="right">';
861 $arrval = array(
'0' => $langs->trans(
"No"),
862 '1' => $langs->trans(
"Yes").
' - <span class="opacitymedium">'.$langs->trans(
"NumberOfKeyToSearch", 1).
'</span>',
863 '2' => $langs->trans(
"Yes").
' - <span class="opacitymedium">'.$langs->trans(
"NumberOfKeyToSearch", 2).
'</span>',
864 '3' => $langs->trans(
"Yes").
' - <span class="opacitymedium">'.$langs->trans(
"NumberOfKeyToSearch", 3).
'</span>',
866 print $form->selectarray(
"activate_CONTACT_USE_SEARCH_TO_SELECT", $arrval,
getDolGlobalString(
'CONTACT_USE_SEARCH_TO_SELECT'), 0, 0, 0,
'', 0, 0, 0,
'',
'minwidth75imp maxwidth400');
867 print
'</td><td class="right">';
868 print
'<input type="submit" class="button small reposition" name="CONTACT_USE_SEARCH_TO_SELECT" value="'.$langs->trans(
"Modify").
'">';
875print
'<tr class="oddeven">';
876print
'<td width="80%">'.$langs->trans(
"AddRefInList").
'</td>';
877print
'<td> </td>';
878print
'<td class="center">';
880 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaddrefinlist&token='.
newToken().
'&value=0">';
881 print
img_picto($langs->trans(
"Activated"),
'switch_on');
883 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaddrefinlist&token='.
newToken().
'&value=1">';
884 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
889print
'<tr class="oddeven">';
890print
'<td width="80%">'.$langs->trans(
"AddVatInList").
'</td>';
891print
'<td> </td>';
892print
'<td class="center">';
894 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setvatinlist&token='.
newToken().
'&value=0">';
895 print
img_picto($langs->trans(
"Activated"),
'switch_on');
897 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setvatinlist&token='.
newToken().
'&value=1">';
898 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
903print
'<tr class="oddeven">';
904print
'<td width="80%">'.$langs->trans(
"AddAdressInList").
'</td>';
905print
'<td> </td>';
906print
'<td class="center">';
908 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaddadressinlist&token='.
newToken().
'&value=0">';
909 print
img_picto($langs->trans(
"Activated"),
'switch_on');
911 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaddadressinlist&token='.
newToken().
'&value=1">';
912 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
917print
'<tr class="oddeven">';
918print
'<td width="80%">'.$langs->trans(
"AddEmailPhoneTownInContactList").
'</td>';
919print
'<td> </td>';
920print
'<td class="center">';
922 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaddemailphonetownincontactlist&token='.
newToken().
'&value=0">';
923 print
img_picto($langs->trans(
"Activated"),
'switch_on');
925 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaddemailphonetownincontactlist&token='.
newToken().
'&value=1">';
926 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
931if (isModEnabled(
"shipping")) {
933 print
'<tr class="oddeven">';
934 print
'<td width="80%">'.$langs->trans(
"AskForPreferredShippingMethod").
'</td>';
935 print
'<td> </td>';
936 print
'<td class="center">';
938 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaskforshippingmet&token='.
newToken().
'&value=0">';
939 print
img_picto($langs->trans(
"Activated"),
'switch_on');
941 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setaskforshippingmet&token='.
newToken().
'&value=1">';
942 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
950print
'<tr class="oddeven">';
951print
'<td width="80%">'.$langs->trans(
"DisableProspectCustomerType").
'</td>';
952print
'<td> </td>';
953print
'<td class="center">';
955 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setdisableprospectcustomer&token='.
newToken().
'&value=0">';
956 print
img_picto($langs->trans(
"Activated"),
'switch_on');
958 print
'<a class="reposition" href="'.$_SERVER[
'PHP_SELF'].
'?action=setdisableprospectcustomer&token='.
newToken().
'&value=1">';
959 print
img_picto($langs->trans(
"Disabled"),
'switch_off');
966 print
'<tr class="oddeven">';
967 print
'<td>'.$langs->trans(
"DefaultCustomerType", $langs->transnoentitiesnoconv(
"MenuNewThirdParty"), $langs->transnoentitiesnoconv(
"MenuNewCustomer")).
'</td>';
969 print $formcompany->selectProspectCustomerType(
getDolGlobalInt(
'THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT'),
'defaultcustomertype',
'defaultcustomertype',
'admin');
971 print
'<td class="center">';
972 print
'<input type="submit" class="button small reposition" name="THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT" value="'.$langs->trans(
"Modify").
'">';
978 print
'<tr class="oddeven">';
979 print
'<td width="80%">'.$langs->trans(
'ContactsDefaultRoles').
'</td>';
980 if (!
$conf->use_javascript_ajax) {
981 print
'<td class="nowrap right" colspan="2">';
982 print $langs->trans(
"NotAvailableWhenAjaxDisabled");
985 print
'<td width="60" class="right">';
987 $contactType = $contact->listeTypeContacts(
'external', 0, 1);
989 print $form->multiselectarray(
'activate_CONTACTS_DEFAULT_ROLES', $contactType, $selected, 0, 0,
'minwidth75imp');
990 print
'</td><td class="right">';
991 print
'<input type="submit" class="button small eposition" name="CONTACTS_DEFAULT_ROLES" value="'.$langs->trans(
"Modify").
'">';
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).
versionphparray()
Return version PHP.
versioncompare($versionarray1, $versionarray2)
Compare 2 versions (stored into 2 arrays), to know if a version (a,b,c) is lower than (x,...
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
societe_admin_prepare_head()
Return array head with list of tabs to view object information.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2, $allowothertags=array())
Show picto whatever it's its name (generic function)
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_get_fiche_end($notab=0)
Return tab footer of a card.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $allowothertags=array())
Show a picto called object_picto (generic function)
dol_strlen($string, $stringencoding='UTF-8')
Make a strlen call.
GETPOSTISARRAY($paramname, $method=0)
Return true if the parameter $paramname is submit from a POST OR GET as an array.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by the value of a given key, which produces ascending (default) or descending out...
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'.
yn($yesno, $format=1, $color=0)
Return yes or no in current language.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
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 a 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...
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.