diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php
index e0870411003385c7152fe00ae46bb90b422f9c68..d7dbc008a27995505ad6a23fad474866d3bb9905 100644
--- a/htdocs/exports/export.php
+++ b/htdocs/exports/export.php
@@ -177,7 +177,7 @@ if ($action=='selectfield')
 	    //print_r($array_selected);
 	    $_SESSION["export_selected_fields"]=$array_selected;
 
-	    setEventMessage($warnings, 'warnings');
+	    setEventMessages($warnings, null, 'warnings');
     }
 
 }
@@ -243,12 +243,12 @@ if ($action == 'builddoc')
 	$result=$objexport->build_file($user, GETPOST('model','alpha'), $datatoexport, $array_selected, $array_filtervalue);
 	if ($result < 0)
 	{
-		setEventMessage($objexport->error, 'errors');
+		setEventMessages($objexport->error, $objexport->errors, 'errors');
 		$sqlusedforexport=$objexport->sqlusedforexport;
 	}
 	else
 	{
-		setEventMessage($langs->trans("FileSuccessfullyBuilt"));
+		setEventMessages($langs->trans("FileSuccessfullyBuilt"), null, 'mesgs');
 	    $sqlusedforexport=$objexport->sqlusedforexport;
     }
 }
@@ -259,8 +259,8 @@ if ($step == 5 && $action == 'confirm_deletefile' && $confirm == 'yes')
 	$file = $upload_dir . "/" . GETPOST('file');	// Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP).
 
 	$ret=dol_delete_file($file);
-	if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('file')));
-	else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors');
+	if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs');
+	else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors');
 	header('Location: '.$_SERVER["PHP_SELF"].'?step='.$step.'&datatoexport='.$datatoexport);
 	exit;
 }
@@ -307,15 +307,15 @@ if ($action == 'add_export_model')
 	    $result = $objexport->create($user);
 		if ($result >= 0)
 		{
-			setEventMessage($langs->trans("ExportModelSaved",$objexport->model_name));
+			setEventMessages($langs->trans("ExportModelSaved",$objexport->model_name), null, 'mesgs');
 		}
 		else
 		{
 			$langs->load("errors");
 			if ($objexport->errno == 'DB_ERROR_RECORD_ALREADY_EXISTS')
-				setEventMessage($langs->trans("ErrorExportDuplicateProfil"), 'errors');
+				setEventMessages($langs->trans("ErrorExportDuplicateProfil"), null, 'errors');
 			else
-				setEventMessage($objexport->error, 'errors');
+				setEventMessages($objexport->error, $objexport->errors, 'errors');
 		}
 	}
 	else
diff --git a/htdocs/externalsite/admin/externalsite.php b/htdocs/externalsite/admin/externalsite.php
index 90fb5aff9f0ff22b04e853f7576275b776f64904..bd0449dc02863b779bc0f8876b3621f4e8af5542 100644
--- a/htdocs/externalsite/admin/externalsite.php
+++ b/htdocs/externalsite/admin/externalsite.php
@@ -59,12 +59,12 @@ if ($action == 'update')
     if ($i >= 2)
     {
         $db->commit();
-	    setEventMessage($langs->trans("SetupSaved"));
+	    setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
     }
     else
     {
         $db->rollback();
-	    setEventMessage($db->lasterror(), 'errors');
+	    setEventMessages($db->lasterror(), null, 'errors');
     }
 }
 
diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php
index 403f1411dc84f30183583e64df231aa9e49ecc03..3fd45013ab5a080956e901072dd4297cce12f44f 100644
--- a/htdocs/fichinter/card.php
+++ b/htdocs/fichinter/card.php
@@ -386,7 +386,7 @@ if (empty($reshook))
 
 		$result=$object->update($user);
 		if ($result<0) {
-			setEventMessage($object->error,'errors');
+			setEventMessages($object->error, $object->errors, 'errors');
 		}
 	}
 
@@ -429,8 +429,8 @@ if (empty($reshook))
 		$upload_dir = $conf->ficheinter->dir_output;
 		$file = $upload_dir . '/' . GETPOST('file');
 		$ret=dol_delete_file($file,0,0,0,$object);
-		if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile')));
-		else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');
+		if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs');
+		else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), null, 'errors');
 	}
 
 	// Set into a project
