34require
'../main.inc.php';
43require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
44require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
45require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
46require_once DOL_DOCUMENT_ROOT.
'/core/lib/images.lib.php';
47require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
48require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
49require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
50require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
51require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
53$action =
GETPOST(
'action',
'aZ09');
54$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'admincompany';
58$langs->loadLangs(array(
'admin',
'companies',
'bills'));
67$maxwidthsmall = $tmparraysize[
'maxwidthsmall'];
68$maxheightsmall = $tmparraysize[
'maxheightsmall'];
69$maxwidthmini = $tmparraysize[
'maxwidthmini'];
70$maxheightmini = $tmparraysize[
'maxheightmini'];
71$quality = $tmparraysize[
'quality'];
74$hookmanager->initHooks(array(
'admincompany',
'globaladmin'));
79 $setupcompanynotcomplete = 1;
81 $setupcompanynotcomplete = 0;
90$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
95if (($action ==
'update' && !
GETPOST(
"cancel",
'alpha'))
96|| ($action ==
'updateedit')) {
100 if (!empty($tmparray[
'id'])) {
102 include_once DOL_DOCUMENT_ROOT.
'/blockedlog/lib/blockedlog.lib.php';
104 $langs->load(
"blockedlog");
105 setEventMessages($langs->trans(
"BlockedLogCountryChangeNotAllowedFR"),
null,
'errors');
108 if ($tmparray[
'code'] ==
'FR' && $tmparray[
'id'] !=
$mysoc->country_id) {
113 $mysoc->country_id = $tmparray[
'id'];
114 $mysoc->country_code = $tmparray[
'code'];
115 $mysoc->country_label = $tmparray[
'label'];
120 activateModulesRequiredByCountry(
$mysoc->country_code);
125 if (!empty($tmparray[
'id'])) {
126 $mysoc->state_id = $tmparray[
'id'];
127 $mysoc->state_code = $tmparray[
'code'];
128 $mysoc->state_label = $tmparray[
'label'];
150 $dirforimage =
$conf->mycompany->dir_output.
'/logos/';
152 $arrayofimages = array(
'logo',
'logo_squarred');
154 foreach ($arrayofimages as $varforimage) {
156 $langs->load(
"errors");
157 $mesg = $langs->trans(
"ErrorBadImageFormat");
158 if (!function_exists(
"imagecreate")) {
159 $mesg .=
' - '.$langs->trans(
"ErrorPHPDoesNotSupport",
"GD");
162 $supportedextensions = preg_replace(
'/\\\./',
'', $supportedextensions);
163 $mesg .=
' - '.$langs->trans(
"ErrorSupportedFormatAre", implode(
', ', explode(
'|', $supportedextensions)));
172 if (preg_match(
'/([^\\/:]+)$/i', $_FILES[$varforimage][
"name"], $reg)) {
173 $original_file = $reg[1];
177 dol_syslog(
"Move file ".$_FILES[$varforimage][
"tmp_name"].
" to ".$dirforimage.$original_file);
178 if (!is_dir($dirforimage)) {
181 $result =
dol_move_uploaded_file($_FILES[$varforimage][
"tmp_name"], $dirforimage.$original_file, 1, 0, $_FILES[$varforimage][
'error']);
183 if (is_numeric($result) && $result > 0) {
184 $constant =
"MAIN_INFO_SOCIETE_LOGO";
185 if ($varforimage ==
'logo_squarred') {
186 $constant =
"MAIN_INFO_SOCIETE_LOGO_SQUARRED";
198 $imgThumbSmall =
vignette($dirforimage.$original_file, $maxwidthsmall, $maxheightsmall,
'_small', $quality);
200 $imgThumbSmall = $reg[1];
207 $imgThumbMini =
vignette($dirforimage.$original_file, $maxwidthmini, $maxheightmini,
'_mini', $quality);
209 $imgThumbMini = $reg[1];
215 dol_syslog(
"ErrorImageFormatNotSupported", LOG_WARNING);
217 } elseif (preg_match(
'/^ErrorFileIsInfectedWithAVirus/', $result)) {
219 $langs->load(
"errors");
220 $tmparray = explode(
':', $result);
221 setEventMessages($langs->trans(
'ErrorFileIsInfectedWithAVirus', $tmparray[1]),
null,
'errors');
222 } elseif (preg_match(
'/^ErrorFileSizeTooLarge/', $result)) {
231 $langs->load(
"errors");
259 $usevat =
GETPOST(
"optiontva",
'aZ09');
260 $uselocaltax1 =
GETPOST(
"optionlocaltax1",
'aZ09');
261 $uselocaltax2 =
GETPOST(
"optionlocaltax2",
'aZ09');
262 if ($uselocaltax1 ==
'localtax1on' && !$usevat) {
263 setEventMessages($langs->trans(
"IfYouUseASecondTaxYouMustSetYouUseTheMainTax"),
null,
'errors');
266 if ($uselocaltax2 ==
'localtax2on' && !$usevat) {
267 setEventMessages($langs->trans(
"IfYouUseAThirdTaxYouMustSetYouUseTheMainTax"),
null,
'errors');
275 if (
GETPOST(
"optionlocaltax1") ==
"localtax1on") {
283 if (
GETPOST(
"optionlocaltax2") ==
"localtax2on") {
293 if (
$mysoc->country_code ==
'GR') {
312 if ($action !=
'updateedit' && !$error) {
313 header(
"Location: ".$_SERVER[
"PHP_SELF"].($page_y ?
'?page_y='.$page_y :
''));
318if ($action ==
'addthumb' || $action ==
'addthumbsquarred') {
319 if (file_exists(
$conf->mycompany->dir_output.
'/logos/'.
GETPOST(
"file"))) {
324 $constant =
"MAIN_INFO_SOCIETE_LOGO";
325 if ($action ==
'addthumbsquarred') {
326 $constant =
"MAIN_INFO_SOCIETE_LOGO_SQUARRED";
335 $imgThumbSmall =
vignette(
$conf->mycompany->dir_output.
'/logos/'.
GETPOST(
"file"), $maxwidthsmall, $maxheightsmall,
'_small', $quality);
337 $imgThumbSmall = $reg[1];
344 $imgThumbMini =
vignette(
$conf->mycompany->dir_output.
'/logos/'.
GETPOST(
"file"), $maxwidthmini, $maxheightmini,
'_mini', $quality);
346 $imgThumbMini = $reg[1];
352 header(
"Location: ".$_SERVER[
"PHP_SELF"]);
356 $langs->load(
"errors");
358 dol_syslog($langs->transnoentities(
"ErrorBadImageFormat"), LOG_INFO);
362 $langs->load(
"errors");
364 dol_syslog($langs->transnoentities(
"ErrorFileDoesNotExists",
GETPOST(
"file")), LOG_WARNING);
369if ($action ==
'removelogo' || $action ==
'removelogo_squarred') {
370 $constant =
"MAIN_INFO_SOCIETE_LOGO";
371 if ($action ==
'removelogo_squarred') {
372 $constant =
"MAIN_INFO_SOCIETE_LOGO_SQUARRED";
375 require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
377 $logofilename =
$mysoc->logo;
378 $logofilenamebis =
$mysoc->logo_squarred;
379 if ($action ==
'removelogo_squarred') {
380 $logofilename =
$mysoc->logo_squarred;
381 $logofilenamebis =
$mysoc->logo;
384 $logofile =
$conf->mycompany->dir_output.
'/logos/'.$logofilename;
385 if ($logofilename !=
'' && $logofilename != $logofilenamebis) {
389 if ($action ==
'removelogo_squarred') {
390 $mysoc->logo_squarred =
'';
395 $logofilename =
$mysoc->logo_small;
396 $logofilenamebis =
$mysoc->logo_squarred_small;
397 if ($action ==
'removelogo_squarred') {
398 $logofilename =
$mysoc->logo_squarred_small;
399 $logofilenamebis =
$mysoc->logo_small;
402 $logosmallfile =
$conf->mycompany->dir_output.
'/logos/thumbs/'.$logofilename;
403 if ($logofilename !=
'' && $logofilename != $logofilenamebis) {
407 if ($action ==
'removelogo_squarred') {
408 $mysoc->logo_squarred_small =
'';
413 $logofilename =
$mysoc->logo_mini;
414 $logofilenamebis =
$mysoc->logo_squarred_mini;
415 if ($action ==
'removelogo_squarred') {
416 $logofilename =
$mysoc->logo_squarred_mini;
417 $logofilenamebis =
$mysoc->logo_mini;
420 $logominifile =
$conf->mycompany->dir_output.
'/logos/thumbs/'.$logofilename;
421 if ($logofilename !=
'' && $logofilename != $logofilenamebis) {
425 if ($action ==
'removelogo_squarred') {
426 $mysoc->logo_squarred_mini =
'';
437$wikihelp =
'EN:First_setup|FR:Premiers_paramétrages|ES:Primeras_configuraciones';
438llxHeader(
'', $langs->trans(
"Setup"), $wikihelp,
'', 0, 0,
'',
'',
'',
'mod-admin page-company');
445$countrynotdefined =
'<span class="error">'.$langs->trans(
"ErrorSetACountryFirst").
' <a href="" onclick="window.scrollTo({top: 0, behavior: \'smooth\'}); return false;">('.$langs->trans(
"SeeAbove").
')</a></span>';
447print
load_fiche_titre($langs->trans(
"CompanyFoundation"),
'',
'title_setup');
453print
'<div class="'.($setupcompanynotcomplete ?
'warning' :
'info').
'">'.$langs->trans(
"CompanyFundationDesc", $langs->transnoentities(
"Save")).
"</div>\n";
459if (!empty(
$conf->use_javascript_ajax)) {
460 print
"\n".
'<script type="text/javascript">';
461 print
'$(document).ready(function () {
462 $("#selectcountry_id").change(function() {
463 console.log("selectcountry_id change");
464 document.form_index.action.value="updateedit";
465 document.form_index.submit();
468 // Show/hide VAT exemption code field based on VAT option
469 $("input[name=\"optiontva\"]").change(function() {
470 if ($(this).val() == "0") {
471 $("#vat_exemption_code_div").show();
473 $("#vat_exemption_code_div").hide();
477 print
'</script>'.
"\n";
480print
'<form enctype="multipart/form-data" method="POST" action="'.$_SERVER[
"PHP_SELF"].
'" name="form_index" spellcheck="false">';
481print
'<input type="hidden" name="token" value="'.newToken().
'">';
482print
'<input type="hidden" name="action" value="update">';
483print
'<input type="hidden" name="page_y" value="">';
485print
'<table class="noborder centpercent editmode">';
486print
'<tr class="liste_titre"><th class="wordbreak" colspan="2">'.$langs->trans(
"CompanyInfo").
'</th></tr>'.
"\n";
489print
'<tr class="oddeven"><td class="fieldrequired titlefieldcreate wordbreak"><label for="name">'.$langs->trans(
"CompanyName").
'</label></td><td>';
493print
'<tr class="oddeven"><td class="fieldrequired"><label for="currency">'.$langs->trans(
"CompanyCurrency").
'</label></td><td>';
494print
img_picto(
'',
'multicurrency',
'class="pictofixedwidth"');
496print
'</td></tr>'.
"\n";
499print
'<tr class="oddeven"><td class="fieldrequired"><label for="selectcountry_id">'.$langs->trans(
"Country").
'</label></td><td>';
500print
img_picto(
'',
'globe-americas',
'class="pictofixedwidth"');
501print $form->select_country((
string)
$mysoc->country_id,
'country_id',
'', 0);
502print
info_admin($langs->trans(
"YouCanChangeValuesForThisListFromDictionarySetup"), 1);
503print
'</td></tr>'.
"\n";
506print
'<tr class="oddeven"><td><label for="MAIN_INFO_SOCIETE_ADDRESS">'.$langs->trans(
"CompanyAddress").
'</label></td><td>';
507print
'<textarea name="MAIN_INFO_SOCIETE_ADDRESS" id="MAIN_INFO_SOCIETE_ADDRESS" class="quatrevingtpercent" rows="'.ROWS_3.
'">'.(
GETPOSTISSET(
'MAIN_INFO_SOCIETE_ADDRESS') ?
GETPOST(
'MAIN_INFO_SOCIETE_ADDRESS',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_ADDRESS')).
'</textarea></td></tr>'.
"\n";
510print
'<tr class="oddeven"><td><label for="MAIN_INFO_SOCIETE_ZIP">'.$langs->trans(
"CompanyZip").
'</label></td><td>';
511print
'<input class="width100" name="MAIN_INFO_SOCIETE_ZIP" id="MAIN_INFO_SOCIETE_ZIP" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'MAIN_INFO_SOCIETE_ZIP') ?
GETPOST(
'MAIN_INFO_SOCIETE_ZIP',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_ZIP'))).
'"></td></tr>'.
"\n";
513print
'<tr class="oddeven"><td><label for="MAIN_INFO_SOCIETE_TOWN">'.$langs->trans(
"CompanyTown").
'</label></td><td>';
514print
'<input name="MAIN_INFO_SOCIETE_TOWN" class="minwidth200" id="MAIN_INFO_SOCIETE_TOWN" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'MAIN_INFO_SOCIETE_TOWN') ?
GETPOST(
'MAIN_INFO_SOCIETE_TOWN',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_TOWN'))).
'"></td></tr>'.
"\n";
517print
'<tr class="oddeven"><td class="wordbreak"><label for="state_id">'.$langs->trans(
"State").
'</label></td><td>';
523print
img_picto(
'',
'state',
'class="pictofixedwidth"');
524print $formcompany->select_state($state_id,
$mysoc->country_code,
'state_id',
'maxwidth200onsmartphone minwidth300');
525print
'</td></tr>'.
"\n";
528print
'<tr class="oddeven"><td><label for="phone">'.$langs->trans(
"Phone").
'</label></td><td>';
529print
img_picto(
'',
'object_phoning',
'', 0, 0, 0,
'',
'pictofixedwidth');
530print
'<input class="maxwidth150 widthcentpercentminusx" name="phone" id="phone" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'phone') ?
GETPOST(
'phone',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_TEL'))).
'"></td></tr>';
531print
'</td></tr>'.
"\n";
534print
'<tr class="oddeven"><td><label for="phone">'.$langs->trans(
"PhoneMobile").
'</label></td><td>';
535print
img_picto(
'',
'object_phoning_mobile',
'', 0, 0, 0,
'',
'pictofixedwidth');
536print
'<input class="maxwidth150 widthcentpercentminusx" name="phone_mobile" id="phone_mobile" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'phone_mobile') ?
GETPOST(
'phone_mobile',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_MOBILE'))).
'"></td></tr>';
537print
'</td></tr>'.
"\n";
540print
'<tr class="oddeven"><td><label for="fax">'.$langs->trans(
"Fax").
'</label></td><td>';
541print
img_picto(
'',
'object_phoning_fax',
'', 0, 0, 0,
'',
'pictofixedwidth');
542print
'<input class="maxwidth150" name="fax" id="fax" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'fax') ?
GETPOST(
'fax',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_FAX'))).
'"></td></tr>';
543print
'</td></tr>'.
"\n";
546print
'<tr class="oddeven"><td><label for="email">'.$langs->trans(
"EMail").
'</label></td><td>';
547print
img_picto(
'',
'object_email',
'', 0, 0, 0,
'',
'pictofixedwidth');
548print
'<input class="minwidth300 maxwidth500 widthcentpercentminusx" name="mail" id="email" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'mail') ?
GETPOST(
'mail',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_MAIL'))).
'"></td></tr>';
549print
'</td></tr>'.
"\n";
552print
'<tr class="oddeven"><td><label for="web">'.$langs->trans(
"Web").
'</label></td><td>';
553print
img_picto(
'',
'globe',
'', 0, 0, 0,
'',
'pictofixedwidth');
554print
'<input class="maxwidth300 widthcentpercentminusx" name="web" id="web" value="'.dol_escape_htmltag((
GETPOSTISSET(
'web') ?
GETPOST(
'web',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_WEB'))).
'"></td></tr>';
555print
'</td></tr>'.
"\n";
559 print
'<tr class="oddeven"><td>';
560 print
'<label for="barcode">'.$langs->trans(
"Gencod").
'</label></td><td>';
561 print
'<span class="fa fa-barcode pictofixedwidth"></span>';
562 print
'<input name="barcode" id="barcode" class="minwidth150 widthcentpercentminusx maxwidth300" value="'.dolPrintHTMLForAttribute(
GETPOSTISSET(
'barcode') ?
GETPOST(
'barcode',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_GENCOD')).
'"></td></tr>';
568$maxmin = $maxfilesizearray[
'maxmin'];
569$tooltiplogo = $langs->trans(
'AvailableFormats').
' : png, jpg, jpeg';
570$tooltiplogo .= ($maxmin > 0) ?
'<br>'.$langs->trans(
'MaxSize').
' : '.$maxmin.
' '.$langs->trans(
'Kb') :
'';
573print
'<tr class="oddeven"><td><label for="logo">'.$form->textwithpicto($langs->trans(
"Logo"), $tooltiplogo).
'</label></td><td>';
575$modulepart =
'mycompany';
576$dirformainimage =
$conf->mycompany->dir_output;
577$subdirformainimage =
'logos/';
578$fileformainimage =
$mysoc->logo;
580print $formfile->showImageToEdit(
'logo', $modulepart, $dirformainimage, $subdirformainimage, $fileformainimage);
585print
'<tr class="oddeven"><td><label for="logo_squarred">'.$form->textwithpicto($langs->trans(
"LogoSquarred"), $tooltiplogo).
'</label></td><td>';
587$modulepart =
'mycompany';
588$dirformainimage =
$conf->mycompany->dir_output;
589$subdirformainimage =
'logos/';
590$fileformainimage =
$mysoc->logo_squarred;
592print $formfile->showImageToEdit(
'logo_squarred', $modulepart, $dirformainimage, $subdirformainimage, $fileformainimage);
597print
'<tr class="oddeven"><td class="tdtop"><label for="note">'.$langs->trans(
"Note").
'</label></td><td>';
598print
'<textarea class="flat quatrevingtpercent" name="note" id="note" rows="'.ROWS_5.
'">'.(
GETPOSTISSET(
'note') ?
GETPOST(
'note',
'restricthtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_NOTE')).
'</textarea></td></tr>';
603print $form->buttonsSaveCancel(
"Save",
'', array(),
false,
'reposition');
609print
'<div class="div-table-responsive-no-min">';
610print
'<table class="noborder centpercent editmode">';
611print
'<tr class="liste_titre"><td class="wordbreak" colspan="2">'.$langs->trans(
"CompanyIds").
'</td></tr>';
613$langs->load(
"companies");
616print
'<tr class="oddeven"><td class="titlefieldcreate smallheight"><label for="director">'.$langs->trans(
"ManagingDirectors").
'</label></td><td>';
617print
'<input name="MAIN_INFO_SOCIETE_MANAGERS" id="directors" class="minwidth300" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'MAIN_INFO_SOCIETE_MANAGERS') ?
GETPOST(
'MAIN_INFO_SOCIETE_MANAGERS',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_SOCIETE_MANAGERS'))).
'"></td></tr>';
620print
'<tr class="oddeven"><td class="smallheight">';
621print $form->textwithpicto($langs->trans(
"GDPRContact"), $langs->trans(
"GDPRContactDesc"));
623print
'<input name="MAIN_INFO_GDPR" id="infodirector" class="minwidth300" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
"MAIN_INFO_GDPR") ?
GETPOST(
"MAIN_INFO_GDPR",
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_GDPR'))).
'"></td></tr>';
626print
'<tr class="oddeven"><td><label for="capital">'.$langs->trans(
"Capital").
'</label></td><td>';
627print
'<input name="capital" id="capital" class="maxwidth100" value="'.dolPrintHTMLForAttribute((
GETPOSTISSET(
'capital') ?
GETPOST(
'capital',
'alphanohtml') :
getDolGlobalString(
'MAIN_INFO_CAPITAL'))).
'"></td></tr>';
630print
'<tr class="oddeven"><td><label for="socialobject">'.$langs->trans(
"CompanyObject").
'</label></td><td>';
631print
'<textarea class="flat quatrevingtpercent" name="socialobject" id="socialobject" rows="'.ROWS_3.
'">'.
getDolGlobalString(
'MAIN_INFO_SOCIETE_OBJECT').
'</textarea></td></tr>';
635print
'<tr class="oddeven"><td><label for="intra_vat">'.$langs->trans(
"VATIntra").
'</label></td><td>';
636print
'<input name="tva" id="intra_vat" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_TVAINTRA')).
'">';
640print
'<tr class="oddeven"><td><label for="forme_juridique_code">'.$langs->trans(
"JuridicalStatus").
'</label></td><td>';
641if (
$mysoc->country_code) {
642 print $formcompany->select_juridicalstatus(
getDolGlobalInt(
'MAIN_INFO_SOCIETE_FORME_JURIDIQUE'),
$mysoc->country_code,
'',
'forme_juridique_code');
644 print $countrynotdefined;
649if ($langs->transcountry(
"ProfId1",
$mysoc->country_code) !=
'-') {
650 print
'<tr class="oddeven"><td><label for="profid1">'.$langs->transcountry(
"ProfId1",
$mysoc->country_code).
'</label></td><td>';
651 if (!empty(
$mysoc->country_code)) {
652 print
'<input name="siren" id="profid1" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_SIREN')).
'">';
654 print $countrynotdefined;
660if ($langs->transcountry(
"ProfId2",
$mysoc->country_code) !=
'-') {
661 print
'<tr class="oddeven"><td><label for="profid2">'.$langs->transcountry(
"ProfId2",
$mysoc->country_code).
'</label></td><td>';
662 if (!empty(
$mysoc->country_code)) {
663 print
'<input name="siret" id="profid2" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_SIRET')).
'">';
665 print $countrynotdefined;
671if ($langs->transcountry(
"ProfId3",
$mysoc->country_code) !=
'-') {
672 print
'<tr class="oddeven"><td><label for="profid3">'.$langs->transcountry(
"ProfId3",
$mysoc->country_code).
'</label></td><td>';
673 if (!empty(
$mysoc->country_code)) {
674 print
'<input name="ape" id="profid3" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_APE')).
'">';
676 print $countrynotdefined;
682if ($langs->transcountry(
"ProfId4",
$mysoc->country_code) !=
'-') {
683 print
'<tr class="oddeven"><td><label for="profid4">'.$langs->transcountry(
"ProfId4",
$mysoc->country_code).
'</label></td><td>';
684 if (!empty(
$mysoc->country_code)) {
685 print
'<input name="rcs" id="profid4" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_RCS')).
'">';
687 print $countrynotdefined;
693if ($langs->transcountry(
"ProfId5",
$mysoc->country_code) !=
'-') {
694 print
'<tr class="oddeven"><td><label for="profid5">'.$langs->transcountry(
"ProfId5",
$mysoc->country_code).
'</label></td><td>';
695 if (!empty(
$mysoc->country_code)) {
696 print
'<input name="MAIN_INFO_PROFID5" id="profid5" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_PROFID5')).
'">';
698 print $countrynotdefined;
704if ($langs->transcountry(
"ProfId6",
$mysoc->country_code) !=
'-') {
705 print
'<tr class="oddeven"><td><label for="profid6">'.$langs->transcountry(
"ProfId6",
$mysoc->country_code).
'</label></td><td>';
706 if (!empty(
$mysoc->country_code)) {
707 print
'<input name="MAIN_INFO_PROFID6" id="profid6" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_PROFID6')).
'">';
709 print $countrynotdefined;
715if ($langs->transcountry(
"ProfId7",
$mysoc->country_code) !=
'-') {
716 print
'<tr class="oddeven"><td><label for="profid7">'.$langs->transcountry(
"ProfId7",
$mysoc->country_code).
'</label></td><td>';
717 if (!empty(
$mysoc->country_code)) {
718 print
'<input name="MAIN_INFO_PROFID7" id="profid7" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_PROFID7')).
'">';
720 print $countrynotdefined;
726if ($langs->transcountry(
"ProfId8",
$mysoc->country_code) !=
'-') {
727 print
'<tr class="oddeven"><td><label for="profid8">'.$langs->transcountry(
"ProfId8",
$mysoc->country_code).
'</label></td><td>';
728 if (!empty(
$mysoc->country_code)) {
729 print
'<input name="MAIN_INFO_PROFID8" id="profid8" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_PROFID8')).
'">';
731 print $countrynotdefined;
737if ($langs->transcountry(
"ProfId9",
$mysoc->country_code) !=
'-') {
738 print
'<tr class="oddeven"><td><label for="profid9">'.$langs->transcountry(
"ProfId9",
$mysoc->country_code).
'</label></td><td>';
739 if (!empty(
$mysoc->country_code)) {
740 print
'<input name="MAIN_INFO_PROFID9" id="profid9" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_PROFID9')).
'">';
742 print $countrynotdefined;
748if ($langs->transcountry(
"ProfId10",
$mysoc->country_code) !=
'-') {
749 print
'<tr class="oddeven"><td><label for="profid10">'.$langs->transcountry(
"ProfId10",
$mysoc->country_code).
'</label></td><td>';
750 if (!empty(
$mysoc->country_code)) {
751 print
'<input name="MAIN_INFO_PROFID10" id="profid10" class="minwidth200" value="'.dolPrintHTMLForAttribute(
getDolGlobalString(
'MAIN_INFO_PROFID10')).
'">';
753 print $countrynotdefined;
764print
'<table class="noborder centpercent editmode">';
765print
'<tr class="liste_titre">';
766print
'<td class="titlefieldcreate">'.$langs->trans(
"FiscalYearInformation").
'</td><td></td>';
769print
'<tr class="oddeven"><td><label for="SOCIETE_FISCAL_MONTH_START">'.$langs->trans(
"FiscalMonthStart").
'</label></td><td>';
770print $formother->select_month(
getDolGlobalString(
'SOCIETE_FISCAL_MONTH_START'),
'SOCIETE_FISCAL_MONTH_START', 0, 1,
'maxwidth100').
'</td></tr>';
774print $form->buttonsSaveCancel(
"Save",
'', array(),
false,
'reposition');
780print
load_fiche_titre($langs->trans(
"TypeOfSaleTaxes"),
'',
'object_payment');
782print
'<table class="noborder centpercent editmode">';
783print
'<tr class="liste_titre">';
784print
'<td class="titlefieldcreate">'.$langs->trans(
"VATManagement").
'</td><td></td>';
785print
'<td class="right"> </td>';
789print
'<tr class="oddeven"><td><label><input type="radio" name="optiontva" id="use_vat" value="1"'.(!
getDolGlobalString(
'FACTURE_TVAOPTION') ?
"" :
" checked").
"> ".$langs->trans(
"VATIsUsed").
"</label></td>";
790print
'<td colspan="2">';
791$tooltiphelp = $langs->trans(
"VATIsUsedDesc");
792if (
$mysoc->country_code ==
'FR') {
793 $tooltiphelp .=
'<br><br><i>'.$langs->trans(
"Example").
': '.$langs->trans(
"VATIsUsedExampleFR").
"</i>";
795print
'<label for="use_vat">'.$form->textwithpicto($langs->trans(
"VATIsUsedStandard"), $tooltiphelp).
"</label>";
799print
'<tr class="oddeven"><td width="140"><label><input type="radio" name="optiontva" id="no_vat" value="0"'.(!
getDolGlobalString(
'FACTURE_TVAOPTION') ?
" checked" :
"").
"> ".$langs->trans(
"VATIsNotUsed").
"</label></td>";
800print
'<td colspan="2">';
802if (
$mysoc->country_code ==
'FR') {
803 $tooltiphelp =
"<i>".$langs->trans(
"Example").
': '.$langs->trans(
"VATIsNotUsedExampleFR").
"</i>\n";
805print
'<label for="no_vat">'.$form->textwithpicto($langs->trans(
"VATIsNotUsedDesc"), $tooltiphelp).
"</label>";
807print
'<div class="shownifvatnotused" id="vat_exemption_code_div"'.(getDolGlobalString(
'FACTURE_TVAOPTION') ?
' style="display: none;"' :
'').
'>';
808$placeholder = ((
$mysoc->country_code ==
'FR') ?
'VATEX-FR-FRANCHISE' :
'');
809$tooltiptext = $langs->trans(
"VATExemptionCodeDesc").
'<br>'.$langs->trans(
"VATExemptionCodeDesc2").
'<br>'.$langs->trans(
"VATExemptionCodeDesc3");
810if ((
$mysoc->country_code ==
'FR')) {
811 $tooltiptext .=
'<br><br>'.$langs->trans(
"Example").
':<br>';
812 $tooltiptext .=
'VATEX-FR-FRANCHISE, VATEX-FR-CGI261-4, VATEX-FR-J, VATEX-FR-I, VATEX-FR-D, ...';
814print $form->textwithpicto($langs->trans(
"VATExemptionCode"), $tooltiptext, 1,
'help',
'valignmiddle', 0, 3,
'exemptioncode').
' <input type="text" name="MAIN_INFO_SOCIETE_VAT_EXEMPTION_CODE" placeholder="'.$placeholder.
'" value="'.
getDolGlobalString(
'MAIN_INFO_SOCIETE_VAT_EXEMPTION_CODE').
'">';
823print
'<table class="noborder centpercent editmode">';
824print
'<tr class="liste_titre">';
825print
'<td class="titlefieldcreate">'.$form->textwithpicto($langs->transcountry(
"LocalTax1Management",
$mysoc->country_code), $langs->transcountry(
"LocalTax1IsUsedDesc",
$mysoc->country_code)).
'</td><td></td>';
826print
'<td class="right"> </td>';
829if (
$mysoc->useLocalTax(1)) {
831 print
'<tr class="oddeven"><td><input type="radio" name="optionlocaltax1" id="lt1" value="localtax1on"'.((getDolGlobalString(
'FACTURE_LOCAL_TAX1_OPTION') ==
'1' ||
getDolGlobalString(
'FACTURE_LOCAL_TAX1_OPTION') ==
"localtax1on") ?
" checked" :
"").
'> <label for="lt1">'.$langs->transcountry(
"LocalTax1IsUsed",
$mysoc->country_code).
"</label></td>";
832 print
'<td colspan="2">';
833 print
'<div class="nobordernopadding">';
834 $tooltiphelp = $langs->transcountry(
"LocalTax1IsUsedExample",
$mysoc->country_code);
835 $tooltiphelp = ($tooltiphelp !=
"LocalTax1IsUsedExample" ?
"<i>".$langs->trans(
"Example").
': '.$langs->transcountry(
"LocalTax1IsUsedExample",
$mysoc->country_code).
"</i>\n" :
"");
836 print $form->textwithpicto($langs->transcountry(
"LocalTax1IsUsedDesc",
$mysoc->country_code), $tooltiphelp);
838 print
'<br><label for="lt1">'.$langs->trans(
"LTRate").
'</label>: ';
839 $formcompany->select_localtax(1,
getDolGlobalFloat(
'MAIN_INFO_VALUE_LOCALTAX1'),
"lt1");
842 $options = array($langs->trans(
"CalcLocaltax1").
' '.$langs->trans(
"CalcLocaltax1Desc"), $langs->trans(
"CalcLocaltax2").
' - '.$langs->trans(
"CalcLocaltax2Desc"), $langs->trans(
"CalcLocaltax3").
' - '.$langs->trans(
"CalcLocaltax3Desc"));
844 print
'<br><label for="clt1">'.$langs->trans(
"CalcLocaltax").
'</label>: ';
845 print $form->selectarray(
"clt1", $options,
getDolGlobalString(
'MAIN_INFO_LOCALTAX_CALC1'));
847 print
"</td></tr>\n";
849 print
'<tr class="oddeven"><td><input type="radio" name="optionlocaltax1" id="nolt1" value="localtax1off"'.((!
getDolGlobalString(
'FACTURE_LOCAL_TAX1_OPTION') ||
getDolGlobalString(
'FACTURE_LOCAL_TAX1_OPTION') ==
"localtax1off") ?
" checked" :
"").
'> <label for="nolt1">'.$langs->transcountry(
"LocalTax1IsNotUsed",
$mysoc->country_code).
"</label></td>";
850 print
'<td colspan="2">';
851 $tooltiphelp = $langs->transcountry(
"LocalTax1IsNotUsedExample",
$mysoc->country_code);
852 $tooltiphelp = ($tooltiphelp !=
"LocalTax1IsNotUsedExample" ?
"<i>".$langs->trans(
"Example").
': '.$langs->transcountry(
"LocalTax1IsNotUsedExample",
$mysoc->country_code).
"</i>\n" :
"");
853 print $form->textwithpicto($langs->transcountry(
"LocalTax1IsNotUsedDesc",
$mysoc->country_code), $tooltiphelp);
854 print
"</td></tr>\n";
856 if (empty(
$mysoc->country_code)) {
857 print
'<tr class="oddeven nohover"><td class="" colspan="3">'.$countrynotdefined.
'</td></tr>';
859 print
'<tr class="oddeven nohover"><td class="" colspan="3"><span class="opacitymedium">'.$langs->trans(
"NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv(
"Setup"), $langs->transnoentitiesnoconv(
"Dictionaries"), $langs->transnoentitiesnoconv(
"DictionaryVAT"), $langs->transnoentitiesnoconv(
"LocalTax1Management")).
'</span></td></tr>';
867print
'<table class="noborder centpercent editmode">';
868print
'<tr class="liste_titre">';
869print
'<td class="titlefieldcreate">'.$form->textwithpicto($langs->transcountry(
"LocalTax2Management",
$mysoc->country_code), $langs->transcountry(
"LocalTax2IsUsedDesc",
$mysoc->country_code)).
'</td><td></td>';
870print
'<td class="right"> </td>';
873if (
$mysoc->useLocalTax(2)) {
875 print
'<tr class="oddeven"><td><input type="radio" name="optionlocaltax2" id="lt2" value="localtax2on"'.((getDolGlobalString(
'FACTURE_LOCAL_TAX2_OPTION') ==
'1' ||
getDolGlobalString(
'FACTURE_LOCAL_TAX2_OPTION') ==
"localtax2on") ?
" checked" :
"").
'> <label for="lt2">'.$langs->transcountry(
"LocalTax2IsUsed",
$mysoc->country_code).
"</label></td>";
876 print
'<td colspan="2">';
877 print
'<div class="nobordernopadding">';
878 print
'<label for="lt2">'.$langs->transcountry(
"LocalTax2IsUsedDesc",
$mysoc->country_code).
"</label>";
879 $tooltiphelp = $langs->transcountry(
"LocalTax2IsUsedExample",
$mysoc->country_code);
880 $tooltiphelp = ($tooltiphelp !=
"LocalTax2IsUsedExample" ?
"<i>".$langs->trans(
"Example").
': '.$langs->transcountry(
"LocalTax2IsUsedExample",
$mysoc->country_code).
"</i>\n" :
"");
882 print
'<br><label for="lt2">'.$langs->trans(
"LTRate").
'</label>: ';
883 $formcompany->select_localtax(2,
getDolGlobalFloat(
'MAIN_INFO_VALUE_LOCALTAX2'),
"lt2");
886 $options = array($langs->trans(
"CalcLocaltax1").
' '.$langs->trans(
"CalcLocaltax1Desc"), $langs->trans(
"CalcLocaltax2").
' - '.$langs->trans(
"CalcLocaltax2Desc"), $langs->trans(
"CalcLocaltax3").
' - '.$langs->trans(
"CalcLocaltax3Desc"));
888 print
'<br><label for="clt2">'.$langs->trans(
"CalcLocaltax").
'</label>: ';
889 print $form->selectarray(
"clt2", $options,
getDolGlobalString(
'MAIN_INFO_LOCALTAX_CALC2'));
891 print
"</td></tr>\n";
893 print
'<tr class="oddeven"><td><input type="radio" name="optionlocaltax2" id="nolt2" value="localtax2off"'.((!
getDolGlobalString(
'FACTURE_LOCAL_TAX2_OPTION') ||
getDolGlobalString(
'FACTURE_LOCAL_TAX2_OPTION') ==
"localtax2off") ?
" checked" :
"").
'> <label for="nolt2">'.$langs->transcountry(
"LocalTax2IsNotUsed",
$mysoc->country_code).
"</label></td>";
894 print
'<td colspan="2">';
896 $tooltiphelp = $langs->transcountry(
"LocalTax2IsNotUsedExample",
$mysoc->country_code);
897 $tooltiphelp = ($tooltiphelp !=
"LocalTax2IsNotUsedExample" ?
"<i>".$langs->trans(
"Example").
': '.$langs->transcountry(
"LocalTax2IsNotUsedExample",
$mysoc->country_code).
"</i>\n" :
"");
898 print
"<label for=\"nolt2\">".$form->textwithpicto($langs->transcountry(
"LocalTax2IsNotUsedDesc",
$mysoc->country_code), $tooltiphelp).
"</label>";
900 print
"</td></tr>\n";
902 if (empty(
$mysoc->country_code)) {
903 print
'<tr class="oddeven nohover"><td class="" colspan="3">'.$countrynotdefined.
'</td></tr>';
905 print
'<tr class="oddeven nohover"><td class="" colspan="3"><span class="opacitymedium">'.$langs->trans(
"NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv(
"Setup"), $langs->transnoentitiesnoconv(
"Dictionaries"), $langs->transnoentitiesnoconv(
"DictionaryVAT"), $langs->transnoentitiesnoconv(
"LocalTax2Management")).
'</span></td></tr>';
914print
'<table class="noborder centpercent editmode">';
915print
'<tr class="liste_titre">';
916print
'<td>'.$form->textwithpicto($langs->trans(
"RevenueStamp"), $langs->trans(
"RevenueStampDesc")).
'</td><td></td>';
917print
'<td class="right"> </td>';
919if (
$mysoc->useRevenueStamp()) {
921 print
'<tr class="oddeven"><td>';
922 print $langs->trans(
"UseRevenueStamp");
924 print
'<td colspan="2">';
925 print $langs->trans(
"UseRevenueStampExample", $langs->transnoentitiesnoconv(
"Setup"), $langs->transnoentitiesnoconv(
"Dictionaries"), $langs->transnoentitiesnoconv(
"DictionaryRevenueStamp"));
926 print
"</td></tr>\n";
928 if (empty(
$mysoc->country_code)) {
929 print
'<tr class="oddeven nohover"><td class="" colspan="3">'.$countrynotdefined.
'</td></tr>';
931 print
'<tr class="oddeven nohover"><td class="" colspan="3"><span class="opacitymedium">'.$langs->trans(
"NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv(
"Setup"), $langs->transnoentitiesnoconv(
"Dictionaries"), $langs->transnoentitiesnoconv(
"DictionaryRevenueStamp"), $langs->transnoentitiesnoconv(
"RevenueStamp")).
'</span></td></tr>';
938if (
$mysoc->country_code ==
'GR') {
940 print
'<table class="noborder centpercent editmode">';
941 print
'<tr class="liste_titre">';
942 print
'<td>'.$langs->trans(
"AccountParameter").
'</td>';
947 print
'<tr class="oddeven"><td>';
948 print
'<span class="titlefield fieldrequired">'.$langs->trans(
"MYDATA_AADE_USER").
'</span></td><td>';
949 print
'<input class="minwidth300" type="text" name="MYDATA_AADE_USER" value="'.getDolGlobalString(
'MYDATA_AADE_USER').
'"';
950 print
'</td><td></td></tr>';
952 print
'<tr class="oddeven"><td>';
953 print
'<span class="titlefield fieldrequired">'.$langs->trans(
"MYDATA_AADE_KEY").
'</span></td><td>';
954 print
'<input class="minwidth300" type="password" name="MYDATA_AADE_KEY" value="'.getDolGlobalString(
'MYDATA_AADE_KEY').
'"';
955 print
'</td><td></td></tr>';
957 print
'<tr class="oddeven"><td>';
958 print
'<span class="titlefield fieldrequired">'.$langs->trans(
"AADE_WEBSERVICE_USER").
'</span></td><td>';
959 print
'<input class="minwidth300" type="text" name="AADE_WEBSERVICE_USER" value="'.getDolGlobalString(
'AADE_WEBSERVICE_USER').
'"';
960 print
'</td><td></td></tr>';
962 print
'<tr class="oddeven"><td>';
963 print
'<span class="titlefield fieldrequired">'.$langs->trans(
"AADE_WEBSERVICE_KEY").
'</span></td><td>';
964 print
'<input class="minwidth300" type="password" name="AADE_WEBSERVICE_KEY" value="'.getDolGlobalString(
'AADE_WEBSERVICE_KEY').
'"';
965 print
'</td><td></td></tr>';
972print $form->buttonsSaveCancel(
"Save",
'', array(),
false,
'reposition');
if(! $sortfield) if(! $sortorder) $object
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.
company_admin_prepare_head()
Return array head with list of tabs to view object information.
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.
isALNERunningVersion($blockedlogtestalreadydone=0, $blockedlogmodulealreadydone=0)
Return if the application is executed with the LNE requirements on.
Class to manage third parties objects (customers, suppliers, prospects...)
getCountry($searchkey, $withcode='', $dbtouse=null, $outputlangs=null, $entconv=1, $searchlabel='')
Return country label, code or id from an id, code or label.
getState($id, $withcode='0', $dbtouse=null, $withregion=0, $outputlangs=null, $entconv=1)
Return state translated from an id.
dol_delete_file($file, $disableglob=0, $nophperrors=0, $nohook=0, $object=null, $allowdotdot=false, $indexdatabase=1, $nolog=0)
Remove a file or several files with a mask.
dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disablevirusscan=0, $uploaderrorcode=0, $nohook=0, $keyforsourcefile='addedfile', $upload_dir='', $mode=0)
Check validity of a file upload from an GUI page, and move it to its final destination.
getDolGlobalFloat($key, $default=0)
Return a Dolibarr global constant float value.
isOnlyOneLocalTax($local)
Return true if LocalTax (1 or 2) is unique.
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)
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.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0, $nodefault=0)
Return value of a param into GET or POST supervariable.
dolPrintHTMLForAttribute($s, $escapeonlyhtmltags=0, $allowothertags=array())
Return a string ready to be output into an HTML attribute (alt, title, data-html, ....
getDolCurrency()
Return the main currency ('EUR', 'USD', ...)
GETPOSTINT($paramname, $method=0, $nodefault=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
info_admin($text, $infoonimgalt=0, $nodiv=0, $admin='1', $morecss='hideonsmartphone', $textfordropdown='', $picto='', $textonpictotooltip='', $cssfordropdown='info_admin')
Show information in HTML for admin users or standard users.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
dol_mkdir($dir, $dataroot='', $newmask='')
Creation of a directory (this can create recursive subdir)
vignette($file, $maxWidth=160, $maxHeight=120, $extName='_small', $quality=50, $outdir='thumbs', $targetformat=0)
Create a thumbnail from an image file (Supported extensions are gif, jpg, png and bmp).
getListOfPossibleImageExt($acceptsvg=0)
Return if a filename is file name of a supported image format.
if(!defined( 'IMAGETYPE_WEBP')) getDefaultImageSizes()
Return default values for image sizes.
image_format_supported($file, $acceptsvg=0)
Return if a filename is file name of a supported image format.
getMaxFileSizeArray()
Return the max allowed for file upload.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.