diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index db4c1dff2096b8d4908b551d79e7d7c458854b21..53f5962f017c3a9c2fc6ac3dc91fe1abb7aa3ba8 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -51,216 +51,216 @@ $error=0; if ( ($action == 'update' && empty($_POST["cancel"])) || ($action == 'updateedit') ) { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - $tmparray=getCountry(GETPOST('country_id','int'),'all',$db,$langs,0); - if (! empty($tmparray['id'])) - { - $mysoc->country_id =$tmparray['id']; - $mysoc->country_code =$tmparray['code']; - $mysoc->country_label=$tmparray['label']; - - $s=$mysoc->country_id.':'.$mysoc->country_code.':'.$mysoc->country_label; - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_COUNTRY", $s,'chaine',0,'',$conf->entity); - } - - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM",$_POST["nom"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADDRESS",$_POST["address"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TOWN",$_POST["town"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ZIP",$_POST["zipcode"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_STATE",$_POST["state_id"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_MONNAIE",$_POST["currency"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TEL",$_POST["tel"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FAX",$_POST["fax"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_MAIL",$_POST["mail"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_WEB",$_POST["web"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOTE",$_POST["note"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_GENCOD",$_POST["barcode"],'chaine',0,'',$conf->entity); - if ($_FILES["logo"]["tmp_name"]) - { - if (preg_match('/([^\\/:]+)$/i',$_FILES["logo"]["name"],$reg)) - { - $original_file=$reg[1]; - - $isimage=image_format_supported($original_file); - if ($isimage >= 0) - { - dol_syslog("Move file ".$_FILES["logo"]["tmp_name"]." to ".$conf->mycompany->dir_output.'/logos/'.$original_file); - if (! is_dir($conf->mycompany->dir_output.'/logos/')) - { - dol_mkdir($conf->mycompany->dir_output.'/logos/'); - } - $result=dol_move_uploaded_file($_FILES["logo"]["tmp_name"],$conf->mycompany->dir_output.'/logos/'.$original_file,1,0,$_FILES['logo']['error']); - if ($result > 0) - { - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO",$original_file,'chaine',0,'',$conf->entity); - - // Create thumbs of logo (Note that PDF use original file and not thumbs) - if ($isimage > 0) - { - // Create small thumbs for company (Ratio is near 16/9) - // Used on logon for example - $imgThumbSmall = vignette($conf->mycompany->dir_output.'/logos/'.$original_file, $maxwidthsmall, $maxheightsmall, '_small', $quality); - if (preg_match('/([^\\/:]+)$/i',$imgThumbSmall,$reg)) - { - $imgThumbSmall = $reg[1]; - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall,'chaine',0,'',$conf->entity); - } - else dol_syslog($imgThumbSmall); - - // Create mini thumbs for company (Ratio is near 16/9) - // Used on menu or for setup page for example - $imgThumbMini = vignette($conf->mycompany->dir_output.'/logos/'.$original_file, $maxwidthmini, $maxheightmini, '_mini', $quality); - if (preg_match('/([^\\/:]+)$/i',$imgThumbMini,$reg)) - { - $imgThumbMini = $reg[1]; - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$imgThumbMini,'chaine',0,'',$conf->entity); - } - else dol_syslog($imgThumbMini); - } - else dol_syslog("ErrorImageFormatNotSupported",LOG_WARNING); - } - else if (preg_match('/^ErrorFileIsInfectedWithAVirus/',$result)) - { - $error++; - $langs->load("errors"); - $tmparray=explode(':',$result); - setEventMessage($langs->trans('ErrorFileIsInfectedWithAVirus',$tmparray[1]),'errors'); - } - else - { - $error++; - setEventMessage($langs->trans("ErrorFailedToSaveFile"),'errors'); - } - } - else + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $tmparray=getCountry(GETPOST('country_id','int'),'all',$db,$langs,0); + if (! empty($tmparray['id'])) + { + $mysoc->country_id =$tmparray['id']; + $mysoc->country_code =$tmparray['code']; + $mysoc->country_label=$tmparray['label']; + + $s=$mysoc->country_id.':'.$mysoc->country_code.':'.$mysoc->country_label; + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_COUNTRY", $s,'chaine',0,'',$conf->entity); + } + + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM",$_POST["nom"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADDRESS",$_POST["address"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TOWN",$_POST["town"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ZIP",$_POST["zipcode"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_STATE",$_POST["state_id"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_MONNAIE",$_POST["currency"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TEL",$_POST["tel"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FAX",$_POST["fax"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_MAIL",$_POST["mail"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_WEB",$_POST["web"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOTE",$_POST["note"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_GENCOD",$_POST["barcode"],'chaine',0,'',$conf->entity); + if ($_FILES["logo"]["tmp_name"]) + { + if (preg_match('/([^\\/:]+)$/i',$_FILES["logo"]["name"],$reg)) + { + $original_file=$reg[1]; + + $isimage=image_format_supported($original_file); + if ($isimage >= 0) + { + dol_syslog("Move file ".$_FILES["logo"]["tmp_name"]." to ".$conf->mycompany->dir_output.'/logos/'.$original_file); + if (! is_dir($conf->mycompany->dir_output.'/logos/')) + { + dol_mkdir($conf->mycompany->dir_output.'/logos/'); + } + $result=dol_move_uploaded_file($_FILES["logo"]["tmp_name"],$conf->mycompany->dir_output.'/logos/'.$original_file,1,0,$_FILES['logo']['error']); + if ($result > 0) + { + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO",$original_file,'chaine',0,'',$conf->entity); + + // Create thumbs of logo (Note that PDF use original file and not thumbs) + if ($isimage > 0) + { + // Create small thumbs for company (Ratio is near 16/9) + // Used on logon for example + $imgThumbSmall = vignette($conf->mycompany->dir_output.'/logos/'.$original_file, $maxwidthsmall, $maxheightsmall, '_small', $quality); + if (preg_match('/([^\\/:]+)$/i',$imgThumbSmall,$reg)) + { + $imgThumbSmall = $reg[1]; + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall,'chaine',0,'',$conf->entity); + } + else dol_syslog($imgThumbSmall); + + // Create mini thumbs for company (Ratio is near 16/9) + // Used on menu or for setup page for example + $imgThumbMini = vignette($conf->mycompany->dir_output.'/logos/'.$original_file, $maxwidthmini, $maxheightmini, '_mini', $quality); + if (preg_match('/([^\\/:]+)$/i',$imgThumbMini,$reg)) + { + $imgThumbMini = $reg[1]; + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$imgThumbMini,'chaine',0,'',$conf->entity); + } + else dol_syslog($imgThumbMini); + } + else dol_syslog("ErrorImageFormatNotSupported",LOG_WARNING); + } + else if (preg_match('/^ErrorFileIsInfectedWithAVirus/',$result)) + { + $error++; + $langs->load("errors"); + $tmparray=explode(':',$result); + setEventMessage($langs->trans('ErrorFileIsInfectedWithAVirus',$tmparray[1]),'errors'); + } + else + { + $error++; + setEventMessage($langs->trans("ErrorFailedToSaveFile"),'errors'); + } + } + else { - $error++; + $error++; $langs->load("errors"); - setEventMessage($langs->trans("ErrorBadImageFormat"),'errors'); - } - } - } - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_MANAGERS",$_POST["MAIN_INFO_SOCIETE_MANAGERS"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_CAPITAL",$_POST["capital"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FORME_JURIDIQUE",$_POST["forme_juridique_code"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SIREN",$_POST["siren"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_SIRET",$_POST["siret"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_APE",$_POST["ape"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_RCS",$_POST["rcs"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_PROFID5",$_POST["MAIN_INFO_PROFID5"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_INFO_PROFID6",$_POST["MAIN_INFO_PROFID6"],'chaine',0,'',$conf->entity); - - dolibarr_set_const($db, "MAIN_INFO_TVAINTRA",$_POST["tva"],'chaine',0,'',$conf->entity); + setEventMessage($langs->trans("ErrorBadImageFormat"),'errors'); + } + } + } + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_MANAGERS",$_POST["MAIN_INFO_SOCIETE_MANAGERS"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_CAPITAL",$_POST["capital"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FORME_JURIDIQUE",$_POST["forme_juridique_code"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SIREN",$_POST["siren"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SIRET",$_POST["siret"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_APE",$_POST["ape"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_RCS",$_POST["rcs"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_PROFID5",$_POST["MAIN_INFO_PROFID5"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_PROFID6",$_POST["MAIN_INFO_PROFID6"],'chaine',0,'',$conf->entity); + + dolibarr_set_const($db, "MAIN_INFO_TVAINTRA",$_POST["tva"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_OBJECT",$_POST["object"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "SOCIETE_FISCAL_MONTH_START",$_POST["fiscalmonthstart"],'chaine',0,'',$conf->entity); - - dolibarr_set_const($db, "FACTURE_TVAOPTION",$_POST["optiontva"],'chaine',0,'',$conf->entity); - - // Local taxes - dolibarr_set_const($db, "FACTURE_LOCAL_TAX1_OPTION",$_POST["optionlocaltax1"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "FACTURE_LOCAL_TAX2_OPTION",$_POST["optionlocaltax2"],'chaine',0,'',$conf->entity); - - if($_POST["optionlocaltax1"]=="localtax1on") - { - if(!isset($_REQUEST['lt1'])) - { - dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX1", 0,'chaine',0,'',$conf->entity); - } - else - { - dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX1", GETPOST('lt1'),'chaine',0,'',$conf->entity); - } - dolibarr_set_const($db,"MAIN_INFO_LOCALTAX_CALC1", $_POST["clt1"],'chaine',0,'',$conf->entity); - } - if($_POST["optionlocaltax2"]=="localtax2on") - { - if(!isset($_REQUEST['lt2'])) - { - dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX2", 0,'chaine',0,'',$conf->entity); - } - else - { - dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX2", GETPOST('lt2'),'chaine',0,'',$conf->entity); - } - dolibarr_set_const($db,"MAIN_INFO_LOCALTAX_CALC2", $_POST["clt2"],'chaine',0,'',$conf->entity); - } - - if ($action != 'updateedit' && ! $error) - { - header("Location: ".$_SERVER["PHP_SELF"]); - exit; - } + dolibarr_set_const($db, "SOCIETE_FISCAL_MONTH_START",$_POST["fiscalmonthstart"],'chaine',0,'',$conf->entity); + + dolibarr_set_const($db, "FACTURE_TVAOPTION",$_POST["optiontva"],'chaine',0,'',$conf->entity); + + // Local taxes + dolibarr_set_const($db, "FACTURE_LOCAL_TAX1_OPTION",$_POST["optionlocaltax1"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "FACTURE_LOCAL_TAX2_OPTION",$_POST["optionlocaltax2"],'chaine',0,'',$conf->entity); + + if($_POST["optionlocaltax1"]=="localtax1on") + { + if(!isset($_REQUEST['lt1'])) + { + dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX1", 0,'chaine',0,'',$conf->entity); + } + else + { + dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX1", GETPOST('lt1'),'chaine',0,'',$conf->entity); + } + dolibarr_set_const($db,"MAIN_INFO_LOCALTAX_CALC1", $_POST["clt1"],'chaine',0,'',$conf->entity); + } + if($_POST["optionlocaltax2"]=="localtax2on") + { + if(!isset($_REQUEST['lt2'])) + { + dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX2", 0,'chaine',0,'',$conf->entity); + } + else + { + dolibarr_set_const($db, "MAIN_INFO_VALUE_LOCALTAX2", GETPOST('lt2'),'chaine',0,'',$conf->entity); + } + dolibarr_set_const($db,"MAIN_INFO_LOCALTAX_CALC2", $_POST["clt2"],'chaine',0,'',$conf->entity); + } + + if ($action != 'updateedit' && ! $error) + { + header("Location: ".$_SERVER["PHP_SELF"]); + exit; + } } if ($action == 'addthumb') { - if (file_exists($conf->mycompany->dir_output.'/logos/'.$_GET["file"])) - { - $isimage=image_format_supported($_GET["file"]); - - // Create thumbs of logo - if ($isimage > 0) - { - // Create small thumbs for company (Ratio is near 16/9) - // Used on logon for example - $imgThumbSmall = vignette($conf->mycompany->dir_output.'/logos/'.$_GET["file"], $maxwidthsmall, $maxheightsmall, '_small',$quality); - if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbSmall,$reg)) - { - $imgThumbSmall = $reg[1]; - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall,'chaine',0,'',$conf->entity); - } - else dol_syslog($imgThumbSmall); - - // Create mini thumbs for company (Ratio is near 16/9) - // Used on menu or for setup page for example - $imgThumbMini = vignette($conf->mycompany->dir_output.'/logos/'.$_GET["file"], $maxwidthmini, $maxheightmini, '_mini',$quality); - if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbMini,$reg)) - { - $imgThumbMini = $reg[1]; - dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$imgThumbMini,'chaine',0,'',$conf->entity); - } - else dol_syslog($imgThumbMini); - - header("Location: ".$_SERVER["PHP_SELF"]); - exit; - } - else - { - $error++; - $langs->load("errors"); - setEventMessage($langs->trans("ErrorBadImageFormat"),'errors'); - dol_syslog($langs->transnoentities("ErrorBadImageFormat"),LOG_WARNING); - } - } - else - { - $error++; - $langs->load("errors"); - setEventMessage($langs->trans("ErrorFileDoesNotExists",$_GET["file"]),'errors'); - dol_syslog($langs->transnoentities("ErrorFileDoesNotExists",$_GET["file"]),LOG_WARNING); - } + if (file_exists($conf->mycompany->dir_output.'/logos/'.$_GET["file"])) + { + $isimage=image_format_supported($_GET["file"]); + + // Create thumbs of logo + if ($isimage > 0) + { + // Create small thumbs for company (Ratio is near 16/9) + // Used on logon for example + $imgThumbSmall = vignette($conf->mycompany->dir_output.'/logos/'.$_GET["file"], $maxwidthsmall, $maxheightsmall, '_small',$quality); + if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbSmall,$reg)) + { + $imgThumbSmall = $reg[1]; + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$imgThumbSmall,'chaine',0,'',$conf->entity); + } + else dol_syslog($imgThumbSmall); + + // Create mini thumbs for company (Ratio is near 16/9) + // Used on menu or for setup page for example + $imgThumbMini = vignette($conf->mycompany->dir_output.'/logos/'.$_GET["file"], $maxwidthmini, $maxheightmini, '_mini',$quality); + if (image_format_supported($imgThumbSmall) >= 0 && preg_match('/([^\\/:]+)$/i',$imgThumbMini,$reg)) + { + $imgThumbMini = $reg[1]; + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$imgThumbMini,'chaine',0,'',$conf->entity); + } + else dol_syslog($imgThumbMini); + + header("Location: ".$_SERVER["PHP_SELF"]); + exit; + } + else + { + $error++; + $langs->load("errors"); + setEventMessage($langs->trans("ErrorBadImageFormat"),'errors'); + dol_syslog($langs->transnoentities("ErrorBadImageFormat"),LOG_WARNING); + } + } + else + { + $error++; + $langs->load("errors"); + setEventMessage($langs->trans("ErrorFileDoesNotExists",$_GET["file"]),'errors'); + dol_syslog($langs->transnoentities("ErrorFileDoesNotExists",$_GET["file"]),LOG_WARNING); + } } if ($action == 'removelogo') { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - $logofile=$conf->mycompany->dir_output.'/logos/'.$mysoc->logo; - dol_delete_file($logofile); - dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO",$conf->entity); - $mysoc->logo=''; - - $logosmallfile=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small; - dol_delete_file($logosmallfile); - dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$conf->entity); - $mysoc->logo_small=''; - - $logominifile=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini; - dol_delete_file($logominifile); - dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$conf->entity); - $mysoc->logo_mini=''; + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $logofile=$conf->mycompany->dir_output.'/logos/'.$mysoc->logo; + dol_delete_file($logofile); + dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO",$conf->entity); + $mysoc->logo=''; + + $logosmallfile=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small; + dol_delete_file($logosmallfile); + dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_SMALL",$conf->entity); + $mysoc->logo_small=''; + + $logominifile=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini; + dol_delete_file($logominifile); + dolibarr_del_const($db, "MAIN_INFO_SOCIETE_LOGO_MINI",$conf->entity); + $mysoc->logo_mini=''; } @@ -284,829 +284,821 @@ print "<br>\n"; if ($action == 'edit' || $action == 'updateedit') { - /** - * Edition des parametres - */ - print "\n".'<script type="text/javascript" language="javascript">'; - print '$(document).ready(function () { - $("#selectcountry_id").change(function() { - document.form_index.action.value="updateedit"; - document.form_index.submit(); - }); - });'; - print '</script>'."\n"; - - print '<form enctype="multipart/form-data" method="post" action="'.$_SERVER["PHP_SELF"].'" name="form_index">'; - print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; - print '<input type="hidden" name="action" value="update">'; - $var=true; - - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><th width="35%">'.$langs->trans("CompanyInfo").'</th><th>'.$langs->trans("Value").'</th></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td class="fieldrequired"><label for="name">'.$langs->trans("CompanyName").'</label></td><td>'; - print '<input name="nom" id="name" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_NOM?$conf->global->MAIN_INFO_SOCIETE_NOM:$_POST["nom"]) . '" autofocus="autofocus"></td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="address">'.$langs->trans("CompanyAddress").'</label></td><td>'; - print '<textarea name="address" id="address" cols="80" rows="'.ROWS_3.'">'. ($conf->global->MAIN_INFO_SOCIETE_ADDRESS?$conf->global->MAIN_INFO_SOCIETE_ADDRESS:$_POST["address"]) . '</textarea></td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="zipcode">'.$langs->trans("CompanyZip").'</label></td><td>'; - print '<input name="zipcode" id="zipcode" value="'. ($conf->global->MAIN_INFO_SOCIETE_ZIP?$conf->global->MAIN_INFO_SOCIETE_ZIP:$_POST["zipcode"]) . '" size="10"></td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="town">'.$langs->trans("CompanyTown").'</label></td><td>'; - print '<input name="town" id="town" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_TOWN?$conf->global->MAIN_INFO_SOCIETE_TOWN:$_POST["town"]) . '"></td></tr>'."\n"; - - // Country - $var=!$var; - print '<tr '.$bc[$var].'><td class="fieldrequired"><label for="selectcountry_id">'.$langs->trans("Country").'</label></td><td class="maxwidthonsmartphone">'; - //if (empty($country_selected)) $country_selected=substr($langs->defaultlang,-2); // By default, country of localization - print $form->select_country($mysoc->country_id,'country_id'); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="state_id">'.$langs->trans("State").'</label></td><td class="maxwidthonsmartphone">'; - $formcompany->select_departement($conf->global->MAIN_INFO_SOCIETE_STATE,$mysoc->country_code,'state_id'); - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="currency">'.$langs->trans("CompanyCurrency").'</label></td><td>'; - print $form->selectCurrency($conf->currency,"currency"); - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="phone">'.$langs->trans("Phone").'</label></td><td>'; - print '<input name="tel" id="phone" value="'. $conf->global->MAIN_INFO_SOCIETE_TEL . '"></td></tr>'; - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="fax">'.$langs->trans("Fax").'</label></td><td>'; - print '<input name="fax" id="fax" value="'. $conf->global->MAIN_INFO_SOCIETE_FAX . '"></td></tr>'; - print '</td></tr>'."\n"; - - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="email">'.$langs->trans("EMail").'</label></td><td>'; - print '<input name="mail" id="email" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_MAIL . '"></td></tr>'; - print '</td></tr>'."\n"; - - // Web - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="web">'.$langs->trans("Web").'</label></td><td>'; - print '<input name="web" id="web" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_WEB . '"></td></tr>'; - print '</td></tr>'."\n"; - - // Barcode - if (! empty($conf->barcode->enabled)) - { - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="barcode">'.$langs->trans("Gencod").'</label></td><td>'; - print '<input name="barcode" id="barcode" size="40" value="'. $conf->global->MAIN_INFO_SOCIETE_GENCOD . '"></td></tr>'; - print '</td></tr>'; - } - - // Logo - $var=!$var; - print '<tr'.dol_bc($var,'hideonsmartphone').'><td><label for="logo">'.$langs->trans("Logo").' (png,jpg)</label></td><td>'; - print '<table width="100%" class="nobordernopadding"><tr class="nocellnopadd"><td valign="middle" class="nocellnopadd">'; - print '<input type="file" class="flat" name="logo" id="logo" size="50">'; - print '</td><td class="nocellnopadd" valign="middle" align="right">'; - if (! empty($mysoc->logo_mini)) - { - print '<a href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete")).'</a>'; - if (file_exists($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) - { - print ' '; - print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; - } - } - else - { - print '<img height="30" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.jpg">'; - } - print '</td></tr></table>'; - print '</td></tr>'; - - // Note - $var=!$var; - print '<tr '.$bc[$var].'><td valign="top"><label for="note">'.$langs->trans("Note").'</label></td><td>'; - print '<textarea class="flat" name="note" id="note" cols="80" rows="'.ROWS_5.'">'.(! empty($conf->global->MAIN_INFO_SOCIETE_NOTE) ? $conf->global->MAIN_INFO_SOCIETE_NOTE : '').'</textarea></td></tr>'; - print '</td></tr>'; - - print '</table>'; - - print '<br>'; - - // Identifiants de la societe (country-specific) - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; - $var=true; - - $langs->load("companies"); - - // Managing Director(s) - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="director">'.$langs->trans("ManagingDirectors").'</label></td><td>'; - print '<input name="MAIN_INFO_SOCIETE_MANAGERS" id="director" size="80" value="' . $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '"></td></tr>'; - - // Capital - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="capital">'.$langs->trans("Capital").'</label></td><td>'; - print '<input name="capital" id="capital" size="20" value="' . $conf->global->MAIN_INFO_CAPITAL . '"></td></tr>'; - - // Forme juridique - $var=!$var; - print '<tr '.$bc[$var].'><td><label for="legal_form">'.$langs->trans("JuridicalStatus").'</label></td><td>'; - if ($mysoc->country_code) - { - print $formcompany->select_juridicalstatus($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE, $mysoc->country_code, '', 'legal_form'); - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - - // ProfID1 - if ($langs->transcountry("ProfId1",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="profid1">'.$langs->transcountry("ProfId1",$mysoc->country_code).'</label></td><td>'; - if (! empty($mysoc->country_code)) - { - print '<input name="siren" id="profid1" size="20" value="' . (! empty($conf->global->MAIN_INFO_SIREN) ? $conf->global->MAIN_INFO_SIREN : '') . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId2 - if ($langs->transcountry("ProfId2",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="profid2">'.$langs->transcountry("ProfId2",$mysoc->country_code).'</label></td><td>'; - if (! empty($mysoc->country_code)) - { - print '<input name="siret" id="profid2" size="20" value="' . (! empty($conf->global->MAIN_INFO_SIRET) ? $conf->global->MAIN_INFO_SIRET : '' ) . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId3 - if ($langs->transcountry("ProfId3",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="profid3">'.$langs->transcountry("ProfId3",$mysoc->country_code).'</label></td><td>'; - if (! empty($mysoc->country_code)) - { - print '<input name="ape" id="profid3" size="20" value="' . (! empty($conf->global->MAIN_INFO_APE) ? $conf->global->MAIN_INFO_APE : '') . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId4 - if ($langs->transcountry("ProfId4",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="profid4">'.$langs->transcountry("ProfId4",$mysoc->country_code).'</label></td><td>'; - if (! empty($mysoc->country_code)) - { - print '<input name="rcs" id="profid4" size="20" value="' . (! empty($conf->global->MAIN_INFO_RCS) ? $conf->global->MAIN_INFO_RCS : '') . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId5 - if ($langs->transcountry("ProfId5",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="profid5">'.$langs->transcountry("ProfId5",$mysoc->country_code).'</label></td><td>'; - if (! empty($mysoc->country_code)) - { - print '<input name="MAIN_INFO_PROFID5" id="profid5" size="20" value="' . (! empty($conf->global->MAIN_INFO_PROFID5) ? $conf->global->MAIN_INFO_PROFID5 : '') . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // ProfId6 - if ($langs->transcountry("ProfId6",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="profid6">'.$langs->transcountry("ProfId6",$mysoc->country_code).'</label></td><td>'; - if (! empty($mysoc->country_code)) - { - print '<input name="MAIN_INFO_PROFID6" id="profid6" size="20" value="' . (! empty($conf->global->MAIN_INFO_PROFID6) ? $conf->global->MAIN_INFO_PROFID6 : '') . '">'; - } - else - { - print $countrynotdefined; - } - print '</td></tr>'; - } - - // TVA Intra - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="intra_vat">'.$langs->trans("VATIntra").'</label></td><td>'; - print '<input name="tva" id="intra_vat" size="20" value="' . (! empty($conf->global->MAIN_INFO_TVAINTRA) ? $conf->global->MAIN_INFO_TVAINTRA : '') . '">'; - print '</td></tr>'; + /** + * Edition des parametres + */ + print "\n".'<script type="text/javascript" language="javascript">'; + print '$(document).ready(function () { + $("#selectcountry_id").change(function() { + document.form_index.action.value="updateedit"; + document.form_index.submit(); + }); + });'; + print '</script>'."\n"; + + print '<form enctype="multipart/form-data" method="post" action="'.$_SERVER["PHP_SELF"].'" name="form_index">'; + print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; + print '<input type="hidden" name="action" value="update">'; + $var=true; + + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><th width="35%">'.$langs->trans("CompanyInfo").'</th><th>'.$langs->trans("Value").'</th></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td class="fieldrequired"><label for="name">'.$langs->trans("CompanyName").'</label></td><td>'; + print '<input name="nom" id="name" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_NOM?$conf->global->MAIN_INFO_SOCIETE_NOM:$_POST["nom"]) . '" autofocus="autofocus"></td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="address">'.$langs->trans("CompanyAddress").'</label></td><td>'; + print '<textarea name="address" id="address" cols="80" rows="'.ROWS_3.'">'. ($conf->global->MAIN_INFO_SOCIETE_ADDRESS?$conf->global->MAIN_INFO_SOCIETE_ADDRESS:$_POST["address"]) . '</textarea></td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="zipcode">'.$langs->trans("CompanyZip").'</label></td><td>'; + print '<input name="zipcode" id="zipcode" value="'. ($conf->global->MAIN_INFO_SOCIETE_ZIP?$conf->global->MAIN_INFO_SOCIETE_ZIP:$_POST["zipcode"]) . '" size="10"></td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="town">'.$langs->trans("CompanyTown").'</label></td><td>'; + print '<input name="town" id="town" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_TOWN?$conf->global->MAIN_INFO_SOCIETE_TOWN:$_POST["town"]) . '"></td></tr>'."\n"; + + // Country + $var=!$var; + print '<tr '.$bc[$var].'><td class="fieldrequired"><label for="selectcountry_id">'.$langs->trans("Country").'</label></td><td class="maxwidthonsmartphone">'; + //if (empty($country_selected)) $country_selected=substr($langs->defaultlang,-2); // By default, country of localization + print $form->select_country($mysoc->country_id,'country_id'); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="state_id">'.$langs->trans("State").'</label></td><td class="maxwidthonsmartphone">'; + $formcompany->select_departement($conf->global->MAIN_INFO_SOCIETE_STATE,$mysoc->country_code,'state_id'); + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="currency">'.$langs->trans("CompanyCurrency").'</label></td><td>'; + print $form->selectCurrency($conf->currency,"currency"); + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="phone">'.$langs->trans("Phone").'</label></td><td>'; + print '<input name="tel" id="phone" value="'. $conf->global->MAIN_INFO_SOCIETE_TEL . '"></td></tr>'; + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="fax">'.$langs->trans("Fax").'</label></td><td>'; + print '<input name="fax" id="fax" value="'. $conf->global->MAIN_INFO_SOCIETE_FAX . '"></td></tr>'; + print '</td></tr>'."\n"; + + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="email">'.$langs->trans("EMail").'</label></td><td>'; + print '<input name="mail" id="email" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_MAIL . '"></td></tr>'; + print '</td></tr>'."\n"; + + // Web + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="web">'.$langs->trans("Web").'</label></td><td>'; + print '<input name="web" id="web" size="60" value="'. $conf->global->MAIN_INFO_SOCIETE_WEB . '"></td></tr>'; + print '</td></tr>'."\n"; + + // Barcode + if (! empty($conf->barcode->enabled)) { + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="barcode">'.$langs->trans("Gencod").'</label></td><td>'; + print '<input name="barcode" id="barcode" size="40" value="'. $conf->global->MAIN_INFO_SOCIETE_GENCOD . '"></td></tr>'; + print '</td></tr>'; + } + + // Logo + $var=!$var; + print '<tr'.dol_bc($var,'hideonsmartphone').'><td><label for="logo">'.$langs->trans("Logo").' (png,jpg)</label></td><td>'; + print '<table width="100%" class="nobordernopadding"><tr class="nocellnopadd"><td valign="middle" class="nocellnopadd">'; + print '<input type="file" class="flat" name="logo" id="logo" size="50">'; + print '</td><td class="nocellnopadd" valign="middle" align="right">'; + if (! empty($mysoc->logo_mini)) { + print '<a href="'.$_SERVER["PHP_SELF"].'?action=removelogo">'.img_delete($langs->trans("Delete")).'</a>'; + if (file_exists($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) { + print ' '; + print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; + } + } else { + print '<img height="30" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.jpg">'; + } + print '</td></tr></table>'; + print '</td></tr>'; + + // Note + $var=!$var; + print '<tr '.$bc[$var].'><td valign="top"><label for="note">'.$langs->trans("Note").'</label></td><td>'; + print '<textarea class="flat" name="note" id="note" cols="80" rows="'.ROWS_5.'">'.(! empty($conf->global->MAIN_INFO_SOCIETE_NOTE) ? $conf->global->MAIN_INFO_SOCIETE_NOTE : '').'</textarea></td></tr>'; + print '</td></tr>'; + + print '</table>'; + + print '<br>'; + + // Identifiants de la societe (country-specific) + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; + $var=true; + + $langs->load("companies"); + + // Managing Director(s) + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="director">'.$langs->trans("ManagingDirectors").'</label></td><td>'; + print '<input name="MAIN_INFO_SOCIETE_MANAGERS" id="director" size="80" value="' . $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '"></td></tr>'; + + // Capital + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="capital">'.$langs->trans("Capital").'</label></td><td>'; + print '<input name="capital" id="capital" size="20" value="' . $conf->global->MAIN_INFO_CAPITAL . '"></td></tr>'; + + // Forme juridique + $var=!$var; + print '<tr '.$bc[$var].'><td><label for="legal_form">'.$langs->trans("JuridicalStatus").'</label></td><td>'; + if ($mysoc->country_code) { + print $formcompany->select_juridicalstatus($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE, $mysoc->country_code, '', 'legal_form'); + } else { + print $countrynotdefined; + } + print '</td></tr>'; + + // ProfID1 + if ($langs->transcountry("ProfId1",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="profid1">'.$langs->transcountry("ProfId1",$mysoc->country_code).'</label></td><td>'; + if (! empty($mysoc->country_code)) + { + print '<input name="siren" id="profid1" size="20" value="' . (! empty($conf->global->MAIN_INFO_SIREN) ? $conf->global->MAIN_INFO_SIREN : '') . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId2 + if ($langs->transcountry("ProfId2",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="profid2">'.$langs->transcountry("ProfId2",$mysoc->country_code).'</label></td><td>'; + if (! empty($mysoc->country_code)) + { + print '<input name="siret" id="profid2" size="20" value="' . (! empty($conf->global->MAIN_INFO_SIRET) ? $conf->global->MAIN_INFO_SIRET : '' ) . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId3 + if ($langs->transcountry("ProfId3",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="profid3">'.$langs->transcountry("ProfId3",$mysoc->country_code).'</label></td><td>'; + if (! empty($mysoc->country_code)) + { + print '<input name="ape" id="profid3" size="20" value="' . (! empty($conf->global->MAIN_INFO_APE) ? $conf->global->MAIN_INFO_APE : '') . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId4 + if ($langs->transcountry("ProfId4",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="profid4">'.$langs->transcountry("ProfId4",$mysoc->country_code).'</label></td><td>'; + if (! empty($mysoc->country_code)) + { + print '<input name="rcs" id="profid4" size="20" value="' . (! empty($conf->global->MAIN_INFO_RCS) ? $conf->global->MAIN_INFO_RCS : '') . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId5 + if ($langs->transcountry("ProfId5",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="profid5">'.$langs->transcountry("ProfId5",$mysoc->country_code).'</label></td><td>'; + if (! empty($mysoc->country_code)) + { + print '<input name="MAIN_INFO_PROFID5" id="profid5" size="20" value="' . (! empty($conf->global->MAIN_INFO_PROFID5) ? $conf->global->MAIN_INFO_PROFID5 : '') . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // ProfId6 + if ($langs->transcountry("ProfId6",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="profid6">'.$langs->transcountry("ProfId6",$mysoc->country_code).'</label></td><td>'; + if (! empty($mysoc->country_code)) + { + print '<input name="MAIN_INFO_PROFID6" id="profid6" size="20" value="' . (! empty($conf->global->MAIN_INFO_PROFID6) ? $conf->global->MAIN_INFO_PROFID6 : '') . '">'; + } + else + { + print $countrynotdefined; + } + print '</td></tr>'; + } + + // TVA Intra + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="intra_vat">'.$langs->trans("VATIntra").'</label></td><td>'; + print '<input name="tva" id="intra_vat" size="20" value="' . (! empty($conf->global->MAIN_INFO_TVAINTRA) ? $conf->global->MAIN_INFO_TVAINTRA : '') . '">'; + print '</td></tr>'; // Object of the company - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="object">'.$langs->trans("CompanyObject").'</label></td><td>'; - print '<textarea class="flat" name="object" id="object" cols="80" rows="'.ROWS_5.'">'.(! empty($conf->global->MAIN_INFO_SOCIETE_OBJECT) ? $conf->global->MAIN_INFO_SOCIETE_OBJECT : '').'</textarea></td></tr>'; - print '</td></tr>'; - - print '</table>'; - - - // Fiscal year start - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%"><label for="fiscalmonthstart">'.$langs->trans("FiscalMonthStart").'</label></td><td>'; - print $formother->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',0,1) . '</td></tr>'; - - print "</table>"; - - - // Fiscal options - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" id=\"use_vat\" value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</label></td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"use_vat\">".$langs->trans("VATIsUsedDesc")."</label></td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" id=\"no_vat\" value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"no_vat\">".$langs->trans("VATIsNotUsedDesc")."</label></td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - print "</table>"; - - /* - * Local Taxes - */ - if ($mysoc->useLocalTax(1)) - { - // Local Tax 1 - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->transcountry("LocalTax1Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - $var=!$var; - // Note: When option is not set, it must not appears as set on on, because there is no default value for this option - print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax1\" id=\"lt1\" value=\"localtax1on\"".(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on")?" checked":"")."> ".$langs->transcountry("LocalTax1IsUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"lt1\">".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code); - print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - if(! isOnlyOneLocalTax(1)) - { - print '<tr><td align="left"><label for="lt1">'.$langs->trans("LTRate").'</label>: '; - $formcompany->select_localtax(1,$conf->global->MAIN_INFO_VALUE_LOCALTAX1, "lt1"); - } - print '</td></tr>'; - - $opcions=array($langs->trans("CalcLocaltax1").' '.$langs->trans("CalcLocaltax1Desc"),$langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc"),$langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc")); - - print '<tr><td align="left"></label for="clt1">'.$langs->trans("CalcLocaltax").'</label>: '; - print $form->selectarray("clt1", $opcions, $conf->global->MAIN_INFO_LOCALTAX_CALC1); - print '</td></tr>'; - print "</table>"; - print "</td></tr>\n"; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax1\" id=\"nolt1\" value=\"localtax1off\"".($conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off"?" checked":"")."> ".$langs->transcountry("LocalTax1IsNotUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"nolt1\">".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code); - print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - print "</table>"; - print "</td></tr>\n"; - print "</table>"; + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="object">'.$langs->trans("CompanyObject").'</label></td><td>'; + print '<textarea class="flat" name="object" id="object" cols="80" rows="'.ROWS_5.'">'.(! empty($conf->global->MAIN_INFO_SOCIETE_OBJECT) ? $conf->global->MAIN_INFO_SOCIETE_OBJECT : '').'</textarea></td></tr>'; + print '</td></tr>'; + + print '</table>'; + + + // Fiscal year start + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%"><label for="fiscalmonthstart">'.$langs->trans("FiscalMonthStart").'</label></td><td>'; + print $formother->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',0,1) . '</td></tr>'; + + print "</table>"; + + + // Fiscal options + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" id=\"use_vat\" value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</label></td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"use_vat\">".$langs->trans("VATIsUsedDesc")."</label></td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><label><input type=\"radio\" name=\"optiontva\" id=\"no_vat\" value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</label></td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"no_vat\">".$langs->trans("VATIsNotUsedDesc")."</label></td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + print "</table>"; + + /* + * Local Taxes + */ + if ($mysoc->useLocalTax(1)) + { + // Local Tax 1 + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->transcountry("LocalTax1Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + $var=!$var; + // Note: When option is not set, it must not appears as set on on, because there is no default value for this option + print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax1\" id=\"lt1\" value=\"localtax1on\"".(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on")?" checked":"")."> ".$langs->transcountry("LocalTax1IsUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"lt1\">".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code); + print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + if(! isOnlyOneLocalTax(1)) + { + print '<tr><td align="left"><label for="lt1">'.$langs->trans("LTRate").'</label>: '; + $formcompany->select_localtax(1,$conf->global->MAIN_INFO_VALUE_LOCALTAX1, "lt1"); + } + print '</td></tr>'; + + $opcions=array($langs->trans("CalcLocaltax1").' '.$langs->trans("CalcLocaltax1Desc"),$langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc"),$langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc")); + + print '<tr><td align="left"></label for="clt1">'.$langs->trans("CalcLocaltax").'</label>: '; + print $form->selectarray("clt1", $opcions, $conf->global->MAIN_INFO_LOCALTAX_CALC1); + print '</td></tr>'; + print "</table>"; + print "</td></tr>\n"; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax1\" id=\"nolt1\" value=\"localtax1off\"".($conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off"?" checked":"")."> ".$langs->transcountry("LocalTax1IsNotUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"nolt1\">".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code); + print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + print "</table>"; + print "</td></tr>\n"; + print "</table>"; + } + if ($mysoc->useLocalTax(2)) + { + // Local Tax 2 + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->transcountry("LocalTax2Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + // Note: When option is not set, it must not appears as set on on, because there is no default value for this option + print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax2\" id=\"lt2\" value=\"localtax2on\"".(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on")?" checked":"")."> ".$langs->transcountry("LocalTax2IsUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"lt2\">".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code); + print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + print '<tr><td align="left"><label for="lt2">'.$langs->trans("LTRate").'</label>: '; + if(! isOnlyOneLocalTax(2)) + { + $formcompany->select_localtax(2,$conf->global->MAIN_INFO_VALUE_LOCALTAX2, "lt2"); + print '</td></tr>'; + } + print '<tr><td align="left"><label for="clt2">'.$langs->trans("CalcLocaltax").'</label>: '; + print $form->selectarray("clt2", $opcions, $conf->global->MAIN_INFO_LOCALTAX_CALC2); + print '</td></tr>'; + print "</table>"; + print "</td></tr>\n"; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax2\" id=\"nolt2\" value=\"localtax2off\"".($conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off"?" checked":"")."> ".$langs->transcountry("LocalTax2IsNotUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"nolt2\">".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code); + print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + print "</table>"; + print "</td></tr>\n"; + print "</table>"; } - if ($mysoc->useLocalTax(2)) - { - // Local Tax 2 - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->transcountry("LocalTax2Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - // Note: When option is not set, it must not appears as set on on, because there is no default value for this option - print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax2\" id=\"lt2\" value=\"localtax2on\"".(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on")?" checked":"")."> ".$langs->transcountry("LocalTax2IsUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"lt2\">".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code); - print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - print '<tr><td align="left"><label for="lt2">'.$langs->trans("LTRate").'</label>: '; - if(! isOnlyOneLocalTax(2)) - { - $formcompany->select_localtax(2,$conf->global->MAIN_INFO_VALUE_LOCALTAX2, "lt2"); - print '</td></tr>'; - } - print '<tr><td align="left"><label for="clt2">'.$langs->trans("CalcLocaltax").'</label>: '; - print $form->selectarray("clt2", $opcions, $conf->global->MAIN_INFO_LOCALTAX_CALC2); - print '</td></tr>'; - print "</table>"; - print "</td></tr>\n"; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input type=\"radio\" name=\"optionlocaltax2\" id=\"nolt2\" value=\"localtax2off\"".($conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off"?" checked":"")."> ".$langs->transcountry("LocalTax2IsNotUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"nolt2\">".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code); - print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - print "</table>"; - print "</td></tr>\n"; - print "</table>"; - } - - - print '<br><div class="center">'; - print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">'; - print ' '; - print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">'; - print '</div>'; - print '<br>'; - - print '</form>'; + + + print '<br><div class="center">'; + print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">'; + print ' '; + print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">'; + print '</div>'; + print '<br>'; + + print '</form>'; } else { - /* - * Show parameters - */ - - // Actions buttons - //print '<div class="tabsAction">'; - //print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>'; - //print '</div><br>'; - - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'; - $var=true; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyName").'</td><td>'; - if (! empty($conf->global->MAIN_INFO_SOCIETE_NOM)) print $conf->global->MAIN_INFO_SOCIETE_NOM; - else print img_warning().' <font class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyName")).'</font>'; - print '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br(empty($conf->global->MAIN_INFO_SOCIETE_ADDRESS)?'':$conf->global->MAIN_INFO_SOCIETE_ADDRESS) . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyZip").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_ZIP)?'':$conf->global->MAIN_INFO_SOCIETE_ZIP) . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyTown").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_TOWN)?'':$conf->global->MAIN_INFO_SOCIETE_TOWN) . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCountry").'</td><td>'; - if ($mysoc->country_code) - { - $img=picto_from_langcode($mysoc->country_code); - print $img?$img.' ':''; - print getCountry($mysoc->country_code,1); - } - else print img_warning().' <font class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyCountry")).'</font>'; - print '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("State").'</td><td>'; - if (! empty($conf->global->MAIN_INFO_SOCIETE_STATE)) print getState($conf->global->MAIN_INFO_SOCIETE_STATE); - else print ' '; - print '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>'; - print currency_name($conf->currency,1); - print ' ('.$langs->getCurrencySymbol($conf->currency).')'; - print '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Phone").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_SOCIETE_TEL,$mysoc->country_code) . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Fax").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_SOCIETE_FAX,$mysoc->country_code) . '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Mail").'</td><td>' . dol_print_email($conf->global->MAIN_INFO_SOCIETE_MAIL,0,0,0,80) . '</td></tr>'; - - // Web - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Web").'</td><td>' . dol_print_url($conf->global->MAIN_INFO_SOCIETE_WEB,'_blank',80) . '</td></tr>'; - - // Barcode - if (! empty($conf->barcode->enabled)) - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Gencod").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_GENCOD . '</td></tr>'; - } - - // Logo - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Logo").'</td><td>'; - - print '<table width="100%" class="nobordernopadding"><tr class="nocellnopadd"><td valign="middle" class="nocellnopadd">'; - print $mysoc->logo; - print '</td><td class="nocellnopadd" valign="center" align="right">'; - - // On propose la generation de la vignette si elle n'existe pas - if (!is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini) && preg_match('/(\.jpg|\.jpeg|\.png)$/i',$mysoc->logo)) - { - print '<a href="'.$_SERVER["PHP_SELF"].'?action=addthumb&file='.urlencode($mysoc->logo).'">'.img_picto($langs->trans('GenerateThumb'),'refresh').' </a>'; - } - else if ($mysoc->logo_mini && is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) - { - print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; - } - else - { - print '<img height="30" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.jpg">'; - } - print '</td></tr></table>'; - - print '</td></tr>'; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("Note").'</td><td>' . (! empty($conf->global->MAIN_INFO_SOCIETE_NOTE) ? nl2br($conf->global->MAIN_INFO_SOCIETE_NOTE) : '') . '</td></tr>'; - - print '</table>'; - - - print '<br>'; - - - // Identifiants de la societe (country-specific) - print '<form name="formsoc" method="post">'; - print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; - $var=true; - - // Managing Director(s) - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("ManagingDirectors").'</td><td>'; - print $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '</td></tr>'; - - // Capital - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>'; - print $conf->global->MAIN_INFO_CAPITAL . '</td></tr>'; - - // Forme juridique - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("JuridicalStatus").'</td><td>'; - print getFormeJuridiqueLabel($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE); - print '</td></tr>'; - - // ProfId1 - if ($langs->transcountry("ProfId1",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$mysoc->country_code).'</td><td>'; - if (! empty($conf->global->MAIN_INFO_SIREN)) - { - print $conf->global->MAIN_INFO_SIREN; - if ($mysoc->country_code == 'FR') print ' <a href="http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp" target="_blank">'.$langs->trans("Check").'</a>'; - } else { - print ' '; - } - print '</td></tr>'; - } - - // ProfId2 - if ($langs->transcountry("ProfId2",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$mysoc->country_code).'</td><td>'; - if (! empty($conf->global->MAIN_INFO_SIRET)) - { - print $conf->global->MAIN_INFO_SIRET; - } else { - print ' '; - } - print '</td></tr>'; - } - - // ProfId3 - if ($langs->transcountry("ProfId3",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$mysoc->country_code).'</td><td>'; - if (! empty($conf->global->MAIN_INFO_APE)) - { - print $conf->global->MAIN_INFO_APE; - } else { - print ' '; - } - print '</td></tr>'; - } - - // ProfId4 - if ($langs->transcountry("ProfId4",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId4",$mysoc->country_code).'</td><td>'; - if (! empty($conf->global->MAIN_INFO_RCS)) - { - print $conf->global->MAIN_INFO_RCS; - } else { - print ' '; - } - print '</td></tr>'; - } - - // ProfId5 - if ($langs->transcountry("ProfId5",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId5",$mysoc->country_code).'</td><td>'; - if (! empty($conf->global->MAIN_INFO_PROFID5)) - { - print $conf->global->MAIN_INFO_PROFID5; - } else { - print ' '; - } - print '</td></tr>'; - } - - // ProfId6 - if ($langs->transcountry("ProfId6",$mysoc->country_code) != '-') - { - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId6",$mysoc->country_code).'</td><td>'; - if (! empty($conf->global->MAIN_INFO_PROFID6)) - { - print $conf->global->MAIN_INFO_PROFID6; - } else { - print ' '; - } - print '</td></tr>'; - } - - // TVA - $var=!$var; - print '<tr '.$bc[$var].'><td>'.$langs->trans("VATIntra").'</td>'; - print '<td>'; - if (! empty($conf->global->MAIN_INFO_TVAINTRA)) - { - $s=''; - $s.=$conf->global->MAIN_INFO_TVAINTRA; - $s.='<input type="hidden" name="tva_intra" size="12" maxlength="20" value="'.$conf->global->MAIN_INFO_TVAINTRA.'">'; - if (empty($conf->global->MAIN_DISABLEVATCHECK)) - { - $s.=' '; - if (! empty($conf->use_javascript_ajax)) - { - print "\n"; - print '<script language="JavaScript" type="text/javascript">'; - print "function CheckVAT(a) {\n"; - print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?vatNumber='+a,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,285);\n"; - print "}\n"; - print '</script>'; - print "\n"; - $s.='<a href="#" onClick="javascript: CheckVAT(document.formsoc.tva_intra.value);">'.$langs->trans("VATIntraCheck").'</a>'; - $s = $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1); - } - else - { - $s.='<a href="'.$langs->transcountry("VATIntraCheckURL",$soc->id_country).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').'</a>'; - } - } - print $s; - } - else - { - print ' '; - } - print '</td>'; - print '</tr>'; + /* + * Show parameters + */ + + // Actions buttons + //print '<div class="tabsAction">'; + //print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>'; + //print '</div><br>'; + + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'; + $var=true; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyName").'</td><td>'; + if (! empty($conf->global->MAIN_INFO_SOCIETE_NOM)) print $conf->global->MAIN_INFO_SOCIETE_NOM; + else print img_warning().' <font class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyName")).'</font>'; + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br(empty($conf->global->MAIN_INFO_SOCIETE_ADDRESS)?'':$conf->global->MAIN_INFO_SOCIETE_ADDRESS) . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyZip").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_ZIP)?'':$conf->global->MAIN_INFO_SOCIETE_ZIP) . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyTown").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_TOWN)?'':$conf->global->MAIN_INFO_SOCIETE_TOWN) . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCountry").'</td><td>'; + if ($mysoc->country_code) + { + $img=picto_from_langcode($mysoc->country_code); + print $img?$img.' ':''; + print getCountry($mysoc->country_code,1); + } + else print img_warning().' <font class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("CompanyCountry")).'</font>'; + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("State").'</td><td>'; + if (! empty($conf->global->MAIN_INFO_SOCIETE_STATE)) print getState($conf->global->MAIN_INFO_SOCIETE_STATE); + else print ' '; + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>'; + print currency_name($conf->currency,1); + print ' ('.$langs->getCurrencySymbol($conf->currency).')'; + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Phone").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_SOCIETE_TEL,$mysoc->country_code) . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Fax").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_SOCIETE_FAX,$mysoc->country_code) . '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Mail").'</td><td>' . dol_print_email($conf->global->MAIN_INFO_SOCIETE_MAIL,0,0,0,80) . '</td></tr>'; + + // Web + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Web").'</td><td>' . dol_print_url($conf->global->MAIN_INFO_SOCIETE_WEB,'_blank',80) . '</td></tr>'; + + // Barcode + if (! empty($conf->barcode->enabled)) + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Gencod").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_GENCOD . '</td></tr>'; + } + + // Logo + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Logo").'</td><td>'; + + print '<table width="100%" class="nobordernopadding"><tr class="nocellnopadd"><td valign="middle" class="nocellnopadd">'; + print $mysoc->logo; + print '</td><td class="nocellnopadd" valign="center" align="right">'; + + // On propose la generation de la vignette si elle n'existe pas + if (!is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini) && preg_match('/(\.jpg|\.jpeg|\.png)$/i',$mysoc->logo)) + { + print '<a href="'.$_SERVER["PHP_SELF"].'?action=addthumb&file='.urlencode($mysoc->logo).'">'.img_picto($langs->trans('GenerateThumb'),'refresh').' </a>'; + } + else if ($mysoc->logo_mini && is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) + { + print '<img src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=companylogo&file='.urlencode('/thumbs/'.$mysoc->logo_mini).'">'; + } + else + { + print '<img height="30" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.jpg">'; + } + print '</td></tr></table>'; + + print '</td></tr>'; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("Note").'</td><td>' . (! empty($conf->global->MAIN_INFO_SOCIETE_NOTE) ? nl2br($conf->global->MAIN_INFO_SOCIETE_NOTE) : '') . '</td></tr>'; + + print '</table>'; + + + print '<br>'; + + + // Identifiants de la societe (country-specific) + print '<form name="formsoc" method="post">'; + print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>'; + $var=true; + + // Managing Director(s) + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("ManagingDirectors").'</td><td>'; + print $conf->global->MAIN_INFO_SOCIETE_MANAGERS . '</td></tr>'; + + // Capital + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>'; + print $conf->global->MAIN_INFO_CAPITAL . '</td></tr>'; + + // Forme juridique + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("JuridicalStatus").'</td><td>'; + print getFormeJuridiqueLabel($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE); + print '</td></tr>'; + + // ProfId1 + if ($langs->transcountry("ProfId1",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$mysoc->country_code).'</td><td>'; + if (! empty($conf->global->MAIN_INFO_SIREN)) + { + print $conf->global->MAIN_INFO_SIREN; + if ($mysoc->country_code == 'FR') print ' <a href="http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp" target="_blank">'.$langs->trans("Check").'</a>'; + } else { + print ' '; + } + print '</td></tr>'; + } + + // ProfId2 + if ($langs->transcountry("ProfId2",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$mysoc->country_code).'</td><td>'; + if (! empty($conf->global->MAIN_INFO_SIRET)) + { + print $conf->global->MAIN_INFO_SIRET; + } else { + print ' '; + } + print '</td></tr>'; + } + + // ProfId3 + if ($langs->transcountry("ProfId3",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$mysoc->country_code).'</td><td>'; + if (! empty($conf->global->MAIN_INFO_APE)) + { + print $conf->global->MAIN_INFO_APE; + } else { + print ' '; + } + print '</td></tr>'; + } + + // ProfId4 + if ($langs->transcountry("ProfId4",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId4",$mysoc->country_code).'</td><td>'; + if (! empty($conf->global->MAIN_INFO_RCS)) + { + print $conf->global->MAIN_INFO_RCS; + } else { + print ' '; + } + print '</td></tr>'; + } + + // ProfId5 + if ($langs->transcountry("ProfId5",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId5",$mysoc->country_code).'</td><td>'; + if (! empty($conf->global->MAIN_INFO_PROFID5)) + { + print $conf->global->MAIN_INFO_PROFID5; + } else { + print ' '; + } + print '</td></tr>'; + } + + // ProfId6 + if ($langs->transcountry("ProfId6",$mysoc->country_code) != '-') + { + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId6",$mysoc->country_code).'</td><td>'; + if (! empty($conf->global->MAIN_INFO_PROFID6)) + { + print $conf->global->MAIN_INFO_PROFID6; + } else { + print ' '; + } + print '</td></tr>'; + } + + // TVA + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("VATIntra").'</td>'; + print '<td>'; + if (! empty($conf->global->MAIN_INFO_TVAINTRA)) + { + $s=''; + $s.=$conf->global->MAIN_INFO_TVAINTRA; + $s.='<input type="hidden" name="tva_intra" size="12" maxlength="20" value="'.$conf->global->MAIN_INFO_TVAINTRA.'">'; + if (empty($conf->global->MAIN_DISABLEVATCHECK)) + { + $s.=' '; + if (! empty($conf->use_javascript_ajax)) + { + print "\n"; + print '<script language="JavaScript" type="text/javascript">'; + print "function CheckVAT(a) {\n"; + print "newpopup('".DOL_URL_ROOT."/societe/checkvat/checkVatPopup.php?vatNumber='+a,'".dol_escape_js($langs->trans("VATIntraCheckableOnEUSite"))."',500,285);\n"; + print "}\n"; + print '</script>'; + print "\n"; + $s.='<a href="#" onClick="javascript: CheckVAT(document.formsoc.tva_intra.value);">'.$langs->trans("VATIntraCheck").'</a>'; + $s = $form->textwithpicto($s,$langs->trans("VATIntraCheckDesc",$langs->trans("VATIntraCheck")),1); + } + else + { + $s.='<a href="'.$langs->transcountry("VATIntraCheckURL",$soc->id_country).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').'</a>'; + } + } + print $s; + } + else + { + print ' '; + } + print '</td>'; + print '</tr>'; $var=!$var; - print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("CompanyObject").'</td><td>' . (! empty($conf->global->MAIN_INFO_SOCIETE_OBJECT) ? nl2br($conf->global->MAIN_INFO_SOCIETE_OBJECT) : '') . '</td></tr>'; - - print '</table>'; - print '</form>'; - - /* - * Debut d'annee fiscale - */ - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("FiscalMonthStart").'</td><td>'; - $monthstart=(! empty($conf->global->SOCIETE_FISCAL_MONTH_START)) ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1; - print dol_print_date(dol_mktime(12,0,0,$monthstart,1,2000,1),'%B','gm') . '</td></tr>'; - - print "</table>"; - - /* - * Options fiscale - */ - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" id=\"use_vat\" disabled value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"use_vat\">".$langs->trans("VATIsUsedDesc")."</label></td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" id=\"no_vat\" disabled value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label=\"no_vat\">".$langs->trans("VATIsNotUsedDesc")."</label></td></tr>"; - print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; - print "</table>"; - print "</td></tr>\n"; - - print "</table>"; - - - /* - * Local Taxes - */ - if ($mysoc->useLocalTax(1)) - { - // Local Tax 1 - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->transcountry("LocalTax1Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax1\" id=\"lt1\" disabled value=\"localtax1on\"".(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on")?" checked":"")."> ".$langs->transcountry("LocalTax1IsUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td></label for=\"lt1\">".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code); - print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - if($conf->global->MAIN_INFO_VALUE_LOCALTAX1!=0) - { - print '<tr><td>'.$langs->trans("LTRate").': '. $conf->global->MAIN_INFO_VALUE_LOCALTAX1 .'</td></tr>'; - } - print '<tr><td align="left">'.$langs->trans("CalcLocaltax").': '; - if($conf->global->MAIN_INFO_LOCALTAX_CALC1==0) - { - print $langs->transcountry("CalcLocaltax1",$mysoc->country_code); - } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==1) - { - print $langs->transcountry("CalcLocaltax2",$mysoc->country_code); - } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==2){ - print $langs->transcountry("CalcLocaltax3",$mysoc->country_code); - } - - print '</td></tr>'; - print "</table>"; - print "</td></tr>\n"; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax1\" id=\"nolt1\" disabled value=\"localtax1off\"".($conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off"?" checked":"")."> ".$langs->transcountry("LocalTax1IsNotUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"no_lt1\">".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code); - print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - print "</table>"; - print "</td></tr>\n"; - - print "</table>"; + print '<tr '.$bc[$var].'><td width="35%" valign="top">'.$langs->trans("CompanyObject").'</td><td>' . (! empty($conf->global->MAIN_INFO_SOCIETE_OBJECT) ? nl2br($conf->global->MAIN_INFO_SOCIETE_OBJECT) : '') . '</td></tr>'; + + print '</table>'; + print '</form>'; + + /* + * Debut d'annee fiscale + */ + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("FiscalYearInformation").'</td><td>'.$langs->trans("Value").'</td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("FiscalMonthStart").'</td><td>'; + $monthstart=(! empty($conf->global->SOCIETE_FISCAL_MONTH_START)) ? $conf->global->SOCIETE_FISCAL_MONTH_START : 1; + print dol_print_date(dol_mktime(12,0,0,$monthstart,1,2000,1),'%B','gm') . '</td></tr>'; + + print "</table>"; + + /* + * Options fiscale + */ + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->trans("VATManagement").'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" id=\"use_vat\" disabled value=\"1\"".(empty($conf->global->FACTURE_TVAOPTION)?"":" checked")."> ".$langs->trans("VATIsUsed")."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"use_vat\">".$langs->trans("VATIsUsedDesc")."</label></td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optiontva\" id=\"no_vat\" disabled value=\"0\"".(empty($conf->global->FACTURE_TVAOPTION)?" checked":"")."> ".$langs->trans("VATIsNotUsed")."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label=\"no_vat\">".$langs->trans("VATIsNotUsedDesc")."</label></td></tr>"; + print "<tr><td><i>".$langs->trans("Example").': '.$langs->trans("VATIsNotUsedExampleFR")."</i></td></tr>\n"; + print "</table>"; + print "</td></tr>\n"; + + print "</table>"; + + + /* + * Local Taxes + */ + if ($mysoc->useLocalTax(1)) + { + // Local Tax 1 + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->transcountry("LocalTax1Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax1\" id=\"lt1\" disabled value=\"localtax1on\"".(($conf->global->FACTURE_LOCAL_TAX1_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1on")?" checked":"")."> ".$langs->transcountry("LocalTax1IsUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td></label for=\"lt1\">".$langs->transcountry("LocalTax1IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code); + print ($example!="LocalTax1IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + if($conf->global->MAIN_INFO_VALUE_LOCALTAX1!=0) + { + print '<tr><td>'.$langs->trans("LTRate").': '. $conf->global->MAIN_INFO_VALUE_LOCALTAX1 .'</td></tr>'; + } + print '<tr><td align="left">'.$langs->trans("CalcLocaltax").': '; + if($conf->global->MAIN_INFO_LOCALTAX_CALC1==0) + { + print $langs->transcountry("CalcLocaltax1",$mysoc->country_code); + } + else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==1) + { + print $langs->transcountry("CalcLocaltax2",$mysoc->country_code); + } + else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==2){ + print $langs->transcountry("CalcLocaltax3",$mysoc->country_code); + } + + print '</td></tr>'; + print "</table>"; + print "</td></tr>\n"; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax1\" id=\"nolt1\" disabled value=\"localtax1off\"".($conf->global->FACTURE_LOCAL_TAX1_OPTION == "localtax1off"?" checked":"")."> ".$langs->transcountry("LocalTax1IsNotUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"no_lt1\">".$langs->transcountry("LocalTax1IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code); + print ($example!="LocalTax1IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax1IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + print "</table>"; + print "</td></tr>\n"; + + print "</table>"; + } + if ($mysoc->useLocalTax(2)) + { + // Local Tax 2 + print '<br>'; + print '<table class="noborder" width="100%">'; + print '<tr class="liste_titre">'; + print '<td>'.$langs->transcountry("LocalTax2Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; + print '<td align="right"> </td>'; + print "</tr>\n"; + $var=true; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax2\" id=\"lt2\" disabled value=\"localtax2on\"".(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on")?" checked":"")."> ".$langs->transcountry("LocalTax2IsUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"lt2\">".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code); + print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + if($conf->global->MAIN_INFO_VALUE_LOCALTAX2!=0) + { + print '<tr><td>'.$langs->trans("LTRate").': '. $conf->global->MAIN_INFO_VALUE_LOCALTAX2 .'</td></tr>'; + } + print '<tr><td align="left">'.$langs->trans("CalcLocaltax").': '; + if($conf->global->MAIN_INFO_LOCALTAX_CALC2==0) + { + print $langs->trans("CalcLocaltax1").' - '.$langs->trans("CalcLocaltax1Desc"); + } + else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==1) + { + print $langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc"); + } + else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==2) + { + print $langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc"); + } + + print '</td></tr>'; + print "</table>"; + print "</td></tr>\n"; + + $var=!$var; + print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax2\" id=\"nolt2\" disabled value=\"localtax2off\"".($conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off"?" checked":"")."> ".$langs->transcountry("LocalTax2IsNotUsed",$mysoc->country_code)."</td>"; + print '<td colspan="2">'; + print "<table>"; + print "<tr><td><label for=\"nolt2\">".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; + $example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code); + print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); + print "</table>"; + print "</td></tr>\n"; + + print "</table>"; } - if ($mysoc->useLocalTax(2)) - { - // Local Tax 2 - print '<br>'; - print '<table class="noborder" width="100%">'; - print '<tr class="liste_titre">'; - print '<td>'.$langs->transcountry("LocalTax2Management",$mysoc->country_code).'</td><td>'.$langs->trans("Description").'</td>'; - print '<td align="right"> </td>'; - print "</tr>\n"; - $var=true; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax2\" id=\"lt2\" disabled value=\"localtax2on\"".(($conf->global->FACTURE_LOCAL_TAX2_OPTION == '1' || $conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2on")?" checked":"")."> ".$langs->transcountry("LocalTax2IsUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"lt2\">".$langs->transcountry("LocalTax2IsUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code); - print ($example!="LocalTax2IsUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - if($conf->global->MAIN_INFO_VALUE_LOCALTAX2!=0) - { - print '<tr><td>'.$langs->trans("LTRate").': '. $conf->global->MAIN_INFO_VALUE_LOCALTAX2 .'</td></tr>'; - } - print '<tr><td align="left">'.$langs->trans("CalcLocaltax").': '; - if($conf->global->MAIN_INFO_LOCALTAX_CALC2==0) - { - print $langs->trans("CalcLocaltax1").' - '.$langs->trans("CalcLocaltax1Desc"); - } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==1) - { - print $langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc"); - } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==2) - { - print $langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc"); - } - - print '</td></tr>'; - print "</table>"; - print "</td></tr>\n"; - - $var=!$var; - print "<tr ".$bc[$var]."><td width=\"140\"><input ".$bc[$var]." type=\"radio\" name=\"optionlocaltax2\" id=\"nolt2\" disabled value=\"localtax2off\"".($conf->global->FACTURE_LOCAL_TAX2_OPTION == "localtax2off"?" checked":"")."> ".$langs->transcountry("LocalTax2IsNotUsed",$mysoc->country_code)."</td>"; - print '<td colspan="2">'; - print "<table>"; - print "<tr><td><label for=\"nolt2\">".$langs->transcountry("LocalTax2IsNotUsedDesc",$mysoc->country_code)."</label></td></tr>"; - $example=$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code); - print ($example!="LocalTax2IsNotUsedExample"?"<tr><td><i>".$langs->trans("Example").': '.$langs->transcountry("LocalTax2IsNotUsedExample",$mysoc->country_code)."</i></td></tr>\n":""); - print "</table>"; - print "</td></tr>\n"; - - print "</table>"; - } - - - // Actions buttons - print '<div class="tabsAction">'; - print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a></div>'; - print '</div>'; - - print '<br>'; + + + // Actions buttons + print '<div class="tabsAction">'; + print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a></div>'; + print '</div>'; + + print '<br>'; } diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php index 5d8dce0fd738e44ea8e5712a65e94e7301ad1c66..857523673342d169dc6ee6a7ee7a2d42ff76f3ed 100644 --- a/htdocs/compta/tva/clients.php +++ b/htdocs/compta/tva/clients.php @@ -21,7 +21,7 @@ /** * \file htdocs/compta/tva/clients.php - * \ingroup tax + * \ingroup tax * \brief Page des societes */ @@ -30,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/ccountry.class.php'; $langs->load("bills"); $langs->load("compta"); @@ -39,8 +40,7 @@ $langs->load("other"); // Date range $year=GETPOST("year"); -if (empty($year)) -{ +if (empty($year)) { $year_current = strftime("%Y",dol_now()); $year_start = $year_current; } else { @@ -50,38 +50,55 @@ if (empty($year)) $date_start=dol_mktime(0,0,0,$_REQUEST["date_startmonth"],$_REQUEST["date_startday"],$_REQUEST["date_startyear"]); $date_end=dol_mktime(23,59,59,$_REQUEST["date_endmonth"],$_REQUEST["date_endday"],$_REQUEST["date_endyear"]); // Quarter -if (empty($date_start) || empty($date_end)) // We define date_start and date_end -{ - $q=GETPOST("q"); - if (empty($q)) - { - if (isset($_REQUEST["month"])) { $date_start=dol_get_first_day($year_start,$_REQUEST["month"],false); $date_end=dol_get_last_day($year_start,$_REQUEST["month"],false); } - else - { - $month_current = strftime("%m",dol_now()); - if ($month_current >= 10) $q=4; - elseif ($month_current >= 7) $q=3; - elseif ($month_current >= 4) $q=2; - else $q=1; +if (empty($date_start) || empty($date_end)) {// We define date_start and date_end + $q=GETPOST("q"); + if (empty($q)) { + if (isset($_REQUEST["month"])) { + $date_start=dol_get_first_day($year_start,$_REQUEST["month"],false); + $date_end=dol_get_last_day($year_start,$_REQUEST["month"],false); + } else { + $month_current = strftime("%m",dol_now()); + if ($month_current >= 10) $q=4; + elseif ($month_current >= 7) $q=3; + elseif ($month_current >= 4) $q=2; + else $q=1; } } - if ($q==1) { $date_start=dol_get_first_day($year_start,1,false); $date_end=dol_get_last_day($year_start,3,false); } - if ($q==2) { $date_start=dol_get_first_day($year_start,4,false); $date_end=dol_get_last_day($year_start,6,false); } - if ($q==3) { $date_start=dol_get_first_day($year_start,7,false); $date_end=dol_get_last_day($year_start,9,false); } - if ($q==4) { $date_start=dol_get_first_day($year_start,10,false); $date_end=dol_get_last_day($year_start,12,false); } + if ($q==1) { + $date_start=dol_get_first_day($year_start,1,false); + $date_end=dol_get_last_day($year_start,3,false); + } + if ($q==2) { + $date_start=dol_get_first_day($year_start,4,false); + $date_end=dol_get_last_day($year_start,6,false); + } + if ($q==3) { + $date_start=dol_get_first_day($year_start,7,false); + $date_end=dol_get_last_day($year_start,9,false); + } + if ($q==4) { + $date_start=dol_get_first_day($year_start,10,false); + $date_end=dol_get_last_day($year_start,12,false); + } } $min = GETPOST("min"); -if (empty($min)) $min = 0; +if (empty($min)) { + $min = 0; +} // Define modetax (0 or 1) // 0=normal, 1=option vat for services is on debit $modetax = $conf->global->TAX_MODE; -if (isset($_REQUEST["modetax"])) $modetax=$_REQUEST["modetax"]; +if (isset($_REQUEST["modetax"])) { + $modetax=$_REQUEST["modetax"]; +} // Security check $socid = GETPOST('socid','int'); -if ($user->societe_id) $socid=$user->societe_id; +if ($user->societe_id) { + $socid=$user->societe_id; +} $result = restrictedArea($user, 'tax', '', '', 'charges'); @@ -95,9 +112,15 @@ $company_static=new Societe($db); $morequerystring=''; $listofparams=array('date_startmonth','date_startyear','date_startday','date_endmonth','date_endyear','date_endday'); -foreach($listofparams as $param) -{ - if (GETPOST($param)!='') $morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param); +foreach($listofparams as $param) { + if (GETPOST($param)!='') { + $morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param); + } +} + +$special_report = false; +if (isset($_REQUEST['extra_report']) && $_REQUEST['extra_report'] == 1) { + $special_report = true; } llxHeader('','','','',0,0,'','',$morequerystring); @@ -109,62 +132,92 @@ $fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': '; $fsearch.=' <input type="text" name="min" id="min" value="'.$min.'" size="6">'; // Affiche en-tete du rapport -if ($modetax==1) // Calculate on invoice for goods and services -{ - $name=$langs->trans("VATReportByCustomersInDueDebtMode"); +if ($modetax==1) { // Calculate on invoice for goods and services + $name=$langs->trans("VATReportByCustomersInDueDebtMode"); $calcmode=$langs->trans("CalcModeVATDebt"); - $calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')'; - //$name.='<br>('.$langs->trans("SeeVATReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=0">','</a>').')'; - $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); - //$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":""); - $description=$langs->trans("RulesVATDueServices"); - $description.='<br>'; - $description.=$langs->trans("RulesVATDueProducts"); - //if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite'); - //if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded"); - if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.='<br>'.$langs->trans("DepositsAreNotIncluded"); - else $description.='<br>'.$langs->trans("DepositsAreIncluded"); + $calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')'; + //$name.='<br>('.$langs->trans("SeeVATReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=0">','</a>').')'; + $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); + //$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":""); + $description=$langs->trans("RulesVATDueServices"); + $description.='<br>'; + $description.=$langs->trans("RulesVATDueProducts"); + //if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite'); + //if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded"); + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { + $description.='<br>'.$langs->trans("DepositsAreNotIncluded"); + } else { + $description.='<br>'.$langs->trans("DepositsAreIncluded"); + } $description.=$fsearch; + $description.='<br>' + . '<input type="radio" name="extra_report" value="0" '.($special_report?'':'checked="checked"').'> ' + . $langs->trans('SimpleReport') + . '</input>' + . '<br>' + . '<input type="radio" name="extra_report" value="1" '.($special_report?'checked="checked"':'').'> ' + . $langs->trans('AddExtraReport') + . '</input>' + . '<br>'; $builddate=time(); - //$exportlink=$langs->trans("NotYetAvailable"); + //$exportlink=$langs->trans("NotYetAvailable"); $elementcust=$langs->trans("CustomersInvoices"); $productcust=$langs->trans("Description"); $amountcust=$langs->trans("AmountHT"); - if ($mysoc->tva_assuj) $vatcust.=' ('.$langs->trans("ToPay").')'; + if ($mysoc->tva_assuj) { + $vatcust.=' ('.$langs->trans("ToPay").')'; + } $elementsup=$langs->trans("SuppliersInvoices"); $productsup=$langs->trans("Description"); $amountsup=$langs->trans("AmountHT"); - if ($mysoc->tva_assuj) $vatsup.=' ('.$langs->trans("ToGetBack").')'; + if ($mysoc->tva_assuj) { + $vatsup.=' ('.$langs->trans("ToGetBack").')'; + } } -if ($modetax==0) // Invoice for goods, payment for services -{ - $name=$langs->trans("VATReportByCustomersInInputOutputMode"); - $calcmode=$langs->trans("CalcModeVATEngagement"); - $calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')'; - //$name.='<br>('.$langs->trans("SeeVATReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=1">','</a>').')'; - $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); - //$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":""); - $description=$langs->trans("RulesVATInServices"); - $description.=' '.$langs->trans("DepositsAreIncluded"); - $description.='<br>'; - $description.=$langs->trans("RulesVATInProducts"); - if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.=' '.$langs->trans("DepositsAreNotIncluded"); - else $description.=' '.$langs->trans("DepositsAreIncluded"); - //if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite'); - //if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded"); - $description.=$fsearch; - $builddate=time(); - //$exportlink=$langs->trans("NotYetAvailable"); +if ($modetax==0) { // Invoice for goods, payment for services + $name=$langs->trans("VATReportByCustomersInInputOutputMode"); + $calcmode=$langs->trans("CalcModeVATEngagement"); + $calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')'; + //$name.='<br>('.$langs->trans("SeeVATReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=1">','</a>').')'; + $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); + //$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":""); + $description=$langs->trans("RulesVATInServices"); + $description.=' '.$langs->trans("DepositsAreIncluded"); + $description.='<br>'; + $description.=$langs->trans("RulesVATInProducts"); + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { + $description .= ' ' . $langs->trans("DepositsAreNotIncluded"); + } else { + $description .= ' ' . $langs->trans("DepositsAreIncluded"); + } + //if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite'); + //if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded"); + $description.=$fsearch; + $description.='<br>' + . '<input type="radio" name="extra_report" value="0" '.($special_report?'':'checked="checked"').'> ' + . $langs->trans('SimpleReport') + . '</input>' + . '<br>' + . '<input type="radio" name="extra_report" value="1" '.($special_report?'checked="checked"':'').'> ' + . $langs->trans('AddExtraReport') + . '</input>' + . '<br>'; + $builddate=time(); + //$exportlink=$langs->trans("NotYetAvailable"); $elementcust=$langs->trans("CustomersInvoices"); $productcust=$langs->trans("Description"); $amountcust=$langs->trans("AmountHT"); - if ($mysoc->tva_assuj) $vatcust.=' ('.$langs->trans("ToPay").')'; + if ($mysoc->tva_assuj) { + $vatcust.=' ('.$langs->trans("ToPay").')'; + } $elementsup=$langs->trans("SuppliersInvoices"); $productsup=$langs->trans("Description"); $amountsup=$langs->trans("AmountHT"); - if ($mysoc->tva_assuj) $vatsup.=' ('.$langs->trans("ToGetBack").')'; + if ($mysoc->tva_assuj) { + $vatsup.=' ('.$langs->trans("ToGetBack").')'; + } } report_header($name,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array(),$calcmode); @@ -198,25 +251,18 @@ $parameters["direction"] = 'sell'; $hookmanager->initHooks(array('externalbalance')); $reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks -if (is_array($coll_list)) -{ +if (is_array($coll_list)) { $var=true; $total = 0; $totalamount = 0; $i = 1; - foreach($coll_list as $coll) - { - if($min == 0 or ($min > 0 && $coll->amount > $min)) - { + foreach ($coll_list as $coll) { + if ($min == 0 or ($min > 0 && $coll->amount > $min)) { $var=!$var; $intra = str_replace($find,$replace,$coll->tva_intra); - if(empty($intra)) - { - if($coll->assuj == '1') - { + if(empty($intra)) { + if($coll->assuj == '1') { $intra = $langs->trans('Unknown'); - } - else - { + } else { //$intra = $langs->trans('NotRegistered'); $intra = ''; } @@ -232,28 +278,27 @@ if (is_array($coll_list)) print '<td class="nowrap">'.$intra."</td>"; print "<td class=\"nowrap\" align=\"right\">".price($coll->amount)."</td>"; print "<td class=\"nowrap\" align=\"right\">".price($coll->tva)."</td>"; - $totalamount = $totalamount + $coll->amount; + $totalamount = $totalamount + $coll->amount; $total = $total + $coll->tva; print "</tr>\n"; $i++; } } - $x_coll_sum = $total; + $x_coll_sum = $total; print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").':</td>'; - print '<td class="nowrap" align="right">'.price($totalamount).'</td>'; + print '<td class="nowrap" align="right">'.price($totalamount).'</td>'; print '<td class="nowrap" align="right">'.price($total).'</td>'; print '</tr>'; -} -else -{ +} else { $langs->load("errors"); - if ($coll_list == -1) - print '<tr><td colspan="5">'.$langs->trans("ErrorNoAccountancyModuleLoaded").'</td></tr>'; - else if ($coll_list == -2) - print '<tr><td colspan="5">'.$langs->trans("FeatureNotYetAvailable").'</td></tr>'; - else - print '<tr><td colspan="5">'.$langs->trans("Error").'</td></tr>'; + if ($coll_list == -1) { + print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>'; + } else if ($coll_list == -2) { + print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>'; + } else { + print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>'; + } } //print '</table>'; @@ -279,25 +324,18 @@ $coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'buy'); $parameters["direction"] = 'buy'; $reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks -if (is_array($coll_list)) -{ +if (is_array($coll_list)) { $var=true; $total = 0; $totalamount = 0; $i = 1; - foreach($coll_list as $coll) - { - if($min == 0 or ($min > 0 && $coll->amount > $min)) - { + foreach ($coll_list as $coll) { + if ($min == 0 or ($min > 0 && $coll->amount > $min)) { $var=!$var; $intra = str_replace($find,$replace,$coll->tva_intra); - if(empty($intra)) - { - if($coll->assuj == '1') - { + if (empty($intra)) { + if ($coll->assuj == '1') { $intra = $langs->trans('Unknown'); - } - else - { + } else { //$intra = $langs->trans('NotRegistered'); $intra = ''; } @@ -313,44 +351,197 @@ if (is_array($coll_list)) print '<td class="nowrap">'.$intra."</td>"; print "<td class=\"nowrap\" align=\"right\">".price($coll->amount)."</td>"; print "<td class=\"nowrap\" align=\"right\">".price($coll->tva)."</td>"; - $totalamount = $totalamount + $coll->amount; + $totalamount = $totalamount + $coll->amount; $total = $total + $coll->tva; print "</tr>\n"; $i++; } } - $x_paye_sum = $total; + $x_paye_sum = $total; print '<tr class="liste_total"><td align="right" colspan="3">'.$langs->trans("Total").':</td>'; - print '<td class="nowrap" align="right">'.price($totalamount).'</td>'; + print '<td class="nowrap" align="right">'.price($totalamount).'</td>'; print '<td class="nowrap" align="right">'.price($total).'</td>'; print '</tr>'; print '</table>'; - // Total to pay - print '<br><br>'; - print '<table class="noborder" width="100%">'; - $diff = $x_coll_sum - $x_paye_sum; - print '<tr class="liste_total">'; - print '<td class="liste_total" colspan="4">'.$langs->trans("TotalToPay").($q?', '.$langs->trans("Quadri").' '.$q:'').'</td>'; - print '<td class="liste_total nowrap" align="right"><b>'.price(price2num($diff,'MT'))."</b></td>\n"; - print "</tr>\n"; + // Total to pay + print '<br><br>'; + print '<table class="noborder" width="100%">'; + $diff = $x_coll_sum - $x_paye_sum; + print '<tr class="liste_total">'; + print '<td class="liste_total" colspan="4">'.$langs->trans("TotalToPay").($q?', '.$langs->trans("Quadri").' '.$q:'').'</td>'; + print '<td class="liste_total nowrap" align="right"><b>'.price(price2num($diff,'MT'))."</b></td>\n"; + print "</tr>\n"; -} -else -{ +} else { $langs->load("errors"); - if ($coll_list == -1) - print '<tr><td colspan="5">'.$langs->trans("ErrorNoAccountancyModuleLoaded").'</td></tr>'; - else if ($coll_list == -2) - print '<tr><td colspan="5">'.$langs->trans("FeatureNotYetAvailable").'</td></tr>'; - else - print '<tr><td colspan="5">'.$langs->trans("Error").'</td></tr>'; + if ($coll_list == -1) { + print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>'; + } else if ($coll_list == -2) { + print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>'; + } else { + print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>'; + } } print '</table>'; +if ($special_report) { + // Get country 2-letters code + global $mysoc; + $country_id = $mysoc->country_id; + $country = new Ccountry($db); + $country->fetch($country_id); + + // Print listing of other-country customers as additional report + // This matches tax requirements to list all same-country customers (only) + print '<h3>'.$langs->trans('OtherCountriesCustomersReport').'</h3>'; + print $langs->trans('BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry'); + $coll_list = vat_by_thirdparty($db, 0, $date_start, $date_end, $modetax, 'sell'); + + print "<table class=\"noborder\" width=\"100%\">"; + print "<tr class=\"liste_titre\">"; + print '<td align="left">' . $langs->trans("Num") . "</td>"; + print '<td align="left">' . $langs->trans("Customer") . "</td>"; + print "<td>" . $langs->trans("VATIntra") . "</td>"; + print "<td align=\"right\">" . $langs->trans("AmountHTVATRealReceived") . "</td>"; + print "<td align=\"right\">" . $vatcust . "</td>"; + print "</tr>\n"; + + if (is_array($coll_list)) { + $var = true; + $total = 0; + $totalamount = 0; + $i = 1; + foreach ($coll_list as $coll) { + if (substr($coll->tva_intra, 0, 2) == $country->code) { + // Only use different-country VAT codes + continue; + } + if ($min == 0 or ($min > 0 && $coll->amount > $min)) { + $var = !$var; + $intra = str_replace($find, $replace, $coll->tva_intra); + if (empty($intra)) { + if ($coll->assuj == '1') { + $intra = $langs->trans('Unknown'); + } else { + //$intra = $langs->trans('NotRegistered'); + $intra = ''; + } + } + print "<tr " . $bc[$var] . ">"; + print '<td class="nowrap">' . $i . "</td>"; + $company_static->id = $coll->socid; + $company_static->name = $coll->name; + $company_static->client = 1; + print '<td class="nowrap">' . $company_static->getNomUrl(1, + 'customer') . '</td>'; + $find = array(' ', '.'); + $replace = array('', ''); + print '<td class="nowrap">' . $intra . "</td>"; + print "<td class=\"nowrap\" align=\"right\">" . price($coll->amount) . "</td>"; + print "<td class=\"nowrap\" align=\"right\">" . price($coll->tva) . "</td>"; + $totalamount = $totalamount + $coll->amount; + $total = $total + $coll->tva; + print "</tr>\n"; + $i++; + } + } + $x_coll_sum = $total; + + print '<tr class="liste_total"><td align="right" colspan="3">' . $langs->trans("Total") . ':</td>'; + print '<td class="nowrap" align="right">' . price($totalamount) . '</td>'; + print '<td class="nowrap" align="right">' . price($total) . '</td>'; + print '</tr>'; + } else { + $langs->load("errors"); + if ($coll_list == -1) { + print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>'; + } else { + if ($coll_list == -2) { + print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>'; + } else { + print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>'; + } + } + } + print '</table>'; + + // Print listing of same-country customers as additional report + // This matches tax requirements to list all same-country customers (only) + print '<h3>'.$langs->trans('SameCountryCustomersWithVAT').'</h3>'; + print $langs->trans('BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry'); + $coll_list = vat_by_thirdparty($db, 0, $date_start, $date_end, $modetax, 'sell'); + + print "<table class=\"noborder\" width=\"100%\">"; + print "<tr class=\"liste_titre\">"; + print '<td align="left">' . $langs->trans("Num") . "</td>"; + print '<td align="left">' . $langs->trans("Customer") . "</td>"; + print "<td>" . $langs->trans("VATIntra") . "</td>"; + print "<td align=\"right\">" . $langs->trans("AmountHTVATRealReceived") . "</td>"; + print "<td align=\"right\">" . $vatcust . "</td>"; + print "</tr>\n"; + + if (is_array($coll_list)) { + $var = true; + $total = 0; + $totalamount = 0; + $i = 1; + foreach ($coll_list as $coll) { + if (substr($coll->tva_intra, 0, 2) != $country->code) { + // Only use same-country VAT codes + continue; + } + if ($min == 0 or ($min > 0 && $coll->amount > $min)) { + $var = !$var; + $intra = str_replace($find, $replace, $coll->tva_intra); + if (empty($intra)) { + if ($coll->assuj == '1') { + $intra = $langs->trans('Unknown'); + } else { + //$intra = $langs->trans('NotRegistered'); + $intra = ''; + } + } + print "<tr " . $bc[$var] . ">"; + print '<td class="nowrap">' . $i . "</td>"; + $company_static->id = $coll->socid; + $company_static->name = $coll->name; + $company_static->client = 1; + print '<td class="nowrap">' . $company_static->getNomUrl(1, 'customer') . '</td>'; + $find = array(' ', '.'); + $replace = array('', ''); + print '<td class="nowrap">' . $intra . "</td>"; + print "<td class=\"nowrap\" align=\"right\">" . price($coll->amount) . "</td>"; + print "<td class=\"nowrap\" align=\"right\">" . price($coll->tva) . "</td>"; + $totalamount = $totalamount + $coll->amount; + $total = $total + $coll->tva; + print "</tr>\n"; + $i++; + } + } + $x_coll_sum = $total; + + print '<tr class="liste_total"><td align="right" colspan="3">' . $langs->trans("Total") . ':</td>'; + print '<td class="nowrap" align="right">' . price($totalamount) . '</td>'; + print '<td class="nowrap" align="right">' . price($total) . '</td>'; + print '</tr>'; + } else { + $langs->load("errors"); + if ($coll_list == -1) { + print '<tr><td colspan="5">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>'; + } else { + if ($coll_list == -2) { + print '<tr><td colspan="5">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>'; + } else { + print '<tr><td colspan="5">' . $langs->trans("Error") . '</td></tr>'; + } + } + } + print '</table>'; +} llxFooter(); diff --git a/htdocs/compta/tva/quadri.php b/htdocs/compta/tva/quadri.php index 4b399d65248307c67b012ae903be9944da1827ca..3918b56c3bffddbd00c6034b93cb86b6d869fcef 100644 --- a/htdocs/compta/tva/quadri.php +++ b/htdocs/compta/tva/quadri.php @@ -72,8 +72,8 @@ function tva_coll($db,$y,$q) $sql.= " AND f.fk_statut in (1,2)"; $sql.= " AND f.rowid = d.fk_facture "; $sql.= " AND date_format(f.datef,'%Y') = '".$y."'"; - $sql.= " AND (round(date_format(f.datef,'%m') > ".(($q-1)*3); - $sql.= " AND round(date_format(f.datef,'%m')) <= ".($q*3).")"; + $sql.= " AND (date_format(f.datef,'%m') > ".(($q-1)*3); + $sql.= " AND date_format(f.datef,'%m') <= ".($q*3).")"; $sql.= " ORDER BY rate, facid"; } @@ -131,7 +131,7 @@ function tva_paye($db, $y,$q) if ($conf->global->ACCOUNTING_MODE == "CREANCES-DETTES") { // Si on paye la tva sur les factures dues (non brouillon) - $sql = "SELECT d.fk_facture_fourn as facid, f.facnumber as facnum, d.tva_tx as rate, d.total_ht as totalht, d.tva as amount"; + $sql = "SELECT d.fk_facture_fourn as facid, f.ref_supplier as facnum, d.tva_tx as rate, d.total_ht as totalht, d.tva as amount"; $sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as f"; $sql.= ", ".MAIN_DB_PREFIX."facture_fourn_det as d" ; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; @@ -222,8 +222,7 @@ if ($conf->global->ACCOUNTING_MODE == "CREANCES-DETTES") $subtot_coll_vat = 0; $subtot_paye_total = 0; $subtot_paye_vat = 0; - for ($q = 1 ; $q <= 4 ; $q++) - { + for ($q = 1 ; $q <= 4 ; $q++) { print "<tr class=\"liste_titre\"><td colspan=\"8\">".$langs->trans("Quadri")." $q (".dol_print_date(dol_mktime(0,0,0,(($q-1)*3)+1,1,$y),"%b %Y").' - '.dol_print_date(dol_mktime(0,0,0,($q*3),1,$y),"%b %Y").")</td></tr>"; $var=true; diff --git a/htdocs/compta/tva/quarter_report.php b/htdocs/compta/tva/quarter_report.php new file mode 100644 index 0000000000000000000000000000000000000000..5861dcdaff45022ad23301f4d86e7bc6ba32d782 --- /dev/null +++ b/htdocs/compta/tva/quarter_report.php @@ -0,0 +1,713 @@ +<?php +/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> + * Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net> + * Copyright (C) 2006-2007, 2015 Yannick Warnier <ywarnier@beeznest.org> + * Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/** + * \file htdocs/compta/tva/quadri_detail.php + * \ingroup tax + * \brief Trimestrial page - detailed version + * TODO Deal with recurrent invoices as well + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; + +$langs->load("main"); +$langs->load("bills"); +$langs->load("compta"); +$langs->load("companies"); +$langs->load("products"); +$langs->load("other"); + +// Date range +$year=GETPOST('year', 'int'); +if (empty($year)) { + $year_current = strftime("%Y",dol_now()); + $year_start = $year_current; +} else { + $year_current = $year; + $year_start = $year; +} +$date_start=dol_mktime(0,0,0,$_REQUEST["date_startmonth"],$_REQUEST["date_startday"],$_REQUEST["date_startyear"]); +$date_end=dol_mktime(23,59,59,$_REQUEST["date_endmonth"],$_REQUEST["date_endday"],$_REQUEST["date_endyear"]); +// Quarter +if (empty($date_start) || empty($date_end)) { // We define date_start and date_end + $q=GETPOST('q', 'int'); + if (empty($q)) { + if (isset($_REQUEST["month"])) { + $date_start=dol_get_first_day($year_start,$_REQUEST["month"],false); + $date_end=dol_get_last_day($year_start,$_REQUEST["month"],false); + } else { + $month_current = strftime("%m",dol_now()); + if ($month_current >= 10) $q=4; + elseif ($month_current >= 7) $q=3; + elseif ($month_current >= 4) $q=2; + else $q=1; + } + } + if ($q==1) { + $date_start=dol_get_first_day($year_start,1,false); + $date_end=dol_get_last_day($year_start,3,false); + } + if ($q==2) { + $date_start=dol_get_first_day($year_start,4,false); + $date_end=dol_get_last_day($year_start,6,false); + } + if ($q==3) { + $date_start=dol_get_first_day($year_start,7,false); + $date_end=dol_get_last_day($year_start,9,false); + } + if ($q==4) { + $date_start=dol_get_first_day($year_start,10,false); + $date_end=dol_get_last_day($year_start,12,false); + } +} + +$min = GETPOST("min"); +if (empty($min)) { + $min = 0; +} + +// Define modetax (0 or 1) +// 0=normal, 1=option vat for services is on debit +$modetax = $conf->global->TAX_MODE; +if (isset($_REQUEST["modetax"])) { + $modetax=$_REQUEST["modetax"]; +} +if (empty($modetax)) { + $modetax=0; +} + +// Security check +$socid = GETPOST('socid','int'); +if ($user->societe_id) { + $socid=$user->societe_id; +} +$result = restrictedArea($user, 'tax', '', '', 'charges'); + + + +/* + * View + */ + +$morequerystring=''; +$listofparams=array('date_startmonth','date_startyear','date_startday','date_endmonth','date_endyear','date_endday'); +foreach ($listofparams as $param) { + if (GETPOST($param)!='') { + $morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param); + } +} + +llxHeader('','','','',0,0,'','',$morequerystring); + +$form=new Form($db); + +$company_static=new Societe($db); +$invoice_customer=new Facture($db); +$invoice_supplier=new FactureFournisseur($db); +$product_static=new Product($db); +$payment_static=new Paiement($db); +$paymentfourn_static=new PaiementFourn($db); + +//print_fiche_titre($langs->trans("VAT"),""); + +//$fsearch.='<br>'; +$fsearch.=' <input type="hidden" name="year" value="'.$year.'">'; +$fsearch.=' <input type="hidden" name="modetax" value="'.$modetax.'">'; +//$fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': '; +//$fsearch.=' <input type="text" name="min" value="'.$min.'">'; + + +// Affiche en-tete du rapport +if ($modetax==1) { // Calculate on invoice for goods and services + $nom=$langs->trans("VATReportByQuartersInDueDebtMode"); + $calcmode=$langs->trans("CalcModeVATDebt"); + $calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')'; + $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); + $prevyear=$year_start; $prevquarter=$q; + if ($prevquarter > 1) { + $prevquarter--; + } else { + $prevquarter=4; $prevyear--; + } + $nextyear=$year_start; $nextquarter=$q; + if ($nextquarter < 4) { + $nextquarter++; + } else { + $nextquarter=1; $nextyear++; + } + //$periodlink=($prevyear?"<a href='".$_SERVER["PHP_SELF"]."?year=".$prevyear."&q=".$prevquarter."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".$nextyear."&q=".$nextquarter."&modetax=".$modetax."'>".img_next()."</a>":""); + $description=$langs->trans("RulesVATDueServices"); + $description.='<br>'; + $description.=$langs->trans("RulesVATDueProducts"); + //if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite'); + //if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded"); + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { + $description.='<br>'.$langs->trans("DepositsAreNotIncluded"); + } else { + $description.='<br>'.$langs->trans("DepositsAreIncluded"); + } + $description.=$fsearch; + $builddate=time(); + //$exportlink=$langs->trans("NotYetAvailable"); + + $elementcust=$langs->trans("CustomersInvoices"); + $productcust=$langs->trans("ProductOrService"); + $amountcust=$langs->trans("AmountHT"); + $vatcust=$langs->trans("VATReceived"); + $namecust=$langs->trans("Name"); + if ($mysoc->tva_assuj) { + $vatcust.=' ('.$langs->trans("ToPay").')'; + } + $elementsup=$langs->trans("SuppliersInvoices"); + $productsup=$langs->trans("ProductOrService"); + $amountsup=$langs->trans("AmountHT"); + $vatsup=$langs->trans("VATPaid"); + $namesup=$namecust; + if ($mysoc->tva_assuj) { + $vatsup.=' ('.$langs->trans("ToGetBack").')'; + } +} +if ($modetax==0) { // Invoice for goods, payment for services + $nom=$langs->trans("VATReportByQuartersInInputOutputMode"); + $calcmode=$langs->trans("CalcModeVATEngagement"); + $calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')'; + $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); + $prevyear=$year_start; $prevquarter=$q; + if ($prevquarter > 1) { + $prevquarter--; + } else { + $prevquarter=4; $prevyear--; + } + $nextyear=$year_start; $nextquarter=$q; + if ($nextquarter < 4) { + $nextquarter++; + } else { + $nextquarter=1; $nextyear++; + } + //$periodlink=($prevyear?"<a href='".$_SERVER["PHP_SELF"]."?year=".$prevyear."&q=".$prevquarter."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".$nextyear."&q=".$nextquarter."&modetax=".$modetax."'>".img_next()."</a>":""); + $description=$langs->trans("RulesVATInServices"); + $description.=' '.$langs->trans("DepositsAreIncluded"); + $description.='<br>'; + $description.=$langs->trans("RulesVATInProducts"); + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { + $description.=' '.$langs->trans("DepositsAreNotIncluded"); + } else { + $description.=' '.$langs->trans("DepositsAreIncluded"); + } + //if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite'); + //if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded"); + $description.=$fsearch; + $builddate=time(); + //$exportlink=$langs->trans("NotYetAvailable"); + + $elementcust=$langs->trans("CustomersInvoices"); + $productcust=$langs->trans("ProductOrService"); + $amountcust=$langs->trans("AmountHT"); + $vatcust=$langs->trans("VATReceived"); + $namecust=$langs->trans("Name"); + if ($mysoc->tva_assuj) { + $vatcust.=' ('.$langs->trans("ToPay").')'; + } + $elementsup=$langs->trans("SuppliersInvoices"); + $productsup=$productcust; + $amountsup=$amountcust; + $vatsup=$langs->trans("VATPaid"); + $namesup=$namecust; + if ($mysoc->tva_assuj) { + $vatsup.=' ('.$langs->trans("ToGetBack").')'; + } +} +report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array(),$calcmode); + +$vatcust=$langs->trans("VATReceived"); +$vatsup=$langs->trans("VATPaid"); + + +// VAT Received and paid + +echo '<table class="noborder" width="100%">'; + +$y = $year_current; +$total = 0; +$i=0; +$columns = 6; + +// Load arrays of datas +$x_coll = vat_by_date($db, 0, 0, $date_start, $date_end, $modetax, 'sell'); +$x_paye = vat_by_date($db, 0, 0, $date_start, $date_end, $modetax, 'buy'); + +if (!is_array($x_coll) || !is_array($x_paye)) { + $langs->load("errors"); + if ($x_coll == -1) { + print '<tr><td colspan="' . $columns . '">' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '</td></tr>'; + } else if ($x_coll == -2) { + print '<tr><td colspan="' . $columns . '">' . $langs->trans("FeatureNotYetAvailable") . '</td></tr>'; + } else { + print '<tr><td colspan="' . $columns . '">' . $langs->trans("Error") . '</td></tr>'; + } +} else { + $x_both = array(); + //now, from these two arrays, get another array with one rate per line + foreach(array_keys($x_coll) as $my_coll_rate) { + $x_both[$my_coll_rate]['coll']['totalht'] = $x_coll[$my_coll_rate]['totalht']; + $x_both[$my_coll_rate]['coll']['vat'] = $x_coll[$my_coll_rate]['vat']; + $x_both[$my_coll_rate]['paye']['totalht'] = 0; + $x_both[$my_coll_rate]['paye']['vat'] = 0; + $x_both[$my_coll_rate]['coll']['links'] = ''; + $x_both[$my_coll_rate]['coll']['detail'] = array(); + foreach($x_coll[$my_coll_rate]['facid'] as $id=>$dummy) { + $invoice_customer->id=$x_coll[$my_coll_rate]['facid'][$id]; + $invoice_customer->ref=$x_coll[$my_coll_rate]['facnum'][$id]; + $invoice_customer->type=$x_coll[$my_coll_rate]['type'][$id]; + $company_static->fetch($x_coll[$my_coll_rate]['company_id'][$id]); + $x_both[$my_coll_rate]['coll']['detail'][] = array( + 'id' =>$x_coll[$my_coll_rate]['facid'][$id], + 'descr' =>$x_coll[$my_coll_rate]['descr'][$id], + 'pid' =>$x_coll[$my_coll_rate]['pid'][$id], + 'pref' =>$x_coll[$my_coll_rate]['pref'][$id], + 'ptype' =>$x_coll[$my_coll_rate]['ptype'][$id], + 'payment_id'=>$x_coll[$my_coll_rate]['payment_id'][$id], + 'payment_amount'=>$x_coll[$my_coll_rate]['payment_amount'][$id], + 'ftotal_ttc'=>$x_coll[$my_coll_rate]['ftotal_ttc'][$id], + 'dtotal_ttc'=>$x_coll[$my_coll_rate]['dtotal_ttc'][$id], + 'dtype' =>$x_coll[$my_coll_rate]['dtype'][$id], + 'datef' =>$x_coll[$my_coll_rate]['datef'][$id], + 'company_link'=>$company_static->getNomUrl(1,'',20), + 'ddate_start'=>$x_coll[$my_coll_rate]['ddate_start'][$id], + 'ddate_end' =>$x_coll[$my_coll_rate]['ddate_end'][$id], + 'totalht' =>$x_coll[$my_coll_rate]['totalht_list'][$id], + 'vat' =>$x_coll[$my_coll_rate]['vat_list'][$id], + 'link' =>$invoice_customer->getNomUrl(1,'',12) + ); + } + } + // tva paid + foreach (array_keys($x_paye) as $my_paye_rate) { + $x_both[$my_paye_rate]['paye']['totalht'] = $x_paye[$my_paye_rate]['totalht']; + $x_both[$my_paye_rate]['paye']['vat'] = $x_paye[$my_paye_rate]['vat']; + if (!isset($x_both[$my_paye_rate]['coll']['totalht'])) { + $x_both[$my_paye_rate]['coll']['totalht'] = 0; + $x_both[$my_paye_rate]['coll']['vat'] = 0; + } + $x_both[$my_paye_rate]['paye']['links'] = ''; + $x_both[$my_paye_rate]['paye']['detail'] = array(); + + foreach ($x_paye[$my_paye_rate]['facid'] as $id=>$dummy) { + $invoice_supplier->id=$x_paye[$my_paye_rate]['facid'][$id]; + $invoice_supplier->ref=$x_paye[$my_paye_rate]['facnum'][$id]; + $invoice_supplier->type=$x_paye[$my_paye_rate]['type'][$id]; + $company_static->fetch($x_paye[$my_paye_rate]['company_id'][$id]); + $x_both[$my_paye_rate]['paye']['detail'][] = array( + 'id' =>$x_paye[$my_paye_rate]['facid'][$id], + 'descr' =>$x_paye[$my_paye_rate]['descr'][$id], + 'pid' =>$x_paye[$my_paye_rate]['pid'][$id], + 'pref' =>$x_paye[$my_paye_rate]['pref'][$id], + 'ptype' =>$x_paye[$my_paye_rate]['ptype'][$id], + 'payment_id'=>$x_paye[$my_paye_rate]['payment_id'][$id], + 'payment_amount'=>$x_paye[$my_paye_rate]['payment_amount'][$id], + 'ftotal_ttc'=>price2num($x_paye[$my_paye_rate]['ftotal_ttc'][$id]), + 'dtotal_ttc'=>price2num($x_paye[$my_paye_rate]['dtotal_ttc'][$id]), + 'dtype' =>$x_paye[$my_paye_rate]['dtype'][$id], + 'datef' =>$x_paye[$my_paye_rate]['datef'][$id], + 'company_link'=>$company_static->getNomUrl(1,'',20), + 'ddate_start'=>$x_paye[$my_paye_rate]['ddate_start'][$id], + 'ddate_end' =>$x_paye[$my_paye_rate]['ddate_end'][$id], + 'totalht' =>price2num($x_paye[$my_paye_rate]['totalht_list'][$id]), + 'vat' =>$x_paye[$my_paye_rate]['vat_list'][$id], + 'link' =>$invoice_supplier->getNomUrl(1,'',12) + ); + } + } + //now we have an array (x_both) indexed by rates for coll and paye + + + //print table headers for this quadri - incomes first + + $x_coll_sum = 0; + $x_coll_ht = 0; + $x_paye_sum = 0; + $x_paye_ht = 0; + + $span=$columns-3; + if ($modetax == 0) $span+=2; + + //print '<tr><td colspan="'.($span+1).'">'..')</td></tr>'; + + // Customers invoices + print '<tr class="liste_titre">'; + print '<td align="left">'.$elementcust.'</td>'; + print '<td align="left">'.$langs->trans("Date").'</td>'; + print '<td align="left">'.$namecust.'</td>'; + print '<td align="left">'.$productcust.'</td>'; + if ($modetax == 0) { + print '<td align="right">'.$amountcust.'</td>'; + print '<td align="right">'.$langs->trans("Payment").' ('.$langs->trans("PercentOfInvoice").')</td>'; + } + print '<td align="right">'.$langs->trans("AmountHTVATRealReceived").'</td>'; + print '<td align="right">'.$vatcust.'</td>'; + print '</tr>'; + + $action = "tvadetail"; + $parameters["mode"] = $modetax; + $parameters["start"] = $date_start; + $parameters["end"] = $date_end; + $object = array(&$x_coll, &$x_paye, &$x_both); + // Initialize technical object to manage hooks of expenses. Note that conf->hooks_modules contains array array + $hookmanager->initHooks(array('externalbalance')); + $reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + foreach (array_keys($x_coll) as $rate) { + $subtot_coll_total_ht = 0; + $subtot_coll_vat = 0; + + if (is_array($x_both[$rate]['coll']['detail'])) { + // VAT Rate + $var=true; + print "<tr>"; + print '<td class="tax_rate">'.$langs->trans("Rate").': '.vatrate($rate).'%</td><td colspan="'.$span.'"></td>'; + print '</tr>'."\n"; + + foreach ($x_both[$rate]['coll']['detail'] as $index => $fields) { + // Define type + $type=($fields['dtype']?$fields['dtype']:$fields['ptype']); + // Try to enhance type detection using date_start and date_end for free lines where type + // was not saved. + if (!empty($fields['ddate_start'])) { + $type=1; + } + if (!empty($fields['ddate_end'])) { + $type=1; + } + + $var=!$var; + print '<tr '.$bc[$var].'>'; + + // Ref + print '<td class="nowrap" align="left">'.$fields['link'].'</td>'; + + // Invoice date + print '<td align="left">' . $fields['datef'] . '</td>'; + // Company name + print '<td align="left">' . $fields['company_link'] . '</td>'; + + // Description + print '<td align="left">'; + if ($fields['pid']) { + $product_static->id=$fields['pid']; + $product_static->ref=$fields['pref']; + $product_static->type=$fields['ptype']; + print $product_static->getNomUrl(1); + if (dol_string_nohtmltag($fields['descr'])) { + print ' - '.dol_trunc(dol_string_nohtmltag($fields['descr']),16); + } + } else { + if ($type) { + $text = img_object($langs->trans('Service'),'service'); + } else { + $text = img_object($langs->trans('Product'),'product'); + } + if (preg_match('/^\((.*)\)$/',$fields['descr'],$reg)) { + if ($reg[1]=='DEPOSIT') { + $fields['descr']=$langs->transnoentitiesnoconv('Deposit'); + } elseif ($reg[1]=='CREDIT_NOTE') { + $fields['descr']=$langs->transnoentitiesnoconv('CreditNote'); + } else { + $fields['descr']=$langs->transnoentitiesnoconv($reg[1]); + } + } + print $text.' '.dol_trunc(dol_string_nohtmltag($fields['descr']),16); + + // Show range + print_date_range($fields['ddate_start'],$fields['ddate_end']); + } + print '</td>'; + + // Total HT + if ($modetax == 0) { + print '<td class="nowrap" align="right">'; + print price($fields['totalht']); + if (price2num($fields['ftotal_ttc'])) { + //print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - "; + $ratiolineinvoice=($fields['dtotal_ttc']/$fields['ftotal_ttc']); + //print ' ('.round($ratiolineinvoice*100,2).'%)'; + } + print '</td>'; + } + + // Payment + $ratiopaymentinvoice=1; + if ($modetax == 0) { + if (isset($fields['payment_amount']) && $fields['ftotal_ttc']) { + $ratiopaymentinvoice=($fields['payment_amount']/$fields['ftotal_ttc']); + } + print '<td class="nowrap" align="right">'; + //print $fields['totalht']."-".$fields['payment_amount']."-".$fields['ftotal_ttc']; + if ($fields['payment_amount'] && $fields['ftotal_ttc']) { + $payment_static->id=$fields['payment_id']; + print $payment_static->getNomUrl(2); + } + if ($type == 0) { + print $langs->trans("NotUsedForGoods"); + } else { + print $fields['payment_amount']; + if (isset($fields['payment_amount'])) { + print ' ('.round($ratiopaymentinvoice*100,2).'%)'; + } + } + print '</td>'; + } + + // Total collected + print '<td class="nowrap" align="right">'; + $temp_ht=$fields['totalht']; + if ($type == 1) { + $temp_ht=$fields['totalht']*$ratiopaymentinvoice; + } + print price(price2num($temp_ht,'MT'),1); + print '</td>'; + + // VAT + print '<td class="nowrap" align="right">'; + $temp_vat=$fields['vat']; + if ($type == 1) { + $temp_vat=$fields['vat']*$ratiopaymentinvoice; + } + print price(price2num($temp_vat,'MT'),1); + //print price($fields['vat']); + print '</td>'; + print '</tr>'; + + $subtot_coll_total_ht += $temp_ht; + $subtot_coll_vat += $temp_vat; + $x_coll_sum += $temp_vat; + } + } + // Total customers for this vat rate + print '<tr class="liste_total">'; + print '<td colspan="'.$span.'"></td>'; + print '<td align="right">'.$langs->trans("Total").':</td>'; + if ($modetax == 0) { + print '<td class="nowrap" align="right"> </td>'; + print '<td align="right"> </td>'; + } + print '<td align="right">'.price(price2num($subtot_coll_total_ht,'MT')).'</td>'; + print '<td class="nowrap" align="right">'.price(price2num($subtot_coll_vat,'MT')).'</td>'; + print '</tr>'; + } + + if (count($x_coll) == 0) { // Show a total ine if nothing shown + print '<tr class="liste_total">'; + print '<td colspan="'.$span.'"></td>'; + print '<td align="right">'.$langs->trans("Total").':</td>'; + if ($modetax == 0) { + print '<td class="nowrap" align="right"> </td>'; + print '<td align="right"> </td>'; + } + print '<td align="right">'.price(price2num(0,'MT')).'</td>'; + print '<td class="nowrap" align="right">'.price(price2num(0,'MT')).'</td>'; + print '</tr>'; + } + + // Blank line + print '<tr><td colspan="'.($span+1).'"> </td></tr>'; + + //print table headers for this quadri - expenses now + //imprime les en-tete de tables pour ce quadri - maintenant les d�penses + print '<tr class="liste_titre">'; + print '<td align="left">'.$elementsup.'</td>'; + print '<td align="left">'.$langs->trans("Date").'</td>'; + print '<td align="left">'.$namesup.'</td>'; + print '<td align="left">'.$productsup.'</td>'; + if ($modetax == 0) { + print '<td align="right">'.$amountsup.'</td>'; + print '<td align="right">'.$langs->trans("Payment").' ('.$langs->trans("PercentOfInvoice").')</td>'; + } + print '<td align="right">'.$langs->trans("AmountHTVATRealPaid").'</td>'; + print '<td align="right">'.$vatsup.'</td>'; + print '</tr>'."\n"; + + foreach (array_keys($x_paye) as $rate) { + $subtot_paye_total_ht = 0; + $subtot_paye_vat = 0; + + if (is_array($x_both[$rate]['paye']['detail'])) { + $var=true; + print "<tr>"; + print '<td class="tax_rate">'.$langs->trans("Rate").': '.vatrate($rate).'%</td><td colspan="'.$span.'"></td>'; + print '</tr>'."\n"; + + foreach ($x_both[$rate]['paye']['detail'] as $index=>$fields) { + // Define type + $type=($fields['dtype']?$fields['dtype']:$fields['ptype']); + // Try to enhance type detection using date_start and date_end for free lines where type + // was not saved. + if (!empty($fields['ddate_start'])) { + $type=1; + } + if (!empty($fields['ddate_end'])) { + $type=1; + } + + $var=!$var; + print '<tr '.$bc[$var].'>'; + + // Ref + print '<td class="nowrap" align="left">'.$fields['link'].'</td>'; + // Invoice date + print '<td align="left">' . $fields['datef'] . '</td>'; + // Company name + print '<td align="left">' . $fields['company_link'] . '</td>'; + + // Description + print '<td align="left">'; + if ($fields['pid']) { + $product_static->id=$fields['pid']; + $product_static->ref=$fields['pref']; + $product_static->type=$fields['ptype']; + print $product_static->getNomUrl(1); + if (dol_string_nohtmltag($fields['descr'])) { + print ' - '.dol_trunc(dol_string_nohtmltag($fields['descr']),16); + } + } else { + if ($type) { + $text = img_object($langs->trans('Service'),'service'); + } else { + $text = img_object($langs->trans('Product'),'product'); + } + print $text.' '.dol_trunc(dol_string_nohtmltag($fields['descr']),16); + + // Show range + print_date_range($fields['ddate_start'],$fields['ddate_end']); + } + print '</td>'; + + // Total HT + if ($modetax == 0) { + print '<td class="nowrap" align="right">'; + print price($fields['totalht']); + if (price2num($fields['ftotal_ttc'])) { + //print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - "; + $ratiolineinvoice=($fields['dtotal_ttc']/$fields['ftotal_ttc']); + //print ' ('.round($ratiolineinvoice*100,2).'%)'; + } + print '</td>'; + } + + // Payment + $ratiopaymentinvoice=1; + if ($modetax == 0) { + if (isset($fields['payment_amount']) && $fields['ftotal_ttc']) { + $ratiopaymentinvoice=($fields['payment_amount']/$fields['ftotal_ttc']); + } + print '<td class="nowrap" align="right">'; + if ($fields['payment_amount'] && $fields['ftotal_ttc']) { + $paymentfourn_static->id=$fields['payment_id']; + print $paymentfourn_static->getNomUrl(2); + } + if ($type == 0) { + print $langs->trans("NotUsedForGoods"); + } else { + print $fields['payment_amount']; + if (isset($fields['payment_amount'])) { + print ' ('.round($ratiopaymentinvoice*100,2).'%)'; + } + } + print '</td>'; + } + + // VAT paid + print '<td class="nowrap" align="right">'; + $temp_ht=$fields['totalht']; + if ($type == 1) { + $temp_ht=$fields['totalht']*$ratiopaymentinvoice; + } + print price(price2num($temp_ht,'MT'),1); + print '</td>'; + + // VAT + print '<td class="nowrap" align="right">'; + $temp_vat=$fields['vat']; + if ($type == 1) { + $temp_vat=$fields['vat']*$ratiopaymentinvoice; + } + print price(price2num($temp_vat,'MT'),1); + //print price($fields['vat']); + print '</td>'; + print '</tr>'; + + $subtot_paye_total_ht += $temp_ht; + $subtot_paye_vat += $temp_vat; + $x_paye_sum += $temp_vat; + } + } + // Total suppliers for this vat rate + print '<tr class="liste_total">'; + print '<td colspan="'.$span.'"></td>'; + print '<td align="right">'.$langs->trans("Total").':</td>'; + if ($modetax == 0) { + print '<td class="nowrap" align="right"> </td>'; + print '<td align="right"> </td>'; + } + print '<td align="right">'.price(price2num($subtot_paye_total_ht,'MT')).'</td>'; + print '<td class="nowrap" align="right">'.price(price2num($subtot_paye_vat,'MT')).'</td>'; + print '</tr>'; + } + + if (count($x_paye) == 0) { // Show a total ine if nothing shown + print '<tr class="liste_total">'; + print '<td colspan="'.$span.'"></td>'; + print '<td align="right">'.$langs->trans("Total").':</td>'; + if ($modetax == 0) { + print '<td class="nowrap" align="right"> </td>'; + print '<td align="right"> </td>'; + } + print '<td align="right">'.price(price2num(0,'MT')).'</td>'; + print '<td class="nowrap" align="right">'.price(price2num(0,'MT')).'</td>'; + print '</tr>'; + } + + print '</table>'; + + // Total to pay + print '<br><br>'; + print '<table class="noborder" width="100%">'; + $diff = $x_coll_sum - $x_paye_sum; + print '<tr class="liste_total">'; + print '<td class="liste_total" colspan="'.$span.'">'.$langs->trans("TotalToPay").($q?', '.$langs->trans("Quadri").' '.$q:'').'</td>'; + print '<td class="liste_total nowrap" align="right"><b>'.price(price2num($diff,'MT'))."</b></td>\n"; + print "</tr>\n"; + + $i++; +} +echo '</table>'; + +$db->close(); + +llxFooter(); diff --git a/htdocs/core/lib/report.lib.php b/htdocs/core/lib/report.lib.php index 681f6e7a913c70aacb2e4bb82fbac01ddb1a11bc..79ab5fe0eadd1f2d642a19d4b36bcd099af8c439 100644 --- a/htdocs/core/lib/report.lib.php +++ b/htdocs/core/lib/report.lib.php @@ -24,18 +24,18 @@ /** -* Show header of a VAT report +* Show header of a VAT report * -* @param string $nom Name of report -* @param string $variante Link for alternate report -* @param string $period Period of report -* @param string $periodlink Link to switch period -* @param string $description Description -* @param timestamp|integer $builddate Date generation -* @param string $exportlink Link for export or '' -* @param array $moreparam Array with list of params to add into form -* @param string $calcmode Calculation mode -* @return void +* @param string $nom Name of report +* @param string $variante Link for alternate report +* @param string $period Period of report +* @param string $periodlink Link to switch period +* @param string $description Description +* @param timestamp|integer $builddate Date generation +* @param string $exportlink Link for export or '' +* @param array $moreparam Array with list of params to add into form +* @param string $calcmode Calculation mode +* @return void */ function report_header($nom,$variante,$period,$periodlink,$description,$builddate,$exportlink='',$moreparam=array(),$calcmode='') { @@ -55,7 +55,7 @@ function report_header($nom,$variante,$period,$periodlink,$description,$builddat print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">'; foreach($moreparam as $key => $value) { - print '<input type="hidden" name="'.$key.'" value="'.$value.'">'; + print '<input type="hidden" name="'.$key.'" value="'.$value.'">'; } print '<table width="100%" class="border">'; diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index a163047e61b4a401ca26f8c3c134165684bb9f12..7d9ee545dea4cd874740a2f5a36c39c40aeac110 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -280,10 +280,11 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, $sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,"; $sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, "; $sql.= " d.date_start as date_start, d.date_end as date_end,"; - $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,"; + $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef, s.nom as company_name, s.rowid as company_id,"; $sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,"; $sql.= " 0 as payment_id, 0 as payment_amount"; $sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,"; + $sql.= " ".MAIN_DB_PREFIX."societe as s,"; $sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid"; $sql.= " WHERE f.entity = " . $conf->entity; @@ -291,6 +292,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; else $sql.= " AND f.type IN (0,1,2,3,5)"; $sql.= " AND f.rowid = d.".$fk_facture; + $sql.= " AND s.rowid = f.fk_soc"; if ($y && $m) { $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; @@ -325,10 +327,11 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, $sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,"; $sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, "; $sql.= " d.date_start as date_start, d.date_end as date_end,"; - $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,"; + $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef as date_f, s.nom as company_name, s.rowid as company_id,"; $sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,"; $sql.= " 0 as payment_id, 0 as payment_amount"; $sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,"; + $sql.= " ".MAIN_DB_PREFIX."societe as s,"; $sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid"; $sql.= " WHERE f.entity = " . $conf->entity; @@ -336,6 +339,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; else $sql.= " AND f.type IN (0,1,2,3,5)"; $sql.= " AND f.rowid = d.".$fk_facture; + $sql.= " AND s.rowid = f.fk_soc"; if ($y && $m) { $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; @@ -384,6 +388,9 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, } $list[$assoc['rate']]['dtotal_ttc'][] = $assoc['total_ttc']; $list[$assoc['rate']]['dtype'][] = $assoc['dtype']; + $list[$assoc['rate']]['datef'][] = $assoc['datef']; + $list[$assoc['rate']]['company_name'][] = $assoc['company_name']; + $list[$assoc['rate']]['company_id'][] = $assoc['company_id']; $list[$assoc['rate']]['ddate_start'][] = $db->jdate($assoc['date_start']); $list[$assoc['rate']]['ddate_end'][] = $db->jdate($assoc['date_end']); @@ -438,10 +445,11 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, $sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,"; $sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, "; $sql.= " d.date_start as date_start, d.date_end as date_end,"; - $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,"; + $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef, s.nom as company_name, s.rowid as company_id,"; $sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,"; $sql.= " 0 as payment_id, 0 as payment_amount"; $sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,"; + $sql.= " ".MAIN_DB_PREFIX."societe as s,"; $sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d" ; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid"; $sql.= " WHERE f.entity = " . $conf->entity; @@ -449,6 +457,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; else $sql.= " AND f.type IN (0,1,2,3,5)"; $sql.= " AND f.rowid = d.".$fk_facture; + $sql.= " AND s.rowid = f.fk_soc"; if ($y && $m) { $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; @@ -484,12 +493,13 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, $sql = "SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_tx as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,"; $sql .=" d.".$total_localtax1." as total_localtax1, d.".$total_localtax2." as total_localtax2, "; $sql.= " d.date_start as date_start, d.date_end as date_end,"; - $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc,"; + $sql.= " f.".$invoicefieldref." as facnum, f.type, f.total_ttc as ftotal_ttc, f.datef, s.nom as company_name, s.rowid as company_id,"; $sql.= " p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,"; $sql.= " pf.".$fk_payment." as payment_id, pf.amount as payment_amount"; $sql.= " FROM ".MAIN_DB_PREFIX.$invoicetable." as f,"; $sql.= " ".MAIN_DB_PREFIX.$paymentfacturetable." as pf,"; $sql.= " ".MAIN_DB_PREFIX.$paymenttable." as pa,"; + $sql.= " ".MAIN_DB_PREFIX."societe as s,"; $sql.= " ".MAIN_DB_PREFIX.$invoicedettable." as d"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid"; $sql.= " WHERE f.entity = " . $conf->entity; @@ -497,6 +507,7 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; else $sql.= " AND f.type IN (0,1,2,3,5)"; $sql.= " AND f.rowid = d.".$fk_facture; + $sql.= " AND s.rowid = f.fk_soc"; $sql.= " AND pf.".$fk_facture2." = f.rowid"; $sql.= " AND pa.rowid = pf.".$fk_payment; if ($y && $m) @@ -548,6 +559,9 @@ function vat_by_date($db, $y, $q, $date_start, $date_end, $modetax, $direction, } $list[$assoc['rate']]['dtotal_ttc'][] = $assoc['total_ttc']; $list[$assoc['rate']]['dtype'][] = $assoc['dtype']; + $list[$assoc['rate']]['datef'][] = $assoc['datef']; + $list[$assoc['rate']]['company_name'][] = $assoc['company_name']; + $list[$assoc['rate']]['company_id'][] = $assoc['company_id']; $list[$assoc['rate']]['ddate_start'][] = $db->jdate($assoc['date_start']); $list[$assoc['rate']]['ddate_end'][] = $db->jdate($assoc['date_end']); diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 09858bc092f52b21449401bb06b35b277bde2261..9e801939dccd69ac96566d2e65a4a92ffade7034 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -205,3 +205,9 @@ ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdpartie CloneTax=Clone a social/fiscal tax ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment CloneTaxForNextMonth=Clone it for next month +SimpleReport=Simple report +AddExtraReport=Extra reports +OtherCountriesCustomersReport=Foreign customers report +BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Based on the two first letters of the VAT number being different from your own company's country code +SameCountryCustomersWithVAT=National customers report +BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Based on the two first letters of the VAT number being the same as your own company's country code \ No newline at end of file