@@ -451,7 +451,7 @@ if (empty($reshook))
 	{
 		$result=$object->delete($user);
 		if ($result<0) {
-			setEventMessage($object->error,'errors');
+			setEventMessages($object->error, $object->errors, 'errors');
 		}
 
 		header('Location: '.DOL_URL_ROOT.'/fichinter/list.php?leftmenu=ficheinter');
@@ -802,7 +802,7 @@ if (empty($reshook))
 				if ($result)
 				{
 					$mesg=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2));
-					setEventMessage($mesg);
+					setEventMessages($mesg, null, 'mesgs');
 					$error=0;
 
 					// Initialisation donnees
@@ -1216,7 +1216,7 @@ else if ($id > 0 || ! empty($ref))
 			if (empty($numref))
 			{
 				$error++;
-				setEventMessage($object->error, 'errors');
+				setEventMessages($object->error, $object->errors, 'errors');
 			}
 		}
 		else
diff --git a/htdocs/fichinter/contact.php b/htdocs/fichinter/contact.php
index 854428a5ccf99b9e8e538d6ab80e74a44c4f8957..b92c1442d14906ecb62f644d6c1960d42ba4aa11 100644
--- a/htdocs/fichinter/contact.php
+++ b/htdocs/fichinter/contact.php
@@ -46,7 +46,7 @@ $result = $object->fetch($id,$ref);
 
 
 /*
- * Ajout d'un nouveau contact
+ * Adding a new contact
  */
 
 if ($action == 'addcontact' && $user->rights->ficheinter->creer)
@@ -71,17 +71,17 @@ if ($action == 'addcontact' && $user->rights->ficheinter->creer)
 			$mesg = $object->error;
 		}
 
-		setEventMessage($mesg, 'errors');
+		setEventMessages($mesg, null, 'errors');
 	}
 }
 
-// bascule du statut d'un contact
+// Toggle the status of a contact
 else if ($action == 'swapstatut' && $user->rights->ficheinter->creer)
 {
     $result=$object->swapContactStatus(GETPOST('ligne','int'));
 }
 
-// Efface un contact
+// Deletes a contact
 else if ($action == 'deletecontact' && $user->rights->ficheinter->creer)
 {
 	$result = $object->delete_contact(GETPOST('lineid','int'));
@@ -121,8 +121,8 @@ if ($id > 0 || ! empty($ref))
 
 
 	/*
-	*   Fiche intervention synthese pour rappel
-	*/
+	 *   Fiche intervention synthese pour rappel
+	 */
 	print '<table class="border" width="100%">';
 
 	$linkback = '<a href="'.DOL_URL_ROOT.'/fichinter/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php
index 7f8aca2fa558cd9504c3aea73543c332f543525a..65394016f6cebf57e19ac50d4dab6c4b0f43c385 100644
--- a/htdocs/fourn/commande/card.php
+++ b/htdocs/fourn/commande/card.php
@@ -4,7 +4,7 @@
  * Copyright (C) 2005      Eric	Seigne          <eric.seigne@ryxeo.com>
  * Copyright (C) 2005-2012 Regis Houssin        <regis.houssin@capnetworks.com>
  * Copyright (C) 2010-2015 Juanjo Menent        <jmenent@2byte.es>
- * Copyright (C) 2011      Philippe Grand       <philippe.grand@atoo-net.com>
+ * Copyright (C) 2011-2015 Philippe Grand       <philippe.grand@atoo-net.com>
  * Copyright (C) 2012      Marcos GarcĂ­a        <marcosgdf@gmail.com>
  * Copyright (C) 2013      Florian Henry        <florian.henry@open-concept.pro>
  * Copyright (C) 2014      Ion Agorria          <ion@agorria.com>
@@ -150,14 +150,14 @@ if (empty($reshook))
 		if ($result < 0) setEventMessages($object->error, $object->errors, 'errors');
 	}
 
-	// conditions de reglement
+	// payment conditions
 	if ($action == 'setconditions' && $user->rights->fournisseur->commande->creer)
 	{
 	    $result=$object->setPaymentTerms(GETPOST('cond_reglement_id','int'));
 		if ($result < 0) setEventMessages($object->error, $object->errors, 'errors');
 	}
 
-	// mode de reglement
+	// payment mode
 	if ($action == 'setmode' && $user->rights->fournisseur->commande->creer)
 	{
 	    $result = $object->setPaymentMethods(GETPOST('mode_reglement_id','int'));
@@ -171,7 +171,7 @@ if (empty($reshook))
 		if ($result < 0) setEventMessages($object->error, $object->errors, 'errors');
 	}
 
