diff --git a/ChangeLog b/ChangeLog
index 1beb7f6d755..9499ea30dfd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -92,6 +92,10 @@ removed. You must now use the 6 parameters way. See file modMyModule.class.php f
***** ChangeLog for 3.5.3 compared to 3.5.2 *****
Fix: Error on field accountancy code for export profile of invoices.
+Fix: [ bug #1351 ] VIES verification link broken.
+Fix: [ bug #1352 ] Removing a shipping does not remove the delivery.
+Fix: Option MAIN_INVERT_SENDER_RECIPIENT broken with typhon template.
+
***** ChangeLog for 3.5.2 compared to 3.5.1 *****
Fix: Can't add user for a task.
diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 004153e2fdc..b32c5d4cb75 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -47,8 +47,8 @@ abstract class CommonObject
public $array_options=array();
- public $linkedObjectsIds;
- public $linkedObjects;
+ public $linkedObjectsIds; // Loaded by ->fetchObjectLinked
+ public $linkedObjects; // Loaded by ->fetchObjectLinked
// No constructor as it is an abstract class
@@ -1718,7 +1718,7 @@ abstract class CommonObject
* @param string $sourcetype Object source type
* @param int $targetid Object target id
* @param string $targettype Object target type
- * @param string $clause OR, AND clause
+ * @param string $clause 'OR' or 'AND' clause used when both source id and target id are provided
* @return void
*/
function fetchObjectLinked($sourceid='',$sourcetype='',$targetid='',$targettype='',$clause='OR')
@@ -2392,7 +2392,8 @@ abstract class CommonObject
/**
- * Function to check if an object is used by others
+ * Function to check if an object is used by others.
+ * Check is done into this->childtables. There is no check into llx_element_element.
*
* @param int $id Id of object
* @return int <0 if KO, 0 if not used, >0 if already used
diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php
index e4d88fab7d7..416ee790282 100644
--- a/htdocs/core/class/html.formother.class.php
+++ b/htdocs/core/class/html.formother.class.php
@@ -1055,7 +1055,7 @@ class FormOther
$emptybox->showBox(array(),array());
}
print "\n";
- print "\n";
+ print "\n";
print '
';
@@ -1086,7 +1086,7 @@ class FormOther
$emptybox->showBox(array(),array());
}
print "
\n";
- print "\n";
+ print "\n";
print '
';
print "\n";
diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php
index 01cb46f20f2..4ef5ad707b1 100644
--- a/htdocs/core/lib/functions2.lib.php
+++ b/htdocs/core/lib/functions2.lib.php
@@ -1537,6 +1537,7 @@ function dolGetElementUrl($objectid,$objecttype,$withpicto=0,$option='')
/**
* Clean corrupted tree (orphelins linked to a not existing parent), record linked to themself and child-parent loop
*
+ * @param DoliDB $db Database handler
* @param string $tabletocleantree Table to clean
* @param string $fieldfkparent Field name that contains id of parent
* @return int Nb of records fixed/deleted
diff --git a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php
index e9004283085..497663bf1d5 100644
--- a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php
+++ b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php
@@ -780,9 +780,11 @@ class pdf_typhon extends ModelePDFDeliveryOrder
// Client destinataire
$posy=42;
+ $posx=102;
+ if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->marge_gauche;
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('','', $default_font_size - 2);
- $pdf->SetXY(102,$posy-5);
+ $pdf->SetXY($posx,$posy-5);
$pdf->MultiCell(80,5, $outputlangs->transnoentities("DeliveryAddress").":", 0, 'L');
// If SHIPPING contact defined on order, we use it
@@ -814,7 +816,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
if ($this->page_largeur < 210) $widthrecbox=84; // To work with US executive format
$posy=42;
$posx=$this->page_largeur-$this->marge_droite-$widthrecbox;
- //if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->marge_gauche;
+ if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->marge_gauche;
// Show recipient frame
$pdf->SetTextColor(0,0,0);
diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php
index 7d889d415d4..df55d9bd9a2 100644
--- a/htdocs/expedition/class/expedition.class.php
+++ b/htdocs/expedition/class/expedition.class.php
@@ -882,9 +882,10 @@ class Expedition extends CommonObject
}
/**
- * Delete shipment
+ * Delete shipment.
+ * Warning, do not delete a shipment if a delivery is linked to (with table llx_element_element)
*
- * @return int >0 if OK otherwise if KO
+ * @return int >0 if OK, 0 if deletion done but failed to delete files, <0 if KO
*/
function delete()
{
@@ -893,6 +894,14 @@ class Expedition extends CommonObject
$error=0;
+ // Add a protection to refuse deleting if shipment has at least one delivery
+ $this->fetchObjectLinked($this->id, 'shipping', 0, 'delivery'); // Get deliveries linked to this shipment
+ if (count($this->linkedObjectsIds) > 0)
+ {
+ $this->error='ErrorThereIsSomeDeliveries';
+ return -1;
+ }
+
$this->db->begin();
if ($conf->productbatch->enabled) {
@@ -942,7 +951,7 @@ class Expedition extends CommonObject
}
}
- if(! $error)
+ if (! $error)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."expeditiondet";
$sql.= " WHERE fk_expedition = ".$this->id;
@@ -960,31 +969,6 @@ class Expedition extends CommonObject
if ($this->db->query($sql))
{
- $this->db->commit();
-
- // On efface le repertoire de pdf provisoire
- $ref = dol_sanitizeFileName($this->ref);
- if (! empty($conf->expedition->dir_output))
- {
- $dir = $conf->expedition->dir_output . '/sending/' . $ref ;
- $file = $dir . '/' . $ref . '.pdf';
- if (file_exists($file))
- {
- if (! dol_delete_file($file))
- {
- return 0;
- }
- }
- if (file_exists($dir))
- {
- if (!dol_delete_dir($dir))
- {
- $this->error=$langs->trans("ErrorCanNotDeleteDir",$dir);
- return 0;
- }
- }
- }
-
// Call triggers
include_once DOL_DOCUMENT_ROOT.'/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
@@ -992,7 +976,40 @@ class Expedition extends CommonObject
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// End call triggers
- return 1;
+ if (! $error)
+ {
+ $this->db->commit();
+
+ // We delete PDFs
+ $ref = dol_sanitizeFileName($this->ref);
+ if (! empty($conf->expedition->dir_output))
+ {
+ $dir = $conf->expedition->dir_output . '/sending/' . $ref ;
+ $file = $dir . '/' . $ref . '.pdf';
+ if (file_exists($file))
+ {
+ if (! dol_delete_file($file))
+ {
+ return 0;
+ }
+ }
+ if (file_exists($dir))
+ {
+ if (!dol_delete_dir($dir))
+ {
+ $this->error=$langs->trans("ErrorCanNotDeleteDir",$dir);
+ return 0;
+ }
+ }
+ }
+
+ return 1;
+ }
+ else
+ {
+ $this->db->rollback();
+ return -1;
+ }
}
else
{
diff --git a/htdocs/expedition/fiche.php b/htdocs/expedition/fiche.php
index a7a847f8b0c..4fac38b385f 100644
--- a/htdocs/expedition/fiche.php
+++ b/htdocs/expedition/fiche.php
@@ -221,7 +221,7 @@ if ($action == 'add')
/*
* Build a receiving receipt
-*/
+ */
else if ($action == 'create_delivery' && $conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer)
{
$result = $object->create_delivery($user);
@@ -273,8 +273,9 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expe
exit;
}
else
- {
- $mesg = $object->error;
+ {
+ $langs->load("errors");
+ setEventMessage($langs->trans($object->error),'errors');
}
}
diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php
index e824c964cb0..9d48052bb70 100644
--- a/htdocs/imports/import.php
+++ b/htdocs/imports/import.php
@@ -824,7 +824,7 @@ if ($step == 4 && $datatoimport)
}
print "\n";
- print "\n";
+ print "\n";
print '';
diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql
index ca2fbf78997..1560fb350c8 100644
--- a/htdocs/install/mysql/migration/repair.sql
+++ b/htdocs/install/mysql/migration/repair.sql
@@ -112,6 +112,7 @@ UPDATE llx_product p SET p.stock= (SELECT SUM(ps.reel) FROM llx_product_stock ps
-- ALTER TABLE llx_product_fournisseur_price DROP COLUMN fk_product_fournisseur;
ALTER TABLE llx_product_fournisseur_price DROP FOREIGN KEY fk_product_fournisseur;
+
-- Fix: deprecated tag to new one
update llx_opensurvey_sondage set format = 'D' where format = 'D+';
update llx_opensurvey_sondage set format = 'A' where format = 'A+';
@@ -143,4 +144,3 @@ drop table tmp_societe_double;
UPDATE llx_projet_task SET fk_task_parent = 0 WHERE fk_task_parent = rowid
-
diff --git a/htdocs/langs/ca_ES/companies.lang b/htdocs/langs/ca_ES/companies.lang
index 3b49e1b925f..87c7b045cf5 100644
--- a/htdocs/langs/ca_ES/companies.lang
+++ b/htdocs/langs/ca_ES/companies.lang
@@ -313,7 +313,6 @@ EditDeliveryAddress=Modificar adreça d'enviament
ThisUserIsNot=Aquest usuari no és ni un client potencial, ni un client, ni un proveïdor
VATIntraCheck=Verificar
VATIntraCheckDesc=El link %s permet consultar al servei europeu de control de números d'IVA intracomunitari. Es requereix accés a internet per a que el servei funcioni
-VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/lang.do?fromWhichPage=vieshome&selectedLanguage=ES
VATIntraCheckableOnEUSite=Verificar a la web de la Comissió Europea
VATIntraManualCheck=Podeu també fer una verificació manual a la web europea %s
ErrorVATCheckMS_UNAVAILABLE=Comprovació impossible. El servei de comprovació no és prestat pel país membre (%s).
diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang
index 02fc7f4d9e1..93defd10ed5 100644
--- a/htdocs/langs/en_US/errors.lang
+++ b/htdocs/langs/en_US/errors.lang
@@ -135,6 +135,8 @@ ErrorWarehouseMustDiffers=Source and target warehouses must differs
ErrorBadFormat=Bad format!
ErrorPaymentDateLowerThanInvoiceDate=Payment date (%s) cant' be before invoice date (%s) for invoice %s.
ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any thirdparty. Link member to an existing third party or create a new thirdparty before creating subscription with invoice.
+ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused.
+
# Warnings
WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined
WarningSafeModeOnCheckExecDir=Warning, PHP option safe_mode is on so command must be stored inside a directory declared by php parameter safe_mode_exec_dir.
diff --git a/htdocs/langs/es_ES/companies.lang b/htdocs/langs/es_ES/companies.lang
index 68c151ef549..59b9a3ff557 100644
--- a/htdocs/langs/es_ES/companies.lang
+++ b/htdocs/langs/es_ES/companies.lang
@@ -313,7 +313,6 @@ EditDeliveryAddress=Modificar dirección de envío
ThisUserIsNot=Este usuario no es ni un cliente potencial, ni un cliente, ni un proveedor
VATIntraCheck=Verificar
VATIntraCheckDesc=El link %s permite consultar al servicio europeo de control de números de IVA intracomunitario. Se requiere acceso a internet para que el servicio funcione
-VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/lang.do?fromWhichPage=vieshome&selectedLanguage=ES
VATIntraCheckableOnEUSite=Verificar en la web de la Comisión Europea
VATIntraManualCheck=Puede también realizar una verificación manual en la web europea %s
ErrorVATCheckMS_UNAVAILABLE=Comprobación imposible. El servicio de comprobación no es prestado por el país país miembro (%s).
diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang
index fcabd6042c3..bd2c4c4a7ef 100644
--- a/htdocs/langs/fr_FR/errors.lang
+++ b/htdocs/langs/fr_FR/errors.lang
@@ -18,10 +18,10 @@ ErrorFailToCreateFile=Echec de la création du fichier '%s'.
ErrorFailToRenameDir=Echec du renommage du répertoire '%s' en '%s'.
ErrorFailToCreateDir=Echec de création du répertoire '%s'.
ErrorFailToDeleteDir=Echec de la suppression du répertoire '%s'.
-ErrorFailedToDeleteJoinedFiles=Impossible de supprimer l'entité car il existe des pièces jointes. Supprimer d'abord les pièces jointes.
+ErrorFailedToDeleteJoinedFiles=Impossible de supprimer l'entité car il existe des pièces jointes. Supprimez d'abord les pièces jointes.
ErrorThisContactIsAlreadyDefinedAsThisType=Ce contact est déjà défini comme contact pour ce type.
-ErrorCashAccountAcceptsOnlyCashMoney=Ce compte bancaire est de type caisse et n'accepte que les mode de règlement de type espèce.
-ErrorFromToAccountsMustDiffers=Le compte source et destination doivent être différents.
+ErrorCashAccountAcceptsOnlyCashMoney=Ce compte bancaire est de type caisse et n'accepte que le mode de règlement de type espèce.
+ErrorFromToAccountsMustDiffers=Les comptes source et destination doivent être différents.
ErrorBadThirdPartyName=Nom de tiers incorrect
ErrorProdIdIsMandatory=Le %s est obligatoire
ErrorBadCustomerCodeSyntax=La syntaxe du code client est incorrecte
@@ -44,9 +44,9 @@ ErrorFailedToWriteInDir=Impossible d'écrire dans le répertoire %s
ErrorFoundBadEmailInFile=Syntaxe de mail incorrecte trouvée pour %s lignes dans le fichier (exemple ligne %s avec email=%s)
ErrorUserCannotBeDelete=L'utilisateur ne peut pas être supprimé. Peut-être est-il associé à des éléments de Dolibarr.
ErrorFieldsRequired=Des champs obligatoires n'ont pas été renseignés
-ErrorFailedToCreateDir=Echec à la création d'un répertoire. Vérifiez que le user du serveur Web a bien les droits d'écriture dans les répertoires documents de Dolibarr. Si le paramètre safe_mode a été activé sur ce PHP, vérifier que les fichiers php dolibarr appartiennent à l'utilisateur du serveur Web.
+ErrorFailedToCreateDir=Echec à la création d'un répertoire. Vérifiez que le user du serveur Web a bien les droits d'écriture dans les répertoires documents de Dolibarr. Si le paramètre safe_mode a été activé sur ce PHP, vérifiez que les fichiers php dolibarr appartiennent à l'utilisateur du serveur Web.
ErrorNoMailDefinedForThisUser=EMail non défini pour cet utilisateur
-ErrorFeatureNeedJavascript=Cette fonctionnalité a besoin de javascript activé pour fonctionner. Modifier dans configuration - affichage.
+ErrorFeatureNeedJavascript=Cette fonctionnalité a besoin de javascript activé pour fonctionner. Modifiez dans configuration - affichage.
ErrorTopMenuMustHaveAParentWithId0=Un menu de type 'Top' ne peut avoir de menu père. Mettre 0 dans l'id père ou choisir un menu de type 'Left'.
ErrorLeftMenuMustHaveAParentId=Un menu de type 'Left' doit avoir un id de père.
ErrorFileNotFound=Fichier %s introuvable (Mauvais chemin, permissions incorrectes ou accès interdit par le paramètre PHP openbasedir ou safe_mode)
@@ -60,8 +60,8 @@ ErrorUploadBlockedByAddon=Upload bloqué par un plugin PHP/Apache.
ErrorFileSizeTooLarge=La taille du fichier est trop grande.
ErrorSizeTooLongForIntType=Longueur de champ trop longue pour le type int (%s chiffres maximum)
ErrorSizeTooLongForVarcharType=Longueur de champ trop longue pour le type chaine (%s caractères maximum)
-ErrorNoValueForSelectType=Les valeurs de la liste de selection doivent être renseignées
-ErrorNoValueForCheckBoxType=Les valeurs de la liste de case a cochées doivent être renseignées
+ErrorNoValueForSelectType=Les valeurs de la liste de sélection doivent être renseignées
+ErrorNoValueForCheckBoxType=Les valeurs de la liste de cases à cocher doivent être renseignées
ErrorNoValueForRadioType=Les valeurs de la liste d'options doivent être renseignées
ErrorBadFormatValueList=Les valeurs de la liste ne peuvent pas contenir plus d'une virgule : %s, mais doivent en avoir au moins une: clef,valeur
ErrorFieldCanNotContainSpecialCharacters=Le champ %s ne peut contenir de caractères spéciaux.
@@ -69,7 +69,7 @@ ErrorFieldCanNotContainSpecialNorUpperCharacters=Le champ %s ne doit pas
ErrorNoAccountancyModuleLoaded=Aucun module de comptabilité activé
ErrorExportDuplicateProfil=Ce nom de profil existe déjà pour ce lot d'export.
ErrorLDAPSetupNotComplete=Le matching Dolibarr-LDAP est incomplet.
-ErrorLDAPMakeManualTest=Un fichier .ldif a été généré dans le répertoire %s. Essayez de charger ce fichier en manuel depuis la ligne de commande pour plus de détail sur l'erreur.
+ErrorLDAPMakeManualTest=Un fichier .ldif a été généré dans le répertoire %s. Essayez de charger ce fichier manuellement depuis la ligne de commande pour plus de détail sur l'erreur.
ErrorCantSaveADoneUserWithZeroPercentage=Impossible de sauver une action à l'état non commencé avec un utilisateur défini comme ayant fait l'action.
ErrorRefAlreadyExists=La référence utilisée pour la création existe déjà
ErrorPleaseTypeBankTransactionReportName=Veuillez saisir le nom de relevé bancaire sur lequel l'écriture est constatée (Format AAAAMM de préférence ou AAAAMMJJ)
@@ -84,7 +84,7 @@ ErrorFieldRefNotIn=Mauvaise valeur pour le champ numéro %s (la valeur '<
ErrorsOnXLines=Erreurs sur %s enregistrement(s) source
ErrorFileIsInfectedWithAVirus=L'antivirus n'a pas pu valider ce fichier (il est probablement infecté par un virus) !
ErrorSpecialCharNotAllowedForField=Les caractères spéciaux ne sont pas admis pour le champ "%s"
-ErrorDatabaseParameterWrong=Le paramètre de configuration de la base de donnée '%s' a une valeur non compatible pour une utilisation de Dolibarr (doit avoir la valeur '%s').
+ErrorDatabaseParameterWrong=Le paramètre de configuration de la base de données '%s' a une valeur non compatible pour une utilisation de Dolibarr (doit avoir la valeur '%s').
ErrorNumRefModel=Une référence existe en base (%s) et est incompatible avec cette numérotation. Supprimez la ligne ou renommez la référence pour activer ce module.
ErrorQtyTooLowForThisSupplier=Quantité insuffisante pour ce fournisseur ou aucun tarif défini sur ce produit pour ce fournisseur
ErrorModuleSetupNotComplete=La configuration du module semble incomplète. Aller dans l'espace Configuration - Modules pour corriger.
@@ -96,7 +96,7 @@ ErrorProductWithRefNotExist=La référence produit '%s' n'existe pas
ErrorDeleteNotPossibleLineIsConsolidated=Suppression impossible car l'enregistrement porte sur au moins une transaction bancaire rapprochée
ErrorProdIdAlreadyExist=%s est attribué à un autre tiers
ErrorFailedToSendPassword=Échec de l'envoi du mot de passe
-ErrorFailedToLoadRSSFile=Echec de la récupération du flux RSS. Ajouter la constante MAIN_SIMPLEXMLLOAD_DEBUG si le message d'erreur n'est pas assez explicite.
+ErrorFailedToLoadRSSFile=Echec de la récupération du flux RSS. Ajoutez la constante MAIN_SIMPLEXMLLOAD_DEBUG si le message d'erreur n'est pas assez explicite.
ErrorPasswordDiffers=Les mots de passe ne sont pas identiques, veuillez les saisir à nouveau
ErrorForbidden=Accès non autorisé. Vous essayez d'accéder à une page, zone ou fonction sans être au sein d'une session authentifiée ou qui n'est pas autorisée pour votre compte utilisateur.
ErrorForbidden2=Les permissions pour ce login peuvent être attribuées par l'administrateur Dolibarr via le menu %s -> %s.
@@ -106,16 +106,16 @@ ErrorRecordAlreadyExists=Enregistrement déjà existant
ErrorCantReadFile=Échec de lecture du fichier '%s'
ErrorCantReadDir=Échec de lecture du répertoire '%s'
ErrorFailedToFindEntity=Échec de lecture de l'environnement '%s'
-ErrorBadLoginPassword=Identifiants login ou mot de passe incorrects
+ErrorBadLoginPassword=Identifiants login ou mot de passe incorrect
ErrorLoginDisabled=Votre compte est désactivé
-ErrorFailedToRunExternalCommand=Échec de l'exécution de la commande externe. Vérifiez qu'elle est disponible et exécutable par votre serveur PHP. Si le Safe Mode PHP est actif, vérifiez que la commande se trouve dans un répertoire définie dans le paramètre safe_mode_exec_dir.
+ErrorFailedToRunExternalCommand=Échec de l'exécution de la commande externe. Vérifiez qu'elle est disponible et exécutable par votre serveur PHP. Si le Safe Mode PHP est actif, vérifiez que la commande se trouve dans un répertoire défini dans le paramètre safe_mode_exec_dir.
ErrorFailedToChangePassword=Échec de modification du mot de passe
ErrorLoginDoesNotExists=Le compte utilisateur de login %s n'a pu être trouvé.
ErrorLoginHasNoEmail=Cet utilisateur n'a pas d'email. Impossible de continuer.
ErrorBadValueForCode=Mauvaise valeur saisie pour le code. Réessayez avec une nouvelle valeur...
ErrorBothFieldCantBeNegative=Les champs %s et %s ne peuvent être tous deux négatifs
-ErrorWebServerUserHasNotPermission=Le compte d'execution du serveur web %s n'a pas les permissions pour cela
-ErrorNoActivatedBarcode=Aucun type de code bar activé
+ErrorWebServerUserHasNotPermission=Le compte d'exécution du serveur web %s n'a pas les permissions pour cela
+ErrorNoActivatedBarcode=Aucun type de code-barres activé
ErrUnzipFails=Impossible de décompresser le fichier %s avec ZipArchive
ErrNoZipEngine=Pas de moteur pour décompresser le fichier %s dans ce PHP
ErrorFileMustBeADolibarrPackage=Le fichier doit être un package Dolibarr
@@ -124,11 +124,11 @@ ErrorPhpCurlNotInstalled=L'extension PHP CURL n'est pas installée, ceci est ind
ErrorFailedToAddToMailmanList=Echec de l'ajout de %s à la liste Mailman %s ou base SPIP
ErrorFailedToRemoveToMailmanList=Echec de la suppression de %s de la liste Mailman %s ou base SPIP
ErrorNewValueCantMatchOldValue=La nouvelle valeur ne peut être égale à l'ancienne
-ErrorFailedToValidatePasswordReset=Echec de la réinitialisation du mot de passe. Il est possible que ce lien ait déjà été utilisé (l'utilisation de ce lien ne fonctionne qu'une fois). Si ce n'est pas le cas, essayer de recommencer le processus de réinit de mot de passe depuis le début.
-ErrorToConnectToMysqlCheckInstance=Echec de la connection au serveur de base de donnée. Vérifier que Mysql est bien lancé (dans la plupart des cas, vous pouvez le lancer depuis la ligne de commande par la commande 'sudo /etc/init.d/mysql start').
+ErrorFailedToValidatePasswordReset=Echec de la réinitialisation du mot de passe. Il est possible que ce lien ait déjà été utilisé (l'utilisation de ce lien ne fonctionne qu'une fois). Si ce n'est pas le cas, essayer de recommencer le processus de réinitialisation de mot de passe depuis le début.
+ErrorToConnectToMysqlCheckInstance=Echec de la connection au serveur de base de données. Vérifiez que Mysql est bien lancé (dans la plupart des cas, vous pouvez le lancer depuis la ligne de commande par la commande 'sudo /etc/init.d/mysql start').
ErrorFailedToAddContact=Echec à l'ajout du contact
ErrorDateMustBeBeforeToday=La date ne peut pas être supérieure à aujourd'hui
-ErrorPaymentModeDefinedToWithoutSetup=Un mode de paiement a été défini de type %s mais la configuration du module Facture n'a pas été complété pour définir les informations afficher pour ce mode de paiment.
+ErrorPaymentModeDefinedToWithoutSetup=Un mode de paiement a été défini de type %s mais la configuration du module Facture n'a pas été complétée pour définir les informations affichées pour ce mode de paiment.
ErrorPHPNeedModule=Erreur, votre PHP doit avoir le module %s installé pour utiliser cette fonctionnalité.
ErrorOpenIDSetupNotComplete=Vous avez configuré Dolibarr pour accepter l'authentication OpenID, mais l'URL du service OpenID n'est pas défini dans la constante %s
ErrorWarehouseMustDiffers=Les entrepôts source et destination doivent être différents
diff --git a/htdocs/langs/pt_PT/companies.lang b/htdocs/langs/pt_PT/companies.lang
index 50bdf2b906b..67b74fe6903 100644
--- a/htdocs/langs/pt_PT/companies.lang
+++ b/htdocs/langs/pt_PT/companies.lang
@@ -313,7 +313,6 @@ EditDeliveryAddress=Modificar Direcção de Envío
ThisUserIsNot=Este utilizador nem é um cliente potencial, nem um cliente, nem um fornecedor
VATIntraCheck=Verificar
VATIntraCheckDesc=o link %s permite consultar à serviço europeu de control de números de IVA intracomunitario. Requer acesso á internet para que o serviço funcione
-VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/lang.do?fromWhichPage=vieshome&selectedLanguage=é
VATIntraCheckableOnEUSite=Verificar na web da Comissão Europeia
VATIntraManualCheck=Pode também realizar uma verificação manual na web europea %s
ErrorVATCheckMS_UNAVAILABLE=Verificação Impossivel. O serviço de verificação não é prestado pelo país membro (%s).
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 1f49083a876..5db0c295345 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -1492,7 +1492,7 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a
print '';
print "\n\n";
- if (empty($conf->dol_hide_leftmenu) && (empty($conf->use_javascript_ajax) || ! empty($conf->dol_use_jmobile) || empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT))) print '';
+ if (empty($conf->dol_hide_leftmenu) && empty($conf->dol_use_jmobile) && empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print ' ';
}
@@ -1523,7 +1523,7 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me
$hookmanager->initHooks(array('searchform','leftblock'));
if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n".' '."\n";
- else print ' ';
+ else print ' ';
print "\n";
@@ -1701,7 +1701,7 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me
print $leftblock;
if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print ' '."\n";
- else print ' '; // End div id="id-left"
+ else print ' '; // End div id="id-left"
}
print "\n";
@@ -1722,10 +1722,7 @@ function main_area($title='')
{
global $conf, $langs;
- if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT))
- {
- print ' '."\n";
- }
+ if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print ' '."\n";
if (empty($conf->dol_hide_leftmenu)) print ' ';
print "\n";
@@ -1850,18 +1847,18 @@ if (! function_exists("llxFooter"))
}
print "\n\n";
- print ' '."\n";
+ print ' '."\n";
if (! empty($conf->dol_use_jmobile)) print ' '; // end data-role="page"
if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print ' '."\n";
- if (empty($conf->dol_hide_leftmenu)) print ' '; // End div id-right
+ if (empty($conf->dol_hide_leftmenu)) print ' '; // End div id-right
print "\n";
if ($comment) print ''."\n";
printCommonFooter($zone);
- if (empty($conf->dol_hide_leftmenu)) print ''; // End div container
+ if (empty($conf->dol_hide_leftmenu) && empty($conf->dol_use_jmobile) && empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print ' '."\n"; // End div container
print " |