';
// Amount Local Taxes
+ //TODO: Place into a function to control showing by country or study better option
if ($mysoc->country_code=='ES')
{
if ($mysoc->localtax1_assuj=="1") //Localtax1 RE
@@ -1232,7 +1238,22 @@ if (! empty($object->id))
print '
'.price($object->total_localtax1).'
';
print '
'.$langs->trans("Currency".$conf->currency).'
';
}
- if ($mysoc->localtax2_assuj=="1") //Localtax2 IRPF
+ if ($object->thirdparty->localtax2_assuj=="1") //Localtax2 IRPF
+ {
+ print '
';
// Amount Local Taxes
- if ($societe->localtax1_assuj=="1") //Localtax1 RE
+ //TODO: Place into a function to control showing by country or study better option
+ if ($mysoc->country_code=='ES')
{
- print '
';
// Project
diff --git a/htdocs/install/mysql/data/llx_c_tva.sql b/htdocs/install/mysql/data/llx_c_tva.sql
index 03acef22d0a..4476084b780 100644
--- a/htdocs/install/mysql/data/llx_c_tva.sql
+++ b/htdocs/install/mysql/data/llx_c_tva.sql
@@ -190,10 +190,10 @@ INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (20
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2023, 202, '0', '0', 'VAT Rate 0', 1);
-- SPAIN (id country=4)
-insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 41, 4,'21','0','5.2','3','-15','1','VAT standard rate',1);
-insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 42, 4,'10','0','1.4','3','-15','1','VAT reduced rate',1);
-insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 43, 4, '4','0','0.5','3','-15','1','VAT super-reduced rate',1);
-insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 44, 4, '0','0', '0','3','-15','1','VAT Rate 0',1);
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 41, 4,'21','0','5.2','3','-21','1','VAT standard rate',1);
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 42, 4,'10','0','1.4','3','-21','1','VAT reduced rate',1);
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 43, 4, '4','0','0.5','3','-21','1','VAT super-reduced rate',1);
+insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_type,localtax2,localtax2_type,note,active) values ( 44, 4, '0','0', '0','3','-21','1','VAT Rate 0',1);
-- SWEDEN (id country=20)
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (201,20, '25','0','VAT standard rate',1);
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 4ec24bb0232..fedf74f74f2 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -1,5 +1,6 @@
# Dolibarr language file - en_US - admin
CHARSET=UTF-8
+Foundation=Foundation
Version=Version
VersionProgram=Version program
VersionLastInstall=Version initial install
@@ -61,7 +62,9 @@ PreviewNotAvailable=Preview not available
ThemeCurrentlyActive=Theme currently active
CurrentTimeZone=TimeZone PHP (server)
Space=Space
+Table=Table
Fields=Fields
+Index=Index
Mask=Mask
NextValue=Next value
NextValueForInvoices=Next value (invoices)
@@ -128,6 +131,7 @@ SystemInfo=System information
SystemTools=System tools
SystemToolsArea=System tools area
SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for.
+Purge=Purge
PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server.
PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data)
PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data)
@@ -156,6 +160,7 @@ ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command fr
ImportMySqlCommand=%s %s < mybackupfile.sql
ImportPostgreSqlCommand=%s %s mybackupfile.sql
FileNameToGenerate=File name to generate
+Compression=Compression
CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import
CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later
ExportCompatibility=Compatibility of generated export file
@@ -328,6 +333,7 @@ HideAnyVATInformationOnPDF=Hide all information related to VAT on generated PDF
HideDescOnPDF=Hide products description on generated PDF
HideRefOnPDF=Hide products ref. on generated PDF
HideDetailsOnPDF=Hide products lines details on generated PDF
+Library=Library
UrlGenerationParameters=Parameters to secure URLs
SecurityTokenIsUnique=Use a unique securekey parameter for each URL
EnterRefToBuildUrl=Enter reference for object %s
@@ -344,6 +350,7 @@ TextLong=Long text
Int=Integer
Float=Float
DateAndTime=Date and hour
+Unique=Unique
LibraryToBuildPDF=Library used to build PDF
WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation. To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir'
LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are: 1 : local tax apply on products and services without vat (vat is not applied on local tax) 2 : local tax apply on products and services before vat (vat is calculated on amount + localtax) 3 : local tax apply on products without vat (vat is not applied on local tax) 4 : local tax apply on products before vat (vat is calculated on amount + localtax) 5 : local tax apply on services without vat (vat is not applied on local tax) 6 : local tax apply on services before vat (vat is calculated on amount + localtax)
@@ -453,6 +460,7 @@ Module2600Name= WebServices
Module2600Desc= Enable the Dolibarr web services server
Module2700Name= Gravatar
Module2700Desc= Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access
+Module2800Desc=FTP Client
Module2900Name= GeoIPMaxmind
Module2900Desc= GeoIP Maxmind conversions capabilities
Module5000Name=Multi-company
@@ -757,6 +765,8 @@ PhpConf=Conf
PhpWebLink=Web-Php link
Pear=Pear
PearPackages=Pear Packages
+Browser=Browser
+Server=Server
Database=Database
DatabaseServer=Database host
DatabaseName=Database name
@@ -782,6 +792,7 @@ MenuCompanySetup=Company/Foundation
MenuNewUser=New user
MenuTopManager=Top menu manager
MenuLeftManager=Left menu manager
+MenuManager=Menu manager
MenuSmartphoneManager=Smartphone menu manager
DefaultMenuTopManager=Top menu manager
DefaultMenuLeftManager=Left menu manager
@@ -806,6 +817,7 @@ CompanyZip=Zip
CompanyTown=Town
CompanyCountry=Country
CompanyCurrency=Main currency
+Logo=Logo
DoNotShow=Do not show
DoNotSuggestPaymentMode=Do not suggest
NoActiveBankAccountDefined=No active bank account defined
diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang
index bb0bfc94d08..0066f1db7c8 100644
--- a/htdocs/langs/es_ES/admin.lang
+++ b/htdocs/langs/es_ES/admin.lang
@@ -328,6 +328,7 @@ HideAnyVATInformationOnPDF=Ocultar toda la información relacionada con el IVA e
HideDescOnPDF=Ocultar descripción de los productos en la generación de los PDF
HideRefOnPDF=Ocultar referencia de los productos en la generación de los PDF
HideDetailsOnPDF=Ocultar detalles de las líneas de productos en la generación de los PDF
+Library=Librería
UrlGenerationParameters=Seguridad de las URLs
SecurityTokenIsUnique=¿Usar un parámetro securekey único para cada URL?
EnterRefToBuildUrl=Introduzca la referencia del objeto %s
@@ -346,6 +347,7 @@ TextLong=Texto largo
Int=Numérico entero
Float=Decimal
DateAndTime=Fecha y hora
+Unique=Único
LibraryToBuildPDF=Librería usada para la creación de archivos PDF
WarningUsingFPDF=Atención: Su archivo conf.php contiene la directiva dolibarr_pdf_force_fpdf=1. Esto hace que se use la librería FPDF para generar sus archivos PDF. Esta librería es antigua y no cubre algunas funcionalidades (Unicode, transparencia de imágenes, idiomas cirílicos, árabes o asiáticos, etc.), por lo que puede tener problemas en la generación de los PDF. Para resolverlo, y disponer de un soporte completo de PDF, puede descargar la librería TCPDF , y a continuación comentar o eliminar la línea $dolibarr_pdf_force_fpdf=1, y añadir en su lugar $dolibarr_lib_TCPDF_PATH='ruta_a_TCPDF'
LocalTaxDesc=Algunos países aplican 2 o 3 tasas a cada línea de factura. Si es el caso, escoja el tipo de la segunda y tercera tasa y su valor. Los posibles tipos son: 1 : tasa local aplicable a productos y servicios sin IVA (IVA no se aplica en la tasa local) 2 : tasa local se aplica a productos y servicios antes del IVA (IVA se calcula sobre importe+tasa local) 3 : tasa local se aplica a productos sin IVA (IVA no se aplica en la tasa local) 4 : tasa local se aplica a productos antes del IVA (IVA se calcula sobre el importe+tasa local) 5 : tasa local se aplica a servicios sin IVA (IVA no se aplica a la tasa local) 6 : tasa local se aplica a servicios antes del IVA (IVA se calcula sobre importe + tasa local)
@@ -1312,7 +1314,7 @@ ConfirmDeleteLine=¿Está seguro de querer eliminar esta línea?
##### Tax #####
TaxSetup=Configuración del módulo Impuestos, cargas sociales y dividendos
OptionVatMode=Opción de carga de IVA
-OptionVATDefault=Estandard
+OptionVATDefault=Estándar
OptionVATDebitOption=Opción servicios a débito
OptionVatDefaultDesc=La carga del IVA es: -en el envío de los bienes (en la práctica se usa la fecha de la factura) -sobre el pago por los servicios
OptionVatDebitOptionDesc=La carga del IVA es: -en el envío de los bienes (en la práctica se usa la fecha de la factura) -sobre la facturación de los servicios
diff --git a/htdocs/langs/es_ES/compta.lang b/htdocs/langs/es_ES/compta.lang
index eabc1ce7471..a2138f91855 100644
--- a/htdocs/langs/es_ES/compta.lang
+++ b/htdocs/langs/es_ES/compta.lang
@@ -109,6 +109,7 @@ AnnualByCompaniesDueDebtMode=Balance de ingresos y gastos, desglosado por tercer
AnnualByCompaniesInputOutputMode=Balance de ingresos y gastos, desglosado por terceros, en modo %sIngresos-Gastos%s llamada contabilidad de caja.
SeeReportInInputOutputMode=Ver el informe %sIngresos-Gastos%s llamado contabilidad de caja para un cálculo sobre las facturas pagadas
SeeReportInDueDebtMode=Ver el informe %sCréditos-Deudas%s llamada contabilidad de compromiso para un cálculo de las facturas pendientes de pago
+RulesAmountWithTaxIncluded=- Los importes mostrados son con todos los impuestos incluídos.
RulesResultDue=- Los importes mostrados son importes totales - Incluye las facturas, cargas e IVA debidos, que estén pagadas o no. - Se basa en la fecha de validación para las facturas y el IVA y en la fecha de vencimiento para las cargas.
RulesResultInOut=- Los importes mostrados son importes totales - Incluye los pagos realizados para las facturas, cargas e IVA. - Se basa en la fecha de pago de las mismas.
RulesCADue=- Incluye las facturas a clientes, estén pagadas o no. - Se base en la fecha de validación de las mismas.
diff --git a/htdocs/public/emailing/mailing-read.php b/htdocs/public/emailing/mailing-read.php
index 6a17d7ace31..3a3d171fbf1 100644
--- a/htdocs/public/emailing/mailing-read.php
+++ b/htdocs/public/emailing/mailing-read.php
@@ -30,7 +30,7 @@ define("NOCSRFCHECK",1); // We accept to go on this page from external web site.
require '../../main.inc.php';
-$id=GETPOST('tag');
+$tag=GETPOST('tag');
if (empty($conf->global->MAILING_EMAIL_UNSUBSCRIBE)) accessforbidden('Option not enabled');
@@ -39,22 +39,22 @@ if (empty($conf->global->MAILING_EMAIL_UNSUBSCRIBE)) accessforbidden('Option not
* Actions
*/
-if ($id!='')
+if ($tag!='')
{
$statut='2';
- $sql = "UPDATE ".MAIN_DB_PREFIX."mailing_cibles SET statut=".$statut." WHERE tag='".$id."'";
+ $sql = "UPDATE ".MAIN_DB_PREFIX."mailing_cibles SET statut=".$statut." WHERE tag='".$db->escape($tag)."'";
dol_syslog("public/emailing/mailing-read.php : Mail read : ".$sql, LOG_DEBUG);
$resql=$db->query($sql);
//Update status communication of thirdparty prospect
- $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=3 WHERE rowid IN (SELECT source_id FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE tag='".$id."' AND source_type='thirdparty' AND source_id is not null)";
+ $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=3 WHERE rowid IN (SELECT source_id FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE tag='".$db->escape($tag)."' AND source_type='thirdparty' AND source_id is not null)";
dol_syslog("public/emailing/mailing-read.php : Mail read thirdparty : ".$sql, LOG_DEBUG);
$resql=$db->query($sql);
//Update status communication of contact prospect
- $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=3 WHERE rowid IN (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX."socpeople AS sc INNER JOIN ".MAIN_DB_PREFIX."mailing_cibles AS mc ON mc.tag = '".$id."' AND mc.source_type = 'contact' AND mc.source_id = sc.rowid)";
+ $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=3 WHERE rowid IN (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX."socpeople AS sc INNER JOIN ".MAIN_DB_PREFIX."mailing_cibles AS mc ON mc.tag = '".$db->escape($tag)."' AND mc.source_type = 'contact' AND mc.source_id = sc.rowid)";
dol_syslog("public/emailing/mailing-read.php : Mail read contact : ".$sql, LOG_DEBUG);
$resql=$db->query($sql);
diff --git a/htdocs/public/emailing/mailing-unsubscribe.php b/htdocs/public/emailing/mailing-unsubscribe.php
index 9f2cf060841..12c45b7e049 100644
--- a/htdocs/public/emailing/mailing-unsubscribe.php
+++ b/htdocs/public/emailing/mailing-unsubscribe.php
@@ -36,7 +36,7 @@ global $user, $conf, $langs;
$langs->load("main");
$langs->load("mails");
-$id=GETPOST('tag');
+$tag=GETPOST('tag');
$unsuscrib=GETPOST('unsuscrib');
if (empty($conf->global->MAILING_EMAIL_UNSUBSCRIBE)) accessforbidden('Option not enabled');
@@ -46,30 +46,30 @@ if (empty($conf->global->MAILING_EMAIL_UNSUBSCRIBE)) accessforbidden('Option not
* Actions
*/
-if (($id!='') && ($unsuscrib=='1'))
+if (($tag!='') && ($unsuscrib=='1'))
{
//Udate status of mail in Destinaries maling list
$statut='3';
- $sql = "UPDATE ".MAIN_DB_PREFIX."mailing_cibles SET statut=".$statut." WHERE tag='".$id."'";
+ $sql = "UPDATE ".MAIN_DB_PREFIX."mailing_cibles SET statut=".$statut." WHERE tag='".$db->escape($tag)."'";
dol_syslog("public/emailing/mailing-unsubscribe.php : Mail unsubcribe : ".$sql, LOG_DEBUG);
$resql=$db->query($sql);
//Update status communication of thirdparty prospect
- $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=-1 WHERE rowid IN (SELECT source_id FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE tag='".$id."' AND source_type='thirdparty' AND source_id is not null)";
+ $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=-1 WHERE rowid IN (SELECT source_id FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE tag='".$db->escape($tag)."' AND source_type='thirdparty' AND source_id is not null)";
dol_syslog("public/emailing/mailing-unsubscribe.php : Mail unsubcribe thirdparty : ".$sql, LOG_DEBUG);
$resql=$db->query($sql);
//Update status communication of contact prospect
- $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=-1 WHERE rowid IN (SELECT fk_soc FROM ".MAIN_DB_PREFIX."socpeople AS sc INNER JOIN ".MAIN_DB_PREFIX."mailing_cibles AS mc ON mc.tag = '".$id."' AND mc.source_type = 'contact' AND mc.source_id = sc.rowid)";
+ $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=-1 WHERE rowid IN (SELECT fk_soc FROM ".MAIN_DB_PREFIX."socpeople AS sc INNER JOIN ".MAIN_DB_PREFIX."mailing_cibles AS mc ON mc.tag = '".$db->escape($tag)."' AND mc.source_type = 'contact' AND mc.source_id = sc.rowid)";
dol_syslog("public/emailing/mailing-unsubscribe.php : Mail unsubcribe contact : ".$sql, LOG_DEBUG);
$resql=$db->query($sql);
$sql = "SELECT mc.email";
$sql .= " FROM ".MAIN_DB_PREFIX."mailing_cibles as mc";
- $sql .= " WHERE mc.tag='".$id."'";
+ $sql .= " WHERE mc.tag='".$db->escape($tag)."'";
$resql=$db->query($sql);
diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php
index b22b2838aa3..65481d8359f 100644
--- a/htdocs/public/members/new.php
+++ b/htdocs/public/members/new.php
@@ -498,7 +498,7 @@ if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
print '