function maj_base($version_cible = 0) { global $spip_version_base; $version_installee = @$GLOBALS['meta']['version_installee']; // // Si version nulle ou inexistante, c'est une nouvelle installation // => ne pas passer par le processus de mise a jour. // De meme en cas de version superieure: ca devait etre un test, // il y a eu le message d'avertissement il doit savoir ce qu'il fait // // version_installee = 1.702; quand on a besoin de forcer une MAJ spip_log("Version anterieure: $version_installee. Courante: $spip_version_base"); if (!$version_installee OR ($spip_version_base < $version_installee)) { sql_replace('spip_meta', array('nom' => 'version_installee', 'valeur' => $spip_version_base, 'impt' => 'non')); return false; } if (!upgrade_test()) return true; $cible = ($version_cible ? $version_cible : $spip_version_base); if ($version_installee <= 1.926) { $n = floor($version_installee * 10); while ($n < 19) { $nom = sprintf("v%03d",$n); $f = charger_fonction($nom, 'maj', true); if ($f) { spip_log("$f repercute les modifications de la version " . ($n/10)); $f($version_installee, $spip_version_base); } else spip_log("pas de fonction pour la maj $n $nom"); $n++; } include_spip('maj/v019_pre193'); v019_pre193($version_installee, $version_cible); } if ($version_installee < 2000) { if ($version_installee < 2) $version_installee = $version_installee*1000; include_spip('maj/v019'); } if ($cible < 2) $cible = $cible*1000; include_spip('maj/svn10000'); return maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee'); }
/** * MAJ de base de SPIP * * http://doc.spip.org/@maj_base * * @param int $version_cible * @param string $redirect * @return array|bool */ function maj_base($version_cible = 0, $redirect = '') { global $spip_version_base; $version_installee = @$GLOBALS['meta']['version_installee']; // // Si version nulle ou inexistante, c'est une nouvelle installation // => ne pas passer par le processus de mise a jour. // De meme en cas de version superieure: ca devait etre un test, // il y a eu le message d'avertissement il doit savoir ce qu'il fait // // version_installee = 1.702; quand on a besoin de forcer une MAJ spip_log("Version anterieure: {$version_installee}. Courante: {$spip_version_base}", "maj." . _LOG_INFO_IMPORTANTE); if (!$version_installee or $spip_version_base < $version_installee) { sql_replace('spip_meta', array('nom' => 'version_installee', 'valeur' => $spip_version_base, 'impt' => 'non')); return false; } if (!upgrade_test()) { return true; } $cible = $version_cible ? $version_cible : $spip_version_base; if ($version_installee <= 1.926) { $n = floor($version_installee * 10); while ($n < 19) { $nom = sprintf("v%03d", $n); $f = charger_fonction($nom, 'maj', true); if ($f) { spip_log("{$f} repercute les modifications de la version " . $n / 10, "maj." . _LOG_INFO_IMPORTANTE); $f($version_installee, $spip_version_base); } else { spip_log("pas de fonction pour la maj {$n} {$nom}", "maj." . _LOG_INFO_IMPORTANTE); } $n++; } include_spip('maj/v019_pre193'); v019_pre193($version_installee, $version_cible); } if ($version_installee < 2000) { if ($version_installee < 2) { $version_installee = $version_installee * 1000; } include_spip('maj/v019'); } if ($cible < 2) { $cible = $cible * 1000; } include_spip('maj/svn10000'); ksort($GLOBALS['maj']); $res = maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee', 'meta', $redirect, true); if ($res) { if (!is_array($res)) { spip_log("Pb d'acces SQL a la mise a jour", "maj." . _LOG_INFO_ERREUR); } else { echo _T('avis_operation_echec') . ' ' . join(' ', $res); echo install_fin_html(); } } return $res; }