-	// date de livraison
+	// date of delivery
 	if ($action == 'setdate_livraison' && $user->rights->fournisseur->commande->creer)
 	{
 		$result=$object->set_date_livraison($user,$datelivraison);
@@ -245,7 +245,7 @@ if (empty($reshook))
 	{
 		$ret=$object->classifyBilled();
 		if ($ret < 0) {
-			setEventMessage($object->error, 'errors');
+			setEventMessages($object->error, $object->errors, 'errors');
 		}
 	}
 
@@ -292,27 +292,27 @@ if (empty($reshook))
 
 	    if (GETPOST('prod_entry_mode')=='free' && GETPOST('price_ht') < 0 && $qty < 0)
 	    {
-	        setEventMessage($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPrice'), $langs->transnoentitiesnoconv('Qty')), 'errors');
+	        setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPrice'), $langs->transnoentitiesnoconv('Qty')), null, 'errors');
 	        $error++;
 	    }
 	    if (GETPOST('prod_entry_mode')=='free'  && ! GETPOST('idprodfournprice') && GETPOST('type') < 0)
 	    {
-	        setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), 'errors');
+	        setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors');
 	        $error++;
 	    }
 	    if (GETPOST('prod_entry_mode')=='free' && GETPOST('price_ht')==='' && GETPOST('price_ttc')==='') // Unit price can be 0 but not ''
 	    {
-	        setEventMessage($langs->trans($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('UnitPrice'))), 'errors');
+	        setEventMessages($langs->trans($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('UnitPrice'))), null, 'errors');
 	        $error++;
 	    }
 	    if (GETPOST('prod_entry_mode')=='free' && ! GETPOST('dp_desc'))
 	    {
-	        setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), 'errors');
+	        setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), null, 'errors');
 	        $error++;
 	    }
 	    if (! GETPOST('qty'))
 	    {
-	        setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), 'errors');
+	        setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), null, 'errors');
 	        $error++;
 	    }
 
@@ -381,7 +381,7 @@ if (empty($reshook))
 	    		// Quantity too low
 	    		$error++;
 	    		$langs->load("errors");
-	    		setEventMessage($langs->trans("ErrorQtyTooLowForThisSupplier"), 'errors');
+	    		setEventMessages($langs->trans("ErrorQtyTooLowForThisSupplier"), null, 'errors');
 	    	}
 	    }
 	    else if((GETPOST('price_ht')!=='' || GETPOST('price_ttc')!=='') && empty($error))
@@ -478,7 +478,7 @@ if (empty($reshook))
 	}
 
 	/*
-	 *	Mise a jour	d'une ligne	dans la	commande
+	 *	Updating a line in the order
 	 */
 	if ($action == 'updateline' && $user->rights->fournisseur->commande->creer &&	! GETPOST('cancel'))
 	{
@@ -672,7 +672,7 @@ if (empty($reshook))
 	        if (! $idwarehouse || $idwarehouse == -1)
 	        {
 	            $error++;
-	            setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("Warehouse")), 'errors');
+	            setEventMessages($langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("Warehouse")), null, 'errors');
 	            $action='';
 	        }
 	    }
@@ -761,7 +761,7 @@ if (empty($reshook))
 	{
 		if (1==0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers'))
 		{
-			setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors');
+			setEventMessages($langs->trans("NoCloneOptionsSpecified"), null, 'errors');
 		}
 		else
 		{
@@ -854,8 +854,8 @@ if (empty($reshook))
 	    $upload_dir =	$conf->fournisseur->commande->dir_output;
 	    $file =	$upload_dir	. '/' .	GETPOST('file');
 	    $ret=dol_delete_file($file,0,0,0,$object);
-	    if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile')));
-	    else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors');
+	    if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs');
+	    else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), null, 'errors');
 	}
 
 	if ($action == 'update_extras')
@@ -907,7 +907,7 @@ if (empty($reshook))
 
 	    if ($socid <1)
 	    {
-		    setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('Supplier')), 'errors');
+		    setEventMessages($langs->trans('ErrorFieldRequired',$langs->transnoentities('Supplier')), null, 'errors');
 	    	$action='create';
 	    	$error++;
 	    }
@@ -1187,7 +1187,7 @@ if (empty($reshook))
 	                $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,'',$deliveryreceipt,-1);
 	                if ($mailfile->error)
 	                {
-	                	setEventMessage($mailfile->error, 'errors');
+	                	setEventMessages($mailfile->error, $mailfile->errors, 'errors');
 	                }
 	                else
 	                {
@@ -1195,7 +1195,7 @@ if (empty($reshook))
 	                    if ($result)
 	                    {
 	                    	$mesg=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2));		// Must not contain "
-	                    	setEventMessage($mesg);
+	                    	setEventMessages($mesg, null, 'mesgs');
 
 	                        $error=0;
 
@@ -1216,7 +1216,7 @@ if (empty($reshook))
 
 	                        if ($error)
 	                        {
-	                            setEventMessage($object->error, 'errors');
+	                            setEventMessages($object->error, $object->errors, 'errors');
 	                        }
 	                        else
 	                        {
@@ -1239,7 +1239,7 @@ if (empty($reshook))
 	                            $mesg = 'No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS';
 	                        }
 
-	                        setEventMessage($mesg, 'errors');
+	                        setEventMessages($mesg, null, 'errors');
 	                    }
 	                }
 	/*            }
@@ -1254,14 +1254,14 @@ if (empty($reshook))
 	        else
 	        {
 	            $langs->load("errors");
-	            setEventMessage($langs->trans('ErrorCantReadFile',$file), 'errors');
+	            setEventMessages($langs->trans('ErrorCantReadFile',$file), null, 'errors');
 	            dol_syslog('Failed to read file: '.$file);
 	        }
 	    }
 	    else
 	    {
 	        $langs->load("other");
-	        setEventMessage($langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")), 'errors');
+	        setEventMessages($langs->trans('ErrorFailedToReadEntity',$langs->trans("Invoice")), null, 'errors');
 	        dol_syslog('Impossible de lire les donnees de la facture. Le fichier facture n\'a peut-etre pas ete genere.');
 	    }
 	}
@@ -1287,11 +1287,11 @@ if (empty($reshook))
 
 	    //Is sync supplier web services module activated? and everything filled?
 	    if (empty($conf->syncsupplierwebservices->enabled)) {
-	        setEventMessage($langs->trans("WarningModuleNotActive",$langs->transnoentities("Module2650Name")));
+	        setEventMessages($langs->trans("WarningModuleNotActive",$langs->transnoentities("Module2650Name")), null, 'mesgs');
 	    } else if (empty($ws_url) || empty($ws_key)) {
-	        setEventMessage($langs->trans("ErrorWebServicesFieldsRequired"), 'errors');
+	        setEventMessages($langs->trans("ErrorWebServicesFieldsRequired"), null, 'errors');
 	    } else if (empty($ws_user) || empty($ws_password) || empty($ws_thirdparty)) {
-	        setEventMessage($langs->trans("ErrorFieldsRequired"), 'errors');
+	        setEventMessages($langs->trans("ErrorFieldsRequired"),null, 'errors');
 	    }
 	    else
 	    {
@@ -1346,15 +1346,15 @@ if (empty($reshook))
 
 	        if (empty($result_order["result"]["result_code"])) //No result, check error str
 	        {
-	            setEventMessage($langs->trans("SOAPError")." '".$soapclient_order->error_str."'", 'errors');
+	            setEventMessages($langs->trans("SOAPError")." '".$soapclient_order->error_str."'", null, 'errors');
 	        }
 	        else if ($result_order["result"]["result_code"] != "OK") //Something went wrong
 	        {
-	            setEventMessage($langs->trans("SOAPError")." '".$result_order["result"]["result_code"]."' - '".$result_order["result"]["result_label"]."'", 'errors');
+	            setEventMessages($langs->trans("SOAPError")." '".$result_order["result"]["result_code"]."' - '".$result_order["result"]["result_label"]."'", null, 'errors');
 	        }
 	        else
 	        {
-	            setEventMessage($langs->trans("RemoteOrderRef")." ".$result_order["ref"], 'mesgs');
+	            setEventMessages($langs->trans("RemoteOrderRef")." ".$result_order["ref"], null, 'mesgs');
 	        }
 	    }
 	}
@@ -1379,11 +1379,11 @@ if (empty($reshook))
 				if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
 				{
 					$langs->load("errors");
-					setEventMessage($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), 'errors');
+					setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'errors');
 				}
 				else
 				{
-					setEventMessage($object->error, 'errors');
+					setEventMessages($object->error, $object->errors, 'errors');
 				}
 			}
 		}
@@ -2440,11 +2440,11 @@ elseif (! empty($object->id))
 
         //Is everything filled?
         if (empty($ws_url) || empty($ws_key)) {
-            setEventMessage($langs->trans("ErrorWebServicesFieldsRequired"), 'errors');
+            setEventMessages($langs->trans("ErrorWebServicesFieldsRequired"), null, 'errors');
             $mode = "init";
             $error_occurred = true; //Don't allow to set the user/pass if thirdparty fields are not filled
         } else if ($mode != "init" && (empty($ws_user) || empty($ws_password))) {
-            setEventMessage($langs->trans("ErrorFieldsRequired"), 'errors');
+            setEventMessages($langs->trans("ErrorFieldsRequired"), null, 'errors');
             $mode = "init";
         }
 
@@ -2508,7 +2508,7 @@ elseif (! empty($object->id))
                 $ws_thirdparty = $result_user["user"]["fk_thirdparty"];
                 if (empty($ws_thirdparty))
                 {
-                    setEventMessage($langs->trans("RemoteUserMissingAssociatedSoc"), 'errors');
+                    setEventMessages($langs->trans("RemoteUserMissingAssociatedSoc"), null, 'errors');
                     $error_occurred = true;
                 }
                 else
@@ -2531,7 +2531,7 @@ elseif (! empty($object->id))
                         $result_product = $soapclient_product->call("getProductOrService", $ws_parameters, $ws_ns, '');
                         if (!$result_product)
                         {
-                            setEventMessage($line_id.$langs->trans("SOAPError")." ".$soapclient_product->error_str." - ".$soapclient_product->response, 'errors');
+                            setEventMessages($line_id.$langs->trans("SOAPError")." ".$soapclient_product->error_str." - ".$soapclient_product->response, null, 'errors');
                             $error_occurred = true;
                             break;
                         }
@@ -2540,17 +2540,17 @@ elseif (! empty($object->id))
                         $status_code = $result_product["result"]["result_code"];
                         if (empty($status_code)) //No result, check error str
                         {
-                            setEventMessage($langs->trans("SOAPError")." '".$soapclient_order->error_str."'", 'errors');
+                            setEventMessages($langs->trans("SOAPError")." '".$soapclient_order->error_str."'", null, 'errors');
                         }
                         else if ($status_code != "OK") //Something went wrong
                         {
                             if ($status_code == "NOT_FOUND")
                             {
-                                setEventMessage($line_id.$langs->trans("SupplierMissingRef")." '".$ref_supplier."'", 'warnings');
+                                setEventMessages($line_id.$langs->trans("SupplierMissingRef")." '".$ref_supplier."'", null, 'warnings');
                             }
                             else
                             {
-                                setEventMessage($line_id.$langs->trans("ResponseNonOK")." '".$status_code."' - '".$result_product["result"]["result_label"]."'", 'errors');
+                                setEventMessages($line_id.$langs->trans("ResponseNonOK")." '".$status_code."' - '".$result_product["result"]["result_label"]."'", null, 'errors');
                                 $error_occurred = true;
                                 break;
                             }
@@ -2575,12 +2575,12 @@ elseif (! empty($object->id))
                         }
 
                         if ($local_price != NULL && $local_price != $supplier_price) {
-                            setEventMessage($line_id.$langs->trans("RemotePriceMismatch")." ".$supplier_price." - ".$local_price, 'warnings');
+                            setEventMessages($line_id.$langs->trans("RemotePriceMismatch")." ".$supplier_price." - ".$local_price, null, 'warnings');
                         }
 
                         // Check if is in sale
                         if (empty($result_product["product"]["status_tosell"])) {
-                            setEventMessage($line_id.$langs->trans("ProductStatusNotOnSellShort")." '".$ref_supplier."'", 'warnings');
+                            setEventMessages($line_id.$langs->trans("ProductStatusNotOnSellShort")." '".$ref_supplier."'", null, 'warnings');
                         }
                     }
                 }
@@ -2588,17 +2588,17 @@ elseif (! empty($object->id))
             }
             elseif ($user_status_code == "PERMISSION_DENIED")
             {
-                setEventMessage($langs->trans("RemoteUserNotPermission"), 'errors');
+                setEventMessages($langs->trans("RemoteUserNotPermission"), null, 'errors');
                 $error_occurred = true;
             }
             elseif ($user_status_code == "BAD_CREDENTIALS")
             {
-                setEventMessage($langs->trans("RemoteUserBadCredentials"), 'errors');
+                setEventMessages($langs->trans("RemoteUserBadCredentials"), null, 'errors');
                 $error_occurred = true;
             }
             else
             {
-                setEventMessage($langs->trans("ResponseNonOK")." '".$user_status_code."'", 'errors');
+                setEventMessages($langs->trans("ResponseNonOK")." '".$user_status_code."'", null, 'errors');
                 $error_occurred = true;
             }
 
diff --git a/htdocs/fourn/commande/contact.php b/htdocs/fourn/commande/contact.php
index b8eabb9be6c6a6b69c18a10ece7553f11a1c8a92..8ced1e9844ce767784f40575e3d8598569750e67 100644
--- a/htdocs/fourn/commande/contact.php
+++ b/htdocs/fourn/commande/contact.php
@@ -46,7 +46,7 @@ $object = new CommandeFournisseur($db);
 
 
 /*
- * Ajout d'un nouveau contact
+ * Add a new contact
  */
 
 if ($action == 'addcontact' && $user->rights->fournisseur->commande->creer)
