|
|
@@ -28,11 +28,29 @@ if (core::ifPost("from") and core::getPost("from") == "rh-import-excel") {
|
|
|
|
|
|
$data = array();
|
|
|
|
|
|
+ // Vérification si le fichier est protégé par mot de passe
|
|
|
+ $fileContent = file_get_contents($_FILES[core::getPost("from")]['tmp_name']);
|
|
|
+ if (strpos($fileContent, 'EncryptedPackage') !== false || strpos($fileContent, 'encryption') !== false) {
|
|
|
+ alert::recError("Le fichier Excel est protégé par un mot de passe. Veuillez retirer la protection avant de l'importer.");
|
|
|
+ header("Location: /rh-upload-excel.html");
|
|
|
+ exit();
|
|
|
+ }
|
|
|
+
|
|
|
$simpleXLSX = new simpleXLSX();
|
|
|
$xlsx = $simpleXLSX->parse($_FILES[core::getPost("from")]['tmp_name']);
|
|
|
|
|
|
if ($xlsx === false) {
|
|
|
- alert::recError("Erreur lors de la lecture du fichier Excel : " . $_FILES[core::getPost("from")]['name']);
|
|
|
+ $errorMsg = simpleXLSX::parseError();
|
|
|
+
|
|
|
+ // Détection spécifique des fichiers protégés par mot de passe
|
|
|
+ if (stripos($errorMsg, 'encrypt') !== false || stripos($errorMsg, 'password') !== false) {
|
|
|
+ alert::recError("Le fichier Excel est protégé par un mot de passe. Veuillez retirer la protection avant de l'importer.");
|
|
|
+ } elseif ($errorMsg) {
|
|
|
+ alert::recError("Erreur lors de la lecture du fichier Excel : " . $errorMsg);
|
|
|
+ } else {
|
|
|
+ alert::recError("Erreur lors de la lecture du fichier Excel : " . $_FILES[core::getPost("from")]['name']);
|
|
|
+ }
|
|
|
+
|
|
|
header("Location: /rh-upload-excel.html");
|
|
|
exit();
|
|
|
}
|