diff --git a/ecrire/exec/import_all.php b/ecrire/exec/import_all.php index b57ce19551f7d08756c14c291c4d36f7d376c4e7..14adb39a62e009cd67b9d192d5f1f620e78a03d4 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)