diff --git a/ecrire/base/upgrade.php b/ecrire/base/upgrade.php index 9b81ef861aee19bf653416bd06f22840ce89e1b2..37650270530befe0e52ee5c43d883447e46bdd2a 100644 --- a/ecrire/base/upgrade.php +++ b/ecrire/base/upgrade.php @@ -119,14 +119,16 @@ function maj_base($version_cible = 0, $redirect = '', $debut_page = true) { "Version anterieure: $version_installee. Courante: " . $GLOBALS['spip_version_base'], ); if (!$version_installee || $GLOBALS['spip_version_base'] < $version_installee) { - sql_replace( - 'spip_meta', - [ - 'nom' => 'version_installee', - 'valeur' => $GLOBALS['spip_version_base'], - 'impt' => 'non' - ] - ); + if (!$version_installee) { + sql_replace( + 'spip_meta', + [ + 'nom' => 'version_installee', + 'valeur' => $GLOBALS['spip_version_base'], + 'impt' => 'non' + ] + ); + } return false; } if (!upgrade_test()) { diff --git a/ecrire/exec/demande_mise_a_jour.php b/ecrire/exec/demande_mise_a_jour.php index 65d6924b8de4e8ba85ef502971b4c1a585627b65..558f41e7ab739ba40352eb901f251fddace1aa86 100644 --- a/ecrire/exec/demande_mise_a_jour.php +++ b/ecrire/exec/demande_mise_a_jour.php @@ -43,11 +43,17 @@ function exec_demande_mise_a_jour_dist() { echo $commencer_page('', '', '', '', true, false, false); echo debut_grand_cadre(); - echo boite_ouvrir(_T('info_message_technique'), 'notice'); - echo '<p>' . _T('info_procedure_maj_version') . '</p>', - '<p>' . _T('info_administrateur_site_01') . '</p>'; - echo bouton_action(_T('bouton_mettre_a_jour_base'), generer_url_ecrire('upgrade', 'reinstall=non')); - echo boite_fermer(); + if ($GLOBALS['spip_version_base'] < $GLOBALS['meta']['version_installee'] ?? 0) { + echo boite_ouvrir(_T('info_erreur_version_base_plus_recente'), 'error'); + echo '<p>'._T('info_version_base_plus_recente').'</p>'; + echo boite_fermer(); + } else { + echo boite_ouvrir(_T('info_message_technique'), 'notice'); + echo '<p>' . _T('info_procedure_maj_version') . '</p>', + '<p>' . _T('info_administrateur_site_01') . '</p>'; + echo bouton_action(_T('bouton_mettre_a_jour_base'), generer_url_ecrire('upgrade', 'reinstall=non')); + echo boite_fermer(); + } // masquer les erreurs sql sur cette page car proviennent de la base pas a jour ! echo '<style type="text/css">#debug-nav {display: none;}</style>'; echo fin_grand_cadre(); diff --git a/ecrire/lang/ecrire_fr.php b/ecrire/lang/ecrire_fr.php index 128ce4cfdc6f4bd78de1207f75c169aa766ab043..979cd81cfd867a2e7bc65fc878a32c268dbde287 100644 --- a/ecrire/lang/ecrire_fr.php +++ b/ecrire/lang/ecrire_fr.php @@ -427,6 +427,8 @@ exige d’avoir un accès FTP au site Web.</p>', 'info_procedez_par_etape' => 'procédez étape par étape', 'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter la base de données à la nouvelle version de SPIP.', + 'info_version_base_plus_recente' => 'La version de SPIP en base de données est plus récente que celle que vous utilisez. Cette opération n\'est pas supportée, mettez à jour votre installation.', + 'info_erreur_version_base_plus_recente' => 'Erreur d\'installation', 'info_proxy_ok' => 'Test du proxy réussi.', 'info_ps' => 'P.-S.', 'info_publier' => 'publier',