1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/spip_ynh.git synced 2024-09-03 20:25:59 +02:00
spip_ynh/sources/ecrire/genie/maintenance.php
2015-04-28 17:10:23 +02:00

74 lines
2.2 KiB
PHP

<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2014 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
// Diverses taches de maintenance
// http://doc.spip.org/@genie_maintenance_dist
function genie_maintenance_dist ($t) {
// (re)mettre .htaccess avec deny from all
// dans les deux repertoires dits inaccessibles par http
include_spip('inc/acces');
verifier_htaccess(_DIR_ETC);
verifier_htaccess(_DIR_TMP);
// Verifier qu'aucune table n'est crashee
if (!_request('reinstall'))
verifier_crash_tables();
return 1;
}
// http://doc.spip.org/@verifier_crash_tables
function verifier_crash_tables() {
if (spip_connect()) {
include_spip('base/serial');
include_spip('base/auxiliaires');
$crash = array();
foreach (array('tables_principales', 'tables_auxiliaires') as $com) {
foreach ($GLOBALS[$com] as $table => $desc) {
if (!sql_select('*', $table,'','','', 1)
AND !defined('spip_interdire_cache')) # cas "LOST CONNECTION"
$crash[] = $table;
}
}
#$crash[] = 'test';
if ($crash) {
ecrire_meta('message_crash_tables', serialize($crash));
spip_log('crash des tables', 'err');
spip_log($crash, 'err');
} else {
effacer_meta('message_crash_tables');
}
return $crash;
}
return false;
}
// http://doc.spip.org/@message_crash_tables
function message_crash_tables() {
if ($crash = verifier_crash_tables()) {
return
'<strong>' . _T('texte_recuperer_base') . '</strong><br />'
. ' <tt>'.join(', ', $crash).'</tt><br />'
. generer_form_ecrire('base_repair',
_T('texte_crash_base'), '',
_T('bouton_tenter_recuperation'))
;
}
}
?>