Server : Apache System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64 User : hednacluml ( 122243) PHP Version : 8.3.9 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/hednacluml/histoire/ecrire/maj/legacy/ |
<?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 bdd de SPIP * * Mises à jour en 4.0 (avant 2021) * * À partir de 2021, les numéros d'upgrade sont de la forme YYYYMMDD00 où 00 est un incrément. * * @package SPIP\Core\SQL\Upgrade **/ if (!defined('_ECRIRE_INC_VERSION')) { return; } // adaptation des timestamp mysql $GLOBALS['maj'][24379] = [['maj_timestamp_mysql']]; /** * Mise à jour des bdd Mysql pour réparer les timestamp auto-update absents * * @uses base_lister_toutes_tables() * @uses _mysql_remplacements_definitions_table() **/ function maj_timestamp_mysql($tables = null) { include_spip('base/dump'); if (is_null($tables)) { $tables = base_lister_toutes_tables(); } elseif (is_string($tables)) { $tables = [$tables]; } elseif (!is_array($tables)) { return; } // rien a faire si base non mysql if (strncmp($GLOBALS['connexions'][0]['type'], 'mysql', 5) !== 0) { return; } $trouver_table = charger_fonction('trouver_table', 'base'); // forcer le vidage de cache $trouver_table(''); foreach ($tables as $table) { if (time() >= _TIME_OUT) { return; } if ($desc = $trouver_table($table)) { $fields_corrected = _mysql_remplacements_definitions_table($desc['field']); $d = array_diff($desc['field'], $fields_corrected); if ($d) { spip_log("Table $table TIMESTAMP incorrect", 'maj'); foreach ($desc['field'] as $field => $type) { if ($desc['field'][$field] !== $fields_corrected[$field]) { spip_log("Adaptation TIMESTAMP table $table", 'maj.' . _LOG_INFO_IMPORTANTE); sql_alter("table $table change $field $field " . $fields_corrected[$field]); $trouver_table(''); $new_desc = $trouver_table($table); spip_log( "Apres conversion $table : " . var_export($new_desc['field'], true), 'maj.' . _LOG_INFO_IMPORTANTE ); } } } } } // forcer le vidage de cache $trouver_table(''); }