@@ -69,16 +69,16 @@ if ($action == 'addcontact' && $user->rights->fournisseur->commande->creer)
 		if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
 		{
 			$langs->load("errors");
-			setEventMessage($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), 'errors');
+			setEventMessages($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), null, 'errors');
 		}
 		else
 		{
-			setEventMessage($object->error, 'errors');
+			setEventMessages($object->error, $object->errors, 'errors');
 		}
 	}
 }
 
-// bascule du statut d'un contact
+// Toggle the status of a contact
 else if ($action == 'swapstatut' && $user->rights->fournisseur->commande->creer)
 {
 	if ($object->fetch($id))
@@ -91,7 +91,7 @@ else if ($action == 'swapstatut' && $user->rights->fournisseur->commande->creer)
 	}
 }
 
-// Efface un contact
+// Deleting a contact
 else if ($action == 'deletecontact' && $user->rights->fournisseur->commande->creer)
 {
 	$object->fetch($id);
@@ -155,7 +155,7 @@ if ($id > 0 || ! empty($ref))
 		print '</td>';
 		print '</tr>';
 
-		// Fournisseur
+		// Supplier
 		print '<tr><td>'.$langs->trans("Supplier")."</td>";
 		print '<td colspan="2">'.$soc->getNomUrl(1,'supplier').'</td>';
 		print '</tr>';
@@ -172,7 +172,7 @@ if ($id > 0 || ! empty($ref))
 	}
 	else
 	{
-		// Contrat non trouv
+		// Contact not found
 		print "ErrorRecordNotFound";
 	}
 }
diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php
index 57ee36eb8a3e956a365bb44fb461e9d7b538b7f4..fd44b987f94c2b4b2615c6354a295d1e59485bf4 100644
--- a/htdocs/fourn/commande/dispatch.php
+++ b/htdocs/fourn/commande/dispatch.php
@@ -148,7 +148,7 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner)
 				{
 					dol_syslog('No dispatch for line '.$key.' as no warehouse choosed');
 					$text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').' ' .($numline);
-					setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors');
+					setEventMessages($langs->trans('ErrorFieldRequired',$text), null, 'errors');
 					$error++;
 				}
 
@@ -187,7 +187,7 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner)
 				{
 					dol_syslog('No dispatch for line '.$key.' as no warehouse choosed');
 					$text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').' ' .($numline).'-'.($reg[1]+1);
-					setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors');
+					setEventMessages($langs->trans('ErrorFieldRequired',$text), null, 'errors');
 					$error++;
 				}
 
@@ -195,7 +195,7 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner)
 				{
 					dol_syslog('No dispatch for line '.$key.' as serial/eat-by/sellby date are not set');
 					$text = $langs->transnoentities('atleast1batchfield').', '.$langs->transnoentities('Line').' ' .($numline).'-'.($reg[1]+1);
-					setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors');
+					setEventMessages($langs->trans('ErrorFieldRequired',$text), null, 'errors');
 					$error++;
 				}