check tables incorrect if check #2061
Labels
b:1.8
Branch: 1.8.x
s:resolved
Status: Resolved. Solution implemented or scheduled
t:bug
Type: Bug. An issue causing error / flaw / malfunction
Milestone
Is it me or the following piece of code is wrong?
PHP Code:
if($tables_list) { $query = $db->query("CHECK TABLE {$tables_list}CHANGED;"); while($table = $db->fetch_array($query)) { if(!in_array($table['Msg_text'], $ok)) { if($table['Table'] != $mybb->config['database']['database'].".".TABLE_PREFIX."settings" && $setting_done != true) { $boardclosed = $mybb->settings['boardclosed']; $boardclosed_reason = $mybb->settings['boardclosed_reason']; $db->update_query("settings", array('value' => 1), "name='boardclosed'", 1); $db->update_query("settings", array('value' => $db->escape_string($lang->error_database_repair)), "name='boardclosed_reason'", 1); rebuild_settings(); $setting_done = true; } $db->query("REPAIR TABLE {$table['Table']}"); $repaired[] = $table['Table']; } } if($table['Table'] != $mybb->config['database']['table_prefix'].".".TABLE_PREFIX."settings" && $setting_done == true) { $db->update_query("settings", array('value' => (int)$boardclosed), "name='boardclosed'", 1); $db->update_query("settings", array('value' => $db->escape_string($boardclosed_reason)), "name='boardclosed_reason'", 1); rebuild_settings(); } }
.\mybb\inc\tasks\checktables.php
The last if should only check for $setting_done == true.
Original thread: check tables incorrect if check
The text was updated successfully, but these errors were encountered: