From f94357a09b3bf551ad26c3e47ebc872059d8f25b Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Mon, 22 Jan 2007 11:56:16 +0000
Subject: [PATCH] =?UTF-8?q?remplacement=20du=20ereg=20pas=20assez=20g?=
 =?UTF-8?q?=C3=A9n=C3=A9ral=20vu=20les=20nouveaux=20attributs=20mis=20dans?=
 =?UTF-8?q?=20la=20balise=20initiale=20d'une=20sauvegarde?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/exec/import_all.php | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/ecrire/exec/import_all.php b/ecrire/exec/import_all.php
index b57ce19551..14adb39a62 100644
--- a/ecrire/exec/import_all.php
+++ b/ecrire/exec/import_all.php
@@ -45,19 +45,18 @@ function verifier_sauvegarde ($archive, $dir) {
 	$buf_len = 1024; // la version doit etre dans le premier ko
 	$g = $dir . $archive;
 
-	if (@file_exists($g) AND $f = $_fopen($g, "rb")) {
-		$buf = $_fread($f, $buf_len);
-
-		if (ereg('<SPIP [^>]* version_base="([0-9.]+)".*version_archive="([^"]+)"', $buf, $regs)
-		AND $regs[1] == $spip_version
-		AND import_charge_version($regs[2], 'inc', true))
-			return false; // c'est bon
-		else
-			return _T('avis_erreur_version_archive', array('archive' => $archive));
-	} else
+	if (!(@file_exists($g) AND $f = $_fopen($g, "rb")))
 		return _T('avis_probleme_archive', array('archive' => $g));
-}
 
+	$buf = $_fread($f, $buf_len);
+
+	if (preg_match('/<SPIP\s+[^>]*version_base="([0-9.]+)"[^>]*version_archive="([^"]+)"/', $buf, $regs)
+	AND $regs[1] == $spip_version
+	AND import_charge_version($regs[2], 'inc', true))
+		return false; // c'est bon
+
+	return _T('avis_erreur_version_archive', array('archive' => $archive));
+}
 
 // http://doc.spip.org/@import_charge_version
 function import_charge_version($version_archive)
-- 
GitLab