Example #1
0
/**
 * analyser_et_reparer_tables_base_etablissement
 * Sans lien direct avec la sauvegarde, mais tout de même rangé dans ce fichier...
 *
 * @param void
 * @return array   un code de niveau d'alerte + un message
 */
function analyser_et_reparer_tables_base_etablissement()
{
    // Lister les tables
    $DB_TAB = DB_STRUCTURE_COMMUN::DB_lister_tables();
    $listing_tables = implode(',', array_keys($DB_TAB));
    // Analyser les tables
    $niveau_alerte = 0;
    $tab_messages = array();
    $DB_TAB = DB_STRUCTURE_COMMUN::DB_analyser_tables($listing_tables);
    foreach ($DB_TAB as $key => $DB_ROW) {
        if ($DB_ROW['Msg_text'] != 'OK' && $DB_ROW['Msg_text'] != 'Not checked') {
            $niveau_alerte = max($niveau_alerte, 1);
            $tab_messages[$key] = $DB_ROW['Table'] . ' → ' . $DB_ROW['Msg_text'];
            // Réparer une table
            $DB_ROW2 = DB_STRUCTURE_COMMUN::DB_reparer_table($DB_ROW['Table']);
            $tab_messages[$key] .= ' → Réparation → ' . $DB_ROW2['Msg_text'];
            if ($DB_ROW2['Msg_text'] != 'OK') {
                $niveau_alerte = 2;
            }
        } elseif (HEBERGEUR_INSTALLATION == 'mono-structure') {
            $tab_messages[$key] = $DB_ROW['Table'] . ' → ' . $DB_ROW['Msg_text'];
        }
    }
    // Retour
    if (!count($tab_messages)) {
        $tab_messages[] = count($DB_TAB) . ' tables OK';
    }
    return array($niveau_alerte, implode('<br />', $tab_messages));
}