From 1fb8baa92e27865966370fa7c421bd79dafaa87d Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Thu, 1 Aug 2013 16:56:17 +0200
Subject: [PATCH] Fix: [ bug #1009 ] ZipArchive' not found

---
 htdocs/core/modules/export/export_excel2007.modules.php | 9 +++++++++
 htdocs/langs/en_US/errors.lang                          | 1 +
 htdocs/langs/fr_FR/errors.lang                          | 1 +
 3 files changed, 11 insertions(+)

diff --git a/htdocs/core/modules/export/export_excel2007.modules.php b/htdocs/core/modules/export/export_excel2007.modules.php
index 609bbc2d660..72e325ea180 100755
--- a/htdocs/core/modules/export/export_excel2007.modules.php
+++ b/htdocs/core/modules/export/export_excel2007.modules.php
@@ -179,6 +179,15 @@ class ExportExcel2007 extends ExportExcel
 		{
             require_once PHPEXCEL_PATH.'PHPExcel.php';
             require_once PHPEXCEL_PATH.'PHPExcel/Style/Alignment.php';
+            
+            // To use PCLZip
+            if (! class_exists('ZipArchive')) 
+            {
+            	$langs->load("errors");
+            	$this->error=$langs->trans('ErrorPHPNeedModule','zip');
+            	return -1;	
+            }
+            
             $this->workbook = new PHPExcel();
             $this->workbook->getProperties()->setCreator($user->getFullName($outputlangs).' - Dolibarr '.DOL_VERSION);
             //$this->workbook->getProperties()->setLastModifiedBy('Dolibarr '.DOL_VERSION);
diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang
index 47c8e2768f7..2d4a69c1b36 100644
--- a/htdocs/langs/en_US/errors.lang
+++ b/htdocs/langs/en_US/errors.lang
@@ -124,6 +124,7 @@ ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit
 ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check Mysql server is running (in most cases, you can launch it from command line with 'sudo /etc/init.d/mysql start').
 ErrorFailedToAddContact=Failed to add contact
 ErrorDateMustBeBeforeToday=The date can not be greater than today
+ErrorPHPNeedModule=Error, your PHP must have module <b>%s</b> installed to use this feature.
 
 # Warnings
 WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined
diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang
index f3bcee9c4d9..b62e1cb3916 100644
--- a/htdocs/langs/fr_FR/errors.lang
+++ b/htdocs/langs/fr_FR/errors.lang
@@ -125,6 +125,7 @@ ErrorFailedToValidatePasswordReset=Echec de la réinitialisation du mot de passe
 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').
 ErrorFailedToAddContact=Echec à l'ajout du contact
 ErrorDateMustBeBeforeToday=La date ne peut pas être supérieure à aujourd'hui
+ErrorPHPNeedModule=Erreur, votre PHP doit avoir le module <b>%s</b> installé pour utiliser cette fonctionnalité.
 
 # Warnings
 WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent être renseignées
-- 
GitLab