Current File : /home/igihango/public_html/ecrire/maj/2021.php |
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
\***************************************************************************/
/**
* Gestion des mises à jour de SPIP, version >= 2021000000
*
* Gestion des mises à jour du cœur de SPIP par un tableau global `maj`
* indexé par la date du changement YYYYMMDDXX
*
* @package SPIP\Core\SQL\Upgrade
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS['maj'][2021_02_18_00] = [
['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL" ],
['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL" ],
];
$GLOBALS['maj'][2022_02_23_02] = [
['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL" ],
['sql_delete', 'spip_meta', "nom='secret_du_site'" ],
];
$GLOBALS['maj'][2022_02_23_03] = [
['maj2021_supprimer_toutes_sessions_si_aucun_backup_cles'],
];
/**
* Supprime toutes les sessions des auteurs si on a pas encore généré de config/cles.php avec son backup
*
* Obligera tous les auteurs à se reconnecter :
* - le webmestre qui fait la mise a jour génèrera une cle avec un backup
* - les autres auteurs vont tous regénérer un mot de passe plus sécure au premier login
**/
function maj2021_supprimer_toutes_sessions_si_aucun_backup_cles() {
if (!sql_countsel('spip_auteurs', "webmestre='oui' AND backup_cles!=''")) {
spip_log('supprimer sessions auteur', 'maj');
if ($dir = opendir(_DIR_SESSIONS)) {
while (($f = readdir($dir)) !== false) {
spip_unlink(_DIR_SESSIONS . $f);
if (time() >= _TIME_OUT) {
return;
}
}
}
}
}